以下、本発明をその実施形態を示す図面に基づいて詳述する。
(実施形態1)
実施形態1は、検査装置の検査結果を表示するモニタ画面をキャプチャした画面情報に基づき、検査対象物に対する異常の有無を判断する形態に関する。なお、本実施形態では、一例として検査装置を用いて説明するが、これに限るものではない。例えば、生産装置、製造装置、計測装置、試験装置、またはその他各種のカスタム装置等の装置であっても良い。図1は、検査装置の自動化システムの概要を示す説明図である。本実施形態のシステムは、情報処理装置1及び検査装置2を含み、各装置はインターネット等のネットワークNを介して情報の送受信を行う。
情報処理装置1は、種々の情報に対する処理、記憶及び送受信を行う情報処理装置である。情報処理装置1は、例えばサーバ装置、パーソナルコンピュータ等である。本実施形態において、情報処理装置1はサーバ装置であるものとし、以下では簡潔のためサーバ1と読み替える。
検査装置2は、生産ラインで検査対象物に対する状態、形状、方向、大小及び高さ等の検査を行う装置である。検査対象物は、例えばプリント基板(電子基板)、液晶表示装置に使用される光学フィルム若しくは光学シート、または絵柄印刷物(紙やフィルム等のシート状物に絵柄が印刷されたもの)等であっても良い。検査装置2は、例えば加工設備へのワーク搬入、または工程間のワーク搬送におけるワークの高さの測定、ワークに対する異常の有無の検査等を行う検査装置であっても良い。ワークは、生産ラインの加工対象物(被加工物)である。生産ラインでは、1個のワークを持ち、複数の工程で組立を行って完成品に仕上げる。
本実施形態に係るサーバ1は、リモートデスクトップ等の遠隔操作機能を有する情報処理装置である。サーバ1は、遠隔操作機能を用いて、検査装置2の検査結果を表示するモニタ画面をキャプチャし、キャプチャしたモニタ画面から画面情報を取得する。なお、本実施形態では、モニタと検査装置2とが一体型である例を示すが、これに限らず、検査装置2に接続されたパーソナルコンピュータのモニタを用いても良い。
サーバ1は、取得した画面情報内の検査対象物の画像(例えば、撮影画像等)、または検査結果を示すグラフ(例えば、波形データ等)領域内の画像を抽出する。サーバ1は、抽出した検査対象物の画像またはグラフ領域内の画像に基づき、検査対象物に対する異常の有無を判断する。サーバ1は、取得した画面情報から、異常の有無を入力するボタン(例えば、「OK」または「NG」ボタン)を認識する。
サーバ1は、検査対象物に対する異常の有無を判断した結果に応じて、該当するボタンの操作信号を検査装置2に送信(出力)する。検査装置2は、サーバ1から受信したボタンの操作信号に応じて、該当する操作を実行する。例えば、良品または不良品の検査において、サーバ1は検査装置2に「NG」ボタンの操作信号を出力した場合、検査装置2は不良品のラインにワークを排出させる操作を実行しても良い。これにより、オペレータの操作、または検査装置2に対する改造(例えば、自動運転させるソフトの導入)等が不要となる。遠隔地のサーバ1は、検査装置2の画面情報を解析して操作指示を遠隔で出力することで、検査装置2を自動運転させる。
図2は、サーバ1の構成例を示すブロック図である。サーバ1は、制御部11、記憶部12、通信部13、入力部14、表示部15、読取部16及び大容量記憶部17を含む。各構成はバスBで接続されている。
制御部11はCPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)等の演算処理装置を含み、記憶部12に記憶された制御プログラム1Pを読み出して実行することにより、サーバ1に係る種々の情報処理、制御処理等を行う。なお、図2では制御部11を単一のプロセッサであるものとして説明するが、マルチプロセッサであっても良い。
記憶部12はRAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ素子を含み、制御部11が処理を実行するために必要な制御プログラム1P又はデータ等を記憶している。また、記憶部12は、制御部11が演算処理を実行するために必要なデータ等を一時的に記憶する。通信部13は通信に関する処理を行うための通信モジュールであり、ネットワークNを介して、検査装置2との間で情報の送受信を行う。
入力部14は、マウス、キーボード、タッチパネル、ボタン等の入力デバイスであり、受け付けた操作情報を制御部11へ出力する。表示部15は、液晶ディスプレイ又は有機EL(electroluminescence)ディスプレイ等であり、制御部11の指示に従い各種情報を表示する。
読取部16は、CD(Compact Disc)-ROM又はDVD(Digital Versatile Disc)-ROMを含む可搬型記憶媒体1aを読み取る。制御部11が読取部16を介して、制御プログラム1Pを可搬型記憶媒体1aより読み取り、大容量記憶部17に記憶しても良い。また、ネットワークN等を介して他のコンピュータから制御部11が制御プログラム1Pをダウンロードし、大容量記憶部17に記憶しても良い。さらにまた、半導体メモリ1bから、制御部11が制御プログラム1Pを読み込んでも良い。
大容量記憶部17は、例えばHDD(Hard disk drive:ハードディスク)、SSD(Solid State Drive:ソリッドステートドライブ)等の記録媒体を備える。大容量記憶部17は、検査結果DB171及び良否判定モデル172を含む。検査結果DB171は、検査対象物に対する異常の有無を判断した検査結果を記憶している。良否判定モデル172は、検査対象物の画像またはグラフ領域内の画像から異常の有無を検出(判断)する検出器であり、機械学習により生成された学習済みモデル(画像認識モデル)である。
なお、本実施形態において記憶部12及び大容量記憶部17は一体の記憶装置として構成されていても良い。また、大容量記憶部17は複数の記憶装置により構成されていても良い。更にまた、大容量記憶部17はサーバ1に接続された外部記憶装置であっても良い。
なお、本実施形態では、サーバ1は一台の情報処理装置であるものとして説明するが、複数台により分散して処理させても良く、または仮想マシンにより構成されていても良い。
図3は、検査結果DB171のレコードレイアウトの一例を示す説明図である。検査結果DB171は、管理ID列、モニタ画面列、検査結果列、詳細列及び検査日時列を含む。管理ID列は、各検査結果を識別するために、一意に特定される検査結果のIDを記憶している。モニタ画面列は、検査装置2の検査結果を表示するモニタ画面をキャプチャした画面情報を記憶している。検査結果列は、キャプチャした画面情報に基づき、検査対象物に対する異常の有無を判断した検査結果を記憶している。詳細列は、検査結果に対する詳細説明情報を記憶している。検査日時列は、検査対象物に対して検査を行った日時情報を記憶している。
図4は、検査装置2の構成例を示すブロック図である。検査装置2は、制御部21、記憶部22、位置検出部23、入力部24、表示部25、通信部26、搬送機構27、読取部28及び大容量記憶部29を含む。各ハードウェアはバスBで接続されている。
制御部21はCPU、MPU、GPU等の演算処理装置を含み、記憶部22に記憶された制御プログラム2Pを読み出して実行することにより、検査装置2に係る種々の情報処理、制御処理及び検査処理等を行う。なお、図4では制御部21を単一のプロセッサであるものとして説明するが、マルチプロセッサであっても良い。記憶部22はRAM、ROM等のメモリ素子を含み、制御部21が処理を実行するために必要な制御プログラム2P又はデータ等を記憶している。また、記憶部22は、制御部21が演算処理を実行するために必要なデータ等を一時的に記憶する。
位置検出部23は、所定の基準位置からの検査対象物の走行距離、走行方向及び角度等を検出する。例えば、距離を検出する距離センサ、水平方向の方位を検出する軸角度センサ、及び垂直方向の傾斜角度を検出する傾斜センサ等を利用することで、位置に関する情報を検出しても良い。
入力部24は、マウス、キーボード、タッチパネル、ボタン等の入力デバイスであり、受け付けた操作情報を制御部21へ出力する。表示部25は、液晶ディスプレイ又は有機ELディスプレイ等であり、制御部21の指示に従い各種情報を表示する。通信部26は通信に関する処理を行うための通信モジュールであり、ネットワークNを介して、サーバ1等と情報の送受信を行う。
搬送機構27は、搬送コンベア271、コンベアモータ272及び振分装置273を含み、制御部21により駆動される。具体的には、制御部21は各種の操作信号に応じて、バッテリー(図示せず)からの電力供給を得て移動(搬送)制御を実行する。搬送コンベア271は、生産ラインにワークを検査するために、搬送レールに沿ってワークを搬送する。コンベアモータ272は、搬送コンベア271を駆動するモータ制御回路であり、搬送コンベア271の搬送速度等を制御する。振分装置273は、搬送コンベア271から出てきた検査対象物のうち、制御部21によって異常が発生していると判定された検査対象物を不良品のラインに排出する。
読取部28は、CD-ROM又はDVD-ROMを含む可搬型記憶媒体2aを読み取る。制御部21が読取部28を介して、制御プログラム2Pを可搬型記憶媒体2aより読み取り、大容量記憶部29に記憶しても良い。また、ネットワークN等を介して他のコンピュータから制御部21が制御プログラム2Pをダウンロードし、大容量記憶部29に記憶しても良い。さらにまた、半導体メモリ2bから、制御部21が制御プログラム2Pを読み込んでも良い。
大容量記憶部29は、例えばHDD、SSD等の記録媒体を備える。大容量記憶部29には、測定データDB291が記憶されている。測定データDB291は、検査対象物に対する異常の有無を判断するための各種の検査データを記憶している。
なお、本実施形態において記憶部22及び大容量記憶部29は一体の記憶装置として構成されていても良い。また、大容量記憶部29は複数の記憶装置により構成されていても良い。更にまた、大容量記憶部29は検査装置2に接続された外部記憶装置であっても良い。
図5は、測定データDB291のレコードレイアウトの一例を示す説明図である。測定データDB291は、測定ID列、ワークID列、測定項目列及び測定日時列を含む。測定ID列は、各測定データを識別するために、一意に特定される測定データのIDを記憶している。ワークID列は、各ワークを識別するために、一意に特定されるワークのIDを記憶している。測定項目列は、高さ列、方位列及び傾斜角度列を含む。高さ列は、測定されたワークの高さを記憶している。方位列は、測定されたワークの方位データ(例えば、方位角の値)を記憶している。傾斜角度列は、測定されたワークの傾斜角度の値を記憶している。測定日時列は、ワークに対して測定を行った日時情報を記憶している。
図6は、検査対象物に対する異常の有無を判断する動作を説明する説明図である。サーバ1の制御部11は、ネットワークN(例えば、インターネット)を介して、リモートデスクトップ等の遠隔操作機能を用いて検査装置2と接続する。制御部11は、通信部13を介して、リモートデスクトップにより接続された検査装置2の検査結果を表示するモニタ画面をキャプチャし、キャプチャしたモニタ画面から画面情報を取得する。
制御部11は、例えばA-KAZE(Accelerated KAZE)等の局所特徴量抽出方法を用いて、取得した画面情報内の検査対象物の画像またはグラフ領域内の画像を抽出する。なお、予めグラフの表示領域を把握している場合、グラフの表示領域に対応する画素領域を抽出するようにすれば良い。検査対象物の画像は、例えば検査対象物に対して撮影された撮影画像(写真)であっても良い。グラフ領域内の画像は、検査結果を示すグラフであり、例えば検査対象物の高さを計測した波形データのグラフであっても良い。
制御部11は、抽出した検査対象物の画像またはグラフ領域内の画像に基づき、検査対象物に対する異常の有無を判断する。具体的には、制御部11は、抽出した検査対象物の画像またはグラフ領域内の画像を、ディープラーニングにより構築された良否判定モデル172に入力する。制御部11は、良否判定モデル172を用いて、検査対象物に対する異常の有無の認識結果を出力する。なお、本実施形態では、画面情報から対象領域(例えば、グラフ領域)の画像を抽出し、抽出した対象領域の画像を良否判定モデル172に入力したが、これに限るものではない。例えば、キャプチャされたモニタ画面の画像全体をそのまま良否判定モデル172に入力しても良い。なお、良否判定モデル172を用いて異常の有無を判断する処理に関しては、実施形態2で詳しく説明する。
制御部11は、検査対象物に対する異常の有無を判断した検査結果を大容量記憶部17の検査結果DB171に記憶する。具体的には、制御部11は、管理IDを割り振って、モニタ画面、検査結果、検査結果に対する詳細の説明情報及び検査日時を一つのレコードとして検査結果DB171に記憶する。
制御部11は、取得した画面情報に基づき、異常の有無を入力するボタンを認識する。異常の有無を入力するボタンは、例えば「OK」、「NG」ボタンであり、異常の有無を判断した結果に応じて、該当する操作指令を受け取るボタンである。ボタンの認識処理に関しては、例えばモニタ画面がキャプチャされた画像からエッジ(画素値の変化の大きい部分)を抽出してボタンの形状を特定する等の周知の画像解析手法を利用しても良い。モニタ画面に複数のボタンが含まれる場合、制御部11は、これら全てのボタンを認識し、認識した各ボタンに割り当てられた機能を特定する。
具体的には、制御部11は、例えば認識した各ボタンの形状及び各ボタン間の位置関係と、予め記憶部12に記憶された操作パネル構成図に配置された各ボタンパターンの形状及び各パターン間の位置関係とを比較する。制御部11は、位置関係の比較結果に基づき、当該認識した各ボタンが操作パネル構成図に配置された各ボタンパターンのいずれに対応するかを特定する。また、上述の通り操作パネル構成図に配置された各ボタンにボタンID(識別子)が割り当てられている場合、認識された各ボタンと操作パネル構成図に配置された各ボタンパターンとの対応関係が特定できれば、当該認識された各ボタンのボタンIDを判明することができる。
制御部11は、検査対象物に対する異常の有無を判断した結果に応じて、認識した複数のボタンから該当するボタンを特定する。例えば、制御部11は、検査対象物に対する異常が発生していると判定した場合、異常に対応する「NG」ボタンを特定しても良い。制御部11は、通信部13を介して、特定したボタンの操作信号を検査装置2に送信する。操作信号は、例えばボタンID(通し番号)であっても良く、または座標情報(例えば、画面の左上を基点にして右に10ピクセル、下に5ピクセル)であっても良い。
検査装置2の制御部21は、通信部26を介して、サーバ1からボタンの操作信号を受信し、受信した操作信号に応じた動作指令(例えば、再検査等)を出力する。具体的には、制御部21は受信した操作信号に基づき、マウスのカーソルを該当するボタンに移動させて、クリック(タッチ)イベントを発生させる。
図7は、画面情報から抽出されたグラフ領域内の画像を説明する説明図である。なお、図7で、波形グラフを示す画像の例を説明するが、これに限るものではない。例えば、折れ線グラフまたは棒グラフ等を利用しても良い。
図7Aは、検査対象物に異常が発生していない正常波形を示している。横軸は検査対象のワークの測定位置(横方向)を示し、縦軸はワークの高さを示し、単位はミリメートル(mm)である。ワークの高さが正常値の範囲内である場合、同じ幅の波が周期的に繰り返し、且つ、波のピーク値が閾値の所定変動範囲内(例えば、閾値±1mm)に抑えられる。
図7Bは、大きな波がある際の不良波形を示している。サーバ1の制御部11は、波のピーク値(波高値)を抽出し、抽出したピーク値と閾値の変動範囲とを比較する。図示のように、閾値の変動範囲を超えたピーク値が存在しているため、制御部11は該ワークに対する異常が発生していると判断する。
図7Cは、傾いている不良波形を示している。制御部11は、波のピーク値を抽出し、抽出したピーク値で形成される近似直線の傾きを算出する。制御部11は、算出した傾きが予め定めた閾値を超えたと判断した場合、該ワークに対する異常が発生していると判断する。
図7Dは、ピーク間隔が不均一である不良波形を示している。制御部11は、ピーク間隔(周期)を取得し、取得したそれぞれの間隔が均一であるか否かを判断する。制御部11はピーク間隔が不均一であると判断した場合、該ワークに対する異常が発生していると判断する。
なお、後述する実施形態2では、上述した波形グラフの画像を学習済みの良否判定モデル172に入力し、検査対象物に対する異常の有無を認識(判断)した認識結果を出力することができる。詳細の処理内容に関しては、後述する。
図8は、検査対象物に対する異常の有無を判断する際の処理手順を示すフローチャートである。サーバ1の制御部11は、ネットワークNを介して、リモートデスクトップを用いて検査装置2と接続する(ステップS101)。制御部11は、通信部13を介して、リモートデスクトップにより接続された検査装置2の検査結果を表示するモニタ画面をキャプチャする(ステップS102)。制御部11は、キャプチャしたモニタ画面から画面情報を取得する(ステップS103)。
制御部11は、A-KAZE等の局所特徴量抽出方法を用いて、取得した画面情報内のグラフ領域内の画像を抽出する(ステップS104)。なお、図8では、グラフ領域内の画像の例を説明したが、これに限るものではない。例えば、検査対象物の画像がモニタ画面で表示される場合、該検査対象物の画像を抽出しても良い。
制御部11は、抽出したグラフ領域内の画像に基づき、検査対象物に対する異常の有無を判断する(ステップS105)。例えば抽出したグラフ領域内の画像が、図7Bで示すように、大きな波がある際の不良波形の画像である場合、制御部11は、ピーク値が閾値を超えるか否かにより異常を判断する。また、図7Cのように、波形が傾いている場合、制御部11は波のピーク値を抽出し、抽出したピーク値で形成される近似直線の傾きを算出する。制御部11は、算出した傾きと、予め定めた閾値とを比較する。制御部11は傾きが閾値を超えたと判断した場合、検査対象物に対して異常が発生していると判断する。制御部11は、検査対象物に対する異常の有無を判断した検査結果を大容量記憶部17の検査結果DB171に記憶する(ステップS106)。
制御部11は、取得した画面情報に基づき、例えばエッジを抽出してボタンの形状を特定する画像解析手法を利用し、モニタ画面上の各ボタンを認識する(ステップS107)。制御部11は、予め記憶部12に記憶された操作パネル構成図に配置された各ボタンパターンの形状、各パターン間の位置関係、及び異常の有無の判断結果に応じて、異常の有無を入力するボタン(例えば、「OK」または「NG」)を特定する(ステップS108)。
制御部11は、通信部13を介して、特定したボタンの操作信号を検査装置2に送信する(ステップS109)。検査装置2の制御部21は、通信部26を介して、サーバ1からボタンの操作信号を受信する(ステップS201)。制御部21は、受信した操作信号に応じた動作指令(例えば、再検査等)を出力し(ステップS202)、処理を終了する。
本実施形態によると、遠隔地のサーバ1は、検査装置2のモニタ画面を解析して操作信号を出力することにより、検査装置2を自動運転させることが可能となる。
(実施形態2)
実施形態2は、良否判定モデル172を用いて、グラフ領域内の画像を入力した場合に認識(判断)結果を出力する形態に関する。なお、実施形態1と重複する内容については説明を省略する。
図9は、良否判定モデル172を用いて異常の有無の認識結果を出力する説明図である。良否判定モデル172は、ディープラーニングにより構築され、人工知能ソフトウェアの一部であるプログラムモジュールとして利用される。良否判定モデル172は、グラフ領域内の画像を入力とし、検査対象物に対する異常の有無を認識した認識結果を出力とするニューラルネットワークを構築(生成)済みの抽出器である。
サーバ1の制御部11は、良否判定モデル172として、グラフ領域内の画像内における波形グラフの特徴量を学習するディープラーニングを行うことで良否判定モデル172を構築(生成)する。例えば、良否判定モデル172はCNN(Convolution Neural Network)であり、グラフ領域内の画像の入力を受け付ける入力層と、異常の有無を認識した結果を出力する出力層と、バックプロパゲーションにより学習済の中間層とを有する。
入力層は、グラフ領域内の画像に含まれる各画素の画素値の入力を受け付ける複数のニューロンを有し、入力された画素値を中間層に受け渡す。中間層は、グラフ領域内の画像特徴量を抽出する複数のニューロンを有し、抽出した画像特徴量を出力層に受け渡す。例えば良否判定モデル172がCNNである場合を例にして説明する。中間層は、入力層から入力された各画素の画素値を畳み込むコンボリューション層と、コンボリューション層で畳み込んだ画素値をマッピングするプーリング層とが交互に連結された構成により、グラフ領域内の画像の画素情報を圧縮しながら最終的に画像の特徴量を抽出する。その後中間層は、バックプロパゲーションによりパラメータが学習された全結合層により、グラフ領域内の画像が検査対象物に対する異常の有無を予測する。予測結果は、複数のニューロンを有する出力層に出力される。
なお、グラフ領域内の画像は、交互に連結されたコンボリューション層とプーリング層とを通過して特徴量が抽出された後に、入力層に入力されても良い。
なお、CNNの代わりに、RCNN(Regions with Convolutional Neural Network)、Fast RCNN、Faster RCNN、SSD(Single Shot Multibook Detector)、またはYOLO(You Only Look Once)等の、任意の物体検出アルゴリズムを使用しても良い。
サーバ1の制御部11は、複数のグラフ領域内の画像(例えば、正常波形のグラフ画像、異常波形のグラフ画像)と、各画像における異常の有無とが対応付けられた教師データを用いて学習を行う。教師データは、グラフ領域内の画像に対し、異常の有無がラベル付けされたデータである。制御部11は、複数のグラフ領域内の画像に対して異常の有無をラベリングすることで、異常の有無を学習するための教師データを生成する。具体的には、制御部11はグラフ領域内の画像に対して、異常の有無の固有名称(例えば、正常または異常)を関連付けた教師データを生成する。
制御部11は、教師データであるグラフ領域内の画像を入力層に入力し、中間層での演算処理を経て、出力層から異常の有無を示す識別結果を取得する。なお、出力層から出力される識別結果は異常の有無を離散的に示す値(例えば「0」又は「1」の値)であってもよく、連続的な確率値(例えば「0」から「1」までの範囲の値)であっても良い。
制御部11は、出力層から出力された識別結果を、教師データにおいてグラフ領域内の画像に対しラベル付けされた情報、すなわち正解値と比較し、出力層からの出力値が正解値に近づくように、中間層での演算処理に用いるパラメータを最適化する。当該パラメータは、例えばニューロン間の重み(結合係数)、各ニューロンで用いられる活性化関数の係数等である。パラメータの最適化の方法は特に限定されないが、例えば制御部11は、は誤差逆伝播法を用いて各種パラメータの最適化を行う。
制御部11は、教師データに含まれる各グラフ領域内の画像について上記の処理を行い、良否判定モデル172を生成する。これにより、例えば制御部11は当該教師データを用いて良否判定モデル172の学習を行うことで、検査対象物に対する異常の有無を認識可能なモデルを構築することができる。
制御部11はグラフ領域内の画像を取得した場合、取得した画像を良否判定モデル172に入力する。制御部11は、良否判定モデル172の中間層にて画像の特徴量を抽出する演算処理を行い、抽出した特徴量を良否判定モデル172の出力層に入力して、検査対象物に対して異常の有無を示す識別結果を出力として取得する。制御部11は、良否判定モデル172の出力層から出力した識別結果に基づき、検査対象物に対する異常の有無を判断する。例えば、正常の確率値(例えば、0.97)が所定閾値(例えば、0.95)以上である場合、制御部11は異常が発生していないと判断しても良い。
なお、上述した機械学習により検査対象物に対する異常の有無を判断する処理に限るものではない。例えば、A-KAZE(Accelerated KAZE)、SIFT(Scale Invariant Feature Transform)、SURF(Speeded-Up Robust Features)、ORB(Oriented FAST and Rotated BRIEF)、HOG(Histograms of Oriented Gradients)等の局所特徴量抽出方法を用いて異常の有無を判断しても良い。
なお、本実施形態では、グラフ領域内の画像を良否判定モデル172に入力した例を説明したが、これに限るものではない。キャプチャされたモニタ画面の画像全体をそのまま良否判定モデル172に入力しても良い。
<変形例1>
続いて、異常種類が分類された認識結果を出力する処理を説明する。図10は、実施形態2のサーバ1の構成例を示すブロック図である。なお、図2と重複する内容については同一の符号を付して説明を省略する。
大容量記憶部17には、第2良否判定モデル173が記憶されている。第2良否判定モデル173は、ディープラーニングにより構築され、人工知能ソフトウェアの一部であるプログラムモジュールとして利用される。第2良否判定モデル173は、グラフ領域内の画像を入力とし、検査対象物に対し、異常種類が分類された認識結果を出力とするニューラルネットワークを構築(生成)済みの抽出器である。異常種類は、例えばグラフ領域内の画像の波形(例えば、波の幅、ピーク間隔、傾斜角度等)に応じて分類する異常レベル情報等であっても良い。
図11は、第2良否判定モデル173を用いて異常の有無の認識結果を出力する説明図である。なお、図9と重複する内容については説明を省略する。サーバ1の制御部11は、複数の正常波形のグラフ画像(グラフ領域内の画像)及び各種の異常波形のグラフ画像と、各画像における異常の有無及び異常レベル情報とが対応付けられた教師データを用いて学習を行う。教師データは、グラフ領域内の画像に対し、異常の有無及び異常レベル情報がラベル付けされたデータである。
制御部11は、複数の正常波形のグラフ画像及び各種の異常波形のグラフ画像に対し、異常の有無及び異常レベル情報をラベリングすることで、異常の有無及び異常レベルを学習するための教師データを生成する。具体的には、制御部11は上述したグラフ画像に対して、異常の有無及び異常レベルの固有名称(例えば、正常、異常レベル1及び異常レベル2等)を関連付けた教師データを生成する。
制御部11は、生成した教師データを用いて教師用画像の特徴量を学習するディープラーニングを行うことで第2良否判定モデル173を構築(生成)する。なお、教師データを用いて第2良否判定モデル173を構築する処理に関しては、良否判定モデル172の構築処理と同様であるため、説明を省略する。
第2良否判定モデル173の入力層は、グラフ領域内の画像の入力を受け付け、その後中間層は、バックプロパゲーションによりパラメータが学習された全結合層により、グラフ領域内の画像が検査対象物に対する異常の有無及び異常レベル情報を予測する。予測した異常の有無及び異常レベル情報を含む認識結果は、複数のニューロンを有する出力層に出力される。図示のように、傾いている不良波形を第2良否判定モデル173に入力した場合に、異常の有無及び異常レベルを含む認識結果を出力する。
認識結果は、例えば正常の確率値、異常レベル1の確率値、異常レベル2の確率値及び異常レベル3の確率値である。制御部11は、第2良否判定モデル173の出力層から出力した識別結果に基づき、検査対象物に対する異常の有無、及び異常が発生している際の異常レベルを判断する。図示のように、異常レベル3の確率値(例えば、0.88)が所定閾値(例えば、0.80)以上である場合、制御部11は異常種類が異常レベル3であると判断しても良い。
なお、本実施形態では、検査対象物の高さを示すグラフ領域内の画像(波形データ)の例を説明するが、検査対象物の画像にも同様に適用される。例えば、検査対象物に対して穴径測定を行う場合、検査対象物の画像(写真)を第3良否判定モデルに入力し、穴径に対する異常の有無を認識した認識結果を出力しても良い。サーバ1の制御部11は、複数の検査対象物の画像に対し、異常の有無をラベリングすることで、異常の有無を学習するための教師データを生成する。具体的には、制御部11は検査対象物の画像に対して、正常の穴及び異常の穴の固有名称(例えば、正常穴、異常穴等)を関連付けた教師データを生成する。制御部11は、生成した教師データを用いて教師用画像の特徴量を学習するディープラーニングを行うことで第3良否判定モデルを構築する。
制御部11は、構築した第3良否判定モデルを用いて、検査対象物に対する異常の有無を判断する。具体的には、第3良否判定モデルの入力層は、検査対象物の画像の入力を受け付け、その後中間層は、バックプロパゲーションによりパラメータが学習された全結合層により、検査対象物の穴径に対する異常の有無を予測する。予測した異常の有無を含む認識結果は、複数のニューロンを有する出力層に出力される。
本実施形態によると、検査対象物の画像またはグラフ領域内の画像を入力した場合に認識結果を出力する学習済みの良否判定モデル172を用いて、異常の有無の認識結果を出力することが可能となる。
本実施形態によると、検査対象物の画像またはグラフ領域内の画像を入力した場合に認識結果を出力する学習済みの第2良否判定モデル173を用いて、異常種類が分類された認識結果を出力することが可能となる。
本実施形態によると、ディープラーニングにより構築された良否判定モデル(画像認識モデル)を用いて、検査対象物に対する異常の有無を判断する精度を向上することが可能となる。
(実施形態3)
実施形態3は、検査装置2のモニタ画面をキャプチャした画面情報から、検査装置2の検査における各段階での操作ボタンを認識する形態に関する。なお、実施形態1~2と重複する内容については説明を省略する。
なお、本実施形態での検査装置2は、「ワークの搬入」、「測定の実施」、「測定結果の判断」及び「ワークの排出」の4ステップで操作する装置であるが、これに限るものではない。例えば製品の組み立て工程、作業員の配置及び部品の取り付け等を行うライン生産方式に応じて、操作するステップを設置しても良い。
図12は、実施形態3のサーバ1の構成例を示すブロック図である。なお、図10と重複する内容については同一の符号を付して説明を省略する。大容量記憶部17には、ボタン配置DB174が記憶されている。ボタン配置DB174は、モニタ画面に配置された各ボタンの形状及び各ボタン間の位置関係等の情報を記憶している。
図13は、ボタン配置DB174のレコードレイアウトの一例を示す説明図である。ボタン配置DB174は、ボタンID列、名称列、座標列、相対位置列及び形状列を含む。ボタンID列は、各ボタンを識別するために、一意に特定されるボタンのIDを記憶している。名称列は、ボタンの名称を記憶している。座標列は、モニタ画面上のボタンの位置を示す座標数値を記憶している。相対位置列は、各ボタン間の位置関係等を記憶している。形状列は、ボタンの形状を記憶している。
図14及び図15は、検査装置2の操作を実行する際の処理手順を示すフローチャートである。サーバ1の制御部11は、通信部13を介して、リモートデスクトップにより接続された検査装置2の検査結果を表示するモニタ画面をキャプチャし、キャプチャしたモニタ画面から画面情報を取得する(ステップS111)。
制御部11は、取得した画面情報に基づき、画面上の各ボタンを認識する(ステップS112)。具体的には、制御部11は、周知の画像解析手法を利用して、画面情報からエッジ(画素値の変化の大きい部分)を抽出する。なお、画面が遷移した場合、制御部11は遷移後の画面上の各ボタンを再認識すれば良い。制御部11は、抽出したエッジに基づき、ボタンの形状、座標及び相対位置等を特定する。制御部11は、特定したボタンの形状、座標及び相対位置等に基づき、大容量記憶部17のボタン配置DB174を照合し、それぞれのボタンIDを取得する。なお、制御部11はボタン上の文字を認識し、認識した文字に一致する名称を有するボタンIDをボタン配置DB174から抽出しても良い。
制御部11は、取得したボタンIDによって、搬入ボタンを特定する(ステップS113)。制御部11は、通信部13を介して、特定した搬入ボタンの操作信号を検査装置2に送信する(ステップS114)。検査装置2の制御部21は、通信部26を介して、サーバ1から送信された搬入ボタンの操作信号を受信し(ステップS211)、搬送コンベア271に搬送指令を出力する(ステップS212)。
サーバ1の制御部11は、取得したボタンIDによって、測定ボタンを特定する(ステップS115)。制御部11は、通信部13を介して、特定した測定ボタンの操作信号を検査装置2に送信する(ステップS116)。検査装置2の制御部21は、通信部26を介して、サーバ1から送信された測定ボタンの操作信号を受信し(ステップS213)、ワークを測定する測定指令を出力する(ステップS214)。制御部21は、ワークごとの測定データを大容量記憶部29の測定データDB291に記憶する。具体的には、制御部21は、測定IDを割り振って、ワークID、測定項目(例えば、高さ)及び測定日時を一つのレコードとして測定データDB291に記憶する。
サーバ1の制御部11は、取得した画面情報からグラフ領域内の画像を抽出し(ステップS117)、検査対象物に対する異常の有無を判断する(ステップS118)。なお、グラフ領域内の画像の抽出処理、及び異常の有無の判断処理に関しては、実施形態1または2と同様であるため、説明を省略する。
制御部11は、検査対象物に対する異常が発生していると判断した場合(ステップS119でYES)、取得したボタンIDによって、NGボタンを特定する(ステップS120)。制御部11は、通信部13を介して、特定したNGボタンの操作信号を検査装置2に送信する(ステップS121)。検査装置2の制御部21は、通信部26を介して、サーバ1から送信されたNGボタンの操作信号を受信する(ステップS216)。制御部21は、振分装置273に不良品のラインにワークを排出するための指令を出力する(ステップS217)。
制御部11は、検査対象物に対する異常が発生していないと判断した場合(ステップS119でNO)、取得したボタンIDによって、OKボタンを特定する(ステップS122)。制御部11は、通信部13を介して、特定したOKボタンの操作信号を検査装置2に送信する(ステップS123)。検査装置2の制御部21は、通信部26を介して、サーバ1から送信されたOKボタンの操作信号を受信する(ステップS218)。制御部21は、振分装置273に良品のラインにワークを排出するための指令を出力し(ステップS219)、処理を終了する。
図16は、検査装置2のモニタ画面を示すイメージ図である。「搬入」ボタン16aは、ワークの搬入指令を受け付ける。「測定」ボタン16bは、ワークの測定指令を受け付ける。「OK」ボタン16cは、良品のラインにワークを排出するための指令を受け付ける。「NG」ボタン16dは、不良品のラインにワークを排出するための指令を受け付ける。画像表示領域16eは、検査結果を示すワークの撮影画像またはグラフの画像を表示する。
検査装置の制御部21は、例えば測定したワークの高さのデータを大容量記憶部29の測定データDB291から取得する。制御部21は、取得したワークの高さのデータに基づいて波形グラフを生成し、生成した波形グラフを表示部25により画像表示領域16eに表示する。
制御部21は、通信部26を介して、サーバ1からボタンの操作信号を受信した場合、受信した操作信号に対応する操作指令を出力する。具体的には、制御部21は「搬入」ボタン16aの操作信号を受信した場合、搬送コンベア271に搬送指令を出力する。制御部21は「測定」ボタン16bの操作信号を受信した場合、ワークを測定する測定指令を出力する。
制御部21は「OK」ボタン16cの操作信号を受信した場合、振分装置273に良品のラインにワークを排出するための指令を出力する。制御部21は「NG」ボタン16dの操作信号を受信した場合、振分装置273に不良品のラインにワークを排出するための指令を出力する。
なお、本実施形態では、各ボタンの操作信号をサーバ1から受信した例を説明したが、これに限るものではない。例えば、オペレータのタッチ(クリック)操作により各ボタンの操作信号を受け付けても良い。
本実施形態によると、検査装置2の検査における各段階での操作ボタンを認識することが可能となる。
本実施形態によると、遠隔操作機能を用いて、各ボタンの操作信号を出力することにより、オペレータの操作が不要となり、人件費の削減を実現することが可能となる。
(実施形態4)
実施形態4は、検査装置2のモニタ画面をキャプチャした画面情報から抽出されたアラートメッセージの内容に応じて、操作対象のボタンを特定する形態に関する。なお、実施形態1~3と重複する内容については説明を省略する。
図17は、実施形態4の検査装置2の構成例を示すブロック図である。なお、図4と重複する内容については同一の符号を付して説明を省略する。大容量記憶部29には、メッセージDB292が記憶されている。メッセージDB292は、検査装置2の検査における各種のアラートメッセージを記憶している。
図18は、メッセージDB292のレコードレイアウトの一例を示す説明図である。メッセージDB292は、メッセージID列及びメッセージ列を含む。メッセージID列は、各メッセージを識別するために、一意に特定されるメッセージのIDを記憶している。メッセージ列は、アラートメッセージの内容を記憶している。アラートメッセージは、エラーメッセージ、警告メッセージ及び通知メッセージ等を含む。
図19は、実施形態4のボタン配置DB174のレコードレイアウトの一例を示す説明図である。ボタン配置DB174は、メッセージID列及びメッセージ列を含む。メッセージID列は、ボタンIDに対応付けたアラートメッセージIDを記憶している。なお、メッセージID列には、複数のメッセージIDが記憶されても良い。即ち、異なるメッセージ内容に応じて、同じ操作を実行することができる。メッセージ列は、メッセージの内容を記憶している。
サーバ1の制御部11は、通信部13を介して、リモートデスクトップにより接続された検査装置2の検査結果を表示するモニタ画面をキャプチャし、キャプチャしたモニタ画面から画面情報を取得する。制御部11は、取得した画面情報に基づき、各ボタンを認識する。なお、ボタンの認識処理に関しては、実施形態3と同様であるため、説明を省略する。
制御部11は、取得した画面情報からアラートメッセージの表示領域の画像を抽出する。具体的には、例えば制御部11は、SIFT等の局所特徴量抽出方法を用いて抽出しても良い。制御部11は、抽出したアラートメッセージの表示領域の画像からアラートメッセージを抽出する。なお、アラートメッセージの抽出処理に関しては、例えば、光学文字認識(OCR:Optical Character Recognition)技術を用いて、アラートメッセージの表示領域の画像を文字コードの列に変換し、アラートメッセージを抽出しても良い。
制御部11は、抽出したアラートメッセージの内容に応じて、大容量記憶部17のボタン配置DB174を照合し、該アラートメッセージに対応するボタンIDを取得する。制御部11は、通信部13を介して、取得したボタンIDに基づき、該ボタンの操作信号を検査装置2に送信する。検査装置2の制御部21は、通信部26を介して、サーバ1から送信されたボタンの操作信号を受信し、受信した操作信号に応じた操作指令(例えば、再測定等)を出力する。
図20は、アラートメッセージの内容により操作対象のボタンを特定する際の処理手順を示すフローチャートである。サーバ1の制御部11は、リモートデスクトップにより接続された検査装置2の検査結果を表示するモニタ画面をキャプチャし、キャプチャしたモニタ画面から画面情報を取得する(ステップS131)。制御部11は、取得した画面情報に基づき、各ボタンを認識する(ステップS132)。
制御部11は、例えばA-KAZE等の局所特徴量抽出方法を用いて、取得した画面情報からアラートメッセージの表示領域の画像を抽出する(ステップS133)。制御部11は、光学文字認識技術を用いて、抽出したアラートメッセージの表示領域の画像からアラートメッセージを抽出する(ステップS134)。制御部11は、抽出したアラートメッセージの内容に応じて、大容量記憶部17のボタン配置DB174を照合し、該アラートメッセージに対応するボタンIDを取得する(ステップS135)。
制御部11は、通信部13を介して、取得したボタンIDに基づき、該ボタンの操作信号を検査装置2に送信する(ステップS136)。検査装置2の制御部21は、通信部26を介して、サーバ1から送信されたボタンの操作信号を受信し(ステップS231)、受信した操作信号に応じた操作指令を出力する(ステップS232)。
図21は、アラートメッセージを表示する検査装置2のモニタ画面を示すイメージ図である。なお、図16と重複する内容については同一の符号を付して説明を省略する。21aは、アラートメッセージを表示するための表示領域である。検査装置2の制御部21は通知またはエラー等を検知した場合、大容量記憶部29のメッセージDB292から該当するアラートメッセージを取得する。制御部21は、表示部25を介して、取得したアラートメッセージをモニタ画面に表示する。
本実施形態によると、遠隔操作機能を用いて、キャプチャされた検査装置2のモニタ画面からアラートメッセージを抽出することが可能となる。
本実施形態によると、アラートメッセージの内容に応じて、操作対象のボタンの操作信号を検査装置2に出力することにより、オペレータを介入せず、自動的に故障等を回復することが可能となる。
(実施形態5)
実施形態5は、モニタ画面をキャプチャした画面情報と、検査装置2を撮像する撮像装置から取得された撮像画像とを出力する形態に関する。なお、実施形態1~4と重複する内容については説明を省略する。
図22は、実施形態5の検査装置の自動化システムの概要を示す説明図である。なお、図1と重複する内容については同一の符号を付して説明を省略する。本実施形態では、検査装置2を撮像する撮像装置3を含む。
撮像装置3は、搬送コンベア271の斜め上方から検査装置を撮像し、画像を生成する。なお、撮像装置3の設置位置に関しては、上述した位置に限るものではない。例えば、撮像装置3を搬送コンベア271の上方また横に設置しても良い。本実施形態の撮像装置3は、無線通信部を含む。無線通信部は、通信に関する処理を行うための無線通信モジュールであり、ネットワークNを介して、サーバ1等と撮像画像の送受信を行う。
図23は、画面情報と撮像画像とを出力する際の処理手順を示すフローチャートである。サーバ1の制御部11は、通信部13を介して、リモートデスクトップにより接続された検査装置2の検査結果を表示するモニタ画面をキャプチャし、キャプチャしたモニタ画面から画面情報を取得する(ステップS141)。制御部11は、通信部13を介して、撮像装置3から検査装置2を撮像した撮像画像を取得する(ステップS142)。制御部11は、取得した画面情報と撮像画像とを表示部15により表示し(ステップS143)、処理を終了する。
図24は、画面情報と撮像画像とを表示する画面のイメージ図である。なお、図16と重複する内容については同一の符号を付して説明を省略する。24aは、検査装置2を撮像する撮像装置から取得された撮像画像を表示するための表示領域である。サーバ1の制御部11は、通信部13を介して、撮像装置3により撮像した検査対象物の撮像画像をリアルタイムで取得する。制御部11は、取得した撮像画像を表示部15により表示する。
なお、制御部11は、キャプチャされたモニタ画面、及び該モニタ画面をキャプチャした時点の検査装置の撮影画像(静止画像)と、リアルタイムでの検査対象物の撮像画像(動画)とを同時に表示部15により表示しても良い。
本実施形態によると、モニタ画面をキャプチャした画面情報と、検査装置2を撮像する撮像装置から取得された撮像画像とを同時に出力することが可能となる。
(実施形態6)
実施形態6は、検査対象の材料情報に基づき、検査装置2の運転条件の設定値を出力する形態に関する。なお、実施形態1~5と重複する内容については説明を省略する。
図25は、実施形態6のサーバ1の構成例を示すブロック図である。なお、図12と重複する内容については同一の符号を付して説明を省略する。大容量記憶部17には、設定値学習モデル175、材料情報DB176、運転条件DB177及びスコアDB178が記憶されている。
設定値学習モデル175は、強化学習によって生成済みの学習済みモデルである。なお、強化学習に関しては後述する。材料情報DB176は、検査対象の材料情報を記憶している。例えば、材料がガラスである場合、ガラスのサイズ、厚み、製品規格等の情報を材料情報DB176に記憶しても良い。運転条件DB177は、検査装置2の運転条件の設定値を記憶している。スコアDB178は、後述する強化学習において与えられる報酬(スコア)を規定するテーブルであり、製品(ワーク)評価の行動と、製品評価に対して各行動を取った場合に与えられる報酬とを対応付けて記憶するテーブルである。
図26は、材料情報DB176のレコードレイアウトの一例を示す説明図である。材料情報DB176は、材料ID列、種類列、サイズ列、厚み列、製品名列及び製品規格列を含む。材料ID列は、各材料を識別するために、一意に特定される材料のIDを記憶している。種類列は、材料の種類(例えば、ガラス)を記憶している。サイズ列は、材料のサイズを記憶している。厚み列は、材料の厚みを記憶している。製品名列は、該材料を用いて生産した製品(ワーク)の名称を記憶している。製品規格列は、該材料を用いて生産した製品(ワーク)の形状、寸法、材質、成分、品質、性能、耐久性、安全性、機能等を規定した規格情報を記憶している。
図27は、運転条件DB177のレコードレイアウトの一例を示す説明図である。運転条件DB177は、運転条件ID列、測定位置列、測定の合格範囲列、測定速度列、測定精度列及び測定圧力列を含む。運転条件ID列は、各運転条件を識別するために、一意に特定される運転条件のIDを記憶している。測定位置列は、検査対象物に対する測定位置を記憶している。測定の合格範囲列は、合格閾値の上下変動範囲(誤差)を記憶している。測定速度列は、検査対象物を測定する際の速度を記憶している。測定精度列は、検査対象物を測定する際の精度を記憶している。測定圧力列は、検査対象物を測定する際の圧力を記憶している。
図28は、スコアDB178のレコードレイアウトの一例を示す説明図である。スコアDB178は、ステータス列及びスコア列を含む。ステータス列は、強化学習における報酬付与の基準とし、製品評価の行動(ステータス)を記憶している。本実施の形態では、報酬付与の基準とする製品(例えば、グラスビン)評価のステータスとしては、製品の重量、厚さ、形状、サイズ、耐熱性、耐久性及び安全性に対して評価するためのステータスを定義してある。例えば、耐熱性に対する二つのレベルを設けても良い。製品が耐熱性のレベル1に達成した場合、50点のスコアを得て、耐熱性のレベル2に達成した場合、80点のスコアを得る。スコア列は、製品評価のステータスに対応付けて、強化学習の際の報酬値とするスコアを記憶している。
なお、上述した各DBの記憶形態は一例であり、データ間の関係が維持されていれば、他の記憶形態であっても良い。
本実施形態では、サーバ1の制御部11は強化学習手法を用いて、大容量記憶部17の材料情報DB176に記憶してある検査対象の材料情報に基づき、検査装置2に対する運転条件の設定値の優先度を学習(変更)する処理を行う。
強化学習(DQN:Deep Q-Network)は、機械学習の手法の一つであり、現在の状態(s;States)を元に取るべき行動(a;Actions)を選択するための学習手法である。より詳細には、強化学習は、ある方策(π;Policy)に基づきある状態である行動を取った場合に、得られた報酬(r;Reward)から当該方策を評価し、将来に亘って得られる報酬の累積値を最大化するよう方策を改善する手法である。強化学習では、例えば以下の式(1)、(2)を用いて方策の評価と改善とを行う。
式(1)は状態価値関数であり、方策πの下での状態sの価値を定義する関数である。Rtは最終的な累積報酬を表す関数(Reward Function)であり、ある時点tでの報酬rと、遠い将来に得られる報酬rほど割り引いて評価するための割引率γ(Discount Factor)とで表される。式(1)に示すように、状態価値関数は、ある状態sにおいて得られるであろう累積報酬Rtの期待値で表される。
式(2)は行動価値関数であり、方策πの下で、状態sにおいて行動aを取ることの価値を定義する関数である。行動価値関数も状態価値関数と同様に、累積報酬Rtの期待値で表される。
強化学習では、式(1)、(2)で表される各関数を、次の式(3)、(4)で示すように最大化(最適化)する学習を行う。
式(3)、(4)をまとめると、次の式(5)となる。
強化学習では、式(5)を目的関数として、当該目的関数の最適化を行う。具体的には、例えばモンテカルロ法、Q学習、方策勾配法等を用いて、目的関数の最適化を行う。なお、これらの最適化アルゴリズムは公知のものであるため、これ以上の詳細な説明は省略する。
サーバ1の制御部11は上述の強化学習を用いて、検査装置2に対する運転条件の設定値の優先度を学習する処理を行う。具体的には、制御部11は、大容量記憶部17の材料情報DB176に記憶してある検査対象の材料情報を状態sとし、検査装置2に対する各種の設定値を出力する運転条件を行動aとして、スコアDB178で規定される報酬(スコア)に基づく強化学習を行う。
サーバ1の制御部11は、検査対象の材料情報を状態sとして、式(5)で表される目的関数に入力する。制御部11は、スコアDB178を参照し、検査装置2を用いて検査した製品(ワーク)に対する評価行動に基づいて報酬値を算出する。スコアDB178は、検査装置2を用いて検査した製品の評価行動を判定基準として、製品の各ステータスの評価行動を取った場合に与えられる報酬rを規定している。具体的には図28で説明したように、スコアDB178は、製品の評価行動を表すステータスそれぞれに対応付けて、強化学習の報酬rとするスコアを格納している。
スコアDB178では、例えば製品の厚さに対する「厚さのレベル1に達成」及び「厚さのレベル2に達成」二つのステータスと定義しても良い。「厚さのレベル1に達成」の場合のスコアを「30」と定義し、「厚さのレベル2に達成」の場合のスコアを「45」と定義している。つまり、製品の厚さが厚さのレベル1(例えば、3mm~3.10mm)に達成した場合、報酬rとして30ポイントが与えられる。なお、製品の厚さが厚さのレベル1及び厚さのレベル2の両方に達成していない場合(製品の厚さが基準範囲外である)、報酬rとして0ポイントが与えられる。または評価が低いことに応じて、報酬rとしてマイナスポイント(例えば、-10ポイント)が与えられても良い。従って、スコアDB178のステータス列に対応する製品の評価行動に基づき、累積報酬Rtが計算される。
制御部11は、上記のように算出される報酬を元に、目的関数の最適化を行う。すなわち、制御部11は、検査装置2に対する各種の設定値を出力する運転条件を行動aとし、検査対象の材料情報を状態sとして、製品に対する評価行動を元に算出された累積報酬Rtを元に、式(5)で表されるQ関数の最適化を行う。
上記のようにして制御部11は、検査対象の材料情報(状態s)を入力値として、検査装置2に対する各種の設定値を出力すべき運転条件(行動a)を出力値として得る学習済みの設定値学習モデル175を生成する。
図29は、設定値学習モデル175を用いて運転条件の設定値を出力する説明図である。検査対象の材料情報(状態s)が強化学習済みの設定値学習モデル175に入力された場合、制御部11は、検査装置2の運転条件(行動a)を出力する。図示のように、状態sは検査対象の材料サイズ、厚み、形状及び成分によって決められる。設定値学習モデル175が状態sから各行動a(例えば、a1、a2、a3)に対応するQ値を出力する。出力された行動aは、例えば測定位置、測定速度、測定精度及び測定圧力の設定値である。なお、入力に検査装置周囲の湿度、温度等の環境情報を状態sに含めて学習させても良い。
制御部11は、最も高い値を有するQ値を抽出し、抽出したQ値に対応する設定値を含む操作信号を検査装置2に送信(出力)する。例えば、制御部11は通信部13を介して、検査装置2に対して測定速度を含む操作信号を検査装置2に送信する。検査装置2の制御部21は、通信部26を介して、サーバ1から送信された操作信号を受信し、受信した操作信号に基づいて操作指令を出力する。
図30は、運転条件の設定値を含む操作信号を出力する際の処理手順を示すフローチャートである。サーバ1の制御部11は、通信部13を介して、材料情報を検査装置2から取得する(ステップS151)。制御部11は、取得した材料情報を大容量記憶部17の材料情報DB176に記憶する(ステップS152)。具体的には、制御部11は材料IDを割り振って、種類、サイズ、厚み、製品名及び製品規格を一つのレコードとして材料情報DB176に記憶する。
制御部11は、取得した材料情報を設定値学習モデル175に入力する(ステップS153)。制御部11は、検査装置2の運転条件の設定値を取得する(ステップS154)。具体的には、上述の如く、制御部11は強化学習手法を用いて、材料情報を入力した場合に検査装置2の運転条件の設定値を出力するよう学習された設定値学習モデル175を利用する。制御部11は、検査対象の材料情報を設定値学習モデル175に入力し、検査装置2の運転条件の設定値を出力する。
制御部11は、取得した運転条件の設定値を含む操作信号を検査装置2に送信する(ステップS155)。検査装置2の制御部21は、通信部26を介して、サーバ1から送信された操作信号を受信する(ステップS251)。制御部21は、受信した操作信号に応じた操作指令を出力し(ステップS252)、処理を終了する。
また、上述した処理を検査装置2に付随する検査対象の生産装置にも適用される。図31は、第2設定値学習モデルを用いて生産装置の設定値を出力する説明図である。サーバ1は、検査対象の生産材料情報を入力した場合に生産装置の設定値を出力するよう学習された第2設定値学習モデルに生産材料情報を入力し、生産装置の設定値を出力する。
図示のように、状態sは生産材料サイズ、生産材料材質、生産湿度及び生産温度によって決められる。第2設定値学習モデルが状態sから各行動a(例えば、a4、a5、a6)に対応するQ値を出力する。出力された行動aが、例えば生産装置の運転時間、生産速度及びプレス圧力の設定値である。なお、第2設定値学習モデルのQ値の最適化処理に関しては、設定値学習モデル175のQ値の最適化処理と同様であるため、説明を省略する。サーバ1は、最も高い値を有するQ値を抽出し、抽出したQ値に対応する設定値を含む操作信号を生産装置に送信(出力)する。
本実施形態によると、強化学習手法を用いて、検査対象の材料情報に基づき、検査装置2に対する運転条件の設定値の優先度を学習する処理を行うことが可能となる。
本実施形態によると、検査対象に応じた検査装置に対する各種の設定値を含む操作信号を出力することが可能となる。
本実施形態によると、検査装置に付随する検査対象の生産装置に対する各種の設定値を含む操作信号を出力することが可能となる。
本実施形態によると、最適な運転条件の設定値を出力することにより、生産性を向上させることが可能となる。
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。