(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-28
(45)【発行日】2023-12-06
(54)【発明の名称】情報処理装置、メータ読取システム、メータ読取方法、及び情報処理プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20231129BHJP
G08C 19/36 20060101ALI20231129BHJP
【FI】
G06T7/00 350C
G08C19/36
(21)【出願番号】P 2021154623
(22)【出願日】2021-09-22
【審査請求日】2021-09-22
(73)【特許権者】
【識別番号】313006647
【氏名又は名称】セイコーソリューションズ株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】小野塚 昌修
(72)【発明者】
【氏名】松塚 政希
(72)【発明者】
【氏名】西尾 美香
【審査官】宮島 潤
(56)【参考文献】
【文献】特開2019-105998(JP,A)
【文献】特開2019-197318(JP,A)
【文献】特開2020-181466(JP,A)
【文献】国際公開第2013/136295(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
G06V 10/00 - 20/90
G06V 30/418
G06V 40/16
G06V 40/20
G06T 1/00 - 1/40
G06T 3/00 - 5/50
G06T 9/00 - 9/40
G08C 13/00 - 25/04
H04N 7/18
H04N 5/222 - 5/257
(57)【特許請求の範囲】
【請求項1】
複数種類のメータを撮影して得られたメータ画像群を入力とし、メータが示す測定値を出力とする教師有りデータを用いて機械学習することにより生成された、各々が1つのメータの種類に対応する複数の学習済みモデルであって、メータ画像を入力し、メータが示す測定値を推定した値である推定値を出力する前記複数の学習済みモデルを記憶する情報処理装置であって、
何れか1の前記学習済みモデルを用いて前記測定値が推定される対象の対象メータのメータ画像を有する端末装置から、予め前記対象メータを撮影して得られたメータ画像を取得する取得部と、
メータ画像が入力されると当該メータ画像からメータを検出してメータの種類を出力するように機械学習された物体検出モデルを用いて、前記取得部により取得された前記メータ画像から前記対象メータの種類を特定する特定部と、
前記取得部により取得された前記メータ画像に対して、作業担当者から前記メータ画像中の前記対象メータが示す測定値の入力を受け付ける測定値受付部と、
前記特定部により特定された種類に対応する複数の学習済みモデルの中から、前記対象メータに対応する学習済みモデルを選択する選択部と、
前記選択部により選択された学習済みモデルを、前記学習済みモデルを用いて前記対象メータのメータ画像を入力とし、前記対象メータが示す測定値の推定を行う前記端末装置に提供する提供部と、
を備え、
前記選択部は、
前記取得部により取得された前記メータ画像に対して、前記測定値受付部により受け付けた前記測定値を対応付け、
前記特定部により特定された種類に対応する前記複数の学習済みモデルの各々に対して、受け付けた前記測定値と対応付けられた前記メータ画像を入力し、前記特定部により特定された種類に対応する前記複数の学習済みモデルの各々から、入力した前記メータ画像に対する前記対象メータが示す測定値を推定した値である推定値を取得し、
取得した前記推定値と受け付けた前記測定値との差が予め定めた範囲内である学習済みモデルの少なくとも1つを前記対象メータに対応する学習済みモデルとして選択する
情報処理装置。
【請求項2】
前記複数の学習済みモデルの各々は、入力されたメータ画像に対して前記対象メータが示す測定値を推定した値である推定値を出力すると共に、さらに、前記対象メータが取り得る、前記対象メータが示す測定値を推定した値である各推定値を出力する確率を出力し、
前記選択部は、
前記特定部により特定された種類に対応する前記複数の学習済みモデルの各々から、受け付けた前記測定値と対応付けられた前記メータ画像に対する前記対象メータの前記推定値及び前記対象メータが取り得る前記各推定値を出力する確率を取得し、
取得した前記推定値と受け付けた前記測定値との差が予め定めた範囲内である学習済みモデルのうち、前記対象メータの前記推定値として受け付けた前記測定値を出力する確率がより高い学習済みモデルを前記対象メータに対応する学習済みモデルとして選択する
請求項1に記載の情報処理装置。
【請求項3】
複数種類のメータを撮影して得られたメータ画像群を入力とし、メータが示す測定値を出力とする教師有りデータを用いて機械学習することにより生成された、各々が1つのメータの種類に対応する複数の学習済みモデルであって、メータ画像を入力し、メータが示す測定値を推定した値である推定値を出力する前記複数の学習済みモデルを記憶する情報処理装置であって、
何れか1の前記学習済みモデルを用いて前記測定値が推定される対象の対象メータのメータ画像を有する端末装置から、予め前記対象メータを撮影して得られたメータ画像を取得する取得部と、
メータ画像が入力されると当該メータ画像からメータを検出してメータの種類を出力するように機械学習された物体検出モデルを用いて、前記取得部により取得された前記メータ画像から前記対象メータの種類を特定する特定部と、
前記取得部により取得された前記メータ画像に対して、作業担当者から前記メータ画像中の前記対象メータが示す測定値の入力を受け付ける測定値受付部と、
前記特定部により特定された種類に対応する複数の学習済みモデルの中から、前記対象メータに対応する学習済みモデルを選択する選択部と、
前記選択部により選択された学習済みモデルを、前記学習済みモデルを用いて前記対象メータのメータ画像を入力とし、前記対象メータが示す測定値の推定を行う前記端末装置に提供する提供部と、
を備え、
前記メータ画像は、同一の
前記対象メータで測定値が異なる複数のメータ画像であり、
前記複数の学習済みモデルの各々は、入力されたメータ画像に対して前記対象メータが示す測定値を推定した値である推定値を出力すると共に、さらに、前記対象メータが取り得る、前記対象メータが示す測定値を推定した値である各推定値を出力する確率を出力し、
前記選択部は、
前記取得部により取得された前記複数のメータ画像の各々に対して、前記測定値受付部により受け付けた前記測定値を対応付け、
前記特定部により特定された種類に対応する前記複数の学習済みモデルの各々に対して、受け付けた前記測定値と対応付けられた前記複数のメータ画像を入力し、前記特定部により特定された種類に対応する前記複数の学習済みモデルの各々から、入力した前記メータ画像に対する前記対象メータの前記推定値及び前記対象メータが取り得る前記各推定値を出力する確率を取得し、
前記特定部により特定された種類に対応する前記複数の学習済みモデルの各々について、取得した前記推定値と受け付けた前記測定値との差を二乗した値の和である二乗和が最も小さく、かつ、取得した前記確率のうち前記対象メータの推定値として受け付けた前記測定値を出力する確率の平均である平均確率が最も高い学習済みモデルを、前記対象メータに対応する学習済みモデルとして選択す
る
情報処理装置。
【請求項4】
前記メータ画像群を入力とし、メータが示す測定値を出力とする教師有りデータを用いて機械学習することにより前記複数の学習済みモデルを生成する学習部を更に備え、
前記取得部は、前記端末装置から定期的に新たなメータ画像を取得し、
前記学習部は、前記端末装置に提供した前記学習済みモデルと同じである自装置に記憶されている学習済みモデルに対して、前記取得した新たなメータ画像に対して、前記測定値受付部により受け付けた前記対象メータが示す測定値を対応付けて追加学習し、
前記提供部は、前記学習部による追加学習が完了した場合に、前記学習部により追加学習された学習済みモデルを前記端末装置に提供する
請求項1~請求項
3の何れか1項に記載の情報処理装置。
【請求項5】
前記メータ画像群を入力とし、メータが示す測定値を出力とする教師有りデータを用いて機械学習することにより前記複数の学習済みモデルを生成する学習部を更に備え、
前記端末装置に提供した前記学習済みモデルは、前記対象メータが示す測定値を推定した値である推定値を出力すると共に、さらに、前記対象メータが取り得る、前記対象メータが示す測定値を推定した値である各推定値を出力する確率を出力し、
前記取得部は、前記端末装置に提供した前記学習済みモデルにおける、前記対象メータの前記推定値として受け付けた前記測定値を出力する確率が閾値以下になった場合に、前記端末装置から新たなメータ画像を取得し、
前記学習部は、前記端末装置に提供した前記学習済みモデルと同じである自装置に記憶されている学習済みモデルに対して、前記取得した新たなメータ画像に対して、前記測定値受付部により受け付けた前記対象メータが示す測定値を対応付けて追加学習し、
前記提供部は、前記学習部による追加学習が完了した場合に、前記学習部により追加学習された学習済みモデルを前記端末装置に提供する
請求項1~請求項
3の何れか1項に記載の情報処理装置。
【請求項6】
請求項1~請求項
5の何れか1項に記載の情報処理装置と、
前記情報処理装置とネットワークを介して接続された端末装置と、
を含み、
前記端末装置は、
前記情報処理装置から提供された学習済みモデルの入力を受け付ける受付部と、
前記受付部により受け付けた学習済みモデルに対して、対象メータを撮影して得られたメータ画像を入力し、前記学習済みモデルから、前記対象メータが示す測定値を推定した値である推定値を取得する読取部と、
前記読取部により取得された前記対象メータの前記推定値を前記対象メータが示す測定値として前記情報処理装置に出力する出力部と、
を備えたメータ読取システム。
【請求項7】
複数種類のメータを撮影して得られたメータ画像群を入力とし、メータが示す測定値を出力とする教師有りデータを用いて機械学習することにより生成された、各々が1つのメータの種類に対応する複数の学習済みモデルであって、メータ画像を入力し、メータが示す測定値を推定した値である推定値を出力する前記複数の学習済みモデルを記憶する情報処理装置と、
前記情報処理装置とネットワークを介して接続された端末装置と、
を含むメータ読取システムによるメータ読取方法であって、
前記情報処理装置が、
前記端末装置から、予め対象メータを撮影して得られたメータ画像を取得し、
メータ画像が入力されると当該メータ画像からメータを検出してメータの種類を出力するように機械学習された物体検出モデルを用いて、前記取得されたメータ画像から前記対象メータの種類を特定し、
前記取得された前記メータ画像に対して、作業担当者から前記メータ画像中の前記対象メータが示す測定値の入力を受け付け、
前記特定された種類に対応する複数の学習済みモデルの中から、前記対象メータに対応する学習済みモデルを選択する場合に、取得された前記メータ画像に対して、受け付けた前記測定値を対応付け、前記特定された種類に対応する前記複数の学習済みモデルの各々に対して、受け付けた前記測定値と対応付けられた前記メータ画像を入力し、前記特定された種類に対応する前記複数の学習済みモデルの各々から、入力した前記メータ画像に対する前記対象メータが示す測定値を推定した値である推定値を取得し、取得した前記推定値と受け付けた前記測定値との差が予め定めた範囲内である学習済みモデルの少なくとも1つを前記対象メータに対応する学習済みモデルとして選択し、
前記選択された学習済みモデルを前記端末装置に提供し、
前記端末装置が、
前記情報処理装置から提供された学習済みモデルの入力を受け付け、
前記受け付けた学習済みモデルに対して、前記対象メータを撮影して得られたメータ画像を入力し、前記学習済みモデルから、前記対象メータが示す測定値を推定した値である推定値を取得し、
前記取得された前記対象メータの前記推定値を前記対象メータが示す測定値として前記情報処理装置に出力する
メータ読取方法。
【請求項8】
コンピュータを、請求項1~請求項
5の何れか1項に記載の情報処理装置が備える各部として機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、メータ読取システム、メータ読取方法、及び情報処理プログラムに関する。
【背景技術】
【0002】
例えば、工場等には、温度計、湿度計、電流計等のアナログメータ、電気メータ、ガスメータ、水道メータ等文字盤が回転する回転式メータ、所謂7セグメント表示器を備えたデジタルメータ等の各種のメータが数多く設置されている。近年、工場等においても、IT技術を活用した所謂DX(デジタルトランスフォーメーション)化が進められている。工場のDX化を進める上で、人手を介して入力していたメータの測定値を効率的にデジタル化し、コンピュータシステムにビッグデータとして取り込み分析することにより、製品の品質向上、効率化を目指す取り組みが盛んに行われている。
【0003】
例えば、特許文献1には、メータが示す測定値を人手に頼ることなく読み取ることができるメータ読取システムが記載されている。このメータは、円周に沿って配置された目盛りと、所定の回転中心を中心に回転して目盛り上の測定位置を指し示す回転式の指針と、を備えたアナログ式メータである。このメータ読取システムは、メータにおける目盛りの始点及び終点と、始点及び終点における各測定値とを予め設定させる設定手段と、設定された始点及び終点間の回転中心を基準とした角度及び各測定値に基づいて、メータにおける単位角度あたりの単位測定値を算出する基準値算出手段と、メータを撮像したメータ画像を取得する取得手段と、取得手段が取得したメータ画像における指針の始点からの角度と、単位測定値と、に基づいてメータが示す測定値を算出する読取手段と、を備える。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記特許文献1に記載のメータ読取システムでは、端末装置によってメータを撮影して得られたメータ画像を端末装置からサーバ装置に送信し、サーバ装置がメータ画像からメータが示す測定値を読み取るように構成されている。この種のシステムでは、例えば、メータを撮影したメータ画像に座標を設定する等、メータの読み取りに必要な設定を端末装置側で行う場合がある。しかしながら、端末装置の多くはプロセッサ、メモリ等のリソースが十分ではないため、このような煩雑な設定を端末装置側で行うことは負荷が大きく望ましくない。また、メータの読み取りを、学習済みモデルを用いて行う場合に、リソースの少ない端末装置では、多くの学習済みモデルを記憶して、メータの種類に応じて学習済みモデルを選択して用いることが難しい。
【0006】
本発明は、上記事情に鑑みて成されたものであって、端末装置側でメータの読み取りに必要な設定、及びメータの種類に応じた学習済みモデルの選択を要することなく、端末装置にメータの読み取りを行わせることができる情報処理装置、メータ読取システム、メータ読取方法、及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、第1態様に係る情報処理装置は、複数種類のメータを撮影して得られたメータ画像群を、メータが示す測定値に対応付けて機械学習することにより生成され、かつ、メータ画像を入力として、メータが示す測定値を推定した値である推定値を出力する複数の学習済みモデルをメータの種類毎に管理する情報処理装置であって、端末装置から、読取対象とするメータを撮影して得られたメータ画像を取得する取得部と、前記取得部により取得されたメータ画像から前記メータの種類を特定する特定部と、前記特定部により特定された種類に関連する複数の学習済みモデルの中から、前記メータに対応する学習済みモデルを選択する選択部と、前記選択部により選択された学習済みモデルを前記端末装置に提供する提供部と、を備える。
【0008】
第1態様によれば、リソースの少ない端末装置であっても、情報処理装置によって提供される学習済みモデルを用いることで、メータの種類によらず端末装置側でメータの読み取りを行うことができる。
【0009】
また、第2態様に係る情報処理装置は、第1態様に係る情報処理装置において、前記特定部が、前記メータ画像に対して物体検出技術を適用して前記メータの種類を特定する。
【0010】
第2態様によれば、十分なリソースを有する自装置(情報処理装置)側で物体検出を行うことができ、端末装置でメータの種類を入力する必要がなく、メータを撮影してメータ画像を送信するだけでよいため、端末装置の処理負荷を軽減することができる。
【0011】
また、第3態様に係る情報処理装置は、第2態様に係る情報処理装置において、前記特定部が、前記物体検出技術を適用することにより、前記メータ画像に対して座標を設定し、設定した座標を用いて前記メータ画像における前記メータの位置を特定する。
【0012】
第3態様によれば、十分なリソースを有する自装置側で座標を設定することができ、端末装置で座標を設定する必要がなく、メータを撮影してメータ画像を送信するだけでよいため、端末装置の処理負荷を軽減することができる。
【0013】
また、第4態様に係る情報処理装置は、第1態様~第3態様の何れか1の態様に係る情報処理装置において、前記選択部が、前記メータ画像中のメータが示す測定値を読み取り、当該メータが示す測定値を読み取って得られた読取値を前記メータ画像に対応付ける。
【0014】
第4態様によれば、十分なリソースを有する自装置側でメータの測定値を読み取ることができ、端末装置でメータの測定値を入力する必要がなく、メータを撮影してメータ画像を送信するだけでよいため、端末装置の処理負荷を軽減することができる。
【0015】
また、第5態様に係る情報処理装置は、第4態様に係る情報処理装置において、前記選択部が、前記メータ画像を読み取る場合に、前記メータの測定範囲及び測定単位を設定する。
【0016】
第5態様によれば、十分なリソースを有する自装置側でメータの測定範囲及び測定単位を設定することができるため、端末装置の処理負荷を軽減することができる。
【0017】
また、第6態様に係る情報処理装置は、第4態様又は第5態様に係る情報処理装置において、前記選択部が、前記複数の学習済みモデルの各々に対して、前記メータ画像を入力し、前記複数の学習済みモデルの各々から、前記メータの推定値を取得し、取得した推定値が前記読取値と近似する学習済みモデルの少なくとも1つを前記メータに対応する学習済みモデルとして選択する。
【0018】
第6態様によれば、メータの推定値を用いてメータに対応する学習済みモデルを選択することができる。
【0019】
また、第7態様に係る情報処理装置は、第6態様に係る情報処理装置において、前記選択部が、前記複数の学習済みモデルの各々から、前記メータの推定値を取得すると共に、前記メータが取り得る各推定値を出力する確率を取得し、取得した推定値が前記読取値と近似する学習済みモデルのうち、前記メータの推定値として前記読取値を出力する確率がより高い学習済みモデルを前記メータに対応する学習済みモデルとして選択する。
【0020】
第7態様によれば、メータの推定値及び確率を用いてメータに対応する学習済みモデルを選択することができる。
【0021】
また、第8態様に係る情報処理装置は、第1態様~第3態様の何れか1の態様に係る情報処理装置において、前記メータ画像が、同一のメータで測定値が異なる複数のメータ画像であり、前記選択部が、前記複数のメータ画像中の各々のメータが示す測定値を読み取り、当該各々のメータが示す測定値を読み取って得られた読取値を前記複数のメータ画像の各々に対応付け、前記複数の学習済みモデルの各々に対して、前記複数のメータ画像を入力し、前記複数の学習済みモデルの各々から、前記メータの推定値を取得すると共に、前記メータが取り得る各推定値を出力する確率を取得し、取得した推定値及び前記メータの推定値として前記読取値を出力する確率から求まる、前記複数の学習済みモデルの各々についての評価値を用いて、前記複数の学習済みモデルの中から、前記メータに対応する学習済みモデルを選択する。
【0022】
第8態様によれば、複数の学習済みモデルの各々についての評価値を用いてメータに対応する学習済みモデルを選択することができる。
【0023】
また、第9態様に係る情報処理装置は、第8態様に係る情報処理装置において、前記評価値が、前記メータの推定値と前記読取値との差を二乗した値の和である二乗和と、前記メータの推定値として前記読取値を出力する確率の平均である平均確率と、を含む。
【0024】
第9態様によれば、評価値として二乗和及び平均確率を用いてメータに対応する学習済みモデルを選択することができる。
【0025】
また、第10態様に係る情報処理装置は、第1態様~第9態様の何れか1の態様に係る情報処理装置において、前記メータ画像群を、前記メータが示す測定値に対応付けて機械学習することにより前記複数の学習済みモデルを生成する学習部を更に備え、前記学習部が、前記端末装置から定期的に新たなメータ画像を取得し、自装置が管理する、前記端末装置に提供した学習済みモデルと同じモデルに、前記取得したメータ画像を加えて追加学習し、前記提供部が、前記学習部により追加学習された学習済みモデルを前記端末装置に提供する。
【0026】
第10態様によれば、学習済みモデルを定期的に追加学習することができるため、学習済みモデルの性能が低下することを抑制することができる。
【0027】
また、第11態様に係る情報処理装置は、第1態様~第9態様の何れか1の態様に係る情報処理装置において、前記メータ画像群を、前記メータが示す測定値に対応付けて機械学習することにより前記複数の学習済みモデルを生成する学習部を更に備え、前記学習部が、前記端末装置に提供した学習済みモデルの性能が一定水準以下になった場合に、前記端末装置から新たなメータ画像を取得し、自装置が管理する、前記端末装置に提供した学習済みモデルと同じモデルに、前記取得したメータ画像を加えて追加学習し、前記提供部が、前記学習部により追加学習された学習済みモデルを前記端末装置に提供する。
【0028】
第11態様によれば、学習済みモデルの性能が一定水準以下になった場合に、学習済みモデルを追加学習することができるため、学習済みモデルの性能が低下することを抑制することができる。
【0029】
また、第12態様に係る情報処理装置は、第11態様に係る情報処理装置において、前記学習部が、前記端末装置に提供した学習済みモデルにおける、前記メータの推定値として前記メータ画像を読み取って得られた読取値を出力する確率が閾値以下である場合に、前記端末装置に提供した学習済みモデルの性能が一定水準以下であると判定する。
【0030】
第12態様によれば、メータの推定値として読取値を出力する確率が閾値以下である場合に、学習済みモデルを追加学習することができるため、学習済みモデルの性能が低下することを抑制することができる。
【0031】
更に、上記目的を達成するために、第13態様に係るメータ読取システムは、第1態様~第12態様の何れか1の態様に係る情報処理装置と、前記情報処理装置とネットワークを介して接続された端末装置と、を含み、前記端末装置が、前記情報処理装置から提供された学習済みモデルの入力を受け付ける受付部と、前記受付部により受け付けた学習済みモデルに対して、メータを撮影して得られたメータ画像を入力し、前記学習済みモデルから、前記メータの推定値を取得する読取部と、前記読取部により取得された前記メータの推定値を前記メータが示す測定値として前記情報処理装置に出力する出力部と、を備える。
【0032】
更に、上記目的を達成するために、第14態様に係るメータ読取方法は、複数種類のメータを撮影して得られたメータ画像群を、メータが示す測定値に対応付けて機械学習することにより生成され、かつ、メータ画像を入力として、メータが示す測定値を推定した値である推定値を出力する複数の学習済みモデルをメータの種類毎に管理する情報処理装置と、前記情報処理装置とネットワークを介して接続された端末装置と、を含むメータ読取システムによるメータ読取方法であって、前記情報処理装置が、前記端末装置から、読取対象とするメータを撮影して得られたメータ画像を取得し、前記取得されたメータ画像から前記メータの種類を特定し、前記特定された種類に関連する複数の学習済みモデルの中から、前記メータに対応する学習済みモデルを選択し、前記選択された学習済みモデルを前記端末装置に提供し、前記端末装置が、前記情報処理装置から提供された学習済みモデルの入力を受け付け、前記受け付けた学習済みモデルに対して、前記メータを撮影して得られたメータ画像を入力し、前記学習済みモデルから、前記メータの推定値を取得し、前記取得された前記メータの推定値を前記メータが示す測定値として前記情報処理装置に出力する。
【0033】
更に、上記目的を達成するために、第15態様に係る情報処理プログラムは、コンピュータを、第1態様~第12態様の何れか1の態様に係る情報処理装置が備える各部として機能させる。
【0034】
第13態様、第14態様、及び第15態様によれば、上記第1態様と同様に、リソースの少ない端末装置であっても、情報処理装置によって提供される学習済みモデルを用いることで、メータの種類によらず端末装置側でメータの読み取りを行うことができる。
【発明の効果】
【0035】
本発明によれば、端末装置側でメータの読み取りに必要な設定、及びメータの種類に応じた学習済みモデルの選択を要することなく、メータの読み取りを行うことができる。
【図面の簡単な説明】
【0036】
【
図1】実施形態に係るメータ読取システムの構成の一例を示す図である。
【
図2】実施形態に係る学習済みモデルDBの一例を示す図である。
【
図3】実施形態に係る情報処理装置の電気的な構成の一例を示すブロック図である。
【
図4】実施形態に係る端末装置の電気的な構成の一例を示すブロック図である。
【
図5】実施形態に係る情報処理装置の機能的な構成の一例を示すブロック図である。
【
図6】実施形態に係るメータ画像の一例を示す図である。
【
図7】メータ画像に対して座標を設定する方法の説明に供する図である。
【
図8】実施形態に係る学習済みモデルの選択方法の説明に供する図である
【
図9】実施形態に係る別の学習済みモデルの選択方法の説明に供する図である。
【
図10】実施形態に係る複数の学習済みモデルの各々に対して分類番号の異なる複数のメータ画像を入力した場合の評価結果テーブルの一例を示す図である。
【
図11】実施形態に係る端末装置の機能的な構成の一例を示すブロック図である。
【
図12】実施形態に係る情報処理プログラムによるモデル提供処理の流れの一例を示すフローチャートである。
【
図13】実施形態に係る端末装置の制御プログラムによる処理の流れの一例を示すフローチャートである。
【
図14】実施形態に係る情報処理プログラムによる学習処理の流れの一例を示すフローチャートである。
【
図15】実施形態に係る学習用画像セットと学習済みモデルとの対応関係の説明に供する図である。
【
図16】実施形態に係る情報処理プログラムによる追加学習処理の流れの一例を示すフローチャートである。
【
図17】実施形態に係る情報処理プログラムによる追加学習処理の流れの他の例を示すフローチャートである。
【発明を実施するための形態】
【0037】
以下、図面を参照して、本開示の技術を実施するための形態の一例について詳細に説明する。なお、動作、作用、機能が同じ働きを担う構成要素及び処理には、全図面を通して同じ符号を付与し、重複する説明を適宜省略する場合がある。各図面は、本開示の技術を十分に理解できる程度に、概略的に示してあるに過ぎない。よって、本開示の技術は、図示例のみに限定されるものではない。また、本実施形態では、本発明と直接的に関連しない構成や周知な構成については、説明を省略する場合がある。
【0038】
図1は、本実施形態に係るメータ読取システム90の構成の一例を示す図である。
【0039】
図1に示すように、本実施形態に係るメータ読取システム90は、情報処理装置10と、端末装置20と、設定用タブレット端末30と、を備えている。メータ読取システム90は、例えば、工場、事業所、ビル等に設置された複数種類のメータの測定値を、人手を介さずに自動的に読み取るためのシステムである。
【0040】
本実施形態において読み取りの対象とするメータには、例えば、目盛りと指針によって測定値を示すアナログ式メータ、7セグメント表示器によって測定値を示すデジタル式メータ、数値が刻印又は印字された複数の回転ダイヤルによって測定値を示す回転式メータ、その他目盛り間隔が一定ではない電流計タイプのメータ等が含まれる。
【0041】
端末装置20及びカメラ200は、一例として、工場に設けられている。端末装置20には、カメラ200が接続されている。カメラ200は、端末装置20と一体的に設けられていてもよいし、別体で設けられていてもよい。カメラ200は、工場内に設置されているメータを撮影して得られたメータの画像(以下、「メータ画像」という。)を端末装置20に送信する。なお、1台のカメラ200で撮影可能なメータは1つでもよいし、複数でもよい。カメラ200は、メータを撮影可能な位置に固定されている。また、メータ画像は、動画であってもよく、動画の場合、1フレームの画像とされる。カメラ200には、例えば、USB(Universal Serial Bus)接続、ネットワーク接続等、各種の接続形態が適用可能であり、その形態は特に限定されない。
【0042】
端末装置20は、所謂エッジ端末とも呼ばれ、工場内に設置された端末装置である。端末装置20は、カメラ200でメータを撮影して得られたメータ画像をカメラ200から取得する。端末装置20に接続されるカメラ200は、1台でもよいし、複数台でもよい。
【0043】
情報処理装置10には、例えば、汎用的なサーバコンピュータ、パーソナル・コンピュータ(PC:Personal Computer)等が適用される。情報処理装置10は、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等のネットワークNを介して端末装置20及び設定用タブレット端末30の各々と接続される。
【0044】
情報処理装置10は、複数の学習済みモデルをメータの種類毎に管理するための学習済みモデルDB(Data Base)150を有している。学習済みモデルDB150は、情報処理装置10に内蔵されていてもよいし、外部の記憶装置に格納されていてもよい。学習済みモデルは、複数種類のメータを撮影して得られたメータ画像群を、メータが示す測定値に対応付けて機械学習することにより生成される。学習済みモデルは、メータ画像を入力として、メータが示す測定値を推定した値である推定値を出力するモデルである。情報処理装置10は、学習済みモデルを端末装置20に送信し、端末装置20が学習済みモデルを用いてメータ画像から推定値を出力する。よって端末装置20は、自装置内で学習済みモデルの生成をする必要がなく、また、撮影の都度、メータ画像を情報処理装置10に送信しなくてもよい。
【0045】
図2は、本実施形態に係る学習済みモデルDB150の一例を示す図である。
【0046】
図2に示すように、学習済みモデルDB150には、複数種類のメータについての学習済みモデルが登録されている。学習済みモデルには、例えば、ニューラルネットワークのモデルが用いられる。なお、メータの種類としては、例えば、アナログ円形、アナログ扇形、デジタル7セグメント式、デジタル回転式等、様々な種類が挙げられる。
図2の例では、アナログ円形、アナログ扇形、デジタル7セグメント式の3つの種類のメータについての学習済みモデルが登録されている。具体的には、各メータについて用途を把握した上で、同じ種類の複数個の学習済みモデルを1つのセットにして管理する。但し、学習済みモデルは単体で管理してもよい。
図2の例では、アナログ円形の学習済みモデルをセットにした円形モデルセット150A、アナログ扇形の学習済みモデルをセットにした扇形モデルセット150B、及び、デジタル7セグメント式の学習済みモデルをセットにしたデジタルモデルセット150Cとして管理される。
【0047】
設定用タブレット端末30は、作業担当者等が使用する端末機器であり、情報処理装置10にネットワークNを介してアクセス可能とされる。作業担当者等は設定用タブレット端末30から情報処理装置10に対してメータの読み取りに関する各種の設定を行うことができる。
【0048】
図3は、本実施形態に係る情報処理装置10の電気的な構成の一例を示すブロック図である。
【0049】
図3に示すように、本実施形態に係る情報処理装置10は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、入出力インタフェース(I/O)14と、記憶部15と、表示部16と、操作部17と、通信部18と、を備えている。
【0050】
CPU11、ROM12、RAM13、及びI/O14は、バスを介して各々接続されている。I/O14には、記憶部15と、表示部16と、操作部17と、通信部18と、を含む各機能部が接続されている。これらの各機能部は、I/O14を介して、CPU11と相互に通信可能とされる。
【0051】
CPU11、ROM12、RAM13、及びI/O14によって制御部が構成される。制御部は、情報処理装置10の一部の動作を制御するサブ制御部として構成されてもよいし、情報処理装置10の全体の動作を制御するメイン制御部の一部として構成されてもよい。制御部の各ブロックの一部又は全部には、例えば、LSI(Large Scale Integration)等の集積回路又はIC(Integrated Circuit)チップセットが用いられる。上記各ブロックに個別の回路を用いてもよいし、一部又は全部を集積した回路を用いてもよい。上記各ブロック同士が一体として設けられてもよいし、一部のブロックが別に設けられてもよい。また、上記各ブロックのそれぞれにおいて、その一部が別に設けられてもよい。制御部の集積化には、LSIに限らず、専用回路又は汎用プロセッサを用いてもよい。
【0052】
記憶部15としては、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等が用いられる。記憶部15には、本実施形態に係る情報処理プログラム15Aが記憶される。なお、この情報処理プログラム15Aは、ROM12に記憶されていてもよい。
【0053】
情報処理プログラム15Aは、例えば、情報処理装置10に予めインストールされていてもよい。情報処理プログラム15Aは、不揮発性の記憶媒体に記憶して、又はネットワークNを介して配布して、情報処理装置10に適宜インストールすることで実現してもよい。なお、不揮発性の記憶媒体の例としては、CD-ROM(Compact Disc Read Only Memory)、光磁気ディスク、HDD、DVD-ROM(Digital Versatile Disc Read Only Memory)、フラッシュメモリ、メモリカード等が想定される。
【0054】
表示部16には、例えば、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機EL(Electro Luminescence)ディスプレイ等が用いられる。操作部17には、例えば、キーボード、マウス等の入力デバイスが設けられており、入力デバイスを介してユーザからの操作入力を受け付ける。
【0055】
通信部18は、インターネット、LAN、WAN等のネットワークNに接続されており、端末装置20及び設定用タブレット端末30の各々との間でネットワークNを介して通信が可能とされる。
【0056】
図4は、本実施形態に係る端末装置20の電気的な構成の一例を示すブロック図である。
【0057】
図4に示すように、本実施形態に係る端末装置20は、CPU21と、ROM22と、RAM23と、I/O24と、記憶部25と、外部I/F26と、通信部27と、を備えている。
【0058】
CPU21、ROM22、RAM23、及びI/O24は、バスを介して各々接続されている。I/O24には、記憶部25と、外部I/F26と、通信部27と、を含む各機能部が接続されている。これらの各機能部は、I/O24を介して、CPU21と相互に通信可能とされる。
【0059】
CPU21、ROM22、RAM23、及びI/O24によって制御部が構成される。制御部は、端末装置20の一部の動作を制御するサブ制御部として構成されてもよいし、端末装置20の全体の動作を制御するメイン制御部の一部として構成されてもよい。
【0060】
記憶部25としては、例えば、HDD、SSD、フラッシュメモリ等が用いられる。記憶部25には、端末装置20の動作を制御するための制御プログラム(図示省略)が記憶される。なお、この制御プログラムは、ROM22に記憶されていてもよい。なお、記憶部25には、情報処理装置10から取得した学習済みモデルが記憶される。
【0061】
制御プログラムは、例えば、端末装置20に予めインストールされていてもよい。制御プログラムは、不揮発性の記憶媒体に記憶して、又はネットワークNを介して配布して、端末装置20に適宜インストールすることで実現してもよい。なお、不揮発性の記憶媒体の例としては、CD-ROM、光磁気ディスク、HDD、DVD-ROM、フラッシュメモリ、メモリカード等が想定される。
【0062】
外部I/F26は、カメラ200等の外部機器を接続するためのインタフェースであり、例えば、USB等である。
【0063】
通信部27は、インターネット、LAN、WAN等のネットワークNに接続されており、情報処理装置10との間でネットワークNを介して通信が可能とされる。
【0064】
ところで、上述したように、端末装置20はプロセッサ、メモリ等のリソースが十分ではないため、メータの読み取りに必要な設定を端末装置20側で行うことは負荷が大きく望ましくない。
【0065】
このため、本実施形態に係る情報処理装置10のCPU11は、記憶部15に記憶されている情報処理プログラム15AをRAM13に書き込んで実行することにより、
図5に示す各部として機能する。
【0066】
図5は、本実施形態に係る情報処理装置10の機能的な構成の一例を示すブロック図である。
【0067】
図5に示すように、本実施形態に係る情報処理装置10のCPU11は、取得部11A、特定部11B、選択部11C、提供部11D、及び学習部11Eとして機能する。
【0068】
取得部11Aは、端末装置20から、一例として、
図6に示すように、読取対象とするメータを撮影して得られたメータ画像を取得する。
【0069】
図6は、本実施形態に係るメータ画像の一例を示す図である。
【0070】
図6に示すメータ画像は、アナログ円形のメータを撮影して得られた画像であり、メータの指針は「20」を示している。
【0071】
特定部11Bは、取得部11Aにより取得されたメータ画像からメータの種類を特定する。メータの種類には、上述したように、例えば、アナログ円形、アナログ扇形、デジタル7セグメント式、デジタル回転式等、様々な種類がある。特定部11Bは、例えば、物体検出技術を適用して、メータ画像からメータの種類を特定する。
図6の例では、メータの種類として、「アナログ円形」が特定される。物体検出技術には、例えば、公知のCNN(Convolutional Neural Network:畳み込みニューラルネットワーク)、R-CNN(Region-based-CNN)、YOLO等のモデルを登録した物体検出モデルDB160を用いることができるが、他の技術を用いてもよい。物体検出モデルDB160は、例えば、記憶部15に記憶されている。物体検出モデルは、メータ画像が入力されると、メータ画像からメータを検出してメータの種類を出力するように機械学習されたモデルである
。
【0072】
また、特定部11Bは、上記物体検出技術を適用することにより、一例として、
図7に示すように、メータ画像に対して座標を設定し、設定した座標を用いてメータ画像におけるメータの位置、つまり、メータ本体部分の位置を特定する。メータ画像に対して、上記物体検出技術を適用することにより、メータの種類及びメータ画像におけるメータ本体部分の位置が特定される。メータ本体部分の位置を示す座標情報は、学習済みモデルと共に端末装置20に送信され、端末装置20でのメータ読み取りに用いられる。
【0073】
図7は、メータ画像に対して座標を設定する方法の説明に供する図である。
【0074】
図7に示すように、メータ画像を構成する4つの端点のうちの1点を基準点P(0,0)として、基準点からの距離(画素数)をXY座標として表す。これにより、メータ本体部分を表す特徴点を座標として表すことができる。つまり、メータ画像におけるメータの位置が、XY座標として特定される。
【0075】
選択部11Cは、特定部11Bにより特定された種類に関連する複数の学習済みモデルを学習済みモデルDB150から読み出し、読み出した複数の学習済みモデルの中から、メータに対応する学習済みモデルを選択する。具体的に、選択部11Cは、メータ画像中のメータが示す測定値を読み取り、当該メータが示す測定値を読み取って得られた読取値をメータ画像に対応付ける。具体的に、メータの読取値に対して、メータの読取値を分類するための番号(以下、「分類番号」という。)を割り当て、割り当てた分類番号をメータ画像に対応付けて登録する。上述の
図6の例では、メータの読取値が「20」であるため、分類番号として「20」が登録される。この場合、メータの読取値と分類番号とが1対1に対応している。また、メータが取り得る推定値を複数のパターンに分類し、分類したパターンの数を100%として、メータの読取値を%値で表してもよい。具体的に、アナログ円形の場合は分類パターンの数を例えば240とし、240を100%として、メータの読取値を%値として表す。メータ画像の読み取りには、公知の画像処理技術を用いてもよいし、CNN(畳み込みニューラルネットワーク)を用いてもよい。また、メータ画像を表示部16に表示させて、メータが示す測定値を作業担当者等が目視で確認した値を操作部17から受け付けて、メータの読取値としてもよい。
【0076】
なお、選択部11Cは、メータ画像を読み取る場合に、メータの測定範囲及び測定単位を設定するようにしてもよい。上述の
図6の例では、メータの測定範囲として、「0~60」、測定単位として、「V(ボルト)」が設定される。例えば、表示部16に設定画面を表示させ、設定画面を介して作業担当者等から測定範囲及び測定単位の設定を受け付けるようにしてもよい。
【0077】
選択部11Cの処理は、特定部11Bにより特定されたメータの種類に関連する学習済みモデルを選択する処理である。つまり、この学習済みモデルは、学習モデルの設計によって変わってくるため、同一種類のメータに対して複数存在し、その中から適切な学習済みモデルを選択する処理である。選択に際し、取得したメータ画像を、選択した学習済みモデルに入力して推定(推論ともいう)を行う。推定とは、入力したメータ画像に対してメータの推定値として分類番号を出力する処理である。なお、学習モデルの学習では、予め複数種類のメータを撮影して得られた大量のメータ画像について、メータの測定値に対応する分類番号を割り当てて分類しておく。分類番号が多いほど、メータ画像も多くなる。これらのメータ画像を用いて一例としてニューラルネットワークのモデルを機械学習する。機械学習の学習手法には、例えば、ディープラーニングが用いられる。学習した結果は、学習済みモデルとして出力され、学習済みモデルDB150に格納される。この学習済みモデルは、あるメータの測定値が撮影されたメータ画像を入力すると、ニューラルネットワークの計算によって分類したときの分類番号を出力する。
【0078】
選択部11Cは、複数の学習済みモデルの各々に対して、メータ画像を入力し、複数の学習済みモデルの各々から、メータの推定値として分類番号を取得する。そして、選択部11Cは、一例として、
図8に示すように、取得した推定値が読取値と近似する学習済みモデルの少なくとも1つをメータに対応する学習済みモデルとして選択する。なお、近似とは、推定値と読取値とが一致する場合、推定値と読取値との差が予め定めた範囲内である場合を含む。複数の学習済みモデルが該当する場合、予め定めた数(例えば3つ)の学習済みモデルを選択するようにしてもよい。
【0079】
図8は、本実施形態に係る学習済みモデルの選択方法の説明に供する図である。
【0080】
図8に示すように、端末装置20から得られたメータ画像を、学習済みモデルA1及び学習済みモデルA2に入力すると、学習済みモデルA1及び学習済みモデルA2の各々から分類番号及び確率が出力される。確率とは、メータが取り得る各推定値(分類番号)を出力する確率を表している。確率は、メータの推定値(分類番号)毎に導出される。
図8の例では、読取値が「20」であるメータ画像に対して、学習済みモデルA1が分類番号「20」及び分類番号「20」を出力する確率「70%」を出力し、学習済みモデルA2が分類番号「25」及び分類番号「25」を出力する確率「86%」を出力する。つまり、学習済みモデルA1は読取値と一致したデータを出力し、学習済みモデルA2は間違ったデータを出力している。この場合、学習済みモデルA2は不適当であり、学習済みモデルA1が選択される。
【0081】
また、選択部11Cは、上述したように、複数の学習済みモデルの各々から、メータの推定値として分類番号及び確率を取得する。そして、選択部11Cは、一例として、
図9に示すように、取得した分類番号が読取値と近似する学習済みモデルのうち、メータの推定値として読取値を出力する確率がより高い学習済みモデルをメータに対応する学習済みモデルとして選択してもよい。
【0082】
図9は、本実施形態に係る別の学習済みモデルの選択方法の説明に供する図である。
【0083】
図9に示すように、端末装置20から得られたメータ画像を、学習済みモデルB1及び学習済みモデルB1-200に入力すると、学習済みモデルB1及び学習済みモデルB1-200の各々から分類番号及び確率が出力される。
図9の例では、読取値が「20」であるメータ画像に対して、学習済みモデルB1が分類番号「20」及び分類番号「20」を出力する確率「75%」を出力し、学習済みモデルB1-200が分類番号「20」及び分類番号「20」を出力する確率「93%」を出力する。つまり、学習済みモデルB1及び学習済みモデルB1-200の各々は読取値を出力している。この場合、学習済みモデルB1-200の確率が学習済みモデルB1の確率よりも高いため、学習済みモデルB1-200が選択される。
【0084】
また、分類番号の異なるメータ画像を使用した推定を複数回行い、学習済みモデルを選択してもよい。この場合、メータ画像は、同一のメータで測定値が異なる複数のメータ画像である。選択部11Cは、複数のメータ画像中の各々のメータが示す測定値を読み取り、当該各々のメータが示す測定値を読み取って得られた読取値を複数のメータ画像の各々に対応付ける。そして、選択部11Cは、複数の学習済みモデルの各々に対して、複数のメータ画像を入力し、複数の学習済みモデルの各々から、メータの推定値を分類番号として取得すると共に、メータが取り得る各推定値(分類番号)を出力する確率を取得する。そして、選択部11Cは、取得した推定値(分類番号)及び推定値として読取値を出力する確率から求まる、複数の学習済みモデルの各々についての評価値を用いて、複数の学習済みモデルの中から、メータに対応する学習済みモデルを選択する。評価値は、推定値(分類番号)と読取値との差を二乗した値の和である二乗和と、推定値(分類番号)として読取値を出力する確率の平均である平均確率と、を含む。
【0085】
図10は、本実施形態に係る複数の学習済みモデルの各々に対して分類番号の異なる複数のメータ画像を入力した場合の評価結果テーブルの一例を示す図である。
【0086】
図10に示す評価結果テーブルの例は、分類番号の異なる複数のメータ画像として、例えば、分類番号「20」、「50」、「90」の3つのメータ画像を、学習済みモデルA1、A2、B1、B1-200の各々に入力し、学習済みモデル毎に、分類番号及び確率を出力した結果について示している。確率を表す値は、学習済みモデルが出力した分類番号を出力する確率を示し、確率の括弧内の値は、メータの推定値(分類番号)として読取値を出力する確率を示している。これらの学習済みモデルの各々についての評価値には、上述したように、誤差二乗和及び平均確率が用いられる。この場合、誤差二乗和が小さく、平均確率が高いモデルを選択することが望ましい。
図10の例では、学習済みモデルA1及び学習済みモデルB1-200の誤差二乗和は「1」であり、学習済みモデルA2の誤差二乗和は「26」、学習済みモデルB1の誤差二乗和は「5」である。このため、学習済みモデルA2、B1は除外する。学習済みモデルA1、B1-200では、平均確率が学習済みモデルB1-200の方が高いため、最終的に学習済みモデルB1-200を選択する。
【0087】
提供部11Dは、選択部11Cにより選択された学習済みモデルを端末装置20に提供する。つまり、提供部11Dは、通信部18を介して学習済みモデルを端末装置20に送信する制御を行う。端末装置20に送信する学習済みモデルは1つでもよいし、評価値によって定まる優先順位の高い順に2つ以上であってもよい。但し、大量の学習済みモデルを送信することは、端末装置20の記憶容量を圧迫するため、少ない方が望ましい。また、通常、提供部11Dから端末装置20に学習済みモデルを提供するのは、端末装置20を初めて設置する場合など、適当な学習済みモデルを端末装置20が保持してない場合にモデル提供処理の指示を受けた場合である。しかし、メータの読取精度の向上を目的として定期的に学習済みモデルの精度を確認し、新たな学習済みモデルを生成した場合や、端末装置20の照明環境などが何らかの理由で変化する等して、端末装置20から送信されてくるメータの推定値の精度が低下したことを検知し、学習済みモデルを再学習して新たな学習済みモデルを生成した場合などにも、端末装置20に対して学習済みモデルを提供する場合がある。詳細は後述する。
【0088】
学習部11Eは、予め複数種類のメータを撮影して得られたメータ画像群を、メータが示す測定値に対応付けて機械学習することにより複数の学習済みモデルを生成する。機械学習の学習手法には、上述したように、例えば、ディープラーニングが用いられる。そして、提供部11Dは、学習部11Eにより学習された結果である学習済みモデルを出力して学習済みモデルDB150に格納する。
【0089】
一方、本実施形態に係る端末装置20のCPU21は、記憶部25に記憶されている制御プログラムをRAM23に書き込んで実行することにより、
図11に示す各部として機能する。
【0090】
図11は、本実施形態に係る端末装置20の機能的な構成の一例を示すブロック図である。
【0091】
図11に示すように、本実施形態に係る端末装置20のCPU21は、受付部21A、読取部21B、及び出力部21Cとして機能する。
【0092】
受付部21Aは、情報処理装置10から提供された、メータに対応する学習済みモデル(例えば、円形モデルセット150A)の入力を受け付ける。受け付けた学習済みモデル(例えば、円形モデルセット150A)は記憶部25に記憶される。
【0093】
読取部21Bは、受付部21Aにより受け付けた学習済みモデルに対して、読取対象とするメータを撮影して得られたメータ画像を入力し、学習済みモデルから、メータの推定値(分類番号)を取得する。
【0094】
出力部21Cは、読取部21Bにより取得されたメータの推定値(分類番号)をメータが示す測定値として情報処理装置10に出力する。つまり、出力部21Cは、通信部27を介してメータが示す測定値を情報処理装置10に送信する制御を行う。送信するメータの測定値は、例えば、%値、数値等のテキストデータとして送信する。なお、画像データとして送信する場合もある。
【0095】
次に、
図12を参照して、本実施形態に係る情報処理装置10の作用を説明する。
【0096】
図12は、本実施形態に係る情報処理プログラム15Aによるモデル提供処理の流れの一例を示すフローチャートである。
【0097】
まず、端末装置20を初めて設置する場合など、端末装置20に適当な学習済みモデルが設定されていない場合に、情報処理装置10に対してモデル提供処理の指示がなされると、情報処理プログラム15Aが起動され、以下の各処理を実行する。
【0098】
図12のステップS101では、CPU11が、端末装置20から、一例として、上述の
図6に示すように、カメラ200によってメータを撮影して得られたメータ画像を読取対象として取得する。
【0099】
ステップS102では、CPU11が、ステップS101で取得したメータ画像から、例えば、機械学習による物体検出技術を用いて、メータの種類を特定する。
【0100】
ステップS103では、CPU11が、例えば、画像処理技術を用いて、メータ画像を読み取り、読み取って得られた読取値をメータ画像に対応付ける。
【0101】
ステップS104では、CPU11が、ステップS102で特定した種類に関連する複数の学習済みモデルを学習済みモデルDB150から読み出し、読み出した複数の学習済みモデルの中から、メータに対応する学習済みモデルを選択する。具体的には、上述したように、複数の学習済みモデルの各々に対して、メータ画像を入力し、複数の学習済みモデルの各々から、メータの推定値及び確率を取得する。例えば、上述の
図8に示すように、取得した推定値が読取値と近似する学習済みモデルの少なくとも1つをメータに対応する学習済みモデルとして選択する。また、上述の
図9に示すように、取得した推定値が読取値と近似する学習済みモデルのうち、メータの推定値として読取値を出力する確率がより高い学習済みモデルをメータに対応する学習済みモデルとして選択してもよい。また、上述の
図10に示すように、複数の学習済みモデルの各々についての評価値を用いて学習済みモデルを選択してもよい。
【0102】
ステップS105では、CPU11が、ステップS104で選択した学習済みモデルを端末装置20に提供する、つまり、通信部18を介して学習済みモデルを端末装置20に送信する制御を行う。このとき、学習済みモデルと共に、メータ画像におけるメータの位置を示す座標情報も送信する。
【0103】
ステップS106では、CPU11が、終了タイミングが到来したか否かを判定する。終了タイミングが到来していないと判定した場合(否定判定の場合)、ステップS101に戻り処理を繰り返し、終了タイミングが到来したと判定した場合(肯定判定の場合)、本情報処理プログラム15Aによる一連のモデル提供処理を終了する。なお、終了タイミングには、例えば、ユーザによりモデル提供処理の終了が指示された場合、読取対象として予め定めたメータの撮影が終了した場合等が含まれる。
【0104】
次に、
図13を参照して、本実施形態に係る端末装置20の作用を説明する。
【0105】
図13は、本実施形態に係る端末装置20の制御プログラムによる処理の流れの一例を示すフローチャートである。
【0106】
まず、端末装置20に対してメータ読取処理の指示がなされると、制御プログラムが起動され、以下の各処理を実行する。メータ読取処理の指示は、情報処理装置10から任意のタイミングで指示されてもよく、また、情報処理装置10から予め登録された所定のタイミングで指示されもよい。
【0107】
図13のステップS111では、CPU21が、カメラ200から、読取対象とするメータを撮影して得られたメータ画像を取得する。
【0108】
ステップS112では、CPU21が、ステップS111で取得したメータ画像を一時的に記憶部25に記憶する。このとき、メータ画像をJPEG等の画像ファイルに変換してから取り込むようにしてもよい。
【0109】
ステップS113では、CPU21が、メータ画像の送信タイミングが到来したか否かを判定する。メータ画像の送信タイミングが到来したと判定した場合(肯定判定の場合)、ステップS114に移行し、メータ画像の送信タイミングが到来していないと判定した場合(否定判定の場合)、ステップS113で待機となる。
【0110】
ステップS114では、CPU21が、ステップS112で記憶部25に記憶したメータ画像を情報処理装置10に出力する、つまり、通信部27を介してメータ画像を情報処理装置10に送信する制御を行う。この場合、メータ画像は定期的にまとめて送信される。なお、メータ画像を一時的に記憶することなく直ちに送信するようにしてもよい。例えば、導入設定時にはメータ画像が少量であるため、1つ又は少量のメータ画像を送信するようにし、運用時にはある程度まとまった量のメータ画像を送信するようにしてもよい。
【0111】
ステップS115では、CPU21が、情報処理装置10から、メータに対応する学習済みモデルが取得済みであるか否かを判定する。学習済みモデルが取得済みであると判定した場合(肯定判定の場合)、ステップS117に移行し、学習済みモデルが取得済みではない、つまり、取得されていないと判定した場合(否定判定の場合)、ステップS116に移行する。
【0112】
ステップS116では、CPU21が、情報処理装置10から取得された学習済みモデルを記憶部25に記憶する。このとき、学習済みモデルと共に取得された、メータ画像におけるメータの位置を示す座標情報も記憶する。なお、学習済みモデルと座標情報とは別々に取得されてもよい。つまり、情報処理装置10から学習済みモデルだけが送信される場合もあり、座標情報だけが送信される場合もある。
【0113】
ステップS117では、CPU21が、学習済みモデル及び座標情報を用いて、メータ画像からメータを読み取る、つまり、メータ画像を学習済みモデルに入力し、学習済みモデルから、メータの推定値を取得する。
【0114】
ステップS118では、CPU21が、ステップS117で読み取った読み取り結果(メータの推定値)をメータの測定値として情報処理装置10に出力する、つまり、通信部27を介してメータの測定値を情報処理装置10に送信する制御を行う。なお、メータの測定値は、ある程度まとめて送信してもよいし、その都度送信するようにしてもよい。
【0115】
ステップS119では、CPU21が、終了タイミングが到来したか否かを判定する。終了タイミングが到来していないと判定した場合(否定判定の場合)、ステップS120に移行し、終了タイミングが到来したと判定した場合(肯定判定の場合)、本制御プログラムによる一連のメータ読取処理を終了する。なお、終了タイミングには、例えば、ユーザによりメータ読取処理の終了が指示された場合等が含まれる。
【0116】
ステップS120では、CPU21が、メータ読取タイミングが到来したか否かを判定する。メータ読取タイミングが到来したと判定した場合(肯定判定の場合)、ステップS121に移行し、メータ読取タイミングが到来していないと判定した場合(否定判定の場合)、ステップS120で待機となる。
【0117】
ステップS121では、CPU21が、カメラ200から、メータ画像を読取対象として取得し、ステップS117に戻り処理を繰り返す。つまり、端末装置20が情報処理装置10から学習済みモデルを取得した後は、この学習済みモデルを用いて端末装置20のみでメータの読み取りを行うことができる。なお、上記ステップS117において、学習済みモデルを1つのメータに対して複数保持している場合には、メータの推定値を学習済みモデル分、複数取得するようにし、上記ステップS118において読み取り結果として全ての推定値を送信するようにしてもよい。これにより、情報処理装置10において、それらの読み取り結果を様々な視点から解析し、新たなモデル作成にフィードバックさせることも可能である。
【0118】
次に、
図14を参照して、情報処理装置10による学習処理について説明する。
【0119】
図14は、本実施形態に係る情報処理プログラム15Aによる学習処理の流れの一例を示すフローチャートである。
【0120】
まず、情報処理装置10に対して学習処理の指示がなされると、情報処理プログラム15Aが起動され、以下の各処理を実行する。
【0121】
図14のステップS131では、CPU11が、自装置のUI(User Interface)画面から直接、又は設定用タブレット端末30から、メータの種類の指定を受け付ける。
【0122】
ステップS132では、CPU11が、学習モデルの一例であるニューラルネットワークのモデルの設計を行う。具体的に、ニューラルネットワークの場合、例えば、ノードの個数、ネットワーク層の数等を含むパラメータを画像の種類に合わせて設計する。
【0123】
ステップS133では、CPU11が、ステップS132で指定した種類について予め準備した大量のメータ画像からなるメータ画像群を取得する。
【0124】
ステップS134では、CPU11が、ステップS132で設計した学習モデルについて、ステップS133で取得したメータ画像群を用いて機械学習を行う。具体的に、教師データ(正解データ)有りのメータ画像を用いて、ディープラーニングを実施して、ニューラルネットワークのモデルのパラメータを決定する。
【0125】
ステップS135では、CPU11が、ステップS134での機械学習により学習済みモデルを生成する。学習済みモデルは、メータ画像を入力とし、メータの推定値を出力するモデルである。生成した学習済みモデルは種類毎に学習済みモデルDB150に格納される。
【0126】
ステップS136では、CPU11が、学習対象として予め定めておいた全ての種類(1種類でもよい)について学習済みモデルを生成したか否かを判定する。全ての種類について学習済みモデルを生成していないと判定した場合(否定判定の場合)、ステップS131に戻り処理を繰り返し、全ての種類について学習済みモデルを生成したと判定した場合(肯定判定の場合)、本情報処理プログラム15Aによる一連の学習処理を終了する。
【0127】
図15は、本実施形態に係る学習用画像セットと学習済みモデルとの対応関係の説明に供する図である。
【0128】
図15に示すように、学習済みモデルは、モデルの設計によって異なる、パラメータの設計の他、例えば、学習に使用する画像の枚数、画像の種類、学習に要する反復回数等によっても変わってくるため、同じメータ画像から測定値を推定する場合、多くの学習済みモデルが生成されることになる。
図15の例では、学習モデルAに対して、画像セット1のメータ画像群について反復回数を100回として、機械学習した場合、学習済みモデルA1が生成される。また、学習モデルAに対して、画像セット2のメータ画像群について反復回数を100回として、機械学習した場合、学習済みモデルA2が生成される。また、学習モデルBに対して、画像セット1のメータ画像群について反復回数を100回として、機械学習した場合、学習済みモデルB1が生成される。また、学習モデルBに対して、画像セット2のメータ画像群について反復回数を200回として、機械学習した場合、学習済みモデルB1-200が生成される。
【0129】
次に、本実施形態に係る情報処理装置10による追加学習処理について説明する。例えば、照明環境の変化、季節の変化に伴う自然光(日差し)の変化によってカメラ200の撮影環境が変化することがある。この撮影環境の変化に起因して、学習済みモデルのメータ読取精度が低下してくる場合がある。このため、端末装置20に提供した学習済みモデルを定期的に追加学習することが望ましい。なお、追加学習とは、学習済みモデルに対して新たなメータ画像を追加して再学習することをいう。
【0130】
例えば、学習部11Eは、端末装置20から定期的(例えば、1ヶ月毎)に新たなメータ画像を取得し、自装置が管理する、端末装置20に提供した学習済みモデルと同じモデルに、取得した新たなメータ画像を加えて追加学習する。なお、学習に用いるメータ画像は、新たなメータ画像を取得した後、そのメータ画像を大量に複製(アノテーション)し学習用画像としてもよい。提供部11Dは、学習部11Eにより追加学習された学習済みモデルを端末装置20に提供する。端末装置20では、記憶している学習済みモデルを、追加学習された学習済みモデルに更新する。このようにすることで、学習済みモデルを、現状を加味したモデルとして維持し続けることができ、メータ読取精度の低下を軽減することが可能となる。
【0131】
図16は、本実施形態に係る情報処理プログラム15Aによる追加学習処理の流れの一例を示すフローチャートである。
【0132】
まず、情報処理装置10に対して追加学習処理の指示がなされると、情報処理プログラム15Aが起動され、以下の各処理を実行する。
【0133】
図16のステップS141では、CPU11が、端末装置20に学習済みモデルを提供してから一定期間(例えば、1ヶ月)が経過したか否かを判定する。一定期間が経過したと判定した場合(肯定判定の場合)、ステップS142に移行し、一定期間が経過していないと判定した場合(否定判定の場合)、ステップS141で待機となる。
【0134】
ステップS142では、CPU11が、端末装置20から、カメラ200によって撮影された、同一のメータについての新たなメータ画像を取得する。
【0135】
ステップS143では、CPU11が、自装置が管理する、端末装置20に提供した学習済みモデルと同じモデルに、ステップS142で取得した新たなメータ画像を加えて追加学習する。なお、端末装置20に提供した学習済みモデルと同じ学習済みモデルは、学習済みモデルDB150に格納されている。
【0136】
ステップS144では、CPU11が、ステップS143で追加学習した学習済みモデルを端末装置20に提供する、つまり、通信部18を介して追加学習した学習済みモデルを端末装置20に送信する制御を行う。
【0137】
ステップS145では、CPU11が、終了タイミングが到来したか否かを判定する。終了タイミングが到来していないと判定した場合(否定判定の場合)、ステップS141に戻り処理を繰り返し、終了タイミングが到来したと判定した場合(肯定判定の場合)、本情報処理プログラム15Aによる一連の追加学習処理を終了する。
【0138】
また、学習部11Eは、端末装置20に提供した学習済みモデルの性能が一定水準以下になった場合に、端末装置20から新たなメータ画像を取得し、自装置が管理する、端末装置20に提供した学習済みモデルと同じモデルに、取得した新たなメータ画像を加えて追加学習してもよい。例えば、学習部11Eは、端末装置20に提供した学習済みモデルにおける、メータの推定値として読取値を出力する確率が閾値以下である場合に、端末装置20に提供した学習済みモデルの性能が一定水準以下であると判定する。確率は、端末装置20から定期的(例えば、1ヶ月毎)に又は適切なタイミングで取得される。閾値としては、例えば、70%以下で適切な値が設定される。例えば、端末装置20から定期的に確率を取得し、取得した確率を用いて、学習済みモデルの性能が一定水準以下であると判定した場合に、学習済みモデルの追加学習を行う。提供部11Dは、学習部11Eにより追加学習された学習済みモデルを端末装置20に提供する。端末装置20では、記憶している学習済みモデルを、追加学習された学習済みモデルに更新する。
【0139】
図17は、本実施形態に係る情報処理プログラム15Aによる追加学習処理の流れの他の例を示すフローチャートである。
【0140】
まず、情報処理装置10に対して追加学習処理の指示がなされると、情報処理プログラム15Aが起動され、以下の各処理を実行する。
【0141】
図17のステップS151では、CPU11が、端末装置20に提供した学習済みモデルの性能が一定水準以下になったか否かを判定する。一定水準以下になったと判定した場合(肯定判定の場合)、ステップS152に移行し、一定水準以下ではないと判定した場合(否定判定の場合)、ステップS151で待機となる。例えば、端末装置20に提供した学習済みモデルにおける、メータの推定値として読取値を出力する確率が閾値以下である場合に、端末装置20に提供した学習済みモデルの性能が一定水準以下であると判定する。
【0142】
ステップS152では、CPU11が、端末装置20から、同一のメータについての新たなメータ画像を取得する。
【0143】
ステップS153では、CPU11が、自装置が管理する、端末装置20に提供した学習済みモデルと同じモデルに、ステップS152で取得した新たなメータ画像を加えて追加学習する。なお、端末装置20に提供した学習済みモデルと同じ学習済みモデルは、学習済みモデルDB150に格納されている。
【0144】
ステップS154では、CPU11が、ステップS153で追加学習した学習済みモデルを端末装置20に提供する、つまり、通信部18を介して追加学習した学習済みモデルを端末装置20に送信する制御を行う。
【0145】
ステップS155では、CPU11が、終了タイミングが到来したか否かを判定する。終了タイミングが到来していないと判定した場合(否定判定の場合)、ステップS151に戻り処理を繰り返し、終了タイミングが到来したと判定した場合(肯定判定の場合)、本情報処理プログラム15Aによる一連の追加学習処理を終了する。
【0146】
このように本実施形態によれば、端末装置側でメータの読み取りに必要な設定、及びメータの種類に応じた学習済みモデルの選択を行う必要がなく、情報処理装置から得られる、メータに対応する学習済みモデルを用いて端末装置のみでメータの読み取りを行うことができる。
また、情報処理装置から得られる学習済みモデルも、読取精度を鑑みて適宜追加学習されたモデルが端末装置に保持されるため、設置後の端末装置のメンテナンス性も非常に良いものとなる。
【0147】
なお、上記各実施形態において、プロセッサとは広義的なプロセッサを指し、汎用的なプロセッサ(例えば、CPU:Central Processing Unit、等)や、専用のプロセッサ(例えば、GPU:Graphics Processing Unit、ASIC: Application Specific Integrated Circuit、FPGA:Field Programmable Gate Array、プログラマブル論理デバイス、等)を含むものである。
【0148】
また、上記各実施形態におけるプロセッサの動作は、1つのプロセッサによって成すのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働して成すものであってもよい。また、プロセッサの各動作の順序は、上記各実施形態において記載した順序のみに限定されるものではなく、適宜変更してもよい。
【0149】
以上、実施形態として情報処理装置を例示して説明した。実施形態は、情報処理装置が備える各部の機能をコンピュータに実行させるためのプログラムの形態としてもよい。
【0150】
その他、上記実施形態で説明した情報処理装置の構成は、一例であり、主旨を逸脱しない範囲内において状況に応じて変更してもよい。
【0151】
また、上記実施形態で説明したプログラムの処理の流れも、一例であり、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。
【0152】
また、上記実施形態では、プログラムを実行することにより、実施形態に係る処理がコンピュータを利用してソフトウェア構成により実現される場合について説明したが、これに限らない。実施形態は、例えば、ハードウェア構成や、ハードウェア構成とソフトウェア構成との組み合わせによって実現してもよい。
【符号の説明】
【0153】
10 情報処理装置
11、21 CPU
11A 取得部
11B 特定部
11C 選択部
11D 提供部
11E 学習部
12、22 ROM
13、23 RAM
14、24 I/O
15、25 記憶部
15A 情報処理プログラム
16 表示部
17 操作部
18、27 通信部
20 端末装置
21A 受付部
21B 読取部
21C 出力部
26 外部i/F
30 設定用タブレット端末
90 メータ読取システム
150 学習済みモデルDB
150A 円形モデルセット
150B 扇形モデルセット
150C デジタルモデルセット
160 物体検出モデルDB
200 カメラ