보안 제품정보


인물두부모델 자동생성 시스템의 실현 2010.06.21

최적화국소 아핀변환에 근거한 인물두부모델의 자동생성

인물의 3차원 두부모델은 레인지 스캐너로부터 획득한 두부형상 데이터에 대해서 템플릿 메쉬를 변형·정합하고 작성하는 것이 일반적이다. 그러나 정합에 필요한 지표점의 수동설정이 필요하고, 더불어 후두부와 같이 두발에 가려져 계측이 불가능한 부위의 데이터 결손을 수작업에 의해 수정하고 보완할 필요가 있다. 여기에서는 레인지 스캔으로 얻어진 정면 얼굴의 레인지 데이터로부터 통상에서는 계측이 어려운 후두부의 형상이 템플릿 메쉬의 형상으로 보완된 인물두부 모델의 자동생성 방법을 제안한다. 이 방법은 실측된 얼굴형상과 템플릿 메쉬의 형상이 심리스에 접속된 두부모델을 생성할 수 있다. 또한, 평균 10.4초로 두부모델의 생성이 가능하기 때문에 단시간에 많은 인물두부 모델의 작성을 필요로 하는 게임, 영상제작, 엔터테인먼트, 범죄자를 검색·추적하는 보안 분야에 있어서 매우 효과적이다.


처음으로

인물의 CG 두부모델을 단시간 자동 생성하는 것은 작업의 효율화가 요구되는 영화나 게임제작의 현장, 혹은 두부모델을 이용한 엔터테인먼트에 있어서 중요한 테마가 되고 있다.

인물두부모델은 (1)정면 및 측면에서 촬영된 얼굴사진과 캐릭터의 스케치를 기본으로 CG 크리에이터가 3차원 모델링 소프트를 이용하여 수작업으로 제작한다. (2)두부 주위를 계측 가능한 레인지 스캐너를 이용하여 실재하는 인물의 두부형상을 계측하고, 수작업에 의해, 계측이 어려운 부위의 구멍을 메워 아주 세밀한 노이즈를 평활화(平滑化)한 후, 미리 준비한 메쉬 모델을 정합함으로써 제작하는 것이 일반적이다. 그러나 두 가지 모두 수작업에 의한 시간과 노력을 필요로 하는 문제가 있다.

여기에서는 이와 같은 문제를 해결하기 위한 정면 얼굴 레인지 데이터를 이용한 3차원 두부모델 자동생성방법에 대해서 소개한다. 그리고 종래방법과의 비교실험을 통해서, 이 방법이 고속이며, 얼굴·비얼굴영역 간의 형상의 차이에 대해서 로버스트인 것을 나타낸다. 제안하는 시스템은 약 10초에서 인물두부모델을 자동 생성하는 것이 가능하기 때문에, 단시간에 많은 두부모델의 제작을 필요로 하는 게임, 영상제작의 현장 및 엔터테인먼트 시스템에 있어서 효과적이다.


관련연구와 연구목적

레인지 데이터로부터의 인물두부모델 생성에 관한 방법은 이미 다수 제안되어 있다.1)~5) 그러나 이러한 방법은 지표점의 지정이나 파라미터 조정에 있어 유저의 수작업을 필요로 하는 문제가 있다.

특히, 단시간 내에 대량의 두부모델을 생성할 필요가 있는 퓨처캐스트5)와 같은 엔터테인먼트 시스템에서는 수작업의 개입자체가 허용되지 않는다. 또한, 엔터테인먼트 시스템에 있어서의 중요한 규약의 하나로써 시스템의 체험자에 대해서 부담을 주어서는 안 된다고 하는 문제가 있다.

통상, 두부모델을 생성할 때에는 두부 주위를 계측 가능한 스캐너가 이용되지만, 이 타입의 스캐너는 대개 계측에 필요한 시간이 길고, 그 사이 계속해서 체험자는 정지를 요구당하기 때문에 스트레스를 받는 경우가 있다. 또한, 두발부분의 형상을 계측하는 것은 어려워 계측데이터에는 광범위하게 걸쳐진 결손이 존재한다. 이와 같은 결손을 보완하고 완전한 메쉬 모델을 생성하는 문제는 일반적으로 메쉬 보완의 문제로써 위치한다. Stoll은 Laplacian Setting에 근거한 메쉬 보완 방법을 제안하고 있다.6)

