DnA(Digital and Actor)조

cdc wiki
챌린저스조 (토론 | 기여)님의 2018년 12월 4일 (화) 02:50 판 (개발 과제의 목표 및 내용)
이동: 둘러보기, 검색

프로젝트 개요

기술개발 과제

국문 : 디지털 액터 : 얼굴 표정과 표현

영문 : Digital Actor : facial expression, emotion

과제 팀명

DnA (Digital and Actor)

지도교수

홍의경 교수님

개발기간

2018년 9월 ~ 2018년 12월 (총 4개월)

구성원 소개

서울시립대학교 통계학과 2015580029 전소정(팀장)

서울시립대학교 컴퓨터과학부 2015920008 김소현

서울시립대학교 컴퓨터과학부 2015920010 김윤나

서론

개발 과제의 개요

개발 과제 요약

◇ 얼굴의 특징점을 SURF알고리즘으로 인식하고 Optical Flow 알고리즘을 이용하여 특징점의 움직임을 추적한다.

◇ TwinGAN으로 사람의 얼굴을 학습하여 아바타로 변환하고, 추적한 특징점의 벡터를 아바타에 적용한다.

◇ 위 방법이 어려울 경우 TwinGAN으로 사람의 얼굴을 학습하여 아바타로 변환하고, 변환한 아바타 사진을 연결하여 gif파일로 만든다.

개발 과제의 배경 및 효과

◇ 디지털 액터(Digital Actor)란 실제 배우와 동일한 수준의 외형과 동작을 구현할 수 있는 컴퓨터 그래픽(DG) 영상 캐릭터를 의미한다. 킹콩, 요다 등의 실존 인물이 아닌 캐릭터를 만들거나 현실에서 불가능한 장면을 연출하는 등 영상 특수효과, 3D 애니메이션, 게임, VR과 같은 곳에 사용된다.

◇ 모션캡쳐 장비는 현실적인 움직임으로 퀄리티 높은 영상을 보여줄 수 있지만 상당히 고가의 물건이다. 사람의 얼굴 표정을 학습하여 자연스럽게 아바타로 옮길 수 있다면 높은 CG처리 비용을 줄일 수 있을 것으로 기대된다.

◇ 현재 국내 VR과 AR의 국내 시장의 규모가 점점 넓어지고 있으며 관련 업계에 따르면 그 사장 규모는 2020년 지금의 4~5배 수준으로 성장할 전망이라고 한다. 더딘 기술 진행속도로 인해 개발 속도도 느리지만 기술이 발전할수록 그 성장 속도가 급격히 증가할 것으로 예상되기 때문에 그 속도를 맞추기 위해서는 미리 개발을 준비하는 등의 행동이 필요하다. 이에 관련 기술을 직접 구현해봄으로써 미래의 VR/AR 산업에 보탬이 될 것으로 기대된다.

개발 과제의 목표 및 내용

◇ SURF 알고리즘을 이용하여 얼굴의 특징점을 인식한다.

SURF(Speeded Up Robust Features)

● 대표적인 특징점 추출 알고리즘

● 특징점 추출 알고리즘(interest point extraction algorithm)은 2차원 영상의 일정 지역에 해당하는 화소를 이용하여, 영상의 특징이 될 수 있는 특징점을 추출하는 알고리즘이다. 이때 특징점은 코너(corner) 및 블랍(blob)을 의미한다.

● 특징점 추출 알고리즘에는 SIFT(Scale Invariant Feature Transform), PCA 등 다른 방법도 있지만 인식률과 처리 속도면에서 더 우수한 SURF 알고리즘을 사용한다.

● 블러이미지나 회전된 이미지는 잘 인식하는 장점이 있는 반면 뷰포인트나 조명이 달라지면 특징점을 잘 잡아내지 못하는 단점이 있다.

● OpenCV에서 SURF에 관한 함수들을 제공중이다.


◇ Optical Flow 알고리즘을 이용하여 특징점들의 움직임을 추적한다.

Optical Flow

● 두 개의 연속된 비디오 프레임 사이에 이미지 객체의 동작 패턴을 의미한다.

● 이미지 객체의 움직임 패턴은 객체 자체가 움직이거나 카메라의 움직임으로 인해 생성되는데 이전 프레임이랑 다음 프레임 중 변하는 부분의 움직임을 추적

● 보통 움직임을 통한 구조 분석, 비디오 압축, 영상이 흔들렸거나 블러가 된 경우 깨끗한 영상으로 처리하는 기술인 Video Stabilization 분야에 사용된다.


Lucas-Kanade

● Optical Flow알고리즘에는 다양한 알고리즘이 있으나 Lucas-Kanade방법을 이용하기로 한다.

● 한 프레임의 각 피셀 윈도우를 설정하고 다음 프레임에서 이 윈도우와 가장 잘 매칭되는 곳을 찾는 원리로 작동한다.

● 코너와 같이 두드러지는 특징점을 사용하여 optical flow를 추적하기 때문에 연산량이 적다는 장점이 있다.

