์ค๋์ ๊ฐ์ฒด ๊ฒ์ถ์ ๊ณต๋ถํ๋ค ๋ณด๋ฉด ์์ฃผ ๋ฑ์ฅํ๋ ์ต์ปค ๋ฐ์ค(Anchor Box)์ ๋ํด ์์ ๋ณด๋ ค๊ณ ํด์. ๊ฐ์ฒด ๊ฒ์ถ์ ์ดํดํ๊ธฐ ์ํด์๋ ํ์์ ์ธ ๊ฐ๋ ์ด๋ ์์๋๋ฉด ์ข๊ฒ ์ฃ !?
1. ์ต์ปค ๋ฐ์ค๋?
์ต์ปค ๋ฐ์ค(Anchor Box)๋ ๊ฐ์ฒด ๊ฒ์ถ(Object Detection) ๋ชจ๋ธ์์ ๋ฌผ์ฒด์ ์์น์ ํฌ๊ธฐ๋ฅผ ์์ธกํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๊ณ ์ ๋ ์ฌ์ ์ ์๋ ๋ฐ์ด๋ฉ ๋ฐ์ค์์. ๋ค์ํ ํฌ๊ธฐ์ ๋น์จ์ ์ต์ปค ๋ฐ์ค๋ฅผ ์ด๋ฏธ์ง์ ๊ฐ ์์น์ ๋ฐฐ์นํด, ๊ฐ ๋ฐ์ค ์์ ๊ฐ์ฒด๊ฐ ํฌํจ๋ ๊ฐ๋ฅ์ฑ์ ๊ณ์ฐํ๋ ๋ฐฉ์์ผ๋ก ๋์ํฉ๋๋ค.
2. ์ต์ปค ๋ฐ์ค์ ์๋ฆฌ์ ์ฌ์ฉ ๋ฐฉ์
์ต์ปค ๋ฐ์ค์ ์ฃผ์ ๋ชฉ์ ์ ์ด๋ฏธ์ง ๋ด ๋ค์ํ ํฌ๊ธฐ์ ๋น์จ์ ๊ฐ์ฒด๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ฒ์ถํ๋ ๊ฒ์ธ๋ฐ์.
์กฐ๊ธ ๋ ์์ธํ๊ฒ ์ดํด๋ณด๋ฉด, ์ฐ์ ์ด๋ฏธ์ง ๋ด์ ๋ชจ๋ ์์น์์ ๋ค์ํ ํฌ๊ธฐ์ ๋น์จ๋ก ์ต์ปค ๋ฐ์ค๋ฅผ ์์ฑํด์. ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ธ์ ๊ฐ ์ต์ปค ๋ฐ์ค์ ๋ํด ํด๋์ค ๋ ์ด๋ธ๊ณผ bbox ๋ฐ์ค ์์น๋ฅผ ์์ธกํ๊ฒ ๋ผ์. ์ด ๋ ์์ธก bbox์ ์ค์ ๊ฐ์ฒด bbox๊ฐ ์ผ๋ง๋ ๊ฒน์น๋์ง ํ๊ฐํ๊ธฐ ์ํด IoU ์งํ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ต์ปค ๋ฐ์ค ํ์ฉ ์์
1. ์ฌ์ ์ ์๋ ์ต์ปค ๋ฐ์ค ์ค์
- ๋จผ์ , ์ด๋ฏธ์ง์ ๊ฐ ์์น์ ๋ํด ๋ค์ํ ํฌ๊ธฐ์ ๋น์จ์ ์ต์ปค ๋ฐ์ค๊ฐ ์ฌ์ ์ ์ ์๋จ
- ์๋ฅผ ๋ค์ด, 3๊ฐ์ ๋ค๋ฅธ ํฌ๊ธฐ์ 3๊ฐ์ ๋ค๋ฅธ ๋น์จ์ ์ต์ปค ๋ฐ์ค๋ฅผ ์ฌ์ฉํ๋ค๊ณ ๊ฐ์ ํ๋ฉด, ๊ฐ ์์น์์ 9๊ฐ์ ์ต์ปค ๋ฐ์ค๊ฐ ์ค์ ๋ผ์
2. ํ์ต ๊ณผ์ : ์ค์ ๊ฐ์ฒด์ ์ต์ปค ๋ฐ์ค์ ๋งค์นญ
ํ์ต ์ค์๋, ๊ฐ ์ต์ปค ๋ฐ์ค๊ฐ ์ด๋ฏธ์ง ๋ด์ ์ค์ ๊ฐ์ฒด์ ์ผ๋ง๋ ์ ๋ง๋์ง๋ฅผ ํ๊ฐํฉ๋๋ค.
- ์ค์ ๊ฐ์ฒด: ์ด๋ฏธ์ง ๋ด์ ๊ณ ์์ด(ํด๋์ค: ๊ณ ์์ด)๊ฐ ์๊ณ , ์ด ๊ณ ์์ด์ ๋ฐ์ด๋ฉ ๋ฐ์ค ์ขํ๊ฐ (x_min: 50, y_min: 50, x_max: 150, y_max: 200)๋ผ๊ณ ๊ฐ์
- ์ต์ปค ๋ฐ์ค: ์ด๋ฏธ์ง์ ํ ์์น์์ ์ ์๋ ์ต์ปค ๋ฐ์ค ์ค ํ๋๊ฐ (x_min: 40, y_min: 40, width: 100, height: 160)์ธ ๊ฒฝ์ฐ๋ฅผ ๊ณ ๋ คํด ๋ด์.
๋จ๊ณ 1: IoU(Intersection over Union) ๊ณ์ฐ
๋ชจ๋ธ์ ๊ฐ ์ต์ปค ๋ฐ์ค์ ์ค์ ๊ฐ์ฒด์ ๋ฐ์ด๋ฉ ๋ฐ์ค ๊ฐ์ IoU๋ฅผ ๊ณ์ฐํด์.
- ์ต์ปค ๋ฐ์ค์ ํฌ๊ธฐ์ ์ค์ ๊ฐ์ฒด์ ํฌ๊ธฐ๊ฐ ์ ์ฌํ๋ค๋ฉด, IoU ๊ฐ์ด ๋๊ฒ ๋์ต๋๋ค.
- ์๋ฅผ ๋ค์ด, ์ด ๊ฒฝ์ฐ IoU ๊ฐ์ด 0.8์ด๋ผ๊ณ ํ๋ฉด, ์ด ์ต์ปค ๋ฐ์ค๋ ์ค์ ๊ฐ์ฒด์ ๋งค์ฐ ์ ๋ง๋ ๊ฒ์ผ๋ก ํ๊ฐ๋จ
๋จ๊ณ 2: ์ต์ปค ๋ฐ์ค ํ ๋น
๋ชจ๋ธ์ IoU ๊ฐ์ด ๊ฐ์ฅ ๋์ ์ต์ปค ๋ฐ์ค๋ฅผ ํด๋น ์ค์ ๊ฐ์ฒด์ ํ ๋นํด์. ์ด๋, ์ต์ปค ๋ฐ์ค๋ ํด๋น ์์น์์ ๊ณ ์์ด ํด๋์ค๋ฅผ ์์ธกํ๋๋ก ํ์ต๋ฉ๋๋ค.
- ํด๋์ค ๋ ์ด๋ธ ํ ๋น: ์ด ์ต์ปค ๋ฐ์ค์ "๊ณ ์์ด" ํด๋์ค๋ฅผ ํ ๋นํฉ๋๋ค.
- ๋ฐ์ด๋ฉ ๋ฐ์ค ์ขํ ์กฐ์ : ์ต์ปค ๋ฐ์ค์ ๋ฐ์ด๋ฉ ๋ฐ์ค (x_min: 40, y_min: 40, width: 100, height: 160)์ ์ค์ ๊ฐ์ฒด์ ๋ฐ์ด๋ฉ ๋ฐ์ค (x_min: 50, y_min: 50, width: 100, height: 150)๋ก ์กฐ์ ํ๊ธฐ ์ํ ํ์ต์ ์งํํด์. ์ด ๊ณผ์ ์์ ์ต์ปค ๋ฐ์ค์ ์ขํ๊ฐ ์ผ๋ง๋ ์กฐ์ ๋์ด์ผ ํ๋์ง ๋ชจ๋ธ์ด ํ์ตํ๊ฒ ๋ฉ๋๋ค.
3. ํ์ต ์์ค(Loss) ๊ณ์ฐ
๋ชจ๋ธ์ด ์์ธกํ ํด๋์ค์ ๋ฐ์ด๋ฉ ๋ฐ์ค ์ขํ๊ฐ ์ค์ ๊ฐ๊ณผ ์ผ๋ง๋ ์ฐจ์ด๊ฐ ๋๋์ง๋ฅผ ๊ธฐ์ค์ผ๋ก ์์ค(Loss)์ ๊ณ์ฐํด์.
- Class Loss: ์์ธก๋ ํด๋์ค๊ฐ ์ค์ ํด๋์ค(์: ๊ณ ์์ด)์ ์ผ๋ง๋ ์ผ์นํ๋์ง Cross-Entropy Loss๋ก ๊ณ์ฐ
- BBox Loss: ์์ธก๋ ๋ฐ์ด๋ฉ ๋ฐ์ค ์ขํ์ ์ค์ ๋ฐ์ด๋ฉ ๋ฐ์ค ์ขํ ๊ฐ์ ์ฐจ์ด๋ฅผ L1 ์์ค(์ ๋ ์ค์ฐจ) ๋๋ GIoU ์์ค๋ก ๊ณ์ฐ
4. ๋ชจ๋ธ ์ ๋ฐ์ดํธ
์์ค์ด ๊ณ์ฐ๋๋ฉด, ๋ชจ๋ธ์ ๊ฐ์ค์น๊ฐ ์ ๋ฐ์ดํธ๋ผ์. ์ด ๊ณผ์ ์ ๋ฐ๋ณตํ์ฌ ๋ชจ๋ธ์ ์ ์ ๋ ์ ํํ๊ฒ ๊ฐ์ฒด์ ํด๋์ค์ ๋ฐ์ด๋ฉ ๋ฐ์ค๋ฅผ ์์ธกํ ์ ์๊ฒ ๋ฉ๋๋ค.
3. ์ต์ปค ๋ฐ์ค์ ์ฅ๋จ์
์ฅ์
- ๋ค์ํ ๊ฐ์ฒด ํฌ๊ธฐ ์ฒ๋ฆฌ: ๋ค์ํ ํฌ๊ธฐ์ ๋น์จ์ ์ต์ปค ๋ฐ์ค๋ฅผ ์ฌ์ฉํ์ฌ, ์์ ๋ฌผ์ฒด๋ถํฐ ํฐ ๋ฌผ์ฒด๊น์ง ํญ๋๊ฒ ๊ฒ์ถํ ์ ์์ต๋๋ค.
- ๋ค์ค ์ค์ผ์ผ ์์ธก: ์ด๋ฏธ์ง์ ์ฌ๋ฌ ์ค์ผ์ผ์์ ์์ธก์ ์ํํจ์ผ๋ก์จ, ๊ฐ์ฒด ๊ฒ์ถ์ ์ ํ๋๋ฅผ ๋์ผ ์ ์์ต๋๋ค.
๋จ์
- ์ค์ ์ ๋ณต์ก์ฑ
- ์ต์ปค ๋ฐ์ค์ ํฌ๊ธฐ, ๋น์จ, ์๋ฅผ ์ค์ ํ๋ ๊ณผ์ ์ ๋งค์ฐ ๋ณต์กํด์
- ์ด ์ค์ ์ ๋ชจ๋ธ ์ฑ๋ฅ์ ํฐ ์ํฅ์ ๋ฏธ์น๋ฉฐ, ์ต์ ์ ๊ฐ์ ์ฐพ๋ ๊ฒ์ ์ด๋ ต๊ณ ์๊ฐ์ด ๋ง์ด ์์๋ฉ๋๋ค.
- ์ฐ์ฐ ๋น์ฉ
- ๋ชจ๋ ์์น์์ ์ฌ๋ฌ ๊ฐ์ ์ต์ปค ๋ฐ์ค๋ฅผ ์์ฑํ๊ณ ์ฒ๋ฆฌํ๋ ๊ฒ์ ๊ณ์ฐ์ ์ผ๋ก ๋งค์ฐ ๋นํจ์จ์ ์ด์์.
- ์ด๋ก ์ธํด ๋ชจ๋ธ์ ์ฐ์ฐ ๋น์ฉ๊ณผ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ํฌ๊ฒ ์ฆ๊ฐํ ์ ์์ต๋๋ค.
- ํ์ฒ๋ฆฌ ํ์์ฑ
- ์ต์ปค ๋ฐ์ค ๊ธฐ๋ฐ ๋ชจ๋ธ์ ์ค๋ณต๋ ์์ธก์ ๋ง์ด ์์ฑํด์.
- ์ด๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด NMS(Non-Maximum Suppression)๊ณผ ๊ฐ์ ๋ณต์กํ ํ์ฒ๋ฆฌ ๊ณผ์ ์ด ํ์ํด์.
4. ์ต์ปค ๋ฐ์ค๋ฅผ ์ฌ์ฉํ๋ ๋ํ์ ์ธ ๊ฐ์ฒด ๊ฒ์ถ ๋ชจ๋ธ
- Faster R-CNN
- Faster R-CNN์ ์ต์ปค ๋ฐ์ค๋ฅผ ๋์ ํ ๋ํ์ ์ธ ๊ฐ์ฒด ๊ฒ์ถ ๋ชจ๋ธ ์ค ํ๋์ด์์.
- ์ด ๋ชจ๋ธ์ CNN๊ธฐ๋ฐ์ Region Proposal Network(RPN)์ ์ฌ์ฉํ์ฌ, ์ต์ปค ๋ฐ์ค๋ฅผ ํตํด ํ๋ณด ์์ญ์ ์ ์ํ๊ณ ์ด๋ฅผ ๋ฐํ์ผ๋ก ๊ฐ์ฒด๋ฅผ ๊ฒ์ถํด์.
- YOLO (You Only Look Once)
- YOLO ๋ชจ๋ธ์ ํ ๋ฒ์ ์ ๋ฐฉํฅ ํจ์ค์์ ๊ฐ์ฒด๋ฅผ ๊ฒ์ถํ๋ ๋ฐฉ์์ผ๋ก ๋์ํ๋ฉฐ, ์ด๋ฏธ์ง ๋ด ๊ทธ๋ฆฌ๋ ์ ๋ง๋ค ๊ณ ์ ๋ ์ต์ปค ๋ฐ์ค๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด์ ์์น์ ํฌ๊ธฐ๋ฅผ ์์ธกํด์.
- YOLOv3์ ๊ฐ์ ๋ฒ์ ์์ ์ต์ปค ๋ฐ์ค ๊ฐ๋ ์ด ์ฌ์ฉ๋ฉ๋๋ค.
- RetinaNet
- RetinaNet์ Focal Loss๋ฅผ ๋์ ํ์ฌ ์์ ๊ฐ์ฒด์ ํด๋์ค ๋ถ๊ท ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๋ชจ๋ธ๋ก, ์ต์ปค ๋ฐ์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ํฌ๊ธฐ์ ๋ฌผ์ฒด๋ฅผ ๊ฒ์ถํด์.
- ์ด ๋ชจ๋ธ์ ๊ฐ์ฒด์ ํฌ๊ธฐ์ ๋น์จ์ ๋ฐ๋ผ ๋ค์ํ ์ต์ปค ๋ฐ์ค๋ฅผ ํ์ฉํ์ฌ ๋์ ๊ฒ์ถ ์ฑ๋ฅ์ ๋ณด์ฌ์ค๋๋ค.
์ต์ปค ๋ฐ์ค๋ ๊ฐ์ฒด ๊ฒ์ถ ๋ชจ๋ธ์์ ๋งค์ฐ ์ค์ํ ์ญํ ์ ํด์. ๋ค์ํ ํฌ๊ธฐ์ ๋น์จ์ ๋ฌผ์ฒด๋ฅผ ๊ฒ์ถํ ์ ์๋๋ก ๋์ง๋ง, ์ค์ ์ ๋ณต์ก์ฑ๊ณผ ๋์ ์ฐ์ฐ ๋น์ฉ, ๊ทธ๋ฆฌ๊ณ ํ์ฒ๋ฆฌ ๊ณผ์ ์ ํ์์ฑ ๋ฑ ๋ช ๊ฐ์ง ํ๊ณ๋ ๊ฐ์ง๊ณ ์์ต๋๋ค.
์ฌ์ ํ ๋ง์ ๊ฒ์ถ ๋ชจ๋ธ๋ค์ด ์ต์ปค ๋ฐ์ค๋ฅผ ์ฌ์ฉํ์ง๋ง, DETR ๊ณผ ๊ฐ์ end-to-end ๊ฐ์ฒด ๊ฒ์ถ ๋ชจ๋ธ์ ์ต์ปค ๋ฐ์ค๋ ๋ณต์กํ ํ์ฒ๋ฆฌ ๊ณผ์ ์ด ํ์์๋๋ฐ์.
DETR ๋ชจ๋ธ์ด ๊ถ๊ธํ์๋ค๋ฉด ์๋ ํฌ์คํ ์ ์ฐธ๊ณ ํด ์ฃผ์ธ์!!