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

Data Science/Computer Vision

[ML] YOLO(You Only Look Once) Object Detection ๋ชจ๋ธ

๋ฐ˜์‘ํ˜•

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

 

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” One-Stage Object Detection ๋ชจ๋ธ๋กœ์„œ YOLO ๋ชจ๋ธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์›๋ž˜ YOLO๊ฐ€ ์ตœ์ดˆ๋กœ ์ถœ์‹œ๋œ ๋ฒ„์ „ 1 ๋ชจ๋ธ์€ SSD ๋ชจ๋ธ ์ด์ „์— ๋‚˜์™”๋‹ค๊ณ  ์ €๋ฒˆ ํฌ์ŠคํŒ…์—์„œ ์ž ๊น ์–ธ๊ธ‰ํ–ˆ์—ˆ๋‹ค. YOLO ๋ฒ„์ „ 1์ด ์–ด๋–ค ๋ชจ๋ธ์ด๊ณ  ๋˜ ์–ด๋–ค ๋ฌธ์ œ์ ์ด ์žˆ์—ˆ๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ๋ฒ„์ „ 2, 3 ๋ชจ๋ธ๊นŒ์ง€ ์ฐจ๋ก€๋Œ€๋กœ ์‚ดํŽด๋ณด์ž.

 

์—ฌ๊ธฐ์„œ YOLO๋Š” You Only Live Once๊ฐ€ ์•„๋‹ˆ๋‹ค..


์•ž์œผ๋กœ ์†Œ๊ฐœํ•  YOLO ๋ชจ๋ธ ์ข…๋ฅ˜๋“ค์€ ๋ชจ๋‘ ํ•˜๋‚˜์˜ ๊ณตํ†ต์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋ฐ”๋กœ ์ž…๋ ฅ ์ด๋ฏธ์ง€ ๋˜๋Š” Feature Map์„ ํŠน์ • ๊ทธ๋ฆฌ๋“œ๋กœ ๋‚˜๋ˆ„๊ณ  ๊ฐ Cell ๋งˆ๋‹ค Object Detection์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ €๋ฒˆ SSD ๋ชจ๋ธ์—์„œ ๋ฐฐ์› ๋˜ Feature Map์˜ ๊ฐ ํฌ์ธํŠธ๋งˆ๋‹ค Object Detection์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์›๋ฆฌ์™€ ๋™์ผํ•˜๋‹ค. ๊ทธ๋ฆฌ๋“œ์˜ ๊ฐ Cell์ด ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๋Š” ์‚ฌ๋žŒ๋„ ์žˆ์„ ์ˆ˜ ์žˆ๊ธฐ์— ํ•˜๋‹จ์˜ ๊ทธ๋ฆผ์„ ์ฐธ์กฐํ•ด์„œ ์ง๊ด€์ ์œผ๋กœ ์ดํ•ดํ•ด๋ณด์ž.

 

YOLO๋Š” ๊ทธ๋ฆฌ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

1. YOLO - Version 1

YOLO ๋ฒ„์ „ 1 ๋ชจ๋ธ์€ ์ปจ๋ณผ๋ฃจ์…˜์„ ๊ฑฐ์นœ Feature Map์ด ์•„๋‹Œ ์ž…๋ ฅ ์ด๋ฏธ์ง€ ์ž์ฒด๋ฅผ ํŠน์ • ๊ทธ๋ฆฌ๋“œ S x S๋กœ ๋‚˜๋ˆˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜๋ˆˆ ๊ทธ๋ฆฌ๋“œ์˜ ๊ฐ Cell ๋งˆ๋‹ค Anchor Box๋ฅผ 2๊ฐœ์”ฉ ์”Œ์šฐ๊ณ  ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ Ground Truth์™€ ๋น„๊ต๋ฅผ ํ•˜๋ฉด์„œ Object Detection์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์šฐ์„  ๊ตฌ๊ธ€์—์„œ YOLO Version 1์„ ๊ฒ€์ƒ‰ํ–ˆ์„ ๋•Œ ๋‚˜์˜ค๋Š” ๋ชจ๋ธ์˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ดํŽด๋ณด์ž.

 

YOLO Version 1 ์•„ํ‚คํ…์ฒ˜

 

์ด์ œ ํ•„์ž๊ฐ€ ์ง์ ‘ ๋งŒ๋“  ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ดํŽด๋ณด์ž. 

 