그러나 피팅할 때에 템플릿과 레인지 데이터의 쌍방에서 수작업으로 지표점을 지정할 필요가 있고, 더불어 5~20분 정도의 처리시간을 필요로 하는 문제도 있다. Allen은 메쉬 보완도 가능한 템플릿 메쉬 피팅 방법을 제안하여 전신의 레인지 데이터로부터 그 Morphable Model을 구축하고 있다.7) 제안방법은 Allen의 방법에서 착안했다.

이번 연구에서는 비교적 계측시간이 짧은 얼굴 계측용 레인지 스캐너로 계측된 레인지 데이터로부터, 계측 데이터가 존재하지 않는 후두부영역의 형상을 보완하면서 인물의 3차원 두부모델을 단시간 자동 생성하는 것을 목적으로 한다. 구체적으로는 개인의 3차원 형상이 존재하는 얼굴의 영역(이후, 「얼굴영역」이라고 부르도록 한다)은 가능한 한 본인의 얼굴형상을 유지하고, 레인지 스캔에 의해 3차원 형상을 획득할 수 없는 후두부나 목, 어깨등 얼굴 이외의 영역(이후, 「비얼굴영역」이라고 부르도록 한다)은 사전에 준비한 템플릿 메쉬의 형상에 의해 보완함으로써 두부모델을 생성한다. 여기에서 문제가 되는 것은 생성된 두부모델의 얼굴·비얼굴 영역의 경계에 있어서 아티팩트가 나타나는 것이다.

그래서 여기에서는, 이 문제를 해결하기 위한 최적화국소 아핀변환에 의한 메쉬피팅 방법을 제안한다. 제안방법은 Allen의 방법과 다르며, 템플릿 메쉬 안의 모든 정점에 대해서 그것에 대응하는 지표점을 자동설정하기 위해 다중해상도 메쉬를 이용한 피팅의 상세화 처리를 필요로 하지 않고, 단일해상도의 템플릿 메쉬만을 이용하여 피팅을 실시하는 것이 가능하다. 이 때문에 최적화 처리에 필요한 시간이 극히 짧다.

더욱이 템플릿 메쉬의 정점마다 스캔 데이터와의 정합정도와 메쉬의 매끄러움의 정도를 설정하는 것이 가능하기 때문에 국소적인 영역에 있어서 양자의 트레이드오프를 제어하는 것도 가능하다.


제안방법의 개요

제안방법의 개요를 그림 1에 나타낸다. 시스템의 입력은, 레인지 데이터인 정면 얼굴 텍스처(a), 텍스처와 픽셀단위에서의 대응이 되어 있는 3차원얼굴형상(b), 템플릿메쉬(c)이다.   또한, 전처리로써 얼굴 특징점에 대응하는 템플릿 메쉬 상의 정점을 선택하고, 양자를 대응시켜둘 필요가 있다.

두부모델 생성의 흐름은 아래와 같다. 우선, 얼굴 텍스처로부터 149점의 얼굴 특징점을 자동 검출한다(d). 다음으로, 검출된 얼굴 특징점을 이용하여, 보편형 크리깅을 이용하여 얼굴  텍스처에 템플릿 메쉬를 정합한다(e). 이의 상세한 내용에 대해서는 문헌8)을 참조하기 바란다. 얼굴 텍스처에 대해서 정합된 템플 릿메쉬의 얼굴 영역의 정점좌표를, 레인지 데이터에 있어서의 메쉬의 uv 좌표에 대응하는 3차원 좌표치로 바꿔놓는다(f).

다음으로, 스캔마다 다른 얼굴의 자세와 크기를 템플릿 메쉬의 그것과 맞도록 정규화한다(g). 여기까지의 처리는 저자들이 이미 제안한 방법4)에 근거하여 실시된다. 여기에서는 이 단계에서 생성된 메쉬를 「중간 메쉬」라고 부른다.

