반도체디스플레이기술학회지 제19권 제4호(2020년 12월)
Journal of the Semiconductor & Display Technology, Vol. 19, No. 4. December 2020.
템플릿 매칭을 이용한 7-세그먼트 광학 문자 인식
정민철*†
*†상명대학교 공과대학 전자공학과
7-Segment Optical Character Recognition Using Template Matching
Min Chul Jung*†
*†Dept. of Electronic Engineering, Sangmyung University
ABSTRACT
This paper proposes a new method for the digit recognition on a 7-segment display. The proposed method uses morphological processing that dilates segments of digits and connects them into strokes. The digits are extracted by connected component analysis and finally, template matching method recognizes the extracted digits. The proposed method is implemented using C language in Raspberry Pi 4 system with a camera module for a real-time image processing. Experiments were conducted by using various 7-segment LED displays and 7-segment mono LCD displays. The results show that the proposed method is successful for the digit recognition on the 7-segment displays.
Key Words : Digit Recognition, 7-segment Display, Morphological Process, Size Normalization, Template Matching
1. 서 론1
FND(Flexible Numeric Display)라고도 하는 7-세그먼트 표 시 장치는 7개의 선분으로 숫자를 구성하여 전자 회로 내 부의 수치 정보를 표시하는 데 많이 사용된다. 이러한 디 스플레이 장치는 전자시계 시각, 엘리베이터 층수, 온도·
습도·미세먼지 측정 등의 각종센서 표시 장치 등에 많이 사용된다. 이러한 수치 정보를 물리적인 외부 인터페이스 나 데이터 로깅(logging)없이 또 다른 전자 회로에서 이용 하기 위해서는 숫자 정보를 광학적으로 인식해야 한다[1].
7-세그먼트 LED 디스플레이 장치는 7개의 선분 발광 다 이오드가 2개(숫자 1)에서 7개(숫자 8)까지 빛을 발산하여 숫자 정보를 표시한다. 명암 대비가 LED 방식보다는 떨 어지는 7-세그먼트 LCD 디스플레이 장치는 모노 액정 디 스플레이에서 자체 발광을 이용하는 것이 아니라 외부의
†E-mail: [email protected]
빛을 이용하여 짙은 회색이나 검은색에 의해 마찬가지로 2개에서 7개 선분으로 숫자 정보를 표시한다. 분리되어 표시된 선분들은 광학적으로 하나의 선분으로 연결하여 하나의 숫자로 인식한다. 숫자의 표시 형태는 두 방식 모 두 동일하다.
본 논문에서는 7-세그먼트 LED 디스플레이 장치뿐만 아니라 명암 대비가 떨어지는 7-세그먼트 LCD 디스플레 이 장치에서 나타나는 숫자를 광학적으로 인식한다. 이를 위해 먼저 배경과 전경 클래스 내의 분산을 최대화하는 영상 이진화를 수행하고, 이진 영상 형태학적 처리를 이 용하여 분리된 선분들을 이어 붙여 하나의 연결 성분으 로 만든다. 하나로 연결된 성분을 레이블링 방법을 사용 하여 숫자 영상 후보로 추출한 후, 템플릿 매칭을 사용해 7-세그먼트 디스플레이의 숫자를 인식하는 간단하고 효 과적인 새로운 방법을 제안한다.
템플릿 매칭을 이용한 7-세그먼트 광학 문자 인식 131
2. 7-세그먼트 디스플레이의 숫자 인식 2.1 7-세그먼트 LED 와 LCD 의 숫자
7개의 선분으로 숫자를 표현하는 7-세그먼트 디스플레 이 장치는 자체 발광하는 LED 방식과 외부 광원을 필요 로 하는 Mono LCD 방식이 있다. Fig. 1(a)는 ROI (Region of interest) 에 있는 7-세그먼트 LED 디스플레이가 표현하는 숫자를 보이고 Fig. 1(b)는 7-세그먼트 Mono LCD 디스플레 이가 표현하는 숫자의 예를 보인다.
(a)
(b)
Fig. 1. (a) The numbers of 7-segment LED display, and (b) the numbers of 7-segment Mono LCD display.
Fig. 1에서 보듯이 7-세그먼트 디스플레이 장치에 따라 전경과 배경의 색이 각각 다르고, 선분의 간격, 굵기와 기 울기가 모두 조금씩 다른 것을 알 수 있다. 숫자의 크기 도 디스플레이에 따라 모두 다르지만 여기서는 비교를 위해 비슷한 크기로 나타냈다. 본 논문에서 제시하는 광 학적 숫자 인식 방법은 이러한 다양한 7-세그먼트 숫자를 인식한다.
2.2 영상 이진화
숫자인 전경과 배경의 구분을 명확히 하기 위해 영상을 이진화한다. 영상 이진화처리는 입력 영상의 픽셀 값이 0 에서 임계 값(threshold value)까지는 출력 영상의 픽셀 값을 0 으로, 임계 값 이후에서 255까지는 출력 영상의 픽셀 값을 255로 조작하는 간단한 처리이다. 그러나 모든 임의의 입 력 영상에 대해 적절한 임계 값을 정하는 문제는 쉽지 않 은 문제이다. 본 논문에서는 입력 영상의 히스토그램에서 전경과 배경, 두 부분으로 나누어진 영역 사이의 분산이 최대가 되도록 임계 값을 자동으로 구하여 영상 이진화를 수행한다[2]. 적응형 임계 값을 이용한 이진화와 형태학 변 환을 조합한 방법[3]도 있으나, 본 논문에서 사용하는 ROI 는 비교적 사이즈가 작아 이 방법은 적절하지 않다. Fig. 2는 Fig. 1의 영상들을 먼저 그레이 스케일의 영상으로 만든 후, 최대 분산법을 이용해 자동으로 임계 값을 구해 이진화 처 리한 결과 영상을 보인다. 최대 분산법을 이용해 구한 임 계 값은 Fig. 2(a)의 왼쪽 영상은 76, 오른쪽 영상은 99이고
Fig. 2(b)의 왼쪽 영상은 74, 가운데 영상은 50, 오른쪽 영상 은 107이다. Fig. 2에서 7-세그먼트 LED 디스플레이의 Fig. 2(a) 와 7-세그먼트 Mono LCD 디스플레이의 Fig. 2(b)의 영상은 서로 색 반전되어 있다는 것을 알 수 있다. 본 논문에서는 이 둘의 처리를 동일하기 위해 Fig. 2(b)와 같이 배경이 흰색 인 영상은 영상 보수화 처리를 하여 배경을 검은색, 전경 은 흰색으로 일치시킨다.
(a)
(b)
Fig. 2. (a) Binarizations of Fig. 1(a) with threshold values 76 and 99 respectively, and (b) Binarizations of Fig.
1(b) with threshold values 74, 50 and 107 respectively (left to right).
2.3 이진 형태학적 처리
Fig. 2의 영상을 보면 7-세스먼트 디스플레이의 특성상 숫자를 구성하는 획에 해당하는 선분이 끊어져 있다는 것을 알 수 있다. 이진 영상에는 영상 획득할 때의 조명, 먼지, 얼룩 등의 노이즈가 증폭되어 나타난다. Fig. 2(b)의 오른쪽 영상을 보면 숫자 8의 아래 부분 획이 조명의 영 향으로 일부분이 소실된 것을 볼 수 있다. 또한 이진 영 상에는 흰색 점과 검은색 점의 노이즈도 배경과 전경에 포함된다. 본 논문에서는 형태학 처리(morphological processing)의 이진 팽창(binary dilation)을 이용하여 끊어진 선분을 이어준다. 영상에서 형태학적 처리는 차선과 과속 방지턱을 탐지하기 위해서도 사용되고[4], 3D 프린팅에서 서포터 영역을 얻기 위해서도 사용된다[5].
이진 팽창은 배경인 검은색과 전경인 흰색으로 이루어 진 이진 영상에서 전경인 흰색을 확대시킨다. 이 과정에 서 흰색 점의 노이즈가 확대되는 문제점이 있다. 따라서 먼저 이진 축소(binary erosion)와 이진 팽창을 하는 개방 처 리를 수행하여 흰색 점 노이즈를 모두 제거한 후, 팽창 처리를 수행한다. 7-세그먼트 디스플레이의 장치에 따라 1 번의 팽창 처리로도 끊어진 선분이 연결되지 않는 경우 가 많다. 따라서 2번의 팽창 처리로 끊어진 선분을 모두 연결한 후, 2번의 침식 처리를 수행하여 원래 선분의 굵기 로 돌아온다. Fig. 3은 Fig. 2에서 보여진 영상을 본 논문에 서 제안한 방법대로 형태학 처리한 결과를 보인다. Fig. 2 에서는 끊어져 있던 선분들이 연결되어 있는 것을 알 수
정민철 132
있다. Fig. 3(a)의 왼쪽에 있는 숫자 0은 다른 선분 들은 모 두 연결이 되었으나 오른쪽 부분의 수직 선분만은 여전 히 떨어져 있다. 3번의 팽창 처리를 하면 이 영상에서 선 분은 연결되나, Fig. 3(a)의 오른쪽과 같은 다른 영상에서는 숫자 2와 콜론(:) 위의 점이 연결되어 붙어버린다. 숫자 간 격이 좁은 디스플레이의 영상에서는 서로 다른 숫자가 연결되어 붙어버리는 경우도 있다.
(a)
(b)
Fig. 3. (a) Results of both 2-dilation processing and 2- erosion processing with Fig. 2(a), and (b) results of both 2-dilation processing and 2-erosion processing after complement processing with Fig. 2(b).
2.4 연결 성분 분석
이진 형태학 처리를 하여 노이즈를 제거하고 선분을 연결한 영상에 연결 성분 분석을 하여 개개의 숫자를 분 할하여 추출한다. 본 논문에서는 연결 성분 분석을 위해 레이블링(labeling) 알고리즘을 사용하였다[6][7]. 연결 성분 분석을 하면 Fig. 4에서 보듯이 전경인 흰색으로 연결된 성분은 각각의 독립된 객체로 분할되어 추출된다. 연결 성분을 추출할 때 크기가 ROI 세로 크기의 1/2보다 적으 면 숫자가 아니라, 제거되지 않고 남아있는 노이즈 또는 점(.), 콜론(:), 온도 기호(℃) 등이므로 본 논문에서는 인식 대상에서 제외했다. Fig. 4는 Fig. 3에 예로 보인 영상에 대 해 연결 성분 분석을 한 후, 추출한 개별의 숫자를 영상 으로 나열해 놓은 것이다. 끊어진 선분으로 구성된 숫자 들이 모두 연결되어 한 개의 연결 성분으로 추출되는 것 을 알 수 있다.
(a)
(b)
Fig. 4. (a) Extracted connected components in Fig. 3(a), and (b) extracted connected components in Fig. 3(b).
2.5 크기 정규화
연결 성분 분석으로 추출된 개별 숫자 영상들은 동일 한 디스플레이에서 유래한 것이라도 숫자 크기가 조금씩 다 다르다. 또한 카메라의 해상도와 촬영 거리에 따라서 도 숫자 영상의 크기는 모두 다르다. 이를 하나의 크기로 정규화하여 서로 비교할 수 있게 한다. 이 때 정규화하는 크기는 영상을 적절한 크기로 줄이는 방향으로 한다. 비록 원래 영상에서 데이터가 손실됨으로써 영상의 질은 저하 되지만, 영상의 크기를 적당한 크기로 줄이면 노이즈 등의 불필요한 것들은 제거되고 인식에 꼭 필요한 특징만 남길 수 있다. 또한 영상의 크기가 작아져 템플릿 매칭에서 속 도가 빠르고, 시스템의 메모리도 절약할 수 있다. 본 논문 에서는 연결 성분 분석으로 추출된 개별 숫자 영상들의 크 기를 모두 10×15로 크기 정규화한다. Fig. 5는 Fig. 4에서 보인 개별 숫자 영상을 모두 10×15로 크기 정규화한 것을 보여 준다. 실제 10×15 크기의 영상은 너무나도 작다. 따라서 Fig.
5에서는 하나의 픽셀을 4×4의 흰색 정사각형으로 나타내 어 가시성을 높였다. Fig. 5에서 보듯이 숫자 1도 다른 숫자 와의 픽셀 단위 비교를 위해 10×15로 크기 정규화를 하여 원래 비율과는 많이 다르게 짧고 굵어졌다.
(a)
(b)
Fig. 5. (a) 10×15 size normalization of connected compo- nents in Fig. 4(a), and (b) 10×15 size normalization of connected components in Fig. 4(b), which are enlarged for the visibility.
2.6 템플릿 매칭
앞에서 이진 형태학적 처리를 하여 끊어진 선분을 연결 한 후, 연결 성분 분석을 하여 추출된 숫자를 비전 시스템 에서 인식하고 결과를 실험하기 위해서 본 논문에서는 템 플릿 매칭 방법을 사용하였다. 템플릿 매칭 방법은 해밍 거리(Hamming distance)[8]를 이용해 템플릿과 미지의 입력 영상 사이의 거리를 측정하는 것이다. 본 논문에서는 템플 릿으로 Fig. 6(a)에 보인 7-세그먼트 폰트를 사용하였다. 이 를 입력되는 임의의 숫자 영상과 똑같은 조건으로 만들기 위해 2번의 팽창 처리로 끊어진 선분을 모두 연결한 후, 2 번의 침식 처리를 수행하여 원래 선분 굵기로 돌아왔다.
Fig. 6(b)는 이를 나타낸다. Fig. 6(c)는 Fig. 6(b)의 영상을 연결
템플릿 매칭을 이용한 7-세그먼트 광학 문자 인식 133
성분 분석을 이용해 개별 숫자를 추출한 후, 10×15로 크기 정규화한 것을 나타낸다. 앞에서 한 것과 마찬가지로 가시 성을 높이기 위해 실제 10×15 크기의 영상에 있는 하나의 픽셀을 4×4의 흰색 정사각형으로 표시하였다.
(a)
(b)
(c)
Fig. 6. (a) 7-segment fonts for a template, (b) results of both 2-dilation processing and 2-erosion processing with Fig. 6(a), and (c) 10×15 size normalization of connected components in Fig. 6(b) which are enlarged for the visibility.
3. 실험 결과
본 논문에서 제안한 방법을 C 언어로 구현하여 카메라 모듈이 장착된 라즈베리파이 4 시스템에서 실험하였다.
Fig. 1에서 보인 7-세그먼트의 숫자 모두 성공적으로 인식 하였다. Fig. 7은 본 논문에서 제안한 방법으로 이진 영상 형태학적 처리를 한 후 템플릿 매칭을 이용하여 7-세그먼 트 LED와 Mono LCD 디스플레이의 숫자 인식을 실험한 영상들 중 일부 예이다. Fig. 7(a)에 있는 7-세그먼트 LED 디스플레이는 자체 발광을 함으로 약간의 색 번짐이 있 다. 이 경우에도 본 논문에서 제안한 방법으로 모두 성공 적으로 숫자를 인식하였다. 그러나 Fig. 7(a)의 맨 오른쪽에 있는 영상은 숫자 1과 숫자 7의 수직 선분이 숫자 크기에 비해 상당히 떨어져 있어 2번의 팽창 처리로도 끊어진 선 분이 모두 연결되지 않았다. 이 영상을 제외하고는 본 논 문에서 제안한 방법으로 7-세그먼트 LED 디스플레이의 숫자를 모두 성공적으로 인식하였다.
(a)
(b)
Fig. 7. (a) Examples of 7-segment LED displays in the experiment, and (b) examples of 7-segment Mono LCD displays and its binarization with threshold values 146, 99 and 58 respectively (left to right).
실험 결과는 7-세그먼트 Mono LCD 디스플레이의 숫자 도 거의 대부분 성공적으로 인식을 하였는 데 Fig. 7(b)는 인식에 실패한 영상을 보인다. Mono LCD는 자체발광이 아 니라 외부 광원에 의한 명암에 따라 숫자를 표시하므로 외부 광원의 영향을 많이 받는다. 불충분한 외부 광원 또 는 외부 광원을 반사해 버리는 디스플레이 커버에 의한 고르지 못한 밝기는 영상 이진화 단계에 큰 영향을 준다.
Fig. 7(b)의 맨 아래 영상은 최대 분산법을 이용해 바로 위 영상에서 자동으로 임계 값 146, 99와 58을 구해 이진화 처 리한 결과 영상을 보인다. 영상들에 따라 임계 값의 변화 가 심하고, 동일 영상 내에서도 밝기 변화가 심해 이진화 과정에서 배경 노이즈가 심하게 나타나거나 숫자가 서로 접합되는 문제가 발생했다. Fig. 7(b)의 맨 오른쪽 영상의 경 우는 어두운 데다가 글자 간격이 매우 좁아 이진화 처리 한 결과 가운데 두 숫자와 콜론이 모두 접합되었다.
이렇게 불충분한 이진화 처리 결과는 본 논문에 제안 한 이진 형태학적 처리를 불안정하게 하며 인식을 어렵 게 한다. 외부 광원에 문제가 없었던 다른 7-세그먼트 Mono LCD 디스플레이의 숫자는 모두 성공적으로 인식하 였다.
4. 결 론
본 논문에서는 7-세그먼트 LED 디스플레이와 7-세그먼 트 LCD 디스플레이 장치에 표시되는 숫자를 광학적으로 인식하는 새로운 방법을 제안하였다. 7-세그먼트 디스플 레이는 7개의 나누어진 선분으로 숫자를 나타낸다. 머신 비전에서 이를 인식하기 위해서는 연결 성분 분석을 하 여 개별 숫자만을 추출해야 하는 데 분리된 선분들은 이
정민철 134
를 불가능하게 한다. 본 논문에서 제안한 방법은 영상 형 태학적 처리인 이진 팽창 처리를 하여 분리된 선분들은 문자의 획으로 만드는 것이다. 또한 제안한 방법의 효과 를 실험하기 위해 템플릿 매칭 방법을 사용하였다. 실험 결과는 이진 팽창 처리와 이진 축소 처리된 7-세그먼트 LED 디스플레이에 표시되는 숫자를 성공적으로 잘 인식 하는 것을 보였다. 그러나 7-세그먼트 LCD 디스플레이 장 치에 표시되는 숫자 인식은 외부 광원에 영향을 받았다.
불충분한 외부 광원은 영상을 너무 어둡고 명암대비가 떨어지게 했으며, 충분한 외부 광원도 영상을 획득하는 카메라 각도에 따라 디스플레이 커버에서 반사되어 영상 을 국부적으로 너무 밝게 만들었다. 인식률 향상을 위해 외부 광원을 일정하게 하는 방법이 필요하다.
감사의 글
본 연구는 2019 년도 상명대학교 교내연구비를 지원받 아 수행하였습니다.
참고문헌
1. Daeun Dana Kim, Gyun Hyuk Lee, Je-Kyoung Yem, Sang Kyu Jang, Muhammad Tanseef Shahid, Kwang Nam Choi, “Autonomous Drone Control System using 7-Segment Number Detection,” Proceedings of The KIISE Conferences, The Korean Institute of Information Scientists and Engineers, pp. 1863-1864, (2017).
2. N. Otsu, “A Threshold Selection Method from Gray Level Histograms,” IEEE Transactions on Systems, Man, and Cybernetics, Vol. SMC-9, No. 1, pp. 62-66, (1979).
3. Gyoung-don Joo, Jung-eun Park, Chunyun Kim,
“Image Pre-processing using Combination of Morphological Transformation and Adaptive Thresholding based Binarization of High-complexity Image for OCR,” Proceedings of The KIISE Conferences, The Korean Institute of Information Scientists and Engineers, pp. 1386-1388, (2017).
4. Yong Jin Joo, Chang Hahk Hahm, “A Study on Automatic Detection of Speed Bump by using Mathematical Morphology Image Filters while Driving,”
Journal of Korean Society for Geospatial Information Science, Vol. 21, No. 3, pp. 55-62, (2013)
5. Seung-Mok Lee, Young-Hyung Kim, Jae-Kwon Eem,
“Support-generation Method Using the Morphological Image Processing for DLP 3D Printers,” The Journal of Korean Institute of Information Technology, Vol. 15, No.
12, pp. 165-171, (2017).
6. H. Samet and M. Tamminen, “Efficient component labeling of images of arbitrary dimension represented by linear bintrees,” IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 10, Is. 4, pp. 579-586, (1988).
7. M. Dillencourt, H. Samet and M. Tamminen, “A general approach to connected-component labeling for arbitrary image representations,” Journal of the Association for Computing Machinery, Vol. 39, Is. 2, pp. 253-280, (1992).
8. M. Nadler and E. Smith, “Pattern Recognition Engineering,” John Wiley & Sons Inc., pp. 155-159, 291-294, (1993).
접수일: 2020년 12월 17일, 심사일: 2020년 12월 18일, 게재확정일: 2020년 12월 22일