- 단순한 문자 인식 수준을 넘어 문서 전체를 Markdown 구조로 변환하는 고성능 이미지-to-Markdown OCR 모델
- 수학식은 LaTeX 형태로 변환하고, 이미지에는 자동 설명을 추가하며, 표는 HTML/Markdown 표로 출력해 LLM 활용에 최적화된 출력물을 생성
-
서명, 워터마크, 체크박스 등을 인식하여 <signature>, <watermark>, ☐/☑ 형태로 변환하는 등 문서 구성 요소별 처리 능력이 뛰어남
- Hugging Face의 Transformers 또는 vLLM 서버를 통해 손쉽게 활용 가능하며, docext 라이브러리를 통해 웹 앱 형태로도 사용 가능
- 다양한 문서 유형과 복잡한 레이아웃에 대해 정확도와 구조화 수준이 매우 높아, 계약서, 양식, 리포트 등에서 매우 유용함
프로젝트 개요 및 중요성
- Nanonets-OCR-s는 일반적인 OCR(광학 문자 인식) 기능을 넘어, 문서의 의미와 구조를 분석하여 결과를 마크다운 형식으로 출력하는 혁신적인 모델임
- 수식, 이미지, 표, 체크박스, 서명, 워터마크를 각각 구분하고, 의미 있는 태깅 및 표현 방식(LaTeX, HTML, 마크다운 등)으로 변환해 downstream 작업이나 LLM(거대언어모델) 기반 문서 처리에 적합한 형태로 제공함
- 기존 오픈소스 OCR 프로젝트와 비교해 복잡한 문서 구조와 다양한 시맨틱 요소 추출에 더 높은 성능과 자동화된 워크플로우 적용 가능성을 보임
-
Qwen2.5-VL-3B-Instruct 모델을 파인튜닝한 버전으로, 다양한 문서 구성 요소를 식별하고 의미 있는 마크업으로 태깅함
핵심 특징
-
LaTeX 수식 인식
- 문서에 포함된 수식과 수학 공식을 inline($...$) 또는 display($$...$$) 유형에 따라 자동으로 LaTeX 문법으로 변환·출력함
-
지능형 이미지 설명
- 각 이미지에 대해, <img> 태그 내에 이미지의 성격, 스타일, 내용 등을 상세히 기술함
- 로고, 차트, 그래프 등 다양한 이미지도 문맥, 의미와 함께 설명하여 LLM 활용에 적합한 입력으로 변환함
-
서명 탐지 및 분리
- 서명 이미지를 텍스트와 구분해 별도 <signature> 태그에 담아 처리함
-
법률 및 비즈니스 문서 자동 처리에 활용 가치가 높음
-
워터마크 추출
- 문서에 삽입된 워터마크 텍스트를 감지해 <watermark> 태그 내에 따로 정리함
-
체크박스 및 라디오 버튼 변환
-
- ☐ (미체크), ☑ (체크됨), ☒ (거부) 형태의 표준 유니코드 기호로 출력
- 설문지, 신청서 등 양식류 문서 처리 신뢰도 향상
-
복잡한 표 구조 추출
- 복잡한 테이블도 마크다운 및 HTML 테이블 형태로 변환하여 높은 활용성 제공함
주요 활용 방식
Python 코드 예제
- Hugging Face의 transformers 라이브러리를 활용해 손쉽게 모델을 불러와 실행 가능함
- 이미지를 입력으로 넣으면, 텍스트, 표, 수식, 이미지 설명, 워터마크 등 구조화된 마크다운 형태로 결과 제공함
- 페이지 번호나 워터마크는 , 등으로 구분해 래핑함
- 체크박스는 유니코드 심볼(☐, ☑)로 출력함
vLLM 기반 활용
- vLLM 서버에 모델을 등록하고 OpenAI 호환 API로 손쉽게 접속·활용 가능함
- 이미지 입력 시, 텍스트, 표, 수식, 워터마크 등 일관된 형식으로 변환 결과 출력함
docext 패키지 활용
-
docext라는 별도 패키지를 통해, 별도의 명령어 실행만으로 Nanonets-OCR-s를 도큐먼트 구조화에 바로 적용할 수 있음
-
GitHub 문서 참고 가능