오늘은 DBNet이라는 논문에 대해서 리뷰하겠습니다.
최근에 OCR 관련 업무를 진행하면서 찾은 논문인데 꽤 오래전에 나왔던 논문이지만 기술적으로 도움이 많이 될 것 같아서 정리합니다. 2021년에는 DBNet++라는 논문도 나왔는데 해당 기술도 같이 언급드리도록 하겠습니다.
세부적인 내용들은 찾아보시는 걸 권장하고 틀린 부분이 있으면 언제든 댓글로 말씀해주시면 수정하겠습니다.
"Real-time Scene Text Detection with Differentiable Binarization",
Minghui Liao, Zhaoyi Wan, Cong Yao, Kai Chen, Xiang Bai (2019)
https://arxiv.org/abs/1911.08947
Abstract
이 논문은 실시간 장면 텍스트 탐지를 위한 Differentiable Binarization(DB) 모듈을 제안합니다.
기존의 세그멘테이션 기반 탐지 방식이 텍스트의 다양한 형태를 정확히 표현할 수 있다는 장점이 있지만, 이진화 과정에서 복잡한 후처리가 필요하여 성능 및 속도에 제약이 있었습니다. DB 모듈은 세그멘테이션 네트워크 내부에서 이진화 과정을 통합하여 학습 가능하도록 설계되었으며, 적응형 임계값을 사용하여 후처리를 단순화하고 탐지 성능과 효율성을 동시에 향상시킵니다.
ResNet-18과 ResNet-50 백본을 기반으로 다양한 데이터셋에서 DB의 성능을 검증한 결과, 본 연구의 접근법은 정확도와 속도 면에서 기존 방법들을 초월하는 결과를 보여주었습니다. DB 모듈은 특히 경량화된 백본을 사용할 때도 경쟁력 있는 성능을 유지하며, 실시간 처리가 가능하다는 점에서 이상적인 텍스트 탐지 솔루션이라고 할 수 있습니다.
아래 문단부터 차근차근 설명을 드리겠습니다.
Introduction
세그멘테이션 기반 방식은 다양한 형태의 텍스트를 정확히 표현할 수 있어 주목받고 있지만, 후처리 과정에서 복잡성과 속도 저하 문제가 있었습니다. 이를 해결하기 위해 DB(Differentiable Binarization) 모듈을 제안하며, 세그멘테이션 네트워크에 이진화 과정을 통합해 학습 단계에서 최적화 가능하게 설계했습니다. DB는 적응형 임계값을 학습하여 픽셀 단위로 전경과 배경을 효과적으로 구분합니다.
아래 그림에서, 파란색 부분은 기존의 전통적인 방법을 의미하고 빨간색 부분은 본 논문에서 제안하는 방법입니다. 오히려 한가지 추가 단계가 있음에도 불구하고 더 빠른 속도와 정확도를 보여준다는 점이 특징입니다.

간단하게 저자가 설명하는 DBNet의 특징에 대해서 설명드리겠습니다.
- 수평, 다중 방향, 곡선 텍스트를 포함한 다섯 가지 벤치마크 데이터셋에서 일관되게 우수한 성능을 보입니다.
- DB 모듈은 견고한 이진화 맵을 생성하여 후처리를 단순화함으로써 기존 선도적 방법들보다 훨씬 빠른 속도를 제공합니다.
- 경량 백본인 ResNet-18을 사용할 때도 탐지 성능을 크게 향상시키며 높은 효율성을 보여줍니다.
- 추론 단계에서 DB를 제거해도 성능 저하 없이 추가 메모리나 시간 비용 없이 동작합니다.
Methodology

- 입력 이미지가 feature pyramid 백본 네트워크에 들어갑니다.
- 생성된 pyramid feature 맵은 동일한 스케일로 업샘플링되어 결합된 Feature F를 생성합니다.
- Feature F를 이용해 확률 맵(P)과 임계값 맵(T)을 예측합니다.
- 이후, 확률 맵(P)과 임계값 맵(T)을 기반으로 근사 이진 맵(B̂)을 계산합니다.
1. Binarization
1-1. Standard Binarization

기본적인 binarization은 위처럼 구성됩니다.
각 픽셀 값이 고정된 임계값 tt보다 크면 1, 작으면 0으로 변환합니다. 하지만 이진화 함수는 비분화 가능(non-differentiable)하여, 네트워크와 함께 학습이 불가능합니다. (그냥 미분이 불가능하다고 생각하시면 될 것 같습니다.)
1-2 .Differentiable Binarization (DB)

