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

๊ตฌ์„ฑ

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



Watch: ๋งˆ์Šคํ„ฐ๋ง Ultralytics YOLO : ๊ตฌ์„ฑ

Ultralytics ๋ช…๋ น์€ ๋‹ค์Œ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค:

์˜ˆ

yolo TASK MODE ARGS
from ultralytics import YOLO

# Load a YOLO11 model from a pre-trained weights file
model = YOLO("yolo11n.pt")

# Run MODE mode using the custom arguments ARGS (guess TASK)
model.MODE(ARGS)

Where:

๊ธฐ๋ณธ๊ฐ’ ARG ๊ฐ’์€ ์ด ํŽ˜์ด์ง€์—์„œ cfg/defaults.yaml ํŒŒ์ผ.

์ž‘์—…

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

  • ๊ฐ์ง€: ๊ฐ์ง€: ์ด๋ฏธ์ง€ ๋˜๋Š” ๋™์˜์ƒ์—์„œ ๊ด€์‹ฌ ์žˆ๋Š” ๋ฌผ์ฒด ๋˜๋Š” ์˜์—ญ์„ ์‹๋ณ„ํ•˜๊ณ  ์œ„์น˜๋ฅผ ํŒŒ์•…ํ•ฉ๋‹ˆ๋‹ค.
  • ์„ธ๊ทธ๋จผํŠธ: ์ด๋ฏธ์ง€ ๋˜๋Š” ๋™์˜์ƒ์„ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ์ฒด ๋˜๋Š” ํด๋ž˜์Šค์— ํ•ด๋‹นํ•˜๋Š” ์˜์—ญ ๋˜๋Š” ํ”ฝ์…€๋กœ ๋‚˜๋ˆ„๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ๋ถ„๋ฅ˜: ์ž…๋ ฅ ์ด๋ฏธ์ง€์˜ ํด๋ž˜์Šค ๋ ˆ์ด๋ธ”์„ ์˜ˆ์ธกํ•ฉ๋‹ˆ๋‹ค.
  • ํฌ์ฆˆ: ํฌ์ฆˆ: ์ด๋ฏธ์ง€ ๋˜๋Š” ๋™์˜์ƒ์—์„œ ๊ฐ์ฒด๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ํ‚คํฌ์ธํŠธ๋ฅผ ์ถ”์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • OBB: ์œ„์„ฑ ๋˜๋Š” ์˜๋ฃŒ ์ด๋ฏธ์ง€์— ์ ํ•ฉํ•œ ๋ฐฉํ–ฅ์„ฑ(์ฆ‰, ํšŒ์ „๋œ) ๋ฐ”์šด๋”ฉ ๋ฐ•์Šค์ž…๋‹ˆ๋‹ค.
์ธ์ˆ˜ ๊ธฐ๋ณธ๊ฐ’ ์„ค๋ช…
task 'detect' ์‹คํ–‰ํ•  YOLO ์ž‘์—…์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. detect ์— ๋Œ€ํ•œ ๋ฌผ์ฒด ๊ฐ์ง€, segment ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ธ๋ถ„ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค, classify ๋ถ„๋ฅ˜๋ฅผ ์œ„ํ•ด, pose ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํฌ์ฆˆ๋ฅผ ์ถ”์ •ํ•˜๊ณ  obb ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์ž‘์—…์€ ์ด๋ฏธ์ง€ ๋ฐ ๋™์˜์ƒ ๋ถ„์„์˜ ํŠน์ • ์ถœ๋ ฅ ์œ ํ˜•๊ณผ ๋ฌธ์ œ์— ๋งž๊ฒŒ ์กฐ์ •๋ฉ๋‹ˆ๋‹ค.

์ž‘์—… ๊ฐ€์ด๋“œ

๋ชจ๋“œ

YOLO ๋ชจ๋ธ์€ ํ•ด๊ฒฐํ•˜๋ ค๋Š” ํŠน์ • ๋ฌธ์ œ์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ๋ชจ๋“œ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ชจ๋“œ์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค:

  • ํ›ˆ๋ จ: ์‚ฌ์šฉ์ž ์ง€์ • ๋ฐ์ดํ„ฐ ์„ธํŠธ์— ๋Œ€ํ•œ YOLO11 ๋ชจ๋ธ ํ•™์Šต์šฉ.
  • Val: YOLO11 ๋ชจ๋ธ์ด ํ•™์Šต๋œ ํ›„ ์œ ํšจ์„ฑ์„ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค.
  • ์˜ˆ์ธก: ์˜ˆ์ธก: ์ƒˆ๋กœ์šด ์ด๋ฏธ์ง€ ๋˜๋Š” ๋™์˜์ƒ์— ๋Œ€ํ•ด ํ•™์Šต๋œ YOLO11 ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์˜ˆ์ธก์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • ๋‚ด๋ณด๋‚ด๊ธฐ: ๋‚ด๋ณด๋‚ด๊ธฐ: YOLO11 ๋ชจ๋ธ์„ ๋ฐฐํฌ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•์‹์œผ๋กœ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.
  • ์ถ”์ : ์ถ”์ : YOLO11 ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ฐœ์ฒด๋ฅผ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฒค์น˜๋งˆํฌ: YOLO11 ๋‚ด๋ณด๋‚ด๊ธฐ(ONNX, TensorRT ๋“ฑ) ์†๋„ ๋ฐ ์ •ํ™•๋„๋ฅผ ๋ฒค์น˜๋งˆํ‚นํ•ฉ๋‹ˆ๋‹ค.
์ธ์ˆ˜ ๊ธฐ๋ณธ๊ฐ’ ์„ค๋ช…
mode 'train' YOLO ๋ชจ๋ธ์ด ์ž‘๋™ํ•˜๋Š” ๋ชจ๋“œ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. train ๋ชจ๋ธ ํŠธ๋ ˆ์ด๋‹์„ ์œ„ํ•ด val ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์œ ํšจ์„ฑ์„ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค, predict ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค, export ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋ธ์„ ๋ฐฐํฌ ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค, track ๊ฐ์ฒด ์ถ”์ ์šฉ benchmark ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ฑ๋Šฅ ํ‰๊ฐ€๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋ชจ๋“œ๋Š” ๊ฐœ๋ฐœ๋ถ€ํ„ฐ ๋ฐฐํฌ๊นŒ์ง€ ๋ชจ๋ธ ๋ผ์ดํ”„์‚ฌ์ดํด์˜ ์—ฌ๋Ÿฌ ๋‹จ๊ณ„์— ๋งž๊ฒŒ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“œ ๊ฐ€์ด๋“œ

์—ด์ฐจ ์„ค์ •

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

