<데이터 학습>
Yolov3알고리즘을 사용하여 학습을 시켰다.
Object detection으로 유명한 Yolo알고리즘은 deep learning 을 공부하는 사람이라면 들어봤을 것이다.
학습을 시키기 위해서는
1. Yolo 학습을 시키기 위한 coco.data, coco.names 파일을 만든다.
coco.data - 학습시킬 클래스의 개수 , 학습시킬 이미지의 경로, 클래스의 이름을 지정할 파일 경로,
학습 후 weight 파일이 지정될 경로를 지정한다.
coco. names - 각 클래스의 이름이 저장되어 있는 파일
2. Yolov3.cfg 파일을 custom 하여 파라미터 값들을 변경해준다.
learning_rate 는 0.001로 하는 것이 목적이여서
Gpu를 4개 사용할때는 /4인 0.00025로 설정해줘야 학습률이 0.001로
학습시킬 수 있다.
3. 데이터 이미지 라벨링
학습을 시키기 이전에 이미지를 라벨링하여 어느 객체를 학습시킬 것인지를 분명히 해야한다.
라벨링을 위해 YOLO_mark를 사용하여 이미지를 하나하나 라벨링 시켜 이미지당 하나의 좌표
로 이루어진 txt파일을 만든다.
이렇게 세가지의 과정을 거치면 YOLO학습을 시킬 수 있다.
데이터 학습은 detector.c 파일을 통해 train 함수를 불러와서 coco.data에서 지정해준 경로들을 통해
이미지 파일의 위치를 파악하고 yolo_nov7.cfg파일을 통해 Yolo layer들과 parameter값들을 가져와서
학습 시키게 된다.
이 그림은 학습되고 있는 과정이다.
<학습 환경>
- Ubuntu(16.04)
- GeForce GTX 1080 Ti - Nvidia x4
<참고>
- https://pjreddie.com/darknet/yolo/
- https://github.com/AlexeyAB/Yolo_mark
'Violent Protest Detection System ' 카테고리의 다른 글
[YOLO](5) 학습 결과 (3) | 2018.12.11 |
---|---|
(4) AWS 연동하기 (0) | 2018.12.11 |
(2) 데이터 수집 (data crawling) (0) | 2018.12.10 |
[YOLO](1) Deep learning based violent protest detection system (0) | 2018.12.10 |