프로젝트/자동차번호판 인식
데이터 학습 후 차량에서 번호판 부분 추출하기
파크재
2021. 7. 13. 11:30
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