์ธ์ˆ˜ ๊ธฐ๋ณธ๊ฐ’ ์„ค๋ช…
model None ํ•™์Šตํ•  ๋ชจ๋ธ ํŒŒ์ผ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜์˜ ๊ฒฝ๋กœ๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. .pt ์‚ฌ์ „ ํ•™์Šต๋œ ๋ชจ๋ธ ๋˜๋Š” .yaml ๊ตฌ์„ฑ ํŒŒ์ผ. ๋ชจ๋ธ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜๊ฑฐ๋‚˜ ๊ฐ€์ค‘์น˜๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค.
data None ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ ๊ตฌ์„ฑ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ(์˜ˆ:, coco8.yaml). ์ด ํŒŒ์ผ์—๋Š” ํŠธ๋ ˆ์ด๋‹ ๊ฒฝ๋กœ๋ฅผ ๋น„๋กฏํ•œ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ณ„ ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋ฐ์ดํ„ฐ, ํด๋ž˜์Šค ์ด๋ฆ„, ํด๋ž˜์Šค ์ˆ˜๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
epochs 100 ์ด ํ›ˆ๋ จ ์—ํฌํฌ ์ˆ˜์ž…๋‹ˆ๋‹ค. ๊ฐ ์—ํฌํฌ๋Š” ์ „์ฒด ๋ฐ์ดํ„ฐ ์„ธํŠธ์— ๋Œ€ํ•œ ์ „์ฒด ํŒจ์Šค๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด ๊ฐ’์„ ์กฐ์ •ํ•˜๋ฉด ํ•™์Šต ๊ธฐ๊ฐ„๊ณผ ๋ชจ๋ธ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
time None ์ตœ๋Œ€ ํ›ˆ๋ จ ์‹œ๊ฐ„(์‹œ๊ฐ„). ์„ค์ •ํ•˜๋ฉด ์ด ๊ฐ’์€ epochs ์ธ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง€์ •๋œ ์‹œ๊ฐ„ ํ›„์— ํŠธ๋ ˆ์ด๋‹์„ ์ž๋™์œผ๋กœ ์ค‘์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ๊ฐ„ ์ œ์•ฝ์ด ์žˆ๋Š” ๊ต์œก ์‹œ๋‚˜๋ฆฌ์˜ค์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
patience 100 ํ›ˆ๋ จ์„ ์กฐ๊ธฐ ์ค‘๋‹จํ•˜๊ธฐ ์ „์— ๊ฒ€์ฆ ์ง€ํ‘œ์˜ ๊ฐœ์„  ์—†์ด ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜๋Š” ์—ํฌํฌ ์ˆ˜์ž…๋‹ˆ๋‹ค. ์„ฑ๋Šฅ์ด ์ •์ฒด๋  ๋•Œ ํ›ˆ๋ จ์„ ์ค‘๋‹จํ•˜์—ฌ ๊ณผ์ ํ•ฉ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.
batch 16 ๋ฐฐ์น˜ ํฌ๊ธฐ์„ธ ๊ฐ€์ง€ ๋ชจ๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: ์ •์ˆ˜๋กœ ์„ค์ •), batch=16), 60% GPU ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋ฅ ์˜ ์ž๋™ ๋ชจ๋“œ(batch=-1) ๋˜๋Š” ์ง€์ •๋œ ์‚ฌ์šฉ๋ฅ  ๋น„์œจ์˜ ์ž๋™ ๋ชจ๋“œ(batch=0.70).
imgsz 640 ํ•™์Šต์„ ์œ„ํ•œ ๋ชฉํ‘œ ์ด๋ฏธ์ง€ ํฌ๊ธฐ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ์ด๋ฏธ์ง€๋Š” ๋ชจ๋ธ์— ์ž…๋ ฅ๋˜๊ธฐ ์ „์— ์ด ํฌ๊ธฐ๋กœ ์กฐ์ •๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ ์ •ํ™•๋„์™€ ๊ณ„์‚ฐ ๋ณต์žก๋„์— ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค.
save True ํ›ˆ๋ จ ์ฒดํฌํฌ์ธํŠธ์™€ ์ตœ์ข… ๋ชจ๋ธ ๊ฐ€์ค‘์น˜๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ›ˆ๋ จ ๋˜๋Š” ๋ชจ๋ธ ๋ฐฐํฌ๋ฅผ ์žฌ๊ฐœํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
save_period -1 ๋ชจ๋ธ ์ฒดํฌํฌ์ธํŠธ ์ €์žฅ ๋นˆ๋„(์—ํฌํฌ ๋‹จ์œ„๋กœ ์ง€์ •)์ž…๋‹ˆ๋‹ค. ๊ฐ’์ด -1์ด๋ฉด ์ด ๊ธฐ๋Šฅ์ด ๋น„ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค. ๊ธด ํ›ˆ๋ จ ์„ธ์…˜ ๋™์•ˆ ์ค‘๊ฐ„ ๋ชจ๋ธ์„ ์ €์žฅํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
cache False ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋ฐ์ดํ„ฐ ์„ธํŠธ ์ด๋ฏธ์ง€์˜ ์บ์‹ฑ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค(True/ram), ๋””์Šคํฌ(disk) ๋˜๋Š” ๋น„ํ™œ์„ฑํ™”(False). ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ๋Š˜๋ฆฌ๋Š” ๋Œ€์‹  ๋””์Šคํฌ I/O๋ฅผ ์ค„์—ฌ ํ›ˆ๋ จ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.
device None ๊ต์œก์šฉ ๊ณ„์‚ฐ ์žฅ์น˜๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค: ๋‹จ์ผ GPU (device=0), ๋‹ค์ค‘ GPU(device=0,1), CPU (device=cpu) ๋˜๋Š” ์• ํ”Œ ์‹ค๋ฆฌ์ฝ˜์˜ ๊ฒฝ์šฐ MPS (device=mps).
workers 8 ๋ฐ์ดํ„ฐ ๋กœ๋”ฉ์„ ์œ„ํ•œ ์›Œ์ปค ์Šค๋ ˆ๋“œ ์ˆ˜(๋‹น RANK ๋‹ค์ค‘GPU ํ›ˆ๋ จ์ธ ๊ฒฝ์šฐ). ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ ๋ฐ ๋ชจ๋ธ์— ๊ณต๊ธ‰ํ•˜๋Š” ์†๋„์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋ฉฐ, ํŠนํžˆ ๋‹ค์ค‘GPU ์„ค์ •์—์„œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
project None ๊ต์œก ๊ฒฐ๊ณผ๋ฌผ์ด ์ €์žฅ๋˜๋Š” ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์‹คํ—˜์„ ์ฒด๊ณ„์ ์œผ๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
name None ํŠธ๋ ˆ์ด๋‹ ์‹คํ–‰์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ํด๋” ๋‚ด์— ํŠธ๋ ˆ์ด๋‹ ๋กœ๊ทธ ๋ฐ ๊ฒฐ๊ณผ๋ฌผ์ด ์ €์žฅ๋˜๋Š” ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
exist_ok False True๋กœ ์„ค์ •ํ•˜๋ฉด ๊ธฐ์กด ํ”„๋กœ์ ํŠธ/์ด๋ฆ„ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋ฎ์–ด์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ „ ๊ฒฐ๊ณผ๋ฌผ์„ ์ˆ˜๋™์œผ๋กœ ์ง€์šธ ํ•„์š” ์—†์ด ๋ฐ˜๋ณต์ ์ธ ์‹คํ—˜์„ ํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
pretrained True ์‚ฌ์ „ ํ•™์Šต๋œ ๋ชจ๋ธ์—์„œ ํ•™์Šต์„ ์‹œ์ž‘ํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์ค‘์น˜๋ฅผ ๋กœ๋“œํ•  ํŠน์ • ๋ชจ๋ธ์— ๋Œ€ํ•œ ๋ถ€์šธ ๊ฐ’ ๋˜๋Š” ๋ฌธ์ž์—ด ๊ฒฝ๋กœ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•™์Šต ํšจ์œจ์„ฑ๊ณผ ๋ชจ๋ธ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.
optimizer 'auto' ๊ต์œก์šฉ ์˜ตํ‹ฐ๋งˆ์ด์ € ์„ ํƒ. ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. SGD, Adam, AdamW, NAdam, RAdam, RMSProp ๋“ฑ ๋˜๋Š” auto ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋ธ ๊ตฌ์„ฑ์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ปจ๋ฒ„์ „์Šค ์†๋„์™€ ์•ˆ์ •์„ฑ์— ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค.
seed 0 ํŠธ๋ ˆ์ด๋‹์„ ์œ„ํ•œ ๋ฌด์ž‘์œ„ ์‹œ๋“œ๋ฅผ ์„ค์ •ํ•˜์—ฌ ๋™์ผํ•œ ๊ตฌ์„ฑ์œผ๋กœ ์‹คํ–‰ํ•  ๋•Œ ๊ฒฐ๊ณผ์˜ ์žฌํ˜„์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.
deterministic True ๊ฒฐ์ •๋ก ์  ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‚ฌ์šฉ์„ ๊ฐ•์ œํ•˜์—ฌ ์žฌํ˜„์„ฑ์„ ๋ณด์žฅํ•˜์ง€๋งŒ ๋น„๊ฒฐ์ •๋ก ์  ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•œ ์ œํ•œ์œผ๋กœ ์ธํ•ด ์„ฑ๋Šฅ๊ณผ ์†๋„์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
single_cls False ํ›ˆ๋ จ ์ค‘์— ๋‹ค์ค‘ ํด๋ž˜์Šค ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ๋ชจ๋“  ํด๋ž˜์Šค๋ฅผ ๋‹จ์ผ ํด๋ž˜์Šค๋กœ ์ทจ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ์ด์ง„ ๋ถ„๋ฅ˜ ์ž‘์—…์ด๋‚˜ ๋ถ„๋ฅ˜๋ณด๋‹ค๋Š” ๊ฐ์ฒด์˜ ์กด์žฌ ์—ฌ๋ถ€์— ์ดˆ์ ์„ ๋งž์ถœ ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
rect False ์ง์‚ฌ๊ฐํ˜• ํ•™์Šต์„ ํ™œ์„ฑํ™”ํ•˜์—ฌ ๋ฐฐ์น˜ ๊ตฌ์„ฑ์„ ์ตœ์ ํ™”ํ•˜์—ฌ ํŒจ๋”ฉ์„ ์ตœ์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค. ํšจ์œจ์„ฑ๊ณผ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์ง€๋งŒ ๋ชจ๋ธ ์ •ํ™•๋„์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
cos_lr False ์ฝ”์‚ฌ์ธ ํ•™์Šต๋ฅ  ์Šค์ผ€์ค„๋Ÿฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ธฐ๊ฐ„๋ณ„ ์ฝ”์‚ฌ์ธ ๊ณก์„ ์— ๋”ฐ๋ผ ํ•™์Šต๋ฅ ์„ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๋” ๋‚˜์€ ์ปจ๋ฒ„์ „์Šค๋ฅผ ์œ„ํ•ด ํ•™์Šต ์†๋„๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.
close_mosaic 10 ์™„๋ฃŒํ•˜๊ธฐ ์ „์— ํ›ˆ๋ จ์„ ์•ˆ์ •ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ง€๋‚œ N๊ฐœ์˜ ์—ํฌํฌ์—์„œ ๋ชจ์ž์ดํฌ ๋ฐ์ดํ„ฐ ์ฆ๊ฐ•์„ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. 0์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ์ด ๊ธฐ๋Šฅ์ด ๋น„ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.
resume False ๋งˆ์ง€๋ง‰์œผ๋กœ ์ €์žฅํ•œ ์ฒดํฌํฌ์ธํŠธ๋ถ€ํ„ฐ ํ›ˆ๋ จ์„ ์žฌ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ ๊ฐ€์ค‘์น˜, ์ตœ์ ํ™” ์ƒํƒœ ๋ฐ ์—ํฌํฌ ์ˆ˜๋ฅผ ์ž๋™์œผ๋กœ ๋กœ๋“œํ•˜์—ฌ ํ›ˆ๋ จ์„ ์›ํ™œํ•˜๊ฒŒ ๊ณ„์†ํ•ฉ๋‹ˆ๋‹ค.
amp True ์ž๋™ ํ˜ผํ•ฉ ์ •๋ฐ€๋„ (AMP) ํ›ˆ๋ จ์„ ํ™œ์„ฑํ™”ํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ด๊ณ  ์ •ํ™•๋„์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ์ตœ์†Œํ™”ํ•˜๋ฉด์„œ ํ›ˆ๋ จ ์†๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
fraction 1.0 ํ•™์Šต์— ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ์ผ๋ถ€๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ „์ฒด ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ํ•˜์œ„ ์ง‘ํ•ฉ์— ๋Œ€ํ•œ ํ•™์Šต์„ ํ—ˆ์šฉํ•˜๋ฉฐ, ์‹คํ—˜์ด๋‚˜ ๋ฆฌ์†Œ์Šค๊ฐ€ ์ œํ•œ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
profile False ํ›ˆ๋ จ ์ค‘์— ONNX ๋ฐ TensorRT ์†๋„๋ฅผ ํ”„๋กœํŒŒ์ผ๋งํ•˜์—ฌ ๋ชจ๋ธ ๋ฐฐํฌ๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
freeze None ๋ชจ๋ธ์˜ ์ฒ˜์Œ N๊ฐœ์˜ ๋ ˆ์ด์–ด ๋˜๋Š” ์ธ๋ฑ์Šค๋ณ„๋กœ ์ง€์ •๋œ ๋ ˆ์ด์–ด๋ฅผ ๊ณ ์ •ํ•˜์—ฌ ํ•™์Šต ๊ฐ€๋Šฅํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ˆ˜๋ฅผ ์ค„์ž…๋‹ˆ๋‹ค. ๋ฏธ์„ธ ์กฐ์ • ๋˜๋Š” ์ „์ด ํ•™์Šต์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
lr0 0.01 ์ดˆ๊ธฐ ํ•™์Šต๋ฅ (์˜ˆ SGD=1E-2, Adam=1E-3) . ์ด ๊ฐ’์„ ์กฐ์ •ํ•˜๋Š” ๊ฒƒ์€ ์ตœ์ ํ™” ํ”„๋กœ์„ธ์Šค์—์„œ ๋งค์šฐ ์ค‘์š”ํ•˜๋ฉฐ, ๋ชจ๋ธ ๊ฐ€์ค‘์น˜๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜๋Š” ์†๋„์— ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค.
lrf 0.01 ์ดˆ๊ธฐ ํ•™์Šต๋ฅ ์˜ ์ผ๋ถ€๋ถ„์ธ ์ตœ์ข… ํ•™์Šต๋ฅ  = (lr0 * lrf), ์Šค์ผ€์ค„๋Ÿฌ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ๊ฐ„์— ๋”ฐ๋ฅธ ํ•™์Šต ์†๋„๋ฅผ ์กฐ์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
momentum 0.937 SGD ๋˜๋Š” ์•„๋‹ด ์˜ตํ‹ฐ๋งˆ์ด์ €์šฉ ๋ฒ ํƒ€1์˜ ๋ชจ๋ฉ˜ํ…€ ๊ณ„์ˆ˜๋กœ, ํ˜„์žฌ ์—…๋ฐ์ดํŠธ์—์„œ ๊ณผ๊ฑฐ ๊ทธ๋ผ๋ฐ์ด์…˜์˜ ํ†ตํ•ฉ์— ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค.
weight_decay 0.0005 L2 ์ •๊ทœํ™” ๊ธฐ๊ฐ„, ๊ณผ์ ํ•ฉ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํฐ ๊ฐ€์ค‘์น˜์— ๋ถˆ์ด์ต์„ ์ค๋‹ˆ๋‹ค.
warmup_epochs 3.0 ํ•™์Šต ์†๋„ ์›Œ๋ฐ์—…์„ ์œ„ํ•œ ์—ํฌํฌ ์ˆ˜๋กœ, ํ•™์Šต ์†๋„๋ฅผ ๋‚ฎ์€ ๊ฐ’์—์„œ ์ดˆ๊ธฐ ํ•™์Šต ์†๋„๊นŒ์ง€ ์„œ์„œํžˆ ๋†’์—ฌ ์กฐ๊ธฐ์— ํ•™์Šต์„ ์•ˆ์ •ํ™”ํ•ฉ๋‹ˆ๋‹ค.
warmup_momentum 0.8 ์›Œ๋ฐ์—… ๋‹จ๊ณ„์˜ ์ดˆ๊ธฐ ์šด๋™๋Ÿ‰์œผ๋กœ, ์›Œ๋ฐ์—… ๊ธฐ๊ฐ„ ๋™์•ˆ ์„ค์ •๋œ ์šด๋™๋Ÿ‰์— ์ ์ฐจ์ ์œผ๋กœ ์ ์‘ํ•ฉ๋‹ˆ๋‹ค.
warmup_bias_lr 0.1 ์›Œ๋ฐ์—… ๋‹จ๊ณ„์—์„œ ๋ฐ”์ด์–ด์Šค ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ํ•™์Šต ์†๋„๋ฅผ ๋†’์—ฌ ์ดˆ๊ธฐ ๋‹จ๊ณ„์—์„œ ๋ชจ๋ธ ํ•™์Šต์„ ์•ˆ์ •ํ™”ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.
box 7.5 ์†์‹ค ํ•จ์ˆ˜์—์„œ ๋ฐ•์Šค ์†์‹ค ์„ฑ๋ถ„์˜ ๊ฐ€์ค‘์น˜๋กœ, ๋ฐ”์šด๋”ฉ ๋ฐ•์Šค ์ขŒํ‘œ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์˜ˆ์ธกํ•˜๋Š” ๋ฐ ์–ผ๋งˆ๋‚˜ ์ค‘์ ์„ ๋‘๋Š”์ง€์— ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค.
cls 0.5 ์ด ์†์‹ค ํ•จ์ˆ˜์—์„œ ๋ถ„๋ฅ˜ ์†์‹ค์˜ ๊ฐ€์ค‘์น˜๋กœ, ๋‹ค๋ฅธ ๊ตฌ์„ฑ ์š”์†Œ์— ๋น„ํ•ด ์ •ํ™•ํ•œ ํด๋ž˜์Šค ์˜ˆ์ธก์˜ ์ค‘์š”๋„์— ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค.
dfl 1.5 ์„ธ๋ถ„ํ™”๋œ ๋ถ„๋ฅ˜๋ฅผ ์œ„ํ•ด ํŠน์ • YOLO ๋ฒ„์ „์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ถ„ํฌ ์ดˆ์  ์†์‹ค์˜ ๊ฐ€์ค‘์น˜์ž…๋‹ˆ๋‹ค.
pose 12.0 ํฌ์ฆˆ ์ถ”์ •์„ ์œ„ํ•ด ํ•™์Šต๋œ ๋ชจ๋ธ์—์„œ ํฌ์ฆˆ ์†์‹ค์˜ ๊ฐ€์ค‘์น˜๋กœ, ํฌ์ฆˆ ํ‚คํฌ์ธํŠธ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์˜ˆ์ธกํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค.
kobj 2.0 ํฌ์ฆˆ ์ถ”์ • ๋ชจ๋ธ์—์„œ ํ‚คํฌ์ธํŠธ ๊ฐ์ฒด์„ฑ ์†์‹ค์˜ ๊ฐ€์ค‘์น˜๋กœ, ๊ฐ์ง€ ์‹ ๋ขฐ๋„์™€ ํฌ์ฆˆ ์ •ํ™•๋„ ๊ฐ„์˜ ๊ท ํ˜•์„ ๋งž์ถฅ๋‹ˆ๋‹ค.
label_smoothing 0.0 ๋ผ๋ฒจ ํ‰ํ™œํ™”๋ฅผ ์ ์šฉํ•˜์—ฌ ๋Œ€์ƒ ๋ผ๋ฒจ์˜ ํ˜ผํ•ฉ์— ํ•˜๋“œ ๋ผ๋ฒจ์„ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ํ•˜๊ณ  ๋ผ๋ฒจ์„ ๊ท ์ผํ•˜๊ฒŒ ๋ถ„ํฌํ•˜๋ฉด ์ผ๋ฐ˜ํ™”๋ฅผ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
nbs 64 ์†์‹ค ์ •๊ทœํ™”๋ฅผ ์œ„ํ•œ ๊ณต์นญ ๋ฐฐ์น˜ ํฌ๊ธฐ์ž…๋‹ˆ๋‹ค.
overlap_mask True ํ•™์Šต์„ ์œ„ํ•ด ๊ฐ์ฒด ๋งˆ์Šคํฌ๋ฅผ ํ•˜๋‚˜์˜ ๋งˆ์Šคํฌ๋กœ ๋ณ‘ํ•ฉํ• ์ง€, ์•„๋‹ˆ๋ฉด ๊ฐ ๊ฐ์ฒด๋งˆ๋‹ค ๋ณ„๋„๋กœ ์œ ์ง€ํ• ์ง€ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฒน์น˜๋Š” ๊ฒฝ์šฐ ๋ณ‘ํ•ฉํ•˜๋Š” ๋™์•ˆ ์ž‘์€ ๋งˆ์Šคํฌ๊ฐ€ ํฐ ๋งˆ์Šคํฌ ์œ„์— ์˜ค๋ฒ„๋ ˆ์ด๋ฉ๋‹ˆ๋‹ค.
mask_ratio 4 ์„ธ๋ถ„ํ™” ๋งˆ์Šคํฌ์˜ ๋‹ค์šด์ƒ˜ํ”Œ ๋น„์œจ๋กœ, ํ›ˆ๋ จ ์ค‘์— ์‚ฌ์šฉ๋˜๋Š” ๋งˆ์Šคํฌ์˜ ํ•ด์ƒ๋„์— ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค.
dropout 0.0 ๋ถ„๋ฅ˜ ์ž‘์—…์˜ ์ •๊ทœํ™”๋ฅผ ์œ„ํ•œ ํƒˆ๋ฝ๋ฅ , ํ›ˆ๋ จ ์ค‘ ๋ฌด์ž‘์œ„๋กœ ๋‹จ์œ„๋ฅผ ์ƒ๋žตํ•˜์—ฌ ๊ณผ์ ํ•ฉ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.
val True ํ›ˆ๋ จ ์ค‘ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ํ™œ์„ฑํ™”ํ•˜์—ฌ ๋ณ„๋„์˜ ๋ฐ์ดํ„ฐ ์„ธํŠธ์—์„œ ๋ชจ๋ธ ์„ฑ๋Šฅ์„ ์ฃผ๊ธฐ์ ์œผ๋กœ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
plots False ํ•™์Šต ๋ฐ ๊ฒ€์ฆ ๋ฉ”ํŠธ๋ฆญ๊ณผ ์˜ˆ์ธก ์˜ˆ์ œ์˜ ํ”Œ๋กฏ์„ ์ƒ์„ฑํ•˜๊ณ  ์ €์žฅํ•˜์—ฌ ๋ชจ๋ธ ์„ฑ๋Šฅ ๋ฐ ํ•™์Šต ์ง„ํ–‰ ์ƒํ™ฉ์— ๋Œ€ํ•œ ์‹œ๊ฐ์  ์ธ์‚ฌ์ดํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋ฐฐ์น˜ ํฌ๊ธฐ ์„ค์ •์— ๋Œ€ํ•œ ์ฐธ๊ณ  ์‚ฌํ•ญ

