JP7702208B2 - PROGRAM, INFORMATION PROCESSING APPARATUS, AND INFORMATION PROCESSING METHOD - Google Patents
PROGRAM, INFORMATION PROCESSING APPARATUS, AND INFORMATION PROCESSING METHOD Download PDFInfo
- Publication number
- JP7702208B2 JP7702208B2 JP2022013121A JP2022013121A JP7702208B2 JP 7702208 B2 JP7702208 B2 JP 7702208B2 JP 2022013121 A JP2022013121 A JP 2022013121A JP 2022013121 A JP2022013121 A JP 2022013121A JP 7702208 B2 JP7702208 B2 JP 7702208B2
- Authority
- JP
- Japan
- Prior art keywords
- image data
- pointer
- unit
- circle
- analog meter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Arrangements For Transmission Of Measured Signals (AREA)
- Character Input (AREA)
- Character Discrimination (AREA)
- Image Analysis (AREA)
Description
この発明の実施形態は、プログラム、情報処理装置、および情報処理方法に関する。 Embodiments of the present invention relate to a program, an information processing device, and an information processing method.
近時、タブレットを利用して設備点検を支援するサービスが提供されている。例えば、設備の状態を示すメータの検針作業を支援するサービスが知られている。この種のサービスでは、メータを撮影して得られた画像データ処理して数値に変換するソフトウェアを利用して、メータ値が読み取られる。数値読み取りには例えばAI(Artificial Intelligence)が活用される。一方、メータの種類は、メータ値が直接数値で計測値が示される数値メータと、指針の位置で計測値が示されるアナログメータとに大別される。 Recently, services have been provided that use tablets to assist with equipment inspections. For example, there is a known service that assists with the reading of meters, which indicate the status of equipment. In this type of service, the meter value is read using software that photographs the meter, processes the image data obtained, and converts it into a numerical value. AI (Artificial Intelligence), for example, is used to read the numerical value. Meters can be broadly divided into numeric meters, in which the meter value is directly indicated as a numerical value, and analog meters, in which the measurement value is indicated by the position of the pointer.
アナログメータにも様々な種類があり、目盛り板の数値が略同心円状に印字されているものがある。このアナログメータは数値の一つ一つの傾きが異なることから、従来、画像認識による検針のための読み取りが難しく、読み取り精度を上げる技術が要望されていた。
そこで、目的は、アナログメータの検針における数値読み取りの精度を高めたプログラム、情報処理装置、および情報処理方法を提供することにある。
There are various types of analog meters, including some in which the numbers on the scale are printed in a roughly concentric pattern. Because the inclination of each number on an analog meter varies, it has traditionally been difficult to read the meter using image recognition, and there has been a demand for technology to improve the accuracy of reading the meter.
Therefore, an object of the present invention is to provide a program, an information processing device, and an information processing method that improve the accuracy of reading numerical values in reading an analog meter.
実施形態によれば、プログラムは、コンピュータを、記憶部と、傾き情報取得部と、補正部と、数字認識部と、指針検出部と、計測値検出部として機能させる。記憶部は、アナログメータの数字の画像に係る数字画像データにおける数字の傾きに関する学習用データより生成された傾き認識モデルを記憶する。傾き情報取得部は、アナログメータを撮影した画像データより抽出した複数の数字画像データについて、傾き認識モデルより数字画像データの夫々の傾き情報を取得する。補正部は、数字画像データを傾き情報に基づいて回転補正する。数字認識部は、回転補正された数字画像データより数字の値を認識する。指針検出部は、アナログメータの指針の先端の位置を検出する。計測値検出部は、アナログメータの表示板上に表された複数の数字の位置と数字が示す値、および指針の先端の位置より、指針が示す計測値を検出する。 According to an embodiment, the program causes the computer to function as a storage unit, a tilt information acquisition unit, a correction unit, a number recognition unit, a pointer detection unit, and a measurement value detection unit. The storage unit stores a tilt recognition model generated from learning data related to the tilt of numbers in number image data related to an image of the numbers of an analog meter. The tilt information acquisition unit acquires tilt information of each of the number image data from the tilt recognition model for multiple number image data extracted from image data obtained by photographing an analog meter. The correction unit rotates and corrects the number image data based on the tilt information. The number recognition unit recognizes the value of the number from the rotated and corrected number image data. The pointer detection unit detects the position of the tip of the pointer of the analog meter. The measurement value detection unit detects the measurement value indicated by the pointer from the positions of multiple numbers displayed on the display panel of the analog meter, the values indicated by the numbers, and the position of the tip of the pointer.
以下、図面を参照して、一実施形態について説明する。
(構成)
図1は、実施形態に係わる設備点検支援サービスを提供するクラウドシステムの一例を示す図である。以下では、工場、事業所の設備、あるいは種々の計測器などで用いられるメータの検針作業への適用例について説明する。
Hereinafter, an embodiment will be described with reference to the drawings.
(composition)
1 is a diagram illustrating an example of a cloud system that provides an equipment inspection support service according to an embodiment. In the following, an example of application to meter reading work used in equipment in a factory or business, or various measuring instruments, etc. will be described.
図1において、クラウドシステムは、ネットワーク500に接続されたサーバ400を中核とする。クライアント端末300が、ネットワーク500経由でサーバ400にアクセスすることができる。さらに、ネットワーク500の基地局200を介して、モバイル端末100がサーバ400にアクセスすることができる。 In FIG. 1, the cloud system has a server 400 connected to a network 500 at its core. A client terminal 300 can access the server 400 via the network 500. Furthermore, a mobile terminal 100 can access the server 400 via a base station 200 of the network 500.
モバイル端末100は、スマートフォン、タブレット、あるいはノートパソコン等であって、メータの検針作業を行う検針員に携帯される、モバイル端末100は、実施形態に係わる帳票作成支援アプリをインストールした状態で使用される。モバイル端末100は、現場に設置されたメータMT1~MTnの計測値を光学的に読み取り、帳票作成支援アプリにより帳票データを作成してサーバ400に送信する。 The mobile terminal 100 is a smartphone, tablet, or laptop computer, and is carried by a meter reader who performs meter reading operations. The mobile terminal 100 is used with a report creation support app according to the embodiment installed. The mobile terminal 100 optically reads the measurement values of meters MT1 to MTn installed at the site, creates report data using the report creation support app, and transmits it to the server 400.
基地局200は、モバイル端末100とネットワーク500とを通信可能に接続する。ネットワーク500がLAN(Local Area Network)であれば、基地局200は、無線LAN(IEEE802.11シリーズ)を実装するアクセスポイントである。ネットワーク500が公共あるいはローカルの移動通信網であれば、基地局200は、3G、LTE(登録商標)、4G、5G等の無線基地局である。 The base station 200 connects the mobile terminal 100 and the network 500 so that they can communicate with each other. If the network 500 is a LAN (Local Area Network), the base station 200 is an access point that implements a wireless LAN (IEEE 802.11 series). If the network 500 is a public or local mobile communication network, the base station 200 is a wireless base station for 3G, LTE (registered trademark), 4G, 5G, etc.
クライアント端末300は、デスクトップ型あるいはラップトップ型のパーソナルコンピュータ等の情報処理装置である。クライアント端末300は、例えば、検針サービスのベンダの管理部門に設置され、その部門のオペレータにより操作される。クライアント端末300は、例えば、モバイル端末100からサーバ400にアップロードされたデータファイルを取得し、参照、閲覧、編集、集計、データ変換・ファイル作成、帳票の発行などを行う機能を備える。 The client terminal 300 is an information processing device such as a desktop or laptop personal computer. The client terminal 300 is installed, for example, in the management department of a meter reading service vendor and is operated by an operator in that department. The client terminal 300 has functions such as acquiring data files uploaded from the mobile terminal 100 to the server 400, and performing functions such as referencing, viewing, editing, tallying, data conversion, file creation, and report issuing.
サーバ400は、モバイル端末100やクライアント端末300からアップロードされるデータの保存、管理、データ処理、あるいは利用者間でのデータ共有等のサービスを提供する。 The server 400 provides services such as storing, managing, and processing data uploaded from the mobile terminal 100 and the client terminal 300, as well as sharing data between users.
メータMT1~MTnは、各種の設備や計測器に関わり、例えば、電流、電圧、気体や液体の圧力や流量などの計測値や、設備や機器の稼働状態を示す値を表示する。メータMT1~MTnには、数値メータと、アナログメータの2つのタイプがあり、検針員による検針の対象には、両タイプが混在し得る。 Meters MT1 to MTn are related to various facilities and measuring instruments, and display values such as current, voltage, gas or liquid pressure and flow rate, and values that indicate the operating status of facilities and equipment. Meters MT1 to MTn are of two types: numeric meters and analog meters, and the meter readers may read a mixture of both types.
数値メータは、回転式、またはデジタル式で、計測値などを視覚的に表示する。デジタル式の数値メータは、例えば、0~9までの数字が表示される7セグメントディスプレイを複数使用して、数値を示す。回転式の数値メータは、例えば、0~9までの算用数字が記載された数字車を複数連ねて並べた機構を備え、数字車を回転させて数値を示す。 Numeric meters are rotary or digital, and visually display measured values, etc. Digital numeric meters, for example, use multiple seven-segment displays showing the numbers from 0 to 9 to show values. Rotary numeric meters, for example, have a mechanism with multiple number wheels with the Arabic numerals from 0 to 9 written on them lined up in a row, and show values by rotating the number wheels.
アナログメータは、算用数字や目盛りが記された表示盤上を移動する指針の位置により、数値を示す。つまり、数字や目盛りと指針との相対的な位置関係により、計測値などの数値がアナログ的に示される。 An analog meter shows values by the position of a pointer that moves across a dial marked with Arabic numerals and scales. In other words, measurements and other numerical values are shown in an analog manner by the relative positions of the pointer and the numbers or scales.
図2は、角型メータの一例を示す外観図である。例えば交流電流計には、表示盤上の目盛りの数値が同心円状に描画されているものが多い。この種のメータは、目盛り板の数値が同心円状に表記されているものが多い。この場合、文字盤の数値は、水平のものとそうでないものが混在するだけでなく、一つ一つの数値の傾きが異なるので機械では読み取りにくい。また、目盛りの幅が途切れていたり、幅が不均等なものもある。実施形態ではこのような事態に対応することの可能な技術について説明する。なお、以下では、メータの読み値として表示盤上に表記された数字を表記数字と称して説明する。 Figure 2 is an external view showing an example of a square meter. For example, many AC ammeters have the numbers on the scale drawn in concentric circles on the display panel. Many of these types of meters have the numbers on the scale written in concentric circles. In this case, not only are the numbers on the dial a mixture of horizontal and non-horizontal, but each number has a different inclination, making them difficult to read by machine. In addition, some scales have discontinuous or uneven widths. In the embodiment, a technology that can deal with such situations will be described. In the following, the numbers written on the display panel as the meter reading will be referred to as written numbers.
図3は、モバイル端末100の一例を示す機能ブロック図である。情報処理装置の一例としてのモバイル端末100は、通信部101、入力部102、表示部103、カメラ104、GNSS(Global Navigation Satellite System)受信部105、記憶部106、および、プロセッサ110を備える。すなわちモバイル端末は、プロセッサとメモリを備えるコンピュータである。 Figure 3 is a functional block diagram showing an example of a mobile terminal 100. The mobile terminal 100, which is an example of an information processing device, includes a communication unit 101, an input unit 102, a display unit 103, a camera 104, a GNSS (Global Navigation Satellite System) receiving unit 105, a storage unit 106, and a processor 110. In other words, the mobile terminal is a computer equipped with a processor and a memory.
通信部101は、無線通信インターフェースであり、基地局200との間に無線通信リンクを確立しネットワーク500経由でサーバ400と通信する。 The communication unit 101 is a wireless communication interface that establishes a wireless communication link with the base station 200 and communicates with the server 400 via the network 500.
入力部102は、表示部103のタッチパネルや、モバイル端末100の外装に設けられたキースイッチなどの入力デバイスを備え、検針員による入力操作や指示を受け付ける。
表示部103は、タッチパネルなどの表示デバイスを備え、検針員に視覚的な情報を提供する。タッチパネルは、尖筆(スタイラス)や指などによる情報入力を受け付ける。静電容量方式や抵抗膜方式、投影型赤外線方式など種々の方式のタッチパネルがある。表示デバイスとしては、液晶パネルや有機EL(Electro Luminescence)パネル、電子ペーパーなどがある。
The input unit 102 includes input devices such as a touch panel of the display unit 103 and key switches provided on the exterior of the mobile terminal 100, and receives input operations and instructions from a meter reader.
The display unit 103 includes a display device such as a touch panel, and provides visual information to the meter reader. The touch panel accepts information input by a stylus or a finger. There are various types of touch panels, such as a capacitive type, a resistive film type, and a projected infrared type. Examples of the display device include a liquid crystal panel, an organic EL (Electro Luminescence) panel, and electronic paper.
表示部103は、例えば、情報の入力欄やソフトキー、各種画像(写真、CG(コンピュータグラフィックス)画像)を表示デバイスに表示する。表示部103における情報の入力欄やソフトキーに関する表示は、入力部102に対する操作に対応するように、プロセッサ110により制御される。 The display unit 103 displays, for example, information input fields, soft keys, and various images (photos, CG (computer graphics) images) on a display device. The display of the information input fields and soft keys on the display unit 103 is controlled by the processor 110 so as to correspond to operations on the input unit 102.
カメラ104は、デジタルの画像データを生成するデジタルカメラである。カメラ104は、例えばメータMT1~MTn(図1)を撮影して、表記数字の画像などのデータを含む画像データを取得する。すなわちカメラ104は、レンズを含む光学系、CMOS(Complementary MOS)などのイメージセンサを備えた撮像部、および、撮像部からの撮像信号から所定の形式(例えば、JPEG(Joint Photographic Experts Group))の画像データを生成する信号処理部を備える。撮影した日時や場所、撮影条件(シャッター速度や絞り値、画角、緯度や経度など)を示すメタデータ(例えば、Exif(Exchangeable image file format)データ)をプロセッサ110が画像データに付加しても良い。 Camera 104 is a digital camera that generates digital image data. Camera 104 captures, for example, meters MT1 to MTn (Figure 1) to obtain image data including data such as images of notated numbers. That is, camera 104 has an optical system including a lens, an imaging unit equipped with an image sensor such as a CMOS (Complementary MOS), and a signal processing unit that generates image data in a predetermined format (for example, JPEG (Joint Photographic Experts Group)) from an imaging signal from the imaging unit. Processor 110 may add metadata (for example, Exif (Exchangeable image file format) data) indicating the date and time of shooting, the location, and the shooting conditions (shutter speed, aperture value, angle of view, latitude, longitude, etc.) to the image data.
GNSS受信部105は、GPS(Global Positioning System)衛星に代表される複数のGNSS衛星や、地上の基準局などから送信される測位信号を受信し、モバイル端末100の位置を測定する。測位信号は時刻情報も含み、これを利用して現在時刻を知ることもできる。 The GNSS receiver 105 receives positioning signals transmitted from multiple GNSS satellites, such as GPS (Global Positioning System) satellites, and from terrestrial reference stations, and measures the position of the mobile terminal 100. The positioning signals also contain time information, which can be used to find out the current time.
記憶部106は、RAM(Random Access Memory)やROM(Read Only Memory)、SSD(Solid State Drive)などのフラッシュメモリ、HDD(Hard Disk Drive)などの記録デバイスである。取り扱うデータの特性に合わせて、異種の記録デバイスが組み合わせて設けられてもよい。 The storage unit 106 is a recording device such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory such as an SSD (Solid State Drive), or a HDD (Hard Disk Drive). Different types of recording devices may be combined according to the characteristics of the data to be handled.
記憶部106は、例えば、プロセッサ110の動作に伴って生成されたデータ、各種パラメータ、検針員から入力されたデータ、カメラ104で取得された画像データ(例えばメータMT1~MTnの計測値を撮影した画像データ)、サーバ400から取得(ダウンロード)したデータ、あるいは、情報処理のための一時的なデータ等を記憶する。
実施形態において、記憶部106は、帳票データ106a、設定情報データ106b、画像データ106c、学習済みモデル600、およびプログラム700を記憶する。
The memory unit 106 stores, for example, data generated in response to the operation of the processor 110, various parameters, data input by a meter reader, image data acquired by the camera 104 (for example, image data capturing the measurement values of meters MT1 to MTn), data acquired (downloaded) from the server 400, or temporary data for information processing.
In an embodiment, the memory unit 106 stores form data 106a, setting information data 106b, image data 106c, a trained model 600, and a program 700.
帳票データ106aは、所定の検針期間毎に、各メータの指針値を集計して作成される。新たな帳票データ106aが作成されると、ただちにサーバ400にアップロードされる。帳票データ106aは、例えば、検針現場ごとに作成されるデータで、「メータ情報」、「メータ画像」、「今回の検針値」、「前回との差」、「前回の検針値」、「前回に求めた差」などの情報を含む。検針現場に複数のメータが設置されている場合には、帳票データ106aは、各メータについての上記情報を含む。 The report data 106a is created by tallying up the readings of each meter for each specified meter reading period. When new report data 106a is created, it is immediately uploaded to the server 400. The report data 106a is data created for each meter reading site, for example, and includes information such as "meter information," "meter image," "current meter reading value," "difference from previous time," "previous meter reading value," and "difference calculated last time." If multiple meters are installed at the meter reading site, the report data 106a includes the above information for each meter.
ここで、「メータ情報」は、メータを識別するためのマスターコード、メータが計測する対象(例えば、テナント、駐車場、共有スペースなど)を示す識別情報、種別(例えば、ガス、電気、水道など)を含む。「メータ画像」は、検針値の根拠となる画像、すなわち、検針の際に撮影した画像である。 Here, "meter information" includes a master code for identifying the meter, identification information indicating what the meter measures (e.g., tenant, parking lot, shared space, etc.), and type (e.g., gas, electricity, water, etc.). "Meter image" is the image that is the basis for the meter reading, i.e., the image captured at the time of meter reading.
「今回の検針値」は、今回の検針で読み取った値である。「前回との差」は、今回の検針値と前回の検針値の差分である。「前回の検針値」は、前回の検針で読み取った値である。「前回に求めた差」は、前回の検針値と前々回の検針値の差分である。 "Current meter reading value" is the value read in this meter reading. "Difference from previous" is the difference between the current meter reading value and the previous meter reading value. "Previous meter reading value" is the value read in the previous meter reading. "Difference calculated from previous reading" is the difference between the previous meter reading value and the value before that.
設定情報データ106bは、各メータの検針値を集計するために必要な設定情報である。設定情報データ106bは、帳票データ106aと同様に、各検針現場の各メータ毎に作成される。 The setting information data 106b is setting information required to aggregate the meter readings of each meter. Like the report data 106a, the setting information data 106b is created for each meter at each meter reading site.
画像データ106cは、検針値を示すメータをカメラ104で撮影して生成された画像データであり、証拠用のメータ画像として上記帳票データ106aに記録される。その際、撮影直後の画像から、数値を含む必要な部分だけを選択し切り出してもよい。 Image data 106c is image data generated by photographing the meter showing the meter reading with camera 104, and is recorded in the above-mentioned report data 106a as a meter image for evidence. At that time, only the necessary part including the numerical value may be selected and cut out from the image immediately after it is photographed.
学習済みモデル600は、例えばDNN(Deep Neural Network)やCNN(Convolutional Neural Network)などのニューラルネットワークを機械学習させて生成される。実施形態では、数値の画像を含む数字画像データと、当該数字画像データに示される数値の傾きとを含む学習用データを上記ニューラルネットワークに繰り返し入力し、出力された傾きと正しい値との誤差を勾配降下法などで最小化する機械学習により、学習済みモデル600が生成される。 The trained model 600 is generated by machine learning a neural network such as a deep neural network (DNN) or a convolutional neural network (CNN). In the embodiment, the trained model 600 is generated by repeatedly inputting numerical image data including an image of a numerical value and training data including the gradient of the numerical value shown in the numerical image data into the neural network, and minimizing the error between the output gradient and the correct value using a gradient descent method or the like.
ここで、数字画像データとは、画像データから必要最小限の領域を切り出した画像データである。切り出し加工を行っていない画像データを数字画像データとして用いても良いが、学習効率は高まらないことが考えられる。 Here, the number image data is image data that has been cut out from the image data to produce the minimum necessary area. Image data that has not been cut out may be used as the number image data, but it is considered that this will not improve the learning efficiency.
図4は、学習済みモデル600について説明するための図である。傾き認識モデルとしての学習済みモデル600は、例えばサーバ400において生成される。そして、モバイル端末100にインストールされた帳票作成支援アプリが初回起動される際に、学習済みモデル600はサーバ400からダウンロードされて記憶部106に記憶される。 Figure 4 is a diagram for explaining the trained model 600. The trained model 600 as a tilt recognition model is generated, for example, in the server 400. Then, when the form creation support app installed in the mobile terminal 100 is launched for the first time, the trained model 600 is downloaded from the server 400 and stored in the memory unit 106.
図4(a)に示されるように、数値を含む数字画像データと、当該数値の傾きとをセットにした教師データを未学習のニューラルネットワークに繰り返し与え、誤差をフィードバックする手順を積み重ねることで、図4(b)の学習済みモデル600が生成される。例えば数値”3878”を含む画像と、4度、という傾きをセットにした教師データ、あるいは数値”10”を含む画像と、18度、という傾きをセットにした教師データなどを予め用意し、CNNやDNN等に繰り返し与えて学習させる。このような機械学習により得られた学習済みモデル600に数値を含む画像データを別途与えると、その数値そのものではなく、画像数値の傾き(傾き情報)が出力される。ここで、教師データは、例えばサーバ400や他のコンピュータで既存のフレームワークにより作成しても良いし、検針員が現場で収集した画像データを教師データとして利用しても良い。 As shown in FIG. 4(a), the trained model 600 in FIG. 4(b) is generated by repeatedly providing training data, which is a set of numeric image data including a numerical value and the slope of the numerical value, to an untrained neural network and repeating the procedure of feeding back the error. For example, training data, which is a set of an image including the numerical value "3878" and a slope of 4 degrees, or training data, which is a set of an image including the numerical value "10" and a slope of 18 degrees, is prepared in advance and repeatedly provided to a CNN or DNN for training. When image data including a numerical value is separately provided to the trained model 600 obtained by such machine learning, the slope (slope information) of the image numerical value is output instead of the numerical value itself. Here, the training data may be created, for example, by the server 400 or another computer using an existing framework, or image data collected by a meter reader on-site may be used as training data.
図3に戻って説明を続ける。記憶部106のプログラム700は、OS(Operating System)、ファームウェア、アプリケーションソフトウェア等を含み、実施形態に係わる諸機能をモバイル端末100に実行させる。 Returning to FIG. 3, the explanation will be continued. The program 700 in the storage unit 106 includes an operating system (OS), firmware, application software, etc., and causes the mobile terminal 100 to execute various functions related to the embodiment.
プロセッサ110は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などのプロセッサ、チップセット、RAMやROMなどを含み、モバイル端末100の各部を制御する。ROMは、ファームウェアや設定値(各種パラメータ)などを記憶する。プロセッサ110は、記憶部106のプログラム700をRAMに読み込み、また、RAMをワークエリア(作業領域)として使用して各種の機能を実現する。 The processor 110 includes processors such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit), a chipset, RAM, ROM, etc., and controls each part of the mobile terminal 100. The ROM stores firmware and setting values (various parameters), etc. The processor 110 loads the program 700 from the storage unit 106 into the RAM, and also uses the RAM as a work area to realize various functions.
プロセッサ110は、プログラム700に含まれる命令を実行して、少なくとも以下の機能を実現する。すなわち、プロセッサ110は、通信制御部111、入力制御部112、表示制御部113、画像処理部114、位置情報処理部115、および、検針データ集計処理部116として機能する。ここで、プログラム700は、コンピュータとしてのモバイル端末100を、記憶部106、通信制御部111、入力制御部112、表示制御部113、画像処理部114、位置情報処理部115、および、検針データ集計処理部116として機能させるための命令を含む。 The processor 110 executes the instructions included in the program 700 to realize at least the following functions. That is, the processor 110 functions as a communication control unit 111, an input control unit 112, a display control unit 113, an image processing unit 114, a location information processing unit 115, and a meter reading data compilation processing unit 116. Here, the program 700 includes instructions for causing the mobile terminal 100, which is a computer, to function as the memory unit 106, the communication control unit 111, the input control unit 112, the display control unit 113, the image processing unit 114, the location information processing unit 115, and the meter reading data compilation processing unit 116.
通信制御部111は、既定の通信プロトコルに従ってモバイル端末100と基地局200、ネットワーク500、およびサーバ400との通信を制御する。通信制御部111は、例えば、サーバ400からのファイルやデータのダウンロード、およびサーバ400へのデータのアップロードを行う。 The communication control unit 111 controls communication between the mobile terminal 100 and the base station 200, the network 500, and the server 400 in accordance with a predetermined communication protocol. For example, the communication control unit 111 downloads files and data from the server 400 and uploads data to the server 400.
入力制御部112は、入力部102への操作から検針員の要求を解釈したり、情報(文字列など)の入力や、データの取り込み、データ間の対応付けの変更などを受け付ける。また、入力制御部112は、カメラ104で生成された画像データを取得し、記憶部106に転送し、画像データ106cとして記憶させる。 The input control unit 112 interprets requests from meter readers based on operations on the input unit 102, accepts input of information (such as character strings), data import, and changes to correspondences between data. The input control unit 112 also acquires image data generated by the camera 104, transfers it to the storage unit 106, and stores it as image data 106c.
表示制御部113は、文字や画像を含む種々の情報や、各種アイコン、情報の入力欄やソフトキー等のGUI(Graphical User Interface)などを、表示部103に表示する。また、表示制御部113は、画像の取り込み位置を示したりするガイド表示を行う。 The display control unit 113 displays various information including text and images, various icons, information input fields, soft keys, and other GUIs (Graphical User Interfaces) on the display unit 103. The display control unit 113 also displays guides such as the image capture position.
画像処理部114は、カメラ104により撮像された画像データに対して画像処理を施す。画像処理部114は、例えば、認識エンジンとしての機能と、解析エンジンとしての機能を備える。 The image processing unit 114 performs image processing on the image data captured by the camera 104. The image processing unit 114 has, for example, a function as a recognition engine and a function as an analysis engine.
認識エンジンは、カメラ104で取得された画像データに基づく画像から、例えばAI(Artificial Intelligence)を適用したパターン認識により、種々の情報を認識する。認識エンジンは、例えば、QRコード(登録商標)を検出したり、画像に写るメータを数値メータかアナログメータか区別(判定)したり、そのメータの表示盤上の計測値を表示している部分を検出したり、また表示盤内のオブジェクト(数値メータの計測値の数字列、アナログメータの指針や表記数字など)やその配置(座標)を検出する機能を備える。 The recognition engine recognizes various information from an image based on image data acquired by the camera 104, for example by pattern recognition using AI (Artificial Intelligence). The recognition engine has functions such as detecting QR codes (registered trademark), distinguishing (determining) whether a meter shown in an image is a numeric meter or an analog meter, detecting the part of the meter's display panel that displays the measured value, and detecting objects within the display panel (such as the numeric string of measured values on a numeric meter, the pointer or written numbers on an analog meter, etc.) and their arrangement (coordinates).
解析エンジンは、認識エンジンにより検出された情報を解析する処理を行うものである。解析エンジンは、例えば、メータ部分の画像について、QRコード(登録商標)の解読や、光学的文字認識などの文字認識処理(OCR:Optical Character Recognition)により数値メータの計測値をテキスト化したり、アナログメータのメータ部分に記されたオブジェクトの位置関係から指針が示す値を検出する。 The analysis engine performs processing to analyze the information detected by the recognition engine. For example, the analysis engine converts the measured value of a numeric meter into text using character recognition processing such as deciphering a QR code (registered trademark) on the image of the meter or optical character recognition (OCR: Optical Character Recognition), or detects the value indicated by the pointer from the relative positions of objects marked on the meter portion of an analog meter.
なお、文字認識処理については、複数種類の解析エンジンが予め準備される。それぞれの解析エンジンは、例えばメータの種類毎に対応し、それぞれ対応するメータの表記数字に合った解析アルゴリズムを用いて、表示される計測値をテキスト化する。つまり、メータにより算用数字の書体が異なっていたり、表記数字と背景色の組み合わせが異なるので、各メータの表示に合った解析アルゴリズムを有する解析エンジンが準備されている。 For character recognition processing, multiple types of analysis engines are prepared in advance. Each analysis engine corresponds to a different type of meter, for example, and converts the displayed measurement value into text using an analysis algorithm that matches the numbers displayed on the corresponding meter. In other words, since meters have different fonts for Arabic numerals and different combinations of numbers and background colors, analysis engines with analysis algorithms that match the display of each meter are prepared.
位置情報処理部115は、加速度センサ、ジャイロセンサなどを備え、これらの検出結果と、GNSS受信部105による測位結果、および/または通信制御部111により基地局200から得た測位情報に基づいて、モバイル端末100の位置を測位する。
検針データ集計処理部116は、検針データの集計に関わる種々の処理を統括して制御する。
The position information processing unit 115 is equipped with an acceleration sensor, a gyro sensor, etc., and determines the position of the mobile terminal 100 based on the detection results of these sensors, the positioning results from the GNSS receiving unit 105, and/or the positioning information obtained from the base station 200 by the communication control unit 111.
The meter reading data compilation processing unit 116 comprehensively controls various processes relating to the compilation of meter reading data.
図5は、画像処理部114に備わる機能を説明するための機能ブロック図である。画像処理部114は、分類部114a、補正部114b、および、表記数字検出部114cを備える。すなわち、プログラム700は、モバイル端末100を、分類部114a、補正部114b、および表記数字検出部114cとして機能させるための命令を含む。 Figure 5 is a functional block diagram for explaining the functions of the image processing unit 114. The image processing unit 114 includes a classification unit 114a, a correction unit 114b, and a written numeral detection unit 114c. That is, the program 700 includes instructions for causing the mobile terminal 100 to function as the classification unit 114a, the correction unit 114b, and the written numeral detection unit 114c.
分類部114aは、表記数字のデータを含む画像データ106cを学習済みモデル600に与えて、当該画像データ106cの傾き情報を取得する。
補正部114bは、画像データ106cを、傾き情報に基づいて回転補正する。
表記数字検出部114cは、回転補正された画像データ106cに基づいて、表記数字の値および位置を検出する。
The classification unit 114a provides image data 106c including data of written numbers to the trained model 600 and obtains gradient information of the image data 106c.
The correction unit 114b performs rotation correction on the image data 106c based on the inclination information.
The written numeral detection unit 114c detects the value and position of the written numeral based on the rotation-corrected image data 106c.
図6は、分類部114a、補正部114b、および、表記数字検出部114cの作用について説明するための図である。分類部114aは、学習済みモデル600に画像データ106cを与え、それぞれの画像データについての傾き情報を取得する。例えば表記数字”0.04”を含む画像データの傾きは0度、例えば”45”を含む画像データの傾きは52度、”0”を含む画像データの傾きは-45度といった傾き情報が取得される。この傾き情報は、各画像データとセットにして補正部114bに入力される。 Figure 6 is a diagram for explaining the functions of the classification unit 114a, the correction unit 114b, and the written numeral detection unit 114c. The classification unit 114a provides image data 106c to the trained model 600, and obtains tilt information for each image data. For example, tilt information is obtained such that the tilt of image data including the written numeral "0.04" is 0 degrees, the tilt of image data including "45" is 52 degrees, and the tilt of image data including "0" is -45 degrees. This tilt information is input to the correction unit 114b together with each image data.
補正部114bは、それぞれの画像データ106cを、傾き情報を打ち消して正立するように、つまり角度が0になるように回転補正する。画像の回転補正は、例えばオープンソースソフトウェアやライブラリなどを用いて、既存の技術により実施することができる。 The correction unit 114b performs rotation correction on each image data 106c so that the inclination information is cancelled and the image is upright, i.e., the angle is set to 0. The image rotation correction can be performed by existing technology, for example, using open source software or libraries.
表記数字検出部114cは、回転補正された画像データ106cに基づいて、表記数字の値および位置を検出する。図6においては、それぞれ”0.04”、”45”、”0”という値が得られている。 The written number detection unit 114c detects the value and position of the written number based on the rotation-corrected image data 106c. In FIG. 6, the values obtained are "0.04", "45", and "0", respectively.
図7は、検針データ集計処理部116に備わる機能を説明するための機能ブロック図である。検針データ集計処理部116は、帳票作成部116a、数値メータ検針部116b、アナログメータ検針部116c、修正処理部116dを備える。 Figure 7 is a functional block diagram for explaining the functions of the meter reading data compilation processing unit 116. The meter reading data compilation processing unit 116 includes a report creation unit 116a, a numeric meter reading unit 116b, an analog meter reading unit 116c, and a correction processing unit 116d.
帳票作成部116aは、数値メータ検針部116b、あるいはアナログメータ検針部116cにより読み取られた検針値、あるいは、修正処理部116dにより修正された指針値に基づいて、帳票データを作成する。 The report creation unit 116a creates report data based on the meter reading value read by the numeric meter reading unit 116b or the analog meter reading unit 116c, or the pointer value corrected by the correction processing unit 116d.
数値メータ検針部116bは、画像処理部114の認識エンジンと解析エンジンを必要に応じて利用し、数値メータを撮影した画像に基づいて、数値メータに表示される計測値の数字列を指針値として読み取る。 The numeric meter reading unit 116b uses the recognition engine and analysis engine of the image processing unit 114 as necessary to read the numeric string of the measurement value displayed on the numeric meter as the pointer value based on a photographed image of the numeric meter.
アナログメータ検針部116cは、画像処理部114の認識エンジンと解析エンジンを必要に応じて利用し、アナログメータを撮影した画像に基づいて、アナログメータに指針で示される値を指針値として読み取る。 The analog meter reading unit 116c uses the recognition engine and analysis engine of the image processing unit 114 as necessary to read the value indicated by the pointer on the analog meter as the pointer value based on a captured image of the analog meter.
修正処理部116dは、入力部102を介した検針員の操作に応じ、指針値を修正する指示を受け付けて、数値メータ検針部116bやアナログメータ検針部116cが読み取った指針値を修正する。 The correction processing unit 116d accepts an instruction to correct the indicator value in response to an operation by the meter reader via the input unit 102, and corrects the indicator value read by the numeric meter reading unit 116b or the analog meter reading unit 116c.
図8は、アナログメータ検針部116cに備わる機能を説明するための機能ブロック図である。アナログメータ検針部116cは、指針検出部6a、円検出部6b、交点検出部6c、交点数字検出部6d、および、計測値検出部6eを備える。すなわち、プログラム700は、モバイル端末100を、指針検出部6a、円検出部6b、交点検出部6c、交点数字検出部6d、および計測値検出部6eとして機能させるための命令を含む。 Figure 8 is a functional block diagram for explaining the functions of the analog meter reading unit 116c. The analog meter reading unit 116c includes a needle detection unit 6a, a circle detection unit 6b, an intersection detection unit 6c, an intersection number detection unit 6d, and a measurement value detection unit 6e. That is, the program 700 includes instructions for causing the mobile terminal 100 to function as the needle detection unit 6a, the circle detection unit 6b, the intersection detection unit 6c, the intersection number detection unit 6d, and the measurement value detection unit 6e.
指針検出部6aは、アナログメータを撮影して得られた画像データ106cに基づいて、指針の先端の位置を検出する。
円検出部6bは、表記数字検出部114cが検出した表記数字の位置を通る円と、この円の中心の位置を検出する。
The needle detection unit 6a detects the position of the tip of the needle based on image data 106c obtained by photographing the analog meter.
The circle detection unit 6b detects a circle that passes through the position of the written numeral detected by the written numeral detection unit 114c and the position of the center of this circle.
交点検出部6cは、指針検出部6aが検出した指針の先端と、円検出部6bが検出した円の中心を結ぶ線分と、円検出部6bが検出した円の円周との交点の位置を求める。
交点数字検出部6dは、表記数字検出部114cが検出した表記数字のうち、交点の一方の円周上に位置する第1の表記数字と、交点の他方の円周上に位置する第2の表記数字をそれぞれ検出する。
計測値検出部6eは、第1の表記数字の位置、第2の表記数字の位置、円の中心の位置、交点の位置、第1の表記数字の値、および第2の表記数字の値に基づいて、指針が示す計測値を検出する。
The intersection detection unit 6c determines the position of the intersection between a line segment connecting the tip of the pointer detected by the pointer detection unit 6a and the center of the circle detected by the circle detection unit 6b, and the circumference of the circle detected by the circle detection unit 6b.
The intersection number detection unit 6d detects a first written number located on one circumference of the intersection and a second written number located on the other circumference of the intersection from among the written numbers detected by the written number detection unit 114c.
The measurement value detection unit 6e detects the measurement value indicated by the hand based on the position of the first written numeral, the position of the second written numeral, the position of the center of the circle, the position of the intersection, the value of the first written numeral, and the value of the second written numeral.
(作用)
次に、上記構成のクラウドシステムにおける作用について説明する。
図9、および図10は、実施形態に係わるモバイル端末100の処理手順の一例を示すフローチャートである。図9、図10を参照して、アナログメータから検針値を読み取るための、アナログメータ検針処理について説明する。
(effect)
Next, the operation of the cloud system having the above configuration will be described.
9 and 10 are flowcharts showing an example of a processing procedure of the mobile terminal 100 according to the embodiment. An analog meter reading process for reading a meter reading value from an analog meter will be described with reference to FIGS.
図9のステップS301において、モバイル端末100のアナログメータ検針部116cは、記憶部106から設定情報データ106bを読み出し、ステップS302に移行する。読み出された設定情報データ106bは、以後の処理において、初期設定のパラメータ(初期設定値)として用いられる。 In step S301 of FIG. 9, the analog meter reading unit 116c of the mobile terminal 100 reads the setting information data 106b from the storage unit 106 and proceeds to step S302. The read setting information data 106b is used as initial setting parameters (initial setting values) in subsequent processing.
設定情報データ106bの一例としては、種々のアナログメータについて、メータの識別情報に対応づけて、表示盤上に表示されている数値の最小値と最大値などを記録した情報、あるいは、メータを識別するためにAI(Artificial Intelligence)学習させた学習データなどが含まれる。 Examples of the setting information data 106b include information that records the minimum and maximum values displayed on the display panel for various analog meters in association with the meter's identification information, or learning data that has been trained by AI (Artificial Intelligence) to identify the meter.
学習データは、アナログメータを撮影した画像において、メータの中心点、指針の可動範囲の開始点と終了点、表示盤の最も下側の底点、指針の範囲(最小値、最大値)、しきい値など設定した情報に基づいて、機械学習によって生成される。 The learning data is generated through machine learning based on preset information in an image of an analog meter, such as the center point of the meter, the start and end points of the pointer's range of motion, the lowest point of the display dial, the range of the pointer (minimum and maximum values), and threshold values.
ステップS302において、アナログメータ検針部116cは、カメラ104を起動して、アナログメータMT(例えば、メータMT1~MTnのいずれか)を撮像して画像データを取得し、処理手順はステップS303に移行する。 In step S302, the analog meter reading unit 116c activates the camera 104 to capture an image of the analog meter MT (e.g., any one of meters MT1 to MTn) to obtain image data, and the process proceeds to step S303.
具体的には、ステップS302において、カメラ104が起動され、カメラ104により撮像された映像が表示部103に表示される。検針員は、この表示を確認して撮影構図を調整し、アナログメータMT全体が写る状態でシャッタ操作を行う。これにより、アナログメータMT全体が写る画像データを得られ、表示部103には、撮影されたアナログメータMTが表示される。 Specifically, in step S302, the camera 104 is started, and the image captured by the camera 104 is displayed on the display unit 103. The meter reader checks this display, adjusts the composition of the shot, and operates the shutter so that the entire analog meter MT is captured. This provides image data that captures the entire analog meter MT, and the captured analog meter MT is displayed on the display unit 103.
ステップS303において、アナログメータ検針部116cは、ステップS302で得た画像データに基づいて、撮影したアナログメータMTを表示部103に表示するとともに、画像データに写るアナログメータMTの表示盤上の表記数字と指針を検出する。なお、この検出には、画像処理部114の認識エンジンが用いられる。 In step S303, the analog meter reading unit 116c displays the photographed analog meter MT on the display unit 103 based on the image data obtained in step S302, and detects the numerals and pointers on the display panel of the analog meter MT that appear in the image data. Note that the recognition engine of the image processing unit 114 is used for this detection.
またステップS303において、アナログメータ検針部116cは、上記表示したアナログメータMT上に、上記検出した表記数字と指針をそれぞれ矩形の枠線(数値枠)で囲って表示し、ステップS304に移行する。 In addition, in step S303, the analog meter reading unit 116c displays the detected written numbers and pointer on the displayed analog meter MT by enclosing them in a rectangular frame (numerical frame), and then proceeds to step S304.
図11は、表記数字をそれぞれ囲う枠線の一例を示す図である。これらの表示は、表示制御部113を通じて行われ、以下で説明する表示についても同様である。なお、アナログメータMT上の表記数字と指針の検出は、例えば、AIを利用することで実現できる。 Figure 11 shows an example of a frame that surrounds each of the notated numbers. These displays are performed through the display control unit 113, and the same applies to the displays described below. Note that the notated numbers and pointers on the analog meter MT can be detected, for example, by using AI.
すなわち、設定情報データ106bに含まれる学習データと画像データに基づいて、アナログメータ検針部116cがアナログメータMTの種類などを特定するとともに、さらに、この特定したアナログメータMTについての学習データから表示盤上の表記数字と指針を検出する。 That is, based on the learning data and image data contained in the setting information data 106b, the analog meter reading unit 116c identifies the type of analog meter MT, and further detects the numbers and pointer on the display panel from the learning data for this identified analog meter MT.
ステップS304において、アナログメータ検針部116cは、ステップS303で表示した表記数字を囲う枠線の中心の位置(座標)を検出し、ステップS305に移行する。ここで検出された座標は、以下の説明において、表記数字座標と称する。表記数字座標は、表示したアナログメータMT上に設定した2次元の座標軸に基づくものであって、以下の説明における座標についても、上記座標軸を基準にしたものである。 In step S304, the analog meter reading unit 116c detects the center position (coordinates) of the frame surrounding the notated number displayed in step S303, and proceeds to step S305. The coordinates detected here are referred to as notated number coordinates in the following description. Notated number coordinates are based on two-dimensional coordinate axes set on the displayed analog meter MT, and the coordinates in the following description are also based on the above coordinate axes.
ステップS305において、アナログメータ検針部116cは、ステップS304で検出した表記数字座標に基づいて、枠線の中心を通る近似した円(擬似円)を求める。すなわちアナログメータ検針部116cは、表記数字座標が円周上に存在する擬似円を求める。さらに、アナログメータ検針部116cは、この円の中心点Oの座標とその半径Rを算出し、ステップS306に移行する。 In step S305, the analog meter reading unit 116c finds an approximate circle (pseudo circle) that passes through the center of the frame line based on the notated numeric coordinates detected in step S304. That is, the analog meter reading unit 116c finds a pseudo circle on whose circumference the notated numeric coordinates exist. Furthermore, the analog meter reading unit 116c calculates the coordinates of the center point O of this circle and its radius R, and proceeds to step S306.
図12は、擬似円と中心点Oの一例を示す図である。ステップS306において、アナログメータ検針部116cは、指針を囲う枠線と擬似円の中心点Oに基づいて、指針の先端Aの座標Acを検出し、処理手順はステップS307に移行する。 Figure 12 is a diagram showing an example of a pseudo circle and its center point O. In step S306, the analog meter reading unit 116c detects the coordinate Ac of the tip A of the pointer based on the frame line surrounding the pointer and the center point O of the pseudo circle, and the processing procedure proceeds to step S307.
図13は、指針を囲う枠線と円の中心点Oの一例を示す図である。また、図14に、奥向きに傾斜した文字盤を含む画像の例を示す。図14の例では、指針を囲う矩形の枠線の4つの頂点のうち、円の中心点Oから近い頂点と対角をなす頂点を指針の先端Aの座標Acとして検出する。 Fig. 13 is a diagram showing an example of a frame line surrounding a pointer and a center point O of the circle. Fig. 14 shows an example of an image including a dial that is tilted toward the back. In the example of Fig. 14, of the four vertices of the rectangular frame line surrounding the pointer, the vertex diagonal to the vertex closest to the center point O of the circle is detected as the coordinate Ac of the tip A of the pointer.
ただし、指針の角度によっては、図15に示すように、円の中心Oから近い点である頂点b1ではなく、ふさわしくない頂点b2を検出する可能性がある。このため、枠線の各辺の中点c1~c4と中心Oの距離を考慮して頂点b1を検出し、この頂点b1と対角をなす、指針の先端Aに相当する頂点aの座標を検出するようにしてもよい。 However, depending on the angle of the pointer, as shown in Figure 15, it is possible that an inappropriate vertex b2 will be detected instead of vertex b1, which is the closest point to the center O of the circle. For this reason, it is also possible to detect vertex b1 by taking into consideration the distance between the center O and the midpoints c1 to c4 of each side of the frame line, and then detect the coordinates of vertex a, which is diagonal to vertex b1 and corresponds to the tip A of the pointer.
ステップS307において、アナログメータ検針部116cは、ステップS304で検出した表記数字座標を順番に配列し、処理手順はステップS308に移行する。 In step S307, the analog meter reading unit 116c arranges the notated numeric coordinates detected in step S304 in order, and the processing proceeds to step S308.
ステップS307において、アナログメータ検針部116cは、具体的には、図16に矢印で示すように、円の中心点Oの下方の円周上を起点Sとして、時計回りに円周上の表記数字座標を順に並べる。これは、一般的なアナログメータが、時計回りに読み値が変化する(大きくなる)ことを考慮したものである。 In step S307, the analog meter reading unit 116c specifically arranges the numerical coordinates on the circumference in a clockwise direction, starting from the starting point S on the circumference below the center point O of the circle, as shown by the arrow in FIG. 16. This is in consideration of the fact that the readings of a typical analog meter change (become larger) in the clockwise direction.
次に、ステップS501において、画像処理部114は、枠線(数値枠)の数値画像を切り出し、ステップS502において、切り出された数値画像における数値の回転角度を認識する。回転角度は、学習済みモデル600から傾き情報として出力される。この傾き情報を用いて、画像処理部114はステップS503において、切り出された数値画像に水平補正処理を施して、傾きの無い表記数字の画像データを生成する。これにより、図17に示されるように、文字盤の数値が全て水平になった画像データが生成される。 Next, in step S501, the image processing unit 114 cuts out a numerical image of the frame line (numerical frame), and in step S502, recognizes the rotation angle of the numerical value in the cut-out numerical image. The rotation angle is output as tilt information from the trained model 600. Using this tilt information, in step S503, the image processing unit 114 performs horizontal correction processing on the cut-out numerical image to generate image data of the written numerals without tilt. This generates image data in which all the numerical values on the dial are horizontal, as shown in FIG. 17.
ステップS308において、アナログメータ検針部116cは、図17に示すように、ステップS303で囲った枠線内の表記数字の数値を読み取り、処理手順はステップS309に移行する。 In step S308, the analog meter reading unit 116c reads the numerical value of the number displayed within the frame enclosed in step S303, as shown in FIG. 17, and the processing procedure proceeds to step S309.
表記数字の数値の読み取り(検出)は、例えば、AIを利用することで実現できる。すなわち、設定情報データ106bに含まれる学習データと画像データに基づいて、アナログメータ検針部116cがアナログメータMTの種類などを特定できる。さらに、この特定したアナログメータMTについての学習データから表示盤上の表記数字の数値を検出することができる。 Reading (detecting) the numerical value of the notated digits can be achieved, for example, by using AI. That is, the analog meter reading unit 116c can identify the type of analog meter MT, etc., based on the learning data and image data contained in the setting information data 106b. Furthermore, the numerical value of the notated digits on the display panel can be detected from the learning data for this identified analog meter MT.
ステップS309において、アナログメータ検針部116cは、ステップS308で読み取った数値に「0」があるか否かを判定する。ここで、ステップS308で読み取った数値に「0」がある場合には、処理手順はステップS310に移行し、「0」がない場合には、処理手順はステップS312に移行する。 In step S309, the analog meter reading unit 116c determines whether the numerical value read in step S308 includes a "0". If the numerical value read in step S308 includes a "0", the process proceeds to step S310, and if the numerical value does not include a "0", the process proceeds to step S312.
ステップS310において、アナログメータ検針部116cは、ステップS307で行った配列とステップS308で読み取った数値に基づいて、中心点Oからみて、数値「0」の表記数字の左側に数値が存在するか否かを判定する。ここで、左側に数値が存在する場合には、処理手順はステップS311に移行し、左側に数値が存在しない場合には、処理手順はステップS314に移行する。 In step S310, the analog meter reading unit 116c determines whether or not a number exists to the left of the numeric value "0" from the center point O, based on the arrangement performed in step S307 and the numeric value read in step S308. If a numeric value exists to the left, the process proceeds to step S311, and if no numeric value exists to the left, the process proceeds to step S314.
ステップS311において、アナログメータ検針部116cは、ステップS308で読み取った数値のうち、数値「0」より左側に存在する数値については、同じ大きさのマイナス(負)の値に変換し、ステップS314に移行する。なお、右側に存在する数値については、プラス(正)の値のままとする。 In step S311, the analog meter reading unit 116c converts any numerical values read in step S308 that are to the left of the numerical value "0" to a negative value of the same magnitude, and proceeds to step S314. Note that numerical values to the right of the numerical value remain positive.
図18に示すようなアナログメータの場合、数値「0」の左側に数値「0.05」と「0.1」が存在する。よってアナログメータ検針部116cは、これらの数値をそれぞれ「-0.05」と「-0.1」に変換する。 In the case of an analog meter as shown in FIG. 18, the numbers "0.05" and "0.1" exist to the left of the number "0." Therefore, the analog meter reading unit 116c converts these numbers to "-0.05" and "-0.1," respectively.
ステップS312において、アナログメータ検針部116cは、ステップS307で行った配列とステップS308で読み取った数値に基づいて、隣接する2つの数値を比較し、数値が右側の数値以上となっている数値が存在するか否かを判定する。すなわち、中心点Oからみて、左側の数値が右側の数値以上の数値となっているものが存在するか否かを判定する。右側の数値以上の数値が存在する場合には、処理手順はステップS311に移行し、右側の数値以上の数値が存在しない場合には、処理手順はステップS314に移行する。 In step S312, the analog meter reading unit 116c compares two adjacent values based on the arrangement performed in step S307 and the values read in step S308, and determines whether or not a value exists that is equal to or greater than the value on the right. In other words, it determines whether or not a value exists on the left side of the center point O that is equal to or greater than the value on the right side. If a value exists that is equal to or greater than the value on the right side, the process proceeds to step S311, and if no value exists that is equal to or greater than the value on the right side, the process proceeds to step S314.
ステップS313において、アナログメータ検針部116cは、ステップS308で読み取った数値のうち、数値が右側の数値以上となっている数値の符号を反転し、処理手順はステップS314に移行する。 In step S313, the analog meter reading unit 116c inverts the sign of any numerical value read in step S308 that is equal to or greater than the numerical value to the right, and the process proceeds to step S314.
図18に示すようなアナログメータの場合、左端の数値「0.1」の右側には数値「0.05」が存在する。よってアナログメータ検針部116cは、この数値「0.1」を「-0.1」に変換する。同様に、左側の数値「0.05」の右側には数値「0」が存在するため、アナログメータ検針部116cは、この数値「0.05」を「-0.05」に変換する。 In the case of an analog meter as shown in FIG. 18, the value "0.05" exists to the right of the value "0.1" on the far left. Therefore, the analog meter reading unit 116c converts this value "0.1" to "-0.1". Similarly, the value "0" exists to the right of the value "0.05" on the left, so the analog meter reading unit 116c converts this value "0.05" to "-0.05".
図9のステップS314において、アナログメータ検針部116cは、例えば図19に示すように、ステップS306で検出した指針の先端Aの座標AcとステップS305で検出した円の中心点Oの座標を結ぶ線分と、ステップS305で求めた円Oの円周との交点Xの座標Xcを検出する。そののち、交点Xの有無によらず、処理手順は図10のステップS401に移行する。 In step S314 in FIG. 9, the analog meter reading unit 116c detects the coordinate Xc of the intersection X between the line segment connecting the coordinate Ac of the tip A of the pointer detected in step S306 and the coordinate of the center point O of the circle detected in step S305, and the circumference of the circle O determined in step S305, as shown in FIG. 19, for example. After that, regardless of the presence or absence of the intersection X, the processing procedure proceeds to step S401 in FIG. 10.
図10のステップS401において、アナログメータ検針部116cは、ステップS314で交点Xの座標Xcが検出できたか否かを判定する。交点Xの座標Xcが検出できた(すなわち交点Xがある)場合には、処理手順はステップS403に移行する。交点Xが無いなど、交点Xの座標Xcが検出できない場合には、処理手順はステップS402に移行する。 In step S401 of FIG. 10, the analog meter reading unit 116c determines whether or not the coordinate Xc of the intersection X was detected in step S314. If the coordinate Xc of the intersection X was detected (i.e., the intersection X exists), the process proceeds to step S403. If the coordinate Xc of the intersection X cannot be detected, for example, because the intersection X does not exist, the process proceeds to step S402.
ステップS402において、アナログメータ検針部116cは、指針を延長して、延長した指針と円周の交点Xを作成し、その交点Xの座標Xcを検出する。そして、処理手順はステップS402に移行する。なお、交点Xの座標Xcの検出は、例えば、ステップS306で検出した指針の先端Aの座標Acと中心点Oに基づいて、中心点Oから座標Acの方向に延長することで実現できる。 In step S402, the analog meter reading unit 116c extends the pointer, creates an intersection X between the extended pointer and the circumference, and detects the coordinate Xc of the intersection X. The processing procedure then proceeds to step S402. Note that the detection of the coordinate Xc of the intersection X can be achieved, for example, by extending the pointer from the center point O in the direction of the coordinate Ac based on the coordinate Ac of the tip A of the pointer detected in step S306 and the center point O.
ステップS403において、アナログメータ検針部116cは、ステップS314、またはステップS402で検出した交点Xの座標Xcの左右の円周上にある表記数字を探索し、それらの表記数字があるか否かを判定する。 In step S403, the analog meter reading unit 116c searches for written numbers on the left and right circumferences of the coordinate Xc of the intersection point X detected in step S314 or step S402, and determines whether or not those written numbers are present.
図20の例では、交点Xの座標Xcの左の円周上に表記数字NLとして「20」が存在し、右の円周上の表記数字NRとして「40」が存在する。 In the example of FIG. 20, the notation number NL is "20" on the left circumference of the coordinate Xc of the intersection point X, and the notation number NR is "40" on the right circumference.
ここで、左右ともに表記数字を検出できた場合には、処理手順はステップS404に移行する。表記数字が左または右の一方にしか無い場合には、指針値として、最小値(NRのみ検出時)あるいは最大値(NLのみ検出時)を検出したものとして、処理手順はステップS409に移行する。 If notational numbers can be detected on both the left and right, the process proceeds to step S404. If notational numbers are present only on one side, the process proceeds to step S409, assuming that the minimum value (when only NR is detected) or maximum value (when only NL is detected) has been detected as the pointer value.
図21(a)では、図20と同様に、交点Xの座標Xcの左の円周上に表記数字NLとして「20」が存在し、右の円周上の表記数字NRとして「40」が存在する。よって処理手順はステップS404に移行する。 In FIG. 21(a), as in FIG. 20, the notation numeral NL is "20" on the left circumference of the coordinate Xc of the intersection point X, and the notation numeral NR is "40" on the right circumference. Therefore, the processing procedure proceeds to step S404.
一方、図21(b)に示すように、中心点Oから見て交点Xの左側(円周の起点まで)には、表記数字が存在しない場合、指針値として、初期設定値に基づく最小値を検出したものとして確定し、処理手順はステップS409に移行する。 On the other hand, as shown in FIG. 21(b), if there are no written numbers to the left of intersection point X (up to the starting point of the circumference) as viewed from center point O, the minimum value based on the initial setting value is determined as the pointer value, and the processing procedure proceeds to step S409.
なお、交点Xの右側(円周の終点まで)に表記数字が存在しない場合には、指針値として、初期設定値に基づく最大値を検出したものとして確定し、処理手順はステップS409に移行する。 If there are no written numbers to the right of intersection point X (up to the end point of the circumference), the pointer value is determined to be the maximum value based on the initial setting value, and the processing proceeds to step S409.
また、図21(c)に示すように、指針が表記数字「40」と重なったことにより、ステップS303やステップS304で表記数字「40」が検出されない場合には、この表記数字「40」は検出されない。よって「40」は、ステップS403の判定で用いられることはない。しかし、それ以外の左右の表記数字「20」と「60」がそれぞれNL、NRとしてステップS303やステップS304で検出されているので、ステップS403でこれらの表記数字の存在が検出されたのち、処理手順はステップS404に移行する。 Also, as shown in FIG. 21(c), if the hand overlaps with the written numeral "40" and the written numeral "40" is not detected in step S303 or step S304, the written numeral "40" is not detected. Therefore, "40" is not used in the judgment of step S403. However, since the other written numerals "20" and "60" on the left and right are detected as NL and NR, respectively, in step S303 and step S304, the processing procedure proceeds to step S404 after the presence of these written numerals is detected in step S403.
さらに、図21(d)に示すように、指針が表記数字「40」と重なるととともに、何らかの理由で、表記数字「60」が検出されない場合には、表記数字「40」と「60」はステップS403の判定で用いられることはない。しかし、それ以外の左右の表記数字「20」と「80」がステップS303やステップS304で検出されているので、ステップS403でこれらの表記数字がそれぞれNL、NRとして検出されたのち、処理手順はステップS404に移行する。 Furthermore, as shown in FIG. 21(d), if the hand overlaps with the numeral "40" and for some reason the numeral "60" is not detected, the numerals "40" and "60" are not used in the determination of step S403. However, since the numerals "20" and "80" on the left and right sides have been detected in steps S303 and S304, these numerals are detected as NL and NR, respectively, in step S403, and the processing procedure proceeds to step S404.
図22に示されるように、ステップS404においてアナログメータ検針部116cは、まず、ステップS403で検出した2つ表記数字NL、NRのうち、交点Xの左側の表記数字NLの座標と中心点Oの座標を結ぶ線分と、交点Xの座標と中心点Oの座標を結ぶ線分とがなす角度S1を検出する。 As shown in FIG. 22, in step S404, the analog meter reading unit 116c first detects the angle S1 formed by the line segment connecting the coordinates of the notated number NL on the left side of the intersection point X and the coordinates of the center point O, out of the two notated numbers NL and NR detected in step S403, and the line segment connecting the coordinates of the intersection point X and the coordinates of the center point O.
次にアナログメータ検針部116cは、ステップS403で検出した2つ表記数字NL、NRのうち、交点Xの右側の表記数字NRの座標と中心点Oの座標を結ぶ線分と、交点Xの座標と中心点Oの座標を結ぶ線分とがなす角度S2を検出し、ステップS405に移行する。 Next, the analog meter reading unit 116c detects the angle S2 between the line segment connecting the coordinates of the notated number NR on the right side of the intersection point X and the coordinates of the center point O, out of the two notated numbers NL and NR detected in step S403, and the line segment connecting the coordinates of the intersection point X and the coordinates of the center point O, and proceeds to step S405.
図23に示されるように、ステップS405においてアナログメータ検針部116cは、角度S1、S2、半径R、左側の表記数字NLの数値VL、右側の表記数字NRの数値VRとに基づいて、交点Xに相当する指針値VDを算出する。こののち処理手順はし、ステップS406に移行する。 As shown in FIG. 23, in step S405, the analog meter reading unit 116c calculates the pointer value VD corresponding to the intersection point X based on the angles S1 and S2, the radius R, the value VL of the left-side notation number NL, and the value VR of the right-side notation number NR. After this, the processing procedure ends and proceeds to step S406.
ここで、指針値VDは、例えばVD=(S1*VR+S2*VL)/(S1+S2)として算出することができる。 Here, the indicator value VD can be calculated, for example, as VD = (S1 * VR + S2 * VL) / (S1 + S2).
ステップS406において、アナログメータ検針部116cは、ステップS308で読み取った表記数字の数値に基づいて、小数点下の桁数のうち、最大の桁数を検出し、処理手順はステップS402に移行する。 In step S406, the analog meter reading unit 116c detects the maximum number of decimal places based on the numerical value of the notated digits read in step S308, and the processing procedure proceeds to step S402.
図24に示されるようなアナログメータであれば、読み取った数値は、整数値であるため、小数点下の最大の桁数は0と検出する。図25のようなアナログメータであれば、読み取った数値には、「0.1」と「0.05」が含まれており、「0.05」に基づいて、最大の桁数は2と検出する。 For an analog meter like that shown in Figure 24, the read value is an integer value, so the maximum number of digits after the decimal point is detected as 0. For an analog meter like that shown in Figure 25, the read value includes "0.1" and "0.05", and based on "0.05", the maximum number of digits is detected as 2.
ステップS407において、アナログメータ検針部116cは、ステップS406で検出した最大桁数に1を加えた値を有効小数点下桁数として求める。そして、アナログメータ検針部116cは、ステップS405の算出結果のうち、有効小数点下桁数までの値を指針値として確定し、処理手順はステップS408に移行する。 In step S407, the analog meter reading unit 116c calculates the maximum number of digits detected in step S406 plus 1 as the number of significant decimal places. The analog meter reading unit 116c then determines the value up to the number of significant decimal places from the calculation result in step S405 as the pointer value, and the process proceeds to step S408.
図24に示すようなアナログメータにおいて、ステップS405において、指針値として「30.04567…」が算出された場合、有効小数点下桁数が1であることより、指針値は小数第1位までの「30.0」として確定する。なお、小数第1位の値は、小数第2位の値を四捨五入することにより決定する。 In an analog meter such as that shown in FIG. 24, if the pointer value is calculated as "30.04567..." in step S405, the pointer value is determined to be "30.0" up to the first decimal place because the number of significant decimal places is 1. The first decimal place value is determined by rounding off the value to the second decimal place.
ステップS408において、アナログメータ検針部116cは、ステップS302で得た画像データに基づいて、撮影したアナログメータMTの画像のうち、指針とその近傍の表記数値や、交点Xを含む範囲をトリミングしたトリミング画像のデータ(以下、トリミング画像データと称する)を生成し、ステップS409に移行する。 In step S408, the analog meter reading unit 116c generates data of a cropped image (hereinafter referred to as cropped image data) obtained by cropping the needle and the numerical values displayed in its vicinity, and the range including the intersection point X from the captured image of the analog meter MT based on the image data obtained in step S302, and then proceeds to step S409.
ステップS409において、修正処理部116dは、表示中の画像に代えて、ステップS408で生成したトリミング画像データに基づいて、上記トリミング画像を表示部103に表示し、ステップS403で確定した指針値、あるいはステップS407で確定した指針値を表示部103に表示する。そして処理手順はステップS410に移行する。 In step S409, the correction processing unit 116d displays the trimmed image on the display unit 103 based on the trimmed image data generated in step S408, instead of the image being displayed, and displays the pointer value determined in step S403 or the pointer value determined in step S407 on the display unit 103. The processing procedure then proceeds to step S410.
図26は、検出した指針値を修正するためのインタフェースの一例を示す図である。すなわち、画像データのうち交点Xを含む範囲を拡大したトリミング画像が表示されるとともに、ソフトキーとして機能するGUIとして、ドラムロールとスライドバーが表示部103に表示される。 Figure 26 shows an example of an interface for correcting the detected pointer value. That is, a cropped image in which the range including the intersection point X in the image data is enlarged is displayed, and a drum roll and a slide bar are displayed on the display unit 103 as a GUI that functions as soft keys.
ドラムロール表示は、指針値を修正するための入力インタフェースであり、指針値の各桁の値にそれぞれ対応するドラムロール(数字車)をグラフィックにより仮想的に表示する。ドラムロールは、表示部103上に載置されたタッチパネル(入力部102)を通じて操作することが可能である。 The drum roll display is an input interface for correcting the pointer value, and graphically displays a virtual drum roll (number wheel) that corresponds to each digit of the pointer value. The drum roll can be operated via a touch panel (input unit 102) placed on the display unit 103.
例えば、各ドラムロールを上下に回転させるフリック入力を入力部102が検出して、これに応動してドラムロールの映像を回転させて表示し、それに合わせて表示される任意の値に指針値を変更することができる。 For example, the input unit 102 can detect a flick input that rotates each drum roll up and down, and in response rotate and display the image of the drum roll, and change the pointer value to any value displayed accordingly.
スライドバー表示は、ドラムロール間に小数点を設定するための入力インタフェースであり、ドラムロールの位置に上下方向で対応しており、ポインタPを左右にスライドさせることで、桁(ドラムロール)の間に小数点を設定することができる。 The slide bar display is an input interface for setting a decimal point between drum rolls, and corresponds to the position of the drum roll in the vertical direction. By sliding the pointer P left and right, a decimal point can be set between digits (drum rolls).
図27は、検出した指針値の小数点の位置を修正するためのGUIの一例を示す図である。図27(a)~(e)では、ポインタPの位置に応じて、指針値の小数点の位置が変化する様子を示したものである。図27では、指針値の小数点の位置とポインタPの位置が上下方向で一致するように設定したものである。 Figure 27 shows an example of a GUI for correcting the position of the decimal point of the detected indicator value. Figures 27(a) to (e) show how the position of the decimal point of the indicator value changes depending on the position of the pointer P. In Figure 27, the position of the decimal point of the indicator value and the position of the pointer P are set to match in the vertical direction.
なお、ポインタPの位置と、ドラムロールで表される数字列中の小数点の位置は、必ずしも上下方向で一致するものでなくてもよい。例えば、指針値の数字列の表示範囲に対して、それよりも広い範囲でスライドバーを表示するなど、表示部103上で表示可能な範囲を小数点の入力のために最大限に用いてもよい。その場合には、ポインタPの可動範囲内におけるポインタPの相対的な位置に応じて、小数点の位置が可変される。 The position of the pointer P and the position of the decimal point in the number string represented by the drum roll do not necessarily have to coincide vertically. For example, the range that can be displayed on the display unit 103 may be maximized for inputting the decimal point, such as by displaying a slide bar with a range wider than the display range of the number string of the pointer value. In that case, the position of the decimal point is variable depending on the relative position of the pointer P within its movable range.
図10に戻ってさらに説明を続ける、ステップS410において、修正処理部116dは、表示部103に表示される指針値について、検針員に対して確認の入力を求める。ここで、OKの入力操作が入力部102に対して行われた場合には、表示している指針値を検針値として決定し、処理手順はステップS412に移行する。対して、NGの入力操作が入力部102に対して行われた場合には、処理手順はステップS411に移行する。 Returning to FIG. 10 for further explanation, in step S410, the correction processing unit 116d requests the meter reader to input confirmation of the indicator value displayed on the display unit 103. If an OK input operation is performed on the input unit 102, the displayed indicator value is determined to be the meter reading value, and the processing procedure proceeds to step S412. On the other hand, if an NG input operation is performed on the input unit 102, the processing procedure proceeds to step S411.
ステップS411において、修正処理部116dは、ドラムロール表示およびスライドバー表示に対する操作を入力部102を通じて検出する。修正処理部116dは、検針員から指針値の修正指示を受け付け、修正(表示)された指針値を検針値として決定し、処理手順はステップS412に移行する。 In step S411, the correction processing unit 116d detects an operation on the drum roll display and the slide bar display through the input unit 102. The correction processing unit 116d accepts an instruction to correct the meter value from the meter reader, determines the corrected (displayed) meter value as the meter reading value, and the processing procedure proceeds to step S412.
ステップS412において、帳票作成部116aは、検針の対象のアナログメータの識別情報に対応づけて、ステップS302で得た画像データ、ステップS408で生成したトリミング画像データ、ステップS410またはステップS411で決定された検針値を帳票データ106aとして記憶部106に保存する。こののち処理手順はステップS413に移行する。 In step S412, the report creation unit 116a stores the image data obtained in step S302, the cropped image data generated in step S408, and the meter reading value determined in step S410 or step S411 as report data 106a in the storage unit 106 in association with the identification information of the analog meter to be read. After this, the processing procedure proceeds to step S413.
ステップS413において、アナログメータ検針部116cは、入力部102を通じて検針員から作業終了の指示が与えられたか否かを判定する。ここで、作業終了の指示を検出した場合には、一連の処理手順は終了する。引き続き作業を行う旨の指示があった場合には、処理手順はステップS302に移行して、改めてアナログメータMTの検針が開始される。 In step S413, the analog meter reading unit 116c determines whether or not an instruction to end work has been given by the meter reader via the input unit 102. If an instruction to end work is detected, the process ends. If an instruction to continue work is given, the process proceeds to step S302, and meter reading of the analog meter MT is started anew.
(効果)
以上述べたように、実施形態によれば、画像データを、当該画像に示される「数値」ではなく「傾き」に分類する学習済みモデル600を機械学習により作成し、モバイル端末100に記憶させる。モバイル端末100は、表記数字を含む画像データ106cを学習済みモデル600に与え、傾き情報を取得する。
(effect)
As described above, according to the embodiment, the trained model 600 that classifies image data into "tilt" rather than "numerical values" shown in the image is created by machine learning and stored in the mobile terminal 100. The mobile terminal 100 provides the image data 106c including notated numbers to the trained model 600 and acquires tilt information.
図28に示されるように、モバイル端末100は認識した数値枠で画像データを切り出して数字画像データを生成し、AIベースの学習済みモデル600に数字画像データを入力する。そうすると、AIにより各数値の回転角度が認識される。そして、数値枠の中心を軸として、回転角度認識で得られた角度で数字画像データを回転させ、水平補正処理を施す。 As shown in FIG. 28, the mobile terminal 100 cuts out the image data using the recognized numerical frame to generate numeric image data, and inputs the numeric image data into the AI-based trained model 600. The AI then recognizes the rotation angle of each numerical value. Then, the numeric image data is rotated around the center of the numerical frame as the axis by the angle obtained by the rotation angle recognition, and horizontal correction processing is performed.
ここで、図28の数値枠は四角形なので、例えば4つの頂点の対角線の交点を数値枠の中心点として抽出することができる。そして実施形態では、数値枠の中心点を通過する擬似円を検出し、この擬似円を水平補正処理に用いるようにする。擬似円は、数字画像データの中心点が描く円弧に沿って求められる。 Here, since the numerical frame in FIG. 28 is a rectangle, for example, the intersection of the diagonals of the four vertices can be extracted as the center point of the numerical frame. In the embodiment, a pseudo-circle that passes through the center point of the numerical frame is detected, and this pseudo-circle is used in the horizontal correction process. The pseudo-circle is found along the arc drawn by the center point of the numeric image data.
図29は、数値枠と擬似円について補足的に説明するための図である。図29(a)に示されるように、数値枠と指針の認識結果に基づいて、数値枠の中心点の座標と、擬似円の中心(中心点)の座標とを検出する。さらに、擬似円の中心と数値枠の中心点とを結ぶ線分を検出する。そして、この線分と、数値枠の4辺のうち線分と交差する辺(例えば数値枠の底辺)との角度を検出し、この角度を打ち消すように回転補正することで、図29(b)のように、数値を水平にした状態の画像データを得ることができる。そうして、擬似円における、メータの指針による擬似円の分割比より、指針が示す計測値を算出することができる。 Figure 29 is a diagram for providing additional explanation of the numerical frame and the pseudo circle. As shown in Figure 29 (a), the coordinates of the center point of the numerical frame and the coordinates of the center (center point) of the pseudo circle are detected based on the recognition results of the numerical frame and the pointer. Furthermore, a line segment connecting the center of the pseudo circle and the center point of the numerical frame is detected. Then, the angle between this line segment and one of the four sides of the numerical frame that intersects with the line segment (for example, the bottom side of the numerical frame) is detected, and by performing a rotation correction to cancel this angle, it is possible to obtain image data in which the numerical value is horizontal, as shown in Figure 29 (b). Then, the measurement value indicated by the pointer can be calculated from the division ratio of the pseudo circle by the meter pointer in the pseudo circle.
なお擬似円を設定するには、幾何学的には3つの点があれば必要十分と言える。数値枠の中心点が3個であれば、この3点を通過する擬似円が一意に定まる。一方、数値枠の中心点が4個以上ある場合には、各中心点の座標を用いて例えば最小二乗法を適用して、唯一の擬似円を計算することができる。 Three points are geometrically necessary and sufficient to define a pseudo-circle. If the numerical box has three center points, a pseudo-circle that passes through these three points is uniquely determined. On the other hand, if the numerical box has four or more center points, a unique pseudo-circle can be calculated by applying, for example, the least squares method using the coordinates of each center point.
このように実施形態によれば、撮像した画像データに斜めの表記数字が、水平になるように補正される。従って、水平な状態の数値を読み取れば良いので、斜めの状態のままの数値を含む画像データを直接、数値認識処理にかけるよりも数値読み取りの精度を飛躍的に高めることができる。 In this way, according to the embodiment, the diagonal numbers in the captured image data are corrected so that they are horizontal. Therefore, since it is only necessary to read the numbers in a horizontal state, the accuracy of reading numbers can be dramatically improved compared to directly subjecting image data containing numbers in a diagonal state to a number recognition process.
すなわち、実施形態では、画像データを直接数値に分類するのではなく、画像データを一旦、傾き情報に分類したうえで画像データを水平に補正する。そして、水平になった状態の画像データを用いて画像認識処理を行って数値を読み取るようにした。従って実施形態によれば、アナログメータの検針における数値読み取りの精度を高めたプログラム、情報処理装置、および情報処理方法を提供することが可能になる。ひいては、検針作業に係わる人的負荷を軽減することができる。 In other words, in the embodiment, instead of directly classifying image data into numerical values, the image data is first classified into tilt information and then the image data is corrected to be horizontal. Then, the horizontal image data is used to perform image recognition processing to read the numerical values. Therefore, according to the embodiment, it is possible to provide a program, information processing device, and information processing method that improve the accuracy of reading numerical values when reading analog meters. Ultimately, it is possible to reduce the human burden involved in meter reading work.
なお、この発明は上記実施の形態に限定されるものではない、例えば、適用例は、工場、事業所の設備、あるいは種々の計測器に限定されるものではない。例えば、メータMT1~MTnは、電流、電圧、気体や液体の圧力や流量などの計測値、、設備や機器の稼働状態に限らず、他の物理量や状態を示すものであってもよい。 Note that this invention is not limited to the above-described embodiment. For example, application examples are not limited to equipment in factories or business establishments, or various measuring instruments. For example, meters MT1 to MTn may indicate other physical quantities or states, not limited to measurements such as current, voltage, pressure or flow rate of gas or liquid, or the operating state of equipment or devices.
また、図1のモバイル端末100と基地局200との間のエアインタフェースは、無線LAN、4G、5G等に限定されるものではない。要するにモバイル端末100を無線リンクでネットワーク500に接続することができれば、どのような無線通信方式を適用してもよい。 In addition, the air interface between the mobile terminal 100 and the base station 200 in FIG. 1 is not limited to wireless LAN, 4G, 5G, etc. In other words, as long as the mobile terminal 100 can be connected to the network 500 via a wireless link, any wireless communication method may be applied.
また、図2のプロセッサ110に含まれる各機能の一部または全部を他の機能と統合したり、あるいは各機能を別の観点で複数の機能ブロックに切り分けて別の表現で説明することも可能である。また、図4のニューラルネットワークについてもCNNやDNNに限定されず、SVM(Support Vector Machine)等の、形式の異なるニューラルネットワークを適宜使用することができる。 In addition, it is also possible to integrate some or all of the functions included in the processor 110 in FIG. 2 with other functions, or to divide each function into multiple functional blocks from a different perspective and explain it in a different way. In addition, the neural network in FIG. 4 is not limited to CNN or DNN, and neural networks of different formats, such as SVM (Support Vector Machine), can be used as appropriate.
また、検針員が数値メータの検針かアナログメータの検針かを入力部102から指示するようにしてもよい。また、カメラ104で検針対象のメータを撮影し、認識エンジンが画像に写るメータのタイプを数値メータかアナログメータかを区別(判定)するようにしてもよい。 The meter reader may also indicate via the input unit 102 whether to read a numeric meter or an analog meter. The camera 104 may also capture an image of the meter to be read, and the recognition engine may distinguish (determine) the type of meter captured in the image as either a numeric meter or an analog meter.
また、上記実施形態では、アナログメータの撮影と、アナログメータの測定値の検出と、その検出値を記録した帳票データ106aの作成をモバイル端末100で行う場合を例に挙げて説明したが、これに限定されるものではない。例えば、アナログメータの撮影についてのみモバイル端末100で行い、アナログメータの測定値の検出と、その検出値を記録した帳票データ106aの作成については、クライアント端末300やサーバ400における情報処理で実現するようにしてもよい。 In the above embodiment, the analog meter is photographed, the measurement value of the analog meter is detected, and the document data 106a that records the detected value is created by the mobile terminal 100. However, the present invention is not limited to this. For example, only the analog meter is photographed by the mobile terminal 100, and the measurement value of the analog meter is detected and the document data 106a that records the detected value is created by information processing in the client terminal 300 or the server 400.
つまり、モバイル端末100の全ての機能、または一部の機能をクライアント端末300、またはサーバ400に実装しても良い。例えば、モバイル端末100で取得した画像をクライアント端末300に転送し、画像処理、角度認識、回転補正、数値認識等の処理をクライアント端末300で実施しても良い。どこまでの処理をエッジ(モバイル端末100)、およびクラウド(クライアント端末300、サーバ400)で分担するかはシステム要件に応じて柔軟に決めることが可能である。 In other words, all or some of the functions of the mobile terminal 100 may be implemented in the client terminal 300 or the server 400. For example, an image acquired by the mobile terminal 100 may be transferred to the client terminal 300, and image processing, angle recognition, rotation correction, numerical recognition, and other processing may be performed by the client terminal 300. The extent to which processing is shared between the edge (mobile terminal 100) and the cloud (client terminal 300, server 400) can be flexibly determined according to system requirements.
さらに、サーバ400により提供されるサービスは、サービスの提供を受けるクライアントが所有する(あるいは貸与された)モバイル端末100やクライアント端末300に対して、サブスクリプション方式で提供することも考えられる。 Furthermore, the services provided by the server 400 may be provided on a subscription basis to the mobile terminal 100 or client terminal 300 owned (or loaned) by the client receiving the services.
さらに、図29を参照して説明したように、擬似円の中心と数値枠とのなす角度を画像処理により検出し、この角度を打ち消すように回転補正することでも、水平になった状態の画像データを生成することが可能である。このような手順によれば、学習済みモデル600に頼ることなく水平補正処理を実施することが可能である。 Furthermore, as described with reference to FIG. 29, it is possible to generate image data in a horizontal state by detecting the angle between the center of the pseudo circle and the numerical frame through image processing and performing rotation correction to cancel this angle. According to such a procedure, it is possible to perform horizontal correction processing without relying on the trained model 600.
本発明の実施形態を説明したが、この実施形態は例として提示するものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although an embodiment of the present invention has been described, this embodiment is presented as an example and is not intended to limit the scope of the invention. This new embodiment can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the gist of the invention. These embodiments and their modifications are included within the scope and gist of the invention, and are included in the scope of the invention and its equivalents described in the claims.
6a…指針検出部、6b…円検出部、6c…交点検出部、6d…交点数字検出部、6e…計測値検出部、100…モバイル端末、101…通信部、102…入力部、103…表示部、104…カメラ、105…GNSS受信部、106…記憶部、106a…帳票データ、106b…設定情報データ、106c…画像データ、110…プロセッサ、111…通信制御部、112…入力制御部、113…表示制御部、114…画像処理部、114a…分類部、114b…補正部、114c…表記数字検出部、115…位置情報処理部、116…検針データ集計処理部、116a…帳票作成部、116b…数値メータ検針部、116c…アナログメータ検針部、116d…修正処理部、200…基地局、300…クライアント端末、400…サーバ、500…ネットワーク、600…学習済みモデル、700…プログラム、MT1~MTn…メータ。 6a... needle detection unit, 6b... circle detection unit, 6c... intersection detection unit, 6d... intersection number detection unit, 6e... measurement value detection unit, 100... mobile terminal, 101... communication unit, 102... input unit, 103... display unit, 104... camera, 105... GNSS receiving unit, 106... storage unit, 106a... form data, 106b... setting information data, 106c... image data, 110... processor, 111... communication control unit, 112... input control unit, 113... display control unit, 114... Image processing unit, 114a...classification unit, 114b...correction unit, 114c...notation number detection unit, 115...location information processing unit, 116...meter reading data compilation processing unit, 116a...document creation unit, 116b...numeric meter reading unit, 116c...analog meter reading unit, 116d...correction processing unit, 200...base station, 300...client terminal, 400...server, 500...network, 600...trained model, 700...program, MT1 to MTn...meters.
Claims (6)
アナログメータの数字の画像に係る数字画像データにおける前記数字の傾きに関する学習用データより生成された傾き認識モデルを記憶する記憶部と、
前記アナログメータを撮影した画像データより抽出した複数の前記数字画像データについて、前記傾き認識モデルより前記数字画像データの夫々の傾き情報を取得する傾き情報取得部と、
前記数字画像データを前記傾き情報に基づいて、前記数字画像データの中心点を抽出し、当該数字画像データを当該中心点で回転させて前記数字画像データの傾きを補正し、回転補正する補正部と、
前記回転補正された数字画像データより数字の値を認識する数字認識部と、
前記アナログメータの指針の先端の位置を検出する指針検出部と、
前記アナログメータの表示板上に表された複数の数字の位置と前記数字が示す値、および前記指針の先端の位置より、前記指針が示す計測値を検出する計測値検出部と、
前記数字画像データの表記数字の位置を通る擬似円と、当該擬似円の中心の位置とを検出する円検出部と
して機能させるためのプログラム。 Computer,
A storage unit that stores a slant recognition model generated from learning data related to the slant of the numbers in the number image data related to an image of the numbers of the analog meter;
a tilt information acquisition unit that acquires tilt information of each of the plurality of number image data extracted from image data obtained by photographing the analog meter from the tilt recognition model;
a correction unit that extracts a center point of the number image data based on the inclination information, and rotates the number image data around the center point to correct the inclination of the number image data;
a number recognition unit for recognizing a number value from the rotation-corrected number image data;
a pointer detection unit for detecting the position of the tip of a pointer of the analog meter;
a measurement value detection unit that detects a measurement value indicated by the pointer based on the positions of a plurality of numbers displayed on a display panel of the analog meter, values indicated by the numbers, and the position of the tip of the pointer ;
a circle detection unit that detects a pseudo-circle passing through a position of a written number of the number image data and a center position of the pseudo-circle;
A program to make it function as such.
前記アナログメータの指針に係る回転中心点と、複数の前記数字画像データの前記中心点とを検出し、
前記指針に係る回転中心点を中心とし、前記数字画像データの中心点が円弧上となる前記擬似円を求め、
前記計測値検出部は、
前記擬似円における、前記指針による前記擬似円の分割比より前記指針が示す計測値を算出する、請求項1記載のプログラム。 The circle detection unit
Detecting a rotation center point of a pointer of the analog meter and the center points of the plurality of numeric image data;
The pseudo circle is determined so that the center point of the numerical image data is on an arc having the rotation center point of the pointer as a center;
The measurement value detection unit
2. The program according to claim 1 , further comprising: a measuring device for measuring a measurement value indicated by said pointer based on a division ratio of said pseudo circle by said pointer .
前記記憶部は、The storage unit is
アナログメータの数字の画像に係る数字画像データにおける前記数字の傾きに関する学習用データより生成された傾き認識モデルを記憶し、storing a slant recognition model generated from learning data related to the slant of the numbers in the number image data related to an image of the numbers of the analog meter;
前記プロセッサは、The processor,
前記アナログメータを撮影した画像データより抽出した複数の前記数字画像データについて、前記傾き認識モデルより前記数字画像データの夫々の傾き情報を取得する傾き情報取得部と、a tilt information acquisition unit that acquires tilt information of each of the plurality of number image data extracted from image data obtained by photographing the analog meter from the tilt recognition model;
前記数字画像データを前記傾き情報に基づいて、前記数字画像データの中心点を抽出し、当該数字画像データを当該中心点で回転させて前記数字画像データの傾きを補正し、回転補正する補正部と、a correction unit that extracts a center point of the number image data based on the inclination information, and rotates the number image data around the center point to correct the inclination of the number image data;
前記回転補正された数字画像データより数字の値を認識する数字認識部と、a number recognition unit for recognizing a number value from the rotation-corrected number image data;
前記アナログメータの指針の先端の位置を検出する指針検出部と、a pointer detection unit for detecting the position of the tip of a pointer of the analog meter;
前記アナログメータの表示板上に表された複数の数字の位置と前記数字が示す値、および前記指針の先端の位置より、前記指針が示す計測値を検出する計測値検出部と、a measurement value detection unit that detects a measurement value indicated by the pointer based on the positions of a plurality of numbers displayed on a display panel of the analog meter, values indicated by the numbers, and the position of the tip of the pointer;
前記数字画像データの表記数字の位置を通る擬似円と、当該擬似円の中心の位置とを検出する円検出部とa circle detection unit that detects a pseudo-circle passing through a position of a written number of the number image data and a center position of the pseudo-circle;
を備える、情報処理装置。An information processing device comprising:
前記アナログメータの指針に係る回転中心点と、複数の前記数字画像データの前記中心点とを検出し、
前記指針に係る回転中心点を中心とし、前記数字画像データの中心点が円弧上となる前記擬似円を求め、
前記計測値検出部は、
前記擬似円における、前記指針による前記擬似円の分割比より前記指針が示す計測値を算出する、請求項3記載の情報処理装置。 The circle detection unit
Detecting a rotation center point of a pointer of the analog meter and the center points of the plurality of numeric image data;
The pseudo circle is determined so that the center point of the numerical image data is on an arc having the rotation center point of the pointer as a center;
The measurement value detection unit
4. The information processing apparatus according to claim 3, further comprising: a measuring device for measuring a measurement value indicated by said pointer based on a division ratio of said pseudo circle by said pointer .
アナログメータを撮影した画像データより抽出した数字の画像に係る複数の数字画像データについて、当該数字画像データにおける前記数字の傾きに関する学習用データより生成された傾き認識モデルより、前記数字画像データの夫々の傾き情報を取得する分類工程と、
前記数字画像データを前記傾き情報に基づいて、前記数字画像データの中心点を抽出し、当該数字画像データを当該中心点で回転させて前記数字画像データの傾きを補正し、回転補正する補正工程と、
前記回転補正された数字画像データより数字の値を認識する数字認識工程と、
前記アナログメータの指針の先端の位置を検出する指針検出工程と、
前記アナログメータの表示板上に表された複数の数字の位置と前記数字が示す値、および前記指針の先端の位置より、前記指針が示す計測値を検出する計測値検出工程と、
前記数字画像データの表記数字の位置を通る擬似円と、当該擬似円の中心の位置とを検出する円検出工程と
を具備する、情報処理方法。 The computer
A classification process for acquiring inclination information of each of a plurality of number image data related to images of numbers extracted from image data obtained by photographing an analog meter, from an inclination recognition model generated from learning data related to the inclination of the numbers in the number image data;
a correction step of extracting a center point of the number image data based on the inclination information, and rotating the number image data around the center point to correct the inclination of the number image data;
a number recognition step of recognizing a number value from the rotation-corrected number image data;
a pointer detection step of detecting the position of the tip of a pointer of the analog meter;
a measurement value detection step of detecting a measurement value indicated by the pointer based on the positions of a plurality of numbers displayed on a display panel of the analog meter, values indicated by the numbers, and the position of the tip of the pointer;
a circle detection step of detecting a pseudo circle passing through the position of the written number of the number image data and the position of the center of the pseudo circle;
An information processing method comprising:
コンピュータが、The computer
前記アナログメータの指針に係る回転中心点と、複数の前記数字画像データの前記中心点とを検出し、Detecting a rotation center point of a pointer of the analog meter and the center points of the plurality of numeric image data;
前記指針に係る回転中心点を中心とし、前記数字画像データの中心点が円弧上となる前記擬似円を求める工程であり、A step of determining the pseudo circle having a rotation center point of the pointer as a center and a center point of the numerical image data on an arc;
前記計測値検出工程は、The measurement value detection step includes:
コンピュータが、前記擬似円における、前記指針による前記擬似円の分割比より前記指針が示す計測値を算出する工程である、請求項5記載の情報処理方法。6. An information processing method according to claim 5, further comprising the step of: calculating, by a computer, a measurement value indicated by said pointer from a division ratio of said pseudo circle by said pointer.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022013121A JP7702208B2 (en) | 2022-01-31 | 2022-01-31 | PROGRAM, INFORMATION PROCESSING APPARATUS, AND INFORMATION PROCESSING METHOD |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022013121A JP7702208B2 (en) | 2022-01-31 | 2022-01-31 | PROGRAM, INFORMATION PROCESSING APPARATUS, AND INFORMATION PROCESSING METHOD |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023111319A JP2023111319A (en) | 2023-08-10 |
| JP7702208B2 true JP7702208B2 (en) | 2025-07-03 |
Family
ID=87551649
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022013121A Active JP7702208B2 (en) | 2022-01-31 | 2022-01-31 | PROGRAM, INFORMATION PROCESSING APPARATUS, AND INFORMATION PROCESSING METHOD |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7702208B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120894781B (en) * | 2025-07-17 | 2026-04-17 | 西安量子智能科技有限公司 | Pointer instrument reading method based on deep learning |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019093449A1 (en) | 2017-11-09 | 2019-05-16 | 株式会社日立産業制御ソリューションズ | Measurement value reading system, measurement value reading device, and measurement value reading method |
| JP2020095467A (en) | 2018-12-12 | 2020-06-18 | 株式会社東芝 | Reading support system, mobile body, reading support method, program, and storage medium |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH1011533A (en) * | 1996-06-26 | 1998-01-16 | Matsushita Graphic Commun Syst Inc | Character recognizing device |
-
2022
- 2022-01-31 JP JP2022013121A patent/JP7702208B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019093449A1 (en) | 2017-11-09 | 2019-05-16 | 株式会社日立産業制御ソリューションズ | Measurement value reading system, measurement value reading device, and measurement value reading method |
| JP2020095467A (en) | 2018-12-12 | 2020-06-18 | 株式会社東芝 | Reading support system, mobile body, reading support method, program, and storage medium |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2023111319A (en) | 2023-08-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10339384B2 (en) | Construction photograph integration with 3D model images | |
| JP6057298B2 (en) | Rapid 3D modeling | |
| US10791268B2 (en) | Construction photograph integration with 3D model images | |
| CN108810473B (en) | Method and system for realizing GPS mapping camera picture coordinate on mobile platform | |
| CN103262127A (en) | Object display device, object display method, and object display program | |
| CN115205128A (en) | Depth camera temperature drift correction method, system, equipment and medium based on structured light | |
| JP7702208B2 (en) | PROGRAM, INFORMATION PROCESSING APPARATUS, AND INFORMATION PROCESSING METHOD | |
| JP7434257B2 (en) | Information processing equipment and programs | |
| JP7242795B1 (en) | Information processing device, information processing method, and computer program | |
| JP2013152198A (en) | Measuring instrument reader and monitoring system | |
| JP7702211B2 (en) | Meter reading device, meter reading method, and program | |
| JP2004295423A (en) | Original drawing transferring method and camera image correction processor to be used for same method | |
| JP2024028353A (en) | Information processing device and computer program | |
| JP2025112901A (en) | Information processing device, information processing method, and computer program | |
| JP2024155560A (en) | Information processing device and computer program | |
| JP2024100884A (en) | Information processing device and computer program | |
| JP3441657B2 (en) | Image point setting device and photogrammetry method using the image point setting device | |
| KR20220166015A (en) | Apparatus for visualizing the result of detecting pothole in aerial image based on deep-learning and method thereof | |
| CN109211196A (en) | One kind putting down photographic apparatus photogrammetric technology method based on RTK laser | |
| JP7716722B2 (en) | Ground object detection system, ground object detection method and program | |
| JP6628105B2 (en) | Image forming system and image forming apparatus | |
| WO2016003193A1 (en) | Method and system for recognizing map image using toponyms and straight lines, and recording medium | |
| US20250068371A1 (en) | Information processing method, information processing device, and non-transitory computer readable recording medium | |
| JP7742671B1 (en) | Surveying staff and surveying staff pair | |
| KR20240143314A (en) | Method and apparatus for processing cadastral information using orthophoto |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20230105 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240319 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20241213 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250107 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250310 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20250520 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20250610 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250618 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7702208 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |