์ฝ˜ํ…์ธ ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

YOLOv4: ๋น ๋ฅด๊ณ  ์ •๋ฐ€ํ•œ ๋ฌผ์ฒด ์ธ์‹

์•Œ๋ ‰์„ธ์ด ๋ณดํ์ฝ”๋ธŒ์Šคํ‚ค( https://github.com/AlexeyAB/darknet)๊ฐ€ 2020๋…„์— ์ถœ์‹œํ•œ ์ตœ์ฒจ๋‹จ ์‹ค์‹œ๊ฐ„ ๋ฌผ์ฒด ๊ฐ์ง€๊ธฐ์ธ YOLOv4์˜ ์„ค๋ช…์„œ ํŽ˜์ด์ง€( Ultralytics )์— ์˜ค์‹  ๊ฒƒ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. YOLOv4๋Š” ์†๋„์™€ ์ •ํ™•๋„ ์‚ฌ์ด์˜ ์ตœ์ ์˜ ๊ท ํ˜•์„ ์ œ๊ณตํ•˜๋„๋ก ์„ค๊ณ„๋˜์–ด ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ํƒ์›”ํ•œ ์„ ํƒ์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

YOLOv4 ์•„ํ‚คํ…์ฒ˜ ๋‹ค์ด์–ด๊ทธ๋žจ YOLOv4 ์•„ํ‚คํ…์ฒ˜ ๋‹ค์ด์–ด๊ทธ๋žจ. ๋ฐฑ๋ณธ, ๋„ฅ, ํ—ค๋“œ ๊ตฌ์„ฑ ์š”์†Œ์™€ ์ตœ์ ์˜ ์‹ค์‹œ๊ฐ„ ๊ฐ์ฒด ๊ฐ์ง€๋ฅผ ์œ„ํ•œ ์ƒํ˜ธ ์—ฐ๊ฒฐ๋œ ๋ ˆ์ด์–ด๋ฅผ ํฌํ•จํ•œ YOLOv4์˜ ๋ณต์žกํ•œ ๋„คํŠธ์›Œํฌ ์„ค๊ณ„๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์†Œ๊ฐœ

YOLOv4๋Š” You Only Look Once ๋ฒ„์ „ 4์˜ ์•ฝ์ž์ž…๋‹ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „( YOLO )์˜ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋œ ์‹ค์‹œ๊ฐ„ ๊ฐ์ฒด ๊ฐ์ง€ ๋ชจ๋ธ๋กœ์„œ, YOLOv3์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ๊ฐ์ฒด ๊ฐ์ง€ ๋ชจ๋ธ์˜ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ปจ๋ณผ๋ฃจ์…˜ ์‹ ๊ฒฝ๋ง(CNN) ๊ธฐ๋ฐ˜ ๊ฐ์ฒด ๊ฒ€์ถœ๊ธฐ์™€ ๋‹ฌ๋ฆฌ YOLOv4๋Š” ์ถ”์ฒœ ์‹œ์Šคํ…œ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋…๋ฆฝํ˜• ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ ๋ฐ ์ธ์  ์ž…๋ ฅ ๊ฐ์†Œ์—๋„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ๊ทธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ ์žฅ์น˜(GPU)์—์„œ ์ž‘๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•ฉ๋ฆฌ์ ์ธ ๊ฐ€๊ฒฉ์œผ๋กœ ๋Œ€๋Ÿ‰ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ•™์Šต์„ ์œ„ํ•ด ๋‹จ ํ•˜๋‚˜์˜ GPU๋งŒ ํ•„์š”ํ•˜๋ฉด์„œ ๊ธฐ์กด GPU์—์„œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ž‘๋™ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์•„ํ‚คํ…์ฒ˜

YOLOv4๋Š” ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ํ˜์‹ ์ ์ธ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๊ฐ€์ค‘ ์ž”์—ฌ ์—ฐ๊ฒฐ(WRC), ๊ต์ฐจ ๋‹จ๊ณ„ ๋ถ€๋ถ„ ์—ฐ๊ฒฐ(CSP), ๊ต์ฐจ ๋ฏธ๋‹ˆ ๋ฐฐ์น˜ ์ •๊ทœํ™”(CmBN), ์ž๊ธฐ ์ ๋Œ€์  ํ›ˆ๋ จ(SAT), ๋ฏธ์‹œ ํ™œ์„ฑํ™”, ๋ชจ์ž์ดํฌ ๋ฐ์ดํ„ฐ ์ฆ๊ฐ•, ๋“œ๋กญ๋ธ”๋ก ์ •๊ทœํ™”, CIoU ์†์‹ค ๋“ฑ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ๊ฒฐํ•ฉํ•˜์—ฌ ์ตœ์ฒจ๋‹จ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์ธ ๊ฐ์ฒด ๊ฐ์ง€๊ธฐ๋Š” ์ž…๋ ฅ, ๋ฐฑ๋ณธ, ๋ชฉ, ๋จธ๋ฆฌ ๋“ฑ ์—ฌ๋Ÿฌ ๋ถ€๋ถ„์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. YOLOv4์˜ ๋ฐฑ๋ณธ์€ ImageNet์—์„œ ์‚ฌ์ „ ํ•™์Šต๋˜๋ฉฐ ๊ฐ์ฒด์˜ ํด๋ž˜์Šค ๋ฐ ๋ฐ”์šด๋”ฉ ๋ฐ•์Šค๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ฐฑ๋ณธ์€ VGG, ResNet, ResNeXt ๋˜๋Š” DenseNet์„ ํฌํ•จํ•œ ์—ฌ๋Ÿฌ ๋ชจ๋ธ์—์„œ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒ€์ถœ๊ธฐ์˜ ๋ชฉ ๋ถ€๋ถ„์€ ์—ฌ๋Ÿฌ ๋‹จ๊ณ„์˜ ํŠน์ง• ๋งต์„ ์ˆ˜์ง‘ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ ์ผ๋ฐ˜์ ์œผ๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ƒํ–ฅ์‹ ๊ฒฝ๋กœ์™€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ•˜ํ–ฅ์‹ ๊ฒฝ๋กœ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๋จธ๋ฆฌ ๋ถ€๋ถ„์€ ์ตœ์ข… ๊ฐ์ฒด ๊ฐ์ง€ ๋ฐ ๋ถ„๋ฅ˜๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๊ณต์งœ ๊ฐ€๋ฐฉ

YOLOv4๋Š” ๋˜ํ•œ ์ถ”๋ก  ๋น„์šฉ์„ ๋Š˜๋ฆฌ์ง€ ์•Š๊ณ ๋„ ํ›ˆ๋ จ ์ค‘์— ๋ชจ๋ธ์˜ ์ •ํ™•๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๊ธฐ๋ฒ•์ธ "๊ณต์งœ ๊ฐ€๋ฐฉ"์œผ๋กœ ์•Œ๋ ค์ง„ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์ฆ๊ฐ•์€ ๊ฐ์ฒด ๊ฐ์ง€์— ์‚ฌ์šฉ๋˜๋Š” ์ผ๋ฐ˜์ ์ธ ๊ณต์งœ ๊ฐ€๋ฐฉ ๊ธฐ๋ฒ•์œผ๋กœ, ์ž…๋ ฅ ์ด๋ฏธ์ง€์˜ ๊ฐ€๋ณ€์„ฑ์„ ๋†’์—ฌ ๋ชจ๋ธ์˜ ๊ฒฌ๊ณ ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์ฆ๊ฐ•์˜ ๋ช‡ ๊ฐ€์ง€ ์˜ˆ๋กœ๋Š” ๊ด‘๋„ ์™œ๊ณก(์ด๋ฏธ์ง€์˜ ๋ฐ๊ธฐ, ๋Œ€๋น„, ์ƒ‰์กฐ, ์ฑ„๋„, ๋…ธ์ด์ฆˆ ์กฐ์ •)๊ณผ ๊ธฐํ•˜ํ•™์  ์™œ๊ณก(๋ฌด์ž‘์œ„ ์Šค์ผ€์ผ๋ง, ์ž๋ฅด๊ธฐ, ๋’ค์ง‘๊ธฐ, ํšŒ์ „ ์ถ”๊ฐ€)์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ๋ฒ•์€ ๋ชจ๋ธ์ด ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ์ด๋ฏธ์ง€์— ๋” ์ž˜ ์ผ๋ฐ˜ํ™”ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ ๋ฐ ์„ฑ๋Šฅ

YOLOv4๋Š” ๋ฌผ์ฒด ๊ฐ์ง€์˜ ์†๋„์™€ ์ •ํ™•๋„๋ฅผ ์ตœ์ ํ™”ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. YOLOv4์˜ ์•„ํ‚คํ…์ฒ˜๋Š” ๋ฐฑ๋ณธ์œผ๋กœ CSPDarknet53, ๋„ฅ์œผ๋กœ PANet, ๊ฐ์ง€ ํ—ค๋“œ๋กœ YOLOv3๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์„ค๊ณ„ ๋•๋ถ„์— YOLOv4๋Š” ์ธ์ƒ์ ์ธ ์†๋„๋กœ ๊ฐ์ฒด ๊ฐ์ง€๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์–ด ์‹ค์‹œ๊ฐ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ YOLOv4๋Š” ์ •ํ™•๋„๊ฐ€ ๋›ฐ์–ด๋‚˜ ๋ฌผ์ฒด ๊ฐ์ง€ ๋ฒค์น˜๋งˆํฌ์—์„œ ์ตœ๊ณ  ์ˆ˜์ค€์˜ ๊ฒฐ๊ณผ๋ฅผ ๋‹ฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ ์˜ˆ

์ด ๊ธ€์„ ์ž‘์„ฑํ•˜๋Š” ์‹œ์ ์„ ๊ธฐ์ค€์œผ๋กœ Ultralytics ์€ ํ˜„์žฌ YOLOv4 ๋ชจ๋ธ์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ YOLOv4 ์‚ฌ์šฉ์— ๊ด€์‹ฌ์ด ์žˆ๋Š” ์‚ฌ์šฉ์ž๋Š” ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ ์ง€์นจ์„ YOLOv4 GitHub ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์ง์ ‘ ์ฐธ์กฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์€ YOLOv4๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ทจํ•  ์ˆ˜ ์žˆ๋Š” ์ผ๋ฐ˜์ ์ธ ๋‹จ๊ณ„์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ๊ฐœ์š”์ž…๋‹ˆ๋‹ค:

  1. YOLOv4 GitHub ๋ฆฌํฌ์ง€ํ† ๋ฆฌ( https://github.com/AlexeyAB/darknet)๋ฅผ ๋ฐฉ๋ฌธํ•˜์„ธ์š”.

  2. README ํŒŒ์ผ์— ์ œ๊ณต๋œ ์ง€์นจ์— ๋”ฐ๋ผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋ณต์ œํ•˜๊ณ , ํ•„์š”ํ•œ ์ข…์† ์š”์†Œ๋ฅผ ์„ค์น˜ํ•˜๊ณ , ํ•„์š”ํ•œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜๋Š” ์ž‘์—…์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

  3. ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์ œ๊ณต๋œ ์‚ฌ์šฉ ์ง€์นจ์— ๋”ฐ๋ผ ๋ชจ๋ธ์„ ํ›ˆ๋ จํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์ค€๋น„ํ•˜๊ณ , ๋ชจ๋ธ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ , ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚จ ๋‹ค์Œ, ํ•™์Šต๋œ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์ฒด ๊ฐ์ง€๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ณผ์ •์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

๊ตฌ์ฒด์ ์ธ ๋‹จ๊ณ„๋Š” ํŠน์ • ์‚ฌ์šฉ ์‚ฌ๋ก€์™€ YOLOv4 ์ €์žฅ์†Œ์˜ ํ˜„์žฌ ์ƒํƒœ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์„ธ์š”. ๋”ฐ๋ผ์„œ YOLOv4 GitHub ์ €์žฅ์†Œ์— ์ œ๊ณต๋œ ์ง€์นจ์„ ์ง์ ‘ ์ฐธ์กฐํ•  ๊ฒƒ์„ ๊ฐ•๋ ฅํžˆ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

์ด๋กœ ์ธํ•ด ๋ถˆํŽธ์„ ๋“œ๋ ค ์ฃ„์†กํ•˜๋ฉฐ, YOLOv4์— ๋Œ€ํ•œ ์ง€์›์ด ๊ตฌํ˜„๋˜๋Š” ๋Œ€๋กœ Ultralytics ์— ๋Œ€ํ•œ ์‚ฌ์šฉ ์˜ˆ์‹œ์™€ ํ•จ๊ป˜ ์ด ๋ฌธ์„œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋„๋ก ๋…ธ๋ ฅํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

YOLOv4๋Š” ์†๋„์™€ ์ •ํ™•์„ฑ ์‚ฌ์ด์—์„œ ๊ท ํ˜•์„ ์ด๋ฃจ๋Š” ๊ฐ•๋ ฅํ•˜๊ณ  ํšจ์œจ์ ์ธ ๋ฌผ์ฒด ๊ฐ์ง€ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ํ›ˆ๋ จ ์‹œ ๊ณ ์œ ํ•œ ๊ธฐ๋Šฅ๊ณผ ๋‹ค์–‘ํ•œ ๋ฌด๋ฃŒ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹ค์‹œ๊ฐ„ ๋ฌผ์ฒด ๊ฐ์ง€ ์ž‘์—…์—์„œ ํƒ์›”ํ•œ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•ฉ๋‹ˆ๋‹ค. YOLOv4๋Š” ๊ธฐ์กด GPU๋ฅผ ๊ฐ€์ง„ ์‚ฌ๋žŒ์ด๋ผ๋ฉด ๋ˆ„๊ตฌ๋‚˜ ํ›ˆ๋ จํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ ‘๊ทผ์„ฑ์ด ๋›ฐ์–ด๋‚˜๊ณ  ์‹ค์šฉ์ ์ž…๋‹ˆ๋‹ค.

์ธ์šฉ ๋ฐ ๊ฐ์‚ฌ

์‹ค์‹œ๊ฐ„ ๋ฌผ์ฒด ๊ฐ์ง€ ๋ถ„์•ผ์—์„œ ํฌ๊ฒŒ ๊ธฐ์—ฌํ•œ YOLOv4 ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ๊ฐ์‚ฌ์˜ ๋ง์”€์„ ์ „ํ•ฉ๋‹ˆ๋‹ค:

@misc{bochkovskiy2020yolov4,
      title={YOLOv4: Optimal Speed and Accuracy of Object Detection},
      author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao},
      year={2020},
      eprint={2004.10934},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

YOLOv4์˜ ์›๋ณธ ๋…ผ๋ฌธ์€ arXiv์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €์ž๋“ค์€ ์ž์‹ ์˜ ์ž‘์—…์„ ๊ณต๊ฐœ์ ์œผ๋กœ ๊ณต๊ฐœํ–ˆ์œผ๋ฉฐ, ์ฝ”๋“œ๋ฒ ์ด์Šค๋Š” GitHub์—์„œ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ถ„์•ผ๋ฅผ ๋ฐœ์ „์‹œํ‚ค๊ณ  ๋” ๋งŽ์€ ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์ž์‹ ์˜ ์—ฐ๊ตฌ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ๋…ธ๋ ฅํ•œ ์ €์ž๋“ค์˜ ๋…ธ๊ณ ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.



์ƒ์„ฑ๋จ 2023-11-12, ์—…๋ฐ์ดํŠธ๋จ 2024-01-07
์ž‘์„ฑ์ž: glenn-jocher (6), sergiuwaxmann (1)

๋Œ“๊ธ€