DB는 이진화 과정을 근사하는 함수로 변환하여 학습 가능하도록 설계되었습니다. DB는 표준 이진화와 유사한 결과를 제공하지만, 경사 하강법을 통해 네트워크와 함께 최적화가 가능합니다. 즉, 미분이 된다는 것입니다.
- B^hat_i,j: 근사 이진 맵
- P_i,j: 확률 맵의 픽셀 값
- T_i,j: 픽셀 단위 적응형 임계값
- k: 증폭 계수로, 경계의 기울기를 조정 (50으로 설정)
해당 방법을 사용하면 아래와 같은 장점들이 있습니다.
- End-to-End 학습
- 이진화 과정을 네트워크에 통합하여, 세그멘테이션과 이진화의 일관성을 보장.
- Post-Processing 단순화
- 네트워크가 이진화 맵을 직접 학습하므로 후처리 복잡성이 감소.
- 추론 단계에서 제거 가능
- Threshold Branch를 제거해도 근사 이진 맵 또는 확률 맵으로 바운딩 박스를 생성 가능하여 성능 저하 없이 추론 속도를 향상.
저도 글로 적다보니 햇갈리는 부분이 있는데요, 쉽게 설명하자면 실제 저희가 추론하고자 하는 영역과 배경 영역을 좀 더 효과적으로 분리해줄 수 있는 역할을 한다고 이해했습니다.
2. Adaptive Threshold
적응형 임계값 맵(Adaptive Threshold Map)은 텍스트 경계와 유사한 모양을 가지지만, 기존의 Text Border Map과는 동기와 사용 목적이 다릅니다.
- Threshold Map과 Text Border Map의 차이점
- Threshold Map은 텍스트 경계 영역을 강조하며, 이 영역이 텍스트와 배경을 분리하는 기준이 됩니다.
- Text Border Map(Xue et al., 2018)은 텍스트 인스턴스를 분리하기 위해 사용되며, Threshold Map은 이진화를 위한 임계값 역할을 수행합니다.
- Threshold Map의 유용성
- Threshold Map은 별도의 감독 학습(supervision)이 없어도 경계 영역을 강조하며, 이 특징은 최종 이진화 결과에 긍정적인 영향을 미칩니다.
- 감독 학습을 추가하면, 지도 정보가 Threshold Map을 더욱 정교하게 만들어 최종 탐지 결과를 향상시킵니다.
- Border-like Supervision의 적용
- Threshold Map에 경계와 유사한 지도 정보(border-like supervision)를 추가하여 텍스트와 배경을 더욱 명확히 구분합니다.
- 경계 영역의 정확성이 높아지며, 가까이 붙어 있는 텍스트 인스턴스도 효과적으로 분리할 수 있습니다.
- Ablation Study로 검증된 효과
- Experiments 섹션의 실험 결과를 통해, 지도 정보의 유무가 성능에 미치는 영향을 검증했습니다. 지도 정보를 추가했을 때, 텍스트 탐지 성능이 일관되게 향상되었습니다.

요약하자면, Threshold Map은 텍스트 탐지에서 텍스트와 배경을 구분하는 중요한 역할을 하며, 지도 학습을 통해 경계 영역을 더욱 정확히 탐지할 수 있습니다. 이를 통해 텍스트 탐지의 정확도와 효율성을 동시에 개선합니다. 해당 이론에 대한 논문을 읽고 정리를 했는데 명확하게 이해가 안되시면 댓글로 언제든 물어주시면 답변드리겠습니다

3. Deformable Convolution
텍스트의 다양한 크기 및 비율을 처리하기 위해 Deformable Convolution을 사용합니다. 기존 합성곱의 고정된 커널 구조 대신, 변형 가능한 receptive field를 제공하여 다양한 형태의 텍스트를 효과적으로 탐지합니다. ResNet-18 또는 ResNet-50 백본의 conv3, conv4, conv5 레이어에 적용되어 성능을 강화합니다.
블로그 이전 글에서도 deformable convolution에 대해 자세하게 정리해놓은 글이 있으니 그 글을 참고하시면 더 좋을 것 같습니다.
4. Label Generation

Label Generation은 텍스트의 확률 맵(Probability Map)과 임계값 맵(Threshold Map)을 생성하기 위한 과정으로, 각 텍스트 인스턴스를 올바르게 표현하기 위해 중요한 역할을 합니다. 본 논문에서는 PSENet의 방법론을 참고하여 텍스트 영역의 다각형(Polygon) 정보를 활용해 라벨을 생성합니다.
1. 텍스트 영역의 다각형 G

텍스트 영역은 위의 수식으로 정의되며, n은 다각형의 꼭짓점 개수를 나타냅니다.
2. Shrink Polygon (내부 텍스트 영역 G_s)

텍스트 내부 영역을 생성하기 위해 다각형 G를 축소합니다. 축소된 다각형 G_s는 텍스트의 실제 내용(내부 텍스트)을 나타냅니다. 축소된 영역은 텍스트의 중심부를 강조하며, 이 정보는 확률 맵(Probability Map)의 라벨로 사용됩니다.
위의 수식에서 A는 다각형 G의 면적, L은 다각형 G의 둘레, r은 축소 비율(논문에서는 0.4)을 의미합니다.
3. Dilate Polygon (외곽 경계 영역 G_d)

텍스트 외곽 경계 영역을 생성하기 위해 다각형 G를 확장하는데 확장된 다각형 G_d는 텍스트 경계 정보를 포함합니다. 확장 오프셋 D와 동일한 방식으로 계산하게 됩니다.
4. Threshold map 생성
Threshold Map은 G_d와 G_s의 경계 영역을 활용하여 생성됩니다. G_d외곽 경계 영역, G_s는 내부 텍스트 영역을 의미합니다. Threshold Map의 각 픽셀 값은 경계까지의 거리를 계산하여 생성됩니다.
요약하자면, 확률 맵(Probability Map)은 텍스트의 내부 영역 정보를 학습하고 임계값 맵(Threshold Map)은 경계 영역 정보를 학습하여 텍스트와 배경을 구분합니다. 이를 통해 텍스트와 배경을 명확히 분리하고, 텍스트 간 간격이 좁은 경우에도 효과적으로 탐지할 수 있다고 합니다. PSENet이라는 논문이 따로 있을만큼 해당 내용이 쉽지만은 않은데 나중에 기회가 되면 따로 정리하도록 하겠습니다.
Experiments와 Conclusion은 실험 결과 및 토의 부분이기 때문에 따로 적지는 않았습니다.
'Machine Learning > Image' 카테고리의 다른 글
Faster-DAN (0) | 2024.12.23 |
---|---|
Document Attention Networks (DAN) (0) | 2024.12.19 |
Efficient DETR (1) | 2024.10.14 |
Panoptic SegFormer (0) | 2024.10.07 |
Conditional-DETR : for Fast Training Convergence (1) | 2024.09.25 |