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

YOLOv10: ์‹ค์‹œ๊ฐ„ ์—”๋“œํˆฌ์—”๋“œ ๊ฐ์ฒด ๊ฐ์ง€

ํŒจํ‚ค์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋œ YOLOv10์€ Ultralytics Python ํŒจํ‚ค์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋œ YOLOv10์€ ์‹ค์‹œ๊ฐ„ ๊ฐ์ฒด ๊ฐ์ง€์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ์ ‘๊ทผ ๋ฐฉ์‹์„ ๋„์ž…ํ•˜์—ฌ ์ด์ „ YOLO ๋ฒ„์ „์—์„œ ๋ฐœ๊ฒฌ๋œ ํ›„์ฒ˜๋ฆฌ ๋ฐ ๋ชจ๋ธ ์•„ํ‚คํ…์ฒ˜์˜ ๊ฒฐํ•จ์„ ๋ชจ๋‘ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๋น„์ตœ๋Œ€ ์–ต์ œ(NMS)๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ๋‹ค์–‘ํ•œ ๋ชจ๋ธ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ตœ์ ํ™”ํ•จ์œผ๋กœ์จ YOLOv10์€ ๊ณ„์‚ฐ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ํฌ๊ฒŒ ์ค„์ด๋ฉด์„œ ์ตœ์ฒจ๋‹จ ์„ฑ๋Šฅ์„ ๋‹ฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ด‘๋ฒ”์œ„ํ•œ ์‹คํ—˜์„ ํ†ตํ•ด ์—ฌ๋Ÿฌ ๋ชจ๋ธ ๊ทœ๋ชจ์— ๊ฑธ์ณ ์ •ํ™•๋„์™€ ์ง€์—ฐ ์‹œ๊ฐ„ ๊ฐ„์˜ ์šฐ์ˆ˜ํ•œ ์ ˆ์ถฉ์ ์„ ์ž…์ฆํ–ˆ์Šต๋‹ˆ๋‹ค.

NMS ์—†๋Š” ๊ต์œก์„ ์œ„ํ•œ YOLOv10 ์ผ๊ด€๋œ ์ด์ค‘ ํ• ๋‹น



Watch: Ultralytics | ๋ฆฌํ…Œ์ผ ๋ฐ์ดํ„ฐ์…‹์„ ์‚ฌ์šฉํ•˜์—ฌ SKU-110k ๋ฐ์ดํ„ฐ์…‹์—์„œ YOLOv10์„ ํ›ˆ๋ จํ•˜๋Š” ๋ฐฉ๋ฒ•

๊ฐœ์š”

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

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

