※ 본 포스팅은 darkflow 유투브(https://www.youtube.com/watch?v=fSM6cdFQdwI)를 기반으로 작성되었습니다.
※ Windows 10 x64 환경을 사용하고 있습니다.
0. 환경설정 및 darkflow 설치 :
2019/04/19 - [Laboratory/인공지능] - YOLO / Python을 이용한 object detection (1) - 설치 및 테스트 (darkflow)
1. Jupyter notebook 환경에서 YOLO 실행을 위한 모듈 설치
1-1. 가상환경 및 기본 모듈 설치
- 기본 설치는 링크의 1-1, 1-2을 참고하여 설치한다. [링크 클릭]
1-2. 추가 모듈 설치
- jupyter notebook과 matplot을 설치한다.
pip install jupyter matplotlib |
2. Jupyter notebook로 이미지에 라벨링 하기
2-1. jupyter notebook 실행
- cmd 창에서 jupyter notebook을 입력하면 실행된다.
- 실행 위치 경로가 최상위 경로이므로 darkflow 폴더 내에서 실행하였다.
2-2. 코드 작성할 파일 생성
- 최상위 경로(root)에서 [New]-[Python 3] 를 클릭하여 새 파일을 생성한다.
- jupyter notebook 파일 확장자는 *.ipynb 로 되어있다.
2-3. 코드 작성 및 실행
- 작성 코드는 해당 유투브와 동일하며, GPU를 CPU로 변경하여 진행하였다.
- 테스트용 이미지는 미리 받아 폴더에 저장해둔다.
- cuDNN, CUDA 버전문제로 오류가 나는 것 같아 CPU로 진행하였다.
- 이전 포스팅에서 다운받은 가중치 파일(yolov2.weight)의 이름을 yolo로 통일시켜 실행하였다.
2-4. 다중 객체 인식을 위한 소스코드 변경
- 유투브의 코드는 하나의 객체만을 인식하여 여러 개의 객체 인식을 하기 위해 소스코드를 변경해보았다.
- 동영상 객체 검출 소스코드를 참고하여 수정했다.
- 각 개체 별로 바운딩 박스의 컬러를 다르게 하기 위해 In [4]에 코드를 추가했다.
- for문으로 각 객체에 바운딩 박스와 labeling 작업을 한다.
* 소스코드를 첨부합니다. 틀린 점에 대한 조언은 언제나 환영합니다.