以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、検査対象の製品を撮影した画像または当該画像から取得した2以上の特徴量を取得した端末装置を経由して、当該情報を受信し、当該情報と格納している学習情報とを用いて、不良か否かの判断結果を取得し、判断結果を出力する情報処理装置を含む情報システムについて説明する。なお、本実施の形態において、検査対象の製品は、例えば、ガラス精密加工製品である。検査対象の製品は、検査情報エッジ処理で取得した製品であることは好適である。ガラス精密加工製品は、例えば、IRカットフィルタ、反射防止フィルタ、レンズ、プリズムである。また、検査情報エッジ処理とは、「良品」または「不良品」を判断する為に必要な処理の一部であると言える。検査情報エッジ処理の例には、判断を行うために必要な画像の前処理(画像フィルタなどでノイズ成分を除去したり、不良となり得る特徴量を強調したり)がある。なお、端末装置2でどこまでの処理を行うかは問わない。例えば、既知の不良モード(例えば、キズ、異物、カケ、シミ等)については、端末装置2で判断し、未知の不良や不良か良品かの判断ができない場合(例えば、端末装置2での検査の結果、不良か否かを示すスコアが第一閾値から第二閾値の間である場合)は、端末装置2から情報処理装置1に送信しても良い。
また、本実施の形態において、外部情報と2以上の特徴量を学習情報に適用し、判断結果を取得する情報処理装置を含む情報システムについて説明する。
また、本実施の形態において、判断結果が、不良の種類を特定する不良種類情報を含む場合についても説明する。
また、本実施の形態において、判断結果を統計処理し、取得された統計処理結果を出力する情報処理装置を含む情報システムについて説明する。
また、本実施の形態において、自動取得された判断結果が予め決められた条件を満たす場合に、人手による判断結果を受け付ける情報処理装置を含む情報システムについて説明する。
また、本実施の形態において、判断結果が予め決められた条件を満たす場合に、学習情報を作成する情報処理装置を含む情報システムについて説明する。
また、本実施の形態において、自動的に外観検査を行い、当該検査結果が予め決められた条件を満たす場合のみ、画像または2以上の特徴量を情報処理装置に送信する端末装置を含む情報システムについて説明する。
図1は、本実施の形態における情報システムAの概念図である。情報システムAは、情報処理装置1、1または2以上の端末装置2、1または2以上の第二端末装置3、および1または2以上の検査装置4を備える。
情報処理装置1は、例えば、いわゆるサーバ装置である。サーバ装置とは、例えば、クラウドサーバ、ASPサーバ等であるが、その種類は問わない。
端末装置2は、例えば、検査情報エッジ処理を行う装置である。端末装置2は、検査を行う装置でも良い。
第二端末装置3は、例えば、いわゆるパーソナルコンピュータ、タブレット端末、スマートフォン等であり、その種類は問わない。
検査装置4は、製品の検査を行う装置である。製品の検査とは、例えば、製品の外観検査である。また、IRカットフィルタにおいて、検査装置4は、例えば、ピッカーという装置である。検査装置4において、製品の画像を取得する撮影機能、温度等の環境情報を取得する環境情報取得機能、製造の位置を取得する位置取得機能、画像、温度、位置等のうちの1以上の情報を端末装置2に渡す送付機能を有することは好適である。
さらに、情報処理装置1と1以上の各端末装置2、情報処理装置1と1以上の各第二端末装置3は、インターネット、または専用回線等のネットワークにより通信可能である。また、端末装置2と検査装置4とは、通常、通信可能である。なお、検査装置4も含めて、端末装置2が構成される、と考えても良い。
図2は、本実施の形態における情報システムAのブロック図である。また、図3は、情報システムAを構成する情報処理装置1のブロック図である。
情報処理装置1は、格納部11、受付部12、受信部13、処理部14、および出力部15を備える。格納部11は、学習情報格納部111を備える。受付部12は、判断結果受付部121を備える。処理部14は、判断部141、統計処理部142、および学習部143を備える。出力部15は、判断結果出力部151、および人手検査処理部152を備える。
端末装置2は、端末格納部21、端末受付部22、端末処理部23、端末送信部24、端末受信部25、および端末出力部26を備える。
第二端末装置3は、第二格納部31、第二受付部32、第二処理部33、第二送信部34、第二受信部35、および第二出力部36を備える。
情報処理装置1を構成する格納部11には、各種の情報が格納される。各種の情報は、例えば、後述する学習情報、後述する画像関連情報と判断結果の組等である。各種の情報は、例えば、後述する1以上の正例データ、1以上の負例データを含んでも良い。
学習情報格納部111は、1または2以上の学習情報が格納される。学習情報とは、2以上の正例データを用いて取得される情報である。
正例データは、検査対象の製品の外観検査において不良であった場合の情報である。
正例データは、ここでは、不良の製品を撮影した画像を用いて取得された情報である。正例データは、例えば、不良の製品を撮影した1または2以上の画像を含む。正例データは、例えば、人手により不良と判断された製品の画像から取得された2以上の特徴量を含む。特徴量は、例えば、画素値、輝度、アクティビティ、時空間相関、動きベクトル、周波数分布、第一種地図部分の画素値分布、複数の画素値(例えば、周辺の隣接する複数の画素の画素値、隣接しない予め決められた位置関係にある複数の画素の画素値)の演算値(例えば、平均値、差、和など)等である。また、アクティビティとは、例えば、複数の画素の最大値および最小値、ダイナミックレンジ(DR)、複数の画素の間の差分値などである。複数の画素の間の差分値は、例えば、空間内の複数画素間の差分値である。また、2以上の特徴量を特徴量集合と言っても良い。
正例データは、画像または画像から取得された2以上の特徴量、および外部情報を含んでも良い。外部情報とは、製品を撮影した画像から取得される情報では無い情報である。外部情報は、環境情報、製造機械情報、製品情報のうち1または2種類以上の情報である。
環境情報とは、製品が製造された環境に関する情報である。環境情報は、例えば、製品が製造された時の気象に関する気象情報、製品が製造された時の気圧に関する気圧情報、製品が製造された時の温度に関する温度情報、製品が製造された時の湿度に関する湿度情報、製品が製造された時に取得された振動に関する振動情報等である。製造機械情報は、製品を製造した製造機械に関する情報である。製造機械情報は、例えば、製造機械を識別する製造機械識別子、製造機械の種類を識別する製造機械種類識別子、製造機械の属性値(例えば、品番、使用年数)、部品の属性値(例えば、部品の使用回数、部品の使用時間)等である。製品情報は、製品の外観以外の情報である。製品情報は、例えば、製品の作成時に使用した部材に関する部材情報等である。
正例データは、例えば、不良の製品の画像または画像から取得された2以上の特徴量、および不良種類情報を含んでも良い。不良種類情報とは、不良の種類を特定する情報である。不良種類情報は、例えば、IRカットフィルタの外観検査において検出されるエラーであり、例えば、透過検査エラー、反射検査エラーなどである。不良種類情報は、例えば、透過検査で見つかるAR面カケ、面取り面カケ、IR面カケ、汚れ、異物、インク飛びガラスパーティクル、ボツ、コート抜け、トビ、自損カケ、チッピング、フィルムチッピング、クラック、キズ、ヤケ、色見などである。また、不良種類情報は、例えば、反射検査の中で見つかるAR面水シミ、IR面水シミなどである。また、不良種類情報は階層化されていても良い。階層化とは、例えば、不良種類情報が「透過検査エラー−AR面カケ」「反射検査エラー−IR面水シミ」等である。なお、透過検査エラーとは、透過検査により検出される不良であり、透過検査不良と言っても良い。また、反射検査エラーとは、反射検査により検出される不良であり、反射検査不良と言っても良い。
正例データは、例えば、検査種類情報を含んでも良い。検査種類情報は、検査の種類を示す情報である。検査種類情報は、例えば、透過検査、反射検査等である。検査種類情報は、不良種類情報と同じでも良い。
学習情報は、正例データに加えて、負例データをも用いて取得される情報でも良い。負例データは、ここでは、不良ではない(正常な)製品を撮影した画像を用いて取得された情報である。負例データは、不良ではない製品を撮影した1または2以上の画像でも良い。負例データは、例えば、人手により正常と判断された製品の画像から取得された2以上の特徴量を含む。
学習情報は、例えば、2以上の正例データを機械学習のアルゴリズムにより学習し、得られた情報である。かかる場合、学習情報は、分類器と言っても良い。また、学習情報は、例えば、2以上の正例データ、および1以上の負例データを機械学習のアルゴリズムにより学習し、得られた情報である。なお、機械学習の種類は問わない。機械学習は、例えば、深層学習、SVM、決定木、ランダムフォレスト等である。機械学習については、公知技術であるので詳細な説明を省略する。
学習情報は、例えば、不良種類情報ごと、または検査種類情報ごとに存在していても良い。不良種類情報ごとの学習情報は、例えば、各不良種類情報に対応する2以上の正例データを用いて、機械学習のアルゴリズムにより学習し、得られた情報である。一の不良種類情報と対になる学習情報は、例えば、当該一の不良種類情報に対応する2以上の正例データと、当該一の不良種類情報に対応しないデータ(負例データ)とを、機械学習のアルゴリズムにより学習し、得られた情報である。また、検査種類情報ごとの学習情報は、例えば、各検査種類情報に対応する2以上の正例データを用いて、機械学習のアルゴリズムにより学習し、得られた情報である。一の検査種類情報と対になる学習情報は、例えば、当該一の検査種類情報に対応する2以上の正例データと、当該一の検査種類情報に対応しないデータ(負例データ)とを、機械学習のアルゴリズムにより学習し、得られた情報である。
学習情報は、例えば、2以上の各画像の特徴量集合でも良い。また、学習情報は、例えば、特徴量集合と1以上の外部情報を含んでも良い。特徴量集合は、例えば、不良種類情報または検査種類情報に対応付いていても良い。なお、特徴量集合は、例えば、ベクトルである。特徴量集合は、例えば、判断結果(例えば、「不良」または「良」)に対応付いていても良い。なお、「不良」とは製品が不良である旨を示す情報であり、「良」とは製品が良品である旨を示す情報である。
学習情報格納部111は、2以上の学習情報が格納されていても良い。学習情報は、不良の種類ごとに存在していても良い。つまり、2以上の各学習情報は、不良種類情報に対応付けられていても良い。
学習情報格納部111の学習情報は、後述する学習部143が取得した情報であることは好適である。
受付部12は、各種の情報や指示等を受け付ける。各種の情報や指示等は、例えば、後述する判断結果である。判断結果は、画像関連情報に対応付いている。また、各種の情報や指示等は、例えば、画像関連情報と判断結果との組の情報である。画像関連情報と判断結果との組の情報は、学習のために使用される。画像関連情報と判断結果との組の情報は、不良である製品の画像関連情報のみでも良い。
ここで、受け付けとは、通常、有線もしくは無線の通信回線を介して送信された情報の受信であるが、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念であると考えても良い。
判断結果受付部121は、画像関連情報に対応付けて、判断結果を受け付ける。判断結果とは、製品が不良であるか否かの、人手による判断の結果である。判断結果受付部121は、例えば、第二端末装置3から判断結果を受信する。
受信部13は、画像関連情報を1以上の端末装置2を経由して受信する。画像関連情報は、外観検査の対象の製品を撮影した画像または当該画像から取得した2以上の特徴量である。また、端末装置2は、通常、画像関連情報を取得した装置である。
受信部13は、製品の画像関連情報と製品に対応する外部情報とを受信することは好適である。なお、画像関連情報の送信元の装置と、外部情報の送信元の装置とは、同一でも異なっていても良い。
受信部13は、2以上の各製品を撮影した画像に関する画像関連情報を受信することは好適である。受信部13は、1の製品に対して、2以上の画像関連情報を受信しても良い。
受信部13は、画像関連情報と検査種類情報とを対応付けて受信することは好適である。
受信部13は、2以上の各画像関連情報を異なる端末装置2を経由して受信しても良い。かかる場合、情報処理システムAは、2以上の端末装置2を含む。
処理部14は、各種の処理を行う。各種の処理とは、例えば、判断部141、統計処理部142、学習部143が行う処理である。各種の処理とは、例えば、受信された判断結果を、画像関連情報に対応付けて格納部11に蓄積する処理である。
判断部141は、受信部13が受信した画像関連情報を学習情報に適用し、製品が不良であるか否かを判断し、判断結果を取得する。
判断部141は、受信部13が受信した画像関連情報と外部情報とを学習情報に適用し、製品が不良であるか否かを判断する。
画像関連情報または画像関連情報と外部情報を学習情報に適用することは、例えば、画像関連情報または画像関連情報と外部情報を、機械学習のプログラムに与えて、学習情報を用いて、機械学習のアルゴリズムにより判断結果を取得することである。機械学習のアルゴリズムは、上述したように、深層学習、SVM、決定木、ランダムフォレスト等、問わない。なお、判断部141が機械学習のアルゴリズムにより判断結果を取得する場合、当該判断結果は、「不良」または「良」を特定する情報だけではなく、不良種類情報、検査種類情報のうちの1以上の情報を含んでも良い。また、判断部141が機械学習のアルゴリズムにより判断結果を取得する場合、スコアを有しても良い。スコアは、判断結果の確からしさを示す確信度と言っても良い。
また、画像関連情報または画像関連情報と外部情報を学習情報に適用することは、例えば、画像関連情報または画像関連情報と外部情報から構成されるベクトルと、1以上の各学習情報であるベクトルとの距離を算出し、距離が予め決められた条件を満たすほど近い学習情報が存在するか否かを判断することである。なお、判断部141は、距離が予め決められた条件を満たすほど近い学習情報が存在する場合、例えば、「不良」という判断結果を取得する。また、判断部141は、距離が予め決められた条件を満たすほど近い学習情報が存在する場合、例えば、当該学習情報と対になる不良種類情報を取得する。また、ベクトル間の距離は、例えば、2つのベクトルのコサイン値で算出されるが、他の算出方法でも良い。ベクトル間の距離の算出方法は公知技術であるので、詳細な説明を省略する。
判断部141は、距離が最も近い学習情報と対になる判断結果(例えば、「不良」または「良」)を取得する。
判断部141は、製品が不良であると判断した場合に、不良の種類を特定する不良種類情報を有する判断結果を取得することは好適である。判断部141は、製品が不良であると判断した場合に、例えば、当該判断に用いた学習情報に対応する不良種類情報を格納部11から取得する。
判断部141は、製品が不良であると判断した場合に、検査の種類を特定する検査種類情報を有する判断結果を取得することは好適である。判断部141は、製品が不良であると判断した場合に、例えば、当該判断に用いた学習情報に対応する検査種類情報を格納部11から取得する。
外観検査の対象がIRカットフィルタの場合、判断部141は、当該IRカットフィルタの画像から取得された2以上の特徴量を学習情報に適用し、製品が不良であるか否かを判断し、判断結果を取得する。
統計処理部142は、2以上の判断結果を統計処理し、統計処理結果を取得する。2以上の各判断結果は、異なる製品に対する判断結果である。統計処理の種類は問わない。統計処理は、例えば、「不良」の率、「良」の率、「不良」の数、「良」の数のうちの1以上を算出することである。統計処理は、例えば、画像関連情報を送信してくる端末装置2ごとの「不良」の率、「良」の率、「不良」の数、「良」の数のうちの1以上を算出することである。統計処理は、例えば、不良種類情報ごとに、「不良」の率、「良」の率、「不良」の数、「良」の数のうちの1以上を算出することである。統計処理は、例えば、検査種類情報ごとに、「不良」の率、「良」の率、「不良」の数、「良」の数のうちの1以上を算出することである。統計処理は、例えば、画像関連情報を送信してくる端末装置2ごとに、かつ不良種類情報ごとに、「不良」の率、「良」の率、「不良」の数、「良」の数のうちの1以上を算出することである。統計処理は、例えば、画像関連情報を送信してくる端末装置2ごとに、かつ検査種類情報ごとに、「不良」の率、「良」の率、「不良」の数、「良」の数のうちの1以上を算出することである。
統計処理部142は、検査種類情報ごとの判断結果を用いて、順序情報を含む統計処理結果を取得することは好適である。順序情報とは、検査の順序に関する情報である。順序情報とは、検査の順序を特定する情報でも良い。順序情報は、例えば、不良の多い検査が不良の少ない検査より前に行われるような、検査の順序を示す情報である。例えば、透過検査エラーが反射検査エラーより多いとの統計処理結果が得られた場合、順序情報は、透過検査の後に反射検査を行うことを指示する情報となる。
また、述したように、統計処理部142は、2以上の各端末装置ごとに、統計処理結果を取得することは好適である。
学習部143は、画像関連情報と判断結果とを用いて、学習情報を構成し、学習情報を学習情報格納部111に蓄積する。
学習部143は、例えば、受付部12が受け付けた2以上の各画像から2以上の特徴量を画像処理により抽出し、当該2以上の特徴量と「不良」を示す判断結果との組を2以上構成し、当該2以上の組を正例データとして、機械学習のアルゴリズムにより学習し、学習情報を構成する。
学習部143は、例えば、受付部12が受け付けた画像と判断結果(例えば、「不良」または「良」)との2以上の組を、機械学習のアルゴリズムにより学習し、学習情報を構成する。つまり、学習部143は、例えば、受付部12が受け付けた2以上の各画像から2以上の特徴量を画像処理により抽出し、当該2以上の特徴量と各画像に対応する判断結果との組を2以上構成し、当該2以上の組を用いて、機械学習のアルゴリズムにより学習し、学習情報を構成する。なお、かかる場合、判断結果が「不良」の組は正例データ、「良」の組は負例データとなる。
学習部143は、判断結果受付部121が受け付けた判断結果が予め決められた条件を満たす場合に学習情報を構成し、学習情報を学習情報格納部111に蓄積する。
予め決められた条件は、「不良」であるとの判断結果が閾値以上または閾値より多い数になったこと、「良」であるとの判断結果が閾値以上または閾値より多い数になったこと、閾値以上または閾値より多い数の判断結果を受け付けたこと、「不良」であると判断された割合が閾値以上または閾値より大きい場合、「良」であると判断された割合が閾値以上または閾値より大きい場合等である。
出力部15は、各種の情報を出力する。各種の情報は、例えば、判断結果、判断結果と不良種類情報、判断結果と検査種類情報、判断結果と不良種類情報と検査種類情報である。ここで、出力とは、通常、外部の装置(例えば、端末装置2)への送信であるが、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念であると考えても良い。
判断結果出力部151は、判断部141が取得した判断結果を出力する。判断結果出力部151は、判断部141が取得した判断結果を、例えば、端末装置2に送信する。2以上の端末装置2が存在する場合、判断結果出力部151は、判断部141が取得した判断結果を、判断結果の基になった画像関連情報を送信してきた端末装置2に送信する。
判断結果出力部151は、判断結果と共に、または判断結果に代えて統計処理結果を出力しても良い。
判断結果出力部151は、2以上の各端末装置2に対応付けて、統計処理結果を出力することは好適である。各端末装置2に対応付けて、統計処理結果を出力することは、例えば、各端末装置2に、対応する統計処理結果を送信することである。また、各端末装置2に対応付けて、統計処理結果を出力することは、例えば、端末装置2を識別する識別子と統計処理結果とを対応付けて出力することである。
人手検査処理部152は、判断部141が取得した判断結果が、予め決められた条件を満たす場合に、人手により検査を受けるための処理である人手検査処理を行う。ここで、予め決められた条件を満たす場合とは、例えば、判断結果が有する確信度が閾値以下または閾値未満である場合、複数の判断結果についてエラー数が閾値以上または閾値より多い場合などである。また、人手検査処理とは、例えば、人に判断してもらうために、第二端末装置3に画像を送信することである。また、人手検査処理とは、例えば、人に判断してもらうために、画像を表示することである。なお、ここでの画像は、検査対象の製品を撮影した画像である。
端末装置2を構成する端末格納部21には、各種の情報が格納される。各種の情報とは、例えば、端末学習情報、画像関連情報等である。端末学習情報は、2以上の正例データを用いて取得された情報である。正例データは、製品の外観検査における不良であったデータであり、製品を撮影した画像を用いて取得されたデータである。端末学習情報は、上述した学習情報と同じ情報でも良い。ただし、端末学習情報は、上述した学習情報と比較して、判断の精度が低くなる学習情報であることは好適である。端末学習情報は、上述した学習情報と比較して、例えば、学習された正例データ、負例データが少ない。端末学習情報は、上述した学習情報と比較して、例えば、より最近の正例データ、負例データを使用していない。
端末受付部22は、画像関連情報を受け付ける。画像関連情報は、上述したように、製品を撮影した画像または画像から取得した2以上の特徴量である。ここで、受け付けとは、例えば、検査装置4からの受信である。
端末処理部23は、端末受付部22が受け付けた画像関連情報を端末学習情報に適用し、製品が不良であるか否かを判断し、判断結果を取得する。かかる処理は、上述した判断部141の処理と同様でも良い。ただし、端末処理部23の判断処理のアルゴリズムは、上述した判断部141の判断処理のアルゴリズムと異なっていても良い。
端末送信部24は、情報処理装置1に画像関連情報を送信する。端末送信部24は、予め決められた条件を満たす場合のみに、情報処理装置1に画像関連情報を送信することは好適である。予め決められた条件とは、例えば、端末処理部23が機械学習を用いた判断処理を行った場合に、スコアが閾値以下または閾値未満であることである。
端末受信部25は、情報処理装置1から各種の情報を受信する。各種の情報とは、例えば、判断結果、画像関連情報、判断対象の製品または画像関連情報を特定する識別子等である。
端末出力部26は、各種の情報を出力する。各種の情報とは、例えば、判断結果、画像関連情報、判断対象の製品または画像関連情報を特定する識別子等である。
ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置(例えば、第二端末装置3)への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
第二端末装置3を構成する第二格納部31には、各種の情報が格納される。各種の情報とは、例えば、画像関連情報等である。
第二受付部32は、各種の指示や情報等を受け付ける。各種の指示や情報等とは、例えば、判断結果である。なお、判断結果の受け付けは、通常、人による判断結果の入力の受け付けである。
各種の指示や情報等の入力手段は、キーボードやマウスやタッチパネルやメニュー画面によるもの等、何でも良い。第二受付部32は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
第二処理部33は、各種の処理を行う。各種の処理とは、第二受付部32で受け付けられた情報から、第二送信部34が送信する情報を構成する処理である。第二処理部33は、例えば、第二受付部32が受け付けた判断結果を用いて、第二送信部34が送信する判断結果と画像関連情報または判断結果と画像関連情報を特定する識別子を構成する。
第二送信部34は、各種の情報を送信する。各種の情報とは、例えば、判断結果を含む。第二送信部34は、例えば、判断結果と画像関連情報、または判断結果と画像関連情報を特定する識別子を、情報処理装置1に送信する。
第二受信部35は、各種の情報を受信する。各種の情報とは、画像関連情報または画像関連情報を特定する識別子である。
第二出力部36は、各種の情報を出力する。各種の情報とは、検査対象の製品の画像である。
ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
格納部11、学習情報格納部111、端末格納部21、および第二格納部31は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。
受付部12、判断結果受付部121、受信部13、出力部15、判断結果出力部151、人手検査処理部152、端末送信部24、端末受信部25、および第二受信部35は、例えば、無線または有線の通信手段で実現される。
処理部14、判断部141、統計処理部142、学習部143、端末処理部23、および第二処理部33は、通常、MPUやメモリ等から実現され得る。処理部14等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
端末出力部26、および第二出力部36は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。端末出力部26等は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、情報システムAの動作について説明する。まず、情報処理装置1の動作について、図4のフローチャートを用いて説明する。
(ステップS401)受信部13は、検査対象の製品の画像関連情報等を受信したか否かを判断する。画像関連情報等を受信した場合はステップS402に行き、画像関連情報等を受信しなかった場合はステップS411に行く。なお、画像関連情報等とは、例えば、画像関連情報、または画像関連情報と1以上の外部情報である。
(ステップS402)判断部141は、ステップS401で受信された画像関連情報等を用いて、学習情報に適用する情報(例えば、ベクトル)を構成する。
(ステップS403)判断部141は、ステップS402で構成した情報を、学習情報格納部111の学習情報に適用し、判断結果を取得する。なお、かかる判断処理の例について、図5、図6のフローチャートを用いて説明する。なお、判断部141は、ステップS402で構成した情報を、学習情報格納部111の一の学習情報に適用し、深層学習等の機械学習のアルゴリズムにより、判断結果を取得しても良い。
(ステップS404)人手検査処理部152は、判断部141が取得した判断結果が、予め決められた条件を満たすか否かを判断する。なお、予め決められた条件を満たすか否かの判断は、人手による検査が必要か否かの判断である。また、予め決められた条件は、例えば、ステップS403で得られたスコアが閾値以下または閾値より小さいことである。また、スコアは、例えば、確信度を示す情報である。
(ステップS405)統計処理部142は、ステップS403で取得された判断結果を用いた統計処理を行うか否かを判断する。統計処理を行う場合はステップS406に行き、統計処理を行わない場合はステップS408に行く。なお、統計処理を行う場合は、例えば、判断結果が閾値以上または閾値より多く蓄積された場合、特定のグループ(例えば、特定の端末装置2、特定の不良の不良種類情報など)の判断結果が閾値以上または閾値より多く蓄積された場合、統計処理を行うタイミングになった場合等である。
(ステップS406)統計処理部142は、ステップS403で取得された判断結果と、蓄積されている判断結果とを用いて、統計処理を行い、統計処理結果を取得する。統計処理の例について、図7のフローチャートを用いて説明する。
(ステップS407)判断結果出力部151は、ステップS403で取得された判断結果とステップS406で取得された統計処理結果とを用いて、出力する情報を構成する。ステップS409に行く。なお、出力する情報は、統計処理結果のみでも良い。
(ステップS408)判断結果出力部151は、ステップS403で取得された判断結果を用いて、出力する情報を構成する。
(ステップS409)判断結果出力部151は、ステップS407またはステップS408で構成した情報を出力する。ステップS401に戻る。なお、ここでの出力は、例えば、端末装置2への送信である。
(ステップS410)人手検査処理部152は、人手により検査を受けるための処理である人手検査処理を行う。ステップS401に戻る。なお、ここでの人手検査処理は、例えば、第二端末装置3への画像の送信である。また、この画像は、検査対象の製品の画像である。
(ステップS411)判断結果受付部121は、画像関連情報に対応付けて、人手による判断結果を第二端末装置3から受信したか否かを判断する。判断結果を受信した場合はステップS412に行き、判断結果を受信しなかった場合はステップS413に行く。
(ステップS412)処理部14は、ステップS411で受信された判断結果を、画像関連情報に対応付けて格納部11に蓄積する。
(ステップS413)学習部143は、学習処理を行うか否かを判断する。学習処理を行う場合はステップS414に行き、学習処理を行わない場合はステップS401に戻る。なお、例えば、格納部11に閾値以上または閾値より多い判断結果が存在する場合、またはステップS412で閾値以上または閾値より多い判断結果が蓄積された場合に、学習部143は、学習処理を行うと判断する。
(ステップS414)学習部143は、学習対象の情報を格納部11から取得する。学習対象の情報は、通常、判断結果と画像関連情報を含む。また、学習対象の情報は、1以上の外部情報を含んでも良い。また、学習対象の情報は、格納部11に格納されているすべての正例データ、負例データであることは好適である。
(ステップS415)学習部143は、ステップS414で取得した情報を用いて、学習するためのデータを構成する。学習するためのデータは、例えば、ベクトルである。
(ステップS416)学習部143は、ステップS415で構成されたデータを用いて、学習処理を行い、学習情報を取得する。ステップS401に戻る。なお、かかる学習処理は、例えば、上述した機械学習を用いた学習処理である。
なお、図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS403の判断処理の例について、図5のフローチャートを用いて説明する。
(ステップS501)判断部141は、カウンタiに1を代入する。
(ステップS502)判断部141は、i番目の学習情報が学習情報格納部111に存在するか否かを判断する。i番目の学習情報が存在する場合はステップS503に行き、存在しない場合はステップS505に行く。なお、ここでの学習情報は、いわゆる分類器である。
(ステップS503)判断部141は、ステップS402で構成した情報を、i番目の学習情報に適用し、スコアを取得する。そして、判断部141は、i目の学習情報に対応付けて、スコアを図示しないバッファに一時蓄積する。
(ステップS504)判断部141は、カウンタiを1、インクリメントする。ステップS502に戻る。
(ステップS505)判断部141は、最大のスコアに対応する学習情報を決定する。
(ステップS506)判断部141は、最大のスコアが第一閾値以下または第一閾値より小さいか否かを判断する。かかる条件を満たす場合はステップS507に行き、満たさない場合はステップS508に行く。
(ステップS507)判断部141は、変数「判断結果」に「良」を代入する。上位処理にリターンする。
(ステップS508)判断部141は、最大のスコアが第二閾値以下または第二閾値より小さいか否かを判断する。かかる条件を満たす場合はステップS509に行き、満たさない場合はステップS510に行く。なお、「第二閾値>第一閾値」である。
(ステップS509)判断部141は、変数「判断結果」に「人手による判断が必要である旨」を代入する。上位処理にリターンする。
(ステップS510)判断部141は、i目の学習情報に対応付けられている情報を取得する。かかる情報は、例えば、不良種類情報、検査種類情報のうちの1以上の情報である。
(ステップS511)判断部141は、変数「判断結果」に「不良」を代入する。上位処理にリターンする。
なお、図5のフローチャートにおいて、例えば、一つの学習情報のみを用いて、機械学習のアルゴリズムを用いた、一度の判断処理で、「不良」または「良」の結果を取得しても良い。
次に、ステップS403における判断処理の他の例について、図6のフローチャートを用いて説明する。
(ステップS601)判断部141は、カウンタiに1を代入する。
(ステップS602)判断部141は、i番目の学習情報が学習情報格納部111に存在するか否かを判断する。i番目の学習情報が存在する場合はステップS603に行き、存在しない場合はステップS605に行く。なお、ここでの学習情報は、通常、ベクトルである。
(ステップS603)判断部141は、ステップS402で構成した情報(ベクトル)と、i番目の学習情報(ベクトル)との距離を算出する。そして、判断部141は、i目の学習情報に対応付けて、距離を図示しないバッファに一時蓄積する。なお、ベクトル間の距離は、コサイン値等であり、距離算出方法は公知技術であるので詳細な説明は省略する。
(ステップS604)判断部141は、カウンタiを1、インクリメントする。ステップS602に戻る。
(ステップS605)判断部141は、最小の距離に対応する学習情報を決定する。
(ステップS606)判断部141は、ステップS605で決定した学習情報と対になる判断結果等を取得する。なお、判断結果等とは、例えば、判断結果のみ、または判断結果および不良種類情報、検査種類情報のうちの1以上の情報である。また、判断結果は、通常、「不良」または「良」を含む。
(ステップS607)判断部141は、算出した距離が閾値以上または閾値より大きいか否かを判断する。かかることを満たす場合はステップS608に行き、満たさない場合は上位処理にリターンする。
(ステップS608)判断部141は、変数「判断結果」に「人手による判断が必要である旨」を代入する。上位処理にリターンする。
次に、ステップS406の統計処理の例について、図7のフローチャートを用いて説明する。
(ステップS701)統計処理部142は、カウンタiに1を代入する。
(ステップS702)統計処理部142は、統計処理の対象の判断結果の集合におけるi番目のグループが存在するか否かを判断する。i番目のグループが存在する場合はステップS702に行き、i番目のグループが存在しない場合は上位処理にリターンする。なお、グループは、例えば、画像関連情報等を送信してきた端末装置2ごと、または画像関連情報等を送信してきた端末装置2および不良種類情報ごと、または画像関連情報等を送信してきた端末装置2および検査種類情報ごと、または画像関連情報等を送信してきた端末装置2および不良種類情報および検査種類情報ごと、または不良種類情報ごと、または検査種類情報ごと、または不良種類情報および検査種類情報ごとに構成される。
(ステップS703)統計処理部142は、i番目のグループに対応する判断結果を格納部11から取得する。
(ステップS704)統計処理部142は、ステップS703で取得した判断結果を統計処理し、統計処理結果を取得する。統計処理の内容は種々あり得ることは上述した通りである。
(ステップS705)統計処理部142は、i番目のグループに対応付けて、ステップS704で取得した統計処理結果を蓄積する。なお、i番目のグループに対応付けることは、i番目のグループ識別子、またはi番目のグループを特定する情報(例えば、端末装置2の識別子、不良種類情報、検査種類情報のうちの1以上の情報)に対応付けることである。
(ステップS706)統計処理部142は、カウンタiを1、インクリメントする。ステップS702に戻る。
次に、端末装置2の動作について、図8のフローチャートを用いて説明する。
(ステップS801)端末受付部22は、画像関連情報等を受け付けたか否かを判断する。画像関連情報等を受け付けた場合はステップS802に行き、画像関連情報等を受け付けなかった場合はステップS801に戻る。なお、画像関連情報等とは、例えば、画像関連情報、または画像関連情報と1以上の外部情報である。
(ステップS802)端末処理部23は、端末受付部22が受け付けた画像関連情報を端末格納部21の端末学習情報に適用し、製品が不良であるか否かを判断し、判断結果を取得する。なお、ここでは、判断結果は、例えば、スコアを含む、とする。
(ステップS803)端末処理部23は、ステップS802で取得した判断結果が予め決められた条件を満たすか否かを判断する。予め決められた条件を満たす場合はステップS804に行き、予め決められた条件を満たさない場合はステップS806に行く。なお、予め決められた条件は、例えば、スコアが閾値以下または閾値未満であることである。
(ステップS804)端末送信部24は、情報処理装置1に画像関連情報等を送信する。画像関連情報等とは、例えば、画像関連情報、または画像関連情報と1以上の外部情報である。
(ステップS805)端末受信部25は、情報処理装置1から判断結果を受信したか否かを判断する。判断結果を受信した場合はステップS806に行き、判断結果を受信しなかった場合はステップS805に戻る。
(ステップS806)端末出力部26は、判断結果を出力する。ステップS801に戻る。ここでの判断結果は、ステップS805で受信された判断結果、またはステップS802で得られた判断結果である。
以下、本実施の形態における情報システムAの概念図を図9に示す。図9において、外部情報も図示しない端末により、情報処理装置1に送信され、蓄積される、とする。各検査装置4と端末装置2との組は、それぞれ異なる工場で動作している、とする。そして、各工場の外部情報(例えば、温度、湿度)が図示しない端末により、情報処理装置1に送信され、蓄積されている、とする。
図9において、端末装置2は、例えば、検査情報エッジ処理を行う検査情報エッジ処理デバイス(IDEPD[Inspection Data Edge Process Device])である。IDEPDは、1または2以上の検査機4から送出された複数のセンサデータ(映像情報、その他センシング情報(例:振動、温度、等等))を入力として受け付け、それをあらかじめ設定された検査設定ファイル(IPSF[Inspection Process Setup File])に基づき検査データを翻訳・フォーマット化し、検査結果データ(IDF[Inspection Data Format])として、クラウドへ送出する。IPSFの設定によっては、即時性を持ってIDEPDで判断するべき不良対象物はその場で特定を行う。それ以外のデータはクラウドへ送出後、情報処理装置1が、例えば、ディープラーニングを用いた分析により、不良検知の特定が行われ、その学習によって最適化されたIPSFは適宜(動的・静的)にIDEPDの検査プロファイルとしてリロードされる。
なお、検査結果データ(IDF)は、例えば、「識別子」「IPSF情報」「対象物・外部環境情報」「センサ情報」「検査区分」「分析結果」を有する。「識別子」は、1以上の識別情報であり、例えば、時間、検査機のID、検査機メーカのID、アングルを特定するID、ロケーションを特定するID、工場を特定するID等である。「IPSF情報」は、検査設定ファイルの種類等である。「対象物・外部環境情報」は、対象物(位置等)、部材に関するデータ(例えば、部材のロットを特定する情報)、外部環境情報(気象、気温等)等である。「センサ情報」は、センシングされた情報であり、例えば、温度、振動量、画像RAWデータ(例えば、JpegやMpegのデータ)、フレームレート等である。「検査区分」は、検査の種類を示す情報であり、例えば、透過検査、反射検査等である。「分析結果」は、分析の結果を特定する情報であり、例えば、トビ、カケ、シミ、汚れ、キズ、離れ等である。
また、IDFは、上記の構造を有することにより、複数の拠点、複数の検査機、複数の対象物から得られた情報に基づいて、良品、不良品の判断を行う事が出来る。
IDEPDで生成された検査結果データは、対象物のデータ(例えば、部品ロット・前処理の内容)や外部情報(例えば、気象条件、工場の環境パラメータ等)との状況と結合して利用されることで、機械学習等のアルゴリズムを用いて行われる不良判断の精度がさらに向上されることが期待される。情報システムAでは検査情報のみのデータを分析するだけでなく、その検査に付随する外部情報も付与し結合することで分析の精度が向上出来る。
また、情報処理装置1の格納部11に蓄積されている正例データ(不良である製品の画像)を図10に示す。図10において、「ID」「画像」「検査種類情報」「不良種類情報」「外部情報」を有する。なお、外部情報は、ここでは、温度、湿度であるが、他の外部情報を有しても良いことは言うまでもない。また、正例データは、熟練の検査員が検知した不良の製品の画像等である。
かかる場合に、図10の正例データを学習部143が、不良種類情報ごとに学習情報を構成し、学習情報格納部111に蓄積した、とする。
かかる状況において、情報システムAの動作の概要について説明する。各工場において、検査装置4が製品に対する検査を行い、検査の結果および製品の画像を端末装置2に送付する。端末装置2は、検査の結果および製品の画像を受け付ける。そして、検査の結果が予め決められた条件を満たす場合(例えば、正常であるとの結果の場合)、受け付けた製品の画像から2以上の特徴量を取得する。そして、2以上の特徴量を含む画像関連情報を情報処理装置1に送信する。
次に、情報処理装置1は、端末装置2から受信した画像関連情報と、当該端末装置2が設置されている工場の外部情報とを用いて、ベクトルを構成し、当該ベクトルを学習情報格納部111の学習情報に適用し、判断結果を得る。なお、かかる判断処理の詳細は、上述した通りである。
次に、情報処理装置1は、当該判断結果を端末装置2に送信する。
次に、端末装置2は、当該判断結果を受信し、出力する。そして、「不良」であった判断結果に対応する製品は、販売されないように、ラインから除かれる。
以上、本実施の形態によれば、一つの情報処理装置で、遠隔の1または2以上の拠点での製品の製造に対応した外観検査が行える。また、本実施の形態によれば、熟練検査員の検査結果から取得される学習情報を用いることにより、効率の良い、ばらつきを押さえた外観検査が可能となる。
また、本実施の形態によれば、外部情報をも用いることにより、さらに精度の高い外観検査が可能となる。
また、本実施の形態によれば、不良の種類または検査の種類をも判断可能となる。
また、本実施の形態によれば、不良に関する統計処理結果を得ることができる。
また、本実施の形態によれば、自動的な判断結果を用いて、検査手順を変更するための情報を得ることができる。
また、本実施の形態によれば、2以上の端末装置から受信された画像関連情報を用いて、端末装置ごとの統計処理結果を得ることができる。
また、本実施の形態によれば、判断結果が条件に合致する場合に、人手による判断を適切に仰ぐことができる。
さらに、本実施の形態によれば、判断結果が予め決められた条件を満たすような適切な場合に、学習情報を自動的に取得できる。
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、製品の外観検査における不良であった2以上の正例データであり、前記製品を撮影した画像を用いて取得された2以上の正例データを用いて取得された学習情報が格納される学習情報格納部にアクセス可能なコンピュータを、外観検査の対象の製品を撮影した画像または当該画像から取得した2以上の特徴量である画像関連情報を、当該画像関連情報を取得した1以上の端末装置を経由して受信する受信部と、前記受信部が受信した画像関連情報を学習情報に適用し、前記製品が不良であるか否かを判断し、判断結果を取得する判断部と、前記判断部が取得した判断結果を出力する判断結果出力部として機能させるためのプログラムである。
また、端末装置2を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、製品の外観検査における不良であった2以上の正例データであり、前記製品を撮影した画像を用いて取得された2以上の正例データを用いて取得された端末学習情報が格納される端末格納部にアクセス可能なコンピュータを、製品を撮影した画像または当該画像から取得した2以上の特徴量である画像関連情報を受け付ける端末受付部と、前記端末受付部が受け付けた画像関連情報を学習情報に適用し、前記製品が不良であるか否かを判断し、判断結果を取得する端末処理部と、前記端末処理部が取得した判断結果が予め決められた条件を満たす場合に、前記端末受付部が受け付けた画像関連情報を情報処理装置に送信する端末送信部として機能させるためのプログラムである。
また、図11は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の情報処理装置1等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図11は、このコンピュータシステム300の概観図であり、図12は、システム300のブロック図である。なお、図11、図12は、エンゲージメントシステムを実現するコンピュータの外観等を示す図である。
図11において、コンピュータシステム300は、CD−ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図12において、コンピュータ301は、CD−ROMドライブ3012に加えて、MPU3013と、CD−ROMドライブ3012等に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。なお、MPU3013に代えて、GPU等を用いても良いことは言うまでもない。また、また、CD−ROM3101に代えて、USBメモリ等の他の記録媒体を用いても良いことは言うまでもない。
コンピュータシステム300に、上述した実施の形態の情報処理装置1等の機能を実行させるプログラムは、CD−ROM3101に記憶されて、CD−ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD−ROM3101またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態の情報処理装置1等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。つまり、情報処理装置1は、スタンドアロンで動作しても良い。情報処理装置1がスタンドアロンで動作する場合、受付部12は、ユーザ等から指示や情報等を受け付ける。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。