YOLOv10์˜ ์•„ํ‚คํ…์ฒ˜๋Š” ์ด์ „ YOLO ๋ชจ๋ธ์˜ ๊ฐ•์ ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ช‡ ๊ฐ€์ง€ ์ฃผ์š” ํ˜์‹ ์„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ ์•„ํ‚คํ…์ฒ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค:

  1. ๋ฐฑ๋ณธ: ํŠน์ง• ์ถ”์ถœ์„ ๋‹ด๋‹นํ•˜๋Š” YOLOv10์˜ ๋ฐฑ๋ณธ์€ ํ–ฅ์ƒ๋œ ๋ฒ„์ „์˜ CSPNet(๊ต์ฐจ ๋‹จ๊ณ„ ๋ถ€๋ถ„ ๋„คํŠธ์›Œํฌ)์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ทธ๋ผ๋ฐ์ด์…˜ ํ๋ฆ„์„ ๊ฐœ์„ ํ•˜๊ณ  ๊ณ„์‚ฐ ์ค‘๋ณต์„ฑ์„ ์ค„์ž…๋‹ˆ๋‹ค.
  2. ๋ชฉ: ๋„ฅ์€ ๋‹ค์–‘ํ•œ ์Šค์ผ€์ผ์˜ ํŠน์ง•์„ ์ทจํ•ฉํ•˜์—ฌ ํ—ค๋“œ์— ์ „๋‹ฌํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ํšจ๊ณผ์ ์ธ ๋ฉ€ํ‹ฐ์Šค์ผ€์ผ ํ”ผ์ฒ˜ ์œตํ•ฉ์„ ์œ„ํ•œ PAN(๊ฒฝ๋กœ ์ง‘๊ณ„ ๋„คํŠธ์›Œํฌ) ๋ ˆ์ด์–ด๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ์ผ๋Œ€๋‹ค ํ—ค๋“œ: ํ›ˆ๋ จ ์ค‘์— ๊ฐ์ฒด๋‹น ์—ฌ๋Ÿฌ ์˜ˆ์ธก์„ ์ƒ์„ฑํ•˜์—ฌ ํ’๋ถ€ํ•œ ๊ฐ๋… ์‹ ํ˜ธ๋ฅผ ์ œ๊ณตํ•˜๊ณ  ํ•™์Šต ์ •ํ™•๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.
  4. ์ผ๋Œ€์ผ ํ—ค๋“œ: ์ถ”๋ก  ์ค‘์— ๊ฐœ์ฒด๋‹น ํ•˜๋‚˜์˜ ์ตœ์  ์˜ˆ์ธก์„ ์ƒ์„ฑํ•˜์—ฌ NMS๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ง€์—ฐ ์‹œ๊ฐ„์„ ์ค„์ด๊ณ  ํšจ์œจ์„ฑ์„ ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค.

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

  1. NMS ์—†๋Š” ๊ต์œก: ์ผ๊ด€๋œ ์ด์ค‘ ํ• ๋‹น์„ ํ™œ์šฉํ•˜์—ฌ NMS์˜ ํ•„์š”์„ฑ์„ ์—†์• ๊ณ  ์ถ”๋ก  ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์ค„์ž…๋‹ˆ๋‹ค.
  2. ์ „์ฒด๋ก ์  ๋ชจ๋ธ ์„ค๊ณ„: ๊ฒฝ๋Ÿ‰ ๋ถ„๋ฅ˜ ํ—ค๋“œ, ๊ณต๊ฐ„ ์ฑ„๋„ ๋ถ„๋ฆฌํ˜• ๋‹ค์šด ์ƒ˜ํ”Œ๋ง, ์ˆœ์œ„ ๊ฐ€์ด๋“œ ๋ธ”๋ก ์„ค๊ณ„ ๋“ฑ ํšจ์œจ์„ฑ๊ณผ ์ •ํ™•๋„ ์ธก๋ฉด์—์„œ ๋‹ค์–‘ํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ข…ํ•ฉ์ ์œผ๋กœ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค.
  3. ํ–ฅ์ƒ๋œ ๋ชจ๋ธ ๊ธฐ๋Šฅ: ๋Œ€๊ทœ๋ชจ ์ปค๋„ ์ปจ๋ณผ๋ฃจ์…˜๊ณผ ๋ถ€๋ถ„์ ์ธ ์…€ํ”„ ์–ดํ…์…˜ ๋ชจ๋“ˆ์„ ํ†ตํ•ฉํ•˜์—ฌ ํฐ ๊ณ„์‚ฐ ๋น„์šฉ ์—†์ด ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋ธ ๋ณ€ํ˜•

YOLOv10์€ ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‹ค์–‘ํ•œ ๋ชจ๋ธ ์Šค์ผ€์ผ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค:

  • YOLOv10-N: ๋ฆฌ์†Œ์Šค๊ฐ€ ๊ทน๋„๋กœ ์ œํ•œ๋œ ํ™˜๊ฒฝ์„ ์œ„ํ•œ ๋‚˜๋…ธ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.
  • YOLOv10-S: ์†๋„์™€ ์ •ํ™•์„ฑ์˜ ๊ท ํ˜•์„ ๋งž์ถ˜ ์†Œํ˜• ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.
  • YOLOv10-M: ์ผ๋ฐ˜ ์šฉ๋„์˜ ์ค‘๊ฐ„ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.
  • YOLOv10-B: ์ •ํ™•๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ํญ์„ ๋Š˜๋ฆฐ ๊ท ํ˜• ์žกํžŒ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.
  • YOLOv10-L: ๊ณ„์‚ฐ ๋ฆฌ์†Œ์Šค๊ฐ€ ์ฆ๊ฐ€ํ•˜์ง€๋งŒ ์ •ํ™•๋„๊ฐ€ ๋” ๋†’์€ ๋Œ€ํ˜• ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.
  • YOLOv10-X: ์ •ํ™•๋„์™€ ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•˜๋Š” ์ดˆ๋Œ€ํ˜• ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.

์„ฑ๋Šฅ

