일반연구자지원사업...

15
- 1 - 일반연구자지원사업 최종(결과)보고서 양식A101 부처사업명(대) 기초연사업 보안등급( 보안, 일반) 일반 명(중) 일반연자지원사업 공개가능여부( 공개, 비공개) 공개 세부사업명(소) 신진연_연비지원 제성(기초, 응용, 개발) 기초 -1 실용화 대상여부(실용화, 비실용화) 비실용화 벡 포셜에 기반한 실시간 유체 애니메이션 Real-time Fluid Animation based on Vector Potential 주연기 숭실대학 협동연기 주연책임자 성 명 박진호 직급(직위) 조수 소속부서 글벌미디어학부 전산학 연개발비 및 참여연원수 (단위: 천원, MY) 정부출연금 (A) 기업체부담금 정부외 출연금 (B) 상대 부담금 (F) G=(A+B+E) 참여 연원수 현금 (C) (D) E=(C+D) 1차도 48360 0 48,360 2차도 48360 0 48,360 3차도 48360 0 48,360 4차도 0 0 5차도 0 0 145,080 0 0 0 0 0 145,080 0 총연기간 2010. 05. 01 ~ 2013. 04. 40 (36개월) 다도협약연기간 기재하지 않음 당해연도연기간 2012. 05. 01 ~ 2013. 04. 30(12개월) 참여기업 중소기업수 대기업수 0 제동연 상대연기수 상대연개발비 상대연책임자수 규정 모든 지시사항을 준수하면서 가연개발사업에 따라 수행 중인 연개발제의 최종보서를 붙임 같이 제출 합니다. 2013 7 월 9 일 주연책임자 : 박 진 호 주연기장 : 숭실대학 산학협단장 육 학 기 술 부 장 귀하 전자접수이므로 주관연구책임자 및 주관연구기관장 서명(, 직인)은 생략

Upload: others

Post on 08-Oct-2019

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 일반연구자지원사업 최종(결과)보고서img.kisti.re.kr/tr_img/2013032/rttrko000000185538.pdf · - 1 - 일반연구자지원사업 최종(결과)보고서 양식a101 ①

- 1 -

일반연구자지원사업 최종(결과)보고서

양식A101① 부처사업명(대) 기초연구사업 보안등급(보안, 일반) 일반

② 사 업 명(중) 일반연구자지원사업 공개가능여부(공개, 비공개) 공개

③ 세부사업명(소) 신진연구_연구비지원④ 과제성격(기초, 응용, 개발) 기초 ④-1 실용화 대상여부(실용화, 비실용화) 비실용화⑤ 과 제 명 국 문 벡터 포텐셜에 기반한 실시간 유체 애니메이션

영 문 Real-time Fluid Animation based on Vector Potential⑥ 주관연구기관 숭실대학교⑦ 협동연구기관⑧ 주관연구책임자 성 명 박진호 직급(직위) 조교수

소속부서 글로벌미디어학부 전 공 전산학⑨ 연구개발비 및 참여연구원수 (단위: 천원, M․Y)

년 도 정부출연금(A)기업체부담금 정부외출연금(B)

상대국부담금(F)합계G=(A+B+E) 참여 연구원수현금(C) 현물(D) 소계E=(C+D)

1차년도 48360 0 48,3602차년도 48360 0 48,3603차년도 48360 0 48,3604차년도 0 05차년도 0 0

합계 145,080 0 0 0 0 0 145,080 0⑩ 총연구기간 2010. 05. 01 ~ 2013. 04. 40 (36개월)⑪ 다년도협약연구기간 기재하지 않음⑫ 당해연도연구기간 2012. 05. 01 ~ 2013. 04. 30(12개월)⑬ 참여기업 중소기업수 대기업수 기타 계

0⑭ 국제공동연구 상대국연구기관수 상대국연구개발비 상대국연구책임자수

관계 규정과 모든 지시사항을 준수하면서 국가연구개발사업에 따라 수행 중인 연구개발과제의 최종보고서를 붙임과 같이 제출 합니다.

2013 년 7 월 9 일 주관연구책임자 : 박 진 호 주관연구기관장 : 숭실대학교 산학협력단장

교 육 과 학 기 술 부 장 관 귀하 ※ 전자접수이므로 주관연구책임자 및 주관연구기관장 서명(인, 직인)은 생략

Page 2: 일반연구자지원사업 최종(결과)보고서img.kisti.re.kr/tr_img/2013032/rttrko000000185538.pdf · - 1 - 일반연구자지원사업 최종(결과)보고서 양식a101 ①

- 2 -

【주요항목 작성요령】 ①, 부처사업명(대), ② 사업명(중), 보안등급(일반), 공개가능여부(공개)는 수정하지 않음 ③ 세부사업명(소)은 기본연구(유형Ⅰ), 기본연구(개인), 기본연구(모험), 기본연구(커리어), 신진연구, 신진연구(연구비),

신진연구(연구장비), 여성과학자, 지역대학우수과학자 중 택일 ④ 과제성격 및 ④-1 실용화 대상여부는 수정하지 않음 ⑤ 과제명은 당초 연구과제명(과제명 변경을 재단에서 승인받은 경우는 승인된 과제명)을 기재함 ⑥ 주관연구기관은 한국업적통합정보(KRI)에 입력된 기관명과 동일해야 하며 약어를 사용하지 않음(서울대→서울대학교) ⑦ 협동연구기관은 본 사업과 관련이 없으므로 기재하지 않음 ⑧ 연구책임자의 인적사항 기재 ⑨ 정부출연금은 전체연구기간동안 기 지원받은 연도별 총 연구비(간접비 포함)를 기재하며, 참여연구원은 연구책임자를 제외한 참여 연구인력(연구보조원 포함) 인원수를 기재함 ⑩ 총연구기간은 연구시작일부터 연구종료일까지의 총연구기간 및 개월 수를 기재함 ⇒ 아래의 연구기간 적용안내 참조 ⑪,⑫,⑬,⑭는 기재하지 않음

「일반연구자지원사업 연구기간 적용 안내」 선정연도 연구기간 총 연구기간 다년도 협약기간 당해연도 연구기간 비고2010년 36개월 2010.05.01~2013.04.30 기재하지 않음 기입력(수정하지 않음)2011년 24개월 2011.05.01~2013.04.30 기재하지 않음 기입력(수정하지 않음)2012년 12개월 2012.05.01~2013.04.30 기재하지 않음 기입력(수정하지 않음)