중간 메쉬와 템플릿 메쉬는 동일한 정점좌표의 열과 정점링크정보를 가지기 때문에 각각 정점은 1대1의 대응관계를 가진다. 중간 메쉬와 템플릿 메쉬의 형상이 극단적으로 다른 경우에는, 이 단계에서 양자의 경계를 후술하는 얼굴형상 중요도 무게를 이용하여 평활화한다(h). 그리고 생성된 중간 메쉬의 모든 정점 상에 마커를 설정한다(i). 여기에서는 이 지표점을 「두부 마커」라고 부른다. 이 두부 피팅을 위한 지표점에 대해서 여기에서 제안하는 최적화국소 아핀변환에 근거한 피팅 방법을 이용하여 다시 한번 템플릿 메쉬를 티핑한다(j). 이것에 의해 비얼굴 영역의 형상이 보간(補間)된 개인 두부모델을 생성하는 것이 가능하다(k).


최적화국소 아핀변환에 의한 메쉬 피팅

얼굴·비얼굴 영역의 경계부분의 아티팩트를 경감하고, 최종적인 두부모델을 생성하기 위한 최적화국소 아핀변환에 의한 메쉬 피팅 방법에 대해서 설명한다.


얼굴현상 중요도 맵의 작성

우선 템플릿 메쉬를 원통좌표계에 전개한 후, 모델의 정점좌표가 [0.1]의 범위에 들어가도록 정규화를 실시해 uv공간에 사영(射影)한다. 다음으로 개인의 3차원 얼굴형상을 분배하고 싶은 얼굴영역의 정점을, uv공간에 사영된 템플릿 메쉬 상의 정점으로부터 선택한다(그림2(a)). 선택된 정점을 포함한 폴리곤에 대해서, 백색(255, 255, 255)의 채색을 실시하고, 텍스처에 렌더링된 얼굴영역에 대해 그 영역의 경계를 매끄럽게 하기 위해서, 커늘 사이즈 11×11, 분산 δ=10의 가우시안 필터를 이용하여 평활화를 실시한다(그림2(c)).

최종적으로 얻어진 맵을 Ø(u,v)로 했을 때, Ø’(u,v)=Ø(u,v)/255로 하여 정규화한 Ø(u,v)를 「얼굴형상 중요도 맵」이라고 부른다. 맵의 크기는 템플릿 메쉬의 해상도에 맞추어 임의로 설정 가능하지만, 여기에서는 경험적으로 256×256사이즈로 했다.

또한, 얼굴형상 중요도 맵은, 오프라인에서 템플릿 메쉬에 대해 하나만 작성할 필요가 있다.


두부 마커의 설정

앞장에서 서술한 것처럼 두부 마커는 자동생성된 중간 메쉬의 모든 정점상에 설정된다.

다음 절에서 설명할 최적화국소 아핀변환에 근거한 피팅에 의해 얼굴·비얼굴 영역 간의 이음매가 없는 메쉬를 생성하는 것은 가능하지만, 얼굴·비얼굴 영역의 경계에 있어서 양자의 형상이 극단적으로 다른 경우에는 이음매가 나타나는 경우도 있다. 이와 같은 경우에는 피팅에 앞서 중간 메쉬와 템플릿 메쉬의 정점좌표를 아래의 식에 따라 브랜딩하여 경계부분을 평활화해 둘 필요가 있다.

여기에서 vi는 중간메쉬, ti는 템플릿메쉬, mi는 두부마커의 i번째의 정점위치좌표를 각각 나타낸다.


최적화국소 아핀변환

최적화국소 아핀변환에 의한 피팅은, 다음에서 설명하는 에너지 함수를 최소화함으로써 얻을 수 있는 정점단위의 아핀 행렬을 이용하여, 템플릿 메쉬를 정점단위로 아핀 변환하여 두부 마커의 피팅을 실시하는 것이다.

이번 연구에서는 에너지 함수를 템플릿 메쉬의 정점좌표와 두부 마커의 정점좌표 사이의 유사도를 계량하는 「정점·마커유사도항」 Em와 대상으로 하는 정점 근방의 아핀행렬의 유사도를 계량하는(근방의 면 사이의 매끄러움을 제약할 수 있다) 「평활화항」 Es의 중량감으로써 정의했다.

