(57)【要約】【課題】画像上での物体の検出精度を向上させる。【解決手段】画像処理装置１０は、記憶部１４と、取得部１１と、特徴量算出部１２と、位置情報算出部１３と、類似度算出部１６と、判定部１５と、を有する。記憶部１４は、参照画像から得られる特定の画素の分布を記憶する。取得部１１は、探索画像を取得する。特徴量算出部１２は、探索画像に含まれる画素毎に特徴量を算出する。位置情報算出部１３は、特徴量算出部１２によって算出された特徴量が閾値未満である画素のグループの分布を算出する。類似度算出部１６は、位置情報算出部１３によって算出された画素のグループの分布と、記憶部１４に記憶された画素のグループの分布とに基づいて類似度を算出する。判定部１５は、類似度算出部１６によって算出された類似度に基づいて、探索画像に所定の物体が存在するか否かを判定する。【選択図】図１
2015064698.tif 000002
【特許請求の範囲】
【請求項１】
所定の物体の探索に用いられる参照画像から得られる特定の画素の分布を記憶する記憶部と、
前記参照画像に含まれる所定の物体が探索される探索画像を取得する取得部と、
前記探索画像に含まれる画素毎に特徴量を算出する第１の算出部と、
前記第１の算出部によって算出された特徴量が閾値未満である画素のグループの分布を算出する第２の算出部と、
前記第２の算出部によって算出された画素のグループの分布と、前記記憶部に記憶された画素のグループの分布とに基づいて類似度を算出する第３の算出部と、
前記第３の算出部によって算出された類似度に基づいて、前記探索画像に前記所定の物体が存在するか否かを判定する判定部と、
を有することを特徴とする画像処理装置。
【請求項２】
前記第２の算出部は、
前記判定部によって、前記所定の物体が存在すると判定された前記探索画像を前記参照画像として、当該参照画像について算出した画素の分布を前記記憶部に記憶させることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第３の算出部は、
前記第２の算出部によって算出された領域間の位置関係と、前記記憶部に記憶された領域間の位置関係とに基づいて前記類似度を算出することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記第２の算出部は、
前記特徴量が閾値未満であり、かつ、隣接する画素間の前記特徴量の差が所定範囲内の画素をグループ化することを特徴とする請求項１または２に記載の画像処理装置。
【請求項５】
前記第２の算出部は、
各画素の色情報またはテクスチャ情報の少なくともいずれかを用いて、前記特徴量が閾値未満である画素をグループ化することを特徴とする請求項１または２に記載の画像処理装置。
【請求項６】
前記記憶部は、
前記参照画像が複数の部分領域に分割され、前記部分領域毎に当該部分領域に含まれる特定の画素の割合を、前記特定の画素のグループの分布として記憶し、
前記第２の算出部は、
前記探索画像を複数の部分領域に分割し、分割した部分領域毎の割合であって、当該部分領域に含まれる、前記特徴量が閾値未満である画素の割合を、前記特徴量が閾値未満である画素の分布として算出し、
前記第３の算出部は、
それぞれの前記部分領域における、前記記憶部に記憶された割合と、前記第２の算出部によって算出された割合とに基づいて、前記類似度を算出することを特徴とする請求項１または２に記載の画像処理装置。
【請求項７】
コンピュータが、
所定の物体が探索される探索画像を取得し、
取得した前記探索画像に含まれる画素毎に特徴量を算出し、
算出した特徴量が閾値未満である画素のグループの分布を算出し、
前記所定の物体の探索に用いられる参照画像から抽出された特定の画素の分布を記憶する記憶部を参照して、当該記憶部に記憶された画素のグループの分布と、算出した画素のグループの分布とに基づいて類似度を算出し、
算出した類似度に基づいて、前記探索画像に前記所定の物体が存在するか否かを判定する
処理を実行することを特徴とする画像処理方法。
【請求項８】
コンピュータに、
所定の物体が探索される探索画像を取得し、
取得した前記探索画像に含まれる画素毎に特徴量を算出し、
算出した特徴量が閾値未満である画素のグループの分布を算出し、
前記所定の物体の探索に用いられる参照画像から抽出された特定の画素の分布を記憶する記憶部を参照して、当該記憶部に記憶された画素のグループの分布と、算出した画素のグループの分布とに基づいて類似度を算出し、
算出した類似度に基づいて、前記探索画像に前記所定の物体が存在するか否かを判定する
処理を実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、および画像処理プログラムに関する。
【背景技術】
【０００２】
画像全体に対してテンプレートマッチングなどが行われることにより、画像による物体の認識が行われている。このような物体の認識方法は、計算量が多い一方で、サイズの変化や回転などには弱い。また、画像内のコーナーなどの特徴を有する部分からサイズや向きに対して変化が少ない局所特徴量を抽出し、その局所特徴量のマッチングによって画像間の対応点を検出することで、効率的に画像内の物体の検出や認識が行われる。このようなサイズや向きに対して変化の少ない局所特徴量としては、例えばＳＩＦＴ（Scale  Invariant  Feature  Transform）やＳＵＲＦ（Speeded-Up  Robust  Features）などがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１１／０１０６９３号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年の工業部品には、丸みを帯びたものや、凹凸の少ないシンプルな形状のものなど、多様なデザインが存在する。コーナーなどが少ない物体の画像では局所特徴点が少ないために、マッチングの精度が大きく低下する。また、局所特徴点が多い物体であっても、その向きやサイズの変化が大きい場合、検出される局所特徴領域が画像間で異なることも多くなる。そのため、画像間で同じ領域が検出されている場合であっても、局所特徴量がかなり変化してしまい、局所特徴量のマッチング度が低下することになる。
【０００５】
１つの側面では、本発明は、画像上での物体の検出精度を向上させることができる画像処理装置、画像処理方法、および画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
一態様の画像処理装置は、記憶部と、取得部と、第１の算出部と、第２の算出部と、第３の算出部と、判定部と、を有する。記憶部は、所定の物体の探索に用いられる参照画像から抽出された特定の画素の分布を記憶する。取得部は、参照画像に含まれる所定の物体が探索される探索画像を取得する。第１の算出部は、探索画像に含まれる画素毎に特徴量を算出する。第２の算出部は、第１の算出部によって算出された特徴量が閾値未満である画素のグループの分布を算出する。第３の算出部は、第２の算出部によって算出された画素のグループの分布と、記憶部に記憶された画素のグループの分布とに基づいて類似度を算出する。判定部は、第３の算出部によって算出された類似度に基づいて、探索画像に所定の物体が存在するか否かを判定する。
【発明の効果】
【０００７】
画像上での物体の検出精度を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例１における画像処理装置の機能構成の一例を示すブロック図である。
【図２】図２は、実施例１において、参照画像における無特徴領域の特定方法の一例を説明するための概念図である。
【図３】図３は、実施例１において、参照画像における無特徴領域の特定方法の一例を説明するための概念図である。
【図４】図４は、実施例１において、参照画像における無特徴領域の特定方法の一例を説明するための概念図である。
【図５】図５は、実施例１において、参照画像における無特徴領域の特定方法の一例を説明するための概念図である。
【図６】図６は、実施例１において、参照画像における無特徴領域の特定方法の一例を説明するための概念図である。
【図７】図７は、実施例１において記憶部に記憶されるデータの構造の一例を示す図である。
【図８】図８は、実施例１において、探索画像における無特徴領域の特定方法の一例を説明するための概念図である。
【図９】図９は、実施例１において、探索画像における無特徴領域の特定方法の一例を説明するための概念図である。
【図１０】図１０は、探索画像情報のデータ構造の一例を示す図である。
【図１１】図１１は、実施例１における類似度の算出方法の一例を説明するための概念図である。
【図１２】図１２は、実施例１における参照画像に関する情報の登録処理の一例を示すフローチャートである。
【図１３】図１３は、実施例１における物体探索処理の一例を示すフローチャートである。
【図１４】図１４は、実施例２における画像処理装置の機能構成の一例を示すブロック図である。
【図１５】図１５は、実施例２において、部分領域毎の割合の算出方法の一例を説明するための概念図である。
【図１６】図１６は、実施例２において、参照画像における部分領域毎の割合の一例を説明するための概念図である。
【図１７】図１７は、実施例２において、記憶部に格納されるデータの構造の一例を示す図である。
【図１８】図１８は、実施例２において、探索画像内の物体を探索する過程の一例を説明するための概念図である。
【図１９】図１９は、実施例２において、探索画像内の物体を探索する過程の一例を説明するための概念図である。
【図２０】図２０は、実施例２における参照画像の登録処理の一例を示すフローチャートである。
【図２１】図２１は、実施例２における物体探索処理の一例を示すフローチャートである。
【図２２】図２２は、実施例１または実施例２に係る画像処理プログラムを実行するコンピュータの一例について説明するための図である。
【発明を実施するための形態】
【０００９】
以下に、本願の開示する画像処理装置、画像処理方法、および画像処理プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１０】
［画像処理装置の構成］
図１は、実施例１における画像処理装置１０の機能構成の一例を示すブロック図である。本実施例における画像処理装置１０は、参照画像から得られる画素の分布を登録する処理（以下、登録処理と呼ぶ）と、参照画像の画素の分布を参照して、探索画像内で所定の物体を探索する処理（以下、物体探索処理と呼ぶ）とを実行する。参照画像とは、所定の物体の探索に用いられる画像である。探索画像とは、参照画像に含まれる所定の物体が探索される画像である。
【００１１】
ここで、本実施例における画像処理装置１０は、例えば、所定の物体の画像を参照画像として登録しておき、取得された探索画像内で、当該所定の物体を探すような場面で使用される。本実施例における画像処理装置１０は、例えば、工場の生産現場、屋内で移動するロボット、拡張現実等において用いられる。
【００１２】
例えば、工場の生産現場では、加工や組み立て等を行う対象となる所定の部品の画像が参照画像として予め画像処理装置１０内に登録される。そして、画像処理装置１０は、工場の生産ライン上を流れる部品を撮影しているカメラから、生産ライン上が撮影された画像を探索画像として取得する。そして、画像処理装置１０は、参照画像を参照して、取得した探索画像内に所定の部品が存在するか否かを判定し、探索画像内に所定の部品が存在すれば、その旨をディプレイ等に出力したり、他の装置（例えばロボットアーム等）に通知する。通知を受けた他の装置は、探索画像内に写っている部品を生産ラインから取り出して、加工や組み立て等を行う。
【００１３】
また、屋内で移動するロボットの場合、当該ロボットは、例えば、画像処理装置１０、ロボットの周囲を撮影するカメラ、ロボットを移動させる移動装置、ロボットの位置を同定する処理装置等を有する。画像処理装置１０には、所定の物体の画像が参照画像として登録される。そして、画像処理装置１０は、ロボットに設けられたカメラから、ロボットの周囲の画像を探索画像として取得する。そして、画像処理装置１０は、参照画像を参照して、取得した探索画像内に所定の物体が存在するか否かを判定する。探索画像内に所定の物体が存在すれば、画像処理装置１０は、その旨を、ロボットの位置を同定する処理装置へ出力する。処理装置は、所定の物体の位置情報を含む地図情報を予め有しており、画像処理装置１０から出力された情報に基づいて、ロボットの位置を同定する。
【００１４】
また、カメラで撮影された画像に、当該画像内に含まれている建物に関する補足的な情報を付加する拡張現実の場合、画像処理装置１０の機能は、例えばスマートフォン等の携帯情報端末内で実現される。画像処理装置１０には、所定の建物の画像が参照画像として登録される。そして、画像処理装置１０は、携帯情報端末に設けられたカメラから、周囲の画像を探索画像として取得する。そして、画像処理装置１０は、参照画像を参照して、取得した探索画像内に所定の建物が存在するか否かを判定する。探索画像内に所定の建物が存在すれば、画像処理装置１０は、その旨を、携帯情報端末内の画像作成部へ送る。画像作成部は、所定の建物に関する情報（例えば、住所、その建物に入っているお店の名前、そのお店の広告など）を、通信回線を介してサーバ等から取得する。そして、画像作成部は、取得した情報を、カメラによって撮影された画像に重ねた画像を作成し、作成した画像を携帯情報端末の画面に表示させる。
【００１５】
図１に戻って説明を続ける。本実施例における画像処理装置１０は、取得部１１、特徴量算出部１２、位置情報算出部１３、記憶部１４、判定部１５、および類似度算出部１６を有する。
【００１６】
取得部１１は、登録処理において、カメラ等の画像を生成する画像生成装置から、参照画像を取得し、取得した参照画像を特徴量算出部１２へ送る。また、取得部１１は、物体探索処理において、画像生成装置から探索画像を取得し、取得した探索画像を特徴量算出部１２へ送る。なお、取得部１１は、画像生成装置以外に、情報処理装置やデータベースサーバ等から通信回線を介して参照画像および探索画像を取得してもよく、画像処理装置１０に接続された可搬性記憶媒体等から参照画像および探索画像を取得してもよい。
【００１７】
特徴量算出部１２は、登録処理において、取得部１１から参照画像を受け取った場合に、受け取った参照画像に含まれる画素毎に、それぞれの画素の特徴量を算出する。そして、特徴量算出部１２は、算出した画素毎の特徴量を、参照画像を示す画像種別の情報と共に、位置情報算出部１３へ送る。
【００１８】
また、特徴量算出部１２は、物体探索処理において、取得部１１から探索画像を受け取った場合に、受け取った探索画像に含まれる画素毎に、それぞれの画素の特徴量を算出する。そして、特徴量算出部１２は、算出した画素毎の特徴量を、探索画像を示す画像種別の情報と共に、位置情報算出部１３へ送る。
【００１９】
特徴量算出部１２は、例えばコーナー検出器やラプラシアンフィルタ等で実現することができる。本実施例において、特徴量算出部１２によって算出される特徴量は、例えば、画素値の変化量が大きい領域内の画素では大きな値となり、画素値の変化の少ない領域内の画素では小さな値となる。
【００２０】
位置情報算出部１３は、登録処理において、特徴量算出部１２から参照画像について画素毎の特徴量を受け取った場合に、予め定められた閾値未満の特徴量が算出された画素を特定する。そして、位置情報算出部１３は、特定した画素の分布を示す情報を算出する。
【００２１】
本実施例において、予め定められた閾値とは、例えば、画像内のコーナーやエッジの画素の特徴量が閾値より大きくなり、凹凸や模様の少ない領域に含まれる画素の特徴量が閾値より小さくなるように設定された値である。
【００２２】
例えば、予め定められた閾値は、画像領域の特徴量のヒストグラムが作成され、その度数の分布において谷が存在する場合に、その谷の底に対応する特徴量の値が閾値として設定されてもよい。谷が複数存在する場合には、谷の深さが最も大きい谷に対応する特徴量の値が閾値として設定されてもよい。あるいは、複数の谷のうち、特徴量が最も小さい方の谷に対応する特徴量の値が閾値として設定されてもよい。
【００２３】
また、前述の閾値の設定方法とは別に、特徴量のヒストグラムに対して、判別分析（「大津の二値化」とも呼ばれる）により求められた値が閾値として設定されてもよい。また、これとは別に、画像領域の特徴量のヒストグラムにおいて、特徴量が小さい方から度数を累積して行き、累積された度数が指定した割合に達した時点で、そのときの特徴量の値が閾値として設定されてもよい。なお、この場合、指定した割合は、凹凸や模様の多いものは低く、少ないものは高くするなど、検出の対象としている物体の種類に合わせて個別に設定されてもよい。
【００２４】
本実施例において、位置情報算出部１３は、例えば、閾値未満の特徴量が算出された画素をいくつかの領域にグループ化する。位置情報算出部１３は、例えば、特徴量が閾値未満であり、かつ、特徴量の差が所定の範囲内の画素をグループ化する。また、他の例として、位置情報算出部１３は、画素の色情報（色相、彩度、または明度を含む）やテクスチャ情報（空間周波数など）を利用して、同じような色やテクスチャの画素をグループ化してもよい。そして、位置情報算出部１３は、それぞれの領域の位置関係を示す情報を、閾値未満の特徴量が算出された画素の分布を示す情報として算出する。
【００２５】
ここで、本実施例において、閾値未満の特徴量が算出された画素を含む領域を、「無特徴領域」と名付ける。「無特徴領域」は、特徴量が低い画素の集合（画素値の変化が少ない領域）であるが、特徴量が無い（例えば特徴量が０）である画素のみを含む領域とは限らない。
【００２６】
また、位置情報算出部１３は、例えば、各無特徴領域について、参照画像内の所定の基準点から当該無特徴領域への方向、当該基準点から当該無特徴領域までの距離、および当該無特徴領域の面積を、各無特徴領域の位置関係を示す情報として算出する。各無特徴領域の方向、距離、および面積の算出手順については、図２〜図６を用いて説明する。
【００２７】
図２〜図６は、実施例１において、参照画像２０における無特徴領域の特定方法の一例を説明するための概念図である。例えば図２に示す参照画像２０を取得部１１から受け取ると、特徴量算出部１２は、参照画像２０に含まれるそれぞれの画素について特徴量を算出する。
【００２８】
位置情報算出部１３は、例えば図３に示すように、特徴量算出部１２によって算出された画素毎の特徴量に基づいて、閾値未満の特徴量が算出された画素２１を特定する。そして、位置情報算出部１３は、例えば図４に示すように、特徴量が閾値未満であるそれぞれ画素２１を、いくつかの無特徴領域にグループ化する。本実施例において、位置情報算出部１３は、無特徴領域を楕円形状の領域に近似してグループ化するが、他の例として、位置情報算出部１３は、無特徴領域を、円、矩形、または多角形などの形状の領域に近似してグループ化してもよい。
【００２９】
なお、位置情報算出部１３は、所定の規則に従って、それぞれの無特徴領域に番号を割り当てる。本実施例では、位置情報算出部１３は、例えば、面積の大きな順に、それぞれの無特徴領域に番号を割り当てる。図４の例では、面積が最も大きな無特徴領域に、「領域番号１」が割り当てられ、面積が最も小さな無特徴領域に、「領域番号７」が割り当てられる。
【００３０】
次に、位置情報算出部１３は、所定の規則に従って、基準点と、それぞれの無特徴領域内の点とを特定する。本実施例では、位置情報算出部１３は、例えば図５に示すように、それぞれの無特徴領域内の点として、楕円形状の無特徴領域の重心Ｐ1〜Ｐ7をそれぞれ特定する。また、本実施例では、位置情報算出部１３は、それぞれの無特徴領域の重心の座標を平均した座標の点Ｐ0を基準点として特定する。
【００３１】
また、なお、上記の所定の規則は、参照画像に対する処理と探索画像に対する処理とで同一の規則であれば、上記の規則に限られない。例えば、基準点は、それぞれの無特徴領域内の点からの最短距離の点などであってもよく、無特徴領域内の点は、無特徴領域の重心以外の点であってもよい。
【００３２】
次に、位置情報算出部１３は、それぞれの無特徴領域について、方向、距離、および面積をそれぞれ算出する。位置情報算出部１３は、例えば図６に示すように、参照画像において予め定められた方向を基準方向ｄ0として、当該基準方向ｄ0に対して、基準点Ｐ0からｉ番目の無特徴領域内の点Ｐiへの方向θiを、当該無特徴領域の方向として算出する。
【００３３】
また、位置情報算出部１３は、例えば図６に示すように、基準点Ｐ0からｉ番目の無特徴領域内の点Ｐiまでの距離ｒiを、当該無特徴領域の距離として算出する。また、位置情報算出部１３は、ｉ番目の無特徴領域の面積Ｓiを算出する。そして、位置情報算出部１３は、それぞれの無特徴領域毎に、当該無特徴領域について求めた方向θi、距離ｒi、および面積Ｓiの情報を記憶部１４に記憶させる。なお、楕円形状の場合には、さらに長軸の方向あるいは扁平率を位置情報に加えても構わない。
【００３４】
図７は、実施例１において記憶部１４に記憶されるデータの構造の一例を示す。記憶部１４は、例えば図７に示すように、参照画像におけるそれぞれの無特徴領域を識別する領域番号１４０に対応付けて、当該無特徴領域について算出された方向１４１、距離１４２、および面積１４３を記憶する。
【００３５】
図７には、「１」の領域番号１４０に対応付けて、「θ1」の方向１４１と、「ｒ1」の距離１４２と、「Ｓ1」の面積１４３とを記憶する記憶部１４が例示されている。
【００３６】
また、位置情報算出部１３は、物体探索処理において、特徴量算出部１２から探索画像について画素毎の特徴量を受け取った場合に、予め定められた閾値未満の特徴量が算出された画素を特定する。なお、ここで用いられる閾値は、登録処理において用いられる閾値と同一である。そして、位置情報算出部１３は、特定した画素の分布を示す情報を算出する。
【００３７】
例えば図８に示すような探索画像２５を取得部１１から受け取ると、特徴量算出部１２は、探索画像２５に含まれるそれぞれの画素について特徴量を算出する。図８および図９は、実施例１において、探索画像における無特徴領域の特定方法の一例を説明するための概念図である。そして、位置情報算出部１３は、特徴量算出部１２によって算出された画素毎の特徴量に基づいて、例えば図９に示すように、閾値未満の特徴量が算出された画素２１をいくつかの無特徴領域にグループ化する。この場合も、位置情報算出部１３は、例えば、特徴量が閾値未満であり、かつ、特徴量の差が所定の範囲内の画素をグループ化する。
【００３８】
そして、位置情報算出部１３は、それぞれの無特徴領域の位置関係を示す情報を、閾値未満の特徴量が算出された画素の分布を示す情報として算出する。具体的には、位置情報算出部１３は、それぞれの無特徴領域について、方向、距離、および面積をそれぞれ算出する。ここで、探索画像において予め定められた方向を基準方向ｄ0’、探索画像上の基準点をＰ0’、ｉ番目の無特徴領域の方向をθi’、ｉ番目の無特徴領域の距離をｒi’、ｉ番目の無特徴領域の面積をＳi’とする。位置情報算出部１３は、それぞれの無特徴領域毎に、当該無特徴領域について算出した方向θ’、距離ｒ’、および面積Ｓ’を含む探索画像情報３０を類似度算出部１６へ送る。
【００３９】
図１０は、探索画像情報３０のデータ構造の一例を示す。探索画像情報３０には、例えば図１０に示すように、探索画像におけるそれぞれの無特徴領域を識別する領域番号３１に対応付けて、当該無特徴領域について算出された方向３２、距離３３、および面積３４が格納される。図１０には、「１’」の領域番号３１に対応付けて、「θ1’」の方向３２と、「ｒ1’」の距離３３と、「Ｓ1’」の面積３４とが格納された探索画像情報３０が例示されている。
【００４０】
なお、位置情報算出部１３は、探索画像の無特徴領域についても、参照画像の無特徴領域の場合と同様に、所定の規則で（例えば面積の大きい順に）番号を割り当てる。また、本実施例では、探索画像において特定される無特徴領域の数と、参照画像において特定される無特徴領域の数とが、同数であることを前提としている。
【００４１】
類似度算出部１６は、物体探索処理において、記憶部１４を参照して、参照画像において特徴量が閾値未満である画素の分布と、探索画像において特徴量が閾値未満の画素の分布との類似度を算出する。本実施例では、類似度算出部１６は、参照画像における無特徴領域の位置関係と、探索画像における無特徴領域の位置関係とに基づいて、両画像の類似度を算出する。
【００４２】
例えば、類似度算出部１６は、参照画像内の無特徴領域および探索画像内の無特徴領域について相関値を算出する。具体的には、類似度算出部１６は、参照画像内の無特徴領域および探索画像内の無特徴領域のそれぞれについて、対応付けられている方向の相関値を算出する。
【００４３】
例えば、類似度算出部１６は、図１１に示すように、参照画像における基準点Ｐ0および基準方向ｄ0と、探索画像における基準点Ｐ0’および基準方向ｄ0’とをそれぞれ一致させる。そして、類似度算出部１６は、参照画像におけるｉ番目の無特徴領域の方向と、探索画像におけるｉ’番目の無特徴領域の方向との差分Δθiに応じた値を相関値として算出する。方向について算出される相関値は、参照画像内の無特徴領域と探索画像内の無特徴領域とで方向の差が小さいほど高い値となる。そして、類似度算出部１６は、無特徴領域毎に算出した方向の相関値を、全ての無特徴領域について合計する。
【００４４】
ここで、参照画像に対して、探索画像内の物体の画像の向きが異なっていても、それぞれの無特徴領域間の相対的な方向はほぼ一定となる。そのため、無特徴領域についての方向の相関値の合計は、参照画像の向きと、探索画像内の物体の画像の向きとの差が小さくなるほど、高い値を示すことになる。
【００４５】
また、類似度算出部１６は、参照画像内の無特徴領域および探索画像内の無特徴領域のそれぞれについて、対応付けられている距離と面積の比率の相関値を算出する。例えば、類似度算出部１６は、図１１に示すように、参照画像におけるｉ番目の無特徴領域の距離ｒiと面積Ｓiの比率と、探索画像におけるｉ’番目の無特徴領域の距離ｒi’と面積Ｓi’の比率との差分に応じた値を相関値として算出する。比率について算出される相関値は、参照画像内の無特徴領域と探索画像内の無特徴領域とで距離と面積の比率の差が小さいほど高い値となる。そして、類似度算出部１６は、無特徴領域毎に算出した比率の相関値を、全ての無特徴領域について合計する。
【００４６】
ここで、参照画像に対して、探索画像内の物体の画像の大きさが異なっていても、それぞれの無特徴領域の距離と面積の比率はほぼ一定となる。そのため、無特徴領域についての距離と面積の比率の相関値の合計は、参照画像内の無特徴領域の配置と、探索画像内の物体の無特徴領域の配置との差が小さくなるほど、高い値を示すことになる。
【００４７】
そして、類似度算出部１６は、方向についての相関値の合計と、比率についての相関値の合計とに基づいて類似度を算出する。そして、類似度算出部１６は、算出した類似度を判定部１５へ送る。
【００４８】
また、判定部１５から類似度の再算出を指示された場合、類似度算出部１６は、記憶部１４に記憶された、参照画像内のそれぞれの無特徴領域の方向に所定角度を加える。これにより、類似度算出部１６は、参照画像の向きを所定角度分変更して、再び、類似度の算出を行う。
【００４９】
判定部１５は、物体探索処理において、類似度算出部１６から類似度を受け取った場合に、受け取った類似度が、予め保持した類似度の閾値以上か否かを判定する。類似度算出部１６から受け取った類似度が閾値未満の場合、判定部１５は、類似度の再算出を類似度算出部１６に指示する。類似度算出部１６から受け取った類似度が閾値以上の場合、判定部１５は、検出対象の物体が検出された旨を、ディプレイ等の出力装置や、通信回線を介して他の装置へ出力する。
【００５０】
一方、参照画像の向きを少しずつ変えながら類似度の再算出が繰り返され、参照画像の向きが元に戻っても、閾値以上の類似度が算出されなかった場合、判定部１５は、物体の検出に失敗した旨を出力装置へ出力する。なお、判定部１５は、物体の検出が成功または失敗した旨を、通信回線を介して他のコンピュータに通知したり、通信回線を介してデータベースに記録してもよい。
【００５１】
なお、位置情報算出部１３は、物体探索処理において、判定部１５によって類似度が閾値以上と判定された場合に、探索画像内の無特徴領域毎に求めた方向θi、距離ｒi、および面積Ｓiの情報（図１０参照）を、参照画像内の無特徴領域毎に求められた方向θi、距離ｒi、および面積Ｓiの情報（図７参照）として記憶部１４に記憶させてもよい。
【００５２】
［参照画像に関する情報の登録処理］
図１２は、実施例１における参照画像に関する情報の登録処理の一例を示すフローチャートである。例えば、マウス等の入力装置を介して、ユーザから参照画像の登録を指示された場合に、画像処理装置１０は、本フローチャートに示す動作を開始する。
【００５３】
まず、取得部１１は、検出対象の物体が写った参照画像を外部から取得し（Ｓ１００）、取得した参照画像を特徴量算出部１２へ送る。特徴量算出部１２は、取得部１１から受け取った参照画像に含まれる画素毎に、それぞれの画素の特徴量を算出する（Ｓ１０２）。そして、特徴量算出部１２は、算出した画素毎の特徴量を、参照画像を示す画像種別の情報と共に、位置情報算出部１３へ送る。
【００５４】
位置情報算出部１３は、特徴量算出部１２から受け取った参照画像についての画素毎の特徴量に基づいて、予め定められた閾値未満の特徴量が算出された画素を特定する。そして、位置情報算出部１３は、特定した画素をいくつかの無特徴領域にグループ化する（Ｓ１０４）。
【００５５】
次に、位置情報算出部１３は、参照画像におけるそれぞれの無特徴領域内の点（例えば重心）の座標に基づいて基準点Ｐ0を算出する。そして、位置情報算出部１３は、基準点Ｐ0から無特徴領域への方向θ、基準点Ｐ0から無特徴領域内の点までの距離ｒ、および無特徴領域の面積Ｓを、それぞれの無特徴領域について算出する（Ｓ１０６）。
【００５６】
次に、位置情報算出部１３は、例えば、面積が大きい順にそれぞれの無特徴領域に領域番号を割り当てる。そして、位置情報算出部１３は、領域番号に対応付けて、無特徴領域について算出された方向θ、距離ｒ、および面積Ｓを記憶部１４に記憶させる（Ｓ１０８）。そして、画像処理装置１０は、本フローチャートに示す動作を終了する。
【００５７】
［物体探索処理］
図１３は、実施例１における物体探索処理の一例を示すフローチャートである。例えば、マウス等の入力装置を介して、ユーザから物体の探索を指示された場合に、画像処理装置１０は、本フローチャートに示す動作を開始する。
【００５８】
まず、取得部１１は、物体が写っているか否かの判定対象となる探索画像を取得し（Ｓ２００）、取得した参照画像を特徴量算出部１２へ送る。特徴量算出部１２は、取得部１１から受け取った探索画像に含まれる画素毎に、それぞれの画素の特徴量を算出する（Ｓ２０２）。そして、特徴量算出部１２は、算出した画素毎の特徴量を、探索画像を示す画像種別の情報と共に、位置情報算出部１３へ送る。
【００５９】
次に、位置情報算出部１３は、特徴量算出部１２から受け取った探索画像についての画素毎の特徴量に基づいて、予め定められた閾値未満の特徴量が算出された画素を特定する。そして、位置情報算出部１３は、特定した画素をいくつかの無特徴領域にグループ化する（Ｓ２０４）。
【００６０】
次に、位置情報算出部１３は、探索画像におけるそれぞれの無特徴領域内の点（例えば重心）の座標に基づいて基準点Ｐ0’を算出する。そして、位置情報算出部１３は、基準点Ｐ0’から無特徴領域への方向θ’、基準点Ｐ0’から無特徴領域内の点までの距離ｒ’、および無特徴領域の面積Ｓ’を、探索画像におけるそれぞれの無特徴領域について算出する（Ｓ２０６）。
【００６１】
次に、位置情報算出部１３は、例えば、面積が大きい順にそれぞれの無特徴領域に領域番号を割り当てる。そして、位置情報算出部１３は、領域番号に対応付けて、当該無特徴領域について算出された方向θ’、距離ｒ’、および面積Ｓ’の情報を含む探索画像情報３０を類似度算出部１６へ送る。
【００６２】
次に、類似度算出部１６は、領域番号順に、未選択の領域番号を１つ選択し（Ｓ２０８）、選択した領域番号に対応付けられた方向θ、距離ｒ、および面積Ｓを記憶部１４から抽出する（Ｓ２１０）。そして、類似度算出部１６は、対応する順番の領域番号に対応付けられた方向θ’、距離ｒ’、および面積Ｓ’を位置情報算出部１３から受け取った探索画像情報３０から抽出する（Ｓ２１２）。
【００６３】
次に、類似度算出部１６は、記憶部１４から抽出した方向θと、探索画像情報３０から抽出した方向θ’との相関値を算出する。また、類似度算出部１６は、記憶部１４から抽出した距離ｒおよび面積Ｓの比率と、探索画像情報３０から抽出した距離ｒ’および面積Ｓ’の比率との相関値を算出する（Ｓ２１４）。そして、類似度算出部１６は、参照画像において領域番号を全て選択したか否かを判定する（Ｓ２１６）。未選択の領域番号がある場合（Ｓ２１６：Ｎｏ）、類似度算出部１６は、再びステップＳ２０８に示した処理を実行する。
【００６４】
一方、参照画像において領域番号を全て選択した場合（Ｓ２１６：Ｙｅｓ）、類似度算出部１６は、それぞれの領域番号について算出した方向の相関値を合計する。また、類似度算出部１６は、それぞれの領域番号について算出した距離と面積の比率の相関値を合計する。そして、類似度算出部１６は、方向についての相関値の合計と、比率についての相関値の合計とに基づいて類似度を算出する（Ｓ２１８）。そして、類似度算出部１６は、算出した類似度を判定部１５へ送る。
【００６５】
判定部１５は、類似度算出部１６から受け取った類似度が予め設定された類似度の閾値以上か否かを判定する（Ｓ２２０）。類似度が閾値以上である場合（Ｓ２２０：Ｙｅｓ）、判定部１５は、対象物体が検出された旨を、ディプレイ等へ出力し（Ｓ２２８）、画像処理装置１０は、本フローチャートに示した処理を終了する。
【００６６】
一方、類似度が閾値未満である場合（Ｓ２２０：Ｎｏ）、判定部１５は、類似度の再算出を類似度算出部１６へ指示する。類似度算出部１６は、記憶部１４に格納された、参照画像の向きを所定角度分変更する（Ｓ２２２）。そして、類似度算出部１６は、参照画像の向きが１回転して元に戻ったか否かを判定する（Ｓ２２４）。参照画像の向きが元に戻っていない場合（Ｓ２２４：Ｎｏ）、類似度算出部１６は、再びステップＳ２０８に示した処理を実行する。
【００６７】
一方、参照画像の向きが元に戻った場合（Ｓ２２４：Ｙｅｓ）、類似度算出部１６は、その旨を判定部１５に通知する。判定部１５は、物体の検出に失敗した旨を出力装置へ出力し（Ｓ２２６）、画像処理装置１０は、本フローチャートに示した処理を終了する。
【００６８】
［実施例１の効果］
以上、実施例１について説明した。本実施例の画像処理装置１０によれば、特徴量の少ない画素の分布を参照画像と探索画像とで比較する。凹凸や模様の少ない物体の画像中には、特徴量の少ない画素が多く存在する。そのため、画像処理装置１０は、そのような物体であっても、精度よく画像中から物体を検出することが可能となる。また、特徴量の少ない画素の分布は、画像上で物体の向きやサイズが変わっても変化が少ない。そのため、特徴量の少ない画素の分布を参照画像と探索画像とで比較することで、画像処理装置１０は、ロバストな物体検出が可能となる。
【００６９】
また、物体が検出されたときの参照画像の向きが、探索画像に写った物体の向きとなるので、画像処理装置１０は、探索画像内の物体の向きを検出することもできる。また、参照画像と探索画像とで、対応する無特徴領域の距離の比や面積比を求めることにより、画像処理装置１０は、参照画像を基準として、探索画像に写った物体のスケール変化量を検出することもできる。
【実施例２】
【００７０】
［画像処理装置の構成］
図１４は、実施例２における画像処理装置１０の機能構成の一例を示すブロック図である。本実施例における画像処理装置１０は、取得部１１、特徴量算出部１２、記憶部１４、判定部１５、類似度算出部１６、および領域分割部１７を有する。なお、以下に説明する点を除き、図１４において、図１と同じ符号を付した構成は、図１における構成と同一または同様の機能を有するため説明を省略する。
【００７１】
領域分割部１７は、登録処理において、特徴量算出部１２から参照画像について画素毎の特徴量を受け取った場合に、予め定められた閾値未満の特徴量が算出された画素を特定する。そして、領域分割部１７は、例えば図１５に示すように、予め定められた配列および分割数の分割枠２２を用いて、参照画像２０を所定の大きさの複数の部分領域２３に分割する。図１５は、実施例２において、部分領域毎の割合の算出方法の一例を説明するための概念図である。そして、領域分割部１７は、それぞれの部分領域２３について、特徴量が閾値未満の画素の数を算出する。
【００７２】
そして、領域分割部１７は、例えば図１６に示すように、分割したそれぞれの部分領域２３毎に、当該部分領域２３に含まれる画素の数に対する、閾値未満の特徴量の画素の数の割合を算出する。図１６は、実施例２において、参照画像における部分領域毎の割合の一例を説明するための概念図である。そして、領域分割部１７は、それぞれの部分領域２３に領域番号を割り当て、領域番号に対応付けて、対応する部分領域２３の割合を示す情報を記憶部１４に記憶させる。図１６に示されている部分領域２３毎の割合は、閾値未満の特徴量が算出された画素の分布を示している。
【００７３】
図１７は、実施例２において、記憶部１４に格納されるデータの構造の一例を示す。本実施例における記憶部１４は、例えば図１７に示すように、参照画像におけるそれぞれの部分領域２３を識別する領域番号１４５に対応付けて、当該部分領域２３に含まれる画素の数に対する、閾値未満の特徴量の画素の数の割合１４６を記憶する。図１７には、「１」等の領域番号１４５に対応付けて、「０．００」等の割合１４６を記憶する記憶部１４が例示されている。
【００７４】
また、領域分割部１７は、物体探索処理において、特徴量算出部１２から探索画像について画素毎の特徴量を受け取った場合、参照画像を分割した場合に用いた分割枠２２と同じ配列および分割数の分割枠２６の大きさ、探索画像上での位置、および探索画像上での向きを選択する。本実施例において、分割枠２６の大きさ、位置、および向きのパターンは、それぞれ、予め所定数（例えば数十〜数百）のパターンに特定されている。
【００７５】
そして、領域分割部１７は、例えば図１８に示すように、選択した大きさ、位置、および向きの分割枠２６を探索画像上に重畳させる。そして、領域分割部１７は、当該分割枠２６に含まれるそれぞれの部分領域２７について、当該部分領域２７に含まれる画素の数に対する、閾値未満の特徴量の画素の数の割合を算出する。図１８および図１９は、実施例２において、探索画像内の物体を探索する過程の一例を説明するための概念図である。
【００７６】
そして、領域分割部１７は、部分領域２７毎に、算出した割合を類似度算出部１６へ送る。また、判定部１５から割合の再算出を指示された場合、領域分割部１７は、分割枠２６の大きさ、位置、または向きの少なくともいずれかを変更して、探索画像における部分領域２７毎の割合を再度算出する。
【００７７】
なお、分割枠２６の大きさ、位置、および向きにおいて予め特定された全てのパターンを用いて、探索画像における部分領域２７毎の割合を算出した場合、領域分割部１７は、その旨を判定部１５に通知する。
【００７８】
類似度算出部１６は、物体探索処理において、領域分割部１７から探索画像における部分領域２７毎の割合の情報を受け取った場合に、参照画像における部分領域２３毎の割合を記憶部１４から抽出する。そして、類似度算出部１６は、探索画像における部分領域２７毎の割合の分布と、参照画像における部分領域２３毎の割合の分布との類似度を算出し、算出した類似度を判定部１５へ送る。類似度算出部１６は、例えば、対応する部分領域どうしの割合の差の絶対値を求め、求めた値を全ての部分領域について合計し、合計値の例えば逆数を類似度として算出する。
【００７９】
判定部１５は、物体探索処理において、類似度算出部１６から類似度を受け取った場合に、受け取った類似度が、予め保持した類似度の閾値以上か否かを判定する。類似度算出部１６から受け取った類似度が閾値未満の場合、判定部１５は、割合の再算出を領域分割部１７に指示する。類似度算出部１６から受け取った類似度が閾値以上の場合、判定部１５は、検出対象の物体が検出された旨を、ディプレイ等の出力装置や、通信回線を介して他の装置へ出力する。
【００８０】
例えば、図１９に示すような大きさ、位置、および向きの分割枠２６が探索画像２５に重畳された場合、各部分領域２７における、特徴量が閾値未満である画素の割合は、参照画像の各部分領域における、特徴量が閾値未満である画素の割合に近い値となる。そのため、部分領域毎の差分の絶対値が小さい値となり、その合計に応じた類似度は大きい値となる。
【００８１】
一方、割合の再算出の指示に対して、全ての分割枠２６の大きさ、位置、および向きのパターンについて割合の算出を行った旨を領域分割部１７から通知された場合、判定部１５は、物体の検出に失敗した旨を出力装置へ出力する。
【００８２】
［参照画像に関する情報の登録処理］
図２０は、実施例２における参照画像の登録処理の一例を示すフローチャートである。例えば、マウス等の入力装置を介して、ユーザから参照画像の登録を指示された場合に、画像処理装置１０は、本フローチャートに示す動作を開始する。
【００８３】
まず、取得部１１は、検出対象の物体が写った参照画像を外部から取得し（Ｓ３００）、取得した参照画像を特徴量算出部１２へ送る。特徴量算出部１２は、取得部１１から受け取った参照画像に含まれる画素毎に、それぞれの画素の特徴量を算出する（Ｓ３０２）。そして、特徴量算出部１２は、算出した画素毎の特徴量を、参照画像を示す画像種別の情報と共に、領域分割部１７へ送る。
【００８４】
領域分割部１７は、予め定められた閾値未満の特徴量が算出された画素を特定する。そして、領域分割部１７は、例えば図１５で説明したように、予め定められた配列および分割数の分割枠２２を用いて、参照画像２０を所定の大きさの複数の部分領域２３に分割する（Ｓ３０４）。
【００８５】
次に、領域分割部１７は、それぞれの部分領域２３について、特徴量が閾値未満の画素の数を算出する。そして、領域分割部１７は、例えば図１６で説明したように、分割したそれぞれの部分領域２３毎に、当該部分領域２３に含まれる画素の数に対する、閾値未満の特徴量の画素の数の割合を算出する（Ｓ３０６）。
【００８６】
次に、領域分割部１７は、それぞれの部分領域２３に領域番号を割り当てる。そして、領域分割部１７は、領域番号に対応付けて、対応する部分領域２３の割合を示す情報を記憶部１４に記憶させ（Ｓ３０８）、画像処理装置１０は、本フローチャートに示した処理を終了する。
【００８７】
［物体探索処理］
図２１は、実施例２における物体探索処理の一例を示すフローチャートである。例えば、マウス等の入力装置を介して、ユーザから物体の探索を指示された場合に、画像処理装置１０は、本フローチャートに示す動作を開始する。
【００８８】
まず、取得部１１は、物体が写っているか否かの判定対象となる探索画像を外部から取得し（Ｓ４００）、取得した参照画像を特徴量算出部１２へ送る。特徴量算出部１２は、取得部１１から受け取った探索画像に含まれる画素毎に、それぞれの画素の特徴量を算出する（Ｓ４０２）。そして、特徴量算出部１２は、算出した画素毎の特徴量を、探索画像を示す画像種別の情報と共に、領域分割部１７へ送る。
【００８９】
次に、領域分割部１７は、参照画像を分割した場合に用いた分割枠２２と同じ配列および分割数の分割枠２６について、予め定められた分割枠２６の大きさのパターンの中から、未選択の大きさを１つ選択する（Ｓ４０４）。そして、領域分割部１７は、予め定められた分割枠２６の向きのパターンの中から、未選択の向きを１つ選択する（Ｓ４０６）。そして、領域分割部１７は、予め定められた分割枠２６の位置のパターンの中から、未選択の位置を１つ選択する（Ｓ４０８）。
【００９０】
次に、領域分割部１７は、例えば図１８で説明したように、選択した大きさ、位置、および向きの分割枠２６を探索画像上に重畳させる。そして、領域分割部１７は、当該分割枠２６に含まれるそれぞれの部分領域２７について、当該部分領域２７に含まれる画素の数に対する、閾値未満の特徴量の画素の数の割合を算出する（Ｓ４１０）。そして、領域分割部１７は、部分領域２７毎に算出した割合を類似度算出部１６へ送る。
【００９１】
次に、類似度算出部１６は、参照画像における部分領域２３毎の割合を記憶部１４から抽出する。そして、類似度算出部１６は、探索画像における部分領域２７毎の割合の分布と、参照画像における部分領域２３毎の割合の分布との類似度を算出する（Ｓ４１２）。そして、分割枠２６は、算出した類似度を判定部１５へ送る。
【００９２】
次に、判定部１５は、受け取った類似度が、予め保持した類似度の閾値以上か否かを判定する（Ｓ４１４）。類似度が閾値以上である場合（Ｓ４１４：Ｙｅｓ）、判定部１５は、検出対象の物体が検出された旨を、ディプレイ等へ出力し（Ｓ４２４）、画像処理装置１０は、本フローチャートに示した処理を終了する。
【００９３】
一方、類似度が閾値未満である場合（Ｓ４１４：Ｎｏ）、判定部１５は、割合の再算出を領域分割部１７に指示する。領域分割部１７は、分割枠２６の全ての位置のパターンを選択したか否かを判定する（Ｓ４１６）。未選択の位置のパターンが存在する場合（Ｓ４１６：Ｎｏ）、領域分割部１７は、再びステップＳ４０８に示した処理を実行する。
【００９４】
分割枠２６の全ての位置のパターンを選択した場合（Ｓ４１６：Ｙｅｓ）、領域分割部１７は、分割枠２６の全ての向きのパターンを選択したか否かを判定する（Ｓ４１８）。未選択の向きのパターンが存在する場合（Ｓ４１８：Ｎｏ）、領域分割部１７は、再びステップＳ４０６に示した処理を実行する。
【００９５】
分割枠２６の全ての向きのパターンを選択した場合（Ｓ４１８：Ｙｅｓ）、領域分割部１７は、分割枠２６の全ての大きさのパターンを選択したか否かを判定する（Ｓ４２０）。未選択の大きさのパターンが存在する場合（Ｓ４２０：Ｎｏ）、領域分割部１７は、再びステップＳ４０４に示した処理を実行する。
【００９６】
分割枠２６の全ての大きさのパターンを選択した場合（Ｓ４２０：Ｙｅｓ）、領域分割部１７は、分割枠２６の全ての大きさ、位置、および向きのパターンを選択した旨を判定部１５に通知する。判定部１５は、物体の検出に失敗した旨を出力装置へ出力し（Ｓ４２２）、画像処理装置１０は、本フローチャートに示した処理を終了する。
【００９７】
［実施例２の効果］
以上、実施例２について説明した。本実施例の画像処理装置１０によれば、凹凸の少ない物体であっても、精度よく画像中から物体を検出することが可能となる。また、画像処理装置１０は、画像上での物体の向きやサイズの変化にロバストな物体検出が可能となる。
【００９８】
［画像処理プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図２２を用いて、上記の実施例と同様の機能を有する画像処理プログラムを実行するコンピュータの一例について説明する。
【００９９】
図２２は、実施例１または実施例２に係る画像処理プログラムを実行するコンピュータの一例について説明するための図である。図２２に示すように、コンピュータ１００は、操作部１１０ａと、スピーカ１１０ｂと、カメラ１１０ｃと、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ１７０と、ＲＡＭ１８０とを有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【０１００】
ＨＤＤ１７０には、図２２に示すように、画像処理プログラム１７０ａが予め記憶される。上記実施例１では、画像処理プログラム１７０ａがコンピュータ１００に読み込まれることにより、取得部１１、特徴量算出部１２、位置情報算出部１３、記憶部１４、判定部１５、および類似度算出部１６と同様の機能を発揮する。また、上記実施例２では、画像処理プログラム１７０ａがコンピュータ１００に読み込まれることにより、取得部１１、特徴量算出部１２、記憶部１４、判定部１５、類似度算出部１６、および領域分割部１７と同様の機能を発揮する。
【０１０１】
この画像処理プログラム１７０ａについては、図１または図１４に示した各々の構成要素と同様、適宜統合又は分離しても良い。また、ＨＤＤ１７０に格納される各データは、常に全てのデータがＨＤＤ１７０に格納される必要はなく、処理に必要なデータのみがＨＤＤ１７０に格納されれば良い。
【０１０２】
そして、ＣＰＵ１５０が、画像処理プログラム１７０ａをＨＤＤ１７０から読み出してＲＡＭ１８０に展開する。これによって、図２２に示すように、画像処理プログラム１７０ａは、画像処理プロセス１８０ａとして機能する。この画像処理プロセス１８０ａは、ＨＤＤ１７０から読み出した各種データを適宜ＲＡＭ１８０上の自身に割り当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。
【０１０３】
なお、上記実施例１における画像処理プロセス１８０ａは、図１に示した取得部１１、特徴量算出部１２、位置情報算出部１３、記憶部１４、判定部１５、および類似度算出部１６にて実行される処理、例えば図１２〜図１３に示す処理を含む。また、上記実施例２における画像処理プロセス１８０ａは、図１４に示した取得部１１、特徴量算出部１２、記憶部１４、判定部１５、類似度算出部１６、および領域分割部１７にて実行される処理、例えば図２０〜図２１に示す処理を含む。ＣＰＵ１５０上で仮想的に実現される各処理部は、常に全ての処理部がＣＰＵ１５０上で動作する必要はなく、処理に必要な処理部のみが仮想的に実現されれば良い。
【０１０４】
なお、上記の画像処理プログラム１７０ａについては、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶させておく必要はない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ１００がこれらから各プログラムを取得して実行するようにしてもよい。
【０１０５】
［他の実施例］
上記した実施例では、特徴量が所定の閾値未満である画素の分布に基づいて、参照画像と探索画像の類似度を算出し、算出した類似度に基づいて検出対象の物体が探索画像に写っているか否かを判定したが、開示の技術はこれに限られない。例えば、特徴量が閾値以上の画素に基づいて、参照画像と探索画像との類似度を算出し、算出した類似度と、上記した実施例により算出された類似度とを用いて、検出対象の物体が探索画像に写っているか否かを判定するようにしてもよい。
【０１０６】
この場合、記憶部１４には、参照画像から抽出された特定の画素の位置の情報が記憶される。また、画像処理装置１０には、取得部１１によって取得された画像に含まれる画素の中から、特徴量が閾値以上の画素を抽出し、抽出した画素の位置と、記憶部１４に記憶された特定の画素の位置とに基づいて、類似度を算出する処理部が設けられる。なお、閾値以上の特徴量の画素を抽出するために用いられる閾値は、上記した各実施例において無特徴領域を特定するために用いられた閾値よりも大きい値である。
【０１０７】
このように、２つの異なる方法で算出された類似度を組み合わせて判定を行うことにより、画像処理装置１０は、細かいパターンの多い物体、あるいは、模様の無い面で構成された物体のどちらに対しても、物体の検出精度を向上させることができる。
【０１０８】
なお、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【０１０９】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１１０】
（付記１）所定の物体の探索に用いられる参照画像から抽出された特定の画素の分布を記憶する記憶部と、
前記参照画像に含まれる所定の物体が探索される探索画像を取得する取得部と、
前記探索画像に含まれる画素毎に特徴量を算出する第１の算出部と、
前記第１の算出部によって算出された特徴量が閾値未満である画素のグループの分布を算出する第２の算出部と、
前記第２の算出部によって算出された画素のグループの分布と、前記記憶部に記憶された画素のグループの分布とに基づいて類似度を算出する第３の算出部と、
前記第３の算出部によって算出された類似度に基づいて、前記探索画像に前記所定の物体が存在するか否かを判定する判定部と、
を有することを特徴とする画像処理装置。
【０１１１】
（付記２）前記第２の算出部は、
前記判定部によって、前記所定の物体が存在すると判定された前記探索画像を前記参照画像として、当該参照画像について算出した画素の分布を前記記憶部に記憶させることを特徴とする付記１に記載の画像処理装置。
【０１１２】
（付記３）前記第３の算出部は、
前記第２の算出部によって算出された領域間の位置関係と、前記記憶部に記憶された領域間の位置関係とに基づいて前記類似度を算出することを特徴とする付記１または２に記載の画像処理装置。
【０１１３】
（付記４）前記記憶部は、
前記特定の画素を含むそれぞれの領域について、所定の基準点から当該領域への方向、当該基準点から当該領域までの距離、および当該領域の面積を、前記特定の画素を含む領域間の位置関係として記憶し、
前記第２の算出部は、
前記特定したそれぞれの領域について、所定の基準点から当該領域への方向、当該基準点から当該領域までの距離、および当該領域の面積を、特定した領域間の位置関係として算出し、
前記第３の算出部は、
それぞれの領域について、前記第２の算出部によって算出された方向、距離、および面積と、前記記憶部に記憶された方向、距離、および面積とに基づいて前記類似度を算出することを特徴とする付記３に記載の画像処理装置。
【０１１４】
（付記５）前記第２の算出部は、
前記特徴量が閾値未満であり、かつ、隣接する画素間の前記特徴量の差が所定範囲内の画素をグループ化することを特徴とする付記１または２に記載の画像処理装置。
【０１１５】
（付記６）前記第２の算出部は、
各画素の色情報またはテクスチャ情報の少なくともいずれかを用いて、前記特徴量が閾値未満である画素をグループ化することを特徴とする付記１または２に記載の画像処理装置。
【０１１６】
（付記７）前記記憶部は、
前記参照画像が複数の部分領域に分割され、前記部分領域毎に当該部分領域に含まれる特定の画素の割合を、前記特定の画素のグループの分布として記憶し、
前記第２の算出部は、
前記探索画像を複数の部分領域に分割し、分割した部分領域毎の割合であって、当該部分領域に含まれる、前記特徴量が閾値未満である画素の割合を、前記特徴量が閾値未満である画素の分布として算出し、
前記第３の算出部は、
それぞれの前記部分領域における、前記記憶部に記憶された割合と、前記第２の算出部によって算出された割合とに基づいて、前記類似度を算出することを特徴とする付記１または２に記載の画像処理装置。
【０１１７】
（付記８）前記記憶部は、
前記物体が写った画像から抽出された別な特定の画素の位置をさらに記憶し、
当該画像処理装置は、
前記取得部によって取得された画像に含まれる画素の中から、前記特徴量が前記閾値よりも大きい別な閾値以上の画素を抽出し、抽出した画素の位置と、前記記憶部に記憶された前記別な特定の画素の位置とに基づいて、前記類似度を算出する第４の算出部をさらに有し、
前記判定部は、
前記第４の算出部によって算出された前記類似度をさらに用いて、前記取得部によって取得された画像に検出対象の物体が存在するか否かを判定することを特徴とする付記１から７のいずれか１つに記載の画像処理装置。
【０１１８】
（付記９）コンピュータが、
所定の物体が探索される探索画像を取得し、
取得した前記探索画像に含まれる画素毎に特徴量を算出し、
算出した特徴量が閾値未満である画素のグループの分布を算出し、
前記所定の物体の探索に用いられる参照画像から抽出された特定の画素の分布を記憶する記憶部を参照して、当該記憶部に記憶された画素のグループの分布と、算出した画素のグループの分布とに基づいて類似度を算出し、
算出した類似度に基づいて、前記探索画像に前記所定の物体が存在するか否かを判定する
処理を実行することを特徴とする画像処理方法。
【０１１９】
（付記１０）コンピュータに、
所定の物体が探索される探索画像を取得し、
取得した前記探索画像に含まれる画素毎に特徴量を算出し、
算出した特徴量が閾値未満である画素のグループの分布を算出し、
前記所定の物体の探索に用いられる参照画像から抽出された特定の画素の分布を記憶する記憶部を参照して、当該記憶部に記憶された画素のグループの分布と、算出した画素のグループの分布とに基づいて類似度を算出し、
算出した類似度に基づいて、前記探索画像に前記所定の物体が存在するか否かを判定する
処理を実行させることを特徴とする画像処理プログラム。
【符号の説明】
【０１２０】
１０  画像処理装置
１１  取得部
１２  特徴量算出部
１３  位置情報算出部
１４  記憶部
１５  判定部
１６  類似度算出部
【図１】
2015064698.tif 000003
【図２】
2015064698.tif 000004
【図３】
2015064698.tif 000005
【図４】
2015064698.tif 000006
【図５】
2015064698.tif 000007
【図６】
2015064698.tif 000008
【図７】
2015064698.tif 000009
【図８】
2015064698.tif 000010
【図９】
2015064698.tif 000011
【図１０】
2015064698.tif 000012
【図１１】
2015064698.tif 000013
【図１２】
2015064698.tif 000014
【図１３】
2015064698.tif 000015
【図１４】
2015064698.tif 000016
【図１５】
2015064698.tif 000017
【図１６】
2015064698.tif 000018
【図１７】
2015064698.tif 000019
【図１８】
2015064698.tif 000020
【図１９】
2015064698.tif 000021
【図２０】
2015064698.tif 000022
【図２１】
2015064698.tif 000023
【図２２】
2015064698.tif 000024