YOLO Version 1 ์•„ํ‚คํ…์ฒ˜

 

๋ชจ๋ธ์ด ์ „๊ฐœ๋˜๋Š” ๊ณผ์ •์— ๋Œ€ํ•ด์„œ ์›ฌ๋งŒํ•œ ์„ค๋ช…์€ ์ž๋ฃŒ์•ˆ์— ๋‹ค ์ ์–ด๋†“์•˜๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ YOLO ๋ฒ„์ „ 1 ๋ชจ๋ธ์€ ์ž…๋ ฅ ์ด๋ฏธ์ง€๋ฅผ 7 x 7 ๊ทธ๋ฆฌ๋“œ๋กœ ๋‚˜๋ˆ„๊ณ  ๋‚˜๋ˆˆ ๊ฐ Cell ๋‹น ํ•˜๋‚˜์˜ Object Detection์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ํ†ตํ•ฉํ•ด์„œ ์ตœ์ข…์ ์ธ Object Detection์„ ์ˆ˜ํ–‰ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

 

์œ„ ์ž๋ฃŒ์˜ ๋นจ๊ฐ„์ƒ‰ 1 x 1 x 30 ๋ฒกํ„ฐ๋ฅผ ์„ค๋ช…ํ•ด ๋†“์€ ๋ถ€๋ถ„์„ ๋ณด์ž. ํ•˜๋‚˜์˜ Anchor Box์— ๋Œ€ํ•œ ๋ฒกํ„ฐ 5๊ฐœ. ์ด Box๊ฐ€ 2๊ฐœ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ์ด 10๊ฐœ, ๊ทธ๋ฆฌ๊ณ  Pascal VOC Dataset ๊ธฐ์ค€์œผ๋กœ ํด๋ž˜์Šค ์ข…๋ฅ˜๊ฐ€ 20๊ฐœ์ด๊ธฐ ๋•Œ๋ฌธ์— 20๊ฐœ์˜ ๋ฒกํ„ฐ, ์ด๋“ค์„ ํ•ฉํ•˜๋ฉด ์ด 30๊ฐœ์˜ ๋ฒกํ„ฐ๊ฐ€ ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

์ด๋ ‡๊ฒŒ ํ•˜๋‚˜์˜ Cell ๋งˆ๋‹ค Object Detection์„ ์ˆ˜ํ–‰ํ•ด์ฃผ๊ณ  ๋‚˜๋ฉด ์ˆ˜๋งŽ์€ Bounding Box๋“ค์ด ๋„์ถœ๋  ๊ฒƒ์ด๋‹ค. ์ด ๋•Œ Ground Truth์™€ ์ตœ๋Œ€ํ•œ ์œ ์‚ฌํ•œ ์ตœ์ ์˜ Bounding Box๋“ค ๋งŒ์„ ๋‚จ๊ธฐ๊ธฐ ์œ„ํ•ด NMS ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•ด์ค€๋‹ค.

 

ํ•˜์ง€๋งŒ YOLO ๋ฒ„์ „ 1 ๋ชจ๋ธ์€ ์น˜๋ช…์ ์ธ ๋‹จ์ ์ด ์žˆ๋‹ค. ๋ฐ”๋กœ ๊ทธ๋ฆฌ๋“œ๋ฅผ ๋‚˜๋ˆˆ ๊ฐ Cell ๋งˆ๋‹ค Anchor Box๊ฐ€ 2๊ฐœ๋ฐ–์— ์—†๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ฒฐ๊ตญ Anchor Box๊ฐ€ 2๊ฐœ๋ผ๋ฉด ๊ทธ๋งŒํผ ROI(Regions Of Interest, ๊ฐ์ฒด๊ฐ€ ์žˆ์„๋งŒํ•œ ํ›„๋ณด ์˜์—ญ)๋“ค์ด ์ ์„ ๊ฒƒ์ด๊ณ  ์ด๋Š” ๊ฒฐ๊ตญ Object๋ฅผ ์ž˜ ํƒ์ง€ํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ๋˜ํ•œ ์ž…๋ ฅ ์ด๋ฏธ์ง€๋ฅผ ๊ทธ๋ฆฌ๋“œ ์…€๋กœ ๋‚˜๋ˆ„๊ณ  ๊ฐ Cell ๋งˆ๋‹ค Object Detection์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋งŒ์•ฝ ํ•˜๋‚˜์˜ ๊ทธ๋ฆฌ๋“œ Cell์— ์—ฌ๋Ÿฌ๊ฐœ Object๊ฐ€ ๊ฒน์ณ์žˆ์œผ๋ฉด ๋‹จ์ˆœํžˆ ํ•˜๋‚˜์˜ Object๋กœ๋งŒ ํƒ์ง€ํ•˜๊ณ  ๋„˜์–ด๊ฐ„๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋ฐ”๋กœ ํ•˜๋‹จ์˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ ๋ง์ด๋‹ค.

 