E=αEm+βEs

Em, Es는 각각 아래와 같다.

여기에서 vi와 mi는, i번째의 템플릿 메쉬의 정점좌표와 그것에 대응하는 두부 마커의 좌표이다. Ti는 템플릿 메쉬의 i번째의 정점에 대한 아핀행렬이다. ||·||F는, 행렬의 요소인 2승화의 평방근(프로페니우즈놀룸)이다.

Wmi 및 Wsi는 각각 각 정점에 대한 정점·마커 유사도와 정점근방의 평활화의 기여를 결정하는 무게로, 이것에 의해 국소영역에서의 메쉬 정점의 마커에 대한 정합도합과 대상으로 하는 정점근방 메쉬의 매끄러움을 조절하는 것이 가능하다.

w^{m}_{i}, w^{s}_{i}는 얼굴형상 중요도 맵을 이용해서 아래의 식과 같이 설정된다.

α, β는 오차함수전체에 있어서의 Em, Es의 기여를 결정하는 무게다. thr은 얼굴형상 중요도 맵의 무게에 대한 역치이다(나중 실험에서는 모두 thr=0.8로 설정하고 있다). 이 에너지 함수를 L-BFGS-B9)를 이용해서 최소화하여 얻어진 정점단위의 아핀행렬 T를 이용하여 각 정점을 이동한다. 이것에 따라 얼굴영역 내 개인의 얼굴형상을 유지하면서 비얼굴 영역과의 형상이 매끄럽게 이어진 두부모델을 생성하는 것이 가능하다.


비교실험

제안한 두부모델 자동생성 시스템을 C++, L-BFGS-B라이브러리9)를 이용해서 실장했다. 제안방법의 유효성을 평가하기 위해서, 종래 방법으로써 Allen이 제안하고 있는 템플릿 메쉬 피팅방법7)과의 비교실험을 실시한다. 실험에서는 아래에 나타내는 4개의 방법을 이용한다.

①V1: Allen의 방법에 있어서 전 논문7)과 같은 에너지 함수의 무게를 설정한 것.

②V2: Allen의 방법에 있어서, 다중해상도 처리의 최종단계에서의 에너지함수 중의 무게를, α=10, β=10, r=1로 하여 스캔 데이터와 템플릿 메쉬 정점의 정합도합과 각 정점근방의 메쉬의 매끄러움의 무게를 균등하게 한 것.

③V3: Allen의 방법에 있어서, 다중해상도 처리의 최종단계에서의 에너지함수 중의 무게를 α=10, β=75, r=1로 하여, V2보다도 각 정점 근방의 메쉬의 매끄러움을 우선한 것. 또한, 이 때 무게 β는, 그것을 1부터 1씩 증가시켜 갈 때에, 얼굴·비얼굴 영역 간의 경계가 시각적으로 판별할 수 없게 된 시점에서의 수치로 하고 있다.

④V4: 제안방법에 있어서 에너지 함수의 무게를 α=1, β=10으로 하여, 각 정점근방의 메쉬의 매끄러움을 우선한 것. 이 때의 무게 β는, ③과 같은 시각적으로 최적인 결과가 된 시점에서의 수치로 하고 있다.

V1, V2, V3에서는 그림 4처럼 125점의 마커를 피팅할 때에 이용하고 있다. 또한, 실험은 모두 Intel Core짋 2 Duo CPU T9600 2.8㎓, 3GB Memory 조건상에서 실시했다. 또한, 템플릿 메쉬로써, 정점수 6586점, 13036개의 삼각형 폴리곤에 의해 구성된 두부모델을 이용했다.


실험 1. 피팅 정밀도의 비교 

종래방법과 제안방법의 피팅 성능을 비교하기 위해서, 아래의 방법에 따라 실험을 실시했다.

①각 방법 모두 최적화의 반복횟수를 1~50회로 고정한다.