๊ทธ๋ฆฌ๊ณ  batch ์ธ์ˆ˜๋Š” ์„ธ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • ๊ณ ์ • ๋ฐฐ์น˜ ํฌ๊ธฐ: ์ •์ˆ˜ ๊ฐ’์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ batch=16)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐ์น˜๋‹น ์ด๋ฏธ์ง€ ์ˆ˜๋ฅผ ์ง์ ‘ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ž๋™ ๋ชจ๋“œ(60% GPU ๋ฉ”๋ชจ๋ฆฌ): ์‚ฌ์šฉ batch=-1 ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•ฝ 60%์˜ CUDA ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋ฅ ์— ๋งž๊ฒŒ ๋ฐฐ์น˜ ํฌ๊ธฐ๋ฅผ ์ž๋™์œผ๋กœ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ๋ฅ  ๋น„์œจ์„ ์‚ฌ์šฉํ•œ ์ž๋™ ๋ชจ๋“œ: ๋ถ„์ˆ˜ ๊ฐ’ ์„ค์ •(์˜ˆ:, batch=0.70)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GPU ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์˜ ์ง€์ •๋œ ๋น„์œจ์— ๋”ฐ๋ผ ๋ฐฐ์น˜ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์ฐจ ๊ฐ€์ด๋“œ

์˜ˆ์ธก ์„ค์ •

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