Page 3: 일반연구자지원사업 최종(결과)보고서img.kisti.re.kr/tr_img/2013032/rttrko000000185538.pdf · - 1 - 일반연구자지원사업 최종(결과)보고서 양식a101 ①

- 3 -

〈 목 차 〉

Ⅰ. 연구결과 요약문

Ⅱ. 연구내용 및 결과

1. 연구과제의 개요 ··········································································

2. 국내·외 기술개발 현황 ·······························································

3. 연구수행 내용 및 결과 ······························································

4. 목표 달성도 및 관련 분야에의 기여도 ··································

5. 연구결과의 활용 계획 ································································

6. 연구과정에서 수집한 해외 과학기술 정보 ····························

Ⅲ. 연구성과

Page 4: 일반연구자지원사업 최종(결과)보고서img.kisti.re.kr/tr_img/2013032/rttrko000000185538.pdf · - 1 - 일반연구자지원사업 최종(결과)보고서 양식a101 ①

- 4 -

Ⅰ . 연구결과 요약문

본 과제에서는 새로운 형태의 물리 기반 실시간 유체 애니메이션 제작 기법에 대한 세 가지 방법을 제안하였다. 첫 번째로는, 나비어-스톡스 방정식을 실시간 계산이 가능한 속도의 벡터 포텐셜을 미지수로 갖는 방정식의 형태로 변환하여 수치적인 방법으로 풀어 계산하는 방법을 사용하였다. 이를 통해 비압축성 유동장을 계산하는데 필수적으로 사용되던 전역적 연산을 배제함으로서 병렬 처리의 효율성을 극대화 하였다. 더 나아가, 기존의 연구에서 가지는 컨케이브한 오브젝트 주변에서 유동장이 매끄럽게 생성되지 못하는 문제를 효율적으로 해결하였다. 이를 통해 애니메이션 생산성을 극대화 하였을 뿐만 아니라, 사용자가 유선을 통해 손쉽게 애니메이션 결과를 예측할 수 있다는 장점을 얻었다. 두 번째로는, 오일러 방식의 비압축성 유체 시뮬레이션에서 필수적인 압력장의 계산을 예제 데이터를 이용하는 방법을 제안하였다. 여기서 우리는 지배 방정식에서 도출되는 선형 연산자들의 특성을 이용하여 전처리된 압력값들의 선형 조합의 정확한 계산 없이 포아송 방정식의 해를 구하는 방법을 사용하였다. 이 방법에서 예제의 개수는 격자 해상도에 의존하기 때문에 아웃오브코어를 사용한 데이터 처리방식을 사용하였다. 이러한 방법들을 통해 우리는 격자기반 시뮬레이션에서 격자의 해상도가 올라갈수록 더 높은 효율성을 보이는 결과를 도출하였다. 마지막으로, 우리는 섞이는 유체에 대한 격자 기반 유체 시뮬레이션에서 고해상도의 격자 시뮬레이션에서만 표현할 수 있는 현상을 저해상도 시뮬레이션에서 최소한의 추가 계산 비용으로 생성하는 방법을 제안하였다. 이를 위해 시뮬레이션 이전에 유체의 흐름을 유도하는 형태의 모형을 생성하고, 선형 피드백 시스템을 사용하여 유체의 흐름을 제어하였다. 이를 통해, 사용자는 시뮬레이션 전에 애니메이션 결과를 예측할 수 있다는 장점과 저해상도 시뮬레이션을 이용하여 효율성을 극대화하였다. 위와 같은 세 가지 방법을 통해 본 과제의 주요 목표였던 실시간 유체 애니메이션이 가능한 기술 개발 및 품질을 극대화 하는 방법을 제안하였다. 제안된 방법을 통해 사용자는 시뮬레이션 없이도 결과를 예측할 수 있고, 더 나아가 시뮬레이션에 걸리는 시간을 줄임으로써 생산성을 극대화 하는 효과를 얻을 수 있었다. 더 나아가 우리는 GPGPU 기반 기술 적용을 위해, 직접적인 실험을 진행하였다. 병렬 프로그래밍을 통해 얻을 수 있는 속도 향상 및 한계점 분석을 통해 본 과제에서 제안하는 기술들의 적용 가능성 확인하였고, 더 나아가 본 과제에서 개발된 기술의 병렬처리 효율에 대한 실험 결과물을 도출하였다. 또, 콘텐츠 소비를 위해 많이 사용되는 모바일 환경에서의 프로그래밍을 위해 모바일 환경에 대한 조사를 실시하였고, 지속적인 하드웨어 발전을 통해 향후 모바일 환경에서 본 과제에서 제안하는 기법들이 유용하게 사용될 수 있을 있을 것이라는 것도 확인할 수 있었다. 연구를 통해 얻은 기반 지식과 기술은 게임, 영화, 광고, 방송 등 미디어 콘텐츠 제작과정에서 유체 애니메이션을 제작하는데 활용 될 수 있을 것이라 예상된다. 특히, 계산 시간이 중요한 분야인 게임, 방송 등 실시간 응용 분야에서의 효용성이 더 클 것으로 예상된다. 다른 한편으로는 영화나 광고와 같이 고품질을 요구하는 분야에서는 계산 시간의 단축과 더불어 결과물 예측이라는 특성을 활용하여 사전 시각화 분야에서 효용성이 클 것으로 예상되며, 더 나아가 실제 애니메이션 제작에서도 시간을 단축할 수 있다는 장점을 갖는다. 또, 본 과제에서 제안한 적은 계산량을 통한 효율적인 애니메이션 기법은 최근 각광받는 스마트폰 어플리케이션 제작에 있어서 중요한 역할을 할 수 있을 것으로 기대된다. 더 나아가 위에서 언급한 바와 같이 콘텐츠 제작에 있어서 강점을 가진 본 과제에서 제안한 기술의 활용성을 증대하기 위한 방안으로 애니메이션에서 빈번히 사용되는 변형체 애니메이션에 적용하는 방법에 대한 연구를 진행 할 수 있을 것으로 기대 된다. 지배 방정식에 차이가 있지만 사실적인 변형을 위해서는 변형 과정 중에 물체의 부피가 보전되어야 함으로, 변형에 대한 변위 벡터를 속도장에 대응시킴으로서 변형체의 자연스러운 애니메이션을 만들어 낼 수 있을 것으로 예상 된다.

