본문 바로가기
프로젝트+스터디

AI기반 OCR프로젝트 2 - 모델 선정 및 학습

by 코낄2 2024. 3. 12.

https://junyealim.tistory.com/126

 

AI기반 OCR 프로젝트_주제선정

웹개발 프로젝트와 자연어 처리 프로젝트가 끝나고, 이어서 진행이 된 OCR 프로젝트. 총 5명의 구성으로 팀을 짜서 진행을 하게 되었다. 프로젝트는 AI 기반이지만 당시 수업 진도는 CV(computer vision

junyealim.tistory.com

✅ 주제 선정
: 과적 차량을 자동으로 감지하고 기록하는 시스템

✅ 활용 데이터
: 과적차량 도로위험 데이터 ▶️ 과적 차량 탐지 가능
자동차 차종/연식/번호판 인식용 영상 ▶️ 번호판 위치 탐지 가능

✅ OCR모델 테스트
: 번호판 위치에서 perspective로 확대 후 번호 읽어올 수 있음을 확인
  ▶️ Paddle 모델 선정

 

1. 모델 선정(YOLO)

과적차량을 자동으로 감지하는 모델을 선정하기 위해, 조원들과 YOLO(You Only Look Once)라는 실시간 객체 감지 알고리즘을 공부했다. 아직까지도 수업 진도는 cv에서 classification 부분을 배우고있었기 때문에 다양한 논문을 참고하여 공부하고, 조원들끼리 나눠서 테스트도 진행해보았다.

 

[참고 논문]

https://arxiv.org/pdf/1506.02640.pdf

https://arxiv.org/abs/1612.08242

 

YOLO9000: Better, Faster, Stronger

We introduce YOLO9000, a state-of-the-art, real-time object detection system that can detect over 9000 object categories. First we propose various improvements to the YOLO detection method, both novel and drawn from prior work. The improved model, YOLOv2,

arxiv.org

https://arxiv.org/abs/1506.01497

 

Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

State-of-the-art object detection networks depend on region proposal algorithms to hypothesize object locations. Advances like SPPnet and Fast R-CNN have reduced the running time of these detection networks, exposing region proposal computation as a bottle

arxiv.org

yolo8에 대한 논문은 아직 나온것이 없어 yolo5와 yolo8의 비교는 직접 테스트 해보았다.

PR-curve/ 좌 Yolo5s/ 우 Yolo8n
f1-curve/ 좌 Yolo5 / 우 Yolo8

 

직접 진행해본 테스트에서 Yolo8의 성능이 특출나게 좋지는 않았다.

물론 모델의 크기 차이때문에 결과의 정확한 비교는 불가하지만,

Yolo8의 장점 중 하나인 segmentation이 우리 팀과제에서 꼭 필요한 기술이 아니었고, 강사님께서 실제 일을 하고계신 기업에서는 가장 stable한 Yolo5모델을 쓴다고 하셔서

YOLOv5 모델에서 다양한 버전을 나눠서 테스트 해보고 어떤 버전을 사용할지 정하기로 했다.

(하지만 기회가 된다면, YOLOv8의 조금 더 큰 버전 모델을 테스트 해보고싶다!)

 

결론적으로 현실적으로 제한된 컴퓨터 리소스문제로 YOLOv5s를 사용하기로 했다. 


 

우리가 구상한 시스템 구조는 우선 과적차량을 탐지하고, 그 후에 해당 프레임을 번호판 위치 인식 모델에 보내 번호판 위치를 찾아내면, 해당 위치에서 차량 번호를 읽어오게끔 진행하기로 했다. 아무래도 시간안에 과적차량 데이터에 번호판 위치를 일일히 라벨링을 할 수 없어 모델을 따로 만들어 진행을 하기로 한 것인데, 한번에 두가지를 동시에 탐지하지 못하는 것이 아쉬웠다.

 


또한 시간과 컴퓨터 한계가 존재했기 때문에, 대량의 데이터를 모두 학습할 수 없어 데이터의 선정이 필요했다. 프로젝트 목적에 기준점을 맞춰 대형, 중형 과적 트럭의 데이터 비중을 늘리고 번호판 데이터에서는 화물,트럭 차종만을 선정하여 총 16,000개의 데이터를 학습시켰다. 다만, 과적 데이터에서의 트럭 차종과 번호판 데이터에서의 화물,트럭 차종이 잘 맞지 않아 두 모델의 일관성에대한 아쉬움이 있었다.


구상한 프론트 UI 구성