②①에 있어서의 반복횟수마다, 두부 마커와 생성된 두부 모델의 얼굴영역 내의 모든 정점 간의 이승평균 평방근오차(Root-Mean-Squared-Error: RMSE)를 측정한다.


그림 5는 각 방법의 반복횟수에 대한 RMSE의 측정결과이다. 그림 5를 참조하면, 반복횟수에 대한 RMSE의 감소경향은 각 방법 모두 같고, V1~V4 모두 반복횟수가 25회를 초과하면 RMSE가 거의 수속(收束)하고 있는 것을 알 수 있다.

반복횟수 25회일 때, V1~V4의 방법에 의해 생성된 두부 모델를 그림 3 (c)~(f)에 나타낸다. 또한, 그림 3(a)에 피팅 타깃이 되는 중간 메쉬를, (b)에 템플릿 메쉬를 나타낸다. 각 방법을 비교하면, RMSE는 V1, V2, V3보다도 V4 쪽이 낮고, 제안방법이 레인지 데이터에 대해서 보다 정밀도 좋게 피팅되어 있는 것을 알 수 있다.

여기에서 V4에 의해 생성된 두부모델의 예를 그림 6에 나타낸다.

실험 2. 처리속도의 비교

제안방법의 처리속도를 평가하기 위해 100명분의 레인지 데이터를 이용하여 V1과 V4에 의해 두부모델을 생성했다. 여기에서는 특히 최적화할 때의 반복횟수에 제한은 두지 않고, 각 방법으로 최적화가 수속할 때까지 처리를 반복했다. 양 방법의 평균처리시간은 각각 377.7초와 10.4초였다. 결과로부터 이 방법이 종래방법과 비교해서 처리속도 면에서도 우위인 것이 분명해졌다.


고찰

피팅성능

그림 3에 주목하면, 종래방법인 V1, V2에 의해 생성된 두부 모델의 이마와 얼굴윤곽 부분에 있어서 얼굴·비얼굴 영역의 이음매가 현저한 것을 엿볼 수 있다. 이것은 피팅의 대상으로 하고 있는 부위에 있어서 개인의 레인지 데이터와 템플릿 메쉬의 형상의 차가 큰 것에 기인하고 있다. 종래방법에서는 모든 정점에 대해서 똑같은 평활화항의 무게를 설정하고 있기 때문에, 이와 같은 형상의 차를 흡수하는 것이 어렵다. 

또한, 그림3(e)에 나타나는 것처럼, 얼굴·비얼굴 영역 간의 경계를 없애기 위해서 평활화항의 무게β를 크게 하면 할수록 얼굴영역의 형상이 템플릿 메쉬의 형상에 가까워져 버린다고 하는 문제가 있다.

이것에 대해서 제안방법은 얼굴영역 내의 개인의 얼굴형상을 유지하면서, 경계가 없는 피팅을 실현할 수 있다는 것을 그림 3(f)에서도 엿볼 수 있다. 이것은 이 방법이 영역마다 에너지 함수 안의 정점오차항과 평활화항의 무게를 고려하고 있는 것에 기인하고 있다. 따라서 제안방법은 이마나 얼굴윤곽에 있어서 얼굴영역과 비얼굴영역의 경계에 있어서의 형상의 불연속성을 경감하면서 레인지데이터의 형상을 유지한 피팅이 실현가능하고, 종래방법과 비교해서 우위라고 말할 수 있다.


처리속도

종래방법에 비해 이 방법은 마커로써 템플렛 메쉬의 모든 정점과 1대1로 대응하는 두부 마커를 이용하고 있기 때문에 보다 적은 반복계산으로 정점마다의 아핀 행렬을 구하는 것이 가능함은 물론 국소최소해(局所最小解)에 빠질 가능성도 적다. 그림 5에 주목하면, 3회의 반복계산으로 종래방법과 같은 정도의 RMSE이 된 것으로부터도 그것을 확인할 수 있다. 또한 이것에 기인하여 국소성이 강한 평활화항의 영향도 최소화하고, 게다가 빠르게 메쉬 중의 각 정점에 빠르게 전반(傳搬)시키는 것이 가능하다. 따라서 종래방법보다도 고속으로 최적화를 실행할 수 있다.


