2022.05.23.-2022.06.02.
โ
โ
๋ณธ ํ๋ก์ ํธ๋ YOLO v4๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์์ง ๋ฐ์ดํฐ๋ฅผ ํ์ตํ์ฌ ๊ฐ์์ง๋ฅผ ๊ฒ์ถํ๋ ํ๋ก์ ํธ์ด๋ค.
โ
๋ณธ ํ๋ก์ ํธ๋ yolo-mark๋ฅผ ์ฌ์ฉํ์ฌ ์ง์ ๋ผ๋ฒจ๋ง ๊ณผ์ ์ ๊ฑฐ์ณ ํ์ต ๋ฐ์ดํฐ 4000์ฅ,
ํ ์คํธ ๋ฐ์ดํฐ 1000์ฅ์ผ๋ก ๋ฐ์ดํฐ์ ์ ๊ตฌ์ถํ์๊ณ 15000๋ฒ์ ํ์ต์ ์งํํ์๋ค.
โ
OS : Windows 10
CPU : Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz 3.40 GHz
RAM : 16GB
GPU : RTX 2060
CUDA : 10.1
cuDnn : 7.6.4
opencv : 3.4.8
Visual Studio 2017
๋ผ๋ฒจ๋ง ๋๊ตฌ : Yolo-mark
ํ์ต ๋ชจ๋ธ : Yolo v4
โ
CUDA์ cuDNN์ ํ์ต์ CPU๊ฐ ์๋ GPU๋ฅผ ์ฌ์ฉํ์ฌ ์คํํ๊ธฐ ์ํ ํ๋ก๊ทธ๋จ์ด๋ค.
โ
Darknet Yolov4 ํ๋ก์ ํธ๋ ๋ค์ ์ฃผ์์์ ๊ณต์ ๋๋ ์คํ ์์ค๋ฅผ ๋ค์ด ๋ฐ๋๋ค.
โ
https://github.com/AlexeyAB/darknet
โ
์ด ํ, darrknet์์ ์์ ์ ๊ฐ๋ฐํ๊ฒฝ์ ๋ง๊ฒ ์์ ํ๋ค.
โ
์ฌ๊ธฐ์ ๋งํ๋ ๊ฐ๋ฐํ๊ฒฝ์ OpenCV์ CUDA, cuDNN์ ๋ํ ๊ฒฝ๋ก๋ฅผ ์ค์ ํด์ฃผ๋ ๊ณผ์ ์ ๋งํ๋ค.
โ
์ฌ๋ฌ ๊ณผ์ ์ ๊ฑฐ์น๋ฉด YOLO๋ฅผ ์คํํ ์ ์๋ ์ธํ ์ ๋ง์น ์ ์๋ค.
โ

Yolo-mark๋ฅผ ์ด์ฉํ์ฌ ์ด๋ฏธ์ง์ ๊ฐ์ฒด๋ฅผ ์ธ์์์ผ ํ์ต ๋ฐ์ดํฐ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
โ

img ํด๋์๋ ์ฐ๋ฆฌ๊ฐ ํ์ต์ํฌ ์ด๋ฏธ์ง 4์ฒ์ฅ์ด ๋ค์ด์๋ ํ์ผ์ด๋ค.
โ
๋ค ํ์ต๊ณผ ํธ๋ ์ด๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ํ๋ dataํ์ผ์ ๋ํด ์ค๋ช ํ๋ค.
โ
obj.names๋ classes์ ์ข ๋ฅ๊ฐ ๋ด๊ธด ๋ค์ํ์ผ์ด๋ค.
โ
์ฐ๋ฆฌ๊ฐ ๊ฒ์ถํ classes์ ์ด๋ฆ์ dog๋ก ์ค์ ํ๋ค.


classes : ๋นํ๊ธฐ, ์๋์ฐจ, ๊ฐ์์ง, ๊ณ ์์ด ๋ฑ์ ๊ฐ์งํ ๋ฐ์ดํฐ ์ข ๋ฅ์ ์์ด๋ค. ์ฐ๋ฆฌ๋ ๊ฐ์์ง๋ฅผ ๊ฒ์ถํ๊ธฐ ์ํด classes์ ๊ฐ์ 1๋ก ์์ฑํ์๋ค.
โ
train : ํ์ตํ ์ด๋ฏธ์ง์ ๊ฒฝ๋ก๊ฐ ๋ด๊ธด ๋ฆฌ์คํธ ํ์ผ์ด๋ค.
โ
names : ํด๋์ค ์ด๋ฆ์ด ๋ค์ด์๋ ๋ฆฌ์คํธ ํ์ผ์ด๋ค.
โ
backup : ํ์ต๋ ๊ฐ์ค์น ํ์ผ์ธ weights ํ์ผ์ด ์ ์ฅ๋๋ ํด๋์ด๋ค.
โ
โ
โ

