광학 문자 인식
더 많은 작업
- Optical Character Recognition, OCR; 광학 문자 인식
- 종이 문서나 사진 속 글자를 이미지로 읽어 컴퓨터가 다룰 수 있는 텍스트 데이터로 바꾸는 기술
광학 문자 인식(Optical Character Recognition, OCR)은 스캐너나 카메라로 얻은 이미지에서 글자를 찾아 문자 코드(텍스트)로 바꾸는 기술이다. 컴퓨터가 문자 코드를 글꼴로 그려 사람에게 보여 주는 것과 반대 방향의 일이다. 스캔한 문서를 검색 가능한 PDF로 만들거나, 영수증·명함·신분증에서 정보를 뽑거나, 카메라로 비춘 간판을 번역하는 데 쓰인다.
인쇄된 글자를 읽는 좁은 의미의 OCR 외에, 손글씨를 읽는 필기 인식(Intelligent Character Recognition, ICR, 또는 Handwritten Text Recognition), 거리 간판·상품 포장처럼 자연 이미지 속 글자를 읽는 장면 텍스트 인식(Scene Text Recognition)도 넓게 OCR에 포함한다. 시험 답안지처럼 정해진 칸의 표시 여부만 읽는 광학 표시 판독(Optical Mark Recognition, OMR)과는 구분한다. 문자 이미지를 분류하는 문제라 패턴 인식의 대표 응용이며, 오늘날은 컴퓨터 비전과 자연어 처리가 만나는 분야로 다뤄진다.
| 단계 | 하는 일 | 기법 |
|---|---|---|
| 이미지 획득 | 스캐너나 카메라로 문서 이미지를 얻음 | 인쇄 문서는 보통 300dpi 이상 해상도를 권장 |
| 전처리 | 인식에 방해되는 요소를 줄임 | 이진화(흑백 변환), 잡음 제거, 기울기 보정, 원근 왜곡 보정, 대비 조정 |
| 레이아웃 분석 | 본문, 제목, 표, 그림, 머리말 영역을 나누고 읽는 순서를 정함 | 연결 요소 분석, 투영 히스토그램, 신경망 기반 영역 분할 |
| 텍스트 검출 | 글자가 있는 줄이나 단어의 위치를 찾음 | 경계 상자 회귀, 분할 기반 검출, 객체 탐지 기법 |
| 문자 인식 | 잘라 낸 글자나 줄 이미지를 문자열로 바꿈 | 템플릿 정합, 특징 기반 분류, CRNN+CTC, 트랜스포머 디코더 |
| 후처리 | 사전과 언어 모델로 오인식을 교정 | 사전 대조, n-gram·신경망 언어 모델, 형식 검증(날짜, 계좌번호) |
| 출력 | 결과를 원하는 형식으로 저장 | 일반 텍스트, 이미지 위에 투명 텍스트를 얹은 검색 가능 PDF, 좌표가 붙은 hOCR·JSON |
초기 OCR은 글자 이미지를 미리 저장한 글꼴별 견본과 화소 단위로 겹쳐 보는 템플릿 정합(matrix matching)을 썼다. 정해진 글꼴에는 정확하지만 글꼴이 바뀌거나 이미지가 흐리면 성능이 떨어진다. 이를 보완하려고 획의 방향, 교차점, 끝점, 고리 같은 구조적 특징을 뽑아 분류하는 특징 기반 방식이 나왔고, 여러 글꼴을 읽는 범용(omni-font) OCR로 이어졌다.
기계가 읽기 쉽도록 글자 모양을 설계한 전용 글꼴도 만들어졌다. OCR-A와 OCR-B가 대표적이며, 수표 하단의 계좌 정보는 자성 잉크 문자 인식(MICR) 글꼴로 인쇄된다. 여권의 기계 판독 영역(MRZ)은 국제민간항공기구(ICAO) 규격 Doc 9303에 따라 OCR-B 글꼴로 인쇄한다[1].
손글씨 숫자 인식은 신경망 연구의 대표 문제였다. 얀 르쿤의 합성곱 신경망 LeNet은 우편번호·수표 숫자 인식에 쓰였고, 그 실험용 데이터셋 MNIST는 기계 학습의 입문 예제가 되었다.
2015년 CRNN은 합성곱 신경망으로 줄 이미지의 특징을 뽑고, 양방향 LSTM으로 순서 정보를 모델링한 뒤, CTC로 글자열을 출력하는 구조를 하나로 학습시켰다. 글자를 하나씩 잘라 내지 않고 줄 전체를 한 번에 읽는다는 점이 핵심이다[2]. CTC는 음성 인식에서 온 기법으로, 입력과 출력의 정렬을 몰라도 학습할 수 있게 해 준다. 이후 어텐션 디코더와 트랜스포머가 더해졌다. 2021년 마이크로소프트의 TrOCR은 이미지 인코더와 텍스트 디코더를 모두 사전학습된 트랜스포머로 구성해 별도 언어 모델 없이 하위 단어 단위로 글자를 생성했다[3].
텍스트 검출 쪽에서는 글자 하나하나의 영역과 이웃 글자 사이의 연결성을 예측해 휘거나 기울어진 글자도 찾아내는 CRAFT(2019) 같은 모델이 나왔다[4].
영수증이나 청구서에서 '합계 금액'을 뽑으려면 글자를 읽는 것만으로는 부족하고, 글자의 위치와 서식, 표 구조를 함께 이해해야 한다. 이를 문서 이해(Document Understanding, Document AI)라고 한다. OCR 결과 텍스트에 각 단어의 위치 정보를 더해 사전학습하는 LayoutLM 계열이 대표적이다.
2021년 네이버 클로바 연구진의 Donut은 외부 OCR 엔진 없이 문서 이미지를 바로 받아 원하는 구조화 결과를 생성하는 'OCR 없는' 문서 이해 트랜스포머를 제안했다[5]. 이 흐름은 이미지와 텍스트를 함께 다루는 비전-언어 모델로 이어져, 범용 멀티모달 모델이 문서 사진을 받아 내용을 읽고 요약·번역·질의응답까지 하는 단계에 이르렀다. 2025년 10월 딥시크 연구진은 긴 텍스트를 이미지로 렌더링해 적은 수의 시각 토큰으로 압축하는 DeepSeek-OCR을 공개하고, 압축률 10배 미만에서 OCR 정확도 97%를 보고했다[6].
| 세대 | 방식 | 예 |
|---|---|---|
| 1세대 | 템플릿 정합, 전용 글꼴 | OCR-A·OCR-B 판독기, 수표 MICR |
| 2세대 | 특징 추출 + 통계 분류기 | 범용 상용 OCR, 초기 Tesseract |
| 3세대 | 합성곱·순환 신경망 + CTC | CRNN, Tesseract 4 LSTM 엔진 |
| 4세대 | 트랜스포머, 문서 이해 모델 | TrOCR, LayoutLM, Donut |
| 5세대 | 범용 멀티모달 모델 | 비전-언어 모델로 읽기·이해·변환을 한 번에 |
- 글자 종류: 영어 OCR은 대소문자와 숫자·기호 100자 남짓을 구분하면 되지만, 한글은 자모를 모아 쓰는 음절 문자라 현대 한글로 조합 가능한 음절만 11,172자이고 자주 쓰는 글자를 추린 KS X 1001 완성형 한글만 해도 2,350자다. 분류해야 할 범주가 수십 배 많다.
- 비슷한 글자: '관'과 '판', '률'과 '를', '왜'와 '외'처럼 획 하나 차이인 글자가 많다. 학술 논문 OCR 결과에서 '~에 관하여'가 '~에 판하여'로 잘못 읽힌 사례가 흔히 눈에 띈다.
- 한자·영문 혼용: 오래된 문서는 한자와 한글을 섞어 쓰고, 세로쓰기나 옛 글자체를 쓰는 경우가 있다.
- 표와 서식: 행정 문서, 이력서, 신청서는 표와 칸이 많아 글자만 있는 책보다 레이아웃 분석이 어렵다.
- 손글씨: 흘려 쓴 한글은 자모 경계가 무너져 인식률이 크게 떨어진다.
신경망 OCR과 한국어 데이터가 늘면서 인식률이 크게 좋아졌지만, 중요한 문서는 원본 이미지를 보관하고 결과를 검수하는 것이 좋다.
| 이름 | 설명 |
|---|---|
| Tesseract | 휼렛 패커드(HP)가 1985~1994년 개발하고 2005년 오픈 소스로 공개한 OCR 엔진. 2006년부터 2017년 8월까지 구글이 개발을 이어 갔고, 4판에서 LSTM 기반 줄 인식 엔진이 추가되었다. 기본 상태에서 100개가 넘는 언어를 인식한다[7] |
| 상용 OCR 소프트웨어 | ABBYY FineReader, Adobe Acrobat 등. 스캔 문서를 검색 가능한 PDF나 편집 가능한 문서로 변환 |
| 클라우드 OCR API | 구글 클라우드 비전, 아마존 텍스트랙트, 마이크로소프트 애저 AI 문서 인텔리전스, 네이버 클라우드 CLOVA OCR 등. 영수증·신분증·명함 같은 정형 문서에서 항목을 뽑아 주는 특화 모델도 제공 |
| 운영체제·앱 기능 | 윈도우 캡처 도구의 텍스트 추출, 스마트폰 카메라의 글자 인식, 구글 렌즈, 파파고 이미지 번역 등 |
| 오픈 소스 딥 러닝 도구 | EasyOCR, PaddleOCR, docTR 등 |
- 문서 디지털화: 고문서, 도서, 신문, 행정 기록을 텍스트로 만들어 검색 가능하게 한다. 인식이 애매한 단어는 사람이 확인해 보완하는데, reCAPTCHA v1은 OCR이 읽지 못한 옛 책의 단어를 사용자 인증 과정에서 사람이 입력하게 해 디지털화에 활용했다[8]. 자세한 내용은 CAPTCHA 참고.
- 업무 자동화: 청구서, 영수증, 계약서, 보험 청구서에서 항목을 뽑아 시스템에 입력한다. 로봇 프로세스 자동화(RPA)와 결합해 지능형 문서 처리라고 부른다.
- 금융·행정: 신분증 진위 확인과 정보 입력, 여권 MRZ 판독, 수표 처리, 우편물 주소 자동 판독.
- 교통: 자동차 번호판 인식(LPR)으로 무인 단속, 주차 관리, 통행료 징수를 한다.
- 번역·접근성: 카메라로 비춘 외국어 간판이나 메뉴를 바로 번역하고(기계 번역 연동), 시각 장애인을 위해 인쇄물을 읽어 준다(음성 합성 연동).
- 데이터 수집: 대형 언어 모델 학습을 위해 PDF와 스캔본 문서를 텍스트로 바꾸는 데도 쓰인다.
| 연도 | 사건 |
|---|---|
| 1914 | 에드먼드 푸르니에 달브가 인쇄된 글자를 소리로 바꿔 시각 장애인이 듣고 읽게 하는 장치 '옵토폰(Optophone)'을 발표[9] |
| 1915 | 하이먼 엘리 골드버그가 문자를 읽어 전신 부호로 바꾸는 장치로 미국 특허를 받음[10] |
| 1931 | 에마누엘 골드버그가 마이크로필름 검색용 광학 부호 인식 장치 '통계 기계'로 미국 특허를 받음[11] |
| 1950~1960년대 | 상용 OCR 기계가 등장해 은행·우편·신용카드 업무에 쓰이고, OCR-A·OCR-B 같은 전용 글꼴이 표준화됨 |
| 1970년대 | 여러 글꼴을 읽는 범용 OCR과, 스캐너·OCR·음성 합성을 결합한 시각 장애인용 읽기 기계(커즈와일 읽기 기계)가 나옴 |
| 1985~1994 | HP가 Tesseract 개발 |
| 1990년대 | 신경망 기반 손글씨 숫자 인식이 수표·우편번호 판독에 쓰임. 평판 스캐너와 함께 PC용 OCR 소프트웨어 보급 |
| 2005~2006 | Tesseract 오픈 소스 공개, 구글이 개발을 이어받음 |
| 2010년대 | 스마트폰 카메라 OCR과 실시간 이미지 번역 보급, CRNN 등 딥 러닝 OCR 등장 |
| 2010년대 후반 | Tesseract 4판에 LSTM 엔진 추가 |
| 2020년대 | 문서 이해 모델, OCR 없는 모델, 비전-언어 모델로 확장 |
- ↑ ICAO Doc 9303, Machine Readable Travel Documents, Part 3, 8판, 2021
- ↑ Baoguang Shi, Xiang Bai, Cong Yao, 〈An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition〉, 2015. arXiv:1507.05717
- ↑ Minghao Li 외, 〈TrOCR: Transformer-based Optical Character Recognition with Pre-trained Models〉, 2021. arXiv:2109.10282
- ↑ Youngmin Baek, Bado Lee, Dongyoon Han, Sangdoo Yun, Hwalsuk Lee, 〈Character Region Awareness for Text Detection〉, CVPR 2019. arXiv:1904.01941
- ↑ Geewook Kim 외, 〈OCR-free Document Understanding Transformer〉, ECCV 2022. arXiv:2111.15664
- ↑ Haoran Wei, Yaofeng Sun, Yukun Li, 〈DeepSeek-OCR: Contexts Optical Compression〉, 2025. arXiv:2510.18234
- ↑ Tesseract OCR GitHub 저장소
- ↑ Luis von Ahn 외, 〈reCAPTCHA: Human-Based Character Recognition via Web Security Measures〉, Science 321(5895), 2008. doi:10.1126/science.1160379
- ↑ E. E. Fournier d'Albe, 〈On a Type-Reading Optophone〉, Proceedings of the Royal Society A 90(619), 1914. doi:10.1098/rspa.1914.0061
- ↑ 미국 특허 US1165663
- ↑ 미국 특허 US1838389, Statistical machine
- Herbert F. Schantz, 《The History of OCR, Optical Character Recognition》, Recognition Technologies Users Association, 1982.
- Ray Smith, 〈An Overview of the Tesseract OCR Engine〉, ICDAR 2007.