๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Data Science/Computer Vision

[ML] Retina Net Object Detection ๋ชจ๋ธ

๋ฐ˜์‘ํ˜•

๐Ÿ”Š ํ•ด๋‹น ํฌ์ŠคํŒ…์—์„œ ์‚ฌ์šฉ๋œ ์ปจํ…์ธ ๋Š” ์ธํ”„๋Ÿฐ์˜ ๋”ฅ๋Ÿฌ๋‹ ์ปดํ“จํ„ฐ ๋น„์ „ ์™„๋ฒฝ ๊ฐ€์ด๋“œ ๊ฐ•์˜ ๋‚ด์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ–ˆ์Œ์„ ์•Œ๋ฆฝ๋‹ˆ๋‹ค. ์„ค๋ช…์—์„œ ์‚ฌ์šฉ๋œ ์ž๋ฃŒ๋Š” ์ตœ๋Œ€ํ•œ ์ œ๊ฐ€ ์ง์ ‘ ์žฌ๊ตฌ์„ฑํ•œ ์ž๋ฃŒ์ž„์„ ์•Œ๋ฆฝ๋‹ˆ๋‹ค.

 

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” One-Stage Object Detection์˜ ๋˜ ๋‹ค๋ฅธ ๋ชจ๋ธ ์ค‘ ํ•˜๋‚˜์ธ Retina Net ๋ชจ๋ธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ๊ทธ๋™์•ˆ์— ์‚ดํŽด๋ณด์•˜๋˜ One-Stage ๋ชจ๋ธ ์ค‘ ํ•˜๋‚˜์ธ YOLO ๋ชจ๋ธ์€ ๋งค์šฐ ๋น ๋ฅธ Detection ์†๋„๋ฅผ ์ž๋ž‘ํ–ˆ์ง€๋งŒ Detection ์ •ํ™•๋„๋Š” Two-Stage ๋ชจ๋ธ ์ค‘ ๊ฐ€์žฅ ์ •ํ™•๋„๊ฐ€ ๋†’์€ Faster RCNN ๋ชจ๋ธ๋ณด๋‹ค๋Š” ํ˜„์ €ํžˆ ๋‚ฎ์€ ์ˆ˜์ค€์ด์—ˆ๋‹ค. ํŠนํžˆ One-Stage ๋ชจ๋ธ๋“ค์€ ์ž‘์€ ๊ฐ์ฒด๋ฅผ ํƒ์ง€ํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์—ฐ๊ตฌ์ž๋“ค์€ One-Stage ๋ชจ๋ธ๋กœ์„œ YOLO ๋งŒํผ์˜ Detection ์†๋„๋ฅผ ์ตœ๋Œ€ํ•œ ์œ ์ง€ํ•˜๋˜ Detection ์„ฑ๋Šฅ์„ Faster RCNN์„ ๋”ฐ๋ผ์žก๊ณ ์ž Retina Net์„ ๊ฐœ๋ฐœํ–ˆ๋‹ค.

(์ฐธ๊ณ ๋กœ Retina Net์€ 2017๋…„, YOLO ๋ฒ„์ „ 3 ๋ชจ๋ธ์€ 2018๋…„์— ๊ฐœ๋ฐœ๋˜์—ˆ๋‹ค)

 

Retina๋Š” '๋ง๋ง‰'์„ ์˜๋ฏธํ•œ๋‹ค. ๋ง๋ง‰์ด Retina Net๊ณผ ๊ด€๋ จ์ด ์žˆ์„๊นŒ..?


1. Object Detection์˜ Class imbalance ๋ฌธ์ œ

