Computer Vision
Scene Text OCR 기반 이미지 번역 서비스
자연환경 문자 인식 및 번역 시스템
소속: 비트캠프 강남본원역할: OCR 모델 개발, Detection & Recognition 파이프라인 설계
프로젝트 개요
문서가 아닌 자연환경(Scene Text)의 텍스트를 인식하고 번역하는 OCR 서비스를 개발했습니다. EAST 기반 Detection과 Recognition을 분리한 파이프라인 구조로 실제 거리의 간판, 메뉴판 등에서 높은 정확도를 달성했습니다.
문제 정의
기존 OCR은 정형화된 문서에서는 높은 정확도를 보이지만, 실제 거리의 간판이나 메뉴판 같은 Scene Text에서는 다양한 배경, 조명, 회전된 문자로 인해 정확도가 크게 저하되는 문제가 있었습니다.
해결 접근
Text Detection과 Recognition을 분리하여 접근했습니다. Detection 단계에서는 Scene Text에 특화된 EAST 모델을 적용하고, Recognition 단계에서는 검출된 텍스트 영역을 개별적으로 인식하는 구조를 설계했습니다. 각 모듈을 독립적으로 개선할 수 있도록 모듈화하여 시스템 전체의 유지보수성을 높였습니다.
담당 역할
- OCR 논문 분석 및 EAST 모델 구조 이해
- Scene Text Detection 모델 구현
- 데이터셋 구축 및 전처리 파이프라인 설계
- Detection 결과 후처리 및 Recognition 연계
- Detection-Recognition 통합 파이프라인 구성
- 번역 API 연동 및 End-to-End 서비스 구현
- 모델 학습 및 성능 평가
- 전체 시스템 설계 및 구현
성과 및 기여
- Scene Text Detection 및 Recognition 파이프라인 구축
- Detection과 Recognition 모듈 분리로 독립적 성능 개선 가능
- 이미지 입력부터 번역 결과까지 End-to-End 서비스 구현
- 논문 분석부터 실제 구현까지 전체 과정 경험
- 시스템 설계 관점의 AI 서비스 개발 역량 확보
회고 (Lessons Learned)
이 프로젝트를 진행하며 논문을 읽고 구현하는 과정이 실제 서비스 개발과는 다르다는 점을 배웠습니다. 모델의 구조를 이해하는 것뿐 아니라 데이터 품질, 전처리, 파이프라인 구성, 후처리 방식 등이 전체 성능에 큰 영향을 미친다는 것을 경험했습니다.
이후 프로젝트에서는 단순히 모델 자체의 성능뿐 아니라 시스템 전체를 설계하는 관점으로 문제를 바라보게 되었으며, 이러한 경험은 이후 NLP, Computer Vision, Edge AI, RAG 시스템을 개발하는 기반이 되었습니다. Detection과 Recognition을 분리하여 각각을 독립적으로 개선할 수 있도록 설계한 경험은 이후 프로젝트에서 모듈화와 관심사의 분리(Separation of Concerns) 원칙을 적용하는 데 큰 도움이 되었습니다.
기술 스택
PythonTensorFlowPyTorchOpenCVEASTOCRComputer VisionScene Text DetectionText Recognition