OCR는 어떻게 작동하나요?
전문 용어 없는 단계별 가이드
광학 문자 인식(OCR)은 이미지 정리, 텍스트 감지, 문자 인식, 출력 정제의 순차적 과정을 통해 텍스트 이미지를 기계가 읽을 수 있는 문자로 변환하는 기술입니다. 문서를 스캔하고 컴퓨터가 인쇄된 단어를 어떻게 "읽는지" 궁금했거나, 때로는 우스꽝스럽게 잘못 읽는 이유가 궁금했다면, 이 글은 평이한 언어로 한 단계씩 정확히 무슨 일이 일어나는지 설명합니다.

핵심 요점
- OCR는 읽는 것이 아니라 정밀한 매칭 게임을 합니다. 알 수 없는 픽셀 덩어리를 저장된 문자 모양 라이브러리와 비교합니다. "T"를 획으로 알지, "Total"의 첫 글자라서 알지는 않습니다.
- OCR의 가장 위험한 오류는 보이지 않는 것입니다. 인접한 문자가 하나로 합쳐지면 출력은 여전히 유효한 영어 단어처럼 보이고, 이후의 모든 단계는 그 손상을 진실로 취급합니다.
- 99%의 문자 정확도는 여전히 데이터 필드의 15~40%에 오류가 있음을 의미합니다. OCR는 "이 페이지에 어떤 문자가 있나요?"에 답할 뿐, "이 숫자 중 어느 것이 인보이스 합계인가요?"에는 답하지 않기 때문입니다.
OCR이 실제로 하는 일
OCR은 단일한 마법 같은 단계가 아니라, 픽셀을 텍스트로 변환하는 4단계 조립 라인입니다. 한 번도 문자 언어를 본 적 없는 사람에게 읽는 법을 가르쳐야 한다고 상상해 보세요. 먼저 페이지의 일부 표시가 글자이고 나머지는 얼룩이나 종이 질감일 뿐임을 알 수 있도록 도와주는 것에서 시작할 것입니다. 그런 다음 각 글자가 알아볼 수 있는 모양을 가진다는 것을 가르칠 것입니다. 대문자 A는 어떤 글꼴로 나타나든 대략 삼각형 모양에 가로 획이 있습니다. 그 후에야 글자를 단어로, 단어를 문장으로 결합하기 시작할 수 있습니다. 이것이 바로 OCR 엔진이 작동하는 방식입니다. 문서를 계층적으로 처리하여 기초부터 한 단계씩 이해를 구축합니다.
하지만 결정적인 문제가 있습니다. OCR은 모양을 읽지 의미를 읽지 않습니다. 엔진은 일련의 획이 문자 "T"를 형성한다는 것을 알지만, "T"가 "Total"이나 "Tax"의 첫 글자라는 것은 전혀 알지 못합니다. 문서를 디지털화할 뿐, 이해하지는 못합니다. 이러한 차이 때문에 OCR 출력은 검색 가능한 PDF에는 유용하지만 스프레드시트에 구조화된 데이터가 필요할 때는 부족합니다. OCR이 무엇이고 세 가지 기술 세대가 어떻게 생겼는지에 대한 전체 개요는 OCR이 무엇이고 어떻게 발전해 왔는지에 대한 가이드를 참조하세요.
한눈에 보는 4단계 OCR 파이프라인

