본 논문에서는 3차원 얼굴 스캔 데이터와 사진 이미지를 이용하여 고화질의 3차원 얼굴 모델과 모핑 애니메이션을 생성하는 시스템 개발에 대해 기술한다. 본 시스템은 얼굴 특징점 입력 도구, 얼굴 텍스처매핑 인터페이스, 3차원 얼굴 모핑 인터페이스로 구성되어 있다. 얼굴 특징점 입력 도구는 3차원 텍스처매핑과 모핑 애니메이션을 위한 보조 도구로서 얼굴의 특징점을 입력하여 텍스처매핑과 임의의 두 얼굴간의 모핑 영역을 정할 때 사용된다. 텍스처매핑은 3D 스캐너로부터 획득한 얼굴의 기하 데이터에 세 방향의 사진 이미지를 이용하여 매핑한다. 3D 얼굴모핑은 얼굴 특징점 입력 도구로부터 얻은 특징점을 중심으로 얼굴 영역을 분류하여 임의의 두 얼굴 간의 영역간 매핑을 실현한다. 본 시스템은 사용자가 별도의 프로그래밍 작업 없이 대화형 인터페이스에서 3D 스캐너에서 획득한 얼굴 메쉬 데이터를 이용하여 사진 이미지로 텍스처 매핑을 실행하여 사실적인 3D 얼굴 모델을 얻을 수 있고, 임의의 서로 다른 얼굴 모델들간의 모핑 애니메이션을 쉽게 실현할 수가 있다.
본 논문에서는 3차원 얼굴 스캔 데이터와 사진 이미지를 이용하여 고화질의 3차원 얼굴 모델과 모핑 애니메이션을 생성하는 시스템 개발에 대해 기술한다. 본 시스템은 얼굴 특징점 입력 도구, 얼굴 텍스처매핑 인터페이스, 3차원 얼굴 모핑 인터페이스로 구성되어 있다. 얼굴 특징점 입력 도구는 3차원 텍스처매핑과 모핑 애니메이션을 위한 보조 도구로서 얼굴의 특징점을 입력하여 텍스처매핑과 임의의 두 얼굴간의 모핑 영역을 정할 때 사용된다. 텍스처매핑은 3D 스캐너로부터 획득한 얼굴의 기하 데이터에 세 방향의 사진 이미지를 이용하여 매핑한다. 3D 얼굴모핑은 얼굴 특징점 입력 도구로부터 얻은 특징점을 중심으로 얼굴 영역을 분류하여 임의의 두 얼굴 간의 영역간 매핑을 실현한다. 본 시스템은 사용자가 별도의 프로그래밍 작업 없이 대화형 인터페이스에서 3D 스캐너에서 획득한 얼굴 메쉬 데이터를 이용하여 사진 이미지로 텍스처 매핑을 실행하여 사실적인 3D 얼굴 모델을 얻을 수 있고, 임의의 서로 다른 얼굴 모델들간의 모핑 애니메이션을 쉽게 실현할 수가 있다.
In this paper, we describe the development of a system for generating a 3-dimensional human face using 3D scanned facial data and photo images, and morphing animation. The system comprises a facial feature input tool, a 3-dimensional texture mapping interface, and a 3-dimensional facial morphing int...
In this paper, we describe the development of a system for generating a 3-dimensional human face using 3D scanned facial data and photo images, and morphing animation. The system comprises a facial feature input tool, a 3-dimensional texture mapping interface, and a 3-dimensional facial morphing interface. The facial feature input tool supports texture mapping and morphing animation - facial morphing areas between two facial models are defined by inputting facial feature points interactively. The texture mapping is done first by means of three photo images - a front and two side images - of a face model. The morphing interface allows for the generation of a morphing animation between corresponding areas of two facial models after texture mapping. This system allows users to interactively generate morphing animations between two facial models, without programming, using 3D scanned facial data and photo images.
In this paper, we describe the development of a system for generating a 3-dimensional human face using 3D scanned facial data and photo images, and morphing animation. The system comprises a facial feature input tool, a 3-dimensional texture mapping interface, and a 3-dimensional facial morphing interface. The facial feature input tool supports texture mapping and morphing animation - facial morphing areas between two facial models are defined by inputting facial feature points interactively. The texture mapping is done first by means of three photo images - a front and two side images - of a face model. The morphing interface allows for the generation of a morphing animation between corresponding areas of two facial models after texture mapping. This system allows users to interactively generate morphing animations between two facial models, without programming, using 3D scanned facial data and photo images.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 3D 스캐너에 의해 획득한 얼굴 원시 데이터와 2D 얼굴 사진을 이용하여 실사적인 3D 얼굴 모델을 생성한 후에, 이 얼굴 모델들 간의 변형을 시뮬레이션하는 모핑 알고리즘을 적용하여 3D 얼굴 애니메이션을 자동 생성해주는 시스템 개발에 대해 기술하였다. 본 시스템의 특징은 얼굴 사진 이미지를 이용하여 실사에 가까운 사실적3D 얼굴 모델과 임의의 두 얼굴간의 모핑 애니메이션을 쉽게 생성시키는 기능을 갖는다.
본 연구는 3D 스캐너에 의한 3D 원시 데이터와 고해상도 사진 이미지를 이용하여 실사에 가까운 3D 얼굴 모델을 구현하고, 얼굴 모델들간 자연스러운 모핑 애니메이션을 쉽게 생성해주는 대화형 얼굴 모핑 애니메이션 시스템 개발을 목적으로 한다. 본 논문은 이러한 시스템 개발에 필요한 3D 텍스처매핑, 3D 얼굴의 대응 영역 설정, 3D 얼굴 모핑 알고리즘 구현과 시스템 기능에 대해서 기술한다.
본 연구는 3D 스캐너에 의한 3D 원시 데이터와 고해상도 사진 이미지를 이용하여 실사에 가까운 3D 얼굴 모델을 구현하고, 얼굴 모델들간 자연스러운 모핑 애니메이션을 쉽게 생성해주는 대화형 얼굴 모핑 애니메이션 시스템 개발을 목적으로 한다. 본 논문은 이러한 시스템 개발에 필요한 3D 텍스처매핑, 3D 얼굴의 대응 영역 설정, 3D 얼굴 모핑 알고리즘 구현과 시스템 기능에 대해서 기술한다.
본 시스템의 특징은 얼굴 사진 이미지를 이용하여 실사에 가까운 사실적3D 얼굴 모델과 임의의 두 얼굴간의 모핑 애니메이션을 쉽게 생성시키는 기능을 갖는다. 본 연구에서 모핑 애니메이션 구현에 있어서 중요한 기능으로는 얼굴 모델의 펼침 처리 알고리즘을 개발하고, 특징점 입력 인터페이스에 의한 얼굴간의 영역 기반 대응 방법을 통하여 코, 눈, 귀 등과 같이 굴곡이 심한 부분에서의 보간 데이터가 제대로 추출되지 않았던 기존 연구의 문제점을 해결한 점과, 서로 다른 폴리곤 수를 가지는 임의의 두 얼굴의 모핑 애니메이션을 자동으로 생성할 수 있다는 점이다.
그러나, 아직까지는 사람이나 물체 표면의 속성을 나타내는 재질에 있어서는 사진과 같이 사실적 표현을 제공하지 못하고 있다. 본 연구에서는 3D 스캔 데이터와 얼굴 이미지의 수정 없이 3D 스캔 데이터에 얼굴 사진 이미지를 효과적으로 텍스처 매핑하여 사실적 렌더링 결과를 얻을 수 있는 방법을 개발하였다.
본 연구에서는 서로 다른 두 얼굴 모델 사이에서 모핑을 위해 두 얼굴의 대응하는 영역간의 보간 방법을 정의하였다. 펼쳐진 얼굴 모델에 얼굴 영역을 설정한 뒤에 두 얼굴 모델간의 보간 데이터를 얻는 알고리즘을 구성하였다.
그리고, 텍스처의 지역적 그리고 전역적 구조를 유지하면서 최소한의 왜곡으로 임의 곡면에 텍스처매핑하는 기술[6], 뷰에 의존하는 실시간 텍스처매핑[7], 대규모 장면을 위한 텍스처 매핑[8,9], 그래픽스 하드웨어를 이용한 텍스처 매핑[10], 다면체의 특징 기반의 텍스처 매핑처리 기술[11] 등이 있다. 본 연구에서의 텍스처매핑 기술은3D 스캐너로 취득한 원시 얼굴 데이터의 저해상도 재질 문제를 해결하기 위해 사진을 이용하여 실사에 가까운 고해상도 재질의 3D 얼굴 모델 데이터를 생성할 수 있도록 한다.
FDP를 모두 입력한 후 파일로 저장한다. 본 연구의 FDP 입력 도구는 FDP를 모두 입력한 경우와 입력을 완료하지 않은 모든 경우에 대해서 어느 때나 현재까지의 작업 내용을 파일로 저장할 수 있도록 하였다. FDP파일에 저장되는 내용은 FDP의 Major, Minor 번호를 나타내며 그 뒤에 있는 실수 데이터 세 개는 각각 해당위치의 X, Y, Z 좌표 값이고 마지막 정수 값은 정점의 인덱스를 나타낸다(그림 7).
이 문제를 해결하기 위해서 본 연구에서는 FDP를 기준으로 하여 두 얼굴 모델의 대응하는 영역을 찾고 이들 영역간의 폴리곤 매핑을 실현하는 방법을 고안하였다. 본 절의 내용은 이러한 임의의 두 모델간 모핑 애니메이션 알고리즘 개발에 대해 기술한다.
Volker 등에 의한 Morphable Model에서도 이러한 서로 다른 폴리곤 수를 가지는 임의의 두 얼굴간의 모핑 문제는 다루지 못하고 있다[13]. 이 문제를 해결하기 위해서 본 연구에서는 FDP를 기준으로 하여 두 얼굴 모델의 대응하는 영역을 찾고 이들 영역간의 폴리곤 매핑을 실현하는 방법을 고안하였다. 본 절의 내용은 이러한 임의의 두 모델간 모핑 애니메이션 알고리즘 개발에 대해 기술한다.
그런데, 3D 얼굴 모델에서 눈, 귀, 코 등의 부분과 같이 굴곡이 심한 형태를 가지는 경우에는 대응하는 점들을 찾기가 어렵기 때문에 정확한 보간 데이터 추출이 어렵다. 이러한 문제를 해결하기 위하여 본 연구에서는 각 얼굴 모델의 정점과 폴리곤들을 서로 겹치지 않도록 펼친 후에, 앞에서 기술한 FDP를 기준으로 하여 영역 간 대응하는 정점과 폴리곤들이 변형되도록 하는 방법을 구현하였다. 얼굴을 하나의 평면상에 펼침 처리를 할 때 굴곡이 심한 부분의 데이터 손실을 막기 위한 방법으로 얼굴 중심점에서 모든 정점에 이르는 직선형 경로를 이용하였다(그림 10)[14].
얼굴 특징점은 모델에 따라 그 위치가 달라질 수 있으므로 사용자 입력에 의한 특징점 정의가 필요하다. 이를 위해 본 연구에서는 3D 얼굴 모델 위에 정확하게 FDP 설정을 할 수 있도록 FDP 입력 도구를 개발하였다. FDP 입력 도구의 초기 실행 화면은 대부분의 3D 데이터 편집 툴에서 사용되는 화면과 비슷하게 구성되었다.
제안 방법
얼굴 모델의 약 50,000개의 3D 스캔 데이터의 각각의 정점에 대해 가장 거리가 가까운 얼굴 이미지의 픽셀 좌표를 매치시켜야 하므로 3D 스캔 데이터의 정점 수보다 얼굴 이미지의 픽셀 수가 더 많아야 한다. 그러나 얼굴 이미지의 픽셀 수가 너무 많아질 경우 계산량의 증가로 프로그램 성능이 떨어질 수 있으므로 본 연구에서는 300 * 300 크기의 얼굴 이미지를 사용해서 정면, 좌측, 우측 이미지가 각각 3D 스캔 데이터의 2배 정도인 90,000개의 픽셀을 갖도록 하였다.
두 얼굴 사이의 대응하는 폴리곤의 모핑을 구하기 위한 방법으로 한 얼굴 모델 A의 한 정점과 다른 얼굴 모델 B의 폴리곤과의 교차 처리를 통해서 모핑을 위한 보간 값을 계산하는 알고리즘을 구성하였다. 본 논문에서의 얼굴 모핑알고리즘은 다음의 세 단계를 거친다.
본 논문에서는 3D 스캐너에 의해 획득한 얼굴 원시 데이터와 2D 얼굴 사진을 이용하여 실사적인 3D 얼굴 모델을 생성한 후에, 이 얼굴 모델들 간의 변형을 시뮬레이션하는 모핑 알고리즘을 적용하여 3D 얼굴 애니메이션을 자동 생성해주는 시스템 개발에 대해 기술하였다. 본 시스템의 특징은 얼굴 사진 이미지를 이용하여 실사에 가까운 사실적3D 얼굴 모델과 임의의 두 얼굴간의 모핑 애니메이션을 쉽게 생성시키는 기능을 갖는다. 본 연구에서 모핑 애니메이션 구현에 있어서 중요한 기능으로는 얼굴 모델의 펼침 처리 알고리즘을 개발하고, 특징점 입력 인터페이스에 의한 얼굴간의 영역 기반 대응 방법을 통하여 코, 눈, 귀 등과 같이 굴곡이 심한 부분에서의 보간 데이터가 제대로 추출되지 않았던 기존 연구의 문제점을 해결한 점과, 서로 다른 폴리곤 수를 가지는 임의의 두 얼굴의 모핑 애니메이션을 자동으로 생성할 수 있다는 점이다.
본 연구에서는 FDP의 점 4.5 와 점 4.6 의 X 좌표를 사용하여 점 4.5 의 우측 부분은 얼굴 사진의 좌측 이미지, 점 4.5 와 점 4.6 사이는 정면 이미지, 점 4.6 의 좌측 부분은얼굴 사진의 우측 이미지를 사용하여 멀티 텍스처매핑을 실행하였다(그림 2). 얼굴 텍스처매핑이 가장 잘 구현되기 위해서는 정면, 좌측, 우측 3 장 이미지의 각 얼굴이 일치하는 부분에서 밝기나 색조, 채도 등이 최대한 동일하게 나와야한다.
따라서 텍스처 매핑된 3D 스캔 데이터는 이미지 앞, 좌, 우 경계부분에서 컬러 값이 차이가 나게 된다. 본 연구에서는 멀티텍스처 매핑으로 완성된 3차원 얼굴 모델의 좌, 우 경계 부근에서의 컬러 값 차이를 없애기 위해 얼굴 모델의 경계 부분의 구간 1에서 구간 2 사이의 영역을 좌우로 100등분하여 컬러값을 보간하였다(그림 3). (그림 4)는 경계선에서의 컬러 보간을 통하여 얻은 멀티 텍스처매핑 결과이다.
얼굴 텍스처매핑이 가장 잘 구현되기 위해서는 정면, 좌측, 우측 3 장 이미지의 각 얼굴이 일치하는 부분에서 밝기나 색조, 채도 등이 최대한 동일하게 나와야한다. 본 연구에서는 세 장의 이미지가 최대한 변화 없이 동일하게 나오게 하기 위해서 얼굴을 찍는 위치와 환경, 조명 값 등을 동일하게 하였다. 그러나 동일한 환경에서 사진을 찍었다 하더라도 서로 다른 세 방향에서 사진을 찍기 때문에 조명의 위치나 방향으로 인해 사진 이미지 컬러에서밝기나 채도, 색조 등에서 약간씩의 차이가 나게 된다.
이러한 문제를 해결하기 위하여 본 연구에서는 각 얼굴 모델의 정점과 폴리곤들을 서로 겹치지 않도록 펼친 후에, 앞에서 기술한 FDP를 기준으로 하여 영역 간 대응하는 정점과 폴리곤들이 변형되도록 하는 방법을 구현하였다. 얼굴을 하나의 평면상에 펼침 처리를 할 때 굴곡이 심한 부분의 데이터 손실을 막기 위한 방법으로 얼굴 중심점에서 모든 정점에 이르는 직선형 경로를 이용하였다(그림 10)[14].이 직선형 경로 방법은 얼굴 중심점에서 얼굴의 각 점들로 연결되는 모든 2차원 직선으로 모델을 절단하게 된다.
그리고, 3D 스캔 데이터와 얼굴 이미지를 일치시켜도 3D 스캔데이터와 얼굴 이미지의 좌표치가 다르기 때문에 좌표를 맞추는 작업이 필요하다. 이를 위해 3D 스캔 데이터와 얼굴이미지의 좌표를 각각 0~1 좌표값의 범위로 조정하였다. 이때 3D 스캔 데이터는 3차원이고 얼굴 사진 이미지는 2차원이므로 얼굴의 정면 이미지와 3D 스캔 데이터의 좌표를 맞추기 위해 3D 스캔 데이터의 X, Y 좌표와 맞추고, 좌우측이미지는 3D 스캔 데이터의 Z, Y 좌표와 맞추어 준다.
본 연구에서는 서로 다른 두 얼굴 모델 사이에서 모핑을 위해 두 얼굴의 대응하는 영역간의 보간 방법을 정의하였다. 펼쳐진 얼굴 모델에 얼굴 영역을 설정한 뒤에 두 얼굴 모델간의 보간 데이터를 얻는 알고리즘을 구성하였다. 이 알고리즘은 대응하는 영역 내의 대응하는 폴리곤을 구하고, 영역별 각 정점에 대한 두 모델간 대응 위치를 찾아서 모핑을 위한 중간값을 구한다.
대상 데이터
본 연구의 실험 데이터를 위해 기술표준원의 Size Korea사업에서 생성된 원시 얼굴 DB와 함께 3D 스캐너로 직접 취득한 얼굴 데이터를 사용하였다. 프로그래밍 환경은 비주얼 C++와 OpenGL 그래픽스 라이브러리를 사용하였다.
이를 위해 5,000개의 버텍스의 중간마다 새로운 버텍스를 추가하였다. 이러한 전처리 과정을 거친 후에 본 연구에서 모핑 애니메이션을 위해 사용된 얼굴 모델들의 정점 개수는 20,000~60,000개이고 폴리곤 수는 50,000~120,000개 범위를 가지고 있다(그림 16).
이러한 원본 3D 스캔 데이터를 고해상도로 만들기 위해 3D 스캔 데이터의 버텍스 수를 증가시키고, 인덱스를 새롭게 정렬시켜 주는 작업이 필요하다. 이를 위해 5,000개의 버텍스의 중간마다 새로운 버텍스를 추가하였다. 이러한 전처리 과정을 거친 후에 본 연구에서 모핑 애니메이션을 위해 사용된 얼굴 모델들의 정점 개수는 20,000~60,000개이고 폴리곤 수는 50,000~120,000개 범위를 가지고 있다(그림 16).
본 연구의 실험 데이터를 위해 기술표준원의 Size Korea사업에서 생성된 원시 얼굴 DB와 함께 3D 스캐너로 직접 취득한 얼굴 데이터를 사용하였다. 프로그래밍 환경은 비주얼 C++와 OpenGL 그래픽스 라이브러리를 사용하였다. 얼굴의 원시 스캔 데이터는 사람의 얼굴만이 아닌 인체 전체를 스캐닝한 데이터이기 때문에 얼굴 데이터만을 추출하였을 경우 버텍스 수가 5,000개 정도로 해상도가 많이 떨어진다.
이론/모형
3D 스캔 데이터에 정면, 좌측 및 우측 이미지가 매핑될 영역을 구하기 위해서 MPEG-4에서 정의하는 FDP(Facial Definition Parameter) 특징점을 이용하였다(그림 1). FDP란 실시간으로 아바타를 표현하고 여러 가지 다양한 움직임을 표현하기 위해 얼굴 객체에 한하여 중요한 점들을 특징점으로 정의한 것이다[12].
Gaspard 등에 의한 FaceEngine은 스캐너에 의한 실사 모델이 아니라 그래픽스 도구에 의한 합성 얼굴 모델에 근육의 움직임을 생성하는 파라미터 정의에 의해 얼굴 모델을 생성하였다[6]. Igor 등에 의한 얼굴 모델도 간단한 합성 얼굴 모델로서 모바일 플랫폼에서의 MPEG-4 기반의 얼굴애니메이션 플레이어를 구현하였다[7].
앞 절에서 기술한 멀티 텍스처매핑을 위해서 3D 스캔데이터와 얼굴 사진의 매핑에는 MPEG-4에서 정의하는 FDP(Facial Definition Parameter) 특징점을 이용한다. 얼굴 특징점은 모델에 따라 그 위치가 달라질 수 있으므로 사용자 입력에 의한 특징점 정의가 필요하다.
성능/효과
(그림 17)은 본 연구에서 구현한 모핑 애니메이션 생성도구이며 (그림 18)는 모핑 애니메이션을 수행한 결과를 보여준다. 이 결과 그림에서 볼 때 3D 스캐너가 취득한 얼굴모델에 비해서 실제 얼굴 모습을 한 해상도가 높은 3차원 얼굴 모델과 자연스러운 모핑 애니메이션 결과를 확인할 수 있다.
후속연구
이 시스템은 3D 얼굴 애니메이션 생성 및 얼굴 관련 제품 제작에 활용될 수 있고 모핑 알고리즘에서 사용된 직선형 경로의 기본적인 알고리즘에 의해 3D 모델의 치수나 면적 데이터 추출 등에 활용될 수 있다. 또한, 3D 얼굴 형상모델을 이용하여 얼굴 전체뿐 아니라 눈, 코, 귀 등의 부분적 가상 성형의 시뮬레이션으로도 활용이 가능하다.
또한, 3D 얼굴 형상모델을 이용하여 얼굴 전체뿐 아니라 눈, 코, 귀 등의 부분적 가상 성형의 시뮬레이션으로도 활용이 가능하다. 이외에도 향후 얼굴과 관련한 많은 산업 즉, 의료, 성형, 미용, 3차원 캐릭터, 의공학, 인간공학, e-헬스 등의 분야에서 과학적인 3차원 데이터 작성과 시뮬레이션에 사용할 수 있을 것이다.
질의응답
핵심어
질문
논문에서 추출한 답변
FDP란 무엇인가?
3D 스캔 데이터에 정면, 좌측 및 우측 이미지가 매핑될 영역을 구하기 위해서 MPEG-4에서 정의하는 FDP(Facial Definition Parameter) 특징점을 이용하였다(그림 1). FDP란 실시간으로 아바타를 표현하고 여러 가지 다양한 움직임을 표현하기 위해 얼굴 객체에 한하여 중요한 점들을 특징점으로 정의한 것이다[12].
텍스처 매핑을 수행하기 위한 선행 과정은?
텍스처 매핑을 수행하기 위해서는 먼저 3D 스캔 데이터와 얼굴 이미지를 일치시켜야 한다. 정면 이미지에서는 양쪽 귀 끝과 이마 끝, 목선을 맞추어주고 좌우측 이미지는 코 끝과 귀 끝, 이마 끝, 목선을 맞추어 준다(그림 1).
3D 스캔 데이터의 각 정점을 사진 이미지의 픽셀과 매치시켜주는 일이 필요한 이유는 무엇인가?
3D 스캔 데이터와 얼굴 이미지의 좌표를 0~1 사이값으로 맞추어도 3D 스캔 데이터의 정점(버텍스) 좌표와 얼굴이미지의 픽셀 좌표가 정확하게 일치하지는 않는다. 따라서 3D 스캔 데이터의 각 정점을 사진 이미지의 픽셀과 매치시켜주는 일이 필요하다.
참고문헌 (15)
Jorg Haber, Demetri Terzopoulos, “Facial modeling and
Silvina L. Ferradal and Juan C. Gomez, “A Graphical User
Yuencheng Lee, Demetry Terzopoulos and Keith Waters,
Vladislav Kraevoy , Alla Sheffer and Craig Gotsman,
Jin Jin Zheng and Jian J Zhang, “Texture Mapping on
Gaspard Breton, Christian Bouville, and Danielle Pele,
Igor S. Pandzic, “Facial Animation Framework for the Web
G. Zigelman , R. Kimmel and N. Kiryati, “Texture Mapping
※ AI-Helper는 부적절한 답변을 할 수 있습니다.