(58)【調査した分野】(Int.Cl.,DB名)
前記検査実施プログラムは、前記検査対象物又は前記検査用撮像装置をアームに保持する検査支援ロボットを用いるものであって、前記検査対象物の検査箇所を前記検査用撮像装置を用いて撮像するように、前記検査対象物と前記検査用撮像装置との相対位置を制御する前記検査支援ロボットの動作プログラムを含み、
前記プログラム生成部は、
前記構築用機械学習部を含み、前記視線情報と前記対象物情報との組のデータに基づいて、前記目視検査の際に前記検査者が注視した前記検査対象物の注視箇所を検査箇所として特定すると共に、
前記構築用機械学習部で学習した学習モデルに基づいて、特定した前記検査対象物の検査箇所を前記検査用撮像装置を用いて撮像するように、前記検査対象物と前記検査用撮像装置との相対位置を制御する前記検査支援ロボットの動作プログラムを生成する、請求項3に記載の検査装置。
前記検査システムの設計値は、前記検査用撮像装置の種類、配置位置及び姿勢、前記検査用撮像装置の光学レンズの種類、前記検査対象物を照らす照明装置の種類、配置位置及び姿勢、前記検査支援ロボットの動作プログラム、及び検査プログラムのうちの少なくとも1つを含み、
前記プログラム生成部は、前記検査対象物、前記検査用撮像装置及び前記照明装置の相対位置を制御する前記検査支援ロボットの動作プログラムを生成する、請求項4又は5に記載の検査装置。
【発明を実施するための形態】
【0024】
以下、添付の図面を参照して本発明の実施形態の一例について説明する。なお、各図面において同一又は相当の部分に対しては同一の符号を附すこととする。
【0025】
図1Aは、本実施形態に係る検査システムの構成を示す図であり、
図1Bは、本実施形態に係る他の検査システムの構成を示す図である。これらの検査システム1A,1Bは、例えば、検査用視覚センサ4で撮像された検査対象物2の画像に基づいて、検査対象物2の欠陥(例えば、表面の傷又は異物付着)の有無を検査するシステムである。
【0026】
図1Aに示す検査システム1Aは、検査用視覚センサ4と、照明装置6と、検査装置10と、検査支援ロボット50と、ロボット制御装置60とを備える。
検査用視覚センサ4は、検査対象物2を撮像し、撮像した検査対象物2の画像を検査装置10に提供する。検査用視覚センサ4は、内蔵する光学レンズの種類を交換可能になっている。照明装置6は、検査対象物2を照らす。
検査支援ロボット50は、アーム52におけるハンドで検査対象物2を把持する。ロボット制御装置60は、検査支援ロボットの動作プログラムを実行し、検査支援ロボット50を制御して、検査対象物2の位置、姿勢を制御する。
このように、検査システム1Aでは、検査用視覚センサ4の位置、姿勢、及び照明装置6の位置を固定とし、検査対象物2の位置、姿勢を制御することにより、検査対象物2、検査用視覚センサ4、及び照明装置6の相対位置を制御する。
検査装置10は、検査プログラムを実行し、検査用視覚センサ4で撮像された検査対象物2の画像に基づいて、検査対象物2の欠陥の有無を検査し、その検査結果を外部に出力する。
本実施形態では、検査支援ロボットの動作プログラムと検査装置の検査プログラムによって、検査実施プログラムを構成する。
【0027】
一方、
図1Bに示す検査システム1Bは、
図1Aに示す検査システム1Aにおいて、検査支援ロボット50が検査対象物2に代えて検査用視覚センサ4及び照明装置6を保持する点で検査システム1Aと異なる。
検査支援ロボット50は、アーム52の先端に検査用視覚センサ4及び照明装置6を保持する。ロボット制御装置60は、検査支援ロボットの動作プログラムを実行し、検査支援ロボット50を制御して、検査用視覚センサ4の位置、姿勢、及び照明装置6の位置を制御する。
このように、検査システム1Bでは、検査対象物2の位置、姿勢を固定とし、検査用視覚センサ4の位置、姿勢、及び照明装置6の位置を制御することにより、検査対象物2、検査用視覚センサ4、及び照明装置6の相対位置を制御する。
以下、検査装置10について詳細に説明する。
【0028】
図2は、第1実施形態の検査装置の構成を示す図である。
図2に示す検査装置10Aは、
図1Aの検査システム1A及び
図1Bの検査システム1Bにおける検査装置10に対応する。
【0029】
検査装置10Aは、検査者3が検査対象物2の欠陥の検査を目視で行う目視検査を、視線用視覚センサ5を用いて自動化するための検査システムの構築を自動で行う。具体的には、検査装置10Aは、
図3に示すように、検査者3が検査対象物2の欠陥の目視検査を行う際に、視線用視覚センサ5で撮像された検査者3の目付近の画像、及び、対象物用視覚センサ4Aで撮像された検査対象物2の画像を用いて、検査システムの構築を自動で行う。
【0030】
対象物用視覚センサ4Aは、検査対象物2を撮像し、撮像した検査対象物2の画像を検査装置10Aに提供する。
なお、本実施形態では、検査用視覚センサ4が対象物用視覚センサ4Aを兼用する形態を例示するが、対象物用視覚センサ4Aは検査用視覚センサ4と別の視覚センサであってもよい。
【0031】
視線用視覚センサ5は、検査者3の目付近を撮像し、撮像した検査者3の目付近の画像を検査装置10Aに提供する。
なお、本実施形態では、検査者3の目付近と検査対象物2とを2つの視覚センサでそれぞれ撮像したが、検査者3の目付近と検査対象物2とを1つの視覚センサで撮像してもよい。
【0032】
また、検査装置10Aは、検査システムの構築後、検査用視覚センサ4で撮像された検査対象物2の画像に基づいて、検査対象物2の欠陥の検査を自動で行う。
【0033】
検査装置10Aは、視線情報取得部11と、対象物情報取得部16と、環境情報取得部22と、構築用ラベル取得部24と、構築用機械学習部26を含むプログラム生成部28と、環境情報出力部30と、検査用ラベル取得部32と、検査用機械学習部34と、記憶部40とを備える。
【0034】
視線情報取得部11は、画像取得部12と画像処理部13とを有する。画像取得部12は、例えば通信インタフェースであり、視線用視覚センサ5で撮像された画像を受信する。画像処理部13は、受信した画像を画像処理して、
図3に示すように、検査者3の眼球の位置を視線の起点として求めると共に、検査者3の視線方向を求める。
また、視線情報取得部11における画像取得部(通信インタフェース)12は、
図4に示すように、目視検査の際の検査対象物2の注視範囲であって、検査者により予め入力される注視範囲(固定値)を受信する。なお、視線情報取得部11は、視線の起点と検査対象物2との距離に応じて注視範囲の大きさを変更してもよい。
これにより、視線情報取得部11は、検査者3が検査対象物2の欠陥の目視検査を行う際の、検査者3の視線の起点、視線方向、及び注視範囲(固定値)を含む視線情報を取得する。
【0035】
対象物情報取得部16は、画像取得部17と画像処理部18とを有する。画像取得部17は、例えば通信インタフェースであり、対象物用視覚センサ4Aで撮像された画像を受信する。画像処理部18は、受信した画像を画像処理して、検査対象物2の位置、姿勢、及び形状を求める。なお、対象物情報取得部16は、CAD情報を受信し、CAD情報に基づいて検査対象物2の形状を求めてもよい。また、検査対象物2の位置が固定であれば、対象物情報取得部16における画像取得部(通信インタフェース)17は、検査者により予め入力される検査対象物2の位置、姿勢(固定値)を受信してもよい。
これにより、対象物情報取得部16は、検査者が検査対象物2の目視検査を行う際の、検査対象物2の位置、姿勢、及び形状を含む対象物情報を取得する。
【0036】
視線情報取得部11及び対象物情報取得部16は、視線用視覚センサ5及び対象物用視覚センサ4Aで同一のタイミングに撮像された画像から視線情報及び対象物情報を取得する。本実施例では、視線情報及び対象物情報を取得するタイミングは、検査者3が与えるものとする。例えば、検査者3が所定の操作ボタンを押したタイミングでもよいし、検査者3が目を数秒つむるなどの予め定められたジェスチャーをしたときでもよい。
視線情報取得部11、対象物情報取得部16、及び後述する環境情報取得部22で取得される位置姿勢は同じ座標系上で表現されるものとする。そのためには、視線用視覚センサ11、対象物視覚センサ16の相対位置関係は既知である必要がある。
【0037】
環境情報取得部22は、目視検査の際の環境に関する環境情報として、照明装置6の種類、配置位置及び姿勢を取得する。環境情報は、例えば検査者により入力されてもよいし、検査システムの設計時の情報(例えば、後述する検査システムの設計値)から取得してもよい。
【0038】
構築用ラベル取得部24は、目視検査を、検査用視覚センサ4を用いて自動化するための検査システムの設計値をラベルとして取得する。検査システムの設計値は、検査用視覚センサ4の種類、配置位置及び姿勢、検査用視覚センサ4内の光学レンズの種類、照明装置6の種類、配置位置及び姿勢、検査支援ロボットの動作プログラム、及び検査装置の検査プログラムを含む。
【0039】
同一タイミングで取得された視線情報と、対象物情報と、環境情報と、ラベルとの複数の組のデータは、学習データとして記憶部40に一旦記憶される。
【0040】
構築用機械学習部26は、機械学習時、記憶部40に一旦記憶されている視線情報と、対象物情報と、環境情報と、ラベルとの複数の組の学習データに基づいて、学習モデル(状態モデル)を学習する。換言すれば、構築用機械学習部26は、視線情報および対象物情報(または注視箇所)と、環境情報とを入力データとし、ラベルを教師データとして、学習モデルを学習する。視線情報と対象物情報の代わりに注視箇所を入力データとしてもよい。注視箇所は次のように求められる。同一タイミングで取得された視線情報と対象物情報に基づいて、目視検査の際に検査者が注視した検査対象物2の注視箇所を検査箇所として特定する。注視点は検査者3の視線と検査対象物2の表面が交差する点として求めることができる。更に注視点の周りに注視範囲を設ければ、それが注視箇所となる。
また、構築用機械学習部26は、検査システム構築時、学習した学習モデルに従って、目視検査の際の、視線情報取得部11で取得された視線情報、対象物情報取得部16で取得された対象物情報、及び環境情報取得部22で取得された環境情報に基づいて、検査システムの設計値を出力する。
構築用機械学習部26は、例えば多層ニューラルネットワークを含むニューラルネットワークにより構築された学習モデルに従って機械学習が行われる。入力層、出力層、そして中間層を含むニューラルネットワークにより構築された学習モデルは適宜の方式を用いることができる。例えば、CNN(Convolutional Newral Network)を適用することもできる。
【0041】
更に、構築用機械学習部26は、機械学習時、検査支援ロボットの動作プログラムをラベルとして加え学習することができる。そのようにした場合、プログラム生成部28は、構築用機械学習部26で新たに取得した視線情報および対象物情報(または注視箇所)と、環境情報とを入力データとして学習した学習モデルで推論を行い、検査支援ロボットの動作プログラムを出力できる。出力された検査支援ロボットの動作プログラムは、出力された検査システムの設計値に基づき構築される検査システムで使用することできる。
また、構築用機械学習部26は、機械学習時、検査装置の検査プログラムをラベルとして加え学習することができる。そのようにした場合、プログラム生成部28は、構築用機械学習部26で新たに取得した視線情報および対象物情報(または注視箇所)と、環境情報とを入力データとして学習した学習モデルで推論を行い、検査装置の検査プログラムを出力できる。出力された検査装置の検査プログラムは、出力された検査システムの設計値に基づき構築される検査システムで使用することできる。
【0042】
環境情報出力部30は、構築用機械学習部26から出力された検査システムの設計値における環境情報として、検査用視覚センサ4の種類、配置位置及び姿勢、検査用視覚センサ4内の光学レンズの種類、及び照明装置6の種類、配置位置及び姿勢に関する情報を出力する。これにより、検査システムを構築する人は、検査用視覚センサ4、検査用視覚センサ4内の適切な光学レンズ、及び照明装置6を準備することができる。
【0043】
検査用ラベル取得部32は、画像取得部17で取得された検査対象物2の検査箇所の画像に付与するラベルであって、検査者による目視検査の際に検査対象物2の検査箇所の欠陥の有無の検査結果(例えば、OK(欠陥無)又はNG(欠陥有))を示すラベルを取得する。検査結果は、視線情報の取得と同じタイミングで付与してもよいし、全て視線情報を取得したあとで、検査箇所の画像を見ながら付与してもよい。
【0044】
同一タイミングで取得された検査対象物2の検査箇所の画像と、ラベルとの複数の組のデータは、学習データとして記憶部40に一旦記憶される。
【0045】
検査用機械学習部34は、機械学習時、記憶部40に一旦記憶されている検査対象物2の検査箇所の画像とラベルとの複数の組の学習データに基づいて、学習モデル(状態モデル)を学習する。換言すれば、検査用機械学習部34は、画像取得部17で取得された検査対象物2の検査箇所の画像を入力データとし、検査用ラベル取得部32で取得されたラベルを教師データとして、学習モデルを学習する。学習モデルは、例えば検査プログラムに含まれる。
また、検査用機械学習部34は、検査時、学習した学習モデルに従って、画像取得部17で取得された画像に基づいて、検査対象物2の検査箇所の欠陥の有無の検査結果を出力する。
【0046】
記憶部40は、構築用機械学習部26の学習のための学習データ、及び検査用機械学習部34の学習のための学習データを記憶する。記憶部40は、例えばEEPROM等の書き換え可能なメモリである。
【0047】
上述した検査装置10A(及び、後述する検査装置10B)における視線情報取得部11の画像処理部13、対象物情報取得部16の画像処理部18、環境情報取得部22、構築用ラベル取得部24、構築用機械学習部26、プログラム生成部28、環境情報出力部30、検査用ラベル取得部32、及び検査用機械学習部34は、例えば、DSP(Digital Signal Processor)、FPGA(Field−Programmable Gate Array)等の演算プロセッサで構成される。検査装置10A(及び、後述する検査装置10B)の各種機能は、例えば記憶部に格納された所定のソフトウェア(プログラム、アプリケーション)を実行することで実現される。検査装置10A(及び、後述する検査装置10B)の各種機能は、ハードウェアとソフトウェアとの協働で実現されてもよいし、ハードウェア(電子回路)のみで実現されてもよい。
【0048】
次に、
図3〜
図5を参照して、本実施形態の検査装置10Aによる検査システム構築のための機械学習動作について説明する。
図5は、本実施形態の検査装置10Aによる検査システム構築のための機械学習動作を示すフローチャートである。
【0049】
まず、
図3に示すように、検査者3が検査対象物2の目視検査を行う際に、視線用視覚センサ5で検査者3の目付近を撮像すると共に、対象物用視覚センサ4Aで検査対象物2を撮像する。検査対象物2は、固定されていてもよいし、検査者3により把持されていてもよい。
このとき、検査者は、目視検査の際の環境情報として、照明装置6の種類、配置位置及び姿勢を、検査装置10Aに入力する。
また、検査者は、目視検査を検査用視覚センサ4を用いて自動化するための検査システムの設計値として、検査用視覚センサ4の種類、配置位置及び姿勢、検査用視覚センサ4内の光学レンズの種類、照明装置6の種類、配置位置及び姿勢、検査支援ロボットの動作プログラム、及び検査装置の検査プログラムを、検査装置10Aに入力する。
なお、検査者は、
図4に示すように、目視検査の際の検査対象物2の注視範囲(固定値)を予め入力する。
【0050】
視線情報取得部11は、視線用視覚センサ5で撮像された検査者の目付近の画像を受信し、受信した画像を画像処理して、検査者3の視線の起点、視線方向を求める。また、視線情報取得部11は、検査者により予め入力される注視範囲(固定値)を受信する。これにより、視線情報取得部11は、目視検査の際の、検査者3の視線の起点、視線方向、及び注視範囲(固定値)を含む視線情報を取得する(S1)。
このとき、対象物情報取得部16は、対象物用視覚センサ4Aで撮像された検査対象物2の画像を受信し、受信した画像を画像処理して、検査対象物2の位置、姿勢、及び形状を含む対象物情報を求める。これにより、対象物情報取得部16は、目視検査の際の、検査対象物2の位置、姿勢、及び形状を含む対象物情報を取得する(S2)。
視線情報取得部11及び対象物情報取得部16は、視線用視覚センサ5及び対象物用視覚センサ4Aで同一のタイミングに撮像された画像から視線情報及び対象物情報を取得する。
【0051】
また、環境情報取得部22は、検査者により入力された照明装置6の種類、配置位置及び姿勢(環境情報)を取得する(S3)。
また、構築用ラベル取得部24は、検査者により入力された検査用視覚センサ4の種類、配置位置及び姿勢、検査用視覚センサ4内の光学レンズの種類、照明装置6の種類、配置位置及び姿勢、検査支援ロボットの動作プログラム、及び検査装置の検査プログラム(検査システムの設計値)をラベルとして取得する(S4)。
同一タイミングで取得された視線情報と、対象物情報と、環境情報と、ラベルとの複数の組のデータは、学習データとして記憶部40に一旦記憶される。
【0052】
次に、構築用機械学習部26は、記憶部40に一旦記憶されている視線情報と、対象物情報と、環境情報と、ラベルとの複数の組の学習データに基づいて、学習モデル(状態モデル)を学習する。換言すれば、構築用機械学習部26は、視線情報と、対象物情報と、環境情報とを入力データとし、ラベルを教師データとして、学習モデルを学習する(S5)。
目視検査の際の検査対象物2の検査箇所が複数ある場合、検査箇所ごとに上述した動作が行われる。
【0053】
なお、構築用ラベル取得部24がラベルとして取得する検査システムの設計値における検査支援ロボットの動作プログラムは、後述する検査システム構築時にプログラム生成部28で生成された検査支援ロボットの動作プログラムが検査者により修正された修正動作プログラムであってもよい。すなわち、
図5の検査システム構築のための機械学習動作と、後述する
図6の検査システムの構築動作とを行って生成された検査支援ロボットの動作プログラムを修正し、再度、
図5の検査システム構築のための機械学習動作と
図6の検査システムの構築動作とを行って、より適切な検査支援ロボットの動作プログラムを生成してもよい。
【0054】
次に、
図3、
図4及び
図6を参照して、本実施形態の検査装置10Aによる検査システムの構築動作について説明する。
図6は、本実施形態の検査装置10Aによる検査システムの構築動作を示すフローチャートである。
【0055】
上述した検査システム構築のための機械学習終了後、
図3に示すように、新たに検査者3が検査対象物2の目視検査を行う際に、視線用視覚センサ5で検査者3の目付近を撮像すると共に、対象物用視覚センサ4Aで検査対象物2を撮像する。
このとき、検査者は、目視検査の際の環境情報として、照明装置6の種類、配置位置及び姿勢を、検査装置10Aに入力する。
なお、検査者は、
図4に示すように、目視検査の際の検査対象物2の注視範囲(固定値)を予め入力する。
【0056】
視線情報取得部11は、視線用視覚センサ5で撮像された検査者の目付近の画像を受信し、受信した画像を画像処理して、検査者3の視線の起点、視線方向を求める。また、視線情報取得部11は、検査者により予め入力される注視範囲(固定値)を受信する。これにより、視線情報取得部11は、目視検査の際の、検査者3の視線の起点、視線方向、及び注視範囲(固定値)を含む視線情報を取得する(S11)。
このとき、対象物情報取得部16は、対象物用視覚センサ4Aで撮像された検査対象物2の画像を受信し、受信した画像を画像処理して、検査対象物2の位置、姿勢、及び形状を含む対象物情報を求める。これにより、対象物情報取得部16は、目視検査の際の、検査対象物2の位置、姿勢、及び形状を含む対象物情報を取得する(S12)。
また、環境情報取得部22は、検査者により入力された照明装置の種類、配置位置及び姿勢(環境情報)を取得する(S13)。
【0057】
次に、構築用機械学習部26は、学習した学習モデルに従って、視線情報取得部11で取得された視線情報、対象物情報取得部16で取得された対象物情報、及び環境情報取得部22で取得された環境情報に基づいて、検査システムの設計値を出力する。換言すれば、構築用機械学習部26は、検査システムの設計値として、検査用視覚センサ4の種類、配置位置及び姿勢、検査用視覚センサ4内の光学レンズの種類、照明装置6の種類、配置位置及び姿勢、検査支援ロボットの動作プログラム、及び検査装置の検査プログラムを出力する(S14)。
【0058】
次に、構築用機械学習部26(プログラム生成部28)は、同一タイミングで取得された視線情報と対象物情報に基づいて、目視検査の際に検査者が注視した検査対象物2の注視箇所を検査箇所として特定する。(S15)。
【0059】
次に、プログラム生成部28は、構築用機械学習部26で学習した学習モデルで推論を行い、検査支援ロボットの動作プログラムを生成する。具体的には、プログラム生成部28は、特定した検査対象物2の検査箇所を検査用視覚センサ4を用いて適切な視野及び距離で撮像するように、検査対象物2、検査用視覚センサ4、及び照明装置6の相対位置を制御する検査支援ロボットの動作プログラムを生成する(S16)。検査対象物2と検査用視覚センサ4との相対位置は、検査対象物2が適切な大きさで撮像されるように制御されてもよいし、検査対象物2が一定の大きさで撮像されるように制御されてもよい。
【0060】
また、プログラム生成部28は、構築用機械学習部26で学習した学習モデルで推論を行い、検査装置の検査プログラムを生成する。具体的には、プログラム生成部28は、撮像した検査対象物2の検査箇所の画像に基づいて検査対象物2の検査を行うための検査プログラムを生成する(S17)。
検査対象物2の検査箇所が複数ある場合、プログラム生成部28は、全ての検査箇所を順に検査するように、検査支援ロボットの動作プログラム、及び検査プログラムを生成する。検査の順序は、検査者が目視検査した順序であってもよいし、或いは何らかの指標が良くなる(例えば、検査支援ロボットの移動距離が最小になる)順序であってもよい。
【0061】
このとき、環境情報出力部30は、構築用機械学習部26で出力された検査システムの設定値における環境情報として、検査用視覚センサ4の種類、配置位置及び姿勢、検査用視覚センサ4内の光学レンズの種類、及び照明装置6の種類、配置位置及び姿勢に関する情報を出力する(S18)。これにより、検査者は、検査用視覚センサ4、検査用視覚センサ4内の光学レンズ、及び照明装置6を準備することができる。
【0062】
次に、
図7を参照して、本実施形態の検査装置10Aによる検査のための機械学習動作について説明する。
図7は、本実施形態の検査装置10Aによる検査のための機械学習動作を示すフローチャートである。
【0063】
検査システムの構築後、環境情報出力部30で出力された検査用視覚センサ4の種類、配置位置及び姿勢、検査用視覚センサ4内の光学レンズの種類、及び照明装置6の種類、配置位置及び姿勢に基づいて、検査者が検査用視覚センサ4、検査用視覚センサ4内の光学レンズ、及び照明装置6を準備及び設置する。
ロボット制御装置60は、プログラム生成部28で生成された検査支援ロボットの動作プログラムを実行することにより検査支援ロボット50を駆動制御し、検査対象物2、検査用視覚センサ4、及び照明装置6の相対位置を制御する。
検査用視覚センサ4は、検査対象物2の検査箇所を撮像する。
また、検査者は、目視検査の際に検査対象物2の検査箇所の欠陥の有無の検査結果(例えば、OK(欠陥無)又はNG(欠陥有))を検査装置10Aに入力する。
【0064】
画像取得部17は、検査用視覚センサ4で撮像された検査対象物2の検査箇所の画像を取得する(S21)。
また、検査用ラベル取得部32は、画像取得部17で取得された検査対象物2の検査箇所の画像に付与するラベルであって、検査者により入力された目視検査の際の検査対象物の検査箇所の欠陥の有無の検査結果(OK、NG)を示すラベルを取得する(S22)。
検査用ラベル取得部32が検査対象物2の検査箇所のラベルを取得するタイミングで、画像取得部17が検査対象物2のその検査箇所の画像を取得してもよい。或いは、検査用ラベル取得部32が検査対象物2の全ての検査箇所のラベルを取得し終えた後に、構築された検査システムにて自動で、検査対象物2の全ての検査箇所の画像を取得してもよい。
取得された検査対象物2の検査箇所の画像と、ラベルとの組の集合であるデータは、学習データとして記憶部40に一旦記憶される。
【0065】
検査用機械学習部34は、記憶部40に一旦記憶されている検査対象物2の検査箇所の画像とラベルとの組の集合である学習データに基づいて、学習モデル(状態モデル)を学習する。換言すれば、検査用機械学習部34は、画像取得部17で取得された検査対象物2の検査箇所の画像を入力データとし、検査用ラベル取得部32で取得されたラベルを教師データとして、学習モデルを学習する(S23)。
【0066】
次に、
図8を参照して、本実施形態の検査装置10Aによる検査動作について説明する。
図8は、本実施形態の検査装置10Aによる検査動作を示すフローチャートである。
【0067】
検査のための機械学習終了後、ロボット制御装置60は、新たに検査支援ロボットの動作プログラムを実行することにより検査支援ロボット50を駆動制御し、検査対象物2、検査用視覚センサ4、及び照明装置6の相対位置を制御する。
検査用視覚センサ4は、検査対象物2の検査箇所を撮像する。
【0068】
画像取得部17は、検査用視覚センサ4で撮像された検査対象物2の検査箇所の画像を取得する(S31)。
次に、検査用機械学習部34は、学習した学習モデルに従って、画像取得部17で取得された検査対象物2の検査箇所の画像に基づいて、検査対象物2の検査箇所の欠陥の有無の検査結果を出力する(S32)。
【0069】
以上説明したように、第1実施形態の検査装置10A及び検査システム1A,1Bによれば、検査者3が検査対象物2の目視検査を行う際に、視線情報取得部11は、検査者の視線の起点、視線方向、及び注視範囲を含む視線情報を取得し(
図3及び
図4)、対象物情報取得部16は、検査対象物の位置、姿勢、及び形状を含む対象物情報を取得し、環境情報取得部22は、照明装置6の種類、配置位置及び姿勢を含む環境情報を取得する。また、構築用ラベル取得部24は、目視検査を検査用視覚センサ4を用いて自動化するための検査システムの設計値(検査用視覚センサ4の種類、配置位置及び姿勢、検査用視覚センサ4内の光学レンズの種類、照明装置6の種類、配置位置及び姿勢、検査支援ロボットの動作プログラム、及び検査プログラム)を、ラベルとして取得する。構築用機械学習部26は、機械学習時、取得された視線情報、対象物情報及び環境情報を入力データとし、ラベルを教師データとして学習モデルを学習し、機械学習終了後(検査システム構築時)、目視検査の際に取得された視線情報、対象物情報及び環境情報に基づいて検査システムの設計値を出力する。構築用機械学習部26(プログラム生成部28)は、同一タイミングで取得された視線情報と対象物情報に基づいて、目視検査の際に検査者が注視した検査対象物2の注視箇所を検査箇所として特定する。そして、プログラム生成部28は、特定した検査対象物2の検査箇所を検査用視覚センサ4を用いて撮像するように、検査対象物2、検査用視覚センサ4及び照明装置6の相対位置を制御する検査支援ロボットの動作プログラムを生成する。また、プログラム生成部28は、検査用視覚センサ4を用いて撮像した検査対象物2の検査箇所の画像に基づいて検査対象物2の検査を行うための検査プログラムを生成する。これにより、検査システムを簡易かつ自動で構築することができる。
【0070】
また、第1実施形態の検査装置10A及び検査システム1A,1Bによれば、検査システム構築時、環境情報出力部30は、構築用機械学習部26から出力された検査システムの設計値における環境情報として、検査用視覚センサ4の種類、配置位置及び姿勢、検査用視覚センサ4内の光学レンズの種類、照明装置6の種類、配置位置及び姿勢に関する情報を出力する。
これにより、検査者は、検査用視覚センサ4、検査用視覚センサ4内の光学レンズ、及び、照明装置6を準備することができる。
【0071】
(第2実施形態)
第1実施形態では、検査システムを構築するために機械学習を行った。第2実施形態では、機械学習を行わずに検査システムを構築する。
【0072】
図10は、第2実施形態に係る検査装置の構成を示す図である。
図10に示す検査装置10Bは、
図1Aに示す検査システム1A及び
図1Bに示す検査システム1Bにおける検査装置10に対応する。検査装置10Bは、
図2に示す検査装置10Aにおいて、構築用ラベル取得部24、構築用機械学習部26、及び環境情報出力部30を備えない点で第1実施形態と異なる。
【0073】
環境情報取得部22は、検査用視覚センサ4の種類、配置位置及び姿勢、検査用視覚センサ4内の光学レンズの種類、及び照明装置6の種類、配置位置及び姿勢を、環境情報として取得する。これらの環境情報は、検査者により入力される。
【0074】
プログラム生成部28は、目視検査の際に同一タイミングで取得された視線情報と対象物情報との組のデータに基づいて、目視検査の際に検査者が注視した検査対象物2の注視箇所を検査箇所として特定する。注視点は検査者3の視線と検査対象物2の表面が交差する点として求めることができる。更に注視点の周りに注視範囲を設ければ、それが注視箇所となる。
プログラム生成部28は、特定した検査対象物2の検査箇所を検査用視覚センサ4を用いて撮像するように、検査対象物2、検査用視覚センサ4及び照明装置6の相対位置を制御する検査支援ロボットの動作プログラムを生成する。検査用視覚センサ4の種類や光学レンズの種類が予め取得できていれば、検査用視覚センサ4と検査対象物2の距離をどの程度にすれば、検査範囲全体が撮像画像に映るか、または、ピントが合うかどうかということを判定することできる。
また、プログラム生成部28は、撮像した検査対象物2の検査箇所の画像に基づいて検査対象物2の検査を行うための検査プログラムを生成する。検査プログラムは予め定められたルールに従って生成してもよし、教師あり学習または教師無し学習により判別を行う検査プログラムを生成してもよい。例えば、検査箇所に丸穴が存在すれば、穴の径をはかる検査プログラムを生成するようにすることができる。
【0075】
次に、
図3、
図4及び
図11を参照して、本実施形態の検査装置10Bによる検査システムの構築動作について説明する。
図11は、本実施形態の検査装置10Bによる検査システムの構築動作を示すフローチャートである。
【0076】
まず、
図3に示すように、検査者3が検査対象物2の目視検査を行う際に、視線用視覚センサ5で検査者3の目付近を撮像すると共に、対象物用視覚センサ4Aで検査対象物2を撮像する。
このとき、検査者は、目視検査の際の環境情報として、検査用視覚センサ4の種類、配置位置及び姿勢、検査用視覚センサ4内の光学レンズの種類、及び照明装置6の種類、配置位置及び姿勢を、検査装置10Bに入力する。
なお、検査者は、
図4に示すように、目視検査の際の検査対象物2の注視範囲(固定値)を予め入力する。
【0077】
上述した
図6のステップS11及びS12と同一の動作が行われ、視線情報取得部11は、目視検査の際の、検査者3の視線の起点、視線方向、及び注視範囲(固定値)を含む視線情報を取得し(S11)、対象物情報取得部16は、目視検査の際の、検査対象物2の位置、姿勢、及び形状を含む対象物情報を取得する(S12)。
また、環境情報取得部22は、検査者により入力された検査用視覚センサ4の種類、配置位置及び姿勢、検査用視覚センサ4内の光学レンズの種類、及び照明装置6の種類、配置位置及び姿勢(環境情報)を取得する(S43)。
【0078】
次に、プログラム生成部28は、目視検査の際に取得された視線情報と対象物情報との組のデータに基づいて、目視検査の際に検査者が注視した検査対象物2の注視箇所を検査箇所として特定する(S45)。
【0079】
次に、プログラム生成部28は、特定した検査対象物2の検査箇所を検査用視覚センサ4を用いて適切な視野及び距離で撮像するように、検査対象物2、検査用視覚センサ4、及び照明装置6の相対位置を制御する検査支援ロボットの動作プログラムを生成する(S46)。
【0080】
また、プログラム生成部28は、撮像した検査対象物2の検査箇所の画像に基づいて検査対象物2の検査を行うための検査プログラムを生成する(S47)。
検査対象物2の検査箇所が複数ある場合、プログラム生成部28は、全ての検査箇所を順に検査するように、検査支援ロボットの動作プログラム、及び検査プログラムを生成する。
【0081】
本実施形態の検査装置10Bによる検査のための機械学習動作は、上述した
図7のステップS21〜S23と同一であり、本実施形態の検査装置10Bによる検査動作は、上述した
図8のステップS31〜S32と同一である。
【0082】
以上説明したように、第2実施形態の検査装置10B及び検査システム1A,1Bによれば、検査者3が検査対象物2の目視検査を行う際に、視線情報取得部11は、検査者の視線の起点、視線方向、及び注視範囲を含む視線情報を取得し(
図3及び
図4)、対象物情報取得部16は、検査対象物の位置、姿勢、及び形状を含む対象物情報を取得し、環境情報取得部22は、検査用視覚センサ4の種類、配置位置及び姿勢、検査用視覚センサ4内の光学レンズの種類、及び照明装置6の種類、配置位置及び姿勢を含む環境情報を取得する。プログラム生成部28は、目視検査の際に取得された視線情報と対象物情報との組のデータに基づいて、目視検査の際に検査者が注視した検査対象物2の注視箇所を検査箇所として特定する。そして、プログラム生成部28は、特定した検査対象物2の検査箇所を検査用視覚センサ4を用いて撮像するように、検査対象物2、検査用視覚センサ4及び照明装置6の相対位置を制御する検査支援ロボットの動作プログラムを生成する。また、プログラム生成部28は、検査用視覚センサ4を用いて撮像した検査対象物2の検査箇所の画像に基づいて検査対象物2の検査を行うための検査プログラムを生成する。これにより、検査システムを簡易かつ自動で構築することができる。
【0083】
なお、第2実施形態の検査装置10B及び検査システム1A,1Bでは、検査用視覚センサ4の種類、配置位置及び姿勢、検査用視覚センサ4内の光学レンズの種類、照明装置6の種類、配置位置及び姿勢等の環境情報を予め決定し、決定した環境情報を検査装置10Bの環境情報取得部22に入力することとなる。したがって、検査者は、この環境情報に基づいて、検査用視覚センサ4、検査用視覚センサ4内の光学レンズ、及び、照明装置6を準備すればよい。
ここで、目視検査の際、検査者は、検査対象物2の検査箇所の表面に存在する欠陥(キズ又はムラなど)が認識しやすくなるように、検査対象物2を、照明装置6からの入射光に対して適切な角度傾けることがある。このような環境情報に基づいて、プログラム生成部28は、検査用視覚センサ4と、検査対象物2と、照明装置6との位置関係を、目視検査の際のそれらの位置関係と同じになるようにプログラムを生成する。この点について、以下に詳説する。
【0084】
図9Aに示すように、目視検査の際、検査者3は、検査対象物2を、照明装置6からの入射光に対して適切な角度傾けて、検査対象物2の検査箇所から適切な反射光を得られるようにする。これにより、検査対象物2の検査箇所の表面に存在する欠陥(キズ又はムラなど)が認識しやすくなる。
検査用視覚センサ4で検査対象物2を撮像する際にも、検査用視覚センサ4と、検査対象物2と、照明装置6との位置関係を、目視検査の際の検査者3と、検査対象物2と、照明装置6との位置関係と同じようにすることによって、上述同様の効果が得られると考えられる。すなわち、検査しやすい画像を撮像することができると考えられる。
更に、目視検査の際の検査者3と、検査対象物2と、照明装置6との位置関係を容易に実現するために、検査装置10Bは
図2において上述したように環境情報出力部30を備え、照明装置6の種類を環境情報出力部30が出力することもできる。例えば、
図9Bに示す目視検査の際の検査者3と、検査対象物2と、照明装置6との位置関係を、
図1A又は
図1Bに示す検査システム1A,1Bで実現する場合、照明装置6として、目視検査の際に使用した照明装置とは異なるローアングル照明装置を環境情報出力部30が出力する。環境情報出力部30で出力された照明装置を検査者が準備することにより、検査用視覚センサ4で検査対象物2を撮像する際にも、目視検査の際の検査者3と、検査対象物2と、照明装置6との位置関係を容易に実現することができ、更には検査の効率を向上させることができる。
【0085】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【0086】
例えば、上述した実施形態では、検査対象物2の欠陥の有無(例えば、表面の傷又は異物付着)を検査する検査装置及び検査システムを例示したが、本発明の特徴は、視覚センサ等の撮像装置で撮像された検査対象物の画像に基づいて検査対象物の種々の検査を行う種々の検査システムに適用可能である。
また、本発明の特徴は、検査対象物2の欠陥の有無の検査(OK(欠陥無)又はNG(欠陥有))を行う検査装置に限定されず、検査対象物2に欠陥が存在する確率を求める検査装置、検査対象物2の欠陥位置を出力する検査装置等の種々の検査装置に適用可能である(機械学習部の教師データを変更することにより、出力する検査結果を変更することができる)。
【0087】
また、上述した実施形態では、目視検査の際の検査者の視線情報、及び検査対象物の対象物情報を取得するために視覚センサを備える検査システムを例示したが、検査システムは、視覚センサに代えて、3次元センサ等の種々の撮像装置を備えてもよい。
【0088】
また、上述した実施形態では、検査システムは、
図3に示す視線用視覚センサ5に代えて、
図11に示す透過型のヘッドマウントディスプレイ5を備えてもよい。
ヘッドマウントディスプレイ5は、検査者3の眼球の位置、及び視線方向を特定する機能を有する。また、ヘッドマウントディスプレイ5は、ディスプレイ上に注視範囲を表示する機能を有し、この注視範囲の大きさや形状を検査者3の操作により変更する機能を有する。ヘッドマウントディスプレイ5は、特定した検査者3の眼球の位置及び視線方向、並びに検査者が設定したディスプレイ上の注視範囲を出力する。
これにより、視線情報取得部11は、検査者3が検査対象物2の欠陥の目視検査を行う際の、検査者3の視線の起点、視線方向、及び注視範囲を含む視線情報を取得する。
視線情報を取得するタイミングは、検査者が何らかの操作を行ったタイミングであってもよいし、検査者が所定時間以上注視したタイミングであってもよい。
ヘッドマウントディスプレイ5を用いる場合、検出された検査対象物2の欠陥の位置又は種類をヘッドマウントディスプレイ5上にサジェストしてもよい。
更にヘッドマウントディスプレイ5には対象物用視覚センサ4Aが搭載されていてもよい。検査対象物の検査箇所は、検査者の顔が向いた方向にあるはずである。そのため、ヘッドマウントディスプレイ5上の対象物視覚センサ4Aは検査箇所の撮像を行いやすいというメリットがある。
【0089】
また、上述した実施形態では、視線情報取得部11及び対象物情報取得部16が画像取得部12,17と画像処理部13,18とを備える形態を例示したが、視線情報取得部及び対象物情報取得部は画像処理部を備えない形態であってもよい。
この場合、視線情報取得部の画像取得部は、視線用視覚センサ5における画像処理部で求められた視線情報を取得すればよく、対象物情報取得部の画像取得部は、対象物用視覚センサ4における画像処理部で求められた対象物情報を取得すればよい。
【0090】
また、上述した実施形態では、検査対象物2に複数の検査箇所がある場合、検査箇所ごとに異なる機械学習部を構築してもよい。