(57)【要約】  画像処理装置は、複数のモデルについて、モデル画像を縮小して得られるモデルテンプレートを格納する記憶部と、入力画像を、各モデルの縮小率で縮小する縮小部と、縮小された入力画像とモデルテンプレートに基づいて、入力画像におけるモデルの位置を探索する探索部と、を有する。前記複数のモデルのうち少なくとも２つのモデルについては、同一の縮小率でモデル画像を縮小して得られたモデルテンプレートが前記記憶部に格納される。前記少なくとも２つのモデルについては、前記縮小部による処理が共通化される。これにより、入力画像から複数のモデルを高速に識別または認識可能となる。
2015136709.tif 000002
【特許請求の範囲】
【請求項１】
入力画像から複数のモデルを識別または認識する画像処理装置であって、
複数のモデルについて、モデル画像を縮小して得られるモデルテンプレートを格納する記憶部と、
入力画像を、各モデルの縮小率で縮小する縮小部と、
縮小された入力画像とモデルテンプレートに基づいて、入力画像におけるモデルの位置を探索する探索部と、
を有し、
前記複数のモデルのうち少なくとも２つのモデルについては、同一の縮小率でモデル画像を縮小して得られたモデルテンプレートが前記記憶部に格納されており、
前記少なくとも２つのモデルについては、前記縮小部による処理が共通化される、
ことを特徴とする画像処理装置。
【請求項２】
複数のモデルについてモデル画像の入力を受け付けるモデル画像入力部と、
前記複数のモデル画像のそれぞれについて、暫定縮小率を決定する暫定縮小率決定部と、
前記複数のモデル画像の暫定縮小率に基づいて、各モデル画像の縮小率を決定する縮小率決定部と、
前記複数のモデル画像のそれぞれを対応する縮小率で縮小してモデルテンプレートを生成し、前記縮小率と関連付けてモデルテンプレートを前記記憶部に格納するモデルテンプレート生成部と、
を更に有する、請求項１に記載の画像処理装置。
【請求項３】
前記縮小率決定部は、
グループ内の暫定縮小率のばらつきが所定の閾値以下となるように、前記複数のモデル画像をグループ分けし、
グループごとに縮小率を決定する、
請求項２に記載の画像処理装置。
【請求項４】
前記縮小率決定部は、グループ内のモデル画像の暫定縮小率の平均値を、当該グループの縮小率として決定する、
請求項３に記載の画像処理装置。
【請求項５】
前記縮小率決定部は、
予め定められた複数の縮小率を記憶しており、
前記予め定められた複数の縮小率のうち、モデル画像の暫定縮小率に対応する縮小率を、当該モデル画像の縮小率として決定する、
請求項２に記載の画像処理装置。
【請求項６】
前記縮小率決定部は、前記予め定められた複数の縮小率のうち、モデル画像の暫定縮小率に近い縮小率を、当該モデル画像の縮小率として決定する、
請求項５に記載の画像処理装置。
【請求項７】
物体を撮影するカメラと、
前記カメラから入力された画像から前記モデルを識別または認識し、その結果を出力する、請求項１〜６のいずれか１項に記載の画像処理装置と、を有する
ことを特徴とする画像センサ。
【請求項８】
複数のモデルについてモデルテンプレートを生成する画像処理装置であって、
複数のモデルについてモデル画像を受け付けるモデル画像入力部と、
前記複数のモデル画像のそれぞれについて、暫定縮小率を決定する暫定縮小率決定部と、
前記複数のモデル画像の暫定縮小率に基づいて、各モデル画像の縮小率を決定する縮小率決定部と、
前記複数のモデル画像のそれぞれを、対応する縮小率で縮小してモデルテンプレートを生成するモデルテンプレート生成部と、
生成されたモデルテンプレートを、対応する縮小率とともに出力する出力部と、
を有する、画像処理装置。
【請求項９】
前記縮小率決定部は、
グループ内の暫定縮小率のばらつきが所定の閾値以下となるように、前記複数のモデル画像をグループ分けし、
グループごとに縮小率を決定する、
請求項８に記載の画像処理装置。
【請求項１０】
前記縮小率決定部は、グループ内のモデル画像の暫定縮小率の平均値を、当該グループの縮小率として決定する、
請求項９に記載の画像処理装置。
【請求項１１】
前記縮小率決定部は、
予め定められた複数の縮小率を記憶しており、
前記予め定められた複数の縮小率のうち、モデル画像の暫定縮小率に対応する縮小率を、当該モデル画像の縮小率として決定する、
請求項８に記載の画像処理装置。
【請求項１２】
前記縮小率決定部は、前記予め定められた複数の縮小率のうち、モデル画像の暫定縮小率に近い縮小率を、当該モデル画像の縮小率として決定する、
請求項１１に記載の画像処理装置。
【請求項１３】
入力画像から複数のモデルを識別または認識する画像処理方法であって、
複数のモデルについてモデル画像を縮小して得られるモデルテンプレートを格納する記憶部を有するコンピュータが、
入力画像を、各モデルの縮小率で縮小する縮小ステップと、
縮小された入力画像とモデルテンプレートに基づいて、入力画像におけるモデルの位置を探索する探索ステップと、
を実行し、
前記複数種類のモデルのうち少なくとも一部については、同一の縮小率で縮小されたモデルテンプレートが前記記憶部に格納されており、
同一の縮小率のモデルについては、前記縮小ステップの処理が共通化される、
ことを特徴とする画像処理方法。
【請求項１４】
複数のモデルについてモデルテンプレートを生成する画像処理方法であって、
コンピュータが、
複数のモデルについてモデル画像を受け付けるモデル画像入力ステップと、
前記複数のモデル画像のそれぞれについて、暫定縮小率を決定する暫定縮小率決定ステップと、
前記複数のモデル画像の暫定縮小率に基づいて、各モデル画像の縮小率を決定する縮小率決定ステップと、
前記複数のモデル画像のそれぞれを、対応する縮小率で縮小してモデルテンプレートを生成するモデルテンプレート生成ステップと、
生成されたモデルテンプレートを、対応する縮小率とともに出力する出力ステップと、
を実行する、画像処理方法。
【請求項１５】
請求項１３に記載の画像処理方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項１６】
請求項１４に記載の画像処理方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項１７】
請求項１５に記載のプログラムを非一時的に記憶する、コンピュータ読取可能な記録媒体。
【請求項１８】
請求項１６に記載のプログラムを非一時的に記憶する、コンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像からモデルを識別または認識する技術に関する。
【背景技術】
【０００２】
ＦＡ（Factory Automation）分野においては、ラインを流れる計測対象物（以下、「ワーク」とも呼ぶ）を計測・監視するために、画像センサ（視覚センサ）と呼ばれるセンサデバイスが広く用いられている。画像センサは、カメラと画像処理装置から構成され、予め登録された教師物体（以下、「モデル」または「パターン」とも呼ぶ）とのマッチング処理によって画像内のワークを検出し、必要な情報の抽出・計測などを行う機能を有している。画像センサの出力は、例えば、ワークの識別、検査、仕分けなどの様々な用途に利用される。【０００３】
ところで、ＦＡ分野における最近の傾向として、一つのラインに複数種類のワークを混在して流し、種類別に異なる処理を適用する、という生産形態が増えている。例えば、アソート商品の箱詰めラインにおいては、コンベヤ上に異なる種類のワークをランダムに流し、ピックアップロボットで種類別にピックアップし正しい位置に箱詰めするという作業を行う。また、多品種少量生産のラインでは、形、色、サイズなどの仕様が少しずつ異なるシリーズ商品が同一のラインで製造され、仕様ごとに加工方法や検査内容などを違える場合がある。【０００４】
このように複数種類のワークが混在するライン（以下、「混流ライン」とも呼ぶ）においては、画像から複数のモデルを認識（および検出・検索）する必要がある。１つのモデルについて物体認識を行う場合、処理時間短縮や使用メモリ容量削減、精度向上などのために、モデル画像を縮小してモデルテンプレートを生成し、入力画像を同じ縮小率で縮小した画像上にて探索処理を実施することが知られている（特許文献１）。特に登録モデルが大きい場合には、この方法による効果が大きい。縮小率は、例えば、モデルに含まれる特徴点数が所定数になるように決定したり、登録領域の面積が所定サイズになるように決定したりするとよい。【０００５】
混流ラインでは、複数のモデルを認識するので、上記の探索処理をモデルの数だけ繰り返す必要が生じる。したがって、モデル数が増えるとそれに比例して処理時間が増大してしまうという問題がある。【０００６】
１つのモデルについて、多重解像度画像（ピラミッド画像）を用いて物体検出を行う際に、テンプレートの縮小率ｂとピラミッド画像の縮小率ａをｂ＝ａＮ（Ｎは２以上の整数）となるように設定する手法が知られている（特許文献２）。この手法によると、ピラミッド画像の枚数および照合に用いるテンプレートの数を削減できるので、検出処理が高速に行える。しかしながら、この手法は、検出すべき物体の種類が異なる場合には適用できない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−６７２４６号公報
【特許文献２】特開２００６−２０２１８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、上記実情に鑑みてなされたものであり、入力画像から複数のモデルを高速に識別または認識可能な画像処理技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために本発明では、各モデルの縮小率ができるだけ同一になるように決定し、同一の縮小率のモデルについては、入力画像の縮小処理などの前処理を共通化してその実施回数を減らすことで、処理の高速化を図る。【００１０】
具体的には、本発明に係る画像処理装置は、入力画像から複数のモデルを識別または認識する画像処理装置であって、複数のモデルについて、モデル画像を縮小して得られるモデルテンプレートを格納する記憶部と、入力画像を各モデルの縮小率で縮小する縮小部と、縮小された入力画像とモデルテンプレートに基づいて、入力画像におけるモデルの位置を探索する探索部と、を有し、前記複数のモデルのうち少なくとも２つのモデルについては、同一の縮小率でモデル画像を縮小して得られたモデルテンプレートが前記記憶部に格納されており、前記少なくとも２つのモデルについては、前記縮小部による処理が共通化される、ことを特徴とする。【００１１】
画像縮小処理は、画像全体に対する処理であるため、比較的計算量の多い処理である。特に、入力画像の解像度が高いほど計算量は多くなる。本発明においては、モデルの縮小率を同一とし、縮小率を同一にしたモデルについての画像縮小処理を共通化することで、全体の計算量の削減が可能となる。また、画像縮小処理以外に平滑化処理や特徴量算出処理などを前処理として行う場合には、これらの処理も共通化して行うこともできる。【００１２】
本発明における画像処理装置は、複数のモデルについてモデル画像の入力を受け付けるモデル画像入力部と、前記複数のモデル画像のそれぞれについて、暫定縮小率を決定する暫定縮小率決定部と、前記複数のモデル画像の暫定縮小率に基づいて、各モデル画像の縮小率を決定する縮小率決定部と、前記複数のモデル画像のそれぞれを対応する縮小率で縮小してモデルテンプレートを生成し、前記縮小率と関連付けてモデルテンプレートを前記記憶部に格納するモデルテンプレート生成部と、を更に有することも好ましい。【００１３】
暫定縮小率決定部は、各モデル画像について、所定の基準に照らして好適な縮小率を暫定縮小率として決定することが好ましい。縮小率が高いほど処理の高速化が図れる一方、縮小率を高くしすぎると識別または認識の精度が落ちてしまう。したがって、処理速度と精度のトレードオフを考慮した適切な縮小率が各モデル画像について存在する。暫定縮小率はこのような意味で好適な縮小率であり、例えば、モデルに含まれる特徴点数を所定数にするといった基準や、モデル画像の面積を所定サイズにするといった基準にしたがって決定することができる。【００１４】
暫定縮小率から実際の縮小率を求めるには、例えば、次のようにすることができる。すなわち、縮小率決定部は、グループ内の暫定縮小率のばらつきが所定の閾値以下となるように、前記複数のモデル画像をグループ分けし、グループごとに縮小率を決定することができる。グループ内の暫定縮小率のばらつきは、例えば、暫定縮小率の標準偏差や分散などにより代表できる。このグループ分け処理（クラスタリング処理）は、ｋ−ｍｅａｎｓ法などの任意のクラスタリングアルゴリズムを用いて行うことができる。また、このグループ分け処理は、総当たりでグループ分けを行い、上記基準を満たす分類を見つけ出す処理であってもよい。この際、各グループ内のモデル画像に適用する縮小率は、例えば、当該グループ内のモデル画像の暫定縮小率の平均値、中央値、最頻値などとして決定することができる。【００１５】
暫定縮小率から実際の縮小率を求める別の方法として、例えば、次のような方法もある。すなわち、縮小率決定部は、予め定められた複数の縮小率を記憶しており、前記予め定められた複数の縮小率のうち、モデル画像の暫定縮小率に対応する縮小率を、当該モデル画像の縮小率として決定することができる。暫定縮小率に対応する縮小率は、予め定められた複数の縮小率のうち、暫定縮小率に最も近い縮小率とすることが好ましい。ここで、近さの基準は適宜設定可能であり、例えば、単純な差や２乗の差などを採用することができる。また、暫定縮小率に対応する縮小率は、予め定められた複数の縮小率のうち、暫定縮小率以上の最小の縮小率あるいは暫定縮小率以下の最大の縮小率とすることも好ましい。【００１６】
なお、本発明は、上記構成の少なくとも一部を有する画像処理装置として捉えることができる。また、本発明は、物体を撮影するカメラと画像処理装置とを有する画像センサとして捉えることもできる。【００１７】
また、本発明は、モデルテンプレートを生成するための画像処理装置として捉えることもできる。すなわち、本発明の一態様は、複数のモデルについてモデルテンプレートを生成する画像処理装置であって、複数のモデルについてモデル画像を受け付けるモデル画像入力部と、前記複数のモデル画像のそれぞれについて、暫定縮小率を決定する暫定縮小率決定部と、前記複数のモデル画像の暫定縮小率に基づいて、各モデル画像の縮小率を決定する縮小率決定部と、前記複数のモデル画像のそれぞれを、対応する縮小率で縮小してモデルテンプレートを生成するモデルテンプレート生成部と、生成されたモデルテンプレートを、対応する縮小率とともに出力する出力部と、を有することを特徴とする。実際の縮小率の決定方法は、上述のように、暫定縮小率に基づくグループ分けによる方法や、予め定められた縮小率の中から対応する縮小率を選択する方法が採用可能である。【００１８】
また、本発明は、上記処理の少なくとも一部を含む画像処理方法、または、かかる方法をコンピュータに実行させるためのプログラムやそのプログラムを非一時的に記憶したコンピュータ読取可能な記録媒体として捉えることもできる。上記構成および処理の各々は技術的な矛盾が生じない限り互いに組み合わせて本発明を構成することができる。
【発明の効果】
【００１９】
本発明によれば、入力画像から複数のモデルを高速に識別または認識することができる。
【図面の簡単な説明】
【００２０】
【図１】画像センサの全体構成を示す図。
【図２】画像センサのハードウェア構成を示す図。
【図３】画像識別装置の種類判別にかかわる機能構成を示す図。
【図４】稼働モードにおける種類判別処理の流れを示すフローチャート。
【図５】図４のステップＳ１０１における探索処理の詳細を示すフローチャート。
【図６】本実施形態による探索処理の効果を説明する図。
【図７】登録モードにおけるモデル登録処理の流れを示すフローチャート。
【図８】図７のステップＳ３０３におけるグループ分け処理の詳細を示すフローチャート。
【図９】グループ分け処理を説明する図。
【図１０】登録モードにおけるモデル登録処理の変形例の流れを示すフローチャート。
【発明を実施するための形態】
【００２１】
本発明は、入力画像が与えられたときに、テンプレートマッチングによって、予め登録された複数の登録画像（モデル画像）のなかから入力画像に最もよく合致するものを抽出する、画像識別技術に関するものである。この技術は、ＦＡ用の画像センサ、コンピュータビジョン、マシンビジョンなどにおける物体判別や、画像データベース内の画像群のなかからクエリ画像に類似する画像を検出する類似画像検索などに応用することができる。以下に述べる実施形態では、本発明の好ましい応用例の一つとして、複数種類のワークが混在して流れる混流ラインにおいて各ワークの検出および種類判別を行うＦＡ用の画像センサに本発明を実装した例を説明する。
【００２２】
（画像センサ）
図１を参照して、本発明の実施形態に係る画像センサの全体構成および適用場面について説明する。
画像センサ１は、生産ラインなどに設置され、製造物（ワーク２）を撮像することで得られる入力画像を用いてワーク２の種類判別などを行うシステムである。なお、画像センサ１には、種類判別のほかにも、エッジ検出、キズ・汚れ検出、面積・長さ・重心の計測など、必要に応じて様々な画像処理機能を実装可能である。
【００２３】
図１に示すように、コンベヤ３上には複数種類のワーク２が混在して流れている。画像センサ１は、カメラ１１から定期的にまたはＰＬＣ４から送られるトリガー信号のタイミングで画像を取り込み、画像処理装置（画像識別装置）１０によって画像に含まれる各ワーク２の検出、種類判別などの処理を実行し、その結果をディスプレイ１２に表示したり、外部装置（ＰＬＣ４など）へと出力する。ＰＬＣ（Programmable Logic Controller）４は、画像センサ１、コンベヤ３、ロボット等の製造装置（不図示）の制御を司るデバイスである。
【００２４】
（画像センサのハードウェア構成）
図２を参照して、画像センサ１のハードウェア構成を説明する。画像センサ１は、概略、カメラ１１と画像処理装置１０から構成される。
【００２５】
カメラ１１は、ワーク２の画像を画像処理装置１０に取り込むためのデバイスであり、例えばＣＭＯＳ（Complementary Metal-Oxide-Semiconductor）カメラやＣＣＤ（Charge-Coupled Device）カメラを好適に用いることができる。入力画像の形式（解像度、カラー／モノクロ、静止画像／動画、階調、データ形式など）は任意であり、ワーク２の種類やセンシングの目的に合わせて適宜選択すればよい。可視光像以外の特殊な画像（Ｘ線画像、サーモ画像など）や奥行き（距離）情報付きの画像を検査に利用する場合には、その画像に合わせたカメラを用いてもよい。
【００２６】
画像処理装置１０は、ＣＰＵ（中央演算処理装置）１１０と、記憶部としてのメインメモリ１１２およびハードディスク１１４と、カメラインターフェイス１１６と、入力インターフェイス１１８と、表示コントローラ１２０と、ＰＬＣインターフェイス１２２と、通信インターフェイス１２４と、データリーダ／ライタ１２６とを含む。これらの各部は、バス１２８を介して、互いにデータ通信可能に接続される。
【００２７】
カメラインターフェイス１１６は、ＣＰＵ１１０とカメラ１１とのあいだのデータ伝送を仲介する部分であり、カメラ１１からの画像データを一時的に蓄積するための画像バッファ１１６ａを有している。入力インターフェイス１１８は、ＣＰＵ１１０と入力部（マウス１３、キーボード、タッチパネル、ジョグコントローラなど）とのあいだのデータ伝送を仲介する。表示コントローラ１２０は、液晶モニタなどのディスプレイ１２に接続され、当該ディスプレイ１２での表示を制御する。ＰＬＣインターフェイス１２２は、ＣＰＵ１１０とＰＬＣ４のあいだのデータ伝送を仲介する。通信インターフェイス１２４は、ＣＰＵ１１０とコンソール（あるいは、パーソナルコンピュータやサーバ装置）などとのあいだのデータ伝送を仲介する。データリーダ／ライタ１２６は、ＣＰＵ１１０と記憶媒体であるメモリカード１４との間のデータ伝送を仲介する。
【００２８】
画像処理装置１０は、汎用的なアーキテクチャを有するコンピュータで構成可能であり、ＣＰＵ１１０が、ハードディスク１１４またはメモリカード１４に格納されたプログラム（命令コード）を読み込み、実行することで、各種機能を提供する。このようなプログラムは、メモリカード１４や光ディスクなどのコンピュータ読取可能な記録媒体に格納された状態で流通する。
【００２９】
汎用的なパーソナルコンピュータを画像処理装置１０として利用する場合には、本実施形態で述べる物体判別機能を提供するためのアプリケーションプログラムに加えて、コンピュータの基本的な機能を提供するためのＯＳ（オペレーション・システム）がインストールされていてもよい。この場合には、本実施形態に係るプログラムは、ＯＳが提供するプログラムモジュールを利用することで、目的とする機能を実現してもよい。なお、本実施形態に係るプログラムは単体のアプリケーションプログラムとして提供されてもよいし、他のプログラムの一部に組み込まれるモジュールとして提供されてもよい。また、その機能の一部または全部が専用のロジック回路で代替されてもよい。
【００３０】
（画像処理装置の機能構成）
図３に、画像処理装置が提供する種類判別（物体判別）にかかわる機能構成を示す。画像処理装置１０は、種類判別にかかわる機能として、画像入力部１３０、探索部１３１、記憶部１３７、識別部１３８、出力部１３９、モデル画像入力部１４０、モデルテンプレート生成部１４１を有している。これらの機能ブロックは、画像処理装置１０のＣＰＵ１１０がコンピュータプログラムを実行することにより実現される。
【００３１】
記憶部１３７には、モデルテンプレート生成部１４１によって生成されたモデルテンプレートが格納される。モデルテンプレートは、モデル画像入力部１４０から入力されたモデル画像に対して所定の縮小率の画像縮小処理を施し、縮小画像から特徴量を抽出することによって生成される。本実施形態では、粗密探索（ピラミッド探索）を行うので、１つのモデル画像について段階的に縮小率を高くした複数のモデルテンプレートが生成および格納される。なお、本明細書では、モデルテンプレートを生成する際の縮小率のうち最も低い縮小率のことを、モデルテンプレートの縮小率と称する。
【００３２】
記憶部１３７には、モデルテンプレート１３７ａと、当該モデルテンプレートの縮小率１３７ｂとが関連付けて格納される。記憶部１３７内には、判別対象の物体種類に応じた数のモデルテンプレートが格納される。なお、モデルテンプレート生成部１４１は、各モデルの縮小率ができるだけ同一となるように縮小率を決定する。したがって、記憶部１３７内には、縮小率が同一となるモデルテンプレートが少なくとも２つ（１組）以上存在する。
【００３３】
（画像処理装置の動作）
画像処理装置１０は、コンベヤ３上を流れるワーク２の画像を取り込み、ワーク２の探索（照合）や種類判別などの処理を実行する「稼働モード」と、稼働モードに先立ち、画像処理装置１０に対してモデルの登録を行う「登録モード」とを有している。モードの切り替えはユーザが任意に行うことができる。記憶部１３７内のモデルテンプレート１３７ａは、登録モードにおいてモデルテンプレート生成部１４１によって生成される。
【００３４】
以下、すでにモデルテンプレート１３７ａの生成が完了しているという前提で「稼働モード」の動作について説明をしたのち、「登録モード」におけるモデル登録動作について説明する。
【００３５】
（１）稼働モード
図４のフローチャートに沿って、稼働モードにおける各機能ブロックの動作、および、種類判別処理の全体の流れについて説明する。
【００３６】
ＰＬＣ４からのトリガー信号が入力されると、画像入力部１３０がカメラ１１から画像を取り込む（ステップＳ１００）。次に、探索部１３１が、入力画像から個々のワーク２を検出する（ステップＳ１０１）。ステップＳ１０１の探索（照合）処理の詳細については図５を参照して説明する。探索部１３１は、記憶部１３７に格納されているモデルテンプレート１３７ａの縮小率１３７ｂを取得し、縮小率ごとに以下のステップＳ２０１〜Ｓ２０３の処理を繰り返し実行する。このステップＳ２０１〜Ｓ２０３の処理は、探索処理の前処理である。
【００３７】
ステップＳ２０１では、画像縮小部１３２が、モデルテンプレートの縮小率と同じ縮小率の画像縮小処理を入力画像に対して施す。次にステップＳ２０２において、平滑化処理部１３３が縮小された画像に対して平滑化フィルタを施して、ノイズ除去を行う。ステップＳ２０３では、輝度勾配画像生成部１３４が平滑化処理後の画像から、輝度勾配画像を生成する。輝度勾配画像生成部１３４は、輝度勾配画像から輝度勾配に基づいてエッジやコーナーなどの特徴点を抽出する。本実施形態では粗密探索を行うので、画像縮小から輝度勾配画像生成までの処理は縮小率を段階的に高くして複数回実行される。
【００３８】
ステップＳ２０４〜Ｓ２０６の処理は、入力画像からモデルを実際に探索する処理であり、複数のモデルのそれぞれについて繰り返し実行される。ステップＳ２０４では、粗密探索部１３５が、粗密探索法を用いてモデルの探索を行う。すなわち、最初に低解像度の画像を粗く探索し、大まかな位置を特定した後に、高解像度の画像を用いて詳細な位置決めを行う。粗密探索における階層数はいくつであってもよい。このような粗密探索によれば、高速かつ高精度な位置決めができる。次にステップＳ２０５で、近傍排除部１３６が近傍排除処理を実施する。ステップＳ２０４の探索処理において、探索の結果複数の検出候補が現れることがある。このような場合に、位置や姿勢が似た検出候補は同一とみなして、いずれか一つのみを残して他を排除することで、重複した検出候補の処理を省略する。これが近傍排除処理である。ステップＳ２０６では、探索部１３１が、このようにして得られた入力画像中におけるモデルの位置を出力する。以上の処理により、入力画像中から、記憶部１３７に登録されている全てのモデルの位置が探索される。
【００３９】
図４のフローチャートの説明に戻る。ステップＳ１０２で、識別部１３８が、探索処理により検出されたワークを解析してワークの種類を判別する。類似するモデルの検出を行う場合、識別処理においてワークが複数のモデルと一致すると判定されることがある。識別部１３８は、検出されたワークが、複数のモデルのうちのいずれと最も良く合致するかを判定する。この判定方法は、種々の方法が採用可能であり、例えば、ワークとの類似度が最も高いモデルをワークの種類と判断してもよい。あるいは、検出されたワークから抽出される特徴量を、モデル種類を識別する識別器に入力して、ワークの種類を判別するようにしてもよい。
【００４０】
ステップＳ１０１で検出されたすべてのワークに対し、ステップＳ１０２の処理を繰り返すことで、各ワークの種類を判別することができる。この判別結果は、出力部１３９によってディスプレイ１２またはＰＬＣ４に出力される（ステップＳ１０３）。
【００４１】
本手法による効果を、図６を参照して説明する。図６（ａ）は本手法の処理を模式的に説明する図であり、図６（ｂ）は従来手法（比較例）の処理を模式的に説明する図である。従来手法では、画像縮小処理、平滑化処理、および輝度勾配画像生成処理を、モデルの数と同じ回数だけ実行する必要がある。それに対して、本手法によれば、画像縮小処理、平滑化処理、および輝度勾配画像生成処理を、モデルテンプレートの縮小率が同一の場合に共通化できる（点線部）。したがって、上記の処理をモデルの数だけ繰り返す必要がなくなり、処理の高速化が図れる。これらの処理は画像全体に対する処理であるため、比較的計算量が多く、したがってその実行回数を減らすことで効果的な高速化が図れる。例えば、図６に示すようにモデルの数が５個であり、全てのモデルの縮小率が同一である場合の処理時間について考える。探索に要する処理時間が全体で１秒であり、その半分が画像縮小処理、平滑化処理、輝度勾配画像生成処理などの前処理によって占められているものとする。
すると、従来手法では、モデルごとに探索処理を全て実行する必要があるので、処理時間は１秒×５種類＝５秒となる。一方、本手法では、前処理は１回だけ行えばよいので、０．５秒＋０．５秒×５種類＝３秒となる。すなわち、本手法によれば、従来手法と比較して処理時間が４０％短縮できる。なお、図６の例は、全てのモデルの縮小率を同一にでき、最大の効果が得られる例を示したものであるが、少なくとも２つのモデルの縮小率が同一であれば前処理の共通化により、従来例よりも処理時間を短縮可能である。
【００４２】
（２）登録モード
次に、図７のフローチャートに沿って、登録モードにおけるモデル登録処理、特にモデルの縮小率の決定方法について説明する。なお、図７に示す処理は、例えば、画像センサ１を新たに設置したとき、ラインに流すワークの種類が変更になったとき、などに実行される。
【００４３】
まず、ステップＳ３０１において、モデル画像入力部１４０から登録するモデルの画像の入力を受け付ける。例えば、モデル画像入力部１４０は、稼働時と同じ条件下でカメラ１１によって撮影された複数種類の物体（モデル）の画像から、ユーザによって指定された領域部分の画像をモデル画像として取り込む。
【００４４】
次に、モデルテンプレート生成部１４１の暫定縮小率決定部１４１ａが、それぞれのモデル画像について、好適な縮小率（暫定縮小率）を求める。縮小率を高くすれば処理の高速化が図れるが、識別精度が低下する。一方、縮小率を低くすれば識別精度は向上するが、処理の高速化の効果が限定的である。そこで、暫定縮小率決定部１４１ａは、速度と精度のトレードオフを考慮してモデル画像に適切な縮小率を所定の基準にしたがって求める。例えば、暫定縮小率決定部１４１ａは、モデルに含まれる特徴量数が所定数になるように暫定縮小率を決定してもよいし、モデルの登録領域の面積が所定のサイズとなるように暫定縮小率を決定してもよい。このようにして求めた暫定縮小率は、それぞれのモデルで異なった値となることが一般的である。
【００４５】
このように個々のモデルについて最適な縮小率が異なるが、モデルテンプレート生成部１４１は、処理速度や識別精度をなるべく低下させない範囲内で、各モデルの縮小率をできるだけ同一になるようにする。具体的には、ステップＳ３０３で、モデルテンプレート生成部１４１の縮小率決定部１４１ｂは、グループ内の各モデルの暫定縮小率のばらつきが十分に小さくなるように、モデルのグループ分けを行う。このグループ分けの処理は、ｋ−ｍｅａｎｓ法などのクラスタリングアルゴリズムを用いて行うこともできるが、次のような簡易な手法によって実現可能である。
【００４６】
ステップＳ３０３のグループ分け処理の詳細について、図８のフローチャートを参照して説明する。まず、モデルテンプレート生成部１４１は、暫定縮小率が昇順になるように複数のモデルをソートする（Ｓ４０１）。そして、グループの番号を表す変数Ｇを１に初期化する（Ｓ４０２）。以下のステップＳ４０３〜Ｓ４０８は、複数のモデルについて繰り返し実行される。この際、暫定縮小率が小さいモデルから順番に処理される。
【００４７】
まず、未処理のモデルのうち暫定縮小率が最も小さいモデルを、グループＧに追加し（Ｓ４０３）、追加後のグループについて暫定縮小率の標準偏差を算出する（Ｓ４０４）。算出された標準偏差が閾値以内であれば（Ｓ４０５−ＹＥＳ）、グループＧに対する当該モデルの追加を許容する。すなわち、暫定縮小率のばらつきは許容範囲内であれば、グループＧへの当該モデルの追加を許容する。一方、ステップＳ４０４で算出された標準偏差が閾値よりも大きければ（Ｓ４０５−ＮＯ）、当該モデルのグループＧへの追加は許容せず、グループＧから当該モデルを削除する（Ｓ４０６）。このモデルは、新しいグループに含められる。すなわち、グループの番号を表す変数Ｇが１インクリメントされ（Ｓ４０７）、このモデルはグループＧ（更新後）に追加される（Ｓ４０８）。
【００４８】
上記ステップＳ４０３〜Ｓ４０８の処理を全てのモデルについて繰り返し実行することで、最終的にグループ内の暫定縮小率のばらつき（標準偏差）が閾値以内となるグループ分けが完了する。
【００４９】
図９を参照して、図８のグループ分け処理を例示的に説明する。ここでは、モデルＡ〜Ｇが７種類存在し、それぞれの暫定縮小率がＡ：０．３，Ｂ：０．３３，Ｃ：０．４２，Ｄ：０．６５，Ｅ：０，６７，Ｆ：０．７１，Ｇ：０．７５であると仮定する。また、標準偏差の閾値を０．０５とする。
【００５０】
まず、暫定縮小率が最小のモデルＡがグループ１に追加される。次に、モデルＢがグループ１に追加された場合のグループ１における暫定縮小率の標準偏差が計算される。図９（ａ）に示すように、この標準偏差は０．０２１であり閾値以内であるため、モデルＢはグループ１に含めてよいと判断できる。次に、モデルＣがグループ１に追加された場合のグループ１における暫定縮小率の標準偏差が計算される。図９（ｂ）に示すように、この標準偏差は０．０６２であり閾値を超えるため、モデルＣはグループ１には含めないと判断される。グループ１はモデルＡおよびモデルＢのみを含むものとして確定され、モデルＣは新たなグループ２に含められる。次に、モデルＤがグループ２に追加された場合のグループ２における暫定縮小率の標準偏差が計算される。図９（ｃ）に示すように、この標準偏差は０．１６となり閾値を超えるため、モデルＤはグループ２には含めないと判断される。すなわち、グループ２はモデルＣのみを含むものとして確定され、モデルＤは新たなグループ３に含められる。以下、上記と同様に暫定縮小率が小さいモデルから順番にグループに追加していき、グループ内の暫定縮小率の標準偏差が閾値以内であるか否か判定する。この例では、モデルＥ，Ｆ，Ｇをグループ３に追加した場合、図９（ｄ）（ｅ）（ｆ）に示すように、いずれも標準偏差は閾値以内となる。したがって、グループ３はモデルＤ，Ｅ，Ｆ，Ｇを含むものとして確定する。以上のようにして、モデルＡ〜Ｇの７つのモデルは、３つのグループ（Ａ，Ｂ），（Ｃ），（Ｄ，Ｅ，Ｆ，Ｇ）にグループ分けされる。
【００５１】
なお、図８のフローチャートでは、暫定縮小率が小さいモデルから順番に処理したが、暫定縮小率が大きいモデルから順番に処理してもよい。あるいは、暫定縮小率が最大のものと最小のものから処理を開始してもよい。最終的に、グループ内での暫定縮小率の標準偏差が閾値以内となるようにグループ分けされれば、その手法は問わない。また、ばらつきの尺度として標準偏差を採用したが、分散を採用してもよいし、最大値と最小値の差などを採用してもよい。
【００５２】
図７のフローチャートに戻る。グループ分けが完了すると、ステップＳ３０４で、縮小率決定部１４１ｂは、グループごとの代表縮小率を決定する。ここでは、グループ内の暫定縮小率の平均値をグループの代表縮小率とする。例えば、図９の例では図９（ｆ）に示すように、モデルＡ，Ｂからなるグループ１の代表縮小率は０．３１５となり、モデルＣのみからなるグループ２の代表縮小率は０．４２０となり、モデルＤ，Ｅ，Ｆ，Ｇからなるグループ３の代表縮小率は０．６９５となる。なお、代表縮小率は、グループ内の暫定縮小率の平均値ではなく、その中央値や最頻値などとしても構わない。
【００５３】
ステップＳ３０５では、モデルテンプレート生成部１４１は、それぞれのモデルに対して、そのモデルが属するグループの代表縮小率でモデル画像を縮小してモデルテンプレートを生成する。本実施形態では、輝度勾配の特徴量を用いて識別を行うのでモデルテンプレートとして縮小後のモデル画像から輝度勾配画像を生成し特徴量を算出してモデルテンプレートとする。また、本実施形態では粗密探索を行うので、モデル画像を代表縮小率よりも高い縮小率で縮小したモデル画像にも基づいてモデルテンプレートを生成する。
【００５４】
ステップＳ３０６では、モデルテンプレート生成部１４１は、生成したモデルテンプレートをその縮小率とともに、記憶部１３７へ出力する。これにより、記憶部１３７内に、モデルテンプレート１３７ａとその縮小率１３７ｂが関連付けて格納される。
【００５５】
以上のようにして、モデルごとの最適な縮小率（暫定縮小率）からのずれが許容できる範囲で、複数のモデルの縮小率を同一とすることができる。
【００５６】
本実施形態によれば、モデル登録時における縮小率を複数のモデルについて同一にしているので、稼働時における入力画像の縮小処理や特徴量抽出処理などの前処理を共通化して高速化が図れる。また、モデルの縮小率を同一にする際にグループ内での暫定縮小率のばらつきが小さくなるように（閾値以内となるように）しているので、識別精度の低下などの影響を最小限に抑えることができる。
【００５７】
なお、モデル画像を後から追加する場合には、上記の登録処理を再度実行すればよい。登録処理においては全てのモデル画像について縮小前の画像が必要となるので、後からモデル画像を追加可能とするためには、登録処理後も縮小前のモデル画像を保存しておくことが好ましい。
【００５８】
（モデル登録処理（縮小率決定処理）の変形例）
上記の説明では、モデル登録時における各モデルの縮小率決定は、暫定縮小率に基づいてモデルをグループ分けすることによって行われる。モデル登録処理、特に縮小率の決定処理は上記以外の方法によっても実現可能である。例えば、モデル登録処理の変形例として、予め定められた複数の縮小率を記憶しておき、モデルの暫定縮小率に基づいて、予め定められた複数の縮小率の中のいずれかの縮小率を、モデルの縮小率として決定することができる。以下、本例に係るモデル登録処理について図１０を参照して説明する。
【００５９】
まず、ステップＳ４０１において、モデル画像入力部１４０から登録するモデルの画像の入力を受け付ける。次に、モデルテンプレート生成部１４１は、それぞれのモデル画像について、以下のステップＳ４０２〜Ｓ４０５の処理を繰り返す。ステップＳ４０２では、モデルテンプレート生成部１４１の暫定縮小率決定部１４１ａが、モデル画像の好適な縮小率（暫定縮小率）を求める。この処理は上記で説明した処理と同じである。
【００６０】
次に、縮小率決定部１４１ｂは、予め定められた複数の縮小率のうち、暫定縮小率に最も近い値の縮小率を、このモデル画像の縮小率として決定する。例えば、予め定められた複数の縮小率が、（１．０，  ０．７０７，  ０．５，  ０．３５４，  ０．２５）であるとする。このような場合、暫定縮小率が０．３であれば、実際の縮小率として０．２５が選択される。同様に、暫定縮小率０．３３，０．４２に対しては縮小率０．３５４が選択され、暫定縮小率０．６５，０．６７，０．７１，０．７５に対して縮小率０．７０７が選択される。
【００６１】
なお、複数の縮小率が予め定められていれば、縮小率の決定処理は次のような条件判断によって求めることができる。以下で、ｒは暫定縮小率、Ｒは実際の縮小率を表す。
０．８５４≦ｒ  ならば  Ｒ＝１
０．６０４≦ｒ＜０．８５４  ならば  Ｒ＝０．７０７
０．４２７≦ｒ＜０．６０４  ならば  Ｒ＝０．５
０．３０２≦ｒ＜０．４２７  ならば  Ｒ＝０．３５４
ｒ＜０．３０２  ならば  Ｒ＝０．２５０
【００６２】
ステップＳ４０４で、モデルテンプレート生成部１４１は、決定された縮小率でモデル画像を縮小して、モデルテンプレートを生成する。ステップＳ４０５で、モデルテンプレート生成部１４１は、生成されたモデルテンプレートをその縮小率とともに、記憶部１３７へ出力する。
【００６３】
このようにしても、モデルごとの最適な縮小率（暫定縮小率）からのずれが許容できる範囲で、複数のモデルの縮小率を同一とすることができる。本手法では、登録処理を一度行った後に新しいモデルを追加する場合であっても、既存のモデルテンプレートに対する変更は生じない。したがって、モデル追加時の処理が簡素化される。また、モデルテンプレート作成後にモデル画像を保存しておく必要がないという利点もある。
【００６４】
なお、ステップＳ４０３では、予め定められた複数の縮小率のうち暫定縮小率に最も近いものをモデルの縮小率として決定している。上記では単純な差を距離測度として用いているが、例えば、２乗の差、対数の差、平方根の差など任意の距離測度に基づいて、暫定縮小率に最も近い縮小率を選択してもよい。また、最も近い縮小率以外を選択するようにしてもよい。例えば、暫定縮小率以上の縮小率のうち最小のものをモデルの縮小率として決定してもよいし、暫定縮小率以下の縮小率のうち最大のものをモデルの縮小率として決定してもよい。
【００６５】
また、上記の説明では、予め定められた複数の縮小率として、１から０．２５の間の５個の縮小率を採用しているが、その個数や縮小率の値は適宜変更可能である。例えば、０．２５より小さい値を採用することができる。また、上記の例では縮小率が等比数列（公比０．７０７）となるように定めているが、必ずしも等比数列になるようにする必要はない。
【００６６】
（その他の変形例）
上述した実施形態の構成は本発明の一具体例を示したものにすぎず、本発明の範囲を限定する趣旨のものではない。本発明はその技術思想を逸脱しない範囲において、種々の具体的構成を採り得るものである。例えば上記実施形態では、本発明を類似する複数の物体の種類を判別する物体判別装置に適用した例を説明したが、本発明の適用範囲はこれに限られない。本発明は、入力画像から複数のモデルを識別または認識する任意の画像処理装置に対して適用可能であり、これら複数のモデルは類似している必要はない。
【００６７】
また、本発明は、テンプレートマッチングの具体的な手法を限定するものではない。例えば、識別処理において、エッジ、コーナー、輝度勾配方向、輝度勾配方向ヒストグラムなどの特徴量に基づいて識別を行ってもよいし、輝度や色など画素値そのものを用いて識別を行ってもよい。また、粗密探索など高速化のためのアルゴリズムは任意のものを採用可能である。本発明は、テンプレートマッチングの既存手法のいずれにも適用可能である。なお、採用するテンプレートマッチングに応じて、モデルテンプレート作成処理を変更する必要があるが、その方法は当業者であれば容易に理解できるであろう。
【００６８】
また、上記の実施形態の説明では、識別処理を行う画像処理装置においてモデルテンプレートを作成しているが、モデルテンプレートを作成する装置と、作成されたモデルテンプレートを利用する装置は異なっていても構わない。本発明は、少なくとも２つのモデルについて同一の縮小率でモデル画像を縮小して得られたモデルテンプレートを利用して、画像の識別を行う画像識別装置（画像処理装置）として捉えることもできるし、少なくとも２つのモデルについて同一の縮小率でモデル画像を縮小してモデルテンプレートを作成するモデルテンプレート作成装置（画像処理装置）として捉えることもできる。
【００６９】
また、本発明は、上記の実施形態以外にも、モデル画像として異常状態を登録して物体の検査を行う画像認識装置や、探索を行わずに入力画像の特定領域に対してテンプレートマッチングを行ったり、モデル画像と同じ大きさの入力画像全体に対してテンプレートマッチングを行ったりする画像認識装置などにも適用可能である。
【符号の説明】
【００７０】
１：画像センサ、２：ワーク、３：コンベヤ、４：ＰＬＣ
１０：画像処理装置、１１：カメラ、１２：ディスプレイ
１３０：画像入力部、１３１：探索部、１３７：記憶部
１４０：モデル画像入力部、１４１：モデルテンプレート生成部
【図１】
2015136709.tif 000003
【図２】
2015136709.tif 000004
【図３】
2015136709.tif 000005
【図４】
2015136709.tif 000006
【図５】
2015136709.tif 000007
【図６】
2015136709.tif 000008
【図７】
2015136709.tif 000009
【図８】
2015136709.tif 000010
【図９】
2015136709.tif 000011
【図１０】
2015136709.tif 000012
【国際調査報告】
2015136709.tif 000013
2015136709.tif 000014