KR20010084996A - 단일 이미지를 이용한 3차원 아바타 제작 방법 및 이를이용한 자판기 - Google Patents

단일 이미지를 이용한 3차원 아바타 제작 방법 및 이를이용한 자판기 Download PDF

Info

Publication number
KR20010084996A
KR20010084996A KR1020010040928A KR20010040928A KR20010084996A KR 20010084996 A KR20010084996 A KR 20010084996A KR 1020010040928 A KR1020010040928 A KR 1020010040928A KR 20010040928 A KR20010040928 A KR 20010040928A KR 20010084996 A KR20010084996 A KR 20010084996A
Authority
KR
South Korea
Prior art keywords
user
face
avatar
image
face image
Prior art date
Application number
KR1020010040928A
Other languages
English (en)
Inventor
한희철
Original Assignee
한희철
예석준
(주) 지웍스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한희철, 예석준, (주) 지웍스 filed Critical 한희철
Priority to KR1020010040928A priority Critical patent/KR20010084996A/ko
Publication of KR20010084996A publication Critical patent/KR20010084996A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0007Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Abstract

본 발명은 아바타 제작 방법에 관한 것으로, 한 장의 얼굴 이미지를 이용하여 3차원 얼굴 아바타 및 전신 아바타를 제작하는 방법 및 자판기에 관한 것이다.
본 발명의 3차원 아바타 제작 방법은 사용자의 얼굴을 촬영한 한 장의 얼굴 이미지로부터 아바타 구성 요소의 특징점을 추출한다. 구성 요소는 눈, 코, 입 및 얼굴 외곽선이 될 수 있다. 상기 아바타 구성 요소의 특징점을 이용하여 사용자의 얼굴 이미지로부터 아바타 제작을 위한 매핑 소스를 자동으로 생성한다. 상기 아바타 구성 요소의 특징점을 이용하여 미리 저장된 얼굴 기본 모델을 사용자의 얼굴 이미지에 상응하는 사용자의 3차원 얼굴 모델로 변형한다. 상기 사용자의 3차원 얼굴 모델에 매핑 소스를 결합하여 3차원 아바타 얼굴을 생성한다. 3차원 아바타 얼굴에 사용자의 취향에 따라 머리 형태, 몸체 또는 몸 동작을 추가할 수 있다.

Description