โ

yolo-mark.cmd๋ฅผ ์คํํ์ฌ ๊ฐ์์ง ๊ฐ์ฒด๋ฅผ ์ง์ ๋ผ๋ฒจ๋งํ๋ฉด ๋๋ค.
โ
โ

์ด๋ ๊ฒ ๋ผ๋ฒจ๋งํ๋ฉด ๋ผ๋ฒจ๋ง ์ขํ๊ฐ txt ํ์ผ์ ์์ฑ์ด ๋์ด ์ ์ฅ๋๋ค.
โ
dog1.txt ์ ๋ค์ด์๋ ๋ด์ฉ์ด ๊ฐ์์ง ๊ฐ์ฒด๋ฅผ ๋ผ๋ฒจ๋งํ ์ขํ๊ฐ์ ๋ํ ๋ด์ฉ์ด๋ค.
โ
//์ฒซ ํ์ต
darknet.exe detector train data\obj.data testcfg\yolov4-custom.cfg data\yolov4.conv.137 -gpu 0
//์ด์ด์ ํ์ต
darknet.exe detector train data\obj.data testcfg\yolov4-custom.cfg backup\yolov4-custom_2000.weights -gpu 0
//ํ
์คํธ
darknet.exe detector test data\obj.data testcfg\yolov4-custom.cfg backup\yolov4-custom_final.weights -i 0 data\testimg\dog.4001.jpg
//์ฑ๋ฅํ์ธ
darknet.exe detector map data\obj.data testcfg\yolov4-custom.cfg backup\yolov4-custom_final.weights
๋ค์ ๋ช ๋ น์ด๋ค์ YOLO๋ฅผ ํ์ต์ํค๊ธฐ ์ํ ๋ด์ฉ์ด๋ค.
โ
ํ์ต์ ํ์ํ ํ์ผ์ obj.data, yolov4-custom.cfg, ๋คํฌ๋ท์ธ yolov4.conv.137 ๊ฐ ํ์ํ๋ค.
โ
์ฐ๋ฆฌ๋ ์ด 4์ฒ์ฅ์ ๋ฐ์ดํฐ๋ฅผ 15000๋ฒ ํ์ต์ ์งํ์์ผฐ๊ณ ,
๊ฐ์ค์น ํ์ผ์ธ .weightsํ์ผ์ 1000์ฅ ๋จ์๋ก ์ ์ฅ๋๊ฒ ํ๋ค.

ํ์ต์ ์์ค์จ์ ๋ํ๋ด๋ ๊ทธ๋ํ์ด๋ค.
โ
ํ์ต์ ์งํํ ์๋ก ์์ค์จ์ด ์์ ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
โ
cmax_batches ๋ ํ์ตํ์๋ฅผ ์๋ฏธํ๋ฏ๋ก 15000์ด๋ผ ์จ์ ธ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
โ

์์ ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด ์ฐ๋ฆฌ๊ฐ ํ์ต์ํจ ๋ชจ๋ธ์ด ๋ฐ์ดํฐ์ ์ ์ฑ๋ฅ์ ํ์ ํ ์ ์๋ค.
โ
์ฐ๋ฆฌ๋ ํ์ต ๋ฐ์ดํฐ์ ๊ณผ ํ ์คํธ ๋ฐ์ดํฐ์ ์ ์ฑ๋ฅ์ ๋น๊ตํด ๋ณด์๋ค.
โ
โ



https://ultrakid.tistory.com/25
//CUDA ๋ฒ์ ๋ฐ cuDNN ๋ฒ์ ํ์ธ
https://jjjhong.tistory.com/24
//darknet ๋น๋๋ฅผ ์ํ visual studio ํ๊ฒฝ๋ณ์ ์ธํ
https://github.com/AlexeyAB/darknet
//๋คํฌ๋ท ๋ค์ด ๋ฐ yolov4 ๊ธฐ๋ณธ ํ ์คํธ ์ฉ yolov4.weights ๋ค์ด, ์ธ๊ณต์ง๋ฅ ํ์ต์ ์ํด ์ฌ์ ํ๋ จ๋ ๊ฐ์ค์น ํ์ผ yolov4.conv.137 ๋ค์ด
https://jjeamin.github.io/darknet_book/part1_paper/yolov4.html
//Yolov4 ๋ ผ๋ฌธ ๋ฆฌ๋ทฐ
โ
'ํ๋ก์ ํธ > AI' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [AI] EfficientNet์ ์ด์ฉํ ์ปดํจํฐ ๋ถ๋ฅ (0) | 2023.01.02 |
|---|---|
| [AI] Yolo v3๋ฅผ ์ด์ฉํ ์ด์ํ๋ ๊ฐ์ง ์ธ๊ณต์ง๋ฅ (0) | 2023.01.02 |