무료 Tesseract부터 상용 시스템까지 모든 OCR 엔진은 동일한 4단계 워크플로를 따릅니다. 각 스테이션이 하나의 특정 작업을 수행하는 공장 조립 라인이라고 생각하세요. 한 스테이션의 출력은 다음 스테이션의 입력이 됩니다. 어떤 스테이션이든 제대로 작업을 수행하지 못하면 이후의 모든 스테이션은 더 나쁜 결과를 생성합니다.
전처리
이미지를 정리합니다. 노이즈를 제거하고, 기울기를 보정하며, 대비를 조정합니다. 엔진은 선명하게 보이지 않는 것은 읽을 수 없습니다.
텍스트 감지
텍스트를 찾습니다. 이미지의 어느 부분에 문자가 있고, 어느 부분에 사진, 로고, 또는 빈 공간이 있는지 식별합니다. 그런 다음 텍스트를 줄, 단어, 개별 문자로 나눕니다.
문자 인식
각 문자의 모양을 알려진 문자, 숫자, 기호 라이브러리와 대조하여 식별합니다. 이것이 OCR의 핵심 단계입니다 — 나머지는 모두 이를 지원합니다.
후처리
출력 결과를 다듬습니다. 단어를 사전과 대조하고, 문맥을 사용하여 모호한 문자를 해결하며, 출력 파일에 맞게 텍스트 형식을 지정합니다.
이제 각 단계를 자세히 살펴보겠습니다 — 엔진이 실제로 수행하는 작업, 그 중요성, 그리고 이해를 돕기 위한 구체적인 비유와 함께 말입니다.
1단계 — 전처리: 읽기 전에 이미지 정리하기
엔진이 단 하나의 문자를 인식하기 전에, 인식 단계를 혼란스럽게 할 수 있는 모든 것을 제거하기 위해 이미지를 정리해야 합니다. 이는 책을 읽기 전에 안경을 닦는 것과 같습니다 — 렌즈가 더럽거나, 기울어져 있거나, 긁혀 있으면 글자를 선명하게 읽을 수 없습니다.
OCR 엔진에 도착하는 스캔 문서는 거의 완벽한 상태가 아닙니다. 페이지가 스캐너에 약간 비뚤게 놓였을 수 있고. 스캔에는 먼지 입자, 팩스 잔상, 또는 책 등쪽의 그림자가 포함될 수 있습니다. 잉크와 종이 사이의 대비가 낮을 수 있습니다 — 특히 오래된 문서, 카본 사본, 또는 바랜 영수증의 경우 더욱 그렇습니다. 전처리 단계는 실제 읽기가 시작되기 전에 이 모든 것을 수정합니다.
가장 중요한 전처리 단계는 이진화입니다 — 텍스트와 배경을 분리하는 임계값을 사용하여 이미지를 순수한 흑백으로 변환하는 것입니다. Otsu's method라는 일반적인 기법은 픽셀 강도의 히스토그램을 분석하고 최적의 임계값을 자동으로 선택합니다. 밝은 흰색 페이지에 선명한 검은색 텍스트처럼 보이는 스캔 문서를 본 적이 있다면, 그것이 이진화의 결과입니다.
다른 전처리 작업에는 기울기 보정, 노이즈 제거, 잡음 제거, 대비 정규화가 포함됩니다.
이 단계에서 많은 OCR 실패가 이미 결정됩니다. 이진화 과정에서 소문자의 꼬리가 잘리거나 인접한 문자가 덩어리로 합쳐지면, 인식 단계는 알고리즘이 아무리 정교해도 이를 바로잡을 수 없습니다. 쓰레기를 넣으면 쓰레기가 나옵니다 — 그리고 OCR에서는 이 말이 모든 픽셀 하나하나에 적용됩니다.
전처리 과정이 부실하면 인식 품질도 보장할 수 없습니다 — 정리 단계에서 잃어버린 것은 아무리 뛰어난 문자 매칭 엔진도 복구할 수 없습니다.
2단계 — 텍스트 감지: 단어의 위치 찾기
이제 이미지가 깨끗해졌으므로, 엔진은 페이지에서 실제로 텍스트가 포함된 부분을 파악해야 합니다. 이것이 레이아웃 분석 단계입니다. 신문 페이지를 보는 것과 같다고 생각하면 됩니다. 헤드라인, 사진 캡션, 사이드바, 인용문의 차이를 즉시 알 수 있지만, OCR 엔진은 이러한 구분을 픽셀 단위로 학습해야 합니다.
엔진은 전처리된 이미지를 스캔하여 텍스트 영역 — 문자가 밀집된 영역 — 을 식별하고, 이미지, 로고, 장식용 테두리, 빈 공간과 구분합니다. 그런 다음 각 텍스트 영역을 점점 더 작은 단위로 나눕니다:
1. 블록 — 관련 콘텐츠를 포함할 가능성이 있는 큰 사각형 영역.
2. 줄 — 각 블록 내에서 엔진은 문자가 포함된 가로 픽셀 띠를 찾아 개별 텍스트 줄을 식별합니다.
3. 단어 — 각 줄 내에서 문자 모양 사이의 간격을 측정하여 문자를 단어로 그룹화합니다.
4. 문자 — 마지막으로 각 단어는 인식 엔진에 전달될 개별 문자 세그먼트로 분할됩니다.
이렇게 단순해 보이는 단계에는 중요한 과제가 숨어 있습니다: 비례 폰트입니다. 비례 폰트에서는 두 글자 사이의 간격이 압축된 서체로 설정된 두 단어 사이의 간격보다 더 넓을 수 있습니다. 엔진은 간격이 같은 단어 안의 두 글자를 구분하는지, 아니면 두 단어를 구분하는지 결정해야 합니다. 일반적인 문자 폭, 공백 임계값, 언어별 패턴 같은 휴리스틱을 사용하지만, 이러한 휴리스틱이 항상 옳은 것은 아닙니다. 잘못 판단하면 단어가 잘못 합쳐지거나 분리되고, 이후 모든 단계가 그 오류를 물려받습니다.
감지 오류는 오류처럼 보이지 않기 때문에 가장 교묘한 유형의 OCR 실패입니다. 합쳐진 단어는 인간 검토자에게 정당한 단어처럼 보입니다. 엔진이 "rn"을 "m"으로 읽으면 "commercial"이 "commeicial"이 됩니다 — 맞춤법 검사기가 잡아낼 수 있는 실수이지만, 출력이 맞춤법 검사기를 거칠 때만 가능합니다.
3단계 — 문자 인식: OCR의 핵심
사람들이 "OCR"이라고 말할 때 실제로 의미하는 단계가 바로 이것입니다. 엔진은 분리된 각 문자 이미지를 가져와 어떤 글자, 숫자 또는 기호를 나타내는지 결정합니다. 아이가 플래시카드 묶음으로 알파벳을 배우는 모습을 상상해 보세요. Arial A, Times New Roman A, 손글씨 A 등 다양한 글꼴의 문자 A 그림을 보여주면서 스타일에 관계없이 인식하는 법을 배우게 합니다. OCR 엔진도 같은 일을 하지만, 수백만 장의 플래시카드를 보유하고 있으며 이를 밀리초 단위로 처리합니다.
문자 인식에는 두 가지 기본 접근 방식이 있습니다:
패턴 매칭 — 엔진은 알려진 글꼴과 크기의 문자 이미지 데이터베이스를 유지합니다. 새 문자를 만나면 픽셀 패턴을 저장된 각 글리프와 비교하여 가장 가까운 일치 항목을 선택합니다. 이 접근 방식은 수십 년간 표준이었으며, 1974년 HP Labs에서 처음 개발되고 현재 Google이 유지 관리하는 오픈소스 OCR 엔진인 Tesseract와 같은 엔진을 지원합니다. 패턴 매칭은 문서가 엔진이 이전에 본 글꼴을 사용할 때 잘 작동합니다. 글꼴이 특이하거나, 텍스트가 손글씨이거나, 이미지 품질이 저하되면 입력이 더 이상 저장된 템플릿과 유사하지 않기 때문에 실패합니다.
특징 추출 — 엔진은 전체 픽셀 패턴을 비교하는 대신 각 문자를 구성하는 특징으로 분해합니다. 문자 "A"는 한 점에서 만나는 두 개의 대각선과 하나의 가로 가로대가 있습니다. 문자 "O"는 단일 폐루프가 있습니다. 글꼴이나 크기에 관계없이 이러한 특징을 식별함으로써 엔진은 이전에 본 적 없는 문자도 인식할 수 있습니다. 대부분의 최신 OCR 엔진은 이 접근 방식을 사용하며, 종종 EMNIST(Extended MNIST)와 같은 데이터 세트로 학습된 신경망으로 강화됩니다. EMNIST는 숫자와 대문자 및 소문자를 포함하는 814,255개의 레이블이 지정된 문자 이미지 모음입니다.
두 접근 방식의 중요한 한계는 동일합니다. 모양을 식별할 뿐 의미는 식별하지 못한다는 것입니다. 엔진은 픽셀 그룹이 문자 "5"라는 것을 99% 확신으로 알려줄 수 있지만, 그 "5"가 수량인지, 가격인지, 날짜인지, 방 번호인지, 모델 코드인지 알려줄 수는 없습니다. 문자를 일관된 문서의 일부가 아닌 고립된 기호로 읽습니다. 이것이 기존 OCR 엔진이 깨끗한 인보이스에서 99%의 문자 정확도를 달성하면서도 인보이스 합계를 찾을 수 없는 출력을 생성할 수 있는 이유입니다. 모든 문자가 정확하지만 레이블이 지정된 것은 없습니다.
이 단계가 기존 OCR과 최신 AI 기반 접근 방식 간에 어떻게 다른지, 문서 유형별 정확도 벤치마크를 포함한 자세한 비교는 AI OCR과 기존 OCR 비교 분석을 참조하세요.
4단계 — 후처리: 출력 결과를 읽기 쉽게 만들기
문자 인식 단계의 원시 출력은 추측된 문자들의 문자열입니다. 일부는 맞고 일부는 틀리며, 모든 문맥이 빠져 있습니다. 후처리는 엔진이 자신의 실수를 스스로 수정하려고 시도하는 단계입니다. 단순한 사전 조회가 아니라 주변 문맥을 기반으로 "there", "their", "they're"의 차이를 구분할 수 있는 매우 적극적인 자동 수정 시스템이라고 생각하면 됩니다.
가장 일반적인 후처리 기술은 다음과 같습니다:
사전 기반 교정
엔진이 인식된 각 단어를 언어 사전과 대조합니다. "reciept"가 나타나면 "receipt"로 수정됩니다. "m0del"이라는 단어에서 중간 문자가 "O"인지 "0"인지 확실하지 않은 경우 사전을 통해 "model"이어야 함을 확인합니다.
문맥 기반 모호성 해소
숫자 "1"과 소문자 "l"처럼 문자가 모호할 때 엔진은 주변 문자를 검사하여 결정합니다. "C1ient"는 "Client"로 수정되고, "Page 1"은 숫자를 유지합니다.
신뢰도 점수
인식된 모든 문자에는 신뢰도 점수가 부여됩니다. 신뢰도가 낮은 영역은 사람의 검토를 위해 표시되거나, 다른 인식 매개변수로 재처리되거나, 다른 알고리즘을 사용한 2차 인식 과정을 거칠 수 있습니다.
서식 재구성
엔진이 인식된 텍스트를 문서의 원래 레이아웃으로 재조립합니다. 줄 바꿈, 단락 간격, 표 정렬 및 읽기 순서를 유지합니다. 이 단계를 통해 원본 스캔 페이지처럼 보이는 검색 가능한 PDF가 생성됩니다.
이 모든 지능에도 불구하고 후처리에는 근본적인 한계가 있습니다. 맞춤법 오류는 수정할 수 있지만 의미론적 의미를 추가할 수는 없습니다. 출력 $1,234.56은 이제 유효한 통화 금액임을 알 수 있지만, 엔진은 여전히 이것이 송장 총액인지, 라인 항목 소계인지, 세금 금액인지, 참조 번호인지 알지 못합니다. 후처리는 텍스트를 읽을 수 있게 만들 뿐, 데이터로 사용 가능하게 만들지는 않습니다.
모든 것을 바꾸는 차이 — 전통적 OCR vs AI 추출

