์ต์์ ๊ต์ก ๊ฒฐ๊ณผ๋ฅผ ์ํ ํ
์ด ๊ฐ์ด๋์์๋ YOLOv5 ๐์ ์ฌ์ฉํ์ฌ ์ต๊ณ ์ ๋งต๊ณผ ํ๋ จ ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค.
๋ฐ์ดํฐ ์ธํธ๊ฐ ์ถฉ๋ถํ ํฌ๊ณ ๋ ์ด๋ธ์ด ์ ์ง์ ๋์ด ์๋ค๋ฉด ๋ชจ๋ธ์ด๋ ํ์ต ์ค์ ์ ๋ณ๊ฒฝํ์ง ์๊ณ ๋ ์ข์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๋๋ถ๋ถ์ ๋๋ค. ์ฒ์์ ์ข์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ง ๋ชปํ๋ค๋ฉด ๊ฐ์ ํ๊ธฐ ์ํด ์ทจํ ์ ์๋ ๋จ๊ณ๊ฐ ์์ง๋ง, ๋ณ๊ฒฝ์ ๊ณ ๋ คํ๊ธฐ ์ ์ ํญ์ ๋ชจ๋ ๊ธฐ๋ณธ ์ค์ ์ผ๋ก ๋จผ์ ํ๋ จํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ฑ๋ฅ ๊ธฐ์ค์ ์ ์ค์ ํ๊ณ ๊ฐ์ ์ด ํ์ํ ๋ถ๋ถ์ ํ์ ํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
๊ต์ก ๊ฒฐ๊ณผ์ ๋ํด ๊ถ๊ธํ ์ ์ด ์๋ ๊ฒฝ์ฐ ๊ฐ๋ฅํ ํ ์ต๋ํ์ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ฒฐ๊ณผ ํ๋กฏ(ํธ๋ ์ธ ์์ค, ๋ฐธ ์์ค, P, R, mAP), PR ๊ณก์ ๋ฑ ์ ์ฉํ ์๋ต์ ๊ธฐ๋ํ๋ ๊ฒฝ์ฐ, ํผ๋ ๋งคํธ๋ฆญ์ค, ํธ๋ ์ด๋ ๋ชจ์์ดํฌ, ํ
์คํธ ๊ฒฐ๊ณผ ๋ฐ ๋ฐ์ดํฐ ์ธํธ ํต๊ณ ์ด๋ฏธ์ง(์: labels.png). ์ด ๋ชจ๋ ๊ฒ์ project/name
๋๋ ํ ๋ฆฌ, ์ผ๋ฐ์ ์ผ๋ก yolov5/runs/train/exp
.
์๋ YOLOv5 ๊ต์ก์์ ์ต์์ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ณ ์ ํ๋ ์ฌ์ฉ์๋ฅผ ์ํด ์ ์ฒด ๊ฐ์ด๋๋ฅผ ์์ฑํ์ต๋๋ค.
๋ฐ์ดํฐ ์ธํธ
- ์์ ๋น ์ด๋ฏธ์ง: ์์ ๋น 1500๊ฐ ์ด์์ ์ด๋ฏธ์ง ๊ถ์ฅ
- ํด๋์ค๋น ์ธ์คํด์ค ์. ํด๋์ค๋น 10000๊ฐ ์ด์์ ์ธ์คํด์ค(๋ ์ด๋ธ์ด ์ง์ ๋ ๊ฐ์ฒด)๋ฅผ ๊ถ์ฅํฉ๋๋ค.
- ๋ค์ํ ์ด๋ฏธ์ง. ๋ฐฐํฌ๋ ํ๊ฒฝ์ ๋ํํ ์ ์๋ ์ด๋ฏธ์ง์ฌ์ผ ํฉ๋๋ค. ์ค์ ์ฌ์ฉ ์ฌ๋ก์ ๊ฒฝ์ฐ ๋ค์ํ ์๊ฐ๋, ๋ค์ํ ๊ณ์ , ๋ค์ํ ๋ ์จ, ๋ค์ํ ์กฐ๋ช , ๋ค์ํ ๊ฐ๋, ๋ค์ํ ์์ค(์จ๋ผ์ธ ์คํฌ๋ฉ, ๋ก์ปฌ์์ ์์ง, ๋ค์ํ ์นด๋ฉ๋ผ) ๋ฑ์ ์ด๋ฏธ์ง๋ฅผ ๊ถ์ฅํฉ๋๋ค.
- ๋ผ๋ฒจ ์ผ๊ด์ฑ. ๋ชจ๋ ์ด๋ฏธ์ง์ ์๋ ๋ชจ๋ ํด๋์ค์ ๋ชจ๋ ์ธ์คํด์ค์ ๋ ์ด๋ธ์ ์ง์ ํด์ผ ํฉ๋๋ค. ๋ถ๋ถ์ ์ธ ๋ผ๋ฒจ๋ง์ ์๋ํ์ง ์์ต๋๋ค.
- ๋ ์ด๋ธ ์ ํ๋. ๋ ์ด๋ธ์ ๊ฐ ๊ฐ์ฒด๋ฅผ ๋ฐ์ ํ๊ฒ ๋๋ฌ์ธ๊ณ ์์ด์ผ ํฉ๋๋ค. ๊ฐ์ฒด์ ๊ฐ์ฒด์ ๋ฐ์ด๋ฉ ๋ฐ์ค ์ฌ์ด์ ๊ณต๋ฐฑ์ด ์์ด์ผ ํฉ๋๋ค. ๋ ์ด๋ธ์ด ๋๋ฝ๋ ๊ฐ์ฒด๊ฐ ์์ด์ผ ํฉ๋๋ค.
- ๋ผ๋ฒจ ํ์ธ. ๋ณด๊ธฐ
train_batch*.jpg
๋ฅผ ํด๋ฆญํ์ฌ ๋ ์ด๋ธ์ด ์ฌ๋ฐ๋ฅด๊ฒ ํ์๋๋์ง ํ์ธํฉ๋๋ค. ์์ ๋ชจ์์ดํฌ. - ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง. ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ ์คํ(FP)์ ์ค์ด๊ธฐ ์ํด ๋ฐ์ดํฐ ์ธํธ์ ์ถ๊ฐ๋๋ ๊ฐ์ฒด๊ฐ ์๋ ์ด๋ฏธ์ง์ ๋๋ค. FP๋ฅผ ์ค์ด๊ธฐ ์ํด ์ฝ 0~10%์ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ฅผ ๊ถ์ฅํฉ๋๋ค(์ฐธ๊ณ ๋ก COCO์ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ ์ ์ฒด์ 1%์ธ 1000๊ฐ์ ๋๋ค). ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง์๋ ๋ ์ด๋ธ์ด ํ์ํ์ง ์์ต๋๋ค.
๋ชจ๋ธ ์ ํ
YOLOv5x ๋ฐ YOLOv5x6๊ณผ ๊ฐ์ ๋ ํฐ ๋ชจ๋ธ์ ๊ฑฐ์ ๋ชจ๋ ๊ฒฝ์ฐ์ ๋ ๋์ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํ์ง๋ง, ๋ ๋ง์ ๋งค๊ฐ ๋ณ์๊ฐ ์๊ณ , ํ๋ จํ๋ ๋ฐ ๋ ๋ง์ CUDA ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํ๋ฉฐ, ์คํ ์๋๊ฐ ๋๋ฆฝ๋๋ค. ๋ชจ๋ฐ์ผ ๋ฐฐํฌ์ ๊ฒฝ์ฐ YOLOv5s/m์, ํด๋ผ์ฐ๋ ๋ฐฐํฌ์ ๊ฒฝ์ฐ YOLOv5l/x๋ฅผ ๊ถ์ฅํฉ๋๋ค. ๋ชจ๋ ๋ชจ๋ธ์ ๋ํ ์ ์ฒด ๋น๊ต๋ README ํ๋ฅผ ์ฐธ์กฐํ์ธ์.
- ์ฌ์ ํ๋ จ๋ ๊ฐ์ค์น๋ถํฐ ์์ํ์ธ์. ์ค์๊ท๋ชจ ๋ฐ์ดํฐ ์ธํธ์ ๊ถ์ฅ๋ฉ๋๋ค(์ VOC, VisDrone, ๊ธ๋ก๋ฒ ๋ฐ). ๋ชจ๋ธ ์ด๋ฆ์
--weights
์ธ์๋ฅผ ์ ๋ฌํฉ๋๋ค. ๋ชจ๋ธ์ ์๋์ผ๋ก ๋ค์ด๋ก๋๋ฉ๋๋ค. ์ต์ YOLOv5 ๋ฆด๋ฆฌ์ค.
python train.py --data custom.yaml --weights yolov5s.pt
yolov5m.pt
yolov5l.pt
yolov5x.pt
custom_pretrained.pt
- ์ฒ์๋ถํฐ ์์ํ์ธ์. ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ธํธ์ ๊ถ์ฅ๋ฉ๋๋ค(์ COCO, ์ค๋ธ์ ํธ365, OIv6). ๊ด์ฌ ์๋ ๋ชจ๋ธ ์ํคํ
์ฒ YAML์ ๋น
--weights ''
์ธ์์ ๋๋ค:
python train.py --data custom.yaml --weights '' --cfg yolov5s.yaml
yolov5m.yaml
yolov5l.yaml
yolov5x.yaml
๊ต์ก ์ค์
์์ ํ๊ธฐ ์ ์ ๋จผ์ ๊ธฐ๋ณธ ์ค์ ์ผ๋ก ํ๋ จํ์ฌ ์ฑ๋ฅ ๊ธฐ์ค์ ์ ์ค์ ํ์ธ์. train.py ์ค์ ์ ์ ์ฒด ๋ชฉ๋ก์ train.py argparser์์ ํ์ธํ ์ ์์ต๋๋ค.
- ์ํฌํฌ. 300 ์ํฌํฌ๋ก ์์ํฉ๋๋ค. ์กฐ๊ธฐ์ ์ค๋ฒํ์ด ๋ฐ์ํ๋ฉด ์ํฌํฌ๋ฅผ ์ค์ผ ์ ์์ต๋๋ค. 300 ์ํฌํฌ ์ดํ์๋ ์ค๋ฒํ์ด ๋ฐ์ํ์ง ์์ผ๋ฉด 600, 1200 ๋ฑ ๋ ๊ธด ์ํฌํฌ๊น์ง ํ๋ จํฉ๋๋ค.
- ์ด๋ฏธ์ง ํฌ๊ธฐ. COCO๋ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ณธ ํด์๋๋ก ํ๋ จํฉ๋๋ค.
--img 640
๋ฐ์ดํฐ ์ธํธ์ ์์ ์ค๋ธ์ ํธ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ด ๋ ๋์ ํด์๋์์ ํ๋ จํ๋ฉด ์ด์ ์ ์ป์ ์ ์์ต๋๋ค.--img 1280
. ์์ ๊ฐ์ฒด๊ฐ ๋ง์ ๊ฒฝ์ฐ ์ฌ์ฉ์ ์ง์ ๋ฐ์ดํฐ ์ธํธ๋ ๊ธฐ๋ณธ ํด์๋ ๋๋ ๊ทธ ์ด์์ ํด์๋๋ก ํ์ตํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ต์์ ์ถ๋ก ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค.--img
์์ ํ๋ จํ๋ ๊ฒฝ์ฐ์ ๊ฐ์ด, ์ฆ--img 1280
์์๋ ํ ์คํธํ๊ณ ๊ฐ์งํด์ผ ํฉ๋๋ค.--img 1280
. - ๋ฐฐ์น ํฌ๊ธฐ. ๊ฐ์ฅ ํฐ
--batch-size
๋ก ์ค์ ํ์ธ์. ๋ฐฐ์น ํฌ๊ธฐ๊ฐ ์์ผ๋ฉด ๋ฐฐ์น ํ์ค ํต๊ณ๊ฐ ์ ๋๋ก ์์ฑ๋์ง ์์ผ๋ฏ๋ก ํผํด์ผ ํฉ๋๋ค. - ํ์ดํผํ๋ผ๋ฏธํฐ. ๊ธฐ๋ณธ ํ์ดํผํ๋ผ๋ฏธํฐ๋ hyp.scratch-low.yaml. ํ์ดํผํ๋ผ๋ฏธํฐ ์์ ์ ๊ณ ๋ คํ๊ธฐ ์ ์ ๋จผ์ ๊ธฐ๋ณธ ํ์ดํผํ๋ผ๋ฏธํฐ๋ก ํ๋ จํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ฆ๊ฐ ํ์ดํผํ๋ผ๋ฏธํฐ๋ฅผ ๋๋ฆฌ๋ฉด ๊ณผ์ ํฉ์ด ๊ฐ์ํ๊ณ ์ง์ฐ๋๋ฏ๋ก ํ๋ จ ์๊ฐ์ด ๊ธธ์ด์ง๊ณ ์ต์ข
mAP๊ฐ ๋์์ง๋๋ค. ๋ค์๊ณผ ๊ฐ์ ์์ค ๊ตฌ์ฑ ์์ ์ด๋ ํ์ดํผํ๋ผ๋ฏธํฐ ๊ฐ์
hyp['obj']
๋ฅผ ์ฌ์ฉํ๋ฉด ํน์ ์์ค ๊ตฌ์ฑ ์์์ ๊ณผ์ ํฉ์ ์ค์ด๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ์ด๋ฌํ ํ์ดํผํ๋ผ๋ฏธํฐ๋ฅผ ์ต์ ํํ๋ ์๋ํ๋ ๋ฐฉ๋ฒ์ ๋ํด์๋ ํ์ดํผํ๋ผ๋ฏธํฐ ์งํ ํํ ๋ฆฌ์ผ.
์ถ๊ฐ ์ฝ๊ธฐ
๋ ์์ธํ ์๊ณ ์ถ๋ค๋ฉด ๋ชจ๋ ML ์์ญ์ ๊ด๋ฒ์ํ๊ฒ ์ ์ฉ๋๋ ํ๋ จ์ ๋ํ ํ๋ฅญํ ์์ด๋์ด๋ฅผ ์ ๊ณตํ๋ Karpathy์ ' ์ ๊ฒฝ๋ง ํ๋ จ ๋ ์ํผ'๋ฅผ ์ฐธ์กฐํ์ธ์ (https://karpathy.github.io/2019/04/25/recipe/).
ํ์ด์ ๋น๋ฉฐ ๋ค๋ฅธ ๊ถ๊ธํ ์ ์ด ์์ผ๋ฉด ์๋ ค์ฃผ์ธ์!