์ด๋ ‡๊ฒŒ ๊ฐ์ฒด๋“ค์ด ๊ฒน์ณ์žˆ์œผ๋ฉด ์—ฌ๋Ÿฌ๋งˆ๋ฆฌ์˜ ๋ฌผ๊ณ ๊ธฐ ์ค‘ ํ•˜๋‚˜์˜ ๋ฌผ๊ณ ๊ธฐ๋งŒ ํƒ์ง€ํ•˜๊ฒŒ ๋œ๋‹ค.

2. YOLO - Version 2

์ด์ œ YOLO ๋ฒ„์ „ 2 ๋ชจ๋ธ์„ ์‚ดํŽด๋ณด์ž. ๋ฒ„์ „ 1์˜ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฒ„์ „ 2์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•๋“ค์„ ๋ชจ๋ธ์— ์ถ”๊ฐ€ํ–ˆ๋‹ค.

 

  1. ์ž…๋ ฅ ์ด๋ฏธ์ง€๊ฐ€ ์•„๋‹Œ Feature Map์—์„œ 13 x 13 ๊ทธ๋ฆฌ๋“œ๋กœ ๋‚˜๋ˆ„๊ณ  ๊ฐ Cell ๋งˆ๋‹ค Object Detection์„ ์ˆ˜ํ–‰
  2. ๊ฐ Cell ๋‹น ์”Œ์šฐ๋Š” Anchor Box ๊ฐœ์ˆ˜๋ฅผ 5๊ฐœ๋กœ ๋Š˜๋ฆฌ๊ธฐ
  3. ๋™์ผํ•œ ์ด๋ฏธ์ง€ ์ด์ง€๋งŒ ํฌ๊ธฐ๋งŒ ๋‹ค๋ฅด๊ฒŒ ํ•ด์„œ ๋ชจ๋ธ์„ ํ•™์Šต(Multi-Scaling)
  4. ๋ชจ๋ธ์— Batch Normalization ์ ์šฉ
  5. ๋ถ„๋ฅ˜ ๋ชจ๋ธ์„ Fine Tuning
  6. Darknet-19 ๋ผ๋Š” ๊ฐœ๋ณ„์˜ Feature Extractor ์‚ฌ์šฉ

๋ฒ„์ „ 2 ๋ชจ๋ธ์—์„œ ์ฃผ๋ชฉํ•ด์•ผ ํ•  ํŠน์ง•์€ 1๋ฒˆ, 2๋ฒˆ์ด ๋˜๊ฒ ๋‹ค. ๋‚˜๋จธ์ง€ ํŠน์ง•๋“ค์€ ์ฝ๊ธฐ๋งŒ ํ•ด๋„ ์ดํ•ด๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค. ์šฐ์„  ๊ธฐ๋ณธ์ ์ธ YOLO ๋ฒ„์ „ 2์˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ดํŽด๋ณด์ž.

 

YOLO Version 2์˜ ํฐ ์•„ํ‚คํ…์ฒ˜

 

๋ฒ„์ „ 1 ๋ชจ๋ธ๊ณผ ๋‘๋“œ๋Ÿฌ์ง„ ์ฐจ์ด์ ์€ FC Layer๊ฐ€ ์—†์–ด์กŒ๋‹ค๋Š” ์ ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹Œ Feature Map์—์„œ 13 x 13 ๊ทธ๋ฆฌ๋“œ๋กœ ๋‚˜๋ˆ„๊ณ  ๊ฐ Cell ๋งˆ๋‹ค Object Detection์„ ์ˆ˜ํ–‰ํ•œ๋‹ค๋Š” ์ ์ด๋‹ค. ์ž, ์ด์ œ ๋””ํ…Œ์ผํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๋Š” ์ž๋ฃŒ๋ฅผ ์‚ดํŽด๋ณด์ž

 

