let us not love with words or tongue but actions and truth.

IT/영상처리분석

Face Detection

sarah0518 2022. 5. 23. 19:26

Deep learning이 잘 수행하지 못하는 이미지분석영역

- keypoint검출

- 3d reconstruction

 

얼굴 검출이 보편적으로 쓰이는 이유

- 원거리 인식이 가능

- 저렴한 비용의 장비(카메라)에서도 가능함

- 비접촉식임

 

Face detection 활용

 Access control – Entrance door

• Surveillance – Monitoring area(position 변화가 많아 난이도 높음)

• Civil applications – Identify subjects based on driver’s license

• Forensic application – Criminal/victim – identification

 

 

Biometrics 영역에서 accuracy가 가장 좋은것:

finger-scan

** signiture: 특수 입력을 이용한 펜으로 detection 할 수 있으나 난이도 높음

 

얼굴인식에서 고려해야할 내용들(challenges)

  • translation
  • rotation 문제 (in-plane(이미지 회전): 더 쉬움, out-of-plane(형태가 변함): 이게 더 어려움)
  • scale(해상도)
  • expression
  • aging 
  • occulusion
  • cosmetic
  • plastic surgery
  • lighting

 

얼굴인식 category

- detection: 2-class classification문제

- verification 

  a. verification: 1 to 1(하나의 이미지를 주고 그 사람이 맞는지만 보는 것)

  b. identification: 1 to many(DB에 있는 여러명 중에 1명을 맞추는 것)

 

Face 인식이 특별한 이유 2가지

- 일반물체는 뒤집어도 혼된되는 정도가 다른데,

사람 얼굴은 뒤집어 놓으면 잘 인식이 어려움

- 물체를 인식할 때와 사람을 인식할 때 뉴런의 반응형태가 다름

 

 

face detction의 중요성

- 얼굴 인식을 위한 첫번째 단계임

- 컴퓨터와 human간의 interaction의 첫 발판임

- 다른 일반적인 물체(객체) 인식에도 적용되어 사용될 수 있음

 

 

Face detection Apporaches 

1. knowledge-base methods: rule 기반

top-down 방법: 2개의 눈, 코와 입의 위치, 코의 길이 등의 규칙들을 참고

- 장점: 적용이 쉬움

- 단점: accuracy가 낮음

         변화요인 추가시 검출력이 낮음

 

2. color based methods

- 장점: 쉽게 구현이 가능함

         pose 변화/ 표정변화에 영향을 받지 않음

- 단점: 조명의 변화에 대해서 영향 받음(FP가 높음)

        얼굴이 아닌데, 피부색이기 때문에 검출되는 영역들이 많음

실제 사람얼굴은 color space 에서 동일 영역에 분포하므로 clustering 할 수 있음

단, 얼굴이 아닌데, 피부색이기 때문에 검출되는 영역들이 많음

 

 

3. template matching

얼굴 template으로 필터response값을 계산함

- 장점: 간단함

- 단점: pose별, scale별 여러가지의 필터를 준비하기가 어려움

 

4. feature based approaches

edge, intensity, shape등의 feature로 검출하는 것

Viola-Jones Face detection 기법이 있음

Harr feature(integral image)의 방법을 사용함

두개의 필터로 대부분의 얼굴을 검출 할 수 있음, 흰색영역과 검은색 영역의 차이를 계산함, weak classifier

 

Viola-Jones Face detection

위와같은 Harr feature를 가지고, 부합되는 feature들을 detection함

- 눈이 코보다 더 어두운색

- 눈이 볼부분 보다 더 어두운색임

얼굴에 이런 feature들이 16만개정도 있으며, 그중 유용한 패턴들을 활용하여 얼굴 인식함

 

harr feature가 지나갈때마다의 합을 계산해야되는데, 

integral image를 통해 빠르게 계산할 수 있음

→ 원래이미지에서 integral이미지로 변형한 것을 사용함

RII(4)-RII(2)-RII(3)+RII(1)

이미지에 여러 사이즈의 window로 스캔을 함

어떤 필터를 사용할지는 학습을 통해서 정함

필터를 통해 나온 feature가 얼굴에 부합되는 특징을 나타내면 얼굴로 인식함

 

 

