본문 바로가기

OnePIC (Android App)/사진 편집 기능

[기능 설명] 얼굴 블렌딩

반응형

필자는 팀프로젝트로 OnePIC이라는 카메라 앱을 구현하였고, 다양한 공모전에 참여하였습니다.
이 과정에서 필자가 구현한 거리별 다초점 촬영에 대해 간단하게 설명하고자한다.

 


얼굴 블렌딩

사람들은 친구와 함께 사진을 촬영하거나, 단체 사진을 촬영할 때 모두가 잘 나온 사진을 얻기 위해 시간을 들여 수십장을 촬영하곤 한다. 그럼에도 불구하고, 모두가 만족하는 잘 나온 사진을 얻지 못해 아쉬워하는 사람들이 많다.

 

본 팀은 이 문제를 해결하고자 얼굴 블렌딩 기능을 구현하였다.

 

얼굴 블렌딩이란, All-in JPEG 파일 내부의 전체 이미지를 이용해 개인별로 가장 잘 나온 얼굴을 합성하여 모두가 잘 나온 한 개의 이미지를 만들어 내는 기능이다.

 

해당 기능에 대한 설명과 기능을 어떻게 구현하였는지에 관해 간단하게 설명하고자한다.


얼굴 블렌딩


OnePIC 앱은 다음 두 가지 방법으로 블렌딩 기능을 제공한다. 

  • User Pick Blending : 사용자가 원하는 얼굴로 수동 얼굴 블렌딩
  • App Pick Blending : 앱이 사진 속 얼굴들의 가장 잘 나온 사진으로 자동 얼굴 블렌딩

 

그림 1은 얼굴 블렌딩 설명에 사용될 샘플로서, A와 B의 두 명이 연속 촬영된 4개의 이미지가 담겨있는 All-in JPEG 파일이다. All-in JPEG 파일에 담겨있는 4개의 이미지는 두 사람 모두 눈을 감고 있는 사진이거나 한 사람만 눈을 뜨고 웃고 있는 사진으로, 동시에 두 사람이 모두 잘 나온 사진은 없다.

본 샘플로 모두가 잘 나온 한 개의 이미지를 만들어 내는 User Pick Blending, App Pick Blending의 동작 과정을 설명한다.

 

그림 1 얼굴 블렌딩 설명에 사용할 샘플 All-in JPEG 파일

 

 

User Pick Blending

User Pick Blending이란, 사용자가 All-in JPEG 파일 내부의 전체 이미지 중에서 원하는 얼굴들을 직접 선택하여 하나의 잘 나온 이미지를 만들 수 있는 얼굴 블렌딩이다.

 

 

A와 B의 두 사람이 촬영된 All-in JPEG 샘플 그림 16을 사용해 B의 얼굴을 사용자가 선택한 얼굴로 교체하는 User Pick Blending 과정은 다음과 같다.

 

첫째, 머신러닝 모델을 제공하는 MLKit 라이브러리에서 얼굴 감지(Face Detection) 모델을 통해 사진을 분석한 후, 그림 2(a)과 같이 A와 B 두 사람의 얼굴을 표시한다.

둘째, 사용자가 표시된 A와 B의 얼굴 중 얼굴 블렌딩 하고 싶은 B의 얼굴을 선택하면, All-in JPEG 파일 내부의 다른 사진에서 앞서 선택한 얼굴과 동일한 얼굴을 알아내 그림 2(b)과 같이 하단에 보여준다. 하단 사진에서 사용자가 B의 얼굴들 중 원하는 얼굴 하나를 선택하면, 그림 2(c)과 같이 선택한 얼굴로 B의 얼굴이 교체된다.

셋째, 이러한 User Pick Blending 과정으로, 사용자는 A와 B 두 사람이 모두 잘 나온 한 장의 이미지를 얻을 수 있다.

 

그림 2 User Pick Blending 과정

 

 

App Pick Blending

App Pick Blending이란, All-in JPEG 파일 내부의 전체 이미지 중에서 자동으로 가장 잘 나온 얼굴 사진을 찾아, 하나의 잘 나온 이미지를 생성하는 얼굴 블렌딩이다.

 

App Pick Blending은 사진 속 인물이 많을 경우, 사용자가 인물 별 잘 나온 얼굴을 선택해야 하는 User Pick Blending의 번거로움을 해결한다.

 

A와 B의 두 사람이 촬영된 All-in JPEG 샘플 그림 1 사용해 App Pick Blending 하는 과정은 다음과 같다.

 

첫째, All-in JPEG 내부의 4개의 이미지에서 Best Picture Ranking 알고리즘을 통해 그림 3과 같이 A와 B 각각의 사람에 대해 가장 잘 나온 얼굴을 찾아낸다.

둘째, 찾아낸 얼굴들을 모아 하나의 사진으로 합성하여, 모든 얼굴이 잘 나온 사진을 자동으로 제작한다.

 

그림 3 App Pick Blending 과정

 

 

 

반응형