1. 서 론
스마트폰을 이용한 문서스캐닝 어플리케이션이 널리 사용되고 있다[1]. 이것은 별도의 스캐너 장비를 이용할 필요가 없어 간편하고, 문서를 사진으로 찍어 저장하는 것보다 공간절약이 된다는 장점을 가지고 있다. 일부 어플리케이션은 스캔된 이미지에서 문자를 인식하여 문자를 자동 추출하는 기능을 가지고 있다[2-4]. 이러한 어플리케이션은 명함, 영수증, 필기노트 등을 쉽게 관리할 수 있도록 한다.
문서 스캐닝의 첫 단계에서는 입력된 이미지에 대해 이진화 작업을 수행한다. 이미지는 별도의 스캐너 장비를 이용하거나, 스마트폰 등의 기기에 부착된 카메라를 통해 획득할 수 있다. 이러한 이미지들은 컬러이거나 그레이스케일 이미지들이므로, 흑과 백의 색으로만 구성된 이진화 작업을 통해 처리해야 할 데이터 용량을 줄인다. 본 논문에서는 카메라 등의 영상기기를 통해 획득한 이미지의 이진화를 다룬다. 이진화 작업은 데이터 용량을 줄일 뿐만 아니라, 불필요한 잡음이나 문자와 상관없는 영역을 삭제하는 데도 필요하다. 특히 스마트폰 카메라는 촬영조건의 영향을 받기 때문에 획득한 영상에서 여러 가지 잡음 들이 발생할 수 있다. 이진화 알고리즘은 주변 픽셀들의 정보를 이용하여 이러한 잡음들을 이진화 결과에서 제거할 수 있다. 이 과정을 통해 문자와 관계있는 부분들만 추출할 수 있다.
이진화의 성능을 개선하기 위해 문자를 포함하고 있을 확률이 높은 영역에 대해서만 이진화를 수행하는 방법이 제안되었다[5]. 이 방법에서는 문서 이미지가 배경 영역과 문자 영역으로 구분된다고 가정한다. 배경영역은 문자를 포함하지 않는 부분을 말한다. 배경 영역에 대한 이진화를 생략하면 연산량을 줄일 수 있다.
문자 영역을 찾아내기 위해 사용되는 Maximally Stable External Region (MSER) 알고리즘은 주변에 비해 밝거나 어두운 영역 중, 임계값을 변화시키면서 변화율이 작은 영역을 찾는다[6]. 문자 영역은 일반적으로 배경과 구분되기 쉽고 일정한 밝기 값을 가진다. 문자 영역의 이러한 특징은 MSER 방법에 의해 검출되기 적합하다.
이진화에 사용되는 대표적인 방법은 하나의 임계값을 기준으로 하는 전역적 이진화이다[7,8]. 입력 문서 영상의 밝기 값이 전체적으로 일정한 경우 이 방법이 효과적이다. 하지만 입력 영상의 조명 조건이 다를 경우, 각 영상마다 적절한 임계값을 설정해야 한다. 이를 해결하기 위해 [7]는 입력 영상 히스토그램의 분산을 고려하여 임계값으로 설정한다. [8]은 영상의 밝기 분포를 분석하여 임계값을 계산하는 방법을 제안하여 히스토그램이 양봉의 특징을 보이지 않을 경우 임계값을 정하기 어려운 [7]의 단점을 개선하였다.
조명조건에 의존적인 전역적 이진화 방법의 단점을 극복하기 위해 적응적 이진화 방법이 제안되었다[9,10]. [9]에서는 관심 픽셀을 중심으로 지역 창을 만들고, 그 안에 포함되는 주변 픽셀들의 정보를 이용해 임계값을 결정한다. [10]은 임계값 계산 성능개선을 위해 [9]의 방법에 표준편차의 동적범위를 이용한다.
또 다른 이진화 방법으로는 문자 픽셀과 문자 폭의 추정으로 대비 영상을 얻고, 이로부터 이진 영상을 얻는 방법이 있다[11]. 이 방법은 입력 영상의 문자 폭이 일정하고, 문자 픽셀의 검출 정확도가 높을 경우 효과적이다. 하지만 초기 추정 값이 부정확하거나 문자 폭이 일정하지 않으면 좋은 결과를 기대하기 어렵다는 단점이 있다.
본 논문에서는 기존 방식들의 단점을 개선해 잡음에 강인한 방법을 제안한다. 이를 위해 반복적인 다운/업 샘플링을 통해 영상에서 잡음을 감소시키고, MSER을 이용하여 추출된 문자 영역별로 별도의 임계값을 이용한다. 기존에는 모든 문자 영역에 동일한 임계값만을 사용하여 이진화를 수행하였기 때문에, 문자 영역별로 다를 수 있는 특징을 반영할 수 없었다.
본 논문은 다음과 같이 구성된다. 2장에서는 제안하는 시스템의 이진화 방법을 4가지 단계로 나눠 설명한다. 3장에서는 제안한 방법을 구현한 이진화 시스템의 성능을 측정한다. 4장에서는 논문을 결론짓는다.
2. 문서 영상 이진화 시스템
제안하는 이진화 시스템은 Fig. 1과 같이 순차적인 4단계로 동작한다. 첫 번째 단계에서는 입력 영상을 그레이스케일로 변환해 대비 이진 영상 Icb를 생성한다. 두 번째 단계에서는 샘플링 과정을 통해 잡음들을 제거하고 문자 영역을 강조해 영상 Ids을 만든다. 세 번째 단계에서는 MSER을 이용해 문자 영역을 검출한 영상 IMSER를 생성한다. 마지막 단계에서는 영상 Ids와 IMSER를 이용해 이진화 된 문서 영상Ibin을 생성한다.
첫 번째 단계에서 영상 Icb를 구하기 위해 대비 영상 Ic를 계산하는데, 이 때 식 (1)을 이용한다.
Fig. 1.Flow chart of the proposed binarization method.
여기에서 ⨍max(x,y)는 n×n크기 지역 창을 구성하는 픽셀들 중 최대 밝기 값을 의미하고, ⨍min(x,y)는 최소 밝기 값을 의미한다. ϵ은 분모가 0이 되는 것을 막기 위해 더해주는 아주 작은 양의 수이다. 예를 들어 Fig. 2(a) 입력영상에 대해 계산된 영상 Ic는 Fig. 2(b)와 같다. 이 후 Ic에 전역적 이진화를 수행한 결과 영상 Icb는 Fig. 2(c)이다.
Fig. 2.Images at various steps. (a) input image, (b) contrast image Ic, (c) contrast binary image Icb.
두 번째 단계에서는 영상 Icb의 잡음 픽셀들을 제거하여 문자 영역을 강조한다. 이를 위해 가우시안 커널을 영상에 컨볼루션하고, 짝수 번 째 행과 열을 삭제하여 1/4 크기로 다운 샘플링 한 뒤 원래 크기로 업 샘플링 한다. 이 과정에서 영상이 흐릿해지는데 이 때 [7]의 이진화 방법을 적용하면 잡음이 소거된다. 다운 샘플링을 연속해서 적용할 경우 더 큰 영역을 갖는 잡음들을 제거할 수 있지만, 문자 영역의 일부도 제거되는 문제가 발생한다.
Fig. 3은 두 번째 단계 수행 과정과 결과 영상 Ids를 보여준다. 입력영상 Fig. 3(a)에 대해 두 번의 다운샘플링을 수행하면, Fig. 3(c)를 얻을 수 있고, 다시 업샘플링 두 번을 수행하여 Fig. 3(e)를 얻을 수 있다. 여기에 [7]의 이진화 방법을 적용하면 잡음이 제거되고 문자 영역이 강조된 영상 3(f)를 얻을 수 있다.
Fig. 3.Noise removal by sampling. (a) Image Icb , (b) once down-sampled image, (c) twice down-sampled image, (d) once up-sampled image, (e) twice up-sampled image, (f) binaryzation image.
세 번째 단계에서는 MSER 방법을 이용해 문자 영역에 속하는 픽셀들과 배경 영역에 속하는 픽셀들을 구분한다. Fig. 4(a)는 Fig. 2(a)에 MSER을 적용한 결과 영상이다. 이 때 사각형으로 둘러싸인 부분이 문자 영역들이고, 나머지는 배경 영역이 된다. 문자 영역들은 중복되는 여러 개의 사각형들로 둘러싸여 있는데, 이 중 가장 외곽의 사각형이 문자 영역을 포함하고 있으므로, 내부 사각형들은 제거한다. Fig. 4(b)는 제거한 결과를 보여준다.
Fig. 4.Result image of MSER. (a) MSER image, (b) The resulting image after the inner rectangles are removed.
내부 사각형들을 제거한 Fig. 4(b)를 보면, 1, 2, 3, 4로 표시된 부분과 같이 배경영역이 문자 영역으로 잘못 검출 된 경우를 볼 수 있는데, 이 부분들은 제거되어야 한다. 이를 위해, 사각형을 구성하는 전체 픽셀들 중 검정색 픽셀들의 비율을 이용한다. 이 비율이 일정 값 이상일 때만, 문자 영역으로 판단하고, 그렇지 않을 경우 배경영역으로 판단하여 제거한다. 이를 수식으로 표현하면,
여기에서 Ri는 i번 째 사각형에 속하는 픽셀들의 집합을 의미하고, k는 상수이다. 따라서 S는 사각형의 픽셀들 중 검정색 픽셀들의 집합이 된다. Fig. 5는 잘못 검출된 문자 영역들을 제거한 결과 영상 IMSER이다.
Fig. 5.The resulting image after the rectangles including background pixels are removed.
마지막 네 번째 단계에서는 이전 단계에서 얻어진 영상 IMSER, Icb, 그리고 Ids를 이용하여 영상을 이진화하는데, 이를 위해 먼저 임계값들을 계산한다. 문자 영역 Ri에 포함된 픽셀들 중 영상 Icb와 Ids에서 0값을 가지는 픽셀들의 좌표 집합을 Pi라 하자. 그리고 입력 영상 Iin에서 집합 Pi 의 원소 좌표에 해당하는 픽셀값들의 집합을 Qi라 하자.
임계값은 집합 Qi에 속한 픽셀들의 평균과 표준 편차를 이용하여 구한다. Pi 의 원소이면서 임계값보다 작은 픽셀은 0으로, Pi 에 포함되지 않는 위치는 픽셀값과 상관없이 1로 만들어 영상 Ibin 를 구한다. 문자 영역별로 임계값을 계산하기 때문에 임계값은 상이할 수 있다. 계산식은 아래와 같다.
위 식에서 Qmean은 집합 Qi의 픽셀 값들의 평균, Qstd는 표준 편차를 의미한다. Fig. 6은 계산 결과를 보여준다.
Fig. 6.Result of binarization. (a) Input image, (b) Result image.
3. 이진화 시스템 성능 평가
성능 평가를 위해 두 가지 실험을 진행하였다. 첫번째로, 테스트영상에 대해 기존의 방법들과 제안하는 방법을 각각 적용했을 때의 결과를 비교하였다. 두 번째로, 다양한 영상들을 입력 영상으로 이용했을 때 제안 방법의 이진화 결과가 적합한지 확인하였다. 또한, 이진화 방법 별 수행 시간 측정 실험과 식 (5)와 같이 정의되는 F-measure 측정 방법을 이용해 성능을 수치화 하였다. 아래 식에서 TP, FN, FP는 각각 True Positive, False Negative, False Positive에 해당하는 픽셀 수를 의미한다.
첫 번째 실험의 비교대상 방법들로는 Yu[5], Otsu[7], Niblack[9], Sauvola[10], Su[11]을 이용하였다. 실험에 사용된 영상으로는 Fig. 7과 같이 Handwritten Document Image Binarization Contest (H-DIBCO)[12]에서 제공하는 얼룩, 번짐, 지운 자국 등의 잡음이 포함된 문자 영상들을 사용하였고, Fig. 7(b)의 영상에는 명확한 성능 비교를 위하여 별도의 소금&후추 잡음을 추가하였다. 편의상 Fig. 7(a)의 영상을 테스트영상 1로, Fig. 7(b)의 영상을 테스트영상 2로 지칭한다.
Fig. 7.Test Images. (a) Test image 1, (b) Test image 2.
각 방법들은 리눅스 플랫폼 Ubuntu 14.04에서 OpenCV 3.0 alpha[13]라이브러리 함수들을 사용하여 구현하였다. 영상별로 파라미터 설정이 필요한 경우 사용한 값들은 Table 1과 같다. 기존 방법 [7]과 [11]은 파라미터를 사용하지 않으며, 나머지 방법에서 사용된 파라미터 k는 사용자가 정한 임의의 상수이고, R은 최대표준편차 값을 말한다.
Table 1.Experiment parameters
Fig. 8은 테스트영상 1에 대한 각 방법별 이진화 수행 결과를 보여준다. 몇몇 방법들은 잡음을 제거하는데 성공적이지 못했다. 예를 들어 전역 임계값을 이용하는 방법 Otsu[7]의 결과 Fig. 8(b)는 일부 잡음 픽셀들이 완전히 제거되지 못했음을 볼 수 있다. 지역 임계값을 이용하는 방법 Niblack[9]의 결과인 Fig. 8(c)는 배경 영역을 효과적으로 제거하지 못하였다. Sauvola[10] 방법은 Niblack[9] 방법을 개선한 것임에도 불구하고, Fig. 8(d)에서 문자 영역 상단부에 잡음이 남아있음을 확인하였다. 반면 제안한 방법의 결과인 Fig. 8(f)와 방법 Yu[5]의 결과인 Fig. 8(a), 방법 Su[11]을 이용한 Fig. 8(e)에서는 앞선 방법들보다 잡음이 개선되었음을 볼 수 있다.
Fig. 8.Result comparison of binarization methods. (a) Yu[5], (b) Otsu[7], (c) Niblack[9], (d) Sauvola[10], (e) Su[11], (f) Proposed method.
Fig. 9는 테스트영상 2에 대한 각 방법별 이진화 결과를 보여준다. 제안 방법의 결과인 Fig. 9(f)가 다른 결과들 Fig. 9(a)~(e)에 비해 잡음 제거에 우수함을 알 수 있다. 방법 Otsu[7]의 결과인 Fig. 9(b)와 방법 Niblack[9]의 결과인 Fig. 9(c) 그리고 Fig. 9(d)의 Sauvola[10] 방법은 문자들에 대해서는 이진화에 성공했지만 배경 영역의 잡음들을 제거하지 못하였다. 테스트영상 1의 이진화 결과에서 제안 방법과 비슷한 성능을 보였던 Yu[5]과 Su[11] 방법의 결과인 Fig. (a)와 Fig. (e)는 테스트영상 2의 이진화 결과 문자를 식별 할 수 없을 정도로 소금&후추 잡음과 같이 크기가 작고 수가 많은 잡음에 취약한 모습을 보였다.
Fig. 9.Result comparison of binarization methods. (a) Yu[5], (b) Otsu[7], (c) Niblack[9], (d) Sauvola[10], (e) Su[11], (f) Proposed method.
Fig. 10은 두 번째 실험의 결과로, 다양한 샘플 영상들에 대한 제안 방법의 이진화 결과들을 보여준다. 실험에 사용된 영상으로는 [12]에서 2009년도와 2010년도에 사용했던 영상들 중 일부를 사용하였다. 위의 그림을 통해 제안 방법이 흐려짐, 얼룩짐, 지운 자국 등의 잡음으로 품질 저하된 입력 영상에 대해서도 좋은 이진화 결과를 보임을 알 수 있다.
Fig. 10.Binarization results of proposed method. (a) Sample images, (b) Result images.
Fig. 11은 이진화 방법 별로 테스트영상들에 대한 수행시간을 보여준다. 측정 시간 단위는 ms이며 방법 별 30번의 측정을 통해 평균값을 계산하였다. 제안방법은 연산량이 가장 많아 기존방법들[8,9,10]보다 약 2.13배 정도 증가했다. 전역적 이진화인 Otsu[7] 방법의 수행 시간이 가장 짧았으며, 복잡한 연산이 포함되어 있지 않은 Niblack[9], Sauvola[10] 방법도 제안방법보다 약 100ms정도의 빠른 수행 시간을 보였다. 텍스트 픽셀 폭을 추정하는 연산이 포함된 Su[11] 방법은 약 178ms의 수행 시간을 보였으며, Su[11]의 방법에 문자 영역 추출 방식을 더한 Yu[5]의 방법은 제안 방법과 비슷한 수행 시간을 보였다.
Fig. 11.Performance time by binarization methods.
Table 2는 본 논문의 실험에 사용된 8가지의 문서 영상들에 대한 각 방법별 F-Measure 측정치의 평균을 나타낸 것이다. 제안 방법이 다양한 잡음이 포함된 문서 영상에 대해 좋은 이진화 결과를 보임을 확인할 수 있다. 제안 방법은 [5]의 방법과 같이 문자영역 검출 알고리즘을 이용하지만 샘플링을 통한 문자 영역 내부의 잡음 제거를 통해 좋은 결과를 보였다. [10]의 방법이 제안 방법과 가장 유사한 결과를 보이지만, [10]의 방법은 영상 전체적으로 잡음이 있는 경우 초기에 추정되는 문자 영역이 실제와 달라져 좋은 결과를 기대하기 어렵다는 단점을 가진다.
Table 2.Evaluation results of binarization methods.
4. 결 론
본 논문에서는 잡음에 효과적으로 대응하기 위해 문자영역만 추출하여 이진화하는 방법을 제안하였다. 이를 위해 업/다운 샘플링의 반복적용과 개선된 MSER기반 문자 영역 검출 방식을 이용하였다. 특히 문자영역 검출에 있어서는 영역별로 다른 임계값을 이용하는 방법을 적용함으로써, 문자영역을 효과적으로 검출할 수 있었다. 제안한 방법의 성능을 기존 방법들과 비교하기 위해 테스트영상들을 이용하여 실험을 진행하였다. 실험 결과, 제안방법은 잡음을 개선하는데 있어 기존 방법들보다 효과적임을 확인할 수 있었다. 제안방법에서는 잡음제거 연산 때문에 수행시간이 다소 증가하였으나, 기존 방법들 중 잡음제거 효과가 유사한 방법에 해당하는 수준이었다.
References
- Jet Scanner, https://play.google.com/store/apps/details?id=com.stoik.jetscan (accessed Jan., 13, 2015).
- DocScanner, http://www.docscannerapp.com (accessed Jan., 13, 2015).
- CamScanner, https://play.google.com/store/apps/details?id=com.intsig.camscanner&hl=ko (accessed Feb., 4, 2015).
- TextGrabber + Translator: OCR recognize, translate and save editable text from any printed material, https://itunes.apple.com/us/app/textgrabber/id438475005?mt=8, (accessed Feb., 15, 2015).
- Y. Yu, “Document Image Binarization Technique using MSER,” Journal of the Korea Institute of Information and Communication Engineering, Vol. 18, No. 8, pp. 1941-1947, 2014. https://doi.org/10.6109/jkiice.2014.18.8.1941
- J. Matas, O. Chum, M. Urban, and T. Pajdla, “Robust Wide Baseline Stereo from Maximally Stable Extremal Regions,” Proceeding of the British Machine Vision Conference, pp. 384-393, 2002.
- N. Otsu, “A Threshold Selection Method from Gray Level Histogram,” IEEE Transactions on System, Vol. 19, No. 1, pp. 62-66, 1978.
- G. Park, J. Kim, and K. Kim, “A Study on Enhanced Binarization Method by Using Intensity Information,” Proceeding of the Spring Conference of the Korea Multimedia Society, pp. 441-445, 2003.
- W. Niblack, An Introduction to Digital Image Processing, Prentice-Hall, Englewood Cliffs, NJ, 1986.
- J. Sauvola and M. Pietikainen, “Adaptive Document Image Binarization,” Pattern Recognition, Vol. 33, No. 2, pp. 225-236, 2000. https://doi.org/10.1016/S0031-3203(99)00055-2
- B. Su, S. Lu, and C.L. Tan, “Robust Document Image Binarization Technique for Degraded Document Images,” IEEE Transactions on Image Processing, Vol. 22, No. 4, pp. 1408-1417, 2013. https://doi.org/10.1109/TIP.2012.2231089
- H-DIBCO, http://utopia.duth.gr/~ipratika/HDIBCO2012/, (accessed Mar., 30, 2015).
- OpenCV, http://opencv.org (accessed Apr., 3, 2015).
Cited by
- 한글 음식 메뉴 인식을 위한 OCR 기반 어플리케이션 개발 vol.21, pp.5, 2015, https://doi.org/10.6109/jkiice.2017.21.5.951
- 세포 영상 추출을 위한 LVQ_Merge 군집화 알고리즘 vol.20, pp.6, 2015, https://doi.org/10.9717/kmms.2017.20.6.845
- 자연영상에서 문자의 형태 분석을 이용한 문자영역 추출에 관한 연구 vol.9, pp.11, 2015, https://doi.org/10.15207/jkcs.2018.9.11.061