Face Frontalization Model with AI Based on U-Net using Convolution Neural Network

degull·2024년 2월 5일

합성곱 신경망(CNN)을 이용한 U-Net 기반의 인공지능 안면 정면화 모델

2020 온라인 추계학술발표대회 논문집 제27권 제2호 (2020. 11)

1. 서론

<안면인식 기술>

  • 신원 확인을 위한 주요 생체 인식 기술
  • 컴퓨터 비전 분야에서 활발한 연구대상
  • 보안, 미아 찾기, 범죄자 추적 분야 활용
  • 그러나, 특징점을 추출하기 어렵다는 한계 → 인식률 낮음 (인식 상황 제한됨)

<해결방법>

  • (과거) 안면의 각도 변화에 강인한 모델을 만들기 위한 새로운 손실함수 / Maxpooling 연산을 통한 연구 진행
  • (현재) 안면의 각도와 인식률은 비례하므로, 안면을 정면화 하는 방법

안면 정면화

신원 확인이 어려운 안면을 정면으로 변환하는 작업

정면의 안면이 측면보다 높은 인식률을 보이기 때문 → 측면을 정면으로 변환해 측면 인식이 어려운 문제를 해결하는 데 기여

  • 특징 추출 신경망 VGG-Face 신경망 : ±60°의 안면 각도에서 평균 91%의 안면 인식률
  • 정면 생성 신경망 U-Net 구조 : 질감 정보와 중요 정보를 효과적으로 유지하는 데 뛰어난 성과

2. 관련연구

2.1 안면 정면화

측면(제한적인 특징)에서 추출된 이미지를 기반으로 정면 이미지 생성

  • (초기 정면화 기법) : 안면 이미지를 3차원 모델링하여 정면화하는 기법
  • (현재 정면화 기법) : 더 큰 각도의 측면에서 정면화가 가능
    • 안면 각도에 따라 다르게 특징을 추출해 정면 이미지 생성하는 조건부 CNN
    • 생산적 적대 신경망(Generative Adversarial Network) 구조 병합해 정면 생성

2.2 VGG-Face

깊은 층의 CNN을 구성해 조명이나 배경의 변화에도 강인하게 대응 가능

→ ±60°의 안면 각도에서도 91%의 인식률

** VGG-Face 내부 분류 층이 존재하는데, 이를 제거해 안면 특징 추출 신경망으로 활용 → 안면 이미지를 사용하는 다양한 연구에 응용 가능

→ 다양한 환경에서 안면 인식 능력과 안정성에 뛰어나며, 안면 정면화의 특징을 추출하는 데에 활용

2.3 U-Net

  • 오토인코더
    • 인코더 : 입력 데이터 압축
    • 디코더 : 입력 데이터와 같은 차원의 데이터 출력
  • U-Net : 오토인코더의 변형 중 하나로, 이미지 데이터 처리하는 데 사용

— 신경망 구조에서 입력 데이터를 압축하는 인코더와, 다시 입력 데이터와 같은 차원의 데이터를 출력하는 디코더로 구성

— 디코더에서 이미지를 팽창시킬 때마다 하위층에서 추출된 특징을 연결해 추가적인 정보를 예측에 활용하는 구조

*스킵 연결(skip connection) : 인코더에서 데이터 압축 중 손실될 수 있는 특징을 유지해주는 역할

— 주로 입력 데이터의 질감을 유지하는 데 효과적 & 중요한 정보를 쉽게 파악할 수 있도록

— 이미지를 다루는 연구에 주로 사용되며, 안면 정면화를 시도한 연구에서도 사용


3. 안면 정면화 신경망

측면에서의 안면이 특징점이 적고 추출하기 어렵기 때문에 효과적인 신경망을 구성하는 것이 중요

*특징 추출에 뛰어난 VGG-Face & 이미지 정보 손실을 막기 위한 U-Net

3.1 안면 특징 추출 신경망