์ถ”๋ก  ์ธ์ˆ˜:

์ธ์ˆ˜ ์œ ํ˜• ๊ธฐ๋ณธ๊ฐ’ ์„ค๋ช…
source str 'ultralytics/assets' ์ถ”๋ก ํ•  ๋ฐ์ดํ„ฐ ์†Œ์Šค๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€ ๊ฒฝ๋กœ, ๋™์˜์ƒ ํŒŒ์ผ, ๋””๋ ‰ํ† ๋ฆฌ, URL ๋˜๋Š” ์‹ค์‹œ๊ฐ„ ํ”ผ๋“œ์šฉ ๋””๋ฐ”์ด์Šค ID๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ํ˜•์‹๊ณผ ์†Œ์Šค๋ฅผ ์ง€์›ํ•˜๋ฏ€๋กœ ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ์ž…๋ ฅ์— ์œ ์—ฐํ•˜๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
conf float 0.25 ํƒ์ง€์— ๋Œ€ํ•œ ์ตœ์†Œ ์‹ ๋ขฐ๋„ ์ž„๊ณ„๊ฐ’์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ž„๊ณ„๊ฐ’๋ณด๋‹ค ๋‚ฎ์€ ์‹ ๋ขฐ๋„๋กœ ํƒ์ง€๋œ ๊ฐœ์ฒด๋Š” ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ’์„ ์กฐ์ •ํ•˜๋ฉด ์˜คํƒ์ง€๋ฅผ ์ค„์ด๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
iou float 0.7 ๋น„์ตœ๋Œ€ ์–ต์ œ(NMS)์— ๋Œ€ํ•œ ๊ต์ฐจ์  ์ดˆ๊ณผ (IoU) ์ž„๊ณ„๊ฐ’์ž…๋‹ˆ๋‹ค. ๊ฐ’์ด ๋‚ฎ์„์ˆ˜๋ก ์ค‘๋ณต๋˜๋Š” ์ƒ์ž๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ํƒ์ง€ ํšŸ์ˆ˜๊ฐ€ ์ค„์–ด๋“ค์–ด ์ค‘๋ณต์„ ์ค„์ด๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
imgsz int or tuple 640 ์ถ”๋ก ํ•  ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ผ ์ •์ˆ˜์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 640 ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •์‚ฌ๊ฐํ˜• ํฌ๊ธฐ ์กฐ์ • ๋˜๋Š” (๋†’์ด, ๋„ˆ๋น„) ํŠœํ”Œ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ ์ ˆํ•œ ํฌ๊ธฐ ์กฐ์ •์€ ๊ฐ์ง€์œจ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ •ํ™•์„ฑ ์ฒ˜๋ฆฌ ์†๋„.
half bool False ์ •ํ™•๋„์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ์ตœ์†Œํ™”ํ•˜๋ฉด์„œ ์ง€์›๋˜๋Š” GPU์—์„œ ๋ชจ๋ธ ์ถ”๋ก  ์†๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ๋Š” ๋ฐ˜์ •ํ™•๋„ (FP16) ์ถ”๋ก ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
device str None ์ถ”๋ก ํ•  ์žฅ์น˜๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ, cpu, cuda:0 ๋˜๋Š” 0). ์‚ฌ์šฉ์ž๊ฐ€ ๋ชจ๋ธ ์‹คํ–‰์„ ์œ„ํ•ด CPU, ํŠน์ • GPU, ๋˜๋Š” ๊ธฐํƒ€ ์ปดํ“จํŒ… ์žฅ์น˜ ์ค‘์—์„œ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
max_det int 300 ์ด๋ฏธ์ง€๋‹น ํ—ˆ์šฉ๋˜๋Š” ์ตœ๋Œ€ ๊ฐ์ง€ ํšŸ์ˆ˜. ๋ชจ๋ธ์ด ํ•œ ๋ฒˆ์˜ ์ถ”๋ก ์—์„œ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ๋Š” ์ด ์˜ค๋ธŒ์ ํŠธ ์ˆ˜๋ฅผ ์ œํ•œํ•˜์—ฌ ๋ฐ€์ง‘๋œ ์žฅ๋ฉด์—์„œ ๊ณผ๋„ํ•œ ์ถœ๋ ฅ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.
vid_stride int 1 ๋น„๋””์˜ค ์ž…๋ ฅ์˜ ํ”„๋ ˆ์ž„ ๋ณดํญ. ๋™์˜์ƒ์—์„œ ํ”„๋ ˆ์ž„์„ ๊ฑด๋„ˆ๋›ฐ์–ด ์‹œ๊ฐ„ ํ•ด์ƒ๋„๋ฅผ ํฌ์ƒํ•˜๋ฉด์„œ ์ฒ˜๋ฆฌ ์†๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ’์ด 1์ด๋ฉด ๋ชจ๋“  ํ”„๋ ˆ์ž„์„ ์ฒ˜๋ฆฌํ•˜๊ณ , ๊ฐ’์ด ํด์ˆ˜๋ก ํ”„๋ ˆ์ž„์„ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.
stream_buffer bool False ๋น„๋””์˜ค ์ŠคํŠธ๋ฆผ์— ๋Œ€ํ•ด ์ˆ˜์‹  ํ”„๋ ˆ์ž„์„ ๋Œ€๊ธฐ์—ด์— ๋„ฃ์„์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ False๋กœ ์„ค์ •ํ•˜๋ฉด ์ƒˆ ํ”„๋ ˆ์ž„์„ ์ˆ˜์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ด์ „ ํ”„๋ ˆ์ž„์ด ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค(์‹ค์‹œ๊ฐ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ตœ์ ํ™”๋จ). True'๋ฉด ์ƒˆ ํ”„๋ ˆ์ž„์„ ๋ฒ„ํผ์— ๋Œ€๊ธฐ์‹œ์ผœ ๊ฑด๋„ˆ๋›ฐ๋Š” ํ”„๋ ˆ์ž„์ด ์—†๋„๋ก ํ•˜์ง€๋งŒ ์ถ”๋ก  FPS๊ฐ€ ์ŠคํŠธ๋ฆผ FPS๋ณด๋‹ค ๋‚ฎ์œผ๋ฉด ์ง€์—ฐ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
visualize bool False ์ถ”๋ก  ์ค‘์— ๋ชจ๋ธ ๊ธฐ๋Šฅ์˜ ์‹œ๊ฐํ™”๋ฅผ ํ™œ์„ฑํ™”ํ•˜์—ฌ ๋ชจ๋ธ์ด '๋ณด๊ณ  ์žˆ๋Š” ๊ฒƒ'์— ๋Œ€ํ•œ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋””๋ฒ„๊น… ๋ฐ ๋ชจ๋ธ ํ•ด์„์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
augment bool False ์˜ˆ์ธก์„ ์œ„ํ•œ ํ…Œ์ŠคํŠธ ์‹œ๊ฐ„ ์ฆ๊ฐ•(TTA)์„ ์ง€์›ํ•˜์—ฌ ์ถ”๋ก  ์†๋„๋ฅผ ํฌ์ƒํ•˜๋ฉด์„œ ํƒ์ง€ ๊ฒฌ๊ณ ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
agnostic_nms bool False ์„œ๋กœ ๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ๊ฒน์น˜๋Š” ์ƒ์ž๋ฅผ ๋ณ‘ํ•ฉํ•˜๋Š” ํด๋ž˜์Šค ๋ฌด๊ด€ NMS(Non-Maximum Suppression)๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ํด๋ž˜์Šค ์ค‘๋ณต์ด ์ผ๋ฐ˜์ ์ธ ๋‹ค์ค‘ ํด๋ž˜์Šค ํƒ์ง€ ์‹œ๋‚˜๋ฆฌ์˜ค์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
classes list[int] None ํด๋ž˜์Šค ID ์ง‘ํ•ฉ์œผ๋กœ ์˜ˆ์ธก์„ ํ•„ํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค. ์ง€์ •๋œ ํด๋ž˜์Šค์— ์†ํ•˜๋Š” ํƒ์ง€๋งŒ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค. ๋‹ค์ค‘ ํด๋ž˜์Šค ํƒ์ง€ ์ž‘์—…์—์„œ ๊ด€๋ จ ๊ฐœ์ฒด์— ์ง‘์ค‘ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
retina_masks bool False ๊ณ ํ•ด์ƒ๋„ ๋ถ„ํ•  ๋งˆ์Šคํฌ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜ํ™˜๋œ ๋งˆ์Šคํฌ(masks.data)๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ฉด ์›๋ณธ ์ด๋ฏธ์ง€ ํฌ๊ธฐ์™€ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค. ๋น„ํ™œ์„ฑํ™”ํ•˜๋ฉด ์ถ”๋ก  ์ค‘์— ์‚ฌ์šฉ๋˜๋Š” ์ด๋ฏธ์ง€ ํฌ๊ธฐ๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
embed list[int] None ํŠน์ง• ๋ฒกํ„ฐ ๋˜๋Š” ์ž„๋ฒ ๋”ฉ์„ ์ถ”์ถœํ•  ๋ ˆ์ด์–ด๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ๋ง์ด๋‚˜ ์œ ์‚ฌ๋„ ๊ฒ€์ƒ‰๊ณผ ๊ฐ™์€ ๋‹ค์šด์ŠคํŠธ๋ฆผ ์ž‘์—…์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
project str None ์˜ˆ์ธก ์ถœ๋ ฅ์ด ์ €์žฅ๋˜๋Š” ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ์ด๋ฆ„(๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ). save ๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
name str None ์˜ˆ์ธก ์‹คํ–‰์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ ์˜ˆ์ธก ์ถœ๋ ฅ์ด ์ €์žฅ๋˜๋Š” ํ”„๋กœ์ ํŠธ ํด๋” ๋‚ด์— ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. save ๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ๊ฐํ™” ์ธ์ˆ˜:

์ธ์ˆ˜ ์œ ํ˜• ๊ธฐ๋ณธ๊ฐ’ ์„ค๋ช…
show bool False ๋งŒ์•ฝ True๋ฅผ ํด๋ฆญํ•˜๋ฉด ์ฃผ์„์ด ๋‹ฌ๋ฆฐ ์ด๋ฏธ์ง€ ๋˜๋Š” ๋™์˜์ƒ์ด ์ฐฝ์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ๋˜๋Š” ํ…Œ์ŠคํŠธ ์ค‘์— ์ฆ‰๊ฐ์ ์ธ ์‹œ๊ฐ์  ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์„ ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
save bool False ๋˜๋Š” True ์ฃผ์„์ด ๋‹ฌ๋ฆฐ ์ด๋ฏธ์ง€๋‚˜ ๋™์˜์ƒ์„ ํŒŒ์ผ๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์„œํ™”, ์ถ”๊ฐ€ ๋ถ„์„ ๋˜๋Š” ๊ฒฐ๊ณผ ๊ณต์œ ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ CLI ์—์„œ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ True, Python ์—์„œ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ False์ž…๋‹ˆ๋‹ค.
save_frames bool False ๋™์˜์ƒ ์ฒ˜๋ฆฌ ์‹œ ๊ฐœ๋ณ„ ํ”„๋ ˆ์ž„์„ ์ด๋ฏธ์ง€๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ํŠน์ • ํ”„๋ ˆ์ž„์„ ์ถ”์ถœํ•˜๊ฑฐ๋‚˜ ํ”„๋ ˆ์ž„๋ณ„๋กœ ์„ธ๋ถ€์ ์œผ๋กœ ๋ถ„์„ํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
save_txt bool False ํƒ์ง€ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์Œ ํ˜•์‹์— ๋”ฐ๋ผ ํ…์ŠคํŠธ ํŒŒ์ผ๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. [class] [x_center] [y_center] [width] [height] [confidence]. ๋‹ค๋ฅธ ๋ถ„์„ ๋„๊ตฌ์™€์˜ ํ†ตํ•ฉ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
save_conf bool False ์ €์žฅ๋œ ํ…์ŠคํŠธ ํŒŒ์ผ์— ์‹ ๋ขฐ๋„ ์ ์ˆ˜๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ํ›„์ฒ˜๋ฆฌ ๋ฐ ๋ถ„์„์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.
save_crop bool False ํƒ์ง€๋œ ์ด๋ฏธ์ง€๋ฅผ ์ž˜๋ผ๋‚ธ ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์„ธํŠธ ๋ณด๊ฐ•, ๋ถ„์„ ๋˜๋Š” ํŠน์ • ๊ฐœ์ฒด์— ๋Œ€ํ•œ ์ง‘์ค‘ ๋ฐ์ดํ„ฐ ์„ธํŠธ ์ƒ์„ฑ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
show_labels bool True ์‹œ๊ฐ์  ์ถœ๋ ฅ์— ๊ฐ ๊ฐ์ง€ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ๋ ˆ์ด๋ธ”์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์ง€๋œ ๊ฐœ์ฒด์— ๋Œ€ํ•œ ์ฆ‰๊ฐ์ ์ธ ์ดํ•ด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
show_conf bool True ๊ฐ ํƒ์ง€์— ๋Œ€ํ•œ ์‹ ๋ขฐ๋„ ์ ์ˆ˜๋ฅผ ๋ผ๋ฒจ๊ณผ ํ•จ๊ป˜ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ํƒ์ง€์— ๋Œ€ํ•œ ๋ชจ๋ธ์˜ ํ™•์‹ค์„ฑ์— ๋Œ€ํ•œ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
show_boxes bool True ๊ฐ์ง€๋œ ๊ฐœ์ฒด ์ฃผ์œ„์— ๊ฒฝ๊ณ„ ์ƒ์ž๋ฅผ ๊ทธ๋ฆฝ๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€ ๋˜๋Š” ๋น„๋””์˜ค ํ”„๋ ˆ์ž„์—์„œ ๋ฌผ์ฒด๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ์‹๋ณ„ํ•˜๊ณ  ์œ„์น˜๋ฅผ ํŒŒ์•…ํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค.
line_width None ๋˜๋Š” int None ๊ฒฝ๊ณ„ ์ƒ์ž์˜ ์„  ๋„ˆ๋น„๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ None๋ฅผ ํด๋ฆญํ•˜๋ฉด ์ด๋ฏธ์ง€ ํฌ๊ธฐ์— ๋”ฐ๋ผ ์„  ๋„ˆ๋น„๊ฐ€ ์ž๋™์œผ๋กœ ์กฐ์ •๋ฉ๋‹ˆ๋‹ค. ์„ ๋ช…๋„๋ฅผ ์œ„ํ•œ ์‹œ๊ฐ์  ์‚ฌ์šฉ์ž ์ง€์ • ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ธก ๊ฐ€์ด๋“œ

์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์„ค์ •

