CV 8. Face Recognition - waegari/waegari.github.io GitHub Wiki
์ฑํฐ 8: Face Recognition (์ผ๊ตด ์ธ์)
1. Face Recognition์ด๋?
-
์ ์: ์ด๋ฏธ์ง(๋๋ ๋น๋์ค) ๋ด โ์ผ๊ตด์ด ๋๊ตฌ์ ๊ฒ์ธ์งโ ์๋์ผ๋ก ์ธ์ํ๋ ๊ธฐ์
- Identification(1:N): ์ฌ๋ฌ ๋ช ์ค ๋๊ตฌ์ธ์ง ์๋ณ
- Verification(1:1): ์ฃผ์ด์ง ์ ์(์์ด๋)๊ณผ ์ ๋ ฅ ์ผ๊ตด์ด ์ผ์นํ๋์ง ํ์ธ
-
์ ์ฉ ๋ถ์ผ: ์ถ์ ํต์ , ์ ๋ถ ํ์ธ, ์ค๋งํธํฐ ์ธ๋ฝ, ์๋ฐฐ์ ํ์ง, ์๋ ์ถ์ ๋ฑ
2. Face Recognition์ ๋์ ๊ณผ์
-
๋ณํ ์์ธ(์ค์ ๋์ด๋):
- Pose(ํฌ์ฆ ๋ณํ): ์ ๋ฉด, ์ธก๋ฉด, ์/์๋ ๋ฑ ๋ค์ํ ๊ฐ๋
- ์กฐ๋ช ๋ณํ, ๊ทธ๋ฆผ์, ๋ฐ๊ธฐ
- Expression(ํ์ ๋ณํ)
- Occlusion(๊ฐ๋ฆผ): ๋จธ๋ฆฌ์นด๋ฝ, ๋ง์คํฌ, ์๊ฒฝ, ์ ๋ฑ
- Aging(๋ ธํ), Make-up, ์ฑ๋ณ/์ธ์ข ๋ฑ
- ํด์๋, ์ผ์ ์ข ๋ฅ, ๋ฐฐ๊ฒฝ ๋ณต์ก๋ ๋ฑ
-
์ค์ ์ํ์์๋ ์ด๋ฐ ๋ณ์๊ฐ ์ธ์์ ์ด๋ป๊ฒ ์ํฅ์ ์ฃผ๋์ง, ์ด๋ค ๋ฐฉ๋ฒ์ด Robustํ์ง ๋ ผ์ ๋ก ์์ฃผ ์ถ์
3. ๋ํ์ Face Recognition ์๊ณ ๋ฆฌ์ฆ
(1) PCA (Principal Component Analysis) / Eigenface
-
ํต์ฌ ์๋ฆฌ:
- ์ด๋ฏธ์ง ์ ์ฒด๋ฅผ 1์ฐจ์ ๋ฒกํฐ๋ก ๋ณํ
- ๊ณต๋ถ์ฐ ํ๋ ฌ์ ๊ณ ์ ๋ฒกํฐ(Eigenvector) ๊ณ์ฐ โ โ์ผ๊ตด ๊ณต๊ฐ(face space)โ ์์ฑ
- ๊ฐ ์ผ๊ตด ์ด๋ฏธ์ง๋ฅผ โEigenfaceโ๋ก ํํ(์ฃผ์ฑ๋ถ์ ํฌ์)
- ์ฐจ์ ์ถ์์ ์ก์ ์ ๊ฑฐ์ ์ ๋ฆฌ
-
์์:
- ๋ฐ์ดํฐ ํ๋ ฌ $X$, ํ๊ท ๋ฒกํฐ $\mu$
- ๊ณต๋ถ์ฐ ํ๋ ฌ $S = \frac{1}{N} \sum_{i=1}^N (x_i - \mu)(x_i - \mu)^T$
- $S$์ ๊ณ ์ ๋ฒกํฐ ์ถ์ถ โ Eigenface
-
ํ๊ณ: ํฌ์ฆ/์กฐ๋ช ๋ณํ์ ์ฝํจ, ํด๋์ค ๊ตฌ๋ถ๋ ฅ ํ๊ณ
(2) LDA (Linear Discriminant Analysis) / Fisherface
-
ํต์ฌ ์๋ฆฌ:
- ๊ฐ ํด๋์ค(์ฌ๋)๋ณ๋ก ํ๊ท ๋ฒกํฐ์ ์ ์ฒด ํ๊ท ๊ณ์ฐ
- Within-class scatter์ Between-class scatter ๊ฐ๋ ๋์
- ํด๋์ค ๊ฐ ๋ถ์ฐ ์ต๋ํ, ํด๋์ค ๋ด ๋ถ์ฐ ์ต์ํํ๋ ํฌ์์ถ ๊ฒฐ์
- PCA๋ณด๋ค โ๊ตฌ๋ถ ๋ฅ๋ ฅโ์ด ๋ฐ์ด๋จ(ํนํ ์ฌ๋ ์ ๋ง์ ๋)
-
์์:
- Within-class scatter: $S_W = \sum_{c=1}^C \sum_{x \in X_c} (x - \mu_c)(x - \mu_c)^T$
- Between-class scatter: $S_B = \sum_{c=1}^C n_c (\mu_c - \mu)(\mu_c - \mu)^T$
- $S_W^{-1} S_B$์ ๊ณ ์ ๋ฒกํฐ๋ก ๋ถ๋ฅ
-
ํ๊ณ: ํด๋์ค๋ณ ์ํ ์ ์ ์ผ๋ฉด ํจ๊ณผ ์ ํ, ์ก์์ ๋ค์ ์ฝํจ
(3) AAM(Active Appearance Model), Morphable Model
- AAM: ์ผ๊ตด์ shape(ํํ)์ appearance(ํ ์ค์ฒ) ๋์ ๋ชจ๋ธ๋ง, ํ์ /ํฌ์ฆ ๋ณํ ๊ฐ์ธ
- Morphable Model: 3D ๊ธฐ๋ฐ ์ผ๊ตด ๋ชจ๋ธ์ ๋ง๋ค์ด ํฌ์ฆ/์กฐ๋ช ๋ณํ์๋ ๋์
4. ์ค์ ์ธ์ ์์คํ /ํ๊ฐ
-
์คํ ๋ฐ์ดํฐ์ :
- ๊ฒฝ์ฐฐ์ ๋จธ๊ทธ์ท, ์น์บ , ๊ณ ํด์๋ ์ฌ์ง, ์ค์ํ ์ด๋ฏธ์ง ๋ฑ ๋ค์
- ๋ฐ์ดํฐ์ ์ ์ข ๋ฅ์ ํ์ง์ด ์ธ์ ์ฑ๋ฅ์ ํฐ ์ํฅ
-
๋ฒค์น๋งํฌ/๊ฒฝ์ง๋ํ:
- 1997๋ ์ดํ Face Recognition Vendor Test(FRVT), Multi-biometric Evaluation(MBE) ๋ฑ
- ๋ฅ๋ฌ๋ ์ด์ (2010๋ ๋ ์ด๋ฐ๊น์ง) ์ฑ๋ฅ์ ์ ํ์ , ์ดํ CNN ๊ธฐ๋ฐ์ผ๋ก ์ฑ๋ฅ ๊ธ์์น
5. ํ๊ฐ ์งํ ๋ฐ ๊ทธ๋ํ
-
ROC(Receiver Operating Characteristic) Curve:
- x์ถ: False Accept Rate (FAR), y์ถ: True Accept Rate (TAR)
-
DET(Detection Error Tradeoff) Curve:
- x์ถ: False Reject Rate, y์ถ: False Accept Rate
- Operating Point(์๊ณ๊ฐ ์ ํ): ์ค์ ์์คํ ์ฑ๋ฅ์ threshold ๊ฒฐ์ ์ ์ข์ฐ
6. ์ต๊ทผ ํธ๋ ๋/์ค๋ฌด์ ์์
- 2012~13๋ AlexNet ๋ฑ ๋ฅ๋ฌ๋ ๋์ ์ดํ, FaceNet, VGGFace ๋ฑ CNN ๊ธฐ๋ฐ ๋ชจ๋ธ์ด ์๋์ ์ฑ๋ฅ ๊ธฐ๋ก
- Multi-biometric: ์ผ๊ตด+ํ์ฑ+์ง๋ฌธ ์กฐํฉํด ์ฑ๋ฅ ๊ทน๋ํ
- ๋ชจ๋ฐ์ผ/์ค์๊ฐ ์ธ์, ๋๊ท๋ชจ ์ธ๋ฌผ DB์์์ ๋น ๋ฅธ ๋งค์นญ ๋ฑ
7. ์ํ์ ์์ฃผ ๋์ค๋ ์ธ๋ถ ํฌ์ธํธ
- PCA์ LDA ์ฐจ์ด/์ฅ๋จ์ , ์์, ํ์ฉ๋ฒ(๋ ผ์ ํ/๋จ๋ตํ)
- Identification vs Verification์ ์๋ฏธ/์ฐจ์ด
- Within-class, Between-class scatter ์ ์์ ๊ณ์ฐ
- ROC/DET Curve ํด์, Operating Point ์๋ฏธ
- ์ค์ ๋ฐ์ดํฐ์ ์ข ๋ฅ, ๋ฒค์น๋งํฌ/๊ฒฝ์ง๋ํ ์ฌ๋ก(์ฐ๋, ํน์ง)
- ํฌ์ฆ/์กฐ๋ช /๊ฐ๋ฆผ/์์ด์ง ๋ฑ ํ์ค์ ๋ฌธ์ ์ ๊ฐ์ธํ ๋ชจ๋ธ ์ค๋ช
- ๋ฅ๋ฌ๋ ์ด์ /์ดํ ๋ํ ์๊ณ ๋ฆฌ์ฆยทํธ๋ ๋
[์๊ธฐ/๋ฉ๋ชจ์ฉ ํค์๋]
- Face Recognition = โ์ผ๊ตด์ ์ ์ ํ์ โ
- Identification(1:N), Verification(1:1)
- PCA, LDA, Eigenface, Fisherface, AAM, Morphable Model
- Within-class, Between-class scatter, ์ฐจ์ ์ถ์, ๊ณ ์ ๋ฒกํฐ
- ROC, DET Curve, Operating Point, FAR, TAR
- ๋ฐ์ดํฐ์ ์ข ๋ฅ(๋จธ๊ทธ์ท, ์น์บ ๋ฑ)
- ๋ฅ๋ฌ๋ ๋์ ์ ํ ๋ณํ