CNN Cascade for Face Detection [Kor]

Li et al. / A Convolutional Neural Network Cascade for Face Detection / CVPR 2015

1. Problem definition

์–ผ๊ตด ์ธ์‹์€ ์ผ๋ฐ˜์ ์ธ Object Detection ๋ฌธ์ œ๋ณด๋‹ค ์กฐ๊ธˆ ๋” ์–ด๋ ต๋‹ค๊ณ  ์•Œ๋ ค์ ธ ์žˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์–ผ๊ตด ํ‘œ์ •, ํฌ์ฆˆ, ์ธ์ข…, ์กฐ๋ช…๊ณผ ๊ฐ™์€ ์ฃผ๋ณ€ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ์‹œ๊ฐ์ ์œผ๋กœ ์˜ํ–ฅ๋ฐ›๋Š” ์š”์†Œ๊ฐ€ ์ƒ๋‹นํžˆ ๋งŽ๋‹ค. ๋˜ํ•œ ์ „์ฒด ์ด๋ฏธ์ง€์—์„œ ์ฐพ์•„์•ผ ํ•˜๋Š” ์–ผ๊ตด์ด ๋งŽ๊ณ , ํฌ๊ธฐ๊ฐ€ ์ž‘๋‹ค๋ฉด ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ธ์‹ ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง€๊ฒŒ ๋œ๋‹ค.

์œ„์˜ ๋‘ ๊ฐ€์ง€ ๋ฌธ์ œ์ ์€ ์ •ํ™•ํ•œ ์ด์ง„ ๋ถ„๋ฅ˜ ์„ฑ๋Šฅ๊ณผ ๋น ๋ฅธ ์—ฐ์‚ฐ ์„ฑ๋Šฅ์„ ์š”๊ตฌํ•œ๋‹ค. ํ•ด๋‹น ๋…ผ๋ฌธ์—์„œ๋Š” CNN๊ณผ Cascade architecture๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •ํ™•๋„์™€ ์„ฑ๋Šฅ์„ ๋ชจ๋‘ ๋งŒ์กฑํ•˜๋Š” Convolutional Neural Network Cascade๋ฅผ ์†Œ๊ฐœํ•œ๋‹ค.

2. Motivation

๊ธฐ์กด์— ์•Œ๋ ค์ง„ ์–ผ๊ตด์ธ์‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์€ Haar feature์™€ ๊ฐ™์€ ๊ฐ„๋‹จํ•œ ํŠน์ง•๋“ค์„ ์ด์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•˜๋‹ค. ์ด๋Ÿฌํ•œ ํŠน์ง•๋“ค์€ ์ •๋ฉด์—์„œ ์ฐ์€ ์ •์ œ๋œ ์–ผ๊ตด๋“ค์€ ์ž˜ ํ‘œํ˜„ํ•˜์ง€๋งŒ ์ •์ œ๋˜์ง€ ์•Š์€ ํ™˜๊ฒฝ์—์„œ์˜ ์–ผ๊ตด์„ ์ธ์‹ํ•˜๋Š” ์ƒํ™ฉ์—์„œ๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ์•ฝ์„ธ๋ฅผ ๋ณด์˜€๋‹ค.

๊ทธ๋ž˜์„œ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ์ ๋“ค์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ๋งŽ์€ ๊ฐœ์„ ์‚ฌํ•ญ๋“ค์ด ์ œ์•ˆ๋˜์—ˆ๋Š”๋ฐ ์ด๋“ค ์ค‘ ๋งŽ์€ ์ˆ˜๋Š” ๊ฐ„๋‹จํ•œ ํŠน์ง• ๋Œ€์‹ ์— ์‹ฌํ™”๋œ ํŠน์ง•์„ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค.

์ €์ž๋Š” CNN์„ ์ด์šฉํ•˜์—ฌ ํŠน์ง•์„ ์ถ”์ถœํ•˜๋ฉด ๊ธฐ์กด์— ์†์ˆ˜ ์–ป์€ ํŠน์ง•์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์— ๋น„ํ•ด ์ •์ œ๋˜์ง€ ์•Š์€ ์ƒํ™ฉ์—์„œ ์–ผ๊ตด์„ ๋” ์ž˜ ํ‘œํ˜„ํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