단일 이미지를 이용한 3차원 아바타 제작 방법 및 이를 이용한 자판기{METHOD FOR GENERATING 3 DIMENSION AVATAR USING ONE FACE IMAGE AND VENDING MACHINE WITH THE SAME}
본 발명은 아바타 제작 방법에 관한 것으로, 보다 구체적으로는 한 장의 얼굴 이미지를 이용하여 3차원 얼굴 아바타 또는 전신 아바타를 제작하는 방법 및 이를 이용한 아바타 자판기에 관한 것이다.
아바타는 고대 인도 힌두교의 범어 아바따라의 영어식 표기인 avatara 유래한 용어로서, 내려온 자 라는 뜻을 내포하는 화신의 개념을 가지고 있다. 특히, 인간이 위험에 처해있을 때, 신이 인간을 구하기 위하여 지상으로 하강한다는 의미를 내포한다. 또한, 자신의 의식이 존재하는 시각적 형상의 캐릭터(character)로서, 육체를 벗어난 가상의 인격체라고 볼 수 있다.
요즘에는 월드 와이드 웹(World Wide Web)을 기반으로 하는 인터넷(Internet) 상에서 사용자의 분신을 나타내는 캐릭터를 지칭하는 의미로 사용되고 있다. 즉, 가상 공간에 존재하는 또 다른 자아를 나타내는 것으로서, 사람의 형상뿐만 아니라 동물이나 식물 등 표현할 수 있는 모든 형태로의 변형이 가능한 존재이다. 이러한 아바타의 제작 및 이용은 사용자로 하여금 자신의 모습과 유사하며, 자신의 특징을 나타낼 수 있는 표현 도구로서, 사용자의 호기심이나 대리 만족, 개인이 요구하는 이상적인 인물 등의 의미를 내포할 수 있다. 그에 따라, 사용자는 개인을 나타내는 아바타의 제작 및 이용에 많은 관심을 가지게 되었다.
일반적으로, 개인의 형상을 나타내기 위한 수단으로서 사진이나 동영상 정보가 있을 수 있지만, 이들 데이터는 방대한 크기로 이루어져 있어서 인터넷 상에서 전송 및 처리하기가 어렵다. 또한, 사용자는 이미지 데이터 또는 동영상 데이터를 편집 또는 제어함으로써 게임과 같은 다양한 어플리케이션(Application)에 이를 적용하기가 어렵기 때문에, 사용자의 이미지로부터 아바타 또는 캐릭터를 제작할 수 있는 다양한 형태의 제작 방법이 제안되고 있으며, 이에 대한 개발이 활발히 이루어지고 있다.
아바타를 제작하는 방법은 디자이너가 직접 사용자 또는 사용자의 사진을 보며 아바타를 그리는 방법과, 미리 주어진 아바타 중에서 사용자가 원하는 아바타를 선택하는 방법, 데이터베이스(Database)에 저장된 각 항목을 조합하여 아바타를 구성하는 방법이 있다.
디자이너에 의한 아바타 제작 방법은 사용자가 자신의 얼굴이나 전체 모습을 촬영한 사진을 이미지 파일 형태로 변환하여, 이를 네트워크를 통하여 아바타 생성 시스템으로 전송한다. 통상적으로, 사용자의 모습을 나타내는 이미지 파일은 화면에 표시되는 그림을 바이트(byte) 단위로 읽어서 그대로 저장한 비트맵(BMP), 8비트 컬러 뎁스(depth), 즉 256컬러로 제한된 플랫폼-독립 중개형(platform-independent intermediate) 래스터 포맷인 GIF(Graphics Interchange Format) 또는 GIF 파일보다 컬러 뎁스가 높지만 파일 용량은 더 작으며, 24비트 컬러(1670만 컬러) 정보까지 저장할 수 있는 JPEG(Joint Picture Experts Group) 포맷 등의 형식으로 이루어진다. 그러나, 이 밖에 다양한 형태의 파일 포맷을 가질 수 있을 것이다. 아바타 생성 시스템은 사용자로부터 제공받은 이러한 이미지 파일을 출력하여 아바타를 제작하는 디자이너에게 제공하고, 디자이너는 사용자의 이미지에 따라 적절한 아바타를 디자인한다. 이와 같이, 사용자가 제공한 이미지를 이용하여 디자이너가 아바타를 제작하면, 사용자의 모습에 가까운 아바타를 제작할 수 있을 것이다. 하지만, 디자이너에 의하여 아바타가 제작되는 경우에 제작 시간이 많이 소요되고, 아바타 제작에 투입되는 디자이너의 인적 자원 및 노력이 많이 소모된다.
또한, 다양한 기본 아바타 중에서 사용자가 희망하는 아바타를 선택하도록 하는 방법은 사용자가 네트워크를 통하여 아바타 생성 시스템에 접속하여, 미리 제작된 다양한 아바타 중에서 원하는 아바타를 선택함으로써 자신의 아바타를 생성한다. 일반적으로, 아바타 생성 시스템은 머리 스타일, 얼굴 형태, 눈, 코, 입 등의 얼굴 요소를 조합하여 여러 가지 형태의 아바타 얼굴을 생성하여 이를 데이터베이스에 저장한다. 사용자의 요청이 있는 경우에, 데이터베이스에 저장된 아바타 얼굴을 사용자에게 제공하고, 사용자가 원하는 얼굴의 아바타를 선택하면, 선택된 얼굴의 아바타를 해당하는 사용자에게 배정한다. 그에 따라, 사용자는 자신이 선택한아바타를 이용하여 다양한 서비스를 이용할 수 있다. 이와 같은 아바타 생성 방법은 사용자가 미리 제작된 아바타 중에서 원하는 형태의 아바타를 선택함으로써 아바타 생성이 용이하지만, 아바타 생성 시스템에서 미리 제작하는 아바타 종류에 한계가 있기 때문에, 수많은 사용자의 다양한 요구에 부응하는 아바타를 제공하는 것이 어렵다. 그에 따라, 서로 다른 사용자가 동일한 형태의 아바타를 사용하는 경우가 발생할 수 있다.
또한, 아바타를 구성하는 다양한 아이템 중에서 사용자가 각 아이템을 조합함으로써, 아바타를 제작하는 방법은 사용자가 다양한 얼굴 모양, 눈 모양, 두발 스타일, 입술 모양 또는 의상 아이템 중에서 원하는 아이템을 선택할 수 있다. 사용자가 각 아바타 구성 요소를 이루는 복수의 아이템 중에서 희망하는 아이템을 선택하면, 사용자가 선택한 각 아이템의 조합에 의하여 아바타가 생성된다. 이와 같이, 각 아이템의 조합에 의한 아바타 생성 방법은 아바타 구성 요소를 이루는 아이템의 수가 증가할수록 제작 가능한 아바타의 수가 증가하기 때문에, 다양한 형태의 아바타 생성이 가능하다. 따라서, 사용자의 요구에 어느 정도 부합하는 아바타를 제작할 수 있지만, 이 경우에도 주어진 아이템의 모양 및 수에 따라 아바타의 형태가 한정되기 때문에, 사용자의 요구에 적합한 아바타를 제작하는데 한계가 있다. 특히, 단순한 아이템들의 조합에 의한 아바타 제작 방법은 사용자의 개성에 따라 특이한 형태의 아바타를 제작하고자 하는 사용자에 대해서는 그 요구에 부응하지 못하는 단점이 있다.
한편, 최근에는 이러한 2차원 아바타 제작에 한정되지 않고, 얼굴모델링(Modeling) 기법을 이용한 3차원 아바타 생성 방법에 대한 연구가 활발히 진행되고 있다. 이러한 3차원 얼굴 모델링 기법은 모델링된 얼굴을 이용한 애니메이션(Animation)에 많이 활용되기 때문에, 얼굴 표정에 관한 애니메이션과 결부되어 연구되기도 하였다. 현재, 3차원 얼굴 모델링 방법은 3차원 스캐너를 이용하는 방법, 3차원 저작 소프트웨어를 이용하여 수작업을 하는 방법, 얼굴의 통계 자료를 이용하여 모델링하는 방법 및 2차원 영상 특징을 이용하는 방법이 있다.
3차원 스캐너를 이용하는 방법은 부분의 3차원 상에서 거리 정보를 얻어 이를 처리하게 된다. 3차원 스캐너의 유형으로는 스타일러스 프로브(Stylus Probes), 레이저 스캐너, 광학적 위상 천이 측정(Optical Moire System) 방식 및 스테레오스코픽 이미징 시스템(Stereoscopic Imaging System)을 사용하는 방식이 있다. 스타일러스 프로브는 3차원 물체의 표면에 접촉되는 탐침을 이용하여 위치 데이터를 처리하기 때문에 정확도가 우수하지만, 작업이 느리고 수작업을 많이 요하는 단점이 있다. 특히, 사람의 피부와 같이 움직이는 물체에는 사용이 불가능하다. 레이저 스캐너는 레이저 주사선을 이용하기 때문에 정확도가 우수하지만, 가격이 비싸며 작업 속도가 느리다. 특히, 사람의 경우에 사람의 눈에 나쁜 영향을 끼칠 수 있는 문제점이 있다. 광학적 위상 천이 측정 방식은 정확도가 우수하지만, 가격이 비싸며 조작이 어려우며, 사람의 머리카락이 있는 부분에서 오류를 발생하는 문제점이 있다. 그리고, 스테레오스코픽 이미징 시스템을 이용한 방식은 복수의 카메라를 사용하여 목적물의 3차원 표면을 촬영하기 때문에, 3차원 영상을 만들기 위해서 많은 연산이 필요하고, 그에 따라 처리 속도가 지연되는 문제점이 있다.
이와 같이, 3차원 아바타를 생성하는 방법은 많은 연산량과 처리 시간이 소요되기 때문에, 사용자로서는 쉽게 자신의 아바타를 제작하지 못하고 있으며, 특히 즉석에서 명함 사진을 촬영하듯이 간단한 조작을 통하여 개인 아바타를 제작할 수 있는 방법이나 시스템이 제안되지 못하고 있었다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로, 사용자의 얼굴 사진으로부터 3차원 아바타를 제작할 수 있는 방법을 제공하는데 그 목적이 있다.
또한, 본 발명은 사용자의 얼굴 사진에서 추출된 얼굴의 특징점으로부터 매핑 소스(Mapping Source)를 생성하고, 이를 이용하여 3차원 아바타를 생성함으로써 보다 사실적이고 정확한 아바타를 제작할 수 있는 방법을 제공하는데 그 목적이 있다.
또한, 본 발명은 사용자의 얼굴 사진 촬영에서부터 얼굴 사진을 이용한 3차원 아바타 제작까지 간단한 조작으로 이를 처리할 수 있는 아바타 자판기를 제공하는데 그 목적이 있다.
도 1은 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법의 전체적인 흐름도.
도 2는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 사용자의 얼굴 사진으로부터 특징점을 추출하는 과정의 상세한 흐름도.
도 3은 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, RGB 값을 HSI 값으로 변환하는 방법을 나타낸 도면.
도 4는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 에러 비율에 따라 사용자의 얼굴 이미지로부터 블루 스크린 영역을 제거한 경우의 화면 예시도.
도 5는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 사용자의 얼굴 이미지로부터 노이즈를 제거하기 위한 가우스 마스크를 나타낸 도면.
도 6은 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 가우스 마스크를 사용하여 사용자의 얼굴 이미지를 부드럽게 처리한 결과의 화면 예시도.
도 7은 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 콘트라스트 조절 과정을 통하여 사용자의 얼굴 이미지 윤곽을 강조한 결과의 화면 예시도.
도 8은 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 블록마다 서로 다른 임계값을 이용하여 이미지를 이진 데이터로 변환하는 과정의 흐름도.
도 9는 각 블록마다 서로 다른 임계값을 사용하여 얼굴 이미지를 이진 데이터로 변환한 경우의 화면 예시도.
도 10은 세그먼트 기준 값을 5로 두고 라인 세그먼트 과정을 진행한 경우의 화면 예시도.
도 11은 상기와 같은 조건으로 사용자의 얼굴 이미지로부터 큰 영역을 제거한 경우의 화면 예시도.
도 12는 이러한 방법을 통하여 사용자의 얼굴 이미지로부터 눈, 코 및 입의 영역이 검출된 경우의 화면 예시도.
도 13은 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 사용자의 얼굴 이미지로부터 얼굴 외곽선을 추출하는 경우의 화면 예시도.
도 14는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 사용자 얼굴의 매핑 소스를 생성하는 방법의 흐름도.
도 15는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 평균 피부색을 구하는 과정의 화면 예시도.
도 16은 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 사용자의 얼굴 이미지로부터 얼굴 틀을 추출하는 과정의 화면 예시도.
도 17은 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 사용자의 얼굴 이미지로부터 추출된 타원형의 얼굴 틀을 나타낸 도면.
도 18은 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 타원형의 얼굴 틀에서 경계 부분을 그라데이션 처리한 경우의 화면 예시도.
도 19는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 사용자의 3차원 얼굴 모델을 생성하는 방법의 상세한 흐름도.
도 20a와 도 20b는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 3차원 얼굴 모델을 생성하는데 사용되는 얼굴 기본 모델의 정면도와 공간 좌표를 나타낸 도면.
도 21a와 도 21b는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 3차원 얼굴 모델을 생성하는데 사용되는 얼굴 기본 모델의 측면도와 공간 좌표를 나타낸 도면.
도 22는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 얼굴 기본 모델에 특징 파라메터가 설정된 경우의 화면 예시도.
도 23은 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 얼굴 기본 모델의 눈 및 입에 대한 그룹을 설정한 경우의 화면 예시도.
도 24는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 얼굴 기본 모델에서 코의 그룹을 설정하는 경우의 화면 예시도.
도 25는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 얼굴 기본 모델에서 얼굴 외곽선의 그룹을 설정하는 경우의 화면 예시도.
도 26은 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 사용자의 얼굴 이미지로부터 추출된 특징점에 따라 얼굴 기본 모델을 사용자의 얼굴에 해당하도록 변형하는 과정의 화면 예시도.
도 27은 이와 같이 사용자의 얼굴 이미지로부터 추출된 특징점을 이용하여 얼굴 기본 모델을 변형함으로써 사용자의 3차원 얼굴 모델을 생성한 경우의 화면 예시도.
도 28a 및 도 28b는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 매핑 소스를 3차원 얼굴 모델에 입히는 텍스처 매핑 과정의 화면 예시도.
도 29a 내지 도 29c는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 사용자의 3차원 모델에 사용자의 얼굴 이미지로부터 생성된 매핑 소스를 결합한 경우의 화면 예시도.
도 30a 내지 도 30c는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 전체 몸체를 가지는 아바타를 생성한 경우의 화면 예시도.
도 31a 내지 도 31c는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 사용자의 얼굴 이미지를 가지는 3차원 전신 아바타를 가상 공간상에 위치시킨 경우의 화면 예시도.
도 32는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 자판기의 개략적인 외형도.
도 33은 본 발명의 바람직한 실시 예에 따른 3차원 아바타 자판기의 내부 블록도.
도 34는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 자판기의 상세한 내부 구성 모듈을 나타낸 도면.
(도면의 주요 부분에 대한 부호의 명칭)
100: 3차원 아바타 자판기 150: 메모리 시스템
152: 메인 메모리 154: 보조 메모리
160: CPU 162: ALU
164: 레지스터 166: 컨트롤러
170: 입력 장치 180: 출력 장치
192: API 194: 하이 레벨 명령어 처리부
250: 응용 모듈 제어부
251: 특징점 추출 모듈 매핑부 252: 특징점 추출 모듈 인터페이스부
253: 매핑 소스 생성 모듈 매핑부 254: 매핑 소스 생성 모듈 인터페이스부
255: 3차원 모델 생성 모듈 매핑부
256: 3차원 모델 생성 모듈 인터페이스부
257: 3차원 아바타 생성 모듈 매핑부
258: 3차원 아바타 생성 모듈 인터페이스부
260: 응용 모듈
262: 특징점 추출 모듈 264: 매핑 소스 생성 모듈
266: 3차원 모델 생성 모듈 268: 3차원 아바타 생성 모듈
상기의 목적을 달성하기 위하여, 본 발명의 단일 이미지를 이용한 3차원 아바타 제작 방법은 사용자의 얼굴을 촬영한 한 장의 얼굴 이미지로부터 아바타 구성 요소의 특징점을 추출하는 단계와, 상기 아바타 구성 요소의 특징점을 이용하여 사용자의 얼굴 이미지로부터 아바타 제작을 위한 매핑 소스를 생성하는 단계와, 상기 아바타 구성 요소의 특징점을 이용하여 미리 저장된 얼굴 기본 모델을 사용자의 얼굴 이미지에 상응하는 사용자의 3차원 얼굴 모델로 변형하는 단계와, 상기 사용자의 3차원 얼굴 모델에 매핑 소스를 결합하여 3차원 아바타 얼굴을 생성하는 단계를 포함할 수 있다.
상기 아바타 구성 요소는 눈, 코, 입 및 얼굴 외곽선 중 적어도 하나를 포함할 수 있다.
상기 한 장의 얼굴 이미지는 블루 스크린을 배경으로 촬영한 사용자의 정면 이미지인 단일 이미지일 수 있다.
상기 아바타 구성 요소의 특징점을 추출하는 단계는 블루 스크린을 배경으로 촬영한 사용자의 얼굴 이미지로부터 블루 스크린 영역을 제거하는 단계와, 상기 사용자의 얼굴 이미지가 컬러 이미지인 경우에, 흑백 이미지로 변환하는 단계와, 상기 흑백의 사용자 얼굴 이미지로부터 노이즈를 제거하는 단계와, 노이즈가 제거된 흑백의 사용자 얼굴 이미지를 이진 데이터로 변환하는 단계와, 이진 데이터로 변환된 사용자의 얼굴 이미지에서 아바타 구성 요소에 대한 특징 선의 세그먼트 작업을 수행하는 단계와, 세그먼트 처리된 아바타 구성 요소에 있어서, 고립 영역에 대한 레이블을 지정하는 단계와, 레이블이 지정된 고립 영역에 대하여 크기를 검증하는 단계와, 상기 크기 검증 결과에 따라 고립 영역으로부터 아바타 구성 요소를 추출하는 단계를 포함할 수 있다.
상기 블루 스크린 영역을 제거하는 단계는 사용자의 얼굴 이미지에서 외곽부분에 대한 HSI 평균값을 추출하는 단계와, 각 픽셀에 대하여, 상기 HSI 평균값과의 에러 비율을 계산하는 단계와, 상기 각 픽셀에 대한 에러 비율을 최대 에러 비율과 비교하여 블루 스크린 영역을 판단하는 단계와, 블루 스크린 영역에 해당하는 픽셀을 검은색으로 변환시키는 단계를 포함할 수 있다.
상기 노이즈를 제거하는 단계는 사용자의 얼굴 이미지에 대하여 가우스 평탄화 작업을 통하여 미세한 잡음을 제거하는 단계와, 콘트라스트를 조절함으로써 아바타 구성 요소의 특징점을 강조하는 단계를 포함할 수 있다.
상기 이진 데이터로 변환하는 단계는 사용자의 얼굴 이미지를 일정 크기를 가지는 복수의 블록으로 분할하는 단계와, 각 블록에 대한 평균 명도 값을 각각 계산하는 단계와, 상기 평균 명도 값을 지정된 블록의 임계값으로 하여 해당하는 블록을 각각 이진 데이터로 변환하는 단계를 포함할 수 있다.
상기 세그먼트 작업을 수행하는 단계는 수평으로 떨어진 두 라인 사이의 간격을 계산하는 단계와, 상기 두 라인 사이의 간격을 미리 정해진 세그먼트 기준 값과 비교하는 단계와, 두 라인 사이의 간격이 세그먼트 기준 값보다 작은 경우, 동일한 라인으로 판단하여 두 라인을 서로 연결하는 단계를 포함할 수 있다.
상기 크기를 검증하는 단계는 레이블이 지정된 고립 영역에 대하여, 최소 길이, 최대 길이, 최소 높이, 최대 높이, 최소 넓이 및 최대 넓이 중 적어도 하나를 이용하여 검증할 수 있다.
상기 매핑 소스를 생성하는 단계는 컬러의 사용자 얼굴 이미지로부터 평균 피부색을 계산하는 단계와, 사용자의 얼굴 이미지 중에서 피부 부분을 평균 피부색으로 채색하는 단계와, 평균 피부색으로 처리된 사용자의 얼굴 이미지를 사용자의 실제 얼굴과 유사하도록 이미지 처리를 하는 단계와, 노이즈 처리가 된 사용자의 얼굴 이미지로부터 얼굴 틀을 추출하는 단계와, 상기 얼굴 틀의 경계 부분에 대하여 그라데이션 처리를 하는 단계를 포함할 수 있다.
상기 평균 피부색은 사용자의 얼굴 이미지 중에서, 양쪽 볼 부분의 피부색에 대하여 계산된 평균값일 수 있다.
상기 사용자의 실제 얼굴과 유사하도록 이미지 처리를 하는 단계는 평균 피부색의 얼굴 이미지에 가우스 얼룩 처리를 할 수 있다.
상기 얼굴 틀을 추출하는 단계는 장축이 되는 두 점 A, B와, 단축이 되는 두 점 C, D를 선택하여, 이로부터 형성되는 타원형의 얼굴 틀을 추출하되, 상기 점 A, 점 B, 점 C 및 점 D는 사용자의 얼굴 이미지에서, 눈과 코의 중앙 지점의 y 좌표와 두 눈의 중앙 지점의 x 좌표로 구성된 중점 G를 선택하고, 이로부터, 오른쪽 눈의 오른쪽 점의 x 좌표와 중점 G의 y 좌표로 이루어진 점 C와, 왼쪽 눈의 왼쪽 점의 x 좌표와 중점 G의 y 좌표로 이루어진 점 D와, 턱선의 y 좌표와 중점 G의 x 좌표로 구성된 점 B와, 중점 G에서 점 B까지의 거리만큼 중점 G로부터 반대방향으로 떨어진 점 A로 구해질 수 있다.
상기 그라데이션 처리를 하는 단계는 상기 얼굴 틀의 경계 부분에서부터 중점 G까지의 거리만큼 타원이 확장되어 가는 방향으로 상호 보간하여 생성할 수 있다.
상기 단일 이미지를 이용한 3차원 아바타 제작 방법은 사용자의 얼굴 이미지중에서 피부색으로 이루어지지 않는 부분은 얼굴 색과 일정 비율 이상의 차이를 보이는 경우에, 해당하는 부분의 위 또는 아래 부분의 피부색으로 그라데이션 처리를 하는 단계를 더 포함할 수 있다.
사용자의 3차원 얼굴 모델로 변형하는 단계는 얼굴 기본 모델로부터 사용자의 얼굴 이미지로부터 추출된 특징점과 대응되는 부분에 특징 파라메터를 설정하는 단계와, 상기 특징점과 대응되는 부분에 대하여 특징 파라메터와 연결되는 그룹의 그룹 함수를 설정하는 단계와, 사용자의 얼굴 이미지로부터 추출된 특징점을 이용하여 얼굴 기본 모델의 특징 파라메터를 사용자의 얼굴에 대응되도록 변형하는 단계와, 상기 특징 파라메터의 변형에 따라 그룹 함수를 제어함으로써, 해당하는 그룹의 형태를 변형하는 단계와, 상기 특징 파라메터 또는 그룹 형태의 변형에 따라 사용자의 얼굴에 상응하는 3차원 얼굴 모델을 생성하는 단계를 포함할 수 있다.
상기 그룹 함수는 눈 및 입의 특징점에 대해서 타원 방정식일 수 있다.
상기 그룹 함수는 코 및 얼굴 외곽선의 특징점에 대해서 직선 방정식일 수 있다.
상기 단일 이미지를 이용한 3차원 아바타 제작 방법은 사용자의 요청에 따라 사용자의 얼굴 이미지로부터 추출된 아바타 구성 요소의 특징점을 수정하는 단계를 더 포함할 수 있다.
상기 단일 이미지를 이용한 3차원 아바타 제작 방법은 사용자의 요청에 따라, 3차원 아바타 얼굴에 추가적인 아바타 구성 요소를 결합하여 3차원 전신 아바타를 생성하는 단계를 더 포함할 수 있다.
또한, 본 발명의 단일 이미지를 이용한 3차원 아바타 제작 방법은 블루 스크린을 배경으로 사용자의 얼굴 이미지를 촬영하는 단계와, 블루 스크린을 배경으로 촬영된 사용자의 얼굴 이미지로부터 블루 스크린 영역을 제거하는 단계와, 상기 사용자의 얼굴 이미지가 컬러 이미지인 경우에, 흑백 이미지로 변환하는 단계와, 상기 흑백의 사용자 얼굴 이미지로부터 노이즈를 제거하는 단계와, 노이즈가 제거된 흑백의 사용자 얼굴 이미지를 이진 데이터로 변환하는 단계와, 이진 데이터로 변환된 사용자의 얼굴 이미지에서 아바타 구성 요소에 대한 특징 선의 세그먼트 작업을 수행하는 단계와, 세그먼트 처리된 아바타 구성 요소에 있어서, 고립 영역에 대한 레이블을 지정하는 단계와, 레이블이 지정된 고립 영역에 대하여 크기를 검증하는 단계와, 상기 크기 검증 결과에 따라 고립 영역으로부터 아바타 구성 요소를 추출하는 단계와, 상기 블루 스크린을 배경으로 촬영된 사용자 얼굴 이미지로부터 평균 피부색을 계산하는 단계와, 사용자의 얼굴 이미지 중에서 피부 부분을 평균 피부색으로 채색하는 단계와, 평균 피부색으로 처리된 사용자의 얼굴 이미지를 사용자의 실제 얼굴과 유사하도록 이미지 처리를 하는 단계와, 노이즈 처리가 된 사용자의 얼굴 이미지로부터 얼굴 틀을 추출하는 단계와, 상기 얼굴 틀의 경계 부분에 대하여 그라데이션 처리를 하여 매핑 소스를 생성하는 단계와, 얼굴 기본 모델로부터 사용자의 얼굴 이미지로부터 추출된 특징점과 대응되는 부분에 특징 파라메터를 설정하는 단계와, 상기 특징점과 대응되는 부분에 대하여 특징 파라메터와 연결되는 그룹의 그룹 함수를 설정하는 단계와, 사용자의 얼굴 이미지로부터 추출된 특징점을 이용하여 얼굴 기본 모델의 특징 파라메터를 사용자의 얼굴에 대응되도록 변형하는 단계와, 상기 특징 파라메터의 변형에 따라 그룹 함수를 제어함으로써, 해당하는 그룹의 형태를 변형하는 단계와, 상기 특징 파라메터 또는 그룹 형태의 변형에 따라 사용자의 얼굴에 상응하는 3차원 얼굴 모델을 생성하는 단계와, 상기 사용자의 3차원 얼굴 모델에 상기 매핑 소스를 결합하여 3차원 아바타 얼굴을 생성하는 단계를 포함할 수 있다.
또한, 본 발명의 3차원 아바타 자판기는 사용자로부터 아바타 제작을 위한 명령을 입력받는 명령어 입력부와, 사용자의 얼굴 이미지를 촬영하기 위한 이미지 촬영부와, 상기 이미지 촬영부로부터 촬영된 한 장의 사용자 얼굴 이미지를 이용하여 3차원 아바타를 생성하는 아바타 생성부와, 상기 명령어 입력부를 통하여 입력된 사용자의 요청에 따라, 상기 아바타 생성부를 통하여 제작된 사용자의 3차원 아바타를 수정하는 아바타 변형부와, 상기 아바타 생성부 또는 아바타 변형부를 통하여 제작된 사용자의 3차원 아바타를 사용자가 인식할 수 있도록 외부로 표시하는 표시부와, 상기 명령어 입력부를 통하여 입력된 사용자의 요청에 따라, 사용자가 소지할 수 있도록 기록 매체에 사용자의 3차원 아바타를 기록하는 데이터 기록부를 포함할 수 있다.
상기 명령어 입력부는 키보드, 마우스 또는 터치 스크린으로 이루어질 수 있다.
상기 이미지 촬영부는 블루 스크린을 배경 화면으로 할 수 있다.
상기 아바타 생성부는 상기 이미지 촬영부에서 촬영된 사용자의 얼굴 이미지로부터 아바타 구성 요소의 특징점을 추출하는 특징점 추출부와, 상기 아바타 구성요소의 특징점을 이용하여 사용자의 얼굴 이미지로부터 아바타 제작을 위한 매핑 소스를 생성하는 매핑 소스 생성부와, 상기 아바타 구성 요소의 특징점을 이용하여 미리 저장된 얼굴 기본 모델을 사용자의 얼굴 이미지에 상응하는 사용자의 3차원 얼굴 모델로 변형하는 3차원 얼굴 모델 생성부와, 상기 사용자의 3차원 얼굴 모델에 매핑 소스를 결합하여 3차원 아바타 얼굴을 생성하는 매핑 소스 결합부를 포함할 수 있다.
상기 특징점 추출부는 이미지 촬영부에서 촬영된 사용자의 얼굴 이미지로부터 블루 스크린 영역을 제거하는 블루 스크린 영역 제거부와, 상기 사용자의 얼굴 이미지가 컬러 이미지인 경우에, 흑백 이미지로 변환하는 흑백 이미지 변환부와, 상기 흑백의 사용자 얼굴 이미지로부터 노이즈를 제거하는 노이즈 제거부와, 노이즈가 제거된 흑백의 사용자 얼굴 이미지를 이진 데이터로 변환하는 이진 데이터 변환부와, 이진 데이터로 변환된 사용자의 얼굴 이미지에서 아바타 구성 요소에 대한 특징 선의 세그먼트 작업을 수행하는 세그먼트 처리부와, 세그먼트 처리된 아바타 구성 요소에 있어서, 고립 영역에 대한 레이블을 지정하는 레이블 설정부와, 레이블이 지정된 고립 영역에 대하여 크기를 검증하는 검증부와, 상기 크기 검증 결과에 따라 고립 영역으로부터 아바타 구성 요소를 추출하는 구성 요소 추출부를 포함할 수 있다.
상기 매핑 소스 생성부는 이미지 촬영부에서 촬영된 사용자 얼굴 이미지로부터 평균 피부색을 계산하는 피부색 계산부와, 사용자의 얼굴 이미지 중에서 피부 부분을 평균 피부색으로 채색하는 피부색 처리부와, 평균 피부색으로 처리된 사용자의 얼굴 이미지를 사용자의 실제 얼굴과 유사하도록 이미지 처리를 하는 이미지 처리부와, 노이즈 처리가 된 사용자의 얼굴 이미지로부터 얼굴 틀을 추출하는 얼굴 틀 추출부와, 상기 얼굴 틀의 경계 부분에 대하여 그라데이션 처리를 하는 그라데이션 처리부를 포함할 수 있다.
상기 3차원 얼굴 모델 생성부는 얼굴 기본 모델로부터 사용자의 얼굴 이미지로부터 추출된 특징점과 대응되는 부분에 특징 파라메터를 설정하는 파라메터 설정부와, 상기 특징점과 대응되는 부분에 대하여 특징 파라메터와 연결되는 그룹의 그룹 함수를 설정하는 그룹 함수 설정부와, 사용자의 얼굴 이미지로부터 추출된 특징점을 이용하여 얼굴 기본 모델의 특징 파라메터를 사용자의 얼굴에 대응되도록 변형하는 파라메터 변형부와, 상기 특징 파라메터의 변형에 따라 그룹 함수를 제어함으로써, 해당하는 그룹의 형태를 변형하는 그룹 변형부를 포함할 수 있다.
상기 아바타 생성부는 사용자의 요청에 따라, 3차원 아바타 얼굴에 추가적인 아바타 구성 요소를 결합하여 3차원 전신 아바타를 생성하는 전신 아바타 생성부를 더 포함할 수 있다.
상기 3차원 아바타 자판기는 사용자의 요청에 따라 제작된 사용자의 3차원 아바타를 네트워크를 통하여 전송하는 데이터 전송부를 더 포함할 수 있다.
또한, 본 발명의 컴퓨터 기록 매체는 사용자 얼굴 이미지를 이용하여 3차원 아바타를 제작하기 위하여, 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지털 처리 장치에 의해 판독될 수 있는 기록 매체에 있어서, 상기 3차원 아바타를 제작하는 방법이, 사용자의 얼굴을 촬영한 한 장의 얼굴 이미지로부터 아바타 구성 요소의 특징점을 추출하는 단계와, 상기 아바타 구성 요소의 특징점을 이용하여 사용자의 얼굴 이미지로부터 아바타 제작을 위한 매핑 소스를 생성하는 단계와, 상기 아바타 구성 요소의 특징점을 이용하여 미리 저장된 얼굴 기본 모델을 사용자의 얼굴 이미지에 상응하는 사용자의 3차원 얼굴 모델로 변형하는 단계와, 상기 사용자의 3차원 얼굴 모델에 매핑 소스를 결합하여 3차원 아바타 얼굴을 생성하는 단계를 포함할 수 있다.
이하, 첨부한 도면에 의하여 본 발명의 바람직한 실시 예를 자세히 설명하도록 한다.
도 1은 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법의 전체적인 흐름도를 나타낸 것이다.
도 1을 참조하여, 본 발명의 3차원 아바타 제작 방법을 살펴보면 다음과 같다. 먼저, 사용자는 아바타를 제작하기 위하여 특징점을 추출할 수 있도록 얼굴 사진을 촬영하여야 한다(s10). 본 발명에서는 사용자의 얼굴 이미지를 나타내는 하나의 사진을 이용하여 아바타를 생성하기 때문에, 사용자의 얼굴 모습이 모두 나타내는 정면 사진을 이용하는 것이 바람직하다. 이 때, 단순하거나 복잡한 배경 속에서 촬영한 얼굴 사진으로부터도 특징점을 추출할 수는 있으나, 인식률이 떨어지기 때문에 블루 스크린(Blue screen)을 이용하여 사용자의 얼굴 사진을 촬영하는 것이 바람직하다. 사용자의 얼굴 사진을 촬영하면, 촬영된 얼굴 사진으로부터 아바타 생성을 위하여, 얼굴의 특징점을 추출한다(s12). 본 발명에서는 여러 가지 얼굴의 특징점 중에서 얼굴의 외곽선, 눈의 크기 및 위치, 코의 크기 및 위치, 입의 크기 및 위치를 특징점으로서 추출하고 이를 이용하여 3차원 아바타를 생성할 수 있다. 한편, 사용자의 얼굴 사진으로부터 추출된 눈, 코, 입 및 얼굴 외곽선의 특징점이 사용자의 얼굴 사진이 일치하지 않는 경우에 사용자로 하여금 이를 수정할 수 있도록 하는 것이 바람직하다(s14). 사용자의 얼굴 사진으로부터 눈, 코, 입 및 얼굴 외곽선의 특징점이 추출되면, 이를 이용하여 3차원 아바타 제작을 위한 매핑 소스를 생성한다(s16). 매핑 소스는 미리 설정된 3차원 기본 모델에 사용자의 얼굴 사진으로부터 추출된 특징점에 대한 좌표 데이터를 입히기 위한 것이다(s18). 이와 같이, 매핑 소스가 3차원 기본 모델에 입혀져서 사용자의 3차원 얼굴 아바타가 생성되면, 사용자는 여기에 머리 스타일이나 몸체, 다양한 형태의 몸 동작을 적용하여 전체 아바타를 제작할 수 있다(s20).
도 2는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 사용자의 얼굴 사진으로부터 특징점을 추출하는 과정의 상세한 흐름도를 나타낸 것이다.
도 2를 참조하면, 사용자의 얼굴 사진으로부터 특징점을 추출하기 위하여 블루 스크린을 배경으로 사용자의 정면 얼굴 사진을 촬영한다(s30). 한편, 블루 스크린을 사용하기 위해서는 컬러 이미지 프로세싱(Color Image Processing)을 해야 한다. 이 때, 일반적으로 컬러 공간은 RGB 좌표계를 사용하지만, RGB 좌표계는 색상 성분과 밝기 성분이 함께 혼용되어 있기 때문에, 이미지 프로세싱에서 밝기 변화에의한 오류가 나타날 수 있다. 이와 같이, 밝기 변화에 의한 오류가 발생하는 경우에, 이러한 문제를 해결하기 위하여 많은 시간과 노력이 소요되는 것이 사실이다. 따라서, 사용자의 얼굴 이미지로부터 밝기 성분을 분리하기 위하여 HSI(Hue, Saturation, Intensity), YIQ 또는 YUV 컬러 공간을 사용할 수 있다. YUV 좌표는 밝기(Luminance)를 나타내는 Y 성분과, 색상(Chrominance)을 나타내는 U 및 V 성분으로 구분하며, YIQ 좌표는 NTSC(National Television Systems Committee) 방식의 신호로 사용하기 위해서 사용한다. 본 발명에서는 사람의 시각과 유사한 HSI 컬러 공간을 사용하였다.
도 3은 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, RGB 값을 HSI 값으로 변환하는 방법을 수식으로 나타낸 것이다.
블루 스크린을 배경으로 사용자의 얼굴 사진이 촬영되면, 얼굴 이미지로부터 배경에 해당하는 블루 스크린 영역을 제거한다(s32). 사용자로 하여금 지정된 위치에서 사진을 촬영하여 사진의 최외곽에 사용자의 얼굴이 위치하지 않도록 하면, 사용자의 얼굴 사진으로부터 블루 스크린 영역을 보다 쉽게 제거할 수 있다. 예컨대, 사용자의 얼굴 사진을 640 * 480 픽셀로 촬영하도록 하고, 사진의 중앙에 사용자의 얼굴이 위치하도록 한다면, 사진의 최외곽에 해당하는 X축 방향으로 630 내지 635 픽셀의 영역은 블루 스크린의 영역에 해당할 것이다. 따라서, 사용자 얼굴 사진의 최외곽 5 픽셀 거리에 위치하는 영역의 컬러에 대한 H, S, I의 평균을 구한다. 그런 다음, H, S, I의 평균값과 각 픽셀 값의 에러 비율(Error rate)을 하기의 (수학식 1)과 같이 계산한다.
여기에서, Er은 에러 비율을 나타내고, Ohsi는 원래의 HSI 값, Mhsi는 평균 HSI 값을 나타낸다. 이 때, 단순히 평균적인 HSI 값과, 각 픽셀의 HSI 값의 차이를 계산하기보다는 비율을 이용해서 블루 스크린 영역을 판단하는 것이 보다 효과적이다.
이와 같이, H, S, I에 대하여 각각 계산된 에러 비율이 하기의 (수학식 2)의 조건을 만족할 때, 해당하는 영역을 블루 스크린으로 판단하고 이를 사용자의 얼굴 이미지로부터 제거한다.
| Her - 100 | < Mh
| Ser - 100 | < Ms
| Ier - 100 | < Mi
여기에서, Her, Ser 및 Ier은 각각 H 에러 비율, S 에러 비율 및 I 에러 비율을 나타낸다. 그리고, Mh, Ms 및 Mi는 각각 최대 H 에러 비율, 최대 S 에러 비율 및 최대 I 에러 비율을 나타낸다. 최대 에러 비율(Mh, Ms, Mi)은 블루 스크린 영역을 판단하기 위하여 미리 정해지는 값으로, Mh는 10내지 30, Ms 및 Mi는 50 내지 70 사이의 값으로 정하는 것이 바람직하다.
도 4는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 에러 비율에 따라 사용자의 얼굴 이미지로부터 블루 스크린 영역을 제거한 경우의 화면 예시도를 나타낸 것이다. 도 4와 같이, 사용자의 이미지로부터 블루 스크린에 해당하는 영역이 제거되면, 블루 스크린에 해당하는 영역이 검은 색으로 바뀔 것이다.
일반적으로, 사용자의 얼굴 사진은 컬러 이미지로 이루어진다. 그러나, 컬러 이미지는 얼굴의 특징점을 추출하는 경우에 인식률이 좋지 않기 때문에, 사용자의 얼굴 이미지를 흑백 이미지로 변환하는 것이 바람직하다(s34). 이를 위하여, 사용자의 얼굴 이미지를 구성하는 HSI 값 중에서 H와 S의 값을 제거하고, I 값만을 사용한다. 그러나, 사용자의 얼굴을 흑백 사진으로 촬영하거나, 흑백 이미지 데이터가 입력되는 경우에는 이와 같은 흑백 이미지 변환 과정이 필요 없을 것이다.
일반적으로, 이미지 데이터에는 노이즈가 포함되어 있다. 특히, 화면의 이미지 상에서는 노이즈가 포함된 위치 및 노이즈의 크기가 뷸규칙적인 랜덤 노이즈(Random Noise)의 경우가 많다. 따라서, 흑백화된 사용자의 얼굴 이미지로부터 노이즈를 제거하는 과정이 필요하다(s36). 본 발명에서는 가우스 마스크를 이용한 평탄화 작업과 콘트라스트를 조절하는 과정을 통하여 노이즈를 제거한다. 사용자의 얼굴 이미지로부터 추출되는 특징점(눈, 코, 입 및 얼굴 외곽선)은 얼굴에서 주위 피부와 명암에 큰 차이가 있으며, 해당하는 영역이 사용자의 얼굴 부분에서 비교적 큰 영역을 차지하기 때문에, 전체적으로 평탄화 작업을 함으로써 작은 노이즈를 제거하고, 콘트라스트 조정을 통하여 각 특징점들을 강조할 수 있다.
도 5는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 사용자의 얼굴 이미지로부터 노이즈를 제거하기 위한 가우스 마스크를 나타낸 도면이다.
도 5를 참조하면, 가우스 마스크는 가중치(weight)를 가지고 있는 선형 평탄화 마스크(Linear smoothing mask)의 일종으로서, 분산되어 있는 노이즈를 제거하는데 용이한 필터 역할을 한다. 즉, 사용자의 이미지 중에서 각 픽셀에 대하여 서로 다른 가중치를 곱하고, 가중치 전체의 합을 나누는 처리를 수행함으로써, 흑백화된 사용자의 얼굴 이미지를 부드럽게 처리한다. 일반적으로 마스크의 크기와 이미지 데이터 처리 시간은 반비례한다. 특히, 3*3 크기의 마스크를 사용하는 경우에는 비교적 큰 노이즈를 제거하기 어려우며, 7*7 크기의 마스크는 이미지 데이터 처리 시간이 너무 크기 때문에, 본 발명에서는 5*5 크기의 마스크를 사용하였다.
이와 같이, 가우스 마스크를 사용하여 사용자의 얼굴 이미지를 부드럽게 처리한 결과를 도 6에 도시하였다.
화면의 밝은 부분과 어두운 부분의 밝기 비율을 콘트라스트라고 한다. 콘트라스트가 높은 이미지는 피사체의 윤곽이 선명하기 때문에 이미지를 인식하기가 용이하고, 콘트라스트가 낮은 이미지는 윤곽이 선명하지 않기 때문에, 이를 알아보기가 어렵다. 따라서, 콘트라스트가 낮은 이미지에 대하여, 밝은 부분은 더욱 밝게 처리하고, 어두운 부분을 더욱 어둡게 처리함으로써, 콘트라스트를 높이고 인식하기 쉬운 이미지로 변환할 수 있다.
일반적으로 콘트라스트는 하기의 (수학식 3)가 같이 표현된다.
G(x, y) = nf(x, y)
콘트라스트는 원래 화상의 위치 (x, y)에 대하여, 각 픽셀의 농도 f(x, y)를 n 배함으로써, 각 픽셀의 위치 (x, y)에 대한 콘트라스트 G(x, y)로 사용한다. 이미지 데이터는 1 픽셀을 8비트로 처리하기 때문에, 표현 가능한 콘트라스트의 범위는 0에서 255까지이다. 따라서, 콘트라스트 계산 결과가 255를 넘는 경우에는 계산 결과에 관계없이 255로 제한할 필요가 있다. 즉, 콘트라스트가 255를 넘는 경우에는 모두 흰색으로 처리되기 때문에, 이미지의 열화(Degradation)가 발생한다. 따라서, 본 발명에서는 하기의 (수학식 4)와 같이 콘트라스트를 계산하였다.
G(x, y) = f(x, y) + ( f(x, y) - 128 ) * Cv / 128
여기에서, Cv는 하나의 변수로서 실험적으로 정해질 수 있으며, 50 내지 150 사이의 값으로 지정하는 것이 바람직하다. (수학식 4)와 같이, 각 픽셀의 농도 f(x, y)에서 128의 값을 차감하여 변수 Cv/128에 곱하고, 이 값을 원래의 농도에 가산한다. 이에 따라, 원래 농도가 128을 넘을 경우에 가중치를 양의 값(+)으로 하고, 128을 넘지 않을 경우에 가중치를 음의 값(-)으로 한다.
이러한, 콘트라스트 조절 과정을 통하여 사용자의 얼굴 이미지 윤곽을 강조한 결과를 도 7에 도시하였다.
가우스 평탄화 작업 및 콘트라스트 조절에 의하여 노이즈를 제거한 후에는 사용자의 얼굴 이미지를 유동적인 블록을 이용하여 회색이 없는 흰색과 검정색으로 이루어진 이진 데이터로 변환한다(s38). 이 때, 화질이 좋은 이미지의 경우에는 하나의 임계값을 사용하여 이진 데이터로의 변환이 가능하지만, 이미지 데이터에 손상된 부분이 있거나 명암의 분포가 불규칙적인 경우에는 하나의 임계값으로 최적의 이진 데이터로 변환할 수 없다. 즉, 전체 이미지에 대하여 하나의 임계값을 사용하는 기본적인 이진화 기법은 그늘진 턱 밑과 같은 부분의 명암 값이 전체 이미지의 명암 값과 차이가 많기 때문에, 올바른 이진 데이터를 얻을 수 없다. 따라서, 부분적인 명암 차이가 큰 이미지의 경우에는 각 부분마다 서로 다른 임계값을 설정할필요가 있다. 이를 위하여, 본 발명은 사용자의 얼굴 이미지 중에서 일정한 크기의 블록을 설정하고, 각 블록의 명암 값을 고려하여 블록마다 임계값을 다르게 설정한다.
도 8은 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 블록마다 서로 다른 임계값을 이용하여 이미지를 이진 데이터로 변환하는 과정의 흐름도를 나타낸 것이다.
도 9를 참조하면, 이미지를 이진 데이터로 변환하기 위하여 먼저, 사용자의 얼굴 이미지를 일정한 크기를 가지는 블록으로 분할한다(s50). 그런 다음, 복수의 분할된 블록 중에서 임의의 블록에 대하여 평균 명도 값을 계산한다(s52). 이와 같이, 하나의 블록에 대하여 계산된 평균 명도 값을 임계값으로 설정하여(s54), 해당하는 블록의 이진화 과정을 진행한다(s56). 선택된 블록에 대한 평균 명도 값을 임계값으로 하는 이진화 과정을 나머지 블록에 대해서 동일하게 진행함으로써, 전체 이미지에 대하여 블록에 따라 서로 다른 임계값을 이용한 이진화 과정을 수행한다(s58). 이 때, 각 블록에 대한 평균 명도 값을 그대로 임계값으로 사용할 수도 있고, 평균 명도 값에 소정의 값을 합산한 값 또는 평균 명도 값의 일정한 배수를 임계값으로 사용할 수도 있다.
도 9는 각 블록마다 서로 다른 임계값을 사용하여 얼굴 이미지를 이진 데이터로 변환한 경우의 화면 예시도를 나타낸 것이다.
한편, 3차원 아바타를 제작하기 위하여 얼굴 이미지로부터 특징점을 추출하는 과정은 세부 영역(눈, 코, 입 등)을 하나의 덩어리로 인지하여 처리하기 때문에, 이미지 상에서 라인이 1 픽셀 정도만 떨어져 있어도 서로 다른 부분으로 처리할 수 있다. 이를 해결하기 위하여, 동일한 부분에 해당하는 라인을 서로 연결하는 라인 세그먼트(Line Segment) 과정이 필요하다(s40). 이를 위하여, 수평적으로 서로 떨어진 라인 A 및 B를 하기의 (수학식 5)와 같이 처리한다.
If GAB > Sv A 라인 및 B 라인을 연결
If GAB ≤ Sv A 라인 및 B 라인을 연결하지 않는다.
여기에서, GAB는 A 라인과 B 라인 사이의 갭(gap)을 나타내고, Sv는 세그먼트 기준 값을 나타낸다. 이러한 세그먼트 기준 값은 이미지 데이터의 해상도 또는 이미지의 화질 등에 따라 달라질 수 있으며, 특징점들에 대한 실험적인 데이터로부터 추출될 수 있다. 한편, 640 * 480 픽셀의 해상도를 가지는 이미지 데이터에서, 눈, 코 또는 입과 같은 주요 특징점에 대한 실험적인 최대 거리는 5 픽셀을 넘지 않는다. 따라서, 라인 세그먼트 과정에서 세그먼트 기준 값은 이미지의 해상도에 따라 1 내지 10 사이의 값을 가지는 것이 바람직하다.
도 10은 세그먼트 기준 값을 5로 두고 라인 세그먼트 과정을 진행한 경우의 화면 예시도이다. 사용자의 얼굴 이미지 중에서, 눈, 코, 입 및 얼굴 외곽선에 해당하는 특징점이 명확하게 구분되는 것을 볼 수 있다.
한편, 사용자의 얼굴 이미지에서 눈, 코 또는 입과 같은 특징 요소의 크기는 전체 면적에서 일정 비율의 크기를 차지하고 있다. 이러한 기준에 따라 사용자의 얼굴 이미지 상에서 서로 떨어져 있는 영역들에 레이블(Label)을 붙이고, 각 레이블의 크기를 검증한다(s42). 이를 위하여, 각 레이블의 최대 높이, 최소 높이, 최대 길이, 최소 길이 및 최대 넓이와 최소 넓이를 지정할 필요가 있다. 이 때, 640 * 480 픽셀의 크기를 가지는 이미지에 대한 실험적인 데이터로서 사용자의 얼굴이 가장 크게 촬영된 경우와 가장 작게 촬영된 경우를 감안하여 이를 평균적으로 수치화 하는 경우에, 레이블의 최대 길이를 20 픽셀, 레이블의 최소 높이를 5 픽셀, 최대 높이를 100 픽셀, 레이블의 최소 넓이와 최대 넓이를 각각 50 픽셀과 800 픽셀로 설정하는 것이 바람직하다.
도 11은 상기와 같은 조건으로 사용자의 얼굴 이미지로부터 큰 영역을 제거한 경우의 화면 예시도를 나타낸 것이다. 도 12를 참조하면, 눈, 코 및 입의 영역이 매우 분명하게 추출된 것을 볼 수 있다.
고립 영역에 대한 레이블링 및 크기 검증 과정을 통하여 사용자의 얼굴 이미지로부터 특정 영역이 추출되면, 각 영역에 대한 기하학적인 위치 특성을 이용하여 눈, 코, 입 및 얼굴 외곽선을 추출한다(s44). 눈, 코, 입 및 얼굴 외곽선을 추출하기 위해서, 먼저 좌우로 대칭을 이루고 있는 눈을 찾고, 그 아래에 있는 코 및 입을 찾는 것이 효과적이다.
먼저, 사용자의 얼굴을 정면에서 촬영하는 경우에 눈은 항상 짝을 이루게 된다. 이를 이용하여 사용자의 얼굴 이미지 중에서 하나의 레이블을 선택하고, 수평으로 크기의 변화가 크게 다르지 않는 쌍이 있는지를 체크하여 있을 경우에 이를 눈의 후보 영역으로 채택한다. 이런 경우에, 눈썹과 눈의 구별이 이루어지지 않기 때문에, 쌍이 되는 영역 중에서 가장 최상의 부분을 눈썹으로 지정하고, 그 아래에 있는 쌍을 눈으로 지정할 수 있다. 사용자의 얼굴 이미지 중에서 하나의 쌍만이 존재하는 경우에는 이를 눈으로 지정하면 될 것이다. 이와 같은 방법으로 얼굴 이미지 중에서 눈의 영역이 검출되면, 양쪽 눈의 중앙 그리고 그 아랫부분에 위치하는 영역을 코로 지정하고, 코의 아랫부분에 나타나는 영역을 입으로 지정할 수 있다. 상기에서 자세히 설명한 바와 같이, 얼굴 이미지를 순차적으로 흑백 이미지로 변환하고, 노이즈를 제거하며, 이진 데이터로 변환하고, 라인 세그먼트 처리를 거쳐서, 고립 영역에 대한 레이블링 및 크기 검증 과정을 수행하는 경우에 눈과 코, 그리고 입 사이에 다른 특징적인 영역이 나타나는 경우는 거의 없게 되어, 보다 정확한 눈, 코 및 입의 검출이 가능하다.
도 12는 이러한 방법을 통하여 사용자의 얼굴 이미지로부터 눈, 코 및 입의 영역이 검출된 경우의 화면 예시도를 나타낸 것이다.
그리고, 사용자의 얼굴 이미지 중에서 얼굴 외곽선은 턱 선과 같이 얼굴의 외곽이 급격하게 변화되는 부분의 정보를 이용하여 추출할 수 있다.
도 13은 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 사용자의 얼굴 이미지로부터 얼굴 외곽선을 추출하는 경우의 화면 예시도를 나타낸 것이다.
도 13을 참조하여 얼굴 외곽선을 추출하는 경우를 살펴보면, 다음과 같다. 먼저, 얼굴 이미지로부터 검출된 눈의 위치에서 수평 방향으로 일직선(1)을 그어 얼굴 영역의 끝점과 만나는 점(a)을 찾는다. 이와 같이, 눈과 평행한 일직선(1)과 얼굴 영역의 끝점이 만나는 두 점(a) 사이의 길이를 얼굴의 좌우 길이로 설정한다. 그런 다음, 얼굴 이미지로부터 검출된 입의 위치에서 수평 방향으로 일직선(2)을 그어 얼굴 영역의 끝점이 만나는 점(b)을 찾고, 입술의 중앙에서 수직으로 직선(3)을 그어 명암이 가장 높은 부분(c)을 턱 선으로 판단하면 얼굴 외곽선을 쉽게 찾을 수 있다. 여기에서, 사용자의 얼굴 이미지는 블루 스크린을 이용한 전처리 과정에서 얼굴 영역만이 추출되어 있는 상태이기 때문에, 눈의 수평 직선으로부터 검출된 끝점(a)과 입의 수평 직선으로부터 검출된 끝점(b)을 추출하는 것은 용이하다. 그러나, 턱과 목의 구분이 잘 안되기 때문에, 입술의 중앙에서 아래로 턱 선을 추출하는 것은 쉽지 않다. 따라서, 다음과 같은 처리 과정을 통하여 턱 선을 추출할 수 있다.
먼저, 사용자의 얼굴 이미지로부터 추출된 입 영역의 중점을 기준으로 일정한 길이, 예컨대 10 픽셀의 길이를 가로축으로 하고, 이로부터 얼굴 영역이 끝나는 점까지의 세로 길이를 세로축으로 하는 직사각형 후보 영역을 정한다. 직사각형의 후보 영역의 위에서부터 아래 방향으로 가로 길이의 각 픽셀에 대한 명암의 합을구한다. 이 때, 가로 길이에 대한 명암의 합이 이전 가로 길이에 대한 명암의 합보다 2배 이상 커지는 영역이 검출되고, 이러한 가로 길이가 연속적으로 일정 구간, 예컨대 5 픽셀 이상 계속될 때 이를 턱 선으로 간주한다. 즉, 입 영역으로부터 아래 방향으로 일정 구간의 길이에 대하여 명암이 급격하게 변화하는 부분을 찾아서 이를 턱 선으로 판단하는 것이다. 또한, 머리 윗 부분은 블루 스크린을 이용하여 검정으로 처리하였으며, 머리 끝 부분은 이마와 머리카락이 만나는 부분으로 지정된다. 따라서, 눈 영역을 기준으로 일정 길이의 가로축을 지정하고, 이로부터 위쪽 방향으로 가로축에 대한 명암의 합을 계산하여 명암의 합이 이전의 값보다 예컨대, 3배 이상 커지는 영역이 일정 구간동안 계속될 때 이를 머리 위쪽 끝 부분으로 판단한다. 이와 같은 방법으로, 사용자의 얼굴 이미지로부터 머리 부분에 해당하는 사각형의 얼굴 외곽선을 추출할 수 있으며, 이를 도 14에서 확인할 수 있다.
이와 같은 과정을 통하여 사용자의 얼굴 이미지로부터 눈, 코, 입 및 얼굴 외곽선에 대한 좌표를 추출한다. 그리고, 얼굴 이미지로부터 특징점을 추출하지 못한 경우를 위하여, 눈, 코, 입 및 얼굴 외곽선에 대한 기본 값을 지정하고 특징점이 추출되지 못한 경우에 기본 값을 특징점으로 사용할 수 있다. 이 때, 추출된 눈, 코, 입 및 얼굴 외곽선 영역을 사용자의 얼굴 이미지 상에 표시함으로써, 사용자가 틀린 부분을 수정할 수 있도록 하는 것이 바람직하다.
사용자의 얼굴 이미지로부터 눈, 코, 입 및 얼굴 외곽선에 대한 특징점이 추출되면, 이를 이용하여 3차원 얼굴 모델에 매핑시킬 매핑 소스(Mapping Source)를 생성한다(s16).
일반적으로, 3차원 얼굴 모델에 매핑시키기 위하여, 사용자의 얼굴 이미지로부터 매핑 소스를 생성하는 과정은 포토 샵(Photo Shop)과 같은 그래픽 어플리케이션을 이용하여 사용자가 수작업을 거쳐야 하는 과정이다. 그러나, 본 발명에서는 사용자의 얼굴 이미지로부터 추출된 특징점을 이용하여 자동으로 매핑 소스를 생성하고, 이를 3차원 얼굴 모델에 매핑시킬 수 있도록 한다.
도 14는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 사용자 얼굴의 매핑 소스를 생성하는 방법의 흐름도를 나타낸 것이다.
도 14를 참조하면, 3차원 얼굴 모델에 매핑시킬 매핑 소스를 생성하기 위하여, 사용자의 얼굴 이미지로부터 추출된 특징점을 이용하여 사용자의 얼굴색으로부터 평균 피부색을 계산한다(s60). 평균 피부색은 사용자의 얼굴 이미지 중에서 양쪽 볼 부위에 있는 피부색을 이용하는 것이 바람직하다. 이 때, 사용자의 피부색을 추출하기 위하여 흑백으로 처리되지 않은 원래의 사용자 얼굴 이미지를 이용하여야 할 것이다.
도 15는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 평균 피부색을 구하는 과정의 화면 예시도이다.
도 15를 참조하면, 볼 부분의 영역에서 평균 피부색을 추출하기 위하여 일정한 면적을 가지는 사각형(d)을 설정한다. 따라서, 사각형(d)의 꼭지점을 이루는 4개의 점을 지정할 필요가 있다. 사각형(d)을 설정하기 위하여, 오른쪽 눈의 오른쪽끝점인 a 점, a 점의 x 좌표에 눈 길이의 1/2를 더한 점(오른쪽 눈의 중심), 코의 왼쪽 아랫부분에 위치한 점(b)과 입의 왼쪽 위의 점(c)을 각각 지정한다. 그런 다음, a 점의 x 좌표와 오른쪽 눈의 중심의 x 좌표, b 점의 y 좌표 및 c 점의 y 좌표를 이용하여 사각형(d)을 형성하고, 사각형(d) 내부의 각 픽셀에 대한 R, G, B의 평균값을 이용하여 피부색을 추출한다. 동일한 방법으로 왼쪽 볼 부분에도 사각형을 설정하고 내부의 피부색을 추출한다. 이렇게 추출된 오른쪽 볼 부분의 피부색과 왼쪽 볼 부분의 피부색의 평균을 평균 피부색으로 선정한다.
사용자의 얼굴 이미지로부터 평균 피부색이 결정되면, 사용자의 얼굴 이미지를 평균 피부색으로 처리하여, 사용자의 평균 피부색으로 칠해진 얼굴 이미지를 얻는다(s62). 이 때, 사용자의 얼굴 이미지를 보다 실제 얼굴색에 가깝도록 하기 위하여 노이즈 처리를 하고, 가우스 얼룩(Gaussian blur)처리를 하여 얼굴 이미지에 약간의 얼룩진 색상을 추가한다(s64). 그에 따라, 사용자의 실제 얼굴색에 가까운 얼굴 이미지를 얻을 수 있다. 사용자의 얼굴 이미지에 대한 색상 처리가 이루어지면, 사용자의 얼굴 이미지로부터 매핑 소스를 생성하기 위한 타원 형태의 얼굴 틀을 추출한다(s66).
도 16은 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 사용자의 얼굴 이미지로부터 얼굴 틀을 추출하는 과정의 화면 예시도를 나타낸 것이다.
도 16을 참조하면, 사용자의 얼굴 이미지로부터 타원 형태의 얼굴 틀을 추출하기 위해서, 장축이 되는 점(A, B)과 단축이 되는 점(C, D)을 각각 선택한다. 이를 위해서, 먼저, 눈과 코의 중앙 지점의 y 좌표와 두 눈의 중앙 지점의 x 좌표로 구성된 중점(G)을 선택한다. 이로부터, 오른쪽 눈의 오른쪽 점의 x 좌표와 중점(G)의 y 좌표로 이루어진 C 점을 선택하고, 왼쪽 눈의 왼쪽 점의 x 좌표와 중점(G)의 y 좌표로 이루어진 D 점을 선택한다. 이렇게 구해진 C 점과 D 점을 타원의 단축으로 설정한다. 그런 다음, 턱선의 y 좌표와 중점(G)의 x 좌표로 구성된 B 점을 선택하고, 중점(G)에서 B 점까지의 거리만큼 중점(G)으로부터 반대방향으로 떨어진 A 점을 선택하여, A 점과 B 점을 타원의 장축으로 설정한다.
결국, A 점과 B 점을 장축으로 하고, C 점과 D 점을 단축으로 하는 타원을 그려서, 사용자의 얼굴 이미지로부터 이를 오려내어 타원형의 얼굴 틀을 추출한다. 도 17은 이러한 방법으로 사용자의 얼굴 이미지로부터 추출된 타원형의 얼굴 틀을 나타낸 것이다.
사용자의 얼굴 이미지로부터 타원 형태의 얼굴 틀이 추출되면, 3차원 모델과 결합될 때 3차원 모델과의 경계 부분을 자연스럽게 나타내기 위하여, 얼굴 틀의 경계 부분을 그라데이션 처리를 한다(s68). 그라데이션 처리는 각 경계 부분에서부터 중점(G)까지의 거리만큼 타원이 확장되어 가는 방향으로 상호 보간하여 생성한다. 이 때, 눈썹과 눈과 같이 피부색으로 이루어지지 않는 부분은 검은 색이 번질 가능성이 있기 때문에, 변화 색깔이 얼굴 색과 40% 이상의 차이를 보이는 경우에는 위 또는 아래 부분의 피부색으로 그라데이션 처리를 하는 것이 바람직하다. 즉, 눈썹의 경우에는 피부색과 차이가 크기 때문에 눈썹 아래 부분의 피부색으로 그라데이션 처리를 한다. 이와 같이, 타원 형태의 얼굴 틀에서 경계 부분을 그라데이션 처리하면 도 18과 같은 이미지를 얻을 수 있으며, 이는 3차원 모델에 결합될 매핑 소스가 된다.
한편, 매핑 소스를 결합할 3차원의 얼굴 모델을 형성하기 위하여, 사용자의 이미지로부터 추출된 특징점(눈, 코, 입 및 얼굴 외곽선)을 이용하여 얼굴 기본 모델을 사용자의 얼굴 형태에 맞도록 변형한다(s18).
도 19는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 사용자의 3차원 얼굴 모델을 생성하는 방법의 상세한 흐름도를 나타낸 것이다.
도 19를 참조하면, 사용자의 3차원 얼굴 모델은 삼각형 메시로 이루어진 얼굴 기본 모델을 변형함으로써 생성한다. 얼굴 기본 모델은 정면 및 측면도로 구성될 수 있다.
도 20a와 도 20b, 도 21a와 도 21b는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 3차원 얼굴 모델을 생성하는데 사용되는 얼굴 기본 모델의 정면도와 공간 좌표, 측면도와 공간 좌표를 각각 나타낸 것이다.
도 20a와 도 20b, 도 21a와 도 21b를 참조하면, 얼굴 기본 모델은 수많은 꼭지점과 이들을 연결하는 삼각형 메시(Mesh)로 이루어져있다. 특히, 이러한 얼굴 기본 모델은 Metacreation 사의 Poser3에서 제공하는 boy 모델링 데이터를 3차원 모델링 소프트웨어인 FormZ를 사용하여 메시를 조절하고, 변형할 수 있다. 이 때, 얼굴 기본 모델을 구성하는 삼각형 메시는 고 밀도 또는 저 밀도로 구성될 수 있다. 즉, 고해상도의 정밀한 얼굴 모델을 생성하는 경우에는 보다 많은 수의 삼각형 메시로 이루어진 얼굴 모델을 사용하고, 고속의 데이터 처리를 위해서는 상대적으로 적은 수의 삼각형 메시로 이루어진 얼굴 모델을 사용할 수 있다.
이러한 얼굴 기본 모델로부터 사용자의 얼굴 이미지로부터 추출된 특징점에 대응되는 눈, 코, 입 및 얼굴 외곽선에 대한 파라메터 직선을 설정한다(s70). 본 발명에서 각 특징 요소(눈, 코, 입 및 얼굴 외곽선)에 대한 특징점은 눈의 상, 하, 좌, 우의 끝점, 코의 상, 하, 좌, 우의 끝점, 입의 상, 하, 좌, 우의 끝점 및 얼굴의 외곽에 해당한다. 그에 따라, 각 특징 요소를 조절할 수 있는 특징 파라메터를 설정하고, 특징 파라메터에 의해 각각의 성격에 맞는 함수를 사용하여 특징 그룹을 설정한다. 이렇게 함으로써, 얼굴 기본 모델의 종류 및 꼭지점과 삼각 메시에 대한 독립적인 모델링 작업이 가능하다. 특히, 본 발명에서는 특징 파라메터의 한쪽 끝을 뼈에 두고, 다른 한쪽 끝을 피부에 두는 모델을 사용하였다. 이러한 방식은 얼굴 기본 모델이 바뀌는 경우에도 파라메터 설정 값만 있으면, 동일하게 적용할 수 있는 장점이 있기 때문이다.
도 22는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 얼굴 기본 모델에 특징 파라메터가 설정된 경우의 화면 예시도를 나타낸 것이다.
도 22를 참조하면, 얼굴 기본 모델에서 특징 파라메터는 직선을 형태를 띄고 있으며, 인접한 꼭지점에 모두 붙어있게 하기 위하여 면 모양의 근육을 시뮬레이션(Simulation) 하였다. 특히, 눈과 입은 타원 방정식을 그룹 함수로 사용하였으며, 파라메터 직선을 중앙에 위치시켰다. 코는 코의 크기를 용이하게 결정하기 위하여, 대각 방향의 파라메터 직선을 두었으며, 이 때에는 직선 방정식을 그룹 함수로 사용하였다. 얼굴 외곽선은 복수의 파라메터 직선을 이용하여 얼굴의 외곽을 둘러싸도록 위치시켰으며, 그룹 함수는 직선 방정식을 사용하였다. 얼굴 외곽선에 사용되는 파라메터 직선은 정밀도를 높이기 위해서는 그 수를 증가시킬 수 있지만, 본 발명에서는 처리 속도를 감안하여 16개의 직선을 사용하였다. 이렇게 설정된 파라메터 직선은 면 모양의 근육 역할을 하며, 사용자의 얼굴 이미지로부터 추출된 특징점에 의하여 사용자의 3차원 얼굴 모델에 해당하도록 변형될 것이다.
얼굴 기본 모델의 특징 요소(눈, 코, 입 및 얼굴 외곽선)에 대한 파라메터 직선이 설정되면, 각 특징 요소에 대하여 파라메터 직선과 연결된 그룹을 설정한다(s72). 이 때, 설정되는 그룹은 사용자의 얼굴 이미지로부터 추출된 특징점에 의하여 이동, 축소 또는 확대와 같은 변형에 의하여 재구성되는 부분이다. 즉, 직선 또는 타원 방정식을 만족하는 꼭지점을 그룹으로 지정하고, 각 꼭지점을 변형함으로써 사용자의 얼굴 이미지와 유사한 얼굴 모델을 재구성한다.
도 23은 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 얼굴 기본 모델의 눈 및 입에 대한 그룹을 설정한 경우의 화면 예시도를 나타낸 것이다.
도 23을 참조하면, 눈과 입은 타원 방정식을 그룹 함수로 하여, 상, 하, 좌, 우의 끝점을 생성한다. 눈과 입의 상 끝점을 v1, 하 끝점을 v2, 좌 끝점을 h1, 우 끝점을 h2라고 하면, 타원 방정식의 장축 T1은 v1의 y 좌표와 v2의 y 좌표의 거리이며, 단축 T2는 h1의 x 좌표와 h2의 x 좌표 사이의 거리로 구해진다. 이를 이용한 타원 방정식을 하기의 (수학식 6)에 도시하였다.
이러한 방정식은 눈과 입의 중점을 원점으로 하는 타원 방정식이 된다. 그리고, 하기와 같은 (수학식 7)의 조건을 만족하는 x의 값을 입력으로 하여, 방정식을 만족하는 y 값의 꼭지점을 구하고, 이를 이용하여 얼굴 정면 부분에 대한 이동 및 크기 변형의 그룹으로 사용한다. 도 26에 도시된 그룹이 이와 같은 방법으로 구해진 그룹에 해당한다.
hx1 ≤ x ≤ hx2
여기에서, hx1은 h1의 x 좌표이고, hx2는 h2의 x 좌표이다.
코에 해당하는 부분은 얼굴 기본 모델에서 코를 반으로 분리하고, 반을 변형한 후에 나머지 반을 같은 방법으로 변형할 수 있다.
도 24는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 얼굴 기본 모델에서 코의 그룹을 설정하는 경우의 화면 예시도를 나타낸 것이다.
도 24를 참조하면, 코의 그룹은 코의 중앙을 기준으로 좌측 부분과 우측 부분의 두 부분으로 나눌 수 있다. 얼굴 기본 모델에서 v1은 코의 시작점을 나타내고, v2는 콧망울의 위치를 나타낸다. 또한, v3은 코의 중앙 끝점을 나타낸다. 따라서, v1과 v2를 잇는 파라메터 직선을 두고, v1, v2 및 v3을 잇는 삼각형의 영역을 절반에 해당하는 코의 그룹으로 설정한다. 일반적인 직선 방정식에 v1의 x 좌표 및 y 좌표, 그리고 v2의 x 좌표 및 y 좌표를 대입하여 코의 그룹 함수에 해당하는 직선의 방정식을 구하면 하기의 (수학식 8)과 같이 표현할 수 있다.
여기에서, vx1은 v1의 x 좌표를 나타내고, vy1은 v1의 y 좌표를 나타낸다. 또한, vx2는 v2의 x 좌표를 나타내고 vy2는 v2의 y 좌표를 나타낸다.
그리고, 하기의 (수학식 9)와 같은 조건을 만족하는 y 좌표를 입력으로 하여, (수학식 8)의 직선 방정식을 만족하는 x 값을 구하고, 이를 이용하여 얼굴 정면 부분의 이동 및 크기 변형 그룹으로 사용한다.
vy2 ≤ y ≤ vy1
여기에서, vy1은 v1의 y 좌표이고, vy2는 v2의 y 좌표이다.
이와 같은 방법으로 코의 중앙을 기준으로 좌측 부분과 우측 부분의 그룹을 설정할 수 있다. 이 때, 입력된 코의 위치에 따라 v1과 v2가 그리는 삼각형의 크기 및 위치가 이동되며, v1은 코의 중심점이기 때문에 상하로만 이동이 가능하고, v2는 상하 및 좌우로 이동이 가능할 것이다.
얼굴 외곽선은 얼굴의 외곽을 둘러싸는 복수의 파라메터 직선을 지정하고, 이로부터 각각 원점을 향한 수직으로 일정 길이의 기준 값만큼 떨어져있는 부위를 그룹으로 지정할 수 있다.
도 25는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 얼굴 기본 모델에서 얼굴 외곽선의 그룹을 설정하는 경우의 화면 예시도이다.
도 25를 참조하면, 얼굴 외곽선에 해당하는 파라메터 그룹은 코의 그룹을 설정하는 방법과 같은 방법으로 구할 수 있으며, 얼굴 외곽선 그룹을 지정함으로써, 사용자의 인상을 특징짓는 외곽선의 조작을 용이하게 할 수 있다. 본 발명에서는 16개의 직선을 사용하여 얼굴 외곽선의 그룹을 설정하였다.
이와 같이, 얼굴 기본 모델에서 눈, 코, 입 및 얼굴 외곽선에 대한 그룹이 설정되면, 사용자의 얼굴 이미지로부터 추출된 특징점을 이용하여 각 특징 요소에 대한 파라메터 직선을 변형한다(s74).
도 26은 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 사용자의 얼굴 이미지로부터 추출된 특징점에 따라 얼굴 기본 모델을 사용자의 얼굴에 해당하도록 변형하는 과정의 화면 예시도를 나타낸 것이다.
도 26을 참조하면, 얼굴 기본 모델에서 눈, 코, 입 및 얼굴 외곽에 위치하고 있는 파라메터 직선들을 이동시킴으로써, 이들 직선에 의하여 설정된 각 그룹들을 이동시키거나 확대 및 축소가 가능하고, 그에 따라 사용자의 얼굴 이미지에 부합하는 3차원 얼굴 모델을 형성할 수 있다. 이 때, 각 파라메터 직선의 이동은 일정한 조건에 따라 이동할 수 있다. 즉, 눈에 해당하는 파라메터 직선은 양 끝점이 모두 상하 및 좌우로 이동할 수 있지만, 코의 경우에는 콧망울에 있는 끝점만 상하 및 좌우로 이동이 가능하다. 또한, 얼굴 외곽선의 경우에 하나의 파라메터 직선이 이동하는 경우, 다른 파라메터 직선의 이동에 영향을 주게되는 관계성을 가지고 있다. 얼굴 기본 모델에서 파라메터 직선은 얼굴 모델의 눈, 코, 입 및 얼굴 외곽에 맞도록 위치되어져 있다. 이러한 파라메터 직선을 사용자의 얼굴 이미지로부터 추출된 각 특징점에 부합하도록 이동시킴으로써, 해당하는 영역들도 사용자의 얼굴 이미지와 유사하도록 변형되는 것이다. 예컨대, 사용자의 얼굴 이미지로부터 추출된 눈의 특징점이 한쪽 방향으로 치우쳐 있다면, 그에 따라 눈의 파라메터 직선에 해당하는 양 끝점이 추출된 눈의 양 끝점과 일치되도록 이동함으로써, 파라메터 직선과 연결된 그룹도 함께 이동하는 것이다.
파라메터 직선이 변형되면, 그에 따라 각 직선에 해당하는 그룹이 변형되고(s76), 얼굴 기본 모델이 변형되어 사용자의 3차원 얼굴 모델이 생성된다(s78). 즉, 사용자의 특징점에 따라 파라메터 직선이 이동되면, 해당하는 그룹 내에 속하는 꼭지점이 균등한 비율로 이동하게 된다. 예컨대, 눈이나 입에 해당하는 파라메터 직선이 2배만큼 확대되면, 각 꼭지점 사이의 길이 또한 2배만큼 넓어지게 된다. 한편, 코의 경우에 v1, v2 및 v3으로 이루어진 삼각형의 영역에서 v1 및 v2로 이루어진 파라메터 직선을 이동하면, v1 및 v3의 직선과 v1 및 v2 사이에 있는 영역 내의 꼭지점들도 균등한 비율로 이동된다. 결국, v1 및 v2로 이루어진 파라메터 직선이 이동된 것만큼 코 영역이 이동되며, 이러한 효과는 코의 위치뿐만 아니라 크기에도 미치게 된다. 마찬가지로, 얼굴의 외곽선에 대하여 파라메터 직선의 이동에 따라 직선들의 영역 안에 속하는 꼭지점들이 균등한 비율로 이동되고, 그에 따라 3차원 얼굴 모델의 외형이 파라메터 직선의 이동 변화만큼 변형되는 것이다. 이 때, 얼굴 외곽선의 경우에는 각 파라메터 직선의 양 끝점이 다음 파라메터 직선의 끝점과 동일하기 때문에, 이들 끝점의 관계성을 정확히 유지하여야 한다.
한편, 눈, 코, 입 외에 보다 정밀한 3차원 얼굴 모델을 생성하기 위하여 사용자의 얼굴 외곽선 크기에 맞게 얼굴 모델의 턱 부분을 변형할 수도 있다.
도 27은 이와 같이 사용자의 얼굴 이미지로부터 추출된 특징점을 이용하여 얼굴 기본 모델을 변형함으로써 사용자의 3차원 얼굴 모델을 생성한 경우의 화면 예시도를 나타낸 것이다.
도 27을 참조하면, 사용자의 얼굴 이미지로부터 추출된 특징점(눈, 코, 입 및 얼굴 외곽선)에 따라 얼굴 기본 모델의 눈, 코, 입 및 얼굴 외곽선의 크기 및 모양이 사용자의 얼굴 이미지에 따라 변형된 것을 볼 수 있다.
이와 같이, 사용자의 얼굴 이미지로부터 추출된 특징점을 이용하여 매핑 소스를 생성하고, 사용자의 얼굴 이미지에 부합하도록 3차원 얼굴 모델을 변형한 후에, 매핑 소스를 3차원 얼굴 모델에 결합하는 텍스처 매핑 과정을 통하여 3차원 얼굴 아바타를 생성한다(s20). 텍스처 매핑(Texture mapping) 과정은 3차원 얼굴 모델과 같은 객체(Object)에 매핑 소스를 결합하는 과정으로서, 사실감을 높일 수 있는 방법이다. 특히, 사용자의 얼굴 이미지로부터 추출된 특징점에 의하여 3차원 얼굴 모델이 변형되기 때문에, 직교 좌표가 아닌 UV 좌표를 사용한다. 즉, 3차원 얼굴 모델의 눈, 코, 입 및 얼굴 외곽선의 특징점과 사용자의 얼굴 이미지로부터 추출된 특징점들의 UV 좌표를 맞추어 텍스처 매핑 과정을 수행한다.
도 28a 및 도 28b는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 매핑 소스를 3차원 얼굴 모델에 입히는 텍스처 매핑 과정의 화면 예시도를 나타낸 것이다.
도 28a 및 도 28b를 참조하면, 사용자의 얼굴 이미지로부터 추출된 눈, 코 및 입을 기준으로 하는 직선 상의 UV 좌표를 3차원 얼굴 모델의 각 직선과 맞춘다. 이 때, a 직선의 위쪽은 모델의 크기에 맞추어서 비율로 매핑하고, a 직선과 b 직선의 사이는 b 직선을 먼저 맞춘 후에 a 직선과 b 직선 사이를 비율로 매핑한다. 그런 다음, b 직선과 c 직선 사이와 c 직선의 아래 부분도 동일한 방법으로 매핑을 한다. 이렇게 함으로써, 사용자의 얼굴 이미지로부터 생성된 매핑 소스와 3차원 얼굴 모델에 대한 눈, 코 및 입의 각 UV 좌표가 확실하게 매칭될 수 있다. 물론, 얼굴 기본 모델은 사용자의 얼굴 이미지로부터 추출된 각 특징점에 의하여, 미리 사용자의 3차원 얼굴 모델로 변형된 상태이지만, 이렇게 함으로써 미세한 오차로 인한 오류를 제거할 수 있다.
도 29a 내지 도 29c는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 사용자의 3차원 모델에 사용자의 얼굴 이미지로부터 생성된 매핑 소스를 결합한 경우의 화면 예시도이다.
도 29a는 정면도를 나타낸 것이고, 도 29b와 도 29c는 각각 우측면도와 좌측면도를 나타낸 것이다. 이를 참조하면, 매핑 소스를 사용자의 3차원 얼굴 모델에 결합함으로써, 얼굴 모델과 매핑 소스 사이의 경계가 상당히 완만해진 것을 볼 수있다. 또한, 얼굴 기본 모델로부터 사용자의 눈, 코, 입 및 얼굴 외곽선과 일치하는 3차원 얼굴 모델을 생성함으로써, 사용자의 좌측 또는 우측 모습도 생성할 수 있다.
한편, 매핑 소스를 사용자의 3차원 얼굴 모델에 결합하는데 한정되지 않고, 미리 지정된 3차원 형태의 몸체, 머리 스타일 또는 몸 동작을 함께 결합함으로써 사용자는 자신의 얼굴을 가지는 3차원 형태의 전신 아바타를 제작 및 사용할 수 있다.
도 30a 내지 도 30c는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 전체 몸체를 가지는 아바타를 생성한 경우의 화면 예시도를 나타낸 것이다. 여기에서, 도 30a는 몸체 정면도를 나타낸 것이고, 도 30b는 몸체의 상면도, 도 30c는 몸체의 하면도를 각각 나타낸 것이다.
도면에 도시된 바와 같이, 사용자의 얼굴에 해당하는 매핑 소스를 사용자의 3차원 얼굴 모델 및 선택된 몸체에 결합함으로써, 3차원 형태로 표현 가능한 전신 아바타를 생성 및 사용할 수 있다. 특히, 이렇게 생성된 3차원 전신 아바타는 가상 공간상에서 게임이나 시뮬레이션(Simulation)과 같은 다양한 활동이 가능하다.
도 31a 내지 도 31c는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 제작 방법에 있어서, 사용자의 얼굴 이미지를 가지는 3차원 전신 아바타를 가상 공간상에 위치시킨 경우의 화면 예시도이다.
도 31a 내지 도 31c를 참조하면, 사용자는 자신의 얼굴 이미지를 가지는 3차원 전신 아바타를 가상 공간상에서 움직이거나 이동시킬 수 있으며, 다른 사용자의 아바타와 대화도 가능하다. 특히, 사용자는 3차원 전신 아바타를 이용하여 가상 공간을 돌아다니며 쇼핑이나 그 밖의 다양한 활동이 가능하다.
특히, 본 발명의 3차원 아바타 자판기는 이와 같은 아바타 제작 방법을 사용함으로써, 사용자로 하여금 사진을 찍는 것과 같이 간단한 과정을 통하여 사용자의 얼굴 이미지가 결합된 3차원 얼굴 아바타 또는 전신 아바타를 제공할 수 있다. 즉, 사용자는 3차원 아바타 자판기 내에서 사진을 찍음으로써, 자판기 내에서 자신의 3차원 얼굴 아바타를 제작할 수 있고, 다양한 머리 형태, 몸체 또는 몸 동작 중에서 희망하는 항목을 선택함으로써 원하는 형태의 3차원 전신 아바타를 제작할 수 있다. 또한, 사용자는 자신의 얼굴 이미지가 결합된 3차원 얼굴 아바타 또는 3차원 전신 아바타를 CD(Compact Disk) 또는 디스켓(Diskette)과 같은 기록 매체에 저장하고, 이를 소지하고 다님으로써 여러 장소에서 본인의 아바타를 사용할 수 있다. 또한, 본 발명의 3차원 아바타 자판기는 사용자의 얼굴 이미지로부터 제작된 3차원 아바타를 네트워크를 통하여, 이-메일의 형태로 희망하는 사람에게 전송할 수 있을 것이다.
도 32는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 자판기의 개략적인 외형도를 나타낸 것이다.
도 32를 참조하면, 본 발명의 3차원 아바타 자판기는 사용자가 들어가서 얼굴 사진을 촬영할 수 있는 공간을 가진다. 그리고, 사용자로부터 촬영된 얼굴 사진으로부터 특징점을 추출하고, 매핑 소스를 생성하며, 사용자의 얼굴 특징점으로부터 사용자의 3차원 얼굴 모델을 생성하고, 3차원 얼굴 모델에 매핑 소스를 결합함으로써 사용자의 3차원 얼굴 아바타 및 3차원 전신 아바타를 생성할 수 있다. 사용자는 자판기 내부에서 자동으로 생성된 3차원 얼굴 아바타에 다양한 머리 모양, 몸체 또는 몸 동작을 결합함으로써 원하는 형태의 3차원 전신 아바타를 제작할 수 있다.
도 33은 본 발명의 바람직한 실시 예에 따른 3차원 아바타 자판기의 내부 블록도를 나타낸 것이다.
도 33을 참조하면, 본 발명의 3차원 아바타 자판기(100)는 메모리 시스템(150)과, 여기에 연결되어 고속 동작을 수행하는 적어도 하나 이상의 CPU(Central Processing Unit: 160), 입력 장치(170) 및 출력 장치(180)를 포함한다.
CPU(160)는 계산을 수행하기 위한 ALU(Arithmetic Logic Unit: 162)와, 데이터 및 명령어의 일시적인 저장을 위한 레지스터(164) 및 3차원 아바타 자판기(100)의 동작을 제어하기 위한 제어부(166)를 포함한다. CPU(160)는 디지털(Digital) 사의 알파(Alpha), MIPS 테크놀로지, NEC, IDT, 지멘스(Siemens) 등의 MIPS, 인텔(Intel)과 사이릭스(Cyrix), AMD 및 넥스젠(Nexgen)을 포함하는 회사의 x86 및IBM과 모토롤라(Motorola)의 파워PC(PowerPC)와 같이 다양한 아키텍쳐(Architecture)를 갖는 프로세서일 수 있다.
메모리 시스템(150)은 일반적으로 RAM(Random Access Memory) 과 ROM(Read Only Memory) 같은 저장 매체 형태인 고속의 메인 메모리(152)와, 플로피 디스크, 하드 디스크, 테이프, CD-ROM, 플래시 메모리 등의 장기(long-term) 저장 매체 형태의 보조 메모리(154) 및 전기, 자기, 광학이나 그 밖의 저장 매체를 이용하여 데이터를 저장하는 장치를 포함한다. 또한, 메인 메모리(152)는 디스플레이 장치를 통하여 이미지를 디스플레이 하는 비디오 디스플레이 메모리를 포함할 수 있다. 본 발명의 기술 분야에서 통상의 지식을 가진 당업자에게는 메모리 시스템(150)이 여러 가지 저장 성능을 구비하는 제품으로서, 여러 가지 형태를 가질 수 있다는 것이 자명할 것이다.
또한, 입력 장치(170) 및 출력 장치(180)는 통상의 입력 장치 및 출력 장치일 수 있다. 입력 장치(170)는 키보드, 마우스, 예컨대, 터치 스크린 또는 마이크로폰과 같은 물리적 변환기(Physical transducer) 등을 포함할 수 있다. 이러한 입력 장치(170)를 통하여 사용자는 3차원 아바타를 제작하기 위한 명령을 입력하거나, 3차원 얼굴 아바타에 결합될 머리 모양이나 몸체 또는 몸 동작을 선택할 수 있다. 출력 장치(180)는 디스플레이, 프린터, 스피커와 같은 변환기(transducer) 등을 들 수 있다. 또한, 네트워크 인터페이스 또는 모뎀과 같은 장치가 입력 및/또는 출력 장치로서 사용될 수 있다. 즉, 사용자의 얼굴 이미지로부터 제작된 사용자의 3차원 얼굴 아바타를 사용자가 인식할 수 있도록 이를 화면에 표시하고, 3차원 얼굴 아바타를 결합할 머리 모양이나 몸체 또는 몸 동작에 대한 선택 항목을 사용자에게 표시한다. 따라서, 사용자는 자신의 얼굴에 해당하는 3차원 얼굴 아바타를 확인하고, 이를 변형할 수도 있으며, 다양한 형태의 3차원 전신 아바타를 제작할 수 있다.
본 발명의 기술 분야에 있어서, 상기 3차원 아바타 자판기(100)는 OS 및 적어도 하나의 응용 프로그램을 포함할 수 있다. OS는 3차원 아바타 자판기(100)의 동작 및 리소스의 지정을 제어하는 소프트웨어 집합이다. 응용 프로그램은 OS를 통하여 이용 가능한 컴퓨터 리소스를 사용함으로써, 사용자가 요청한 업무를 수행하기 위한 소프트웨어 집합이다. OS 및 응용 프로그램은 메모리 시스템(150)에 상주될 것이다.
컴퓨터 프로그래밍의 기술 분야에서 통상의 지식을 가진 당업자의 경험에 따라, 다른 표현으로 기술되지 않으면 본 발명은 3차원 아바타 자판기(100)에 의해 수행되는 동작 및 동작에 대한 표현 기호에 따라 기술될 것이다. 이러한 동작은 컴퓨터 기반으로 이루어지며, OS 또는 적당한 응용 프로그램에 의하여 수행될 것이다. 또한, 이러한 동작 및 기능은 전기 신호의 변환 또는 차단을 유발하는 데이터 비트 등의 전기 신호에 대한 CPU(160)의 처리와, 3차원 아바타 자판기(100)의 동작을 변경할 뿐만 아니라 메모리 시스템(150) 내의 메모리 영역에 저장된 데이터 비트 신호에 대한 관리를 포함한다. 데이터 비트 신호가 관리되는 메모리 영역은 데이터 비트에 해당하는 전기, 자기 또는 광학 특성을 갖는 물리 영역이다.
도 34는 본 발명의 바람직한 실시 예에 따른 3차원 아바타 자판기의 상세한 내부 구성 모듈을 나타낸 것이다.
도 34를 참조하면, 본 발명의 3차원 아바타 자판기는 사용자의 얼굴 이미지로부터 특징점을 추출하는 특징점 추출 모듈(262)과, 얼굴 이미지로부터 매핑 소스를 생성하는 매핑 소스 생성 모듈(264), 특징점을 이용하여 사용자의 3차원 얼굴 모델을 생성하는 3차원 모델 생성 모듈(266) 및 3차원 모델에 매핑 소스를 결합하여 3차원 아바타를 생성하는 3차원 아바타 생성 모듈(268)을 응용 모듈로서 포함할 수 있다.
특징점 추출 모듈(262)은 사용자의 얼굴 이미지로부터 눈, 코, 입 및 얼굴 외곽선에 대한 특징점을 추출한다. 즉, 블루 스크린을 배경으로 촬영된 사용자의 얼굴 이미지로부터 블루 스크린 영역을 제거하고, 흑백 이미지로 변환한다. 그런 다음, 노이즈를 제거한 후에, 이를 이진 데이터로 변환하고 라인 세그먼트 작업을 진행한다. 그리고 나서, 고립 영역에 대한 레이블링 및 크기 검증 후에 눈, 코, 입 및 얼굴 외곽선을 추출한다.
매핑 소스 생성 모듈(264)은 사용자의 얼굴 이미지로부터 추출된 특징점을 이용하여, 볼 부분에서 평균 피부색을 추출하고, 사용자의 얼굴 이미지를 평균 피부색으로 처리한다. 그런 다음, 얼굴 이미지로부터 기준이 되는 원형 틀을 추출한 후에 경계 부분을 그라데이션 처리를 통하여 매핑 소스를 생성한다.
3차원 모델 생성 모듈(266)은 사용자의 얼굴 이미지로부터 추출된 특징점을 이용하여 얼굴 기본 모델을 사용자의 얼굴 형태에 해당하는 3차원 얼굴 모델로 변형한다. 이렇게 변형함으로써, 매핑 소스와의 결합이 보다 정확하게 이루어질 것이다.
3차원 아바타 생성 모듈(268)은 얼굴 기본 모델로부터 변형된 사용자의 3차원 얼굴 모델에 매핑 소스를 결합하여 사용자의 3차원 얼굴 아바타를 생성한다. 그리고, 사용자의 요청에 따라 3차원 얼굴 아바타에 다양한 머리 모양, 몸체 또는 몸 동작을 결합하여 3차원 전신 아바타를 생성할 수 있다.
또한, 3차원 아바타 자판기는 Windows 98이나 UNIX와 같은 운영 체제를 시스템의 OS(Operating System)로서 사용할 수 있다. 이러한 OS는 API(Application Program Interface : 192)에 하이 레벨 명령어를 제공하여 각 응용 모듈의 동작을 제어한다.
즉, 3차원 아바타 자판기(100)는 API(192)로부터 제공되는 하이 레벨 명령어에 따라 대응하는 각 응용 모듈을 식별하고, 하이 레벨 명령어를 디코딩하여 해당하는 곳으로 제공하는 하이 레벨 명령어 처리부(194)를 포함한다. 응용 모듈 제어부(250)는 하이 레벨 명령어 처리부(202)로부터 제공된 명령어에 따라 응용 모듈(262, 264, 266, 268)의 동작을 제어한다. 즉, 하이 레벨 명령어 처리부(194)는 API를 통하여 제공된 하이 레벨 명령어에 따라 여기에 대응하는 응용 모듈이 존재하는지를 식별하고, 대응되는 응용 모듈이 존재하는 경우에 해당하는 응용 모듈에서 인식할 수 있는 명령어로 디코딩하여 해당하는 매핑부에 전송한다.
응용 모듈 제어부(250)는 특징점 추출 모듈(262)과, 매핑 소스 생성 모듈(264), 3차원 모델 생성 모듈(266) 및 3차원 아바타 생성 모듈(268)에 대한 매핑부(251, 253, 255, 257)와 인터페이스부(252, 254, 256, 258)를 각각 포함한다.
특징점 추출 모듈 매핑부(251)는 하이 레벨 명령어 처리부(194)에서 사용자의 얼굴 이미지로부터 눈, 코, 입 및 얼굴 외곽선에 대한 특징점을 추출하기 위하여 전송된 하이 레벨의 명령어를 제공받아, 특징점 추출 모듈(262)에서 처리할 수 있는 디바이스 레벨로 매핑하고, 특징점 추출 모듈 인터페이스부(252)를 통하여 특징점 추출 모듈(262)로 제공한다.
매핑 소스 생성 모듈 매핑부(253) 및 매핑 소스 생성 모듈 인터페이스부(254)는 사용자의 얼굴 이미지로부터 추출된 특징점을 이용하여, 사용자의 얼굴 이미지로부터 3차원 얼굴 모델에 결합될 매핑 소스를 생성하는 경우에, 매핑 소스 생성 모듈(264)의 기능을 사용할 수 있도록 해 주는 부분이다. 즉, 매핑 소스 생성 모듈 매핑부(253)는 하이 레벨 명령어 처리부(194)로부터 매핑 소스 생성 모듈(264)을 이용하기 위한 하이 레벨 명령어를 제공받아 이를 디바이스 레벨의 명령어로 매핑시키고, 매핑 소스 생성 모듈 인터페이스부(254)를 통하여 매핑 소스 생성 모듈(264)로 제공한다.
3차원 모델 생성 모듈 매핑부(255)는 얼굴 기본 모델로부터 사용자의 얼굴 이미지에 부합하는 3차원 얼굴 모델을 생성하기 위하여, 하이 레벨 명령어 처리부(194)를 통하여 인가된 하이 레벨 명령어를 제공받아 3차원 모델 생성 모듈(266)이 인식할 수 있는 디바이스 레벨의 명령어로 매핑시킨다. 디바이스 레벨의 명령어는 3차원 모델 생성 모듈 인터페이스부(256)를 통하여 3차원 모델 생성 모듈(266)로 제공되고, 3차원 모델 생성 모듈(266)이 실행됨으로써 사용자의 얼굴이미지에 부합되는 3차원 얼굴 모델이 생성된다.
3차원 아바타 생성 모듈(268)은 3차원 얼굴 모델에 매핑 소스를 결합하여 사용자의 3차원 얼굴 아바타를 생성하고, 여기에 머리 모양, 몸체 또는 몸 동작을 결합하여 3차원 전신 아바타를 생성한다. 따라서, 하이 레벨 명령어 처리부(194)에서 3차원 아바타 생성 모듈 매핑부(257)로 3차원 얼굴 아바타 또는 3차원 전신 아바타의 생성을 지시하는 하이 레벨 명령어가 제공된다. 3차원 아바타 생성 모듈 매핑부(257)는 하이 레벨 명령어를 3차원 아바타 생성 모듈(268)이 처리할 수 있는 디바이스 레벨 명령어로 매핑시키고, 3차원 아바타 생성 모듈 인터페이스부(258)를 통하여 3차원 아바타 생성 모듈(268)로 제공한다.
이러한 기능을 수행하도록 구성된 API(192)에 대한 세부적인 멤버 함수를 좀 더 상세하게 기술하면 다음과 같다.
개방 API(Open API)는 사용자의 요청에 따라 각 응용 모듈의 세션을 개방하기 위하여 사용된다.
폐쇄 API(Close API)는 사용된 응용 모듈에 대한 세션을 종료하는데 사용된다.
복사 API(Copy API)는 촬영된 사용자의 얼굴 이미지 또는 이로부터 생성된 3차원 아바타를 복사하는데 사용된다.
검색 API(Retrieve API)는 3차원 아바타 자판기에서 호출 가능한 응용 모듈을 검색하는데 사용된다.
상태 API(Status API)는 각 응용 모듈의 동작 상태를 판단하기 위해 사용된다.
초기화 API(Initialize API)는 응용 모듈을 호출할 수 있도록 초기화하는 기능을 가진다.
리스트 API(List API)는 사용자의 요청에 따라 3차원 얼굴 아바타에 결합 가능한, 머리 형태, 몸체 또는 몸 동작 등의 추가적인 신체 모형에 관한 리스트를 확인하는데 사용된다.
기록 API(Register API)는 사용자의 얼굴 이미지 또는 이로부터 생성된 3차원 얼굴 아바타 및 3차원 전신 아바타 정보를 기록하는 기능을 가진다.
삭제 API(Unregister API)는 사용자의 얼굴 이미지 또는 이로부터 생성된 3차원 얼굴 아바타 및 3차원 전신 아바타 정보를 삭제하는데 사용된다.
기록 API(Write API)는 사용자의 얼굴 이미지로부터 생성된 3차원 얼굴 아바타 또는 3차원 전신 아바타를 기록 매체에 기록하는데 사용된다.
결국, 사용되는 응용 모듈이나 메시지 전송 형태에 따라 이와 같은 개별적인 API가 실행되고, 그에 따라 3차원 아바타 자판기에 구비된 응용 모듈의 이용이 가능하다.
상술한 같이, 본 발명의 3차원 아바타 제작 방법은 한 장의 사진을 이용하여 다양한 형태의 3차원 아바타를 생성할 수 있으며, 고가의 스캐너 장비를 사용하지 않기 때문에 보다 저렴하게 아바타를 제작할 수 있다.
또한, 본 발명의 3차원 아바타 제작 방법은 사용자의 얼굴 이미지로부터 추출된 특징점을 이용하여 3차원 얼굴 모델에 결합될 매핑 소스를 자동으로 생성함으로써, 보다 자연스러운 형태의 3차원 얼굴 아바타를 생성할 수 있다.
또한, 본 발명의 3차원 아바타 자판기는 상기의 3차원 아바타 제작 방법을 사용함으로써, 사용자의 얼굴 사진으로부터 사용자의 3차원 얼굴 아바타 또는 3차원 전신 아바타를 보다 정확하고 신속하게 제작할 수 있다.
상기에서는 본 발명에 따른 3차원 아바타 제작 방법 및 이를 이용한 자판기의 바람직한 실시 예를 통하여 상세하게 기술하였지만, 그 내용은 하기 청구범위에 기술된 본 발명의 분야에만 한정되지 않는다. 또한, 상기 기술 분야에 있어서, 통상의 지식을 가진 사람은 본 발명의 범위 내에서 이를 다양하게 변경하거나 수정하는 것이 자명할 것이다.

