以下、図面を参照して、一実施形態について説明する。
図1は、一実施形態に係わる情報処理装置、情報処理方法およびコンピュータプログラムを含む情報処理システムの構成を示すものである。なお、以下の説明では、上記情報処理装置、情報処理方法およびコンピュータプログラムを、工場や事業所の設備、種々の計測器などで用いられる各種メータの検針作業に適用した場合を例に挙げて説明するが、これに限定されるものではない。
(構成)
この情報処理システムは、図1に示すように、携帯型端末装置100、無線基地局200、クライアント端末300、サーバ400、ネットワーク500を備えたクラウドコンピューティングを実現するシステムであって、各種の設備や計測器に搭載されたメータMT1~MTnにて視覚的に表示される情報を取得して処理を行う。
なお、メータMT1~MTnは、例えば、電流、電圧、気体や液体の圧力や流量などを計測した値や、設備や機器の稼働状態を示した値を表示するものが想定されるが、これら以外の物理量や状態を示すものであってもよい。
またメータMT1~MTnには、数値メータと、アナログメータの2つのタイプがあり、検針員による検針の対象には、両タイプが混在し得る。
数値メータは、回転式またはデジタル式のいずれの方式で計測値などを視覚的に示す計器である。デジタル式の場合は、例えば、0~9までの数字が表示される7セグメントディスプレイを複数使用して数値を示す構成が考えられる。回転式の場合は、例えば、0~9までの算用数字が記載された数字車を複数連ねて並べたメカ式であって、数字車が回転することで数値を示す直読式の構成が考えられる。
アナログメータは、メータの読み値として算用数字や目盛りが記された表示盤上を指針が移動して、数字や目盛りと指針との相対的な位置関係で計測値などを視覚的に示す計器である。以下の説明では、メータの読み値として表示盤上に表記された数字を表記数字と称する。
携帯型端末装置100は、メータの検針にあたる検針員が携帯する端末装置であって、検針現場に設置されたメータMT1~MTnの計測値を光学的に読み取って帳票としてデータ化し、サーバ400に送信するための情報処理装置である。詳細については、後述する。
無線基地局200は、携帯型端末装置100と無線通信し、携帯型端末装置100をネットワーク500に接続するものである。例えば、ネットワーク500が事業所内に構築されたLANの場合、通信方式として無線LAN(IEEE802.11シリーズ)を採用したアクセスポイントである。またネットワーク500が通信事業者の移動通信網の場合、3G、3.9G(LTE(登録商標)など)、4G、5G等の規格に対応した無線通信を行う基地局装置である。
すなわち、無線LANや携帯電話網は例に過ぎず、携帯型端末装置100を無線通信によりネットワーク500に接続できるものであれば、これらの無線通信方式に限定されるものではなく、Bluetooth(登録商標)を含め、いずれの無線通信方式であっても適用可能である。またネットワーク500は、1つのネットワークに限らず、複数のネットワーク(例えば、構内LANと移動通信網)が相互に接続されたものであってもよい。
クライアント端末300は、当該システムが提供する検針サービスの利用者の管理部門に設置され、その部門のオペレータが使用する端末であって、例えば、デスクトップ型あるいはラップトップ型のパーソナルコンピュータ等の情報処理装置である。
そして、クライアント端末300は、携帯型端末装置100によってサーバ400にアップロードされたデータファイルをダウンロードし、参照・閲覧、編集・集計、データ変換・ファイル作成、帳票の発行などを行う機能を備える。
またクライアント端末300は、携帯型端末装置100の全ての機能または一部のデータ処理機能を備えて、携帯型端末装置100と同様の処理を実行してもよい。すなわち、クライアント端末300は、検針現場でのメータの撮影を除いて(すなわち、上記撮影は携帯型端末装置100が行い)、それ以外の携帯型端末装置100上で実行可能なデータ処理を代わりに行うように同様の情報処理機能を備えてもよい。
サーバ400は、当該システムが提供するクラウドコンピューティングの中枢をなすものであって、携帯型端末装置100やクライアント端末300からアップロードされる情報の保存や管理、上記情報に所定のデータ処理を施したり、あるいはこの保存した情報やデータ処理した情報を携帯型端末装置100やクライアント端末300に提供(ダウンロード)し、当該システムの利用者間でのデータ共有を実現する。
また、サーバ400は、携帯型端末装置100やクライアント端末300によるデータ処理の一部または全部を各装置に代わって担うことで、各装置のコンピュータ資源の節約を可能にする。そしてまたサーバ400は、携帯型端末装置100、クライアント端末300が使用するOS(Operating System)やアプリケーションソフトウェアを各装置に提供したり、最新の情報にアップデートしてサービスを実現する。
このように、サーバ400のデータベースには、携帯型端末装置100からアップロードされた検針データを保存し、また、携帯型端末装置100やクライアント端末300の各種プログラムが保存される。
サーバ400によって提供されるサービスは、サービスの提供を受けるクライアントが所有する(あるいは貸与された)携帯型端末装置100やクライアント端末300に対して、サブスクリプション方式で提供することも考えられる。
次に、図2を参照して、携帯型端末装置100について説明する。
携帯型端末装置100は、前述したように、メータの検針にあたる検針員が検針現場で携帯し、オペレータとして使用する端末であって、スマートフォン、タブレット型コンピュータまたはラップトップ型のパーソナルコンピュータ等の携帯可能な情報処理装置である。
また携帯型端末装置100は、図2に示すように、一般的なコンピュータと同様のハードウェア構成であって、バスで接続された、少なくとも通信部101、入力部102、表示部103、カメラ104、GNSS(Global Navigation Satellite System)受信部105、記憶部106、制御部110を備える。
通信部101は、無線基地局200との間で無線通信リンクを確立して通信を行う無線通信インターフェースであって、無線基地局200およびネットワーク500を介して、サーバ400と通信を行う。無線通信は、無線基地局200の仕様に合わせた通信方式に対応する。この通信方式の例としては、無線LAN(IEEE802.11シリーズ)、3G、3.9G(LTE(登録商標)など)、4G、5G、Bluetooth(登録商標)等、様々な規格が考えられるが、いずれでもかまわないし、これらに限定されるものでもない。
入力部102は、後述する表示部103上に載置されたタッチパネルや、携帯型端末装置の筐体上に設けられたキースイッチなどの入力デバイスを備え、検針員から与えられる種々の情報の入力や指示を検出する。上記タッチパネルは、尖筆(スタイラス)や指を使って入力が行えるものであり、静電容量方式や抵抗膜方式、投影型赤外線方式など種々の方式が適用可能である。
表示部103は、表示デバイスを備え、検針員に対して視覚的に情報を提供するものであり、例えば、情報の入力欄やソフトウェアキー、各種画像(写真、CG(コンピュータグラフィックス)画像)を表示する。
情報の入力欄やソフトウェアキーは、後述する制御部110の制御により、前述の入力部102に対する操作に対応するように表示がなされる。表示デバイスとしては、液晶パネルや有機EL(Electro Luminescence)パネル、電子ペーパーなど種々のデバイスが適用可能である。
カメラ104は、複数枚のレンズやこれらのレンズ間の距離を可変するズーム機構などを備えた光学系と、例えばCMOS(Complementary MOS)などのイメージセンサを備えた撮像部と、撮像部によって得られた撮像信号から所定の形式(例えば、JPEG(Joint Photographic Experts Group))の画像データを生成する信号処理部とを備えたデジタルカメラである。
なお、カメラ104によって得られた画像データには、撮影した日時や場所、撮影条件(シャッター速度や絞り値、画角、緯度や経度など)を示す付加情報(例えば、Exif(Exchangeable image file format)データ)が、制御部110によって付加されて記録される。
GNSS受信部105は、複数のGNSS衛星や地上の基準局などから発射される信号を用いて位置測定(測位)を行ったり、現在時刻の受信などを行うものである。
記憶部106は、後述する制御部110のOSやアプリケーションソフトウェア、アプリケーションソフトウェアの運用に伴って生成されたデータ、各種パラメータ、検針員から入力されたデータ、カメラ104によって撮像された画像データ(メータMT1~MTnの計測値を撮影したものなど)、サーバ400から取得(ダウンロード)したデータ、その他、情報処理のための一時的なデータなどを記憶するものであり、RAM(Random Access Memory)やROM(Read Only Memory)、SSD(Solid State Drive)などのフラッシュメモリ、HDD(Hard Disk Drive)などの記録デバイスがデータの特性に合わせて、組み合わせて設けられる。
また記憶部106は、帳票データ106aと、設定情報データ106bと、メータ画像データ106cを記憶するほか、様々なデータを記憶する。
帳票データ106aは、所定の検針期間毎に、各メータの指針値を集計するために作成されるデータであって、新しいデータが作成されるとサーバ400にアップロードされる。具体的には、帳票データ106aは、例えば、検針現場ごとに作成されるデータで、「メータ情報」、「メータ画像」、「今回の検針値」、「前回との差」、「前回の検針値」、「前回に求めた差」などの情報が対応付けられたデータであって、検針現場に複数のメータが設置されている場合には、各メータについての上記情報を含んでいる。
ここで、「メータ情報」は、メータを識別するためのマスターコード、メータが計測する対象(例えば、テナント、駐車場、共有スペースなど)を示す識別情報、種別(例えば、ガス、電気、水道など)を含む。「メータ画像」は、検針値の根拠となる画像、すなわち、検針の際に撮影した画像である。
「今回の検針値」は、今回の検針で読み取った値である。「前回との差」は、今回の検針値と前回の検針値の差分である。「前回の検針値」は、前回の検針で読み取った値である。「前回に求めた差」は、前回の検針値と前々回の検針値の差分である。
設定情報データ106bは、各メータの検針値を集計するために必要な設定情報である。具体的には、帳票データ106aと同様に、各検針現場の各メータ毎に作成されるものである。
メータ画像データ106cは、検針のために、メータの検針値をカメラ104が撮影した画像データであり、実際に検針値を得るために使用された場合、その画像から必要な部分が切り取られ、メータ画像として上記帳票データ106aに記録される。
制御部110は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などのプロセッサ、チップセット、RAMやROMなどを備え、携帯型端末装置100の各部を統括して制御する。
ROMは、ファームウェアや設定値(各種パラメータ)を記憶する。CPUは、上記ファームウェアにしたがって、記憶部106からOSやアプリケーションソフトウェアをRAMに読み込んで、OSやアプリケーションソフトウェアを実行し、またRAMをワークエリア(作業領域)として使用することで、各種制御機能を実現する。
制御部110は、OSやアプリケーションソフトウェアを実行することで、少なくとも以下の制御機能を実現する。すなわち、制御部110は、ソフトウェア(プログラム)をプロセッサ実行することにより、通信制御部111、入力制御部112、表示制御部113、画像処理部114、位置情報処理部115、検針データ集計処理部116として機能し、これらの機能が互いに連携して機能することができる。
なお、これらの各機能の一部または全部を他の機能と統合したり、あるいは111~116の各機能を別の観点で複数の機能ブロックに切り分けて別の表現で説明することも可能である。
通信制御部111は、通信部101を制御して、所定の通信プロトコルにしたって無線基地局200と無線通信リンクを確立し、さらにネットワーク500を通じてサーバ400と通信を行うもので、例えば、サーバ400からのデータダウンロードおよびサーバ400へのデータアップロードを行う。
入力制御部112は、入力部102を制御し、入力部102が検出した結果から、入力部102に対する検針員の操作から検針員の要求を解釈したり、情報(文字列など)の入力、データの取り込みや紐づけの変更を受け付けたり、カメラ104によって撮像された画像データの取り込みなどを行う。
表示制御部113は、表示部103を制御して、文字や画像を含む種々の情報や、グラフィカルユーザインタフェイス(以下、GUI(Graphical User Interface))を表示させる。GUIの例としては、前述した情報の入力欄やソフトウェアキーであり、これらの表示は、入力部102のタッチパネルを通じた入力に対応している。その他、画像の取り込み位置を示したりするガイド表示を行う。
画像処理部114は、カメラ104によって撮像された画像データに対して画像処理を施すものであって、例えば、認識エンジンとしての機能と、解析エンジンとしての機能を備える。
認識エンジンは、例えばAI(Artificial Intelligence)などによるパターン認識によって、カメラ104によって得られた画像データに基づく画像から、種々の情報を認識する処理を行うものである。
具体的には、認識エンジンは、例えば、QRコード(登録商標)を検出したり、画像に写るメータのタイプを数値メータかアナログメータかを区別(判定)したり、そのメータの表示盤上の計測値を表示している部分を検出したり、また表示盤内のオブジェクト(数値メータの計測値の数字列、アナログメータの指針や表記数字など)やその配置(座標)を検出する機能を備える。
一方、解析エンジンは、認識エンジンによって検出された情報を解析する処理を行うものである。
具体的には、解析エンジンは、メータ部分の画像について、QRコードの解読や、光学的文字認識などの文字認識処理(OCR(Optical Character Recognition))により数値メータの計測値をテキスト化したり、アナログメータのメータ部分に記されたオブジェクトの位置関係から指針が示す値を検出する。
なお、解析エンジンは、文字認識処理については、複数種類が準備される。各解析エンジンは、メータの種類毎に対応し、それぞれ対応するメータの表記数字に合った解析アルゴリズムを用いて、表示される計測値をテキスト化する。
具体的には、メータによって、算用数字の書体が異なっていたり、表記数字と背景色の組み合わせが異なるため、それぞれのメータの表示に合った解析アルゴリズムを有する解析エンジンが準備されている。
位置情報処理部115は、加速度センサ、ジャイロセンサなどを備え、これらの検出結果と、GNSS受信部105による測位結果、および/または通信制御部111によって無線基地局200から得た測位情報に基づいて、携帯型端末装置100の位置を測位する。
検針データ集計処理部116は、検針データの集計に関わる種々の処理を統括して制御するものであって、帳票作成部116a、数値メータ検針部116b、アナログメータ検針部116c、修正処理部116dを備える。
帳票作成部116aは、後述する数値メータ検針部116bやアナログメータ検針部116cによって読み取られた検針値、あるいは、修正処理部116dによって修正された指針値に基づいて、帳票データを作成する処理を行う。
数値メータ検針部116bは、画像処理部114の認識エンジンと解析エンジンを必要に応じて利用し、数値メータを撮影した画像に基づいて、数値メータに表示される計測値の数字列を指針値として読み取る処理を行う。
アナログメータ検針部116cは、画像処理部114の認識エンジンと解析エンジンを必要に応じて利用し、アナログメータを撮影した画像に基づいて、アナログメータに指針で示される値を指針値として読み取る処理を行うものであって、指針検出部、表記数字検出部、円検出部、交点検出部、交点数字検出部、計測値検出部の一例である。
修正処理部116dは、入力部102を通じた検針員からの指示にしたがって、指針値を修正する指示を受け付けて、数値メータ検針部116bやアナログメータ検針部116cが読み取った指針値を修正する処理を行う。
(動作)
次に、上記構成の情報処理システムの動作について説明する。以下の説明では、携帯型端末装置100における処理のうち、特に、検針データの集計処理(以下、検針データ集計処理と称する)について説明する。
この検針データ集計処理は、検針データ集計処理部116によってなされ、検針員によるメータMT1~MTnに対する検針作業を支援し、メータMT1~MTnに表示される計測値を読み取って、これを集計した帳票データ106aを作成するものである。
また、この検針データ集計処理は、アプリケーションソフトウェア(プログラム)を実行した制御部110が検針データ集計処理部116として機能することにより実現される。なお、以下の説明では、1つのアプリケーションソフトウェアとして説明するが、複数のアプリケーションソフトウェアが連携、あるいは連続して動作することで実現するようにしてもよい。
アプリケーションソフトウェアが実行されると、検針データ集計処理部116の帳票作成部116aが、帳票データ106aのひな形を表示する。具体的には、帳票作成部116aは、記憶部106に記憶される帳票データ106aのひな形データを読み出し、読み出したひな形データを表示制御部113に出力する。これに対して、表示制御部113は、上記ひな形データに基づいて、表示部103に帳票のひな形を表示する。
続いて、検針データ集計処理部116は、表示制御部113に指示を与えて、表示部103に検針の対象となるメータのタイプの入力を求める表示を行う。すなわち、数値メータの検針か、アナログメータの検針かを検針員に問い、選択させるための表示を行い、入力部102を通じて検針員の選択を入力制御部112が受け付ける。
ここで、検針員が数値メータを検針するモードを選択した場合には、この入力を入力制御部112が検出して、この検出結果に応動して、検針データ集計処理部116は、数値メータ検針部116bによる数値メータ検針処理を開始する。
すなわち、数値メータ検針処理では、検針データ集計処理部116や画像処理部114によって、数値メータに表示される数値をOCRによって読み取ってテキスト化し、その後、テキスト化した検針値を帳票作成部116aが上記帳票データ106aに入力する。
一方、検針員がアナログメータを検針するモードを選択した場合には、この入力を入力制御部112が検出して、この検出結果に応動して、検針データ集計処理部116は、アナログメータ検針部116cによるアナログメータ検針処理を行う。以下、図3を参照して、その詳細について説明する。
なお、上述したように、検針員が数値メータの検針かアナログメータの検針かを入力部102を通じて指示するようにしてもよいし、前述したように、カメラ104で検針対象のメータを撮影し、認識エンジンが画像に写るメータのタイプを数値メータかアナログメータかを区別(判定)するようにしてもよい。
図3および図4は、アナログメータ検針処理を説明するためのフローチャートである。このアナログメータ検針処理は、アナログタイプのメータから検針値を読み取る処理であって、前述したように、アプリケーションソフトウェア(プログラム)を実行した制御部110が、画像処理部114や検針データ集計処理部116として機能することにより実現される。
まず、ステップS301では、アナログメータ検針部116cが、記憶部106から設定情報データ106bを読み出し、ステップS302に移行する。ここで、読み出された設定情報データ106bは、以後の処理において、初期設定のパラメータ(初期設定値)として用いられる。
設定情報データ106bの一例としては、種々のアナログメータについて、メータの識別情報に対応づけて、表示盤上に表示されている数値の最小値と最大値などを記録した情報や、メータを識別するためにAI(Artificial Intelligence)学習させた学習データなどが含まれる。
学習データは、アナログメータを撮影した画像において、メータの中心点、指針の可動範囲の開始点と終了点、表示盤の最も下側の底点、指針の範囲(最小値、最大値)、しきい値など設定した情報に基づいて、機械学習によって生成される。
ステップS302では、アナログメータ検針部116cが、カメラ104を起動して、アナログメータMT(例えば、メータMT1~MTnのいずれか)を撮像して画像データを得て、ステップS303に移行する。
具体的には、ステップS302では、カメラ104が起動され、カメラ104によって撮像された映像が表示部103に表示され、検針員がこの表示を確認して撮影構図を調整しながら、アナログメータMT全体が写る状態でシャッタ操作を行う。
これにより、アナログメータMT全体が写る画像データを得られ、表示部103には、撮影されたアナログメータMTの表示がなされる。なお、以下の説明では、画像データのうち、アナログメータMTを撮影した画像データを撮像データと称する。
ステップS303では、アナログメータ検針部116cが、ステップS302で得た撮像データに基づいて、撮影したアナログメータMTを表示部103に表示するとともに、撮像データに写るアナログメータMTの表示盤上の表記数字と指針を検出する。なお、この検出には、画像処理部114の認識エンジンが用いられる。
またステップS303では、アナログメータ検針部116cが、上記表示したアナログメータMT上に、上記検出した表記数字と指針をそれぞれ矩形の枠線で囲って表示し、ステップS304に移行する。図5に、表記数字をそれぞれ囲う枠線の一例を示す。これらの表示は、表示制御部113を通じて行われ、以下で説明する表示についても同様である。
なお、アナログメータMT上の表記数字と指針の検出は、例えば、AIを利用することで実現できる。すなわち、設定情報データ106bに含まれる学習データと撮像データに基づいて、アナログメータ検針部116cがアナログメータMTの種類などを特定するとともに、さらに、この特定したアナログメータMTについての学習データから表示盤上の表記数字と指針を検出する。
ステップS304では、アナログメータ検針部116cが、ステップS303で表示した表記数字を囲う枠線の中心の位置(座標)を検出し、ステップS305に移行する。ここで検出された座標は、以下の説明において、表記数字座標と称する。この表記数字座標は、表示したアナログメータMT上に設定した2次元の座標軸に基づくものであって、以下の説明における座標についても、上記座標軸を基準にしたものである。
ステップS305では、アナログメータ検針部116cが、ステップS304で検出した表記数字座標に基づいて、枠線の中心を通る円(近似円)を求める。具体的には、表記数字座標が円周上に存在する近似円を求める。さらに、アナログメータ検針部116cは、この円の中心点Oの座標とその半径Rを算出し、ステップS306に移行する。図6に、上記円と中心点Oの一例を示す。
ステップS306では、アナログメータ検針部116cが、指針を囲う枠線と円の中心点Oに基づいて、指針の先端Aの座標Acを検出し、ステップS307に移行する。図7に、指針を囲う枠線と円の中心点Oの一例を示す。
具体的には、図8に示す例では、指針を囲う矩形の枠線の4つの頂点のうち、円の中心点Oから近い頂点と対角をなす頂点を指針の先端Aの座標Acとして検出する。ただし、指針の角度によっては、図9に示すように、円の中心Oから近い点である頂点b1ではなく、ふさわしくない頂点b2を検出する可能性がある。
このため、枠線の各辺の中点c1~c4と中心Oの距離を考慮するようにして、頂点b1を検出し、この頂点b1と対角をなす、指針の先端Aに相当する頂点a(の座標Ac)を検出するようにしてもよい。
ステップS307では、アナログメータ検針部116cが、ステップS304で検出した表記数字座標を順番に配列し、ステップS308に移行する。具体的には、図10において矢印で示すように、円の中心点Oの下方の円周上を起点Sとして、時計回りに円周上の表記数字座標を順に並べる。これは、一般的なアナログメータが、時計回りに読み値が変化する(大きくなる)ことを考慮したものである。
ステップS308では、アナログメータ検針部116cが、図11に示すように、ステップS303で囲った枠線内の表記数字の数値を読み取り、ステップS309に移行する。
なお、表記数字の数値の読み取り(検出)は、例えば、AIを利用することで実現できる。すなわち、設定情報データ106bに含まれる学習データと撮像データに基づいて、アナログメータ検針部116cがアナログメータMTの種類などを特定するとともに、さらに、この特定したアナログメータMTについての学習データから表示盤上の表記数字の数値を検出する。
ステップS309では、アナログメータ検針部116cが、ステップS308で読み取った数値に「0」があるか否かを判定する。ここで、ステップS308で読み取った数値に「0」がある場合には、ステップS310に移行し、一方、「0」がない場合には、ステップS312に移行する。
ステップS310では、アナログメータ検針部116cが、ステップS307で行った配列とステップS308で読み取った数値に基づいて、中心点Oからみて、数値「0」の表記数字の左側に数値が存在するか否かを判定する。ここで、左側に数値が存在する場合には、ステップS311に移行し、一方、左側に数値が存在しない場合には、ステップS314に移行する。
ステップS311では、アナログメータ検針部116cが、ステップS308で読み取った数値のうち、数値「0」より左側に存在する数値については、同じ大きさのマイナス(負)の値に変換し、ステップS314に移行する。なお、右側に存在する数値については、プラス(正)の値のままにする。
例えば、図12に示すようなアナログメータの場合、数値「0」の左側に数値「0.05」と「0.1」が存在するため、これらの数値をそれぞれ「-0.05」と「-0.1」に変換する。
ステップS312では、アナログメータ検針部116cが、ステップS307で行った配列とステップS308で読み取った数値に基づいて、隣接する2つの数値を比較し、数値が右側の数値以上となっている数値が存在するか否かを判定する。すなわち、中心点Oからみて、左側の数値が右側の数値以上の数値となっているものが存在するか否かを判定する。ここで、右側の数値以上の数値が存在する場合には、ステップS311に移行し、一方、右側の数値以上の数値が存在しない場合には、ステップS314に移行する。
ステップS313では、アナログメータ検針部116cが、ステップS308で読み取った数値のうち、数値が右側の数値以上となっている数値について、同じ大きさのマイナスの値に変換し、ステップS314に移行する。
例えば、図12に示すようなアナログメータの場合、左端の数値「0.1」の右側には数値「0.05」が存在するため、この数値「0.1」を「-0.1」に変換する。同様に、左側の数値「0.05」の右側には数値「0」が存在するため、この数値「0.05」を「-0.05」に変換する。
ステップS314では、アナログメータ検針部116cが、例えば図13に示すように、ステップS306で検出した指針の先端Aの座標AcとステップS305で検出した円の中心点Oの座標を結ぶ線分と、ステップS305で求めた円Oの円周との交点Xの座標Xcを検出し、図4のステップS401に移行する。ここで、交点Xが無い場合には、座標Xcを求めずにステップS401に移行する。
ステップS401では、アナログメータ検針部116cが、ステップS314で交点Xの座標Xcが検出できたか否かを判定する。交点Xの座標Xcが検出できた(すなわち交点Xがある)場合には、ステップS403に移行し、一方、交点Xが無いなど、交点Xの座標Xcが検出できない場合には、ステップS402に移行する。
ステップS402では、アナログメータ検針部116cが、指針を延長して、延長した指針と円周の交点Xを作成し、その交点Xの座標Xcを検出し、ステップS402に移行する。なお、交点Xの座標Xcの検出は、例えば、ステップS306で検出した指針の先端Aの座標Acと中心点Oに基づいて、中心点Oから座標Acの方向に延長することで実現できる。
ステップS403では、アナログメータ検針部116cが、ステップS314あるいはステップS402で検出した交点Xの座標Xcの左右の円周上にある表記数字を探索し、それらの表記数字があるか否かを判定する。図14の例では、交点Xの座標Xcの左の円周上に表記数字NLとして「20」が存在し、右の円周上の表記数字NRとして「40」が存在している。
ここで、左右の両方に表記数字を検出できた場合には、ステップS404に移行し、一方、表記数字が左右の一方にしか無い場合には、指針値として、最小値(NRのみ検出時)あるいは最大値(NLのみ検出時)を検出したものとして、ステップS409に移行する。
より具体的に例を挙げて説明する。図15(a)では、図14と同様に、交点Xの座標Xcの左の円周上に表記数字NLとして「20」が存在し、右の円周上の表記数字NRとして「40」が存在しているため、ステップS404に移行する。
これに対して図15(b)に示すように、中心点Oから見て交点Xの左側(円周の起点まで)には、表記数字が存在しない場合、指針値として、初期設定値に基づく最小値を検出したものとして確定し、ステップS409に移行する。
なお、交点Xの右側(円周の終点まで)に表記数字が存在しない場合には、指針値として、初期設定値に基づく最大値を検出したものとして確定し、ステップS409に移行する。
また、図15(c)に示すように、指針が表記数字「40」と重なってしまい、ステップS303やステップS304で表記数字「40」が検出されない場合には、この表記数字「40」は検出されていないため、ステップS403の判定で用いられることはない。
しかしながら、それ以外の左右の表記数字「20」と「60」がそれぞれNL、NRとしてステップS303やステップS304で検出されているので、ステップS403でこれらの表記数字の存在が検出され、ステップS404に移行する。
さらには、図15(d)に示すように、指針が表記数字「40」と重なってしまうとともに、なんらかの理由で、ステップS303やステップS304で表記数字「60」が検出されない場合には、この表記数字「40」と「60」は検出されていないため、この表記数字「40」と「60」はステップS403の判定で用いられることはない。
しかしながら、それ以外の左右の表記数字「20」と「80」がステップS303やステップS304で検出されているので、ステップS403でこれらの表記数字がそれぞれNL、NRとして検出され、ステップS404に移行する。
ステップS404では、アナログメータ検針部116cが、まず、ステップS403で検出した2つ表記数字NL、NRのうち、交点Xの左側の表記数字NLの座標と中心点Oの座標を結ぶ線分と、交点Xの座標と中心点Oの座標を結ぶ線分とがなす角度S1を検出する。図16に一例を示す。
つづいて、アナログメータ検針部116cは、ステップS403で検出した2つ表記数字NL、NRのうち、交点Xの右側の表記数字NRの座標と中心点Oの座標を結ぶ線分と、交点Xの座標と中心点Oの座標を結ぶ線分とがなす角度S2を検出し、ステップS405に移行する。
ステップS405では、アナログメータ検針部116cが、角度S1、S2、半径R、左側の表記数字NLの数値VL、右側の表記数字NRの数値VRとに基づいて、交点Xに相当する指針値VDを算出し、ステップS406に移行する。図17に一例を示す。
ここで指針値VDの算出式の一例としては、VD=(S1*VR+S2*VL)/(S1+S2)が考えられる。
ステップS406では、アナログメータ検針部116cが、ステップS308で読み取った表記数字の数値に基づいて、小数点下の桁数のうち、最大の桁数を検出し、ステップS402に移行する。
ここで、例えば、図18のようなアナログメータの場合、読み取った数値は、整数値であるため、小数点下の最大の桁数は0と検出する。また図19のようなアナログメータの場合、読み取った数値には、「0.1」と「0.05」が含まれており、「0.05」に基づいて、最大の桁数は2と検出する。
ステップS407では、アナログメータ検針部116cが、ステップS406で検出した最大桁数に1を加えた値を有効小数点下桁数として求める。そして、アナログメータ検針部116cは、ステップS405の算出結果のうち、有効小数点下桁数までの値を指針値として確定し、ステップS408に移行する。
具体的には、例えば図18に示すようなアナログメータにおいて、ステップS405において、指針値として「30.04567…」が算出された場合、有効小数点下桁数が1であることより、指針値は小数第1位までの「30.0」として確定する。なお、小数第1位の値は、小数第2位の値を四捨五入することにより決定する。
ステップS408では、アナログメータ検針部116cが、ステップS302で得た撮像データに基づいて、撮影したアナログメータMTの画像のうち、指針とその近傍の表記数値や、交点Xを含む範囲をトリミングしたトリミング画像のデータ(以下、トリミング撮像データと称する)を生成し、ステップS409に移行する。
ステップS409では、修正処理部116dが、表示中の画像に代わって、ステップS408で生成したトリミング撮像データに基づいて、上記トリミング画像を表示部103に表示するとともに、ステップS403で確定した指針値、あるいはステップS407で確定した指針値を表示部103に表示し、ステップS410に移行する。
具体的には、例えば、図20のような表示が表示部103になされる。すなわち、撮像データのうち交点Xを含む範囲を拡大したトリミング画像が表示されるとともに、ソフトウェアキーとして機能するGUI(Graphical User Interface)として、ドラムロール表示とスライドバー表示がなされる。
このドラムロール表示は、指針値を修正するための入力インタフェースであって、指針値の各桁の値にそれぞれ対応するドラムロール(数字車)をグラフィックにより仮想的に表示するものである。表示されたドラムロールは、表示部103上に載置されたタッチパネル(入力部102)を通じて操作することが可能である。
例えば、各ドラムロールを上下に回転させるフリック入力を入力部102が検出して、これに応動してドラムロールの映像を回転させて表示し、それに合わせて表示される任意の値に指針値を変更することができる。
スライドバー表示は、ドラムロール間に小数点を設定するための入力インタフェースであって、ドラムロールの位置に上下方向で対応しており、ポインタPを左右にスライドさせることで、桁(ドラムロール)の間に小数点を設定することができる。
図21にその例を示す。図21(a)~(e)では、ポインタPの位置に応じて、指針値の小数点の位置が変化する様子を示したものである。図21では、指針値の小数点の位置とポインタPの位置が上下方向で一致するように設定したものである。
なお、ポインタPの位置と、ドラムロールで表される数字列中の小数点の位置は、必ずしも上下方向で一致するものでなくてもよい。例えば、指針値の数字列の表示範囲に対して、それよりも広い範囲でスライドバーを表示するなど、表示部103上で表示可能な範囲を小数点の入力のために最大限に用いてもよく、その場合は、ポインタPの可動範囲内におけるポインタPの相対的な位置に応じて、小数点の位置が可変される。
ステップS410では、修正処理部116dが、表示部103に表示される指針値について、検針員に対して確認の入力を求める。ここで、OKの入力操作が入力部102に対して行われた場合には、表示している指針値を検針値として決定し、ステップS412に移行し、一方、NGの入力操作が入力部102に対して行われた場合には、ステップS411に移行する。
ステップS411では、修正処理部116dが、前述したドラムロール表示およびスライドバー表示に対する操作を入力部102を通じて検出し、検針員から指針値の修正指示を受け付けて表示し、修正(表示)された指針値を検針値として決定し、ステップS412に移行する。
ステップS412では、帳票作成部116aが、検針の対象となったアナログメータの識別情報に対応づけて、ステップS302で得た撮像データ、ステップS408で生成したトリミング撮像データ、ステップS410あるいはステップS411で決定された検針値を帳票データ106aとして記憶部106に保存し、ステップS413に移行する。
ステップS413では、アナログメータ検針部116cが、入力部102を通じて検針員から作業終了の指示が与えられたか否かを判定する。ここで、作業終了の指示を検出した場合には、当該処理を終了し、一方、引き続き作業を行う旨の指示があった場合には、ステップS302に移行して、改めてアナログメータMTの検針を行う。
(まとめ)
以上のように、上記構成の携帯型端末装置100では、検針員がアナログメータを検針する場合に、アナログメータの表示盤を撮影した画像データに基づき、指針を挟むように存在する2つの表記数字NL、NRを検出し、指針の左側の表記数字NLの値VLとメータの中心点Oと指針の先端Aがなす角度S1と、指針の右側の表記数字NLの値VRとメータの中心点Oと指針の先端Aがなす角度S2と、2つの表記数字の値VLとVRから、指針値を算出するようにしている。
したがって、上記構成の携帯型端末装置100によれば、検針員は、アナログメータを検針する場合に、表示タイプに合わせた煩雑な初期設定を行うことなく、アナログメータを撮影するだけで検針を行うことができるので、作業負荷を軽減することができる。
アナログメータの例としては、図22に示す交流電流計、図23に示す真空計、図24に示す連成計などが考えられる。図22に示す交流電流計は、目盛り幅が不均等で途中で目盛りが途切れている。図23に示す真空計は、0が最大であり、左回りに指針が回転し、指針値はすべてマイナスの値である。図24に示す連成計は、0が最小値と最大値の間にあり、左右にマイナスとプラスの値がそれぞれ存在するものの、マイナスの表記が行われていない。これらのいずれのアナログメータについても、携帯型端末装置100によれば、検針を行うことができる。
また、上記構成の携帯型端末装置100では、帳票データ106aには、アナログメータの検針値と、その検針値を検出した元となる撮像データを対応付けて保存するようにしている。このため、後に帳票データ106aを閲覧した者が確認を行うことができる。
なお、この発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また上記実施形態に開示されている複数の構成要素を適宜組み合わせることによって種々の発明を形成できる。また例えば、実施形態に示される全構成要素からいくつかの構成要素を削除した構成も考えられる。さらに、異なる実施形態に記載した構成要素を適宜組み合わせてもよい。
また、上記実施形態では、アナログメータの撮影と、アナログメータの測定値の検出と、その検出値を記録した帳票データ106aの作成を携帯型端末装置100で行う場合を例に挙げて説明したが、これに限定されるものではない。
すなわち、アナログメータの撮影についてのみ携帯型端末装置100で行い、アナログメータの測定値の検出と、その検出値を記録した帳票データ106aの作成については、クライアント端末300やサーバ400における情報処理で実現するようにしてもよい。この場合、上記実施形態で説明したハードウェアやソフトウェアがクライアント端末300やサーバ400に設けられる。
その他、この発明の要旨を逸脱しない範囲で種々の変形を施しても同様に実施可能であることはいうまでもない。