ํ•˜์ง€๋งŒ CNN์„ ์ด์šฉํ•ด์„œ ์ „์ฒด ์ด๋ฏธ์ง€๋ฅผ ์Šค์บ”ํ•˜๋Š” ๊ฒƒ์€ ์ƒ๋‹นํ•œ ์—ฐ์‚ฐ๋Ÿ‰์„ ์š”๊ตฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ €์ž๋Š” CNN cascade๋ฅผ ๋„์ž…ํ–ˆ๋‹ค.

์ €ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€๋ฅผ ์ด์šฉํ•˜์—ฌ ํ›„๋ณด๋“ค์„ ๊ฑธ๋Ÿฌ๋‚ด๊ณ , ์—„์„ ๋œ ํ›„๋ณด๋“ค์„ ๋Œ€์ƒ์œผ๋กœ ๊ณ ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€๋ฅผ ์ด์šฉํ•ด ์‹ ์ค‘ํ•˜๊ฒŒ ํŒ๋‹จํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

1994๋…„ VaillanํŒ€์€ ์–ผ๊ตด์ธ์‹์— ์‹ ๊ฒฝ๋ง์„ ์ ์šฉํ–ˆ๋‹ค. ๊ทธ๋“ค์€ ์ด๋ฏธ์ง€์— ์–ผ๊ตด์ด ์žˆ๋Š” ์ง€ ์—†๋Š” ์ง€๋ฅผ ์ธ์‹ํ•˜๋Š” CNN์„ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์„ ์†Œ๊ฐœํ–ˆ๋‹ค.

1996๋…„ RowleyํŒ€์€ ๋˜‘๋ฐ”๋กœ ์„œ์žˆ๋Š” ์ •๋ฉด ์–ผ๊ตด์— ๋Œ€ํ•œ ์‹ ๊ฒฝ๋ง ๊ตฌ์กฐ๋ฅผ ์†Œ๊ฐœํ–ˆ๊ณ , "router" ๊ตฌ์กฐ๋ฅผ ๋„์ž…ํ•˜์—ฌ ํšŒ์ „์— ์ƒ๊ด€์—†์ด ์ธ์‹ํ•˜๋Š” ๊ตฌ์กฐ๋กœ ํ™•์žฅ์‹œ์ผฐ๋‹ค.

2002๋…„ GarciaํŒ€์€ ๋ณต์žกํ•œ ์ด๋ฏธ์ง€์—์„œ ๋ฐ˜๋งŒ ์ •๋ฉด์ธ ์–ผ๊ตด์„ ์ธ์‹ํ•˜๋Š” ๋ฐ ์„ฑ๊ณตํ–ˆ๋‹ค.

2005๋…„ OsadchyํŒ€์€ ์–ผ๊ตด์ธ์‹๊ณผ ํฌ์ฆˆ๋ฅผ ๋™์‹œ์— ์ธ์‹ํ•˜๋Š” CNN์„ ํ•™์Šต์‹œ์ผฐ๋‹ค.

์—ฌํƒœ๊นŒ์ง€ ์†Œ๊ฐœ๋œ ๊ด€๋ จ ์—ฐ๊ตฌ๋“ค์€ ์ •์ œ๋œ ์ƒํ™ฉ์—์„œ ์ •๋ฉด์„ ๋ฐ”๋ผ๋ณด๋Š” ์–ผ๊ตด์— ๋Œ€ํ•ด์„œ๋Š” ์ข‹์€ ์„ฑ๋Šฅ์„ ๋‚ด๋Š” ๊ฒƒ์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ์ง€๋งŒ ์ •์ œ๋˜์ง€ ์•Š์€ ์ƒํ™ฉ์—์„œ๋Š” ์ข‹์€ ์„ฑ๋Šฅ์„ ๋‚ด๋Š” ์ง€ ์•Œ๋ ค์ง„ ๋ฐ”๊ฐ€ ์—†๋‹ค.

