์ด ๊ธ€์€ ์ œ๊ฐ€ ใ€ŽYOLO: You Only Look Onceใ€๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ, ์ •๋ฆฌํ•œ ํฌ์ŠคํŠธ์ž…๋‹ˆ๋‹ค. ์ง€์ ๊ณผ ์กฐ์–ธ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค ใ…Žใ…Ž

3 minute read

์ด ๊ธ€์€ ์ œ๊ฐ€ ใ€ŽYOLO: You Only Look Onceใ€๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ, ์ •๋ฆฌํ•œ ํฌ์ŠคํŠธ์ž…๋‹ˆ๋‹ค. ์ง€์ ๊ณผ ์กฐ์–ธ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค ใ…Žใ…Ž


<YOLO>๋Š” ๋Œ€ํ‘œ์ ์ธ 1-stage detector ์ค‘ ํ•˜๋‚˜์ด๋‹ค. 2-stage detector์ธ <Fast R-CNN>์ด โ€œCNN + RPNโ€๋กœ, 2๊ฐœ์˜ ๋„คํŠธ์›Œํฌ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค๋ฉด, 1-stage detector์ธ <YOLO>์€ ๋‹จ์ผ ๋„คํŠธ์›Œํฌ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ๋‹จ์ผ ๋„คํŠธ์›Œํฌ ๋ชจ๋ธ์ด๊ธฐ ๋•Œ๋ฌธ์—, โ€œend-to-endโ€ ํ•™์Šต์ด ๊ฐ€๋Šฅํ•˜๋‹ค!


Model: Unified Detection

๋จผ์ €, <YOLO> ๋ชจ๋ธ์˜ ํ•ต์‹ฌ ์•„์ด๋””์–ด์ธ <Unified Detection>์„ ๋ฐ”๋กœ ์‚ดํŽด๋ณด์ž. ์›๋ฆฌ๋Š” ์ƒ๊ฐ๋ณด๋‹ค ๊ฐ„๋‹จํ•˜๊ณ , ์ง๊ด€์ ์ด๋‹ค.

๋จผ์ €, ์ด๋ฏธ์ง€๋ฅผ $S \times S$์˜ ๊ทธ๋ฆฌ๋“œ(Grid)๋กœ ๋ถ„ํ• ํ•œ๋‹ค. ๋…ผ๋ฌธ์—์„œ๋Š” $S=7$์˜ ๊ฐ’์„ ์‚ฌ์šฉํ–ˆ๋‹ค. (์™ผ์ชฝ ๊ทธ๋ฆผ)

๋‹ค์Œ์œผ๋กœ Grid cell ํ•˜๋‚˜ํ•˜๋‚˜์— ๋Œ€ํ•ด โ€œbounding boxโ€๊ณผ โ€œconfidenceโ€๊ฐ€ ๋‹ด๊ธด vector๋ฅผ ์˜ˆ์ธกํ•œ๋‹ค. โ€œconfidenceโ€๋Š” $[0, 1]$์˜ ๊ฐ’์ด๋ฉฐ, โ€œbounding boxโ€๋Š” $(cx, cy, w, h)$์˜ ํ˜•์‹์ด๋‹ค. ๊ทธ๋ž˜์„œ ์ด 5์ฐจ์›์˜ vector๋ฅผ ์˜ˆ์ธกํ•œ๋‹ค.

์ด๋•Œ, ๊ฐ Grid cell์—์„œ ๋ช‡๊ฐœ์˜ vector๋ฅผ ์˜ˆ์ธกํ•  ์ง€๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋…ผ๋ฌธ์—์„œ๋Š” $B=2$๋กœ ์„ค์ •ํ•ด, Grid cell๋งˆ๋‹ค 2๊ฐœ์˜ bbox์™€ confidence์˜ vector๋ฅผ ์˜ˆ์ธกํ•˜๋„๋ก ์„ค์ •ํ–ˆ๋‹ค. (๊ฐ€์šด๋ฐ์˜ ์œ—๊ทธ๋ฆผ)

๋งˆ์ง€๋ง‰์œผ๋กœ, ๊ฐ Grid cell์— ์–ด๋–ค ๋ฌผ์ฒด๊ฐ€ ๋“ค์–ด์žˆ์„์ง€ ๋ถ„๋ฅ˜(Clssification)ํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋…ผ๋ฌธ์—์„œ๋Š” ์ „์ฒด ๋ผ๋ฒจ์˜ ์ˆ˜ $C$๊ฐ€ $C=20$์ธ ๋ฐ์ดํ„ฐ์…‹์„ ์‚ฌ์šฉํ–ˆ๋‹ค. (๊ฐ€์šด๋ฐ์˜ ์•„๋žซ๊ทธ๋ฆผ)


๋งˆ์ง€๋ง‰์œผ๋กœ ์ด ๋‘ ๊ฒฐ๊ณผ๋ฅผ ์ข…ํ•ฉํ•˜๊ณ , ๋˜ ์ ๋‹นํžˆ NMS๋ฅผ ์ˆ˜ํ–‰ํ•ด ์‹ค์ œ Prediction output๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด output๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ loss๋ฅผ ๋งค๊ฒจ ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚จ๋‹ค. (์˜ค๋ฅธ์ชฝ ๊ทธ๋ฆผ)


