(57)【要約】【課題】外れ値に相当する特徴点の情報を特徴点の明るさに基づいて除外する。【解決手段】画像処理装置（１００）は、特徴点の明るさ又は特徴点及びその近傍の明るさと相関する属性値を、第１の画像の複数個の特徴点と、当該複数個の特徴点に対応する第２の画像の複数個の特徴点の複数組のペアについて示す情報を取得する取得部（１１０）と、前記複数組のペアから一部を抽出するためのモデルを前記取得された情報に基づいて決定する決定部（１２０）と、前記決定されたモデルに適合するペアを抽出する抽出部（１３０）とを備える。【選択図】      図１
2017041113.tif 000002
【特許請求の範囲】
【請求項１】
特徴点の明るさ又は特徴点及びその近傍の明るさと相関する属性値を、第１の画像の複数個の特徴点と、当該複数個の特徴点に対応する第２の画像の複数個の特徴点の複数組のペアについて示す情報を取得する取得手段と、
前記複数組のペアから一部を抽出するためのモデルを前記取得された情報に基づいて決定する決定手段と、
前記決定されたモデルに適合するペアを抽出する抽出手段と
を備える画像処理装置。
【請求項２】
前記決定手段は、前記モデルを規定するパラメータを前記情報に基づいて決定する
請求項１に記載の画像処理装置。
【請求項３】
前記決定手段は、複数のモデルの少なくともいずれかについてパラメータを決定する
請求項２に記載の画像処理装置。
【請求項４】
前記抽出手段は、前記決定されたモデルによって抽出されたペアが所定の組数に満たない場合に、前記複数組のペアのうち当該モデルによって除外されたペアのいずれかからさらに抽出する
請求項１から請求項３までのいずれか１項に記載の画像処理装置。
【請求項５】
前記モデルは、前記第１の画像の属性値と前記第２の画像の属性値を変数とする関数に従い、
前記パラメータは、関数の定数又は係数を表す
請求項１から請求項４までのいずれか１項に記載の画像処理装置。
【請求項６】
前記モデルは、前記第１の画像の属性値と前記第２の画像の属性値を変数とする一次関数に従い、
前記パラメータは、一次関数の切片及び傾きの少なくともいずれかを表す
請求項５に記載の画像処理装置。
【請求項７】
前記モデルは、前記第１の画像の特徴点の属性値を表す軸と前記第２の画像の特徴点の属性値を表す軸とにより定まる直交座標系に配置される所定の図形を表し、
前記パラメータは、前記図形の位置及び形状の少なくともいずれかを表す
請求項１から請求項４までのいずれか１項に記載の画像処理装置。
【請求項８】
第１の画像に含まれる特徴点と第２の画像に含まれる特徴点の複数組のペアを示す情報を取得する取得手段と、
前記複数組のペアの一部を、特徴点同士の明るさ又は特徴点及びその近傍同士の明るさに基づいて抽出する第１の抽出手段と、
前記抽出されたペアの一部を、他の特徴点との位置関係に基づいて抽出する第２の抽出手段と、
前記第２の抽出手段により抽出されたペアを用いて処理を実行する処理実行手段と
を備える画像処理システム。
【請求項９】
第１の画像と第２の画像に含まれる特徴点の特徴量をそれぞれ特定する第１の特定手段と、
前記特定された特徴量に基づいて、対応関係を有する前記第１の画像の特徴点と前記第２の画像の特徴点のペアを特定する第２の特定手段とを備え、
前記取得手段は、前記特定されたペアを示す情報を取得する
請求項８に記載の画像処理システム。
【請求項１０】
前記第１の抽出手段は、
特徴点の明るさ又は特徴点及びその近傍の明るさと相関する属性値を、第１の画像の複数個の特徴点と、当該複数個の特徴点に対応する第２の画像の複数個の特徴点の複数組のペアについて示す情報を取得し、
前記複数組のペアから一部を抽出するためのモデルを前記取得された情報に基づいて決定し、
前記決定されたモデルに適合するペアを抽出する
請求項８又は請求項９に記載の画像処理システム。
【請求項１１】
特徴点の明るさ又は特徴点及びその近傍の明るさと相関する属性値を、第１の画像の複数個の特徴点と、当該複数個の特徴点に対応する第２の画像の複数個の特徴点の複数組のペアについて示す情報を取得し、
前記複数組のペアから一部を抽出するためのモデルを前記取得された情報に基づいて決定し、
前記決定されたモデルに適合するペアを抽出する
画像処理方法。
【請求項１２】
第１の画像に含まれる特徴点と第２の画像に含まれる特徴点の複数組のペアを示す情報を取得し、
前記複数組のペアの一部を、特徴点同士の明るさ又は特徴点及びその近傍同士の明るさに基づいて抽出し、
前記抽出されたペアの一部を、他の特徴点との位置関係に基づいて抽出し、
位置関係に基づいて抽出されたペアを用いて処理を実行する
画像処理方法。
【請求項１３】
コンピュータに、
特徴点の明るさ又は特徴点及びその近傍の明るさと相関する属性値を、第１の画像の複数個の特徴点と、当該複数個の特徴点に対応する第２の画像の複数個の特徴点の複数組のペアについて示す情報を取得するステップと、
前記取得された複数組のペアから一部を抽出するためのモデルを前記取得された情報に基づいて決定するステップと、
前記決定されたモデルに適合するペアを抽出するステップと
を実行させるためのプログラム。
【請求項１４】
コンピュータに、
第１の画像に含まれる特徴点と第２の画像に含まれる特徴点の複数組のペアを示す情報を取得するステップと、
前記複数組のペアの一部を、特徴点同士の明るさ又は特徴点及びその近傍同士の明るさに基づいて抽出するステップと、
前記抽出されたペアの一部を、他の特徴点との位置関係に基づいて抽出するステップと、
位置関係に基づいて抽出された特徴点のペアを用いて処理を実行するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理に関する。
【背景技術】
【０００２】
画像から特徴点を抽出する技術が知られている（例えば、特許文献１、２参照）。また、２つの画像を特徴点に基づいて合成する技術も知られている（例えば、特許文献２参照）。２つの画像を比較する場合には、一般に、画像の明るさの相違に対して頑健（ロバスト）な特徴量が用いられる。このような特徴量としては、例えば、ＳＩＦＴ（Scale-Invariant Feature Transform）やＳＵＲＦ（Speeded Up Robust Features）によって求められる局所特徴量が知られている。
【０００３】
２つの画像を合成又は照合する場合に、いわゆる外れ値（Outlier）を除外することがある。外れ値の除外は、２つの画像の幾何学的整合性を検証することで行われる。画像の幾何学的整合性の検証には、例えばＲＡＮＳＡＣ（RANdom SAmple Consensus）が用いられる（例えば、特許文献３参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−０００２０５号公報
【特許文献２】国際公開第２００６／１３１９６７号
【特許文献３】特開２０１５−０４５９２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
明るさの変化に対して頑健な特徴量を用いて特徴点を抽出するということは、換言すれば、特徴点の明るさに関する情報を軽視しているともいえる。
【０００６】
本発明の目的の一つは、外れ値に相当する特徴点の情報を特徴点の明るさに基づいて除外することにある。
【課題を解決するための手段】
【０００７】
本発明の一態様に係る画像処理装置は、特徴点の明るさ又は特徴点及びその近傍の明るさと相関する属性値を、第１の画像の複数個の特徴点と、当該複数個の特徴点に対応する第２の画像の複数個の特徴点の複数組のペアについて示す情報を取得する取得手段と、前記複数組のペアから一部を抽出するためのモデルを前記取得された情報に基づいて決定する決定手段と、前記決定されたモデルに適合するペアを抽出する抽出手段とを備える。
【０００８】
本発明の一態様に係る画像処理システムは、第１の画像に含まれる特徴点と第２の画像に含まれる特徴点の複数組のペアを示す情報を取得する取得手段と、前記複数組のペアの一部を、特徴点同士の明るさ又は特徴点及びその近傍同士の明るさに基づいて抽出する第１の抽出手段と、前記抽出されたペアの一部を、他の特徴点との位置関係に基づいて抽出する第２の抽出手段と、前記第２の抽出手段により抽出されたペアを用いて処理を実行する処理実行手段とを備える。
【０００９】
本発明の一態様に係る画像処理方法は、特徴点の明るさ又は特徴点及びその近傍の明るさと相関する属性値を、第１の画像の複数個の特徴点と、当該複数個の特徴点に対応する第２の画像の複数個の特徴点の複数組のペアについて示す情報を取得し、前記複数組のペアから一部を抽出するためのモデルを前記取得された情報に基づいて決定し、前記決定されたモデルに適合するペアを抽出する。
【００１０】
本発明の一態様に係る画像処理方法は、第１の画像に含まれる特徴点と第２の画像に含まれる特徴点の複数組のペアを示す情報を取得し、前記複数組のペアの一部を、特徴点同士の明るさ又は特徴点及びその近傍同士の明るさに基づいて抽出し、前記抽出されたペアの一部を、他の特徴点との位置関係に基づいて抽出し、位置関係に基づいて抽出されたペアを用いて処理を実行する。
【００１１】
本発明の一態様に係るプログラムは、コンピュータに、特徴点の明るさ又は特徴点及びその近傍の明るさと相関する属性値を、第１の画像の複数個の特徴点と、当該複数個の特徴点に対応する第２の画像の複数個の特徴点の複数組のペアについて示す情報を取得するステップと、前記取得された複数組のペアから一部を抽出するためのモデルを前記取得された情報に基づいて決定するステップと、前記決定されたモデルに適合するペアを抽出するステップとを実行させる。
【００１２】
本発明の一態様に係るプログラムは、コンピュータに、第１の画像に含まれる特徴点と第２の画像に含まれる特徴点の複数組のペアを示す情報を取得するステップと、前記複数組のペアの一部を、特徴点同士の明るさ又は特徴点及びその近傍同士の明るさに基づいて抽出するステップと、前記抽出されたペアの一部を、他の特徴点との位置関係に基づいて抽出するステップと、位置関係に基づいて抽出された特徴点のペアを用いて処理を実行するステップとを実行させる。
【発明の効果】
【００１３】
本発明によれば、外れ値に相当する特徴点の情報を特徴点の明るさに基づいて除外することが可能である。
【図面の簡単な説明】
【００１４】
【図１】図１は、画像処理装置の構成の一例を示すブロック図である。
【図２】図２は、モデルパターンの一例を示す図である。
【図３】図３は、正しい対応点と誤った対応点の輝度値をプロットしたグラフの模式図である。
【図４】図４は、画像処理システムの構成を示すブロック図である。
【図５】図５は、画像処理システムが実行する動作の一例を示すフローチャートである。
【図６】図６は、画像処理システムが実行する動作の一例を示すフローチャートである。
【図７】図７は、画像処理システムが実行する動作の一例を示すフローチャートである。
【図８】図８は、モデルパターンの他の例を示す図である。
【図９】図９は、モデルパターンの他の例を示す図である。
【図１０】図１０は、画像処理システムのハードウェア構成の一例を示すブロック図である。
【図１１】図１１は、画像処理装置又は画像処理システムを実現するコンピュータ装置のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１５】
［第１実施形態］
図１は、本発明の一実施形態に係る画像処理装置１００の構成を示すブロック図である。画像処理装置１００は、２つの画像の対応点の一部を抽出し、残りを除外するための情報処理装置である。画像処理装置１００は、取得部１１０と、決定部１２０と、抽出部１３０とを少なくとも備える。
【００１６】
ここにおいて、対応点とは、比較される２つの画像に含まれる特徴点のうち、対応関係を有する特徴点のペアのそれぞれをいう。対応点のペアは、例えば、同一の被写体（物品のロゴ、建造物など）の同一の位置を表す。対応点の典型的な一例は、物体、図形、記号などのエッジやコーナーを表す点（画素）である。ただし、対応点は、このような特徴点のみに限定されない。
【００１７】
本実施形態において比較される２つの画像は、例えば、同一の被写体を含んだ画像である。ただし、これらの画像は、必ずしも同一の画像ではなく、撮影条件（明るさ、色合いなど）、撮影角度又は撮影距離が異なっていたり、重複（オーバーラップ）する部分とそうでない部分とを含んでいたりする。また、画像処理装置１００は、類似しない２つの画像を比較することも可能である。しかし、このような画像のペアに含まれる対応点は、類似する画像のペアと比べると当然ながら少ない。
【００１８】
取得部１１０は、画像に関する情報を取得する。例えば、取得部１１０は、画像に関する情報として対応点情報を取得する。ここにおいて、対応点情報とは、対応点について記述された情報をいう。本実施形態の対応点情報は、それぞれの画像の対応点の画素値を少なくとも含む。ここでいう画素値は、画素の明るさに関する属性値の一例であり、所定の色空間で表現された階調値や輝度値などである。対応点情報は、対応点の画素値に加え、座標情報を含んでもよい。
【００１９】
以下においては、説明の便宜上、取得部１１０が対応点情報を取得する対応点のペアの数を「Ｎ」とする。ただし、このＮの具体的な値は、特に決められていなくてもよい。Ｎの値は、比較対象となる画像に応じて異なり得る。
【００２０】
取得部１１０は、外部装置や記憶媒体から対応点情報を取得する。本実施形態において、特徴点及び対応点の特定は、外部装置で事前に実行されるものとする。特徴点及び対応点の特定方法は、特に限定されず、周知のさまざまな方法が適用され得る。
【００２１】
決定部１２０は、取得部１１０により取得された対応点情報が表すＮ組の対応点のペアから一部のペアを抽出するモデルを決定する。決定部１２０は、取得部１１０により取得された対応点情報に基づいてモデルを決定する。
【００２２】
決定部１２０によるモデルの決定方法は、複数ある。例えば、決定部１２０は、あらかじめ決められたモデルの概形に適用するパラメータを決定することで、対応点に適用するモデルを決定することができる。ここでいうパラメータは、モデルを規定する１又は複数の数値である。以下においては、モデルの概形のことを「モデルパターン」という。
【００２３】
抽出部１３０は、決定部１２０により決定されたモデルに適合するペアを抽出する。抽出部１３０は、決定部１２０により決定されたモデルをＮ組の対応点のペアに適用し、対応点のペアの一部を抽出する。以下においては、説明の便宜上、抽出されるペアの数を「Ｍ」とする。ここにおいて、Ｍは、Ｍ＜Ｎを満たせば、その具体的な値は限定されない。抽出部１３０は、抽出したＭ組のペアを示す対応点情報を他の装置に出力する。
【００２４】
図２は、モデルパターンの一例を示す図である。このモデルパターンのことを、以下においては「直線モデル」という。ここにおいて、グラフの縦軸及び横軸は、第１の画像の特徴点の輝度値と、第２の画像の特徴点の輝度値とをそれぞれ表す。
【００２５】
ここで、横軸の値をｘ、縦軸の値をｙとすると、図中の直線は、
ｙ＝ａｘ＋ｂ
と表すことができる。ａ及びｂは、一次関数の定数又は係数であり、それぞれ一次関数の傾きと切片である。
【００２６】
また、図中の破線は、上述した一次関数に対して所定の値ｃを加算又は減算した一次関数を示す。すなわち、これらの直線は、
ｙ＝ａｘ＋ｂ±ｃ
と表すことができる。
【００２７】
この例においては、ａ、ｂ及びｃの少なくともいずれかがパラメータとして用いられる。すなわち、決定部１２０は、この場合、ａ、ｂ及びｃの少なくともいずれかを対応点情報に基づいて決定する。ａ、ｂ又はｃの一部は、あらかじめ決められた値が用いられてもよい。
【００２８】
決定部１２０は、例えば、画素値に対して最小二乗法を用いることによってａ及びｂを決定する。この場合、決定部１２０は、例えば、Ｎ個の対応点をｘｙ平面にプロットしたときに、全ての対応点のペアのうちの所定の割合（例えば８割）のペアがｙ＝ａｘ＋ｂ±ｃの範囲に含まれるようにｃの値を決定してもよい。あるいは、ｃの値は、処理量を少なくするために、あらかじめ決められていてもよい。
【００２９】
なお、決定部１２０によるモデルの決定方法は、最小二乗法を用いる方法に限定されない。決定部１２０は、例えば、ＲＡＮＳＡＣ、ハフ変換、カーネル密度推定、Ｍ推定などを用いてモデルを決定することも可能である。
【００３０】
抽出部１３０は、決定部１２０により決定されたモデルをＮ組の対応点のペアに適用することで対応点を取捨選択する。例えば、図２の例の場合、抽出部１３０は、ｙ＝ａｘ＋ｂ±ｃの範囲に含まれる対応点のペアを抽出する。換言すれば、抽出部１３０は、ｙ＝ａｘ＋ｂ±ｃの範囲に含まれない対応点のペアを抽出対象から除外する。
【００３１】
以上のとおり、本実施形態によれば、個々の特徴点の特徴量を参照せずに、巨視的・大域的に対応点を抽出するため、複雑な演算を実行することなく対応点の数を減らすことが可能である。また、本実施形態によれば、正しい対応点のペアと誤った対応点（外れ値）のペアとが混在した点群から外れ値を重点的に除外することが可能である。その理由は、以下のとおりである。
【００３２】
図３は、正しい対応点（inlier）と誤った対応点（outlier）の関係を示すグラフ（模式図）である。このグラフにおいて、縦軸と横軸は、それぞれ対応点の輝度値である。
【００３３】
図３に示すように、正しい対応点は、概ね一定の対応関係（ここでは、ほぼ線形の関係）を示し、所定の範囲に集中的に分布する。一方、誤った対応点は、特定の範囲に偏ることなく、比較的ランダムに分布する。図３の例の場合、正しい対応点の多くは、一次関数的な関係にあるといえる。本発明の発明者は、正しい対応点がこのような対応関係を示す事実に着目し、本実施形態の構成の着想を得た。
【００３４】
なお、正しい対応点の中には、上述した所定の範囲に含まれないものも存在する。ただし、対応点の総数に対する正しい対応点の割合は、この所定の範囲内と当該範囲外とでは有意に異なり、当該範囲内の方が明らかに高くなる。このような傾向は、特定の画像に限らず、さまざまな画像において認められた。
【００３５】
例えば、対応点情報に基づいて平面射影変換行列（Ｈ行列）を推定したり基礎行列（Ｆ行列）や基本行列（Ｅ行列）を推定したりする場合には、ＲＡＮＳＡＣ等のロバスト推定が行われることがある。ＲＡＮＳＡＣは、外れ値に対して頑健ではあるものの、外れ値の割合が多い点群に対して処理を実行すると、ランダムなサンプリングの試行回数が増大し、処理量が増加する。本実施形態による対応点の抽出をＲＡＮＳＡＣ等の処理の前処理として実行すると、その後の処理の負荷を低減させることが可能である。
【００３６】
例えば、ＲＡＮＳＡＣによって４個の対応点の組み合わせに基づいて平面の射影変換行列を推定する場合、正しい対応点である確率、すなわち全ての対応点に対する正しい対応点の割合をｗ（０＜ｗ＜１）とし、確率ｐ（０＜ｐ＜１）で正解を求めるために必要なサンプリング回数をｎとすると、以下の（１）式が成り立つ。したがって、ｎの値は、以下の（２）式で表すことができる。
（１−ｗ４）ｎ＝１−ｐ      …（１）
ｎ＝ｌｏｇ（１−ｐ）／ｌｏｇ（１−ｗ４）      …（２）
【００３７】
ここにおいて、ｗの値は、サンプル中に誤った対応点が多いほど小さくなる。したがって、ｎの値は、サンプル中に誤った対応点が多いほど大きくなる。ゆえに、本実施形態による正しい対応点の抽出をＲＡＮＳＡＣ等の処理の前処理として実行することは、その後の処理の効率化に寄与する。
【００３８】
なお、画像処理装置１００をＲＡＮＳＡＣ等の処理の前処理に用いる場合、前処理自体の負荷は少ない方が好ましいともいえる。このような場合には、対応点情報に基づいて決定するパラメータの数は少ない方が望ましい。例えば、画像処理装置１００は、上述したａ、ｂ及びｃのうちの２つを固定値とし、残りの１つのみを対応点情報に基づいて決定してもよい。固定値の具体例としては、ａであれば１、ｂであれば０などが想定され得る。
【００３９】
［第２実施形態］
図４は、本発明の別の実施形態に係る画像処理システム２００の構成を示すブロック図である。画像処理システム２００は、複数の対応点から外れ値を除外する機能を含む情報処理システムである。画像処理システム２００は、第１特定部２１０と、第２特定部２２０と、第１抽出部２３０と、第２抽出部２４０と、処理実行部２５０とを備える。なお、図４に示す画像処理システム２００の構成要素は、単独の装置に備わってもよいし、複数の装置に分散して備わってもよい。
【００４０】
第１特定部２１０は、第１の画像と第２の画像に含まれる特徴点の特徴量をそれぞれ特定する。第１特定部２１０は、第１の画像を表す画像データと、第２の画像を表す画像データとを取得することによって特徴量を特定する。なお、画像データの形式（フォーマット）は、特に限定されない。また、画像データは、モノクロとカラーのいずれであってもよい。
【００４１】
例えば、第１特定部２１０は、画像データから特徴点を抽出し、抽出した特徴点の特徴量を特定する。第１特定部２１０は、例えば、画像データに含まれる各画素の明るさに基づいて特徴点を抽出する。特徴点の抽出方法及び特徴量の算出方法は、特に限定されず、周知の適当な方法を用いればよい。例えば、第１特定部２１０は、ＳＩＦＴを用いて特徴点及び特徴量を求めてもよい。第１特定部２１０は、それぞれの特徴点の特徴量を示す特徴量情報と、それぞれの特徴点の座標を示す座標情報とを出力する。なお、特徴点の画素値は、特徴量情報と座標情報のいずれか（又は双方）に含まれる。
【００４２】
ここでいう特徴量は、画像を特徴付ける情報であり、特に特徴点を特徴付ける情報（局所特徴量）である。特徴点の特徴量は、特徴点の画素自体に関する情報だけでなく、特徴点の近傍、すなわち特徴点から所定の範囲内にある画素に関する情報を含んでもよい。例えば、ＳＩＦＴ特徴量は、キーポイント周辺の１６ブロックの輝度勾配を１２８次元のベクトルで表す。
【００４３】
特徴量情報は、個々の特徴量が表す画像と特徴点とを識別するための情報である。特徴量情報は、例えば、それぞれの特徴点にラベルを割り当て、個々の特徴量をラベルによって識別可能にした情報である。あるいは、特徴量情報は、それぞれの特徴点の座標情報を含み、個々の特徴量を座標によって識別するように構成されていてもよい。
【００４４】
第２特定部２２０は、第１の画像と第２の画像の対応点を特定する。第２特定部２２０は、第１特定部２１０により特定された特徴量に基づいて、第１の画像の特徴点と第２の画像の特徴点とを対応付ける。第２特定部２２０は、特徴量情報に基づいて特徴点同士の類似度を判断することにより、所定の条件を満たすペアを対応付ける。例えば、第２特定部２２０は、特徴点同士のユークリッド距離を算出することでこれらの類似度を判断してもよい。第２特定部２２０は、特徴点の対応関係を示す対応点情報を出力する。なお、第２特定部２２０が出力する対応点情報には、正しい対応点と誤った対応点とが含まれ得る。
【００４５】
第１抽出部２３０及び第２抽出部２４０は、いずれも対応点の一部を抽出する。換言すれば、第１抽出部２３０及び第２抽出部２４０は、入力された対応点の一部を除外して出力するともいえる。第１抽出部２３０及び第２抽出部２４０は、互いに異なる基準に基づいて対応点を抽出する。
【００４６】
第１抽出部２３０は、対応点を対応点同士の明るさに基づいて抽出する。例えば、第１抽出部２３０は、対応点を画素値に基づいて抽出する。第１抽出部２３０は、第１実施形態の画像処理装置１００と同様の機能を有する。具体的には、第１抽出部２３０は、対応点の画素値を所定のモデルパターン（例えば、図２に示す直線モデル）に当てはめ、条件を満たす対応点を抽出する。
【００４７】
なお、第１抽出部２３０は、対応点及びその近傍の明るさに基づいて対応点を抽出してもよい。第１抽出部２３０は、対応点だけでなくその近傍の画素の明るさを参照して対応点を抽出することにより、ノイズの影響を受けにくくすることが可能である。例えば、第１抽出部２３０は、対応点を中心とする９（３×３）画素の画素値に基づいて対応点を抽出してもよい。
【００４８】
第２抽出部２４０は、対応点を他の対応点との位置関係に基づいて抽出する。例えば、第２抽出部２４０は、特徴点によって定義される平面や、カメラと特徴点とによって定義されるエピポーラ方程式などの幾何学的な整合性に基づいて対応点を抽出する。第２抽出部２４０による対応点の抽出は、例えば、ＲＡＮＳＡＣによる外れ値の除外に相当する。
【００４９】
例えば、ある複数組（例えば４組）の対応点のペアによって２つの画像に平面をそれぞれ仮定した場合、当該複数組のペアがいずれも正しい対応点であれば、それぞれの平面は幾何学的に高い尤度で整合する。一方、この複数組のペアに誤った対応点が含まれていると、それぞれの平面は幾何学的に整合せず、例えば、他の（正しい）対応点とは大きく異なる位置に対応付けられる。第２抽出部２４０は、このような複数の対応点の対応関係に基づいて外れ値を除外することにより、幾何学的な整合性が高い対応点を抽出する。第２抽出部２４０は、このようにして抽出された対応点のペアを示す対応点情報を出力する。
【００５０】
処理実行部２５０は、第２抽出部２４０により抽出された対応点を用いて処理を実行する。処理実行部２５０が実行する処理は、例えば、第１の画像と第２の画像とを合成した画像データを生成する処理、第１の画像と第２の画像とを比較する処理、第１の画像と第２の画像の比較結果に応じた処理などである。第１の画像と第２の画像の比較結果に応じた処理には、画像の検索、被写体の識別といった処理が含まれ得る。具体的には、処理実行部２５０は、平面射影変換行列（Ｈ行列）や基礎行列（Ｆ行列）を算出する処理を実行してもよい。
【００５１】
図５は、画像処理システム２００が実行する動作を示すフローチャートである。なお、以下の説明において、それぞれの動作の主体は、図４に示す構成要素によって区別されている。しかし、上述したように、画像処理システム２００の構成は、単独の装置によっても実現可能である。ゆえに、以下に示す動作の主体は、文言上異なる場合であっても、実質的には同一の主体である場合がある。
【００５２】
まず、ステップＳ１において、第１特定部２１０は、比較される２つの画像データを取得する。以下においては、第１の画像に対応する画像データを「第１の画像データ」といい、第２の画像に対応する画像データを「第２の画像データ」という。
【００５３】
なお、２つの画像データの取得の経路は、特に限定されない。例えば、第１特定部２１０は、第１の画像データを所定の記憶媒体（データベースなど）から取得する一方、第２の画像データを別の装置から取得してもよいし、これらの画像データを同一の経路を介して取得してもよい。
【００５４】
第１特定部２１０は、ステップＳ１において取得した第１の画像データと第２の画像データのそれぞれから特徴点を検出する（ステップＳ２）。続いて、第１特定部２１０は、ステップＳ２において検出した特徴点の特徴量を特定する（ステップＳ３）。
【００５５】
第２特定部２２０は、ステップＳ３において特定された各特徴点の特徴量に基づき、対応点を特定する（ステップＳ４）。なお、特徴点の中には、いずれの特徴点とも対応関係が成立しないものが含まれ得る。対応関係が存在しない特徴点は、対応点として用いられない。以下においては、ステップＳ４において特定された対応点のペアの数を「Ｎ」とする。
【００５６】
第１抽出部２３０は、対応点のペアの一部を明るさに基づいて抽出する（ステップＳ５）。一方、第２抽出部２４０は、ステップＳ５において抽出されたペアのさらに一部を、他の対応点との位置関係に基づいて抽出する（ステップＳ６）。以下においては、説明の便宜上、第１抽出部２３０によって実行される抽出を「一次抽出」といい、第２抽出部２４０によって実行される抽出を「二次抽出」という。
【００５７】
一次抽出は、対応点のペアの数を「Ｎ」から「Ｍ」に減ずる抽出である。これに対し、二次抽出は、対応点のペアの数を「Ｍ」から「Ｌ」に減ずる抽出である。ここにおいて、Ｌの具体的な値は、あらかじめ決められていてもよいし、そうでなくてもよい。
【００５８】
処理実行部２５０は、一次抽出及び二次抽出により抽出されたＬ組の対応点のペアを用いて所定の処理を実行する（ステップＳ７）。処理実行部２５０は、特定の処理を実行してもよいし、複数の処理のうちのいずれかを選択的に実行してもよい。例えば、処理実行部２５０は、ユーザの操作に応じた処理を実行するように構成されてもよい。
【００５９】
図６は、一次抽出のより詳細な動作を示すフローチャートである。一次抽出において、第１抽出部２３０は、第２特定部２２０から対応点情報を取得する（ステップＳ５１）。次いで、第１抽出部２３０は、対応点情報に基づき、対応点に適用するモデルを決定する（ステップＳ５２）。第１抽出部２３０は、ステップＳ５２において決定したモデルへの対応点の当てはめ（フィッティング）を実行し、条件を満たすＭ組の対応点のペアを抽出する（ステップＳ５３）。第１抽出部２３０は、ステップＳ５３において抽出したＭ組の対応点のペアを示す対応点情報を出力し、第２抽出部２４０に供給する（ステップＳ５４）。
【００６０】
なお、一次抽出において抽出されるべき対応点のペアの数には、一定の制限が設定されてもよい。例えば、第１抽出部２３０は、一次抽出において抽出された対応点のペアの数（すなわちＭ組）が所定の組数に満たない場合に、当該一次抽出において除外された（Ｎ−Ｍ）組のペアの中からいずれかのペアを抽出し、抽出したペアの総数が所定の組数以上になるようにしてもよい。以下においては、この処理のことを「再抽出処理」という。
【００６１】
図７は、再抽出処理を示すフローチャートである。一次抽出を実行したら、第１抽出部２３０は、一次抽出において抽出された対応点のペアの数（Ｍ）が所定の組数以上あるか否かを判断する（ステップＳ５５）。第１抽出部２３０は、Ｍの値が所定の数以上であれば（Ｓ５５：ＹＥＳ）、再抽出処理を終了する。
【００６２】
Ｍの値が所定の数に満たない場合（Ｓ５５：ＮＯ）、第１抽出部２３０は、一次抽出において除外された対応点のペアの情報（画素値など）を参照する（ステップＳ５６）。第１抽出部２３０は、一次抽出において抽出済みの対応点のペアの情報は、ここでは参照する必要はない。第１抽出部２３０は、ステップＳ５６において参照した対応点のペアの中から所定の条件を満たすペアを抽出する（ステップＳ５７）。
【００６３】
ステップＳ５７における抽出方法は、一次抽出の抽出方法と同様であってもよいし、そうでなくてもよい。例えば、第１抽出部２３０は、ステップＳ５２において決定したモデルに用いたパラメータの一部を変更することにより、より多くのペアを抽出してもよい。具体的には、例えば図２に示す直線モデルの場合、第１抽出部２３０は、ｃの値を大きくしてもよい。あるいは、第１抽出部２３０は、一次抽出において既に用いたモデルと異なるモデル（後述する変形例参照）を用いて、既に用いたモデルによっては抽出されなかった対応点のペアを抽出してもよい。
【００６４】
第１抽出部２３０は、一次抽出において、必要に応じて再抽出処理を実行する。例えば、第１抽出部２３０は、図７に示す処理を、ステップＳ５３の処理とステップＳ５４の処理の間に実行することが可能である。
【００６５】
本実施形態の画像処理システム２００によれば、第１抽出部２３０に相当する構成を備えない場合に比べ、第２抽出部２４０による処理に要するリソース（ハードウェア、時間など）を少なくすることが可能である。第２抽出部２４０は、第１抽出部２３０に相当する構成を備えない場合に比べ、同程度の結果を少ないリソースで実現できる。
【００６６】
［変形例］
本発明の実施の形態は、上述した実施形態のみに限定されない。本発明は、上述した実施形態に対して、いわゆる当業者が理解し得る多様な変更を適用することが可能である。例えば、本発明は、以下の変形例に示す形態によっても実施可能である。また、本発明は、複数の変形例を組み合わせたり、実施形態の一部の構成を他の実施形態の構成と置換したりして実施されてもよい。
【００６７】
（１）変形例１
モデルパターンは、上述した直線モデルに限定されない。決定部１２０（又は第１抽出部２３０）は、以下に示す他のモデルパターンを用いてパラメータを決定してもよい。
【００６８】
図８、図９は、モデルパターンの他の例を示す図である。図８は、所定の関数で表される曲線（例えば、ｘ＝ｙ２）に従うモデルパターン（以下「曲線モデル」という。）の一例を示す。また、図９は、所定の図形（ここでは楕円）に従うモデルパターン（以下「図形モデル」という。）の一例を示す。ここでいう曲線は、多項式曲線やベジェ曲線、スプライン曲線であってもよい。
【００６９】
曲線モデルのパラメータは、関数の定数又は係数の少なくともいずれかである。図形モデルのパラメータは、図形の位置及び形状の少なくともいずれかを表す。例えば、図９に例示した楕円形の図形モデルにおけるパラメータとしては、楕円の中心座標、楕円率、扁平率、長軸又は短軸の傾き、長径及び短径などを用いることができる。楕円への当てはめ方法としては、例えば、主成分分析により長軸の向きを算出し、長軸と短軸の長さ（対応点のばらつき）をパラメータとして用いる方法がある。
【００７０】
モデルパターンが複数ある場合、決定部１２０は、複数のモデルパターンのそれぞれについてパラメータを決定してもよいし、複数のモデルパターンのうちのいずれかのみパラメータを決定してもよい。決定部１２０は、一次抽出に用いるモデルパターンをユーザの操作に基づいて特定してもよい。
【００７１】
また、抽出部１３０（又は第１抽出部２３０）は、複数のモデルパターンのそれぞれに基づいて対応点のペアを抽出してもよい。この場合、抽出部１３０は、抽出したペアの数が最も多いモデルパターンによって抽出されたペアを抽出結果として採用してもよいし、複数のモデルパターンの全てで抽出されたペアを抽出結果として採用してもよい。
【００７２】
（２）変形例２
上述した実施形態において、特徴点の画素値は、特徴点の明るさと相関する属性値の一例である。しかし、ここでいう属性値は、上述した画素値（階調値、輝度値など）に限定されない。例えば、エッジの強度又は方向を示す値、ＬｏＧ（Laplacian Of Gaussian）フィルタを適用した画素値、所定の検出法（Harrisオペレータ、ＫＬＴ（(Kanade-Lucas-Tomasi）トラッカー、ＦＡＳＴ（Features from Accelerated Segment Test）など）で検出されたコーナー度といった値を属性値として用いることも可能である。
【００７３】
ここでいう属性値は、処理の前後で輝度の変化が保持されるようなフィルタ処理を画素値に対して実行した値であってもよい。例えば、処理前後の画素値をそれぞれＩ１、Ｉ２とし、画素値の変化が線形モデルＩ２＝ａＩ１＋ｂに従う場合において、フィルタ処理をＦとすると、
Ｆ（Ｉ２）＝ａＦ（Ｉ１）
Ｆ（Ｉ２）＝Ｆ（Ｉ１）＋ｂ
Ｆ（Ｉ２）＝ａＦ（Ｉ１）＋ｂ
のいずれかが成り立つ場合であれば、このフィルタ処理によって線形モデルが保持されているといえる。
【００７４】
より具体的には、例えば、ｘ方向のエッジ検出フィルタを
Ｆ（Ｉ（ｘ））＝Ｉ（ｘ＋１）−Ｉ（ｘ）
と表した場合、
Ｆ（Ｉ２（ｘ２））＝Ｉ２（ｘ２＋１）−Ｉ２（ｘ２）
＝［ａＩ１（ｘ１＋１）＋ｂ］−［ａＩ１（ｘ１）＋ｂ］
＝ａ［Ｉ１（ｘ１＋１）−Ｉ１（ｘ１）］
＝ａＦ（Ｉ１（ｘ１））
となる。したがって、このエッジ検出フィルタは、ａに関する線形モデルであるといえる。
【００７５】
また、特徴点の画素値は、属性値そのものではなく、属性値を算出可能な値であってもよい。例えば、ここでいう画素値がＲＧＢ色空間における階調値である場合において、属性値を輝度値とするとき、画像処理装置１００（又は画像処理システム２００）は、既知の変換式によって階調値から輝度値を算出すればよい。あるいは、画像処理装置１００は、Ｒ、Ｇ、Ｂそれぞれのチャネルの階調値についてモデルを決定して対応点のペアを抽出し、複数（２又は３）のチャネルにおいて正しい対応点のペアとして抽出されたペアを一次抽出の結果としてもよい。
【００７６】
（３）変形例３
上述した画像処理装置１００及び画像処理システム２００のハードウェア構成には、複数のバリエーションが考えられる。例えば、画像処理装置１００及び画像処理システム２００は、複数の装置の協働によって実現され得る。また、画像処理装置１００及び画像処理システム２００は、コンピュータ・ソフトウェアを用いて実現されてもよい。
【００７７】
図１０は、画像処理システム２００のハードウェア構成の一例を示すブロック図である。この例において、画像処理システム２００は、クライアント装置２００Ａとサーバ装置２００Ｂとを含んで構成される。クライアント装置２００Ａは、例えば、パーソナルコンピュータやスマートフォンである。クライアント装置２００Ａは、物体を光学的に読み取って画像データを取得する手段（デジタルカメラ、スキャナなど）を備えていてもよい。
【００７８】
クライアント装置２００Ａは、第１特定部２１０及び処理実行部２５０を備える。一方、サーバ装置２００Ｂは、第２特定部２２０、第１抽出部２３０及び第２抽出部２４０を備える。クライアント装置２００Ａ及びサーバ装置２００Ｂは、例えば、インターネットなどのネットワークを介して接続されている。
【００７９】
クライアント装置２００Ａは、画像データから特徴量を特定し、特徴量情報や座標情報をサーバ装置２００Ｂに送信する。サーバ装置２００Ｂは、クライアント装置２００Ａから受信した情報に基づき、対応点の特定、一次抽出及び二次抽出を実行する。クライアント装置２００Ａは、サーバ装置２００Ｂによる抽出結果に応じた処理を実行する。この場合、クライアント装置２００Ａが実行する処理には、情報の表示が含まれ得る。
【００８０】
なお、クライアント装置２００Ａ及びサーバ装置２００Ｂの構成は、図１０に示した例に限定されない。例えば、処理実行部２５０は、クライアント装置２００Ａに代えてサーバ装置２００Ｂに備わっていてもよいし、クライアント装置２００Ａ及びサーバ装置２００Ｂが一部の機能をそれぞれ分担することで実現されてもよい。処理実行部２５０以外の構成についても、同様のことがいえる。
【００８１】
図１１は、画像処理装置１００又は画像処理システム２００を実現するコンピュータ装置３００のハードウェア構成を示すブロック図である。コンピュータ装置３００は、ＣＰＵ（Central Processing Unit）３０１と、ＲＯＭ（Read Only Memory）３０２と、ＲＡＭ（Random Access Memory）３０３と、記憶装置３０４と、ドライブ装置３０５と、通信インタフェース３０６と、入出力インタフェース３０７とを備える。
【００８２】
ＣＰＵ３０１は、ＲＡＭ３０３を用いてプログラム３０８を実行する。プログラム３０８は、ＲＯＭ３０２に記憶されていてもよい。また、プログラム３０８は、記録媒体３０９に記録され、ドライブ装置３０５によって読み出されてもよいし、外部装置からネットワーク３１０を介して送信されてもよい。通信インタフェース３０６は、ネットワーク３１０を介して外部装置とデータをやり取りする。入出力インタフェース３０７は、周辺機器（キーボード、マウス、表示装置など）とデータをやり取りする。通信インタフェース３０６及び入出力インタフェース３０７は、データを取得又は出力する手段として機能することができる。モデルパターンなどのデータは、記憶装置３０４に記憶されていてもよいし、プログラム３０８に含まれていてもよい。
【００８３】
なお、画像処理装置１００又は画像処理システム２００の構成要素の一部又は全部は、汎用又は専用の回路、プロセッサ等やこれらの組み合わせによって実現され得る。これらは、単一のチップによって構成されてもよいし、複数のチップによって構成されてもよい。また、画像処理装置１００又は画像処理システム２００の構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【符号の説明】
【００８４】
１００    画像処理装置
１１０    取得部
１２０    決定部
１３０    出力部
２００    画像処理システム
２１０    第１特定部
２２０    第２特定部
２３０    第１抽出部
２４０    第２抽出部
２５０    処理実行部
２００Ａ    クライアント装置
２００Ｂ    サーバ装置
３００    コンピュータ装置
【図１】
2017041113.tif 000003
【図２】
2017041113.tif 000004
【図３】
2017041113.tif 000005
【図４】
2017041113.tif 000006
【図５】
2017041113.tif 000007
【図６】
2017041113.tif 000008
【図７】
2017041113.tif 000009
【図８】
2017041113.tif 000010
【図９】
2017041113.tif 000011
【図１０】
2017041113.tif 000012
【図１１】
2017041113.tif 000013