์ตœ๊ทผ CNN ๊ธฐ๋ฐ˜์˜ ์ธ์‹ ๋ฐฉ๋ฒ• ์ค‘ ์ž˜ ์•Œ๋ ค์ง„ ๊ฒƒ ์ค‘ ํ•˜๋‚˜๋Š” VOC 2021์—์„œ state-of-the-art๋ฅผ ๋‹ฌ์„ฑํ•œ Girshick ํŒ€์˜ R-CNN์ด๋‹ค.

ํ•˜์ง€๋งŒ R-CNN ์—ญ์‹œ ๋ณต์žกํ•œ ์‹œ๊ฐ์  ํŠน์ง•์„ ๊ฐ€์ง„ ์–ผ๊ตด์„ ๋น ๋ฅด๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ์ธ์‹ํ•˜๊ธฐ์—๋Š” ์–ด๋ ค์›€์ด ๋”ฐ๋ฅธ๋‹ค.

Idea

์ด ๋…ผ๋ฌธ์˜ ํ•ต์‹ฌ ์•„์ด๋””์–ด๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ CNN์„ ์ž…๋ ฅ ์ด๋ฏธ์ง€์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ํ‚ค์›Œ๊ฐ€๋ฉด์„œ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ฐฐ์น˜ํ•จ์œผ๋กœ์จ ๋น ๋ฅด๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ์–ผ๊ตด ์ธ์‹์„ ์ˆ˜ํ–‰ํ•˜๋Š” CNN cascade ๊ตฌ์กฐ์— ์žˆ๋‹ค. detection์˜ ํ›„๋ณด๊ฐ€ ๋˜๋Š” ์ „์ฒด detection window๋ฅผ CNN์„ ํ†ตํ•ด ์—ฐ์‚ฐํ•˜๊ฒŒ๋˜๋ฉด ๋А๋ ค์งˆ ์ˆ˜ ์žˆ๋Š”๋ฐ, ๋‚ฎ์€ ํ•ด์ƒ๋„๋กœ resizeํ•˜์—ฌ false positive๋ฅผ ๊ฑธ๋Ÿฌ๋‚ด๊ณ  ๊ณ ํ•ด์ƒ๋„์—์„œ ์ •๋ฐ€ํ•œ ์ด์ง„ ๋ถ„๋ฅ˜๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋˜ํ•œ CNN ์‚ฌ์ด์—์„œ ์ƒˆ๋กœ์šด ์ž…๋ ฅ ์ด๋ฏธ์ง€๋ฅผ ๋„˜๊ฒจ์ฃผ๋Š” ๊ณผ์ •์—์„œ ์ •ํ™•๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋‹ค์ค‘ ํด๋ž˜์Šค ๋ถ„๋ฅ˜ CNN์„ ์ด์šฉํ•œ calibration stage๋ฅผ ๋„์ž…ํ•˜์˜€๋‹ค.

3. Method

Overall framework

์ „์ฒด ํ…Œ์ŠคํŠธ ํŒŒ์ดํ”„๋ผ์ธ์€ ์•„๋ž˜ ๊ทธ๋ฆผ์„ ํ†ตํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ฃผ์–ด์ง„ ํ…Œ์ŠคํŠธ ์ด๋ฏธ์ง€์— ๋Œ€ํ•ด 12-net์ด ์ „์ฒด ์ด๋ฏธ์ง€๋ฅผ 12x12 ์‚ฌ์ด์ฆˆ์˜ ์œˆ๋„์šฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ์Šค์บ”ํ•˜๊ณ  90%์˜ ํ›„๋ณด๋ฅผ ์ œ์™ธ์‹œํ‚จ๋‹ค. ๋‚จ์€ ํ›„๋ณด๋“ค์€ 12-calibration-net๋ฅผ ์ด์šฉํ•˜์—ฌ ์–ผ๊ตด์ด ์ค‘์•™์— ์˜ค๋„๋ก ์‚ฌ์ด์ฆˆ์™€ ์œ„์น˜๊ฐ€ ์กฐ์ •๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ค‘์ฒฉ๋œ ์˜์—ญ์„ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด NMS(Non Maximum Suppression)๊ฐ€ ์ˆ˜ํ–‰๋œ๋‹ค.