๋จผ์ € ํด๋ž˜์Šค ๋ถˆ๊ท ํ˜•์ด๋ž€, ํด๋ž˜์Šค์˜ ๊ฐœ์ˆ˜๊ฐ€ ํŠน์ •ํ•œ ํด๋ž˜์Šค์— ์น˜์šฐ์ณ์ ธ ์žˆ๋Š” ๋ฌธ์ œ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ํด๋ž˜์Šค ๋ถˆ๊ท ํ˜•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ๋ฅผ ์‚ดํŽด๋ณด์ž. ๊ทธ๋Ÿฌ๋ฉด Object Detection์— ์žˆ์–ด์„œ ํด๋ž˜์Šค ๋ถˆ๊ท ํ˜• ๋ฌธ์ œ๋ž€ ๋ฌด์—‡์ผ๊นŒ? ์šฐ์„  ํ•˜๋‹จ์˜ ๊ทธ๋ฆผ์„ ์‚ดํŽด๋ณด์ž.

 

Object Detection์—์„œ ํด๋ž˜์Šค ๋ถˆ๊ท ํ˜•์ด๋ž€?

 

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

 

๋Œ€๋ถ€๋ถ„์˜ ์ด๋ฏธ์ง€๋Š” Background Example๋“ค์ด ๋งŽ๋‹ค!

 

์šฐ์„  ์œ„ ์ž๋ฃŒ์—์„œ ์–ธ๊ธ‰ํ•˜๋Š” ๋นจ๊ฐ„์ƒ‰ ๋„ค๋ชจ์นธ๋“ค์€ Background Example ์ฆ‰, ์ด๋ฏธ์ง€์˜ ์ค‘์š”ํ•˜์ง€ ์•Š์€ '๋ฐฐ๊ฒฝ' ๋ถ€๋ถ„์„ ํƒ์ง€ํ•˜๊ธฐ ์œ„ํ•œ Anchor Box๋“ค์ด๋‹ค. ๊ฒฐ๊ตญ '๋ฐฐ๊ฒฝ'์€ ํƒ์ง€ํ•˜๊ธฐ ์‰ฝ๊ธฐ ๋•Œ๋ฌธ์— Easy Example์ด๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ ํด๋ž˜์Šค๋กœ ๋ณด์ž๋ฉด 'Object๊ฐ€ ์•„๋‹Œ ์˜์—ญ'์ด๊ธฐ ๋•Œ๋ฌธ์— Negative(0) Example ์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค. 

 

๋ฐ˜๋ฉด์— ํŒŒ๋ž€์ƒ‰ ๋„ค๋ชจ์นธ๋“ค์€ Foreground Example ์ฆ‰, Detectionํ•  ๋Œ€์ƒ์ธ Object๋“ค์„ ๋‚˜ํƒ€๋‚ด๊ธฐ ๋•Œ๋ฌธ์— ํƒ์ง€ํ•˜๊ธฐ '์–ด๋ ต'๋‹ค๊ณ  ํ•˜์—ฌ Hard Example์ด๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ ํด๋ž˜์Šค๋กœ ๋ณด์ž๋ฉด 'Object์ธ ์˜์—ญ'์ด๊ธฐ ๋•Œ๋ฌธ์— Positive(1) Example ์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค.

 

์ž, ์ด์ œ ํด๋ž˜์Šค ๋ถˆ๊ท ํ˜•์ด ๋ฌด์—‡์ธ์ง€๋Š” ์•Œ์•„๋ณด์•˜๋‹ค. ๊ทธ๋Ÿฌ๋ฉด One-Stage Object Detection ๋ชจ๋ธ์—์„œ๋Š” ๋Œ€์ฒด ์™œ ํด๋ž˜์Šค ๋ถˆ๊ท ํ˜•์ด ๋ฐœ์ƒํ• ๊นŒ? ์šฐ์„  One-Stage ๋ชจ๋ธ์˜ ๊ณตํ†ต์ ์ธ ํŠน์„ฑ์€ Anchor Box๋“ค์„ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. SSD๋‚˜ Retina Net ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” Feature Map ๋‹น ๊ฐ ํฌ์ธํŠธ์—๋‹ค๊ฐ€ Anchor Box๋ฅผ ์”Œ์šฐ๊ณ , YOLO ๋ชจ๋ธ๋“ค์€ ์ž…๋ ฅ ์ด๋ฏธ์ง€ ๋˜๋Š” ํŠน์ • Feature Map์„ $S by S$ ๊ทธ๋ฆฌ๋“œ๋กœ ๋‚˜๋ˆ„๊ณ  ๊ฐ ๊ทธ๋ฆฌ๋“œ Cell ๋งˆ๋‹ค Anchor Box๋ฅผ ์”Œ์›Œ์„œ Object Detection์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

๋ฌผ๋ก  ์œ„ ์ด๋ฏธ์ง€์™€๋Š” ๋‹ฌ๋ฆฌ ์ด๋ฏธ์ง€์— ๋ฐฐ๊ฒฝ์ด ๊ฑฐ์˜ ์—†๊ณ  ๊ฐ์ฒด๊ฐ€ ํฐ ๋น„์ค‘์„ ์ฐจ์ง€ํ•˜๋Š” ์ด๋ฏธ์ง€์ผ ์ˆ˜๋„ ์žˆ๋‹ค. ๋ฐ”๋กœ ํ•˜๋‹จ์˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ ๋ง์ด๋‹ค.

 

๊ณ ์–‘์ด๋ผ๋Š” ๊ฐ์ฒด๊ฐ€ ์ด๋ฏธ์ง€์˜ ๋Œ€๋ถ€๋ถ„์„ ์ฐจ์ง€ํ•˜๋Š” ์ด๋ฏธ์ง€

 

ํ•˜์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์˜ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๋“ค์€ ์œ„์™€ ๊ฐ™์ง€ ์•Š๋‹ค. ์ฃผ๋กœ ๋ฐฐ๊ฒฝ ํ”ฝ์…€๋“ค์ด ์ฃผ๋ฅผ ์ด๋ฃจ๊ณ  ๊ฐ์ฒด๋“ค์„ ๋‚˜ํƒ€๋‚ด๋Š” ํ”ฝ์…€์ด ์ƒ๋Œ€์ ์œผ๋กœ ๊ฐœ์ˆ˜๊ฐ€ ์ ๊ธฐ ๋งˆ๋ จ์ด๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— Background Example์ด Foreground Example ๋ณด๋‹ค ๊ฐœ์ˆ˜๊ฐ€ ํ›จ์”ฌ ๋” ๋งŽ์•„์ง€๋ฉฐ ๊ฒฐ๊ตญ Negative(0)๊ฐ€ Positive(1) ๋ณด๋‹ค ๋งŽ์€ ํด๋ž˜์Šค ๋ถˆ๊ท ํ˜• ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค.

 

๋ฌผ๋ก  Faster RCNN ๋ชจ๋ธ๊ณผ ๊ฐ™์€ Two-Stage ๋ชจ๋ธ๋“ค์—์„œ๋„ ํด๋ž˜์Šค ๋ถˆ๊ท ํ˜• ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ํ•˜์ง€๋งŒ Two-Stage ๋ชจ๋ธ๋“ค์€ Selective Search๋‚˜ RPN(Regions Proposal Network)์™€ ๊ฐ™์€ Region Proposal ๋‹จ๊ณ„๋ฅผ ๊ฐœ๋ณ„๋กœ ์ˆ˜ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฏธ๋ฆฌ ๊ฐ์ฒด๊ฐ€ ์žˆ์„๋งŒํ•œ ํ›„๋ณด์˜์—ญ๋“ค์„ 1์ฐจ์ ์œผ๋กœ ํ•„ํ„ฐ๋ง ํ•ด์ค€๋‹ค. ๋”ฐ๋ผ์„œ Two-Stage ๋ชจ๋ธ๋„ ํด๋ž˜์Šค ๋ถˆ๊ท ํ˜• ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€๋งŒ One-Stage ๋ชจ๋ธ๋ณด๋‹ค ์ƒ๋Œ€์ ์œผ๋กœ ์‹ฌํ•œ ๋ถˆ๊ท ํ˜• ์ƒํƒœ๊ฐ€ ์•„๋‹ˆ๋‹ค.


2. ๊ทธ๋ ‡๋‹ค๋ฉด ํ•ด๊ฒฐ์ฑ…์€? Focal Loss !

