
YOLO๋ ์ค์๊ฐ ๊ฐ์ฒด ๊ฒ์ถ(Real-time Object Detection)์ ์ํด ๊ฐ๋ฐ๋ ๋ฅ๋ฌ๋ ๊ธฐ๋ฐ ๋ชจ๋ธ์ ๋๋ค. ์ ํต์ ์ธ ๊ฐ์ฒด ๊ฒ์ถ ๋ฐฉ์๊ณผ ๋ฌ๋ฆฌ, YOLO๋ ์ด๋ฏธ์ง๋ฅผ ํ ๋ฒ์ ์ ์ฒด์ ์ผ๋ก ๋ถ์ํ์ฌ ๊ฐ์ฒด๋ฅผ ๊ฒ์ถํ๊ณ , ๊ฐ ๊ฐ์ฒด์ ์์น์ ํด๋์ค ์ ๋ณด๋ฅผ ๋์์ ์์ธกํฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์ ๋๋ถ์ ๋์ ์๋์ ๋น๊ต์ ์์ ์ ์ธ ์ ํ๋๋ฅผ ๋์์ ๋ฌ์ฑํ ์ ์์ต๋๋ค.

YOLO(You Only Look Once)๋ ์ ๋ ฅ ์ด๋ฏธ์ง๋ฅผ ๐ร๐ ๊ทธ๋ฆฌ๋๋ก ๋ถํ ํ์ฌ ๊ฐ์ฒด๋ฅผ ๊ฒ์ถํฉ๋๋ค. ์ด๋ค ๊ฐ์ฒด์ ์ค์ฌ์ด ํน์ ๊ทธ๋ฆฌ๋ ์ ์์ ์์นํ๋ฉด, ๊ทธ ์ ์์ ํด๋น ๊ฐ์ฒด๋ฅผ ๊ฐ์งํฉ๋๋ค. ๊ฐ ๊ทธ๋ฆฌ๋ ์ ์ ๐ต๊ฐ์ bounding box์ ๊ฐ ๋ฐ์ค์ confidence score๋ฅผ ์์ธกํฉ๋๋ค.
Confidence score: bounding box๊ฐ ์ค์ ๊ฐ์ฒด๋ฅผ ํฌํจํ ํ๋ฅ ๊ณผ ์์ธก๋ ๋ฐ์ค๊ฐ ๊ฐ์ฒด์ ์ผ๋ง๋ ์ ๋ง๋์ง๋ฅผ ๋ํ๋ด๋ ์งํ
๊ฐ bounding box๋ ๋ค์ 5๊ฐ์ง ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค.
X, Y: ๊ทธ๋ฆฌ๋ ์ ๋ด์์ bounding box ์ค์ฌ์ ์๋ ์ขํ
W, H: ์ด๋ฏธ์ง ์ ์ฒด์ ๋ํ ์๋ ๋๋น์ ๋์ด
Confidence: ๋ฐ์ค์ ์ ๋ขฐ๋
๋ํ, ๊ฐ ๊ทธ๋ฆฌ๋ ์ ์ Conditional Class Probability๋ฅผ ์์ธกํฉ๋๋ค.
Conditional Class Probability: ๊ทธ๋ฆฌ๋ ์ ์์ ๊ฐ์ฒด๊ฐ ์กด์ฌํ๋ค๋ ์กฐ๊ฑด ํ์์, ํด๋น ๊ฐ์ฒด๊ฐ ํน์ ํด๋์ค์ผ ํ๋ฅ
ํ ์คํธ ๋จ๊ณ์์๋ Conditional Class Probability์ bounding box์ Confidence Score๋ฅผ ๊ณฑํ์ฌ Class Specific Confidence Score๋ฅผ ๊ณ์ฐํฉ๋๋ค.
lass Specific Confidence Score: bounding box๊ฐ ํน์ ํด๋์ค ๊ฐ์ฒด๋ฅผ ํฌํจํ ํ๋ฅ ๊ณผ ํด๋น ๋ฐ์ค๊ฐ ๊ฐ์ฒด์ ์ผ๋ง๋ ์ ๋ง๋์ง๋ฅผ ๋ํ๋ด๋ ๊ฐ

