보안공학연구논문지 Journal of Security Engineering Vol.13, No.2 (2016), pp.83-90 http://dx.doi.org/10.14257/jse.2016.04.01 회전 알고리즘을 이용한 자동차 번호판 문자 인식률 향상 및 문자 보안 강화 오현아 1), 이유진 2) Enhancement of Car License Plate Recognition Rate and Security with Rotation Algorithm Hyuna Oh 1), Eugene Rhee 2) 요 약 본 논문은 기울기가 5도 이상 기울어진 자동차 번호판 영상의 숫자 및 한글 인식률을 높이고자 번 호판 영상을 회전시키려 한다. 먼저, 입력 영상은 자동차 번호판 RGB 색상의 영상으로 이 RGB 영상 을 흰색 계열로 보정한 뒤 Gray scale 영상으로 바꾼다. 바뀐 Gray scale 영상을 이용하여 배경과 글 자색은 0(검정색)으로 지정하며 번호판 색상은 255(하얀색)로 지정한 뒤 영상을 이진화 한다. 이진화 된 영상의 영상 회전 방향에 따라 해당하는 꼭짓점의 좌표를 구한다. 마지막으로 아크탄젠트를 이용 하여 구해진 꼭짓점의 좌표로 기울어진 각도를 구한 뒤 회전 소스를 이용하여 각도만큼 번호판 영상 을 회전시킨다. 회전 된 번호판 영상은 각종 문자 인식이나 숫자 인식에 이용되며 회전 알고리즘을 이용하면 이용하지 않았을 때보다 문자 혹은 숫자에 대한 인식률이 높아짐을 확인하였다. 핵심어 : 회전 알고리즘, 자동차 번호판, 문자 인식, 영상 이진화 Abstract To increase the recognition rate of numbers and Hangul characters in tilted car license plates images, this paper suggests to rotate the images tilted more than 5 degrees. First, the input RGB image is revised by the white image and converted to the Gray scale image. After setting the background and text colors as 0(black) and the color of plates as 255(white) with this Gray scale image, the image is binary coded. And then, the coordinates of the vertices for each rotation direction of the binary coded image are obtained. Finally, using arc tangent, this rotation algorithm calculates the slanting angle with the obtained coordinates of the vertices and rotates the licence plate image with rotate sauce. This Rotation algorithm can be adopted to various character or number recognitions and give higher recognition rate than existing recognition system. Keywords : Rotation Algorithm, Car License Plate, Recognition Rate, Image Binarization Received(January 18, 2016), Review request(january 19, 2016), Review Result(1st: February 15, 2016, 2st: March 16, 2016) Accepted(April 01, 2016), Published(April 30, 2016) 1 Dept. Computer Science, SangMyung Univ., Anseo-dong, Dongnam-gu, Cheonan, 31066, Korea email: sarah718@naver.com 2 (Corresponding Author) Dept. Computer Science, SangMyung Univ., Anseo-dong, Dongnam-gu, Cheonan, 31066, Korea email: eugenerhee@smu.ac.kr * 본 연구는 2014학년도 상명대학교 교내연구비를 지원받아 수행하였음. ISSN: 1738-7531 JSE Copyright c 2016 SERSC 83
Enhancement of Car License Plate Recognition Rate and Security with Rotation Algorithm 1. 서론 급속한 경제 성장으로 사람들의 생활수준이 높아지고 있으며, 현재는 3명 중 1명이 자동차를 보 유할 만큼 적지 않은 인구가 자가용 자동차를 보유하고 있다. 이에 따라 주차 시설의 부족과 같은 문제점들과 자동차와 관련된 각종 범죄나 사고율은 끊임없이 증가하고 있는 추세이며 이를 통제할 인원과 비용도 늘어나고 있다. 그렇기에 이러한 문제점들을 보완하기 위해 여러 대안들이 제시되 고 있다. 그 중 하나가 CCTV를 촬영하는 방법이다. CCTV는 사람이 직접적으로 관여할 수 없는 부분을 보완하기 위해 사용되는데, 주로 도로에 있는 CCTV의 경우 신호 위반이나 과속에 대한 방 지책으로 자동차 안의 사람이나 번호판 등을 찍을 때 요구된다. 불과 10년 전엔 자동으로 차량을 인식하는 단계에서 머물렀었지만 최근에는 전국적으로 스마트 시티 조성에 대한 관심이 높아지면서 지능형 교통 시스템 구축에 대한 연구들이 활발하게 진행됨 에 따라 도로상에 정해진 속도로 주행하는 자동차들의 번호판을 실시간으로 인식해 자동으로 관리 하는 기술까지 발달하게 되었다. 번호판을 실시간으로 인식하여 자동으로 관리하는 기술은 지능형 교통시스템 구축의 핵심적인 요소로 알려져 있다. 하지만 감시용 카메라를 이용하여 녹화한 영상 의 자동차 번호판의 경우 40~60만 화소 급의 저해상도 영상이 대부분이고 CCTV 설치 위치가 제 각각이며 기울어졌을 경우엔 육안으로 판단하기 어려운 경우도 많다. 또 그 외에 기타 주변 환경 등의 영향으로 영상 내의 객체정보 또는 생산 정보 손실로 정확한 정보를 추정하기에는 현실적으 로 많은 어려움이 있다[1]. 특히 범죄와 관련된 차량의 분석에 절대적으로 필요한 번호판 영상은 영상 자체의 질이 낮거나 기술의 한계로 판독이 불가능한 경우가 많다. 또한 번호판 영상의 기울 기가 약 2~3도인 경우는 문서 분석 및 문자 인식의 정확도가 떨어지며, 5도 이상일 경우 인식률이 급격히 떨어지는 것으로 알려져 있다. 그러므로 자동차 번호판의 분석이나 인식 이전에 번호판의 회전각을 검출하고 보정하는 것은 필수적인 전처리 과정이라고 볼 수 있다. 지금까지 번호판 관련 연구와 영상 자체의 회전에 관한 많은 연구가 이루어져 왔다. Shen Zheng은 Gradient Feature를 이용하여 번호판 영역을 검출했으며[2], Hongliang는 영상의 Edge Statistics과 Morphology를 이용한 번호판 영역 검출 알고리즘을 제안하였다[3]. Luo는 Sobel operator와 HSV를 이용한 알고리즘을 제안하였고[4], Ahmadyfard는 Texture와 Color Information 를 이용한 알고리즘을 제안하였으며[5], Chang은 Color Edge and Fuzzy Sets를 이용한 차량 번호 판 인식을 제안하였다[6]. 또, Dengel은 왼쪽 가장자리 탐색을 이용하여 문서 영상의 회전각을 검 출 하는 방법을 제안하였다[7]. 이 방법에서는 문서 영상의 각 행의 첫 번째 검은색 화소의 위치를 검출한 후 이들로부터 왼쪽 가장자리의 오른쪽 경계에 의한 가상의 직선을 구하고 구한 직선을 바 탕으로 영상의 수직 축과 비교하며 영상의 회전각을 구하였다. 이 외에도 문서 영상의 회전 보정 방법을 제안한 D. S. Le 등은 Hough 변환을 이용하였다[8]. 본 논문에서는 Dengel의 문서 영상의 회전각 검출 방법을 응용하여 검은색 픽셀의 위치로 영상 84 Copyright c 2016 SERSC
보안공학연구논문지 Journal of Security Engineering Vol.13, No.2 (2016) 의 좌표를 얻은 뒤 그 좌표들과 아크탄젠트를 이용하여 자동차 번호판 영상을 회전하는 알고리즘 을 제안한다[7]. 다음 [그림 1]은 자동차 번호판 영상 회전의 블록도이다. [그림 1] 제안된 자동차 번호판 회전 방법의 블록도 [Fig. 1] Block diagram of the proposed car license plate rotation procedure 2. 회전 알고리즘을 적용할 번호판 후보 추출 2.1. RGB 영상의 흰색 부분 추출 차량 번호판은 크게는 영업용 자동차 번호판과 비영업용 자동차 번호판으로 나뉘어져 있으며, 비영업용 자동차 번호판의 경우 초록색과 흰색으로 나뉘어져있다. 본 논문에서는 비영업용 자동차 중에서 흰색 번호판을 가지고 있는 자동차에 대해 적용하였다. 이를 위해선 흰색 바탕을 가진 영 상을 추출하는 작업이 필요하다. (CCTV의 경우 Gray Scale의 영상이므로 본 과정이 불필요 할 수 있으나, 스마트폰과 같은 RGB 칼라 계열의 카메라로도 촬영을 한다고 가정했다.) 그러나 영상 특 성상 외부의 환경 때문에 자동차 번호판의 RGB 값이 모두 255인 데이터 값을 가지기는 어렵다. [그림 2] RGB 각각의 데이터 값이 150 초과일 때의 영상 후보 추출 알고리즘 [Fig. 2] Extracting algorithm for the image data when each of RGB values are over 150 그렇기 때문에 데이터 값이 255에 가까운 영상들을 추출하고자 [그림 2]와 같은 알고리즘을 작 성하게 되었다. [그림 2]의 경우 RGB의 각 데이터 값이 모두 150 초과일 때의 영상을 추출하고 나 머지 데이터 값들은 0으로 처리한다. Copyright c 2016 SERSC 85
Enhancement of Car License Plate Recognition Rate and Security with Rotation Algorithm (a) 입력 영상 (b) White 영상 [그림 3] 알고리즘의 결과 영상 : (a) [그림 2]의 알고리즘에 대한 입력 영상, (b) [그림 2]의 알고리즘에 대한 결과 영상 [Fig. 3] Algorithm results : (a) Input image to the algorithm of [Fig. 2] (b) Output image from the algorithm of [Fig. 2] [그림 2]의 알고리즘을 [그림 3]의 (a)에 적용시키면 [그림 3]의 (b)와 같이 하얀색과 흡사한 계열 의 색상만 영상에 남게 되며 나머지는 다 검정색이 된다. 하지만 [그림 3]의 (a) 영상처럼 자동차가 흰색 계열일 경우 많은 노이즈가 발생하여 영상 회전 알고리즘을 적용했을 때 계산된 각도가 목표 한 각도와 많은 오차를 발생시키기 때문에 문자나 숫자의 인식률이 크게 낮아진다. 또 흰색 자동 차가 아닌 경우 회전 알고리즘을 시행하면 1~3회 내에 목표한 각도와 오차가 10도 내외인 영상을 얻을 수 있지만 흰색 계열의 자동차의 경우 회전 알고리즘을 최소 10회 이상 시행해야 하는 비효 율적인 면을 가지고 있다. 결론적으로 이러한 문제점이 있기 때문에 본 논문은 [그림 2]의 알고리 즘을 사용하되, 노이즈가 20픽셀 이하인 영상에만 회전 알고리즘을 적용한다. 2.2. 영상의 이진화 [그림 4]의 (a) 영상을 Gray Scale화한 뒤, 이진 영상으로 바꾸게 되면 (b) 영상이 출력된다. 결과 적으로 (b) 영상의 데이터 값은 0과 255만 존재하게 된다. (a) 입력 영상 (b) 이진화 영상 [그림 4] 이진 영상 : (a) 자동차 번호판 영상의 노이즈를 제거한 RGB 영상, (b) (a) 영상의 이진 영상 [Fig. 4] Binary image : (a) Noise-removed RGB image of car license plate, (b) Binary image of (a) image 86 Copyright c 2016 SERSC
보안공학연구논문지 Journal of Security Engineering Vol.13, No.2 (2016) 3. 회전 알고리즘 3.1. 영상의 회전 방향과 각도 이진 영상의 자동차 번호판의 데이터 값은 255 이며 안의 글자와 배경은 0이 된다. [그림 5] 영상의 회전 방향 알고리즘 [Fig. 5] Rotation direction algorithm of the image 번호판 자체를 회전하기 위해선 좌측의 최상단과 우측의 최상단의 데이터 값 중 255를 가지고 있는 x축 좌표를 알아야 한다. [그림 5]를 보면 임의의 변수 x1의 값에 255 값을 가진 x 좌표 값을 넣고 그 값이 0.5가 되지 않을 때, 즉 영상을 반 시계방향으로 회전시킬 경우 This is left image : 라는 문구와 x1 좌표 값을 출력한다. 반대로 영상을 시계방향으로 회전시킬 경우 This is right image : 라는 문구와 x1 좌표 값을 출력한다. [그림 6] 영상을 반시계 방향으로 회전하는 알고리즘 [Fig. 6] Algorithm to rotate the image counterclockwise Copyright c 2016 SERSC 87
Enhancement of Car License Plate Recognition Rate and Security with Rotation Algorithm [그림 7] 영상을 시계 방향으로 회전하는 알고리즘 [Fig. 7] Algorithm to rotate the image clockwise [그림 5]의 알고리즘으로 구한 x1 좌표를 그대로 [그림 6]과 [그림 7]의 알고리즘에 적용시킨다. 만약 x1의 좌표 값이 입력 영상의 가로 픽셀에 2를 나눈 값보다 작다면 [그림 6]으로 넘어가게 된 다. [그림 6]의 알고리즘의 반복문에는 x의 초깃값은 0을 부여하며 y의 초깃값은 입력 영상의 세로 픽셀 값을 부여한다. 또한 영상을 반 시계 방향으로 회전시켜야 되므로 y좌표의 값을 y축 픽셀 값 에서 감산해야 하며 x좌표의 경우엔 그대로 구한다. 그리고 x와 y좌표 값을 출력한다. 마지막으로 구한 x, y 좌표 값들로 아크탄젠트를 이용하여 회전 할 각도를 구한다. theta tan (1) theta는 θ를 뜻하며 tan 은 아크탄젠트를 뜻한다. y는 [그림 6]의 알고리즘을 통해 구한 y 좌 표 값이며 x는 [그림 6]의 알고리즘을 통해 구한 x좌표 값이다. [그림 7]의 알고리즘의 경우 x1의 좌표 값이 입력 영상의 가로 픽셀에 2를 나눈 값보다 크면 시 행된다. [그림 7]의 알고리즘의 반복문의 경우 x의 초깃값은 입력 영상의 가로 픽셀 값이 입력되며 y의 초깃값은 입력 영상의 세로 픽셀 값이 입력된다. 또한 영상을 시계 방향으로 회전시켜야 되므 로 y좌표의 값을 y축 픽셀 값에서 감산해야 하며 x좌표의 값도 x축 픽셀 값에서 감산해야 한다. 그리고 x와 y좌표 값을 출력한다. 마찬가지로 구한 x, y 좌표 값들을 공식에 대입하여 회전 할 각 도를 구한다. 3.2. 영상의 회전 방향과 각도를 구한 입력 영상들은 [그림 8]의 알고리즘을 이용하여 영상을 회전시킨다. 88 Copyright c 2016 SERSC
보안공학연구논문지 Journal of Security Engineering Vol.13, No.2 (2016) [그림 8] 영상의 회전 알고리즘 [Fig. 8] Rotation algorithm of image (a) (b) (c) (d) [그림 9] 자동차 번호판의 회전 결과 영상 : (a) 입력영상 1, (b) 입력영상 2, (c) 영상 1을 반 시계 방향으로 회전시킨 결과 영상, (d) 영상 2를 시계 방향으로 회전시킨 결과 영상 [Fig. 9] Result of car license plate image rotation : (a) input image 1, (b) input image 2, (c) Counterclockwise rotation result of image 1, (d) Counterclockwise rotation result of image 2 결과적으로 [그림 9]의 (b) 영상처럼 우측 최상단의 데이터 값이 255일 경우 [그림 9]의 (d) 영상 Copyright c 2016 SERSC 89
Enhancement of Car License Plate Recognition Rate and Security with Rotation Algorithm 과 같이 입력 영상이 시계 방향으로 회전 된다. 마찬가지로 [그림 9]의 (a) 영상처럼 좌측 최상단의 데이터 값이 255일 경우 [그림 9]의 (c) 영상과 같이 입력 영상이 시계 방향으로 회전 된다. 4. 결론 본 논문에서는 CCTV(혹은 스마트폰과 같은 RGB 계열의 카메라)로 획득한 자동차 번호판 영상 에 대한 회전 알고리즘을 제안하였다. 제안된 방법에서는 획득한 RGB 영상을 흰색 계열의 색상만 추출하여 회전 영상의 후보를 추출하고 추출한 영상을 이진 영상으로 바꾼다. 바꾼 이진 영상을 통해 영상의 회전할 방향과 각도를 계산한 뒤 회전 알고리즘을 통해 영상을 회전시킨다. 회전시킨 영상은 목표한 각도와 0~10도 내외 차이가 나는 것을 알 수 있으며 영상 인식률은 회전 알고리즘 을 적용시키기 전보다 더 높은 인식률을 보인다. References [1] P. Comelli, P. Ferragina, M. Notturno Granieri, and F. Stabile, Optical Recognition of Motor Vehicle License Plates, IEEE Trans. Vehicular Technology. (1994), Vol.44, No.4, pp.790-799. [2] S. Wang and H. Lee, A Cascade Framework for a Real-Time Statistical Plate Recognition System, IEEE Trans. Information Forensics and Security. (2007), Vol.2, No.2, pp.267-282. [3] B. Hongliang and L. Changping, Editors. A Hybrid License Plate Extraction Method Based on Edge Statistics and Morphology, Proceedings of the 17th International Conference on Pattern Recognition, (2004) August 23-26; Cambridge, England. [4] D. Zheng, Y. Zhao, and J. Wang, An Efficient Method of License Plate Location, Pattern Recognition Letter. (2005), Vol.26, No.15, pp.2431 2438. [5] A. Ahmadyfard and V. Abolghasemi, Editors. Detecting License Plate using Texture and Color Information. Proceedings of International Symposium on Telecommunications, (2008) August 27-28; Tehran, Iran. [6] L. Zheng, X. He, B. Samali, and L. Yang, Editors. Accuracy Enhancement for License Plate Recognition. Proceedings of IEEE the 10th International Conference on Computer and Information Technology, (2010) June 29-July 1; Bradford, America. [7] A. Dengel, Editor, ANASTASIL: A System for Low-level and High-level Geometric Analysis of Printed Documents, Springer, Berlin (1992). [8] D. Le, G. Thoma, and H. Wechsler, Automated Page Orientation and Skew Angle Detection for Binary Document Images, Pattern Recognition, (1994), Vol.27, No.10, pp.1325-1344. 90 Copyright c 2016 SERSC