以下、実施形態の情報処理装置、情報処理方法及びコンピュータプログラムを、図面を参照して説明する。
図1は、実施形態の点検支援システム1の構成例を示すシステム構成図である。点検支援システム1は、情報処理装置100、上位サーバ200及び複数のメータ300を備える。情報処理装置100及び上位サーバ200は、ネットワーク400を介して互いに通信可能に接続される。
情報処理装置100は、スマートフォン、タブレットコンピュータ又はパーソナルコンピュータ等の装置を用いて構成される。情報処理装置100は、バスで接続されたプロセッサやメモリや補助記憶装置などを備える。情報処理装置100は、ユーザによって操作される。ユーザは、例えば、メータ300を点検する点検者であってもよいし、点検された結果を集計する集計者であってもよい。ユーザは、情報処理装置100を操作する者であればどのような者であってもよい。情報処理装置100は、メータ300が示す数値を検針値として帳票データに入力する。帳票データは、メータ300によって示される数値(検針値)が記録されるデータである。帳票データについては後述する。
上位サーバ200は、パーソナルコンピュータ、サーバ、ワークステーション又は産業用コンピュータ等の装置を用いて構成される。上位サーバ200は、バスで接続されたプロセッサやメモリや補助記憶装置などを備える。上位サーバ200は、メータ300によって示される数値を、情報処理装置100で入力可能にするための認識エンジンを生成する。生成された認識エンジンは、情報処理装置100に記憶されてもよい。上位サーバ200は、クラウドコンピューティングシステムで実現されてもよい。
メータ300は、電気、水道又はガス等の設備機器の稼働状態に応じて、数値を示す。メータ300は、アナログ式又はデジタル式のいずれの方式で数値を示してもよい。メータ300は、デジタル式の場合、例えば、0〜9までの数字が表示される7セグメントディスプレイを有し、設備機器の稼働状態に応じて少なくとも1桁以上の数値(検針値)を示す構成であってもよい。メータ300は、アナログ式の場合、例えば、0〜9までの数字が記載された数字車を用いたメカ式であって、使用量に応じて回転することで複数桁の数値(検針値)を示す直読式の構成であってもよい。
ネットワーク400は、例えばインターネット等の有線通信網であってもよいし、無線LAN(Local Area Network)及び携帯電話通信網等の無線通信網であってもよい。ネットワーク400は、情報処理装置100と上位サーバ200との間で通信が可能であれば、どのような通信網であってもよい。
図2は、実施形態の情報処理装置100の機能構成を表す機能ブロック図である。情報処理装置100は、帳票データ生成プログラムを実行することによって通信部101、入力部102、表示部103、撮像部104、帳票定義記憶部105、帳票データ記憶部106、学習結果記憶部107及び制御部108を備える装置として機能する。
通信部101は、ネットワークインタフェースである。通信部101はネットワーク400を介して、上位サーバ200と通信する。通信部101は、例えば無線LAN、有線LAN、Bluetooth(登録商標)又はLTE(Long Term Evolution)(登録商標)等の通信方式で通信してもよい。
入力部102は、タッチパネル、マウス及びキーボード等の入力装置を用いて構成される。入力部102は、入力装置を情報処理装置100に接続するためのインタフェースであってもよい。この場合、入力部102は、入力装置において入力された入力信号から入力データ(例えば、情報処理装置100に対する指示を示す指示情報)を生成し、情報処理装置100に入力する。
表示部103は、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ等の出力装置である。表示部103は、出力装置を情報処理装置100に接続するためのインタフェースであってもよい。この場合、表示部103は、映像データから映像信号を生成し自身に接続されている映像出力装置に映像信号を出力する。表示部103は、表示装置の一態様である。
撮像部104は、例えば、光学系、撮像素子及び撮像素子から出力される撮像信号を処理する画像処理基板(不図示)を備え、撮像信号に基づいた所定の形式の画像を生成し、出力する。撮像部104は、メータ300の識別情報が埋め込まれた識別画像又はメータ300を撮像する。識別画像は、メータ300自身又はメータ300の周辺に貼り付けられる。識別画像は、例えば、バーコードであってもよいし、二次元バーコードであってもよい。撮像部104は、識別画像又はメータ300の全体の画像を含むメータ全体画像を生成する。メータ全体画像には、メータ300が示す数値(検針値)が含まれる。撮像部104は、起動するとライブビューを表示部103に表示する。ライブビューは、ユーザが撮像部104にて撮像された被写体を確認しながら撮像できる機能である。ライブビューが表示部103に表示されることで、ユーザは、被写体を確認しながら撮像できる。例えば、ユーザは、メータ300の外観を撮影する場合、表示部103に表示されたライブビューを確認しながら、メータ300の検針値が判別可能な状態の画像となるようメータ300と情報処理装置100との距離を調整して撮像を行う。撮像部104は、撮像と合わせて、撮像時刻を取得してもよい。
帳票定義記憶部105は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。帳票定義記憶部105は、帳票定義テーブルを記憶する。帳票定義テーブルは、帳票定義レコードを記録する。帳票定義レコードに記録される各値は、帳票データに記録される情報を定義する。
図4は、実施形態の帳票定義テーブルの一具体例を示す図である。帳票定義テーブルは、帳票定義レコードを有する。帳票定義レコードは、メータ識別情報、点検項目、メータ情報、撮影情報及び検針数の各値を有する。帳票定義テーブルは、帳票の種類毎に帳票定義レコードを記録する。メータ識別情報は、点検対象となるメータ300を識別する情報を表す。メータ識別情報は、数字、文字列又は記号で表されてもよい。メータ識別情報は、メータ300を一意に識別できる情報であればどのような情報であってもよい。点検項目は、ユーザによって点検される対象を表す。メータ情報は、メータ300の特徴を表す。メータ300の特徴は、例えば、メータがアナログ式又はデジタル式等のメータ方式、電気・水道・ガス等のどのような設備機器のメータであるかを示すメータ対象、メータに表示される数値のメータ桁数、小数点表示の有無、端数の切り上げ又は切り捨て、メータ300を防護するガラスの有無、LED(Light Emitting Diode)又は液晶等のメータ300自体又はメータ300の設置された環境を示す設置環境を表す。メータ情報に応じて、メータ300が撮像された画像から検針値を決定するための、メータ情報(メータの特徴)毎に予め設けられた複数の中から使用する認識エンジンが決定される。撮影情報は、撮像部104が画像を生成する際における撮像部104の設定情報を表す。撮影情報には、例えば、フォーカスの有無、フラッシュの有無、WB(White Balance)補正、ISO感度、シャッタースピード、メータのディスプレイの種類等の情報が含まれる。これらの撮影情報に基づき、撮像部104が撮像する条件が決定される。検針数は、帳票定義レコードに基づいて生成される帳票データに入力される検針値の数を表す。
図4に示される例では、帳票定義テーブルの最上段の帳票定義レコードは、メータ識別情報の値が“8f_ele_meter1”、点検項目の値が“8F電気”、メータ情報の値が“アナログ式、電気メータ、6桁、小数点あり、切り上げ、ガラス有り”、撮影情報の値が“フォーカスあり、フラッシュあり、WB補正+1、ISO感度800、シャッタースピード1/30”、検針数の値が“3”である。従って、帳票定義テーブルの最上段の帳票定義レコードによると、メータ識別情報によって識別されるメータ300は、“8f_ele_meter1”であり、識別されるメータ300は、“8F電気”に関するメータであり、メータ300は、アナログ式の電気メータで、桁数は6桁で、小数点があり、端数は切り上げ、メータ300は、ガラスに覆われているといった特徴を有し、メータ300が撮影される場合、撮像部104は、フォーカスあり、フラッシュあり、WB補正+1、ISO感度800、シャッタースピード1/30の設定で撮像し、帳票定義レコードに基づいて生成される帳票データには、検針数の値を3つ入力することができることがわかる。なお、図4に示される帳票定義テーブルは一具体例に過ぎない。そのため、図4とは異なる態様で帳票定義テーブルが構成されてもよい。
図2に戻って、情報処理装置100の説明を続ける。帳票データ記憶部106は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。帳票データ記憶部106は、帳票データテーブルを記憶する。帳票データテーブルは、帳票データを記録する。帳票データ記憶部106は、メータ全体画像及びメータ画像を帳票データと合わせて記憶する。
図5は、実施形態の帳票データテーブルの一具体例を示す図である。帳票データテーブルは、帳票データを有する。帳票データは、番号、日時、メータ識別情報、点検項目、第1メータ検針値、第1メータ全体画像、第1メータ画像、第2メータ検針値、第2メータ全体画像、第2メータ画像、・・・等の各値を有する。番号は、帳票データを一意に識別する情報である。番号は、例えば、帳票データが生成された順番に昇順に付与されてもよい。日時は、帳票データが生成された日時である。日時は、年月日と時分秒とで表されてもよいが、これに限定されない。例えば、日次は、年月日と時分とで表されてもよい。日時は、帳票データが生成された日時の代わりにメータ全体画像が撮像された日時であってもよい。メータ識別情報は、メータ300を特定する情報である。メータ識別情報は、帳票定義レコードに基づいて決定される。点検項目は、ユーザによって点検される対象を表す。点検項目は、帳票定義レコードに基づいて決定される。第1メータ検針値は、第1メータによって示される検針値を表す。第1メータ全体画像は、第1メータのメータ全体画像の記録場所又は第1メータのメータ全体画像の名称を表す。第1メータ画像は、第1メータのメータ全体画像から、指定された領域が切り出された画像(第1メータのメータ画像)の記録場所又は名称を表す。第2メータ検針値は、第2メータによって示される検針値を表す。第2メータ全体画像は、第2メータのメータ全体画像の記録場所又は第2メータのメータ全体画像の名称を表す。第2メータ画像は、第2メータのメータ全体画像から、指定された領域が切り出された画像(第2メータのメータ画像)の記録場所又は名称を表す。
図5に示される例では、帳票データテーブルの最上段の帳票データは、番号の値が“1”、日時の値が“2017.12.4 14:23:10”、メータ識別情報の値が“8f_ele_meter1.jpg”、点検項目の値が“8F電気”、第1メータ検針値の値が“120”、第1メータ全体画像の値が“8f_ele_full1.jpg”、第1メータ画像の値が“8f_ele_meter1.jpg”、第2メータ検針値の値が“110”、第2メータ全体画像の値が“8f_ele_full2.jpg”、第2メータ画像の値が“8f_ele_meter2.jpg”、・・・である。従って、帳票データテーブルの最上段の帳票データによると、この帳票データは、番号の値が“1”であるため、帳票データは1番目に生成されたレコードであり、帳票データは、2017年12月4日14時23分10秒に生成され、8f_ele_meter1によって特定されるメータであり、8F電気に関するメータの検針値が入力される帳票データであり、第1メータの検針値の値は120であり、第1メータの全体画像は、8f_ele_full1.jpgに保存され、第1メータの画像は、8f_ele_meter1.jpgに保存され、第2メータの検針値の値は110であり、第2メータの全体画像は、8f_ele_full2.jpgに保存され、第2メータの画像は、8f_ele_meter2.jpgに保存されることがわかる。なお、図5に示される帳票データテーブルは一具体例に過ぎない。そのため、図5とは異なる態様で帳票データテーブルが構成されてもよい。
図2に戻って、情報処理装置100の説明を続ける。学習結果記憶部107は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。学習結果記憶部107は、学習結果を記憶する。学習結果は、メータ画像から帳票データに入力可能な数値を取得するために用いられる。学習結果は、情報処理装置100に、帳票データ生成プログラムがインストールされる際に記録される。学習結果は、帳票データ生成プログラムがアップデートされる際に、合わせてアップデートされてもよい。
制御部108は、情報処理装置100の各部の動作を制御する。制御部108は、例えばプロセッサ及びメモリを備えた装置により実行される。制御部108は、帳票データ生成プログラムを実行することによって、帳票画面生成部109、入力項目決定部110、画像取得部111、検針値決定部112、帳票データ入力部113、判定部114、再取得処理部115及び検針値取得部116として機能する。
帳票画面生成部109は、帳票データに基づいて帳票画面を生成する。具体的には、まず帳票画面生成部109は、帳票定義レコードの選択指示を受け付ける。帳票定義レコードの選択指示は、入力部102を介して受け付けされる。帳票定義レコードの選択指示には、少なくともメータ識別情報が含まれる。帳票画面生成部109は、帳票定義レコードの選択指示に含まれるメータ識別情報を記録する帳票定義レコードを、帳票定義記憶部105から取得する。帳票画面生成部109は、取得された帳票定義レコードに基づいて帳票データを生成する。帳票データが記録するメータ検針値、メータ全体画像、メータ画像が記録されるカラムは、帳票定義レコードの検針数の値だけ生成される。帳票画面生成部109は、生成された帳票データを帳票データ記憶部106に記録する。帳票画面生成部109は、生成された帳票データに基づいて、帳票画面を生成する。帳票画面生成部109は、生成された帳票画面を表示部103に表示させる。なお、メータ識別情報は、帳票定義レコードの選択指示を入力部102を介して受け付ける代わりに、メータ300自身又はメータ300の近傍に付された識別画像を、撮像部104が撮像することで取得されてもよい。
入力項目決定部110は、検針値が入力される入力項目を決定する。具体的には、入力項目決定部110は、入力項目の選択指示を受け付ける。入力項目は、帳票データの各メータ検針値のカラムに対応付けられる。入力項目の選択指示は、入力部102を介して受け付けされる。例えば、表示部103に表示された帳票画面の入力項目の枠をタップすることで、入力項目の選択指示が受け付けされる。入力項目の選択指示には、検針値が入力される入力項目を特定する情報(以下「入力項目特定情報」という。)が含まれる。なお、入力項目特定情報は、入力部102を介して入力項目の選択指示を受け付ける代わりに、メータ300自身又はメータ300の近傍に付された識別画像を、撮像部104が撮像することで取得されてもよい。
画像取得部111は、メータ300のメータ画像を取得する。具体的には、画像取得部111は、撮像部104を起動させる。画像取得部111は、撮像部104を起動させるにあたり、取得された帳票定義レコードに記録される撮影情報に基づいて撮像部104を起動させる。例えば、帳票定義レコードに“フォーカスあり”が記録されていた場合、撮像部104は、表示部103にフォーカスの調節を行うゲージを表示させる。画像取得部111は、表示部103に表示されるライブビューを撮像部104から取得する。なお、表示部103にライブビューが表示されている状態において、画像取得部111がメータ画像を取得する手法として、(1)撮像されたメータ全体画像からメータ画像を指定する手法と(2)ライブビューからメータ画像を指定する手法とが用いられる。どちらの手法が用いられてもよい。メータ全体画像及びライブビューは、全体画像の一態様である。全体画像は表示装置に表示されたメータとメータの検針値を含む。
(1)撮像されたメータ全体画像からメータ画像を指定する手法について説明する。
画像取得部111は、表示部103にライブビューが表示されている状態において、撮像指示を受け付ける。撮像指示は、入力部102を介して受け付けされる。例えば、撮像指示は表示部103に表示されたライブビューをタップしたり、所定の入力ボタンを押下することで、受け付けされる。画像取得部111によって受け付けされた撮像指示に基づいて、撮像部104は、ライブビューに表示された画像を撮像する。撮像部104は、撮像された画像をメータ全体画像として生成する。画像取得部111は、メータ全体画像を帳票データに記録する。なお、画像取得部111は、決定された入力項目が第1メータの場合、第1メータ全体画像としてメータ全体画像を記録する。画像取得部111は、決定された入力項目が第2メータの場合、第2メータ全体画像としてメータ全体画像を記録する。画像取得部111は、メータ全体画像を表示部103に表示させる。画像取得部111は、表示されたメータ全体画像に対する第1領域指定指示を受け付ける。第1領域指定指示は、入力部102を介して受け付けされる。例えば、第1領域指定指示は、表示部103に表示されたメータ全体画像から切り出したい任意の領域を、囲むように指でなぞり、指を離すことで受け付けされる。切り出される領域は、例えば、メータ300の検針値を含む部分領域である。画像取得部111は、受け付けされた第1領域指定指示によって指定された部分領域をメータ画像として生成する。画像取得部111は、生成されたメータ画像を検針値決定部112に出力する。このように、撮像部104がメータ全体画像を撮像し、画像取得部111がメータ全体画像に対する第1領域指定指示を受け付けることで、ユーザは、メータ300が表示された表示部103を見ながら部分領域を指定できない場合にも、メータ画像の領域を指定することが可能になる。なお、上述の任意の領域を囲む操作は指で行われた場合で説明されているが、タッチペン等の道具を用いて操作されてもよい。第1領域指定指示は、領域指定指示の一態様である。領域指定指示は、全体画像の部分領域を指定する。
(2)ライブビューからメータ画像を指定する手法について説明する。
画像取得部111は、表示部103にライブビューが表示されている状態において、第2領域指定指示を受け付ける。第2領域指定指示は、入力部102を介して受け付けされる。例えば、第2領域指定指示は、表示部103に表示されたライブビューから切り出したい任意の領域を、囲むように指でなぞり、指を離すことで受け付けされる。切り出される領域は、例えば、メータ300の検針値を含む領域である。画像取得部111は、第2領域指定指示を受け付けると、撮像指示を撮像部104に出力する。撮像部104は、撮像指示に基づいて、ライブビューに表示された画像を撮像する。撮像部104は、撮像された画像をメータ全体画像として生成する。画像取得部111は、生成されたメータ全体画像を帳票データに記録する。画像取得部111は、第2領域指定指示によって指定された部分領域をメータ画像として生成する。画像取得部111は、生成されたメータ画像を検針値決定部112に出力する。このように、画像取得部111がライブビューに対する第2領域指定指示を受け付けることで、ユーザは、領域指定するだけで、メータ画像を取得することができ、より効率的に検針値を入力することが可能になる。なお、上述の任意の領域を囲む操作は指で行われた場合で説明されているが、タッチペン等の道具を用いて操作されてもよい。第2領域指定指示は、領域指定指示の一態様である。
検針値決定部112は、メータ画像に基づいて画像認識処理によって検針値を決定する。まず、画像認識処理において検針値決定部112は、取得された帳票定義レコードに記録されるメータ情報に基づいて認識エンジンを決定する。例えば、検針値決定部112は、メータ情報としてアナログ式が記録されている場合、アナログ式のメータに適した学習結果を学習結果記憶部107から取得する。検針値決定部112は、取得された学習結果に基づいて、認識エンジンを実行することで検針値を決定する。検針値決定部112は、メータ情報として切り上げが記録されている場合、検針値の端数を切り上げることで検針値を決定する。このように、検針値決定部112は、画像認識処理によってメータ情報に基づいて認識エンジンを実行することで、より精度よく検針値を決定することができる。検針値決定部112は、決定された検針値とメータ画像とを帳票データ入力部113に出力する。認識エンジンは、検針値を決定するにあたりメータ画像に対して二値化処理を行うことで数値の決定を行ってもよいし、カラー化処理を行うことで数値の決定を行ってもよいし、設定のAI化によって数値の決定を行ってもよい。認識エンジンは、カラー化処理を行うことで、多種にわたるメータのメータ画像から検針値を決定することが可能になる。なお、検針値決定部112は、OCR(Optical Character Recognition)等の既存の画像認識技術を用いて検針値を決定してもよい。検針値決定部112は、検針値を決定した時刻を検針時刻として取得してもよい。検針値決定部112は、決定された検針値を情報処理装置100のスピーカーから音声で読み上げるように構成されてもよい。
帳票データ入力部113は、出力された検針値とメータ画像とを、帳票データに記録する。なお、帳票データ入力部113は、決定された入力項目が第1メータの場合、第1メータ検針値として検針値を記録する。帳票データ入力部113は、決定された入力項目が第1メータの場合、第1メータ画像としてメータ画像を記録する。帳票画面生成部109は、帳票データに検針値と第1メータ画像とが記録されると、表示部103に表示される帳票画面に検針値及びメータ画像を表示させる。なお、帳票データ入力部113は、帳票データに対する検針値の入力がすべて完了したことを示す入力完了指示を受け付けてもよい。入力完了指示は、入力部102を介して受け付けされる。例えば、入力完了指示は、表示部103に表示された入力完了画像がタップされることで受け付けされてもよい。
判定部114は、検針値を再度取得するか否かを判定する。判定部114は、所定の操作を受け付けた場合、検針値を再度取得するように制御する。判定部114は、検針値を再度取得するように制御する場合、再取得処理部115に対して、再取得指示を出力する。再取得指示には、入力項目特定情報が含まれる。所定の操作とは、例えば、すでに検針値が入力された入力項目に対する入力項目特定指示を受け付けた場合であってもよいし、任意の入力項目に入力される検針値を再取得する旨の指示を明示的に受け付けた場合であってもよい。
再取得処理部115は、判定部114から再取得指示を受け付けると、検針値、メータ画像及びメータ情報を、上位サーバ200に送信する。検針値及びメータ画像は、再取得指示に含まれる入力項目特定情報によって特定される検針値及びメータ画像である。メータ情報は、帳票画面生成部109によって取得された帳票定義レコードに含まれるメータ情報である。再取得処理部115は、入力指示を受け付ける。入力指示は、検針値を手入力で決定するか、メータを撮像して決定するかを指定する指示である。入力指示は、入力部102を介して受け付けされる。例えば、入力指示は、表示部103にポップアップ表示された入力方式決定画面をタップすることで受け付けされてもよい。入力方式決定画面には、例えば“手入力”及び“メータ撮影”が表示される。“手入力”がタップされた場合には、入力指示には、手入力を示す情報が含まれる。“メータ撮影”がタップされた場合には、入力指示には、メータ撮影を示す情報が含まれる。再取得処理部115は、入力指示にメータ撮影を示す情報が含まれる場合、画像取得部111にメータ画像を取得させる。
検針値取得部116は、入力指示に手入力を示す情報が含まれる場合、入力部102を介して検針値を取得する。入力部102は、音声、表示部103に表示されたテンキー又はキーボード等によって、検針値を取得してもよいし、表示部103に表示された数字車が回転操作されることで取得してもよい。検針値取得部116は、取得された検針値を帳票データ入力部113に出力する。帳票データ入力部113は、取得された検針値を帳票データに記録する。
図3は、実施形態の上位サーバ200の機能構成を表す機能ブロック図である。上位サーバ200は、学習プログラムを実行することによって通信部201、入力部202、表示部203、学習データ記憶部204、学習結果記憶部205及び制御部206を備える装置として機能する。
通信部201は、ネットワークインタフェースである。通信部201はネットワーク400を介して、情報処理装置100と通信する。通信部201は、例えば無線LAN、有線LAN、Bluetooth又はLTE等の通信方式で通信してもよい。
入力部202は、タッチパネル、マウス及びキーボード等の入力装置を用いて構成される。入力部202は、入力装置を上位サーバ200に接続するためのインタフェースであってもよい。この場合、入力部202は、入力装置において入力された入力信号から入力データ(例えば、上位サーバ200に対する指示を示す指示情報)を生成し、上位サーバ200に入力する。
表示部203は、CRTディスプレイ、液晶ディスプレイ、有機ELディスプレイ等の出力装置である。表示部203は、出力装置を上位サーバ200に接続するためのインタフェースであってもよい。この場合、表示部203は、映像データから映像信号を生成し自身に接続されている映像出力装置に映像信号を出力する。
学習データ記憶部204は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。学習データ記憶部204は、学習データを記憶する。学習データは、情報処理装置100から送信された検針値、メータ画像及びメータ情報を含む。
学習結果記憶部205は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。学習結果記憶部205は、学習結果を記憶する。学習結果は、学習データ記憶部204に記憶された学習データに基づいて、学習部208によって生成される。
制御部206は、上位サーバ200の各部の動作を制御する。制御部206は、例えばプロセッサ及びメモリを備えた装置により実行される。制御部206は、学習プログラムを実行することによって、学習データ取得部207及び学習部208として機能する。
学習データ取得部207は、情報処理装置100から検針値、メータ画像及びメータ情報を取得する。学習データ取得部207は、取得された検針値、メータ画像及びメータ情報を学習データとして学習データ記憶部204に記録する。
学習部208は、学習データに基づいて、学習結果を生成する。学習部208は、ディープラーニング等の機械学習によって、学習データから学習結果を生成する。例えば、学習部208は、メータ画像に示される正しい検針値を学習する。また、学習部208は、メータ情報に基づいて、検針値を誤認識した原因を特定したり、学習結果を生成する際の条件を決定する。学習部208は、取得された学習データに基づいて学習結果を生成することで、認識エンジンを改善することが可能になる。学習結果は、帳票定義レコードに記録されるメータ情報毎に生成されてもよいし、メータ情報に関わらず、単一の学習結果が生成されてもよい。
図6は、実施形態の帳票画面の一具体例を示す図である。帳票画面は、帳票データに基づいて生成される。表示部103は、生成された帳票画面を表示する。表示部103に表示される帳票画像は、入力項目画像131、入力項目画像132、入力項目画像133及び入力完了画像134を含む。帳票画面に含まれる日時は、帳票データが生成された日時を表す。帳票画面に含まれる点検項目は、帳票定義レコードの点検項目の値を表す。
入力項目画像131、入力項目画像132及び入力項目画像133は、帳票データに記録される検針値を表示する画像である。入力項目画像131、入力項目画像132及び入力項目画像133には、帳票データの各メータ検針値のカラムが対応付けられる。すなわち、入力項目画像131、入力項目画像132及び入力項目画像133は、それぞれ入力項目と対応付けられる。図6によると、入力項目画像131は、“第1メータ検針値”、入力項目画像132は、“第2メータ検針値”、入力項目画像133は、“第3メータ検針値”と対応付けられる。入力項目画像の数は、帳票データが記録する、メータ検針値のカラムの数と一致する。帳票データの各メータ検針値のカラムに検針値が記録された場合、カラムに対応付けられた入力項目画像に検針値が表示される。例えば、帳票データの“第1メータ検針値”に“100”が記録された場合、入力項目画像131には“100”が表示される。
入力完了画像134は、帳票データに対する検針値の入力がすべて完了したことを示す入力完了指示を受け付ける画像である。入力完了画像134がタップされた場合、入力部102は、入力完了指示を受け付ける。
図7は、実施形態の帳票画面が生成される一具体例を示す図である。図7に示されるメータ300は、領域301、領域302及び領域303を含む。領域301は、メータ300が示す検針値を表す。領域302は、メータ300に関する検針値以外の情報を表す。領域303は、メータ300に付された識別画像を表す。識別画像には、少なくともメータ識別情報の値が埋め込まれる。吹き出し304は、識別画像に埋め込まれた値を表す。図7では、撮像部104が、メータ300に付された識別画像を撮像する。帳票画面生成部109は、撮像された識別画像からメータ識別情報の値を取得する。帳票画面生成部109は、帳票定義レコードに基づいて帳票データを生成する。帳票画面生成部109は、帳票データに基づいて帳票画面を生成する。生成された帳票画面は、図7の表示部103に表示される。このように、ユーザは、識別画像を撮像してメータ識別情報の値を取得することで、正しい帳票データが生成され、検針値を入力することが可能になる。なお、識別画像に埋め込まれる情報は、メータ識別情報に限定されない。例えば、識別画像には、検針値決定部112が画像認識処理において認識エンジンを決定するためのメータ情報や撮像部104が撮像するための撮影情報が埋め込まれても良い。つまり、上述した実施形態では検針値決定部112は帳票定義レコードに記録されるメータ情報に基づいて認識エンジンを決定しているが、メータに付された識別画像に埋め込まれたメータ情報に基づいて認識エンジンを決定してもよい。
図8は、実施形態の入力項目が選択される一具体例を示す図である。図8に示されるメータ300は、領域301、領域302及び領域303を含む。領域301は、メータ300が示す検針値を表す。領域302は、メータ300に関する検針値以外の情報を表す。領域303aは、メータ300に付された識別画像を表す。識別画像には、少なくとも入力項目決定部110が、検針値が入力される入力項目を決定するために用いられる値が埋め込まれる。吹き出し304aは、識別画像に埋め込まれた値を表す。吹き出し304aには、“第1メータ、FocusOn、ISO400、…”の値が埋め込まれている。吹き出し304aによると、入力項目決定部110は、第1メータに検針値を入力することに決定することがわかる。図8では、撮像部104が、メータ300に付された識別画像(領域303a)を撮像する。入力項目決定部110は、撮像された識別画像から検針値が入力される入力項目を決定するために用いられる値を取得する。入力項目決定部110は、取得された値に基づいて検針値が入力される入力項目を決定する。
図9は、実施形態のメータ画像の領域を指定する一具体例を示す図である。図9に示される表示部103には、メータ300が映し出されたライブビューが表示される。表示部103は、領域500を含む。領域500は、ライブビューから切り出される領域を表す。ユーザは、表示部103に表示されるライブビューから、メータ画像として切り出したい領域を、囲むように指でなぞり、指を表示部103から離す。指が離されると、入力部102は、第2領域指定指示を受け付ける。囲まれた領域は、メータ画像として切り出される。なお、図9では、ライブビューからメータ画像が切り出される場合について説明したが、メータ全体画像からメータ画像が切り出される場合についても同様に処理されることが可能である。なお、図9では、指で領域が指定されたが、タッチペン等の道具を用いて指定されてもよい。
図10は、実施形態の検針値が入力された帳票画面の一具体例を示す図である。表示部103に表示される帳票画面は、入力領域画像131a、入力項目画像132、入力項目画像133、入力完了画像134及びメータ画像131bを含む。入力項目画像132、入力項目画像133及び入力完了画像134は、図6と同じであるため、説明を省略する。
入力領域画像131aは、帳票データの第1メータ検針値に記録される値を表す。図10によると、入力領域画像131aには、検針値として“35”が表示される。従って、帳票データの第1メータ検針値には、“35”が記録されていることがわかる。メータ画像131bは、帳票データの第1メータ画像に記録される値によって特定されるメータ画像を表す。なお、メータ画像131bには、帳票データの第1メータ全体画像に記録される値によって特定されるメータ全体画像が表示されてもよい。帳票画面生成部109は、帳票データに検針値が記録されると、帳票画面に検針値を表示させる。帳票画面生成部109は、帳票データにメータ画像が記録されると、帳票画面にメータ画像を表示させる。図10によると、帳票画面生成部109は、検針値とメータ画像とを横に並べた帳票画面を生成しているが、横に限定されない。例えば、帳票画面生成部109は、検針値とメータ画像とを縦に並べた帳票画面を生成してもよい。
図11は、実施形態の検針値入力処理の第一の例を示すフローチャートである。第一の例では、ユーザは、メータ全体画像からメータ画像を切り出すことで、検針値を入力する場合の例を示す。帳票画面生成部109は、メータ識別情報を取得する(ステップS101)。帳票画面生成部109は、入力部102を介して受け付けてもよいし、撮像された識別画像から取得してもよい。帳票画面生成部109は、取得されたメータ識別情報を記録する帳票定義レコードを、帳票定義記憶部105から取得する。帳票画面生成部109は、取得された帳票定義レコードに基づいて帳票データを生成する。帳票画面生成部109は、生成された帳票データを帳票データ記憶部106に記録する。帳票画面生成部109は、生成された帳票データに基づいて、帳票画面を生成する(ステップS102)。入力項目決定部110は、検針値が入力される入力項目を決定する(ステップS103)。入力項目決定部110は、入力部102を介して受け付けた入力項目の選択指示に基づいて入力項目を決定してもよいし、撮像された識別画像に基づいて決定してもよい。
画像取得部111は、帳票定義レコードに記録される撮影情報に基づいて撮像部104を起動させる(ステップS104)。画像取得部111は、表示部103にライブビューが表示されている状態において、撮像指示を受け付けると、撮像部104は撮像処理を行う(ステップS105)。撮像部104は、撮像された画像をメータ全体画像として生成する(ステップS106)。画像取得部111は、メータ全体画像を帳票データに記録する(ステップS107)。画像取得部111は、メータ全体画像から、切り出したい領域を指定する第1領域指定指示を受け付ける(ステップS108)。画像取得部111は、受け付けされた第1領域指定指示によって指定された領域をメータ画像として生成する(ステップS109)。
検針値決定部112は、メータ画像に基づいて検針値を決定する(ステップS110)。帳票データ入力部113は、検針値とメータ画像とを、帳票データに記録する(ステップS111)。帳票画面生成部109は、帳票データに検針値とメータ画像とが記録されると、表示部103に表示される帳票画面に検針値及びメータ画像を表示させる(ステップS112)。判定部114は、検針値を再度取得するか否かを判定する(ステップS113)。判定部114は、例えば、検針値が入力済みの入力項目が操作されたか否かで、検針値を再度取得するか否かを判定する。検針値を再度取得しない場合(ステップS113:NO)、処理は終了する。
検針値を再度取得する場合(ステップS113:YES)、再取得処理部115は、取得された帳票定義レコードに記録されたメータ情報と決定された検針値と生成されたメータ画像とを上位サーバ200に送信する(ステップS114)。再取得処理部115は、検針値の入力方式を手入力とするか否かを判定する(ステップS115)。再取得処理部115は、例えば、入力方式を手入力とするか、メータ撮影とするかを指示する入力指示を受け付ける。入力方式を手入力としない場合(ステップS115:NO)、処理はステップS104に遷移する。入力方式を手入力とする場合(ステップS115:YES)、検針値取得部116は、入力部102を介して、検針値を取得する(ステップS116)。帳票データ入力部113は、取得された検針値を帳票データに記録する(ステップS117)。
図12は、実施形態の検針値入力処理の第二の例を示すフローチャートである。第二の例では、ユーザは、ライブビューからメータ画像を切り出すことで、検針値を入力する場合の例を示す。ステップS101〜ステップS104、ステップS110〜ステップS117は、図11と同じであるため説明を省略する。
画像取得部111は、ライブビューから、切り出したい領域を指定する第2領域指定指示を受け付ける(ステップS201)。画像取得部111は、第2領域指定指示を受け付けると、撮像指示を撮像部104に出力する。撮像部104は、撮像指示に基づいて、ライブビューに表示された画像を撮像する(ステップS202)。撮像部104は、撮像された画像をメータ全体画像として生成する(ステップS203)。画像取得部111は、メータ全体画像を帳票データに記録する(ステップS204)。画像取得部111は、受け付けされた第2領域指定指示によって指定された領域をメータ画像として生成する(ステップS205)。
図13は、実施形態の検針値入力処理の第三の例を示すフローチャートである。第三の例では、ユーザは、メータ全体画像から複数のメータ画像を切り出すことで、一つのメータ画像から複数の検針値を入力する場合の例を示す。ステップS101〜ステップS111、ステップS113〜ステップS117は、図11と同じであるため説明を省略する。
帳票データ入力部113は、検針値の入力が完了したか否かを判定する(ステップS301)。具体的には、帳票データ入力部113は、帳票データの各値にヌル値がない場合、検針値の入力が完了したと判定する。帳票データ入力部113は、帳票データの各値にヌル値がある場合、検針値の入力が完了していないと判定する。検針値の入力が完了していないと判定された場合(ステップS301:NO)、ステップS107に遷移し、メータ全体画像から他の検針値を取得する。検針値の入力が完了していると判定された場合(ステップS301:YES)、ステップS302に遷移する。帳票画面生成部109は、帳票データに記録された検針値及びメータ画像に基づいて、表示部103に表示される帳票画面に検針値及びメータ画像を表示させる(ステップS302)。
図14は、実施形態の検針値入力処理の第四の例を示すフローチャートである。第四の例では、ユーザは、ライブビューから複数のメータ画像を切り出すことで、一つのメータ画像から複数の検針値を入力する場合の例を示す。ステップS101〜ステップS111、ステップS113〜ステップS117及びステップS201〜ステップS205は、図12と同じであるため説明を省略する。
帳票データ入力部113は、検針値の入力が完了したか否かを判定する(ステップS401)。具体的には、帳票データ入力部113は、帳票データの各値にヌル値がない場合、検針値の入力が完了したと判定する。帳票データ入力部113は、帳票データの各値にヌル値がある場合、検針値の入力が完了していないと判定する。検針値の入力が完了していないと判定された場合(ステップS401:NO)、ステップS201に遷移し、ライブビューから他の検針値を取得する。検針値の入力が完了していると判定された場合(ステップS401:YES)、ステップS402に遷移する。帳票画面生成部109は、帳票データに記録された検針値及びメータ画像に基づいて、表示部103に表示される帳票画面に検針値及びメータ画像を表示させる(ステップS402)。
このように構成された情報処理装置100では、撮像部104によって撮像された画像(メータ全体画像又はライブビュー)が表示部103に表示される。画像取得部111は、表示された画像に対する領域指定指示を受け付ける。領域指定指示は、画像から指定された部分画像を切り出す領域を指定する指示である。画像取得部111は、領域指定指示によって指定された領域をメータ画像として取得する。検針値決定部112は、取得されたメータ画像に対して、認識エンジンを実行することで、メータに表示された検針値を決定する。帳票データ入力部113は、決定された検針値を帳票データに記録する。したがって、ユーザは、領域指定指示によって画像からメータの検針値が表示された領域を指定することができる。画像取得部111は検針値ではない数値を認識することがなくなり、検針値決定部112は、より精度高く検針値を決定できる。したがって、ユーザは、より効率的に点検作業の結果を入力することができる。
また、検針値決定部112が検針値を誤った数値に決定した場合、再取得処理部115は、メータ画像と検針値とを上位サーバ200へ送信する。上位サーバ200の学習部208は、メータ画像と検針値とを機械学習によって再学習する学習データとして活用する。このように構成されることで、検針値決定部112は、誤りの再発を防ぐことができ、より精度高く検針値を決定できるようになる。
(実施形態の変形例)
図15は、実施形態の変形例の入力項目が決定される一具体例を示す図である。図15に示される表示部103に表示される帳票画面は、入力項目画像131、入力項目画像132、入力項目画像133、入力完了画像134、入力項目決定画像141、入力項目決定画像142及び入力項目決定画像143を含む。入力項目画像131から入力完了画像134は、図6と同じであるため、説明を省略する。入力項目決定画像141、入力項目決定画像142及び入力項目決定画像143は入力項目の選択指示が受け付けされる画像である。入力項目決定画像141が操作された場合、入力項目決定部110は、入力項目画像131に対応付けられた入力項目(第1メータ検針値)の選択指示を受け付ける。入力項目決定画像142が操作された場合、入力項目決定部110は、入力項目画像132に対応付けられた入力項目(第2メータ検針値)の選択指示を受け付ける。入力項目決定画像143が操作された場合、入力項目決定部110は、入力項目画像133に対応付けられた入力項目(第3メータ検針値)の選択指示を受け付ける。入力項目決定部110は、受け付けた入力項目の選択指示に基づいて、検針値が入力される入力項目を決定する。
図16は、実施形態の変形例のメータ画像の領域を指定する第1の変形例を示す図である。図16に示される表示部103には、メータ300が映し出されたライブビューが表示される。表示部103は、領域501及び線分502を含む。領域501は、ライブビューから切り出される領域を表す。線分502は、ユーザによって入力された線分を表す。領域501は、線分502を対角線とすることで得られる四角形である。ユーザは、表示部103に表示されるライブビューから、メータ画像として切り出したい領域が収まるように、表示部103を指でなぞることで線分を引く。ユーザは、線分を引くと、指を表示部103から離す。指が離されると、入力部102は、第2領域指定指示を受け付ける。画像取得部111は、第2領域指定指示を受け付けると、ユーザによって引かれた線分に基づいて、領域501を特定する。画像取得部111は、例えば、線分の端点を結ぶ対角線を持つ四角形に囲まれる領域を領域501として特定してもよい。領域501によって囲まれた領域は、ライブビューに基づいて生成されたメータ全体画像から、メータ画像として切り出される。なお、図16では、ライブビューからメータ画像を切り出す場合について説明したが、メータ全体画像からメータ画像を切り出す場合についても同様に処理されてもよい。なお、図16では、線分は、指で引かれたが、タッチペン等の道具を用いて引かれてもよい。なお、図16では、四角形で説明されたが、四角形に限定されず、対角線をもちうる多角形であればどのような形状であってもよい。
図17は、実施形態の変形例のメータ画像の領域を指定する第2の変形例を示す図である。図17に示される表示部103には、メータ300が映し出されたライブビューが表示される。表示部103は、領域503、第一点504及び第二点505を含む。領域503は、ライブビューから切り出される領域を表す。第一点504は、ユーザによって入力された点を表す。第二点505は、ユーザによって入力された点を表す。領域503は、第一点504と第二点505とを端点に持つ線分を対角線とすることで得られる四角形である。第一点504と第二点505とは、ユーザによって任意の場所に入力される。ユーザは、表示部103に表示されるライブビューから、メータ画像として切り出したい領域が収まるように、表示部103を指で予め指定された時間以上押下することで第一点504と第二点505とを入力する。ユーザは、第一点504と第二点505とを入力すると、指を表示部103から離す。指が離されると、入力部102は、第2領域指定指示を受け付ける。画像取得部111は、第2領域指定指示を受け付けると、ユーザによって入力された第一点504と第二点505とに基づいて、領域503を特定する。画像取得部111は、例えば、第一点504と第二点505とを端点に持つ線分を対角線として持つ四角形に囲まれる領域を領域503として特定してもよい。領域503によって囲まれた領域は、ライブビューに基づいて生成されたメータ全体画像から、メータ画像として切り出される。なお、図17では、ライブビューからメータ画像を切り出す場合について説明したが、メータ全体画像からメータ画像を切り出す場合についても同様に処理されてもよい。なお、図17では、第一点504と第二点505とは、指で入力されたが、タッチペン等の道具を用いて入力されてもよい。なお、第一点504と第二点505とは、同時に押下されてもよいが、第一点504が押下された後に第二点505が押下されるように構成されてもよい。なお、図17では、四角形で説明されたが、四角形に限定されず、対角線をもちうる多角形であればどのような形状であってもよい。
図18は、実施形態の変形例のメータ画像の領域を指定する第3の変形例を示す図である。図18に示される表示部103には、メータ300が映し出されたライブビューが表示される。画像取得部111は、枠線506から枠線508をライブビューに表示させる。枠線506、枠線507及び枠線508は、ライブビューに重畳して表示される。画像取得部111は、枠線506から枠線508を、数値として認識されている領域を囲むように表示させる。枠線507から枠線508は、リアルタイムで表示される。したがって、情報処理装置100の位置が変わる等で枠線から数値がはみ出た場合、画像取得部111は、ライブビューに表示される数値の位置に合わせて枠線を表示する。ユーザは、表示部103に表示される枠線506から枠線508のうち、メータ画像として切り出したい領域を選択する。例えば、ユーザは、枠線506を選択する場合、枠線506又は枠線506の内側をタッチして、タッチされた指を表示部103から離すことで枠線506が選択される。指が離されると、入力部102は、第2領域指定指示を受け付ける。画像取得部111は、第2領域指定指示を受け付けると、ユーザによって選択された枠線に基づいて、メータ画像として切り出したい領域を特定する。画像取得部111は、例えば、枠線506が選択された場合、枠線506によって囲まれた領域をメータ画像として切り出したい領域として特定する。枠線506が選択された場合、枠線506によって囲まれた領域が、ライブビューに基づいて生成されたメータ全体画像から、メータ画像として切り出される。なお、図18では、ライブビューからメータ画像を切り出す場合について説明したが、メータ全体画像からメータ画像を切り出す場合についても同様に処理されてもよい。なお、図18では、枠線506は、指で入力されたが、タッチペン等の道具を用いて入力されてもよい。なお、図18では、枠線は3つ表示されているが3つに限定されない。画像取得部111は、数値として認識されている領域の数だけ枠線を表示させてもよい。
上述の実施形態では、検針値決定部112は、情報処理装置100が備える構成として説明したが、検針値決定部112は、上位サーバ200が備えてもよい。この場合、画像取得部111は、メータ画像を上位サーバ200に送信する。上位サーバ200が備える検針値決定部112は、メータ画像に基づいて検針値を決定する。上位サーバ200は、決定された検針値を情報処理装置100に送信する。このように構成されることで、検針値決定部112は、最新の学習データに基づいて、認識エンジンを実行し、検針値を決定することができる。したがって、検針値決定部112は、より高い精度で検針値を決定できる。
上記各実施形態では、帳票画面生成部109、入力項目決定部110、画像取得部111、検針値決定部112、帳票データ入力部113、判定部114、再取得処理部115及び検針値取得部116はソフトウェア機能部であるものとしたが、LSI等のハードウェア機能部であってもよい。
以上説明した少なくともひとつの実施形態によれば、帳票画面生成部109、画像取得部111、検針値決定部112及び帳票データ入力部113を持つことにより、より効率的に点検作業の結果を入力することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。