YOLOv10์€ ์ •ํ™•๋„์™€ ํšจ์œจ์„ฑ ์ธก๋ฉด์—์„œ ์ด์ „ YOLO ๋ฒ„์ „ ๋ฐ ๊ธฐํƒ€ ์ตœ์‹  ๋ชจ๋ธ๋ณด๋‹ค ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, YOLOv10-S๋Š” COCO ๋ฐ์ดํ„ฐ ์„ธํŠธ์—์„œ ๋น„์Šทํ•œ AP๋ฅผ ์‚ฌ์šฉํ•˜๋Š” RT-DETR-R18๋ณด๋‹ค 1.8๋ฐฐ ๋น ๋ฅด๋ฉฐ, YOLOv10-B๋Š” ๋™์ผํ•œ ์„ฑ๋Šฅ์˜ YOLOv9-C๋ณด๋‹ค ์ง€์—ฐ ์‹œ๊ฐ„์ด 46% ์งง๊ณ  ๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ€ 25% ๋” ์ ์Šต๋‹ˆ๋‹ค.

๋ชจ๋ธ ์ž…๋ ฅ ํฌ๊ธฐ APval ํ”Œ๋กญ(G) ์ง€์—ฐ ์‹œ๊ฐ„(ms)
YOLOv10-N 640 38.5 6.7 1.84
YOLOv10-S 640 46.3 21.6 2.49
YOLOv10-M 640 51.1 59.1 4.74
YOLOv10-B 640 52.5 92.0 5.74
YOLOv10-L 640 53.2 120.3 7.28
YOLOv10-X 640 54.4 160.4 10.70

T4์—์„œ TensorRT FP16์œผ๋กœ ์ธก์ •ํ•œ ์ง€์—ฐ ์‹œ๊ฐ„ GPU.

๋ฐฉ๋ฒ•๋ก 

NMS ์—†๋Š” ๊ต์œก์„ ์œ„ํ•œ ์ผ๊ด€๋œ ์ด์ค‘ ํ• ๋‹น

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

์ „์ฒด์ ์ธ ํšจ์œจ์„ฑ-์ •ํ™•์„ฑ ์ค‘์‹ฌ์˜ ๋ชจ๋ธ ์„ค๊ณ„

ํšจ์œจ์„ฑ ํ–ฅ์ƒ

  1. ๊ฒฝ๋Ÿ‰ ๋ถ„๋ฅ˜ ํ—ค๋“œ: ๊นŠ์ด๋ณ„๋กœ ๋ถ„๋ฆฌ ๊ฐ€๋Šฅํ•œ ์ปจ๋ณผ๋ฃจ์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ„๋ฅ˜ ํ—ค๋“œ์˜ ๊ณ„์‚ฐ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ค„์ž…๋‹ˆ๋‹ค.
  2. ๊ณต๊ฐ„-์ฑ„๋„ ๋””์ปคํ”Œ๋ง ๋‹ค์šด ์ƒ˜ํ”Œ๋ง: ๊ณต๊ฐ„ ๊ฐ์†Œ์™€ ์ฑ„๋„ ๋ณ€์กฐ๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ์ •๋ณด ์†์‹ค๊ณผ ๊ณ„์‚ฐ ๋น„์šฉ์„ ์ตœ์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค.
  3. ๋žญํฌ ๊ฐ€์ด๋“œ ๋ธ”๋ก ๋””์ž์ธ: ๋‚ด์žฌ์  ์Šคํ…Œ์ด์ง€ ๋ฆฌ๋˜๋˜์‹œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ธ”๋ก ์„ค๊ณ„๋ฅผ ์กฐ์ •ํ•˜์—ฌ ์ตœ์ ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ํ™œ์šฉ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

์ •ํ™•๋„ ํ–ฅ์ƒ

  1. ๋Œ€ํ˜• ์ปค๋„ ์ปจ๋ณผ๋ฃจ์…˜: ์ˆ˜์šฉ ํ•„๋“œ๋ฅผ ํ™•๋Œ€ํ•˜์—ฌ ํŠน์ง• ์ถ”์ถœ ๊ธฐ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.
  2. ๋ถ€๋ถ„์  ์ž๊ธฐ ์ฃผ์˜(PSA): ์ตœ์†Œํ•œ์˜ ์˜ค๋ฒ„ํ—ค๋“œ๋กœ ๊ธ€๋กœ๋ฒŒ ํ‘œํ˜„ ํ•™์Šต์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์ž๊ธฐ ์ฃผ์˜ ๋ชจ๋“ˆ์„ ํ†ตํ•ฉํ•ฉ๋‹ˆ๋‹ค.