YOLO ๋ชจ๋ธ์˜ VAL(์œ ํšจ์„ฑ ๊ฒ€์‚ฌ) ์„ค์ •์—๋Š” ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋ฐ์ดํ„ฐ ์„ธํŠธ์—์„œ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋‹ค์–‘ํ•œ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ๋ฐ ๊ตฌ์„ฑ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์„ค์ •์€ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ, ์†๋„ ๋ฐ ์ •ํ™•๋„์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ YOLO ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์„ค์ •์—๋Š” ๋ฐฐ์น˜ ํฌ๊ธฐ, ํ•™์Šต ์ค‘ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋นˆ๋„ ๋ฐ ์„ฑ๋Šฅ ํ‰๊ฐ€ ๋ฉ”ํŠธ๋ฆญ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ํ”„๋กœ์„ธ์Šค์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๋‹ค๋ฅธ ์š”์ธ์œผ๋กœ๋Š” ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ํฌ๊ธฐ์™€ ๊ตฌ์„ฑ, ๋ชจ๋ธ์ด ์‚ฌ์šฉ๋˜๋Š” ํŠน์ • ์ž‘์—… ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ธ์ˆ˜ ์œ ํ˜• ๊ธฐ๋ณธ๊ฐ’ ์„ค๋ช…
data str None ๋ฐ์ดํ„ฐ ์„ธํŠธ ๊ตฌ์„ฑ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ:, coco8.yaml). ์ด ํŒŒ์ผ์—๋Š” ๋‹ค์Œ ๊ฒฝ๋กœ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋ฐ์ดํ„ฐ, ํด๋ž˜์Šค ์ด๋ฆ„, ํด๋ž˜์Šค ์ˆ˜๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
imgsz int 640 ์ž…๋ ฅ ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์ด๋ฏธ์ง€๋Š” ์ฒ˜๋ฆฌํ•˜๊ธฐ ์ „์— ์ด ํฌ๊ธฐ๋กœ ํฌ๊ธฐ๊ฐ€ ์กฐ์ •๋ฉ๋‹ˆ๋‹ค.
batch int 16 ๋ฐฐ์น˜๋‹น ์ด๋ฏธ์ง€ ์ˆ˜๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ -1 ๋ฅผ ์„ค์ •ํ•˜๋ฉด GPU ๋ฉ”๋ชจ๋ฆฌ ๊ฐ€์šฉ์„ฑ์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ์กฐ์ •๋ฉ๋‹ˆ๋‹ค.
save_json bool False ๋งŒ์•ฝ True๋ฅผ ํด๋ฆญํ•˜๋ฉด ์ถ”๊ฐ€ ๋ถ„์„ ๋˜๋Š” ๋‹ค๋ฅธ ๋„๊ตฌ์™€์˜ ํ†ตํ•ฉ์„ ์œ„ํ•ด ๊ฒฐ๊ณผ๋ฅผ JSON ํŒŒ์ผ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
save_hybrid bool False ๋งŒ์•ฝ True๋ฅผ ํด๋ฆญํ•˜๋ฉด ์›๋ž˜ ์ฃผ์„๊ณผ ์ถ”๊ฐ€ ๋ชจ๋ธ ์˜ˆ์ธก์„ ๊ฒฐํ•ฉํ•œ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ฒ„์ „์˜ ๋ ˆ์ด๋ธ”์ด ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
conf float 0.001 ํƒ์ง€์— ๋Œ€ํ•œ ์ตœ์†Œ ์‹ ๋ขฐ๋„ ์ž„๊ณ„๊ฐ’์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ž„๊ณ„๊ฐ’ ๋ฏธ๋งŒ์˜ ์‹ ๋ขฐ๋„๋ฅผ ๊ฐ€์ง„ ํƒ์ง€๋Š” ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.
iou float 0.6 NMS(๋น„์ตœ๋Œ€ ์–ต์ œ)์— ๋Œ€ํ•œ IoU( ๊ต์ฐจ์  ์ดˆ๊ณผ ์—ฐํ•ฉ ) ์ž„๊ณ„๊ฐ’์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ค‘๋ณต ํƒ์ง€๋ฅผ ์ค„์ด๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.
max_det int 300 ์ด๋ฏธ์ง€๋‹น ์ตœ๋Œ€ ๊ฐ์ง€ ํšŸ์ˆ˜๋ฅผ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค. ๊ณผ๋„ํ•œ ๊ฐ์ง€๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ€์ง‘๋œ ์žฅ๋ฉด์—์„œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
half bool True ๋ฐ˜์ •๋ฐ€๋„ (FP16) ๊ณ„์‚ฐ์„ ์ง€์›ํ•˜์—ฌ ์ •ํ™•๋„์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ์ตœ์†Œํ™”ํ•˜๋ฉด์„œ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ด๊ณ  ์ž ์žฌ์ ์œผ๋กœ ์†๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
device str None ์œ ํšจ์„ฑ ๊ฒ€์‚ฌํ•  ์žฅ์น˜๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค(cpu, cuda:0๋“ฑ). CPU ๋˜๋Š” GPU ๋ฆฌ์†Œ์Šค๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
dnn bool False ๋งŒ์•ฝ True๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ OpenCV ONNX ๋ชจ๋ธ ์ถ”๋ก ์„ ์œ„ํ•œ DNN ๋ชจ๋“ˆ๋กœ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋Œ€์•ˆ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. PyTorch ์ถ”๋ก  ๋ฐฉ๋ฒ•.
plots bool False ๋กœ ์„ค์ •ํ•œ ๊ฒฝ์šฐ True๋Š” ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ์‹œ๊ฐ์ ์œผ๋กœ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ์‹ค์ธก๊ฐ’๊ณผ ์˜ˆ์ธก๊ฐ’์„ ๋น„๊ตํ•œ ํ”Œ๋กฏ์„ ์ƒ์„ฑํ•˜๊ณ  ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
rect bool True ๋งŒ์•ฝ True๋Š” ์ผ๊ด„ ์ฒ˜๋ฆฌ์— ์ง์‚ฌ๊ฐํ˜• ์ถ”๋ก ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒจ๋”ฉ์„ ์ค„์ด๊ณ  ์ž ์žฌ์ ์œผ๋กœ ์†๋„์™€ ํšจ์œจ์„ฑ์„ ๋†’์ž…๋‹ˆ๋‹ค.
split str val ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ์— ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ ์„ธํŠธ ๋ถ„ํ• ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค(val, test๋˜๋Š” train). ์„ฑ๋Šฅ ํ‰๊ฐ€๋ฅผ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
project str None ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์ถœ๋ ฅ์ด ์ €์žฅ๋˜๋Š” ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
name str None ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์‹คํ–‰์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ํด๋” ๋‚ด์— ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋กœ๊ทธ์™€ ์ถœ๋ ฅ์ด ์ €์žฅ๋˜๋Š” ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๊ฒ€์ฆ ๋ฐ์ดํ„ฐ ์„ธํŠธ์—์„œ ์ตœ์ ์˜ ์„ฑ๋Šฅ์„ ๋ณด์žฅํ•˜๊ณ  ๊ณผ์ ํ•ฉ์„ ๊ฐ์ง€ํ•˜๊ณ  ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ์ด๋Ÿฌํ•œ ์„ค์ •์„ ์‹ ์ค‘ํ•˜๊ฒŒ ์กฐ์ •ํ•˜๊ณ  ์‹คํ—˜ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

Val ๊ฐ€์ด๋“œ

๋‚ด๋ณด๋‚ด๊ธฐ ์„ค์ •

YOLO ๋ชจ๋ธ์˜ ๋‚ด๋ณด๋‚ด๊ธฐ ์„ค์ •์—๋Š” ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์ด๋‚˜ ํ”Œ๋žซํผ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ชจ๋ธ์„ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ๋‚ด๋ณด๋‚ด๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ๋œ ๊ตฌ์„ฑ ๋ฐ ์˜ต์…˜์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์„ค์ •์€ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ, ํฌ๊ธฐ ๋ฐ ๋‹ค์–‘ํ•œ ์‹œ์Šคํ…œ๊ณผ์˜ ํ˜ธํ™˜์„ฑ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์š” ๋‚ด๋ณด๋‚ด๊ธฐ ์„ค์ •์—๋Š” ๋‚ด๋ณด๋‚ด๋Š” ๋ชจ๋ธ ํŒŒ์ผ ํ˜•์‹(์˜ˆ: ONNX, TensorFlow SavedModel ), ๋Œ€์ƒ ์žฅ์น˜(์˜ˆ: CPU, GPU), ๋งˆ์Šคํฌ ๋˜๋Š” ์ƒ์ž๋‹น ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ ˆ์ด๋ธ”๊ณผ ๊ฐ™์€ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋‚ด๋ณด๋‚ด๊ธฐ ํ”„๋กœ์„ธ์Šค๋Š” ๋ชจ๋ธ์˜ ํŠน์ • ์ž‘์—…๊ณผ ๋Œ€์ƒ ํ™˜๊ฒฝ ๋˜๋Š” ํ”Œ๋žซํผ์˜ ์š”๊ตฌ ์‚ฌํ•ญ ๋˜๋Š” ์ œ์•ฝ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์˜ํ–ฅ์„ ๋ฐ›์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ธ์ˆ˜ ์œ ํ˜• ๊ธฐ๋ณธ๊ฐ’ ์„ค๋ช…
format str 'torchscript' ๋‚ด๋ณด๋‚ธ ๋ชจ๋ธ์˜ ๋Œ€์ƒ ํ˜•์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. 'onnx', 'torchscript', 'tensorflow'๋“ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๋ฐฐํฌ ํ™˜๊ฒฝ๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
imgsz int ๋˜๋Š” tuple 640 ๋ชจ๋ธ ์ž…๋ ฅ์— ์‚ฌ์šฉํ•  ์›ํ•˜๋Š” ์ด๋ฏธ์ง€ ํฌ๊ธฐ์ž…๋‹ˆ๋‹ค. ์ •์‚ฌ๊ฐํ˜• ์ด๋ฏธ์ง€์˜ ๊ฒฝ์šฐ ์ •์ˆ˜ ๋˜๋Š” ํŠœํ”Œ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (height, width) ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
keras bool False ์— ๋Œ€ํ•ด Keras ํ˜•์‹์œผ๋กœ ๋‚ด๋ณด๋‚ด๊ธฐ๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. TensorFlow SavedModel ๋กœ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •ํ•˜์—ฌ TensorFlow ์„œ๋น„์Šค ๋ฐ API์™€์˜ ํ˜ธํ™˜์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
optimize bool False TorchScript ์œผ๋กœ ๋‚ด๋ณด๋‚ผ ๋•Œ ๋ชจ๋ฐ”์ผ ์žฅ์น˜์— ๋Œ€ํ•œ ์ตœ์ ํ™”๋ฅผ ์ ์šฉํ•˜์—ฌ ๋ชจ๋ธ ํฌ๊ธฐ๋ฅผ ์ค„์ด๊ณ  ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
half bool False FP16(๋ฐ˜์ •๋ฐ€) ์–‘์žํ™”๋ฅผ ํ™œ์„ฑํ™”ํ•˜์—ฌ ๋ชจ๋ธ ํฌ๊ธฐ๋ฅผ ์ค„์ด๊ณ  ์ง€์›๋˜๋Š” ํ•˜๋“œ์›จ์–ด์—์„œ ์ถ”๋ก  ์†๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
int8 bool False INT8 ์–‘์žํ™”๋ฅผ ํ™œ์„ฑํ™”ํ•˜์—ฌ ๋ชจ๋ธ์„ ๋”์šฑ ์••์ถ•ํ•˜๊ณ  ์ฃผ๋กœ ์—์ง€ ๋””๋ฐ”์ด์Šค์˜ ๊ฒฝ์šฐ ์ •ํ™•๋„ ์†์‹ค์„ ์ตœ์†Œํ™”ํ•˜๋ฉด์„œ ์ถ”๋ก  ์†๋„๋ฅผ ๋†’์ž…๋‹ˆ๋‹ค.
dynamic bool False ONNX, TensorRT ๋ฐ OpenVINO ๋‚ด๋ณด๋‚ด๊ธฐ์— ๋Œ€ํ•œ ๋™์  ์ž…๋ ฅ ํฌ๊ธฐ๋ฅผ ํ—ˆ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
simplify bool True ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ONNX ๋‚ด๋ณด๋‚ด๊ธฐ์— ๋Œ€ํ•œ ๋ชจ๋ธ ๊ทธ๋ž˜ํ”„๋ฅผ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค. onnxslim๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ฑ๋Šฅ๊ณผ ํ˜ธํ™˜์„ฑ์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
opset int None ๋‹ค๋ฅธ ONNX ํŒŒ์„œ ๋ฐ ๋Ÿฐํƒ€์ž„๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด ONNX ์˜ต์…‹ ๋ฒ„์ „์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์ง€์›๋˜๋Š” ์ตœ์‹  ๋ฒ„์ „์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
workspace float 4.0 TensorRT ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ ์ตœ๋Œ€ ์ž‘์—… ๊ณต๊ฐ„ ํฌ๊ธฐ๋ฅผ GiB ๋‹จ์œ„๋กœ ์„ค์ •ํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰๊ณผ ์„ฑ๋Šฅ์˜ ๊ท ํ˜•์„ ๋งž์ถฅ๋‹ˆ๋‹ค.
nms bool False ์ •ํ™•ํ•˜๊ณ  ํšจ์œจ์ ์ธ ํƒ์ง€ ํ›„์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ํ•„์ˆ˜์ ์ธ ๋น„์ตœ๋Œ€ ์–ต์ œ(NMS)๋ฅผ CoreML ๋‚ด๋ณด๋‚ด๊ธฐ์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
batch int 1 ๋‚ด๋ณด๋‚ด๊ธฐ ๋ชจ๋ธ ์ผ๊ด„ ์ถ”๋ก  ํฌ๊ธฐ ๋˜๋Š” ๋‚ด๋ณด๋‚ธ ๋ชจ๋ธ์ด ๋™์‹œ์— ์ฒ˜๋ฆฌํ•  ์ตœ๋Œ€ ์ด๋ฏธ์ง€ ์ˆ˜๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. predict ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
device str None ๋‚ด๋ณด๋‚ผ ์žฅ์น˜๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค: GPU (device=0), CPU (device=cpu), ์• ํ”Œ ์‹ค๋ฆฌ์ฝ˜์˜ ๊ฒฝ์šฐ MPS (device=mps) ๋˜๋Š” DLA for NVIDIA Jetson(device=dla:0 ๋˜๋Š” device=dla:1).