๋™์ผํ•œ ๊ณผ์ •์„ 24x24 ์‚ฌ์ด์ฆˆ์˜ ์œˆ๋„์šฐ๋ฅผ ์ด์šฉํ•œ 24-net, 24-calibration-net์—์„œ ์ˆ˜ํ–‰ํ•˜๋ฉฐ ์ด ๊ณผ์ •์—์„œ๋Š” 12x12์˜ ์ž…๋ ฅ์„ ํ•จ๊ป˜ ๋ฐ›์•„ ๋‹ค์ค‘ ํ•ด์ƒ๋„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ classification์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ 48-net์€ 48x48 ์ด๋ฏธ์ง€๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์œผ๋ฉฐ, ์ตœ์ข…์ ์œผ๋กœ Global NMS๊ฐ€ ์ ์šฉ๋˜์–ด IoU threshold๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ์œˆ๋„์šฐ๋ฅผ 48-calibration-net์— ์ „๋‹ฌํ•˜๊ณ  ํฌ๊ธฐ์™€ ์œ„์น˜๊ฐ€ ์กฐ์ •๋œ ์œˆ๋„์šฐ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

CNN Structures

Cascade์—๋Š” 6๊ฐœ์˜ CNN์ด ์กด์žฌํ•œ๋‹ค. ์–ผ๊ตด๊ณผ ์–ผ๊ตด์ด ์•„๋‹Œ ๊ฒƒ์„ ์ด์ง„ ๋ถ„๋ฅ˜ํ•˜๋Š” 3๊ฐœ์˜ CNN, ๊ทธ๋ฆฌ๊ณ  Bounding box๋ฅผ calibrateํ•˜๋Š” 3๊ฐœ์˜ CNN์ด๋‹ค. Calibration network๋Š” Bounding box๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์กฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ๋ณ€ํ˜•์„ ๋ฏธ๋ฆฌ ์ •์˜๋œ ํŒจํ„ด์„ ์ด์šฉํ•˜๋ฉฐ, ์ด๋ฅผ ์œ„ํ•œ multi-class classification์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

์—ฌ๋Ÿฌ ํ•ด์ƒ๋„์˜ ๋„คํŠธ์›Œํฌ๋ฅผ ๋ณตํ•ฉ์ ์œผ๋กœ ์ด์šฉํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ์ด์ง„ ๋ถ„๋ฅ˜์˜ ์ •ํ™•๋„๋ฅผ ๋†’์˜€๊ณ , Calibration์„ Multi-class classification ๋ฌธ์ œ๋กœ ๋ณด๊ณ  ์ ‘๊ทผํ•จ์œผ๋กœ์จ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œ์ผฐ๋‹ค.

12-net

12-net์€ ํ…Œ์ŠคํŠธ ํŒŒ์ดํ”„๋ผ์ธ์˜ ์ฒซ๋ฒˆ์งธ CNN์— ํ•ด๋‹นํ•œ๋‹ค.

3x12x12์˜ ์ž…๋ ฅ ์ด๋ฏธ์ง€๋ฅผ ๋ฐ›์œผ๋ฉฐ, Convolution layer - Max-Pooling layer - Fully-connected layer์˜ ์–•์€ CNN ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

12-calibration-net

12-calibration-net์€ bounding box ์กฐ์ •์„ ์œ„ํ•ด 12-net ๋‹ค์Œ์— ์˜ค๋Š” CNN์„ ๋งํ•œ๋‹ค. 12-calibration-net๋„ ์—ญ์‹œ ์–•์€ CNN์ด๋ฉฐ, N๊ฐœ์˜ calibration ํŒจํ„ด์ด scale ๋ณ€ํ™”์™€ offset vector์˜ 3๊ฐ€์ง€ ์กฐํ•ฉ์œผ๋กœ ๋ฏธ๋ฆฌ ์ •์˜๋˜์–ด์žˆ๋‹ค.

์ธ์‹ window๊ฐ€ ์ขŒ์ƒ๋‹จ ์ขŒํ‘œ (x, y)์™€ ํฌ๊ธฐ (w, h)๋ฅผ ๊ฐ€์งˆ ๋•Œ, calibration pattern์€ window๋ฅผ ์กฐ์ •ํ•˜์—ฌ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ๋งŒ๋“ ๋‹ค.