์‹คํ—˜ ๋ฐ ๊ฒฐ๊ณผ

YOLOv10์€ COCO์™€ ๊ฐ™์€ ํ‘œ์ค€ ๋ฒค์น˜๋งˆํฌ์—์„œ ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ํ…Œ์ŠคํŠธ๋˜์–ด ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ๊ณผ ํšจ์œจ์„ฑ์„ ์ž…์ฆํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋ธ์€ ๋‹ค์–‘ํ•œ ๋ณ€์ข…์— ๊ฑธ์ณ ์ตœ์ฒจ๋‹จ ๊ฒฐ๊ณผ๋ฅผ ๋‹ฌ์„ฑํ•˜์—ฌ ์ด์ „ ๋ฒ„์ „ ๋ฐ ๊ธฐํƒ€ ์ตœ์‹  ํƒ์ง€๊ธฐ์— ๋น„ํ•ด ์ง€์—ฐ ์‹œ๊ฐ„๊ณผ ์ •ํ™•๋„๊ฐ€ ํฌ๊ฒŒ ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋น„๊ต

YOLOv10๊ณผ SOTA ๋ฌผ์ฒด ๊ฐ์ง€๊ธฐ ๋น„๊ต

๋‹ค๋ฅธ ์ตœ์ฒจ๋‹จ ํƒ์ง€๊ธฐ์™€ ๋น„๊ต:

  • YOLOv10-S / X๋Š” ๋น„์Šทํ•œ ์ •ํ™•๋„๋กœ RT-DETR-R18 / R101๋ณด๋‹ค 1.8๋ฐฐ / 1.3๋ฐฐ ๋น ๋ฆ…๋‹ˆ๋‹ค.
  • YOLOv10-B๋Š” ๋™์ผํ•œ ์ •ํ™•๋„์—์„œ YOLOv9-C๋ณด๋‹ค ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜๊ฐ€ 25% ๋” ์ ๊ณ  ์ง€์—ฐ ์‹œ๊ฐ„์ด 46% ๋” ์งง์Šต๋‹ˆ๋‹ค.
  • 1.8๋ฐฐ / 2.3๋ฐฐ ์ ์€ ๋งค๊ฐœ ๋ณ€์ˆ˜๋กœ YOLOv8-L / X๋ณด๋‹ค 0.3 AP / 0.5 AP ์„ฑ๋Šฅ์ด ์šฐ์ˆ˜ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ๋‹ค๋ฅธ ์ตœ์‹  ๋ชจ๋ธ๊ณผ YOLOv10 ๋ณ€ํ˜•์„ ์ž์„ธํžˆ ๋น„๊ตํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค:

๋ชจ๋ธ ๋งค๊ฐœ๋ณ€์ˆ˜
(M)
ํ”Œ๋กญ
(G)
mAPval
50-95
์ง€์—ฐ ์‹œ๊ฐ„
(ms)
์ง€์—ฐ ์‹œ๊ฐ„ ์ „๋‹ฌ
(ms)
YOLOv6-3.0-N 4.7 11.4 37.0 2.69 1.76
๊ณจ๋“œ-YOLO-N 5.6 12.1 39.6 2.92 1.82
YOLOv8-N 3.2 8.7 37.3 6.16 1.77
YOLOv10-N 2.3 6.7 39.5 1.84 1.79
YOLOv6-3.0-S 18.5 45.3 44.3 3.42 2.35
Gold-YOLO-S 21.5 46.0 45.4 3.82 2.73
YOLOv8-S 11.2 28.6 44.9 7.07 2.33
YOLOv10-S 7.2 21.6 46.8 2.49 2.39
RT-DETR-R18 20.0 60.0 46.5 4.58 4.49
YOLOv6-3.0-M 34.9 85.8 49.1 5.63 4.56
Gold-YOLO-M 41.3 87.5 49.8 6.38 5.45
YOLOv8-M 25.9 78.9 50.6 9.50 5.09
YOLOv10-M 15.4 59.1 51.3 4.74 4.63
YOLOv6-3.0-L 59.6 150.7 51.8 9.02 7.90
๊ณจ๋“œ-YOLO-L 75.1 151.7 51.8 10.65 9.78
YOLOv8-L 43.7 165.2 52.9 12.39 8.06
RT-DETR-R50 42.0 136.0 53.1 9.20 9.07
YOLOv10-L 24.4 120.3 53.4 7.28 7.21
YOLOv8-X 68.2 257.8 53.9 16.86 12.83
RT-DETR-R101 76.0 259.0 54.3 13.71 13.58
YOLOv10-X 29.5 160.4 54.4 10.70 10.60