Focal Loss๊ฐ€ ๋“ฑ์žฅํ•˜๊ธฐ ์ „ ํด๋ž˜์Šค ๋ถˆ๊ท ํ˜•์„ ํ•ด์†Œํ•˜๊ธฐ ์œ„ํ•ด Data Augmentation ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ–ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ž‘์€ ๊ฐ์ฒด๊ฐ€ ์žˆ๋Š” ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ์งœ๋ฅด๊ฑฐ๋‚˜ ํฌ๊ธฐ๋ฅผ Scale ํ•˜๋Š” ๋“ฑ์˜ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด ํด๋ž˜์Šค ๋ถˆ๊ท ํ˜•์„ ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Š” ํด๋ž˜์Šค ๋ถˆ๊ท ํ˜•์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด '๋ฐ์ดํ„ฐ' ์ž…์žฅ์—์„œ ์ ‘๊ทผํ•œ ๋ฐฉ์‹์ด๋‹ค.

 

์ด๋ฒˆ์—” '๋ชจ๋ธ'์˜ ์ž…์žฅ์—์„œ ๋ฐ”๋ผ๋ณด์•˜์„ ๋•Œ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„๊นŒ๋ฅผ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ Focal Loss ๋ผ๋Š” ๋ฐฉ๋ฒ•์ด ์ œ์‹œ๋˜์—ˆ๋‹ค. Focal Loss๋Š” Cross-Entropy Loss ํ•จ์ˆ˜๋ฅผ ๊ฐ€์ค‘ํ‰๊ท ํ•œ ์ˆ˜์‹์ธ๋ฐ, ์‰ฝ๊ฒŒ ๋งํ•ด์„œ "์ž˜ ๋ถ„๋ฅ˜ํ•œ ๋ฐ์ดํ„ฐ๋Š” ๋งค์šฐ ์ž˜ ๋ถ„๋ฅ˜ํ•˜๋‹ˆ๊นŒ Loss๋ฅผ ๋งค์šฐ ๋‚ฎ์€ ๊ฐ’์œผ๋กœ ๋‚˜์˜ค๋„๋ก ํ•˜๊ณ  ์˜ค๋ถ„๋ฅ˜ํ•˜๋Š” ๋ฐ์ดํ„ฐ์— Loss ๊ฐ€์ค‘์น˜๋ฅผ ๋” ์ฃผ์–ด์„œ ์˜ค๋ถ„๋ฅ˜ํ•˜๋Š” ๋ฐ์ดํ„ฐ์— ์ง‘์ค‘์‹œํ‚ค์ž!" ์ด๋‹ค. ๋งˆ์น˜ ๋จธ์‹ ๋Ÿฌ๋‹ ์•™์ƒ๋ธ”์˜ Boosting ๋ชจ๋ธ๊ณผ ๋น„์Šทํ•œ ์•„์ด๋””์–ด์ธ ๋“ฏ ํ•˜๋‹ค.

 

๋จผ์ € Cross-Entropy์™€ ๋น„๊ต๋ฅผ ์œ„ํ•ด Focal Loss์™€ ์ˆ˜์‹ ๋น„๊ต๋ฅผ ์‚ดํŽด๋ณด์ž.

 

Cross-Entropy VS Focal Loss

 

๋…ผ๋ฌธ์—์„œ๋Š” Focal Loss ์ˆ˜์‹์˜ $\alpha$ ๊ฐ’์€ $0.25$๋ฅผ, $\gamma$ ๊ฐ’์€ $2$๋ฅผ ์ œ์•ˆํ•˜๊ณ  ์žˆ๋‹ค. ์ด๋ฒˆ์—” $x$์ถ•์„ Object์ผ ํ™•๋ฅ ๊ฐ’, $y$์ถ•์„ Loss ๊ฐ’์œผ๋กœ ํ•˜๋Š” Cross-Entropy ์™€ Focal Loss ๊ทธ๋ž˜ํ”„๋ฅผ ๋น„๊ตํ•ด๋ณด์ž.

 

