05_CV(Computer Vision)/OCR

검출기 _DBnet

jiniby 2025. 4. 7. 18:35
728x90

DBNet++란?

**DBNet++**는 OCR (Optical Character Recognition) 파이프라인에서 **텍스트 검출 (Text Detection)**을 수행하는 모델 

기존 Segmentation 기반 텍스트 검출 모델 대비 후처리가 단순하고, 간단한 구조 대비 높은 성능을 보입니다.

일반적인 OCR 파이프라인 구성

  1. Document 이미지 입력
  2. 이미지 전처리
  3. Text Detection (텍스트 영역 검출) 👉 DBNet++ 사용 위치
  4. Text Recognition (텍스트 인식)
  5. 결과 텍스트 출력


DBNet++ 특징 

1. 기존 모델과의 차별성

기존의 Segmentation 기반 모델들은 이미지의 Segmentation Map 전체에 대해 단일한 이진화(Binarization) 기준을 사용합니다. 이를 통해 텍스트를 박스(Box)나 다각형(Polygon) 형태로 후처리로 변환하여 영역을 식별합니다.

DBNet는 각 픽셀마다 학습 가능한 Threshold map을 생성하여, 보다 정교하게 텍스트 영역을 검출

 

2. 핵심 개념 (Differentiable Binarization)

  • 기존의 Standard Binarization은 미분이 불가능하여 학습이 어렵습니다.
  • DBNet++는 미분 가능한 Differentiable Binarization을 도입하여 Binarization 과정 자체를 학습 가능하게 하였습니다.
  • 이를 통해 모델이 Pixel별 최적의 Threshold를 학습할 수 있습니다.

Differentiable Binarization:
기존의 이진화 (Binarization)는 threshold를 초과하면 1, 아니면 0으로 단순히 나누어 학습이 어렵지만,
DBNet++의 Differentiable Binarization은 미분 가능한 형태로 구성하여 threshold 기준 자체를 모델이 스스로 학습하게 합니다.

기존 방법(Standard Binarization)은 미분이 불가능하여 Threshold 값을 학습할 수 없었습니다.

DBNet++는 미분 가능한 Binarization(Differentiable Binarization) 기법을 사용하여 Threshold 값을 모델이 직접 학습할 수 있게 합니다.

즉,

Standard Binarization: 미분 불가 (학습 X)

Differentiable Binarization: 미분 가능 (학습 O)

3. Threshold map 학습의 고도화

초기에는 Threshold map의 Ground Truth(GT)가 없으면 텍스트 경계를 제대로 학습하지 못했습니다.

DBNet는 텍스트 경계를 나타내는 Text Border Map을 Threshold map의 GT로 사용하여 경계 학습의 정확도를 높였습니다.

4. Adaptive Scale Fusion 구조

다양한 크기(Scale)의 텍스트를 효율적으로 감지하기 위한 특별한 구조(Adaptive Scale Fusion)가 사용됩니다.


DBNet++ 모델 학습 방법 

데이터 준비 방법

모델 학습을 위한 데이터는 다음 두 가지를 생성합니다:

Probability map: GT Polygon 영역을 **축소(Shrink)**하여 생성

Threshold map: GT Polygon 영역을 **확장(Dilate)**하여 각 픽셀의 텍스트 경계까지의 거리를 계산해 생성

 

Shrink / Dilate 연산

Shrink: 텍스트 영역 Polygon의 크기를 축소하여 근접 텍스트 분리

Dilate: 텍스트 영역 Polygon의 크기를 확장하여 Threshold map을 정확히 생성

Lable Generation 학습 프로세스

Probability map, Threshold mapApproximate binary map을 모델 출력으로 생성합니다.

각각의 map에 대해 Loss를 계산하고, 이 Loss들의 가중 합으로 모델을 학습합니다.

 

Probability map

 

Threshold map

Approximate binary map

Loss를 계산


DBNet 모델 추론 방법

추론 시에는 빠른 연산 속도를 위해 Threshold map 계산을 생략하고, Probability map으로 바로 Binary map을 생성합니다. 그리고 Binary map의 결과를 다시 Dilate하여 원본 크기의 텍스트 영역을 복원

즉, 추론 과정은:

입력 이미지 → Probability map → 이진화(Binarization) → Binary map

Binary map → 영역 복원(Dilate) → 최종 텍스트 영역(Polygon)


DBNet++의 장점 👍

간단하고 빠름: 간단한 구조로 높은 성능을 달성합니다.
End-to-End 학습 가능: 모델 학습이 간편합니다.
정확한 영역 구분: Shrink/Dilate 연산을 통해 인접한 텍스트를 더 잘 분리할 수 있습니다.

잘된 예시:

긴 텍스트 영역, 손글씨 영역도 높은 정확도로 감지합니다.


DBNet의 단점 👎

Text Inside Text Issue:

한국어와 같은 자모로 구성된 텍스트가 자모 단위로 분리되는 경우가 발생할 수 있습니다.

파라미터 설정에 따라 텍스트 영역이 중복 인식되는 현상

Text Scale Variance Issue:

텍스트 크기 변화가 너무 클 경우 검출이 어렵습니다.


 

728x90