1. 데이터 학습하기

 - Colab환경에서 darknet을 실행시켜 YOLO를 위한 환경을 설정해준다.

 - 이 때, 기존 darknet 파일은 모두 윈도우용 파일이므로, dos2unix를 통해 유닉스용으로 변환한다.

 - 처음 학습시, 비교대상 weights 파일은 미리 설치된 darknet53.conv.74를 사용한다.

 

 - 최종적으로 2200번의 학습을 끝낸 weights 파일을 얻어냈다.


 

2. 차량번호판 추출하기

 

  Opencv 라이브러리를 사용, 파이썬으로 구현했다.

 

- cv2의 dnn 모듈을 사용하여 학습해둔 파일을 불러와 테스트를 진행했다.

- 가중치 파일인 weight 파일, 구성파일인 cfg 파일, 객체의 이름이 담긴 Name파일을 각각 불러온다.

- 이미지를 불러오고 너비와 높이도 따로 저장한다.

- 가져온 이미지는 바로 사용이 불가하므로 blob의 형태로 변환한다.

 

 - 객체 탐지후 탐지결과 신뢰도 50%이상인 객체(번호판)만을 따로 저장한다.

 - 객체(번호판)의 주변으로 직사각형을 그리고, 객체이름 또한 삽입한다.

실행결과, 차량의 이미지에서 번호판을 따로 인식하여 Box처리가 되었음을 알 수 있다.

 

 

 

참고 : YOLO object detection using Opencv with Python - Pysource

+ Recent posts