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

YOLOv7: ํ›ˆ๋ จ ๊ฐ€๋Šฅํ•œ ๊ณต์งœ ๊ฐ€๋ฐฉ

YOLOv7์€ ์†๋„์™€ ์ •ํ™•๋„ ๋ชจ๋‘์—์„œ ์•Œ๋ ค์ง„ ๋ชจ๋“  ๋ฌผ์ฒด ๊ฐ์ง€๊ธฐ๋ฅผ ๋Šฅ๊ฐ€ํ•˜๋Š” ์ตœ์ฒจ๋‹จ ์‹ค์‹œ๊ฐ„ ๋ฌผ์ฒด ๊ฐ์ง€๊ธฐ๋กœ, 5 FPS์—์„œ 160 FPS ๋ฒ”์œ„์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. GPU V100์—์„œ 30 FPS ์ด์ƒ์˜ ๋ชจ๋“  ์•Œ๋ ค์ง„ ์‹ค์‹œ๊ฐ„ ๊ฐ์ฒด ๊ฒ€์ถœ๊ธฐ ์ค‘ ๊ฐ€์žฅ ๋†’์€ ์ •ํ™•๋„(56.8% AP)๋ฅผ ์ž๋ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ YOLOv7์€ ์†๋„์™€ ์ •ํ™•๋„ ๋ฉด์—์„œ YOLOR, YOLOX, Scaled-YOLOv4, YOLOv5 ๋“ฑ๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ๊ฐ์ฒด ๊ฒ€์ถœ๊ธฐ๋ณด๋‹ค ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค. ์ด ๋ชจ๋ธ์€ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋‚˜ ์‚ฌ์ „ ํ•™์Šต๋œ ๊ฐ€์ค‘์น˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ฒ˜์Œ๋ถ€ํ„ฐ MS COCO ๋ฐ์ดํ„ฐ ์„ธํŠธ์— ๋Œ€ํ•ด ํ•™์Šต๋ฉ๋‹ˆ๋‹ค. YOLOv7์˜ ์†Œ์Šค ์ฝ”๋“œ๋Š” GitHub์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

YOLOv7๊ณผ SOTA ๋ฌผ์ฒด ๊ฐ์ง€๊ธฐ์˜ ๋น„๊ต ์ตœ์ฒจ๋‹จ ๋ฌผ์ฒด ๊ฐ์ง€๊ธฐ์˜ ๋น„๊ต. ํ‘œ 2์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด ์ œ์•ˆํ•œ ๋ฐฉ๋ฒ•์ด ์†๋„์™€ ์ •ํ™•๋„ ๊ฐ„์˜ ๊ท ํ˜•์„ ์ข…ํ•ฉ์ ์œผ๋กœ ๊ฐ€์žฅ ์ž˜ ๋งž์ถ”๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. YOLOv7-tiny-SiLU์™€ YOLOv5-N(r6.1)์„ ๋น„๊ตํ•˜๋ฉด, ์ œ์•ˆํ•œ ๋ฐฉ๋ฒ•์ด 127fps ๋” ๋น ๋ฅด๋ฉฐ AP์—์„œ 10.7% ๋” ์ •ํ™•ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ YOLOv7์€ 161fps์˜ ํ”„๋ ˆ์ž„ ์†๋„์—์„œ 51.4%์˜ AP๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ˜๋ฉด, ๋™์ผํ•œ AP๋ฅผ ์‚ฌ์šฉํ•˜๋Š” PPYOLOE-L์˜ ํ”„๋ ˆ์ž„ ์†๋„๋Š” 78fps์— ๋ถˆ๊ณผํ•ฉ๋‹ˆ๋‹ค. ํŒŒ๋ผ๋ฏธํ„ฐ ์‚ฌ์šฉ๋Ÿ‰ ์ธก๋ฉด์—์„œ๋Š” YOLOv7์ด PPYOLOE-L๋ณด๋‹ค 41% ๋” ์ ์Šต๋‹ˆ๋‹ค. ์ถ”๋ก  ์†๋„๊ฐ€ 114fps์ธ YOLOv7-X์™€ ์ถ”๋ก  ์†๋„๊ฐ€ 99fps์ธ YOLOv5-L(r6.1)์„ ๋น„๊ตํ•˜๋ฉด, YOLOv7-X๋Š” AP๋ฅผ 3.9% ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„์Šทํ•œ ๊ทœ๋ชจ์˜ YOLOv5-X(r6.1)์™€ ๋น„๊ตํ•˜๋ฉด, YOLOv7-X์˜ ์ถ”๋ก  ์†๋„๊ฐ€ 31fps ๋” ๋น ๋ฆ…๋‹ˆ๋‹ค. ๋˜ํ•œ, ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ์—ฐ์‚ฐ๋Ÿ‰ ์ธก๋ฉด์—์„œ๋„ YOLOv7-X๋Š” YOLOv5-X(r6.1)์— ๋น„ํ•ด ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” 22%, ์—ฐ์‚ฐ๋Ÿ‰์€ 8% ๊ฐ์†Œํ•˜์ง€๋งŒ AP๋Š” 2.2% ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค(์ถœ์ฒ˜).

๊ฐœ์š”

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

