以下に図面を参照して、本開示の好適な実施形態を詳細に説明する。なお、この実施形態により本開示が限定されるものではなく、また、実施形態が複数ある場合には、各実施形態を組み合わせて構成するものも含むものである。また、実施形態における構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。
<指示値読取システム>
図1は、本実施形態の指示値読取システムを表す概略構成図、図2は、指示値読取システムにおけるモニタ画像を表す概略視図である。
本実施形態において、図1に示すように、指示値読取システム10は、各種機器(図示略)が設置される現場100に配置される。指示値読取システム10は、少なくともカメラ11と、画像処理装置12と、送信装置13とを備える。送信装置13は、例えば、PSH通信であるが、イーサネットなどのコンピュータネットワークであってもよい。指示値読取システム10は、現場100に配置される各種機器の複数(本実施形態では、6個)の計器51,52,53,54,55,56の各指示針61,62,63,64,65,66の指示値を読み取って管理センター200にある監視システム20に送信するものである。管理センター200は、現場100から離間し、監視システム20により現場100に配置された各種機器を監視する。
なお、上述の説明では、6個の計器51,52,53,54,55,56の指示値を読み取り可能としたが、計器の数は、6個に限定されるものではない。計器の数は、5個以下でもよく、7個以上であってもよい。また、計器51,52,53,54,55,56は、各指示針61,62,63,64,65,66を有する1針丸型計器であるが、例えば、レベル計器やデジタル計器などであってもよい。
ここで、計器51,52,53,54,55,56とは、温度計、圧力計、流量計などである。計器51,52,53,54,55,56は、計器盤の外形が円形をなし、中心位置に指示針61,62,63,64,65,66が回動自在に支持され、計器盤の外周部に目盛71,72,73,74,75,76が付設されて構成される。目盛71,72,73,74,75,76は、始点位置から終点位置まで設けられ、始点位置と終点位置との間に工学値が記載される。指示針61,62,63,64,65,66は、目盛71,72,73,74,75,76の始点位置と終点位置との間を回動し、先端部が目盛71,72,73,74,75,76を指すことで、指示値を表示する。
指示値読取システム10は、現場100に配置され、具体的には、カメラ11と、画像処理装置12と、送信装置13と、記憶部14と、操作部15と、モニタ16と、電源部17とを備える。監視システム20は、管理センター200に配置され、制御装置21と、受信装置22と、モニタ23とを備える。
カメラ11は、複数の計器51,52,53,54,55,56の各指示針61,62,63,64,65,66を撮影可能である。カメラ11は、各計器51,52,53,54,55,56を含む所定の領域を撮影可能である。そのため、カメラ11の撮影領域のうち、各計器51,52,53,54,55,56が配置される領域を指定することで、計器51,52,53,54,55,56を特定する。この場合、作業者が操作部15または記憶部14に記憶されたプログラムにより複数の計器51,52,53,54,55,56のうちの特定の計器だけを指定することができる。
画像処理装置12は、カメラ11に有線接続されているが、画像処理装置12とカメラ11を無線接続してもよい。画像処理装置12は、画像処理部12aと、画像認識部12bと、表示作成部12cとを有する。ここで、画像処理装置12は、例えば、CPU(Central Processing Unit)およびメモリである。画像処理部12aは、カメラ11が撮影した各指示針61,62,63,64,65,66の画像データの前処理を行う。具体的に、画像処理部12aは、教示用のデータの作成処理および学習処理と、カメラ11が撮影した画像データのフィルタリング処理と、カメラ11が撮影した画像データの二値化処理を行う。
画像処理部12aは、後述するように深層学習により画像認識して各指示針61,62,63,64,65,66の指示値を求める。例えば、事前に、処理対象となる複数の指示針61,62,63,64,65,66のサンプルデータを多数取得し、サンプルデータを学習させることで教示用のデータを作成しておく。画像認識部12bは、カメラ11が撮影して画像処理した指示針61,62,63,64,65,66の画像データと、教示用のデータとを照合する。
また、カメラ11が撮影した画像データは、各計器51,52,53,54,55,56を含む所定の領域の画像データである。画像処理部12aは、カメラ11が撮影した画像データから、各計器51,52,53,54,55,56の画像データだけを取り出す処理を行う。更に、画像処理部12aは、カメラ11が撮影した各指示針61,62,63,64,65,66の画像データを二値化処理し、指示針61,62,63,64,65,66を黒色とし、計器51,52,53,54,55,56の計器盤を白色とする。なお、各指示針61,62,63,64,65,66の画像処理は、二値化処理に限るものではなく、別の処理であっても、二値化処理を省略してもよい。
画像認識部12bは、前述したように、カメラ11が撮影して画像処理部12aが画像処理した指示針61,62,63,64,65,66の画像データと、教示用のデータとを照合する。この画像データの照合により指示針61,62,63,64,65,66の形状を特定し、先端が指す位置を特定して指示値を求める。本実施形態では、深層学習により計器51,52,53,54,55,56における指示針61,62,63,64,65,66の指示値を求める。
格子状の数値データであるカーネル(フィルタ)Bを予め用意し、画像処理部12aが処理して二値化した各計器51,52,53,54,55,56の画像データAとこのカーネルBを用いて画像処理する。まず、カーネルBと、このカーネルBと同サイズの画像データAにおける部分画像(ウインド)の数値データについて、ピクセル単位で要素同士を掛け合せた後に加算して合計する積和演算を行い、1つ目の数値を算出する。次に、画像データAにおける部分画像の範囲を数ピクセルずらし、前述と同様に、積和演算を行い、2つ目の数値を算出する。続いて、画像データAを網羅する範囲までこの処理を繰り返し行う折り畳みを行うことで、画像データAより小さい縮小された格子状のデータ、つまり、特徴マップCを得る。そして、特徴マップCを入力として深層学習(ニューラルネットワークによる学習)を行い、指示針61,62,63,64,65,66の指示値を推定すると共に、尤度を算出する。なお、ここでは、ニューラルネットワークに畳み込み操作を導入した深層学習を用いたが、この方法に限るものではない。また、画像処理装置12による画像処理は、深層学習に限るものではなく、他の機械学習やその他の解析方法を用いてもよい。
なお、カメラ11は、複数の計器51,52,53,54,55,56を動画で取得し、画像処理装置12は、カメラ11で取得した動画から所定のタイミングで静止画を取り込み、各指示針61,62,63,64,65,66の静止画を処理して各指示針61,62,63,64,65,66の指示値を求める。この場合、画像処理装置12は、計器51,52,53,54,55,56において、初期設定値として、各指示針61,62,63,64,65,66の作動範囲(目盛71,72,73,74,75,76の付設範囲)と、目盛71,72,73,74,75,76の数値、計測値の単位を割り当てておくことが必要である。なお、画像処理装置12が静止画を取り込むタイミングは、画像処理装置12の処理能力に依存する。
そのため、画像処理装置12は、カメラ11が撮影した各指示針61,62,63,64,65,66の画像データを処理することで、各指示針61,62,63,64,65,66の位置と初期設定値に基づいて各指示針61,62,63,64,65,66の指示値としての数値を求める。
画像認識部12bは、深層学習により指示針61,62,63,64,65,66の指示値を推定すると共に尤度を算出するが、このとき、複数の指示値とその指示値に対する尤度が求まり、最も高い尤度の指示値が採用される。そして、画像認識部12bは、各指示針61,62,63,64,65,66の画像データを処理して求めた各指示針61,62,63,64,65,66の採用した指示値における尤度と予め設定された閾値とを比較する。ここで、画像認識部12bは、各指示針61,62,63,64,65,66の指示値の尤度が予め設定された閾値より低いとき、尤度が低い各指示針61,62,63,64,65,66の指示値を求めた画像データを記憶部14に保存する。ここで、指示値の尤度とは、深層学習による画像照合率であって、閾値とは、例えば、90%であるが、閾値の数値は適宜設定すればよいものである。
また、画像処理装置12は、図示しない記憶部(内部ストレージ)を有し、例えば、RAM(Random Access Memory)である。画像処理装置12の記憶部には、画像処理装置12が各指示針61,62,63,64,65,66の画像データを処理して指示値を求めるための指示値読取プログラムが格納される。すなわち、画像処理装置12が画像データの深層学習を行うためのデータが格納される。指示値読取プログラムは、計器51,52,53,54,55,56の指示針61,62,63,64,65,66を撮影する処理と、撮影した指示針61,62,63,64,65,66の画像データを処理して指示針の指示値を求める処理と、指示針61,62,63,64,65,66の画像データを削除すると共に、求めた指示針61,62,63,64,65,66の指示値のデータを送信する処理とを画像処理装置(コンピュータ)12に実行させるものである。
画像処理装置12は、所定周期ごとに各指示針61,62,63,64,65,66の指示値を求め、送信装置13は、所定周期ごとに各指示針61,62,63,64,65,66の指示値のデータを送信する。送信装置13が送信する所定周期は、送信能力に依存する。ここで、画像処理装置12が画像処理する所定周期と、送信装置13が指示値のデータを送信する所定周期とを一致させる必要はない。そして、画像認識部12bが各指示針61,62,63,64,65,66の画像データの尤度が低いと判定したとき、送信装置13は、画像処理装置12が前回求めた指示針61,62,63,64,65,66の指示値のデータを再度送信する。
表示作成部12cは、モニタ16に表示する画像を作成する。表示作成部12cが作成してモニタ16に表示する画像については後述する。
なお、カメラ11が複数の計器51,52,53,54,55,56の各指示針61,62,63,64,65,66を撮影した場合、画像処理装置12は、各指示針61,62,63,64,65,66の画像データを予め設定された順に処理して各指示針61,62,63,64,65,66の指示値を求める。
送信装置13は、画像処理装置12が求めた各指示針61,62,63,64,65,66の指示値のデータを送信する。送信装置13が送信するデータは、日時、指示値(数値)、尤度である。このとき、画像処理装置12は、各指示針61,62,63,64,65,66の画像データを処理して各指示針61,62,63,64,65,66の指示値を求めると、次の各指示針61,62,63,64,65,66の画像データが取り込まれて更新される。すなわち、画像処理装置12は、各指示針61,62,63,64,65,66の画像データを保存することはなく、送信装置13は、画像処理装置12が処理する各指示針61,62,63,64,65,66の画像データは送信せず、求めた各指示針61,62,63,64,65,66の指示値のデータだけを送信する。ここで、各指示針61,62,63,64,65,66の指示値のデータとは、処理した日時、各計器51,52,53,54,55,56の数値、各指示針61,62,63,64,65,66の指示値の尤度などのデータである。
記憶部14は、画像処理装置12に接続される。記憶部14は、例えば、ROM(Read Only Memory)である。記憶部14は、画像処理装置12が各指示針61,62,63,64,65,66の指示値を求めると、送信装置13が送信する指示値のデータを保存する。また、記憶部14は、上述したように、画像認識部12bにより尤度が低い各指示針61,62,63,64,65,66の指示値を求めた画像データを記憶部14に保存する。
操作部15は、作業者が画像処理装置12に対して各種の設定データを入力するものである。ここで、各種の設定データとは、日時、カメラ11における撮影領域、画像処理する計器51,52,53,54,55,56、データの保存先などである。
モニタ16は、図2に示すように、複数(本実施形態では、4個)の表示部31,32,33,34が設けられる。第1表示部31は、カメラ11が撮影した領域の全ての画像データを表示する。第2表示部32は、複数の計器51,52,53,54,55,56のうち、指示値を読み取りたい特定の指示針61,63,64の計器51,53,54の画像を表示する。第3表示部33は、画像処理装置12が処理に必要な設定データなどを表示する。この設定データとは、上述した日時、カメラ11における撮影領域、画像処理する計器51,52,53,54,55,56、データの保存場所である。また、第3表示部33は、その他に、画像処理装置12による処理状態を表示する。第4表示部34は、画像処理装置12により求められた指示針61の計器51の二値化画像と指示針61の指示値(数値)を表示する。
電源部17は、画像処理装置12を介してカメラ11、送信装置13、記憶部14、操作部15、モニタ16などに電力を供給するものである。
一方、監視システム20において、受信装置22は、指示値読取システム10の送信装置13と低容量データを送受信できる無線ネットワークで接続可能である。受信装置22は、指示値読取システム10の送信装置13が送信した指示針61,62,63,64,65,66の指示値を受信する。制御装置21は、受信装置22が受信した指示針61,62,63,64,65,66の指示値を受け取り、モニタ23に表示する。制御装置21は、例えば、図示しない監視装置に接続されており、指示針61,62,63,64,65,66の指示値に基づいて各種機器を監視する。
<指示値読取方法>
ここで、本実施形態の指示値読取方法について具体的に説明する。図3は、指示値読取方法を表すフローチャートである。
本実施形態の指示値読取方法は、計器51,52,53,54,55,56の指示針61,62,63,64,65,66を撮影する工程と、撮影した指示針61,62,63,64,65,66の画像データを処理して指示針61,62,63,64,65,66の指示値を求める工程と、指示針61,62,63,64,65,66の画像データを削除すると共に求めた指示針61,62,63,64,65,66の指示値のデータを送信する工程とを有する。
具体的に説明すると、図1および図3に示すように、ステップS11にて、画像処理装置12は、カメラ11が撮影した複数の計器51,52,53,54,55,56の各指示針61,62,63,64,65,66の画像データを取得する。この場合、複数の計器51,52,53,54,55,56のうち、特定の計器だけが指定されていれば、指定されている指示針の画像データだけを取得する。ステップS12にて、画像処理装置12は、取得した複数の計器51,52,53,54,55,56の各指示針61,62,63,64,65,66の画像データを画像処理する。
ステップS13にて、画像処理装置12は、画像処理した計器51,52,53,54,55,56の各指示針61,62,63,64,65,66の画像データの深層学習を実施する。ステップS14にて、指示針61,62,63,64,65,66の指示値と尤度を求める。そして、ステップS15にて、画像処理装置12は、深層学習を実施した後、求めた指示針61,62,63,64,65,66の指示値における尤度が閾値より高いかどうかを判定する。ここで、尤度が閾値より高い(Yes)と、ステップS16に移行する。
そして、ステップS16にて、指示針61,62,63,64,65,66の指示値(数値)のデータを記憶部14に保存する。ステップS17にて、計器51,52,53,54,55,56の各指示針61,62,63,64,65,66の画像データを更新して削除する。ステップS18にて、送信装置13は、指示針61,62,63,64,65,66の指示値(数値)のデータを監視システム20に送信する。一方、ステップS15にて、求めた指示針61,62,63,64,65,66の指示値における尤度が閾値より低い(No)と、ステップS19にて、尤度が低い各指示針61,62,63,64,65,66の指示値を求めた画像データを記憶部14に保存する。
<指示値読取システムの初期設定装置>
ところで、指示値読取システム10は、1針丸型計器だけでなく、例えば、レベル計器やデジタル計器などの指示値を読み取ることができる。1針丸型計器、レベル計器、デジタル計器などは、形状などが相違する。そのため、指示値読取システム10による指示値読取作業を実施する前に、画像処理装置12の初期設定作業を実施する必要がある。
図1に示すように、指示値読取システム10は、初期設定装置18を備える。カメラ11は、計器51,52,53,54,55,56を撮影可能である。初期設定装置18は、カメラ11が撮影した計器51,52,53,54,55,56の画像データに基づいて少なくとも計器51,52,53,54,55,56の形状を特定する。画像処理装置12は、初期設定装置18により形状が特定された計器51,52,53,54,55,56のカメラ11による画像データを処理して指示値を求める。
<指示値読取システムの初期設定方法>
以下、初期設定装置18による初期設定方法について概略説明する。図4は、本実施形態の指示値読取システムの初期設定方法を表すフローチャートである。
指示値読取システムの初期設定方法において、図1および図4に示すように、カメラ11は、現場100における複数の計器51,52,53,54,55,56の近傍に配置される。カメラ11は、複数の計器51,52,53,54,55,56を撮影可能な位置に配置される。ステップS21にて、複数の計器51,52,53,54,55,56に対するカメラ11の焦点合わせを実施する。この場合、作業者が手動によりカメラ11の焦点を調整する。但し、カメラ11に自動焦点位置調整装置を搭載し、自動でカメラ11の焦点を調整するように構成してもよい。
ステップS22にて、初期設定処理が開始される。初期設定処理の開始は、例えば、作業者による初期設定開始スイッチを操作することが実行される。すなわち、初期設定開始スイッチが操作されると、初期設定装置18は、ステップS23からステップS30までの処理を自動的に実行する。ステップS23にて、初期設定装置18は、直交変換処理を実行する。カメラ11は、複数の計器51,52,53,54,55,56を撮影可能な位置に配置されることから、カメラ11は、複数の計器51,52,53,54,55,56を正面から撮影することが困難となる。すなわち、計器51,52,53,54,55,56に対するカメラ11の撮影角度は、直交する方向になるとは限らない。そのため、初期設定装置18は、カメラ11が計器51,52,53,54,55,56を撮影することで取り込んだ歪んだ画像データを、あたかも、カメラ11が計器51,52,53,54,55,56を正面から撮影したような画像データに補正する。
ステップS24にて、初期設定装置18は、計器の認識処理を実行する。カメラ11は、複数の計器51,52,53,54,55,56を撮影可能であるが、計器51,52,53,54,55,56がどこにあるか、計器51,52,53,54,55,56がどのような種類のものであるかは不明である。そのため、初期設定装置18は、カメラ11が撮影した画像データの中から、事前に、計器51,52,53,54,55,56の位置を特定すると共に、計器51,52,53,54,55,56の種類(1針丸型計器、レベル計器、デジタル計器など)を特定する。
ステップS25にて、初期設定装置18は、計器の大きさおよび中心位置の特定処理を実行する。計器51,52,53,54,55,56の種類(1針丸型計器、レベル計器、デジタル計器など)が異なる場合、計器51,52,53,54,55,56の外形形状が相違する。そのため、初期設定装置18は、カメラ11が撮影した画像データに基づいて、各計器51,52,53,54,55,56の大きさ(外形形状)および中心位置を特定する。
ステップS26にて、初期設定装置18は、指示針61,62,63,64,65,66の始点位置および終点位置の特定処理を実行する。例えば、計器51,52,53,54,55,56が1針丸型計器であると、指示針61,62,63,64,65,66は、始点位置から終点位置までの間を回動して指示値を表示する。初期設定装置18は、1針丸型計器である計器51,52,53,54,55,56にて、指示針61,62,63,64,65,66が回動する始点位置と終点位置を特定する。
ステップS27にて、初期設定装置18は、指示針61,62,63,64,65,66の始点位置および終点位置の工学値の設定処理を実行する。例えば、計器51,52,53,54,55,56が1針丸型計器であると、始点位置から終点位置までの間に目盛71,72,73,74,75,76が付設される。初期設定装置18は、1針丸型計器である計器51,52,53,54,55,56にて、指示針61,62,63,64,65,66の始点位置と終点位置に付設される目盛71,72,73,74,75,76の工学値を設定する。
ステップS28にて、初期設定装置18は、画像テータの二値化処理を実行する。カメラ11により撮影された複数の計器51,52,53,54,55,56の画像データは、画像処理装置12にカラー動画として取り込まれ、画像処理装置12は、所定のタイミングでカラー静止画として取り込む。画像処理装置12は、カラー静止画を二値化処理し、白黒の静止画から指示値を読み取る。このとき、画像処理装置12は、黒色と白色との輝度の閾値を特定し、カラー静止画を二値化処理する。しかし、カメラ11による撮影環境は、場所や時間などにより異なることから、複数の計器51,52,53,54,55,56のうち、明るい画像データもあれば、暗い画像データもある。初期設定装置18は、計器51,52,53,54,55,56ごとに、二値化処理するための黒色と白色との輝度の閾値を特定し、各計器51,52,53,54,55,56の画像テータを二値化処理する。
ステップS29にて、初期設定装置18は、全ての計器51,52,53,54,55,56の初期設定処理が完了したかどうかを判定する。すなわち、ステップS24にて、複数の計器51,52,53,54,55,56が認識されると、ステップS25からステップS29までの処理は、計器51,52,53,54,55,56ごとに順番に実行される。ここで、全ての計器51,52,53,54,55,56の初期設定処理が完了していないと判定(No)されると、ステップS25に戻り、初期設定処理が完了していない計器の初期設定処理を実行する。一方、全ての計器51,52,53,54,55,56の初期設定処理が完了したと判定(Yes)されると、初期設定処理を終了する。
以下、上述した初期設定方法における各処理について詳細に説明する。図5は、直交変換処理を表すフローチャート、図10は、直交変換処理を説明するための概略図、図11は、直交変換処理におけるカメラの傾き補正を説明するための概略図、図12は、直交変換処理前のカメラの画像データを表す概略図、図13は、直交変換処理後のカメラの画像データを表す概略図である。
直交変換処理において、図10に示すように、現場100には、カメラ11と、計器51と、基準画像である市松模様の表示板81が配置される。なお、複数の計器51,52,53,54,55,56がある場合、複数の計器51,52,53,54,55,56に対して1個の表示板81が設けられる。但し、複数の計器51,52,53,54,55,56に対して2個以上の表示板81を設けてもよい。カメラ11は、計器51と表示板81を撮影可能である。図5および図10に示すように、ステップS41にて、カメラ11は、表示板81の市松模様と、計器51を撮影する。ステップS42にて、カメラ11が撮影した表示板81の市松模様の画像データと、計器51の画像データを取得する。ステップS43にて、市松模様の画像データに基づいてカメラ11に対する計器51の傾きに関する情報を算出する。ステップS44にて、カメラ11に対する計器51の傾きに関する情報に基づいて計器51の画像データを補正し、計器51の補正画像データを取得する。
すなわち、図11に示すように、例えば、表示板81の市松模様に対して、カメラ11の光軸ocが傾斜角度θだけy方向に傾いているとする。すると、図12に示すように、カメラ11が撮影した計器51の画像データは、真円である計器51の外形形状が、y方向に長い楕円形状になる。そのため、カメラ11が撮影した楕円形状である計器51の画像データを、真円形状である計器51の画像データに補正する必要がある。この場合、カメラ11が表示板81の市松模様を正面から撮影した画像データを基準画像データとして記憶しておく。そして、市松模様の基準画像データと、カメラ11の光軸ocが傾斜角度θだけy方向に傾いた状態でカメラ11が撮影した市松模様の画像データとを比較する。すると、市松模様の基準画像データと市松模様の画像データとの寸法関係から、カメラ11の光軸ocの傾斜方向と、その傾斜角度θを算出することができる。
そして、図11に示すように、カメラ11の光軸ocの傾斜方向と傾斜角度θが算出されると、下記の座標変換式(数1)により、カメラ11が計器51を正面から撮影した計器51の補正画像データを取得することができる。ここで、カメラ11の実際の光軸oc、市松模様に直交する光軸o、光軸oの方向をx、光軸oに直交する鉛直方向をy、光軸oに直交する水平方向をz、カメラ11と市松模様との距離をφとする。
すると、図13に示すように、座標変換式(数1)により補正された計器51の補正画像データは、計器51の外形形状が真円となる。
図6は、計器認識処理を表すフローチャートである。
計器認識処理において、図6に示すように、ステップS51にて、直交変換処理において補正した計器51の補正画像データを設定する。ステップS52にて、学習データによる計器形状に関する学習器の更新データを取得する。計器認識処理は、深層学習(ニューラルネットワークによる学習)を行い、計器の認識処理を実行する。そのため、多種類の計器を撮影した大量の画像データを学習データとして用意し、学習器を更新して記憶させておく。そして、計器認識処理の実行前に、学習器の更新データを取得する。
ステップS53にて、CNN(Convolutional Neural Network)による計器判別処理を実行する。すなわち、カメラ11が撮影した計器51の画像データ(補正画像データ)と、学習器の記憶された学習データとを比較し、計器51の種類を特定する。すなわち、学習器の記憶された大量の学習データ(計器の画像データ)の中から、補正画像データの計器に最も近いものを選択する。ステップS54にて、計器の種類を設定する。すなわち、計器51が、1針丸型計器、レベル計器、デジタル計器、LEDランプなどであるかを特定する。
なお、ステップS53にて、計器判別処理を実行することで、所定の計器が判別されたとき、初期設定装置18は、自動処理を一時停止し、作業者が適用する計器を選択することができるようにしてもよい。例えば、指示値読取システム10は、最大で6個の計器の指示値を読み取ることができるが、7個以上の計器を判別したとき、作業者は、適用する6個以下の計器を選択する。また、初期設定装置18は、6個以下の計器を判別したが、必要である5個以下の計器を選択する。
図17は、レベル計器を表す概略図、図18は、デジタル計器を表す概略図である。図2に示すように、1針丸型計器としての計器51,52,53,54,55,56は、計器盤の外形が円形をなし、中心位置に指示針61,62,63,64,65,66が回動自在に支持され、計器盤の外周部に目盛71,72,73,74,75,76が付設されて構成される。図17に示すように、レベル計器91は、計器盤の外形が四角形をなし、指示針92が上下移動自在に支持され、計器盤の側部に上下方向に沿って目盛93が付設されて構成される。図18に示すように、デジタル計器96は、計器盤の外形が円形をなし、中央部に表示部97が設けられ、表示部97内に数字(指示値)98が表示される。また、図示しないが、LEDランプは、計器盤内に点灯部が設けられて構成される。なお、1針丸型計器、レベル計器、デジタル計器、LEDランプなどの形状を上述したものに限定されるものではなく、多種多様である。すなわち、初期設定装置18は、計器の形状に拘わらず、その形状を特定することができる。
図7は、計器の大きさおよび中心位置の特定処理を表すフローチャート、図14は、計器の大きさおよび中心位置の特定処理を説明するための概略図である。
計器の大きさおよび中心位置の特定処理において、図7に示すように、ステップS61にて、直交変換処理において補正した計器51の補正画像データを設定する。ステップS62にて、学習データによる計器形状に関する学習器の更新データを取得する。計器の大きさおよび中心位置の特定処理は、深層学習を行い、計器の大きさおよび中心位置の特定処理を実行する。
ステップS63にて、処理の実行回数Nとカウント値nを設定する。ここで、処理の実行回数N(例えば、100)は、適宜設定すればよいものであり、初回のカウント値nは、0である。ステップS64にて、CNNにおける対象範囲を設定し、CNNによる計器の大きさの特定処理を実行する。すなわち、ステップS65にて、CNNにおける対象範囲(外枠)の大きさを設定すると共に、対象範囲(外枠)の位置を設定する。ステップS66にて、CNNにおける対象範囲での画像データを抽出する。ステップS67にて、CNNにより計器の種類を判別する。ステップS68にて、抽出した画像データの尤度αnと対象範囲βnを記録する。そして、ステップS69にて、カウント値nに1を加算する。なお、CNNにおける対象範囲の形状は、四角い外枠に限るものではない。
ステップS70にて、カウント値nが実行回数Nに到達したかどうかを判定する。カウント値nが実行回数Nに到達していないと判定(No)されると、ステップS65に戻り、ステップS65からステップS69の処理を繰り返し実行する。このとき、ステップS65では、CNNにおける対象範囲の大きさと対象範囲の位置の少なくともいずれか一方を前回の処理とは異なるものに設定する。
そして、ステップS70にて、カウント値nが実行回数Nに到達したと判定(Yes)されると、尤度αnと対象範囲βnを有する異なるN個の画像データが取得されることとなる。ステップS71にて、N個の画像データの中から、尤度αnが最も高い画像データの対象範囲βnを抽出する。このとき、尤度の閾値(例えば、90%)を設定し、画像データの尤度αnが予め設定された閾値より高く、且つ、尤度αnが最も高い画像データの対象範囲βnを抽出することが好ましい。
そして、ステップS72にて、抽出した対象範囲βnの画像データに基づいて計器51の外形形状、つまり、大きさ(外形形状)と、計器51の外形形状に基づいた計器51の中心位置を特定する。
具体的に説明すると、図14に示すように、まず、計器51に対して対象範囲を規定するための大きさや位置の異なる複数の四角い外枠F1,F2,F3・・・を順次当てはめ、外枠F1,F2,F3・・・ごとの尤度と対象範囲を記録していく。次に、尤度が最も高い画像データの対象範囲を抽出すると、計器51の外径が四角い外枠Fに接するような画像を取得することができる。そのため、四角い外枠Fの大きさにより計器51の大きさを特定することができる。そして、計器51の大きさが特定されると、計器51の中心位置を特定することができる。
図8は、計器の始点位置と終点位置の特定処理および工学値の設定処理を表すフローチャート、図15は、計器の始点位置と終点位置の特定処理および工学値の設定処理を説明するための概略図である。
計器の始点位置と終点位置の特定処理および工学値の設定処理において、図8に示すように、ステップS81にて、計器の大きさおよび中心位置の特定処理において特定された計器51の情報を設定する。ステップS82にて、特定された計器51が1針丸型計器であるかどうかを判定する。ここで、計器51が1針丸型計器であると判定(Yes)されると、ステップS83にて、1針丸型計器としての計器51の大きさ(外形形状)および中心位置に基づいて計器51の指示針61が指す目盛の始点位置と終点位置を特定する。ステップS84にて、計器51の始点位置の工学値と終点位置の工学値を特定する。
一方、ステップS82にて、計器51が1針丸型計器ではないと判定(No)されると、ステップS85にて、計器がレベル計器であるかどうかを判定する。ここで、計器がレベル計器であるかと判定されると、ステップS86にて、レベル計器の大きさ(外形形状)および中心位置に基づいて計器の指示針が指す目盛の始点位置と終点位置を特定する。ステップS87にて、計器の始点位置の工学値と終点位置の工学値を特定する。一方、ステップS85にて、計器51がレベル計器ではないと判定(No)されると、処理を終了する。
なお、図8の処理では、計器が1針丸型計器またはレベル計器であるかどうかの判定処理を行ったが、計器がデジタル計器やLEDランプなどの他の計器であるかどうかの判定処理を行ってもよい。他但し、計器がデジタル計器またはLEDランプであると判定された場合、計器の始点位置と終点位置や工学値を特定する処理は実行しない。
計器の始点位置と終点位置の特定処理および工学値の設定処理は、CNNにより実行する。図15に示すように、計器51の大きさと中心位置が特定されると、計器51の種類が特定され、計器51の種類が特定されると、計器51の始点位置と終点位置が特定される。そして、計器の始点位置と終点位置の工学値の設定処理は、OCR(Optical Character Recognition/Reader)を用いる。基準位置Pから始点位置P1までの角度γ1、基準位置Pから終点位置P2までの角度γ2とすると、この角度γ1,γ2により始点位置と終点位置の工学値が設定される。
図9は、画像データの二値化処理を表すフローチャート、図16は、画像データの二値化処理を説明するための概略図である。
画像データの二値化処理において、図9および図16に示すように、ステップS91にて、計器の大きさ、中心位置、始点位置、終点位置、工学値が特定された計器51の情報を設定する。ステップS92にて、カウント値nを0に設定する。ステップS93にて、特定された計器51の画像データにおいて、輝度ごとの分離度を算出する。すなわち、ステップS94にて、クラス内分散を算出すると共に、クラス間分散を算出する。ステップS95にて、分離度とカウント値nを記録する。分離度とは、クラス間分散に対するクラス内分散の割合である。ステップS96にて、カウント値nに1を加算する。
ステップS97にて、カウント値nが256に到達したかどうかを判定する。ここで、カウント値nが256に到達していないと判定(No)されると、ステップS94に戻ってステップS94からステップS96の処理を繰り返す。このとき、輝度を変更しながら処理を繰り返し実行する。一方、カウント値nが256に到達したと判定(Yes)されると、ステップS98にて、記憶された256個の輝度が異なる分離度およびカウント値nの中から、分離度が最も高い輝度を二値化処理の閾値Tとして設定し、二値化処理を実行する。
[本実施形態の作用効果]
第1の態様に係る指示値読取システムは、計器51,52,53,54,55,56を撮影可能なカメラ11と、カメラ11が撮影した計器51,52,53,54,55,56の画像データに基づいて計器51,52,53,54,55,56の形状を特定する初期設定装置18と、初期設定装置18により形状が特定された計器51,52,53,54,55,56のカメラ11による画像データを処理して指示値を求める画像処理装置12とを備える。
第1の態様に係る指示値読取システムは、初期設定装置18が事前にカメラ11が撮影した計器51,52,53,54,55,56の画像データに基づいて計器51,52,53,54,55,56の形状を特定することから、初期設定作業の簡素化を図ることができる。
第2の態様に係る指示値読取システムは、初期設定装置18は、計器51,52,53,54,55,56の画像データにおける予め設定された対象範囲と計器51,52,53,54,55,56の対象範囲との位置関係に基づいて計器51,52,53,54,55,56の外形形状を特定する。これにより、計器51,52,53,54,55,56の設定を容易に特定することができる。
第3の態様に係る指示値読取システムは、初期設定装置18は、特定された計器51,52,53,54,55,56の外形形状に基づいて計器51,52,53,54,55,56の中心位置を特定する。これにより、計器51,52,53,54,55,56の中心位置を容易に特定することができる。
第4の態様に係る指示値読取システムは、初期設定装置18は、特定された計器51,52,53,54,55,56の外形形状および中心位置に基づいて計器51,52,53,54,55,56の指示針61,62,63,64,65,66が指す目盛71,72,73,74,75,76の始点位置と終点位置を特定する。これにより、計器51,52,53,54,55,56の初期設定作業の簡素化を図ることができる。
第5の態様に係る指示値読取システムは、初期設定装置18は、特定された計器51,52,53,54,55,56の外形形状および中心位置に基づいて始点位置の工学値と終点位置の工学値を特定する。これにより、計器51,52,53,54,55,56の初期設定作業の簡素化を図ることができる。
第6の態様に係る指示値読取システムは、初期設定装置18は、計器51,52,53,54,55,56の形状を特定した後、計器51,52,53,54,55,56の画像データを二値化処理する。これにより、計器51,52,53,54,55,56の指示値を高精度に求めることができる。
第7の態様に係る指示値読取システムは、初期設定装置18は、クラス間分散に対するクラス内分散の割合である分離度が最も高い輝度を二値化処理の閾値として設定する。これにより、画像データの明暗に拘わらず、画像データを高精度に二値化することができる。
第8の態様に係る指示値読取システムは、初期設定装置18は、計器51,52,53,54,55,56の近傍に設けられた市松模様(基準画像)とカメラ11が撮影した市松模様の画像データとに基づいて計器51,52,53,54,55,56に対するカメラ11の傾斜角度(撮影角度)を求め、カメラ11の傾斜角度に基づいて計器51,52,53,54,55,56の画像データを補正する。これにより、カメラ11の角度に拘わらず、適正な画像を取得することができる。
第9の態様に係る指示値読取システムは、初期設定装置18は、計器51,52,53,54,55,56の画像データに基づいて計器51,52,53,54,55,56の種類を特定する。これにより、事前に計器51,52,53,54,55,56の種類を特定することで、指示値を容易に求めることができる。
第10の態様に係る指示値読取システムは、初期設定装置18は、カメラ11が撮影した計器51,52,53,54,55,56の複数の画像データにおける尤度を求め、尤度が予め設定された閾値より高く、且つ、尤度が最も高い画像データに基づいて計器51,52,53,54,55,56の形状を特定する。これにより、計器51,52,53,54,55,56の形状を高精度に特定することができる。
第11の態様に係る指示値読取システムは、初期設定装置18は、カメラ11が撮影した計器51,52,53,54,55,56の画像データを深層学習により計器51,52,53,54,55,56の形状を特定する。これにより、初期設定を適正に行うことができる。
第12の態様に係る指示値読取方法は、計器51,52,53,54,55,56を撮影する工程と、撮影した計器51,52,53,54,55,56の画像データに基づいて計器51,52,53,54,55,56の形状を特定する工程と、形状が特定された計器51,52,53,54,55,56の画像データを処理して指示値を求める工程とを有する。これにより、初期設定作業の簡素化を図ることができる。その結果、計器51,52,53,54,55,56の指示値を求める処理を高精度に行うことができる。
第13の態様に係る指示値読取プログラムは、計器51,52,53,54,55,56を撮影する工程と、撮影した計器51,52,53,54,55,56の画像データに基づいて計器51,52,53,54,55,56の形状を特定する工程と、形状が特定された計器51,52,53,54,55,56の画像データを処理して指示値を求める工程とをコンピュータに実行させる。これにより、初期設定作業の簡素化を図ることができる。その結果、計器51,52,53,54,55,56の指示値を求める処理を高精度に行うことができる。