์‚ฌ์šฉ ์˜ˆ

YOLOv10์œผ๋กœ ์ƒˆ๋กœ์šด ์ด๋ฏธ์ง€๋ฅผ ์˜ˆ์ธกํ•ฉ๋‹ˆ๋‹ค:

์˜ˆ

from ultralytics import YOLO

# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")

# Perform object detection on an image
results = model("image.jpg")

# Display the results
results[0].show()
# Load a COCO-pretrained YOLOv10n model and run inference on the 'bus.jpg' image
yolo detect predict model=yolov10n.pt source=path/to/bus.jpg

์‚ฌ์šฉ์ž ์ง€์ • ๋ฐ์ดํ„ฐ ์„ธํŠธ์— ๋Œ€ํ•œ YOLOv10 ํ•™์Šต์šฉ:

์˜ˆ

from ultralytics import YOLO

# Load YOLOv10n model from scratch
model = YOLO("yolov10n.yaml")

# Train the model
model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Build a YOLOv10n model from scratch and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov10n.yaml data=coco8.yaml epochs=100 imgsz=640

# Build a YOLOv10n model from scratch and run inference on the 'bus.jpg' image
yolo predict model=yolov10n.yaml source=path/to/bus.jpg

์ง€์›๋˜๋Š” ์ž‘์—… ๋ฐ ๋ชจ๋“œ

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

๋ชจ๋ธ ํŒŒ์ผ ์ด๋ฆ„ ์ž‘์—… ์ถ”๋ก  ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๊ต์œก ๋‚ด๋ณด๋‚ด๊ธฐ
YOLOv10 yolov10n.pt yolov10s.pt yolov10m.pt yolov10l.pt yolov10x.pt ๋ฌผ์ฒด ๊ฐ์ง€ โœ… โœ… โœ… โœ…

YOLOv10 ๋‚ด๋ณด๋‚ด๊ธฐ

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

๋‚ด๋ณด๋‚ด๊ธฐ ํ˜•์‹ ๋‚ด๋ณด๋‚ด๊ธฐ ์ง€์› ๋‚ด๋ณด๋‚ธ ๋ชจ๋ธ ์ถ”๋ก  ์ฐธ๊ณ 
TorchScript โœ… โœ… ํ‘œ์ค€ PyTorch ๋ชจ๋ธ ํ˜•์‹์ž…๋‹ˆ๋‹ค.
ONNX โœ… โœ… ๋ฐฐํฌ๋ฅผ ์œ„ํ•ด ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ์ง€์›๋ฉ๋‹ˆ๋‹ค.
OpenVINO โœ… โœ… Intel ํ•˜๋“œ์›จ์–ด์— ์ตœ์ ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
TensorRT โœ… โœ… NVIDIA GPU์— ์ตœ์ ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
CoreML โœ… โœ… Apple ๊ธฐ๊ธฐ๋กœ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค.
TF SavedModel โœ… โœ… TensorFlow์˜ ํ‘œ์ค€ ๋ชจ๋ธ ํ˜•์‹์ž…๋‹ˆ๋‹ค.
TF GraphDef โœ… โœ… ๋ ˆ๊ฑฐ์‹œ TensorFlow ํ˜•์‹.
TF Lite โœ… โœ… ๋ชจ๋ฐ”์ผ ๋ฐ ์ž„๋ฒ ๋””๋“œ์— ์ตœ์ ํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
TF Edge TPU โœ… โœ… Google ์˜ Edge TPU ๊ธฐ๊ธฐ์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค.
TF.js โœ… โœ… ๋ธŒ๋ผ์šฐ์ € ์‚ฌ์šฉ์„ ์œ„ํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ™˜๊ฒฝ.
PaddlePaddle โŒ โŒ ์ค‘๊ตญ์—์„œ ์ธ๊ธฐ๊ฐ€ ๋งŽ์ง€๋งŒ ๊ธ€๋กœ๋ฒŒ ์ง€์›์€ ์ ์Šต๋‹ˆ๋‹ค.
NCNN โœ… โŒ ๋ ˆ์ด์–ด torch.topk ์กด์žฌํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋“ฑ๋ก๋˜์ง€ ์•Š์Œ