Cross-Entropy ์™€ Focal Loss ๊ทธ๋ž˜ํ”„

(์œ„ ๊ทธ๋ฆผ์—์„œ CE = Cross-Entropy, FL = Focal Loss ๋ฅผ ์˜๋ฏธ)

์œ„ ๊ทธ๋ž˜ํ”„์—์„œ ์ดˆ๋ก์ƒ‰ ๊ธ€์”จ ์ฆ‰, $x$์ถ•์ธ Object์ผ ํ™•๋ฅ  ๊ฐ’์ด 0.8 ์ด์ƒ๋ถ€ํ„ฐ๋Š” ๋ชจ๋ธ์ด ์ž˜ ๋งž์ถ”๋Š” ์ฆ‰, Background Example ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ๊ทธ๋ฆฌ๊ณ  ๋นจ๊ฐ„์ƒ‰ ๊ธ€์”จ์ธ ๋ถ€๋ถ„์€ ๋ชจ๋ธ์ด ์ž˜ ์˜ˆ์ธกํ•˜์ง€ ๋ชปํ•˜๋Š” Foreground Example ์ด๋‹ค. 

 

์ด์ œ Background Example์ผ ๋•Œ, CE์—์„œ FL๋กœ Loss๊ฐ’์˜ ๋ณ€ํ™”๋ฅผ ๋ณด๋ฉด 0.1 ์—์„œ 0.01๋กœ ๋‚ด๋ ค๊ฐ”๋‹ค. ๋ฐ˜๋ฉด์— Foreground Example ์ผ๋•Œ๋Š” 2.3 ์—์„œ 2.1๋กœ ๋‚ด๋ ค๊ฐ”๋‹ค. Loss ๊ฐ’ ์ˆซ์ž ์ž์ฒด๋งŒ ๋ณด๋ฉด Foreground Example์˜ Loss ์ฐจ์ด๊ฐ’์ด ๋” ํฌ์ง€๋งŒ Loss๊ฐ’์ด ์˜๋ฏธํ•˜๋Š” ๋ฐ”๋ฅผ ์ƒ๊ฐํ•ด๋ณธ๋‹ค๋ฉด ์˜คํžˆ๋ ค Background Example์ด ํ›จ์”ฌ ๋” ๋งŽ์ด ๊ฐ์†Œํ•œ ๊ฒƒ์ด ๋œ๋‹ค.

 

Background Example์€ ๊ธฐ์กด์— 90%์˜ ํ™•๋ฅ ๋กœ ์˜ˆ์ธกํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด Focal Loss๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ 99%์˜ ํ™•๋ฅ ๋กœ ์˜ˆ์ธกํ•œ ๊ฒƒ์ด ๋˜๋ฏ€๋กœ ๊ฒฐ๊ตญ ์ž˜ ์˜ˆ์ธกํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ›จ์”ฌ ๋” ์ž˜ ์˜ˆ์ธกํ•˜๋„๋ก Loss๊ฐ’์„ ๋งค์šฐ ๋‚ฎ๊ฒŒ ๋‚˜์˜ค๋„๋ก ๊ณ„์‚ฐํ•˜๋ฉด์„œ ํ•ด๋‹น ๋ฐ์ดํ„ฐ์—๋Š” ํ•™์Šต์„ ๋” ํ•˜์ง€ ์•Š์•„๋„ ์ž˜ ๋งž์ถœ ๊ฒƒ์ด๋ผ๊ณ  ๋ชจ๋ธ์ด ์ธ์ง€ํ•˜๊ฒŒ ๋œ๋‹ค.

 

๋ฐ˜๋ฉด์— Foreground Example์€ 2.3์—์„œ 2.1๋กœ๋ฐ–์— ๋‚ฎ์•„์ง€์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ํ•ด๋‹น ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ Loss ๊ฐ’์ด ์—ฌ์ „ํžˆ ๋†’์Œ์„ ์˜๋ฏธํ•˜๋ฏ€๋กœ Foreground Example์— ๋” ์ง‘์ค‘ํ•ด ํ•™์Šต์„ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๊ฒ ๋‹ค๋ผ๊ณ  ๋ชจ๋ธ์ด ์ธ์ง€ํ•˜๊ฒŒ ๋œ๋‹ค.

 