Page 5: 일반연구자지원사업 최종(결과)보고서img.kisti.re.kr/tr_img/2013032/rttrko000000185538.pdf · - 1 - 일반연구자지원사업 최종(결과)보고서 양식a101 ①

- 5 -

◎ 1. 연구과제의 개요 ~ 6 기타사항을 항목에 따라 작성함◎ 제목 14point, 소제목 12point, 본문내용은 10point로 작성하며, 줄 간 간격은 조정 가능함◎ 내용 작성과 관련한 설명내용(청색 박스로 표시된 부분)은 내용 작성 시 제거하고 기술함

Ⅱ . 연구내용 및 결과

※ Ⅱ. 연구내용 및 결과의 작성분량은 3페이지 내외로 핵심내용 중심으로 간결하게 작성함

1. 연구과제의 개요 포텐셜 기반의 유체 시뮬레이션 기법을 컴퓨터 그래픽스 분야에 최초로 제안한다. 격자 상의 속도장 대신 그것의 벡터 포텐셜을 시뮬레이션의 대상으로 택한다는 발상의 전환을 통해 격자 기반 유체 시뮬레이션의 한계로 지적되어온 계산 시간의 한계를 근본적으로 극복하는 도전을 시도한다. 물리 기반 프레임워크를 고수함으로써 유동장 해석의 물리적 정확성을 유지한다. Smoothed Particle Hydrodynamics(SPH)는 주변 파티클들과의 관계만 고려하기 때문에 계산 속도가 빠르고, 지역적 계산으로만 이루어져 있으므로, 병렬 계산으로 구현되기 용이하다. 그러나 결과 품질 면에서 특히, 액체 시뮬레이션의 경우, 격자 기반 방법에 비해 좋지 않기 때문에 고품질 영상을 요구하는 시각 효과 분야에서는 그리 환영 받는 해법이 아니다. 이외에, 소파동 난류 기법[Kim et al. 08] 등의 계산 효율성을 위한 다양한 시도들을 취하였으나, 물리적 정확성을 보장하지 못한다. 본 과제의 수치적 해법은 격자 기반이므로 그동안 격자 기반 분야에서 개발된 방법들을 활용할 수 있을 뿐만 아니라, 계산 효율을 추구하면서도 물리적 정확성을 유지한다는 차별성이 있다. 이전 격자 기반 방법에서 전역 계산을 요구했던 비압축성(incompressibility)을 지역 계산만으로 대체할 수 있으므로, 병렬화가 용이하다는 특성이 있다. SPH나 LBM에 대한 병렬 프로그래밍 방법들이 많이 개발되었으나, 비압축성을 해결하기 어려운 한계가 있다. GPU상에서 선형 시스템을 계산하는 연구[Bolz et al. 03, Krüger and Westermann 03]가 제안되었으나, 구현이 어렵다는 단점이 있고 해상도면에서 제한이 있다. 본 과제에서 제안하는 방법은 포텐셜 기반의 알고리즘과 더불어 병렬화 가능성으로 인해 혁신적인 계산 시간 단축이 가능하다.

2. 국내외 기술개발 현황FDM (Finite Difference Method)유동장을 묘사하는 나비어-스톡스 방정식에 대한 유한 차분법은 컴퓨터 그래픽스의 유체 애니메이션 기술 중 가장 활발히 연구 되는 분야이다. [Stam 99]에 의해 도입된 Fractional Step 기법은 FDM 방식의 근간을 이루고 있다[Foster and Fedkiw 01, Fedkiw et al. 01, Enright et al. 02]. 하지만, 유체의 질량 보존 조건은 전역 공간(Global space)에 대한 선형 시스템을 푸는 것으로 해석되는데, 전역 계산은 계산량이 많고, 병렬화가 어렵다는 단점이 있다. 이러한 단점들을 해결하는 방안으로 다양한 해석 기법들이 도입되었고[RECIPES 07], Octree와 같은 새로운 데이터 구조를 사용한 방법 및 2차원과 3차원 시뮬레이션을 융합한 방법들[Rasmussen et al. 03, Irving et al. 06]이 소개되기도 하였다. 최근에는 다중격자법(Multigrid Method)과 병렬처리 기법을 이용한 기술[McAdams et al. 10]과 또 이를 응용하여 CPU와 GPU를 효율적으로 사용하여 병렬화한 기술[Jung et al. 13]도 소개되었다.

SPH (Smoothed particle hydrodynamics)2000년대 들어 스위스, 독일 등 유럽의 컴퓨터 그래픽스 커뮤니티를 중심으로 활발히 연구되고 있는 Smoothed particle hydrodynamics(SPH)는 유체를 전통 유체 역학에서의 연속체 개념이 아니라 개별적인 입자(particle)들의 집합으로 보는 개념이다. SPH에서는 입자를 토대로 시뮬레이션된 결과를 표면으로 재구성하는데 있어서 부드러운 표면

Page 6: 일반연구자지원사업 최종(결과)보고서img.kisti.re.kr/tr_img/2013032/rttrko000000185538.pdf · - 1 - 일반연구자지원사업 최종(결과)보고서 양식a101 ①

- 6 -

을 표현하기 위해서는 그만큼 많은 수의 입자기 필요하다는 점이 SPH의 난제 중 하나였다[Muller et al. 03]. 이를 해결하기 위해 적응적인(adaptive) 분포 개념[Adams et al. 2007]이 도입되면서 입자 수를 관리하는 효율성이 높아졌으나 아직까지 표면을 재구성하는 문제는 활발한 연구 대상이 되고 있다. 다른 한편으로, 입자를 토대로 계산하는 SPH의 경우 병렬화가 쉽다는 장점이 있으나, 앞서 말한 표면 재구성을 위해 수많은 파티클을 사용해야한다는 단점이 있어서 아직 까지 고품질의 시뮬레이션을 실시간으로 수행 하는 데는 거리가 있다.

