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)의 방법을 사용함
Viola-Jones Face detection
위와같은 Harr feature를 가지고, 부합되는 feature들을 detection함
- 눈이 코보다 더 어두운색
- 눈이 볼부분 보다 더 어두운색임
얼굴에 이런 feature들이 16만개정도 있으며, 그중 유용한 패턴들을 활용하여 얼굴 인식함
harr feature가 지나갈때마다의 합을 계산해야되는데,
integral image를 통해 빠르게 계산할 수 있음
→ 원래이미지에서 integral이미지로 변형한 것을 사용함
이미지에 여러 사이즈의 window로 스캔을 함
어떤 필터를 사용할지는 학습을 통해서 정함
필터를 통해 나온 feature가 얼굴에 부합되는 특징을 나타내면 얼굴로 인식함
Viola-Jones Face detection: Learning data
단계1. Face image(P개)와 얼굴이 아닌 이미지의 data(N개)를 사용하여 training 시킴
단계2. 얼굴이 아닌데, 얼굴로 판단된 이미지를 negative 이미지에 더 추가를 시킴
(negative set의 난이도를 점점 더 높여감)
Weak classifier(약분류기 - 얼굴을 검출하는 분류기)
필터를 사용해서 흰색영역과 검은색영역의 차이를 구할 때,
차이값에 threshold를 사용해서 얼굴여부를 결정함
여기서 p는 부호를 뜻함
AdaBoost알고리즘 사용 목적
Viola-Jones Face detection의 단계2.에서
얼굴이 아닌데, 얼굴로 판단된 이미지를 negative 이미지에 더 추가를 시키는 방법으로
아래와 같은 분류기를 통해 가중치의 값을 update시켜 나갈 수 있음
- pred=real인 경우 가중치를 낮게함
- pred ≠real인 경우 가중치를 크게해서 negative 이미지에 더 추가를 시킴
AdaBoost알고리즘 사용
약분류기를 활용하여 강분류기를 만듦
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 값을 가지고 있음
Edge orientation histogram 방법의 장점
더 적은양의 example로도 성능이 좋음
training이 빠름
옆모습을 가지고도 detector가 잘 작동함
'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 |