์ด๋Ÿฌํ•œ ์›๋ฆฌ๋กœ ์ธํ•ด Focal Loss๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Cross-Entropy๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋ณด๋‹ค ๋ชจ๋ธ์ด ํ•™์Šตํ•  ๋•Œ ์˜ค๋ถ„๋ฅ˜ํ•˜๋Š” ๋ฐ์ดํ„ฐ์— ๋” ์ง‘์ค‘ํ•ด์„œ ํ•™์Šตํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.

 

์ฐธ๊ณ ๋กœ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ์ธ $\gamma$ ๊ฐ’์ด ์ปค์งˆ์ˆ˜๋ก ์ž˜ ์˜ˆ์ธกํ•œ ๋Œ€์ƒ์— ๋Œ€ํ•œ Loss๊ฐ’๊ณผ ์ž˜ ์˜ˆ์ธกํ•˜์ง€ ๋ชปํ•œ ๋Œ€์ƒ์— ๋Œ€ํ•œ Loss๊ฐ’ ์ฐจ์ด๋ฅผ ๋” ํฌ๊ฒŒ ๋งŒ๋“ค๊ฒŒ ๋œ๋‹ค. 

 

$/gamma$๊ฐ’์— ๋”ฐ๋ฅธ Foreground, Background์— ๋Œ€ํ•œ Loss๊ฐ’ ๋ณ€ํ™” ์ •๋„๋ฅผ ๋‚˜ํƒ€๋‚ธ ๊ทธ๋ž˜ํ”„


3. Retina Net = Focal Loss + FPN(Feature Pyramid Network)

Retina Net์€ Focal Loss ์™€ FPN์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. Focal Loss๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ์— ๋Œ€ํ•ด์„œ๋Š” ์ง€๊ธˆ๊นŒ์ง€ ์•Œ์•„๋ณด์•˜์œผ๋ฏ€๋กœ FPN์— ๋Œ€ํ•ด์„œ ์ž์„ธํžˆ ์•Œ์•„๋ณด์ž. FPN์ด๋ž€, ์„œ๋กœ ๋‹ค๋ฅธ ํฌ๊ธฐ์˜ ๊ฐ์ฒด๋“ค์„ ํšจ๊ณผ์ ์œผ๋กœ ํƒ์ง€ํ•˜๊ธฐ ์œ„ํ•ด Bottom-Up & Top-Down ๋ฐฉ์‹์œผ๋กœ ์ถ”์ถœ๋œ Feature Map๋“ค์„ Lateral Connection ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์—ฌ๊ธฐ์„œ Lateral Connection์ด๋ž€, Resnet์—์„œ ์ฒ˜์Œ ์‚ฌ์šฉํ•œ Skip Connection๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•˜๋‹ค. ์ด์ œ FPN์˜ ๊ตฌ์กฐ๋ฅผ ์‚ดํŽด๋ณด์ž.

 

FPN์„ ์‚ฌ์šฉํ•˜๋Š” Retina Net ๋™์ž‘ ๊ณผ์ •

 

์ฃผ๋ชฉํ•  ๋ถ€๋ถ„์€ Top-Down์ธ FPN์„ ์ง„ํ–‰ํ•  ๋•Œ Bottom-Up ํ•  ๋•Œ์˜ ์ •๋ณด๋ฅผ ๋„˜๊ฒจ์ฃผ๊ธฐ ์œ„ํ•ด $1\ by\ 1$ Convolution์œผ๋กœ Skip Connection์„ ์ˆ˜ํ–‰ํ•ด์ค€๋‹ค๋Š” ์ ์ด๋‹ค. ์ด๊ฒƒ์ด ๋ฐฉ๊ธˆ ์–ธ๊ธ‰ํ–ˆ๋˜ Lateral Connection์ด ๋œ๋‹ค. ๋˜ํ•œ Top-Down ์‹œ Feature Map ์‚ฌ์ด์ฆˆ๋ฅผ ์œ ์ง€์‹œ์ผœ์ฃผ๊ธฐ ์œ„ํ•ด Convolution Layer ๋งˆ๋‹ค ์‚ฌ์ด์ฆˆ๋ฅผ 2๋ฐฐ ์—…์ƒ˜ํ”Œ๋ง ํ•ด์ค€๋‹ค. 

 