비제한적인 환경에서도 뛰어난 성능을 보여준 VGG-Face(사전 학습 모델) 기반으로 특징 추출 신경망 생성 → 새로운 신경망을 학습시키는 것보다 시간과 성능면에서 효과적

  • VGG-Face : 13개의 합성곱 층(Convolution Layer)과 5개의 MaxPooling 연산으로 이루어진 깊은 신경망
    1. 입력 : 1281283 크기의 안면이미지

    2. 합성곱층과 MaxPooling 연산 :

      1. 13개의 합성곱층을 거쳐 안면 이미지에서 다양한 특징 추출
      2. 각 합성곱층 뒤 ReLU 활성화 함수 사용해 비선형성 도입
      3. 또한, 5개의 MaxPooling 연산을 통해 이미지의 공간 해상도를 줄여가면서 추출화된 특징을 얻음
    3. 마지막 층 및 특징 추출 : VGG-Face의 마지막 층에는 44512 크기의 특징을 추출하는 MaxPooling 연산 수행됨 → 안면 이미지의 중요한 표현을 담고있음

    4. U-Net 구조 대비 추가 합성곱층 :
      1. 인코더의 마지막 층을 기준으로 대칭을 이루는 U-Net 구조를 사용하기 위해 1024 크기의 특징을 추출하는 합성곱층 하나가 추가됨
      2. 안면의 특징을 보다 상세하게 유지하면서 안면 정면화를 수행하는 U-Net 구조에 효과적으로 통합

      💡VGG-Face는 안면 이미지에서 유용한 특징을 추출하고, U-Net과의 통합을 통해 안면 정면화에 활용될 수 있는 안정적인 특징을 생성

3.2 정면 생성 신경망

안면의 핵심적인 특징을 추출하는 인코더가 성공적으로 작동하더라거, 정면 생성 신경망의 성능이 중요

→ 디코더에 이미지 처리에 뛰어난 합성곱 신경망과 특징 추출에 손실될 수 있는 특징을 보존하는 U-Net 구조를 사용(연구)

  1. 디코더는 5개의 합성곱층과 5개의 Upsampling 연산으로 구성됨
  2. UpSampling 이후에는 인코더의 동일한 크기의 층에서 추출된 특징을 연결해 안면 이미지의 질감과 중요 정보를 효과적으로 보존
  3. 인코더와 디코더를 거쳐 생성된 결과는 실제 정면과의 유사도 비교를 통해 완성도가 평가되며, 유사도 측정 기술로는 COMTRUE의 Face Similarity Analysis를 사용
  4. 정면화 신경망의 성능을 정량적으로 측정하고 최적의 결과를 얻을 수 있도록 함

4. 실험

4.1 학습 및 검증 데이터

한국인 안면 데이터 사용

  • 영상 해상도, 액세서리, 조명, 세기, 표정, 안면각도, 인물ID 다양한 항목들이 변화없는 데이터로 구성
  • 한국인 300명의 상하좌우 안면각도 20개, 조명 세기 및 방향 30개, 표정 세 종류, 안경 유뮤 상태를 포함한 약 100만개 이상의 안면 이미지 사용
  • 노이즈와 부가적인 정보를 제거위해 안면만을 잘라내는 전처리
  • 전체 300명 중 280명을 학습 데이터 20명을 검증 데이터로 사용

4.2 실험결과

안면 정면화는 다양한 안면각도에서 신원정보가 손실되지 않은 정면을 생성하는 것이 중요

— 수평 각도에서는 0도(원본)를 제외한 ±75°까지의 10개 안면 각도와 수직으로도 -15°부터 30°까지의 안면 각도를 다룸

*VGG-Face와 U-Net을 사용한 실험 결과

(a)와 (b)는 수직 각도 변화가 없는 측면

(c)와 (d)는 수직과 수평 각도를 모두 포함한 측면의 예측결과

검증에 사용된 20명의 측면들을 정면화했을 때 생성된 정면과 실제 정면과의 유사도를 안면의 각도에 따라 세분화해 나타낸 것

평균 유사도 : 78.26%

입력 이미지가 정면에 가까울수록 유사도가 상승함

가장 높은 유사도는 안면에 대한 수직 각도가 0도 + 수평각도가 ±15°일 때 85.32%

수직 각도와 수평 각도가 각각 30°, ±15°일 때 유사도가 가장 낮았음


5. 결론

안면 정면화 : 측면 이미지를 → 정면으로 변환하는 작업 (안면 인식의 측면 인식 문제를 해결)

측면에서도 높은 인식률을 보여준 VGG-Face를 활용해 안면의 특징을 추출 &U-Net구조를 통해 추출과정에서 생길 수 있는 정보 손실을 방지

이러한 기술을 사용해 생성된 정면은 실제 정면과 비교했을 때 평균적으로 78.26%의 유사도를 보임

→ 안면 인식률이 낮은 측면의 이미지를 정면을 변환해 신원 확인을 수월하게 할 수 있다는 점을 확인

→ 정면화 모델은 안면 인식 시스템이 측면에서도 사용될 수 있도록 확장할 수 있는 가능성 제시

profile
그래도 해야지

0개의 댓글