(57)【特許請求の範囲】
【請求項１】
事前学習して得られたデータを用いることなく対象物体の欠陥を検出する情報処理装置であって、
対象物体に複数の方向から光を照射して撮像された画像群を取得する取得手段と、
前記画像群に含まれるそれぞれの画像の輝度情報に基づいて、前記それぞれの画像の小領域ごとに輝度プロファイルを生成する生成手段と、
隣接する前記小領域間における輝度プロファイルの比較に基づいて、前記対象物体における欠陥を検出する検出手段とを備えることを特徴とする情報処理装置。
【請求項２】
更に、前記対象物体の周囲に複数の異なる位置に配置された複数の照明手段それぞれを、時系列に点灯と消灯を切り替えながら前記対象物体を照明させる照明制御手段と、
前記複数の照明手段で照明され、時系列で照明状態が異なる前記対象物体を撮像させる撮像制御手段とを備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記画像群は、前記対象物体が搬送手段によって搬送されている間に、前記対象物体と該対象物体の周囲の照明環境との相対的な姿勢が変化することにより前記対象物体が照明される状態が時系列的に変化している状態で、時系列的に撮像された画像であることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記検出手段は、隣接する前記小領域間で、前記輝度プロファイルが略同一でなく、前記輝度プロファイルを正規化したプロファイルが略同一である場合に、前記小領域間には色の違いがあると判断することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記検出手段は、隣接する前記小領域間で、前記輝度プロファイルを正規化したプロファイルの各成分における比率にばらつきがある場合に、前記小領域間には法線の違いがあると判断することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記検出手段は、隣接する前記小領域間で、前記輝度プロファイルを正規化したプロファイルの各成分における比率が略一定であるとともに比率が大きく異なる外れ値の成分が存在し、前記外れ値の成分における輝度値が同輝度プロファイル内の他の成分の輝度値と比較して相対的に大きい場合に、前記小領域間には鏡面性の違いがあると判断することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記検出手段は、隣接する前記小領域間で、前記輝度プロファイルを正規化したプロファイルの各成分における比率が略一定であるとともに比率が大きく異なる外れ値の成分が存在し、前記外れ値の成分における輝度値が同輝度プロファイル内の他の成分の輝度値と比較して相対的に小さい場合に、前記小領域間には影による境界が生じていると判断することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記検出手段は、隣接する前記小領域間で、前記輝度プロファイルを正規化したプロファイルに基づいて、前記対象物体の表面における色の違い、法線の違い、鏡面性の違いのそれぞれを区別して検出することを特徴とする請求項１に記載の情報処理装置。
【請求項９】
前記生成手段は、前記輝度プロファイルに基づいて前記照明手段、前記搬送手段、前記撮像手段、前記対象物体の間の位置関係を変更させる指示を生成することを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記検出手段によって分類した欠陥の種類を区別した結果の画像を表示する表示手段を更に備えることを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
事前学習して得られたデータを用いることなく対象物体の欠陥を検出する情報処理方法であって、
対象物体に複数の方向から光を照射して撮像された画像群を取得する取得工程と、
前記画像群に含まれるそれぞれの画像の輝度情報に基づいて、前記画像の小領域ごとに輝度プロファイルを生成する生成工程と、
隣接する前記小領域間における輝度プロファイルの比較に基づいて、前記対象物体における欠陥を検出する検出工程とを備えることを特徴とする情報処理方法。
【請求項１２】
コンピュータを、請求項１乃至１０の何れか１項に記載された情報処理装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物体の傷などの異常状態を検出する技術に関する。
【背景技術】
【０００２】
製品や部品の表面に生じる傷などの異常状態を欠陥として検出する技術は、欠陥検査や異常検知と呼ばれ、自動生産や検査において用いる技術として広く知られている。対象物体表面に生じる傷は周囲の光源環境や観測する角度によって見え方が変化するため、光源の当て方を工夫したり、さらに画像処理を行ったりすることによって、傷などの異常状態を適切に可視化する技術が古くから提案されている。特許文献１では、同軸落射照明と斜め入射照明に色光源を用いることで、一回の撮像で凹凸欠陥と色彩欠陥を同時に検査する方法が開示されている。特許文献２には、少なくとも４方向の較正済みの光源とカメラを用いて、傷部分が凸か凹かを判別する手法が開示されている。また、特許文献３では、３種類の異なる波長の光源下で計測した結果とマスターデータとを比較することによって、凹凸、色調変化、てかりの３つを検出する方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−３１３１４６号公報
【特許文献２】特開２００９−０９７９７７号公報
【特許文献３】特開２０１３−１３７２３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の手法では、同軸落射照明や斜め入射照明などの較正が必要で装置構成が複雑である。また、特許文献２の手法では、凹凸以外の欠陥や異常には対処することができないという課題がある。また、特許文献３の手法では、マスターデータのような事前学習やデータベースが必要であるため、未知の対象物体には適用することができない。さらに、影が発生した場合には誤って傷であると検出してしまう可能性がある。
【０００５】
本発明は上記問題に鑑みてなされたものであり、未知の対象物体や影が生じる場合であっても、複数の異常状態を欠陥として分類して検出することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明にかかる情報処理装置は、例えば、事前学習して得られたデータを用いることなく対象物体の欠陥を検出する情報処理装置であって、対象物体に複数の方向から光を照射して撮像された画像群を取得する取得手段と、前記画像群に含まれるそれぞれの画像の輝度情報に基づいて、前記それぞれの画像の小領域ごとに輝度プロファイルを生成する生成手段と、隣接する前記小領域間における輝度プロファイルの比較に基づいて、前記対象物体における欠陥を検出する検出手段とを備える。
【発明の効果】
【０００７】
本発明によれば、未知の対象物体や影が生じる場合であっても、複数の異常状態を分類して欠陥として検出することができる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態の情報処理装置の機能ブロック図。
【図２】第１の実施形態の情報処理装置を用いたシステムの概略構成を示す図。
【図３】ある一画素における輝度プロファイルの例を示す図。
【図４】第１の実施形態における欠陥分類を行うためのフローチャート。
【図５】少数の外れ値以外の成分では比率が略一定である場合の輝度プロファイルの例を示す図。
【図６】第１の実施形態の情報処理装置による処理を説明するフローチャート。
【図７】第２の実施形態の情報処理装置の機能ブロック図。
【図８】第２の実施形態の情報処理装置による処理を説明するフローチャート。
【図９】第３の実施形態の情報処理装置を用いたシステムの概略構成の例を示す図。
【図１０】第３の実施形態の情報処理装置の機能ブロック図。
【図１１】第３の実施形態の情報処理装置による処理を説明するフローチャート。
【図１２】第３の実施形態の情報装置の機能ブロック図。
【図１３】第３の実施形態の情報処理装置を用いたシステムの概略構成の例を示す図。
【図１４】第４の実施形態の情報処理装置を用いたシステムの概略構成の例を示す図。
【図１５】第４の実施形態の情報処理装置の機能ブロック図。
【図１６】第４の実施形態の情報処理装置による処理を説明するフローチャート。
【図１７】本願発明の情報処理装置のハードウェア構成の例を示す図。
【発明を実施するための形態】
【０００９】
以下、本発明にかかる実施形態の情報処理装置を詳細に説明する。
【００１０】
本発明にかかる実施形態を説明するのに先立ち、各実施形態に示す情報処理装置が実装されるハードウェア構成について、図１７を用いて説明する。
【００１１】
図１７は、本実施形態における情報装置のハードウェア構成図である。同図において、ＣＰＵ１７１０は、バス１７００を介して接続する各デバイスを統括的に制御する。ＣＰＵ１７１０は、読み出し専用メモリ（ＲＯＭ）１７２０に記憶された処理ステップやプログラムを読み出して実行する。オペレーティングシステム（ＯＳ）をはじめ、本実施形態に係る各処理プログラム、デバイスドライバ等はＲＯＭ１７２０に記憶されており、ランダムアクセスメモリ（ＲＡＭ）１７３０に一時記憶され、ＣＰＵ１７１０によって適宜実行される。また、入力Ｉ／Ｆ１７４０は、外部の装置（表示装置や操作装置など）から情報処理装置１０００で処理可能な形式で入力信号として入力する。また、出力Ｉ／Ｆ１７５０は、外部の装置（表示装置）へ表示装置が処理可能な形式で出力信号として出力する。
【００１２】
（第１の実施形態）
第１の実施形態の情報処理装置１１００は、対象物体に対して複数の光源を点灯消灯させながら撮影した画像列を用いて、各画素における時系列の輝度変化同士を比較し、形状や表面色や光沢度合いの違いによって生じる見えの変化を特定することによって、データベースを用いることなく形状欠陥、色彩欠陥、光沢欠陥等の複数種類の異常状態へ分類するものである。さらに、同画素内の時系列の最大値や最小値の分布に基づいて、対象物体表面に生じる影やハイライトを特定することによって、それらの影響を受けて誤って異常であると分類しないように処理を行うものである。
【００１３】
［装置の構成］
図１のブロック図により第１の実施形態の情報処理装置１１００を用いたシステムの構成例を示す。情報処理装置１１００は、照明部１０１ａ〜１０１ｆ、撮像部１０２、表示装置１０８に接続されている。
【００１４】
照明部１０１ａ〜１０１ｆは、図２の概略図に示すように、計測対象物体１２００に対して複数の異なる方向から照明できるように複数のＬＥＤ光源を配置することによって実現され、照明状態が切り替わる度に撮像部１０２によって計測対象物が撮像される。撮像部１０２が撮像した画像列は、情報処理装置１１００に送られ、情報処理装置１１００によって対象物体に欠陥があれば、その異常状態を分類する。また、情報処理装置１１００は、照明部１０１ａ〜１０１ｆおよび撮像部１０２の動作を制御する。ここで複数の照明部１０１ａ〜１０１ｆは、同一の明るさ、同一の色である必要はなく、様々な光源が混在していてもよい。ここでは、６個の照明（１０１ａ〜１０１ｆ）を利用する図を示しているが、照明の数に制限はなく、いくつの照明を利用してもよい。また、これらの光源は対象物体１２００に対してあまり偏りなく様々な方向から光が入射するように配置されることが望ましいが、配置する数や位置、方向について厳密な較正を行う必要はない。さらに、照明部１０１ａ〜１０１ｆは複数の光源に限るものではなく、例えば１つの光源を移動させながら照明することで、照明方向の異なる画像列を取得してもよい。また、LED光源などの一般的な光源に限らず、ディスプレイに映し出した映像を光源として用いてもよい。
【００１５】
照明制御部１０３は、複数の照明部１０１ａ〜１０１ｆを順に１つずつ点灯するように制御し、対象物体を異なる方向から照明（照射）する。ただし、照明制御部１０３は照明部１０１ａ〜１０１ｆを１つずつ点灯する制御に限るものではなく、照明部１０１ａ〜１０１ｆのうちの複数を同時に点灯させてもよい。例えば対象物体が黒色である場合など、撮像時に輝度の低い画像が得られやすい場合には、照明部１０１ａ〜１０１ｆを複数同時に点灯させる方が望ましい。
【００１６】
画像入力部１０４は、照明制御部１０３から入力された制御信号のタイミングに合わせて、撮像部１０２を制御し撮像させ（撮像制御）、対象物体への照明方向が異なる撮像画像を受け取る。さらに、該撮像画像を画像処理部１０６に出力する。
【００１７】
パラメータ記憶部１０５は照明部１０１ａ〜１０１ｆの数や点灯順序を記憶しており、照明制御部１０３が制御を行う際にそのパラメータを参照する。また、画像処理部１０６が画像処理を行う際にも、該パラメータを参照して後述する輝度プロファイルを生成する。
【００１８】
画像処理部１０６は、画像入力部１０４から撮像画像を受け取り、欠陥を特定するために必要な画像処理を行い、輝度プロファイルを生成して、必要なデータを欠陥検出部１０７に送る。また、同時に、入力された撮像画像列が欠陥を特定するために適切であるか否かを判断し、撮影環境の変更を促す。
【００１９】
欠陥検出部１０７は、画像処理部１０６で出力された２つの画素位置における輝度プロファイルを比較することによって、異常状態の種類を分類する。
【００２０】
表示装置１０８は、欠陥検出部１０７の分類結果に基づいて、異常の種類ごとに画素を色分けしてディスプレイに表示する。ただし、これに限るものではなく、他のコンピュータやサーバ装置、補助記憶装置、各種記録媒体などに出力しても良いし、異常の種類に基づいて対象物体１２００を移動させるなどの具体的な動作を伴ってもよい。
【００２１】
情報処理装置１１０を構成する各機能部は、ＣＰＵ１７１０が、ＲＯＭ１７２０に格納されたプログラムをＲＡＭ１７３０に展開し、後述する各フローチャートに従った処理を実行することで実現されている。また例えば、ＣＰＵ１７１０を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
【００２２】
［欠陥検査処理］
図６のフローチャートにより第１の実施形態の情報処理装置１１００による処理を説明する。
【００２３】
（ステップＳ１１１０）
ステップＳ１１１０では、初期化処理が実行される。初期化処理には、照明部１０１ａ〜１０１ｆや撮像部１０２の起動、照明部１０１ａ〜１０１ｆの制御パラメータを読み込む処理などが含まれる。
【００２４】
（ステップＳ１１２０）
ステップＳ１１２０では、初期化が終了すると、照明制御部１０３は、様々な方向から対象物体１２００に光が当たるように配置された照明部１０１ａ〜１０１ｆを一つずつ順に点灯させるとともに、画像入力部１０４に制御信号を送る。制御信号を受けた画像入力部１０４は、撮像部１０２に対象物体１２００が照明された画像を撮像させ、撮像画像（画像群）を画像処理部１０６に送る。
【００２５】
（ステップＳ１１３０）
ステップＳ１１３０では、撮像画像を受けた画像処理部１０６は、画素ごと（小領域ごと）に輝度プロファイルを生成し、隣接する画素を比較対象の画素としてデータ化する。
【００２６】
図３の輝度プロファイルを説明する図を用いて、画像処理部１０６における輝度プロファイルの生成について説明する。輝度プロファイルは、画素ごとに計算され、画像列がＮ枚得られている場合には、Ｎ次元の配列にその画素における時系列画像列の輝度値を格納したＮ次元ベクトルとなる。図３はＮ＝１０における輝度プロファイルの例を示している。ただし、輝度プロファイルは一画素単位に限定するものではなく、複数の画素を単位として定義してもよい。
【００２７】
欠陥検出部１０７では２つの画素間におけるＮ次元ベクトルの輝度プロファイルを比較することによって、２つの画素における違いとして異常状態の種類を分類する。そこで、画像処理部１０６では、比較を行うべき２画素の組合せを定義する。ここでは４近傍の隣接画素の組合せを選ぶものとする。ただし、４近傍の隣接画素の組合せに限るものではなく、８近傍でもよいし、比較したい画素が離れている場合には、離れた画素との組み合わせでもよい。また、比較する画素は２つに限らず複数であってもよい。
【００２８】
（ステップＳ１１４０）
ステップＳ１１４０では、画像処理部１０６は、輝度プロファイル内で分析をして欠陥検出に適した画素が少ないかどうかを判断し、十分な数の画素で欠陥検出が行われる場合にはステップＳ１１３０で生成したデータを欠陥検出部１０７に送り、ステップＳ１１５０へ進む。欠陥検出に適した画素が少ないかどうかを判断する方法は、例えばいかのような方法で行われる。画像処理部１０６は、各画素における輝度プロファイル内で分析をして、Ｎ次元のうちの大半の成分が低い値で同じ輝度であると見なせる場合には、その画素は照明部１０１ａ〜１０１ｆからの照明がほとんど当たっていないものとし、欠陥検出に適さない画素であると判断する。欠陥検出に適さない画素については、欠陥検出部１０７に輝度プロファイルや画素の組合せが送られることはない。
【００２９】
一方、欠陥検出に適した画素が少ない場合には、ステップＳ１１５１へ進み、ユーザに撮影環境の改善を促す指示を与えて処理を終了する。すなわち、照明部１０１ａ〜１０１ｆや撮像部１０２の配置や撮影パラメータ、対象物体１２００の姿勢が不適切であると考えられるため、ディスプレイ上に画像やテキスト等を表示したり、警告や指示を行う音または音声などを発したりすることにより、ユーザに撮影環境の改善を促す指示を与える。ここで、改善された撮影環境とは、各画素における輝度プロファイルの各成分の輝度値が比較的大きな値を持つように、対象物体１２００に対して照明部１０１ａ〜１０１ｆからの照明が頻繁に当たるような配置の撮影環境のことである。
【００３０】
なお、画像処理部１０６における処理は、全ての画素に対して行ってもよいし、予め指定した領域の画素や、背景差分等によって求めた対象物体１２００が撮像されている画素など、一部の画素に限定して処理を行ってもよい。
【００３１】
（ステップＳ１１５０）
比較する二つの画素における輝度プロファイルのデータを受けた欠陥検出部１０７は、欠陥分類を行うためのフローチャート（図４）に従って、画素間（小領域間）における異常状態の有無と、その分類を行う。
【００３２】
図４の欠陥分類を行うためのフローチャートを用いて欠陥検出部１０７における具体的な処理について説明する。
【００３３】
（ステップＳ１０１０）
ステップＳ１０１０では、欠陥検出部１０７は、２つの輝度プロファイルＩ１とＩ２が略同一であるかどうかを数式１で計算する。
【００３４】
【数１】
0006576059.tif 000002
ただし
【００３５】
【数２】
0006576059.tif 000003
はベクトルｘの絶対値を表す。計算されたＤａが閾値Ｔａよりも小さい場合には、異常は無いものとして分類を終了する。また、Ｄａが閾値Ｔａよりも大きい場合には次のステップＳ１０２０に進む。閾値Ｔａは２つの輝度プロファイルを略同一と見なしても良い上限値である。ここでは、閾値Ｔａは、例えばＩ１とＩ２全体の輝度標準偏差の５％の値として求めている。
【００３６】
（ステップＳ１０２０）
ステップＳ１０２０では、欠陥検出部１０７は、２つの輝度プロファイルＩ１とＩ２それぞれのＮ次元ベクトルに対して正規化してから比較を行う。輝度プロファイルをＩ、正規化後の輝度プロファイルをＪとすると、Ｊは数式２を用いて以下のように計算される。
【００３７】
【数３】
0006576059.tif 000004
ただし
【００３８】
【数４】
0006576059.tif 000005
およびσはＮ次元ベクトルＩの平均および分散を表す。数式２から得られたＪ１およびＪ２を用いて、数式１と同様に両者の違いＤｂを求める。Ｄｂが閾値Ｔｂよりも小さい場合には、正規化輝度プロファイルは略同一であるとし、両画素間には色の違いがあると分類する。また、Ｄｂが閾値Ｔｂよりも大きい場合には、次のステップＳ１０３０に進む。閾値Ｔｂは２つの正規化輝度プロファイルを同じと見なしても良い上限値である。ここでは、閾値Ｔｂは、例えばＪ１とＪ２全体の輝度標準偏差の５％の値として求めている。ただし、正規化の方法は数式２に示した平均０分散１にする計算に限るものではない。また、閾値Ｔｂの値もここでは５％に設定したが、これに限らず他の値でもよい。
【００３９】
（ステップＳ１０３０）
ステップＳ１０３０では、欠陥検出部１０７は、正規化輝度プロファイルＪ１とＪ２の各成分における比率を求め、比率が一定であると見なせる成分の割合を評価する。比率が同じであると見なせる成分がほとんどなく、ばらつきがある場合には、法線の違いがあると分類する。ただし、法線とは対象物体表面における面の向きのことであり、隣接画素間で法線の違いがあるならば、そこに形状の変化があると考えられる。また、ごく少数の外れ値の成分を除けば、比率が同じであると見なせる場合には、次のステップＳ１０４０に進む。もし少数の外れ値が存在せず、各成分の比率が一定である場合の場合分けは必要無い。なぜなら、その場合はステップＳ１０１０において「異常無し」、またはステップＳ１０２０において「色の違いあり」に分類されているためである。
【００４０】
（ステップＳ１０４０）
ステップＳ１０４０では、欠陥検出部１０７は、ステップＳ１０３０で外れ値として取り除いたごく少数の成分について、同輝度プロファイル内の他の成分との比較を行う。図５に少数の外れ値以外の成分では比率が略一定である場合の輝度プロファイルの例を示す。グラフにおける○と□はそれぞれ異なる画素位置における輝度プロファイルを表している。このグラフの例では、１０次元ベクトルからなる輝度プロファイルに対して、点線の長方形で囲んだ２成分だけが他の成分と比較して比率が大きく異なっており、外れ値として判定されたことを示している。外れ値となった成分におけるどちらかの画素が同輝度プロファイル内の他の成分と比べて輝度値が大きい場合（例えば図５の点線で囲まれた成分における□の画素）は、対象物体表面の光沢によってハイライトが生じていると考えられる。
【００４１】
一方、この成分における比較対象の隣接画素（例えば図５の点線で囲まれた成分における○の画素）は、輝度値が低いため、ハイライトは生じていないと考えられる。よって、両画素間には鏡面性の違いがあると見なすことができる。また、同様にして、外れ値となった成分のどちらかの画素が他の成分と比べて輝度値が小さい場合は、この成分に対応する照明方向では、遮蔽物によって影が生じていると考えられる。一方、この成分における比較対象の隣接画素では、輝度値が高く影は生じていない。よって、両画素間では影の境界が生じていると見なせる。これは対象物体における異常ではなく、計測環境によって生じるものであるため、異常は無いと分類することができる。
【００４２】
以上のようにして、欠陥検出部１０７は異常状態の種類を分類して、その結果を表示装置１０８に出力する。ここでは図４を用いて順番に３種類の異常状態に分類する例を示したが、これに限るものではなく、特定の異常状態だけを検出してもよいし、異なる順序で異常状態を分類してもよい。また、本実施形態では説明を分かりやすくするために、画像処理部１０６と欠陥検出部１０７を区別して別の部として扱ったが、これに限るものではなく、どちらか一方が他方を兼ねてもよい。
【００４３】
この処理は検査を行うべき全ての画素間で行われるが、画素の組を一つずつ処理してもよいし、複数の画素の組を並列に処理してもよい。そして分類した結果を表示装置１０８に送る。
【００４４】
（ステップＳ１１６０）
ステップＳ１１６０では、結果を受けた表示装置１０８は、異常状態に合わせて結果をディスプレイに表示する。
【００４５】
上記に述べた構成で、対象物体に対して複数の光源を点灯消灯させながら撮影した画像列の輝度値（輝度情報）に基づいて輝度プロファイルを生成し、各画素における輝度プロファイルを異常状態による輝度への影響に則して比較することによって、事前学習やデータベースを用いることなく異常状態の有無、および形状欠陥、色彩欠陥、光沢欠陥の３種類の異常状態への分類を行うことができる。また、対象物体表面に生じる影やハイライトの影響も分類によって区別することができる。さらに、本装置構成では、光源の明るさ、色、配置などを厳密に較正する必要がないため、セットアップが容易である。
【００４６】
（第２の実施形態）
第２の実施形態は、対象物体に関する知識を利用することによって、不要となる処理を省略して第１の実施形態をより高速に処理を行うものである。また、対象物体に関する知識によって、分類された異常状態をさらに細かく分類して問題のある異常状態であるかどうかの判断を行うものである。
【００４７】
［装置の構成］
以下、本発明にかかる第２の実施形態の情報処理装置２１００を用いたシステムを図７のブロック図により説明する。第２の実施形態は、図１の構成を一部変更したものであり、図７中の２１００、２２００、２０１ａ〜２０１ｆ、２０２、２０４、２０５、２０８は実施形態１中の１１００、１２００、１０１ａ〜１０１ｆ、１０２、１０４、１０５、１０８と同じであり同様の動作を行う。したがって、ここでは実施形態１と異なる２０３、２０６、２０７、２０９についてのみ説明する。
【００４８】
対象知識保持部２０９は、対象物体２２００に関する知識を保持しており、照明制御部２０３、画像処理部２０６、欠陥検出部２０７に対して、対象物体２２００の知識を出力する。対象物体２２００に関する知識とは、例えば、対象物体２２００において、検査すべき領域の情報、テクスチャ情報、幾何情報として例えば主たる法線方向、同じ法線方向であると見なせる領域、エッジ情報などの情報である。本実施形態ではここに挙げた５つの対象物体に関する知識を知っている場合について述べるが、これらに限るものではない。これらの知識は対象知識保持部２０９にデータとして予め入力しておく。または、欠陥検査を行っていく中で知識として蓄積していく。あるいは、必要に応じてユーザが知識を更新する機構を備えてもよいし、形状計測装置などの別の計測装置によって取得してもよい。そして、これらの知識は照明制御部２０３や画像処理部２０６、欠陥検出部２０７に送られる。
【００４９】
照明制御部２０３は、検査すべき領域や主たる法線方向に関する情報を対象知識保持部２０９から受け取ると、照明部２０１ａ〜２０１ｆの光源方向の配置を変更する。具体的には、検査すべき領域がなるべく様々な入射方向の光で照明されるようにする。または、主たる法線方向を天頂とした半球状の方向に偏りなく光源が配置されることが望ましい。このような配置を行うことで、より正確な欠陥検査を行うことができる。
【００５０】
画像処理部２０６は、検査すべき領域や同じ法線方向であると見なせる領域、エッジ情報を対象知識保持部２０９から受け取ると、輝度プロファイルを求める画素や、欠陥検出工程において比較する画素の組合せを限定する。
【００５１】
具体的には、検査すべき領域がわかっている場合には、その領域に対応する画素のみで輝度プロファイルを生成し、その画素群の隣接画素でのみ欠陥検出を行うようにデータを生成し、欠陥検出部２０７に送る。
【００５２】
また、同じ法線方向であると見なせる領域がわかっている場合には、異なる法線方向との境界領域においては、欠陥検出を行う画素の組から除外し、同じ法線方向の領域内の画素群はまとめて比較を行うようにデータを生成し、欠陥検出部２０７に送る。
【００５３】
エッジ情報がわかっている場合には、形状のエッジに対応する画素は、欠陥検出の際に法線の違いが検出されることがわかっているため、欠陥検出を行う画素の組から除外してデータを生成し、欠陥検出部２０７に送る。画像処理部２０６では以上のようにすることで、欠陥検出工程において冗長な処理を省略し、処理を高速化することができる。
【００５４】
欠陥検出部２０７は、テクスチャ情報やエッジ情報を対象知識保持部２０９から受け取ると、第１の実施形態と同様に図４のフローチャートに従って分類をした後に、その異常状態の問題の有無について判断する。詳細は後述する。
【００５５】
その他の動作については、第１の実施形態と同様であるため省略する。
【００５６】
［欠陥検査処理］
図８のフローチャートにより第２の実施形態の情報処理装置２１００による欠陥検査処理を説明する。
【００５７】
（ステップＳ２１１０）
ステップＳ２１１０では、初期化処理が実行される。初期化処理には、照明部２０１ａ〜２０１ｆや撮像部２０２の起動、照明部２０１ａ〜２０１ｆの制御パラメータを読み込む処理、対象知識保持部２０９に知識を読み込む処理などが含まれる。
【００５８】
（ステップＳ２１２０）
ステップＳ２１２０では、初期化が終了すると、対象知識保持部２０９の情報に基づいて照明部２０１ａ〜２０１ｆの配置を設定し、照明制御部２０３は、様々な方向から対象物体２２００に光が当たるように照明部２０１ａ〜２０１ｆを一つずつ順に点灯させるとともに、画像入力部２０４に制御信号を送る。制御信号を受けた画像入力部２０４は、撮像部２０２に対象物体２２００が照明された画像を撮像させ、撮像画像を画像処理部２０６に送る。
【００５９】
（ステップＳ２１３０）
ステップＳ２１３０では、撮像画像を受けた画像処理部２０６は、対象知識保持部２０９の情報に基づいて画素ごとに必要な輝度プロファイルを生成し、比較対象とすべき画素の組合せとともにデータ化する。
【００６０】
（ステップＳ２１４０）
ステップＳ２１４０では、画像処理部２０６は、輝度プロファイルを分析して欠陥検出に適した画素が多いかどうかを判断し、十分な数の画素で欠陥検出が行われる場合にはＳ２１３０で生成したデータを欠陥検出部２０７に送りステップＳ２１５０へ進む。一方で、欠陥検出に適した画素が少ない場合には、ステップＳ２１５１へ進み、ユーザに撮影環境の改善を促す指示を与えて処理を終了する。
【００６１】
（ステップＳ２１５０）
ステップＳ２１５０では、比較する画素における輝度プロファイルのデータを受けた欠陥検出部２０７は、先述した欠陥分類を行うためのフローチャート（図４）に従って、画素間における異常状態の有無と、その分類を行う。本実施形態では、第１の実施形態と同様に図４のフローチャートに従って分類をした後に、その異常状態の問題の有無について判断する。
【００６２】
具体的には、テクスチャ情報がわかっている場合、画素の組に色の違いがあると分類された際には、対応するテクスチャ情報との照合を行う。そして、テクスチャ情報における反射率に変化がある場合には、色の違いが生じるべき画素であるため、問題は無いと判断する。一方、テクスチャ情報における反射率に変化が無い場合には、色の違いは異物混入や塗装ムラによる予期しない色の変化であるため、問題があると判断する。
【００６３】
エッジ情報がわかっている場合も同様に、法線の違いがあると分類された際には、対応するエッジ情報との照合を行う。そして、エッジ情報におけるエッジが存在する画素である場合には、法線の違いが生じるべき画素であるため、問題は無いと判断する。一方、エッジ情報におけるエッジが存在しない画素である場合には、法線の違いは対象物体表面の傷などによる凹凸であるため、問題があると判断する。
【００６４】
（ステップＳ２１６０）
ステップＳ２１６０では、欠陥検出部２０７は、対象知識保持部２０９の情報に基づいて、異常として分類された中で問題として扱うべき異常かどうかを判断する。そして異常でかつ問題ありと判断した結果を表示装置２０８に送る。
【００６５】
（ステップＳ２１７０）
ステップＳ２１７０では、結果を受けた表示装置２０８は異常状態に合わせて結果をディスプレイに表示する。
【００６６】
上記に述べた構成で、対象物体に関する情報を利用することによって、高速に異常状態の分類を行い、さらに、分類された異常状態の問題の有無について判断することができる。
【００６７】
（第３の実施形態）
第３の実施形態は、ベルトコンベアを用いて対象物体を搬送しながら同時に異常状態を分類して仕分けを行うものである。対象物体はベルトコンベアで搬送される間に周囲の光源環境に対して相対的な位置や姿勢が変化するため、照明方向が変化し、その光源変化を利用して第１の実施形態と同様に対象物体の異常状態を分類することができる。
【００６８】
［装置の構成］
以下、本発明にかかる第３の実施形態の情報処理装置３１００を用いたシステムを図９の概略図および図１０のブロック図により説明する。第３の実施形態における欠陥検査を行う技術は、第１の実施形態や第２の実施形態共通しているものが多く、図９および図１０中の３０４、３０７、３１００、３２００は第１の実施形態中の１０４、１０７、１１００、１２００と同じであり同様の動作を行う。したがって、ここでは第１の実施形態と異なる３０１、３０２、３０３、３０５、３０６、３１０、３１１についてのみ詳細を説明する。
【００６９】
搬送部３１０は、ベルトコンベアであり、対象物体３２００の搬送を行う。
【００７０】
搬送制御部３１１は、搬送部３１０の搬送速度や搬送先を制御する。また、画像入力部３０４に対して制御信号を送り、画像入力部３０４は撮像部３０２ａ〜３０２ｄが搬送速度と同期をとって、対象物体３２００が流れてくるタイミングで撮像を行えるようにする。
【００７１】
撮像部３０２ａ〜３０２ｄは、画像入力部３０４に制御信号が送られてきたタイミングで搬送部３１０上を流れてくる対象物体３２００を撮像する。
【００７２】
パラメータ記憶部３０５は搬送部３１０の搬送速度や対象物体３２００が流れてくるタイミング、撮像部３０２ａ〜３０２ｄの数やグループを記憶している。
【００７３】
画像処理部３０６は、画像入力部３０４から画像列を受け取り、同じ方向から撮像したグループごとに対象物体３２００が同じ画素位置になるように位置合わせを行う。画素位置対応がとれた画像列を得た後の処理および、欠陥検出部３０７の処理は第１の実施形態と同様であるため省略する。
【００７４】
欠陥検出部３０７は、分類結果を搬送制御部３１１に送り、搬送制御部３１１は分類された異常の有無や異常の種類に応じて、搬送部３１０における搬送先を変更する。例えば、異常が有る対象物体３２００は不要となるため、廃却用の箱に搬送する。ただし、これに限るものではなく、異常の数が少なく欠陥であるかどうかを判断しづらい場合にはディスプレイや音によってユーザにその旨を知らせ、人の目によって最終的なチェックを促してもよい。
【００７５】
照明部３０１ａ、３０１ｂは搬送部３１０に対して固定されている光源であるが、一定の明るさで照明し続ける蛍光灯や、窓から差し込む太陽光である。ただし、これに限るもではなく、搬送部３１０上を移動する対象物体３２００に対して、照明方向に偏りをもった光源であればよい。図１０では照明部３０１ａ、３０１ｂの数を２個として説明したが、これに限るものではない。
【００７６】
撮像部３０２ａ〜３０２ｄの詳細について説明する。撮像部３０２ａ〜３０２ｄは複数のカメラからなるグループを成しており、同じグループのカメラは流れてくる対象物体３２００を同じ姿勢で撮像できるように、ベルト部分と一定の距離を保って搬送部３１０に固定して取り付けられている。搬送部３１０の搬送速度と同期をとって対象物体３２００を撮像することで、複数の撮像部３０２ａ〜３０２ｄにおいて、異なる位置で撮像した画像であっても、対象物体３２００との相対的な位置関係を固定したままで撮像を行うことができる。ただし、全ての撮像部３０２ａ〜３０２ｄが同じ方向から撮像する必要はなく、同じ方向から撮像するグループを複数成すように撮像部３０２ａ〜３０２ｄを配置すればよい。しかし、撮像された画像列における対象物体３２００の位置は搬送経路によっては多少ずれることがある。その場合には、画像処理部３０６によって、画像を平行移動させるなどの変換を施して位置合わせを行い、同じグループの撮像部３０２ａ〜３０２ｄで撮像された画像列の同じ画素で対象物体３２００の位置を対応づけられるようにする。
【００７７】
また、本実施形態では撮像部３０２ａ〜３０２ｄは搬送部３１０に固定して取り付けるものとして説明したが、これに限るものではなく、撮像部３０２ａ〜３０２ｄをベルトの上に配置または別の移動部によって対象物体３２００と相対的な位置関係を保ったまま移動することで、画像列における対応を取るようにしてもよい。また、図１０において撮像部３０２ａ〜３０２ｄは４つの場合を説明したが、数を限定するものではない。
【００７８】
また、照明部３０１ａ、３０１ｂは一定の明るさで照明し続ける制御不要の光源に限るものではなく、図１３の概略構成に示すように、搬送部３１０の周囲に配置して照明の制御を行ってもよい。その場合におけるブロック図を図１２に示す。このブロック図は図１０とほぼ同様であるため、同様のブロックについては説明を省略し、新たに追加された照明制御部３０３についてのみ説明する。照明制御部３０３は、パラメータ記憶部３０５から搬送速度や対象物体３２００が流れてくるタイミングに関する情報を受け取り、タイミングよく点灯消灯することによって、移動する対象物体３２００への照明方向を変えて照明を行う。さらに、撮像部３０２ａ〜３０２ｄは照明部３０１ａ、３０１ｂによって対象物体３２００が異なる照明状態となるタイミングで撮像を行う。
【００７９】
［欠陥検査搬送処理］
図１１のフローチャートにより第３の実施形態の情報処理装置３１００を用いたシステムの処理の流れを説明する。
【００８０】
（ステップＳ３１１０）
ステップＳ３１１０では、初期化処理が実行される。初期化処理には、撮像部３０２ａ〜３０２ｄの配置と起動、搬送部３１０の起動、搬送速度や撮像枚数などの制御パラメータをパラメータ記憶部３０５から読み込む処理などが含まれる。
【００８１】
（ステップＳ３１２０）
ステップＳ３１２０では、初期化が終了すると、対象物体３２００が搬送部３１０によって搬送される。撮像部３０２ａ〜３０２ｄのうち同じグループの撮像部が搬送されてくる対象物体３２００を同じ姿勢で撮像できるように、搬送速度と同期をとって撮像を行う。さらに、図１２のブロック図の場合には、照明制御部３０３は、必要に応じて照明部３０１ａ、３０１ｂの点灯消灯を切り替える。得られた撮像画像は画像処理部３０６に送られる。
【００８２】
（ステップＳ３１３０）
ステップＳ３１３０では、撮像画像を受けた画像処理部３０６は、対象物体３２００が写っている画素位置の対応を求めるために位置合わせを行う。
【００８３】
ステップＳ３１４０からステップＳ３１６０までの処理は、図６（第１の実施形態）のステップＳ１１３０からステップＳ１１５０の処理と同様であるため、説明を省略する。
【００８４】
（ステップＳ３１７０）
ステップＳ３１７０では、対象物体３２００の異常の有無および欠陥の種類が判別されると、搬送部３１０は欠陥の種類に基づいて搬送先を変更する。
【００８５】
上記に述べた構成で、対象物体を搬送する際に、搬送によって周囲の光源から対象物体への照明が変化する様子を撮像し、第１の実施形態と同様の欠陥検出を行うことによって、搬送と同時に異常状態の有無および欠陥の種類を判別して、その結果に基づいて搬送先を変更するなどの仕分けを行うことができる。
【００８６】
（第４の実施形態）
第４の実施形態は、ロボットアームが対象物体を把持して移動させる時に、周囲の光源から対象物体への相対的な光源環境が変化することを利用して、第３の実施形態と同様にして、把持移動と同時に対象物体の異常状態を分類して仕分けを行うものである。
【００８７】
［装置の構成］
以下、本発明にかかる第４の実施形態の情報処理装置を用いた欠陥検査把持アーム４０００を図１４の概略図と図１５のブロック図により説明する。第４の実施形態における欠陥検査を行う技術は、第３の実施形態と共通しているものが多く、図１４および図１５中の４０１、４０２、４０４、４０７、４１００、４２００は第３の実施形態中の３０１、３０２、３０４、３０７、３１００、３２００と同じであり同様の動作を行う。したがって、ここではこれまでの第３の実施形態とは異なる４０６、４１０、４１１、４１２についてのみ詳細を説明する。
【００８８】
ロボットアーム４１０は、ハンド４１１によって対象物体４２００を把持し、目的の場所まで移動する。ロボットアーム４１０には撮像部４０２が取り付けられており、把持した対象物体４２００を撮像することができる。ハンド４１１は、ロボットアーム４１０が移動しても、把持している対象物体４２００と撮像部４０２との相対的な位置姿勢関係は変わらないように把持を行う。
【００８９】
ロボットアーム４１０は、周囲の環境に対して対象物体４２００の姿勢が変化する回転運動を伴う動きで移動を行う。対象物体４２００は回転運動を伴う動きで移動する際に、周囲の環境からの照明部４０１によって、照らされる方向が変化する。撮像部４０２は回転運動等によって対象物体４２００の姿勢が変化して、周囲の環境から照らされる方向が変化して、異なる照明状態が生じたタイミングで撮像を行う。ただし、照明部４０１は周囲の環境による光源に限るものではなく、例えばロボットの胴体部や頭などに光源を取り付け、照明部として用いてもよい。
【００９０】
アーム制御部４１２は、ロボットアーム４１０およびハンド４１１の制御を行うとともに、アームの回転運動や大きな平行移動を行った時に画像入力部４０４に制御信号を送って撮像部４０２に撮像させる。またアーム制御部は欠陥検出部４０７から分類結果を受け取り、欠陥の有無や欠陥の種類に応じて対象物体４２００を移動する先を決定してロボットアーム４１０およびハンド４１１を制御する。アーム制御部４１２への指示はマニピュレータを用いてユーザが行ってもよいし、３Ｄスキャナなどの計測装置を用いて計測した結果に基づいて、把持プランニングやパスプランニングを行った結果を用いてもよい。
【００９１】
画像処理部４０６は、画像入力部４０４から画像列を受け取り、対象物体４２００が同じ画素位置になるように位置合わせを行う。画素位置対応がとれた画像列を得た後の処理および、欠陥検出部４０７の処理は第３の実施形態と同様であるため省略する。
【００９２】
欠陥検出部４０７は、分類結果をアーム制御部４１２に送る。
【００９３】
［欠陥検査把持処理］
図１６のフローチャートにより第４の実施形態の欠陥検査把持アーム４０００の処理の流れを説明する。
【００９４】
（ステップＳ４１１０）
ステップＳ４１１０では、初期化処理が実行される。初期化処理には、撮像部４０２の起動、ロボットアーム４１０およびハンド４１１の起動、アーム制御部４１２が動作を読み込む処理などが含まれる。
【００９５】
（ステップＳ４１２０）
ステップＳ４１２０では、初期化が終了すると、ロボットアーム４１０およびハンド４１１によって対象物体４２００が把持された後、移動を開始する。撮像部４０２は回転運動等によって対象物体４２００の姿勢が変化して、周囲の環境から照らされる方向が変化したタイミングで撮像を行う。得られた撮像画像は画像処理部４０６に送られる。
【００９６】
ステップＳ４１３０からステップＳ４１６０までの処理は、図１３（第３の実施形態）のステップＳ３１３０からステップＳ３１６０の処理と同様であるため、説明を省略する。
【００９７】
（ステップＳ４１７０）
ステップＳ４１７０では、対象物体４２００の異常の有無および欠陥の種類が判別されると、アーム制御部４１２は欠陥の種類に基づいて移動先を変更する。
【００９８】
上記に述べた構成で、ロボットアームで対象物体を把持して移動する際に、移動によって周囲の光源から対象物体への照明が変化する様子を撮像し、第３の実施形態と同様の欠陥検出を行うことによって、把持移動と同時に異常状態の有無および欠陥の種類を判別して、その結果に基づいて移動先を変更するなどの仕分けを行うことができる。
【００９９】
第１〜４の実施形態では、いずれも異なる照明状態の対象物体を時系列で撮像していたが、これに限るものではない。例えば、異なる波長の光源を別々の方向から対象物体に当てて撮像した画像に対して、波長ごとに分離する処理を行うことによって、１回の撮像で異なる照明状態の画像を複数生成して欠陥検出を行ってもよい。
【０１００】
また、第１〜４の実施形態では、いずれも撮像部と対象物体は相対的な位置が固定されるようにして撮像していたが、これに限るものではない。例えば、異なる視点における画像間において、対応する対象物体の画素をトラッキング等によって求めることによって、画素の対応関係を求めた上で欠陥検出を行ってもよい。
【０１０１】
また、第１〜４の実施形態では、いずれも照明部の光源色について特に限定しなかったが、例えば撮像部でRGBの３チャネルを撮像できる場合、照明部はR、G、Bそれぞれの色の光源を３方向から同時に照射することで、１枚の撮像画像から色チャネルごとに異なる照明状態を取得してもよい。
【０１０２】
また、第３実施形態の一つとして、ベルトコンベアに撮像部が載せられて対象物体と一緒に移動しながら計測を行う例について述べたが、照明部からの照明が撮像部によって遮られて対象物体に影が落ちることが無いようなタイミングで撮像を行うようにしてもよい。
【０１０３】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。
【０１０４】
即ち、上述した各実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【０１０５】
このプログラム及び当該プログラムを記憶したコンピュータ読み取り可能な記憶媒体は、本発明に含まれる。
【図１】
0006576059.tif 000006
【図２】
0006576059.tif 000007
【図３】
0006576059.tif 000008
【図４】
0006576059.tif 000009
【図５】
0006576059.tif 000010
【図６】
0006576059.tif 000011
【図７】
0006576059.tif 000012
【図８】
0006576059.tif 000013
【図９】
0006576059.tif 000014
【図１０】
0006576059.tif 000015
【図１１】
0006576059.tif 000016
【図１２】
0006576059.tif 000017
【図１３】
0006576059.tif 000018
【図１４】
0006576059.tif 000019
【図１５】
0006576059.tif 000020
【図１６】
0006576059.tif 000021
【図１７】
0006576059.tif 000022