Search

OCR

대분류
인공지능/데이터
소분류
ML/DL 정리 노트
유형
딥 러닝
부유형
Vision-NLP
최종 편집 일시
2024/10/27 15:19
생성 일시
2024/10/17 00:16
14 more properties

OCR(Optical Character Recognition)

OCR이란, Optical Character Recognition의 줄임말, 이미지 내의 글자를 자동으로 인식하는 인공지능 기술
예를 들어, 카메라를 통해 자동차 번호를 인식한다거나, 신분증에서 개인 정보 텍스트를 인식하는 등의 기술
최근 OCR은 딥러닝으로 인해 큰 발전을 이루고 있다.

딥러닝과 OCR

딥러닝의 발전은 OCR에 큰 영향을 끼쳤다.
딥러닝의 핵심이라고 할 수 있는 CNN(Convolutional neural networks)에서 그 이유를 찾을 수 있다.
CNN에서는 이미지의 특징을 추출하여 분류하는데, 이를 통해 기존의 전통적인 OCR 구조에서 개발자가 직접 설정해 주어야 했던 feature 인식 모듈은 더 이상 필요하지 않게 된 것
그 결과, 현재의 OCR은 딥러닝을 적용한 OCR은 글자의 영역을 탐지하는 모델(Text Detection Model)과 해당 영역에서 글자를 인식하는 모델(Text Recognition Model) 두 가지 단계로 구성되어 있다.
이처럼 OCR의 과정을 두 단계로 나누는 이유는 데이터를 다양하게 활용하여 원활한 학습이 가능하고, 자원의 효율성과 언어별 정확도 등을 향상시킬 수 있기 때문
CNN과 RNN, CTC loss를 사용하여 input으로 부터 시퀀스를 인식하는 것
시퀀스를 인식하는 다양한 부분에 적용할 수 있으나 본 논문에서는 이미지(input)로부터 텍스트(output) 시퀀스를 추출하는 것에 대해서 설명하고 있다.

네트워크 구조

Convolutional Layer
입력 이미지로부터 특징 시퀀스를 추출.
CNN을 통해서 input 이미지로 부터 feature sequence를 추출한다.
Recurrent Layers
각 프레임마다 라벨을 예측.
추출한 feature sequence들을 RNN의 input으로 하여 이미지의 택스트 시퀀스를 예측한다.
Transcription Layers
프레임마다의 예측을 최종 라벨 시퀀스로 변경.
예측된 텍스트 시퀀스를 텍스트로 변환한다.