본문 바로가기
  • 머킹이의 머신로그
AI

[용어정리] 캡처 텍스트 인식 CRNN+GRU

by 머킹 2024. 1. 23.
728x90

[딥러닝 용어 정리] 이미지 텍스트 인식 CRNN, GRU

 

 

CRNN

CNN과 RNN을 혼합해 만든 모델입니다.

1. 입력 이미지가 

2. CNN의 입력으로 들어갑니다.

3. 이미지로부터 추출된 특징은 가로 W개의 픽셀, 세로H개의 픽셀이 있습니다.

4. RNN에 입력으로 사용할 수 있게 시계열 형태로 바꿔줍니다.

5. 이미지로부터 추출된 특징의 세로 방향 픽셀의 값을 RNN층의 은닉 상태로 이용합니다.

 

장점

- 이미지를 시계열처럼 다룰 수 있습니다.

- 이미지의 가로축으로부터 정보를 추출할 수 있습니다.

 

단점

- 세로 픽셀 개수가 1개이므로 정보의 손실이 발생할 수 있습니다.

- 이미지 크기 커지면 앞의 정보가 흐려져 특징을 추출하기 어렵습니다.

 

 

CNN

이미지로부터 특징을 추출하고 추출된 특징을 RNN에 넣어 글자를 예측합니다.

 

 

CTC

손실은 하나의 결과를 다양한 방법으로 표현이 가능할 때 사용하는 손실입니다.

가능한 모든 경로의 확률의 합을 해당 결과의 확률로 정의합니다.

 

  1. Convolutional Neural Network (CNN): 이미지의 특징을 추출하는 부분입니다. CNN은 입력 이미지에서 패턴이나 특징을 감지하여 숫자나 글자 등을 찾아냅니다.
  2. Recurrent Neural Network (RNN): CNN을 통해 추출된 특징을 바탕으로 시퀀스를 만들어냅니다. 예를 들어, CNN이 번호판의 각 부분에서 어떤 글자를 발견했다면, 이 정보를 RNN이 이어 붙여서 전체 번호판의 글자 시퀀스로 만들어냅니다.
  3. CTC Loss (Connectionist Temporal Classification): 이제 만들어진 시퀀스가 실제로 어떤 단어나 문장인지를 학습하기 위한 손실 함수입니다. CTC 손실은 RNN이 예측한 시퀀스와 실제 레이블(정답) 간의 정렬 문제를 해결합니다. 예를 들어, "HELLO"를 찾아야 하는데 "H E L O" 또는 "HHEELLLOO"와 같이 여러 방법으로 정렬될 수 있습니다. CTC 손실은 이러한 가능한 정렬을 고려하여 최적의 정렬을 학습하게 됩니다.

간단히 말해, CRNN에서 CTC 손실은 이미지로부터 추출한 특징을 이용하여 텍스트를 시퀀스로 만들고, 이 시퀀스를 정답과 비교하여 최적의 정렬을 학습하는 역할을 합니다.