๊ทธ๋ฆฌ๊ณ  Top-Down ํ•  ๋•Œ์˜ ๊ฐ Feature Map ๋งˆ๋‹ค Object Detection์„ ์ˆ˜ํ–‰ํ•ด ์˜ˆ์ธกํ•œ๋‹ค(๋งˆ์น˜ SSD ๋ชจ๋ธ์ฒ˜๋Ÿผ). ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์—ฌ๋Ÿฌ๊ฐ€์ง€์˜ ์˜ˆ์ธก๋œ Bounding Box๊ฐ€ ์ƒ๊ฒจ๋‚  ๊ฒƒ์ด๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ Ground Truth์™€ IoU๋ฅผ ๋น„๊ตํ•˜๋ฉด์„œ ์ตœ์ ์˜ Bounding Box๋งŒ์„ ๋‚จ๊ธฐ๊ธฐ ์œ„ํ•ด NMS(Non-Max Suppression)์„ ์ˆ˜ํ–‰ํ•ด์ฃผ์–ด ์ตœ์ข…์ ์ธ Object Detection์„ ์ˆ˜ํ–‰ํ•ด์ค€๋‹ค.

 

์ฐธ๊ณ ๋กœ Top-Down์ธ FPN์„ ์ˆ˜ํ–‰ํ•ด์ค„ ๋•Œ ๊ฐ Feature Map ๋งˆ๋‹ค Predict๋ฅผ ํ•ด์ฃผ๋Š”๋ฐ ์—ฌ๊ธฐ์— $3\ by\  3$ Convolution์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋Š” ์ด์œ ๋Š” Aliasing ํ˜„์ƒ์„ ๋ง‰๊ธฐ ์œ„ํ•จ์ด๋ผ๊ณ  ํ•œ๋‹ค. Aliasing ํ˜„์ƒ์ด๋ž€, ์„œ๋กœ ๋‹ค๋ฅธ Feature Map๋“ค์ด ์„ž์ด๋ฉด ์ž์‹ ๋“ค๋งŒ์˜ ํŠน์„ฑ์ด ์‚ฌ๋ผ์ง€๋Š”๋ฐ, ์ด ๋•Œ $3\ by\ 3$ Convolution์„ ์ทจํ•˜๋ฉด ์ด Aliasing ํ˜„์ƒ์„ ์–ด๋Š ์ •๋„ ์™„ํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. 


์ง€๊ธˆ๊นŒ์ง€ ์—ฌ๋Ÿฌ ํฌ์ŠคํŒ…์— ๊ฑธ์ณ ์—ฌ๋Ÿฌ๊ฐ€์ง€ Two-Stage, One-Stage Object Detection ๋ชจ๋ธ๋“ค์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜๋‹ค. ๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ๋Š” ๊ฐ•์˜์—์„œ ๋งˆ์ง€๋ง‰์œผ๋กœ ์†Œ๊ฐœํ•˜๋Š” ๋ชจ๋ธ์ธ Mask RCNN์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•ด๋ณด๊ณ  ๊ธฐ๋กํ•˜๋ ค ํ•œ๋‹ค. ์ฐธ๊ณ ๋กœ Mask RCNN์€ ํ”ฝ์…€ ๋‹จ์œ„(Pixel-levl)๋กœ Object Detection์„ ์ˆ˜ํ–‰ํ•˜๋Š” Segmentation ๋ชจ๋ธ์ด๋‹ค.

๋ฐ˜์‘ํ˜•