이미지에서 텍스트 추출 (OCR)
광학 문자 인식(OCR)을 이용해 사진이나 스캔한 이미지에서 텍스트를 브라우저에서 바로 추출합니다 — 업로드 없이, 한 번 로드되면 오프라인에서도 작동합니다.
조회수 251회
OCR 엔진 로드 중…
이미지에서 텍스트를 찾을 수 없거나 해상도가 너무 낮습니다.
이 도구는 사진과 스캔한 이미지를 위한 것으로, 이미 텍스트 레이어가 삽입된 PDF에는 적합하지 않습니다. 실제 텍스트가 들어 있는 PDF에는 대신 "PDF 텍스트 추출" 도구를 사용하십시오.
브라우저는 실제로 사진을 어떻게 "읽는가"
광학 문자 인식(OCR)은 시각적으로 글자처럼 보이는 픽셀을 실제로 선택 가능한 유니코드 텍스트로 바꾸는 과정이며, 계산량이 많다는 바로 그 이유 때문에 전통적으로 서버 측 작업이었습니다. 이 도구는 1980년대 HP 랩스에서 처음 개발되어 이후 오픈소스로 전환되고 구글이 유지 관리하며, 이용 가능한 오픈소스 OCR 엔진 중 가장 정확한 축에 속한다고 널리 평가받는 Tesseract를, C++ 코드를 브라우저 안에서 네이티브에 가까운 속도로 실행할 수 있게 해주는 이진 명령 형식인 WebAssembly로 컴파일해 실행합니다. 서버 없이도 이것이 가능한 것은 바로 이 컴파일 단계 덕분입니다: 많은 데스크톱 및 모바일 스캔 앱에서 사용되는 것과 완전히 동일한 인식 엔진이 사용자 기기에서 로컬로 실행됩니다.
최신 Tesseract(버전 4 이상)는 Tesseract 3 이전 버전에서 쓰였던 낡은 문자 단위 패턴 매칭 대신 LSTM 신경망(Long Short-Term Memory, 순차 데이터에 적합한 순환 신경망의 한 종류)을 사용해 텍스트를 인식합니다. 한 번에 한 글자씩 분리해 분류하려 하는 대신, LSTM 모델은 한 줄 전체를 하나의 시퀀스로 읽으며 주변 문맥을 이용해 모호한 형태를 해석합니다 — 이 때문에 이 모델은 단순히 형태를 개별적으로 대조하는 것이 아니라 사실상 "여기에는 어떤 단어가 자연스러운가"를 예측하므로, "l"과 "1", "O"와 "0"을 이전 엔진보다 훨씬 더 신뢰성 있게 구별할 수 있습니다.
인식 품질은 불러온 언어 모델에 크게 좌우됩니다: 이 도구는 처음 사용할 때 선택한 언어(영어 또는 튀르키예어)에 특화된, 그 언어의 글자 형태와 흔한 글자 조합, 사전에 대한 통계적 패턴을 담은 학습된 모델 파일을 다운로드합니다. 스캔하기 전에 올바른 언어를 선택하면 정확도가 눈에 띄게 향상되는데, 튀르키예어 텍스트로 학습된 모델은 튀르키예어 전용 문자(ç, ğ, ı, ö, ş, ü)를 영어 전용 모델보다 훨씬 더 잘 처리하기 때문입니다.
언어 모델은 상당한 용량(수 메가바이트)의 다운로드이므로, 브라우저는 처음 사용한 뒤 이를 캐시에 저장합니다. 그 결과 같은 언어로 진행하는 이후 스캔은 다시 내려받을 필요 없이 눈에 띄게 더 빠르게 시작됩니다.
더 나은 결과 얻기
- 선명하고 조명이 좋으며 대비가 높은 사진은 흐릿하거나 조명이 어두운 사진보다 훨씬 잘 작동합니다 — 신경망이 사람의 눈으로도 판독하기 힘든 것과 동일한 픽셀을 다루기 때문에 OCR 품질은 이미지 품질을 그대로 따라갑니다.
- 엔진이 어느 정도 자동 기울기 보정을 적용하기는 하지만, 정면에서 찍어 회전되지 않은 사진이 급격한 각도로 찍힌 사진보다 더 안정적으로 인식됩니다.
- 손글씨는 이 엔진에게 인쇄된 텍스트보다 근본적으로 더 어렵습니다 — Tesseract는 주로 인쇄체 글꼴로 학습되었으며, 흘림체나 매우 개성적인 손글씨는 정확도를 눈에 띄게 떨어뜨립니다.
- 이 도구는 이 사이트의 PDF 텍스트 추출 도구와는 다릅니다: 이 도구는 픽셀에 대해 실제 문자 인식을 수행하는 반면, PDF 도구는 파일 안에 이미 선택 가능한 텍스트로 삽입되어 있는 텍스트를 읽습니다 — 읽어낼 실제 텍스트 레이어가 없을 때만 OCR을 사용하십시오.
자주 묻는 질문
텍스트 인식이 서버 없이 브라우저에서 어떻게 실행되나요?
원래 HP 랩스에서 개발되었고 현재 구글이 유지 관리하는 Tesseract OCR 엔진이, C++ 코드를 브라우저 안에서 네이티브에 가까운 속도로 실행하는 이진 형식인 WebAssembly로 컴파일되어 있기 때문입니다. 이것이 완전한 광학 문자 인식을 사용자 기기에서만 실행할 수 있게 해주는 요소입니다.
올바른 언어를 선택하는 것이 왜 중요한가요?
각 언어는 그 언어의 글자 형태, 흔한 글자 조합, 사전에 대한 통계적 패턴을 담은 자체 학습 모델 파일을 다운로드합니다. 튀르키예어로 학습된 모델은 ç, ğ, ı, ö, ş, ü 같은 튀르키예어 전용 문자를 영어 전용 모델보다 훨씬 더 정확하게 인식합니다.
제 손글씨가 인쇄된 텍스트보다 인식이 잘 안 되는 이유는 무엇인가요?
Tesseract의 신경망은 주로 인쇄체 글꼴로 학습되었습니다. LSTM 모델은 텍스트를 하나의 시퀀스로 읽고 문맥을 이용해 모호한 형태를 해석하는데, 이는 일관된 인쇄체 글자 형태에는 매우 잘 작동하지만 흘림체나 개성적인 손글씨의 높은 변동성에는 어려움을 겪습니다.
제 이미지가 서버에 업로드되나요?
아니요. 인식은 WebAssembly를 통해 전적으로 사용자 브라우저 안에서 실행되며, 이미지는 어디로도 전송되지 않습니다. 오직 언어 모델 파일 자체만 한 번 다운로드되어(이후 캐시에 저장됨) 엔진이 필요한 학습된 데이터를 갖추게 됩니다.
이 도구와 PDF 텍스트 추출 도구의 차이는 무엇인가요?
이 도구는 픽셀에 대해 실제 광학 문자 인식을 수행하며, 텍스트 레이어가 없는 사진과 스캔한 이미지에서 작동합니다. 반면 PDF 텍스트 추출기는 PDF 안에 이미 선택 가능한 삽입 텍스트로 저장되어 있는 텍스트를 읽는데, 그러한 텍스트 레이어가 존재할 경우 이는 완전히 다른(그리고 훨씬 더 빠르고 정확한) 작업입니다.
비슷한 도구
문제 신고하기
이미지에서 텍스트 추출 (OCR)
댓글
아직 댓글이 없습니다 — 첫 댓글을 남겨보세요!