(57)【要約】  検査条件の異なる検査対象を同一の検査装置が検査する場合に、検査の自動化と、異常検知の精度と、を両立する検査処理装置を提供する。本発明の一実施形態である検査処理装置は、検査対象に対する検査に係る処理を行う装置であって、認識部と、検査モデル選定部と、を備える。認識部は、前記検査が行われる空間を映した画像から、前記画像内に存在する物体を認識する。検査モデル選定部は、認識された前記物体に基づき、複数の検査モデルから、前記検査に用いられる検査モデルを選定する。
2019131742.tif 000002
【特許請求の範囲】
【請求項１】
検査対象に対する検査に係る処理を行う検査処理装置であって、
前記検査が行われる空間を映した画像から、前記画像内に存在する物体を認識する認識部と、
認識された前記物体に基づき、複数の検査モデルから、前記検査に用いられる検査モデルを選定する検査モデル選定部と、
を備える検査処理装置。
【請求項２】
前記認識部により前記検査対象が認識されていないときに、
前記検査モデル選定部が、認識された前記物体に基づき、前記検査対象を推定し、
推定された前記検査対象に対応する検査モデルを、前記検査に用いられる検査モデルとして選定する
請求項１に記載の検査処理装置。
【請求項３】
前記認識部が前記物体を非検査対象であると認識し、
前記検査モデル選定部が、認識された前記非検査対象に基づき、前記検査対象を推定する
請求項２に記載の検査処理装置。
【請求項４】
前記認識部が、認識された前記物体の位置または配置を認識し、
前記検査モデル選定部が、少なくとも、認識された前記位置または前記配置に基づき、前記検査対象を推定する
請求項２に記載の検査処理装置。
【請求項５】
前記認識部が、認識された前記物体の動きを認識し、
前記検査モデル選定部が、認識された前記動きに基づき、前記検査対象を推定する
請求項２に記載の検査処理装置。
【請求項６】
検査モデルに対する評価を行う検査モデル評価部をさらに備え、
前記検査対象に対応する検査モデルが複数ある場合に、前記検査に用いられる検査モデルが、前記評価に基づき、前記検査対象に対応する複数の検査モデルから選定される
請求項１ないし５のいずれか一項に記載の検査処理装置。
【請求項７】
前記認識部が、前記物体を認識不可能な検査対象であると判断した場合に、
前記検査モデル選定部が、認識可能な検査対象と対応していない検査モデルを、前記検査に用いられる検査モデルとして選定する
請求項１ないし６のいずれか一項に記載の検査処理装置。
【請求項８】
前記検査モデル選定部は、前記認識部で認識された物体が前記検査対象である場合、前記検査対象に対応する検査モデルを選定する
請求項１に記載の検査処理装置。
【請求項９】
選定された検査モデルを用いて、前記検査を行う検査部
をさらに備える請求項１ないし８のいずれか一項に記載の検査処理装置。
【請求項１０】
前記検査部が、前記画像に映し出された前記検査対象の外観に基づき、前記検査を行う
請求項９に記載の検査処理装置。
【請求項１１】
前記検査部が少なくとも二つ存在し、
少なくとも二つの検査部が、それぞれ異なる検査対象に対して、前記検査を行う
請求項９または１０に記載の検査処理装置。
【請求項１２】
前記少なくとも二つの検査部が、それぞれ異なる検査モデルを用いて、前記検査を行う
請求項１１に記載の検査処理装置。
【請求項１３】
前記検査部が、第Ｎ（Ｎは１以上の整数）番目の検査対象に対して、前記検査を行っている間に、前記検査モデル選定部が、第Ｎ番目よりも後の検査対象に対応する検査モデルを選定する
請求項９または１０に記載の検査処理装置。
【請求項１４】
検査対象に対する検査に係る処理を行うための検査処理方法であって、
前記検査が行われる空間を映した画像から、前記画像内に存在する物体を認識するステップと、
認識された前記物体に基づき、複数の検査モデルから、前記検査に用いられる検査モデルを選定するステップと、
を備える検査処理方法。
【請求項１５】
検査対象に対する検査に係る処理を行うためのプログラムであって、
前記検査が行われる空間を映した画像から、前記画像内に存在する物体を認識するステップと、
認識された前記物体に基づき、複数の検査モデルから、前記検査に用いられる検査モデルを選定するステップと、
を備えるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検査処理装置、検査処理方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、多種少量生産への要求、コストの抑制要求などの高まりを受けて、多種多様な製品に対する検査を同一の検査装置にて行う必要性が高まっている。【０００３】
種類の異なる製品は検査条件も異なる。ゆえに、同一の検査装置が種類の異なる製品を検査する場合、検査装置に設定されている検査条件を、次に検査される製品に対応するものに変更する必要がある。当該検査条件の変更、つまり、検査条件の追加および削除、検査条件内のパラメータの変更などは、主に手動で行われている。しかし、検査条件の変更が不規則に発生すると、検査条件を変更し忘れることが起きやすい。【０００４】
検査作業の人的負荷を減らすために、検査の自動化のための取り組みも行われてはいる。例えば、機械学習によって、多種多様な製品に対応可能な検査モデルを生成して、当該検査モデルを用いて、多種多様な製品を検査する方法がある。しかし、当該方法では、製品の種類、検査項目などの多さから、異常を検知する精度が低くなる恐れがある。
【発明の開示】
【０００５】
検査条件がそれぞれ異なる複数の検査対象を同一の検査装置が検査する場合に、検査の自動化と、異常検知の精度と、を両立する検査処理装置を提供する。
【０００６】
本発明の一実施形態である検査処理装置は、検査対象に対する検査に係る処理を行う装置であって、認識部と、検査モデル選定部と、を備える。認識部は、前記検査が行われる空間を映した画像から、前記画像内に存在する物体を認識する。検査モデル選定部は、認識された前記物体に基づき、複数の検査モデルから、前記検査に用いられる検査モデルを選定する。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係る検査処理装置を含む検査システムの一例を示す図。
【図２】検査空間の撮影を説明する図。
【図３】検査対象の推定を説明する図。
【図４】第１の実施形態に係る検査処理装置の全体処理の概略フローチャート。
【図５】第１の実施形態に係る検査処理装置の検査モデルの選定処理の概略フローチャート。
【図６】第２の実施形態に係る検査処理装置を含む検査システムの一例を示す図。
【図７】第２の実施形態のモデル対応部の処理の概略フローチャート。
【図８】本発明の一実施形態におけるハードウェア構成の一例を示すブロック図。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら、本発明の実施形態について説明する。
【０００９】
（第１の実施形態）
図１は、第１の実施形態に係る検査処理装置を含む検査システムの一例を示す図である。図１の例では、検査処理装置１と、カメラ２と、出力先デバイス３と、が示されている。本実施形態の検査処理装置１は、記憶部１１と、検査対応部１２と、を備える。検査対応部１２は、撮影部１２１（画像取得部）と、認識部１２２と、検査モデル選定部１２３と、検査部１２４と、検査情報出力部１２５と、を備える。
【００１０】
検査処理装置１は、検査対象に対する検査に係る処理を行う装置である。本実施形態の検査処理装置１は、各検査対象に対応する各検査モデルを用いて、検査を行うことを想定する。例えば、型番の異なる、製品Ａ、製品Ｂ、および製品Ｃが、検査処理装置１により検査される。このとき、検査処理装置１は、各製品に対応した検査モデルを有しており、検査対象が製品Ａであれば、製品Ａに対応する検査モデルＡにより検査を行う。また、次の検査において、製品Ａが検査されるのであれば検査モデルＡがそのまま用いられるが、製品Ｂが検査されるのであれば、用いられる検査モデルが検査モデルＢに切り替わる。このように、本実施形態の検査処理装置１は、複数の検査モデルから、今回の検査が行われる検査対象に対応する検査モデルを選定して、検査を行う。
【００１１】
なお、本実施形態では、検査対象が判明すれば、検査モデルが一意に定まるとする。例えば、検査モデルＡ−１、検査モデルＡ−２、検査モデルＡ−３といった複数の検査モデルが製品Ａの検査モデルに該当するといった事態は想定しない。なお、検査モデルが共用されてもよい。例えば、製品Ａと製品Ｂの検査モデルは共用の検査モデルであり、製品Ｃの検査モデルは製品Ｃ独自の検査モデルであってもよい。
【００１２】
本実施形態では、各検査対象に対応する各検査モデルは、機械学習によって当該検査のために生成済みであるとする。また、複数の検査対象（例えば、製品Ａ、製品Ｂ、および製品Ｃ）を一つの検査モデルにて検査することは想定しない。検査モデルには、検査される項目、検査にて設定されるパラメータの値、検査により得られた数値を評価するための閾値、などが含まれており、これらが検査対象に合わせて調整されている。ゆえに、検査対象に応じた検査モデルにより検査が行われると、検査の精度を許容範囲内に収めることができる。
【００１３】
なお、検査対象は、特に限られるものではなく、完成品でも部品でもよいし、ヒトなどの生体でもよい。検査内容も特に限られるものではない。また、検査処理装置１は検査の一部を担当し、検査の他の一部を外部の装置が担当してもよい。例えば、検査対象の測定は外部の装置が実施し、検査処理装置１は当該測定結果から検査対象の評価を行うとしてもよい。
【００１４】
また、検査処理装置１は、複数の検査対象のいずれが次に検査されるのかを外部から取得しない。例えば、検査の補助者などが、検査対象のいずれが検査されるかを検査処理装置１に入力しないとする。しかし、検査処理装置１は、次の検査対象を自ら判断し、検査対象に応じた検査モデルを選定する。これにより、検査条件を変える必要があるたびに、検査補助者などが検査条件を入力するという手間は不要になる。
【００１５】
検査処理装置１の記憶部１１は、検査モデルなど、検査処理装置１の各構成要素の処理に用いられるデータなどを記憶する。なお、記憶部１１により記憶されるデータは、特に限られるものではない。検査処理装置１の各構成要素の処理結果が、随時、記憶部１１に記憶され、各構成要素は記憶部１１を参照して処理結果を取得してもよい。
【００１６】
検査処理装置１の検査対応部１２は、検査に関する各処理を行う。各処理の詳細は、以降の検査対応部１２の構成要素の説明とともに説明する。
【００１７】
撮影部１２１は、カメラ２を介して、検査が行われる場所を映した画像、言い換えると、検査が行われる空間を映した画像を撮影する。以降、検査が行われる空間を検査空間と記載する。カメラ２による撮影画像は、検査対象を判断するために用いられる。
【００１８】
なお、撮影のタイミングは、状況などに応じて任意に定めてよいが、検査の開始前から撮影が開始されていることを想定する。例えば、検査処理装置１の電源が投入されたタイミング、所定の時間、図示していないセンサなどが検査空間に物が運ばれたことを認識した時点などで、撮影を開始してもよい。なお、図示していないが、検査処理装置１は、当該センサなどからの情報を受け取る情報取得部を有していてもよい。
【００１９】
また、本説明において、「画像」という用語は、静止画および動画の両方を包括する概念であり、特に問題がなければ、静止画または動画に置き換えられて読まれてもよい。つまり、撮影画像は、動画でも静止画でもよい。
【００２０】
また、本実施形態では、カメラ２の撮影を撮影部１２１が制御することを想定したが、検査処理装置１はカメラ２を制御せずに、カメラ２からの撮影画像を単に取得するだけとしてもよい。その場合、撮影部１２１は画像取得部と言える。
【００２１】
図２は、検査空間の撮影を説明する図である。図２には、検査空間を撮影するカメラ２が示されている。カメラ２は、検査空間が映るように予め配置されている。カメラ２の位置、台数などは、状況などに応じて任意に定めてよい。検査対象４は、検査のために検査空間に運ばれてくる。例えば、検査補助者が検査対象４を検査空間に設置してもよい。あるいは、ベルトコンベアなどにより、検査対象４が検査空間に運ばれてきてもよい。このようにして、撮影画像に検査対象４が映りこむ。
【００２２】
なお、本実施形態の検査処理装置１は、画像から検査対象を認識または推定することを想定する。しかし、画像以外の情報も考慮して検査対象を認識または推定してもよい。例えば、検査空間内の検査対象を設置する場所に重量センサなどを設けておき、画像に加えて当該重量センサによる計測値をさらに考慮して、検査対象を認識または推定してもよい。あるいは、検査対象に関する情報を含有するタグなどの読み取り部を設けておき、当該タグから読み取った情報をさらに考慮して、検査対象を認識または推定してもよい。
【００２３】
認識部１２２は、撮影画像から、当該撮影画像内に存在する物体を認識する。具体的には、認識部１２２は、認識モデルを用いて、当該物体を認識する。例えば、撮影画像に映る物体の形状、模様、色、材質、光沢などが総合的に考慮されて、当該物体が何であるかを特定する。また、認識部１２２は、物体に取り付けられた、２次元コード、バーコードなどの図形パターンを認識し、図形パターンが示す情報を必要に応じて用いてもよい。このようにして、認識部１２２は、検査対象を認識する。なお、本説明において、「物体」には、ヒトなどの生体も含まれる。
【００２４】
認識部１２２は、検査対象ではない非検査対象を認識してもよい。例えば、カメラ２は検査空間を撮影しているため、検査対象を取り付ける治具、検査に用いられる器具、作業員なども撮影画像に映される。認識部１２２は、これらの非検査対象を認識してもよい。なお、新たな物体が画像内に映り込む、画像内の物体が移動したなどにより、撮影画像に差異が生じたときに限り、認識が行われてもよい。
【００２５】
認識部１２２は、認識された物体および当該物体の特徴点の位置を認識してもよい。なお、認識される位置は、基準点からの位置だけでなく、他の認識された物体との相対的位置も含まれる。また、認識された物体または特徴点の各位置により、これらの物体または特徴点の配置（位置関係）を認識してもよい。例えば、複数の治具が認識された場合に、当該複数の治具の配置を認識してもよい。また、認識部１２２は、認識された物体および当該物体の特徴点の動きを認識してもよい。
【００２６】
物体が撮影画像内に存在することは認識したが、その物体が何であるかを特定できない場合、認識部１２２は、その物体を不明物体として認識してもよい。例えば、その物体が何であるかの候補が複数あって、いずれにも確定できない場合、または、物体が動いていることにより特定できない場合において、不明物体と認識することが考えられる。不明物体も「認識された物体」に含まれる。
【００２７】
用いられる認識モデルは学習済みの公知のものでよい。あるいは、この検査のために専用の認識モデルを機械学習により予め構築しておいてもよい。
【００２８】
なお、認識部１２２は、一つの認識モデルを用いて認識を行ってもよいし、複数の認識モデルを用いて認識を行ってもよい。例えば、まずは検査対象のための認識モデルを用い、検査対象と認識されなかった場合に、非検査対象のための認識モデルを用いてもよい。あるいは、物体を認識するモデルと、物体の位置または動きを認識するためのモデルとを、使い分けてもよい。
【００２９】
検査モデル選定部１２３は、認識された物体に基づき、複数の検査モデルから、検査に用いられる検査モデルを選定する。認識された物体が検査対象である場合は、検査モデル選定部１２３は、認識された検査対象に対応する検査モデルを、検査に用いられる検査モデルとして、選定する。各検査対象に対応する検査モデルは、検査対象と検査モデルとが対応付けられた対応表などのリストを予め記憶部１１に記憶させておき、当該リストを検査モデル選定部１２３が参照することにより、選定することができる。
【００３０】
認識された物体が非検査対象である場合、認識された物体が不明物体である場合など、認識部１２２により検査対象が認識されていないときは、検査モデル選定部１２３は、認識された物体に基づき、前記検査対象を推定する。そして、推定された検査対象に対応する検査モデルが、検査に用いられる検査モデルとして選定される。
【００３１】
例えば、撮影画像内の物体が治具などの非検査対象であると認識された場合では、検査モデル選定部１２３は、認識された非検査対象に基づき検査対象を推定する。治具は検査対象と１対１に対応する可能性が高いため、治具から検査対象を推定することが可能である。
【００３２】
図３は、検査対象の推定を説明する図である。図３の上側には、検査対象の真上から撮影された、前回の検査時の画像が示されている。前回の検査対象４Ａと、検査対象４Ａに対応する治具５Ａが示されている。図３の下側には、前回の検査後から今回の検査開始前の画像が示されている。検査対象４Ａおよび治具５Ａは既に移動しており、今回の検査対象はまだ設置されていないが、今回の検査対象に対応する治具５Ｂが既に設置されている。この設置された治具５Ｂの溝５１Ｂの形状が、前回の検査時の治具５Ａの溝５１Ａと異なる。ゆえに、今回は、検査対象４Ａが検査されるのではなく、新たに設置された治具５Ｂに対応する検査対象が検査されることが分かる。このように、非検査対象からも検査対象を推定することができる。
【００３３】
また、異なる検査対象の検査時に、同一の非検査対象が付随する場合であっても、当該非検査対象の数、位置、動きなどが検査対象ごとに相違するならば、その相違に基づいて、検査対象を一意に推定することができる。
【００３４】
例えば、複数の検査対象が同一の治具により支えられる場合であっても、当該複数の検査対象の大きさがそれぞれ異なるならば、検査時の治具の位置も異なると考えられる。また、複数の治具の配置が円状であるときと、当該配置が矩形状であるときでは、検査対象が異なると想定される。ゆえに、認識された物体の位置または配置に基づき、検査対象の推定が可能である。
【００３５】
また、物体の動きにより検査対象を推定することができる場合もある。例えば、異なる検査対象が同一の治具により支えられる場合であっても、治具の凹凸に検査対象または他の治具などを取り付けていく工程が異なる場合も多々ある。ゆえに、認識された物体の動きに基づき、検査対象の推定が可能である。
【００３６】
図３に示すように、検査対象ではなく、非検査対象に基づき検査モデルを選定したほうが、検査モデルをより早く選定することができる。検査モデルをより早く選定したほうが、誤った検査モデルが選定されてしまった場合に、検査前に正常な検査モデルに変更できる可能性が高まる。例えば、検査が外観検査である場合は、検査対象が撮影画像に映ったと同時に、検査モデルの選定と検査とがほぼ同時に行われ、誤った検査結果を得てしまう恐れがある。しかし、検査対象が設置される前に検査モデルが選定されれば、検査開始されるまでに、検査の補助者などが検査モデルを確認して、正常な検査モデルに変更することができる。
【００３７】
検査対象の推定は、認識部１２２により認識された情報と、検査対象との対応リストを参照することにより、行われてもよい。対応リストは、予め管理者などにより記憶部１１が記憶しておけばよい。あるいは、認識された物体と対応する検査対象を学習することにより、検査対象の推定モデルを生成し、当該推定モデルを用いて、検査対象の推定が行われてもよい。あるいは、複数の検査対象それぞれの形状を、治具の形状と比較することにより、検査対象を推定してもよい。
【００３８】
検査部１２４は、選定された検査モデルを用いて、検査対象を検査し、検査対象を評価する。例えば、検査部１２４は、撮影部１２１による撮影画像に映し出された検査対象の外観に基づき、検査を行ってもよい。この場合、当該検査は外観検査であり、検査処理装置１は外観検査装置とも言える。外観検査として検査される項目としては、傷、ひび割れ、汚れ、および異物混入の有無が考えられる。また、部品の位置ずれ、および過不足なども考えられる。
【００３９】
検査の具体例の一つとして、外観検査の検査方法について説明する。まず、検査部は、選定された検査モデルを用いて、撮影画像内の検査対象、つまり検査中の検査対象についての特徴量を抽出して特徴マップを生成する。具体的には、例えば、撮影画像と重みフィルタとの内積、または、作成途中の特徴マップと重みフィルタとの内積をとり、ラスタスキャンによって繰り返し畳み込み処理を行うことにより、特徴マップを生成してもよい。
【００４０】
次に、検査部は、生成された特徴マップを、複数の比較用の特徴マップと比較する。比較用の特徴マップは、正常な検査対象の画像に基づき、事前に生成されて、記憶部１１に記憶されているとする。当該比較では、生成された特徴マップと比較用の特徴マップとの間の差分が取られ、これにより、比較用の特徴マップごとに、距離マップが生成される。
【００４１】
そして、検査部は、距離マップごとに、距離値を算出する。距離値の算出には、例えば、ｇｌｏｂａｌ  ｍａｘ  ｐｏｏｌｉｎｇ関数を用いてもよい。距離マップごとの距離値が算出されたら、算出された全ての距離値を考慮して、検査中の検査対象に対応する距離値が決定される。例えば、算出された全ての距離値の平均値などを、検査中の検査対象に対応する距離値と決定してよい。
【００４２】
最後に、検査部は、検査中の検査対象に対応する距離値と、所定の閾値と、に基づき、検査中の検査対象が正常であるか異常であるかを判別する。このようにして、外観検査が行われてもよい。
【００４３】
外観検査に用いられる撮影画像は、検査対象の認識に用いられた撮影画像と同じでもよいし、検査対象が認識された後の撮影画像でもよい。例えば、検査対象が映り込んだ時点での撮影画像から検査対象を認識し、検査対象が検査位置に設置された後の撮影画像から検査対象を検査してもよい。
【００４４】
上記の外観検査のように、検査処理装置１が全ての検査を行ってもよいが、検査の一部が外部の装置により行われてもよい。例えば、画像からでは判断できない検査対象の内部の検査を、Ｘ線、音波などを用いて検査する外部装置を介して実施することが考えられる。その場合、検査処理装置１は、検査モデルに含まれるパラメータの値などを外部装置に送信し、検査により得られた数値などが検査処理装置１にフィードバックされる。そして、検査部１２４が、検査モデルに含まれる判定閾値などに基づき評価を行い、検査結果を算出する。
【００４５】
検査情報出力部１２５は、検査に係る情報を出力先デバイス３に出力する。検査に係る情報には、検査に用いられる検査モデル、検査の結果などが想定される。出力先デバイス３は、公知のものでよく、特に限られるものではない。これにより、検査結果に基づいて、様々な処理を実行することができる。例えば、検査に用いられる検査モデル、検査の可否、異常が発見された位置といった検査結果を、モニタなどの表示装置を介して、表示してもよい。あるいは、ロボットアームなどの制御装置に対し、検査結果を出力することにより、ロボットアームが、検査結果に応じて、検査対象を取り分けるといったことも可能になる。
【００４６】
次に、本実施形態の処理の流れについて説明する。図４は、第１の実施形態に係る検査処理装置の全体処理の概略フローチャートである。ここでは、検査対象を一つ検査する際のフローを示す。
【００４７】
撮影部１２１が、検査空間の撮影画像を取得する（Ｓ１０１）。撮影部１２１からの画像が認識部１２２に送られ、検査モデルの選定処理が行われる（Ｓ１０２）。これにより、当該画像に基づき、検査モデルが選定される。検査モデルの選定処理の流れは、後述する。
【００４８】
次に、検査が開始可能であることが認識される（Ｓ１０３）。例えば、認識部１２２は、撮影画像などから検査対象が検査開始位置に設置されたことを認識したときに、検査が開始可能と認識してもよい。あるいは、検査補助者などからの信号により、検査が開始可能と認識されてもよい。検査が開始可能であると認識されると、検査部１２４が選定された検査モデルを用いて検査を実行する（Ｓ１０４）。
【００４９】
検査完了後、検査結果が検査情報出力部１２５に送られ、検査情報出力部１２５が検査結果を出力先デバイス３に出力する（Ｓ１０５）。以上により、検査処理装置１の処理が終了し、出力先デバイス３が検査結果に応じた処理を行うことができる。
【００５０】
次に、検査モデルの選定処理の流れについて説明する。図５は、第１の実施形態に係る検査処理装置の検査モデルの選定処理の概略フローチャートである。
【００５１】
認識部１２２が認識モデルを用いて撮影画像内に映りこんだ物体を認識する（Ｓ２０１）。認識された物体が検査対象である場合（Ｓ２０２のＹＥＳ）は、検査モデル選定部１２３が、当該検査対象に対応する検査モデルを選定する（Ｓ２０３）。そして、検査情報出力部１２５が、選定された検査対象を出力先デバイス３に出力する（Ｓ２０４）。
【００５２】
検査対象が認識されなかった場合（Ｓ２０２のＮＯ）は、検査モデル選定部１２３が認識された物体から検査対象を推定する（Ｓ２０５）。検査対象を推定できた場合（Ｓ２０６のＹＥＳ）は、検査モデル選定部１２３は推定された検査対象に対応する検査モデルを選定する（Ｓ２０７）。そして、検査情報出力部１２５が、選定された検査対象を出力先デバイス３に出力する（Ｓ２０４）。
【００５３】
検査対象を推定できなかった場合（Ｓ２０６のＮＯ）は、Ｓ２０１の処理に戻り、次の撮影画像による認識が行われる。こうして、検査対象が選定されるまでフローがループされることにより、最終的に検査モデルが選定される。
【００５４】
なお、ここで説明されるフローチャートは一例であり、正しい処理結果が得られるならば、上記の例に限られるものではない。実施形態の求められる仕様、変更などに応じて、手順の並び替え、追加、および省略が行われてもよい。例えば、上記では、検査情報出力部１２５が選定された検査対象を出力するとしたが、当該処理は省略されてもよい。以降のフローチャートについても同様である。
【００５５】
以上のように、本実施形態によれば、検査対象に応じた検査モデルにより検査が行われるため、検査対象の異常を検知する精度を許容範囲内に収めることができる。また、撮影画像から今回の検査の検査対象を認識し、今回の検査の検査対象に応じた検査モデルが選定される。ゆえに、手動での検査モデルの指定が不要であり、検査の自動化が推進される。
【００５６】
また、本実施形態の検査処理装置１は、検査対象が認識できなかったときは、認識された物体に基づき、検査対象を推定する。そのため、検査対象が判明する前から、検査モデルを確定することができる。ゆえに、検査モデルを検査開始前に確認することができ、誤った検査モデルによる検査を軽減することができる。
【００５７】
また、外観検査を行う場合は、外観検査を行うために用意されたカメラ２の画像に基づいて、検査対象を把握することができる。ゆえに、検査対象を把握するための専用のカメラ２を設けるコストが不要になる。
【００５８】
（第２の実施形態）
図６は、第２の実施形態に係る検査処理装置を含む検査システムの一例を示す図である。第２の実施形態に係る検査システムには、入力元デバイス６がさらに含まれる。第２の実施形態に係る検査処理装置１は、モデル対応部１３をさらに備える。モデル対応部１３は、データ取得部１３１と、モデル学習部１３２と、検査モデル評価部１３３と、モデル情報出力部１３４と、をさらに備える。なお、第１の実施形態と同様な点は、説明を省略する。
【００５９】
検査対象を切り替える頻度が高くなると、切り替えの作業により、検査環境が変化する可能性が増す。例えば、検査対象を照らす光源、治具などの位置が変化する可能性が増す。そのため、既存の検査モデルを用いると、検査の精度が低下する恐れがある。そこで、第２の実施形態では、検査モデルの補正を行う例について述べる。
【００６０】
しかし、過学習などの要因により、補正された最新の検査モデルを用いたほうが異常検知の精度が高いとは必ずしも言えない。ゆえに、最新の検査モデルだけでなく、これまでの検査モデルも残しておくこととする。つまり、第１の実施形態とは異なり、一つの検査対象に対応する検査モデルが複数あることを想定する。そして、学習回数が異なる複数の検査モデルから、検査に用いられる検査モデルを選定する。
【００６１】
データ取得部１３１は、入力元デバイス６から、テスト画像と、そのテスト画像の正解データを取得する。そして、モデル学習部１３２は、テスト画像とその正解データとに基づき、既存の検査モデルから新たな検査モデルを生成する。
【００６２】
なお、実際の検査の撮影画像がテスト画像として用いられてもよい。つまり、データ取得部１３１は、正解データとして、以前の検査結果に対する評価を受け付けてもよい。そして、モデル学習部１３２は、以前の検査結果と、それに対する評価と、に基づき、既存の検査モデルから新たな検査モデルを生成してもよい。
【００６３】
例えば、検査情報出力部１２５が出力先デバイス３などに出力した検査結果が、検査補助者により評価されて、その評価結果が、正解データとして、データ取得部１３１に入力されてもよい。あるいは、検査情報出力部１２５がファイルとして出力した検査結果が編集されて、データ取得部１３１に入力されてもよい。モデル学習部１３２は、これらの修正された評価結果を正解データとして用いて、検査モデルを新たに生成する。学習方法は公知の手法を用いてよい。これにより、対応する検査対象（例えば製品Ａ）は同じではあるが、検査条件、判定閾値などが異なる複数の検査モデル（例えば検査モデルＡ群）が生成される。
【００６４】
モデル学習部１３２は、検査モデルと同様に、識別モデルを更新してもよい。例えば、検査補助者などが識別結果に対する解答をモデル学習部１３２に入力し、モデル学習部１３２が当該解答を正解データとして用いて、認識モデルを更新してもよい。また、モデル学習部１３２が、検査モデルのためのモデル学習部（検査モデル学習部）と、認識モデルのためのモデル学習部（認識モデル学習部）とに、別々に分けられていてもよい。
【００６５】
検査モデル評価部１３３は、複数の検査モデルそれぞれを評価する。検査モデル評価部１３３による評価は、適宜、行われてよい。評価方法は、検査対象に要求される品質などに応じて、任意に定めてよい。例えば、検査モデル評価部１３３は、「正常」に分類されるテスト画像と、「異常」に分類されるテスト画像を、データ取得部１３１を介して受け付ける。そして、検査モデル評価部１３３が、これらのテスト画像に基づき、各検査モデルの各検査項目に対して評価を行い、検査項目ごとの評価を考慮して、各検査モデルを総合的に評価する方法が考えられる。
【００６６】
例えば、検査項目が、傷、汚れ、および異物混入の３つとする。検査モデル評価部１３３は、テスト画像に、傷が存在する可能性、汚れが存在する可能性、および異物が混入している可能性に応じた点数を、それぞれ算出する。当該点数を異常度スコアと記載する。実際に異常がある場合、異常度スコアが高い検査モデルの方が、異常検知の精度が高いと言える。次に、各検査項目の異常度スコアに基づき、検査モデルを評価する。例えば、各検査項目の異常度スコアに、当該検査項目の重要性を示す係数を積算した上で加算して、検査モデルの評価値を算出してもよい。あるいは、一つでも異常を検知できなかった項目がある検査モデルの評価値を低くするといった評価方法が考えられる。
【００６７】
また、検査モデル評価部１３３による評価などの、モデルに関する情報は、モデル情報出力部１３４により出力される。例えば、任意に選択された複数の検査モデルのうち、評価が所定値よりも低い検査モデルの数が、所定数以上である場合は、警告を発してもよい。これにより、検査モデルの再生成を促すことができる。なお、モデル情報出力部１３４を省略し、検査情報出力部１２５がモデルに関する情報を出力してもよい。
【００６８】
こうして算出された検査モデル評価部１３３の評価は、検査モデル選定部１２３により用いられる。つまり、本実施形態の検査モデル選定部１２３は、検査モデル評価部１３３の評価に基づき、検査対象に対応する複数の検査モデルのうちから、検査に用いられる検査モデルを選定する。検査モデルの選定基準は任意に定めてよい。最も評価の高い検査モデルが選定されてもよい。あるいは、検査補助者などから、検査項目の重要度を指定されたときは、重要度の高い検査項目に対する評価（つまり異常度スコア）が高い検査モデルが優先的に選定されてもよい。これにより、ユーザの要望に即した検査を可能にする。
【００６９】
次に、第２の実施形態における検査処理装置１の処理の流れについて説明する。図７は、第２の実施形態のモデル対応部の処理の概略フローチャートである。
【００７０】
データ取得部１３１がテスト画像と正解データを取得する（Ｓ３０１）。当該テスト画像などがモデル学習部１３２に送られ、モデル学習部１３２が、テスト画像と正解データとに基づき検査モデルを新たに生成する（Ｓ３０２）。そして、検査モデル評価部１３３が、テスト画像に基づき、複数の検査モデルを評価する（Ｓ３０３）。なお、評価のために新たなテスト画像を、データ取得部１３１を介して、受け付けてもよい。これにより、各検査モデルの評価が算出される。
【００７１】
閾値よりも評価が低い検査モデルが所定数を超えた場合（Ｓ３０４のＹＥＳ）は、モデル情報出力部１３４が、出力先デバイス３を介して、警告を出力する。これにより、評価の低い検査モデルにより検査が行われることを防ぐ。
【００７２】
閾値よりも評価が低い検査モデルが所定数を超えていない場合（Ｓ３０４のＮＯ）は、本フローは終了する。こうして、各検査モデルの評価が算出され、図５に示された検査モデルの選定処理において、検査モデル選定部１２３が検査モデルを選定する際（Ｓ２０３およびＳ２０４）に、各検査モデルの評価に基づき検査モデルが選定される。これにより、適切と想定される検査モデルにより検査が行われるため、異常検知の精度が保たれる。
【００７３】
以上のように、本実施形態によれば、１つの検査対象に対応する複数の検査モデルから、適切とされる検査モデルが選定される。これにより、異常を検知する精度をより高めることができる。また、特定の検査項目を重視したい場合に、当該特定の検査項目に適した検査モデルを用いることができるため、検査の詳細な要望に対し柔軟に対応することができる。
【００７４】
また、本実施形態によれば、検査モデルの評価が低い場合に警告を発することができるため、評価の低い検査モデルにより検査が行われることを防ぐことができる。
【００７５】
また、本実施形態によれば、認識モデルも更新可能であるため、認識できない製品の画像を、新たな製品を認識するための学習データとして用い、検査と並行して、新たな製品を認識する学習を行うことができる。
【００７６】
（第３の実施形態）
これまでの実施形態では、認識モデルにより全ての検査対象が認識可能であると想定した。しかし、当該想定では、検査対象が増えた場合に、新たな検査対象を認識する認識モデルが生成されるまで検査を行うことができない。そのため、新たな検査対象の検査モデルは生成したが、新たな検査対象の認識モデルが生成されていないために、検査が開始できないこともあり得る。
【００７７】
そこで、新たな検査対象の検査モデルは生成したが、新たな検査対象の認識モデルが生成されていない場合に、検査を行いつつ、並行して新たな検査対象の認識モデルの学習を行う実施形態について説明する。なお、本実施形態の構造および処理の流れは、これまでの実施形態と同様のため、ブロック図およびフロー図は省略する。
【００７８】
例えば、検査処理装置１が、製品Ａの検査モデルと、製品Ｂの検査モデルと、製品Ｃの検査モデルとを有し、認識モデルにより製品Ａと製品Ｂは認識可能であるとする。そして、製品Ｃが、検査開始位置などに設置されて、検査可能な状態になったとする。この場合において、認識部１２２は、撮影画像の物体の位置などに基づき検査対象が検査可能な状態になったことを認識し、さらに、検査開始位置にある物体を認識不可能な検査対象であると判断する。言い換えると、認識部１２２は、画像に映された物体は検査対象のはずだが、製品Ａでも製品Ｂでもないと認識する。このとき、認識部１２２は、検査対象を新たな製品と認識してもよい。
【００７９】
そして、検査モデル選定部１２３は、認識可能な検査対象と対応していない検査モデルにて検査を行う。つまり、製品Ａにも製品Ｂにも対応していない検査モデルＣにて検査が行われる。認識可能な検査対象と対応していない検査モデルが一つしかなければ、当該検査モデルを認識できない検査対象に対応する検査モデルとして選定することができる。このようにして、製品Ｃを認識できない場合でも、製品Ｃの検査モデルＣを用いて検査を行うことができる。
【００８０】
そして、モデル学習部１３２は、検査時の撮影画像に製品Ｃが映し出されているとして、検査時の撮影画像を用いて学習を行い、認識モデルを更新する。つまり、１回の検査ごとに認識モデルの学習データと正解データを入手することができ、検査と学習を並行して行うことができる。このようにして、検査と並行して認識モデルを更新し、新たな検査対象を認識可能にしてもよい。
【００８１】
以上のように、本実施形態によれば、検査対象が増えた場合でも、認識モデルが生成されるまで検査ができないという事態を防ぎ、新製品の迅速な出荷に対応できる。
【００８２】
なお、上述の各実施形態の構成要素は、仕様などに応じて、適宜、変更されてもよい。例えば、各構成要素は、処理内容、処理に用いるデータなどに応じて、複数に分けられていてもよい。例えば、記憶部１１が、記憶するデータに応じて、分けられていてもよい。また、構成要素の一部または全てが複数ある構成でもよい。構成要素の一部が共通であってもよい。また、一部の構成要素が外部の装置に存在し、当該外部の装置とデータの送受を行ってもよい。あるいは、各構成要素が、データ通信を行う複数の装置に、別々に含まれていてもよい。つまり、複数の装置で構成されたシステムにより、各処理が行われてもよい。
【００８３】
例えば、認識部１２２および検査モデル選定部１２３を含む第１の検査処理装置が、撮影部１２１を含み撮影を行う撮影装置から撮影画像を取得し、検査モデルを選定してもよい。そして、第１の検査処理装置により選定された検査モデルが、認識部１２２および検査モデル選定部１２３を含まず検査部１２４を含む第２の検査処理装置に送信され、第２の検査処理装置により当該検査モデルを用いた検査が行われてもよい。このようにすると、検査モデルの選定と検査とを、異なる場所で行うこともできる。
【００８４】
また、処理の遅延に繋がりそうな構成要素を少なくとも二つ用意し、当該構成要素の処理を並列に行うことにより、遅延時間を減らすといった構成も考えられる。例えば、本実施形態の検査部１２４は、複数の検査モデルから選択された検査モデルを用いて検査を行うが、検査モデルの切り替えに時間を要することもあり得る。このような遅延時間が蓄積すると、検査全体に多大な影響を及ぼす恐れがある。例えば、ベルトコンベアなどにより、検査対象が検査空間に運ばれてくる場合に、検査が完了する前に、次の検査対象が検査空間に運ばれてしまい、ベルトコンベアを停止させる事態になる恐れもある。そこで、検査モデル選定部１２３および検査部１２４を複数用意し、検査モデルの選定、検査モデルの読み込み、および検査を並列に処理するようにしてもよい。これにより、検査対象が、一つ前の検査対象に対する検査の終了を待っているという事態を減少させることができる。また、検査部１２４の検査が完了する前に、撮影部１２１、認識部１２２、および検査モデル選定部１２３が、以降の検査対象に対する処理を事前に行っておき、検査部１２４の次の検査が即座に開始できるようにして、検査の遅延を減らすようにしてもよい。
【００８５】
あるいは、複数の検査部１２４（あるいは複数の第２の検査処理装置）が、それぞれ異なる検査モデルを担当するようにしてもよい。例えば、検査モデルＡを用いる検査部Ａ（第２の検査処理装置Ａ）と、検査モデルＢを用いる検査部Ｂ（第２の検査処理装置Ｂ）と、に分けておく。そして、検査モデル選定部１２３（第１の検査処理装置）が検査モデルＡを用いる場合と判定した場合に、検査モデル選定部１２３（第１の検査処理装置）は、検査部Ａ（第２の検査処理装置Ａ）にて検査を行うように指示する。例えば、ベルトコンベアで検査対象が運ばれている場合に、ベルトコンベアの行先を制御する制御装置、検査対象を別のレーンに分けるロボットアームの制御装置などに、検査対象を検査部Ａ（第２の検査処理装置Ａ）に向かわすように指示してもよい。
【００８６】
また、各検査部（各第２の検査処理装置）が用いる検査モデルを予め定めておくのではなく、検査部（第２の検査処理装置）同士が協働して決定してもよい。例えば、検査対象Ａの検査数が所定値を越えた場合に、検査部Ａ（第２の検査処理装置Ａ）が、検査対象Ａの専用の検査装置になることを決定し、その決定を受けた検査部Ｂ（第２の検査処理装置Ｂ）が、検査対象Ａ以外の検査を担当すると決定することが考えられる。
【００８７】
また、モデル対応部１３を含むモデル学習装置が検査モデルを生成して、記憶部１１に該当するストレージ装置に記憶し、モデル対応部１３を含まず検査対応部１２を含む検査処理装置が当該ストレージ装置に記憶された検査モデルを用いて検査を行ってもよい。このようにして、検査システムが構成されてもよい。
【００８８】
なお、上記の実施形態の少なくとも一部は、プロセッサ、メモリなどを実装しているＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：集積回路）などの専用の電子回路（すなわちハードウェア）により実現されてもよい。また、上記の実施形態の少なくとも一部は、ソフトウェア（プログラム）を実行することにより、実現されてもよい。例えば、汎用のコンピュータ装置を基本ハードウェアとして用い、コンピュータ装置に搭載された中央処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、画像処理装置（ＧＰＵ：Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などのプロセッサ（処理回路）にプログラムを実行させることにより、上記の実施形態の処理を実現することが可能である。言い換えると、当該プログラムの実行により、プロセッサ（処理回路）が、検査処理装置１の各処理を実行できるように構成される。
【００８９】
例えば、コンピュータが読み取り可能な記憶媒体に記憶された専用のソフトウェアをコンピュータが読み出すことにより、コンピュータを上記の実施形態の装置とすることができる。記憶媒体の種類は特に限定されるものではない。また、通信ネットワークを介してダウンロードされた専用のソフトウェアをコンピュータがインストールすることにより、コンピュータを上記の実施形態の装置とすることができる。こうして、ソフトウェアによる情報処理が、ハードウェア資源を用いて、具体的に実装される。
【００９０】
図８は、本発明の一実施形態におけるハードウェア構成の一例を示すブロック図である。検査処理装置１は、プロセッサ７１と、主記憶装置７２と、補助記憶装置７３と、ネットワークインタフェース７４と、デバイスインタフェース７５と、を備え、これらがバス７６を介して接続されたコンピュータ装置７として実現できる。
【００９１】
なお、図８のコンピュータ装置７は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、図８では、１台のコンピュータ装置７が示されているが、ソフトウェアが複数のコンピュータ装置にインストールされて、当該複数のコンピュータ装置それぞれがソフトウェアの異なる一部の処理を実行してもよい。
【００９２】
プロセッサ７１は、コンピュータの制御装置および演算装置を含む電子回路（処理回路）である。プロセッサ７１は、コンピュータ装置７の内部構成の各装置などから入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を各装置などに出力する。具体的には、プロセッサ７１は、コンピュータ装置７のＯＳ（オペレーティングシステム）や、アプリケーションなどを実行することにより、コンピュータ装置７を構成する各構成要素を制御する。プロセッサ７１は、上記の処理を行うことができれば特に限られるものではない。検査対応部、モデル対応部、およびそれらの各構成要素は、プロセッサ７１により実現される。
【００９３】
主記憶装置７２は、プロセッサ７１が実行する命令および各種データなどを記憶する記憶装置であり、主記憶装置７２に記憶された情報がプロセッサ７１により直接読み出される。補助記憶装置７３は、主記憶装置７２以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、メモリでもストレージでもよい。また、メモリには、揮発性メモリと、不揮発性メモリがあるが、いずれでもよい。記憶部１１は、主記憶装置７２または補助記憶装置７３により実現されてもよい。
【００９４】
ネットワークインタフェース７４は、無線または有線により、通信ネットワーク８に接続するためのインタフェースである。ネットワークインタフェース７４は、既存の通信規格に適合したものを用いればよい。ネットワークインタフェース７４により、通信ネットワーク８を介して通信接続された外部装置９Ａと情報のやり取りが行われてもよい。
【００９５】
外部装置９Ａは、例えばカメラ２、出力先デバイス３、外部のセンサ、入力元デバイス６などが含まれる。また、外部装置９Ａは、検査処理装置１の構成要素の一部を有する装置でもよく、上述の第１および第２の検査処理装置、撮影装置、ストレージ装置などでもよい。そして、コンピュータ装置７は、検査処理装置１の処理結果の一部を、クラウドサービスのように通信ネットワーク８を介して受け取ってもよい。
【００９６】
デバイスインタフェース７５は、外部装置９Ｂと直接接続するＵＳＢなどのインタフェースである。外部装置９Ｂは、外部記憶媒体でもよいし、ストレージ装置でもよい。記憶部１１は、外部装置９Ｂにより実現されてもよい。
【００９７】
外部装置９Ｂは出力装置でもよい。出力装置は、例えば、画像を表示するための表示装置でもよいし、音声などを出力する装置などでもよい。例えば、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）、ＰＤＰ（Ｐｌａｓｍａ  Ｄｉｓｐｌａｙ  Ｐａｎｅｌ）、スピーカなどがあるが、これらに限られるものではない。
【００９８】
なお、外部装置９Ｂは入力装置でもよい。入力装置は、キーボード、マウス、タッチパネルなどのデバイスを備え、これらのデバイスにより入力された情報をコンピュータ装置７に与える。入力装置からの信号はプロセッサ７１に出力される。
【００９９】
上記に、本発明の一実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１００】
１：検査処理装置、１１：記憶部、１２：検査対応部、１２１：撮影部（画像取得部）、１２２：認識部、１２３：検査モデル選定部、１２４：検査部、１２５：検査情報出力部、１３：モデル対応部、１３１：データ取得部、１３２：モデル学習部、１３３：検査モデル評価部、１３４：モデル情報出力部、２：カメラ、３：出力先デバイス、４（４Ａ）：検査対象、５（５Ａ、５Ｂ）：治具、５１（５１Ａ、５１Ｂ）：治具の溝、６：入力元デバイス、７：コンピュータ装置、７１：プロセッサ、７２：主記憶装置、７３：補助記憶装置、７４：ネットワークインタフェース、７５：デバイスインタフェース、７６：バス、８：通信ネットワーク、９（９Ａ、９Ｂ）：外部装置
【図１】
2019131742.tif 000003
【図２】
2019131742.tif 000004
【図３】
2019131742.tif 000005
【図４】
2019131742.tif 000006
【図５】
2019131742.tif 000007
【図６】
2019131742.tif 000008
【図７】
2019131742.tif 000009
【図８】
2019131742.tif 000010
【国際調査報告】
2019131742.tif 000011
2019131742.tif 000012