YOLO Version 2์˜ ํฐ ์•„ํ‚คํ…์ฒ˜

 

์œ„ ๊ทธ๋ฆผ์„ ๋ณด๋‹ค์‹œํ”ผ ์ „๊ฐœ๋˜๋Š” ๊ณผ์ •์€ ๋ฒ„์ „ 1 ๋ชจ๋ธ๊ณผ ์œ ์‚ฌํ•˜๋‹ค. Feature Map์— ๊ทธ๋ฆฌ๋“œ๋ฅผ ๋‚˜๋ˆˆ๋‹ค๋Š” ์ ๊ณผ ๊ฐ ๊ทธ๋ฆฌ๋“œ Cell ๋งˆ๋‹ค Anchor Box๋ฅผ 2๊ฐœ๊ฐ€ ์•„๋‹Œ 5๊ฐœ๋ฅผ ์”Œ์›Œ์ค€๋‹ค๋Š” ์ ์ด ๋‹ค๋ฅด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์—ฌ๊ธฐ์„œ Anchor Box๋ฅผ 5๊ฐœ ์”Œ์›Œ์ค„ ๋•Œ ์„œ๋กœ ๋‹ค๋ฅธ ํฌ๊ธฐ์˜ ๋ฐ•์Šค๋“ค์„ ์”Œ์›Œ์ค€๋‹ค๊ณ  ํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์„œ๋กœ ๋‹ค๋ฅธ ์ ์ ˆํ•œ ํฌ๊ธฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ•ด์ค„๊นŒ? 

 

5๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ Anchor Box์˜ ์‚ฌ์ด์ฆˆ ๊ธฐ์ค€์€ ์ž…๋ ฅ๋˜๋Š” ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์˜ Ground Truth์˜ Bouding Box๋ฅผ ๋ถ„์„ํ•ด ๋น„์Šทํ•œ ๋ถ€๋ถ„๋ผ๋ฆฌ ๊ทธ๋ฃนํ•‘๋˜๋„๋ก K-means Clustering์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.

 

K-means๋ฅผ ํ™œ์šฉํ•ด ์„œ๋กœ ๋‹ค๋ฅธ ์‚ฌ์ด์ฆˆ์˜ Anchor Box ์„ค์ •ํ•˜๊ธฐ

 

๊ฒฐ๊ณผ์ ์œผ๋กœ ํ•˜๋‚˜์˜ ๊ทธ๋ฆฌ๋“œ Cell์— ๋Œ€ํ•ด 125๊ฐœ์˜ ๋ฒกํ„ฐ๊ฐ€ ์กด์žฌํ•˜๊ฒŒ ๋œ๋‹ค. ํ•˜๋‚˜์˜ Anchor Box๋‹น 25๊ฐœ์˜ ๋ฒกํ„ฐ๊ฐ€ ์กด์žฌํ•˜๊ณ  Anchor Box๊ฐ€ 5๊ฐœ๊ฐ€ ์žˆ์œผ๋‹ˆ๊นŒ $25 * 5$์ธ 125๊ฐ€ ๋œ๋‹ค.

3. YOLO - Version 3