마지막으로

여기에서는, 최적화국소 아핀변환에 근거한 정면 얼굴 레인지 데이터로부터의 두부모델 자동생성 방법에 대해서 제안했다. 제안방법은 종래방법과 비교해서 고속이며 평균 10.4초의 처리시간으로 두부모델을 생성하는 것이 가능하기 때문에, 퓨처캐스터4)와 같은 인물 두부모델을 이용한 엔터테인먼트시스템에 있어서 특히 유효하다. 또한, 필자들은 현재 레인지 스태너를 이용하지 않고 정면 얼굴 사진 1장으로부터의 인물두부의 3차원형상을 추정하는 연구를 실시하고 있다.9) 여기에서 기술한 모델링 방법은, 추정에 이용하는 두부변형 모델 구축을 위한 데이터 레지스트레이션에도 이용하는 것이 가능하다.

현재, 생성된 두부 모델의 비얼굴 영역의 형상은, 사전에 유저에 의해 선택된 템플릿 메쉬의 형상과 거의 동일하게 된다. 따라서 비얼굴 영역에 대해서도 개인화하는 방법에 대해서 검토할 필요가 있다. 또한 얼굴 특징점에 대응하는 템플릿 메쉬 상의 정점의 선출에 사람 손을 필요로 하는 문제가 남아있다. 이 작업을 자동화하는 것도 하나의 과제라고 할 수 있다.


참고문헌

1) V. Blenz and T. Vetter, “A morphable model for the synthesis of 3D faces”, SIGGRA’99: Proceedings of the 26th annual conference on Computer graphics and interactive techniques, pp. 187-194, 1999.

2) D. DeCarlo, D. Metaxas and Matthew Stone, “An anthropometric face model using variational techniques”, SIGGRAPH’98: Proceedings of the 25th annual conference on Computer graphics and interactive techniques, pp.67-74, 1998.

3) K. Kahler, J. Haber, H. Yamauchi and H. P. Seidel, “Head shop: generating animated head models with anatomical structure”, SGA’02: Proceedings of the 2002 ACM SIGGRAPH/ Eurographics symposium on Conmputer animation, pp.55-63, 2002.

4) A. Maejima, S. Wemler, T. Machida, M. Takebayashi ane S. Morishima, “Instant Casting Movie Theater: The Future Cast System”, IEICE Transactions on Information and Systems, Vol, E91-D, No. 4, pp.1135-1148, 2008.

5) F. Pighin, J. Hecker, D. Lischinski, R. Szeliski and D. H. Salesin, “Synthesizing realistic facial expressions from photographs”, SIGGRAPH’98: Proceedings of the 25th annual conference on Computer graphics and interactive techniques, pp.75-84, 1998.

6) C. Stoll, Z. Karni, C. Rossl, H. Yamauchi and H. P. Seidel, “Template Deformation for Point Cloud Fitting”, Symposium on Point-Based Graphics, pp.27-35, 2006.

7) B. Allen, B. Curless and Z. Popovic, “The space of human body shapes: reconstruction and parameterization from range scans”, SIGGRAPH’03: ACM SIGGRAPH 2003 Papers, pp.587-594, 2003.

8) 마에지마 아키노부, 모리시마 시게오, “최적화국소아핀변환에 근거한 정면 얼굴 레인지 스캔데이터로부터의 두부모델 자동생성”, 화상전자학회논문지, Vol. 38, No. 4, pp. 404-413, 2009.

9) C. Zhu, R. H. Byrd, P. Lu and J. Nocedal, “Algorithm 778: L-BFGS-B: Fortran subroutines for large-scale bound-constrained optimization”, ACM Trans. Math. Softw., Vol. 23, No. 4, pp.550-560, 1997.

10) A. Maejima and S. Morishima, “Fast Plausible 3D Face Generation from Single Photograph”, SIGGRAPH ASIA 2008, Poster, 2008.

<글 : 마에지마 아키노부(Maejima Akinobu), 모리시마 시게오(Morisima Sigeo) 와세다대학 > 


[월간 시큐리티월드 통권 제161호(info@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>