以下、本発明の実施形態について図面を参照しながら詳細に説明する。
[第1実施形態]
図1(A)は指示針メータ100に取り付けられた状態の第1実施形態のアナログメータ読取装置1の正面図であり、同図(B)はその外観側面図である。アナログメータ読取装置1は、指示針メータ100に光を照射して指示針101の位置情報を検出する読取部10と、読取部10が検出した位置情報に基づいて指示針101が示す指示値を算出する制御部30と、を備えている。
指示針メータ100は、指示針101と、指示針101が指し示す位置に対応する物理量(数値)を表示する目盛板102と、指示針101を保護するためのカバーガラス103と、を備えている。指示針101は、目盛板102の表示面側から所定距離にある平面上において、所定の回転中心を基準に回転する。カバーガラス103は、指示針101を含むように目盛板102の表示面側を覆っている。
指示針メータ100の目盛板102は白色であり、指示針101は黒色である。このため、指示針メータ100に照射された光は、目盛板102では反射され、指示針101では吸収される。読取部10は、このような指示針メータ100の光反射特性を利用して、指示針メータ100の指示針101の位置情報を検出する。
読取部10は、全体的にほぼ均一の厚みを有し、中央に穴部が形成され、径方向に所定の幅を有する円弧帯状(ドーナツ状)部材である。読取部10の2つ側面のうちの一方の側面は、指示針メータ100のカバーガラス103面に直接装着され、指示針メータ100の指示針101の位置情報を光学的に読み取る側面(読取面)である。上記2つの側面のうちの他方の側面は、外部へ露出し、その表面にマーカ10Mが印刷された側面(マーカ面)である。
読取部10の読取面は、指示針メータ100の指示針101の回転中心上に、当該読取部10の中心が一致するように、指示針メータ100の目盛板102の対面側のカバーガラス103面上に直接装着される。このとき、読取部10のマーカ面は正面側になる。本実施形態では、読取部10のマーカ面には、4か所の矩形のマーカ10Mが印刷されている。4つのマーカ10Mは正方形の各頂点の位置に配置され、その正方形の対角線の交点は読取部10の中心に一致する。
図2は、読取部10の読取面を示す図である。読取部10は、小さな穴部11が形成された円盤状の収納ケース12と、収納ケース12内の外周部に沿って円弧状に配置された複数のフォトダイオード13と、複数のフォトダイオードと穴部との間に円弧状に配置された複数のLED素子14と、を備えている。
収納ケース12は、中心に小さな穴部11が形成され、複数のフォトダイオード13及びLED素子14が設置される円形収納底12aと、円形収納底12aの外周部に沿って形成される外周壁12bと、円形収納底12aの内周部に沿って形成される内周壁12cと、を有する。外周壁12b及び内周壁12cの高さは、フォトダイオード13及びLED素子14の配置面からの高さより大きい。このため、読取部10のカバーガラス103への装着の際には、外周壁12b及び内周壁12cの端部がカバーガラス103に接着される。つまり、フォトダイオード13及びLED素子14は、カバーガラス103に接触せずに済み、接触による破損が回避される。
読取部10には、インデックス番号0からインデックス番号20までの21個のフォトダイオード13が円弧状に配置されている。インデックス番号は、21個のフォトダイオード13の中のから1個のフォトダイオード13を識別するために使用されるだけでなく、対応するフォトダイオード13の位置情報としても使用される。このため、インデックス番号は、詳細は後述するが、指示針メータ100の指示値を算出する際に使用される。
また、読取部10内の各フォトダイオード13と読取部10のマーカ面に印刷された各マーカ10Mとの相対的な位置関係は、予め定められている。このため、指示針メータ100に読取部10が装着された場合に、指示針メータ100に対する各マーカ10Mの位置が決まれば、指示針メータ100に対する各フォトダイオード13の位置も一意に定まる。
複数のLED素子14は、複数のフォトダイオード13に対して同心円の内側に円弧状に配置されている。本実施形態では、フォトダイオード13の個数は、LED素子14の個数よりも多い。しかし、フォトダイオード13及びLED素子14のそれぞれの個数は、特に限定されるものではない。
また本実施形態では、フォトダイオード13は、LED素子14の外側に配置されるとしたが、フォトダイオード13を、LED素子14の内側に配置しても良い。
図3は、アナログメータ読取装置1の機能的な構成を示すブロック図である。読取部10と制御部30は、所定のプロトコルに従って、互いにデータを送受信する。読取部10は、指示針メータ100の指示針101の位置情報を検出し、検出した位置情報を制御部30へ供給する。制御部30は、読取部10から供給された位置情報に基づいて指示針メータ100の指示値を算出し、当該指示値を無線通信によりサーバ装置200へ送信する。これにより、サーバ装置200は、複数の指示針メータ100の指示値をリアルタイムで集計・管理する。
読取部10は、指示針メータ100からの反射光を受光する複数のフォトダイオード13と、指示針メータ100に光を照射する複数のLED素子14と、各フォトダイオード13の出力信号の切替を制御するフォトダイオード制御部15と、各LED素子14を駆動させるLED駆動部16と、を備えている。
制御部30は、制御部30内の各回路及び読取部10へ供給するための電源を蓄積する蓄電池31と、フォトダイオード(PD)切替部32と、PD切替部32からの出力信号をアナログ/デジタル(A/D)変換するA/Dコンバータ33と、CPU34と、LED素子14の点灯/消灯を制御するLED制御部35と、データのワークエリアであるRAM36と、プログラムが記憶されたROM37と、サーバ装置200等の外部機器と無線通信する無線通信部38と、を備えている。
以上のように構成されたアナログメータ読取装置1は、以下の手順に従って、指示針メータ100の指示値を算出する。
読取部10は、指示針メータ100の正面中央部に装着された状態で、指示針メータ100の指示針101の位置情報を検出する。読取部10は、理想的には、指示針メータ100の指示針101の回転中心に対して、径方向及び回転方向にずれていない位置にあるのが好ましい。しかし、現実的には、読取部10は、上述した径方向及び回転方向にある程度ずれた位置に装着される。そこで、次の(1)及び(2)の処理が必要である。
(1)指示針メータ100の指示値を正確に算出するためには、予め、径方向及び回転方向のずれが許容範囲であるか否かを判定する必要がある。
(2)読取部10で検出される指示針101の位置情報は、フォトダイオード13のインデックス番号に基づく指示針メータ100の指示針101の位置情報に過ぎず、実際の指示値を算出するには、当該位置情報から指示値へ変換するための変換表を作成する必要がある。
このため、具体的には、次の処理が行われる。
最初に、ユーザは、アナログメータ読取装置1の読取部10を指示針メータ100の正面中央部に装着する。
次に、ユーザは、例えば携帯端末を使って、読取部10が装着された指示針メータ100を撮影する。撮影により生成された指示針メータ100の画像(以下、「メータ画像」という。)は、各指示針メータ100を管理するサーバ装置200へ送信される。
サーバ装置200のCPU201は、携帯端末から送信されたメータ画像に基づいて、読取部10の上述した径方向及び回転方向のずれが許容範囲であるか否かを判定するための指示針101の回転中心を同定する。さらにサーバ装置200のCPU201は、フォトダイオード13のインデックス番号に基づいて、指示針メータ100の指示針101の位置情報を指示値へ変換するための変換表を作成する。ここで、変換表とは、指示針メータ100の指示針101の位置情報を指示針メータ100の指示値に変換するためのテーブルをいう。
図4は、指示針101の回転中心同定ルーチン並びに変換表作成ルーチンを示すフローチャートである。
ステップS1では、CPU201は、指示針メータ100を撮影した携帯端末からメータ画像を取得したか否かを判定して、メータ画像を取得するまで待機する。CPU201は、メータ画像を取得すると、次のステップS2へ進む。
ステップS2では、CPU201は、撮影方向に起因する歪みを補正して、携帯端末が指示針メータ100を真正面から撮影した場合に生成されるメータ画像と等価なメータ画像を得る。なお、撮影方向に起因する歪みを補正する処理は、例えば、特開2006-120133号公報で開示された技術が該当する。
ステップS3では、CPU201は、メータ画像に二値化処理を施す。具体的には、CPU201は、メータ画像から輝度成分を抽出し、メータ画像の各画素について、各輝度成分の値が所定の閾値より大きい場合は‘1’を、そうでない場合は‘0’を設定する。
ステップS4では、CPU201は、二値化されたメータ画像から目盛領域MR1(後述する図5参照)を抽出する。ここで、目盛領域とは、目盛板102上において、指示針101が示す位置と指示値との対応関係を表した目盛が描かれた領域をいう。
図5は、指示針メータ100の目盛領域MR1の一例を示す図である。本実施形態では、目盛領域MR1は、外半径a、内半径b、指示針メータ100の垂線より左方向の中心角φ-、同右方向の中心角φ+なる4つのパラメータ値を用いて記述される円弧帯のテンプレートにてモデル化される。これより目盛領域MR1の中心位置は、指示針101の回転中心と同一になる。
なお、目盛領域MR1のテンプレートは、4つのパラメータ(a値、b値、φ-値及びφ+値)によって特定される円弧帯の形状に限定されるものではない。すなわち、目盛領域MR1のテンプレートは、指示針101の回転中心を同定できるものであれば、円弧帯以外の形状であってもよい。
ステップS4では、さらに、CPU201は、テンプレートの中心位置及び4つのパラメータ値を変化させて、二値化されたメータ画像内での最適なテンプレートの位置を探索する。そして、CPU201は、テンプレート内の画素値分布が均一になった場合に、そのテンプレートの中心位置及び4つのパラメータ値によって、目盛領域MR1を抽出する。
具体的には、テンプレート探索の際、CPU201は、テンプレートの内部領域を幾つかの部分領域に分割し、それぞれの部分領域における平均画素値が当該テンプレートの内部全体に渡ってほぼ一定になった場合に、そのときの中心位置、a値、b値、φ-値及びφ+値として、目盛領域MR1を抽出する。
ステップS5では、CPU201は、ステップS4で抽出された目盛領域MR1(a値、b値、φ-値及びφ+値)を用いて、指示針101の回転中心を同定する。本実施形態では、指示針101の回転中心は、目盛領域MR1をモデル化した円弧帯形状のテンプレートの中心位置に一致する。そこで、CPU201は、ステップS4で抽出された目盛領域MR1のテンプレートの中心位置を特定することで、指示針101の回転中心を同定する。
ステップS6では、CPU201は、メータ画像に基づいて、指示針101の回転中心に対する読取部10の装着位置のずれを検出する。ここで、読取部10の装着位置のずれは、指示針101の回転中心からの平行移動ずれΔrと、指示針メータ100の垂線からの読取部10の回転ずれΔθとで定義される。
平行移動ずれΔr及び回転ずれΔθは、読取部10のマーカ面の所定位置に予め印刷された4か所の矩形のマーカ10Mに基づいて算出される。具体的には、CPU201は、メータ画像にある4つのマーカ10Mの位置情報から読取部10の中心の位置情報を算出し、当該位置情報から指示針101の回転中心までの距離として平行移動ずれΔrを算出する。さらに、CPU201は、上述した垂線を基準として、縦方向あるいは横方向に配置された二つのマーカ10Mを結んだ直線の傾きとして回転ずれΔθを算出する。
なお、本実施形態では、読取部10の装着位置のずれを検出するためのマーカとして、読取部10のマーカ面の所定位置に予め印刷された矩形マーカ10Mが用いられたが、これに限定されるものではない。例えば、複数の指示針メータ100にそれぞれ読取部10が装着され、各々の読取部10に固有識別子が割り当てられた場合、当該マーカとして、QRコード(登録商標)を用いてもよい。当該QRコード(登録商標)は、固有識別子を符号化して2次元バーコードで表したものであって、読取部10のマーカ面の所定位置に印刷される。一方、CPU201は、メータ画像の中の当該QRコード(登録商標)の3隅のマーカを用いて、読取部10の装着位置のずれを検出すればよい。この場合、CPU201は、読取部10の装着位置のずれを検出するだけでなく、読取部10の固有識別子も取得できる。
ステップS7では、CPU201は、読取部10の装着位置のずれが許容範囲内であるか否かを判定する。具体的には、CPU201は、平行移動ずれΔr及び回転ずれΔθが共に所定の閾値以下であるか否かを判定する。そして、平行移動ずれΔr及び回転ずれΔθが共に所定の閾値以下である場合はステップS9へ進み、平行移動ずれΔr及び回転ずれΔθの少なくとも1つが所定の閾値以下でない場合はステップS8へ進む。
なお、平行移動ずれΔr及び回転ずれΔθのそれぞれの閾値は、読取部10の読取面に実装されたフォトダイオード13及びLED素子14の個数、配置場所、読取部10に求められる指示針メータ100の読取り精度などによって決定され、特に限定される値ではない。
ステップS8では、CPU201は、ユーザに読取部10の再装着を指示するための処理を行う。再装着を指示するための処理とは、例えば、予め登録されたメールアドレスに再装着を指示する電子メールを送信する処理、あるいは所定のモニタ画面に再装着の指示を表示する処理などが該当する。そして、本ルーチンが終了する。
一方、ステップS9では、CPU201は、図5に示す目盛領域MR1及びフォトダイオード13の位置情報の極座標変換処理を実行する。
具体的には、CPU201は、メータ画像から抽出された円弧帯形状の目盛領域MR1を、指示針メータ100の垂線を基準とした中心角を横軸、半径方法を縦軸とした極座標平面に展開する。
図6は、極座標平面に展開された矩形の目盛領域MR2を示す図である。目盛領域MR2は、横軸のφ-からφ+までを幅、縦軸のaからbまでを高さとした矩形の領域で表される。
メータ画像には、読取部10に配置された複数のフォトダイオード13は現れない。しかし、各フォトダイオード13の位置情報は、読取部10に印刷される4つのマーカ10Mの位置情報に関連付けられている。つまり、4つのマーカ10Mの位置情報が検出されれば、各フォトダイオード13の位置情報も検出される。
そこで、CPU201は、メータ画像を用いて4つのマーカ10Mのそれぞれの位置情報を検出し、これらの位置情報に基づいて各フォトダイオード13の位置情報を検出し、これらのフォトダイオード13の位置情報を極座標平面に展開する。
例えば、読取部10に21個のフォトダイオード13が円弧状に等間隔で配置されている場合、図6に示すように、先述した極座標平面には、矩形の目盛領域MR2が配置され、当該目盛領域MR2の長手方向に沿って、21個のフォトダイオード13(0番目から20番目)が等間隔に配置される。このとき、フォトダイオード13の10番目の位置情報(中間位置)は、回転ずれΔθ=0((φ+)=(φ-)=0)の位置情報に対応する。これは、指示針メータ100の指示針101の回転中心に対して、読取部10がずれなく装着された状態を示している。つまり、読取部10の装着位置のずれが許容範囲であり、実用上は無視してよい(Δr、Δθ=0)状態にある。
ステップS10では、CPU201は、フォトダイオード13のインデックス番号に基づく指示針メータ100の指示針101の位置情報(実質的インデックス番号)を指示値へ変換するための変換表を作成する。具体的には、CPU201は、目盛領域MR2近傍にある目盛数字を数値として認識し、極座標平面の当該目盛数字の位置情報に、認識された数値を関連付ける処理を実行する。
本実施形態では、公知のOCR(Optical Character Recognition)技術が用いられる。また、目盛数字の位置情報は、指示針メータ100の垂線を基準とした極座標値θに変換される。そして、目盛数字の位置情報(極座標値θ)と目盛数字の数値とが対応付けられる。なお、このような対応付けは、目盛領域MR2の近傍にあるすべての目盛数字について行われる。
なお、目盛数字は、一般的には、指示針101の代表的な回転角度に対応した値のみ表示されることが多い。これより、目盛数字の位置情報は、目盛数字の認識から検出された位置情報そのままの値に限定されず、上述した垂線を基準にして5°、10°、15°、30°、45°ずれた値(90°の代表的な約数あるいはそれらの倍数)で置き換えてもよい。
最後に、CPU201は、極座標平面に展開されたすべての情報を用いて、フォトダイオード13のインデックス番号に基づく指示針メータ100の指示針101の位置情報を指示値に変換する変換表を作成する。
図7は、変換表を示す図である。変換表は、指示針メータ100の指示針101の位置情報に相当するフォトダイオード13のインデックス番号及び指示針メータ100の垂線を基準とした回転角度、そして当該回転角度に対応した指示値によって構成されている。
ここで、フォトダイオード13のインデックス番号及び上述した垂線に対する回転角度は、読取部10に実装によって予め定められた値である。
一方、代表的な複数の回転角度及びそれらに対応する指示値(認識された数値)は、上述した処理により取得されている。また、その他の回転角度及びそれらに対応する指示値は、取得済みの回転角度及びそれらに対応する指示値を用いて、線形補間することで求められる。
そこで、CPU201は、このようにして得られたフォトダイオード13のインデックス番号及び上述した垂線に対する回転角度、そして当該回転角度に対応した指示値を対応付けることで、図7に示す変換表を作成する。
なお、図7では、説明の都合上、指示針メータ100の垂線に対する回転角度が示されているが、実際の変換表からは、当該回転角度を省略してもよい。すなわち、各フォトダイオード13のインデックス番号と指示値との関係が分かれば、当該回転角度を変換表から省略しても問題はない。
ところで、図4に示した変換表作成処理ルーチンは、読取部10の装着対象である指示針メータ100が未知の場合に適用される。このため、指示針メータ100が既知であって、図4に示した変換表作成処理ルーチンによって当該既知の指示針メータ100に関する変換表が作成済みである場合、当該指示針メータ100の目盛領域MR1と同一の目盛領域を有する指示針メータについては、読取部10の装着位置ずれのみを評価すればよい。
また、既に当該変換表が作成済みであり、要求される指示値の読取精度が高くなく、その結果、装着時のずれが十分許容できる場合は、図4に示した指示針の回転中心同定ルーチン及び変換表作成処理ルーチンは不要である。
サーバ装置200は、以上のようにして作成された変換表を無線通信によりアナログメータ読取装置1へ送信する。これにより、アナログメータ読取装置1は、サーバ装置200から送信された変換表を用いて、フォトダイオード13のインデックス番号から指示針メータ100の指示値を算出する。具体的には、アナログメータ読取装置1は、次に示す読取処理ルーチンを実行することにより、指示針メータ100の指示値を算出する。
図8は、読取処理ルーチンを示すフローチャートである。
ステップS11では、制御部30のCPU34は、所定の測定時刻になったか否かを判定し、当該測定時刻になるまで待機する。測定時刻は、所定時間毎に繰り返される時刻でもよいし、予め設定された時刻であってもよい。CPU34は、測定時刻になったと判定すると、ステップS12へ進む。
ステップS12では、CPU34は、蓄電池31から読取部10へ電源供給ラインのスイッチをオンにして、読取部10への電源供給を開始する。
ステップS13では、CPU34は、読取部10のLED駆動部16を制御して、すべてのLED14を点灯させる。これにより、指示針メータ100に光が照射される。
ステップS14では、CPU34は、読取部10のフォトダイオード制御部15を制御して、各フォトダイオード13から受光量に応じた信号を読み出す。各フォトダイオード13から読み出された信号は、制御部30のPD切替部32に供給される。
さらに、CPU34は、各フォトダイオード13から供給される信号の中から、インデックス番号0~20までのフォトダイオード13の信号を順次切り替えて出力するように、PD切替部32を制御する。PD切替部32から出力された信号は、A/Dコンバータ33によってアナログ/デジタル変換され、CPU34に供給される。この結果、CPU34は、インデックス番号0~20までのフォトダイオード13の信号を受信する。
図9(A)は指示針メータ100の指示針101がフォトダイオード13の1つの検出領域の中心部に存在する場合の模式図、同図(B)はそのときの各フォトダイオード13の出力信号を示す図である。
同図において、小さな白円はフォトダイオード13の検出領域を示し、小さな白円の中心部にある正方形はフォトダイオード13を示す。大きな黒円はLED素子14による光照射領域を示し、大きな黒円の中心部にある正方形はLED素子14を示す。なお、後述する図10も同様である。
指示針メータ100の指示針101がフォトダイオード13の1つの検出領域の中心部に存在する場合、当該フォトダイオード13の出力信号はローレベルになる。それ以外のフォトダイオード13の出力信号はハイレベルになる。これにより、出力信号がローレベルのフォトダイオード13に対応する位置に、指示針メータ100の指示針101があることが分かる。
図10(A)は指示針メータ100の指示針101が2つのフォトダイオード13の検出領域の重なり部分に存在する場合の模式図、同図(B)はそのときの各フォトダイオード13の出力信号を示す図である。
指示針メータ100の指示針101が2つのフォトダイオード13の検出領域の重なり部分に存在する場合、当該2つのフォトダイオード13の出力信号はミドルレベルになる。それ以外のフォトダイオード13の出力信号はハイレベルになる。これにより、出力信号がミドルレベルの2つのフォトダイオード13に対応する位置の間に、指示針メータ100の指示針101があることが分かる。
このように、指示針メータ100の指示針101は、フォトダイオード13の1つの検出領域で検出されることもあれば、2つの検出領域でそれぞれ検出されることもある。そこで、制御部30のCPU34は、これらの状況を考慮して、各フォトダイオード13の出力信号から当該フォトダイオード13のインデックス番号を介して指示針101の位置情報を検出する。
ステップS15では、CPU34は、インデックス番号0~20までのフォトダイオード13の出力信号に基づいて、指示針メータ100の指示針101の位置情報に対応する指示値を算出する。
ここでは、最初に、CPU34は、各フォトダイオード13の出力信号と、対応する各フォトダイオード13のインデックス番号0~20とを用いて、指示針メータ100の指示針101の位置情報(実質的インデックス番号)を検出する。この位置情報は、フォトダイオード13のインデックス番号と異なり、整数に限定されず、小数を含む値でもよい。次に、CPU34は、図7に示す変換表を参照して、指示針101の位置情報に対応する指示値を算出する。
なお、指示針101の位置情報の検出方法は、特に限定されるものではないが、特に隣接するフォトダイオード13の検出領域が重なり合う場合には、例えば以下のような方法がある。
(指示針の位置情報の検出方法1)
CPU34は、次のように、加重平均を用いて指示針101の位置情報を検出することができる。例えば、CPU34は、最初に、各フォトダイオード13の出力信号のうち、指示針101の影響を受けた出力信号、例えばレベルが所定の閾値以下の出力信号及び対応するフォトダイオード13を選択する。
次に、CPU34は、選択したフォトダイオード13のインデックス番号に重み付けを行う。ここでは、出力信号のレベルが低いほどインデックス番号の重みが大きくなり、出力信号のレベルが高いほどインデックス番号の重みが小さくなる。
最後に、CPU34は、重み付けされたそれぞれのインデックス番号の加重平均を演算する。演算された加重平均値は、指示針101の位置情報に相当する。
(指示針の位置情報の検出方法2)
隣接する更に多くのフォトダイオード13の検出領域が重なり合う場合には、CPU34は、次のように、最尤法を用いて指示針101の位置情報を検出することもできる。
最初に、各フォトダイオード13の出力信号のうち最小レベルの出力信号に対応するフォトダイオード13を基準にして、基準となるフォトダイオード13が中心になるように連続する5つのフォトダイオード13を選択する。そして、選択された5つのフォトダイオード13の相対的なインデックス番号をそれぞれi=-2、-1、0、1、2とし、各フォトダイオード13の出力信号のレベルをそれぞれY-2、Y-1、Y0、Y1、Y2とする。なお、基準となるフォトダイオード13のインデックス番号はi=0、その出力信号のレベルはY0である。
つぎに、インデックス番号iを独立変数として、5つの出力信号のレベルに関する最尤モデル関数を例えば次式のような放物線(2次関数)で定義する。
y=a・i2+b・i+c
ここで最尤モデル関数とは、最小二乗法に基づいて、選択された5つのフォトダイオード13のすべての出力信号のレベルを最も確からしく表現できるモデル関数のことをいう。ここでは、出力信号のレベルが最小になるフォトダイオード13の実質的なインデックス番号は、放物線の値が最小となるときのi(=imin)である。
すなわち、y’=2a・imin+b=0より
imin=-b/2a
=-0.7×(-2Y-2-Y-1+Y1+2Y2)
/(2Y-2-Y-1-2Y0-Y1+2Y2)
となる。
例えば、インデックス番号7のフォトダイオード13の出力信号のレベルY0が最小(0.9μA)で、Y-2、Y-1、Y0、Y1、Y2がそれぞれ52.9μA、16.9μA、0.9μA、4.9μA、28.9μAの場合、imin=0.3となる。
iminは、基準となるフォトダイオード13からのインデックス番号としてのずれ量に相当する。これより、出力信号のレベルが最小値となるフォトダイオード13の実質的なインデックス番号、つまり、指示針101の位置情報は、インデックス番号7+imin=7.3となる。
なお、フォトダイオード13の列が、指示針101の先端方向の部分のみならず根元方向の部分にも重なった場合、出力信号のレベルが極小となる場所が2か所存在する。この場合、指示針101の先端方向の部分は根元方向の部分より狭い幅になる。これは、上述した最尤モデル関数では、放物線の広がり具合に相当する。
そこで、指示針101の先端方向の部分及び根元方向の部分でそれぞれ得られる最尤モデル関数において、次式のようにaを求める。
a=1/14×(2Y-2-Y-1-2Y0-Y1+2Y2)
そして、aの値がより大きくなる、換言すれば対応する放物線の広がり具合がより小さい最尤モデル関数からフォトダイオード13の実質的なインデックス番号を求めればよい。
なお、本実施形態では、5つのフォトダイオード13の出力信号を用いて指示針101の位置情報を求めたが、フォトダイオード13の数は特に限定されるものではない。
また、指示針メータ100は、白色の目盛板102上に黒色の指示針101があることを前提としたが、このような構成に限定されるものではない。例えば、目盛板が黒色で指示針が白色の指示針メータを用いることも可能である。この場合、指示針の位置又はその近傍にあるフォトダイオードの出力信号のレベルが高くなる。そこで、出力信号のレベルが最大となるフォトダイオード13の位置情報を検出することで、指示針の位置情報が検出される。
本実施形態では、最尤モデル関数として放物線を仮定したが、それに限定されるのではない。例えば、最尤モデル関数は、相対的なインデックス番号を基準(i=0)としたフォトダイオードの近傍に極小値(あるいは極大値)を持つ任意の関数であってもよい。
また本実施形態では、指示針101が近傍に存在しない場合、各フォトダイオード13の受光量が同じであって、各出力信号のレベルが所定のデフォルト値になることを前提としている。しかし、実際には、受光量が同じであっても、各フォトダイオードの個体差に起因して、出力信号のレベルにばらつきが生じることがある。また、目盛板上のフォトダイオードの光感応領域に、目盛数字や製造メーカのロゴマークなどが印刷されている場合、当該目盛数字やロゴマーク等によって光反射が妨げられる。この場合、指示針101がないにもかかわらず、デフォルト値としての出力信号のレベルが周辺に比較して小さくなる。
そこで、上記の演算をフォトダイオードの出力信号強度に直接適用するのでなく、検出された光センサの出力信号強度から、デフォルト値としてのフォトダイオードの出力信号強度を減じた差分情報でもって、上記のような演算を適用してもよい。
CPU34は、上述のようにして指示針101の位置情報を検出した後、変換表を参照して、指示針101の位置情報を指示値に変換することで、指示値を算出する。この変換表は、図4に示す変換表作成ルーチンにより作成されたものである。
ステップS16では、CPU34は、指示値が異常(予め設定された範囲外)であるか否かを判定する。指示値が異常であると判定された場合は、ステップS14に戻り、各フォトダイオード13から信号が再度読み出され、指示値が再び算出される。指示値が異常でない場合は、ステップS17へ進む。なお、指示値が所定回数連続して異常になった場合は、ステップS14へ戻らず、ステップS18へ進む。
ステップS17では、CPU34は、無線通信部38を介して、算出された指示値をサーバ装置200へ送信する。これにより、サーバ装置200は、各指示針メータ100の指示値を常時管理することが可能になる。
ステップS18では、CPU34は、読取部10のLED駆動部16を制御して、すべてのLED14を消灯させる。
ステップS19では、CPU34は、蓄電池31から読取部10へ電源供給ラインのスイッチをオフにして、読取部10への電源供給を停止する。そして、ステップS11へ戻る。その後、再びステップS11以下の処理が繰り返される。
以上のように、第1実施形態に係るアナログメータ読取装置1は、イメージセンサを使用することなく、フォトダイオード13及びLED素子14を有する読取部10で指示針メータ100の指示針101の位置情報を検出する。これにより、アナログメータ読取装置1は、イメージセンサを使用する機器に比べて、消費電力を大幅に抑制することができる。
特に、アナログメータ読取装置1は、イメージセンサを使用する機器に比べて、光検出そのものに必要とする時間が短時間で済むので、指示針メータ100の測定頻度が多くない場合(例えば数時間で1回の場合)には、消費電力を数分の一から十数分の一に抑制することができる。
なお、本実施形態では、アナログメータ読取装置1は、サーバ装置200に指示値を送信したが、指示値の代わりにフォトダイオード13のインデックス番号で表される指示針101の位置情報を送信してもよい。この場合、サーバ装置200は、自身が作成した変換表を参照して、指示針101の位置情報を指示値に変換すればよいので、自身が作成した変換表をアナログメータ読取装置1に送信する手間を省略できる。
[第2実施形態]
つぎに、本発明の第2実施形態について説明する。なお、第1の実施形態と同一の部位には同一の符号を付し、重複する説明は省略する。
図11は、第2実施形態に係るフォトダイオード13の断面形状を示す図である。第2実施形態では、フォトダイオード13の受光面にレンズ13aが形成される。レンズ13aの有無によって、フォトダイオード13の光感応領域が変わる。ここで光感応領域とは、フォトダイオード13によって点光源の存在が検出可能な空間領域のことをいう。レンズ13aの光学特性に応じて、光感応領域の深さ方向の範囲及び幅方向の範囲が制限される。
図12(A)はフォトダイオード13にレンズがない場合のフォトダイオード13の光感応領域A1を示す模式図であり、同図(B)はフォトダイオード13にレンズ13aが形成された場合の光感応領域A2を示す模式図である。
図12(A)の場合、フォトダイオード13の光感応領域A1は、指示針101だけでなく目盛板102も含んでいる。このため、フォトダイオード13は、目盛板102に目盛数字や製造メーカのロゴマークなどが表示されている場合、それらの表示物の影響を受けた出力信号を得る。具体的には、実際には指示針101が存在しないにも関わらずあたかも指示針101が存在しているかのように、フォトダイオード13の出力信号のレベルが下がる。
図12(B)の場合、レンズ13aの光学特性の影響により、フォトダイオード13の光感応領域A2は、図12(A)の光感応領域A1に比べて深さ方向が制限されている。つまり、光感応領域A2は、深さ方向において、指示針101又はその近傍を含むものの、目盛板102を含まない。よって、目盛板102に目盛数字や製造メーカのロゴマークなどの表示物がある場合でもそのような表示物がない場合でも、フォトダイオード13の出力信号には影響しない。
このため、フォトダイオード13は、指示針101を検出した場合、第1実施形態と同様に、ローレベルの出力信号(黒色に相当する信号)を得る。また、フォトダイオード13は、指示針101を検出しない場合、目盛板102上の目盛数字や製造メーカのロゴマークなどの表示物の有無の影響を受けず、ハイレベルの出力信号(白色に相当する信号)を得る。つまり、第1実施形態と同様に、指示針101は、出力信号がローレベルのフォトダイオード13に対応する位置にあることが分かる。
したがって、フォトダイオード13は、図12(B)に示すように、レンズ13aによって光感応領域の深さ方向が制限された場合、目盛板102に目盛数字や製造メーカのロゴマークなどの表示物がある場合でも、指示針101の存在のみに依存した適正レベルの出力信号を得ることができる。
図13は、直径が異なる光感応領域A11~A15,A21~A25を示す図である。フォトダイオード13にレンズ13aがない場合(図12(A))、隣り合う光感応領域A11~A15は、図13に示すように、互いに一部が重なっている。したがって、指示針101は、図13に示す位置に存在する場合、2つの光感応領域A12,A13で検出される。
フォトダイオード13にレンズ13aがある場合(図12(B))、各光感応領域A21~A25の直径は、各光感応領域A11~A15の直径より小さくなる。このため、隣り合う光感応領域A21~A25は、互いに重なっておらず、接している。したがって、指示針101は、図13に示す位置に存在する場合、1つの光感応領域A22のみで検出される。すなわち、光感応領域の直径(幅方向)を制限することで、隣り合う光感応領域の重なりを抑制することができ、指示針101の位置情報の検出精度が向上する。
これにより、第2実施形態に係るアナログメータ読取装置1は、指示針メータ100の目盛板102に目盛数字や製造メーカのロゴマークなどが表示されている場合でも、光感応領域の深さ方向を制限することで、それら表示物の影響を受けることなく、指示針メータ100の指示針101の位置情報を高精度に検出することができる。また、アナログメータ読取装置1は、光感応領域の幅方向を制限することで、指示針101の位置情報をさらに高精度に検出できる。
第2実施形態では、図13に示すように、隣り合う光感応領域A21~A25が重ならずに接することで、指示針101の位置情報の検出精度を向上させているが、このような例に限定されるものではない。例えば、第2実施形態と同様に、光感応領域の直径を小さくして、かつ、第1実施形態と同様に、隣り合う光感応領域が互いに重なるようにしてもよい。このとき、指示針101の位置情報は、第1実施形態の「指示針の位置情報の検出方法1(加重平均)」又は「指示針の位置情報の検出方法2(最尤法)」によって検出可能である。
以上のように、光感応領域の直径(幅方向)を小さくし、かつ、隣り合う光感応領域が互いに重なることを許容することによって、単位長さ当たりに実装できるフォトダイオード13の個数を飛躍的に増やすことができる。その結果、指示針101の位置情報の検出精度ひいては指示値の算出精度を更に向上させることができる。
[第3実施形態]
つぎに、本発明の第3実施形態について説明する。なお、上述した実施形態と同一の部位には同一の符号を付し、重複する説明は省略する。
図14(A)は指示針メータ100aに取り付けられた状態の第3実施形態のアナログメータ読取装置1aの正面図であり、同図(B)はその外観側面図である。
アナログメータ読取装置1aは、指示針メータ100aに光を照射して指示針101の位置情報を検出する読取部10aと、読取部10aが検出した位置情報に基づいて指示針101が示す指示値を算出する制御部30と、を備えている。
読取部10aは、指示針メータ100aの回転中心又はその近傍に貼り付けられる。そして、読取部10aは、指示針メータ100aの指示針101の位置情報を検出し、検出した位置情報を制御部30へ供給する。制御部30は、読取部10aから供給された位置情報に基づいて指示針メータ100aの指示値を算出し、当該指示値を無線通信により後述するサーバ装置200(図17参照)へ送信する。
指示針メータ100aは、指示針101と、指示針101が指し示す位置に対応する物理量(数値)を表示する目盛板102と、指示針101を保護するためのカバーガラス103と、カバーガラス103の奥側(目盛板102側)にあり美観のため指示針の回転中心近傍を覆うカバー部材104を備えている。
指示針101の先端側及び目盛板102に表示された数値は、カバーガラス103を介して、外部から視認可能である。指示針101の回転中心及びその周辺部は、カバーガラス103と指示針101との間にあるカバー部材104によって隠されており、外部から視認できない。
読取部10aの2つ側面のうちの一方の側面は、指示針メータ100aのカバーガラス103面に直接装着され、指示針メータ100aの指示針101の位置情報を光学的に読み取る側面(読取面)である。上記2つの側面のうちの他方の側面は、外部へ露出し、その表面にアナログメータ読取装置1aを識別するための2次元コード(例えばQRコード(登録商標))が印刷された側面(マーカ面)である。
図15(A)は読取部10aの読取面を示す図であり、同図(B)はその要部側面図である。
読取部10aは、円板状のケース蓋21と、ケース蓋21の外周部に沿って形成された外周部22と、ケース蓋21の片面に貼り付けられる基板23と、基板23に固定されたLED素子24と、基板23に固定されたカメラモジュール25と、を備えている。
カメラモジュール25は、基板23に固定されると共に、外周部22から伸びた固定部材22aによってケース蓋21の中心部に配置されている。LED素子24は、基板23上であってカメラモジュール25の周辺に配置されている。
図16は、カメラモジュール25の要部側面図である。
カメラモジュール25は、広角レンズ26と、広角レンズ26からの入射光に基づいて信号を生成するイメージセンサ27と、広角レンズ26の配置位置を固定すると共にイメージセンサ27を外部から保護するためのカメラケース28と、を有する。イメージセンサ27には、広角レンズ26を介して、指示針メータ100aの指示針101及び目盛板102からの反射光が入射される。
図17は、アナログメータ読取装置1aの機能的な構成を示すブロック図である。読取部10aと制御部30は、第1実施形態と同様に、所定のプロトコルに従って、互いにデータを送受信する。つまり、本実施形態のアナログメータ読取装置1aは、図3に示すアナログメータ読取装置1の読取部10を、図17に示す読取部10aに代えたものである。
読取部10aは、指示針メータ100aに光を照射する複数のLED素子24と、イメージセンサ27と、イメージセンサ27を駆動させる駆動制御部111と、イメージセンサ27から読み出された画像に所定の処理を施す画像処理部112と、データを記憶する記憶部113と、各LED素子24を駆動させるLED駆動部114と、を備えている。制御部30は、図3と同様に構成されている。
以上のように構成されたアナログメータ読取装置1aは、指示針メータ100aの指示値を算出するために、次に示す(1)~(4)の処理を実行する。
(1)メータ画像を用いた指示針101の回転中心の同定
(2)指示針101の回転中心に基づく仮想フォトダイオード(仮想PD)の設定
(3)仮想PDのインデックス番号に基づく指示針101の位置情報を、指示針101の指示値に変換するための変換表の作成
(4)仮想PDのインデックス番号に基づく指示針101の位置情報の検出と、当該位置情報に対応した指示値の算出
なお、(1)~(3)は、初期設定として1回だけ実行される。(4)は、指示針メータ100aからの指示値の読み取り毎に実行される。
図18は、指示針101の回転中心を同定するための回転中心同定ルーチンを示すフローチャートである。
ステップS21では、ユーザが、指示針メータ100aの指示針101の回転中心近傍に、読取部10aを直接装着する。なお、読取部10aの装着位置は、指示針101の正確な回転中心でなくてもよく、指示針101の位置や目盛板102による目盛領域の形状から推定される回転中心付近の位置でもよい。すなわち、通常、読取部10aは、指示針メータ100aに対して、ずれた状態で装着される。
ここでは、読取部10aの中心位置は、指示針101の回転中心からΔrの平行移動ずれがある。また、読取部10aの垂線は、指示針メータ100aの垂線に対してΔθの回転ずれがある。しかし、Δr及びΔθは、後述する処理によって無視できる。
ステップS22では、画像処理部112は、広角レンズ26からの入射光に基づいてイメージセンサ27で生成された歪みのあるメータ画像を取得する。なお、イメージセンサ27は、指示針メータ100aに直接装着された読取部10aに組み込まれたものである。よって、メータ画像に生じる歪みは、第1実施形態で説明した撮影方向に起因するものではなく、広角レンズ26に起因するものである。
一方、この広角レンズ26の作用により、図14で示すように、読取部10aは、指示針101の回転中心が隠れている指示針メータ100aの回転中心近傍に張り付けられた場合であっても、レンズ視野LV内で指示針101の先端側及び目盛板102に表示された数値を読み取ることができる。
ステップS23では、画像処理部112は、イメージセンサ27から取得した歪みのあるメータ画像を平面画像へ変換する。当該歪みのある画像を平面画像に変換する画像変換方法は、特に限定されるものではない。例えば、広角レンズ26が等距離射影式の魚眼レンズの場合、当該画像変換方法には、例えば、特開平11-18007号公報に記載された技術を適用することができる。
平面画像に変換されたメータ画像は、指示針101及び目盛板102が表示される領域(有効領域)と、カバーガラス103の奥にあるカバー部材104が表示されて指示針101が隠れている領域(無効領域)と、を含んでいる。指示針101の回転中心は無効領域内に存在しているが、詳しくは後述するように、メータ画像の有効領域に基づいて同定される。
ステップS24では、画像処理部112は、メータ画像に二値化処理を施す。具体的には、画像処理部112は、メータ画像から輝度成分を抽出し、メータ画像の有効領域における各画素について、各輝度成分の値が所定の閾値より大きい場合は‘1’を、そうでない場合は‘0’を設定する。なお、メータ画像の無効領域のすべての画素については ‘0’を設定することで、例えば後述するテンプレート探索において、当該テンプレート内のすべての画素が‘0’である場合に、当該テンプレートが無効領域にあることを容易に検出できるようにしておく。
ステップS25では、画像処理部112は、二値化されたメータ画像から目盛領域MR3(後述する図19参照)を抽出する。ここで、目盛領域とは、目盛板102上において、指示針101が示す位置と指示値との対応関係を表した目盛が描かれた領域をいう。
図19は、指示針メータ100aの目盛領域MR3の一例を示す図である。本実施形態では、目盛領域MR3は、メータ画像の有効領域に存在しており、外半径a、内半径b、指示針メータ100aの垂線より左方向の中心角φ-、同右方向の中心角φ+なる4つのパラメータ値を用いて記述される円弧帯のテンプレートにてモデル化される。これより目盛領域MR3の中心位置は、指示針101の回転中心と同一になる。
なお、目盛領域MR3のテンプレートは、4つのパラメータ(a値、b値、φ-値及びφ+値)によって特定される円弧帯の形状に限定されるものではない。すなわち、目盛領域MR3のテンプレートは、指示針101の回転中心を同定できるものであれば、円弧帯以外の形状であってもよい。
ステップS25では、さらに、画像処理部112は、テンプレートの中心位置及び4つのパラメータ値を変化させて、二値化されたメータ画像の有効領域内での最適なテンプレートの位置を探索する。そして、画像処理部112は、テンプレート内の画素値分布が均一になった場合に、そのテンプレートの中心位置及び4つのパラメータ値によって、目盛領域MR3を抽出する。
具体的には、テンプレート探索の際、画像処理部112は、テンプレートの内部領域を幾つかの部分領域に分割し、それぞれの部分領域における平均画素値が当該テンプレートの内部全体に渡ってほぼ一定になった場合に、そのときの中心位置、a値、b値、φ-値及びφ+値として、目盛領域MR3を抽出する。
ステップS26では、画像処理部112は、ステップS25で抽出された目盛領域MR3(a値、b値、φ-値及びφ+値)を用いて、指示針101の回転中心を同定する。本実施形態では、指示針101の回転中心は、目盛領域MR3をモデル化した円弧帯形状のテンプレートの中心位置に一致する。そこで、画像処理部112は、ステップS25で抽出された目盛領域MR3のテンプレートの中心位置を特定することで、指示針101の回転中心を同定する。
なお、画像処理部112は、目盛領域MR3が円弧帯形状でない場合は、目盛領域MR3の形状と指示針101の回転中心との関係をモデル化したテンプレートを予め用意しておけばよい。そして、画像処理部112は、目盛領域MRとテンプレートとのマッチング処理を行い、マッチング処理後のテンプレートに基づいて指示針101の回転中心を同定する。
図20は、仮想PD設定ルーチンを示すフローチャートである。図21は、メータ画像の有効領域に設定される仮想PDを示す図である。
ステップS31では、画像処理部112は、前述の処理で同定された指示針101の回転中心を用いて、仮想PDが配置される円弧(配置円弧)を設定する。配置円弧とは、メータ画像の有効領域に含まれ、指示針101の回転中心の同心円上に配置されるすべての仮想PDの中心を通る円弧をいう。配置円弧の半径は、アナログメータ読取装置1aに要求される検出精度、具体的には、配置される仮想PDの個数や大きさに応じて決定される。
本実施形態のアナログメータ読取装置1aは、図14に示す指示針メータ100aを対象にしているが、図1に示す指示針メータ100(指示針101の回転中心及びその周辺が隠れていないタイプ)でも対応可能である。この場合、配置円弧は、指示針101の回転中心と同一位置に中心があり、指示針メータ100の垂線より左方向の中心角がφ-、同右方向の中心角がφ+なる円弧として設定される。
配置円弧の中心角は、図21に示すように、前述の処理で同定された配置円弧の中心から目盛領域MR3の最小目盛値及び最大目盛値へ向けたそれぞれの半直線がなす角に等しい。配置円弧の半径の上限値は、配置円弧の全体がメータ画像の有効領域に含まれ、アナログメータ読取装置1aに要求される検出精度を満たせば、特に限定されない。一方、配置円弧の半径の下限値は、当該それぞれの半直線が有効領域と無効領域との間の境界線と交わる点と、当該配置円弧の中心と、を結ぶ線分の長さに等しい。
ステップS32では、画像処理部112は、設定された配置円弧上において規定される一連の仮想PDの各々の配置位置の中心(配置位置中心)を決定する。当該各々の配置位置中心は、上述した配置円弧の中心角を、配置すべき仮想PDの個数から1を減じた数で分割して得られる回転角毎に、配置円弧の中心から目盛領域MR3へ向けた半直線と、当該配置円弧との交点として与えられる。
例えば図21の場合、配置円弧の中心角はπ/2(=90°)である。この中心角の中に21個の仮想PDを設定する場合、(π/2)÷(21-1)=π/40(=4.5°)なる回転角毎に、配置円弧の中心から目盛領域MR3へ向けた半直線と、当該配置円弧との交点が、各々の仮想PDの配置位置中心となる。
上記の処理から明らかなように、仮想PDの配置円弧の中心、換言すれば読取部10aの実質的な中心は、同定された指示針101の回転中心それ自体でもって動的に決定される。したがって、指示針101の回転中心から読取部10aの装着位置の中心までの平行移動ずれ(Δr)は、指示値の検出精度に影響を与えず、本実施形態では無視しても問題ない。
ステップS33では、画像処理部112は、各仮想PD(の配置位置中心)にインデックス番号を付与する。例えば図21の場合、各仮想PDの左から順に、1,2,3、…のインデックス番号が付与される。この場合、右端の仮想PDのインデックス番号は21となる。
ステップS34では、画像処理部112は、指示針メータ100aの垂線からの読取部10aの回転ずれ(Δθ)を算出する。例えば図21の場合、当該回転ずれ(Δθ)は、メータ画像から抽出される有効領域と無効領域との境界線と、イメージセンサ27の画素センサの横方向の並びである画素センサ列と、がなす角度に相当する。
ステップS35では、画像処理部112は、各々の仮想PDのインデックス番号と配置位置中心とをまとめた仮想PD構成表を作成する。
ここで、上述した指示針メータ100aの垂線からの読取部10aの回転ずれ(Δθ)を0、配置円弧の中心を原点、有効領域と無効領域との境界線をy=dなる直線とした場合、図21に示す仮想PDの配置位置中心は、次のようになる。
図22は、当該回転ずれ(Δθ)を0、配置円弧の中心を原点、有効領域と無効領域との境界線をy=dなる直線とした場合に、図21に示す仮想PDの配置位置を示す図である。
ここで図21と図22を比較すると、実際の仮想PDの配置位置は、正の向きにΔθの回転ずれがある。これより、仮想PDのインデックス番号と、仮想PDの配置位置中心(当該配置位置中心のxy座標)との関係を示す仮想PD構成表は、表1のようになる。
ステップS36では、画像処理部112は、各々の仮想PDの配置位置中心に対して、仮想PDを設定する。具体的には、画像処理部112は、仮想PDの配置位置中心を基準とした所定範囲内の画素センサの集合体でもって仮想PDを設定する。
図23は、縦方向7画素及び横方向7画素の合計49個の画素センサの集合体によって構成された仮想PDを示す図である。同図に示すように、仮想PDの配置位置中心は、配置円弧と、当該配置円弧の中心から目盛領域への半直線と、の交点によって決定される。そして仮想PDは、当該配置位置中心を基準にして、縦方向7画素及び横方向7画素の合計49個の画素センサの集合体によって構成される。
図24は、仮想PDのインデックス番号から指示値へ変換するための変換表を作成する変換表作成ルーチンを示すフローチャートである。変換表作成ルーチンは、初期設定の最後の処理として実行される。
ステップS41では、画像処理部112は、指示針101の回転中心を同定する。ここでは、画像処理部112は、図18に示す回転中心同定ルーチンの処理で得られた結果を再利用する。
ステップS42では、画像処理部112は、図21に示す目盛領域MR3及び仮想PDの配置位置中心の極座標変換処理を実行する。
具体的には、画像処理部112は、メータ画像から抽出された円弧帯形状の目盛領域MR3を、図22で示したx軸を基準とした回転角を横軸、半径方法を縦軸とした極座標平面に展開して、極座標変換された目盛領域MR4を生成する。そして、画像処理部112は、目盛領域MR4に対して、21個の仮想PDを均等に配置する。
ここでは、画像処理部112は、図4に示すステップS9と同様の処理を実行する。但し、画像処理部112は、図19又は図21に示す目盛領域MR3、及び、仮想PD構成表を作成する際に用いた配置円弧の中心から各々の仮想PDの配置位置中心への半直線がなす回転角を用いることができる。
図25は、図22に基づく極座標平面に展開された矩形の目盛領域MR4及び、当該目盛領域MR4に対応して配置された一連の仮想PDを示す図である。目盛領域MR4は、当該極座標平面において、横軸の(3π/4+Δθ)から(π/4+Δθ)までを幅、縦軸のaからbまでを高さとした矩形の領域で表される。
各々の仮想PDの配置位置中心は、抽出された目盛領域MR3に基づいて得られる仮想PDの配置円弧上に、目盛領域MR3の主たる目盛に対応させるかたちで動的に決定される。このことから、指示針メータ100aの垂線からの読取部10aの回転ずれ(Δθ)の影響は、ここでは無視できる。
換言すれば、当該回転ずれ(Δθ)は、図22で示すように各々の仮想PDの配置位置中心の算出には影響を与えるものの、目盛領域MR3の主たる目盛と仮想PDの配置位置との対応には影響しない。
ステップS43では、画像処理部112は、仮想PDのインデックス番号に基づく指示針メータ100aの指示針101の位置情報(実質的インデックス番号)を指示値へ変換するための変換表を作成する。
ここでは、画像処理部112は、図4のステップS10と同様に、OCR技術を用いて目盛領域MR4近傍にある目盛数字を数値として認識し、極座標平面の当該目盛数字の位置情報に、認識された数値を関連付ける処理を実行する。この結果、次の表2に示す変換表が作成される。
本実施形態では、表1の仮想PD構成表と、表2の変換表は、それぞれが独立した処理によって生成される。一方、仮想PD構成表と変換表は、共に、見出し列がインデックス番号(または当該インデックス番号に1:1に対応した回転角)であり、メータ画像から抽出される目盛領域MR3を用いて作成されたものである。このため、仮想PD構成表と変換表は、1つの表として作成されたものでもよい。
但し、仮想PD構成表は図17における読取部10aで使用されるのに対して、変換表は図17における制御部30で使用される。このため、仮想PD構成表と変換表が一体化した表は、読取部10aと制御部30が一体化された場合に好適である。
上述した初期設定の終了後、制御部30は、読取部10aから出力された信号を用いて、次に示す読取処理ルーチンを実行することにより、指示針メータ100aの指示値を算出する。
図26は、読取処理ルーチンを示すフローチャートである。本実施形態において読取部10aと制御部30との間で送受信されるデータは、第1実施形態において読取部10と制御部30との間で送受信されるデータと同じである。
このため、図26に示す読取処理ルーチンは、フォトダイオードが仮想PDに代わった点(なお、インデックス番号も前者が0~20であるのに対し、後者は1~21としている。)、及び、図8に示すステップS14がステップS14aに代わった点を除き、図8に示す読取処理ルーチンと同じである。そこで、以下のステップS14aでは、主に、図8に示すステップS14と異なる点について説明する。
ステップS14aでは、CPU34は、読取部10aの画像処理部112を制御して、各仮想PD(に対応する複数の画素センサ)の出力信号を読み出す。読み出された各仮想PDの出力信号は、制御部30のPD切替部32に供給される。
さらに、CPU34は、各仮想PDの出力信号の中から、インデックス番号1~21までの仮想PDの出力信号を順次切り替えて読み出すように、PD切替部32を制御する。PD切替部32から出力された信号は、A/Dコンバータ33によってアナログ/デジタル変換され、CPU34に供給される。この結果、CPU34は、インデックス番号1~21までの仮想PDの出力信号を受信する。
一方、読取部10aでは、制御部30による読取処理ルーチンの実行時において、制御部30からの制御信号(ステップS13)に従って、LED24が点灯する。これにより、指示針メータ100aに光が照射される。そして、読取部10aは、制御部30によるステップS15aの実行の際、次の信号読出ルーチンを実行して、制御部30に信号を供給する。
図27は、信号読出ルーチンを示すフローチャートである。
ステップS51では、読取部10aの画像処理部112は、LED24の点灯後に、広角レンズ26からの入射光に基づいてイメージセンサ27で生成された歪みのあるメータ画像を取得する。
ステップS52では、画像処理部112は、イメージセンサ27から取得した歪みのあるメータ画像を平面画像へ変換する。
ステップS53では、画像処理部112は、記憶部113から仮想PD構成表(表1)を読み出し、読み出した仮想PD構成表に基づき、すべての仮想PDの配置位置中心を求める。そして、画像処理部112は、各々の配置位置中心に存在する画素センサ(中心画素センサ)及びその周囲に存在する画素センサの合計49個の画素センサの出力信号を合計して、各々の仮想PDの出力信号を計算する。
例えば図23において、仮想PDを構成する各々の画素センサの出力信号強度をv(p,q)とする。但し、v(0,0)は、仮想PDの中心画素センサの出力信号強度である。p,qは、中心画素センサを基準とした場合の他の画素センサの横方向及び縦方向それぞれの相対アドレスである。
図23に示された縦方向7画素及び横方向7画素の合計49個の画素センサで構成された仮想PDの出力信号強度をVは、次の式1で表される。
式1
画像処理部112は、すべての仮想PDについて式1を計算し、計算結果を各々の仮想PDの出力信号として記憶部113に保存する。保存された仮想PDの出力信号は、後述するステップS55において読み出された後、制御部30へ供給される。
ステップS54では、画像処理部112は、仮想PDのインデックス番号iについて、i=1に設定する。
ステップS55では、画像処理部112は、記憶部113から仮想PD(i)の出力信号を読み出して、制御部30へ供給する。なお、最初は仮想PD(1)の出力信号が読み出され、制御部30へ供給される。
ステップS56では、画像処理部112は、仮想PD切替制御の有無を確認する。具体的には、画像処理部112は、制御部30のPD切替部32から、次のインデックス番号を持つ仮想PDへ切り替える旨の制御信号の受信の有無を確認する。当該制御信号を受信した場合はステップS57へ進む。
ステップS57では、画像処理部112は、インデックス番号をインクリメントして(i=i+1)、ステップS55へ戻る。すなわち、記憶部113からすべての仮想PDの出力信号が読み出されまで、ステップS55からステップS57が繰り返し実行される。
一方、ステップS56において、前述の制御信号を受信していない(タイムアウトした)場合は、すべての仮想PDの出力信号が読み出されたので、本ルーチンを終了する。なお、本ルーチンによって読取部10aから制御部30に供給された仮想PDの出力信号は、前述のステップS15において、指示値の算出で使用される。
以上のように、第3実施形態に係るアナログメータ読取装置1aは、指示針メータ100aを撮影する読取部10aを用いることにより、指示針メータ100aに対して読取部10aの平行移動ずれ及び回転ずれがある場合であっても、平行移動ずれ及び回転ずれの影響を受けることなく、高精度に、指示針メータ100aの指示値を算出することができる。
また、アナログメータ読取装置1aは、指示針101の回転中心が隠れている指示針メータ100aであっても、メータ画像に基づいて当該回転中心を同定することにより、指示針メータ100aの指示値を算出することができる。
さらに、アナログメータ読取装置1aは、指示針101の位置情報を検出するための一連の仮想PDについて、任意の大きさ・間隔に設定可能であるため、ユーザの希望する検出精度・信頼度で指示値を算出することができる。
なお、本発明は、上述した実施形態に限定されるものではなく、特許請求の範囲に記載された事項の範囲内で設計変更されたものにも適用可能である。
例えば、第3実施形態では、図18、図20、図24の各ルーチンは、読取部10aにて実行されたが、制御部30やサーバ装置200で実行した上で、その結果を読取部10aに供給してもよい。また、仮想PDは、図21に示すように目盛領域MR3の内側に設定される場合に限らず、目盛領域MR3の外側に設定されてもよい。