LBM (Lattice Boltzmann Method)격자 방식과 입자 방식의 중간 입장을 취하는 격자 볼츠만 방법(Lattice Boltzmann Method: LBM)은 열역학 분야의 맥스웰-볼츠만 방정식(Maxwell-Boltzmann equation)으로부터 유도되어 나비어-스톡스 방정식을 재구성하는 형태로 발전되었다. 전산 유체 역학(Computational Fluid Dynamics)분야에서 유사 비압축성(quasi-incompressible) 유동장을 시뮬레이션[Chen 98] 하는데 사용되었던 LBM은 2000년대 초반 연기 표현 연구[Wei et al. 04]를 통해서 컴퓨터 그래픽스 분야에 도입되었다. 이후 단일 액체[Thurey and Rude 04], 다상 유동(multiple fluids) 시뮬레이션[Zhu et al. 07, Park et al. 08] 기법으로 적용되었고, MoXi라고 명명된 수묵화 시스템[Chu and Tai 05]에도 활용된 바 있다. LBM은 아직은 발전 도상에 있는 방법으로, 입자 방식의 특성에 따라 병렬 계산이 가능하다는 장점[Thurey et al. 06]은 있으나, 볼륨 손실을 유발하는 수치적 부피 손실에 관한 해법이 아직 제안되어 있지 않아서 고품질 영상을 만들기에는 미흡한 면이 있다.

GPU 프로그래밍범용 GPU(General-Purpose computing on Graphics Processing Units: GPGPU) 프로그래밍이 발전하면서 유체 시뮬레이션을 GPU에서 계산하는 연구들이 2000년대 들어 활발해졌다. 희소 행렬(sparse matrix)에 대한 켤레 구배법(conjugate gradient)과 정규 격자(regular grid)상의 다중격자법(multigrid) 등의 선형 시스템 해법을 GPU 상에서 구현하는 기법들이 발표됨에 따라 유체 분야 뿐만 아니라 다양한 문제의 수치적 해를 구하는 데 활용될 수 있음이 증명되었다[Bolz et al. 03, Krüger et al. 03, Owens et al. 07]. 2차원 비압축성 나비어-스톡스 방정식을 고해상도에서 실시간에 수행할 수 있음을 보였으나[Krüger et al. 03], 선형 시스템의 특성상 데이터 전체가 GPU 메모리에 로드되어야 하는데, GPU 메모리의 한계로 3차원 구현은 아직 요원한 상태이다. SPH 분야에서는 CPU상에서만 구현된 것과 비교해서 20배 이상의 속도 향상을 보인 연구[Harada et al. 07]가 발표되었는데, 약 6만개의 입자들에 대해 실시간 수행이 가능하였다. LBM 분야는 시작부터 병렬 계산에 유리한 것이 장점으로 부각되었으므로, 대부분의 연구에서 GPU 구현을 선보이고 있다[Thurey et al. 06, Park et al. 08].

그림 2.1 유체 시뮬레이션 방법들 비교. 위에 서술한 대로 컴퓨터 그래픽스의 유체 애니메이션 기술들은 크게 FDM(격자 방식), SPH(입자 방식), LBM(격자 볼츠만 방식)으로 나뉠 수 있으며, 각각은 그 특성에 따라 다른 응용분야를 가진다(그림 2.1 참조). 시각 효과 스튜디오 등 산업 현장에서 고품질 유체 영상을 제작할 때 주로 쓰이는 것은 품질 면에서 우수한 FDM이다. 고품질에 상응하는 대가는 계산 시간인데, 계산 효율성을 높이기 위한 연구들이 많았으나 시뮬레이션 전공간에 걸친 선형 시스템을 풀어야 한다는 내재적인(inherent) 문제를 지니고 있다. 전역 계산에 제약이 사라진다면, 알고리즘 상에서 계산 시간이 빨라질 뿐만 아니라 지역 계산만 남게 되므로 높은 해상도의 시뮬레이션도 GPU 상에서 구현될 수 있을 것이다.

Page 7: 일반연구자지원사업 최종(결과)보고서img.kisti.re.kr/tr_img/2013032/rttrko000000185538.pdf · - 1 - 일반연구자지원사업 최종(결과)보고서 양식a101 ①

- 7 -

3. 연구수행 내용 및 결과(1) 다선형 모델 리덕션 일반적인 유체 시뮬레이션을 위해서 Navier-Stokes 식을 푼다. 유체 시뮬레이션에 포함된 모든 단계들 중 압력 프로젝션 단계는 전역 연산자이고 많은 계산량을 요구한다. 결론적으로 본 기술의 전략은 전처리 단계에서 텐서 기반의 압축을 통해 프로젝션 시간을 줄였다.

그림 3.1.1 우리 방법을 사용한 것이 빨강색 선, 사용하지 않은 것이 파란색 선. 이 실험에서 사용한 압축률은 93.75%이다.

전역 연산자에 대한 계산은 격자의 해상도에 의존한다. 결론적으로 다른 격자의 해상도에서는 다른 속도향상을 얻는다. 그림 3.1.4는 격자 해상도에 따른 시뮬레이션 시간을 나타낸 함수이다. 우리 방법의 성능은 격자의 해상도가 높아질수록 올라감을 알 수 있다.

(2) 좌표변환을 이용한 절차적 유동 생성 유체 시뮬레이션에서 일반적으로 사용하는 나비어-스톡스 방정식의 해를 푸는 방법은 가장 정확한 해를 얻을 수 있으나 삼차원의 해를 직접적으로 풀기에는 계산 과정이 지나치게 복잡하며 계산 시간이 오래 소모된다는 단점이 있다. 이를 해결하기 위해서 절차적 방법론을 사용하여 전체 장에 대한 조작을 생략함으로서 계산 속도와 조작성을 효율적으로 높이는 방법론을 제안한다. 대표 적인 연구 사례로 [Bridson et al. 07]등의 방법론이 제안 되었었다. 하지만 기존의 방법은 뾰족한 부분을 가지고 있는 3D 물체에서는 경계조건 처리에 있어서 구조적인 취약점을 가지고 있어 이러한 물체를 지나는 유동장은 연속적이지 않게 되는 결과를 보인다는 한계를 가지고 있다. 따라서 본 연구에서는 기하학적인 변형을 차용하여 포텐셜 필드를 변형시킴으로서 포텐셜 필드의 계산적인 효율성을 유지하는 동시에 물체의 경계조건 처리에서의 효율성을 제고하는 방법론을 제안하였다.