YOLO์ ์ํคํ ์ฒ๋ Google์ GoogLeNet ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ชจ๋ธ์์ ์๊ฐ์ ๋ฐ์์ผ๋ฉฐ, 24๊ฐ์ Convolutional Layer์ 2๊ฐ์ Fully Connected Layer๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
Convolutional Layers: ์ด๋ฏธ์ง ํน์ง(feature) ์ถ์ถ
Fully Connected Layers: ํด๋์ค ํ๋ฅ ๋ฐ bounding box ์ขํ ์์ธก
GoogLeNet์ ์ธ์ ์ ๋ชจ๋๊ณผ ๋ฌ๋ฆฌ, YOLO๋ 1ร1 ์ถ์ ๊ณ์ธต(reduction layer)๊ณผ 3ร3 ํฉ์ฑ๊ณฑ ๊ณ์ธต(convolutional layer)์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
YOLO๋ ImageNet ๋ฐ์ดํฐ์ ์ผ๋ก ์ฌ์ ํ์ต๋ ๋ถ๋ฅ ๋ชจ๋ธ์ ๊ฐ์ฒด ๊ฒ์ถ ๋ชจ๋ธ๋ก ์ ํํ์ฌ ํ์ตํฉ๋๋ค. ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ 20๊ฐ์ Convolutional Layers์ 2๊ฐ์ Fully Connected Layers๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ์ฑ๋ฅ ํฅ์์ ์ํด ์ถ๊ฐ๋ก 4๊ฐ์ Convolutional Layers์ 2๊ฐ์ Fully Connected Layers๊ฐ ํฌํจ๋ฉ๋๋ค.
๋ง์ง๋ง ๊ณ์ธต: ์ ํ ํ์ฑํ ํจ์
๋๋จธ์ง ๊ณ์ธต: Leaky ReLU
Loss ํจ์๋ก๋ SSE(sum-squared error)๋ฅผ ์ฌ์ฉํฉ๋๋ค. SSE๋ ํ์ต ์ต์ ํ๊ฐ ์ฝ๋ค๋ ์ฅ์ ์ด ์์ง๋ง, Localization Loss์ Classification Loss๊ฐ ๋์ผํ ๊ฐ์ค์น๋ฅผ ๊ฐ์ ธ mAP ํฅ์์๋ ์ต์ ์ด ์๋ ์ ์์ต๋๋ค.
Localization Loss: bounding box ์์น ์์ธก ์ ํ๋
Classification Loss: ํด๋์ค ์์ธก ์ ํ๋
ํ์ต ๊ณผ์ ์์ ๋๋ถ๋ถ์ ๊ทธ๋ฆฌ๋ ์
์๋ ๊ฐ์ฒด๊ฐ ์๊ธฐ ๋๋ฌธ์, ํ์ต์ด ๋ถ๊ท ํ์ ์ผ๋ก ์ด๋ฃจ์ด์ง ์ ์์ต๋๋ค.
์ด๋ฅผ ๋ณด์ํ๊ธฐ ์ํด
๊ฐ์ฒด๊ฐ ์๋ bounding box: Loss ์ฆ๊ฐ
๊ฐ์ฒด๊ฐ ์๋ bounding box: Loss ๊ฐ์
๋ํ, ์์ bounding box๋ณด๋ค ํฐ bounding box๋ ์์น ๋ณํ์ ๋ ๋ฏผ๊ฐํ๋ฏ๋ก, Width์ Height์ ์ ๊ณฑ๊ทผ(square root)์ ์ ์ฉํ์ฌ Loss ๊ฐ์ค์น๋ฅผ ์กฐ์ ํฉ๋๋ค.
bounding box ์ ํ ์, ์ฌ๋ฌ ํ๋ณด ์ค IoU(Intersection over Union)๊ฐ ๊ฐ์ฅ ๋์ ๋ฐ์ค๋ฅผ ์ ํํ์ฌ ๊ฐ์ฒด๋ฅผ ์ ํํ ๊ฐ์ธ๋๋ก ํ์ตํฉ๋๋ค.
์ด๋ฅผ ํตํด YOLO๋ ๋ค์ํ ํฌ๊ธฐ, ์ข ํก๋น, ํด๋์ค ๊ฐ์ฒด๋ฅผ ์์ธกํ ์ ์๋ ๋ฅ๋ ฅ์ ๊ฐ์ถ๊ฒ ๋ฉ๋๋ค.
์
๋ ฅ ์ด๋ฏธ์ง -> S x S ๊ทธ๋ฆฌ๋๋ก ๋ถํ
โ> ๊ฐ ๊ทธ๋ฆฌ๋ ์
์ ๊ฐ์ฒด ์ค์ฌ์ด ์กด์ฌํ๋ฉด ๊ฐ์ง ๋ด๋น
๊ฐ ๊ทธ๋ฆฌ๋ ์
์์ธก
โโ B๊ฐ์ Bounding Box
โ โโ X, Y : ๊ทธ๋ฆฌ๋ ๋ด ์ค์ฌ ์ขํ
โ โโ W, H : ์ด๋ฏธ์ง ์ ์ฒด์ ๋ํ ์๋ ๋๋น/๋์ด
โ โโ Confidence Score : ๋ฐ์ค ์ ๋ขฐ๋
โโ Conditional Class Probability
โ> ๊ทธ๋ฆฌ๋ ์
์ ๊ฐ์ฒด๊ฐ ์์ ์กฐ๊ฑด ํ์ ํด๋์ค ํ๋ฅ
ํ
์คํธ ๋จ๊ณ
โโ Conditional Class Probability ร Confidence Score
โ> Class Specific Confidence Score
โ> ํด๋น ํด๋์ค ๊ฐ์ฒด๊ฐ ๋ฐ์ค์ ์กด์ฌํ ํ๋ฅ ร ๋ฐ์ค ์ ํฉ๋
๋คํธ์ํฌ ๊ตฌ์กฐ
โโ Convolutional Layers (24๊ฐ)
โ โ> ์ด๋ฏธ์ง ํน์ง ์ถ์ถ
โโ Fully Connected Layers (2๊ฐ)
โ โ> ํด๋์ค ํ๋ฅ ๋ฐ bounding box ์ขํ ์์ธก
โโ ํน์ง
โโ 1x1 ์ถ์ ๊ณ์ธต
โโ 3x3 ํฉ์ฑ๊ณฑ ๊ณ์ธต
โ> GoogLeNet ์ธ์
์
๋ชจ๋๊ณผ ๋ค๋ฆ
ํ์ต(Training)
โโ ์ฌ์ ํ์ต: ImageNet ๊ธฐ๋ฐ ๋ถ๋ฅ ๋ชจ๋ธ ์ ํ
โโ ์ถ๊ฐ ๊ณ์ธต: +4 Conv, +2 FC (์ฑ๋ฅ ํฅ์)
โโ ํ์ฑํ ํจ์
โ โโ ๋ง์ง๋ง ๊ณ์ธต: ์ ํ
โ โโ ๋๋จธ์ง: Leaky ReLU
โโ Loss: SSE (Sum-Squared Error)
โโ Localization Loss: bounding box ์์น ์ ํ๋
โโ Classification Loss: ํด๋์ค ์์ธก ์ ํ๋
โโ ํ์ต ๋ถ๊ท ํ ๋ณด์
โ โโ ๊ฐ์ฒด ์๋ ๋ฐ์ค: Loss ์ฆ๊ฐ
โ โโ ๊ฐ์ฒด ์๋ ๋ฐ์ค: Loss ๊ฐ์
โโ Bounding Box ๊ฐ์ค์น ์กฐ์
โโ W, H โ sqrt ์ ์ฉ (์์ ๋ฐ์ค ๋ฏผ๊ฐ๋ ์ฆ๊ฐ)
โโ IoU ์ต๋ ๋ฐ์ค ์ ํ (์ ํํ ๊ฐ์ฒด ๊ฐ์ธ๊ธฐ)
๊ฒฐ๊ณผ
โโ ๋ค์ํ ํฌ๊ธฐ, ์ข
ํก๋น, ํด๋์ค ๊ฐ์ฒด ์์ธก ๊ฐ๋ฅ
โ๏ธ ํ๋์ ๊ทธ๋ฆฌ๋ ์ ์ด ์ฌ๋ฌ ๊ฐ์ฒด๋ฅผ ํฌํจํ๋ฉด ์ด๋ป๊ฒ ์ฒ๋ฆฌ๋ ๊น?
YOLO๋ ํ ๊ทธ๋ฆฌ๋ ์ ๋น ํ๋์ ๊ฐ์ฒด๋ง ๋ด๋นํฉ๋๋ค.
๋ง์ฝ ์ ์์ ๊ฐ์ฒด๊ฐ ์ฌ๋ฌ ๊ฐ๋ฉด, ๋ชจ๋ธ์ ๊ฐ์ฅ ์ค์ฌ์ด ์ ์ ๊ฐ๊น์ด ๊ฐ์ฒด๋ง ์์ธกํ๊ณ ๋๋จธ์ง๋ ๋ค๋ฅธ ์ ์์ ๊ฐ์ง๋๋๋ก ํฉ๋๋ค.
โ๏ธ B๊ฐ์ bounding box๋ฅผ ์์ธกํ๋ ์ด์ ๋ ๋ฌด์์ผ๊น?
ํ๋์ ์ ์์ ๊ฐ์ฒด ์์น๊ฐ ์ ํํ ์ด๋์ธ์ง ๋ชจ๋ฅผ ์ ์์ผ๋ฏ๋ก ์ฌ๋ฌ ํ๋ณด ๋ฐ์ค(B๊ฐ)๋ฅผ ์์ธกํฉ๋๋ค.
ํ์ต ์ค ๊ฐ์ฅ ์ค์ ๊ฐ์ฒด์ ์ ๋ง๋ ๋ฐ์ค๋ฅผ ์ ํํด ์ต์ข ์์ธก์ ์ฌ์ฉํฉ๋๋ค.
โ๏ธ Loss ํจ์๋ก SSE(sum-squared error)๋ฅผ ์ฐ๋ ์ด์ ๋ ๋ฌด์์ผ๊น?
SSE๋ ์์น, ํฌ๊ธฐ, ํด๋์ค ์์ธก ๋ชจ๋ ๋์ผํ๊ฒ ๊ฐ์ค์น๋ฅผ ๋๊ณ ๊ณ์ฐํ ์ ์์ด ๊ตฌํ๊ณผ ์ต์ ํ๊ฐ ์ฝ์ต๋๋ค.
๋จ์ : ์์ ๊ฐ์ฒด๋ ํด๋์ค ๋ถ๊ท ํ์๋ ์ต์ ํ๊ฐ ์ ์ ๋ ์ ์์ต๋๋ค.
โ๏ธ Bounding Box ์ ํ ์ IoU๊ฐ ๊ฐ์ฅ ๋์ ๊ฒ์ ์ ํํ๋ ๋ฐฉ๋ฒ์ ์ด๋ค ์๋ฏธ์ผ๊น?
IoU(Intersection over Union)๊ฐ ๋์ ๋ฐ์ค๋ ์ค์ ๊ฐ์ฒด๋ฅผ ๊ฐ์ฅ ์ ๊ฐ์ธ๋ ๋ฐ์ค์ ๋๋ค.
ํ์ต๊ณผ์ ์์ ์ด๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ํํ๋ฉด ๋ชจ๋ธ์ด ๊ฐ์ฒด ์์น๋ฅผ ์ ํํ ์์ธกํ๋๋ก ์ ๋ํ ์ ์์ต๋๋ค.
โ๏ธ YOLO๊ฐ ์ค์๊ฐ ๊ฐ์ฒด ๊ฒ์ถ์ ๊ฐํ ์ด์ ๋ ๋ฌด์์ผ๊น?
์ด๋ฏธ์ง ์ ์ฒด๋ฅผ ํ ๋ฒ์ ์ฒ๋ฆฌํด ๋ชจ๋ ๊ฐ์ฒด๋ฅผ ๋์์ ์์ธกํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
Region Proposal ๊ฐ์ ๋จ๊ณ์ ์ฒ๋ฆฌ ์์ด ๋จ์ผ ๋คํธ์ํฌ ๊ตฌ์กฐ๋ก ๋๋ด๊ธฐ ๋๋ฌธ์ ์๋๊ฐ ๋น ๋ฆ ๋๋ค.
โ๏ธ YOLO๊ฐ ์์ ๊ฐ์ฒด๋ฅผ ์ ์ก์ง ๋ชปํ๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ฐ, ์ด์ ๊ฐ ๋ญ๊น?
์์ ๊ฐ์ฒด๋ ๊ทธ๋ฆฌ๋ ์ ํ๋์ ์์ ํ ๋ค์ด๊ฐ๊ฑฐ๋, ์ ํฌ๊ธฐ์ ๋นํด ๋๋ฌด ์์์ ๊ฐ์ฒด ์ค์ฌ์ด ์ ํํ ๋ง์ง ์์ผ๋ฉด ๊ฐ์ง ์ด๋ ค์
๊ทธ๋ฆฌ๋ ๋ถํ ๋ฐฉ์๊ณผ ์๋ ์ขํ ๊ณ์ฐ ๋๋ฌธ์ ์์ ๊ฐ์ฒด์ ๋ํ ์์ธก ์ ํ๋๊ฐ ๋ฎ์์ง๋๋ค.
โ๏ธ YOLO ๊ฒฐ๊ณผ๋ฅผ ํ์ฒ๋ฆฌ(NMS ๋ฑ) ์์ด ๋ฐ๋ก ์ฌ์ฉํ ์ ์์๊น?
๋ณดํต์ Non-Maximum Suppression(NMS)์ ์ฌ์ฉํด ๊ฒน์น๋ ๋ฐ์ค๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
ํ์ฒ๋ฆฌ ์์ด ๋ฐ๋ก ์ฐ๋ฉด ๋์ผ ๊ฐ์ฒด๊ฐ ์ฌ๋ฌ ๋ฐ์ค๋ก ์ค๋ณต ๊ฒ์ถ๋ ์ ์์ด ์ค๋ฌด์์๋ ๊ฑฐ์ ํ์์ ๋๋ค.