DeepFlowest

[Object Detection] YOLO v4 custom 데이터로 학습 후 webcam으로 확인하기 본문

Computer Vision/실습, 세미 프로젝트

[Object Detection] YOLO v4 custom 데이터로 학습 후 webcam으로 확인하기

Orange57 2020. 10. 23. 11:25
728x90
반응형
SMALL

리눅스 우분투 18.04 환경


1. YOLO_MARK로 이미지 라벨링하고 데이터 학습

참고 : pgmrlsh.tistory.com/6

 

[6] YOLO 데이터(이미지) 학습

지금까지 많은 Deep Learning Detection Algorithm중에서 왜 YOLO를 사용해야 하는지, 또 YOLO를 사용하기 위해선 어떠한 환경설정을 해야하는지, 그리고 YOLO의 예제사용 및 YOLO의 분석까지 포스팅 했습니다

pgmrlsh.tistory.com

./linux_mark.sh 대신에 chmod a+x ./linux_mark.sh

(실행 권한 주기 위해서 www.clien.net/service/board/cm_mac/1989900)

 

마스크 데이터 다운 받아서 맞는 경로에 위치시켜 주고, 

yolo_mark/x64/Release/data  -경로에서

$ vi obj.data

yolo_mark/x64/Release/data  -경로에서

$ vi obj.names

YOLO mark로 눈과 마스크 라벨링 작업

$ ./linux_mark.sh

2. 데이터 학습하기 ( 학습된 가중치파일 만들기 ) 

yolo_mark/x64/Release 경로에서

$ vi yolo-obj.cfg

classes = 2

filters = 5 * (classes+5) = 5 * (2+5) = 35 

학습

$ cd darknet
$ ./darknet detector train data/obj.data yolo-obj.cfg darknet19_448.conv.23

 


윈도우 10 환경


3. 소스 clone

$ git clone https://github.com/hunglc007/tensorflow-yolov4-tflite

앞 포스팅에서 demo돌린 폴더와 헷갈리지 않도록 새로 받은 폴더명을 tensorflow-yolov4-tflite-custom로 변경해주었다.

 

학습된 가중치 weights파일을 tensorflow-yolov4-tflite-custom\data에 복사해 넣기

yolov4로 이름 변경

$ cd tensorflow-yolov4-tflite-custom

1) Convert to TensorRT

# yolov4
$ python save_model.py --weights ./data/yolov4.weights --output ./checkpoints/yolov4.tf --input_size 416 --model yolov4

$ python convert_trt.py --weights ./checkpoints/yolov4.tf --quantize_mode float16 --output ./checkpoints/yolov4-trt-fp16-416

에러 발생

2) Convert to TensorFlow

$ python save_model.py --weights ./data/yolov4.weights --output ./checkpoints/yolov4-416 --input_size 416 --model yolov4

실시간 Webcam 실행

$ python detectvideo_webcam.py weights ./checkpoints/yolov4-416 size 416 model yolov4

 

728x90
반응형
LIST
Comments