Claims (34)

  1. 이미지를 이용한 아바타 제작 방법에 있어서,
    단색 스크린을 배경으로 사용자의 얼굴 이미지를 촬영하는 단계;
    단색 스크린을 배경으로 촬영된 사용자의 얼굴 이미지로부터 스크린 영역을 제거하는 단계;
    상기 사용자의 얼굴 이미지가 컬러 이미지인 경우에, 흑백 이미지로 변환하는 단계;
    상기 흑백의 사용자 얼굴 이미지로부터 노이즈를 제거하는 단계;
    노이즈가 제거된 흑백의 사용자 얼굴 이미지를 이진 데이터로 변환하는 단계;
    이진 데이터로 변환된 사용자의 얼굴 이미지에서 아바타 구성 요소에 대한 특징 선의 세그먼트 작업을 수행하는 단계;
    세그먼트 처리된 아바타 구성 요소에 있어서, 고립 영역에 대한 레이블을 지정하는 단계;
    레이블이 지정된 고립 영역에 대하여 크기를 검증하는 단계;
    상기 크기 검증 결과에 따라 고립 영역으로부터 아바타 구성 요소를 추출하는 단계;
    상기 블루 스크린을 배경으로 촬영된 사용자 얼굴 이미지로부터 평균 피부색을 계산하는 단계;
    사용자의 얼굴 이미지 중에서 피부 부분을 평균 피부색으로 채색하는 단계;
    평균 피부색으로 처리된 사용자의 얼굴 이미지를 사용자의 실제 얼굴과 유사하도록 이미지 처리를 하는 단계;
    노이즈 처리가 된 사용자의 얼굴 이미지로부터 얼굴 틀을 추출하는 단계;
    상기 얼굴 틀의 경계 부분에 대하여 그라데이션 처리를 하여 매핑 소스를 생성하는 단계;
    얼굴 기본 모델로부터 사용자의 얼굴 이미지로부터 추출된 특징점과 대응되는 부분에 특징 파라메터를 설정하는 단계;
    상기 특징점과 대응되는 부분에 대하여 특징 파라메터와 연결되는 그룹의 그룹 함수를 설정하는 단계;
    사용자의 얼굴 이미지로부터 추출된 특징점을 이용하여 얼굴 기본 모델의 특징 파라메터를 사용자의 얼굴에 대응되도록 변형하는 단계;
    상기 특징 파라메터의 변형에 따라 그룹 함수를 제어함으로써, 해당하는 그룹의 형태를 변형하는 단계;
    상기 특징 파라메터 또는 그룹 형태의 변형에 따라 사용자의 얼굴에 상응하는 3차원 얼굴 모델을 생성하는 단계; 및
    상기 사용자의 3차원 얼굴 모델에 상기 매핑 소스를 결합하여 3차원 아바타 얼굴을 생성하는 단계
    를 포함하는 단일 이미지를 이용한 3차원 아바타 제작 방법.
  2. 제1항에 있어서,
    상기 아바타 구성 요소는
    눈, 코, 입 및 얼굴 외곽선 중 적어도 하나를 포함하는 단일 이미지를 이용한 3차원 아바타 제작 방법.
  3. 제1항에 있어서,
    상기 얼굴 이미지는
    블루 스크린을 배경으로 촬영한 사용자의 정면 이미지인 단일 이미지를 이용한 3차원 아바타 제작 방법.
  4. 제1항에 있어서,
    사용자의 요청에 따라 얼굴 이미지로부터 추출된 아바타 구성 요소의 특징점을 수정하는 단계
    를 더 포함하는 단일 이미지를 이용한 3차원 아바타 제작 방법.
  5. 제1항에 있어서,
    사용자의 요청에 따라, 3차원 아바타 얼굴에 추가적인 아바타 구성 요소를 결합하여 3차원 전신 아바타를 생성하는 단계
    를 더 포함하는 단일 이미지를 이용한 3차원 아바타 제작 방법.
  6. 이미지를 이용한 아바타 제작 방법에 있어서,
    사용자의 얼굴을 촬영한 얼굴 이미지로부터 아바타 구성 요소의 특징점을 추출하는 단계;
    상기 아바타 구성 요소의 특징점을 이용하여 얼굴 이미지로부터 아바타 제작을 위한 매핑 소스를 생성하는 단계;
    상기 아바타 구성 요소의 특징점을 이용하여 미리 저장된 얼굴 기본 모델을 사용자의 얼굴 이미지에 상응하는 3차원 얼굴 모델로 변형하는 단계; 및
    상기 3차원 얼굴 모델에 매핑 소스를 결합하여 3차원 아바타 얼굴을 생성하는 단계
    를 포함하는 단일 이미지를 이용한 3차원 아바타 제작 방법.
  7. 제6항에 있어서,
    상기 아바타 구성 요소의 특징점을 추출하는 단계는
    블루 스크린을 배경으로 촬영한 사용자의 얼굴 이미지로부터 블루 스크린 영역을 제거하는 단계;
    상기 사용자의 얼굴 이미지가 컬러 이미지인 경우에, 흑백 이미지로 변환하는 단계;
    상기 흑백의 사용자 얼굴 이미지로부터 노이즈를 제거하는 단계;
    노이즈가 제거된 흑백의 사용자 얼굴 이미지를 이진 데이터로 변환하는 단계;
    이진 데이터로 변환된 사용자의 얼굴 이미지에서 아바타 구성 요소에 대한 특징 선의 세그먼트 작업을 수행하는 단계;
    세그먼트 처리된 아바타 구성 요소에 있어서, 고립 영역에 대한 레이블을 지정하는 단계;
    레이블이 지정된 고립 영역에 대하여 크기를 검증하는 단계; 및
    상기 크기 검증 결과에 따라 고립 영역으로부터 아바타 구성 요소를 추출하는 단계
    를 포함하는 단일 이미지를 이용한 3차원 아바타 제작 방법.
  8. 제7항에 있어서,
    상기 블루 스크린 영역을 제거하는 단계는
    사용자의 얼굴 이미지에서 외곽 부분에 대한 HSI 평균값을 추출하는 단계;
    각 픽셀에 대하여, 상기 HSI 평균값과의 에러 비율을 계산하는 단계;
    상기 각 픽셀에 대한 에러 비율을 최대 에러 비율과 비교하여 블루 스크린 영역을 판단하는 단계; 및
    블루 스크린 영역에 해당하는 픽셀을 검은색으로 변환시키는 단계
    를 포함하는 단일 이미지를 이용한 3차원 아바타 제작 방법.
  9. 제7항에 있어서,
    상기 노이즈를 제거하는 단계는
    사용자의 얼굴 이미지에 대하여 가우스 평탄화 작업을 통하여 미세한 잡음을 제거하는 단계; 및
    콘트라스트를 조절함으로써 아바타 구성 요소의 특징점을 강조하는 단계
    를 포함하는 단일 이미지를 이용한 3차원 아바타 제작 방법.
  10. 제7항에 있어서,
    상기 이진 데이터로 변환하는 단계는
    사용자의 얼굴 이미지를 일정 크기를 가지는 복수의 블록으로 분할하는 단계;
    각 블록에 대한 평균 명도 값을 각각 계산하는 단계; 및
    상기 평균 명도 값을 지정된 블록의 임계값으로 하여 해당하는 블록을 각각이진 데이터로 변환하는 단계
    를 포함하는 단일 이미지를 이용한 3차원 아바타 제작 방법.
  11. 제7항에 있어서,
    상기 세그먼트 작업을 수행하는 단계는
    수평으로 떨어진 두 라인 사이의 간격을 계산하는 단계;
    상기 두 라인 사이의 간격을 미리 정해진 세그먼트 기준 값과 비교하는 단계; 및
    두 라인 사이의 간격이 세그먼트 기준 값보다 작은 경우, 동일한 라인으로 판단하여 두 라인을 서로 연결하는 단계
    를 포함하는 단일 이미지를 이용한 3차원 아바타 제작 방법.
  12. 제7항에 있어서,
    상기 크기를 검증하는 단계는
    레이블이 지정된 고립 영역에 대하여, 최소 길이, 최대 길이, 최소 높이, 최대 높이, 최소 넓이 및 최대 넓이 중 적어도 하나을 이용하여 검증하는 단일 이미지를 이용한 3차원 아바타 제작 방법.
  13. 제6항에 있어서,
    상기 매핑 소스를 생성하는 단계는
    컬러의 사용자 얼굴 이미지로부터 평균 피부색을 계산하는 단계;
    사용자의 얼굴 이미지 중에서 피부 부분을 평균 피부색으로 채색하는 단계;
    평균 피부색으로 처리된 사용자의 얼굴 이미지를 사용자의 실제 얼굴과 유사하도록 이미지 처리를 하는 단계;
    노이즈 처리가 된 사용자의 얼굴 이미지로부터 얼굴 틀을 추출하는 단계; 및
    상기 얼굴 틀의 경계 부분에 대하여 그라데이션 처리를 하는 단계
    를 포함하는 단일 이미지를 이용한 3차원 아바타 제작 방법.
  14. 제13항에 있어서,
    상기 평균 피부색은
    사용자의 얼굴 이미지 중에서, 양쪽 볼 부분의 피부색에 대하여 계산된 평균값인 단일 이미지를 이용한 3차원 아바타 제작 방법.
  15. 제13항에 있어서,
    상기 사용자의 실제 얼굴과 유사하도록 이미지 처리를 하는 단계는
    평균 피부색의 얼굴 이미지에 가우스 얼룩 처리를 하는 단일 이미지를 이용한 3차원 아바타 제작 방법.
  16. 제13항에 있어서,
    상기 얼굴 틀을 추출하는 단계는
    장축이 되는 두 점 A, B와, 단축이 되는 두 점 C, D를 선택하여, 이로부터 형성되는 타원형의 얼굴 틀을 추출하되,
    상기 점 A, 점 B, 점 C 및 점 D는
    사용자의 얼굴 이미지에서, 눈과 코의 중앙 지점의 y 좌표와 두 눈의 중앙 지점의 x 좌표로 구성된 중점 G를 선택하고, 이로부터, 오른쪽 눈의 오른쪽 점의 x 좌표와 중점 G의 y 좌표로 이루어진 점 C;
    왼쪽 눈의 왼쪽 점의 x 좌표와 중점 G의 y 좌표로 이루어진 점 D;
    턱선의 y 좌표와 중점 G의 x 좌표로 구성된 점 B; 및
    중점 G에서 점 B까지의 거리만큼 중점 G로부터 반대방향으로 떨어진 점 A
    로 구해지는 단일 이미지를 이용한 3차원 아바타 제작 방법.
  17. 제13항에 있어서,
    상기 그라데이션 처리를 하는 단계는
    상기 얼굴 틀의 경계 부분에서부터 중점 G까지의 거리만큼 타원이 확장되어 가는 방향으로 상호 보간하여 생성하는 단일 이미지를 이용한 3차원 아바타 제작 방법.
  18. 제17항에 있어서,
    사용자의 얼굴 이미지 중에서 피부색으로 이루어지지 않는 부분은 얼굴 색과 일정 비율 이상의 차이를 보이는 경우에, 해당하는 부분의 위 또는 아래 부분의 피부색으로 그라데이션 처리를 하는 단계
    를 더 포함하는 단일 이미지를 이용한 3차원 아바타 제작 방법.
  19. 제6항에 있어서,
    3차원 얼굴 모델로 변형하는 단계는
    얼굴 기본 모델로부터 사용자의 얼굴 이미지로부터 추출된 특징점과 대응되는 부분에 특징 파라메터를 설정하는 단계;
    상기 특징점과 대응되는 부분에 대하여 특징 파라메터와 연결되는 그룹의 그룹 함수를 설정하는 단계;
    사용자의 얼굴 이미지로부터 추출된 특징점을 이용하여 얼굴 기본 모델의 특징 파라메터를 사용자의 얼굴에 대응되도록 변형하는 단계;
    상기 특징 파라메터의 변형에 따라 그룹 함수를 제어함으로써, 해당하는 그룹의 형태를 변형하는 단계; 및
    상기 특징 파라메터 또는 그룹 형태의 변형에 따라 사용자의 얼굴에 상응하는 3차원 얼굴 모델을 생성하는 단계
    를 포함하는 단일 이미지를 이용한 3차원 아바타 제작 방법.
  20. 제19항에 있어서,
    상기 그룹 함수는
    눈 및 입의 특징점에 대해서 타원 방정식인 단일 이미지를 이용한 3차원 아바타 제작 방법.
  21. 제19항에 있어서,
    상기 그룹 함수는
    코 및 얼굴 외곽선의 특징점에 대해서 직선 방정식인 단일 이미지를 이용한 3차원 아바타 제작 방법.
  22. 얼굴 이미지를 이용하여 아바타를 제작하는 시스템에 있어서,
    사용자로부터 아바타 제작을 위한 명령을 입력받는 명령어 입력부;
    사용자의 얼굴 이미지를 촬영하기 위한 이미지 촬영부;
    상기 이미지 촬영부로부터 촬영된 한 장의 사용자 얼굴 이미지를 이용하여 3차원 아바타를 생성하는 아바타 생성부;
    상기 명령어 입력부를 통하여 입력된 사용자의 요청에 따라, 상기 아바타 생성부를 통하여 제작된 사용자의 3차원 아바타를 수정하는 아바타 변형부;
    상기 아바타 생성부 또는 아바타 변형부를 통하여 제작된 사용자의 3차원 아바타를 사용자가 인식할 수 있도록 외부로 표시하는 표시부; 및
    상기 명령어 입력부를 통하여 입력된 사용자의 요청에 따라, 사용자가 소지할 수 있도록 기록 매체에 사용자의 3차원 아바타를 기록하는 데이터 기록부
    를 포함하는 3차원 아바타 자판기.
  23. 제22항에 있어서,
    상기 명령어 입력부는
    키보드, 마우스 또는 터치 스크린으로 이루어지는 3차원 아바타 자판기.
  24. 제22항에 있어서,
    상기 이미지 촬영부는
    블루 스크린을 배경 화면으로 포함하는 3차원 아바타 자판기.
  25. 제22항에 있어서,
    상기 아바타 생성부는
    상기 이미지 촬영부에서 촬영된 사용자의 얼굴 이미지로부터 아바타 구성 요소의 특징점을 추출하는 특징점 추출부;
    상기 아바타 구성 요소의 특징점을 이용하여 사용자의 얼굴 이미지로부터 아바타 제작을 위한 매핑 소스를 생성하는 매핑 소스 생성부;
    상기 아바타 구성 요소의 특징점을 이용하여 미리 저장된 얼굴 기본 모델을 사용자의 얼굴 이미지에 상응하는 사용자의 3차원 얼굴 모델로 변형하는 3차원 얼굴 모델 생성부; 및
    상기 사용자의 3차원 얼굴 모델에 매핑 소스를 결합하여 3차원 아바타 얼굴을 생성하는 매핑 소스 결합부
    를 포함하는 3차원 아바타 자판기.
  26. 제25항에 있어서,
    상기 특징점 추출부는
    이미지 촬영부에서 촬영된 사용자의 얼굴 이미지로부터 블루 스크린 영역을제거하는 블루 스크린 영역 제거부;
    상기 사용자의 얼굴 이미지가 컬러 이미지인 경우에, 흑백 이미지로 변환하는 흑백 이미지 변환부;
    상기 흑백의 사용자 얼굴 이미지로부터 노이즈를 제거하는 노이즈 제거부;
    노이즈가 제거된 흑백의 사용자 얼굴 이미지를 이진 데이터로 변환하는 이진 데이터 변환부;
    이진 데이터로 변환된 사용자의 얼굴 이미지에서 아바타 구성 요소에 대한 특징 선의 세그먼트 작업을 수행하는 세그먼트 처리부;
    세그먼트 처리된 아바타 구성 요소에 있어서, 고립 영역에 대한 레이블을 지정하는 레이블 설정부;
    레이블이 지정된 고립 영역에 대하여 크기를 검증하는 검증부; 및
    상기 크기 검증 결과에 따라 고립 영역으로부터 아바타 구성 요소를 추출하는 구성 요소 추출부
    를 포함하는 3차원 아바타 자판기.
  27. 제25항에 있어서,
    상기 매핑 소스 생성부는
    이미지 촬영부에서 촬영된 사용자 얼굴 이미지로부터 평균 피부색을 계산하는 피부색 계산부;
    사용자의 얼굴 이미지 중에서 피부 부분을 평균 피부색으로 채색하는 피부색 처리부;
    평균 피부색으로 처리된 사용자의 얼굴 이미지를 사용자의 실제 얼굴과 유사하도록 이미지 처리를 하는 이미지 처리부;
    노이즈 처리가 된 사용자의 얼굴 이미지로부터 얼굴 틀을 추출하는 얼굴 틀 추출부; 및
    상기 얼굴 틀의 경계 부분에 대하여 그라데이션 처리를 하는 그라데이션 처리부
    를 포함하는 3차원 아바타 자판기.
  28. 제25항에 있어서,
    상기 3차원 얼굴 모델 생성부는
    얼굴 기본 모델로부터 사용자의 얼굴 이미지로부터 추출된 특징점과 대응되는 부분에 특징 파라메터를 설정하는 파라메터 설정부;
    상기 특징점과 대응되는 부분에 대하여 특징 파라메터와 연결되는 그룹의 그룹 함수를 설정하는 그룹 함수 설정부;
    사용자의 얼굴 이미지로부터 추출된 특징점을 이용하여 얼굴 기본 모델의 특징 파라메터를 사용자의 얼굴에 대응되도록 변형하는 파라메터 변형부; 및
    상기 특징 파라메터의 변형에 따라 그룹 함수를 제어함으로써, 해당하는 그룹의 형태를 변형하는 그룹 변형부
    를 포함하는 3차원 아바타 자판기.
  29. 제22항에 있어서,
    상기 아바타 생성부는
    사용자의 요청에 따라, 3차원 아바타 얼굴에 추가적인 아바타 구성 요소를 결합하여 3차원 전신 아바타를 생성하는 전신 아바타 생성부
    를 더 포함하는 3차원 아바타 자판기.
  30. 제22항에 있어서,
    사용자의 요청에 따라 제작된 사용자의 3차원 아바타를 네트워크를 통하여 전송하는 데이터 전송부
    를 더 포함하는 3차원 아바타 자판기.
  31. 얼굴 이미지를 이용하여 3차원 얼굴 모델에 결합함으로써, 아바타를 생성을 위한 매핑 소스를 생성하는 방법에 있어서,
    얼굴 이미지로부터 아바타 구성 요소의 특징점을 추출하는 단계;
    컬러의 얼굴 이미지로부터 평균 피부색을 계산하는 단계;
    상기 얼굴 이미지 중에서 피부 부분을 평균 피부색으로 채색하는 단계;
    평균 피부색으로 처리된 상기 얼굴 이미지를 사용자의 실제 얼굴과 유사하도록 이미지 처리를 하는 단계;
    노이즈 처리가 된 상기 얼굴 이미지로부터 얼굴 틀을 추출하는 단계; 및
    상기 얼굴 틀의 경계 부분에 그라데이션 처리를 하는 단계
    를 포함하는 아바타 매핑 소스 생성 방법.
  32. 사용자 얼굴 이미지를 이용하여 3차원 아바타를 제작하기 위하여, 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지털 처리 장치에 의해 판독될 수 있는 기록 매체에 있어서,
    상기 3차원 아바타를 제작하는 방법이,
    사용자의 얼굴을 촬영한 한 장의 얼굴 이미지로부터 아바타 구성 요소의 특징점을 추출하는 단계;
    상기 아바타 구성 요소의 특징점을 이용하여 사용자의 얼굴 이미지로부터 아바타 제작을 위한 매핑 소스를 생성하는 단계;
    상기 아바타 구성 요소의 특징점을 이용하여 미리 저장된 얼굴 기본 모델을 사용자의 얼굴 이미지에 상응하는 사용자의 3차원 얼굴 모델로 변형하는 단계; 및
    상기 사용자의 3차원 얼굴 모델에 매핑 소스를 결합하여 3차원 아바타 얼굴을 생성하는 단계
    를 포함하는 컴퓨터 기록 매체.
  33. 사용자 얼굴 이미지를 이용하여 3차원 아바타를 제작하기 위하여, 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지털 처리 장치에 의해 판독될 수 있는 기록 매체에 있어서,
    상기 3차원 아바타를 제작하는 방법이,
    블루 스크린을 배경으로 사용자의 얼굴 이미지를 촬영하는 단계;
    블루 스크린을 배경으로 촬영된 사용자의 얼굴 이미지로부터 블루 스크린 영역을 제거하는 단계;
    상기 사용자의 얼굴 이미지가 컬러 이미지인 경우에, 흑백 이미지로 변환하는 단계;
    상기 흑백의 사용자 얼굴 이미지로부터 노이즈를 제거하는 단계;
    노이즈가 제거된 흑백의 사용자 얼굴 이미지를 이진 데이터로 변환하는 단계;
    이진 데이터로 변환된 사용자의 얼굴 이미지에서 아바타 구성 요소에 대한 특징 선의 세그먼트 작업을 수행하는 단계;
    세그먼트 처리된 아바타 구성 요소에 있어서, 고립 영역에 대한 레이블을 지정하는 단계;
    레이블이 지정된 고립 영역에 대하여 크기를 검증하는 단계;
    상기 크기 검증 결과에 따라 고립 영역으로부터 아바타 구성 요소를 추출하는 단계;
    상기 블루 스크린을 배경으로 촬영된 사용자 얼굴 이미지로부터 평균 피부색을 계산하는 단계;
    사용자의 얼굴 이미지 중에서 피부 부분을 평균 피부색으로 채색하는 단계;
    평균 피부색으로 처리된 사용자의 얼굴 이미지를 사용자의 실제 얼굴과 유사하도록 이미지 처리를 하는 단계;
    노이즈 처리가 된 사용자의 얼굴 이미지로부터 얼굴 틀을 추출하는 단계;
    상기 얼굴 틀의 경계 부분에 대하여 그라데이션 처리를 하여 매핑 소스를 생성하는 단계;
    얼굴 기본 모델로부터 사용자의 얼굴 이미지로부터 추출된 특징점과 대응되는 부분에 특징 파라메터를 설정하는 단계;
    상기 특징점과 대응되는 부분에 대하여 특징 파라메터와 연결되는 그룹의 그룹 함수를 설정하는 단계;
    사용자의 얼굴 이미지로부터 추출된 특징점을 이용하여 얼굴 기본 모델의 특징 파라메터를 사용자의 얼굴에 대응되도록 변형하는 단계;
    상기 특징 파라메터의 변형에 따라 그룹 함수를 제어함으로써, 해당하는 그룹의 형태를 변형하는 단계;
    상기 특징 파라메터 또는 그룹 형태의 변형에 따라 사용자의 얼굴에 상응하는 3차원 얼굴 모델을 생성하는 단계; 및
    상기 사용자의 3차원 얼굴 모델에 상기 매핑 소스를 결합하여 3차원 아바타 얼굴을 생성하는 단계
    를 포함하는 컴퓨터 기록 매체.
  34. 얼굴 이미지를 이용하여 3차원 아바타를 제작하는데 사용되는 아바타 매핑 소스를 생성하기 위하여, 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지털 처리 장치에 의해 판독될 수 있는 기록 매체에 있어서,
    상기 아바타 매핑 소스의 생성 방법이,
    얼굴 이미지로부터 아바타 구성 요소의 특징점을 추출하는 단계;
    컬러의 얼굴 이미지로부터 평균 피부색을 계산하는 단계;
    상기 얼굴 이미지 중에서 피부 부분을 평균 피부색으로 채색하는 단계;
    평균 피부색으로 처리된 상기 얼굴 이미지를 사용자의 실제 얼굴과 유사하도록 이미지 처리를 하는 단계;
    노이즈 처리가 된 상기 얼굴 이미지로부터 얼굴 틀을 추출하는 단계; 및
    상기 얼굴 틀의 경계 부분에 그라데이션 처리를 하는 단계
    를 포함하는 컴퓨터 기록 매체.