12-calibration-net์˜ ๊ตฌ์กฐ๋Š” ์•„๋ž˜ ์ด๋ฏธ์ง€์™€ ๊ฐ™๋‹ค.

calibration net์˜ ๊ฒฐ๊ณผ๋Š” N๊ฐœ ํŒจํ„ด์— ๊ฐ๊ฐ ํ•ด๋‹นํ•˜๋Š” confidence score vector์ด๋‹ค. ์ด ํŒจํ„ด๋“ค์€ ์„œ๋กœ ๋ฌด๊ด€ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— low confidence threshold๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ๋†’์€ confidence score๋“ค์„ ํ‰๊ท ๋‚ด์„œ ์กฐ์ •์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

24-net

24-net์€ ์ค‘๊ฐ„ ๋‹จ๊ณ„์˜ ์ด์ง„ ๋ถ„๋ฅ˜ CNN์ด๋‹ค.

๋น ๋ฅธ ์„ฑ๋Šฅ์„ ์œ„ํ•ด 12-net๊ณผ ๋น„์Šทํ•œ ์–•์€ CNN ๊ตฌ์กฐ๊ฐ€ ์„ ํƒ๋˜์—ˆ์ง€๋งŒ, 24-net์—์„œ๋Š” ๋‹ค์ค‘ ํ•ด์ƒ๋„ ๊ตฌ์กฐ๊ฐ€ ์ ์šฉ๋˜์—ˆ๋‹ค. 24x24 ์ž…๋ ฅ์— ๋”ํ•ด 12-net๊ณผ ๋™์ผํ•œ ์„œ๋ธŒ ๊ตฌ์กฐ์— 12x12 ํ•ด์ƒ๋„์˜ ์ž…๋ ฅ์„ ํ•จ๊ป˜ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด๋‹ค

์ด๋Ÿฌํ•œ ๋‹ค์ค‘ ํ•ด์ƒ๋„ ๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•ด, 24-net์€ ์ž‘์€ ์–ผ๊ตด์„ ์ธ์‹ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” 12x12 ํ•ด์ƒ๋„์˜ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜์—ฌ ๋ถ„๋ฅ˜๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค.

24-calibration-net

12-calibration-net๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ, 24-calibration-net์€ N๊ฐœ์˜ calibration ํŒจํ„ด์„ ๊ฐ€์ง„ ๋˜ ๋‹ค๋ฅธ calibration net์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ž…๋ ฅ ์ด๋ฏธ์ง€๊ฐ€ 24x24๋ผ๋Š” ๊ฒƒ๋งŒ ๋นผ๋ฉด 24-calibration-net์€ 12-calibration-net๊ณผ ๋™์ผํ•˜๋‹ค.

48-net

48-net์€ ๋งˆ์ง€๋ง‰ ์ด์ง„ ๋ถ„๋ฅ˜ CNN์ด๋‹ค. ์ด ๋‹จ๊ณ„์—์„œ๋Š” ์ ์€ ์ˆ˜์˜ ์œ ๋ ฅํ•œ ํ›„๋ณด๋“ค์ด ์„ ์ •๋˜์—ˆ๊ธฐ๋•Œ๋ฌธ์— ํ‘œํ˜„๋ ฅ์ด ํ’๋ถ€ํ•˜์ง€๋งŒ ๋น„๊ต์  ๋А๋ฆฐ CNN์„ ์ ์šฉํ•  ๋งŒํ•˜๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

48-net์€ ์ด์ „์˜ 12-net, 24-net์— ๋น„ํ•ด ์ƒ๋Œ€์ ์œผ๋กœ ๋” ๋ณต์žกํ•˜๋‹ค. 24-net๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋‹ค์ค‘ ํ•ด์ƒ๋„ ๊ตฌ์กฐ๋ฅผ ์ฑ„ํƒํ•˜์˜€๋‹ค.

48-calibration-net

48-calibration-net์€ cascade์˜ ๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„์ด๋‹ค. ๋™์ผํ•˜๊ฒŒ N=45์˜ ํŒจํ„ด์„ ๊ฐ€์ง„๋‹ค.

์ด ๋‹จ๊ณ„์—์„œ๋Š” ๋” ์ •ํ™•ํ•œ ์กฐ์ •์„ ์œ„ํ•ด ํ•œ ๊ฐœ์˜ pooling layer๋งŒ ๊ฐ€์ง€๋„๋ก ํ•˜์˜€๋‹ค.