๊ฒฐ๋ก 

YOLOv10์€ ์ด์ „ YOLO ๋ฒ„์ „์˜ ๋‹จ์ ์„ ํ•ด๊ฒฐํ•˜๊ณ  ํ˜์‹ ์ ์ธ ์„ค๊ณ„ ์ „๋žต์„ ํ†ตํ•ฉํ•˜์—ฌ ์‹ค์‹œ๊ฐ„ ๋ฌผ์ฒด ๊ฐ์ง€์˜ ์ƒˆ๋กœ์šด ํ‘œ์ค€์„ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋‚ฎ์€ ๊ณ„์‚ฐ ๋น„์šฉ์œผ๋กœ ๋†’์€ ์ •ํ™•๋„๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ด ์ œํ’ˆ์€ ๋‹ค์–‘ํ•œ ์‹ค์ œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ด์ƒ์ ์ธ ์„ ํƒ์ž…๋‹ˆ๋‹ค.

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

๊ด‘๋ฒ”์œ„ํ•œ ์—ฐ๊ตฌ์™€ ํ”„๋ ˆ์ž„์›Œํฌ์— ํฌ๊ฒŒ ๊ธฐ์—ฌํ•œ ์นญํ™”๋Œ€ํ•™๊ต์˜ YOLOv10 ์ €์ž๋“ค์—๊ฒŒ ๊ฐ์‚ฌ์˜ ๋ง์”€์„ ์ „ํ•ฉ๋‹ˆ๋‹ค. Ultralytics ํ”„๋ ˆ์ž„์›Œํฌ

@article{THU-MIGyolov10,
  title={YOLOv10: Real-Time End-to-End Object Detection},
  author={Ao Wang, Hui Chen, Lihao Liu, et al.},
  journal={arXiv preprint arXiv:2405.14458},
  year={2024},
  institution={Tsinghua University},
  license = {AGPL-3.0}
}

์ž์„ธํ•œ ๊ตฌํ˜„, ์•„ํ‚คํ…์ฒ˜ ํ˜์‹  ๋ฐ ์‹คํ—˜ ๊ฒฐ๊ณผ๋Š” ์นญํ™”๋Œ€ํ•™๊ต ํŒ€์˜ YOLOv10 ์—ฐ๊ตฌ ๋…ผ๋ฌธ๊ณผ GitHub ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

YOLOv10์€ ๋ฌด์—‡์ด๋ฉฐ ์ด์ „ ๋ฒ„์ „( YOLO )๊ณผ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ๊ฐ€์š”?

์นญํ™”๋Œ€ํ•™๊ต ์—ฐ๊ตฌ์ง„์ด ๊ฐœ๋ฐœํ•œ YOLOv10์€ ์‹ค์‹œ๊ฐ„ ๊ฐ์ฒด ๊ฐ์ง€์— ๋ช‡ ๊ฐ€์ง€ ์ฃผ์š” ํ˜์‹  ๊ธฐ์ˆ ์„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ›ˆ๋ จ ์ค‘์— ์ผ๊ด€๋œ ์ด์ค‘ ํ• ๋‹น์„ ์‚ฌ์šฉํ•˜์—ฌ ๋น„์ตœ๋Œ€ ์–ต์ œ(NMS)๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ๋ชจ๋ธ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ตœ์ ํ™”ํ•˜์—ฌ ๊ณ„์‚ฐ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ค„์ด๋ฉด์„œ ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์•„ํ‚คํ…์ฒ˜์™€ ์ฃผ์š” ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ YOLOv10 ๊ฐœ์š” ์„น์…˜์—์„œ ํ™•์ธํ•˜์„ธ์š”.

YOLOv10์„ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”๋ก  ์‹คํ–‰์„ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?

์‰ฝ๊ฒŒ ์ถ”๋ก ํ•˜๋ ค๋ฉด Ultralytics YOLO Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋˜๋Š” ๋ช…๋ น์ค„ ์ธํ„ฐํŽ˜์ด์Šค(CLI)๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ YOLOv10์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค:

์˜ˆ

from ultralytics import YOLO

# Load the pre-trained YOLOv10-N model
model = YOLO("yolov10n.pt")
results = model("image.jpg")
results[0].show()
yolo detect predict model=yolov10n.pt source=path/to/image.jpg