YOLO ๋ฒ„์ „ 2 ๋ชจ๋ธ๋กœ ๋ฒ„์ „ 1์— ๋น„ํ•ด ํƒ์ง€ ์†๋„์™€ ํƒ์ง€ ์„ฑ๋Šฅ์„ ๋Œ€ํญ ๊ฐœ์„ ํ–ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ YOLO ์—ฐ๊ตฌ์ž๋ถ„๋“ค์€ ์—ฌ๊ธฐ์„œ ๋ฉˆ์ถ”์ง€(?) ์•Š์•˜๋‹ค. ๋ฒ„์ „ 2 ๋ชจ๋ธ์— ๋น„ํ•ด ํƒ์ง€ ์†๋„๋Š” ์•ฝ๊ฐ„ ๋Š๋ ค์กŒ์ง€๋งŒ ํƒ์ง€ ์„ฑ๋Šฅ์„ ๋˜ ๋Œ€ํญ ๊ฐœ์„ ํ•œ ๋ฒ„์ „ 3 ๋ชจ๋ธ์ด ๊ฐœ๋ฐœ๋œ๋‹ค. ๋ฒ„์ „ 3 ๋ชจ๋ธ์˜ ํŠน์ง•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

  1. SSD์˜ Multi-Scale Feature Layer์™€ ์œ ์‚ฌํ•œ ๊ธฐ๋ฒ•์„ ์ ์šฉ
  2. Multi-label Classification์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํด๋ž˜์Šค ๋ถ„๋ฅ˜ ์‹œ Softmax๊ฐ€ ์•„๋‹Œ ๋…๋ฆฝ์ ์ธ ์—ฌ๋Ÿฌ๊ฐœ์˜ Sigmoid Layer๋ฅผ ์‚ฌ์šฉ
  3. ํ•˜๋‚˜์˜ ๊ทธ๋ฆฌ๋“œ Cell ๋‹น 3๊ฐœ์˜ Anchor Box๋ฅผ ์”Œ์›€
  4. ํด๋ž˜์Šค ์ข…๋ฅ˜๊ฐ€ 80๊ฐœ์ธ COCO Dataset์„ ์‚ฌ์šฉ
  5. Darknet-53 ์ด๋ผ๋Š” ๊ฐœ๋ณ„ Feature Extractor๋ฅผ ์‚ฌ์šฉ
  6. ๋™์ผํ•˜์ง€๋งŒ ์‚ฌ์ด์ฆˆ๋งŒ ๋‹ค๋ฅธ ์ด๋ฏธ์ง€๋“ค์„ ํ•™์Šต(Multi-Scaling), Data Augmentation ์‚ฌ์šฉ
  7. Layer ์ค‘๊ฐ„์— Feature Map ์‚ฌ์ด์ฆˆ ์ถ•์†Œ๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•œ Up Sampling ์‚ฌ์šฉ
  8. Resnet๊ณผ ๊ฐ™์ด Gradient Vanishing์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด Skip Connection์„ ์‚ฌ์šฉ

์œ„ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํŠน์ง• ์ค‘ 1, 2๋ฒˆ์— ๋Œ€ํ•ด์„œ๋งŒ ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

3-1. SSD์˜ Multi-Scale Feature Layer ์•„์ด๋””์–ด๋ฅผ ๋นŒ๋ ค๋ณด์ž!

๋ฒ„์ „ 2 ๋ชจ๋ธ๊ณผ ๊ฐ€์žฅ ํฐ ์ฐจ์ด์  ์ค‘ ํ•˜๋‚˜๋Š” SSD ๋ชจ๋ธ์—์„œ Multi-Scale Feature Layer์™€ ์ถ”ํ›„์— Retinanet์—์„œ ์‚ดํŽด๋ณผ FPN(Feature Pyramid Network)๊ณผ ์œ ์‚ฌํ•œ ๊ธฐ๋ฒ•์„ ์ ์šฉํ–ˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์•„์ง Retinanet์€ ๋ฐฐ์šฐ์ง€ ์•Š์•˜์œผ๋‹ˆ SSD์˜ Multi-Scale Feature Layer์— ๋Œ€ํ•ด ๋‹ค์‹œ ์ƒ๊ธฐํ•ด๋ณด์ž. ์ด๊ฒƒ์€ ์„œ๋กœ ๋‹ค๋ฅธ ํฌ๊ธฐ์˜ Feature Map์— ๊ฐ ํฌ์ธํŠธ๋งˆ๋‹ค Object Detection์„ ์ˆ˜ํ–‰ํ•ด์ฃผ๋Š” ๊ธฐ๋ฒ•์ด์—ˆ๋‹ค. 

 

YOLO ๋ฒ„์ „ 3 ๋ชจ๋ธ์€ ์ด Multi-Scale Feature Layer๋ฅผ ๊ทธ๋ฆฌ๋“œ์— ์ ์šฉํ•ด์ฃผ๋Š” ์…ˆ์ด๋‹ค. ์šฐ์„  ํฐ ์•„ํ‚คํ…์ฒ˜๋ถ€ํ„ฐ ์‚ดํŽด๋ณด์ž.

 

YOLO Version 3์˜ ํฐ ์•„ํ‚คํ…์ฒ˜

 