๊ฒฐ๊ตญ <YOLO>๋Š” Detection์— ํ•„์š”ํ•œ ๋‘ ๊ณผ์ •์ธ โ€œLocalizationโ€๊ณผ โ€œClassificationโ€์„ Regression์˜ ๊ด€์ ์—์„œ ์ ‘๊ทผํ•ด ํ•œ๋ฒˆ์— ํ•ด๊ฒฐ ํ•ด๋ฒ„๋ ธ๋‹ค!! ๐Ÿ˜ฒ

์‚ฌ์‹ค ์ง€๊ธˆ์€ โ€œLocalization + Classificationโ€์„ ํ•œ๋ฒˆ์— ์ˆ˜ํ–‰ํ•˜๋Š” 1-stage ๋ชจ๋ธ1์ด ๋งŽ์ด ์ œ์‹œ๋˜์–ด์„œ, <YOLO> ๋ชจ๋ธ์˜ ์ ‘๊ทผ์ด ๋‹ค์†Œ ๋ฒˆ๊ฑฐ๋กœ์›Œ ๋ณด์ด์ง€๋งŒ, <YOLO>๊ฐ€ ๋‚˜์™”์„ ๋‹น์‹œ์ธ 2015๋…„์—๋Š” ์ •๋ง HOT๐Ÿ”ฅํ•œ ๋ชจ๋ธ์ด์—ˆ๋‹ค.


Why YOLO

<YOLO>๊ฐ€ ์ฃผ๋ชฉ๋ฐ›๋Š” ์ด์œ ๋Š” 1-stage ๋ชจ๋ธ์˜ ๊ธธ์„ ์ œ์‹œํ–ˆ๋‹ค๋Š” ๊ฒƒ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

1. ๋น ๋ฅธ Inference

์ด๋ฏธ์ง€๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋„ฃ์–ด์คฌ์„ ๋•Œ, ๊ทธ ๊ฒฐ๊ณผ๊ฐ€ ์•„์ฃผ ๋น ๋ฅด๊ฒŒ ์ถœ๋ ฅ๋œ๋‹ค๋Š” ๋ง์ด๋‹ค. ๊ทธ๋ž˜์„œ Real-Time์œผ๋กœ Detection์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ์‚ฌ์‹ค์ƒ <YOLO> ์ดํ›„์˜ ๋Œ€๋ถ€๋ถ„์˜ 1-stage ๋ชจ๋ธ์—์„œ๋Š” Real-Time Detection์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

2. ์ด๋ฏธ์ง€๋ฅผ globalํ•˜๊ฒŒ ํŒŒ์•…

๊ธฐ์กด์˜ โ€œsliding windowโ€ ๋ฐฉ์‹๊ณผ โ€œregion proposalโ€ ๋ฐฉ์‹๊ณผ ๋‹ค๋ฅด๊ฒŒ, ์ด๋ฏธ์ง€์˜ ์ „์ฒด๋ฅผ ๋ณด๊ณ  ํŒ๋‹จํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ Fast R-CNN๋ณด๋‹ค background error๊ฐ€ ๋” ๋‚ฎ๋‹ค.

3. ์ผ๋ฐ˜ํ™”๊ฐ€ ์‰ฝ๋‹ค

์–ด๋–ค ๋ฐ์ดํ„ฐ์…‹์œผ๋กœ pre-train ์‹œํ‚จ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•ด ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ์…‹์„ ํ•™์Šต์‹œ์ผœ๋„ ์ž˜ ๋™์ž‘ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.


์‹ค์Šต

๋ณธ์ธ์€ <YOLOv3>, <YOLOv5> ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•ด๋ดค๋‹ค. ๊ฒฝํ—˜์— ๋น„์ถ”์–ด ๋ดค์„ ๋•Œ, <YOLO> ๋ชจ๋ธ์€ ์ •๋ง ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ฑ‰์–ด์„œ ๋ชจ๋ธ์„ ์‹คํ–‰์‹œํ‚ค๋ฉด ๊ธฐ๋ถ„์ด ์ข‹์•˜๋‹ค ๐Ÿ˜

๊ฐœ์ธ์ ์œผ๋กœ โ€˜๋นตํ˜•์˜ ๊ฐœ๋ฐœ๋„์ƒ๊ตญโ€™ ์œ ํŠœ๋ธŒ์˜ ์˜์ƒ์ด YOLOv5๋ฅผ ์ฒ˜์Œ ์ž…๋ฌธํ•˜๊ธฐ ์ข‹์€ ์˜์ƒ์ธ ๊ฒƒ ๊ฐ™๋‹ค.

๐Ÿ‘‰ YOLO v5 ์ปค์Šคํ…€ ํ•™์Šต ํŠœํ† ๋ฆฌ์–ผ


References


  1. ๋Œ€ํ‘œ์ ์œผ๋กœ <ExtremeNet>, <CenterNet> ๋“ฑ์ด ์žˆ๋‹ค.ย