표 3.2.1 한 개의 프로세서를 사용했을 때와 네 개의 프로세서를 사용했을 때의 전처리 단계의 소요시간

전처리 계산에서 병렬처리를 차용하여 매우 높은 효과를 얻을 수 있다는 것을 확인했다. 또한, 실제 애니메이션 과정에서도 병렬적으로 입자를 처리하여 50,000개의 입자까지 실시간으로 처리가 가능한 것을 실험적으로 확인했다.

Page 8: 일반연구자지원사업 최종(결과)보고서img.kisti.re.kr/tr_img/2013032/rttrko000000185538.pdf · - 1 - 일반연구자지원사업 최종(결과)보고서 양식a101 ①

- 8 -

그림 3.3.2 구 모양의 소스를

사용한 경우 그림 3.3.3 상자 모양의 소스를 사용한 경우

그림 3.2.1 다양한 예제에 적용한 실험 결과. (a) : 슬립 컨디션(왼쪽)과 노슬립컨디션(오른쪽)으로 원뿔을 흘러가는 유체 (b): 비행선 주위를 날아 올라가는 풍선 (c): 차를 향해 날아가는 파티클

(3) 점지현상(粘指現象, viscous fingering)을 위한 효율적인 확산 모델 점지 현상은 두 유체사이의 불안정성으로부터 생겨나는데, 이를 표현하기 위해서, [Shin et al. 2010]은 물리 기반 확산 방법을 이용한 다상유체 시뮬레이션을 사용했다. 이들의 접근 방법은 적절한 결과를 만들어 내었지만 다상 유체를 이용함으로써 단상 유체 시뮬레이션 보다 더 복잡한 알고리즘을 요구했으며, 필라멘트 효과를 만들어 내는데는 부족한 면이 있었다. 대안적으로 본 연구에서는 확산을 주요한 전달 수단으로 사용하는 시스템의 클러스터의 성장을 예측하는데 사용되는 DLA와 선형 피드백 시스템을 사용하여 유체가 움직임에 대한 패스(Path)를 만들어내고 움직임을 제어하는 방법을 제안하였다. 이에 대한 전반적인 프로세스는 그림 3.3.1에 설명되어 있다.

그림 3.3.1 전반적인 프로세스

성능적인 측면에서는 본 기법을 적용하지 않은 경우에는 한 프레임 당 평균 시뮬레이션 시간은 23.504(초)와 적용한 경우는 24.243(초)로써 약 1초미만(약 3%)만의 지연이 발생했다.

(4) Mobile 프로그래밍 기술 및 동향 분석 현재 모바일 운영체제로 많이 사용되고 있는 운영체제는 크게 2가지로서 iOS(Apple)와 Android(Google)로 나눌 수 있다. iOS의 경우 Apple 모바일 제품에 특화된 운영체제로 Objective-C를 이용하여 응용프로그램을

Page 9: 일반연구자지원사업 최종(결과)보고서img.kisti.re.kr/tr_img/2013032/rttrko000000185538.pdf · - 1 - 일반연구자지원사업 최종(결과)보고서 양식a101 ①

- 9 -

개발하게 되며, Android의 경우 JAVA와 Android SDK를 이용하여 개발하게 된다.

분류 A6 스냅드래곤800 테그라4 엑시노스코어 2 4 4+1 8클럭 1.3GHz 2.3GHz 1.9GHz 2GHz

L2캐시 1MB 2MB 1MB 2MBGPU SGX543MP3(266MHz) Andreno330 GeforceULP SGX544MP3

표 3.4.1 프로세서별 하드웨어 세부 사항

최근에 출시된 모바일 프로세서의 사양을 확인해 본 결과, 일반적인 컴퓨팅 환경에 근접한 컴퓨팅 환경을 제공하고 있었다. 특히 여러 개의 코어를 사용함으로써 병렬처리에 대한 가능성을 보여주고 있었다. 하지만, 현재 일반적인 데스크탑 환경에서 보다 병렬처리에 있어 부족할뿐만 아니라, 관련 연구가 많지 않았다. 따라서 본 과제에서 제안하고 있는 3차원 유동장 시뮬레이션 기술의 경우 아직 모바일 환경에서 적용하기에는 힘든 것으로 보였다. 하지만, 엔비디아에서 2011년도에 향후 테그라칩에 쿠다코어를 내장하겠다는 계획은 내놓았고, 2013년에 발표한 테그라4 칩에는 72개의 GPU코어를 탑재하였다. 따라서 가까운 시일내에 향후 GPU를 이용한 GPGPU병렬처리 기능을 사용하게 될 수 있을 것으로 기대된다.

(5) GPGPU기술 및 동향 분석 현재 GPU는 이미 부동소수점연산에 있어서 GFLOP/s만으로 보았을 때, 이미 2004년 이후 CPU를 넘어 선 것으로 보인다. OpenCL은 Apple에서 최초로 개발하고, 크로노스그룹에서 관리하고 있는 개방형 범용 병렬 컴퓨팅 프레임워크이다. NVidia와 AMD에서 제작되는 대부분의 그래픽스 카드에서 호환 가능하지만, 현재는 GPGPU 개발 방법의 단점을 보안하기 위해 만들어진 CUDA가 더 분야에서 사용되고 있다. 특히, OpenCL은 프로그램 작성시 컴파일 하지 않음으로, 실행 시점까지 어떠한 오류가 있는지 알 수 없다는 단점과 장치의 context, 대기열, 메모리 객체를 직접 관리해 주어야 하기 때문에 이러한 면에서 강점을 가진 CUDA가 더 많은 분야에서 활발하게 사용되고 있다. 최근에는 GPU만을 사용하는 것 뿐 만아니라, 병렬처리의 효율성 극대화를 위해 CPU와 GPU를 동시에 활용한 병렬처리에 관한 연구가 진행되고 있었다[Jung et al. 2013]. 추가적으로 본 과제에서는 기존에 연구되었던 유체 시뮬레이션의 대류항(advection)과 외력항(external force)에 관한 처리를 GPU상에서 하도록 하여 기술적인 실험을 진행하였고, 그 결과 우리는 많은 연구의 결과에서 지적했던 것처럼, 병렬 처리를 하게 되는 연산에 대한 효율이 Host 메모리와 Device 메모리간의 데이터를 전송으로 인해 발생하는 비용보다 작을 경우 GPGPU를 이용한 병렬처리 결과가 좋지 않은 것을 확인할 수 있었다.

