본 논문에서는 스마트폰으로 음식 메뉴를 촬영한 영상으로부터 글자를 인식하는 안드로이드 기반의 한글 음식 메뉴 인식 어플리케이션을 설계하고 구현한다. Optical Character Recognition (OCR) 기술은 크게 전처리, 인식 그리고 후처리 과정으로 구분된다. 전처리 과정에서는 Maximally Stable Extremal Regions (MSER) 기법을 이용하여 글자를 추출한다. 인식 과정에서는 무료 OCR 엔진인 Tesseract-OCR을 이용하여 글자를 인식한다. 후처리 과정에서는 음식 메뉴에 대한 사전 DB를 이용하여 잘못된 결과를 수정한다. 제안하는 기법의 성능을 평가하기 위해 실제 메뉴판을 DB로 이용하여 인식 성능을 비교 측정하는 실험을 진행하였다. 구글 플레이스토어에 있는 글자 인식 어플리케이션인 OCR Instantly Free, Text Scanner 그리고 Text Fairy와 인식률 측정 실험을 진행하였으며 실험 결과 제안하는 기법이 다른 기법보다 평균적으로 14.1% 높은 인식률을 보여주는 것을 확인하였다.
본 논문에서는 스마트폰으로 음식 메뉴를 촬영한 영상으로부터 글자를 인식하는 안드로이드 기반의 한글 음식 메뉴 인식 어플리케이션을 설계하고 구현한다. Optical Character Recognition (OCR) 기술은 크게 전처리, 인식 그리고 후처리 과정으로 구분된다. 전처리 과정에서는 Maximally Stable Extremal Regions (MSER) 기법을 이용하여 글자를 추출한다. 인식 과정에서는 무료 OCR 엔진인 Tesseract-OCR을 이용하여 글자를 인식한다. 후처리 과정에서는 음식 메뉴에 대한 사전 DB를 이용하여 잘못된 결과를 수정한다. 제안하는 기법의 성능을 평가하기 위해 실제 메뉴판을 DB로 이용하여 인식 성능을 비교 측정하는 실험을 진행하였다. 구글 플레이스토어에 있는 글자 인식 어플리케이션인 OCR Instantly Free, Text Scanner 그리고 Text Fairy와 인식률 측정 실험을 진행하였으며 실험 결과 제안하는 기법이 다른 기법보다 평균적으로 14.1% 높은 인식률을 보여주는 것을 확인하였다.
In this paper, we design and implement an Android-based Hangul food menu recognition application that recognizes characters from images captured by a smart phone. Optical Character Recognition (OCR) technology is divided into preprocessing, recognition and post-processing. In the preprocessing proce...
In this paper, we design and implement an Android-based Hangul food menu recognition application that recognizes characters from images captured by a smart phone. Optical Character Recognition (OCR) technology is divided into preprocessing, recognition and post-processing. In the preprocessing process, the characters are extracted using Maximally Stable Extremal Regions (MSER). In recognition process, Tesseract-OCR, a free OCR engine, is used to recognize characters. In the post-processing process, the wrong result is corrected by using the dictionary DB for the food menu. In order to evaluate the performance of the proposed method, experiments were conducted to compare the recognition performance using the actual menu plate as the DB. The recognition rate measurement experiment with OCR Instantly Free, Text Scanner and Text Fairy, which is a character recognizing application in Google Play Store, was conducted. The experimental results show that the proposed method shows an average recognition rate of 14.1% higher than other techniques.
In this paper, we design and implement an Android-based Hangul food menu recognition application that recognizes characters from images captured by a smart phone. Optical Character Recognition (OCR) technology is divided into preprocessing, recognition and post-processing. In the preprocessing process, the characters are extracted using Maximally Stable Extremal Regions (MSER). In recognition process, Tesseract-OCR, a free OCR engine, is used to recognize characters. In the post-processing process, the wrong result is corrected by using the dictionary DB for the food menu. In order to evaluate the performance of the proposed method, experiments were conducted to compare the recognition performance using the actual menu plate as the DB. The recognition rate measurement experiment with OCR Instantly Free, Text Scanner and Text Fairy, which is a character recognizing application in Google Play Store, was conducted. The experimental results show that the proposed method shows an average recognition rate of 14.1% higher than other techniques.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 스마트폰 카메라를 이용하여 음식 메뉴를 촬영한 영상에서 한글 텍스트를 인식하는 OCR기법을 제안한다. 먼저, 스마트폰 영상에서 발생하는 노이즈를 다운샘플링을 통해 제거한다.
본 논문에서는 스마트폰 환경에서 OCR 기술을 이용하여 한글 음식 메뉴를 인식하는 기법을 개발하였다. 제안하는 기법은 크게 전처리, 인식 그리고 후처리 과정으로 구성되어 있다.
제안 방법
실험의 방식은 네 가지 기법 모두 사전 DB 기반의 후처리 기법을 사용하지 않을 때와 사용할 경우에 대해 각각 진행하였다. DB는 직접 촬영한 한글 메뉴판 DB를 이용하였으며 인식의 기준은 한글자라도 잘못 인식하면 오인식으로 평가하였다. 예를 들어 “부대찌개”를 “부다찌개“로 인식하였다면 오인식으로 간주하였다.
두 번째 실험에서는 제안하는 기술에서 후처리 과정을 거쳤을 경우와 그렇지 않을 경우의 인식률을 비교하였다. 후처리 과정의 사전 DB는 첫 번째 실험 영상의 음식 메뉴 83개를 이용하였다.
본 논문에서 제안하는 음식 메뉴 인식 알고리즘의 성능을 평가하기에 앞서 제안한 알고리즘을 스마트폰 어플리케이션으로 이식하였다. 개발환경은 Windows10에서 Android Studio를 이용하여 어플리케이션을 개발하였다.
세 번째 실험에서는 성능의 비교 측정을 위해 제안하는 기법과 구글 플레이스토어에서 현재 서비스를 제공하는 OCR Instantly Free[20], Text Scanner[21] 그리고 Text Fairy[22]의 기법의 성능을 측정하였다. Text Scanner[21]는 제안하는 기법과 같은 Tesseract-OCR[16]을 이용하며, 나머지 어플리케이션들은 알고리즘을 공개하지 않는다.
제안하는 기법은 크게 전처리, 인식 그리고 후처리 과정으로 구성되어 있다. 스마트폰으로 글자를 촬영하여 ROI를 획득한 후에 전처리 과정을 진행한다.
Text Scanner[21]는 제안하는 기법과 같은 Tesseract-OCR[16]을 이용하며, 나머지 어플리케이션들은 알고리즘을 공개하지 않는다. 실험의 방식은 네 가지 기법 모두 사전 DB 기반의 후처리 기법을 사용하지 않을 때와 사용할 경우에 대해 각각 진행하였다. DB는 직접 촬영한 한글 메뉴판 DB를 이용하였으며 인식의 기준은 한글자라도 잘못 인식하면 오인식으로 평가하였다.
제안하는 기법에서는 글자 영역을 추출하기 때문에 추출하는 영역의 크기의 제한을 두는 파라피터가 필요하다. MaxArea의 값을 정하여 글자보다 크다고 판단되는 영역은 제외하고 마찬가지로 MinArea 값을 정하여 글자라고 하기에는 너무 작은 영역을 제외한다.
글자 영역만을 하나의 ROI 형태로 추출하기 위해서는 각각의 글자들을 하나로 분류하여야 할 뿐만 아니라 인식하려는 글자만을 추출하여야 한다. 제안하는 기법에서는 수평 방향 모폴로지 연산을 통해 각각의 글자 영역을 연결하여 한 줄로 분류한 후 ROI에서 인식하려는 글자는 가운데에 존재한다는 기하학적인 특징을 이용하여 여러 영역 중 정확히 인식하려는 글자 영역만을 추출하였다.
따라서 글자 후보들 중 인식하려는 글자 영역은 영상의 가운데에 있다는 가정을 할 수 있다. 제안하는 기법에서는 이러한 사용자의 특성을 이용하여, 영상의 중앙 수평선에 위치해 있는 글자 영역 후보를 최종적으로 인식할 글자 영역으로 판단한다. 그림 7은 인식할 글자 영역을 결정하는 과정을 보여준다.
다운샘플링은 영상의 노이즈를 제거하는 동시에 영상의 크기를 줄여줌으로써 연산 속도를 빠르게 하는 효과를 얻을 수 있다. 제안하는 기법에서는 짝수 번 째 행과 열을 제거하여 전체 크기의 1/4로 다운샘플링을 한다. 다운샘플링 시 엘리어싱을 방지하기 위하여 입력영상에 가우시안 블러를 적용한다[18].
본 논문에서는 스마트폰 환경에서 OCR 기술을 이용하여 한글 음식 메뉴를 인식하는 기법을 개발하였다. 제안하는 기법은 크게 전처리, 인식 그리고 후처리 과정으로 구성되어 있다. 스마트폰으로 글자를 촬영하여 ROI를 획득한 후에 전처리 과정을 진행한다.
제안하는 시스템에서는 스마트폰에서 촬영한 메뉴판을 OCR 기술을 통해 글자로 인식한다. 글자 인식 단계는 크게 전처리 과정, 인식 과정 그리고 후처리 과정으로 이루어지며, 각각의 과정을 통해 최종적으로 인식한 글자를 출력하게 된다.
제안하는 전처리 과정은 스마트폰 카메라로부터 입력받은 영상에서 노이즈를 제거하고 글자 영역만을 추출함으로써 인식 과정의 성능을 향상시킨다. 전처리 과정은 그림 2와 같이 크게 영상 품질 개선, 글자 후보 추출, 글자 영역 결정 단계로 구성된다.
첫 번째 실험에서는 테스트 영상에 대해 전처리 과정에서 얼마나 정확하게 글자를 추출하는지를 진행하였다. 그림 12는 테스트 영상에 대한 전처리 과정 결과를 보여준다.
그리고 한글을 추출하기 위해 blob 검출 기법인 Maximally Stable Extremal Regions (MSER)[15] 기법을 이용한다. 추출한 각 글자에 대하여 침식 및 팽창 연산을 이용하여 글자의 에지 영역을 획득하고 이진화와 수평방향의 모폴로지 연산를 통해 글자 영역을 추출한다. 추출한 글자 영역은 OCR 오픈소스인 Tesseract-OCR[16]을 통해 인식한다.
추출한 글자에 대하여 팽창과 침식 연산을 이용하여 기울기 성분을 추출한다. 3x3 크기로 팽창한 영상에서 같은 크기로 침식한 영상을 차 연산하여 기울기 성분을 획득한다.
대상 데이터
추출한 글자에 대하여 팽창과 침식 연산을 이용하여 기울기 성분을 추출한다. 3x3 크기로 팽창한 영상에서 같은 크기로 침식한 영상을 차 연산하여 기울기 성분을 획득한다. 다음으로, 영상에서 배경과 문자를 분리하기 위해 이진화 알고리즘을 적용한다.
글자 인식은 무료 글자 인식 엔진인 Tesseract-OCR[16]을 이용하여 인식한다.
레이블링한 영역 중에 글자 영역인 경우와 아닌 경우를 구별하기 위해 조건을 정해놓고 필터링을 한다. 글자가 차지하는 픽셀 수의 사각형 넓이에 대한 비율이 특정값 보다 크거나 사각형의 크기가 특정값 보다 큰 경우만을 글자 후보로 선정한다. 그림 6은 글자 후보를 선정하는 단계별 영상을 보여준다.
따라서 실험에서는 실제 음식점에서 사용하는 메뉴판을 DB로 사용하였다. DB는 83개의 각기 다른 메뉴로 이루어져 있다.
개발환경은 Windows10에서 Android Studio를 이용하여 어플리케이션을 개발하였다. 스마트폰은 SAMSUNG Galaxy A5이며 운영체제는 Android 4.0 Ice Cream Sandwich이다. 그림 10은 개발한 어플리케이션의 UI를 보여준다.
MaxArea의 값을 정하여 글자보다 크다고 판단되는 영역은 제외하고 마찬가지로 MinArea 값을 정하여 글자라고 하기에는 너무 작은 영역을 제외한다. 실험에는 MaxArea는 14400, MinArea는 225로 설정하였다. 그림 5는 추출한 MSER 기법[15]을 이용하여 글자를 추출한 결과를 보여준다.
하지만 입력 영상의 전처리를 아무것도 하지 않기 때문에 입력 영상 그대로 Tesseract-OCR[16]을 통해 인식한다면 인식률은 떨어지는 편이다. 제안하는 기법에서는 전처리 과정을 거친 영상을 Tesseract-OCR[16]의 입력 영상으로 사용하고 학습은 음식 메뉴 83개에 대하여 따로 학습한 데이터를 사용한다. 또한 음식 메뉴는 대부분 한 줄로 되어있는 특성을 고려하여 Tesseract-OCR[16]의 인식 옵션을 한 줄로만 인식되게끔 설정함으로써 인식률을 향상시킨다.
두 번째 실험에서는 제안하는 기술에서 후처리 과정을 거쳤을 경우와 그렇지 않을 경우의 인식률을 비교하였다. 후처리 과정의 사전 DB는 첫 번째 실험 영상의 음식 메뉴 83개를 이용하였다. 표 1은 후처리 과정 유무에 따른 인식 결과를 보여준다.
이론/모형
먼저 카메라 촬영 시 발생하는 노이즈를 다운샘플링을 적용하여 제거한다. ROI에는 글자뿐만 아니라 배경도 존재하기 때문에 MSER 기법[15]을 이용하여 배경을 제거한다. 글자 영역만을 하나의 ROI 형태로 추출하기 위해서는 각각의 글자들을 하나로 분류하여야 할 뿐만 아니라 인식하려는 글자만을 추출하여야 한다.
세 번째 실험에서는 성능의 비교 측정을 위해 제안하는 기법과 구글 플레이스토어에서 현재 서비스를 제공하는 OCR Instantly Free[20], Text Scanner[21] 그리고 Text Fairy[22]의 기법의 성능을 측정하였다. Text Scanner[21]는 제안하는 기법과 같은 Tesseract-OCR[16]을 이용하며, 나머지 어플리케이션들은 알고리즘을 공개하지 않는다. 실험의 방식은 네 가지 기법 모두 사전 DB 기반의 후처리 기법을 사용하지 않을 때와 사용할 경우에 대해 각각 진행하였다.
먼저, 스마트폰 영상에서 발생하는 노이즈를 다운샘플링을 통해 제거한다. 그리고 한글을 추출하기 위해 blob 검출 기법인 Maximally Stable Extremal Regions (MSER)[15] 기법을 이용한다. 추출한 각 글자에 대하여 침식 및 팽창 연산을 이용하여 글자의 에지 영역을 획득하고 이진화와 수평방향의 모폴로지 연산를 통해 글자 영역을 추출한다.
3x3 크기로 팽창한 영상에서 같은 크기로 침식한 영상을 차 연산하여 기울기 성분을 획득한다. 다음으로, 영상에서 배경과 문자를 분리하기 위해 이진화 알고리즘을 적용한다. 이진화 알고리즘은 특정 임계값 T를 기준으로 밝기 값이 T보다 작으면 0으로 T보다 크면 255로 변환하는 것이다.
일반적으로 영상에서 글자는 blob의 형태를 가지고 있다. 따라서 blob 검출 기법인 MSER 기법[15]을 이용하여 영상에서 blob의 형태를 가지는 성분을 추출한다. MSER 기법[15]은 영상에서 MSER[15]로 불리는 비슷한 색상들이 안정적으로 연결되어있는 영역을 추출한다.
인식 과정에서는 무료 OCR 엔진인 Tesseract-OCR[16]을 이용하여 글자를 인식한다. 음식 메뉴 특성상 인식하려는 글자는 한 줄로 되어있다는 점을 고려하여 Tesseract-OCR[16]의 옵션을 한 줄만 인식되게끔 수정하여 인식률을 향상시킨다.
추출한 글자 영역은 OCR 오픈소스인 Tesseract-OCR[16]을 통해 인식한다. 인식된 결과의 오류를 수정하기 위해 사전 DB기반의 후처리 기법을 이용하여 인식률을 향상시킨다.
따라서 적절한 임계값 T를 정하는 것이 매우 중요하다. 제안하는 기법에서는 OTSU의 기법[19]을 이용하여 이진화를 한다. OTSU의 기법[19]은 영상에서 T를 기준으로 두 영역으로 분류할 때 클래스 간 분산을 최대로 하는 T를 찾는 방법이다.
이러한 문제가 발생한 경우 후처리 과정을 통해 잘못 인식된 결과를 수정하는 것이 필요하다. 제안하는 기법에서는 사전 DB 기반의 후처리 기법을 적용한다. N개의 문자로 구성된 단어에 대해서 1~2개 정도 문자에 대해 오인식이 발생한 경우, 사용자가 등록한 단어사전을 검색 및 참조하여 오인식 된 문자를 정정한다.
성능/효과
마지막으로, 후처리 과정에서는 인식 과정의 오류를 사전에 입력된 단어와 비교하여 가장 유사한 단어로 출력해줌으로써 인식률은 크게 향상시켰다. 실험을 통해 제안하는 시스템이 다른 기법들과 비교하여 우수한 성능의 인식률을 보여주는 것을 확인하였다.
사전 DB 기반의 후처리를 적용하는 경우 4가지 알고리즘 모두다 인식률이 상승하지만 제안하는 기법의 인식률은 92.8%로 다른 세 가지의 기법 중 가장 높은 인식률을 보여주는 Text Fairy[22]보다 7.2% 높은 인식률을 보여준다.
마지막으로, 후처리 과정에서는 인식 과정의 오류를 사전에 입력된 단어와 비교하여 가장 유사한 단어로 출력해줌으로써 인식률은 크게 향상시켰다. 실험을 통해 제안하는 시스템이 다른 기법들과 비교하여 우수한 성능의 인식률을 보여주는 것을 확인하였다.
제안 기술을 활용한 메뉴판 인식 어플리케이션을 통해 외국인 관광객에게 음식에 대한 정보를 신속하고 정확하게 전달함으로써 편의성을 제공할 수 있다. 또한 인식 언어를 한글뿐만 아니라 외국어로 확장함으로써 다른 나라에서의 서비스 제공도 가능하다.
2% 높은 인식률을 보여주었다. 제안하는 기법은 전처리 과정에서 글자 영역만을 추출하여 인식을 수행하기 때문에 배경을 제거하지 않는 다른 기법에 비해 높은 인식률을 보여준다.
질의응답
핵심어
질문
논문에서 추출한 답변
OCR 기술이란?
OCR 기술은 패턴 인식의 한 분야로, 사람이 쓰거나 기계로 인쇄한 문자의 영상을 인식하여 기계가 읽을 수 있는 문자로 변환하는 것을 의미한다[5]. OCR 기술은 크게 필기체로 작성된 글자를 인식하는 필기체 인식 방법과 폰트로 작성된 글자를 인식하는 인쇄체 인식 방법으로 나눌 수 있다[6].
스마트폰으로 음식 메뉴를 촬영한 영상으로부터 글자를 인식하는 안드로이드 기반의 한글 음식 메뉴 인식 어플리케이션의 성능을 평가하기 위해 어떤 실험을 진행하였는가?
후처리 과정에서는 음식 메뉴에 대한 사전 DB를 이용하여 잘못된 결과를 수정한다. 제안하는 기법의 성능을 평가하기 위해 실제 메뉴판을 DB로 이용하여 인식 성능을 비교 측정하는 실험을 진행하였다. 구글 플레이스토어에 있는 글자 인식 어플리케이션인 OCR Instantly Free, Text Scanner 그리고 Text Fairy와 인식률 측정 실험을 진행하였으며 실험 결과 제안하는 기법이 다른 기법보다 평균적으로 14.
OCR은 크게 어떻게 구분되는가?
본 논문에서는 스마트폰으로 음식 메뉴를 촬영한 영상으로부터 글자를 인식하는 안드로이드 기반의 한글 음식 메뉴 인식 어플리케이션을 설계하고 구현한다. Optical Character Recognition (OCR) 기술은 크게 전처리, 인식 그리고 후처리 과정으로 구분된다. 전처리 과정에서는 Maximally Stable Extremal Regions (MSER) 기법을 이용하여 글자를 추출한다.
참고문헌 (22)
H. J. Jeon and Y. M. Kim, "The achievement of 14 million people tourists in 2014," Korea Culture & Tourism Institute, Tourgo focus, 2015.
M. S. Park, D. H. Lee, J. H. Park, and J. K. Koo, "Analysis of economic impacts and implications of the increase in Chinese tourists visit," Korea Institute for Industrial Economics & Trade, Issue paper, 2014.
E. K. Choi, "Activation measures to attract Chinese tourists," Korea Culture & Tourism Institute, Basic research, 2011.
E. B. Go, Y. J. Ha, S. R. Choi, K. H. Lee, and Y. H. Park, "An implementation of an android mobile system for extracting and retrieving texts from images," Journal of Digital Contents Society, vol. 12, no. 1, pp. 57-67, Mar. 2011.
R. Mithe, S. Indalkar, and N. Divekar, "Optical character recognition," International Journal of Recent Technology and Engineering, vol. 2, no. 1, pp. 72-75, Mar. 2013.
M. H. Cho, "A study on character recognition using wavelet transformation and moment," Journal of The Korea Society of Computer and Information, vol. 15, no. 10, pp. 49-57, Oct. 2010.
J. H. Roh and D. S. Choi, "Character recognition using a target string," Proceedings of Symposium of the Korean Institute of communications and Information Sciences, Jun. 2014.
S. G. Hong, S. S Hwang, and S. D. Kim, "A license plate recognition system robust to vehicle location and viewing angle," Journal of the Institute of Electronics and Information Engineers, vol. 49, no. 12, pp. 113-123, Dec. 2012.
J. H. Ju and J. S. Oh, "An adaptive binarization algorithm for degraded document images," Journal of Korean Institute of Communications and Information Sciences, vol. 37, no. 7, pp 581-585, Jul. 2012.
C. H. Son and H. M. Park, "Fast multiple-image-based deblurring method," Journal of the Institute of Electronics Engineers of Korea SP, vol. 49, no. 4, pp. 49-57, Jul. 2012.
J. W. Song, N. R. Jung, and H. S. Kang, "Container BIC-code region extraction and recognition method using multiple thresholding," Journal of the Korea Institute of Information and Communication Engineering, vol. 19, no. 6, pp. 1462-1470, Jun. 2015.
Google Translate. Available: https://translate.google.com/about/intl/en_ALL/.
M. Donoser and H. Bischof "Efficient maximally stable extremal region (MSER) tracking," IEEE Computer Society Conference on Computer Vision and Pattern Recognition 2006, Jun. 2006.
S. U. Kim, "An image denoising algorithm for the mobile phone cameras," Journal of the Korea Institute of Electronic Communication Sciences, vol. 9, no. 5, pp. 601- 608, May 2014.
J. W. Jeong and K. K. Jun, "Noise robust document image binarization using text region detection and down sampling," Journal of Korea Multimedia Society, vol. 18, no. 7, pp. 843-852, Jul. 2015.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.