์œ„ ๊ทธ๋ฆผ์„ ๋ณด๋‹ค์‹œํ”ผ ๋ฒ„์ „ 3 ๋ชจ๋ธ์€ 82๋ฒˆ์งธ, 94๋ฒˆ์งธ, 106๋ฒˆ์งธ Layer์˜ Feature Map์—์„œ ๊ฐ๊ฐ ์„œ๋กœ ๋‹ค๋ฅธ ํฌ๊ธฐ์˜ ๊ทธ๋ฆฌ๋“œ๋กœ ๋‚˜๋ˆ„๊ณ  ๊ฐ Cell ๋งˆ๋‹ค Object Detection์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ํ•˜๋‹จ์˜ ์ž๋ฃŒ๋Š” ์œ„ ๊ทธ๋ฆผ์˜ ์ „์ฒด ๊ตฌ์กฐ๋ณด๋‹ค ๊ฐ๊ธฐ ๋‹ค๋ฅธ Feature Map์— Multi-Scale Feature Layer๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ถ€๋ถ„์— ์ง‘์ค‘ํ•ด์„œ ์ž๋ฃŒ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค๋Š” ์ ์„ ์ฐธ๊ณ ํ•ด์ฃผ๋ฉด ์ข‹๊ฒ ๋‹ค.

 

YOLO Version 3์—์„œ์˜ Multi-Scale Feature Layer

 

YOLO ๋ฒ„์ „ 3 ๋ชจ๋ธ์€ ์œ„์˜ Multi-Scale Feature Layer ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•ด ๊ทธ๋ฆฌ๋“œ ์‚ฌ์ด์ฆˆ๊ฐ€ ์ž‘์„ ๋•Œ๋Š” Anchor Box ํฌ๊ธฐ๊ฐ€ ์ปค์ง€๋ฏ€๋กœ ์ƒ๋Œ€์ ์œผ๋กœ ํฐ ๊ฐ์ฒด๋ฅผ, ๊ทธ๋ฆฌ๋“œ ์‚ฌ์ด์ฆˆ๊ฐ€ ํด ๋•Œ๋Š” Anchor Box ํฌ๊ธฐ๊ฐ€ ์ž‘์•„์ง€๋ฏ€๋กœ ์ƒ๋Œ€์ ์œผ๋กœ ์ž‘์€ ๊ฐ์ฒด๋ฅผ ์ž˜ ํƒ์ง€ํ•˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด ๊ตฌํ˜„๋˜์—ˆ๋‹ค.

3-2. ๋…๋ฆฝ์ ์ธ ์—ฌ๋Ÿฌ๊ฐœ์˜ Sigmoid๋กœ Multi-label Classification ํ•ด๊ฒฐ

