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
  • ๋ฐ์ดํ„ฐ์…‹ ์ข…๋ฅ˜(๋จธ๊ทธ์ƒท, ์›น์บ  ๋“ฑ)
  • ๋”ฅ๋Ÿฌ๋‹ ๋„์ž… ์ „ํ›„ ๋ณ€ํ™”