그림 3.5.3. CUDA 상의 그리드 기반 연기 시뮬레이션 그림 3.5.4. 대류, 외력항에 대한 GPU와 CPU 계산 비교

Page 10: 일반연구자지원사업 최종(결과)보고서img.kisti.re.kr/tr_img/2013032/rttrko000000185538.pdf · - 1 - 일반연구자지원사업 최종(결과)보고서 양식a101 ①

- 10 -

4. 목표 달성도 및 관련 분야에의 기여도 본 과제 1차년도에는 포텐셜 기반 유체 시뮬레이션 관련 기술 정보 수집 및 분석 및 2차원 유동장에 대한 실험을 진행하였으며, 더 나아가 CUDA 아키텍쳐 분석 및 CUDA 수치 알고리즘을 실험하여, 본 과제에서 제안하고자 하는 기술의 GPGPU병렬처리에 관함 검증을 진행하였다. 2차년도에는 유동장을 3차원으로 확장하고, 유동장의 다양성을 위해 유동장을 포텐셜 기반의 다양성 제어기술 및 점지현상을 위한 확산 모델로 확장하였다. 이를 토대로 시각적 결과물 구현 및 검증을 진행하였다. 마지막 3차년도에는 이러한 기반 기술의 다양성을 확인하기 위해 OpenCL로의 구현 가능성에 대한 연구 조사를 실행하였으며, 2차년도에 개발된 시뮬레이션 기술이 기존의 기술에 적용시키는 방향에 대한 가능성을 확인하였다. 더 나아가 현재 고품질의 콘텐츠 수요가 증가하고 있는 모바일 기기에 대한 조사를 통해, 본 과제에서 개발된 기술의 확장가능성을 검증하였다. 본 과제에서 목표를 달성함에 따라, 유체 시뮬레이션 분야에서 각광 받고 있는 병렬처리를 이용한 속도 향상 및 생산성 증대에 큰 성과를 획득하였다. 더 나아가 모바일 장비에 대한 분석을 통해 향후 새로운 개인 컴퓨팅 환경으로 주목받고 있는 스마트폰에서의 컴퓨터 그래픽 효과에 관한 가능성을 확인하였다. 이를 통해 향후 실시간 컴퓨팅을 목표로 하는 시뮬레이션 기술과 더불어 다양한 그래픽 효과에 대한 가이드라인을 제시할 수 있을 것이라고 생각된다.

5. 연구결과의 활용계획(1) 활용분야 및 활용방안 본 과제의 연구 결과는 게임, 영화, 광고, 방송 등 미디어 콘텐츠 내에서 유체 장면을 제작하는데 활용될 수 있다. 계산 시간 단축이라는 과제의 특성상 게임, 방송 등 실시간 응용 분야에서 효용성이 더 크다. 영화, 광고 등 고품질 영상 제작에 주안점을 두고 있는 분야에서는 시뮬레이션 시간이 단축되므로 전체 제작 시간을 줄이는 효과가 있다. 특히, 본 과제에서 개발한 고효율, 고품질의 특수 효과 생성 기술은, 최근 각광받는 스마트폰 어플리케이션 제작에 있어 새로운 응용 분야를 개척하는데 밑거름이 될 것이다. 원활한 활용을 위하여 개발 코드를 라이브러리 형태로 관리하여 향후 기술이전, 데모 제작 등에 용이하도록 관리할 예정이다.

(2)추가연구 본 과제의 개발 결과로 획득한 연구 성과를 바탕으로 실시간 변형체 애니메이션(deformable body animation) 연구에 도전한다. 사실적인 변형을 위해서는 변형 과정중에 물체의 부피가 보전되어야 한다. 비록 변형체와 유체의 지배 방정식이 그 형태는 다르더라도 변이(displacement) 벡터를 속도장에 대응시킨다면 변형체의 움직임과 유동장의 움직임의 부피 보전 개념은 같은 구조로 해석된다. 부피 보전을 하면서 움직이는 변형체의 궤적을 계산할 때, 본 과제의 포텐셜 기반 유동장 해석 기법이 유용하게 적용될 수 있다.

(3) 기술이전 본 과제에서 실시간 유체 애니메이션 제작기법은 시각 효과를 필요로 하는 국내외 VFX 스튜디오, 게임 업체, 모바일 어플케이션 업체 등에 널리 상용화 가능하다. 실시간이면서 고품질 조건을 잃지 않는 본 기법은 엄청난 계산 부담을 가지고 있는 유체 시뮬레이션 툴을 원하는 결과를 얻을 때까지 반복해야 하는 VFX 스튜디오에서 활용될 수 있다. 격자 기반 내부(in-house) 유체 시뮬레이션 툴을 보유하고 있는 대규모 스튜디오의 경우, 전체 프레임워크를 유지한 채 본 포텐셜 기반 방법으로 어렵지 않게 포팅이 가능하므로, 유연하게 활용될 수 있다. 근시일내에는 모바일 하드웨어의 성장과 함께 실시간 어플리케이션을 원하는 게임, 모바일 앱 관련 기업들도 본 방법을 충분히 활용할 수 있을 것으로 기대한다.

Page 11: 일반연구자지원사업 최종(결과)보고서img.kisti.re.kr/tr_img/2013032/rttrko000000185538.pdf · - 1 - 일반연구자지원사업 최종(결과)보고서 양식a101 ①

- 11 -

6. 연구과정에서 수집한 해외과학기술정보 본 과제가 목표하고 있는 고성능과 고품질에 대한 연구는 현재도 많은 연구가 이루어지고 있었다. Solenthaler 와 Gross 는 유체의 전반적인 표현과 세부적인 표현에 대한 시뮬레이션을 저해상도와 고해상도로 나누어 시뮬레이션 함으로써, 효율적인 표현을 가져왔고, 또한 세부적인 표현역시 가능하도록 함으로써 결과 역시 고품질을 유지하였다. 그림 6.1에서 좌측의 노란색의 작은 파티클들을 세부적인 표현을 하기 위한 고해상도로 시뮬레이션이 적용되었고, 파란색 부분은 저해상도 시뮬레이션이 적용되었다.

