
<aside>
📎 첨부파일
**Github → Report → Blog →**
</aside>
☑️ 프로젝트 소개
- 프로젝트명 : 다국어 영수증 OCR
- 진행 기간 : 2024.10 (1개월)
- 참여도 : 60% (총 인원수: 5명)
- 주요 업무 : 데이터 라벨링, 성능 실험, 앙상블 진행
- 활용 기술 or 핵심 역량 : CVAT
<aside>
💡 이번 프로젝트는 다국어 영수증에서 글자를 검출하기 위해 OCR(Optical Character Recognition) 기술을 활용하는 것이 목표다. 특히 데이터 중심(Data-Centric) 접근법을 통해 학습 데이터를 추가하고 수정하며 모델의 성능을 향상시키는 데 초점을 맞췄다. CV-05조는 다양한 실험과 데이터 라벨링을 통해 최적의 모델을 구축하고 최종적으로 높은 성능을 달성하는 것을 목표로 했다.
</aside>
☑️ 프로젝트 진행과정 및 나의 역할
1. 초기 설정 및 EDA (Exploratory Data Analysis)
<aside>
프로젝트 초기에는 데이터셋을 분석하고 이를 바탕으로 모델을 설계하기 위한 기초 작업을 진행했다.
데이터셋은 중국어, 일본어, 태국어, 베트남어 영수증으로 구성되어 있었으며 각 언어별로 100개의 이미지가 제공되었다.
- 데이터셋 특성 분석: 영수증 이미지의 특성을 분석한 결과 세로로 긴 이미지가 많았으며 특히 태국어와 베트남어의 경우 가로로 긴 이미지도 존재했다. 또한, Bounding Box(BBox)의 개수는 태국어와 베트남어가 중국어와 일본어보다 평균적으로 더 많았다.
- 학습에 방해되는 요소: 휘어진 영수증, 복잡한 배경, 촬영자의 그림자 등이 학습에 방해가 될 수 있는 요소로 확인되었다.

</aside>
2. 모델 실험 및 가설 설정
<aside>
1차 가설: 구분선 및 잘린 텍스트 삭제, 새로운 데이터셋 추가
구분선과 잘린 텍스트가 모델의 성능에 부정적인 영향을 미치는 것을 확인하고 이를 제거하는 작업을 진행
이 과정에서 정제기준을 엄격하게 잡았다.
점선을 제외한 특수문자 패턴(++++,====)의 경우는 BBOX를 유지.
- 구분선 및 잘린 텍스트 삭제: Baseline 추론 시 구분선과 잘린 텍스트가 잘 인식되지 않아 이를 삭제
구분선 BBox를 제거하고 원본 글씨에서 25% 이상 잘린 글씨의 BBox도 제거.
- 새로운 데이터셋 추가: 각 언어별로 50개의 새로운 데이터(구글링 노가다, 데이터셋 사이트... 등등)를 추가하여 데이터셋을 확장.
F1 score 기준 0.7377 → 0.8669 향상
</aside>