Non Maximum Suppression

๋ฐ˜๋ณต์ ์œผ๋กœ ๊ฐ€์žฅ ๋†’์€ confidence score๋ฅผ ๊ฐ–๋Š” window๋ฅผ ์„ ํƒํ•˜๊ณ , ์ค‘์ฒฉ๋œ window๋ฅผ ์‚ดํŽด๋ณด๊ณ  ๋ฏธ๋ฆฌ ์ •์˜ํ•œ threshold๋ฅผ ์ดˆ๊ณผํ•˜๋Š” IoU๋ฅผ ๊ฐ€์ง€๋Š” ๊ฒฝ์šฐ ์ œ๊ฑฐํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

๋‹จ, 12-net๊ณผ 24-net์˜ ๊ฒฝ์šฐ ์–•์€ CNN ๊ตฌ์กฐ๋ฅผ ์ฑ„ํƒํ•˜๋ฉด์„œ ๋‚ฎ์€ ํ‘œํ˜„๋ ฅ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด๋กœ ์ธํ•ด true positive๋ณด๋‹ค false positivie๊ฐ€ ๋” ๋†’์€ confidence score๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.

๋”ฐ๋ผ์„œ 12-calibration-net๊ณผ 24-calibration-net ์ดํ›„์—๋Š” ๋ณด์ˆ˜์ ์œผ๋กœ NMS์„ ์ ์šฉํ•˜๋„๋ก ํ–ˆ๊ณ , 48-net ์ดํ›„์— ์˜ค๋Š” NMS๋Š” ์ „์ฒด์ ์œผ๋กœ NMS๋ฅผ ์ ์šฉํ•˜๋„๋ก ํ–ˆ๋‹ค.

CNN for calibration

Bounding-box๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์ถ”์ •ํ•˜๊ธฐ ์œ„ํ•ด์„œ R-CNN๊ณผ ๊ฐ™์ด Bounding-box regression์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ํ•œ์ •์ ์ธ ์–‘์˜ ํ•™์Šต ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์‰ฝ๊ฒŒ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๊ฒŒ Calibration์„ ๋‹ค์ค‘ ํด๋ž˜์Šค ๋ถ„๋ฅ˜ ๋ฌธ์ œ๋กœ ๊ฐ„์†Œํ™”ํ•˜์—ฌ ์ฒ˜๋ฆฌํ•˜์˜€๋‹ค.

Training

CNN cascade๋ฅผ ํ•™์Šตํ•˜๋ฉด์„œ negative ์ƒ˜ํ”Œ์„ ์–ป๊ธฐ ์œ„ํ•ด 5800๊ฐœ์˜ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๋ฅผ ์ˆ˜์ง‘ํ–ˆ๋‹ค. positive ์ƒ˜ํ”Œ์„ ์œ„ํ•ด AFLW์˜ ์–ผ๊ตด๋“ค์„ ์‚ฌ์šฉํ–ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ด์ง„ ๋ถ„๋ฅ˜์™€ ๋‹ค์ค‘ ํด๋ž˜์Šค ๋ถ„๋ฅ˜ CNN ๋ชจ๋‘, ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด multinomial logistic regression ๋ชฉ์  ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.

Calibration net์„ ํ•™์Šต์‹œํ‚ค๊ธฐ ์œ„ํ•ด face annotation๋“ค์„ calibration ํŒจํ„ด์— ๋”ฐ๋ผ ์กฐ์ž‘ํ•˜์˜€๋‹ค.

4. Experiment & Result

CNN Cascade๋Š” ๋‘ ๊ฐ€์ง€ ๋ฒค์น˜๋งˆํฌ์—์„œ ๊ฒ€์ฆ์„ ์ˆ˜ํ–‰ํ–ˆ๋‹ค.

AFW

Annotated Faces in the Wild

Zhu ํŒ€์ด ๋งŒ๋“  205๊ฐœ์˜ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ ์…‹์ด๋‹ค.