KR1020010040928A 2001-07-09 2001-07-09 단일 이미지를 이용한 3차원 아바타 제작 방법 및 이를이용한 자판기 KR20010084996A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010040928A KR20010084996A (ko) 2001-07-09 2001-07-09 단일 이미지를 이용한 3차원 아바타 제작 방법 및 이를이용한 자판기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010040928A KR20010084996A (ko) 2001-07-09 2001-07-09 단일 이미지를 이용한 3차원 아바타 제작 방법 및 이를이용한 자판기

Publications (1)

Publication Number Publication Date
KR20010084996A true KR20010084996A (ko) 2001-09-07

Family

ID=19711960

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010040928A KR20010084996A (ko) 2001-07-09 2001-07-09 단일 이미지를 이용한 3차원 아바타 제작 방법 및 이를이용한 자판기

Country Status (1)

Country Link
KR (1) KR20010084996A (ko)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030082160A (ko) * 2002-04-17 2003-10-22 백수곤 실시간 스프라이트 생성방법
WO2008144843A1 (en) * 2007-05-31 2008-12-04 Depth Analysis Pty Ltd Systems and methods for applying a 3d scan of a physical target object to a virtual environment
KR100896643B1 (ko) * 2007-06-18 2009-05-08 에스케이 텔레콤주식회사 Aam을 이용한 3차원 얼굴 모델링 방법 및 시스템,그리고 이에 적용되는 장치
CN102800129A (zh) * 2012-06-20 2012-11-28 浙江大学 一种基于单幅图像的头发建模和肖像编辑方法
KR20140080723A (ko) * 2012-12-14 2014-07-01 한국전자통신연구원 3d 아바타 출력 장치 및 방법
US9165404B2 (en) 2011-07-14 2015-10-20 Samsung Electronics Co., Ltd. Method, apparatus, and system for processing virtual world
US9245369B2 (en) 2010-07-06 2016-01-26 Electronics And Telecommunications Research Institute Method and apparatus for generating an avatar
KR20160068186A (ko) * 2014-12-05 2016-06-15 주식회사 서머너즈엔터테인먼트 증강 현실 컨텐츠 제공 장치 및 방법
US20190286798A1 (en) * 2016-07-14 2019-09-19 Yong Sang Kim User authentication method using face recognition and device therefor
WO2020180084A1 (ko) * 2019-03-05 2020-09-10 네이버웹툰 주식회사 타겟 이미지의 채색 완성 방법, 장치 및 컴퓨터 프로그램

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030082160A (ko) * 2002-04-17 2003-10-22 백수곤 실시간 스프라이트 생성방법
WO2008144843A1 (en) * 2007-05-31 2008-12-04 Depth Analysis Pty Ltd Systems and methods for applying a 3d scan of a physical target object to a virtual environment
KR100896643B1 (ko) * 2007-06-18 2009-05-08 에스케이 텔레콤주식회사 Aam을 이용한 3차원 얼굴 모델링 방법 및 시스템,그리고 이에 적용되는 장치
US9245369B2 (en) 2010-07-06 2016-01-26 Electronics And Telecommunications Research Institute Method and apparatus for generating an avatar
US9165404B2 (en) 2011-07-14 2015-10-20 Samsung Electronics Co., Ltd. Method, apparatus, and system for processing virtual world
CN102800129A (zh) * 2012-06-20 2012-11-28 浙江大学 一种基于单幅图像的头发建模和肖像编辑方法
CN102800129B (zh) * 2012-06-20 2015-09-30 浙江大学 一种基于单幅图像的头发建模和肖像编辑方法
US9367940B2 (en) 2012-06-20 2016-06-14 Zhejiang University Method for single-view hair modeling and portrait editing
KR20140080723A (ko) * 2012-12-14 2014-07-01 한국전자통신연구원 3d 아바타 출력 장치 및 방법
KR20160068186A (ko) * 2014-12-05 2016-06-15 주식회사 서머너즈엔터테인먼트 증강 현실 컨텐츠 제공 장치 및 방법
US20190286798A1 (en) * 2016-07-14 2019-09-19 Yong Sang Kim User authentication method using face recognition and device therefor
WO2020180084A1 (ko) * 2019-03-05 2020-09-10 네이버웹툰 주식회사 타겟 이미지의 채색 완성 방법, 장치 및 컴퓨터 프로그램
KR20200106754A (ko) * 2019-03-05 2020-09-15 네이버웹툰컴퍼니 주식회사 타겟 이미지의 채색 완성 방법, 장치 및 컴퓨터 프로그램