๋‚ด๋ณด๋‚ธ ๋ชจ๋ธ์ด ์˜๋„ํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€์— ์ตœ์ ํ™”๋˜๊ณ  ๋Œ€์ƒ ํ™˜๊ฒฝ์—์„œ ํšจ๊ณผ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋„๋ก ํ•˜๋ ค๋ฉด ์ด๋Ÿฌํ•œ ์„ค์ •์„ ์‹ ์ค‘ํ•˜๊ฒŒ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

๋‚ด๋ณด๋‚ด๊ธฐ ๊ฐ€์ด๋“œ

์ฆ๊ฐ• ์„ค์ •

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

์ธ์ˆ˜ ์œ ํ˜• ๊ธฐ๋ณธ๊ฐ’ ๋ฒ”์œ„ ์„ค๋ช…
hsv_h float 0.015 0.0 - 1.0 ์ด๋ฏธ์ง€์˜ ์ƒ‰์กฐ๋ฅผ ์ปฌ๋Ÿฌํ™˜์˜ ์ผ๋ถ€๋ถ„์œผ๋กœ ์กฐ์ •ํ•˜์—ฌ ์ƒ‰์ƒ ๊ฐ€๋ณ€์„ฑ์„ ๋„์ž…ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์กฐ๋ช… ์กฐ๊ฑด์—์„œ ๋ชจ๋ธ์„ ์ผ๋ฐ˜ํ™”ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.
hsv_s float 0.7 0.0 - 1.0 ์ด๋ฏธ์ง€์˜ ์ฑ„๋„๋ฅผ ์ผ๋ถ€ ๋ณ€๊ฒฝํ•˜์—ฌ ์ƒ‰์ƒ์˜ ๊ฐ•๋„์— ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ ์กฐ๊ฑด์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
hsv_v float 0.4 0.0 - 1.0 ์ด๋ฏธ์ง€์˜ ๊ฐ’(๋ฐ๊ธฐ)์„ ์ผ๋ถ€ ์ˆ˜์ •ํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์กฐ๋ช… ์กฐ๊ฑด์—์„œ ๋ชจ๋ธ์ด ์ž˜ ์ž‘๋™ํ•˜๋„๋ก ๋•์Šต๋‹ˆ๋‹ค.
degrees float 0.0 -180 - +180 ์ง€์ •๋œ ๊ฐ๋„ ๋ฒ”์œ„ ๋‚ด์—์„œ ์ด๋ฏธ์ง€๋ฅผ ์ž„์˜๋กœ ํšŒ์ „ํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๋ฐฉํ–ฅ์—์„œ ๋ฌผ์ฒด๋ฅผ ์ธ์‹ํ•˜๋Š” ๋ชจ๋ธ์˜ ๋Šฅ๋ ฅ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.
translate float 0.1 0.0 - 1.0 ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋ฅผ ๊ฐ€๋กœ ๋ฐ ์„ธ๋กœ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ถ€๋ถ„์ ์œผ๋กœ ๋ณด์ด๋Š” ๋ฌผ์ฒด๋ฅผ ๊ฐ์ง€ํ•˜๋Š” ํ•™์Šต์„ ๋•์Šต๋‹ˆ๋‹ค.
scale float 0.5 >=0.0 ๊ฒŒ์ธ ๊ณ„์ˆ˜์— ๋”ฐ๋ผ ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•˜์—ฌ ์นด๋ฉ”๋ผ์—์„œ ๋‹ค์–‘ํ•œ ๊ฑฐ๋ฆฌ์— ์žˆ๋Š” ๋ฌผ์ฒด๋ฅผ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•ฉ๋‹ˆ๋‹ค.
shear float 0.0 -180 - +180 ์ด๋ฏธ์ง€๋ฅผ ์ง€์ •๋œ ๊ฐ๋„๋งŒํผ ์ž˜๋ผ๋‚ด์–ด ๋ฌผ์ฒด๋ฅผ ๋‹ค๋ฅธ ๊ฐ๋„์—์„œ ๋ณด๋Š” ํšจ๊ณผ๋ฅผ ๋ชจ๋ฐฉํ•ฉ๋‹ˆ๋‹ค.
perspective float 0.0 0.0 - 0.001 ์ด๋ฏธ์ง€์— ๋ฌด์ž‘์œ„ ์›๊ทผ ๋ณ€ํ™˜์„ ์ ์šฉํ•˜์—ฌ 3D ๊ณต๊ฐ„์—์„œ ๋ฌผ์ฒด๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ชจ๋ธ์˜ ๋Šฅ๋ ฅ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.
flipud float 0.0 0.0 - 1.0 ์ง€์ •๋œ ํ™•๋ฅ ๋กœ ์ด๋ฏธ์ง€๋ฅผ ๊ฑฐ๊พธ๋กœ ๋’ค์ง‘์–ด ์˜ค๋ธŒ์ ํŠธ์˜ ํŠน์„ฑ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ณ  ๋ฐ์ดํ„ฐ ๊ฐ€๋ณ€์„ฑ์„ ๋†’์ž…๋‹ˆ๋‹ค.
fliplr float 0.5 0.0 - 1.0 ์ง€์ •๋œ ํ™•๋ฅ ๋กœ ์ด๋ฏธ์ง€๋ฅผ ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋’ค์ง‘์–ด ๋Œ€์นญ ๊ฐœ์ฒด๋ฅผ ํ•™์Šตํ•˜๊ณ  ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ๋‹ค์–‘์„ฑ์„ ๋†’์ด๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
bgr float 0.0 0.0 - 1.0 ์ง€์ •๋œ ํ™•๋ฅ ๋กœ ์ด๋ฏธ์ง€ ์ฑ„๋„์„ RGB์—์„œ BGR๋กœ ์ „ํ™˜ํ•˜์—ฌ ์ž˜๋ชป๋œ ์ฑ„๋„ ์ˆœ์„œ์— ๋Œ€ํ•œ ๊ฒฌ๊ณ ์„ฑ์„ ๋†’์ด๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
mosaic float 1.0 0.0 - 1.0 4๊ฐœ์˜ ํ›ˆ๋ จ ์ด๋ฏธ์ง€๋ฅผ ํ•˜๋‚˜๋กœ ๊ฒฐํ•ฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์žฅ๋ฉด ๊ตฌ์„ฑ๊ณผ ๋ฌผ์ฒด ์ƒํ˜ธ ์ž‘์šฉ์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•ฉ๋‹ˆ๋‹ค. ๋ณต์žกํ•œ ์žฅ๋ฉด ์ดํ•ด์— ๋งค์šฐ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.
mixup float 0.0 0.0 - 1.0 ๋‘ ์ด๋ฏธ์ง€์™€ ํ•ด๋‹น ๋ ˆ์ด๋ธ”์„ ํ˜ผํ•ฉํ•˜์—ฌ ํ•ฉ์„ฑ ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋ ˆ์ด๋ธ” ๋…ธ์ด์ฆˆ์™€ ์‹œ๊ฐ์  ๊ฐ€๋ณ€์„ฑ์„ ๋„์ž…ํ•˜์—ฌ ๋ชจ๋ธ์˜ ์ผ๋ฐ˜ํ™” ๋Šฅ๋ ฅ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.
copy_paste float 0.0 0.0 - 1.0 ํ•œ ์ด๋ฏธ์ง€์—์„œ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ ๋‹ค๋ฅธ ์ด๋ฏธ์ง€์— ๋ถ™์—ฌ๋„ฃ๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ์˜ค๋ธŒ์ ํŠธ ์ธ์Šคํ„ด์Šค๋ฅผ ๋Š˜๋ฆฌ๊ณ  ์˜ค๋ธŒ์ ํŠธ ์˜คํด๋ฃจ์ „์„ ํ•™์Šตํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
copy_paste_mode str flip - ์˜ ์˜ต์…˜ ์ค‘ ๋ณต์‚ฌ-๋ถ™์—ฌ๋„ฃ๊ธฐ ํ™•๋Œ€ ๋ฐฉ๋ฒ• ์„ ํƒ("flip", "mixup").
auto_augment str randaugment - ๋ฏธ๋ฆฌ ์ •์˜๋œ ์ฆ๊ฐ• ์ •์ฑ…์„ ์ž๋™์œผ๋กœ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค(randaugment, autoaugment, augmix), ์‹œ๊ฐ์  ๊ธฐ๋Šฅ์„ ๋‹ค์–‘ํ™”ํ•˜์—ฌ ๋ถ„๋ฅ˜ ์ž‘์—…์— ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค.
erasing float 0.4 0.0 - 0.9 ๋ถ„๋ฅ˜ ํ›ˆ๋ จ ์ค‘์— ์ด๋ฏธ์ง€์˜ ์ผ๋ถ€๋ฅผ ์ž„์˜๋กœ ์ง€์›Œ ๋ชจ๋ธ์ด ๋œ ๋ถ„๋ช…ํ•œ ํŠน์ง•์— ์ง‘์ค‘ํ•˜์—ฌ ์ธ์‹ํ•˜๋„๋ก ์œ ๋„ํ•ฉ๋‹ˆ๋‹ค.
crop_fraction float 1.0 0.1 - 1.0 ๋ถ„๋ฅ˜ ์ด๋ฏธ์ง€๋ฅผ ์ผ๋ถ€ ํฌ๊ธฐ๋กœ ์ž˜๋ผ๋‚ด์–ด ์ค‘์‹ฌ ํŠน์ง•์„ ๊ฐ•์กฐํ•˜๊ณ  ๋ฌผ์ฒด ํฌ๊ธฐ์— ๋งž๊ฒŒ ์กฐ์ •ํ•˜์—ฌ ๋ฐฐ๊ฒฝ์˜ ์‚ฐ๋งŒํ•จ์„ ์ค„์ž…๋‹ˆ๋‹ค.

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