AFW ํ…Œ์ŠคํŠธ ์…‹์—์„œ CNN Cascade๊ฐ€ state-of-the-art์™€ ๋น„๊ตํ•  ๋งŒํ•œ ์ˆ˜์ค€์— ์ด๋ฅด๋ €๋‹ค.

ํ‰๊ฐ€ ์ง€ํ‘œ๋Š” Precision-Recall curve๋ฅผ ์ด์šฉํ•˜์˜€๋‹ค.

state-of-the-art๋ฅผ ์™„์ „ํžˆ ๋„˜์–ด์„œ์ง€ ๋ชปํ•œ ์ด์œ ๋Š” ํ•™์Šตํ•œ annotation๊ณผ ํ…Œ์ŠคํŠธ ์…‹์˜ annotation ํ‘œ๊ธฐ ๋ฐฉ์‹์˜ ์ฐจ์ด ๋•Œ๋ฌธ์ด๋ผ๊ณ  ๋ณด๊ณ ์žˆ๋‹ค.

๊ทธ๋ž˜์„œ ํ•ด๋‹น ๋…ผ๋ฌธ์€ ํ…Œ์ŠคํŠธ์…‹์˜ annotation์ด square์ธ ๊ฒฝ์šฐ๋กœ ์ถ”๋ ค์„œ ํ‰๊ฐ€ํ•˜์—ฌ ์šฐ์œ„์— ์žˆ๋‹ค๋Š” ์ ์„ ๊ฐ•์กฐํ–ˆ๋‹ค.

FDDB ๋ฐ์ดํ„ฐ ์…‹์—์„œ๋Š” CNN Cascade๊ฐ€ state-of-the-art๋ฅผ ์•ž์งˆ๋ €์œผ๋ฉฐ, ์ •ํ™•๋„๋ฅผ ์กฐ๊ธˆ ๋‚ฎ์ถ”๊ณ  ๋” ๋น ๋ฅธ ๋ฒ„์ ผ์œผ๋กœ ์‰ฝ๊ฒŒ ํŠœ๋‹ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ๊ฐ•์กฐํ–ˆ๋‹ค.

FDDB

Face Detection Data Set and Benchmark

5171๊ฐœ์˜ annotated๋œ ์–ผ๊ตด, 2845๊ฐœ์˜ ์ด๋ฏธ์ง€๋ฅผ ํฌํ•จํ•˜๋Š” ๋ฐ์ดํ„ฐ ์…‹์ด๋‹ค.

FDDB๋Š” ํƒ€์›ํ˜•์˜ face annotation์„ ์‚ฌ์šฉํ•˜๋ฉฐ, ๋‘ ๊ฐ€์ง€ ์ข…๋ฅ˜์˜ ํ‰๊ฐ€ ์ง€ํ‘œ๋ฅผ ์ •์˜ํ–ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ discontinuous score ํ‰๊ฐ€์—์„œ๋Š” ์ธ์‹๋œ ์–ผ๊ตด์˜ ์ˆ˜์™€ false ์ธ์‹์˜ ์ˆ˜๋ฅผ ๋น„๊ตํ•œ๋‹ค. ์ธ์‹๋œ bounding box์™€ ground-truth ์–ผ๊ตด์ด 0.5 ์ด์ƒ์˜ IoU๋ฅผ ๊ฐ€์งˆ ๋–„ true๋กœ ํŒ๋ณ„๋œ๋‹ค.

๋‘ ๋ฒˆ์งธ continuous score ํ‰๊ฐ€์—์„œ๋Š” ์–ผ๋งˆ๋‚˜ ์ž˜ ์–ผ๊ตด์ด ์œ„์น˜๋˜์—ˆ๋Š” ์ง€๋ฅผ ํ‰๊ฐ€ํ•œ๋‹ค. ์ด ๋•Œ IoU ๋น„์œจ์„ ๊ณ ๋ คํ•˜์—ฌ ํŒ๋‹จํ•œ๋‹ค.

CNN Cascade๋ฅผ FDDB๋กœ ํ‰๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด ์ผ๊ด„์ ์œผ๋กœ ์ •์‚ฌ๊ฐํ˜• detection bounding box๋ฅผ 20% ์ˆ˜์ง์œผ๋กœ ๋Š˜๋ ธ๊ณ , discontinuous score ํ‰๊ฐ€์—์„œ ์ตœ๊ณ  ์„ฑ๋Šฅ์„ ๋‚ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์•ž์งˆ๋ €๋‹ค.

