説明

オブジェクト検出装置、オブジェクト検出方法、オブジェクト検出プログラム、およびロボット

【課題】画像中のオブジェクトの位置および回転角度の検出時間を削減する。
【解決手段】参照オブジェクトモデルを用いた投票により画像からオブジェクトを検出するオブジェクト検出装置において、オブジェクトモデルの代表点を中心としてオブジェクトモデルを所定の角度ずつ回転して得られる回転オブジェクトモデルそれぞれの特徴点の座標値を参照オブジェクトモデルとして記憶する記憶部20と、画像の輪郭を抽出する輪郭抽出部33と、記憶部20から読み出した前記参照オブジェクトモデルの座標値と、前記画像の輪郭における点の座標値と、に基づき算出した座標値に対して投票を行ってその積算値である投票数を算出する投票数算出部36と、算出した座標値から、投票数が所定の閾値を超える算出した座標値を抽出する位置抽出部37と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オブジェクト検出装置、オブジェクト検出方法、オブジェクト検出プログラム、およびロボットに関する。
【背景技術】
【0002】
撮像装置などから入力される入力画像から、予め登録された参照オブジェクトの位置(二次元座標系における位置座標)、回転角およびスケーリングファクターなどを検出する検出方法として、相関法、フーリエ記述子法、モーメント法、ハフ変換法などが知られている。これらいずれの検出方法においても、登録された参照オブジェクトの特徴点は予め抽出され登録されている。
【0003】
これらの検出方法を適用したオブジェクト検出装置は、入力画像から認識対象オブジェクトの特徴点を抽出し、この抽出した特徴点と予め登録されている特徴点とを用いて、入力画像内における登録画像に対応したオブジェクトの位置、登録画像に対する姿勢、およびスケーリングファクターを算出する。その算出の際、単純な多数決の原理に基づく投票を行って、物体の位置と角度を検出する。
【0004】
ここで、相関法における投票処理について説明する。まず、オブジェクト検出装置は、入力画像中の画像の輪郭を表す画素において、参照オブジェクトの代表点に対する特徴点の座標値に、画像の輪郭を表す画素の座標を加算した座標値へ変換する。そして、オブジェクト検出装置は、その加算した座標値に対し、投票を行ってその積算値である投票数を、所定の数だけ増加させる。オブジェクト検出装置は、以上の処理を、全ての輪郭を表す画素について行う。そして、オブジェクト検出装置は、投票数が最大である加算した座標値を抽出し、その加算した座標値をオブジェクトの位置に決定する。
【0005】
また、オブジェクト検出装置は、予め登録された所定の角度で回転された参照オブジェクトの代表点に対する特徴点の座標を用いて、オブジェクトの角度を算出する。その際、オブジェクト検出装置は、画像の輪郭を表す画素において、参照オブジェクトの角度毎に登録された座標値に、画像の輪郭における点の座標値を加算した座標値を算出する。そして、オブジェクト検出装置は、その加算した座標値の投票数を増加させる。しかしながら、これら一連の投票処理は演算量が多く、多大な演算処理時間を要していた。
【0006】
そこで、物体の位置および角度の検出の速度向上のため、入力画像の特徴点を減らす方法が開示されている(例えば、特許文献1参照)。特許文献1に記載のオブジェクト検出装置は、まず、一定の回転角度刻みの粗サーチとしてハフ変換法を実行し、投票数の多い順に候補画素を選択する。次に、オブジェクト検出装置は、粗サーチにおける刻み角度よりも小さな回転角度で、ハフ変換法の再投票を行うものである。これにより、この特許文献に記載のオブジェクト検出装置は、投票処理の計算量を少なくしている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2008−97309号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1に開示されたオブジェクト検出装置は、粗サーチにおいて、一定の回転角度刻みで投票処理しなくてはならず、依然として計算量が多いという問題があった。
【0009】
そこで、本発明は上記問題に鑑みてなされたものであり、物体の位置および回転角度の検出時間を削減したオブジェクト検出装置、オブジェクト検出方法、オブジェクト検出プログラム、およびロボットを提供することを目的とする。
【課題を解決するための手段】
【0010】
[1]上記の課題を解決するため、本発明の一態様であるオブジェクト検出装置は、参照オブジェクトモデルを用いた投票により画像からオブジェクトを検出するオブジェクト検出装置において、オブジェクトモデルの代表点を中心として前記オブジェクトモデルを所定の角度ずつ回転して得られる回転オブジェクトモデルそれぞれの特徴点の座標値を前記参照オブジェクトモデルとして記憶する記憶部と、前記画像の輪郭を抽出する輪郭抽出部と、前記記憶部から読み出した前記参照オブジェクトモデルの座標値と、前記画像の輪郭における点の座標値と、に基づき算出した変換座標値に対して投票を行ってその積算値である投票数を算出する投票数算出部と、前記変換座標値から、前記投票数が所定の閾値を超える座標値を抽出する位置抽出部と、を備えることを特徴とする。
本発明の一態様によれば、オブジェクトモデルの代表点を中心として前記オブジェクトモデルを所定の角度ずつ回転して得られる回転オブジェクトモデルそれぞれの特徴点の座標値を参照オブジェクトモデルとして用いてオブジェクトを検出する。すなわち、オブジェクトモデルの特徴点座標値を回転角度ごとに有さない参照オブジェクトモデルを用いるものである。よって、オブジェクトモデルの回転角度ごとに投票処理を行わないため、処理にかかる時間を短縮することができる。
【0011】
[2]上記[1]記載のオブジェクト検出装置において、前記記憶部は、前記特徴点ごとの投票加算数を前記特徴点の座標値に関連付けて前記参照オブジェクトモデルとして記憶し、前記投票数算出部は、前記変換座標値に対して前記投票加算数による投票を行ってその積算値である投票数を算出することを特徴とする。
この構成によれば、オブジェクトの特徴点毎に決められた投票加算数を、変換後の座標値に対して投票することができ、すなわち、特徴点に重み付けをつけることができる。従って、投票数のダイナミックレンジを広げることができ、ロバスト性の高いオブジェクト検出を行うことができる。
【0012】
[3]上記[1]または[2]に記載のオブジェクト検出装置において、前記記憶部は、角度ごとの前記オブジェクトモデルの特徴点の座標値を更に記憶し、前記投票数算出部は、前記検出した画像の輪郭における点のうち、前記位置抽出部が抽出した前記変換座標値に含まれる点を輪郭抽出点として抽出し、前記記憶部から読み出した前記回転オブジェクトモデルの特徴点の座標値と、前記輪郭抽出点の座標値と、に基づき算出した算出座標値を算出し、前記角度毎に設けた座標空間における前記算出座標値に対して投票を行ってその積算値である投票数を算出し、前記位置抽出部は前記座標空間毎に算出された投票数が所定の閾値を越えるかまたは最大値となる前記算出座標値と前記角度との組み合わせを抽出することを特徴とする。
この構成によれば、検出した画像の輪郭における点のうち、位置抽出部が抽出した変換座標値に含まれる点を輪郭抽出点として抽出するので、画像の輪郭における点を絞り込むことができる。投票を行う対象である座標値がその絞り込んだ輪郭抽出点に基づいて算出されるので、投票を行う対象である座標値の数を減らすことができ、その結果、投票処理の演算量を少なくすることができる。よって、処理にかかる時間を短縮することができる。
【0013】
[4]上記の課題を解決するため、本発明の一態様であるオブジェクト検出方法は、参照オブジェクトモデルを用いた投票により画像からオブジェクトを検出するオブジェクト検出方法において、前記画像の輪郭を抽出する輪郭抽出ステップと、オブジェクトモデルの代表点を中心として前記オブジェクトモデルを所定の角度ずつ回転して得られる回転オブジェクトモデルそれぞれの特徴点の座標値を前記参照オブジェクトモデルとして記憶した記憶部から、前記参照オブジェクトモデルの座標値を読み出して、前記参照オブジェクトモデルの座標値と、前記画像の輪郭における点の座標値と、に基づき算出した変換座標値に対して投票を行ってその積算値である投票数を算出する候補座標投票ステップと、前記変換座標値から、前記投票数が所定の閾値を超える座標値を抽出する位置抽出ステップと、を有することを特徴とする。
本発明の一態様によるオブジェクト検出方法によれば、オブジェクトモデルの代表点を中心として前記オブジェクトモデルを所定の角度ずつ回転して得られる回転オブジェクトモデルそれぞれの特徴点の座標値を参照オブジェクトモデルとして用いてオブジェクトを検出する。すなわち、オブジェクトモデルの特徴点座標値を回転角度ごとに有さない参照オブジェクトモデルを用いるものである。よって、オブジェクトモデルの回転角度ごとに投票処理を行わないため、処理にかかる時間を短縮することができる。
【0014】
[5]上記の課題を解決するため、本発明の一態様であるオブジェクト検出プログラムは、オブジェクトモデルの代表点を中心として前記オブジェクトモデルを所定の角度ずつ回転して得られる回転オブジェクトモデルそれぞれの特徴点の座標値を前記参照オブジェクトモデルとして記憶する記憶部を備えたコンピューターを、前記画像の輪郭を抽出する輪郭抽出部と、前記記憶部から読み出した前記参照オブジェクトモデルの座標値と、前記画像の輪郭における点の座標値と、に基づき算出した変換座標値に対して投票を行ってその積算値である投票数を算出する投票数算出部と、前記変換座標値から、前記投票数が所定の閾値を超える座標値を抽出する位置抽出部と、として機能させる。
本発明の一態様によるオブジェクト検出プログラムによれば、オブジェクトモデルの代表点を中心として前記オブジェクトモデルを所定の角度ずつ回転して得られる回転オブジェクトモデルそれぞれの特徴点の座標値を参照オブジェクトモデルとして用いてオブジェクトを検出する。すなわち、オブジェクトモデルの特徴点座標値を回転角度ごとに有さない参照オブジェクトモデルを用いるものである。よって、オブジェクトモデルの回転角度ごとに投票処理を行わないため、処理にかかる時間を短縮することができる。
【0015】
[6]上記の課題を解決するため、本発明の一態様であるロボットは、参照オブジェクトモデルを用いた投票により画像からオブジェクトを検出するロボットにおいて、物体を撮像して撮像信号を生成する撮像部と、前記撮像部を取り付けたハンド部と、前記ハンド部を可動自在に取り付けたアーム部と、オブジェクトモデルの代表点を中心として前記オブジェクトモデルを所定の角度ずつ回転して得られる回転オブジェクトモデルそれぞれの特徴点の座標値を前記参照オブジェクトモデルとして記憶する記憶部と、前記撮像部が生成した撮像信号の供給を受けて画像を取得する画像取得部と、前記画像の輪郭を抽出する輪郭抽出部と、前記記憶部から読み出した前記参照オブジェクトモデルの座標値と、前記画像の輪郭における点の座標値と、に基づき算出した変換座標値に対して投票を行ってその積算値である投票数を算出する投票数算出部と、前記変換座標値から、前記投票数が所定の閾値を超える座標値を抽出する位置抽出部と、を備えることを特徴とする。
本発明の一態様によるロボットによれば、オブジェクトモデルの代表点を中心として前記オブジェクトモデルを所定の角度ずつ回転して得られる回転オブジェクトモデルそれぞれの特徴点の座標値を参照オブジェクトモデルとして用いてオブジェクトを検出する。すなわち、オブジェクトモデルの特徴点座標値を回転角度ごとに有さない参照オブジェクトモデルを用いるものである。よって、オブジェクトモデルの回転角度ごとに投票処理を行わないため、処理にかかる時間を短縮することができる。
【図面の簡単な説明】
【0016】
【図1】本発明の一実施形態であるロボットの斜視図である。
【図2】本発明の一実施形態であるオブジェクト検出装置の主要な機能構成を示すブロック図である。
【図3】同実施形態において、オブジェクトモデルの場合における特徴点の座標の例を示した図である。
【図4】同実施形態において、回転オブジェクトモデルの場合における特徴点の座標の例を示した図である。
【図5】オブジェクトモデルの場合において、回転角度毎の各特徴点の座標を示したテーブルである。
【図6】回転オブジェクトモデルの場合において、各特徴点の座標とそれに対応する投票数を示したテーブルである。
【図7】対象画像において、画像の輪郭を検出するための検出対象領域が設定された状態を模式的に示した図である。
【図8】画像の輪郭において、回転オブジェクトモデルの特徴点の座標値に画像の輪郭における点の座標値を加算し、その加算した座標値に対してテーブル70の投票加算数を投票する処理を説明するための図である。
【図9】図8(a)から図8(f)までの全特徴点を重ねて表示した図である。
【図10】回転オブジェクトモデルを用いたときの、ij空間における投票結果をグラフ化した図である。
【図11】対象画像において、オブジェクトを検出するための検出対象領域を絞り込んだ際の領域である絞り込み領域を説明するための図である。
【図12】画像の輪郭において、オブジェクトモデルの特徴点の座標値に、画像の輪郭における点の座標値を加算し、角度毎に設けた座標空間における加算後の座標値の投票数に1を加算する処理を説明するための図である。
【図13】オブジェクトモデルの代表点が画像の輪郭のうちの所定の6点にある仮定したときに、オブジェクトモデルの特徴点を重ねて表示した図である。
【図14】回転角度0度のオブジェクトモデルまたは回転角度180度のオブジェクトモデルの、回転角度毎に設けた座標空間における投票結果の1例を示した図である。
【図15】同実施形態において、モデル抽出部10が角度毎に、参照オブジェクトの特徴点の位置を記憶部へ保存する手順を示すフローチャートである。
【図16】同実施形態において、物体検出部がベクトル相関法を用いて、オブジェクト検出をする手順を示すフローチャートである。
【図17】同実施形態において、オブジェクトの粗検出における物体検出部の処理の手順を示すフローチャートである。
【図18】同実施形態において、オブジェクトの等倍検出における物体検出部の処理の手順を示すフローチャートである。
【図19】同実施形態において、投票数算出部が行う粗検出時の投票処理の手順を示すフローチャートである。
【図20】同実施形態において、投票数算出部が行う等倍検出時の投票処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0017】
以下、本発明を実施するための形態について、図面を参照して詳細に説明する。図1は、本発明の一実施形態であるロボットの斜視図である。同図に示すように、ロボット1は、地面に固定された支持台2と、旋回および屈伸動作が可能なアーム部3と、回転および首振り動作が可能なハンド部4と、フレーム5と、撮像装置6と、ケーブル7と、オブジェクト検出装置8とを含んで構成される。
【0018】
ロボット1は、アーム部3およびハンド部4の伸縮、屈伸、旋回等の動作が可能である。このロボット1は、例えば、3軸以上の自由度を有し、アーム部3およびハンド部4が可動自在な産業用ロボットである。なお、同図に示すロボット1は、6軸の自由度を有する例である。
ロボット1は、不図示のロボットコントローラーの制御によって、アーム部3とハンド部4とを複合的に動作させ、撮像部6を移動させる。なお、支持台2は、地面の他に壁や天井等の地面に対して固定された場所に設置してもよい。
【0019】
フレーム5は、ハンド部4に取り付けられている。そして、フレーム5は、撮像部6を固定支持する。これによって、撮像部6は、空間中を自在に移動することができる。このように、ロボット1は、ハンド部4を動かすことによって撮像部6を自在に移動させることができ、計測対象物体を任意の位置および任意の角度から撮像することができる。
【0020】
撮像装置6は、ケーブル7を介してオブジェクト検出装置8に接続される。撮像装置6は計測対象物体を撮像し、撮像信号を生成する。そして、撮像装置6は、撮像信号をオブジェクト検出装置8に供給する。
オブジェクト検出装置8は、撮像装置6から供給された撮像信号を受け取る。
【0021】
図2は、オブジェクト検出装置8の主要な機能構成を示すブロック図である。オブジェクト検出装置は、参照オブジェクトモデルを用いた投票により画像からオブジェクトを検出する装置である。同図に示すように、オブジェクト検出装置8は、モデル抽出部10と、記憶部20と、物体検出部30とを含んで構成される。
【0022】
モデル抽出部10は、登録画像入力部11と、ノイズ低減部12と、輪郭抽出部13と、画像縮小部14と、特徴点抽出部15と、間引き部16と、回転部17とを含んで構成される。
登録画像入力部11は、不図示の外部装置から供給されるデジタル画像を受け取る入力部である。このデジタル画像(以下、モデル画像と呼ぶ。)には、参照オブジェクトの画像が含まれている。登録画像入力部11は、受け取ったモデル画像をノイズ低減部12に供給する。
【0023】
ノイズ低減部12は、モデル画像中のノイズを低減する画像処理部である。ノイズ低減部12は、登録画像入力部11からモデル画像を受け取る。そして、ノイズ低減部12は、そのモデル画像に対して、膨張処理、縮小処理、スムージング処理などの画像処理を行って、モデル画像中のノイズを低減した画像(以下、ノイズ低減モデル画像と呼ぶ。)を生成する。
次に、ノイズ低減部12は、生成したノイズ低減モデル画像を輪郭抽出部13に供給する。
【0024】
輪郭抽出部13は、ノイズ低減モデル画像の輪郭を抽出する画像処理部である。輪郭抽出部13は、ノイズ低減部12から供給されたノイズ低減モデル画像を受け取る。そして、輪郭抽出部13は、ラプラシアンフィルタを用いて、ノイズ低減モデル画像の輪郭を抽出する。なお、ラプラシアンフィルタ以外のフィルタを用いて輪郭抽出処理を行ってもよい。
【0025】
輪郭抽出部13は、輪郭抽出後、例えば、輪郭の画素値を1にし、輪郭以外の画素値を0にした二値化画像を生成する。輪郭抽出部13は、その二値化画像を画像縮小部14と特徴点抽出部15とに供給する。
【0026】
画像縮小部14は、供給された画像データを所定の比率で縮小する処理部である。画像縮小部14は、輪郭抽出部13から供給された二値化画像を受け取る。そして、画像縮小部14は、その二値化画像を縮小して縮小画像を生成する。次に、画像縮小部14は、縮小画像を特徴点抽出部15に供給する。
【0027】
特徴点抽出部15は、供給された画像の輪郭から特徴点を抽出する画像処理部である。特徴点抽出部15は、輪郭抽出部13から供給された二値化画像を受け取る。また、特徴点抽出部15は、画像縮小部14から供給された縮小画像を受け取る。
そして、特徴点抽出部15は、二値化画像または縮小画像から、参照オブジェクトの代表点の座標を算出する。例えば、特徴点抽出部15は、代表点の座標として、参照オブジェクトの二次元平面上の重心の座標を算出する。次に、特徴点抽出部15は、代表点の座標を記憶部20に記憶させる。
【0028】
特徴点抽出部15は、二値化画像の輪郭または縮小画像の輪郭から、特徴点の座標を抽出する。そして、特徴点抽出部15は、抽出した特徴点の座標を、参照オブジェクトの代表点の座標を原点とする座標(以下、特徴点の座標と称する)に変換する。そして、特徴点抽出部15は、特徴点の座標の情報を間引き部16に供給する。
【0029】
ここで、特徴点抽出部15が、特徴点の座標を算出する方法について具体例を挙げて説明する。図3は、オブジェクトモデルにおける特徴点の座標の例を示した図である。同図(a)は、回転角度θ(qは回転角度のインデックスであり、0からn−1までの整数)が0度である場合の、オブジェクトモデルの特徴点の座標を示した図である。
【0030】
また、回転角度θにおける、特徴点番号p(pは0からm−1までの整数)の座標は、(xr(p,q),yr(p,q))と表される。図3(a)の回転角度θが0度であるオブジェクトモデル40において、特徴点抽出部15は、オブジェクトモデル40の輪郭42から、6点の特徴点を抽出する。回転角度0度のオブジェクトモデル40における座標(xr(0,0),yr(0,0))、(xr(1,0),yr(1,0))、(xr(2,0),yr(2,0))、(xr(3,0),yr(3,0))、(xr(4,0),yr(4,0))、(xr(5,0),yr(5,0))は、それぞれの特徴点のモデルの代表点41からの座標を示している。
【0031】
間引き部16は、参照オブジェクトの特徴点の数を減らす画像処理部である。間引き部16は、特徴点抽出部15から供給された特徴点の座標の情報を受け取る。そして、間引き部16は、検出精度に影響しない程度に、特徴点の数を減らす。例えば、間引き部16は、所定の距離毎に特徴点が存在するように、特徴点を減らす。次に、間引き部16は、減らされた特徴点の座標の情報を回転部17に供給する。
【0032】
回転部17は、特徴点の座標を、参照オブジェクトの代表点を中心として所定の回転角をステップとして回転させた場合の、特徴点の座標を算出する処理部である。回転部17は、間引き部16から供給された特徴点の座標の情報を受け取る。そして、回転部17は、特徴点の座標を参照オブジェクトの代表点を中心として所定の回転角度をステップとして回転させた場合の特徴点の、座標(以下、回転角度毎の特徴点の座標)を算出する。次に、回転部17は、所定の回転角度毎の各特徴点の座標を、記憶部20に記憶させる。
【0033】
ここで、回転部17の上記処理を、具体例を挙げて説明する。図3(b)は、回転角度θが180度である場合の、オブジェクトモデルの特徴点の座標を示した図である。回転角度θが180度のオブジェクトモデル44は、回転角度θが0度のオブジェクトモデル40を、代表点41を中心にして、180度回転させたモデルである。輪郭42の座標と特徴点43の座標とが、代表点41を中心にして180度回転され、それぞれ輪郭45の座標と特徴点46の座標として表される。
【0034】
すなわち、回転部17は、回転角度θが0度のオブジェクトモデル40の特徴点43の座標(xr(p,0),yr(p,0))を、回転角度θが180度のオブジェクトモデル44の特徴点46の座標(xr(p,1),yr(p,1))へ変換する(この例では、pは0から5までの整数)。例えば、回転部17は、(xr(0,0),yr(0,0))を、(xr(0,1),yr(0,1))へ変換する。同様に、回転部17は、(xr(1,0),yr(1,0))を、(xr(1,1),yr(1,1))へ変換する。回転部17は、(xr(2,0),yr(2,0))を、(xr(2,1),yr(2,1))へ変換する。回転部17は、(xr(3,0),yr(3,0))を、(xr(3,1),yr(3,1))へ変換する。回転部17は、(xr(4,0),yr(4,0))を、(xr(4,1),yr(4,1))へ変換する。回転部17は、(xr(5,0),yr(5,0))を、(xr(5,1),yr(5,1))へ変換する。
【0035】
図3(b)のオブジェクトモデル44の場合、回転部17は、図3(a)における特徴点43の座標(xr(p,0),yr(p,0))をモデルの代表点41を中心にして、180度回転させて、図3(b)における特徴点46の座標(xr(p,1),yr(p,1))を算出する。
【0036】
また、回転部17は、特徴点の座標値を参照オブジェクトの代表点を中心として、所定の回転角度ごとに回転させ、回転後の特徴点の座標値を算出する。また、回転部17は、その座標値に対して投票を行ってその積算値である投票数を例えば1増やす。但し、最初に各特徴点の座標値の投票数は0にしておく。
回転部17は、上記処理を繰り返し、360度回転して、回転角度θが0度に戻ったときに処理を終了する。
【0037】
回転部17の上記処理を、具体例を用いて説明する。図4は、回転オブジェクトモデルにおける特徴点の座標の例を示した図である。
回転オブジェクトモデル50におけるx座標系において、原点0が代表点51である。輪郭52は、モデルの全輪郭を表している。特徴点53は、原点0を中心とする2つの異なる半径の同心円の円周近辺に分布している。また、特徴点53が、重なっている点では、重なっている特徴点の数が投票数を表している。
【0038】
同図の回転オブジェクトモデル50は、図3(a)に示す輪郭42を、モデルの代表点41を中心として30度のステップずつ360度まで回転させ、ステップごとに、座標をプロットして得られるものである。
同様にして、特徴点53は、オブジェクトモデルの特徴点43がモデルの代表点41を中心として、30度のステップずつ360度まで回転させ、ステップごとに、座標をプロットして得られるものである。
【0039】
すなわち、図4の回転オブジェクトモデル50は、回転角度が0度、30度、60度、90度、120度、150度、180度、210度、240度、270度、300度、330度のオブジェクトモデルを、全て重ね合わせたものである。
【0040】
回転部17は、回転オブジェクトモデル50の特徴点53の座標値(xra(s),yra(s))と(sは0からk−1までの整数)、その座標値に対応する投票加算数を算出する。ここで、投票加算数とは、ある座標に投票する際に、一度に投票する数である。特徴点の座標に応じて投票加算数を設定することにより、投票数のダイナミックレンジを広げることができる。これによって、ノイズの多い画像であっても、オブジェクトの位置を検出することができるので、画像ノイズに対してロバスト性を有する。
次に、回転部17は、座標値(xra(s),yra(s))とその座標値に対応する投票加算数とを関係付けて、記憶部20に記憶させる。
【0041】
図4の回転オブジェクトモデル50の場合、回転部17は、まず図3(a)における特徴点43の座標(xr(p,0),yr(p,0))(この例では、pは0から5までの整数)のそれぞれの座標値に対して投票を行ってその積算値である投票数を1増やす。
【0042】
次に、回転部17は、図3(a)における特徴点43の座標値(xr(p,0),yr(p,0))(この例では、pは0から5までの整数)をモデルの代表点41を中心にして、30度回転させ、回転後の座標値(xr(p,1),yr(p,1))を算出する。また、回転部17は、それぞれの座標値(xr(p,1),yr(p,1))に対応する投票加算数を1増やす。
【0043】
次に、回転部17は、図3(a)における特徴点43の座標値(xr(p,0),yr(p,0))をモデルの代表点41を中心にして、60度回転させて、回転後の座標値(xr(p,2),yr(p,2))を算出する。また、回転部17は、それぞれの座標値(xr(p,2),yr(p,2))に対応する投票加算数を1増やす。
【0044】
以下、同様にして、回転部17は、特徴点43の座標値(xr(p,0),yr(p,0))をモデルの代表点41を中心にして、90度、120度、150度、180度、210度、240度、300度、330度回転させ、それぞれの回転後の座標値を算出する。また、それぞれの回転後における、それぞれの座標値に対応する投票加算数を1増やす。
【0045】
記憶部20は、特徴点の座標値と投票数とを関係付けたテーブルを記憶する記憶部である。
記憶部20は、特徴点抽出部15から供給された代表点の座標を受け取り、その代表点の座標を記憶する。
【0046】
図5は、オブジェクトモデルの場合において、回転角度毎の各特徴点の座標を示したテーブルである。同図のテーブル60は、特徴点番号p(pは0からm−1までの整数)と、回転角度θ(qは0からn−1までの整数)毎の相対x座標xr(p,q)、相対y座標yr(p,q)との関係を表すテーブルである。
【0047】
記憶部20は、回転部17から供給されたオブジェクトモデルの所定の回転角度毎の特徴点の座標を受け取る。
そして、記憶部20は、所定の回転角度毎の特徴点の座標をテーブル60として記憶する。
【0048】
図6は、回転オブジェクトモデルにおける、各特徴点の座標値とそれに対応する投票加算数を示したテーブルである。同図のテーブル70は、特徴点番号s(sは0からk−1までの整数)と、特徴点の相対x座標xra、特徴点の相対y座標yra、および投票加算数との関係を表すテーブルである。
【0049】
記憶部20は、回転部17から供給された回転オブジェクトモデルの特徴点の座標(xra,yra)とその座標に対応する投票加算数とを受け取る。そして、記憶部20は、特徴点の座標(xra,yra)と投票加算数とをテーブル70として記憶する。
【0050】
図2の説明に戻り、物体検出部30の構成について説明する。物体検出部30は、画像入力部31と、ノイズ低減部32と、輪郭抽出部33と、画像縮小部34と、検出領域抽出部35と、投票数算出部36と、位置抽出部37とを含んで構成される。
【0051】
画像入力部31は、撮像装置6が出力した撮像信号を受け取る入力部である。画像入力部31は、その撮像信号をデジタル画像へ変換する。画像入力部31は、そのデジタル画像をノイズ低減部32へ供給する。
【0052】
ノイズ低減部32は、デジタル画像中のノイズを低減する処理部である。ノイズ低減部32は、画像入力部31が供給したデジタル画像を受け取る。ノイズ低減部32は、そのデジタル画像に対して、膨張または縮小処理やスムージングなどの一般的な画像処理法を用いて、デジタル画像中のノイズを低減し、ノイズを低減した画像(以下、ノイズ低減画像と称する)を生成する。そして、ノイズ低減部32は、そのノイズ低減画像を輪郭抽出部33へ供給する。
【0053】
輪郭抽出部33は、デジタル画像中の画像の輪郭を抽出する処理部である。輪郭抽出部33は、ノイズ低減部32から供給されたノイズ低減画像を受け取る。輪郭抽出部33は、ラプラシアンフィルタを用いて、ノイズ低減画像の輪郭を抽出する。なお、その輪郭抽出において、ラプラシアンフィルタ以外のフィルタを用いてもよい。
輪郭抽出部33は、輪郭抽出後、輪郭の画素値を1にし、輪郭以外の画素値を1にした二値化画像を生成する。このとき、輪郭抽出部33は、その二値化画像を画像縮小部34と、検出領域抽出部35とへ供給する。
【0054】
なお、ノイズ低減部32の処理は、モデル抽出部10のノイズ低減部12の処理と、細かな手法やアルゴリズムが異なっていてもよい。
また、輪郭抽出部33は、モデル抽出部10の輪郭抽出部13の処理と、細かな手法やアルゴリズムが異なっていてもよい。
【0055】
画像縮小部34は、入力された画像データを所定の比率で縮小する処理部である。画像縮小部34は、輪郭抽出部33から供給された二値化画像を受け取る。画像縮小部34は、その二値化画像を所定の比率で縮小し、縮小画像を生成する。画像縮小部34は、その縮小画像を検出領域抽出部35へ供給する。ここで、前記二値化画像とその縮小画像を総称して、対象画像と称する。
【0056】
図7は、対象画像において、画像の輪郭を検出するための検出対象領域が設定された状態を模式的に示した図である。同図において、対象画像81は画像の輪郭83を含んでいる。そして、画像の輪郭83の位置と回転角度とを検出するために、オブジェクト83を含むようにして矩形の検出対象領域82が表示されている。
【0057】
ここで、検出対象領域82には、左上隅を原点にしたij座標系が設定されている。ij座標系は、1画素ごとに対応するij座標が与えられている座標系である。検出対象領域82の幅はwで、高さがhである。本実施形態では、幅wが120画素であり、高さhが120画素である検出対象領域82を例として、以下説明する。
【0058】
検出領域抽出部35は、図7に示された対象画像81から画像の輪郭83を含むように検出対象領域を抽出する処理部である。検出領域抽出部35は、輪郭抽出部33から供給された二値化画像を受け取る。また、検出領域抽出部35は、画像縮小部34から供給された縮小画像を受け取る。
【0059】
検出領域抽出部35は、その二値化画像またはその縮小画像に対して、対象とする画像の輪郭を含むように検出対象領域を設定する。その際、検出領域抽出部35は、画像が検出対象領域に収まるように、画像の輪郭よりも数画素分幅の広い長方形または正方形で検出対象領域を設定する。
【0060】
検出領域抽出部35は、ij座標系において、その検出対象領域82の幅wと高さhを算出する。そして、検出領域抽出部35は、その検出対象領域の幅wと高さhとその対象画像81とを投票数算出部36に供給する。また、検出領域抽出部35は、縮小画像を用いた粗検出時に算出されたオブジェクトの位置と回転角度を位置抽出部37から受け取る。
【0061】
投票数算出部36は、オブジェクトの位置と回転角度を算出する処理部である。以下、投票数算出部36について説明する。
【0062】
投票数算出部36は、画像の輪郭83の位置を検出対象領域82から更に領域を絞り込む。投票数算出部36は、検出領域抽出部35から供給された検出対象領域の幅wと高さhと対象画像とを受け取る。投票数算出部36は、記憶部20のテーブル70から回転オブジェクトモデルの特徴点の座標とその座標に対応する投票加算数、オブジェクトモデルの特徴点の座標を読み出す。
【0063】
図8は、画像の輪郭において、回転オブジェクトモデルの特徴点の座標値に画像の輪郭における点の座標値を加算し、その加算した座標値に対してテーブル70の投票加算数を投票する処理を説明するための図である。
図8(a)は、画像の輪郭83の輪郭における座標の中で、j座標が一番小さいものの内、i座標が一番小さい座標に、回転オブジェクトモデル50の代表点51があるときの特徴点53のij座標系における座標を表している。
【0064】
同様に、図8(b)は、画像の輪郭83の輪郭における座標の中で、j座標が一番小さいものの内、i座標が一番大きい座標に、回転オブジェクトモデル50の代表点51があるときの特徴点53のij座標系における座標を表している。
同様に、図8(c)は、画像の輪郭83の輪郭における座標の中で、ある座標に回転オブジェクトモデル50の代表点51があるときの特徴点53のij座標系における座標を表している。
【0065】
同様に、図8(d)は、画像の輪郭83の輪郭における座標の中で、j座標が図8(c)のj座標と同じで、i座標が図8(c)のi座標より大きい座標に、回転オブジェクトモデル50の代表点51があるときの特徴点53のij座標系における座標を表している。
同様に、図8(e)は、画像の輪郭83の輪郭における座標の中で、オブジェクトの左下の角に、回転オブジェクトモデル50の代表点51があるときの特徴点53のij座標系における座標を表している。
【0066】
同様に、図8(f)は、画像の輪郭83の輪郭における座標の中で、j座標が一番大きいときのij座標に、回転オブジェクトモデル50の代表点51があるときの特徴点53のij座標系における座標を表している。
【0067】
投票数算出部36は、ij座標系において、座標(0,0)から座標(w,h)まで、1画素ずつ対象画像81の画素値を読む。具体的には、例えば、投票数算出部36は、ij座標系において、座標(0,0)からj座標を0に固定して、iを1ずつ増やしながら、対象画像81の各画素値を読む。そして、投票数算出部36は、i座標がwになったら、jを1増やし、iを0として、iを1ずつ増やしながら、対象画像81の各画素の値を読む。以下、同様にして、投票数算出部36は、画素の座標が座標(w,h)になるまで、上記画素値の読み出し処理を繰り返す。
【0068】
投票数算出部36は、前記読み出した画素値が1であれば、その画素の座標を、画像の輪郭83の輪郭の一部と判定する。
投票数算出部36は、記憶部20のテーブル70から回転オブジェクトモデルの特徴点の座標値を読み出す。投票数算出部36は、読み出した回転オブジェクトモデルの特徴点の座標値に、画像の輪郭における点の座標値を加算した座標値(変換座標値)を算出する。
【0069】
すなわち、投票数算出部36は、特徴点の座標(i,j)を、変換座標値(i+xra(s),j+yra(s))へ変換する(sは0からk−1までの整数)。
この投票数算出部36の処理は、例えば、図8(a)に示すij座標における各特徴点53の座標を算出することに相当する。
【0070】
そして、投票数算出部36は、変換座標値(i+xra(s),j+yra(s))に対して投票を行って、その積算値である投票数を算出する。換言すると、投票数算出部36は、特徴点毎に対応する投票加算数を、前記変換座標値(i+xra(s),j+yra(s))における投票数V(i+xra(s),j+yra(s))に加算する(sは0からk−1までの整数)。投票数算出部36は、その処理を全ての特徴点に対して行う。
【0071】
上記処理を、具体例を用いて説明する。例えば、投票数算出部36は、画素値が1の座標(i,j)において、図6のテーブル70の特徴点番号0の座標(10,12)を座標(i+10,j+12)へ変換する。そして、投票数算出部36は、その座標(i+10,j+12)における投票数V(i+10,j+12)に、テーブル70の特徴点番号0の投票加算数5を加算する。
【0072】
次に、投票数算出部36は、テーブル70の特徴点番号1の座標(9,12)を座標(i+9,j+12)へ変換する。そして、投票数算出部36は、その座標(i+9,j+12)おける投票数V(i+9,j+12)に、テーブル70の特徴点番号1の投票加算数1を加算する。
次に、投票数算出部36は、テーブル70の特徴点番号2の座標(7,12)を座標(i+7,j+12)へ変換する。そして、投票数算出部36は、その座標(i+7,j+12)おける投票数V(i+7,j+12)に、テーブル70の特徴点番号2の投票加算数3を加算する。
【0073】
次に、投票数算出部36は、テーブル70の特徴点番号3の座標(6,12)を座標(i+6,j+12)へ変換する。そして、投票数算出部36は、その座標(i+6,j+12)における投票数V(i+6,j+12)に、テーブル70の特徴点番号3の投票加算数4を加算する。そして、投票数算出部36は、同様の処理を繰り返す。
最後に、投票数算出部36は、テーブル70の特徴点番号k−1の座標(2,−18)を座標(i+2,j−18)へ変換する。そして、投票数算出部36は、その座標値(i+2,j−18)における投票数V(i+2,j−18)に、テーブル70の特徴点番号k−1の投票加算数2を加算する
これによって、投票数算出部36の座標(i,j)における投票処理は終了する。
【0074】
投票数算出部36は、上記の処理を画素値が1のときの座標(i,j)において、繰り返し行う。ここで、投票数算出部36のその繰り返し処理の流れを、図8を用いて説明する。
まず、投票数算出部36は、座標(0,0)から1画素ずつ、対象画像81の画素値を読み出していく。投票数算出部36は、j座標を固定して、iの値を増やしながら、画素値を更に読み出す。座標(i、j)が検出対象領域82の範囲外になる場合、jを1増やして、iの値を0に戻す。
【0075】
読み出した画素値が1の場合、投票数算出部36は、記憶部20に保存されたテーブル70から読み出した特徴点の座標値に、その画像の輪郭における点を加算した座標値を算出する。そして、投票数算出部36は、記憶部20に保存された特徴点毎に対応する投票加算数を読み出す。そして、投票数算出部36は、その変換座標値における投票数V(i,j)に読み出した投票加算数を加算する。
【0076】
例えば、図8(a)において、読みだされた画素値が1になるので、投票数算出部36は、記憶部20のテーブル70から読み出した特徴点の座標値に、画素値が1になる点の座標を加算した座標値を算出する。そして、投票数算出部36は、記憶部20に保存された特徴点毎に対応する投票加算数を読み出す。そして、投票数算出部36は、その変換座標値における投票数V(i,j)に読み出した投票加算数を加算する。
【0077】
このように、投票数算出部36が読み出した画素値が1になるたびに、図8(a)における処理と同じ処理を行う。例えば、図8(b)において、読みだされた画素値が1になるので、投票数算出部36は図8(a)における処理と同じ処理を行う。続いて、図8(c)において、読みだされた画素値が1になるので、投票数算出部36は図8(a)における処理と同じ処理を行う。
【0078】
さらに、投票数算出部36は、j座標を固定して、iの値を増やしながら、画素値を更に読み出す。次に画素値が1になるのは、読み出す座標が座標図8(d)に示す代表点51の座標になるときである。
【0079】
同様に、図8(d)において、読み出された画素値が1になるので、投票数算出部36は図8(a)における処理と同じ処理を行う。
更に、同様の処理を繰り返した後に、図8(e)において、読みだされた画素値が1になるので、投票数算出部36は図8(a)における処理と同じ処理を行う。
【0080】
そして、更に、同様の処理を繰り返した後に、図8(f)において、読みだされた画素値が1になるので、投票数算出部36は図8(a)における処理と同じ処理を行う。
以上で、投票数算出部36は、画像の輪郭83の全ての輪郭点を読み出したことになり、その後、読み出される画素値が1になることはない。
投票数算出部36は、読み出される画素の座標が(w,h)になるまで、対象画像81の画素値を読み出す。以上で、全回転角度モデルを用いた投票処理が終了する。
【0081】
図9は、図8(a)から図8(f)までの全特徴点を重ねて表示した図である。図9において、代表点51が、図8(a)から図8(f)に示す画像の輪郭83の輪郭にあるときの、特徴点53の分布を表している。
図9によれば、画像の輪郭83の内部と画像の輪郭83の近傍に特徴点53が集中していることが分かる。
【0082】
図10は、回転オブジェクトモデルを用いたときの、ij空間における投票結果をグラフ化した図である。同図において、画像の輪郭83の重心の位置は(60,60)である。投票数は、画像の輪郭83の重心の位置で一番大きい。また、投票数V(i,j)は、画像の輪郭83の重心から離れるほど小さくなる。
【0083】
図11は、対象画像において、オブジェクトを検出するための検出対象領域を絞り込んだ際の領域である絞り込み領域を説明するための図である。絞りこみ領域84は、図10の投票数が所定の閾値を超えた座標の集合である。
回転オブジェクトモデルを用いた投票処理後、投票数算出部36は、投票数V(i,j)が所定の閾値を超えた座標を絞り込み領域の座標として算出する。
【0084】
続いて、投票数算出部36が回転角度θ毎に、各ij座標における投票数を算出する方法について説明する。投票数算出部36は、オブジェクトモデルの特徴点の座標を記憶部20から読み出す。
図12は、画像の輪郭において、オブジェクトモデルの特徴点の座標値に、画像の輪郭における点の座標値を加算し、角度毎に設けた座標空間における加算後の座標値の投票数に1を加算する処理を説明するための図である。
【0085】
図12(a)は、画像の輪郭83の輪郭における座標の中で、j座標が一番小さいものの内、i座標が一番小さい座標に、回転角度0度のオブジェクトモデル40の代表点41があるときの特徴点43のij座標系における座標を表している。ここで、画像の輪郭83は、絞り込み領域84内に存在する。
同様に、図12(b)は、回転角度180度のオブジェクトモデル44の代表点41が図12(a)と同じ座標にあるときの、特徴点43のij座標系における座標を表している。
【0086】
同様に、図12(c)は、画像の輪郭83の輪郭における座標の中で、ある座標に、回転角度0度のオブジェクトモデル40の代表点41があるときの特徴点43のij座標系における座標を表している。
同様に、図12(d)は、回転角度180度のオブジェクトモデル44の代表点41が図12(c)と同じ座標にあるときの、特徴点43のij座標系における座標を表している。
【0087】
同様に、図12(e)は、画像の輪郭83の輪郭における座標の中で、j座標が一番大きいときに、回転角度0度のオブジェクトモデル40の代表点41があるときの特徴点43のij座標系における座標を表している。
同様に、図12(f)は、回転角度180度のオブジェクトモデル44の代表点41が図12(e)と同じ座標にあるときの、特徴点43のij座標系における座標を表している。
【0088】
投票数算出部36は、ij座標系において、絞り込み領域の範囲内で1画素ずつ対象画像81の画素値を読む。例えば、投票数算出部36は、ij座標系において、座標(i,j)からj座標をjに固定して、i座標を次の値に変更する毎に、対象画像81の各画素の値を読む。
【0089】
投票数算出部36は、座標(i,j)が絞り込み領域の端になったら、jを1増やす。ここで、j座標がj+1のときの、絞り込み領域におけるiの最小値をiとする。投票数算出部36は、j座標がj+1において、i座標を次の値に変更する毎に、対象画像81の各画素の値を読む。
以下、同様にして、投票数算出部36は、絞り込み領域内において、上記画素値の読み出し処理を繰り返す。
【0090】
投票数算出部36は、前記読み出した画素値が1であれば、その画素の座標を、画像の輪郭83の輪郭の一部と判定する。
投票数算出部36は、記憶部20のテーブル60からオブジェクトモデルの特徴点の座標値を読み出す。投票数算出部36は、読み出したオブジェクトモデルの特徴点の座標値に、画素値が1の座標点(i,j)を加算した座標値(算出座標値)に変換する処理を角度毎に行う。そして、投票数算出部36は、角度毎に設けた座標空間における算出座標値に対して、投票を行ってその積算値である投票数を算出する。
【0091】
すなわち、投票数算出部36は、画素値が1の座標(i,j)において、特徴点の座標(i+xr(p,q),j+yr(p,q))を算出する(pは特徴点番号を表し、0からm−1までの整数、qは回転角度のインデックスを表し、0からn−1までの整数)。
具体的には、この投票数算出部36の処理は、例えば、図12(a)に示すij座標における各特徴点43の座標を算出するものである。
【0092】
そして、投票数算出部36は、ij座標系において、前記特徴点の算出座標値(i+xr(p,q),j+yr(p,q))に対して投票数V(i+xr(p,q),j+yr(p,q))に1を加算する。投票数算出部36は、座標(i,j)において、その処理を全てのpとqの組み合わせに対して行う。
【0093】
上記処理を、具体例を用いて説明する。回転角度θが2種類のみ(すなわちnは2)で、それぞれθが0度で、θが180度とする。
まず、回転角度θの処理について説明する。投票数算出部36は、画素値が1の座標(i,j)において、図5のテーブル60の特徴点番号0で回転角度θの座標(10,12)を座標(i+10,j+12)へ変換する。そして、投票数算出部36は、その座標(i+10,j+12)における投票数V(i+10,j+12)に、1を加算する。
【0094】
投票数算出部36は、上記と同様の処理を繰り返す。
最後に、投票数算出部36は、テーブル60の特徴点番号m−1で回転角度θの座標(2,−18)を座標(i+2,j−18)へ変換する。そして、投票数算出部36は、その座標(i+2,j−18)における投票数V(i+2,j−18)に、投票数1を加算する。
【0095】
次に、回転角度θの処理について説明する。投票数算出部36は、回転角度θの処理と同じ座標(i,j)において、図5のテーブル60の特徴点番号0で角度θの座標(9,13)を座標(i+9,j+13)へ変換する。そして、投票数算出部36は、その座標(i+9,j+13)における投票数V(i+9,j+13)に、1を加算する。
【0096】
投票数算出部36は、上記と同様の処理を繰り返す。
最後に、投票数算出部36は、テーブル60の特徴点番号m−1で回転角度θの座標(2,−18)を座標(i+2,j−18)へ変換する。そして、投票数算出部36は、その算出座標値(i+2,j−18)における投票数V(i,j)に、1を加算する。
これによって、投票数算出部36の座標(i+2,j−18)における投票処理は終了する。
【0097】
投票数算出部36は、上記の処理を画素値が1のときの座標(i,j)において、繰り返し行う。
上記の投票数算出部36の投票処理の流れを、図12を用いて説明する。
まず、投票数算出部36は、座標(i,j)から1画素ずつ、絞り込み領域84内で対象画像81の画素値を読み出していく。
【0098】
投票数算出部36は、画素値が最初に1になる図12(a)に示すij座標を代表点として、回転角度0度のオブジェクトモデルの各特徴点の座標をij座標系の座標へ変換する。投票数算出部36は、その各特徴点の算出座標値における投票数V(i,j)に1を加算する。
次に、投票数算出部36は、図12(b)に示すように、図12(a)と同じij座標を代表点として、回転角度0度のオブジェクトモデルの各特徴点の座標をij座標系の座標へ変換する。投票数算出部36は、その各特徴点の算出座標値における投票数V(i,j)に1を加算する。
【0099】
その後、以下の処理を繰り返す。投票数算出部36は、画素値が1になる座標(すなわち輪郭の一部)を代表点として、回転角度0度のオブジェクトモデルの各特徴点の座標をij座標系の座標へ変換する。投票数算出部36は、その各特徴点の算出座標値における投票数V(i,j)に1を加算する。
投票数算出部36は、上記と同じ座標(i,j)を代表点として、回転角度180度のオブジェクトモデルの各特徴点の座標をij座標系の座標へ変換する。投票数算出部36は、その各特徴点の算出座標値における投票数V(i,j)に1を加算する。
【0100】
続いて、投票数算出部36は、画素値が1になる図12(c)に示すij座標を代表点として、回転角度0度のオブジェクトモデルの各特徴点の座標をij座標系の座標へ変換する。投票数算出部36は、その各特徴点の算出座標値における投票数V(i,j)に1を加算する。
次に、投票数算出部36は、図12(d)に示すように、図12(c)と同じij座標を代表点として、回転角度180度のオブジェクトモデルの各特徴点の座標をij座標系の座標へ変換する。投票数算出部36は、その各特徴点の変換座標値における投票数V(i,j)に1を加算する。
【0101】
続いて、投票数算出部36は、同様の処理を繰り返す。
最後に、投票数算出部36は、画素値が1になる図12(e)に示すij座標を代表点として、回転角度0度のオブジェクトモデルの各特徴点の座標をij座標系の座標へ変換する。投票数算出部36は、その各特徴点の算出座標値における投票数V(i,j)に1を加算する。
次に、投票数算出部36は、図12(f)に示すように、図12(e)と同じij座標を代表点として、回転角度180度のオブジェクトモデルの各特徴点の座標をij座標系の座標へ変換する。投票数算出部36は、その各特徴点のij座標系の座標における投票数V(i,j)に1を加算する。
【0102】
以上で、オブジェクトモデルを用いた投票処理が終了する。
なお、本実施形態では、ij座標系の座標における投票数V(i,j)に投票する投票加算数を常に1としたが、投票加算数を特徴点に応じて変えてもよい。
【0103】
最後に、投票数算出部36は、回転角度θおよびij座標毎に算出した投票数V(i,j)を位置抽出部37に供給する。
【0104】
続いて、投票処理が終了したときの投票数V(i,j)について説明する。
図13は、オブジェクトモデルの代表点が画像の輪郭のうちの所定の6点にあると仮定したときに、オブジェクトモデルの特徴点を重ねて表示した図である。図13(a)は、回転角度0度のオブジェクトモデルの代表点が画像の輪郭のうちの所定の6点にあると仮定したときに、回転角度0度のオブジェクトモデルの特徴点を重ねて表示した図である。図13(b)は、回転角度180度のオブジェクトモデルの代表点が画像の輪郭のうちの所定の6点にあると仮定したときに、回転角度180度のオブジェクトモデルの特徴点を重ねて表示した図である。
【0105】
図13(a)において、回転角度0度のオブジェクトモデルの代表点41を、画像の輪郭83の輪郭点のうち、例として6点を選んだ際には、画像の輪郭83の内部に、特徴点43が集中する。
また、図13(b)において、角度180度のオブジェクトモデルの代表点41を、画像の輪郭83の輪郭点のうち、例として6点を選んだ際には、同様に、画像の輪郭83の内部に、特徴点46が集中する。
【0106】
図14は、回転角度0度のオブジェクトモデルおよび回転角度180度のオブジェクトモデルの、回転角度毎に設けた座標空間における投票結果の1例を示した図である。図14(a)は、回転角度0度のオブジェクトモデルのときの、回転角度0度の座標空間における投票結果の1例を示した図である。図14(b)は、回転角度180度のオブジェクトモデルのときの、回転角度毎に設けた座標空間における投票結果の1例を示した図である。
【0107】
図14(a)において、画像の輪郭83の重心である座標(60,60)付近で投票数V(i,j)が大きい。また、その投票数V(i,j)の極大値161は10である。
図14(b)において、画像の輪郭83の重心である座標(60,60)で投票数V(i,j)は最大である。また、その投票数V(i,j)の極大値162は20である。従って、図14(b)の投票数Vの極大値162は、図14(a)の投票数Vの極大値161よりも大きい。
また、その投票数Vの極大値162である座標は(i,j)である。
【0108】
位置抽出部37は、投票数V(i,j)からオブジェクトの位置および角度を算出する処理部である。
位置抽出部37は、投票数算出部36から供給された回転角度θおよびij座標毎に算出した投票数Vを受け取る。
【0109】
そして、位置抽出部37は、回転角度θ毎に、投票数の極大値VMを算出する。位置抽出部37は、回転角度θ毎に、投票率(投票数V÷特徴点の数m)を算出する。
以下、入力画像の縮小画像を用いた粗検出の場合と、入力画像をそのまま用いた等倍検出の場合とに分けて説明する。
【0110】
縮小画像を用いた粗検出の場合、位置抽出部37は、ある回転角度θにおいて、ある座標(i,j)の投票率が、所定の閾値を超えた場合、その座標(i,j)に「オブジェクトがある」と判定する。
ここで、粗検出の場合、位置抽出部37は、所定の閾値を超える全ての場合で「オブジェクトがある」と判定する。従って、位置抽出部37は、オブジェクトを1個でなく、複数検出する場合がある。
【0111】
一方、等倍画像を用いた等倍検出の場合、位置抽出部37は、投票数の極大値VMの中から、最大値を抽出する。
そして、位置抽出部37は、その最大値をとる回転角度θを抽出する。また、位置抽出部37は、その最大値をとる座標(i,j)を抽出する。
【0112】
なお、本実施形態では、位置抽出部37は、投票数が最大値となる回転角度θと座標(i,j)とを抽出するがこれに限らず、投票数が所定の閾値を超えた値となる回転角度θと座標(i,j)とを抽出してもよい。
そして、位置抽出部37は、その回転角度θにおいて、座標(i,j)における投票率が所定の閾値を超えた場合、その座標(i,j)に「オブジェクトがある」と判定する。
【0113】
等倍画像を用いた等倍検出において、上記の位置抽出部37の投票数V(i,j)からオブジェクトの位置および角度を算出する処理を、図14の具体例を用いて説明する。
例えば、位置抽出部37は、回転角度0度の、投票数V(i,j)の極大値10を算出する。そして、位置抽出部37は、回転角度180度の、投票数V(i,j)の極大値20を算出する。
【0114】
次に、位置抽出部37は、投票数V(i,j)の極大値10と投票数V(i,j)の極大値20との中から、最大値20を抽出する。位置抽出部37は、その最大値20をとる回転角度180度を抽出する。
また、位置抽出部37は、その最大値20をとる座標(60,60)を算出する。
【0115】
そして、位置抽出部37は、その回転角度180度において、座標(60,60)における投票率が所定の閾値を超えた場合、その座標(60,60)に「オブジェクトがある」と判定する。
以上で、位置抽出部37が、投票数V(i,j)からオブジェクトの位置および角度を算出する処理の1例を終了する。
【0116】
その後、縮小画像を用いた粗検出の場合には、位置抽出部37は、画像の輪郭83の座標(i,j)と回転角度θを検出領域抽出部35に供給する。
また、等倍画像を用いた等倍検出場合には、位置抽出部37は、画像の輪郭83の座標(i,j)と回転角度θを図示されていない外部装置に供給する。
【0117】
図15は、本実施形態において、モデル抽出部10が回転角度θ毎に、参照オブジェクトの特徴点の位置を記憶部20へ保存する手順を示すフローチャートである。
まず、ステップS161において、登録画像入力部11は、不図示の外部装置から供給された、参照オブジェクトが写されたデジタル画像(モデル画像)を受け取り、そのモデル画像をノイズ低減部12に供給する。
【0118】
次に、ステップS162において、ノイズ低減部12は、登録画像入力部11から供給されたモデル画像を受け取り、モデル画像のノイズを除去したノイズ低減モデル画像を生成し、輪郭抽出部13に供給する。
次に、ステップS163において、輪郭抽出部13は、ノイズ低減部12が出力したノイズ低減モデル画像を受け取り、輪郭を抽出した二値化画像を生成する。
【0119】
次に、二値化画像をそのまま用いる等倍検出の場合(ステップS164:YES)、輪郭抽出部13は、二値化画像を特徴点抽出部15へ供給する。
一方、二値化画像をそのまま用いない場合(ステップS164:NO)、輪郭抽出部13は、二値化画像を画像縮小部14へ供給する。
【0120】
次に、ステップS165において、画像縮小部14は、輪郭抽出部13が出力した二値化画像を受け取る。そして、画像縮小部14は、二値化画像を所定の倍率で縮小して縮小画像を生成する。次に、画像縮小部14は、縮小画像を特徴点抽出部15へ供給する。
【0121】
次に、ステップS166において、特徴点抽出部15は、輪郭抽出部13から出力された二値化画像または画像縮小部14から出力された縮小画像を受け取る。そして、特徴点抽出部15は、その二値化画像またはその縮小画像に映し出された参照オブジェクトの特徴点を抽出する。次に、特徴点抽出部15は、その特徴点を間引き部16へ供給する。
【0122】
次に、ステップS167において、間引き部16は、特徴点抽出部15から出力された特徴点を受け取る。そして、間引き部16は、その特徴点から検出精度に提供を与えない程度に、特徴点の数を減らす。次に、間引き部16は、減らした後の特徴点を回転部17へ供給する。
【0123】
次に、ステップS168において、回転部17は、間引き部16から出力された特徴点を受け取る。そして、回転部17は、その特徴点を参照オブジェクトの代表点(例えば、重心)を中心にして、所定の角度(例えば、4度)ずつ回転させた特徴点の代表点からの座標を算出する。次に、回転部17は、その特徴点の代表点からの座標を記憶部20に書き込む。以上で、本フローチャートの処理は終了する。
【0124】
図16は、同実施形態において、物体検出部30がベクトル相関法を用いて、オブジェクト検出をする手順を示すフローチャートである。
まず、ステップS171において、画像入力部31は、図示されていない撮像装置6から出力された撮像信号を受け取る。そして、画像入力部31は、その撮像信号をデジタル画像へ変換する。次に、画像入力部31は、そのデジタル画像をノイズ低減部32へ供給する。なお、撮像信号は、動画でも静止画でもよい。
【0125】
次に、ステップS172において、ノイズ低減部32は、画像入力部31から出力されたデジタル画像を受け取る。そして、ノイズ低減部32は、そのデジタル画像のノイズを低減したノイズ低減画像を生成する。次に、ノイズ低減部32は、そのノイズ低減画像を輪郭抽出部33へ供給する。
【0126】
次に、ステップS173において、輪郭抽出部33は、ノイズ低減部32が出力したノイズ低減画像を受け取る。そして、輪郭抽出部33は、そのノイズ低減画像から輪郭を抽出した二値化画像を生成する。次に、粗検出のため、輪郭抽出部33は、その二値化画像を画像縮小部34へ供給する。
【0127】
次に、ステップS174において、物体検出部30は、前記二値化画像を用いて、オブジェクトの粗検出を行う。物体検出部30は、オブジェクトの位置と回転角度を検出する。オブジェクトの粗検出の処理の流れは、図17の説明で後述する。
次に、ステップS175において、物体検出部30は、粗検出時に検出したオブジェクトの位置と回転角度を用いて、オブジェクトの等倍検出を行う。オブジェクトの等倍検出の処理の流れは、図18の説明で後述する。
【0128】
次に、ステップS176において、物体検出部30は、すでに全モデルを用いてオブジェクトの検出をしたか否か判定する。まだ全モデルを用いていない場合(ステップS176:NO)、物体検出部30は、ステップS174からの処理を行う。
一方、ステップS177において、すでに全モデルを用いた場合(ステップS176:YES)、物体検出部30は、他の撮像信号に対しても繰り返し処理が必要か否か判定する。
【0129】
次に、ステップS177において、物体検出部30は、他の撮像信号に対して繰り返し処理が必要と判定した場合(ステップS177:YES)、物体検出部30は、ステップS171の処理に戻る。一方、ステップS177において、物体検出部30は、他の撮像信号に対して繰り返し処理が不要と判定した場合(ステップS177:NO)、物体検出部30は、物体検知処理を終了する。以上で、本フローチャートの処理は終了する。
【0130】
図17は、本実施形態において、オブジェクトの粗検出における物体検出部30の処理手順を示すフローチャートである。
まず、ステップS181において、画像縮小部34は、輪郭抽出部33から供給された二値化画像を受け取る。そして、画像縮小部34は、その二値化画像を所定の比率で縮小した縮小画像を生成する。次に、画像縮小部34は、その縮小画像を検出領域抽出部35へ供給する。
【0131】
次に、ステップS182において、検出領域抽出部35は、画像縮小部34から供給された縮小画像を受け取る。そして、検出領域抽出部35は、その縮小画像から物体を検出するための検出対象領域を抽出する。次に、検出領域抽出部35は、その検出対象領域を投票数算出部36へ供給する。
【0132】
次に、ステップS183において、投票数算出部36は、検出領域抽出部35から出力された検出対象領域を受け取る。そして、投票数算出部36は、その検出対象領域において投票処理を行い、オブジェクトモデルの回転角度毎に、その検出対象領域における各座標の投票数を算出する。なお、投票処理の詳細な処理の手順は後述する。次に、投票数算出部36は、その回転角度および座標毎の投票数を位置抽出部37へ供給する。
【0133】
次に、ステップS184において、位置抽出部37は、投票数算出部36から出力された回転角度および座標毎の投票数を受け取る。そして、位置抽出部37は、その回転角度および座標毎の投票数から回転角度および座標毎の投票率を算出する。
次に、ステップS185において、位置抽出部37は、投票率が所定の閾値を超えた場合(ステップS184:YES)、「オブジェクトを検出した」と判定する。一方、位置抽出部37は、投票率が所定の閾値以下の場合(ステップS184:NO)、ステップS186からの処理を行う。
【0134】
次に、ステップS186において、位置抽出部37は、全ての位置についての投票率を調べていない場合(ステップS186:NO)、ステップS184からの処理を行う。
一方、ステップS186において、位置抽出部37は、全ての位置についての投票率を調べた場合(ステップS186:YES)、位置抽出部37は、オブジェクトが検出された座標の情報を検知領域抽出部35へ供給する。以上で、本フローチャートの処理は終了する。
【0135】
図18は、同実施形態において、オブジェクトの等倍検出における物体検出部30の処理手順を示すフローチャートである。
まず、ステップS191において、検出領域抽出部35は、粗検出終了時に位置抽出部37から出力されたオブジェクトが検出された座標の情報を受け取る。また、検出領域抽出部35は、輪郭抽出部33から出力された二値化画像を受け取る。
【0136】
そして、検出領域抽出部35は、そのオブジェクトが検出された座標を、オブジェクトを検出するための絞り込み領域の座標とする。次に、検出領域抽出部35は、その絞り込み領域の座標の情報を投票数算出部36へ供給する。
【0137】
次に、ステップS192において、投票数算出部36は、検出領域抽出部35から出力された絞り込み領域の座標の情報を受け取る。そして、投票数算出部36は、その検出対象領域において投票処理を行い、オブジェクトモデルの回転角度毎に、その検出対象領域における各座標の投票数を算出する。次に、投票数算出部36は、その回転角度および座標毎の投票数の情報を位置抽出部37へ供給する。
【0138】
次に、ステップS193において、位置抽出部37は、投票数算出部36から出力された回転角度および座標毎の投票数の情報を受け取る。そして、位置抽出部37は、その回転角度および座標毎の投票数から、回転角度毎に投票数の極大値を算出する。
更に、ステップS194において、位置抽出部37は、回転角度分の極大値の中から、その中での最大値を抽出する。次に、ステップS195において、位置抽出部37は、その最大値をとる位置および回転角度を抽出する。
【0139】
次に、ステップS196において、位置抽出部37は、前記最大値から投票率を算出する。そして、位置抽出部37は、投票率が所定の閾値を超えた場合(ステップS196:YES)、「オブジェクトを検出した」と判定する(ステップS197)。一方、ステップS196において、位置抽出部37は、投票率が所定の閾値以下の場合(ステップS196:NO)、処理を終了する。以上で、本フローチャートの処理は終了する。
【0140】
図19は、本実施形態において、投票数算出部が行う粗検出時の投票処理の手順を示すフローチャートである。
まず、ステップS2001において、投票数算出部36は、記憶部20から回転オブジェクトモデルにおける特徴点の座標と、その特徴点に対応する投票加算数を読み出す。次に、投票数算出部36は、i座標の値、j座標の値、および回転オブジェクトモデルの特徴点番号sを0に(初期化)する。また、全てのij座標系の座標における投票数を0に(初期化)する。
【0141】
次に、ステップS2002において、着目画素の画素値が0の場合(ステップS2002:NO)、投票数算出部36は、ステップS2009の処理へ移る。
一方、ステップS2002において、着目画素の画素値が1の場合(ステップS2002:YES)、投票数算出部36は、回転オブジェクトモデルにおける特徴点の座標(xra(s),yra(s))をij座標系の座標(i+xra(s),j+yra(s))へ変換する(ステップS2003)。
【0142】
次に、ステップS2004において、投票数算出部36は、そのij座標系の座標(i+xra(s),j+yra(s))が検査対象領域内か否か判定する。ステップS2004において、そのij座標系の座標(i+xra(s),j+yra(s))が検査対象領域内でない場合(ステップS2004:NO)、投票数算出部36は、ステップS2006処理へ移る。
一方、ステップS2004において、そのij座標系の座標(i+xra(s),j+yra(s))が検査対象領域内である場合(ステップS2004:YES)、投票数算出部36は、ij座標系の座標(i+xra(s),j+yra(s))の位置における投票数に、その特徴点に対応する投票加算数を加算する(ステップS2005)。
【0143】
次に、ステップS2006において、投票数算出部36は、回転オブジェクトモデルの全特徴点の投票加算数を投票数に加算したか否か判定する。回転オブジェクトモデルの全特徴点の投票加算数を投票数に加算していない場合(ステップS2006:NO)、投票数算出部36は、特徴点番号sを1増加させ(ステップS2006:NO)、ステップS2003の処理に戻る。
一方、ステップS2006において、回転オブジェクトモデルの全特徴点の投票加算数を投票数に加算した場合(ステップS2006:YES)、投票数算出部36は、特徴点番号sを0に(初期化)する(ステップS2008)。
【0144】
次に、ステップS2009において、投票数算出部36は、座標(i+1,j)が検査対象領域内か否か判定する。座標(i+1,j)が検査対象領域内である場合(ステップS2009:YES)、投票数算出部36は、i座標の値を1増加させ(ステップS2010)、ステップS2002の処理に戻る。
一方、ステップS2009において、座標(i+1,j)が検査対象領域内でない場合(ステップS2009:NO)、投票数算出部36は、i座標の値を0に(初期化)する(ステップS2011)。
【0145】
次に、ステップS2012において、投票数算出部36は、座標(i,j+1)が検査対象領域内か否か判定する。座標(i,j+1)が検査対象領域内である場合(ステップS2012:YES)、投票数算出部36は、j座標の値を1増加させ(ステップS2013)、ステップS2002の処理に戻る。
一方、ステップS2012において、座標(i,j+1)が検査対象領域内でない場合(ステップS2012:NO)、投票数算出部36は、投票数V(i,j)が所定の閾値を超えた座標を絞り込み領域の座標として算出する。次に、ステップS2014において、投票数算出部36は、その絞り込み領域の座標を、投票数算出部36へ供給する。以上で、本フローチャートの処理は終了する。
【0146】
図20は、同実施形態において、投票数算出部36が行う等倍検出時の投票処理の手順を示すフローチャートである。
まず、ステップS211において、投票数算出部36は、投票数算出部36から出力された絞り込み領域の座標を受け取る。次に、投票数算出部36は、絞り込み領域の座標中から1つの座標(i,j)を読み出す。また、投票数算出部36は、回転角度のインデックスqを0に(初期化)する(ステップS211)。また、全てのij座標系の座標における投票数を0に(初期化)する
【0147】
次に、ステップS212において、着目画素の画素値が0の場合(ステップS212:NO)、投票数算出部36は、ステップS218の処理へ移る。
一方、ステップS212において、着目画素の画素値が1の場合(ステップS212:YES)、投票数算出部36は、回転角度θのオブジェクトモデルにおける特徴点の座標(xr(p,q),yr(p,q))をij座標系の座標(i+xr(p,q),j+yr(p,q))へ変換する(ステップS213)。
【0148】
次に、ステップS214において、投票数算出部36は、そのij座標系の座標(i+xr(p,q),j+yr(p,q))における投票数に1を加算する。
次に、ステップS215において、投票数算出部36は、全ての回転角度について、ij座標系の座標における投票数に1を追加する処理をしたか否か判定する。
【0149】
ステップS215において、全ての回転角度について、ij座標系の座標における投票数に1を追加する処理をしていない場合(ステップS215:NO)、投票数算出部36は、回転角度のインデックスqを1増加させ(ステップS216)、ステップS213の処理に戻る。
一方、ステップS215において、全ての回転角度について、ij座標系の座標における投票数に1を追加する処理をした場合(ステップS215:YES)、投票数算出部36は、回転角度のインデックスqを0に(初期化)する(ステップS217)。
【0150】
次に、ステップS218において、投票数算出部36は、次の絞り込み領域の座標があるか否か判定する(ステップS218)。ステップS218において、次の絞り込み領域の座標がある場合(ステップS218:YES)、投票数算出部36は、次の絞り込み領域の座標を読み出し(ステップS219)、ステップS212の処理に戻る。
一方、ステップS218において、次の絞り込み領域の座標がない場合(ステップS218:NO)、投票数算出部36は、回転角度毎のij座標系の座標における投票数を位置抽出部37へ供給する。以上で、本フローチャートの処理は終了する。
【0151】
以上により、本実施形態であるオブジェクト検出装置8は、オブジェクトの位置と回転角度を算出する際に、オブジェクトの位置を予め絞り込んでおくことによって、回転角度を算出する演算量を削減できる。これによって、オブジェクトの位置および回転角度の検出時間を削減することができる。
【0152】
なお、本実施形態であるオブジェクト検出装置8の一部、例えば物体検出部30の機能をコンピューターで実現するようにしてもよい。この場合、その機能を実現するためのオブジェクト検出プログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたオブジェクト検出プログラムをコンピューターシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺機器のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、光ディスク、メモリカード等の可搬型記録媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定期間プログラムを保持するものを含んでもよい。また上記のプログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせにより実現するものであってもよい。
【0153】
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0154】
1 ロボット
2 支持台
3 アーム部
4 ハンド部
5 フレーム
6 撮像装置
7 ケーブル
8 オブジェクト検出装置
10 モデル抽出部
11 登録画像入力部
12 ノイズ低減部
13 輪郭抽出部
14 画像縮小部
15 特徴点抽出部
16 間引き部
17 回転部
20 記憶部
30 物体検出部
31 画像入力部
32 ノイズ低減部
33 輪郭抽出部
34 画像縮小部
35 検出領域抽出部
36 投票数算出部
37 位置抽出部