그림 6.1 Solenthaler and Gross 결과. 그림 6.2 Seo et al. 결과

Seo et al. 은 CPU와 CUDA를 이용한 병렬처리를 모두 이용했다. 병렬처리를 위해서는 Hierarchically Semi-Separable (HSS)라는 행렬의 표현 방법을 이용했고, 이를 통해 캐릭터 애니메이션에서 많이 사용되는 블랜드쉐입(Blendshape)을 이용한 애니메이션 기술의 성능을 8개의 CPU를 사용했을 때 보다 GPU를 이용했을 경우 약 3.5~5배의 향상을 가져왔다.

그림 6.3 Chentanez and Muller 결과그림 6.4 Schechter and

Bridson 결과

Chentanez 와 Muller 는 혼합 그리드 방식으로써 Tall Cell 그리드와 Multigrid Poisson solver 사용하는 알고리즘을 GPU 상에서 적합하도록 개발하여, 실시간 시뮬레이션이 가능하도록 하였고, 고품질의 결과를 얻었다. Schechter and Bridson 은 Ghost Fluid Method [Fedkiw et al. 99]를 SPH 분야에 응용하여 기존의 XSPH에서 표현하기 어려웠던 현상들을 표현할 수 있도록 적용하였고, 더 나아가 고품질의 유체 시뮬레이션 결과를 보여 주었다. 이 연구에서는 입자들의 병렬처리를 위해서 CPU기반의 병렬처리를 사용하였다. 모바일 기기 시장의 성장과 함께, GPU를 이용한 하드웨어의 성능향상은 이제 연구뿐만이 아니라 산업에서의 필요성이 커지고 있다. 스마트폰, 스마트패드 시장의 급격한 성장과 함께, 모바일 기기의 성능 또한 급격한 발전을 보이고 있다. 일예로 2012-2013년도에 발표된 스마트 기기들(갤럭시, 갤럭시 노트, 갤럭시 탭, 옵티머스, 아이폰 등)은 듀얼 코어 이상의 프로세서를 장착하고 있으며, Full HD급의 초고화질을 제공하고 있다. 하드웨어의 발전과 더불어 많은 어플리케이션이 3차원 고화질의 그래픽을 이용하여 제작되고 있었다. 이러한 어플리케이션 개발 추세와 하드웨어 발전 속도에 따라, 가까운 미래에는 모바일 기기의 그래픽 하드웨어 성능이 전통적인 컴퓨팅 환경에서의 그래픽 성능과 유사해 질 것으로 전망할 수 있었다. 위와 같은 컴퓨팅 환경의 변화로 미루어 볼 때, 본 과제에서 개발하고자 하는 범용적 실시간 유체 시뮬레이션 기술은 전통적인 컴퓨팅 환경에서 뿐만 아니라 모바일 환경에서의 실시간 컨텐츠 제작에서도 사용가능할 것으로 예상할 수 있었다.

Page 12: 일반연구자지원사업 최종(결과)보고서img.kisti.re.kr/tr_img/2013032/rttrko000000185538.pdf · - 1 - 일반연구자지원사업 최종(결과)보고서 양식a101 ①

- 12 -

참고 문헌[Bowers et al. 10] Bowers, J., Wang, R., Wei, L-Y., Maletz, D., Parallel Poisson Disk Sampling with Spectrum Analysis on Surfaces, In Proceedings of ACM SIGGRAPH Asia 2010, Volume 29 Issue 6, December 2010 [Bridson et al. 07] Bridson R., Houriham J., Nordenstam M., Curl-noise procedural fluid flow, ACM Transactions on Graphics(TOG), vol 26, issue 3, July 2007.[Fatahalian et al. 10] Fatahalian, K., Boulos, S., Hegarty, J., Akeley, K., Mark W., Moreton, H., Hanrahan, P., Reducing Shading on GPUs using Quad-Fragment Merging , In Proceedings of ACM SIGGRAPH 2010, Volume 29 Issue 4, July 2010 [Fedkiw et al. 99] Fedkiw R., Aslam, T., Merriman, B., AND Osher, S. 1999. A non-osillatory Eulerian approach in multimaterial flows (the Ghost Fluid Method). J. Comput. Phys. 152, 457–492.[Fedkiw et al. 01] Fedkiw, R., Stam, J., and Jensen, H.W., Visual Simulation of Smoke, In Proceedings of ACM SIGGRAPH 2001, 23-30 2001. [Jung et al. 2013] Jung, H.-R. , Kim, S.-T., Noh, J., Hong, J.-M. . Heterogeneous CPU-GPU Parallel Approach to a Multigrid Poisson Solver for Incompressible Fluid Simulation, The Journal of Computer Animation and Virtual World, Volume 24, Issue 3-4, pages 185-193[Floater 03] Floater M. S., Mean value coordinates, Computer Aided Geometric Design, Volume 20, Issue 1, March 2003.[Liu et al. 10] Liu, F. Harada, T., Lee, Y., Kim, Y., Real-time Collision Culling of a Million Bodies on Graphics Processing Units, In Proceedings of ACM SIGGRAPH Asia 2010, Volume 29 Issue 6, December 2010 [Joshi et al. 07] Joshi P., Meyer M., DeRose T., Green B., Sanocki T., Harmonic coordinates for character articulation, ACM Transactions on Graphics(TOG), vol 26, issue 3, July 2007[Kalva et al. 11] Kalva, H., Colic, A., Garcia, A. and Furht, B., Parallel programming for multimedia applications, Multimedia tools and applications Volume 51 Number 2, 801-818, 2011[NVidia Guide] NVidia, CUDA Programming Guide, Ver 3.2, 2010[NVidia Clusters] http://www.nvidia.com/object/cuda_clusters.html[Schechter and Bridson] Schechter, H., Bridson, R. Ghost SPH for animating water., In Proceedings of ACM SIGGRAPH 2012, Volume 31 Issue 4, July 2012[Schmid et al. 11] Schmid, J., Iglesias Guitian, J., Gobbetti, E., Magnenat-Thalmann, N., A GPU framework for parallel segmentation of volumetric images using discrete deformable models, The Visual Computer Volume 27 Number 2, 2011[Schwarz and Seidel 10] Schwarz, M. and Seidel, H-P., Fast Parallel Surface and Solid Voxelization on GPUs, In Proceedings of ACM SIGGRAPH Asia 2010, Volume 29 Issue 6, December 2010 [Tao et al. 05] Tao J., Scott S., Joe W., Mean value coordinates for closed triangular meshes, ACM Transactions on Graphics (TOG), vol 24, issue 3, July 2005[Yaron et al. 08] Yaron L., David L., Daniel C., Green Coordinate, ACM Transactions on Graphics (TOG), vol 27, Issue 3, August 2008[박안진 외 09], 박안진, 장홍훈, 정기철, AnjinPark, HonghoonJang, KeechulJung, CUDA와 OpenMP를 이용한 빠르고 효율적인 신경망 구현, 정보과학회논문지 2009, 정보과학회지 제36권 제4호 (2009년 4월) pp.253-260