ํ•ด๋‹น ๋‚ด์šฉ์„ ์ดํ•ดํ•˜๊ธฐ ์ „์— Multi-label Classification๊ณผ Multi-class Classification์˜ ์ฐจ์ด์ ์„ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค.

 

  • Multi-label Classification : ๋™์‹œ์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ ˆ์ด๋ธ”์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด '๋‚จ์ž(๋ ˆ์ด๋ธ”1), ์‚ฌ๋žŒ(๋ ˆ์ด๋ธ”2)' ๋ฅผ ๋™์‹œ์— ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.
  • Multi-class Classification : ๋ฌด์กฐ๊ฑด์ ์œผ๋กœ ํ•˜๋‚˜์˜ ๋ ˆ์ด๋ธ”๋งŒ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด '๋‚จ์ž(๋ ˆ์ด๋ธ”1)' ๋˜๋Š” '์‚ฌ๋žŒ(๋ ˆ์ด๋ธ”2)' ๋‘˜ ์ค‘ ํ•˜๋‚˜๋งŒ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋™์•ˆ์˜ Object Detection ๋ชจ๋ธ์€ ๊ฐ์ฒด์˜ ์ตœ์ข… ํด๋ž˜์Šค ๋ถ„๋ฅ˜๋ฅผ ์œ„ํ•ด ๋ชจ๋“  ํด๋ž˜์Šค์˜ ํ™•๋ฅ  ๊ฐ’์„ ๋”ํ•˜๋ฉด ๋ฌด์กฐ๊ฑด 1์ด ๋˜๋Š” Softmax Layer๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. ์ฆ‰, Multi-class Classification ๋ฌธ์ œ๋งŒ์„ ํ•ด๊ฒฐํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ YOLO ๋ฒ„์ „ 3 ๋ชจ๋ธ์€ ์ตœ์ข… ํด๋ž˜์Šค๋ฅผ ๋ถ„๋ฅ˜ํ•  ๋•Œ Softmax Layer๊ฐ€ ์•„๋‹Œ ๊ฐ ํด๋ž˜์Šค ๋งˆ๋‹ค Sigmoid(=Logisitc ํ•จ์ˆ˜) Layer๋ฅผ ์‚ฌ์šฉํ•ด Multi-label Classification์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์˜ˆ๋ฅผ ํ•˜๋‚˜๋งŒ ๋“ค์–ด๋ณด์ž. '๋‚จ์ž'๋ผ๋Š” ๊ฐ์ฒด๊ฐ€ ๋“ค์–ด์žˆ๋Š” ์ด๋ฏธ์ง€๊ฐ€ YOLO ๋ฒ„์ „ 3 ๋ชจ๋ธ๋กœ ์ž…๋ ฅ๋˜์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ฃผ์–ด์ง„ ํด๋ž˜์Šค ์ข…๋ฅ˜๋Š” [์‚ฌ๋žŒ, ๋‚จ์ž, ๊ฐ•์•„์ง€]๋ผ๊ณ  ํ•ด๋ณด์ž. ์ด ๋•Œ Softmax Layer๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ๊ฐ ํด๋ž˜์Šค์— ๋Œ€ํ•œ ํ™•๋ฅ  Score๊ฐ€ ๋Œ€๋žต [0.3, 0.6, 0.1]๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค. ์ฆ‰, ์„ธ ๊ฐ’์˜ ์ด ํ•ฉ์€ 1์ด ๋œ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์˜ˆ์ธก ๋ชจ๋ธ์€ ๊ฐ€์žฅ Score๊ฐ€ ๋†’์€ 0.6์ธ '๋‚จ์ž'๋กœ๋งŒ ์˜ˆ์ธกํ•  ๊ฒƒ์ด๋‹ค.

 

ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ ๊ฐ ํด๋ž˜์Šค ๋งˆ๋‹ค ๋…๋ฆฝ์ ์ธ Sigmoid Layer๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด Score๋Š” [0.8, 0.8, 0.2] ์ •๋„๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค. ๊ฒฐ๊ตญ Score์˜ ๊ฐ’ ํ•˜๋‚˜์”ฉ ๋ถ„๋ฅ˜ ๊ฒฐ์ • ์ž„๊ณ—๊ฐ’(์—ฌ๊ธฐ์„œ 0.5๋ผ๊ณ  ํ•˜์ž)๊ณผ ๋น„๊ตํ•ด์„œ ํฌ๋ฉด 1, ์ž‘์œผ๋ฉด 0์œผ๋กœ ๋ถ„๋ฅ˜ํ•˜๊ฒŒ ๋จ์— ๋”ฐ๋ผ Multi-label๋กœ ์˜ˆ์ธกํ•˜๊ฒŒ ๋œ๋‹ค. ๋‹ค์‹œ ๋งํ•ด ์ž…๋ ฅ๋œ ์ด๋ฏธ์ง€๋Š” '์‚ฌ๋žŒ' ์ด๋ฉด์„œ '๋‚จ์ž' ์ธ 2๊ฐœ์˜ ๋ ˆ์ด๋ธ”์„ ๊ฐ–๋„๋ก ์˜ˆ์ธกํ•˜๊ฒŒ ๋œ๋‹ค.


์ง€๊ธˆ๊นŒ์ง€ YOLO์˜ ์—ฌ๋Ÿฌ ๋ฒ„์ „ ๋ชจ๋ธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜๋‹ค. ํ•ด๋‹น ํฌ์ŠคํŒ…์—์„œ๋Š” ๋ฒ„์ „ 3๊นŒ์ง€ ์•Œ์•„๋ณด์•˜์ง€๋งŒ ๊ตฌ๊ธ€๋ง์„ ํ•ด๋ณด๋‹ˆ ํ˜„์žฌ(2021๋…„ 4์›” 22์ผ) ๊ธฐ์ค€์œผ๋กœ YOLO ๋ฒ„์ „ 5๊นŒ์ง€ ๋ชจ๋ธ์ด ๋‚˜์˜จ ๋“ฏ ํ•˜๋‹ค. 

 

 

 

 

๋ฐ˜์‘ํ˜•