【特許請求の範囲】
【請求項1】
参照オブジェクトモデルを用いた投票により画像からオブジェクトを検出するオブジェクト検出装置において、
オブジェクトモデルの代表点を中心として前記オブジェクトモデルを所定の角度ずつ回転して得られる回転オブジェクトモデルそれぞれの特徴点の座標値を前記参照オブジェクトモデルとして記憶する記憶部と、
前記画像の輪郭を抽出する輪郭抽出部と、
前記記憶部から読み出した前記参照オブジェクトモデルの座標値と、前記画像の輪郭における点の座標値と、に基づき算出した変換座標値に対して投票を行ってその積算値である投票数を算出する投票数算出部と、
前記変換座標値から、前記投票数が所定の閾値を超える座標値を抽出する位置抽出部と、
を備えることを特徴とするオブジェクト検出装置。
【請求項2】
前記記憶部は、前記特徴点ごとの投票加算数を前記特徴点の座標値に関連付けて前記参照オブジェクトモデルとして記憶し、
前記投票数算出部は、前記変換座標値に対して前記投票加算数による投票を行ってその積算値である投票数を算出することを特徴とする請求項1に記載のオブジェクト検出装置。
【請求項3】
前記記憶部は、角度ごとの前記オブジェクトモデルの特徴点の座標値を更に記憶し、
前記投票数算出部は、前記検出した画像の輪郭における点のうち、前記位置抽出部が抽出した前記変換座標値に含まれる点を輪郭抽出点として抽出し、前記記憶部から読み出した前記回転オブジェクトモデルの特徴点の座標値と、前記輪郭抽出点の座標値と、に基づき算出した算出座標値を算出し、前記角度毎に設けた座標空間における前記算出座標値に対して投票を行ってその積算値である投票数を算出し、
前記位置抽出部は前記座標空間毎に算出された投票数が所定の閾値を越えるかまたは最大値となる前記算出座標値と前記角度との組み合わせを抽出することを特徴とする請求項1または請求項2に記載のオブジェクト検出装置。
【請求項4】
参照オブジェクトモデルを用いた投票により画像からオブジェクトを検出するオブジェクト検出方法において、
前記画像の輪郭を抽出する輪郭抽出ステップと、
オブジェクトモデルの代表点を中心として前記オブジェクトモデルを所定の角度ずつ回転して得られる回転オブジェクトモデルそれぞれの特徴点の座標値を前記参照オブジェクトモデルとして記憶した記憶部から、前記参照オブジェクトモデルの座標値を読み出して、前記参照オブジェクトモデルの座標値と、前記画像の輪郭における点の座標値と、に基づき算出した変換座標値に対して投票を行ってその積算値である投票数を算出する候補座標投票ステップと、
前記変換座標値から、前記投票数が所定の閾値を超える座標値を抽出する位置抽出ステップと、
を有することを特徴とするオブジェクト検出方法。
【請求項5】
オブジェクトモデルの代表点を中心として前記オブジェクトモデルを所定の角度ずつ回転して得られる回転オブジェクトモデルそれぞれの特徴点の座標値を前記参照オブジェクトモデルとして記憶する記憶部を備えたコンピューターを、
前記画像の輪郭を抽出する輪郭抽出部と、
前記記憶部から読み出した前記参照オブジェクトモデルの座標値と、前記画像の輪郭における点の座標値と、に基づき算出した変換座標値に対して投票を行ってその積算値である投票数を算出する投票数算出部と、
前記変換座標値から、前記投票数が所定の閾値を超える座標値を抽出する位置抽出部と、
として機能させるためのオブジェクト検出プログラム。
【請求項6】
参照オブジェクトモデルを用いた投票により画像からオブジェクトを検出するロボットにおいて、
物体を撮像して撮像信号を生成する撮像部と、
前記撮像部を取り付けたハンド部と、
前記ハンド部を可動自在に取り付けたアーム部と、
オブジェクトモデルの代表点を中心として前記オブジェクトモデルを所定の角度ずつ回転して得られる回転オブジェクトモデルそれぞれの特徴点の座標値を前記参照オブジェクトモデルとして記憶する記憶部と、
前記撮像部が生成した撮像信号の供給を受けて画像を取得する画像取得部と、
前記画像の輪郭を抽出する輪郭抽出部と、
前記記憶部から読み出した前記参照オブジェクトモデルの座標値と、前記画像の輪郭における点の座標値と、に基づき算出した変換座標値に対して投票を行ってその積算値である投票数を算出する投票数算出部と、
前記変換座標値から、前記投票数が所定の閾値を超える座標値を抽出する位置抽出部と、
を備えることを特徴とするロボット。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図10】
image rotate


【公開番号】特開2011−227696(P2011−227696A)
【公開日】平成23年11月10日(2011.11.10)
【国際特許分類】
【出願番号】特願2010−96706(P2010−96706)
【出願日】平成22年4月20日(2010.4.20)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】