์•„ํ‚คํ…์ฒ˜ ์ตœ์ ํ™”์— ์ดˆ์ ์„ ๋งž์ถ˜ ๊ธฐ์กด์˜ ์‹ค์‹œ๊ฐ„ ๊ฐ์ฒด ๊ฐ์ง€๊ธฐ์™€ ๋‹ฌ๋ฆฌ, YOLOv7์€ ํ•™์Šต ๊ณผ์ •์˜ ์ตœ์ ํ™”์— ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” 'ํ›ˆ๋ จ ๊ฐ€๋Šฅํ•œ ๊ณต์งœ ๊ฐ€๋ฐฉ'์ด๋ผ๋Š” ๊ฐœ๋…์œผ๋กœ ์•Œ๋ ค์ง„ ์ถ”๋ก  ๋น„์šฉ์„ ๋Š˜๋ฆฌ์ง€ ์•Š๊ณ  ๊ฐ์ฒด ๊ฐ์ง€์˜ ์ •ํ™•๋„๋ฅผ ํ–ฅ์ƒํ•˜๋„๋ก ์„ค๊ณ„๋œ ๋ชจ๋“ˆ๊ณผ ์ตœ์ ํ™” ๋ฐฉ๋ฒ•์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ๊ธฐ๋Šฅ

YOLOv7์€ ๋ช‡ ๊ฐ€์ง€ ์ฃผ์š” ๊ธฐ๋Šฅ์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค:

  1. ๋ชจ๋ธ ์žฌํŒŒ๋ผ๋ฏธํ„ฐํ™”: YOLOv7์€ ๊ฒฝ์‚ฌ ์ „ํŒŒ ๊ฒฝ๋กœ๋ผ๋Š” ๊ฐœ๋…์œผ๋กœ ๋‹ค์–‘ํ•œ ๋„คํŠธ์›Œํฌ์˜ ๋ ˆ์ด์–ด์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ „๋žต์ธ ๊ณ„ํš๋œ ์žฌํŒŒ๋ผ๋ฏธํ„ฐํ™” ๋ชจ๋ธ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.

  2. ๋™์  ๋ ˆ์ด๋ธ” ํ• ๋‹น: ์—ฌ๋Ÿฌ ์ถœ๋ ฅ ๋ ˆ์ด์–ด๊ฐ€ ์žˆ๋Š” ๋ชจ๋ธ์„ ํ•™์Šตํ•  ๋•Œ ์ƒˆ๋กœ์šด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค: "์„œ๋กœ ๋‹ค๋ฅธ ๋ถ„๊ธฐ์˜ ์ถœ๋ ฅ์— ๋™์  ๋ชฉํ‘œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ• ๋‹นํ•  ๊ฒƒ์ธ๊ฐ€?"๋ผ๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด YOLOv7์€ ๊ฑฐ์น ๊ณ  ์„ธ๋ฐ€ํ•œ ๋ฆฌ๋“œ ๊ฐ€์ด๋“œ ๋ผ๋ฒจ ํ• ๋‹น์ด๋ผ๋Š” ์ƒˆ๋กœ์šด ๋ผ๋ฒจ ํ• ๋‹น ๋ฐฉ๋ฒ•์„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค.

  3. ํ™•์žฅ ๋ฐ ๋ณตํ•ฉ ์Šค์ผ€์ผ๋ง: YOLOv7์€ ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ๊ณ„์‚ฐ์„ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์‹ค์‹œ๊ฐ„ ๊ฐ์ฒด ๊ฐ์ง€๊ธฐ์˜ 'ํ™•์žฅ' ๋ฐ '๋ณตํ•ฉ ์Šค์ผ€์ผ๋ง' ๋ฐฉ๋ฒ•์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.

  4. ํšจ์œจ์„ฑ: YOLOv7์ด ์ œ์•ˆํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ตœ์ฒจ๋‹จ ์‹ค์‹œ๊ฐ„ ๊ฐ์ฒด ๊ฐ์ง€๊ธฐ์˜ ์•ฝ 40%์˜ ํŒŒ๋ผ๋ฏธํ„ฐ์™€ 50%์˜ ๊ณ„์‚ฐ์„ ํšจ๊ณผ์ ์œผ๋กœ ์ค„์ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋” ๋น ๋ฅธ ์ถ”๋ก  ์†๋„์™€ ๋” ๋†’์€ ๊ฐ์ง€ ์ •ํ™•๋„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ ์˜ˆ

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

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

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

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

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

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

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

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

์‹ค์‹œ๊ฐ„ ๊ฐ์ฒด ๊ฐ์ง€ ๋ถ„์•ผ์—์„œ ํฐ ๊ณตํ—Œ์„ ํ•œ YOLOv7 ์ž‘์„ฑ์ž์—๊ฒŒ ๊ฐ์‚ฌ์˜ ๋ง์”€์„ ์ „ํ•ฉ๋‹ˆ๋‹ค:

@article{wang2022yolov7,
  title={{YOLOv7}: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors},
  author={Wang, Chien-Yao and Bochkovskiy, Alexey and Liao, Hong-Yuan Mark},
  journal={arXiv preprint arXiv:2207.02696},
  year={2022}
}

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



Created 2023-11-12, Updated 2024-06-02
Authors: glenn-jocher (6), sergiuwaxmann (1)

๋Œ“๊ธ€