5. Conclusion

ํ•ด๋‹น ๋…ผ๋ฌธ์—์„œ๋Š” ๋น ๋ฅธ ์–ผ๊ตด ์ธ์‹์„ ์œ„ํ•œ CNN cascade๋ฅผ ์†Œ๊ฐœํ–ˆ๋‹ค.

CNN cascade๋Š” ์ €ํ•ด์ƒ๋„์˜ ์ž…๋ ฅ ์ด๋ฏธ์ง€๋กœ๋ถ€ํ„ฐ face๊ฐ€ ์•„๋‹Œ ์˜์—ญ๋“ค์„ ๋น ๋ฅด๊ฒŒ ์ œ์™ธ์‹œํ‚ค๊ณ , ๋„์ „์ ์ธ ์˜์—ญ์— ๋Œ€ํ•ด์„œ๋Š” ๊ณ ํ•ด์ƒ๋„์—์„œ ์‹ ์ค‘ํ•˜๊ฒŒ ํŒ๋‹จํ•œ๋‹ค. calibration net๋“ค์€ cascade๋‚ด์—์„œ ๋น ๋ฅธ ์ธ์‹๊ณผ bounding box ํ’ˆ์งˆ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋„์ž…๋˜์—ˆ๋‹ค.

CNN์˜ ์žฅ์ ์„ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์™€์„œ, CNN cascade์€ ์–ผ๊ตด ํ‘œ์ •, ํฌ์ฆˆ, ์ธ์ข…, ์กฐ๋ช…๊ณผ ๊ฐ™์€ ์‹œ๊ฐ์ ์ธ ๋ณ€์ˆ˜์™€ ์ƒ๊ด€์—†์ด ์•ˆ์ •์ ์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค.

๊ณต๊ฐœ๋œ ์–ผ๊ตด์ธ์‹ ๋ฒค์น˜๋งˆํฌ FDDB์—์„œ CNN cascade๋Š” state-of-the-art๋ฅผ ๋‹ฌ์„ฑํ–ˆ๋‹ค. ๋˜ํ•œ VGA ์ด๋ฏธ์ง€๋ฅผ ๋‹จ์ผ CPU์—์„œ 14fps, GPU์—์„œ 100fps๋กœ ์ฒ˜๋ฆฌํ•  ์ •๋„๋กœ ์•„์ฃผ ๋น ๋ฅด๋‹ค.

Take home message (์˜ค๋Š˜์˜ ๊ตํ›ˆ)

  • cascade ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ์„ฑ๋Šฅ์„ ๋Œ์–ด์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ค๋Š” ์•„์ด๋””์–ด๋ฅผ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

  • bounding box calibration์„ ์œ„ํ•ด multi-class classification์„ ์‚ฌ์šฉํ•œ ์ ์ด ๊ฐ„๋‹จํ•˜๋ฉด์„œ ํšจ๊ณผ์ ์œผ๋กœ ์ž‘์šฉํ•œ ๊ฒƒ ๊ฐ™์•„ ์ธ์ƒ์ ์ด์—ˆ๋‹ค.

  • dataset๋งˆ๋‹ค annotation ๋ฐฉ์‹์ด ๋‹ฌ๋ผ ํ‰๊ฐ€ํ•  ๋•Œ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ๋˜์—ˆ๋‹ค.

Author / Reviewer information

Author

์ด์žฌํ˜„ (Jaehyeon Lee)

  • NAVER

  • https://github.com/johnlee92

  • jaehyeon.lee@navercorp.com

Reviewer

  1. Korean name (English name): Affiliation / Contact information

  2. Korean name (English name): Affiliation / Contact information

  3. ...

Reference & Additional materials

  1. Citation of this paper

    • https://ieeexplore.ieee.org/document/7299170/citations?tabFilter=papers#citations

  2. Unofficial GitHub repository

    • https://github.com/mks0601/A-Convolutional-Neural-Network-Cascade-for-Face-Detection

    • https://github.com/anson0910/CNN_face_detection

Last updated