● 좁은 지역의 윈도우를 사용하기 때문에 이 윈도우보다 큰 움직임이 발생하였을 경우 움직임을 계산하지 못하며 특징점을 사용하여 optical flow를 얻기 때문에 dense optical flow에 비하여 정확도가 낮은 편이다.

● 윈도우를 벗어나는 큰 움직임을 계산하지 못하는 단점을 개선하기 위해 Pyramids Lucas-Kanade 방법을 사용할 수도 있다.

● OpenCV에서 Lucas-Kanade에 관한 함수들을 제공중이다.


◇ GAN을 이용하여 사람의 얼굴 사진을 캐릭터로 변환한다.

GAN(Generative Adversarial Network)은 상반되는 목적을 가진 두 모듈(판별망, 생성망)이 대결하는 구조를 통해 이미지 생성을 학습하는 이미지 생성 기술의 한 종류이다. 이 중 판별망(Discriminator)은 주어진 이미지가 실제인지, 거짓인지 판별하는 법을 학습한다. 이를 통해 실제와 거짓 이미지를 잘 구분해 내는 것이 궁극적인 목표다. 반면 생성망(Generator)은 판별망을 속여 실제와 구분이 가지 않을 정도의 진짜 같은 이미지를 생성하도록 학습해 실제에 가까운 이미지를 만들어내는 것이 목적이다.

하지만 GAN은 생성망과 판별망이 대결하며 학습하는 구도이기 때문에 학습이 불안정하다는 단점이 존재한다. 생성망과 판별망이 서로 균형 있게 훈련을 주고받아야 하는데, 두 모델 간 실력차가 발생하는 경우 훈련이 한쪽에 치우쳐 궁극적으로 성능이 제약되기 때문이다.

GAN의 단점을 보완하고 paired data가 아닌 unpaired data를 사용하기 위해 TwinGAN을 쓰기로 한다. paired data가 존재할 경우, 각 사람 얼굴과 그에 맞는 다른 도메인의 얼굴을 pair로 하여 학습시키는데 이는 학습에는 유리하나 데이터 구축에 비용이 많이 든다는 단점이 있다. 따라서 서로 다른 두 도메인의 unpaired image data를 사용하되 두 도메인의 변환을 매끄럽게 이끌어낼 수 있는 TwinGAN을 이용한다.

TwinGAN은 PGGAN(progressive growing gan)의 구조를 적용한다. GAN 훈련의 안정성을 높이고 가속화하며 고해상도로 이미지를 출력하기 위해 PGGAN은 생성망과 판별망을 점차적으로 성장시키고 성장 단계와 보강 단계를 번갈아가며 학습된다. 저해상도에서 시작해서 세밀한 점들을 배울 수 있도록 새로운 레이어들을 추가하는 방식이다.

위 사진은 PGGAN의 학습 과정을 보여준다. 생성망인 G와 판별망인 D는 4X4 픽셀의 낮은 저해상도를 가진다. 학습이 진전됨에 따라 점차적으로 생성망 G와 판별망 D에 layer를 추가하고 그에 따라 해상도를 늘리게 된다. 이 학습 과정은 고해상도에서의 안전한 합성을 할 수 있게 하고 학습 시간 또한 가속화하게 만든다.

위 사진에서 볼 수 있듯이 점진적으로 네트워크 레이어를 추가할 때 sudden shock가 일어나지 않도록 새로 추가하는 레이어를 부드럽게(fade in) 넣어준다.

입력 이미지의 디테일을 유지하기 위해 encoder의 Convolutional layer와 생성망의 해당 layer를 연결하는데 UNet구조를 사용하였다.

Unet은 Semantic Segmentation에서 가장 기본적으로 많이 쓰이는 모델이며, 모델의 형태가 U자로 되어있어 생긴 이름이다. 3X3 Convolution으로 주로 이루어져 각 Convolutional Block은 3X3 Convolution 2개와 그 사이의 Dropout으로 이루어진다. 위 그림에서는 4개의 블록이 있고 각 블록은 max pool을 이용하여 사이즈를 줄이면서 다음 블록으로 넘어간다.

사진의 오른쪽은 왼편에서 줄어든 사이즈를 다시 올려가며 Convolutional Block을 이용하는 형태이다. 아래쪽의 단계에서 얻어진 Feature들과 Concat하여 사용한다.

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

  • 전 세계적인 기술현황

내용

  • 특허조사 및 특허 전략 분석

내용

  • 기술 로드맵

내용

시장상황에 대한 분석

  • 경쟁제품 조사 비교

내용

  • 마케팅 전략 제시

내용

개발과제의 기대효과

기술적 기대효과

내용

경제적, 사회적 기대 및 파급효과

내용

기술개발 일정 및 추진체계

개발 일정

내용

구성원 및 추진체계

내용

설계

설계사양

제품의 요구사항

내용

설계 사양

내용

개념설계안

내용

이론적 계산 및 시뮬레이션

내용

상세설계 내용

내용

결과 및 평가

완료 작품의 소개

프로토타입 사진 혹은 작동 장면

내용

포스터

내용

관련사업비 내역서

내용

완료작품의 평가

내용

향후계획

내용

특허 출원 내용

내용