Abstract
In this paper, we suggest an application system architecture which provides accurate, fast and efficient automatic gasometer reading function. The system captures gasometer image using mobile device camera, transmits the image to a cloud server on top of private LTE network, and analyzes the image to extract character information of device ID and gas usage amount by selective optical character recognition based on deep learning technology. In general, there are many types of character in an image and optical character recognition technology extracts all character information in an image. But some applications need to ignore non-of-interest types of character and only have to focus on some specific types of characters. For an example of the application, automatic gasometer reading system only need to extract device ID and gas usage amount character information from gasometer images to send bill to users. Non-of-interest character strings, such as device type, manufacturer, manufacturing date, specification and etc., are not valuable information to the application. Thus, the application have to analyze point of interest region and specific types of characters to extract valuable information only. We adopted CNN (Convolutional Neural Network) based object detection and CRNN (Convolutional Recurrent Neural Network) technology for selective optical character recognition which only analyze point of interest region for selective character information extraction. We build up 3 neural networks for the application system. The first is a convolutional neural network which detects point of interest region of gas usage amount and device ID information character strings, the second is another convolutional neural network which transforms spatial information of point of interest region to spatial sequential feature vectors, and the third is bi-directional long short term memory network which converts spatial sequential information to character strings using time-series analysis mapping from feature vectors to character strings. In this research, point of interest character strings are device ID and gas usage amount. Device ID consists of 12 arabic character strings and gas usage amount consists of 4 ~ 5 arabic character strings. All system components are implemented in Amazon Web Service Cloud with Intel Zeon E5-2686 v4 CPU and NVidia TESLA V100 GPU. The system architecture adopts master-lave processing structure for efficient and fast parallel processing coping with about 700,000 requests per day. Mobile device captures gasometer image and transmits to master process in AWS cloud. Master process runs on Intel Zeon CPU and pushes reading request from mobile device to an input queue with FIFO (First In First Out) structure. Slave process consists of 3 types of deep neural networks which conduct character recognition process and runs on NVidia GPU module. Slave process is always polling the input queue to get recognition request. If there are some requests from master process in the input queue, slave process converts the image in the input queue to device ID character string, gas usage amount character string and position information of the strings, returns the information to output queue, and switch to idle mode to poll the input queue. Master process gets final information form the output queue and delivers the information to the mobile device. We used total 27,120 gasometer images for training, validation and testing of 3 types of deep neural network. 22,985 images were used for training and validation, 4,135 images were used for testing. We randomly splitted 22,985 images with 8:2 ratio for training and validation respectively for each training epoch. 4,135 test image were categorized into 5 types (Normal, noise, reflex, scale and slant). Normal data is clean image data, noise means image with noise signal, relfex means image with light reflection in gasometer region, scale means images with small object size due to long-distance capturing and slant means images which is not horizontally flat. Final character string recognition accuracies for device ID and gas usage amount of normal data are 0.960 and 0.864 respectively.
본 연구에서는 모바일 기기를 이용하여 획득한 가스계량기 사진을 서버로 전송하고, 이를 분석하여 가스 사용량 및 계량기 기물 번호를 인식함으로써 가스 사용량에 대한 과금을 자동으로 처리할 수 있는 응용 시스템 구조를 제안하고자 한다. 모바일 기기는 일반인들이 사용하는 스마트 폰에 준하는 기기를 사용하였으며, 획득한 이미지는 가스 공급사의 사설 LTE 망을 통해 서버로 전송된다. 서버에서는 전송받은 이미지를 분석하여 가스계량기 기물 번호 및 가스 사용량 정보를 추출하고, 사설 LTE 망을 통해 분석 결과를 모바일 기기로 회신한다. 일반적으로 이미지 내에는 많은 종류의 문자 정보가 포함되어 있으나, 본 연구의 응용분야인 가스계량기 자동 검침과 같이 많은 종류의 문자 정보 중 특정 형태의 문자 정보만이 유용한 분야가 존재한다. 본 연구의 응용분야 적용을 위해서는 가스계량기 사진 내의 많은 문자 정보 중에서 관심 대상인 기물 번호 및 가스 사용량 정보만을 선별적으로 검출하고 인식하는 관심 문자열 인식 기술이 필요하다. 관심 문자열 인식을 위해 CNN (Convolutional Neural Network) 심층 신경망 기반의 객체 검출 기술을 적용하여 이미지 내에서 가스 사용량 및 계량기 기물번호의 영역 정보를 추출하고, 추출된 문자열 영역 각각에 CRNN (Convolutional Recurrent Neural Network) 심층 신경망 기술을 적용하여 문자열 전체를 한 번에 인식하였다. 본 연구에서 제안하는 관심문자열 기술 구조는 총 3개의 심층 신경망으로 구성되어 있다. 첫 번째는 관심 문자열 영역을 검출하는 합성곱신경망이고, 두 번째는 관심 문자열 영역 내의 문자열 인식을 위해 영역 내의 이미지를 세로 열 별로 특징 추출하는 합성곱 신경망이며, 마지막 세 번째는 세로 열 별로 추출된 특징 벡터 나열을 문자열로 변환하는 시계열 분석 신경망이다. 관심 문자열은 12자리 기물번호 및 4 ~ 5 자리 사용량이며, 인식 정확도는 각각 0.960, 0.864 이다. 전체 시스템은 Amazon Web Service 에서 제공하는 클라우드 환경에서 구현하였으며 인텔 제온 E5-2686 v4 CPU 및 Nvidia TESLA V100 GPU를 사용하였다. 1일 70만 건의 검침 요청을 고속 병렬 처리하기 위해 마스터-슬레이브 처리 구조를 채용하였다. 마스터 프로세스는 CPU 에서 구동되며, 모바일 기기로 부터의 검침 요청을 입력 큐에 저장한다. 슬레이브 프로세스는 문자열 인식을 수행하는 심층 신경망으로써, GPU에서 구동된다. 슬레이브 프로세스는 입력 큐에 저장된 이미지를 기물번호 문자열, 기물번호 위치, 사용량 문자열, 사용량 위치 등으로 변환하여 출력 큐에 저장한다. 마스터 프로세스는 출력 큐에 저장된 검침 정보를 모바일 기기로 전달한다.