๐Ÿ“/capstone1

labelImg ์ด์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ ๋งŒ๋“ค๊ณ  YOLOv5 ํ•™์Šต์‹œํ‚ค๊ธฐ

sssbin 2022. 4. 1. 17:28

 

1. labelImg ์‹คํ–‰

 

 

2. Open Dir -> ์ด๋ฏธ์ง€ ํŒŒ์ผ๋“ค ์ €์žฅ๋œ ํด๋” ์—ด๊ธฐ / Change Save Dir -> ํŒŒ์ผ ์ €์žฅํ•  ํด๋” ์ง€์ •

 

 

3. ์ฒ˜์Œ ์ž‘๋™์‹œํ‚ค๋ฉด yolo ๋ผ๊ณ  ์จ์žˆ๋Š” ๋ถ€๋ถ„์— PascalVOC ๋ผ๊ณ  ์ ํ˜€์žˆ์„ํ…๋ฐ ํ•œ๋ฒˆ ๋ˆŒ๋Ÿฌ์„œ yolo๋กœ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋œ๋‹ค. 

 

 

4. ๋ผ๋ฒจ๋ง ์‹œ์ž‘ - Create RectBox ๋ˆŒ๋Ÿฌ์„œ ์ง์ ‘ ๋ผ๋ฒจ๋ง ํ•ด์ฃผ๊ณ  -> class ์ง€์ • -> Save

 

 

5. ์ด ๊ณผ์ •์„ ๋ชจ๋“  ์‚ฌ์ง„์— ํ•ด์ฃผ๋ฉด ๋จ..^^

 

 

6. yolov5 ์•ˆ์— ํด๋” ํ•˜๋‚˜ ๋งŒ๋“ค์–ด์„œ ๊ทธ ์•ˆ์— data.yaml ํŒŒ์ผ, images, labels ํด๋”๋ฅผ ๊ฐ๊ฐ ๋งŒ๋“ค์–ด์ฃผ์ž

images -> ๋ผ๋ฒจ๋ง ํ–ˆ๋˜ ์‚ฌ์ง„๋“ค

labels -> ๋ผ๋ฒจ๋ง ํ›„ ์ƒ์„ฑ๋œ ํ…์ŠคํŠธ ํŒŒ์ผ๋“ค

 

 

7. data.yaml ํŒŒ์ผ

train/val: ๋‚ด๊ฐ€ ๋งŒ๋“  ํด๋” ๊ฒฝ๋กœ ์„ค์ •ํ•ด์ฃผ๊ธฐ

nc: ํด๋ž˜์Šค ์ˆ˜

names: ํด๋ž˜์Šค ์ด๋ฆ„ ๋ฐฐ์—ด๋กœ ๋„ฃ๊ธฐ

(๋‚˜๋Š” coca ํ•˜๋‚˜๋งŒ ์ผ๋Š”๋ฐ ๋‚˜๋จธ์ง€ ํด๋ž˜์Šค๋“ค ์–ด๋–ป๊ฒŒ ์ง€์šฐ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Œ ใ… ใ… ,,, ์•ˆ ๋งž์œผ๋ฉด ์—๋Ÿฌ ๋‚จ)

++) labelImg/data/predefined_classes.txt ํŒŒ์ผ ์ˆ˜์ •ํ•ด์ฃผ๋ฉด ๋จ

 

 

8. yolov5/models/yolo5s.yaml ์—ด์–ด์„œ -> nc ๋ถ€๋ถ„ ์ˆ˜์ •

์‚ฌ์ด์ฆˆ๋Š” s, m, l, x๊ฐ€ ์žˆ๋Š”๋ฐ ๊ฐ์ž ์„ ํƒํ•ด์ฃผ๋ฉด ๋จ. ๋‚˜๋Š” s ์„ ํƒ

์ž‘์„์ˆ˜๋ก ๊ฐ€๋ณ๊ณ  ํด์ˆ˜๋ก ๋ฌด๊ฒ๋‹ค. ์ด์— ๋”ฐ๋ผ ์„ฑ๋Šฅ๋„ ๋‹ฌ๋ผ์ง.

 

 

9. ํ•™์Šต์‹œํ‚ค๊ธฐ -> ์ž์‹ ์ด ๋งŒ๋“  ํŒŒ์ผ ๊ฒฝ๋กœ์— ๋”ฐ๋ผ ๋ช…๋ น์–ด ์ž‘์„ฑํ•ด์ฃผ๊ธฐ

python train.py --data ./coca/data.yaml --cfg ./models/yolov5s.yaml --weights yolov5s.pt --batch 8 --epochs 200 --name coca

 

 

10. ๊ธฐ๋‹ค๋ฆฌ๋Š”์ค‘.. ๊ต‰์žฅํžˆ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š”๋ฐ... ๋˜๋Š”๊ฑธ๊นŒ? ์ž˜ ์•ˆ ๋˜๋ฉด ๋‹ค์‹œ ์ˆ˜์ •ํ•˜๊ฒ ๋‹ค...

++) cpu๋Š” ๊ต‰์žฅํžˆ ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค. gpu๋กœ ๋Œ๋ ค์•ผ ํ•˜๋Š”๋ฐ ๋‚ด ๋…ธํŠธ๋ถ์œผ๋ก  ๋ถˆ๊ฐ€๋Šฅ

colab ์‹œ๋„ ํ›„ ๋‹ค์‹œ ์ถ”๊ฐ€ ์˜ˆ์ •

https://sssbin.tistory.com/168?category=1008914 

 

* ์ฐธ๊ณ ๋กœ ์ค‘๊ฐ„์— ์—๋Ÿฌ ๋‚ฌ์Œ.

# ์—๋Ÿฌ
Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.

# ํ•ด๊ฒฐ - train.py ์—ด์–ด์„œ ์ฝ”๋“œ ์ถ”๊ฐ€
import os
os.environ['KMP_DUPLICATE_LIB_OK']='True'