(57)【要約】【課題】画像を撮像する環境などの変化に対して、より頑健な物体検出システムおよびプログラムを提供する。【解決手段】物体検出システムは、取得部と推定部と設定部と算出部と検出部とを備える。取得部は、対象物が撮像された画像を取得する。推定部は、対象物の状態を推定する。設定部は、相対的な位置関係および形状の少なくとも１つを状態に応じて変化させた複数の領域を画像内に設定する。算出部は、領域の画像の特徴量を算出する。検出部は、算出された特徴量と、予め定められた登録物体の特徴量とを比較することにより、対象物に対応する登録物体を検出する。【選択図】図１
2014048966.tif 000002
【特許請求の範囲】
【請求項１】
対象物が撮像された画像を取得する取得部と、
前記対象物の状態を推定する推定部と、
相対的な位置関係および形状の少なくとも１つを前記状態に応じて変化させた複数の領域を前記画像内に設定する設定部と、
前記領域の画像の特徴量を算出する算出部と、
算出された前記特徴量と、予め定められた登録物体の特徴量とを比較することにより、前記対象物に対応する前記登録物体を検出する検出部と、
を備える物体検出システム。
【請求項２】
前記算出部は、複数の領域間の輝度勾配を算出し、算出した前記輝度勾配の統計量である前記特徴量を算出する、
請求項１に記載の物体検出システム。
【請求項３】
前記算出部は、前記状態に応じて前記統計量の算出方法を変更する、
請求項２に記載の物体検出システム。
【請求項４】
前記算出部は、さらに前記領域の色特徴量を算出し、算出した前記輝度勾配および前記色特徴量の統計量である前記特徴量を算出する、
請求項２に記載の物体検出システム。
【請求項５】
前記設定部は、さらに、複数の前記領域を設定する基準となる複数のサンプリング点の相対的な位置関係を、前記状態に応じて変化させる、
請求項１に記載の物体検出システム。
【請求項６】
前記推定部は、前記画像を撮像した撮像部に対する前記対象物の相対的な位置関係、前記対象物の湾曲状態、および、前記対象物の照明環境の少なくとも１つである前記状態を推定する、
請求項１に記載の物体検出システム。
【請求項７】
前記取得部、前記推定部、前記設定部および前記算出部を備えるクライアント装置と、前記検出部を備えるサーバ装置と、を備え、
前記クライアント装置は、
前記算出部により算出された前記特徴量を前記サーバ装置に送信する通信部をさらに備え、
前記検出部は、前記クライアント装置から送信された前記特徴量と、前記登録物体の特徴量とを比較することにより、前記対象物に対応する前記登録物体を検出する、
請求項１に記載の物体検出システム。
【請求項８】
前記取得部を備えるクライアント装置と、前記推定部、前記設定部、前記算出部および前記検出部を備えるサーバ装置と、を備え、
前記クライアント装置は、
前記取得部により取得された前記画像を前記サーバ装置に送信する通信部をさらに備え、
前記設定部は、相対的な位置関係および形状の少なくとも１つを前記状態に応じて変化させた複数の領域を、前記クライアント装置から送信された画像内に設定する、
請求項１に記載の物体検出システム。
【請求項９】
対象物が撮像された画像を取得する取得部と、
前記対象物の状態を推定する推定部と、
複数の領域を前記画像内に設定する設定部と、
複数の領域間の輝度勾配を算出し、前記状態に応じて変更した算出方法により、前記輝度勾配の統計量である特徴量を算出する算出部と、
算出された前記特徴量と、予め定められた登録物体の特徴量とを比較することにより、前記対象物に対応する前記登録物体を検出する検出部と、
を備える物体検出システム。
【請求項１０】
前記算出部は、さらに前記領域の色特徴量を算出し、算出した前記輝度勾配および前記色特徴量の統計量である前記特徴量を算出する、
請求項９に記載の物体検出システム。
【請求項１１】
前記推定部は、前記画像を撮像した撮像部に対する前記対象物の相対的な位置関係、前記対象物の湾曲状態、および、前記対象物の照明環境の少なくとも１つである前記状態を推定する、
請求項９に記載の物体検出システム。
【請求項１２】
前記取得部、前記推定部、前記設定部および前記算出部を備えるクライアント装置と、前記検出部を備えるサーバ装置と、を備え、
前記クライアント装置は、
前記算出部により算出された前記特徴量を前記サーバ装置に送信する通信部をさらに備え、
前記検出部は、前記クライアント装置から送信された前記特徴量と、前記登録物体の特徴量とを比較することにより、前記対象物に対応する前記登録物体を検出する、
請求項９に記載の物体検出システム。
【請求項１３】
前記取得部を備えるクライアント装置と、前記推定部、前記設定部、前記算出部および前記検出部を備えるサーバ装置と、を備え、
前記クライアント装置は、
前記取得部により取得された前記画像を前記サーバ装置に送信する通信部をさらに備え、
前記設定部は、複数の領域を、前記クライアント装置から送信された画像内に設定する、
請求項９に記載の物体検出システム。
【請求項１４】
コンピュータを、
対象物が撮像された画像を取得する手段と、
前記対象物の状態を推定する手段と、
相対的な位置関係および形状の少なくとも１つを前記状態に応じて変化させた複数の領域を前記画像内に設定する手段と、
前記領域の画像の特徴量を算出する手段と、
算出された前記特徴量と、予め定められた登録物体の特徴量とを比較することにより、前記対象物に対応する前記登録物体を検出する手段、
として機能させるためのプログラム。
【請求項１５】
コンピュータを、
対象物が撮像された画像を取得する手段と、
前記対象物の状態を推定する手段と、
複数の領域を前記画像内に設定する手段と、
複数の領域間の輝度勾配を算出し、前記状態に応じて変更した算出方法により、前記輝度勾配の統計量である特徴量を算出する手段と、
算出された前記特徴量と、予め定められた登録物体の特徴量とを比較することにより、前記対象物に対応する前記登録物体を検出する手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、物体検出システムおよびプログラムに関する。
【背景技術】
【０００２】
画像認識技術を用いて拡張現実感を実現する手法として、マーカを利用する手法が知られている。しかし、無機質なマーカはデザインを損ねるという問題がある。この問題に対し、マーカを用いずに局所特徴量を使って対象物を特定する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１０−５４１０５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特に拡張現実を実現するための画像認識（画像からの物体検出）では、様々な現実環境で撮像された画像が用いられることが多い。このため、環境等の変化に対しても頑健な画像認識技術が望まれている。
【０００５】
本発明は、上記に鑑みてなされたものであって、画像を撮像する環境などの変化に対して、より頑健な物体検出システムおよびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
実施形態の物体検出システムは、取得部と推定部と設定部と算出部と検出部とを備える。取得部は、対象物が撮像された画像を取得する。推定部は、対象物の状態を推定する。設定部は、相対的な位置関係および形状の少なくとも１つを状態に応じて変化させた複数の領域を画像内に設定する。算出部は、領域の画像の特徴量を算出する。検出部は、算出された特徴量と、予め定められた登録物体の特徴量とを比較することにより、対象物に対応する登録物体を検出する。
【発明の効果】
【０００７】
本発明によれば、画像を撮像する環境などの変化に対して、より頑健な物体検出システムおよびプログラムを提供することができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態にかかる物体検出装置のブロック図。
【図２】推定部による推定方法の一例を示す図。
【図３】推定部による推定方法の一例を示す図。
【図４】領域およびサンプリング点の設定例を示す図。
【図５】領域およびサンプリング点の設定例を示す図。
【図６】領域およびサンプリング点の設定例を示す図。
【図７】領域の設定例と輝度勾配の抽出例とを示した図。
【図８】第１の実施形態における物体検出処理のフローチャート。
【図９】第２の実施形態にかかる物体検出装置のブロック図。
【図１０】第２の実施形態における物体検出処理の全体の流れを示すフローチャート。
【図１１】第３の実施形態にかかる物体検出システムのブロック図。
【図１２】第３の実施形態の特徴算出処理のフローチャート。
【図１３】第３の実施形態の比較処理のフローチャート。
【図１４】第４の実施形態にかかる物体検出システムのブロック図。
【図１５】第４の実施形態の画像取得処理のフローチャート。
【図１６】第４の実施形態の比較処理のフローチャート。
【図１７】第５の実施形態にかかる物体検出装置のブロック図。
【図１８】第５の実施形態における物体検出処理のフローチャート。
【図１９】実施形態にかかる物体検出システムのハードウェア構成図。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、この発明にかかる物体検出システムの好適な実施形態を詳細に説明する。
【００１０】
（第１の実施形態）
局所特徴量による画像認識で、画像を撮像する環境などの変化（対象物の状態の変化）に対応するためには、多くのキーポイントから最適な組み合わせを選ばなくてはならない。このため、処理コストが高くなり、多くの物体を認識しようとすると快適に動作しない。対象物の状態に応じて画像をアフィン変換する手法も考えられる。しかし、この手法は、アフィン変換の処理コストが高く、多くの物体を認識しようとすると快適に動作しない。また、アフィン変換による情報の劣化やノイズによって、認識性能が落ちるという問題もある。
【００１１】
第１の実施形態にかかる物体検出システムは、画像内のサンプリング点の周辺領域から、エッジ（輝度勾配）を特徴量として算出する。このとき、サンプリング点と周辺領域との設定を、検出の対象となる物体（対象物）の状態に応じて変化させる。これにより、特徴量を用いた画像認識（物体検出）が物体の状態変化に頑健になる。また、周辺領域を使ったエッジ算出は、各サンプリング点が大局的な形状を抽出できるため、少数のサンプリング点でも物体全体の形状を抽出できるという性質がある。このため、少ないメモリ参照回数による低処理コストの特徴量抽出が可能となり、素早い応答速度で物体を特定できる。
【００１２】
第１の実施形態では、１つの装置である物体検出装置として物体検出システムを実現した例を説明する。物体検出装置は、例えば、タブレットおよびスマートフォンなどの携帯端末としてもよい。物体検出システムを実現する装置構成はこれに限られるものではない。後述するように複数の装置に機能を分散して物体検出システムを実現してもよい。また、１つの機能を複数の装置に備えるように構成してもよい。
【００１３】
図１は、第１の実施形態にかかる物体検出装置１００の構成の一例を示すブロック図である。図１に示すように、物体検出装置１００は、記憶部１２１と、表示部１３１と、取得部１０１と、推定部１０２と、設定部１０３と、第１算出部１０４と、第２算出部１０５と、検出部１０６と、とを備えている。
【００１４】
記憶部１２１は、予め定められた登録物体を特定する情報と、登録物体の画像から求められた特徴量とを対応づけて記憶する。後述する検出部１０６は、記憶部１２１に記憶された特徴量と、撮像された画像から求められた対象物の特徴量とを照合することにより、対象物に適合する登録物体を検出する。なお、記憶部１２１は、ＨＤＤ（Hard  Disk  Drive）、光ディスク、メモリカード、ＲＡＭ（Random  Access  Memory）などの一般的に利用されているあらゆる記憶媒体により構成することができる。
【００１５】
表示部１３１は、各種情報を表示するものであり、例えば液晶ディスプレイやタッチパネル式ディスプレイなどの表示装置により実現できる。
【００１６】
取得部１０１は、対象物が撮像された画像を取得する。取得部１０１は、例えば、物体検出装置１００に撮像部（カメラ）が搭載されている場合は、カメラにより撮像された画像を取得するように構成できる。取得部１０１が、物体検出装置１００の外部装置から画像を取得するように構成してもよい。
【００１７】
推定部１０２は、画像に撮像された対象物の状態を推定する。対象物は、どのような物体であってもよい。例えば、雑誌、ポスター、パンフレット、絵、服、および、人物などが対象物となりうる。対象物の状態とは、例えば、カメラに対する対象物の相対的な位置関係、対象物の湾曲の度合い、および、対象物の照明環境などである。カメラに対する対象物の相対的な位置関係には、例えば、対象物とカメラとの距離、カメラに対する対象物の方向、および、カメラに対する対象物の相対的な角度（ロール、ピッチ、ヨー）が含まれる。
【００１８】
推定部１０２による状態の推定方法としては、従来から用いられているあらゆる方法を適用できる。例えば、推定部１０２は、画像からハフ変換によって対象物の形状を抽出し、抽出した対象物とカメラとの位置関係（距離、方向、角度）、対象物の湾曲具合を算出する。推定部１０２は、予め登録されている形状とのテンプレートマッチングによって、画像から対象物の形状を求めてもよい。
【００１９】
推定部１０２は、図２に示すように、画像から一部の画像を切り出し、切り出した画像の中心位置から輝度の重心位置へのベクトルを算出し、算出したベクトルの方向を使って対象物の相対的な角度を推定することもできる。例えば、推定部１０２は、登録物体の画像から算出したベクトルと、撮影した画像から算出したベクトルとの角度差から、対象物の角度を推定できる。重心位置の算出は、切り出した画像内の全ての画素から算出してもよいし、一部の画素から算出することで低処理コスト化してもよい。また、輝度の重心は、切り出した画像内に複数の領域を設定し、その領域を使って算出することもできる。例えば、切り出した画像内に設定されたｎ個の領域Ｓｉ(ｉ＝１，２，・・・，ｎ)の位置をｘｉ、輝度値の合計をｙｉとすると、重心Ｃは以下の数１で表すことができる。
【数１】
2014048966.tif 000003
【００２０】
推定部１０２は、図３に示すように、画像から抽出した輝度勾配の統計量のピークから対象物の相対的な角度を推定することもできる。例えば、登録物体の画像の統計量のピークと、撮影された画像の統計量のピークとの位置関係から、対象物の角度を推定できる。統計量は、画像内に複数の領域を設定し、その領域を使って算出してもよいし、ＨＯＧ（Histograms  of  Oriented  Gradients）など、従来の輝度算出方法を使って算出してもよい。ピークは統計量の値が最大の位置でもよいし、関連する統計量(例えば図３のピーク値３０１の箇所とピーク値３０１の左右の箇所)の和が最大の位置でもよい。
【００２１】
推定部１０２は、画像から切り出した一部の画像の勾配方向から対象物の相対的な角度を推定することもできる。例えば、推定部１０２は、登録物体の画像から切り出した一部の画像の勾配方向と、撮影された画像から切り出した一部の画像の勾配方向との角度差から、対象物の角度を推定できる。
【００２２】
推定部１０２は、画像の輝度の重み付き和から対象物の照明環境を推定できる。例えば、推定部１０２は、重み付き和が小さい場合、対象物が暗い照明環境下に存在すると推定し、重み付き和が大きい場合、対象物が明るい照明環境下に存在すると推定する。
【００２３】
推定部１０２は、焦点距離、開口数、および露出時間などのカメラのパラメータを用いて、カメラに対する対象物の相対的な位置関係、および、対象物の照明環境を推定してもよい。
【００２４】
対象物が固定位置に存在する場合、推定部１０２は、ＧＰＳなどの位置検出機能により検出したカメラ（物体検出装置１００）の位置と固定位置とから、カメラに対する対象物の相対的な位置関係を推定できる。
【００２５】
物体検出装置１００が距離センサを備える場合は、推定部１０２は、距離センサから得られる対象物とカメラとの距離を用いて、カメラに対する対象物の相対的な位置関係、および、対象物の湾曲具合を推定してもよい。物体検出装置１００が加速度センサやジャイロセンサを備える場合は、推定部１０２は、これらのセンサから得られる情報を用いて対象物とカメラとの角度を推定してもよい。推定部１０２は、物体検出装置１００に備えられる照度センサ、または、物体検出装置１００が存在する環境に備えられる照度センサから得られる照度の情報から、対象物の照明環境を推定してもよい。
【００２６】
設定部１０３は、画像内に、特徴量を算出するための複数のサンプリング点および複数の領域（周辺領域）を設定する。このとき、設定部１０３は、対象物の状態に応じて、複数の領域の相対的な位置関係および形状の少なくとも１つを変化させる。また、設定部１０３は、対象物の状態に応じて、サンプリング点の位置、複数のサンプリング点間の間隔、および、サンプリング点が並ぶ方向などを変化させる。サンプリング点とは、特徴量を抽出する領域の基準となる点である。領域とは、画像から輝度を抽出する範囲である。領域は、矩形や円形など、任意の形状である。
【００２７】
例えば、設定部１０３は、カメラに対する対象物の相対的な位置関係と、画像全体に対する複数の領域の相対的な位置関係とが一致するように、複数の領域の相対的な位置関係および形状を変化させる。
【００２８】
以下、設定部１０３による領域およびサンプリング点の設定方法の例を説明する。
【００２９】
設定部１０３は、対象物がカメラに対して左寄りに存在する場合は、サンプリング点を左寄りに配置する。設定部１０３は、対象物がカメラに対して右寄りに存在する場合は、サンプリング点を右寄りに配置する。
【００３０】
設定部１０３は、対象物がカメラの近くに存在する場合は、サンプリング点の間隔を広く設定する。設定部１０３は、対象物がカメラから遠くに存在する場合は、サンプリング点の間隔を狭く設定する。対象物の形状およびカメラに対する対象物の角度等から、対象物の一部がカメラの近くに存在し、他の部分がカメラから遠くに存在すると推定されるような場合は、設定部１０３は、対象物の各部の位置、および、各部とカメラとの距離と一致するように、複数のサンプリング点、および、サンプリング点の間隔を設定する。
【００３１】
設定部１０３は、カメラに対する対象物の角度が変化した場合は、サンプリング点どうしの角度を変化させる。例えば、対象物の上下方向がカメラの上下方向から角度αずれた場合、推定部１０２は、角度αの方向で縦に並び、角度（α＋９０°）の方向で横に並ぶようにサンプリング点を設定する。
【００３２】
設定部１０３は、対象物の状態とサンプリング点の位置とを基準に領域を設定する。例えば、対象物がカメラの近くに存在する場合は、設定部１０３は、領域を大きく、かつ、サンプリング点から遠く設定する。対象物がカメラから遠くに存在する場合は、設定部１０３は、領域を小さく、かつ、サンプリング点から近く設定する。
【００３３】
対象物とカメラとの俯角（ロール、ピッチ）が変化した場合は、設定部１０３は、領域の矩形の幅と高さを俯角に応じて設定する。対象物とカメラとの回転角（ヨー）が変化した場合は、サンプリング点に対する領域の位置を回転角に応じて設定する。
【００３４】
対象物が暗い照明環境下に存在する場合、検出の精度を高めるため、設定部１０３は、対象物が暗い照明環境下に存在する場合より領域の間隔およびサンプリング点の間隔の少なくとも１つを小さく設定する。
【００３５】
図４〜図６は、領域およびサンプリング点の設定例を示す図である。図４は、雑誌などの矩形である対象物が、奥行方向に傾いて撮像された場合の例を示す。この場合、対象物は画像上では台形になる。このような場合、設定部１０３は、画像上の対象物と同様の台形状に並ぶようにサンプリング点を設定する。また、設定部１０３は、台形の上底に近いほどサンプリング点の間隔が狭くなるように設定する。また、設定部１０３は、図４に示すように対象物と同様の台形状の領域を設定する。
【００３６】
なお、領域を台形にせず、対象物の状態に応じて辺の長さを変化させた矩形としてもよい。後述するように、領域が矩形の場合、輝度平均の算出等のアルゴリズムとしてＩｎｔｅｇｒａｌ  Ｉｍａｇｅを用いることができ、算出処理を高速化できる。
【００３７】
図５は、対象物とカメラとの回転角（ヨー）が変化した場合の例を示す。この場合、対象物は画像上ではある角度（α）傾いた状態になる。このような場合、設定部１０３は、画像上の対象物と同様に角度α傾いた方向に並ぶようにサンプリング点を設定する。また、設定部１０３は、角度α傾いた方向に並ぶように領域を設定する。
【００３８】
図６は、対象物が湾曲している場合の例を示す。このような場合、設定部１０３は、対象物と同様に湾曲した形状に並ぶようにサンプリング点を設定する。また、設定部１０３は、対象物と同様に湾曲した形状に並ぶように、湾曲した形状の領域を設定する。
【００３９】
以上のような処理により、対象物の状態が変化した場合でも、変化前と同じような特徴量を算出することができる。従って、より高精度に物体を検出可能となる。
【００４０】
図１に戻り、第１算出部１０４は、設定された領域間の輝度勾配を算出する。輝度勾配は、各サンプリング点に対応する複数の領域から抽出した輝度値から算出する。例えば、座標ｘのサンプリング点に対応するｎ個の領域の輝度値Ｌｘ（ｉ）（ｉ＝１，２，・・・，ｎ）から算出した垂直方向の輝度勾配の方向Ｖ（ｘ）、および、水平方向の輝度勾配の方向Ｈ（ｘ）は、それぞれ以下の数１および数２で表される。
【数２】
2014048966.tif 000004
【数３】
2014048966.tif 000005
【００４１】
ここで、ａｉは領域ｉの重みである。ＵＶ（ｘ）はｘの垂直方向の輝度勾配を算出するときに使用する領域の集合である。ＵＨ（ｘ）はｘの水平方向の輝度勾配を算出するときに使用する領域の集合である。領域の輝度値とは、領域内の画素の輝度値の重み付き和や、領域内の画素の輝度値の重み付き平均のことをいう。輝度値の重みは一定でもよいし、ガウシアンフィルタなどを使って決めてもよいし、任意の値に設定してもよい。領域が矩形の場合、輝度平均はＩｎｔｅｇｒａｌ  Ｉｍａｇｅを用いると高速に算出できる。
【００４２】
図４〜図６の例では、サンプリング点の周辺に８つの領域を設定する例を示した。領域間の輝度勾配を用いる場合は、少なくとも４つの領域が設定されればよい。例えば、垂直方向の輝度勾配を算出するために垂直方向に並ぶ２つの領域と、水平方向の輝度勾配を算出するために水平方向に並ぶ２つの領域と、の合計４つの領域が設定されればよい。
【００４３】
第２算出部１０５は、輝度勾配の統計量（統計データ）を算出する。統計データとは、輝度勾配の方向を量子化し、ヒストグラム化したデータである。ここで、サンプリング点ｘにおける輝度勾配の方向θ（ｘ）は、以下の数３などの式で表される。
【数４】
2014048966.tif 000006
【００４４】
輝度勾配の方向は、ｄ方向、または、ｄ方向および方向なしに離散化（量子化）した後、ヒストグラムに加算する。ヒストグラムへ加算する量は一定でもよいし、重み付けしてもよい。重み付けに用いる重みの値は、任意の値でよい。例えば、輝度勾配の強度、領域内の画素の輝度値の分散、各種センサ（加速度センサ、ジャイロセンサ等）の出力値、および、これらの値の少なくとも２つを掛け合わせた値を、重みの値として用いてもよい。
【００４５】
ここで、サンプリング点ｘにおける輝度勾配の強度ｍ（ｘ）は、以下の数４などの式で表される。
【数５】
2014048966.tif 000007
【００４６】
ヒストグラムは、一部のサンプリング点から抽出した輝度勾配を使って作成してもよいし、全部のサンプリング点から抽出した輝度勾配を使って作成してもよいし、一部のサンプリング点から抽出した輝度勾配を使って作成したヒストグラムを組み合わせて作成してもよい。
【００４７】
第１算出部１０４および第２算出部１０５は、設定された領域の画像の特徴量を算出する算出部として機能する。なお、特徴量は、輝度勾配の統計量に限られるものではなく、従来から用いられているあらゆる特徴量を適用できる。
【００４８】
例えば、輝度勾配に加えて、対象物の色特徴量も統計データに加えることで、認識精度を向上させることができる。例えば、ＣｂやＣｒなどの色差信号の値そのものや、色差信号の値から算出した勾配を使ってヒストグラムを算出し、これを統計データに加えることもできる。
【００４９】
また、例えば、領域の輝度自体を特徴量としてもよい。また、バイナリコードで特徴を表すＢＲＩＥＦ（Binary  Robust  Independent  Elementary  Features）を用いてもよい。この場合、例えば複数の領域の輝度値（領域内の輝度値の平均値など）の大小比較結果をバイナリデータとしてもよい。複数の領域からランダムに選択した２点の輝度値の大小比較結果をバイナリデータとしてもよい。
【００５０】
検出部１０６は、算出された統計データと、記憶部１２１に記憶された登録物体の特徴量（統計データ）とを比較し、算出された統計データと類似または一致する統計データを有する登録物体を、対象物に対応する登録物体として特定（検出）する。登録物体の統計データは、第１算出部１０４および第２算出部１０５と同様の手法により事前に算出される。検出部１０６は、ＳＳＤ（Sum  of  Squared  Difference）、ＳＡＤ（Sum  of  Absolute  Difference）、および、正規化相互相関などによって、統計データ間の類似度を算出してもよい。また、検出部１０６が、ＳＶＭ（Support  vector  machine）などの識別器によって対象物に対応する登録物体を検出するように構成してもよい。
【００５１】
図７は、領域の設定例と輝度勾配の抽出例とを示した図である。設定部１０３は、画像内にサンプリング点７０１を設定する。また、設定部１０３は、サンプリング点７０１を基準として、周辺の８方向に領域７０２を設定する。上述のように、本実施形態では、周辺の領域７０２の輝度値から輝度勾配の強度（エッジ強度）を算出する。このため、図７の中段に示すように仮にサンプリング点での輝度の変化が大きい場合であっても、位置の変化（対象物の見え方の変化）に対するエッジ強度の頑健性が向上する。
【００５２】
また、図７には示していないが、設定部１０３は、対象物の状態に応じて、サンプリング点の位置等、および、領域の形状等を変化させる。従って、画像を撮像する環境などの変化に対しても頑健性を向上させることができる。また、サンプリング点の個数を減らしても、物体全体の形状を頑健に抽出できる。サンプリング点の個数を減らせるため、例えばメモリの参照回数を低減し、応答速度を高速化することができる。
【００５３】
また、物体を登録する際、登録する画像のほかに、回転などや照明変動などの画像処理を加えた画像を登録してもよい。これにより、物体の見え方の変化に対してさらに頑健になる。
【００５４】
次に、このように構成された第１の実施形態にかかる物体検出装置１００による物体検出処理について図８を用いて説明する。図８は、第１の実施形態における物体検出処理の一例を示すフローチャートである。
【００５５】
取得部１０１は、例えばカメラで撮像された画像を取得する（ステップＳ１０１）。推定部１０２は、取得された画像に撮像された対象物の状態を推定する（ステップＳ１０２）。設定部１０３は、推定された状態に応じて、取得された画像内に複数のサンプリング点および複数の領域を設定する（ステップＳ１０３）。第１算出部１０４は、設定された領域間の輝度勾配を算出する（ステップＳ１０４）。第２算出部１０５は、算出された輝度勾配を用いて、輝度勾配の統計データを算出する（ステップＳ１０５）。検出部１０６は、画像から算出された統計データと、記憶部１２１に記憶された登録物体の統計データとを比較する（ステップＳ１０６）。検出部１０６は、対応する登録物体、すなわち、統計データが類似または一致する登録物体が検出されたか否かを判断する（ステップＳ１０７）。検出された場合（ステップＳ１０７：Ｙｅｓ）、検出部１０６は、物体が検出されたことを出力し（ステップＳ１０８）、物体検出処理を終了する。対応する登録物体が検出されなかった場合（ステップＳ１０７：Ｎｏ）、検出部１０６は物体検出処理を終了する。
【００５６】
物体が検出されたことは、通信部（図示せず）などを介して外部装置に出力してもよいし、表示部１３１に出力（表示）してもよい。検出部１０６が、検出結果に応じたコンテンツを表示部１３１に表示してもよい。例えば、検出部１０６が、検出結果に応じた映像を表示部１３１にストリーミング配信したり、検出結果に応じたホームページを表示部１３１に表示したりしてもよい。これにより、ユーザに特定結果をフィードバックすることができる。映像の配信や、ホームページの表示に時間がかかる場合は、物体を認識（検出）したことを示すアニメーションを表示部１３１に表示してもよい。これにより、物体を認識したか否かをユーザに素早くフィードバックすることができる。
【００５７】
このように、第１の実施形態にかかる物体検出システムでは、撮像された対象物の状態を推定し、物体検出に用いる特徴量を算出するための領域を、推定した状態に応じて設定する。これにより、物体の状態変化に頑健な物体検出を実現できる。
【００５８】
（第２の実施形態）
第２の実施形態にかかる物体検出システムは、領域およびサンプリング点だけでなく、統計データの算出方法を、対象物の状態に応じて変化させる。
【００５９】
図９は、第２の実施形態にかかる物体検出装置１００−２の構成の一例を示すブロック図である。図９に示すように、物体検出装置１００−２は、記憶部１２１と、表示部１３１と、取得部１０１と、推定部１０２と、設定部１０３と、第１算出部１０４と、第２算出部１０５−２と、検出部１０６と、とを備えている。
【００６０】
第２の実施形態では、第２算出部１０５−２の機能が第１の実施形態と異なっている。その他の構成および機能は、第１の実施形態にかかる物体検出装置１００の構成を表すブロック図である図１と同様であるので、同一符号を付し、ここでの説明は省略する。
【００６１】
第２算出部１０５−２は、第１の実施形態の第２算出部１０５の機能に加えて、対象物の状態に応じて統計データの算出方法（例えばヒストグラムの作成方法）を変更する機能を備える。これにより、対象物の認識精度をさらに向上させることができる。
【００６２】
例えば、対象物の回転角が変化した場合、第２算出部１０５−２は、輝度勾配の方向とヒストグラムのビンとの対応関係が登録物体の統計データと同じになるように、回転角に応じて輝度勾配の方向とヒストグラムのビンとの対応関係を変化させる。また、対象物の照明環境が変化した場合、第２算出部１０５−２は、照明環境（例えば照度）に応じて、方向なしを判定するための閾値を変更する。例えば、第２算出部１０５−２は、暗い照明環境下では、方向なしを判定するための閾値を小さくする。これにより、精度の高い方向ありのデータのみを物体検出に用いることができる。
【００６３】
次に、このように構成された第２の実施形態にかかる物体検出装置１００−２による物体検出処理について図１０を用いて説明する。図１０は、第２の実施形態における物体検出処理の全体の流れを示すフローチャートである。
【００６４】
第２の実施形態では、ステップＳ２０５が追加されたことが、第１の実施形態の物体検出処理を示す図８と異なっている。ステップＳ２０１からステップＳ２０４、ステップＳ２０６からステップＳ２０９は、図８のステップＳ１０１からステップＳ１０８までと同様の処理なので、その説明を省略する。
【００６５】
ステップＳ２０５で、第２算出部１０５−２は、推定された状態に応じて、統計データの算出方法を設定する（ステップＳ２０５）。例えば、上述のように第２算出部１０５−２は、カメラに対する対象物の角度に応じて、輝度勾配の方向とヒストグラムのビンとの対応関係を変化させる。
【００６６】
このように、第２の実施形態にかかる物体検出システムでは、対象物の状態に応じて統計データの算出方法を変化させる。これにより、物体の状態変化に対して、より頑健な物体検出を実現できる。
【００６７】
（第３の実施形態）
第３の実施形態にかかる物体検出システムは、複数の装置に機能を分散して物体検出システムを実現する。具体的には、本実施形態では、特徴量（統計データ）の算出までを１つの装置（クライアント）で実行し、特徴量による物体の検出を他の装置（サーバ）で実行する例を説明する。
【００６８】
図１１は、第３の実施形態にかかる物体検出システムの構成の一例を示すブロック図である。図１１に示すように、第３の実施形態にかかる物体検出システムは、クライアント１００−３と、サーバ２００−３とを備えている。クライアント１００−３は、表示部１３１と、取得部１０１と、推定部１０２と、設定部１０３と、第１算出部１０４と、第２算出部１０５と、通信部１０７と、を備えている。サーバ２００−３は、通信部２０１と、検出部１０６と、記憶部１２１と、を備えている。
【００６９】
このように、第３の実施形態では、第１の実施形態の物体検出装置１００の機能のうち、表示部１３１、取得部１０１、推定部１０２、設定部１０３、第１算出部１０４、および、第２算出部１０５をクライアント１００−３に備え、検出部１０６および記憶部１２１をサーバ２００−３に備える。また、クライアント１００−３およびサーバ２００−３が、両装置間のデータの送受信に用いる通信部１０７および通信部２０１を、それぞれ備える。第１の実施形態と同様の機能には同一符号を付し説明は省略する。
【００７０】
通信部１０７は、サーバ２００−３などの外部装置との間でデータを送受信する。例えば、通信部１０７は、第２算出部１０５が算出した特徴量（統計データ）をサーバ２００−３に送信する。
【００７１】
通信部２０１は、クライアント１００−３などの外部装置との間でデータを送受信する。例えば、通信部２０１は、クライアント１００−３から送信された特徴量を受信する。受信された特徴量は、検出部１０６による物体検出処理で利用される。
【００７２】
次に、このように構成された第３の実施形態にかかる物体検出システムによる物体検出処理について図１２および図１３を用いて説明する。第３の実施形態の物体検出処理は、クライアント１００−３で実行される特徴算出処理（図１２）と、サーバ２００−３で実行される比較処理（図１３）とに分けられる。
【００７３】
図１２は、第３の実施形態の特徴算出処理の全体の流れを示すフローチャートである。ステップＳ３０１からステップＳ３０５までは、第１の実施形態の物体検出処理（図８）のステップＳ１０１からステップＳ１０５までと同様の処理なので、その説明を省略する。ステップＳ３０５で統計データが算出されると、通信部１０７は、算出された統計データをサーバ２００−３に送信し（ステップＳ３０６）、特徴算出処理を終了する。
【００７４】
図１３は、第３の実施形態の比較処理の全体の流れを示すフローチャートである。サーバ２００−３の通信部２０１は、クライアント１００−３から送信された統計データを受信する（ステップＳ４０１）。ステップＳ４０２からステップＳ４０４までは、第１の実施形態の物体検出処理（図８）のステップＳ１０６からステップＳ１０８までと同様の処理なので、その説明を省略する。なお、ステップＳ４０４で、検出部１０６は、通信部２０１を介して検出結果をクライアント１００−３に出力（送信）するように構成してもよい。
【００７５】
このように、第３の実施形態の物体検出システムでは、物体検出処理に用いる複数の機能を２つの装置に分散させる。例えば、対象物の特定（検出）を計算性能の高いサーバで行うように構成することができる。これにより、登録物体の数が多い場合でも高速に計算することが可能となる。
【００７６】
なお、第３の実施形態では、第１の実施形態の物体検出装置１００の機能を２つの装置（クライアント、サーバ）に分散した例を説明したが、第２の実施形態の物体検出装置１００−２の機能を２つの装置（クライアント、サーバ）に分散してもよい。例えば、第３の実施形態の第２算出部１０５の代わりに、クライアント１００−３が第２算出部１０５−２を備えてもよい。
【００７７】
（第４の実施形態）
第４の実施形態では、複数の装置に機能を分散して物体検出システムを実現する他の例を説明する。具体的には、本実施形態では、画像の取得までを１つの装置（クライアント）で実行し、対象物の状態の推定以降の処理を他の装置（サーバ）で実行する例を説明する。
【００７８】
図１４は、第４の実施形態にかかる物体検出システムの構成の一例を示すブロック図である。図１４に示すように、第４の実施形態にかかる物体検出システムは、クライアント１００−４と、サーバ２００−４とを備えている。クライアント１００−４は、表示部１３１と、取得部１０１と、通信部１０７−４と、を備えている。サーバ２００−４は、通信部２０１−４と、推定部１０２と、設定部１０３と、第１算出部１０４と、第２算出部１０５と、検出部１０６と、記憶部１２１と、を備えている。
【００７９】
このように、第４の実施形態では、第１の実施形態の物体検出装置１００の機能のうち、表示部１３１および取得部１０１をクライアント１００−４に備え、推定部１０２、設定部１０３、第１算出部１０４、第２算出部１０５、検出部１０６および記憶部１２１をサーバ２００−４に備える。また、クライアント１００−４およびサーバ２００−４が、両装置間のデータの送受信に用いる通信部１０７−４および通信部２０１−４を、それぞれ備える。第１の実施形態と同様の機能には同一符号を付し説明は省略する。
【００８０】
通信部１０７−４は、サーバ２００−４などの外部装置との間でデータを送受信する。例えば、通信部１０７−４は、取得部１０１が取得した画像をサーバ２００−４に送信する。
【００８１】
通信部２０１−４は、クライアント１００−４などの外部装置との間でデータを送受信する。例えば、通信部２０１−４は、クライアント１００−４から送信された画像を受信する。受信された画像は、例えば推定部１０２による推定処理、および、第１算出部１０４による算出処理で利用される。
【００８２】
次に、このように構成された第４の実施形態にかかる物体検出システムによる物体検出処理について図１５および図１６を用いて説明する。第４の実施形態の物体検出処理は、クライアント１００−４で実行される画像取得処理（図１５）と、サーバ２００−４で実行される比較処理（図１６）とに分けられる。
【００８３】
図１５は、第４の実施形態の画像取得処理の全体の流れを示すフローチャートである。ステップＳ５０１は、第１の実施形態の物体検出処理（図８）のステップＳ１０１と同様の処理なので、その説明を省略する。ステップＳ５０１で画像が取得されると、通信部１０７−４は、取得された画像をサーバ２００−４に送信し（ステップＳ５０２）、画像取得処理を終了する。
【００８４】
図１６は、第４の実施形態の比較処理の全体の流れを示すフローチャートである。サーバ２００−４の通信部２０１−４は、クライアント１００−４から送信された画像を受信する（ステップＳ６０１）。ステップＳ６０２からステップＳ６０８までは、第１の実施形態の物体検出処理（図８）のステップＳ１０２からステップＳ１０８までと同様の処理なので、その説明を省略する。なお、ステップＳ６０８で、検出部１０６は、通信部２０１−４を介して検出結果をクライアント１００−４に出力（送信）するように構成してもよい。
【００８５】
なお、第４の実施形態では、第１の実施形態の物体検出装置１００の機能を２つの装置（クライアント、サーバ）に分散した例を説明したが、第２の実施形態の物体検出装置１００−２の機能を２つの装置（クライアント、サーバ）に分散してもよい。例えば、第４の実施形態の第２算出部１０５の代わりに、サーバ２００−４が第２算出部１０５−２を備えてもよい。
【００８６】
（第５の実施形態）
第５の実施形態にかかる物体検出システムは、統計データの算出方法のみを対象物の状態に応じて変化させる。
【００８７】
図１７は、第５の実施形態にかかる物体検出装置１００−５の構成の一例を示すブロック図である。図１７に示すように、物体検出装置１００−５は、記憶部１２１と、表示部１３１と、取得部１０１と、推定部１０２と、設定部１０３−５と、第１算出部１０４と、第２算出部１０５−２と、検出部１０６と、とを備えている。
【００８８】
第５の実施形態では、設定部１０３−５および第２算出部１０５−２の機能が第１の実施形態と異なっている。その他の構成および機能は、第１の実施形態にかかる物体検出装置１００の構成を表すブロック図である図１と同様であるので、同一符号を付し、ここでの説明は省略する。なお第２算出部１０５−２の機能は、第２の実施形態と同様であるため同一符号を付し、ここでの説明は省略する。
【００８９】
設定部１０３−５は、特徴量を算出するための複数のサンプリング点および複数の領域（周辺領域）を画像内に設定する。第５の実施形態では、対象物の状態に応じてサンプリング点および領域は変化させない。例えば、設定部１０３−５は、予め定められた間隔でサンプリング点を設定し、設定したサンプリング点の周辺に、予め定められた間隔および形状の領域を設定する。
【００９０】
第５の実施形態では、第２算出部１０５−２が、対象物の状態に応じて統計データの算出方法を変化させる。これにより、画像を撮像する環境などの変化に対して、より頑健な物体検出処理が実現できる。
【００９１】
次に、このように構成された第５の実施形態にかかる物体検出装置１００−５による物体検出処理について図１８を用いて説明する。図１８は、第５の実施形態における物体検出処理の全体の流れを示すフローチャートである。
【００９２】
ステップＳ７０１からステップＳ７０２は、図８のステップＳ１０１からステップＳ１０２までと同様の処理なので、その説明を省略する。
【００９３】
設定部１０３−５は、画像内に複数の領域を設定する（ステップＳ７０３）。上述のように、第５の実施形態の設定部１０３−５は、対象物の状態に応じて領域の設定を変更しない。
【００９４】
ステップＳ７０４は、図８のステップＳ１０４と同様の処理なので、その説明を省略する。
【００９５】
第２算出部１０５−２は、推定された状態に応じて、統計データの算出方法を設定する（ステップＳ７０５）。この処理は例えば第２の実施形態の物体検出処理（図１０）のステップＳ２０５と同様である。
【００９６】
ステップＳ７０６からステップＳ７０９は、図８のステップＳ１０５からステップＳ１０８までと同様の処理なので、その説明を省略する。
【００９７】
このように、第５の実施形態にかかる物体検出システムでは、対象物の状態に応じて統計データの算出方法を変化させる。これにより、物体の状態変化に対して、より頑健な物体検出を実現できる。
【００９８】
次に、上記実施形態にかかる物体検出システムの各装置（物体検出装置、クライアント、サーバ）のハードウェア構成について図１９を用いて説明する。図１９は、上記実施形態にかかる物体検出システムのハードウェア構成を示す説明図である。
【００９９】
上記実施形態にかかる物体検出システムは、ＣＰＵ（Central  Processing  Unit）５１などの制御装置と、ＲＯＭ（Read  Only  Memory）５２やＲＡＭ（Random  Access  Memory）５３などの記憶装置と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５４と、各部を接続するバス６１を備えている。
【０１００】
上記実施形態にかかる物体検出システムで実行されるプログラムは、ＲＯＭ５２等に予め組み込まれて提供される。
【０１０１】
上記実施形態にかかる物体検出システムで実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact  Disk  Recordable）、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録されてコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【０１０２】
さらに、上記実施形態にかかる物体検出システムで実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上記実施形態にかかる物体検出システムで実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１０３】
上記実施形態にかかる物体検出システムで実行されるプログラムは、コンピュータを上述した物体検出システムの各部（取得部、推定部、設定部、第１算出部、第２算出部、検出部等）として機能させうる。このコンピュータは、ＣＰＵ５１がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【０１０４】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。
【符号の説明】
【０１０５】
１００  物体検出装置
１０１  取得部
１０２  推定部
１０３  設定部
１０４  第１算出部
１０５  第２算出部
１０６  検出部
１０７  通信部
１２１  記憶部
１３１  表示部
【図１】
2014048966.tif 000008
【図２】
2014048966.tif 000009
【図３】
2014048966.tif 000010
【図４】
2014048966.tif 000011
【図５】
2014048966.tif 000012
【図６】
2014048966.tif 000013
【図７】
2014048966.tif 000014
【図８】
2014048966.tif 000015
【図９】
2014048966.tif 000016
【図１０】
2014048966.tif 000017
【図１１】
2014048966.tif 000018
【図１２】
2014048966.tif 000019
【図１３】
2014048966.tif 000020
【図１４】
2014048966.tif 000021
【図１５】
2014048966.tif 000022
【図１６】
2014048966.tif 000023
【図１７】
2014048966.tif 000024
【図１８】
2014048966.tif 000025
【図１９】
2014048966.tif 000026