๋” ๋งŽ์€ ์‚ฌ์šฉ ์˜ˆ์‹œ๋ฅผ ๋ณด๋ ค๋ฉด ์‚ฌ์šฉ ์˜ˆ์‹œ ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

YOLOv10์€ ์–ด๋–ค ๋ชจ๋ธ ๋ณ€ํ˜•์„ ์ œ๊ณตํ•˜๋ฉฐ ์‚ฌ์šฉ ์‚ฌ๋ก€๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

YOLOv10์€ ๋‹ค์–‘ํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์ถฉ์กฑํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ชจ๋ธ ๋ณ€ํ˜•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

  • YOLOv10-N: ๋ฆฌ์†Œ์Šค๊ฐ€ ๊ทน๋„๋กœ ์ œํ•œ๋œ ํ™˜๊ฒฝ์— ์ ํ•ฉ
  • YOLOv10-S: ์†๋„์™€ ์ •ํ™•์„ฑ์˜ ๊ท ํ˜• ์žก๊ธฐ
  • YOLOv10-M: ๋ฒ”์šฉ ์‚ฌ์šฉ
  • YOLOv10-B: ํญ ์ฆ๊ฐ€๋กœ ์ •ํ™•๋„ ํ–ฅ์ƒ
  • YOLOv10-L: ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค ๋น„์šฉ์œผ๋กœ ๋†’์€ ์ •ํ™•๋„ ์ œ๊ณต
  • YOLOv10-X: ์ตœ๋Œ€ ์ •ํ™•๋„ ๋ฐ ์„ฑ๋Šฅ

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

YOLOv10์˜ NMS ์—†๋Š” ์ ‘๊ทผ ๋ฐฉ์‹์€ ์–ด๋–ป๊ฒŒ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜๋‚˜์š”?

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

YOLOv10 ๋ชจ๋ธ์˜ ๋‚ด๋ณด๋‚ด๊ธฐ ์˜ต์…˜์€ ์–ด๋””์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ๋‚˜์š”?

TorchScript, ONNX, OpenVINO, TensorRT ๋“ฑ ์—ฌ๋Ÿฌ ๋‚ด๋ณด๋‚ด๊ธฐ ํ˜•์‹์„ ์ง€์›ํ•˜์ง€๋งŒ, ํ˜„์žฌ Ultralytics ์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ชจ๋“  ๋‚ด๋ณด๋‚ด๊ธฐ ํ˜•์‹์€ ์ƒˆ๋กœ์šด ์ž‘์—…์œผ๋กœ ์ธํ•ด YOLOv10์—์„œ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ง€์›๋˜๋Š” ํ˜•์‹๊ณผ ๋‚ด๋ณด๋‚ด๊ธฐ ์ง€์นจ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ YOLOv10 ๋‚ด ๋ณด๋‚ด๊ธฐ ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

YOLOv10 ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ ๋ฒค์น˜๋งˆํฌ๋Š” ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”?

YOLOv10์€ ์ •ํ™•๋„์™€ ํšจ์œจ์„ฑ ๋ชจ๋‘์—์„œ ์ด์ „ YOLO ๋ฒ„์ „ ๋ฐ ๊ธฐํƒ€ ์ตœ์‹  ๋ชจ๋ธ๋ณด๋‹ค ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, YOLOv10-S๋Š” COCO ๋ฐ์ดํ„ฐ ์„ธํŠธ์—์„œ ๋น„์Šทํ•œ AP๋ฅผ ์‚ฌ์šฉํ•˜๋Š” RT-DETR-R18๋ณด๋‹ค 1.8๋ฐฐ ๋น ๋ฆ…๋‹ˆ๋‹ค. YOLOv10-B๋Š” ๋™์ผํ•œ ์„ฑ๋Šฅ์˜ YOLOv9-C๋ณด๋‹ค ์ง€์—ฐ ์‹œ๊ฐ„์ด 46% ๋” ์งง๊ณ  ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ 25% ๋” ์ ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋ฒค์น˜๋งˆํฌ๋Š” ๋น„๊ต ์„น์…˜์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“… 6 ๊ฐœ์›” ์ „์— ์ƒ์„ฑ๋จ โœ๏ธ 1๊ฐœ์›” ์ „ ์—…๋ฐ์ดํŠธ๋จ

๋Œ“๊ธ€