(57)【要約】【課題】類似したモデル画像が登録されている場合であっても、検査対象物の種別を正確に判別することができる画像処理装置、画像処理方法、および画像処理プログラムを提供することである。【解決手段】画像処理装置１００は、互いに異なる種別に属する複数の基準対象物のモデル画像から得られた特徴量を保持するハードウェア１１４と、各対象物のモデル画像内において他の対象物とは異なる特徴量を示す領域である非共通領域を決定する領域決定モジュール１５２と、各対象物の特徴量のうち当該対象物の非共通領域に対応する特徴量を用いて、入力画像に含まれる対象物がいずれの種別に属するかを判別する判別モジュール１５４とを備える。【選択図】図６
2015176272.tif 000002
【特許請求の範囲】
【請求項１】
互いに異なる種別に属する複数の基準対象物のモデル画像から得られた特徴量を保持する記憶手段と、
各対象物のモデル画像内において他の対象物とは異なる特徴量を示す領域である非共通領域を決定する領域決定手段と、
各対象物の特徴量のうち当該対象物の非共通領域に対応する特徴量を用いて、入力画像に含まれる対象物がいずれの種別に属するかを判別する判別手段とを備える、画像処理装置。
【請求項２】
前記判別手段は、各基準対象物の非共通領域に対応する特徴量を用いて前記入力画像に対してマッチング処理を行なうとともに、当該マッチング処理の結果得られるスコアが他の基準対象物に比較して高い基準対象物を特定する、請求項１に記載の画像処理装置。
【請求項３】
前記画像処理装置は、複数の前記モデル画像のうちの少なくとも１つのモデル画像の非共通領域に対して、前記判別手段の判別処理に用いる領域と、当該判別処理に用いない領域とを設定するための設定手段をさらに備える、請求項１または２に記載の画像処理装置。
【請求項４】
前記判別手段は、複数の前記モデル画像の間で特異な非共通領域におけるマッチング処理の結果ほど種別の判別結果に与える影響を大きくする、請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
前記判別手段は、前記モデル画像の非共通領域の部分ごとに前記入力画像とマッチング処理を行ない、当該非共通領域の各部分のマッチング処理の結果を用いて前記スコアを算出する、請求項２〜４のいずれか１項に記載の画像処理装置。
【請求項６】
前記画像処理装置は、前記モデル画像のうちのいずれかのモデル画像についての非共通領域に対する前記マッチング処理の結果を識別可能な態様で表示するための表示手段をさらに備える、請求項１〜５のいずれか１項に記載の画像処理装置。
【請求項７】
前記表示手段は、複数の前記モデル画像のうちのいずれかのモデル画像に重ねて、当該モデル画像の非共通領域に対するマッチング処理の結果を表示する、請求項１〜６のいずれか１項に記載の画像処理装置。
【請求項８】
前記表示手段は、前記入力画像との類似度が相対的に高いマッチング処理の結果と、前記入力画像との類似度が相対的に低いマッチング処理の結果とを異なる態様で表示する、請求項１〜７のいずれか１項に記載の画像処理装置。
【請求項９】
前記表示手段は、複数の前記モデル画像のうちのいずれかのモデル画像に重ねて、当該モデル画像における非共通領域を識別可能な態様で表示する、請求項１〜８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記非共通領域は、当該非共通領域において対象物が含まれる対象物領域を含み、
前記表示手段は、複数の前記モデル画像のうちのいずれかのモデル画像に重ねて、当該モデル画像の非共通領域に含まれる前記対象物領域を識別可能な態様で表示する、請求項１〜９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記非共通領域は、当該非共通領域において対象物が含まれない非対象物領域をさらに含み、
前記表示手段は、複数の前記モデル画像のうちのいずれかのモデル画像に重ねて、当該モデル画像の非共通領域に含まれる対象物領域と、当該モデル画像の非共通領域に含まれる非対象物領域とを異なる態様で表示する、請求項１０に記載の画像処理装置。
【請求項１２】
互いに異なる種別に属する複数の基準対象物のモデル画像から得られた特徴量を保持するステップと、
各対象物のモデル画像内において他の対象物とは異なる特徴量を示す領域である非共通領域を決定するステップと、
各対象物の特徴量のうち当該対象物の非共通領域に対応する特徴量を用いて、入力画像に含まれる対象物がいずれの種別に属するかを判別するステップとを備える、画像処理方法。
【請求項１３】
画像処理プログラムであって、
前記画像処理プログラムは、コンピュータに、
互いに異なる種別に属する複数の基準対象物のモデル画像から得られた特徴量を保持するステップと、
各対象物のモデル画像内において他の対象物とは異なる特徴量を示す領域である非共通領域を決定するステップと、
各対象物の特徴量のうち当該対象物の非共通領域に対応する特徴量を用いて、入力画像に含まれる対象物がいずれの種別に属するかを判別するステップとを実行させる、画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検査対象物の種別を判別することが可能な画像処理装置、画像処理方法、および画像処理プログラムに関する。
【背景技術】
【０００２】
近年、ＦＡ（Factory  Automation）の分野においては、ワークなどの検査対象物を撮像し、検査対象物の種別を判別するための画像処理技術が開発されている。たとえば、特開２００９−１１６３８５号公報（特許文献１）は、類似するモデル画像が登録されている場合であっても、正しく識別を行うことが可能な画像識別装置を開示している。当該画像識別装置は、類似するモデル画像間で相関値が低い特徴点の情報を用いて判別を行なう。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１１６３８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、検査対象物が、類似する形状を有する複数の品種のいずれに属するかを判別（以下「品種判別」とも称す。）する場合には、検査対象物のいずれの部分を用いて判別処理が行なわれたのかを知ることが重要である。なぜならば、ユーザが、判別処理に用いられた検査対象物の部分を視認することができれば、判別結果が良くない場合などに、その原因を突き止めることができるからである。
【０００５】
ここで、特許文献１が開示する技術は、類似するモデル画像の情報を全て用いて判別処理を行なう。このため、当該技術は、判別に適していないような情報も含んで判別処理を行なう可能性がある。これにより、判別処理の精度が低下する可能性がある。したがって、検査対象物の種別の判別処理に適した部分の情報を用いて判別処理を行なうことが可能な画像処理装置が望まれている。
【課題を解決するための手段】
【０００６】
一実施の形態に従うと、画像処理装置は、互いに異なる種別に属する複数の基準対象物のモデル画像から得られた特徴量を保持する記憶手段と、各対象物のモデル画像内において他の対象物とは異なる特徴量を示す領域である非共通領域を決定する領域決定手段と、各対象物の特徴量のうち当該対象物の非共通領域に対応する特徴量を用いて、入力画像に含まれる対象物がいずれの種別に属するかを判別する判別手段とを備える。
【０００７】
好ましくは、判別手段は、各基準対象物の非共通領域に対応する特徴量を用いて入力画像に対してマッチング処理を行なうとともに、当該マッチング処理の結果得られるスコアが他の基準対象物に比較して高い基準対象物を特定する。
【０００８】
好ましくは、画像処理装置は、複数のモデル画像のうちの少なくとも１つのモデル画像の非共通領域に対して、判別手段の判別処理に用いる領域と、当該判別処理に用いない領域とを設定するための設定手段をさらに備える。
【０００９】
好ましくは、判別手段は、複数のモデル画像の間で特異な非共通領域におけるマッチング処理の結果ほど種別の判別結果に与える影響を大きくする。
【００１０】
好ましくは、判別手段は、モデル画像の非共通領域の部分ごとに入力画像とマッチング処理を行ない、当該非共通領域の各部分のマッチング処理の結果を用いてスコアを算出する。
【００１１】
好ましくは、画像処理装置は、モデル画像のうちのいずれかのモデル画像についての非共通領域に対するマッチング処理の結果を識別可能な態様で表示するための表示手段をさらに備える。
【００１２】
好ましくは、表示手段は、複数のモデル画像のうちのいずれかのモデル画像に重ねて、当該モデル画像の非共通領域に対するマッチング処理の結果を表示する。
【００１３】
好ましくは、表示手段は、入力画像との類似度が相対的に高いマッチング処理の結果と、入力画像との類似度が相対的に低いマッチング処理の結果とを異なる態様で表示する。
【００１４】
好ましくは、表示手段は、複数のモデル画像のうちのいずれかのモデル画像に重ねて、当該モデル画像における非共通領域を識別可能な態様で表示する。
【００１５】
好ましくは、非共通領域は、当該非共通領域において対象物が含まれる対象物領域を含む。表示手段は、複数のモデル画像のうちのいずれかのモデル画像に重ねて、当該モデル画像の非共通領域に含まれる対象物領域を識別可能な態様で表示する。
【００１６】
好ましくは、非共通領域は、当該非共通領域において対象物が含まれない非対象物領域をさらに含む。表示手段は、複数のモデル画像のうちのいずれかのモデル画像に重ねて、当該モデル画像の非共通領域に含まれる対象物領域と、当該モデル画像の非共通領域に含まれる非対象物領域とを異なる態様で表示する。
【００１７】
他の実施の形態に従うと、画像処理方法は、互いに異なる種別に属する複数の基準対象物のモデル画像から得られた特徴量を保持するステップと、各対象物のモデル画像内において他の対象物とは異なる特徴量を示す領域である非共通領域を決定するステップと、各対象物の特徴量のうち当該対象物の非共通領域に対応する特徴量を用いて、入力画像に含まれる対象物がいずれの種別に属するかを判別するステップとを備える。
【００１８】
さらに他の実施の形態に従うと、画像処理プログラムが提供される。画像処理プログラムは、コンピュータに、互いに異なる種別に属する複数の基準対象物のモデル画像から得られた特徴量を保持するステップと、各対象物のモデル画像内において他の対象物とは異なる特徴量を示す領域である非共通領域を決定するステップと、各対象物の特徴量のうち当該対象物の非共通領域に対応する特徴量を用いて、入力画像に含まれる対象物がいずれの種別に属するかを判別するステップとを実行させる。
【発明の効果】
【００１９】
本発明によれば、類似したモデル画像が登録されている場合であっても、検査対象物の種別を正確に判別することができる。
【図面の簡単な説明】
【００２０】
【図１】第１の実施の形態に従う画像処理装置を含むシステムの構成を示す模式図である。
【図２】本発明の従来技術およびその課題について説明するための図である。
【図３】第１の実施の形態に従う画像処理装置が２つのモデル画像間でワークの形状が異なる領域を抽出している様子を示した概念図である。
【図４】第１の実施の形態に従う画像処理装置の判別処理の概要を示した概念図である。
【図５】第１の実施の形態に従う画像処理装置のハードウェア構成を示す模式図である。
【図６】第１の実施の形態に従う画像処理装置の機能構成を示す模式図である。
【図７】モデル画像を登録するための登録画面の一例を示した図である。
【図８】モデル画像を登録するための登録画面の一例を示した図である。
【図９】被検査対象のワークに対する種別の判別結果を表示する結果表示画面の一例を示した図である。
【図１０】被検査対象のワークに対する種別の判別結果を表示する結果表示画面の変形例を示した図である。
【図１１】被検査対象のワークに対する種別の判別結果を表示する結果表示画面の他の変形例を示した図である。
【図１２】モデル画像の登録処理のフローチャートを示す図である。
【図１３】モデル画像と入力画像との判別処理のフローチャートを示す図である。
【図１４】第２の実施の形態に従う画像処理装置が２つのモデル画像間でワークの形状が異なる領域を抽出している様子を示した概念図である。
【図１５】第２の実施の形態に従う画像処理装置の判別処理の概要を示した概念図である。
【図１６】第３の実施の形態に従う画像処理装置が２つのモデル画像間でワークの形状が異なる領域を抽出している様子を示した概念図である。
【図１７】第３の実施の形態に従う画像処理装置の判別処理の概要を示した概念図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照しつつ、本実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態、および／または、各変形例は、選択的に組み合わされてもよい。
【００２２】
＜第１の実施の形態＞
［Ａ．システムの構成］
本実施の形態の画像処理装置は、各種のアプリケーションへの適用が可能であるが、一例として、検査対象物であるワークが、複数の種別のうちのいずれの種別に属するかを判別するとともに、判別したワークの種別に応じて、ロボットがワークに対して何らかの作用を与えるようなアプリケーションについて説明する。
【００２３】
図１は、本実施の形態の画像処理装置１００を含むシステム１の構成を示す模式図である。図１を参照して、システム１は、主として、画像処理装置１００と、ロボットコントローラ２００と、ロボット３００とを含む。システム１は、撮像部８を用いてコンベア１０上の一部の領域を撮像するとともに、当該撮像によって得られた画像（以下「入力画像」とも称す。）を処理することで、コンベア１０上を搬送される検査対象物であるワークの位置および種別を特定し、特定した位置および種別の情報に基づいて、予め定められた位置でワークを把持して、ワークの種別に応じた位置にワークを移動させる。たとえば、コンベア１０には２種類の種別のワーク（すなわち、ワーク２Ａおよびワーク２Ｂ）が流れており、画像処理装置１００は、コンベア１０に流れているワークの種別を判別する。ロボット３００は、判別されたワークの種別に応じて、ワーク２Ａを箱３Ａに、ワーク２Ｂを箱３Ｂに移動させる。
【００２４】
より具体的には、画像処理装置１００は、撮像部８からの入力画像に対して、以下に詳述するような画像処理を実行し、その画像処理の実行結果から得られる位置情報（または、移動指令）および種別情報をロボットコントローラ２００へ出力する。ロボットコントローラ２００は、画像処理装置１００からの情報に従って、駆動指令を与えることで、ロボット３００を駆動する。典型的には、ロボット３００は、可動軸毎にサーボモータを有しており、ロボットコントローラ２００は、軸毎に計算される移動量に相当する数のパルスを含むパルス信号を出力する。
【００２５】
このように、ロボット３００がワークを種別ごとに分別することで、たとえば、複数の品種のワークをラインに流したと場合であっても自動で品種を分別することが可能になる。これにより、システム１は、品種ごとの箱詰め作業などを自動化することができる。
【００２６】
図１に示すような、ワークを種別ごとに分別するシステムの他、ワークに対する操作や加工を行なうようなシステムにも応用可能である。例えば、ワークの種別ごとに、切断位置、穴あけ位置、研磨位置、印刷位置、塗装位置などを予め登録しておけば、画像処理装置１００は、ワークの種別に応じて、登録されている情報に応じた処理を実行することができる。
【００２７】
［Ｂ．従来技術およびその課題］
本実施の形態の画像処理装置および画像処理方法について理解を深めるために、従来技術およびその課題について概略する。
【００２８】
図２は、本発明の従来技術およびその課題について説明するための図である。図２に示すように、品種１（ワーク２Ａ）を被写体として撮影して得られたモデル画像３０Ａと、品種１に形状が類似する品種２（ワーク２Ｂ）を被写体として撮影して得られたモデル画像３０Ｂとが登録されている。そして、品種１を被写体として撮影して得られた入力画像３１が入力される。従来技術では、登録されている各モデル画像と入力画像とを用いてマッチング処理を実行する。このとき、従来技術に従う画像処理装置のマッチング処理では、モデル画像３０Ａの画像情報とモデル画像３０Ｂの画像情報とは、ほとんどの部分で一致しているので、入力画像に対するそれぞれの類似度がほぼ同じになってしまう。このため、類似するモデル画像が登録されている場合には、品種の判別を誤る可能性が高くなる。
【００２９】
また、他の判別手法として、線形判別分析がある。線形判別分析とは、品種ごとに予め用意された多数のモデル画像から特徴量を抽出し、抽出した特徴量を基に、モデル画像を品種ごとに最適に分別できる判別空間を生成する手法である。しかし、この手法には、適切な判別空間を生成するために、新たな品種を登録するたびに十分な数のモデル画像を用意する必要があり実用的ではない。また、線形判別分析では、ユーザが判別に用いられたモデル画像上の領域を把握することができないため、判別結果が得られたとしても、ユーザは、どの部分の画像情報を用いて判別処理が行なわれたのかを理解することができない。
【００３０】
本実施の形態の画像処理装置および画像処理方法は、類似するモデル画像が登録されている場合であっても、モデル画像上の判別に適した部分に対するマッチング結果をユーザにわかりやすい態様で表示する。これにより、ユーザは、モデル画像上のどの部分の情報を用いて判別したのかを一見して確認できるようになる。
【００３１】
［Ｃ．概要］
類似する形状を有する複数の品種のいずれに属するかを、判別する場合には、登録されているワーク間で形状が異なる部分のマッチング結果をワークの判別に用いることができる。なぜならば、ワーク間で形状が異なる部分は、ワークの種別を判別するための有力な情報になり得るからである。これは、人が、ワークの種別を判別する場合に、ワーク間の形状が異なる部分を手掛かりにワークの種別を判断することからも明らかである。この点に着目して、本実施の形態に従う画像処理装置１００は、ワーク間で形状が異なる部分に対して入力画像とマッチング処理を行なう。
【００３２】
以下、画像処理装置１００が実行する画像処理の概要について説明する。画像処理装置１００は、モデル画像を登録するための登録モードと、入力画像に含まれる検査対象のワークの種別を判別するための判別モードとを有する。まず、図３を参照して、モデル画像の登録処理について説明する。図３は、画像処理装置１００が２つのモデル画像間でワークの形状が異なる領域を抽出している様子を示した概念図である。
【００３３】
ユーザが、品種１（ワーク２Ａ）に属する対象物を被写体とするモデル画像３０Ａと、品種２（ワーク２Ｂ）に属する対象物を被写体とするモデル画像３０Ｂとを登録する操作を行なう。ユーザの操作に基づいて、画像処理装置１００は、モデル画像３０Ａとモデル画像３０Ｂとからそれぞれ特徴量を抽出する。画像処理装置１００は、抽出したそれぞれの特徴量に基づいて、品種１に属するワーク２Ａと品種２に属するワーク２Ｂとの間で互いに異なる形状を有する領域（以下、「非共通領域」とも称す。）を決定する。典型的には、画像処理装置１００は、モデル画像間でエッジが異なる領域を非共通領域とする。なお、非共通領域は、エッジが異なる領域に限定されるわけではなく、モデル画像間で特徴量が異なる領域であればよい。画像処理装置１００は、モデル画像として、モデル画像３０Ａおよびモデル画像３０Ｂを記憶すると共に、それぞれのモデル画像についての非共通領域を記憶する。
【００３４】
次に、図４を参照して、画像処理装置１００の判別処理について説明する。図４は、画像処理装置１００の判別処理の概要を示した概念図である。
【００３５】
図４に示すように、画像処理装置１００は、モデル画像３０Ａの非共通領域と、当該非共通領域に対応する入力画像の領域とをマッチングする。また、画像処理装置１００は、モデル画像３０Ｂの非共通領域と、当該非共通領域に対応する入力画像の領域とをマッチングする。
【００３６】
マッチング処理の一例として、画像処理装置１００は、モデル画像の非共通領域の部分ごとに入力画像とマッチング処理を行なう。より具体的には、画像処理装置１００は、モデル画像の非共通領域の部分ごとに、当該部分と類似度の高い入力画像内の領域を探索する。画像処理装置１００は、非共通領域の各部分のうち、入力画像との類似度が高い部分については入力画像と一致したとみなす。すなわち、当該部分は、照合できた部分としてみなされる（図４の「●」）。また、画像処理装置１００は、非共通領域の各部分のうち、入力画像との類似度が低い部分については入力画像と一致したとみなさない。すなわち、当該部分は、照合できない部分としてみなされる（図４の「×」）。
【００３７】
マッチングが完了すると、画像処理装置１００は、各々のモデル画像のマッチング結果を用いて検査対象のワークの種別の判別を行なうとともに、モデル画像の非共通領域における各部分に対するマッチング処理の結果を表示する。典型的には、マッチング処理の結果は、モデル画像に重ねて表示される。より具体的には、画像処理装置１００は、非共通領域において、マッチングできた部分とマッチングできなかった部分とを異なる態様で表示する（図４の「●」および「×」）。これにより、類似するモデル画像が登録されている場合であっても、画像処理装置１００は、非共通領域についてのマッチング結果を表示することで、種別の判別に適した部分に対するマッチング結果をユーザに提示ことができる。
【００３８】
また、画像処理装置１００は、モデル画像の非共通領域の各部分について入力画像とマッチング処理を行ない、当該非共通領域の各部分のマッチング結果を用いて判別結果を出力する。一例として、画像処理装置１００は、判別結果として判別スコアを算出する。判別スコアは、非共通領域の各部分のうち入力画像との類似度が高い部分が多いほど高くなる。また、判別スコアの値は、非共通領域の各部分のうち入力画像との類似度が低い部分が少ないほど低くなる。典型的には、判別スコアは、非共通領域に含まれる画素数に対する、マッチングに成功した画素の数の割合で示される。画像処理装置１００は、非共通領域におけるマッチング結果を用いて品種の判別を行なうことにより、類似するモデル画像が登録された場合であっても、被測定物のワークの種別を正確に判別ことが可能になる。
【００３９】
なお、非共通「領域」は、複数の点（画素）の集合とみなすこともできる。以下では、説明の便宜上、主として「領域」を決定または特定する処理について説明するが、これに限られることなく、各「点」（すなわち、複数の画素の集合）を特定または検出することが可能である。
【００４０】
［Ｄ．画像処理装置１００のハードウェア構成］
図５は、本実施の形態の画像処理装置１００のハードウェア構成を示す模式図である。図５を参照して、画像処理装置１００は、典型的には、汎用的なコンピュータアーキテクチャに従う構造を有しており、予めインストールされたプログラムをプロセッサが実行することで、後述するような各種の画像処理を実現する。
【００４１】
より具体的には、画像処理装置１００は、表示部１０２と、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro-Processing  Unit）などのプロセッサ１１０と、主メモリ１１２と、ハードディスク１１４と、カメラインターフェイス１２０と、ロボットインターフェイス１２２と、ネットワークインターフェイス１２４と、メモリカードインターフェイス１２６とを含む。これらの各部は、内部バス１０４を介して互いにデータ通信可能に接続される。
【００４２】
プロセッサ１１０は、ハードディスク１１４に格納された画像処理プログラム１１６を読み出して、主メモリ１１２に展開して実行することで、本実施の形態の画像処理を実現する。表示部１０２には、画像処理の実行に伴う各種情報が表示される。また、画像処理の実行結果の一部または全部は、ロボットインターフェイス１２２を通じて、ロボットコントローラ２００へ出力されてもよい。
【００４３】
画像処理プログラム１１６は、例えば、メモリカード１０６などに格納された状態で流通する。この場合、メモリカードインターフェイス１２６を通じてメモリカード１０６に格納された画像処理プログラム１１６が読み出されて、ハードディスク１１４へインストールされる。あるいは、画像処理プログラム１１６は、ネットワークインターフェイス１２４を通じて、外部サーバから配信されるように構成してもよい。
【００４４】
汎用的なコンピュータアーキテクチャに従う構造を有する画像処理装置１００を利用する場合には、コンピュータの基本的な機能を提供するためのＯＳ（Operating  System）がインストールされていてもよい。この場合には、画像処理プログラム１１６は、ＯＳの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の順序および／またはタイミングで呼出して処理を実行するものであってもよい。すなわち、本実施の形態の画像処理に必要なモジュールのすべてが画像処理プログラム１１６に含まれていなくともよく、必要なモジュールの一部がＯＳから提供されるような形態であってもよい。さらに、本実施の形態の画像処理プログラム１１６は、他のプログラムの一部に組み込まれて提供されるものであってもよい。
【００４５】
カメラインターフェイス１２０は、撮像部８による撮像によって得られる入力画像を受け付ける。撮像部８は、典型的には、レンズなどの光学系に加えて、ＣＣＤ（Coupled  Charged  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）センサといった撮像素子を含んで構成される。図１には、画像処理装置１００とは別に撮像部８が設けられ、撮像部８から画像処理の対象となる入力画像が提供される構成例を示すが、この構成に限られるものではない。例えば、画像処理装置１００と撮像部８とを一体的に構成し、撮像によって生成される入力画像に対して直接的に画像処理を実行するようにしてもよい。あるいは、各種の記憶媒体または通信媒体を介して、画像処理の対象となる入力画像を画像処理装置１００へ与えるようにしてもよい。
【００４６】
代替的に、画像処理プログラム１１６の実行により提供される機能の一部または全部を専用のハードウェア回路として実装してもよい。
【００４７】
［Ｅ．画像処理装置１００の機能構成］
図６は、本実施の形態の画像処理装置１００の機能構成を示す模式図である。図６に示す各モジュールは、典型的には、プロセッサ１１０が画像処理プログラム１１６（いずれも図５）を実行することで実現される。
【００４８】
図６を参照して、画像処理装置１００は、その機能構成として、特徴量抽出モジュール１５０と、領域決定モジュール１５２と、判別モジュール１５４と、表示モジュール１５６と、設定モジュール１５８とを含む。但し、設定モジュール１５８については、オプショナルであり、必要に応じて設けられる。
【００４９】
特徴量抽出モジュール１５０は、基準対象物を撮像して得られたモデル画像に含まれる特徴量を抽出する。典型的には、特徴量抽出モジュール１５０は、モデル画像に対してエッジ抽出処理を行なうことで特徴量としてエッジを抽出する。抽出された特徴量の情報は、領域決定モジュール１５２に出力される。
【００５０】
領域決定モジュール１５２は、複数のモデル画像から抽出されたそれぞれの特徴量に基づいて、モデル画像に含まれる対象物の形状がモデル画像間で互いに異なる形状を有する領域を決定する。すなわち、複数のモデル画像の各々について、他のモデル画像とは異なる特徴量を示す領域である非共通領域をそれぞれ決定する。より具体的には、領域決定モジュール１５２は、各モデル画像を比較して、互いにエッジが非共通である領域を非共通領域として決定する。非共通領域は、たとえば、モデル画像上の座標情報として示される。領域決定モジュール１５２は、決定した非共通領域を表示モジュール１５６および判別モジュール１５４に出力する。
【００５１】
判別モジュール１５４は、各ワークの特徴量のうち当該ワークの非共通領域に対応する特徴量を用いて、入力画像に含まれる検査対象のワークがいずれの種別に属するかを判別する。より具体的には、判別モジュール１５４は、登録対象の各ワークの非共通領域に対応する特徴量を用いて入力画像に対してマッチング処理を行なうとともに、当該マッチング処理の結果得られる判別スコアが他の登録対象のワークに比較して高い基準対象物を特定する。判別モジュール１５４が実行するマッチング方法としては、モデル画像の非共通領域および入力画像から抽出した特徴量をマッチングする手法であればいずれであってもよい。たとえば、マッチング手法としては、非共通領域から抽出した特徴量（エッジ、エッジコードなど）を用いて、入力画像と相関が高い領域を探索する方法、テンプレートマッチング、その他のマッチング方法などが挙げられる。
【００５２】
また、判別モジュール１５４は、モデル画像の非共通領域におけるマッチング結果を用いて、入力画像に含まれるワークが、登録されている複数のワークの種別のいずれに類似するかを判別する。典型的には、判別モジュール１５４は、モデル画像の非共通領域におけるマッチング結果を用いて、入力画像に含まれるワークがいずれの種別に属するかを判別するための判別スコアを算出し、判別スコアでワークの品種を判別する。判別モジュール１５４の詳細については後述する。
【００５３】
表示モジュール１５６は、入力画像に対して行われたマッチング処理の結果をモデル画像の非共通領域に表示する。典型的には、表示モジュール１５６は、モデル画像に重ねてマッチング結果を表示する。表示モジュール１５６のマッチング結果の表示方法についての詳細は後述する。
【００５４】
設定モジュール１５８は、モデル画像の非共通領域に対して、判別モジュール１５４の判別処理に用いる領域と、当該判別処理に用いない領域とを設定する。設定モジュール１５８の詳細については後述する。
【００５５】
［Ｆ．登録処理の詳細］
（Ｆ１．領域決定モジュール１５２の詳細）
図７を参照して、モデル画像の登録処理の詳細について説明するとともに、領域決定モジュール１５２が決定した非共通領域の表示態様について説明する。図７は、モデル画像を登録するための登録画面の一例を示した図である。
【００５６】
画像処理装置１００は、ユーザがモデル画像を登録する場合に、領域決定モジュール１５２によって決定された非共通領域を確認できるように、当該非共通領域をユーザが識別できる態様で表示する。ユーザが非共通領域を視認できれば、モデル画像のいずれの領域のマッチング結果を用いてワークの種別を判別しているのかを一見して確認できるようになる。
【００５７】
以下、図７を参照しながら、モデル画像の非共通領域を表示するための処理手順について説明する。画像処理装置１００には、モデル画像およびモデル画像３０Ｂが登録されている。ユーザは、モデル登録タグ４０２（図７の斜線部分）を選択した場合、モデル画像に対する非共通領域を登録または編集することができる。
【００５８】
ユーザが、モデル登録画面４００Ａの実行ボタン４１２をマウス操作などで選択すると、領域決定モジュール１５２は、現在登録されているモデル画像３０Ａおよびモデル画像３０Ｂを比較して、それぞれのモデル画像について非共通領域を決定する。典型的には、領域決定モジュール１５２は、画像に含まれるワークのエッジの位置が互いに合うように、モデル画像３０Ａおよびモデル画像３０Ｂを位置合わせする。領域決定モジュール１５２は、位置合わせしたモデル画像からエッジ部分が異なる領域（すなわち、非共通領域）を各々のモデル画像について特定する。
【００５９】
また、ユーザが、モデル画像の各々について決定された非共通領域を確認したい場合には、モデル画像一覧４２５に表示されているモデル画像を選択することで、選択したモデル画像の非共通領域を視覚的に確認することができる。たとえば、モデル画像一覧４２５に表示されているモデル画像３０Ａが選択された場合には、表示モジュール１５６は、モデル画像３０Ａを表示領域４２０に表示するとともに、モデル画像３０Ａの非共通領域を識別可能な態様で表示する（図７の「○」）。表示モジュール１５６は、ユーザによって選択されたモデル画像に対する非共通領域を表示することにより、ユーザは、モデル画像の非共通領域を適宜切り替えて確認することが可能になる。
【００６０】
また、ユーザがモデル登録画面４００Ａの登録ボタン４１３を選択すると、画像処理装置１００は、モデル画像と、モデル画像上の非共通領域の位置を示す座標情報とを対応付けて、ハードディスク１１４などの記憶装置に格納する。
【００６１】
なお、ユーザは、登録条件４１０に各種の値を設定することで、領域決定モジュール１５２がエッジと見なす領域を調整することができる。たとえば、エッジと見なす領域の調整方法としては、エッジ強度を数値で指定する方法、スライドバーをスライドさせることでエッジ強度を指定する方法、予め定められた複数のレベルに応じてエッジ強度を指定する方法などが挙げられる。領域決定モジュール１５２は、モデル画像に対して実行したエッジ抽出処理を行ない、設定されたエッジ強度よりも高い領域をエッジ領域と見なし、設定されたエッジ強度よりも低い領域を非エッジ領域としてみなす。
【００６２】
また、図７の表示領域４２０には、非共通領域が「○」で示されているが非共通領域の表示態様はこれに限定されるわけではなく、ユーザが非表示領域を識別できる態様であればいずれでもよい。たとえば、非共通領域は、三角形などの他の図形で表示されてもよいし、エッジ上に色を付して表示されてもよい。
【００６３】
さらに、非共通領域は、必ずしも登録処理時において特定される必要は無く、以下で説明する、判別処理時において特定されてもよい。
【００６４】
（Ｆ２．設定モジュール１５８の詳細）
図８を参照して、設定モジュール１５８の処理の詳細を説明する。図８は、モデル画像を登録するための登録画面の一例を示した図である。
【００６５】
ユーザは、非共通領域に対して、ワークの種別の判別処理に用いる領域と、用いない領域とを設定することができる。これにより、画像処理装置１００は、判別処理に適さない領域を除外することができ、判別処理の精度を向上させることができる。
【００６６】
以下では、モデル画像の非共通領域に対して、判別処理に用いる領域と、判別処理に用いない領域とを設定するための処理手順について説明する。ユーザは、モデル登録画面４００Ａの表示領域４２０に表示されている非共通領域（図８の「○」）に対して、判別処理に適さない領域を指定することができる。一例として、表示領域４２０には、モデル画像３０Ｂに対する非共通領域が表示されており、ユーザは、マウスなどでカーソル４２４を操作することにより、非共通領域に対して領域指定（点線４２２）を行なう。図８においては、判別処理に用いない領域が「×」で示されている。ユーザが非共通領域に対して領域指定を行なった後に、登録ボタン４１３が選択されると、画像処理装置１００は、モデル画像と、モデル画像上の非共通領域の位置を示す座標情報と、ユーザにより指定された非共通領域上の位置を示す座標情報とを対応付けて、ハードディスク１１４などの記憶装置に格納する。
【００６７】
なお、上記では、判別処理に用いない領域をカーソルで指定する例を挙げて説明したが、領域の指定方法はこれに限定されるわけではなく、領域の指定方法は、非共通領域に対して領域を設定することが可能な方法であればいずれであってもよい。たとえば、画像処理装置１００がタッチパネルとして構成される場合には、タッチパネルに対するユーザの操作で領域を指定できるように構成されてもよいし、非共通領域に含まれる画素を個々に指定できるように構成されてもよい。
【００６８】
また、図８には、判別処理に用いない領域を「×」で示されているが、当該領域の表示態様はこれに限定されるわけではなく、判別処理に用いる領域と用いない領域とを異なる態様で表示されるのであればいずれでもよい。たとえば、画像処理装置１００は、判別処理に用いる領域と用いない領域との色を異ならせて表示してもよいし、図形を異ならせて表示してもよい。
【００６９】
［Ｇ．判別処理の詳細］
（Ｇ１．判別モジュール１５４および表示モジュール１５６の詳細）
図９を参照して、判別結果の表示方法を説明するとともに、表示モジュール１５６および判別モジュール１５４の処理の詳細について説明する。図９は、被検査対象のワークに対する種別の判別結果を表示する結果表示画面４００Ｂの一例を示した図である。
【００７０】
画像処理装置１００は、入力画像とモデル画像とのマッチング処理を完了すると、結果一覧４５０に、入力画像に対する判別結果を、登録されているモデル画像の各々について判別スコアまたは類似度の順に並べて表示する。ここでいう類似度とは、非共通領域におけるマッチング結果だけでなく他の領域のマッチング結果を総合した結果である。すなわち、類似度は、モデル画像と入力画像との相対的な類似性を示す。登録されているモデル画像の各々についての算出された判別スコアおよび類似度の順に判別結果が表示されることで、ユーザは、検査対象のワークの種別を容易に認識できるようになる。
【００７１】
また、ユーザがチェックボックス４４０に対するチェックを切り替えることで、画像処理装置１００は、判別結果を、判別スコアの順に並べるのか、類似度の順に並べるのかを切り替える。これにより、ユーザは、表示結果の表示順を必要に応じて適宜切り替えることが可能になる。
【００７２】
また、ユーザが、特定の入力画像に対するマッチング結果を詳細に確認したい場合には、ユーザは、結果一覧４５０に表示されたモデル画像を選択することで、選択したモデル画像の非共通領域におけるマッチング結果を画面上で詳細に確認することができる。
【００７３】
一例として、表示領域４３０には、ユーザにより選択されたモデル画像３０Ｂに対するマッチング結果が示されている。図９に示すように、表示モジュール１５６は、モデル画像の非共通領域にマッチング結果を重ねて表示する。より具体的には、表示モジュール１５６は、入力画像との類似度が相対的に高いマッチング結果と、入力画像との類似度が相対的に低いマッチング結果とを異なる態様で表示する。たとえば、図９に示すように、類似度が相対的に高いと判断された領域が「○」で表示され、類似度が相対的に低いと判断された領域が「×」で表示される。
【００７４】
このように、非共通領域におけるマッチング結果を異なる態様で表示することで、ユーザは、判別結果に用いられた領域を一見して確認できるとともに、非共通領域のいずれの部分の判別結果が悪いのかまたは良いのかを直感的に理解することができる。
【００７５】
なお、図９では、非共通領域においてマッチング結果が良好な領域が「○」で示され、マッチング結果が良好でない領域が「×」で示されているが、当該領域の表示態様はこれに限定されるわけではなく、非共通領域におけるマッチング結果の良否を識別できる態様であればいずれであってもよい。たとえば、画像処理装置１００は、マッチング結果が良好な領域と、良好でない領域との色を異ならせて表示してもよいし、図形を異ならせて表示してもよい。
【００７６】
また、マッチング処理は、ラインに流れているワークの判別処理の時だけに実行されるだけでなく、モデル画像の登録処理の時において実行されてもよい。この場合、たとえば、ユーザは、ワークを撮影して得られたテスト画像を画像処理装置１００に入力し、画像処理装置１００は、入力されたテスト画像とモデル画像とをマッチングする。画像処理装置１００は、テスト画像に対してマッチングした結果を図９に示されるような態様で表示領域４３０に表示する。ユーザは、表示されたマッチング結果を見ながら、判別処理に適していない非共通領域の部分を特定し、上述した方法で、判別処理に用いない領域を設定する。このように、ユーザは、モデル画像とテスト画像とのマッチング結果に応じて判別処理に用いる領域と判別処理に用いない領域との選択を行なうことができるので、判別処理に悪影響を及ぼしている非共通領域のマッチング結果をより確実に除外することができる。
【００７７】
さらに、画像処理装置１００は、撮像部８がワークを撮影する度にマッチング処理を行ない、非共通領域におけるマッチング結果を表示領域４３０に順次表示するように構成されてもよい。さらに、画像処理装置１００は、登録されているモデル画像のうち、入力画像に１番類似すると判別されたモデル画像に対する結果を表示領域４３０に最初に表示してもよい。
【００７８】
さらに、図９においては、マッチング結果を登録画像に重ねて表示する例を挙げて説明したが、表示モジュール１５６は、マッチング結果を入力画像に重ねて表示してもよい。この場合、表示モジュール１５６は、非共通領域に対応する入力画像上の領域を特定し、特定した領域上にマッチング結果を表示する。
【００７９】
（Ｇ２．マッチング結果の表示方法の変形例１）
図１０を参照して、マッチング結果の表態態様の変形例について説明する。図１０は、被検査対象のワークに対する種別の判別結果を表示する結果表示画面４００Ｂの変形例を示した図である。表示モジュール１５６は、ユーザが判別スコアを視覚的に理解しやすいように判別スコアを図形で表示してもよい。たとえば、図１０の判別スコア領域４３２に示すように、表示モジュール１５６は、判別スコアを算出する式を図形（「○」および「×」）で表示する。
【００８０】
なお、図１０では、判別スコア領域４３２において判別スコアを示すための図形として、「○」および「×」が用いられているが、判別スコアの表示態様はこれに限定されるわけではなく、判別スコアの算出方法が視覚的に理解しやすい態様であればいずれであってもよい。たとえば、画像処理装置１００は、マッチング結果が良好な領域と、良好でない領域との色を異ならせる態様で判別スコアを表示してもよい。
【００８１】
（Ｇ３．マッチング結果の表示方法の変形例２）
図１１を参照して、マッチング結果の表態態様の他の変形例について説明する。図１１は、被検査対象のワークに対する種別の判別結果を表示する結果表示画面４００Ｂの他の変形例を示した図である。
【００８２】
画像処理装置１００は、品種を判別するためのスコアとして判別スコアを直接用いてよいが、判別スコアに類似度を合わせて算出した混合スコアを、品種を判別するための最終的なスコアとして用いてもよい。たとえば、判別モジュール１５４は、算出した判別スコアおよび類似度に所定の重み掛けて足し合わせて混合スコアを算出する。一例として、混合スコアは、以下の式（１）で示される。
【００８３】
混合スコア＝α×判別スコア＋（１−α）×類似度、０≦α≦１・・・式（１）
混合スコアを算出するための重みαは、ユーザ操作により適宜変更することができる。たとえば、ユーザは、スライドバー４６０を操作することにより重みαを、調整することができる。これにより、画像処理装置１００は、最終的な出力値として、品種間の相違点に敏感にするのか、ロバストにするのかをユーザの要望に合わせて決定することが可能になる。
【００８４】
また、算出された混合スコアは、判別スコアおよび類似度に並べて結果一覧４５０に表示される。混合スコアが並べて表示されることにより、ユーザは、判別スコアと類似度と混合スコアとの関係を一見して確認できるようになる。
【００８５】
また、ユーザがチェックボックス４４０に対するチェックを切り替えることで、画像処理装置１００は、判別結果を、判別スコアの順に並べるのか、類似度の順に並べるのか、混合スコアの順に並べるのかを切り替える。他にも、画像処理装置１００は、様々な情報に応じて、判別結果を並び替えられるように構成されてもよい。たとえば、画像処理装置１００は、ユーザのモデル画像に付されたＩＤ（Identification）の順に判別結果の表示を並び替えられるように構成されてもよい。これにより、ユーザは、表示結果の表示順を必要に応じて適宜切り替えることが可能になる。
【００８６】
なお、図１１には、混合スコアの重みを調整するための手段としてスライドバー４６０が示されているが、重みの調整方法はこれに限定されるわけではない。たとえば、結果表示画面４００Ｂは、混合スコアを算出するための重みをユーザが直接入力できるように構成されてもよいし、予め定められた複数のレベル（「高」、「中」、「低」など）からユーザが重みレベルを選択できるように構成されてもよい。
【００８７】
［Ｈ．画像処理装置１００の処理手順］
図１２および図１３を参照して、画像処理装置１００の制御構造について説明する。図１２および図１３に示す各ステップは、典型的には、プロセッサ１１０が画像処理プログラム１１６（いずれも図５）を実行することで実現される。基本的には、モデル登録処理の実行後、マッチング処理が実行されるが、この順序は問わない。１回のモデル登録処理でモデル情報を登録しておき、この登録されたモデル情報を共通に用いて、複数の入力画像に対して、マッチング処理をそれぞれ行なってもよい。他の局面において、処理の一部又は全部が、回路素子その他のハードウェアによって実行されてもよい。
【００８８】
（Ｈ１．登録処理フロー）
まず、図１２を参照しながら、モデル画像の登録処理手順について説明する。図１２は、モデル画像の登録処理のフローチャートを示す図である。図１２に示される各ステップは、画像処理装置１００の処理モードが登録モードの場合に実行される。
【００８９】
図１２を参照して、ステップＳ５１０において、プロセッサ１１０は、ワークを被写体として含むモデル画像を取得する。プロセッサ１１０は、他の装置で撮影して得られた画像を記憶した各種記録媒体からモデル画像を取得してもよい。ステップＳ５１２において、プロセッサ１１０は、特徴量抽出モジュール１５０として、モデル画像から特徴量を抽出する。典型的には、プロセッサ１１０は、モデル画像に対してエッジ抽出処理を実行することでモデル画像からエッジを抽出する。
【００９０】
ステップＳ５１４において、プロセッサ１１０は、領域決定モジュール１５２として、異なる品種に属するワーク間で互いに異なる形状を有する領域（すなわち、非共通領域）を決定する。典型的には、プロセッサ１１０は、異なる品種を含む各モデル画像を互いに比較して、画像上のエッジが異なる領域を非共通領域とする。ステップＳ５１６において、プロセッサ１１０は、表示モジュール１５６として、モデル画像に重ねて、ユーザが識別可能な態様で非共通領域を表示する。
【００９１】
ステップＳ５１８において、プロセッサ１１０は、設定モジュール１５８として、モデル画像の非共通領域に対して、判別処理に用いる領域と、判別処理に用いない領域との設定を受け付ける。典型的には、画像処理装置１００は、表示された非共通領域に対して判別処理に用いない領域をユーザによって指定できるように構成され、プロセッサ１１０は、指定された領域上に対応するモデル画像上の領域の情報を判別処理に用いない領域として設定する。ステップＳ５２０において、プロセッサ１１０は、モデル画像と非共通領域とを対応付けて格納する。なお、プロセッサ１１０は、マッチング処理に用いる情報として、モデル画像そのものを格納してもよいし、モデル画像から抽出した特徴量を格納してもよい。
【００９２】
（Ｈ２．判別処理フロー）
次に、図１３を参照しながら、非検査対象のワークに対する種別判別処理の手順について説明する。図１３は、モデル画像と入力画像との判別処理のフローチャートを示す図である。図１３に示される各ステップは、画像処理装置１００の処理モードが判別モードの場合に実行される。
【００９３】
図１３を参照して、ステップＳ５３０において、プロセッサ１１０は、撮像部８がコンベアに流れるワークを撮影したか否かを判断する。典型的には、プロセッサ１１０は、撮像部８から画像信号を受け付けた場合に、ワークが撮影されたと判断する。プロセッサ１１０は、撮像部８から画像信号が受け付けた場合（ステップＳ５３０においてＹＥＳ）、制御をステップＳ５３２に切り替える。そうでない場合には（ステップＳ５３０においてＮＯ）、プロセッサ１１０は、制御をステップＳ５４０に切り替える。
【００９４】
ステップＳ５３４において、プロセッサ１１０は、判別モジュール１５４として、登録されているモデル画像の各々について、当該モデル画像の非共通領域の特徴量を用いて、入力画像とのマッチング処理を実行する。また、プロセッサ１１０は、モデル画像の非共通領域におけるマッチング結果を用いて入力画像に含まれる被検査対象のワークの種別を判別する。ステップＳ５３６において、プロセッサ１１０は、表示モジュール１５６として、被検査対象のワークの判別結果を表示する。
【００９５】
ステップＳ５４０において、プロセッサ１１０は、本実施の形態に従う画像処理を終了するか否かを判断する。プロセッサ１１０は、たとえば、当該画像処理を終了するユーザ操作を受けた場合に、当該画像処理を終了する。プロセッサ１１０は、本実施の形態に従う画像処理を終了すると判断した場合には（ステップＳ５４０においてＹＥＳ）、当該画像処理を終了する。そうでない場合には（ステップＳ５４０においてＮＯ）、プロセッサ１１０は、ステップＳ５３０からステップＳ５４０までの処理を再度順に実行する。
【００９６】
［Ｉ．結論］
以上のようにして、本実施の形態に従う画像処理装置１００は、非共通領域におけるマッチング結果を表示することにより、複数の品種間で異なる部分（すなわち、非共通領域）が、どの程度照合されたのかをユーザに示すことが可能になる。また、品種間の異なる部分のマッチング結果を用いて品種判別を行なうことにより、類似する品種が登録されていたとしても、検査対象物がどの品種に属するのかを正確に判別できるようになる。
【００９７】
＜第２の実施の形態＞
以下、第２の実施の形態に従う画像処理装置１００Ａの概要について説明する。本実施の形態に従う画像処理装置１００Ａは、非共通領域に含まれる、エッジが存在すべき領域のマッチング結果だけでなく、エッジが存在すべきでない領域のマッチング結果をさらに用いて判別処理を行なう点で第１の実施の形態に従う画像処理装置１００と異なる。なお、ハードウェア構成については第１の実施の形態に従う画像処理装置１００と同じであるので説明を繰り返さない。
【００９８】
図１４および図１５を参照して、第２の実施の形態に従う画像処理装置１００Ａの概要について説明する。図１４は、画像処理装置１００Ａが２つのモデル画像間でワークの形状が異なる領域を抽出している様子を示した概念図である。まず、図１４を参照しながら、画像処理装置１００Ａが実行する登録処理について説明する。
【００９９】
画像処理装置１００Ａに含まれる領域決定モジュール１５２は、登録されているモデル画像を比較して、互いに異なる領域（すなわち、非共通領域）を決定する。このとき、モデル画像間の非共通領域には、その領域内においてワークが含まれる領域（以下「ワーク領域」とも称す。）と、ワークが含まれない領域（以下「非ワーク領域」とも称す。）とが含まれる。すなわち、ワーク領域とは、非共通領域内の領域においてワークが写っている領域をいう。また、非ワーク領域とは、非共通領域内の領域においてワークが写っていない領域をいう。
【０１００】
一例として、図１４には、モデル画像３０Ａとモデル画像３０Ｂとを比較して決定された、それぞれの画像のワーク領域と非ワーク領域とが示されている。モデル画像３０Ａには、モデル画像３０Ａを基準にしたモデル画像３０Ｂに対する非共通領域が示されている。より具体的には、モデル画像３０Ａには、モデル画像３０Ａにおいてワークが含まれて、かつ、モデル画像３０Ｂにおいてワークが含まれない領域（すなわち、ワーク領域）が「○」で示されている。また、モデル画像３０Ａには、モデル画像３０Ａにおいてワークが含まれて、かつ、モデル画像３０Ｂにおいてワークが含まれない領域（すなわち、非ワーク領域）が「●」で示されている。
【０１０１】
同様に、モデル画像３０Ｂには、モデル画像３０Ｂを基準にしたモデル画像３０Ａに対する非共通領域が示されている。より具体的には、モデル画像３０Ｂには、モデル画像３０Ｂにおいてワーク含まれて、かつ、モデル画像３０Ａにおいてワークが含まれない領域（すなわち、ワーク領域）が「○」で示されている。また、モデル画像３０Ｂには、モデル画像３０Ｂにおいてワークが含まれずに、かつ、モデル画像３０Ａにおいてワークが含まれる領域（すなわち、非ワーク領域）が「●」で示されている。
【０１０２】
ワーク領域および非ワーク領域とが決定されると、画像処理装置１００Ａは、モデル画像３０Ａおよびモデル画像３０Ｂを記憶すると共に、それぞれのモデル画像についてのワーク領域および非ワーク領域を記憶する。
【０１０３】
次に、図１５を参照して、画像処理装置１００Ａが実行する判別処理について説明する。図１５は、画像処理装置１００Ａの判別処理の概要を示した概念図である。本実施の形態に従う画像処理装置１００Ａは、ワーク領域におけるマッチング結果だけでなく、ワーク領域および非ワーク領域の両方におけるマッチング結果を用いて、判別処理を行なう。
【０１０４】
具体的な判別処理の手順としては、図１５に示すように、画像処理装置１００Ａは、登録されているモデル画像３０Ａのワーク領域および非ワーク領域の両方から抽出した特徴量を用いて入力画像とマッチングする。同様に、画像処理装置１００Ａは、登録されているモデル画像３０Ｂのワーク領域および非ワーク領域の両方から抽出した特徴量を用いて入力画像とマッチングする。
【０１０５】
マッチングが完了すると、画像処理装置１００Ａは、モデル画像のワーク領域と非ワーク領域との両方に対するマッチング結果を表示する。典型的には、画像処理装置１００Ａは、モデル画像に重ねて、ワーク領域および非ワーク領域におけるマッチング結果を表示し、マッチングできた部分とマッチングできなかった部分とを異なる態様で表示する（図１５の「●」および「×」）。このように、類似するモデル画像が登録されている場合であっても、画像処理装置１００Ａは、ワーク領域および非ワーク領域についてのマッチング結果を表示することで、種別の判別に適した領域に対するマッチング結果をユーザに提示ことができる。
【０１０６】
また、画像処理装置１００Ａは、ワーク領域および非ワーク領域におけるマッチング結果に基づいて、入力画像に含まれるワークがいずれの種別に属するかを判別するための判別スコアを算出する。典型的には、判別スコアは、ワーク領域および非ワーク領域に含まれる画素数に対する、マッチングに成功した画素の数の割合で示される。
【０１０７】
なお、図１４では、ワーク領域が「○」で示され、非ワーク領域が「●」で示されているが、ワーク領域および非ワーク領域の表示態様はこれに限定されない。たとえば、画像処理装置１００Ａは、ワーク領域と非ワーク領域とを、色を異ならせる態様で表示してもよいし、図形を異ならせる態様で表示してもよい。また、ワーク領域および非ワーク領域は、モデル画像上のエッジ上の領域であってもよい。
【０１０８】
以上のようにして、本実施の形態に従う画像処理装置１００Ａは、ワーク領域と非ワーク領域との両方のマッチング結果を用いてワークの種別を判別することにより、ワーク領域のみのマッチング結果を用いた場合に比べて、ワークの品種判別の精度をさらに向上させることができる。
【０１０９】
＜第３の実施の形態＞
以下、第３の実施の形態に従う画像処理装置１００Ｂの概要について説明する。本実施の形態に従う画像処理装置１００Ｂは、非共通領域の各々のマッチング結果に重みを付けて判別スコアを算出する点で第１の実施の形態に従う画像処理装置１００と異なる。なお、ハードウェア構成については第１の実施の形態に従う画像処理装置１００と同じであるので説明を繰り返さない。
【０１１０】
図１６および図１７を参照して、第３の実施の形態に従う画像処理装置１００Ｂの概要について説明する。図１６は、画像処理装置１００Ｂが２つのモデル画像間でワークの形状が異なる領域を抽出している様子を示した概念図である。図１７は、画像処理装置１００Ｂの判別処理の概要を示した概念図である。まず、図１６を参照しながら、画像処理装置１００Ｂが実行する登録処理について説明する。
【０１１１】
ユーザが、品種１（ワーク２Ａ）に属する対象物を被写体とするモデル画像３０Ａと、品種２（ワーク２Ｂ）に属する対象物を被写体とするモデル画像３０Ｂと、第３種別（ワーク２Ｃ）に属する対象物を被写体とするモデル画像３０Ｃとを登録する操作を行なう。ユーザの登録操作に基づいて、画像処理装置１００Ｂは、モデル画像３０Ａとモデル画像３０Ｂとモデル画像３０Ｃとからそれぞれ特徴量を抽出する。画像処理装置１００Ｂは、抽出したそれぞれの特徴量に基づいて、品種１に属する対象物と品種２に属する対象物と第３種別に属する対象物との間で互いに異なる形状を有する領域（すなわち、非共通領域）を決定する。典型的には、画像処理装置１００Ｂは、モデル画像間でエッジが異なる領域を非共通領域とする。
【０１１２】
図１６に示される例においては、モデル画像の非共通領域のエッジとして、１つの画像にのみ存在して残りの２つの画像には存在しないエッジ（図１６の「●」）と、２つの画像に存在して残りの１つの画像には存在しないエッジ（図１６の「○」）とがある。モデル画像間で特異な非共通領域のマッチング結果ほど、ワークの種別を判別するための情報としては有力であると考えられる。このため、画像処理装置１００Ｂは、特異な非共通領域におけるマッチング結果ほど判別結果に与える影響を大きくする。すなわち、モデル画像間でユニークな非共通領域におけるマッチング結果ほど重みを大きくして判別スコアを算出する。
【０１１３】
一例として、図１７のモデル画像３０Ｂの非共通領域４５と非共通領域４７とを例に挙げてマッチング結果の重み付けについて説明する。非共通領域４５のエッジは、他のモデル画像（モデル画像３０Ａおよびモデル画像３０Ｃ）に存在せず、モデル画像３０Ｂにのみ存在する特異なものである。また、非共通領域４７のエッジは、モデル画像３０Ｃには存在しないが、モデル画像３０Ａの領域４１には存在する。このため、モデル画像３０Ｂにおいては、非共通領域４７のエッジよりも非共通領域４５のエッジの方が、他のモデル画像と区別するための情報としては有力である。したがって、判別モジュール１５４は、非共通領域４７におけるマッチング結果よりも、非共通領域４５におけるマッチング結果を重視する。
【０１１４】
なお、画像処理装置１００Ｂは、非共通領域に付された重みをユーザが視認できるように、当該重みに応じて非共通領域の表示態様を変えてもよい。たとえば、画像処理装置１００Ｂは、非共通領域に付された重みに応じて、非共通領域の表示の色や濃度を変化させる。より具体的には、画像処理装置１００Ｂは、重みが大きくなるにつれて濃い色で表示し、重みが小さくなるほど薄い色で表示する。また、画像処理装置１００Ｂは、非共通領域の近辺に重みを数値として表示してもよい。
【０１１５】
以上のようにして、本実施の形態に従う画像処理装置１００Ｂは、非表示領域に付された重みに応じて、非表示領域の表示態様を変えるので、ユーザは、どの部分の非共通領域がどの程度判別処理に寄与しているのかを直感的に理解できるようになる。また、画像処理装置１００Ｂは、他のモデル画像と区別することが可能な非共通領域について大きな重みを付けて判別スコアを算出することにより、類似するモデル画像が多数登録されている場合であっても、被検査対象のワークの種別を正確に判別することが可能になる。
【０１１６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１１７】
１  システム、２Ａ，２Ｂ，２Ｃ  ワーク、３Ａ，３Ｂ  箱、８  撮像部、１０  コンベア、３０Ａ〜３０Ｃ  モデル画像、３１  入力画像、４１  領域、４５，４７  非共通領域、１００，１００Ａ，１００Ｂ  画像処理装置、１０２  表示部、１０４  内部バス、１０６  メモリカード、１１０  プロセッサ、１１２  主メモリ、１１４  ハードディスク、１１６  画像処理プログラム、１２０  カメラインターフェイス、１２２  ロボットインターフェイス、１２４  ネットワークインターフェイス、１２６  メモリカードインターフェイス、１５０  特徴量抽出モジュール、１５２  領域決定モジュール、１５４  判別モジュール、１５６  表示モジュール、１５８  設定モジュール、２００  ロボットコントローラ、３００  ロボット、４００Ａ  モデル登録画面、４００Ｂ  結果表示画面、４０２  モデル登録タグ、４１０  登録条件、４１２  実行ボタン、４１３  登録ボタン、４２０，４３０  表示領域、４２２  点線、４２４  カーソル、４２５  モデル画像一覧、４３２  判別スコア領域、４４０  チェックボックス、４５０  結果一覧、４６０  スライドバー。
【図１】
2015176272.tif 000003
【図２】
2015176272.tif 000004
【図３】
2015176272.tif 000005
【図４】
2015176272.tif 000006
【図５】
2015176272.tif 000007
【図６】
2015176272.tif 000008
【図７】
2015176272.tif 000009
【図８】
2015176272.tif 000010
【図９】
2015176272.tif 000011
【図１０】
2015176272.tif 000012
【図１１】
2015176272.tif 000013
【図１２】
2015176272.tif 000014
【図１３】
2015176272.tif 000015
【図１４】
2015176272.tif 000016
【図１５】
2015176272.tif 000017
【図１６】
2015176272.tif 000018
【図１７】
2015176272.tif 000019