Viola-Jones Face detection: Learning data

단계1. Face image(P개)와 얼굴이 아닌 이미지의 data(N개)를 사용하여 training 시킴

단계2. 얼굴이 아닌데, 얼굴로 판단된 이미지를 negative 이미지에 더 추가를 시킴

(negative set의 난이도를 점점 더 높여감)

 

 

Weak classifier(약분류기 - 얼굴을 검출하는 분류기)

필터를 사용해서 흰색영역과 검은색영역의 차이를 구할 때, 

차이값에 threshold를 사용해서 얼굴여부를 결정함

f(x)가 흰색과 검은색 영역의 차이값임

여기서 p는 부호를 뜻함

 

 

AdaBoost알고리즘 사용 목적

Viola-Jones Face detection의 단계2.에서

얼굴이 아닌데, 얼굴로 판단된 이미지를 negative 이미지에 더 추가를 시키는 방법으로

아래와 같은 분류기를 통해 가중치의 값을 update시켜 나갈 수 있음

- pred=real인 경우 가중치를 낮게함

- pred ≠real인 경우 가중치를 크게해서 negative 이미지에 더 추가를 시킴

at는 양수를 가짐. h(x) = y라는 뜻은 pred=real을 뜻함

 

 

 

AdaBoost알고리즘 사용

약분류기를 활용하여 강분류기를 만듦

at는 가중치임

weight가 클수록 그 샘플은 잘못분류될 가능성이 높아짐(어려운 sample임)

→ 그러므로 다음단계에서 더 추가되는 sample들임

 

** adaboost: 

영상인식하기 위해 영상의 특징을 weak classifier를 반복적으로 적용하는 방법으로 찾아나가는 알고리즘

이렇게 하면, weak classifier가 strong classifier가 됨

단점: 포즈변화발생시 분류가 어려움

 

 

Casecade of Strong Classifer

여러개의 strong classifier가 합쳐져 최종 detection 시스템이 구성됨

casecade를 사용하면 얼굴이 아닌 것들을 빠르게 제거하면서 나갈 수 있음

(얼굴이 있는 것을 찾는 것이 아님)

 

different processing time with imgaes of the same size

각 단계마다 image contents에 따라 이미지 처리 시간이 달라짐

(해당 자료에서는 16만개중 6060개의 feature가 사용 됨, 5k faces 사용)

 

 

Edge orientation histogram (Viola-Jones Face detection 확장버전)

포즈변화에 더 잘 적용되게 만든 알고리즘임

더 적은양의 데이터로 학습을 시켜도 성능이 좋은 알고리즘임

아래와 같은 edge특성을 사용하여 detection하는 방법임

• Invariant to global illumination changes (edge는 illumination변화에 강인함) 

• Captures geometric properties of faces (edge는 얼굴의 윤곽선을 포함함) 

• Domain knowledge represented:

– Inner part of the face includes more horizontal edges then vertical

   (얼굴 안쪽에는 수평적 edge가 많음)

– The ration between vertical and horizontal edges is bounded

   (세로, 가로방향 edge의 비율이 제한이 있음)

– The area of the eyes includes mainly horizontal edges

   (눈 주변에는 가로방향edge가 많음)

– The chin has more or less the same number of oblique edges on both sides

   (턱 주변은 대칭, 반대되는 edge가 나타남)

– symmetry(얼굴은 거의 대칭임)

 

Edge orientation histogram 방법

integral image와 유사하게 각 포인트(1~4)들은 edge orientation histogram 값을 가지고 있음

eh(4)+eh(1)-eh(2)-eh(3)

Edge orientation histogram 방법의 장점

더 적은양의 example로도 성능이 좋음

training이 빠름

옆모습을 가지고도 detector가 잘 작동함

Edge Orientation Histogram의 ROC커브

'IT > 영상처리분석' 카테고리의 다른 글

Deep learning 이미지 분류  (0) 2022.06.10
Face recognition  (0) 2022.05.30
여러 종류의 Feature descriptor  (0) 2022.05.16
keypoint detection - Harris, SIFT, SURF, LIFT  (0) 2022.04.18
Line & Ellipse detection  (0) 2022.04.17