Page 13: 일반연구자지원사업 최종(결과)보고서img.kisti.re.kr/tr_img/2013032/rttrko000000185538.pdf · - 1 - 일반연구자지원사업 최종(결과)보고서 양식a101 ①

- 13 -

Ⅲ . 연구성과

대표연구성과 요약문연구업적 제목 An Efficient Diffusion Model for Viscous Fingering

연구업적 유형 학술지게재논문(○) 저서( ) 역서( ) 특허( ) 국제학회 초청강연( ) 학술지 편집위원 참여( ) 기술이전( )저자/발명자(저자순) 차승훈, 박진호, 황종현, 노준용 참여자수 4명

SCI 등재 여부 ○ IF 및 인용지수 0.576

점지 현상은 두 개의 다른 점성을 가진 유체간 혼합에서 실제같은 확산을 만들어내는데 매우 종요한 요소이다. Diffusion-Limited Aggregation(DLA)는 점지 현상을 만들어 내는데 잘알려진 방법이다. 하지만 DLA가 프로세스에 대한 정보만 주기 때문에 전통적인 3D 유체 시뮬레이션 방정식과 결합하는 것은 매우 어렵다.먼저, DLA 모델은 점지효과를 표현하기 위한 모양을 만들어 내고, 그 모양은 Dilation 과 Erosion 연산을 통해서 Fluid Flow Region을 만들어 내게 된다. 이 Region 안에는 유체의 움직임을 제어하기위한 방향성분들이 채워지게 되고, 이 방향성분들은 linear feedback system을 이용해서 외력으로 변환되게 된다. 우리 결과는 DLA 가 해상도에 관계없이 단상 유체에서도 효과적으로 점지효과를 만들어 내는 것을 보여 준다. 우리 방법은 준 물리적이며 구현이 쉽다. 추가적인 컴퓨팅에 드는 비용역시 기존의 시뮬레이션에 비해 큰 문제가 되지 않는다.

*Computer Graphics International 2012에서 발표

Page 14: 일반연구자지원사업 최종(결과)보고서img.kisti.re.kr/tr_img/2013032/rttrko000000185538.pdf · - 1 - 일반연구자지원사업 최종(결과)보고서 양식a101 ①

- 14 -

대표연구성과 요약문연구업적 제목 A Procedural Flow Generation Method using Coordinate Transformation

연구업적 유형 학술지게재논문( ) 저서( ) 역서( ) 특허( ) 국제학회 초청강연(○) 학술지 편집위원 참여( ) 기술이전( )저자/발명자(저자순) 강지형, 박진호, 서재우, 노준용 참여자수 4명

SCI 등재 여부 - IF 및 인용지수 -

포테셜 도메인(potential domain)에서의 유체 시뮬레이션은 계산이 복잡한 프로젝션(projection) 과정을 생략할 수 있다는 점에서 매력적인 방법론이라 할 수 있다. 그러나 유체가 복잡한 형상의 물체를 지나가는 경우, 물체의 경계조건 처리에서의 한계는 다양한 장면으로의 활용성을 제약하는 불가피한 요인이 된다. 본 방법론은 유체의 흐름을 제어하기 위한 방법의 일환으로 기하학적인 변형을 차용하여 유체의 포테셜 도메인에서 임의의 복잡한 형상의 물체가 포함되어 있는 경우에 물체의 경계 조건을 처리하는 효율적인 과정을 제안한다. 임의의 물체 주위를 흐르는 유동장은 물체와 동일한 토폴로지를 갖는 구를 지나는 유동장을 맵핑함으로써 얻어지며, 유동장 제어에 기하학적인 변형을 차용하는 이러한 과정은 포텐셜 도메인에서의 다양한 형상의 유동장을 생성하는 응용의 가능성을 내포하고 있다. 또한 본 연구에서는 다양한 장면에 실험을 진행하여 성공적인 결과들을 얻었다.

*Computer Graphics International 2012에서 발표

Page 15: 일반연구자지원사업 최종(결과)보고서img.kisti.re.kr/tr_img/2013032/rttrko000000185538.pdf · - 1 - 일반연구자지원사업 최종(결과)보고서 양식a101 ①

- 15 -

대표연구성과 요약문연구업적 제목 Multilinear Fluid Simulation with Model Reduction for Pressure Projection연구업적 유형 학술지게재논문( ) 저서( ) 역서( ) 특허( ) 국제학회 초청강연(○) 학술지 편집위원 참여( ) 기술이전( )

저자/발명자(저자순) 배진혁, 박진호, 박세휘, 노준용 참여자수 4명SCI 등재 여부 - IF 및 인용지수 -

격자 기반 시뮬레이션을 흔히 고품질의 시뮬레이션 결과를 위해서 고해상도 격자와 많은 계산량을 요한다. 우리는 이런 시뮬레이션 시간을 줄이기 위해 새로운 예제 기반 시뮬레이션을 제안한다. 시간을 줄이기 위한 주요 전략은 질량 보전을 위한 정확하지만 복잡한 계산을 피하는 것이다. 우리는 이런 복잡한 계산 대신 전처리된 예제로 구성된 선형 조합을 이용한다. 텐서 기반 모델 리덕션 방법은 효과적으로 선형 조합을 다루기 위해서 적용된다. 이 실험 결과는 고해상도 격자에서 효과적으로 고화질의 결과를 생산하는 바를 증명하였다.

*Computer Animation and Social Agents 2011, Short Paper