Similar Documents

Publication Publication Date Title
US11423556B2 (en) Methods and systems to modify two dimensional facial images in a video to generate, in real-time, facial images that appear three dimensional
US7764828B2 (en) Method, apparatus, and computer program for processing image
US8698796B2 (en) Image processing apparatus, image processing method, and program
JP3639475B2 (ja) 3次元モデル生成装置および3次元モデル生成方法ならびに3次元モデル生成プログラムを記録した記録媒体
JP2010507854A (ja) ビデオイメージシーケンスを仮想シミュレーションする方法及び装置
CN112669447A (zh) 一种模型头像创建方法、装置、电子设备和存储介质
KR20230097157A (ko) 개인화된 3d 헤드 모델 변형을 위한 방법 및 시스템
CN116997933A (zh) 用于构造面部位置图的方法和系统
KR20230085931A (ko) 얼굴 이미지에서 색상을 추출하기 위한 방법 및 시스템
KR100411760B1 (ko) 애니메이션 영상 합성 장치 및 방법
JP2004030007A (ja) 化粧シミュレーション装置、化粧シミュレーション方法、化粧シミュレーションプログラム及びそのプログラムを記録した記録媒体
KR20010084996A (ko) 단일 이미지를 이용한 3차원 아바타 제작 방법 및 이를이용한 자판기
CN109448093B (zh) 一种风格图像生成方法及装置
KR20230110787A (ko) 개인화된 3d 머리 및 얼굴 모델들을 형성하기 위한 방법들 및 시스템들
KR100815209B1 (ko) 3차원 영상의 생성을 위한 2차원 영상의 특징 추출 장치및 그 방법과 그를 이용한 3차원 영상의 생성 장치 및 그방법
JP2002304638A (ja) 表情アニメーション生成装置および表情アニメーション生成方法
KR100422470B1 (ko) 3차원 동화상 모델 얼굴 대체 방법 및 장치
JP3744841B2 (ja) データ生成装置
JP3577154B2 (ja) 画像処理装置
JP2739447B2 (ja) しわの表現可能な三次元像生成装置
KR100618493B1 (ko) 3차원 영상 자동 생성 장치 및 그 방법
JP2003030684A (ja) 顔3次元コンピュータグラフィック生成方法及び装置及び顔3次元コンピュータグラフィック生成プログラム及び顔3次元コンピュータグラフィック生成プログラムを格納した記憶媒体
JP2940226B2 (ja) 画像合成装置
Bibliowicz An automated rigging system for facial animation
Moubaraki et al. Realistic 3d facial animation in virtual space teleconferencing

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application