๋กœ๊น…, ์ฒดํฌํฌ์ธํŠธ ๋ฐ ํ”Œ๋กœํŒ… ์„ค์ •

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

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

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

์ธ์ˆ˜ ๊ธฐ๋ณธ๊ฐ’ ์„ค๋ช…
project 'runs' ํŠธ๋ ˆ์ด๋‹ ์‹คํ–‰์„ ์ €์žฅํ•  ๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์‹คํ–‰์€ ์ด ๋””๋ ‰ํ„ฐ๋ฆฌ ๋‚ด์˜ ๋ณ„๋„์˜ ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
name 'exp' ์‹คํ—˜์˜ ์ด๋ฆ„์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด YOLO ์€ ๊ฐ ์‹คํ–‰์— ๋Œ€ํ•ด ์ด ์ด๋ฆ„์„ ์ž๋™์œผ๋กœ ์ฆ๊ฐ€์‹œํ‚ต๋‹ˆ๋‹ค(์˜ˆ exp, exp2๋“ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด์ „ ์‹คํ—˜์„ ๋ฎ์–ด์“ฐ์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
exist_ok False ๊ฐ™์€ ์ด๋ฆ„์˜ ์‹คํ—˜ ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์ด๋ฏธ ์žˆ๋Š” ๊ฒฝ์šฐ ๊ธฐ์กด ์‹คํ—˜ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋ฎ์–ด์“ธ์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ True ์€ ๋ฎ์–ด์“ฐ๊ธฐ๋ฅผ ํ—ˆ์šฉํ•˜๊ณ  False ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
plots False ํŠธ๋ ˆ์ด๋‹ ๋ฐ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ํ”Œ๋กฏ์˜ ์ƒ์„ฑ ๋ฐ ์ €์žฅ์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ์„ค์ • True ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์†์‹ค ๊ณก์„ ๊ณผ ๊ฐ™์€ ํ”Œ๋กฏ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค, ์ •๋ฐ€๋„-๋ฆฌ์ฝœ ๊ณก์„  ๋ฐ ์ƒ˜ํ”Œ ์˜ˆ์ธก. ์‹œ๊ฐ„ ๊ฒฝ๊ณผ์— ๋”ฐ๋ฅธ ๋ชจ๋ธ ์„ฑ๋Šฅ์„ ์‹œ๊ฐ์ ์œผ๋กœ ์ถ”์ ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
save False ํ›ˆ๋ จ ์ฒดํฌํฌ์ธํŠธ์™€ ์ตœ์ข… ๋ชจ๋ธ ๊ฐ€์ค‘์น˜๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ค์ • True ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋ธ ์ƒํƒœ๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ €์žฅํ•˜์—ฌ ์ด๋Ÿฌํ•œ ์ฒดํฌํฌ์ธํŠธ ๋˜๋Š” ๋ฐฐํฌํ•  ๋ชจ๋ธ์—์„œ ๊ต์œก์„ ์žฌ๊ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

๊ต์œก ์ค‘์— YOLO ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?

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

YOLO ๋ชจ๋ธ ์ •ํ™•๋„๋ฅผ ์œ„ํ•ด ๊ณ ๋ คํ•ด์•ผ ํ•  ์ฃผ์š” ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

YOLO ๋ชจ๋ธ ์ •ํ™•๋„์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์ฃผ์š” ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • ๋ฐฐ์น˜ ํฌ๊ธฐ(batch): ๋ฐฐ์น˜ ํฌ๊ธฐ๊ฐ€ ํด์ˆ˜๋ก ํ›ˆ๋ จ์ด ์•ˆ์ •ํ™”๋  ์ˆ˜ ์žˆ์ง€๋งŒ ๋” ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ•™์Šต๋ฅ  (lr0): ๊ฐ€์ค‘์น˜ ์—…๋ฐ์ดํŠธ์˜ ๋‹จ๊ณ„ ํฌ๊ธฐ๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ์†๋„๊ฐ€ ์ž‘์„์ˆ˜๋ก ๋ฏธ์„ธ ์กฐ์ •์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์ˆ˜๋ ด ์†๋„๊ฐ€ ๋Š๋ ค์ง‘๋‹ˆ๋‹ค.
  • ๋ชจ๋ฉ˜ํ…€ (momentum): ๊ทธ๋ž˜๋””์–ธํŠธ ๋ฒกํ„ฐ๋ฅผ ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐ€์†ํ•˜์—ฌ ์ง„๋™์„ ์™„ํ™”ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋ฏธ์ง€ ํฌ๊ธฐ(imgsz): ์ด๋ฏธ์ง€ ํฌ๊ธฐ๊ฐ€ ํด์ˆ˜๋ก ์ •ํ™•๋„๋Š” ํ–ฅ์ƒ๋˜์ง€๋งŒ ๊ณ„์‚ฐ ๋ถ€ํ•˜๊ฐ€ ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์„ธํŠธ์™€ ํ•˜๋“œ์›จ์–ด ๊ธฐ๋Šฅ์— ๋”ฐ๋ผ ์ด ๊ฐ’์„ ์กฐ์ •ํ•˜์„ธ์š”. ํ›ˆ๋ จ ์„ค์ • ์„น์…˜์—์„œ ์ž์„ธํžˆ ์•Œ์•„๋ณด์„ธ์š”.

YOLO ๋ชจ๋ธ ํ•™์Šต์„ ์œ„ํ•œ ํ•™์Šต๋ฅ ์€ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ•˜๋‚˜์š”?

ํ•™์Šต ์†๋„(lr0)๋Š” ์ตœ์ ํ™”์— ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์‹œ์ž‘์ ์€ 0.01 ๋˜๋Š” 0.001 ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ํ•™์Šต ๋ฉ”ํŠธ๋ฆญ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์กฐ์ •ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ฝ”์‚ฌ์ธ ํ•™์Šต๋ฅ  ์Šค์ผ€์ค„๋Ÿฌ(cos_lr) ๋˜๋Š” ์›Œ๋ฐ์—… ๊ธฐ์ˆ (warmup_epochs, warmup_momentum)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ›ˆ๋ จ ์ค‘์— ์†๋„๋ฅผ ๋™์ ์œผ๋กœ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ธฐ์ฐจ ๊ฐ€์ด๋“œ.

YOLO ๋ชจ๋ธ์˜ ๊ธฐ๋ณธ ์ถ”๋ก  ์„ค์ •์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

๊ธฐ๋ณธ ์ถ”๋ก  ์„ค์ •์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค:

  • ์‹ ๋ขฐ๋„ ์ž„๊ณ„๊ฐ’(conf=0.25): ํƒ์ง€์— ๋Œ€ํ•œ ์ตœ์†Œ ์‹ ๋ขฐ๋„.
  • IoU ์ž„๊ณ„๊ฐ’(iou=0.7): ๋น„ ์ตœ๋Œ€ ์–ต์ œ(NMS)์˜ ๊ฒฝ์šฐ.
  • ์ด๋ฏธ์ง€ ํฌ๊ธฐ(imgsz=640): ์ถ”๋ก ํ•˜๊ธฐ ์ „์— ์ž…๋ ฅ ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค.
  • ์žฅ์น˜ (device=None): ์ถ”๋ก ์„ ์œ„ํ•ด CPU ๋˜๋Š” GPU ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ข…ํ•ฉ์ ์ธ ๊ฐœ์š”๋ฅผ ๋ณด๋ ค๋ฉด ์˜ˆ์ธก ์„ค์ • ์„น์…˜๊ณผ ์˜ˆ์ธก ๊ฐ€์ด๋“œ.

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

ํ˜ผํ•ฉ ์ •๋ฐ€ ๊ต์œก, ๋‹ค์Œ์„ ํ†ตํ•ด ํ™œ์„ฑํ™” amp=True๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ด๊ณ  FP16๊ณผ FP32์˜ ์žฅ์ ์„ ๋ชจ๋‘ ํ™œ์šฉํ•˜์—ฌ ํ›ˆ๋ จ ์†๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ˜ผํ•ฉ ์ •๋ฐ€๋„๋ฅผ ์ง€์›ํ•˜๋Š” ์ตœ์‹  GPU์— ์œ ์šฉํ•˜๋ฉฐ, ๋” ๋งŽ์€ ๋ชจ๋ธ์„ ๋ฉ”๋ชจ๋ฆฌ์— ๋„ฃ์„ ์ˆ˜ ์žˆ๊ณ  ์ •ํ™•๋„์˜ ํฐ ์†์‹ค ์—†์ด ๋” ๋น ๋ฅธ ๊ณ„์‚ฐ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ธฐ์ฐจ ๊ฐ€์ด๋“œ.

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

๋Œ“๊ธ€