위에서 설명한 4단계 파이프라인은 전통적 OCR 방식이며, 1990년대 이후 근본적으로 변하지 않았습니다. 현대 AI 기반 추출은 모든 단계에서 다르게 작동합니다.
이 대비를 이해하면 전통적 OCR이 어떤 작업에 적합한 도구인지, 구조화된 데이터가 필요할 때는 부족한 이유가 명확해집니다. 아래 표는 각 파이프라인 단계가 기존 방식과 ImageToTable.ai 같은 현대 AI 추출 도구에서 어떻게 다른지 보여줍니다.
| 파이프라인 단계 | 전통적 OCR | AI 추출 |
|---|---|---|
| 전처리 | 중요 — 정리가 제대로 안 되면 인식 실패가 보장됩니다. 이진화, 기울기 보정, 노이즈 제거 등 무거운 알고리즘 기반 전처리가 필수입니다. | 덜 중요 — 비전 모델은 적당한 노이즈, 낮은 대비, 기울어진 각도도 읽을 수 있습니다. 기본적인 정리는 여전히 도움이 되지만 필수 조건은 아닙니다. |
| 텍스트 감지 | 줄/단어/문자 분할을 위한 규칙 기반 휴리스틱. 복잡한 레이아웃, 다단 문서, 혼합 콘텐츠에서는 실패합니다. | 전체적인 페이지 이해 — 모델은 문자 경계를 먼저 감지하는 대신 시각적 맥락으로 헤더, 표, 바닥글, 필드 라벨을 식별합니다. |
| 문자 인식 | 고정된 문자 데이터베이스에 대한 패턴 매칭 또는 특징 추출. 각 문자가 개별적으로 식별됩니다. | 모델은 시각적 맥락에서 전체 단어, 구문, 값을 읽습니다. "INV-2026-001"이 글리프 템플릿과 일치해서가 아니라 위치와 주변 내용 때문에 송장 번호로 인식합니다. |
| 후처리 | 사전 기반 보정 + 형식 재구성. 출력은 필드 라벨이나 데이터 구조가 없는 일반 텍스트 또는 서식 문서입니다. | 의미론적 필드 매핑 — 모델은 각 값을 필드 이름과 함께 출력합니다. 수동 라벨링이나 재구성이 필요 없습니다. |
| 최종 결과 | 텍스트 파일 또는 검색 가능한 PDF. 모든 문자가 있지만 — 각 필드를 읽고, 복사하고, 올바른 스프레드시트 열에 붙여넣어야 합니다. | 구조화된 테이블 또는 JSON 객체. 값은 이미 라벨링되고 정리되어 스프레드시트나 회계 시스템에 바로 사용할 수 있습니다. 복사-붙여넣기 단계가 필요 없습니다. |
근본적인 차이는 전통적인 OCR이 픽셀을 문자로 변환하는 반면, AI 추출은 픽셀을 의미로 변환한다는 점입니다. 하나는 검색 가능한 문서를 제공하고, 다른 하나는 사용 가능한 데이터를 제공합니다. AI 추출 카테고리에 대한 전체적인 설명 — 작동 방식, 적합한 경우, 다른 접근 방식과의 비교 — 은 허브 문서 AI 문서 추출이란 무엇인가에서 확인하세요.
AI 버전이 읽기 단계를 어떻게 처리하는지 정확히 이해하고 싶다면 — 페이지 전체를 한 번에 처리하는 비전-언어 모델을 사용하여 문자 단위가 아닌 방식으로 — AI OCR이란 무엇인가 문서에서 기술을 자세히 다룹니다.
자주 묻는 질문
OCR이 손글씨를 읽을 수 있나요?
전통적인 OCR은 손글씨에 어려움을 겪습니다 — 인쇄체의 경우 정확도는 일반적으로 50%~70% 사이이며, 필기체는 50% 미만입니다. 그 이유는 구조적입니다. 문자 인식 단계는 알려진 글리프 데이터베이스와 모양을 대조하여 문자를 식별하는데, 손글씨는 어떤 템플릿 라이브러리로도 커버할 수 없는 훨씬 더 많은 변형을 도입하기 때문입니다. 현대 AI 기반 OCR은 단어를 문맥에서 읽기 때문에 훨씬 더 나은 성능을 보입니다. 그러나 완전히 자유로운 필기체는 모든 시스템에서 여전히 어려운 과제로 남아 있습니다.
인쇄된 텍스트에 대한 OCR 정확도는 얼마나 되나요?
300 DPI로 스캔한 깨끗한 타자 문서에서 현대 OCR 엔진은 95–99%의 문자 정확도를 달성합니다. 이 수치는 품질이 낮은 스캔, 특이한 글꼴, 대비가 낮은 원본 또는 복잡한 레이아웃의 문서에서는 떨어집니다. 중요하게도, 문자 정확도는 필드 정확도가 아닙니다 — 99%의 문자 정확도에서도 관심 있는 개별 데이터 필드의 15–40%에 오류가 포함될 수 있습니다. 문자 오류는 숫자 필드와 필드 경계에 집중되는 경향이 있기 때문입니다.
OCR이 문서 추출과 같은 것인가요?
아닙니다. OCR은 텍스트 이미지를 기계가 읽을 수 있는 문자로 변환합니다 — 텍스트를 디지털화합니다. 문서 추출은 한 단계 더 나아갑니다: 어떤 문자가 어떤 데이터 필드에 속하는지 식별하고 레이블이 지정된 열의 구조화된 데이터로 출력합니다. OCR은 "이 페이지에 어떤 문자가 있나요?"라는 질문에 답합니다. 문서 추출은 "이 문서에 어떤 데이터가 포함되어 있나요?"라는 질문에 답합니다. 이 두 질문의 차이는 여전히 분류해야 하는 텍스트 파일과 즉시 사용할 수 있는 스프레드시트의 차이입니다.
OCR이 PDF에서 작동하나요, 아니면 이미지에서만 작동하나요?
OCR은 모든 이미지 기반 입력에서 작동합니다: 스캔된 PDF, 디지털 생성 PDF, JPG, PNG, TIFF. 중요한 구분은 스캔된 PDF와 네이티브 PDF 사이입니다. 스캔된 PDF는 검색 가능해지려면 OCR을 거쳐야 합니다. 네이티브 PDF는 이미 텍스트를 포함하므로 OCR이 필요하지 않습니다 — 그러나 특정 데이터 필드를 스프레드시트로 추출하려면 여전히 추출이 필요할 수 있습니다.
OCR과 OMR의 차이점은 무엇인가요?
OCR은 이미지에서 텍스트를 읽습니다. OMR은 페이지의 마크를 읽습니다. OMR은 미리 정의된 위치에 마크가 있는지 없는지만 감지하면 되므로 더 간단하며, 마크가 나타내는 문자가 무엇인지 식별할 필요가 없습니다. 많은 최신 문서 처리 도구는 두 가지를 모두 결합합니다. 텍스트 필드에는 OCR을, 체크박스와 선택 마크에는 OMR을 사용합니다.
OCR이 어떻게 작동하는지 이해하는 것은 언제 OCR로 충분한지, 언제 더 많은 것이 필요한지 아는 첫 단계입니다. 4단계 파이프라인은 수십 년 동안 문서 디지털화에 잘 기여해 왔지만, "읽을 수 있는 텍스트"와 "사용 가능한 데이터" 사이의 간극은 기존 OCR이 결코 메우도록 설계되지 않은 간극입니다. AI 문서 추출이 문자만 읽는 것이 아니라 의미를 읽어 그 간극을 어떻게 메우는지 알아보세요.