(57)【特許請求の範囲】
【請求項１】
入力された画像に基づいて、姿勢を推定する基準となる基準面に対する姿勢推定対象の姿勢を推定するデータ処理装置であって、
前記画像を、前記基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する２値化部と、
前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現部と、
前記２値化部が分割した候補領域に含まれる各画素を通るすべての面を表現する前記面パラメータ式を構成する姿勢パラメータの組合せを、前記面パラメータ式表現部が抽出した姿勢パラメータに基づいて算出するパラメータ算出部と、
前記姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、前記パラメータ算出部が算出した姿勢パラメータの組合せに基づいて、前記面パラメータ式に従ったパラメータ面を描画するパラメータ面描画部と、
前記パラメータ面描画部が描画した前記パラメータ面が複数通過する交差点の座標である通過点座標と、該通過点座標を通過するパラメータ面の数である通過面数とを求める交差点検出部と、
前記交差点検出部が求めた各通過点における通過面数が、該通過面数に対応する通過点座標を基準とする所定の近傍領域における他の通過点座標における通過面数と比較して最大であると判別したときに、該判別した通過面数に対応するパラメータ面を構成する姿勢パラメータの組合せを、前記基準面を表現するために最適な姿勢パラメータの組合せである有力候補として識別する有力候補抽出部と、
前記有力候補抽出部が識別した有力候補と、該有力候補を基準とする所定の近傍領域にて前記パラメータ空間上の有力候補との距離が所定値以下である前記パラメータ算出部が算出した姿勢パラメータの組合せとに基づいて、前記画像上に有力候補面を描画する有力候補面描画部と、
前記有力候補面描画部が描画した各有力候補面について、前記候補領域のうちで該有力候補面上に位置している画素と、該有力候補面から所定範囲内に位置している画素とを、通過画素として識別し、該通過画素の座標および前記通過画素における接平面を求める通過判定部と、
前記通過判定部が求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定部が識別した通過画素ごとに傾き重みを求める重み算出部と、
前記有力候補面ごとに、該有力候補にそれぞれ含まれる前記重み算出部が求めた通過画素の傾き重みを合計した値である個数を算出する個数計量部と、
前記個数計量部が算出した個数が、該個数を有する有力候補面を基準とする近傍領域における他の有力候補面が有する個数と比較して最大であると判別したときに、該判別した個数を有する有力候補面を、前記画像に実在する基準面である実在面として識別する実在面判定部とを有するデータ処理装置。
【請求項２】
前記姿勢パラメータのうちで方向を示すパラメータが、角度であることを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記角度に対して変換を施すための前記所定の関数が、三角関数であり、
前記面パラメータ式表現部は、前記角度に前記三角関数による変換を施して得られた値と、前記角度以外の姿勢パラメータとに基づいて、前記面パラメータ式を求めることを特徴とする請求項２に記載のデータ処理装置。
【請求項４】
前記有力候補抽出部は、
前記交差点検出部が求めた各通過点における通過面数と第１のしきい値とを比較し、該第１のしきい値よりも大きいと判別した通過面数に対応する前記姿勢パラメータの組合せのうちから、前記有力候補を識別することを特徴とする請求項１に記載のデータ処理装置。
【請求項５】
前記有力候補抽出部は、前記有力候補を抽出したときに、該有力候補として抽出された姿勢パラメータの組合せに対して、有力候補面ビットを、有力候補面であることを示す所定値に変更することを特徴とする請求項４に記載のデータ処理装置。
【請求項６】
前記重み算出部は、
前記有力候補面描画部が描画した有力候補面上の各点において、該点での接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士が形成する面とが成す角度を求め、
前記求めた角度のうちで絶対値が最小となる角度を最小角度として定め、該定めた最小角度に対応する余弦の逆数の絶対値を算出することにより、前記有力候補面が通過する画素の傾き重みを求めることを特徴とする請求項１に記載のデータ処理装置。
【請求項７】
前記実在面判定部は、
前記個数計量部が算出した個数と第２のしきい値とを比較し、該第２のしきい値よりも大きいと判別した個数を有する有力候補面のうちから前記実在面を識別することを特徴とする請求項１に記載のデータ処理装置。
【請求項８】
前記実在面判定部は、前記実在面を識別したときに、該実在面として識別された有力候補面を形成する前記姿勢パラメータの組合せに対して、実在面ビットを、実在面であることを示す所定値に変更することを特徴とする請求項７に記載のデータ処理装置。
【請求項９】
入力された画像に基づいて、姿勢を推定する基準となる基準面に対する姿勢推定対象の姿勢を推定するデータ処理装置であって、
前記画像を、前記基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する２値化部と、
前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現部と、
前記姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、該パラメータ空間上のすべての姿勢パラメータの組合せに基づいて、前記面パラメータ式に従った候補面を前記画像上に描画する全候補面描画部と、
前記全候補面描画部が描画した各候補面について、前記候補領域のうちで該候補面上に位置している画素と、該候補面から所定範囲内に位置している画素とを、通過画素として識別し、該通過画素の座標と、前記通過画素における接平面とを求める通過判定部と、
前記通過判定部が求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定部が識別した通過画素ごとに傾き重みを求める重み算出部と、
前記候補面ごとに、該候補面にそれぞれ含まれる前記重み算出部が求めた通過画素の傾き重みを合計した値である個数を算出する個数計量部と、
前記個数計量部が算出した個数に基づいて、前記全候補面描画部が描画した候補面のうちから、前記画像に実在する基準面である実在面を識別する実在面判定部とを有するデータ処理装置。
【請求項１０】
前記入力された画像に平滑化する処理を施す平滑化部、を有し、
前記２値化部は、前記平滑化部が平滑化した画像に基づいて、２値化画像を生成することを特徴とする請求項１または９に記載のデータ処理装置。
【請求項１１】
前記２値化部が生成した２値化画像の候補領域に対して、該候補領域を膨張させる膨張処理、または、該候補領域を収縮させる収縮処理を、所定回数だけ実行する膨張収縮部、を有することを特徴とする請求項１、９および１０のいずれか１項に記載のデータ処理装置。
【請求項１２】
任意の画像のサイズを縮小または拡大することにより、該画像のサイズを変更する画像サイズ変更部と、
所定回数に達するまで、あるいは、所定の精度が得られるまで、前記画像サイズ変更部による倍率の異なる画像サイズの変更と、前記実在面判別部による新たな実在面の識別と、を交互に繰り返し実行させるパラメータ微調整部、とを有し、
前記画像サイズ変更部は、
前記実在面判定部が実在面を識別する前に、前記入力された画像を所定の縮小率で縮小することにより縮小画像を生成し、
前記実在面判定部が実在面を識別した後に、前記生成した縮小画像を、前記入力された画像よりも小さなサイズであって、かつ、該縮小画像よりも大きなサイズに変更することにより、新たな画像を生成することを特徴とする請求項１、９乃至１１のいずれか１項に記載のデータ処理装置。
【請求項１３】
前記パラメータ空間の離散化幅をあらかじめ与えた幅に大きくしてパラメータ空間を粗くし実在面を求め、一旦実在面が求まった後、パラメータ空間をより密に離散化するパラメータ空間粗視化部と、
前記離散化したパラメータ空間で一旦求まった実在面の近傍領域において、離散化幅が異なるパラメータ空間での新たな実在面の導出を、所定の処理回数に達するまで、または、離散化幅が所定値に達するまで繰り返し実行させるパラメータ微調整部とを有することを特徴とする請求項１または９に記載のデータ処理装置。
【請求項１４】
前記パラメータ空間上に、前記パラメータ算出部が算出した姿勢パラメータの組合せと、前記２値化部が２値化する前の画像の画素値に基づいて算出した値との乗算により求めた画素値重みに基づいて、前記面パラメータ式に従ったパラメータ面を描画する画素値重み付パラメータ面描画部と、
前記通過点座標において、前記パラメータ面同士が交差する通過面数と画素値重みとの合計が所定値より大きい通過点座標で、かつ、その通過点座標を基準とする近傍領域にて通過面数が最大であるときに、その通過点座標におけるパラメータの組合せを、検出対象となる基準面を形成するパラメータの組合せの有力候補として識別する画素値重み付有力候補抽出部と、
前記通過判定部が求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定部が識別した通過画素ごとに傾き重みを求め、該求めた傾き重みと、前記２値化部が２値化する前の画像の画素値に基づいて算出した値とを乗算することにより、画素値重み付傾き重みを求める画素値重み付重み算出部とを有することを特徴とする請求項１に記載のデータ処理装置。
【請求項１５】
前記傾き重みと、前記２値化部が２値化する前の画像の画素値に基づいて算出した値とを乗算することにより、画素値重み付傾き重みを求める画素値重み付重み算出部、を有することを特徴とする請求項９に記載のデータ処理装置。
【請求項１６】
前記入力された画像に複数の実在面が写り込んでいる場合、該各実在面の相互の位置関係を推定するとともに、該実在面を物理的実体に対応付けることにより同定する位置関係推定部と、
前記位置関係推定部が推定した前記複数の面の位置関係に基づいて、前記姿勢パラメータと、前記実在面とを対応付けることにより、該実在面に対する姿勢推定対象の姿勢を定める処理である意味付を行う姿勢意味付部と、を有することを特徴とする請求項１または９に記載のデータ処理装置。
【請求項１７】
請求項１に記載のデータ処理装置と、請求項９に記載のデータ処理装置と、を具備する姿勢推定システムにおいて、
前記請求項１に記載のデータ処理装置が前記基準面である実在面を識別するための演算処理の大きさを示す計算量であるパラメータ空間計算量と、前記請求項９に記載のデータ処理装置が実在面を識別するための演算処理の大きさを示す計算量である画像空間計算量とを比較した結果に基づいて、前記請求項１に記載のデータ処理装置または前記請求項９に記載のデータ処理装置を選択し、該選択したデータ処理装置に前記実在面を識別させるデータ処理切替装置を有することを特徴とする姿勢推定システム。
【請求項１８】
前記データ処理切替装置は、
前記画像を、前記基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する２値化部と、
前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現部と、
前記２値化部が分割した候補領域に含まれる各画素を通る全ての基準面を表現する前記面パラメータ式を構成する姿勢パラメータの組合せを、前記請求項１に記載のデータ処理装置が算出するための演算処理の大きさを示す量であるパラメータ算出計算量を推定するパラメータ算出計算量推定部と、
前記面パラメータ式に従ったパラメータ面を前記請求項１に記載のデータ処理装置が描画するためのパラメータ面描画計算量を推定するパラメータ面描画計算量推定部と、
前記通過点座標と前記通過面数とを、前記請求項１に記載のデータ処理装置が求めるための交差点検出計算量を推定する交差点検出計算量推定部と、
前記有力候補を、前記請求項１に記載のデータ処理装置が識別するための有力候補抽出計算量を推定する有力候補抽出計算量推定部と、
前記有力候補面を、前記請求項１に記載のデータ処理装置が描画するための有力候補面描画計算量を推定する有力候補面描画計算量推定部と、
前記通過画素を前記請求項１に記載のデータ処理装置が識別し、該通過画素の座標と、前記通過画素における接平面とを前記請求項１に記載のデータ処理装置が求めるための通過判定計算量を推定する通過判定計算量推定部と、
前記傾き重みを、前記請求項１に記載のデータ処理装置が求めるための重み算出計算量を推定する重み算出計算量推定部と、
前記有力候補面ごとに、前記個数を前記請求項１に記載のデータ処理装置が算出するための個数計量計算量を推定する個数計量計算量推定部と、
前記有力候補面のうちから、前記実在面を前記請求項１に記載のデータ処理装置が識別するための実在面判定計算量を推定する実在面判定計算量推定部と、
前記面パラメータ式に従った候補面を、前記請求項９に記載のデータ処理装置が描画するための全候補面描画計算量を推定する全候補面描画計算量推定部と、
前記通過画素を前記請求項９に記載のデータ処理装置が識別し、該通過画素の座標と、前記通過画素における接平面を前記請求項９に記載のデータ処理装置が求めるための全通過判定計算量を推定する全通過判定計算量推定部と、
前記傾き重みを、前記請求項９に記載のデータ処理装置が求めるための全重み算出計算量を推定する全重み算出計算量推定部と、
前記個数を、前記請求項９に記載のデータ処理装置が算出するための全個数計量計算量を推定する全個数計量計算量推定部と、
前記候補面のうちから、前記実在面を、前記請求項９に記載のデータ処理装置が識別するための全実在面判定計算量を推定する全実在面判定計算量推定部と、
前記パラメータ算出計算量と、前記パラメータ面描画計算量と、前記交差点検出計算量と、前記有力候補抽出計算量と、前記有力候補面描画計算量と、前記通過判定計算量と、前記重み算出計算量と、前記個数計量計算量と、前記実在面判定計算量とを合計することにより、前記パラメータ空間計算量を求め、
前記全候補面描画計算量と、前記全通過判定計算量と、前記全重み算出計算量と、前記全個数計量計算量と、前記全実在面判定計算量とを合計することにより、前記画像空間計算量を求め、
該求めたパラメータ空間計算量と該求めた画像空間計算量との比較の結果、前記パラメータ空間計算量が前記画像空間計算量よりも少ないと判別した場合に、前記請求項１に記載のデータ処理装置を選択して前記実在面を識別させ、該パラメータ空間計算量が該画像空間計算量よりも多いと判別した場合に、前記請求項９に記載のデータ処理装置を選択して前記実在面を識別させる手法選択部とを有することを特徴とする請求項１７に記載の姿勢推定システム。
【請求項１９】
前記姿勢推定システムが、請求項１４に記載のデータ処理装置を具備する場合において、
前記データ処理切替装置は、
前記パラメータ空間上にパラメータ面を描画する際、前記２値化部が２値化する前の画像の画素値に基づいて画素値重みを求める画素値重み付パラメータ面描画部と、
前記交差点において、パラメータ面同士が交差する通過面数と画素値重みとの合計が所定値より大きい通過点座標で、かつ、その通過点座標を基準とする近傍領域にて通過面数が最大であるときに、その通過点座標におけるパラメータの組合せを、検出対象となる基準面を形成するパラメータの組合せの有力候補として識別する画素値重み付有力候補抽出部と、
前記傾き重みに更に２値化前の３次元画像の画素値を元に算出した値をかけて新たに傾き重みとする画素値重み付重み算出部と、
前記重み付パラメータ面描画部の実行に要する計算量を推定する、画素値重み付パラメータ面描画計算量推定部と、
前記画素値重み付有力候抽出部の実行に要する計算量を推定する画素値重み付有力候抽出計算量推定部と、
前記画素値重み付重み算出部の実行に要する計算量を推定する画素値重み付重み算出計算量推定部とを有することを特徴とする請求項１８に記載の姿勢推定システム。
【請求項２０】
前記実在面判定部が実在面であると判別した場合に、該判別された実在面を構成する姿勢パラメータを外部に送信するための通信装置、を有することを特徴とする請求項１７乃至１９のいずれか1項に記載の姿勢推定システム。
【請求項２１】
入力された画像に基づいて、姿勢を推定する基準となる基準面に対する姿勢推定対象の姿勢を推定する姿勢推定方法であって、
前記画像を、前記基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する２値化処理と、
前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現処理と、
前記２値化処理にて分割した候補領域に含まれる各画素を通るすべての面を表現する前記面パラメータ式を構成する姿勢パラメータの組合せを、前記面パラメータ式表現処理にて抽出した姿勢パラメータに基づいて算出するパラメータ算出処理と、
前記姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、前記パラメータ算出処理にて算出した姿勢パラメータの組合せに基づいて、前記面パラメータ式に従ったパラメータ面を描画するパラメータ面描画処理と、
前記パラメータ面描画処理にて描画した前記パラメータ面が複数通過する交差点の座標である通過点座標と、該通過点座標を通過するパラメータ面の数である通過面数とを求める交差点検出処理と、
前記交差点検出処理にて求めた各通過点における通過面数が、該通過面数に対応する通過点座標を基準とする所定の近傍領域における他の通過点座標における通過面数と比較して最大であると判別したときに、該判別した通過面数に対応するパラメータ面を構成する姿勢パラメータの組合せを、前記基準面を表現するために最適な姿勢パラメータの組合せである有力候補として識別する有力候補抽出処理と、
前記有力候補抽出処理にて識別した有力候補と、該有力候補を基準とする所定の近傍領域にて前記パラメータ空間上の有力候補との距離が所定値以下である前記パラメータ算出処理にて算出した姿勢パラメータの組合せとに基づいて、前記画像上に有力候補面を描画する有力候補面描画処理と、
前記有力候補面描画処理にて描画した各有力候補面について、前記候補領域のうちで該有力候補面上に位置している画素と、該有力候補面から所定範囲内に位置している画素とを、通過画素として識別し、該通過画素の座標および前記通過画素における接平面を求める通過判定処理と、
前記通過判定処理にて求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定処理にて識別した通過画素ごとに傾き重みを求める重み算出処理と、
前記有力候補面ごとに、該有力候補にそれぞれ含まれる前記重み算出処理にて求めた通過画素の傾き重みを合計した値である個数を算出する個数計量処理と、
前記個数計量処理にて算出した個数が、該個数を有する有力候補面を基準とする近傍領域における他の有力候補面が有する個数と比較して最大であると判別したときに、該判別した個数を有する有力候補面を、前記画像に実在する基準面である実在面として識別する実在面判定処理とを有する姿勢推定方法。
【請求項２２】
前記姿勢パラメータのうちで方向を示すパラメータが、角度であることを特徴とする請求項２１に記載の姿勢推定方法。
【請求項２３】
前記角度に対して変換を施すための前記所定の関数が、三角関数であり、
前記面パラメータ式表現処理では、前記角度に前記三角関数による変換を施して得られた値と、前記角度以外の姿勢パラメータとに基づいて、前記面パラメータ式を求めることを特徴とする請求項２２に記載の姿勢推定方法。
【請求項２４】
前記有力候補抽出処理では、
前記交差点検出処理にて求めた各通過点における通過面数と第１のしきい値とを比較し、該第１のしきい値よりも大きいと判別した通過面数に対応する前記姿勢パラメータの組合せのうちから、前記有力候補を識別することを特徴とする請求項２１に記載の姿勢推定方法。
【請求項２５】
前記有力候補抽出処理では、前記有力候補を抽出したときに、該有力候補として抽出された姿勢パラメータの組合せに対して、有力候補面ビットを、有力候補面であることを示す所定値に変更することを特徴とする請求項２４に記載の姿勢推定方法。
【請求項２６】
前記重み算出処理では、
前記有力候補面描画処理にて描画した有力候補面上の各点において、該点での接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士が形成する面とが成す角度を求め、
前記求めた角度のうちで絶対値が最小となる角度を最小角度として定め、該定めた最小角度に対応する余弦の逆数の絶対値を算出することにより、前記有力候補面が通過する画素の傾き重みを求めることを特徴とする請求項２１に記載の姿勢推定方法。
【請求項２７】
前記実在面判定処理では、
前記個数計量処理にて算出した個数と第２のしきい値とを比較し、該第２のしきい値よりも大きいと判別した個数を有する有力候補面のうちから前記実在面を識別することを特徴とする請求項２１に記載の姿勢推定方法。
【請求項２８】
前記実在面判定処理では、前記実在面を識別したときに、該実在面として識別された有力候補面を形成する前記姿勢パラメータの組合せに対して、実在面ビットを、実在面であることを示す所定値に変更することを特徴とする請求項２７に記載の姿勢推定方法。
【請求項２９】
入力された画像に基づいて、姿勢を推定する基準となる基準面に対する姿勢推定対象の姿勢を推定する姿勢推定方法であって、
前記画像を、前記基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する２値化処理と、
前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現処理と、
前記姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、該パラメータ空間上のすべての姿勢パラメータの組合せに基づいて、前記面パラメータ式に従った候補面を前記画像上に描画する全候補面描画処理と、
前記全候補面描画処理にて描画した各候補面について、前記候補領域のうちで該候補面上に位置している画素と、該候補面から所定範囲内に位置している画素とを、通過画素として識別し、該通過画素の座標と、前記通過画素における接平面とを求める通過判定処理と、
前記通過判定処理にて求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定処理にて識別した通過画素ごとに傾き重みを求める重み算出処理と、
前記候補面ごとに、該候補面にそれぞれ含まれる前記重み算出処理にて求めた通過画素の傾き重みを合計した値である個数を算出する個数計量処理と、
前記個数計量処理にて算出した個数に基づいて、前記全候補面描画処理にて描画した候補面のうちから、前記画像に実在する基準面である実在面を識別する実在面判定処理とを有する姿勢推定方法。
【請求項３０】
前記入力された画像に平滑化する処理を施す平滑化処理、を有し、
前記２値化処理では、前記平滑化処理にて平滑化した画像に基づいて、２値化画像を生成することを特徴とする請求項２１または２９に記載の姿勢推定方法。
【請求項３１】
前記２値化処理にて生成した２値化画像の候補領域に対して、該候補領域を膨張させる膨張処理、または、該候補領域を収縮させる収縮処理を、所定回数だけ実行する膨張収縮処理、を有することを特徴とする請求項２１、２９および３０のいずれか１項に記載の姿勢推定方法。
【請求項３２】
任意の画像のサイズを縮小または拡大することにより、該画像のサイズを変更する画像サイズ変更処理と、
所定回数に達するまで、あるいは、所定の精度が得られるまで、前記画像サイズ変更処理による倍率の異なる画像サイズの変更と、前記実在面判別処理による新たな実在面の識別と、を交互に繰り返し実行させるパラメータ微調整処理、とを有し、
前記画像サイズ変更処理では、
前記実在面判定処理にて実在面を識別する前に、前記入力された画像を所定の縮小率で縮小することにより縮小画像を生成し、
前記実在面判定処理にて実在面を識別した後に、前記生成した縮小画像を、前記入力された画像よりも小さなサイズであって、かつ、該縮小画像よりも大きなサイズに変更することにより、新たな画像を生成することを特徴とする請求項２１、２９乃至３１のいずれか１項に記載の姿勢推定方法。
【請求項３３】
前記パラメータ空間の離散化幅をあらかじめ与えた幅に大きくしてパラメータ空間を粗くし実在面を求め、実在面が一旦求まった後、パラメータ空間をより密に離散化するパラメータ空間粗視化処理と、
前記離散化したパラメータ空間で一旦求まった実在面の近傍領域において、離散化幅が異なるパラメータ空間での新たな実在面の導出を、所定の処理回数に達するまで、または、離散化幅が所定値に達するまで繰り返し実行させるパラメータ微調整処理とを有することを特徴とする請求項２１または２９に記載の姿勢推定方法。
【請求項３４】
前記パラメータ空間上に、前記パラメータ算出処理にて算出した姿勢パラメータの組合せと、前記２値化処理にて２値化する前の画像の画素値に基づいて算出した値との乗算により求めた画素値重みに基づいて、前記面パラメータ式に従ったパラメータ面を描画する画素値重み付パラメータ面描画処理と、
前記通過点座標において、前記パラメータ面同士が交差する通過面数と画素値重みとの合計が所定値より大きい通過点座標で、かつ、その通過点座標を基準とする近傍領域にて通過面数が最大であるときに、その通過点座標におけるパラメータの組合せを、検出対象となる基準面を形成するパラメータの組合せの有力候補として識別する画素値重み付有力候補抽出処理と、
前記通過判定処理にて求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定処理にて識別した通過画素ごとに傾き重みを求め、該求めた傾き重みと、前記２値化処理にて２値化する前の画像の画素値に基づいて算出した値とを乗算することにより、画素値重み付傾き重みを求める画素値重み付重み算出処理とを有することを特徴とする請求項２１に記載の姿勢推定方法。
【請求項３５】
前記傾き重みと、前記２値化処理にて２値化する前の画像の画素値に基づいて算出した値とを乗算することにより、画素値重み付傾き重みを求める画素値重み付重み算出処理、を有することを特徴とする請求項２９に記載の姿勢推定方法。
【請求項３６】
前記入力された画像に複数の実在面が写り込んでいる場合、該各実在面の相互の位置関係を推定するとともに、該実在面を物理的実体に対応付けることにより同定する位置関係推定処理と、
前記位置関係推定処理にて推定した前記複数の面の位置関係に基づいて、前記姿勢パラメータと、前記実在面とを対応付けることにより、該実在面に対する姿勢推定対象の姿勢を定める処理である意味付を行う姿勢意味付処理と、を有することを特徴とする請求項２１または２９に記載の姿勢推定方法。
【請求項３７】
前記請求項２１に記載の姿勢推定方法を用いて前記基準面である実在面を識別するために行う演算処理の大きさを示す計算量であるパラメータ空間計算量と、前記請求項２９に記載の姿勢推定方法を用いて実在面を識別するために行う演算処理の大きさを示す計算量である画像空間計算量とを比較した結果に基づいて、前記請求項２１に記載の姿勢推定方法と前記請求項２９に記載の姿勢推定方法とのいずれかを選択し、該選択した姿勢推定方法を用いて前記実在面を識別させるデータ処理切替処理を有する姿勢推定方法。
【請求項３８】
前記データ処理切替処理では、
前記画像を、前記基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する２値化処理と、
前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現処理と、
前記２値化処理にて分割した候補領域に含まれる各画素を通る全ての基準面を表現する前記面パラメータ式を構成する姿勢パラメータの組合せを、前記請求項２１に記載の姿勢推定方法を用いて算出するための演算処理の大きさを示す量であるパラメータ算出計算量を推定するパラメータ算出計算量推定処理と、
前記面パラメータ式に従ったパラメータ面を前記請求項２１に記載の姿勢推定方法を用いて描画するためのパラメータ面描画計算量を推定するパラメータ面描画計算量推定処理と、
前記通過点座標と前記通過面数とを、前記請求項２１に記載の姿勢推定方法を用いて求めるための交差点検出計算量を推定する交差点検出計算量推定処理と、
前記有力候補を、前記請求項２１に記載の姿勢推定方法を用いて識別するための有力候補抽出計算量を推定する有力候補抽出計算量推定処理と、
前記有力候補面を、前記請求項２１に記載の姿勢推定方法を用いて描画するための有力候補面描画計算量を推定する有力候補面描画計算量推定処理と、
前記通過画素を前記請求項２１に記載の姿勢推定方法を用いて識別し、該通過画素の座標と、前記通過画素における接平面とを前記請求項２１に記載の姿勢推定方法を用いて求めるための通過判定計算量を推定する通過判定計算量推定処理と、
前記傾き重みを、前記請求項２１に記載の姿勢推定方法を用いて求めるための重み算出計算量を推定する重み算出計算量推定処理と、
前記有力候補面ごとに、前記個数を前記請求項２１に記載の姿勢推定方法を用いて算出するための個数計量計算量を推定する個数計量計算量推定処理と、
前記有力候補面のうちから、前記実在面を前記請求項２１に記載の姿勢推定方法を用いて識別するための実在面判定計算量を推定する実在面判定計算量推定処理と、
前記面パラメータ式に従った候補面を、前記請求項２９に記載の姿勢推定方法を用いて描画するための全候補面描画計算量を推定する全候補面描画計算量推定処理と、
前記通過画素を前記請求項２９に記載の姿勢推定方法を用いて識別し、該通過画素の座標と、前記通過画素における接平面を前記請求項２９に記載の姿勢推定方法を用いて求めるための全通過判定計算量を推定する全通過判定計算量推定処理と、
前記傾き重みを、前記請求項２９に記載の姿勢推定方法を用いて求めるための全重み算出計算量を推定する全重み算出計算量推定処理と、
前記個数を、前記請求項２９に記載の姿勢推定方法を用いて算出するための全個数計量計算量を推定する全個数計量計算量推定処理と、
前記候補面のうちから、前記実在面を、前記請求項２９に記載の姿勢推定方法を用いて識別するための全実在面判定計算量を推定する全実在面判定計算量推定処理と、
前記パラメータ算出計算量と、前記パラメータ面描画計算量と、前記交差点検出計算量と、前記有力候補抽出計算量と、前記有力候補面描画計算量と、前記通過判定計算量と、前記重み算出計算量と、前記個数計量計算量と、前記実在面判定計算量とを合計することにより、前記パラメータ空間計算量を求め、
前記全候補面描画計算量と、前記全通過判定計算量と、前記全重み算出計算量と、前記全個数計量計算量と、前記全実在面判定計算量とを合計することにより、前記画像空間計算量を求め、
該求めたパラメータ空間計算量と該求めた画像空間計算量との比較の結果、前記パラメータ空間計算量が前記画像空間計算量よりも少ないと判別した場合に、前記請求項２１に記載の姿勢推定方法を選択して前記実在面を識別させ、該パラメータ空間計算量が該画像空間計算量よりも多いと判別した場合に、前記請求項２９に記載の姿勢推定方法を選択して前記実在面を識別させる手法選択処理とを有することを特徴とする請求項３７に記載の姿勢推定方法。
【請求項３９】
請求項３４に記載の姿勢推定方法を選択可能な場合において、
前記データ処理切替処理では、
前記パラメータ空間上にパラメータ面を描画する際、前記２値化処理にて２値化する前の画像の画素値に基づいて画素値重みを求める画素値重み付パラメータ面描画処理と、
前記交差点において、パラメータ面同士が交差する通過面数と画素値重みとの合計が所定値より大きい通過点座標で、かつ、その通過点座標を基準とする近傍領域にて通過面数が最大であるときに、その通過点座標におけるパラメータの組合せを、検出対象となる基準面を形成するパラメータの組合せの有力候補として識別する画素値重み付有力候補抽出処理と、
前記傾き重みに更に２値化前の３次元画像の画素値を元に算出した値をかけて新たに傾き重みとする画素値重み付重み算出処理と、
前記重み付パラメータ面描画処理の実行に要する計算量を推定する画素値重み付パラメータ面描画計算量推定処理と、
前記画素値重み付有力候抽出処理の実行に要する計算量を推定する画素値重み付有力候抽出計算量推定処理と、
前記画素値重み付重み算出処理の実行に要する計算量を推定する画素値重み付重み算出計算量推定処理とを有することを特徴とする請求項３８に記載の姿勢推定方法。
【請求項４０】
前記実在面判定処理にて実在面であると判別した場合に、該判別された実在面を構成する姿勢パラメータを外部に送信するための通信処理、を有することを特徴とする請求項３７乃至３９のいずれか1項に記載の姿勢推定方法。
【請求項４１】
入力された画像を、姿勢を推定する基準となる基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する２値化手順と、
前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現手順と、
前記２値化手順にて分割した候補領域に含まれる各画素を通るすべての面を表現する前記面パラメータ式を構成する姿勢パラメータの組合せを、前記面パラメータ式表現手順にて抽出した姿勢パラメータに基づいて算出するパラメータ算出手順と、
前記姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、前記パラメータ算出手順にて算出した姿勢パラメータの組合せに基づいて、前記面パラメータ式に従ったパラメータ面を描画するパラメータ面描画手順と、
前記パラメータ面描画手順にて描画した前記パラメータ面が複数通過する交差点の座標である通過点座標と、該通過点座標を通過するパラメータ面の数である通過面数とを求める交差点検出手順と、
前記交差点検出手順にて求めた各通過点における通過面数が、該通過面数に対応する通過点座標を基準とする所定の近傍領域における他の通過点座標における通過面数と比較して最大であると判別したときに、該判別した通過面数に対応するパラメータ面を構成する姿勢パラメータの組合せを、前記基準面を表現するために最適な姿勢パラメータの組合せである有力候補として識別する有力候補抽出手順と、
前記有力候補抽出手順にて識別した有力候補と、該有力候補を基準とする所定の近傍領域にて前記パラメータ空間上の有力候補との距離が所定値以下である前記パラメータ算出手順にて算出した姿勢パラメータの組合せとに基づいて、前記画像上に有力候補面を描画する有力候補面描画手順と、
前記有力候補面描画手順にて描画した各有力候補面について、前記候補領域のうちで該有力候補面上に位置している画素と、該有力候補面から所定範囲内に位置している画素とを、通過画素として識別し、該通過画素の座標および前記通過画素における接平面を求める通過判定手順と、
前記通過判定手順にて求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定手順にて識別した通過画素ごとに傾き重みを求める重み算出手順と、
前記有力候補面ごとに、該有力候補にそれぞれ含まれる前記重み算出手順にて求めた通過画素の傾き重みを合計した値である個数を算出する個数計量手順と、
前記個数計量手順にて算出した個数が、該個数を有する有力候補面を基準とする近傍領域における他の有力候補面が有する個数と比較して最大であると判別したときに、該判別した個数を有する有力候補面を、前記画像に実在する基準面である実在面として識別する実在面判定手順とをコンピュータに実行させるためのプログラム。
【請求項４２】
前記姿勢パラメータのうちで方向を示すパラメータが、角度であることを特徴とする請求項４１に記載のプログラム。
【請求項４３】
前記角度に対して変換を施すための前記所定の関数が、三角関数であり、
前記面パラメータ式表現手順では、前記角度に前記三角関数による変換を施して得られた値と、前記角度以外の姿勢パラメータとに基づいて、前記面パラメータ式を求めることを特徴とする請求項４２に記載のプログラム。
【請求項４４】
前記有力候補抽出手順では、
前記交差点検出手順にて求めた各通過点における通過面数と第１のしきい値とを比較し、該第１のしきい値よりも大きいと判別した通過面数に対応する前記姿勢パラメータの組合せのうちから、前記有力候補を識別することを特徴とする請求項４１に記載のプログラム。
【請求項４５】
前記有力候補抽出手順では、前記有力候補を抽出したときに、該有力候補として抽出された姿勢パラメータの組合せに対して、有力候補面ビットを、有力候補面であることを示す所定値に変更することを特徴とする請求項４４に記載のプログラム。
【請求項４６】
前記重み算出手順では、
前記有力候補面描画手順にて描画した有力候補面上の各点において、該点での接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士が形成する面とが成す角度を求め、
前記求めた角度のうちで絶対値が最小となる角度を最小角度として定め、該定めた最小角度に対応する余弦の逆数の絶対値を算出することにより、前記有力候補面が通過する画素の傾き重みを求めることを特徴とする請求項４１に記載のプログラム。
【請求項４７】
前記実在面判定手順では、
前記個数計量手順にて算出した個数と第２のしきい値とを比較し、該第２のしきい値よりも大きいと判別した個数を有する有力候補面のうちから前記実在面を識別することを特徴とする請求項４１に記載のプログラム。
【請求項４８】
前記実在面判定手順では、前記実在面を識別したときに、該実在面として識別された有力候補面を形成する前記姿勢パラメータの組合せに対して、実在面ビットを、実在面であることを示す所定値に変更することを特徴とする請求項４７に記載のプログラム。
【請求項４９】
入力された画像を、姿勢を推定する基準となる基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する２値化手順と、
前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現手順と、
前記姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、該パラメータ空間上のすべての姿勢パラメータの組合せに基づいて、前記面パラメータ式に従った候補面を前記画像上に描画する全候補面描画手順と、
前記全候補面描画手順にて描画した各候補面について、前記候補領域のうちで該候補面上に位置している画素と、該候補面から所定範囲内に位置している画素とを、通過画素として識別し、該通過画素の座標と、前記通過画素における接平面とを求める通過判定手順と、
前記通過判定手順にて求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定手順にて識別した通過画素ごとに傾き重みを求める重み算出手順と、
前記候補面ごとに、該候補面にそれぞれ含まれる前記重み算出手順にて求めた通過画素の傾き重みを合計した値である個数を算出する個数計量手順と、
前記個数計量手順にて算出した個数に基づいて、前記全候補面描画手順にて描画した候補面のうちから、前記画像に実在する基準面である実在面を識別する実在面判定手順とをコンピュータに実行させるためのプログラム。
【請求項５０】
前記入力された画像に平滑化する処理を施す平滑化手順、を有し、
前記２値化手順では、前記平滑化手順にて平滑化した画像に基づいて、２値化画像を生成することを特徴とする請求項４１または４９に記載のプログラム。
【請求項５１】
前記２値化手順にて生成した２値化画像の候補領域に対して、該候補領域を膨張させる膨張手順、または、該候補領域を収縮させる収縮手順を、所定回数だけ実行する膨張収縮手順、を有することを特徴とする請求項４１、４９および５０のいずれか１項に記載のプログラム。
【請求項５２】
任意の画像のサイズを縮小または拡大することにより、該画像のサイズを変更する画像サイズ変更手順と、
所定回数に達するまで、あるいは、所定の精度が得られるまで、前記画像サイズ変更手順による倍率の異なる画像サイズの変更と、前記実在面判別手順による新たな実在面の識別と、を交互に繰り返し実行させるパラメータ微調整手順、とを有し、
前記画像サイズ変更手順では、
前記実在面判定手順にて実在面を識別する前に、前記入力された画像を所定の縮小率で縮小することにより縮小画像を生成し、
前記実在面判定手順にて実在面を識別した後に、前記生成した縮小画像を、前記入力された画像よりも小さなサイズであって、かつ、該縮小画像よりも大きなサイズに変更することにより、新たな画像を生成することを特徴とする請求項４１、４９乃至５１のいずれか１項に記載のプログラム。
【請求項５３】
前記パラメータ空間の離散化幅をあらかじめ与えた幅に大きくしてパラメータ空間を粗くし実在面を求め、実在面が一旦求まった後、パラメータ空間をより密に離散化するパラメータ空間粗視化手順と、
前記離散化したパラメータ空間で一旦求まった実在面の近傍領域において、離散化幅が異なるパラメータ空間での新たな実在面の導出を、所定の処理回数に達するまで、または、離散化幅が所定値に達するまで繰り返し実行させるパラメータ微調整手順とを有することを特徴とする請求項４１または４９に記載のプログラム。
【請求項５４】
前記パラメータ空間上に、前記パラメータ算出手順にて算出した姿勢パラメータの組合せと、前記２値化手順にて２値化する前の画像の画素値に基づいて算出した値との乗算により求めた画素値重みに基づいて、前記面パラメータ式に従ったパラメータ面を描画する画素値重み付パラメータ面描画手順と、
前記通過点座標において、前記パラメータ面同士が交差する通過面数と画素値重みとの合計が所定値より大きい通過点座標で、かつ、その通過点座標を基準とする近傍領域にて通過面数が最大であるときに、その通過点座標におけるパラメータの組合せを、検出対象となる基準面を形成するパラメータの組合せの有力候補として識別する画素値重み付有力候補抽出手順と、
前記通過判定手順にて求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定手順にて識別した通過画素ごとに傾き重みを求め、該求めた傾き重みと、前記２値化手順にて２値化する前の画像の画素値に基づいて算出した値とを乗算することにより、画素値重み付傾き重みを求める画素値重み付重み算出手順とを有することを特徴とする請求項４１に記載のプログラム。
【請求項５５】
前記傾き重みと、前記２値化手順にて２値化する前の画像の画素値に基づいて算出した値とを乗算することにより、画素値重み付傾き重みを求める画素値重み付重み算出手順、を有することを特徴とする請求項４９に記載のプログラム。
【請求項５６】
前記入力された画像に複数の実在面が写り込んでいる場合、該各実在面の相互の位置関係を推定するとともに、該実在面を物理的実体に対応付けることにより同定する位置関係推定手順と、
前記位置関係推定手順にて推定した前記複数の面の位置関係に基づいて、前記姿勢パラメータと、前記実在面とを対応付けることにより、該実在面に対する姿勢推定対象の姿勢を定める処理である意味付を行う姿勢意味付手順と、を有することを特徴とする請求項４１または４９に記載のプログラム。
【請求項５７】
請求項４１に記載のプログラムを実行することにより前記基準面である実在面を識別するために行う演算処理の大きさを示す計算量であるパラメータ空間計算量と、請求項４９に記載のプログラムを実行することにより実在面を識別するために行う演算処理の大きさを示す計算量である画像空間計算量とを比較した結果に基づいて、前記請求項４１に記載のプログラムと前記請求項４９に記載のプログラムとのいずれかを選択し、該選択したプログラムを実行することにより前記実在面を識別させるデータ処理切替手順をコンピュータに実行させるためのプログラム。
【請求項５８】
前記データ処理切替手順では、
前記画像を、前記基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する２値化手順と、
前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現手順と、
前記２値化手順にて分割した候補領域に含まれる各画素を通る全ての基準面を表現する前記面パラメータ式を構成する姿勢パラメータの組合せを、前記請求項４１に記載のプログラムを実行することにより算出するための演算処理の大きさを示す量であるパラメータ算出計算量を推定するパラメータ算出計算量推定手順と、
前記面パラメータ式に従ったパラメータ面を前記請求項４１に記載のプログラムを実行することにより描画するためのパラメータ面描画計算量を推定するパラメータ面描画計算量推定手順と、
前記通過点座標と前記通過面数とを、前記請求項４１に記載のプログラムを実行することにより求めるための交差点検出計算量を推定する交差点検出計算量推定手順と、
前記有力候補を、前記請求項４１に記載のプログラムを実行することにより識別するための有力候補抽出計算量を推定する有力候補抽出計算量推定手順と、
前記有力候補面を、前記請求項４１に記載のプログラムを実行することにより描画するための有力候補面描画計算量を推定する有力候補面描画計算量推定手順と、
前記通過画素を前記請求項４１に記載のプログラムを実行することにより識別し、該通過画素の座標と、前記通過画素における接平面とを前記請求項４１に記載のプログラムを実行することにより求めるための通過判定計算量を推定する通過判定計算量推定手順と、
前記傾き重みを、前記請求項４１に記載のプログラムを実行することにより求めるための重み算出計算量を推定する重み算出計算量推定手順と、
前記有力候補面ごとに、前記個数を前記請求項４１に記載のプログラムを実行することにより算出するための個数計量計算量を推定する個数計量計算量推定手順と、
前記有力候補面のうちから、前記実在面を前記請求項４１に記載のプログラムを実行することにより識別するための実在面判定計算量を推定する実在面判定計算量推定手順と、
前記面パラメータ式に従った候補面を、前記請求項４９に記載のプログラムを実行することにより描画するための全候補面描画計算量を推定する全候補面描画計算量推定手順と、
前記通過画素を前記請求項４９に記載のプログラムを実行することにより識別し、該通過画素の座標と、前記通過画素における接平面を前記請求項４９に記載のプログラムを実行することにより求めるための全通過判定計算量を推定する全通過判定計算量推定手順と、
前記傾き重みを、前記請求項４９に記載のプログラムを実行することにより求めるための全重み算出計算量を推定する全重み算出計算量推定手順と、
前記個数を、前記請求項４９に記載のプログラムを実行することにより算出するための全個数計量計算量を推定する全個数計量計算量推定手順と、
前記候補面のうちから、前記実在面を、前記請求項４９に記載のプログラムを実行することにより識別するための全実在面判定計算量を推定する全実在面判定計算量推定手順と、
前記パラメータ算出計算量と、前記パラメータ面描画計算量と、前記交差点検出計算量と、前記有力候補抽出計算量と、前記有力候補面描画計算量と、前記通過判定計算量と、前記重み算出計算量と、前記個数計量計算量と、前記実在面判定計算量とを合計することにより、前記パラメータ空間計算量を求め、
前記全候補面描画計算量と、前記全通過判定計算量と、前記全重み算出計算量と、前記全個数計量計算量と、前記全実在面判定計算量とを合計することにより、前記画像空間計算量を求め、
該求めたパラメータ空間計算量と該求めた画像空間計算量との比較の結果、前記パラメータ空間計算量が前記画像空間計算量よりも少ないと判別した場合に、前記請求項４１に記載のプログラムを選択して前記実在面を識別させ、該パラメータ空間計算量が該画像空間計算量よりも多いと判別した場合に、前記請求項４９に記載のプログラムを選択して前記実在面を識別させる手法選択手順とを有することを特徴とする請求項５７に記載のプログラム。
【請求項５９】
請求項５４に記載のプログラムを選択可能な場合において、
前記データ処理切替手順では、
前記パラメータ空間上にパラメータ面を描画する際、前記２値化手順にて２値化する前の画像の画素値に基づいて画素値重みを求める画素値重み付パラメータ面描画手順と、
前記交差点において、パラメータ面同士が交差する通過面数と画素値重みとの合計が所定値より大きい通過点座標で、かつ、その通過点座標を基準とする近傍領域にて通過面数が最大であるときに、その通過点座標におけるパラメータの組合せを、検出対象となる基準面を形成するパラメータの組合せの有力候補として識別する画素値重み付有力候補抽出手順と、
前記傾き重みに更に２値化前の３次元画像の画素値を元に算出した値をかけて新たに傾き重みとする画素値重み付重み算出手順と、
前記重み付パラメータ面描画手順の実行に要する計算量を推定する画素値重み付パラメータ面描画計算量推定手順と、
前記画素値重み付有力候抽出手順の実行に要する計算量を推定する画素値重み付有力候抽出計算量推定手順と、
前記画素値重み付重み算出手順の実行に要する計算量を推定する画素値重み付重み算出計算量推定手順とを有することを特徴とする請求項５８に記載のプログラム。
【請求項６０】
前記実在面判定手順にて実在面であると判別した場合に、該判別された実在面を構成する姿勢パラメータを外部に送信するための通信手順、を有することを特徴とする請求項５７乃至５９のいずれか1項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、装置の姿勢を推定するデータ処理装置、姿勢推定システム、姿勢推定方法およびプログラムに関する。
【背景技術】
【０００２】
地面や海水面、海水底等の特定の座標系で、空中や宇宙を飛行する飛翔体や水中を航行する航走体の姿勢を示すパラメータであるピッチ、ロール、ヨーを測定する方法、および、地面や海水面、海水底からの高度、海水面からの深度を測定する方法は、姿勢測定センサを用いた測定方法などを含め、数多く存在する。近年利用が拡大しつつある小型の無人飛翔体・航走体では、特に航行や調査のために、姿勢測定センサ以外にも各種のセンサが搭載される傾向にある。とりわけ、カメラ、レーダ、ソナーなどを搭載し画像を取得する需要が高まりつつある。これら画像を取得することを本来的な目的とするセンサを「画像センサ」と呼ぶことにする。
【０００３】
しかしながら、搭載するセンサの種類が多いほど、飛翔体や航走体のシステム（上述のパラメータ測定用のシステムを含む）の構成が複雑になる。そのため、飛翔体や航走体のシステムの設計・製造や保守に時間や手間がかかるとともに、不具合が発生する頻度が増大するおそれがある。また、飛翔体や航走体のシステムが、大きくなり重くなるとともに、消費電力も増大する。可用性の面からも、サイズや省エネルギーの面からも、飛翔体や航走体のシステムに搭載するセンサの種類を減らすことが好ましい。
【０００４】
ところで、飛翔体・航走体の画像取得を目的とする場合には、画像センサは必須の構成要素となる。一方、安全かつ精密な航行を行う上では、飛翔体・航走体の姿勢測定用のセンサも必須の構成要素である。とはいえ、画像の取得を主目的とする画像センサで姿勢測定センサを代替できれば姿勢測定センサを省略することができ、小型化および軽量化に有効と考えられる。また、広く使われている慣性を利用した姿勢測定センサは振動があると精度が大きく落ちる場合があるが、画像センサにより姿勢を測定できるのであればこの問題点も回避可能となる。
【０００５】
また、取得した画像に基づいて、その画像に写り込んだ飛翔体・航走体の姿勢を推定する方法として、既知の地形や標識の見え方から推定する各種の技術が提案されている。しかしながら、砂漠や氷原の上、雲や霧の中、水中など地形や標識が見えづらい場所、標識も精密な地形図もない場所、災害などで標識がなくなったり地形が大きく変わった場所などでは、この技術を適用することはできない。このような状況下でも、地面や海水面という基本的な情報を基準として姿勢パラメータが求まると非常に有効である。
【０００６】
ただし、地表のようにほぼ平面な面や球面など対称性が高い面が基準の場合、面の見え方に基づいてヨーを求めることは難しい。しかし、他の主要な姿勢パラメータである高度や深度、ピッチ、ロールを求めることができる。なお、姿勢制御において、地表や海底に激突を避ける、海面から飛び出さないといった最低限の制御ができればよいという場合には、必ずしもヨーを求める必要はない。
【０００７】
さて、地表や海水面、海底など平面の位置は平面上の３点の位置がわかれば一意に求まる。カメラでは例えばレーザを照射することにより、レーザとカメラの位置関係から三角測量の原理により平面上の点の座標を知ることができる。ところが夜間や悪天候などノイズが多い状況では３点だけでは精度が足りないことがある。また、レーダやソナーでは地表や海面、海底などからの反射はノイズが大きく、できるだけ多くの地点のデータを組み合わせるほうが高い精度が得られる。例えばレーダでは地表全体の反射を利用したり、ソナーでは海水面全体の反射を利用して平面を同定することが好ましい。
【０００８】
数多くの点からその点が構成する面を求める方法として、まず、最小二乗法により平面を当てはめる方法が考えられる。しかし、この方法では、平均から大きく外れた値に引き寄せられる傾向がある。また、浅海域のように海面と海底とが同時に見えて各々の残響が混ざり合う場合は正しくフィッティングできない。
【０００９】
ノイズが多い状況でも平面が求まる手法として、３次元のハフ変換を利用する方法が提案されている。以下では、理解を容易にするため、２次元画像に関してハフ変換により直線や曲線を求める例として、ノイズが多い２次元画像に対するハフ変換により直線や曲線を求める場合を例に挙げて説明する。
【００１０】
ハフ変換では、まず画像（この説明例では、２次元画像）を２値化する。つぎに、２値化した画像を、直線あるいは曲線が存在するものと予測される領域である「候補領域」と、存在しないと予測される領域である「背景領域」とに分割する。続いて、検出したい線を表現する方程式の係数をパラメータとして、候補領域に含まれる各点において、その点を通り得る全ての線について、パラメータの組合せすべてを求める。このパラメータを軸としたパラメータ空間においてパラメータの組合せすべてをプロットすることにより、直線や曲線（以下、「パラメータ線」という）が求められる。候補領域の点毎にパラメータ線を描き、複数のパラメータ線が多く重なる点が、検出すべき線のパラメータの組み合わせとなる。
【００１１】
画像処理の分野で広く使用されている直線検出の場合を例に挙げて、説明する。なお、以下の説明例では、図２２に示すように、画像上の直線について、原点から直線上の任意の点（ｘ，ｙ）までの距離ρを、点（ｘ，ｙ）と、原点を始点に有し、かつ、点（ｘ，ｙ）を終点に有するベクトルがｘ軸に対して成す角度θ
とを用いて、ρ＝ｘ ｃｏｓθ＋y ｓｉｎθと表現する。
【００１２】
画像上の候補領域に位置する点（ｘi，ｙi）を通り得る直線は無数存在するが、上述の角度θと距離ρとを軸とするパラメータ空間（θ−ρ平面）では、この無数の直線は１本のパラメータ線となり、ρ＝ｘiｃｏｓθ＋ｙiｓｉｎθという曲線で表現される。例えば、図２３に示すように、１つの直線上に位置する点Ａ、Ｂ、Ｃが候補領域のうちに存在する状態を考える。この状態にて、各点Ａ、Ｂ、Ｃに対応するパラメータ線を検出する場合、３つのパラメータ線が重なる点（ρ0，θ0）が、検出すべき直線上に位置するパラメータとなる。また、検出すべき直線は、上述した関係式を適用し、距離ρ0および角度θ0を用いて、ρ0＝ｘｃｏｓθ0＋y ｓｉｎθ0で表される。
【００１３】
この方法を３次元に適用することにより、平面を検出する各種の技術が提案されている（例えば、特許文献１、２、３および４参照。）。
【特許文献１】特開平７−２７１９７８号公報
【特許文献２】特開平９−８１７５５号公報
【特許文献３】特開平１０−９６６０７号公報
【特許文献４】特開２００３−２７１９７５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかし、特許文献１、２および３に記載された技術では、平面上の直線を一旦求めてから、その直線を束ねて平面を求める。そのため、平面を求めるための処理が複雑になるというという第１の問題点がある。また、直線は平面よりも拘束条件が弱い。そのため、ノイズ成分が多数含まれている場合には、ノイズ成分に強く影響された直線が多数検出され、処理効率が低下するおそれがある。
【００１５】
また、特許文献４に記載された技術では、３点が形成する面を一旦複数求めて投票する。この場合にも、面を求めるための処理が複雑になるというという第２の問題点がある。ノイズ成分が多数含まれている場合には、より多くの点を相互に組合わせて平面を求めることが好ましい。この場合、特許文献４に記載された技術では、処理量が著しく増大するおそれがある。
【００１６】
また、一般的な技術には共通する問題点として、平面が求められた場合でも、求めた平面を表すための関係式に含まれるパラメータと、姿勢推定対象に関する姿勢パラメータ（例えば、深度、高度、ピッチ、ロールなど）との変換が非線形なため、姿勢パラメータの精度をあらかじめ指定できないという第３の問題点がある。つまり、ハフ変換のパラメータ空間において、平面を記述する方程式のパラメータに対する精度（離散化幅）をそれぞれ同一に設定した場合でも、各姿勢パラメータに対する精度は同一には定まらず、姿勢パラメータが有する値に応じて精度が異なってしまうということである。例えば、面上に位置する点のｚ方向の座標ｚを示す関係式がｚ＝ａｘ＋ｂｙ＋ｃで表現される場合において、面のｘ方向に対する傾きａをハフ変換のパラメータに用いると、角度であるピッチ、ロールと、長さである高度とは非線形な関係になる。そのため、傾きａを一定の区切で設定した上でハフ変換を施した場合でも、姿勢パラメータ上は一定の区切とならない。
【００１７】
また、ハフ変換では、ノイズ成分による偽の面を、検出するべき面である「真の面」として誤って識別する可能性が、３次元画像内の座標に応じて変化（増大または減少）するおそれがあるという第４の問題点がある。ノイズ成分による偽の面を「真の面」として誤って識別する可能性が３次元画像内の座標に応じて変化する理由は、本来は別の面に属する３次元画像内の近くにある画素の集団が、３次元画像内の位置によっては同じパラメータを持つと認識されることにより検出される画素数が増大し、増大した画素数が、別の座標に位置する真の面に所属する画素群の合計検出数よりも大きくなる場合があるためである。このような現象についての理解を容易にするため、２次元画像に対してハフ変換を施す場合を例に挙げて説明する。
【００１８】
ここでは平面上の直線をハフ変換で検出する場合を例に挙げて考察する。例えば、点（ｘ0，ｙ0）を通る直線ρ＝ｘ0 ｃｏｓθ＋ｙ0 ｓｉｎθで表されるものとする。この場合、点（ｘ0，ｙ0）の近傍に位置する（ｘ0＋(ｘ，ｙ0＋(ｙ）を通る直線はρ＋(ρ＝（ｘ0＋(ｘ）ｃｏｓ（θ＋(θ）＋（ｙ0＋(ｙ）ｓｉｎ（θ＋(θ）で表わされる。さらに、この直線を示す関係式に対して、(ｘ、(ｙ、(θに関する展開および２次以上の項を無視する近似を適用すると、(ρ≒（(ｘ＋ｙ0(θ）ｃｏｓθ＋（(ｙ−ｘ0(θ）ｓｉｎθで表される。これは、(ｘ、(ｙ、(θを固定値とした場合でも、画像上の位置を示す点（ｘ0，ｙ0）が異なる場合には、それに伴って(ρも異なることを意味する。
【００１９】
この問題について、具体例により説明する。図２４（ａ）に示すように、検出すべき線が線αと線βの２本存在し、線α上で点Aが検出され、線β上で点B、点Ｃが検出された場合を例に挙げて説明する。なお、図２４（ｂ）に示すように、各点Ａ、Ｂ、Ｃにそれぞれ対応するパラメータ空間上のパラメータ線は、異なる座標上で互いに交差するものとする。
【００２０】
一方、図２５（ａ）に示す例では、検出対象は線α´と線β´との２本の線であり、線α´上にて点A´が検出され、線β´上で点B´、点C´が検出されたものとする。なお、図２５（ａ）に示した各点A´、Ｂ´、Ｃ´間における相互の相対位置は、図２４（ａ）に示した各点Ａ、B、Ｃ間における相互の相対位置と同一であるものとする。この場合、図２５（ｂ）に示すように、点A´に対応するパラメータ線と点B´に対応するパラメータ線と点C´に対応するパラメータ線とは、同一の座標上で互いに交差する。すなわち、第４の問題点は、検出した各点の位置が異なる場合、各点に対応するパラメータ線が交差する形態が異なることを示している。２次元画像上の直線については、このような第４の問題点を回避する方法が提案されているが、３次元画像における平面検出については第４の問題点を回避する方法は提案されていない。
【００２１】
また、ノイズ成分による偽の面を「真の面」であるとして誤って識別する可能性が、３次元画像内の座標に応じて変化（増減）する問題は、３次元画像内の平面を検出する場合に限らず、３次元画像内の一般的な曲面を検出する場合においても発生するおそれがあるという第５の問題点がある。
【００２２】
また、画像に含まれる画素数をカウントすることにより面積を算出する一般的な面積算出方法では、同一の面を姿勢推定対象から見た場合でも、その見る角度が変化した際に、その面が有する面積が異なって算出される。そのため、見る角度が変化した後の「真の面」が有する面積が、ノイズ成分による「偽の面」を判別するためのしきい値よりも小さくなる場合がある。この場合、「真の面」とノイズ成分による「偽の面」とを分別できず、角度の変化後に「真の面」を検出できないおそれがあるという第６の問題点がある。パラメータ空間上においてパラメータ面が重複する回数を示す「重複回数（後述する通過面数）」を数えることは、離散化したパラメータ空間にて、画像上で検出された各面にそれぞれ属する画素の個数を数えることに相当する。しかし、面を画素で数える場合、その面積は、この面をｘｙ平面かｙｚ平面かｚｘ平面に投影した内の最も大きなものの面積と等しくなってしまう。ここでは、理解を容易にするため、２次元のハフ変換の場合で考察する。ここではまず３次元上の面の面積より簡単な平面上の直線の長さであって、長さ８画素の直線を例に挙げて説明する。
【００２３】
図２６（ａ）に示す画素列が形成する直線と、図２６（ｂ）に示す画素列が形成する直線とは、横方向に並べた画素の長さを基準とした場合、同一の長さ（８画素分の長さ）を有する。しかし、図２６（ａ）に示す直線は、ユークリッド距離に基づいて測定した長さでは、約１１．３画素分の長さを有する。
【００２４】
また、３次元画像内の面を例に挙げて、第５の問題点について説明する。図２７に示す例は、ｚｘ平面に対して角度θだけ傾いた平面Aと、ｚｘ平面に対して成す角度が「０」である平面Bとを比較したものである。なお、この例では、各平面Ａ、Ｂはともに、長方形の各辺により境界が設定された領域を有するものとする。面の面積を測るということは画素数を測ることであり、角度θ傾いた面Aをｚｘ平面に投影すると平面Bと一致する場合、平面Ａの面積は平面Ｂの面積と同一であるとして識別されてしまう。しかし、ユークリッド距離により測定した縦方向の長さおよび横方向の長さに基づいて、平面Aが有する面積を算出した場合、平面Aの面積は平面Bの面積よりも大きくなる。このような後者の面積測定方法を適用することは、利用者の視認上の観点からも、物理的実体に基づいて面積を求める観点からも好適である。
【００２５】
一般的なハフ変換では、このような観点が考慮されていない。そのため、ノイズ過多で検出すべき平面の面積と、ノイズ成分による偽の平面の面積とは異なるため、しきい値により明確に分別できるが、見る角度によっては「真の面」が有する面積が、このしきい値を下回る場合がある。すなわち、「真の面」と「偽の面」とを分別するためのしきい値が設けられている場合でも、面の向きによっては検出すべき真の平面の面積がしきい値よりも小さくなり、真の平面を検出できない場合が生じるおそれがある。
【００２６】
本発明は、上述した課題を解決するデータ処理装置、姿勢推定システム、姿勢推定方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２７】
上記課題を解決するために、本発明のデータ処理装置は、入力された画像に基づいて、姿勢を推定する基準となる基準面に対する姿勢推定対象の姿勢を推定するデータ処理装置であって、前記画像を、前記基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する２値化部と、前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現部と、前記２値化部が分割した候補領域に含まれる各画素を通るすべての面を表現する前記面パラメータ式を構成する姿勢パラメータの組合せを、前記面パラメータ式表現部が抽出した姿勢パラメータに基づいて算出するパラメータ算出部と、前記姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、前記パラメータ算出部が算出した姿勢パラメータの組合せに基づいて、前記面パラメータ式に従ったパラメータ面を描画するパラメータ面描画部と、前記パラメータ面描画部が描画した前記パラメータ面が複数通過する交差点の座標である通過点座標と、該通過点座標を通過するパラメータ面の数である通過面数とを求める交差点検出部と、前記交差点検出部が求めた各通過点における通過面数が、該通過面数に対応する通過点座標を基準とする所定の近傍領域における他の通過点座標における通過面数と比較して最大であると判別したときに、該判別した通過面数に対応するパラメータ面を構成する姿勢パラメータの組合せを、前記基準面を表現するために最適な姿勢パラメータの組合せである有力候補として識別する有力候補抽出部と、前記有力候補抽出部が識別した有力候補と、該有力候補を基準とする所定の近傍領域にて前記パラメータ空間上の有力候補との距離が所定値以下である前記パラメータ算出部が算出した姿勢パラメータの組合せとに基づいて、前記画像上に有力候補面を描画する有力候補面描画部と、前記有力候補面描画部が描画した各有力候補面について、前記候補領域のうちで該有力候補面上に位置している画素と、該有力候補面から所定範囲内に位置している画素とを、通過画素として識別し、該通過画素の座標および前記通過画素における接平面を求める通過判定部と、前記通過判定部が求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定部が識別した通過画素ごとに傾き重みを求める重み算出部と、前記有力候補面ごとに、該有力候補にそれぞれ含まれる前記重み算出部が求めた通過画素の傾き重みを合計した値である個数を算出する個数計量部と、前記個数計量部が算出した個数が、該個数を有する有力候補面を基準とする近傍領域における他の有力候補面が有する個数と比較して最大であると判別したときに、該判別した個数を有する有力候補面を、前記画像に実在する基準面である実在面として識別する実在面判定部とを有する。
【００２８】
また、入力された画像に基づいて、姿勢を推定する基準となる基準面に対する姿勢推定対象の姿勢を推定するデータ処理装置であって、前記画像を、前記基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する２値化部と、前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現部と、前記姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、該パラメータ空間上のすべての姿勢パラメータの組合せに基づいて、前記面パラメータ式に従った候補面を前記画像上に描画する全候補面描画部と、前記全候補面描画部が描画した各候補面について、前記候補領域のうちで該候補面上に位置している画素と、該候補面から所定範囲内に位置している画素とを、通過画素として識別し、該通過画素の座標と、前記通過画素における接平面とを求める通過判定部と、前記通過判定部が求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定部が識別した通過画素ごとに傾き重みを求める重み算出部と、前記候補面ごとに、該候補面にそれぞれ含まれる前記重み算出部が求めた通過画素の傾き重みを合計した値である個数を算出する個数計量部と、前記個数計量部が算出した個数に基づいて、前記全候補面描画部が描画した候補面のうちから、前記画像に実在する基準面である実在面を識別する実在面判定部とを有する。
【００２９】
また、上記課題を解決するために、本発明の姿勢推定システムは、請求項１に記載のデータ処理装置と、請求項９に記載のデータ処理装置と、を具備する姿勢推定システムにおいて、前記請求項１に記載のデータ処理装置が前記基準面である実在面を識別するための演算処理の大きさを示す計算量であるパラメータ空間計算量と、前記請求項９に記載のデータ処理装置が実在面を識別するための演算処理の大きさを示す計算量である画像空間計算量とを比較した結果に基づいて、前記請求項１に記載のデータ処理装置または前記請求項９に記載のデータ処理装置を選択し、該選択したデータ処理装置に前記実在面を識別させるデータ処理切替装置を有することを特徴とする。
【００３０】
また、上記課題を解決するために、本発明の姿勢推定方法は、入力された画像に基づいて、姿勢を推定する基準となる基準面に対する姿勢推定対象の姿勢を推定する姿勢推定方法であって、前記画像を、前記基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する２値化処理と、前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現処理と、前記２値化処理にて分割した候補領域に含まれる各画素を通るすべての面を表現する前記面パラメータ式を構成する姿勢パラメータの組合せを、前記面パラメータ式表現処理にて抽出した姿勢パラメータに基づいて算出するパラメータ算出処理と、前記姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、前記パラメータ算出処理にて算出した姿勢パラメータの組合せに基づいて、前記面パラメータ式に従ったパラメータ面を描画するパラメータ面描画処理と、前記パラメータ面描画処理にて描画した前記パラメータ面が複数通過する交差点の座標である通過点座標と、該通過点座標を通過するパラメータ面の数である通過面数とを求める交差点検出処理と、前記交差点検出処理にて求めた各通過点における通過面数が、該通過面数に対応する通過点座標を基準とする所定の近傍領域における他の通過点座標における通過面数と比較して最大であると判別したときに、該判別した通過面数に対応するパラメータ面を構成する姿勢パラメータの組合せを、前記基準面を表現するために最適な姿勢パラメータの組合せである有力候補として識別する有力候補抽出処理と、前記有力候補抽出処理にて識別した有力候補と、該有力候補を基準とする所定の近傍領域にて前記パラメータ空間上の有力候補との距離が所定値以下である前記パラメータ算出処理にて算出した姿勢パラメータの組合せとに基づいて、前記画像上に有力候補面を描画する有力候補面描画処理と、前記有力候補面描画処理にて描画した各有力候補面について、前記候補領域のうちで該有力候補面上に位置している画素と、該有力候補面から所定範囲内に位置している画素とを、通過画素として識別し、該通過画素の座標および前記通過画素における接平面を求める通過判定処理と、前記通過判定処理にて求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定処理にて識別した通過画素ごとに傾き重みを求める重み算出処理と、前記有力候補面ごとに、該有力候補にそれぞれ含まれる前記重み算出処理にて求めた通過画素の傾き重みを合計した値である個数を算出する個数計量処理と、前記個数計量処理にて算出した個数が、該個数を有する有力候補面を基準とする近傍領域における他の有力候補面が有する個数と比較して最大であると判別したときに、該判別した個数を有する有力候補面を、前記画像に実在する基準面である実在面として識別する実在面判定処理とを有する。
【００３１】
また、入力された画像に基づいて、姿勢を推定する基準となる基準面に対する姿勢推定対象の姿勢を推定する姿勢推定方法であって、前記画像を、前記基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する２値化処理と、前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現処理と、前記姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、該パラメータ空間上のすべての姿勢パラメータの組合せに基づいて、前記面パラメータ式に従った候補面を前記画像上に描画する全候補面描画処理と、前記全候補面描画処理にて描画した各候補面について、前記候補領域のうちで該候補面上に位置している画素と、該候補面から所定範囲内に位置している画素とを、通過画素として識別し、該通過画素の座標と、前記通過画素における接平面とを求める通過判定処理と、前記通過判定処理にて求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定処理にて識別した通過画素ごとに傾き重みを求める重み算出処理と、前記候補面ごとに、該候補面にそれぞれ含まれる前記重み算出処理にて求めた通過画素の傾き重みを合計した値である個数を算出する個数計量処理と、前記個数計量処理にて算出した個数に基づいて、前記全候補面描画処理にて描画した候補面のうちから、前記画像に実在する基準面である実在面を識別する実在面判定処理とを有する。
【００３２】
また、前記請求項２１に記載の姿勢推定方法を用いて前記基準面である実在面を識別するために行う演算処理の大きさを示す計算量であるパラメータ空間計算量と、前記請求項２９に記載の姿勢推定方法を用いて実在面を識別するために行う演算処理の大きさを示す計算量である画像空間計算量とを比較した結果に基づいて、前記請求項２１に記載の姿勢推定方法と前記請求項２９に記載の姿勢推定方法とのいずれかを選択し、該選択した姿勢推定方法を用いて前記実在面を識別させるデータ処理切替処理を有する。
【００３３】
また、コンピュータに実行させるプログラムであって、入力された画像を、姿勢を推定する基準となる基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する２値化手順と、前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現手順と、前記２値化手順にて分割した候補領域に含まれる各画素を通るすべての面を表現する前記面パラメータ式を構成する姿勢パラメータの組合せを、前記面パラメータ式表現手順にて抽出した姿勢パラメータに基づいて算出するパラメータ算出手順と、前記姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、前記パラメータ算出手順にて算出した姿勢パラメータの組合せに基づいて、前記面パラメータ式に従ったパラメータ面を描画するパラメータ面描画手順と、前記パラメータ面描画手順にて描画した前記パラメータ面が複数通過する交差点の座標である通過点座標と、該通過点座標を通過するパラメータ面の数である通過面数とを求める交差点検出手順と、前記交差点検出手順にて求めた各通過点における通過面数が、該通過面数に対応する通過点座標を基準とする所定の近傍領域における他の通過点座標における通過面数と比較して最大であると判別したときに、該判別した通過面数に対応するパラメータ面を構成する姿勢パラメータの組合せを、前記基準面を表現するために最適な姿勢パラメータの組合せである有力候補として識別する有力候補抽出手順と、前記有力候補抽出手順にて識別した有力候補と、該有力候補を基準とする所定の近傍領域にて前記パラメータ空間上の有力候補との距離が所定値以下である前記パラメータ算出手順にて算出した姿勢パラメータの組合せとに基づいて、前記画像上に有力候補面を描画する有力候補面描画手順と、前記有力候補面描画手順にて描画した各有力候補面について、前記候補領域のうちで該有力候補面上に位置している画素と、該有力候補面から所定範囲内に位置している画素とを、通過画素として識別し、該通過画素の座標および前記通過画素における接平面を求める通過判定手順と、前記通過判定手順にて求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定手順にて識別した通過画素ごとに傾き重みを求める重み算出手順と、前記有力候補面ごとに、該有力候補にそれぞれ含まれる前記重み算出手順にて求めた通過画素の傾き重みを合計した値である個数を算出する個数計量手順と、前記個数計量手順にて算出した個数が、該個数を有する有力候補面を基準とする近傍領域における他の有力候補面が有する個数と比較して最大であると判別したときに、該判別した個数を有する有力候補面を、前記画像に実在する基準面である実在面として識別する実在面判定手順とをコンピュータに実行させる。
【００３４】
また、コンピュータに実行させるプログラムであって、入力された画像を、姿勢を推定する基準となる基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する２値化手順と、前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現手順と、前記姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、該パラメータ空間上のすべての姿勢パラメータの組合せに基づいて、前記面パラメータ式に従った候補面を前記画像上に描画する全候補面描画手順と、前記全候補面描画手順にて描画した各候補面について、前記候補領域のうちで該候補面上に位置している画素と、該候補面から所定範囲内に位置している画素とを、通過画素として識別し、該通過画素の座標と、前記通過画素における接平面とを求める通過判定手順と、前記通過判定手順にて求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定手順にて識別した通過画素ごとに傾き重みを求める重み算出手順と、前記候補面ごとに、該候補面にそれぞれ含まれる前記重み算出手順にて求めた通過画素の傾き重みを合計した値である個数を算出する個数計量手順と、前記個数計量手順にて算出した個数に基づいて、前記全候補面描画手順にて描画した候補面のうちから、前記画像に実在する基準面である実在面を識別する実在面判定手順とをコンピュータに実行させる。
【００３５】
また、コンピュータに実行させるプログラムであって、請求項４１に記載のプログラムを実行することにより前記基準面である実在面を識別するために行う演算処理の大きさを示す計算量であるパラメータ空間計算量と、請求項４９に記載のプログラムを実行することにより実在面を識別するために行う演算処理の大きさを示す計算量である画像空間計算量とを比較した結果に基づいて、前記請求項４１に記載のプログラムと前記請求項４９に記載のプログラムとのいずれかを選択し、該選択したプログラムを実行することにより前記実在面を識別させるデータ処理切替手順をコンピュータに実行させる。
【発明の効果】
【００３６】
本発明によれば、入力された画像に基づいて、姿勢を推定する基準となる基準面に対する姿勢推定対象の姿勢を推定するデータ処理装置であって、画像を、基準面の候補となる候補領域と、候補領域以外の領域である背景領域とに分割し、入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、基準面を表現する数式である面パラメータ式を求め、分割した候補領域に含まれる各画素を通るすべての面を表現する面パラメータ式を構成する姿勢パラメータの組合せを、抽出した姿勢パラメータに基づいて算出し、姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、算出した姿勢パラメータの組合せに基づいて、面パラメータ式に従ったパラメータ面を描画し、描画したパラメータ面が複数通過する交差点の座標である通過点座標と、通過点座標を通過するパラメータ面の数である通過面数とを求め、求めた各通過点における通過面数が、通過面数に対応する通過点座標を基準とする所定の近傍領域における他の通過点座標における通過面数と比較して最大であると判別したときに、判別した通過面数に対応するパラメータ面を構成する姿勢パラメータの組合せを、基準面を表現するために最適な姿勢パラメータの組合せである有力候補として識別し、識別した有力候補と、有力候補を基準とする所定の近傍領域にて有力候補との距離が所定値以下である姿勢パラメータの組合せとに基づいて、画像上に有力候補面を描画し、描画した各有力候補面について、候補領域のうちで有力候補面上に位置している画素と、有力候補面から所定範囲内に位置している画素とを、通過画素として識別し、通過画素の座標および通過画素における接平面を求め、求めた通過画素における接平面と、パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、通過画素ごとに傾き重みを求め、有力候補面ごとに、有力候補にそれぞれ含まれる通過画素の傾き重みを合計した値である個数を算出し、算出した個数が、個数を有する有力候補面を基準とする近傍領域における他の有力候補面が有する個数と比較して最大であると判別したときに、判別した個数を有する有力候補面を、画像に実在する基準面である実在面として識別する構成としたため、姿勢パラメータの基準となる面を正確に、かつ容易に検出して、姿勢を推定できる。
【発明を実施するための最良の形態】
【００３７】
（実施形態１）
以下、本発明の実施形態１に従った姿勢推定システム１（データ処理装置、姿勢推定方法、プログラムを含む）を説明する。
【００３８】
まず、実施形態１の姿勢推定システム１の構成を説明する。姿勢推定システム１は、図１に示す画像取得装置７００および姿勢制御システム８００とともに、姿勢推定対象である飛翔体または航走体などに搭載されているものである。
【００３９】
図１に示すように、姿勢推定システム１は、入力装置２と、データ処理装置３と、記憶装置４と、通信装置５とから構成される。
【００４０】
入力装置２は、画像入力機能と、文字入力機能とを有する。入力装置２は、外部の画像取得装置７００から画像を受信し、受信した画像を入力する。また、入力装置２は、利用者の操作に応じた文字情報などを入力する。なお、外部の画像取得装置７００は、例えば、ステレオカメラ、レーザ、レンジファインダ、レーダ、ソナー、ライダなどで構成され、被写体の撮像、生成などにより画像を取得する。
【００４１】
データ処理装置３は、プログラム制御に従って動作する所定の情報処理装置で構成されており、平面または曲面などを検出するために各種データの処理を実行する。
【００４２】
記憶装置４は、各種の情報を記憶する。例えば、データ処理装置３を制御するためのプログラム、データ処理装置３による演算実行用のデータ、データ処理装置３による演算結果などを記憶する。
【００４３】
通信装置５は、外部の姿勢制御システム８００に、データ処理装置３が算出した姿勢パラメータを送信する。通信装置５は、「データ送信処理」を実行し、有線または無線のネットワーク（図示せず）を介して、姿勢パラメータを外部の姿勢制御システム８００などへ送信する。なお、姿勢制御システム８００は、通信装置５から送信されてきた姿勢パラメータに基づいて、姿勢推定システムが搭載されている姿勢推定対象の姿勢を制御する。
【００４４】
つぎに、入力装置２について詳細に説明する。図２に示すように、入力装置２は、外部データ入力部２１と、文字入力部２２とを有する。
【００４５】
外部データ入力部２１は、「外部データ入力処理」を実行し、画像取得装置７００から受信した３次元画像を入力する。ここで外部データ入力部２１が入力する３次元画像については、特に限定しない。例えば、３次元の静止画であってもよく、３次元の動画であってもよい。また、例えば、速度場や磁場などの空間的な大きさまたは時間的な大きさを示す物理量、特定関数による畳込などの各種演算により得られた画像特徴量、画像特徴量の時間的変化を高次元で表した３次元画像でもよい。
【００４６】
なお、外部データ入力部２１は、画像取得装置７００が取得した画像を、データラインを介して直接受信するに限らず、画像取得装置７００が取得した画像が記録された記録媒体からその画像を読込むことにより、外部からの画像を入力してもよい。
【００４７】
文字入力部２２は、キーボード、マウス、タッチパネル等で構成され、「文字入力処理」を実行することにより利用者の操作に応じた文字情報を入力する。
【００４８】
つぎに、データ処理装置３について詳細に説明する。図３に示すように、データ処理装置３は、２値化部３１と、面パラメータ式表現部３２と、パラメータ算出部３３と、パラメータ面描画部３４と、交差点検出部３５と、有力候補抽出部３６と、有力候補面描画部３７と、通過判定部３８と、重み算出部３９と、個数計量部３１０と、実在面判定部３１１とを有する。
【００４９】
２値化部３１は、「２値化処理」を実行し、外部データ入力部２１から入力された３次元画像を所定の領域に分割する。２値化部３１は、３次元画像の画素値に基づいて、検出対象である「基準面」（平面や曲面）の候補となる領域である「候補領域ＣＲ」と、基準面の候補にならない領域（候補領域ＣＲ以外の領域）である「背景領域ＢＲ」との２つの領域に、３次元画像を分割する。なお、以下では、２値化部３１の２値化処理により生成された２つの領域に分割された３次元画像を「２値化画像」という。
【００５０】
面パラメータ式表現部３２は、「面パラメータ式表現処理」を実行し、外部データ入力部２１が入力した３次元画像に基づいて、3次元画像に写り込んだ平面や曲面に対する姿勢推定対象の姿勢を示す「姿勢パラメータ」を抽出する。そして、抽出した各姿勢パラメータのうちで方向を示すパラメータに対して、「所定の関数」による変換を施す。
【００５１】
ここで、「姿勢推定対象」とは、例えば、飛翔体や航走体などである。また、姿勢パラメータのうちの「方向を示すパラメータ」とは、例えば、姿勢を推定するための基準面に対する姿勢推定対象の角度、基準面に対して姿勢推定対象が存在する方位（例えば、東西南北）などである。また、姿勢パラメータには、例えば、姿勢推定対象とその姿勢を推定するための基準となる基準面（平面または曲面）との間の距離なども含まれる。
【００５２】
「方向を示すパラメータ」が角度である場合、「所定の関数」として三角関数を用いた変換を実行する。この変換は、上述した例にて説明した、画素列の長さをユークリッド距離で測定した距離に補正するために行われる。以下の説明例では、方向を示すパラメータが角度であるものとする。
【００５３】
また、面パラメータ式表現部３２は、「面パラメータ式表現処理」を実行し、角度に対して三角関数による変換を施して得られた値と、角度（方向）以外の姿勢パラメータとを組み合わせて、任意の面（平面や曲面）を表現する数式である「面パラメータ式」を求める。なお、面パラメータ式表現部３２は、求めた「面パラメータ式」を保持する。
【００５４】
パラメータ算出部３３は、「パラメータ算出処理」を実行し、2値化部３１が分割した「候補領域ＣＲ」の各画素において、その画素を通り得るすべての平面や曲面を表現する方程式を満たす姿勢パラメータの組合せを、前記面パラメータ式表現部が抽出した姿勢パラメータに基づいて算出する。
【００５５】
パラメータ面描画部３４は、「パラメータ面描画処理」を実行し、姿勢パラメータに属するパラメータ（例えば、角度、距離など）を基底ベクトルの軸としてそれぞれ有する空間である「パラメータ空間」において、パラメータ算出部３３が算出したすべての姿勢パラメータの組合せを用いて、「パラメータ面」（平面状あるいは曲面状）を描画する。
【００５６】
交差点検出部３５は、「交差点検出処理」を実行し、パラメータ面描画部３４が描画したパラメータ面に基づいて、候補領域ＣＲに含まれる全画素に関する「通過点座標」と「通過面数」とを求める。
【００５７】
ここに、「通過点座標」とは、複数のパラメータ面がパラメータ空間上で交差することにより、複数のパラメータが通過する通過点（交差点）の座標である。また、「通過面数」とは、「通過点座標」において交差し、通過点（交差点）を通過するパラメータ面の数である。
【００５８】
有力候補抽出部３６は、「有力候補抽出処理」を実行し、パラメータ算出部３３が算出した姿勢パラメータの組合せのうちから、平面や曲面を表現するために最適な姿勢パラメータの組合せである「有力候補」として抽出する。
【００５９】
ここに有力候補として識別されるための条件とは、交差点検出部３５が検出した通過点座標における通過面数が第１のしきい値よりも大きく、かつ、現在判別中の通過点座標における通過面数が、その通過点座標を基準とする所定の近傍領域において最大であることである。
【００６０】
そのため、有力候補抽出部３６は、交差点検出部３５が検出した通過点座標における通過面数と第１のしきい値とを比較する。第１のしきい値は、しきい値記憶部４１が記憶する値でもよい。比較の結果、各通過点において、通過面数が第１のしきい値より大きい場合、有力候補としての条件を満たすと判別する。
【００６１】
また、有力候補抽出部３６は、第１のしきい値よりも大きいと判別した通過面数が、その通過面数に対応する通過点座標を基準とする所定の近傍領域において最大であるか否かを判別する。そして、所定の近傍領域内で、現在判別中の通過面数よりも大きい交差点がないと判別した場合（通過面数が最大であると判別した場合）、その通過面数に対応するパラメータ面を構成する姿勢パラメータの組合せを、平面や曲面の表現に最適な姿勢パラメータの組合せである「有力候補」として識別する。なお、有力候補抽出部３６は、有力候補として識別した姿勢パラメータの組合せに対して、有力候補であることを示す「有力候補面ビットＢＣ」を「０」から「１」に変更する。なお、有力候補面ビットＢＣは、記憶装置４が記憶する後述の交差点リスト４２１に登録されている。
【００６２】
有力候補面描画部３７は、「有力候補面描画処理」を実行し、有力候補抽出部３６が抽出した有力候補と、その有力候補を基準とする所定の近傍領域にてパラメータ空間上の有力候補との距離が所定値以下である姿勢パラメータの組合せとに基づいて、「有力候補面」（平面や曲面）を描画する。なお、有力候補面描画部３７は、「有力候補面」を、３次元画像上に重ねて描画する。
【００６３】
通過判定部３８は、「通過判定処理」を実行し、有力候補面描画部３７が描画した各有力候補面について、３次元画像の候補領域ＣＲにて有力候補面が通過する画素と、有力候補面を基準とする所定範囲に位置する画素とを、「通過画素」として識別する。また、通過判定部３８は、識別した「通過画素」が位置するパラメータ空間上の座標を求める。なお、通過判定部３８は、求めた「通過画素」の座標を、パラメータ空間記憶部４２が記憶する後述の通過画素リストに登録する。
【００６４】
また、通過判定部３８は、通過画素における有力候補面の接平面を求める。
【００６５】
重み算出部３９は、「重み算出処理」を実行する。「重み算出処理」では、重み算出部３９は、通過判定部３８が求めた接平面と、パラメータ空間が有する各軸同士がそれぞれ形成する面（ｘｙ平面、ｙｚ平面、ｚｘ平面）とが成す角度をそれぞれ求める。すなわち、重み算出部３９は、通過判定部３８が求めた接平面がｘｙ平面と成す角度、接平面がｙｚ平面と成す角度および接平面がｚｘ平面と成す角度を求める。そして、求めた角度のうちで絶対値が最小となる角度である「最小角度」を求める。
【００６６】
さらに、重み算出部３９は、有力候補面が通過する画素毎に、ユークリッド距離で測定した長さに対する画素列の長さの割合を表す「傾き重み」を求める。「傾き重み」は、この例では、最小角度に対応する余弦の逆数の絶対値で求められる。例えば、求めた最小角度が最小角度θであれば、「傾き重み」は、1／｜ｃｏｓθ｜である。
【００６７】
個数計量部３１０は、「個数計量処理」を実行し、各々の有力候補面について、全通過画素の傾き重みを合計した値である「個数」を求める。
【００６８】
実在面判定部３１１は、「実在面判定処理」を実行し、個数計量部３１０が求めた個数に基づいて、有力候補面のうちから、実際に３次元画像内に存在する面である「実在面」を識別する。
【００６９】
ここに実在面として識別されるための条件とは、個数計量部３１０が求めた個数が第２のしきい値よりも大きく、かつ、現在判別中の通過点座標における通過面数が、その通過点座標を基準とする所定の近傍領域において最大であることである。
【００７０】
そのため、実在面判定部３１１は、個数計量部３１０が求めた個数と第２のしきい値とを比較する。第２のしきい値は、しきい値記憶部４１が記憶する値でもよい。比較の結果、個数が第２のしきい値より大きい場合、実在面としての条件を満たすと判別する。
【００７１】
また、実在面判定部３１１は、第２のしきい値よりも大きいと判別した有力候補面が有する個数が、その個数を有する有力候補面を基準とする近傍領域に含まれる他の有力候補面が有する個数と比較して最大であるか否かを判別する。そして、所定の近傍領域内で、現在判別中の個数よりも大きい有力候補面がないと判別した場合（個数が最大であると判別した場合）、その個数を有する有力候補面を、実際に３次元画像内に存在する「実在面」として識別する。なお、実在面判定部３１１は、実在面として識別した有力候補面（姿勢パラメータの組合せ）に対して、有力候補であることを示す「実在面ビットＢＲ」を「０」から「１」に変更する。なお、有力候補面ビットＢＲは、記憶装置４が記憶する後述の交差点リスト４２１に登録されている。
【００７２】
また、実在面判定部３１１は、識別した実在面を構成する姿勢パラメータを、通信装置５を介して外部の姿勢制御システム８００へ出力する。
【００７３】
つぎに、記憶装置４について詳細に説明する。図４に示すように、記憶装置４は、しきい値記憶部４１と、パラメータ空間記憶部４２と、画像記憶部４３とを有する。
【００７４】
しきい値記憶部４１は、「しきい値記憶処理」を実行し、文字入力部２２から入力された各種しきい値を記憶する。しきい値記憶部４１は、例えば、上述した第１のしきい値、あらかじめ設定されたパラメータ空間の各軸の離散化幅や値の範囲を記憶する。
【００７５】
パラメータ空間記憶部４２は、「パラメータ空間記憶処理」を実行し、しきい値記憶部４１と面検出の際に使うパラメータ空間や検出候補の面のリストなどを記憶する。
【００７６】
パラメータ空間記憶部４２は、例えば、交差点検出部３５が検出した通過点座標に位置する通過点（交差点）が登録されている「交差点リスト４２１」を記憶する。
【００７７】
図５に示すように、交差点リスト４２１は、姿勢パラメータの組合せと、有力候補面ビットＢＣと、実在面ビットＢＲとを対応付ける。有力候補面ビットＢＣは、その値が「１」に設定されているときに、対応する姿勢パラメータの組合せが有力候補であることを示す。また、実在面ビットＢＲは、その値が「１」に設定されているときに、対応する姿勢パラメータの組合せが実在面を構成することを示す。
【００７８】
また、例えば、パラメータ空間記憶部４２は、通過画素の座標が登録されている「通過画素リスト４２２」を記憶する。また、パラメータ空間記憶部４２は、重み算出部３９が求めた「傾き重み」を記憶する。
【００７９】
画像記憶部４３は、「画像記憶処理」を実行し、外部データ入力部２１から入力された入力画像、データ処理装置３内の各構成要素による処理途中または処理結果の画像などを記憶する。
【００８０】
つぎに、上述した構成を有する実施形態１の姿勢推定システム１にて行われる姿勢推定動作を説明する。
【００８１】
図６に示すように、入力装置２の外部データ入力部２１は、「外部データ入力処理（ステップＳ１１）」により、３次元画像を入力する。画像記憶部４３は、入力された3次元画像を記憶する。
【００８２】
２値化部３１は、「２値化処理（ステップＳ１２）」により、画像記憶部４３を参照し、３次元画像の画素値に基づいて、3次元画像を、検出対象である平面や曲面の候補となる領域（候補領域ＣＲ）と、候補領域ＣＲ以外の領域（背景領域ＢＲ）との２つの領域に分割する。これにより、２値化部３１は、２値化画像を生成する。
【００８３】
２値化部３１が３次元画像を２つの領域に分割する方法は、画像（２次元画像）を２つの領域に分割する一般的な方法と同じである。画像を２つの領域に分割する画像の２値化には数多くの一般的方法がある。
【００８４】
例えば、候補領域の全画素数に対する所定の割合をあらかじめしきい値として定めてしきい値記憶部４１に保存し、そのしきい値に従って３次元画像を２値化するＰタイル法を適用してもよい。また、例えば、横軸を画素値、縦軸を頻度としたヒストグラムを作成し、ヒストグラムが双峰形と仮定してその谷をしきい値として２値化するモード法を適用してもよい。また、例えば、候補領域ＣＲおよび背景領域ＢＲの内部にてそれぞれ画素値の分散が最小になり、かつ、候補領域ＣＲと背景領域ＢＲとの間で分散が大きくなるようにしきい値を決めて２値化する判別分析法を適用してもよい。また、例えば、あらかじめ画素値のしきい値を定めしきい値記憶部４１に保存し、そのしきい値より画素値が大きいか否かに基づいて、画像を２値化する固定しきい値法を適用してもよい。また、例えば、画像を所定サイズの小領域に分割し、小領域毎にＰタイル法やモード法や判別分析法を使う動的しきい値法を適用してもよい。
【００８５】
画像記憶部４３は、画像記憶処理を実行し、２値化部３１が生成した２値化画像を記憶する。
【００８６】
面パラメータ式表現部３２は、「面パラメータ式表現処理（ステップＳ１３）」を実行し、３次元画像内の面を示す数式である「面パラメータ式」を求める。以下に、この「面パラメータ式表現処理」において、面パラメータ式表現部３２が算出する面パラメータ式を具体的に説明する。
【００８７】
例えば、図７に示すように、基準とする面である「基準面」が平面であって、画像取得装置７００（画像取得手段）が画像を取得したときの「視線方向（例えば、撮像用レンズの光軸方向など）」を軸とした回転角であるロールが右向きでαで、画像取得装置７００（画像取得手段）の視線方向が平面に対して成す角度であるピッチがピッチβ、基準面とする平面が画像取得装置７００（画像取得手段）の上方に位置しており互いの距離が距離ｄである場合を考える。この場合、例えば、距離ｄに対応する深度ｄの海中を航行する航走体の姿勢を、上方に位置する基準面に対応する海面を元に推定することに相当する。なお、この説明例では、画像取得部の視線方向のｘｙ平面への投影はｙ軸に一致するものとする。
【００８８】
この状態において、画像取得装置７００の位置を原点とした場合、視線方向にｙ’軸、画像取得装置７００の横方向にｘ’軸、縦方向にｚ’軸をとった、画像取得装置７００に固定された座標系から見ると、座標系の変換は以下の式１で表される。
【００８９】
【数１】
0005181704.tif 000002
【００９０】
また、基準面とする平面は、以下の式２で表される。
【００９１】
【数２】
0005181704.tif 000003
【００９２】
面パラメータ式表現部３２は、上述のα、β、距離ｄをパラメータ空間の軸として、３次元画像にハフ変換を施す。
【００９３】
また、例えば、基準とする面が球面である場合を考える。この場合、例えば、惑星軌道上の飛翔体の姿勢を推定する場合と同様に、球面の中心座標を基点として姿勢パラメータを求めることが有用である。
【００９４】
そのため、図８に示すように、姿勢推定対象である飛翔体の鉛直上方または鉛直下方に球面が位置しているものと仮定して考える。球面の中心が飛翔体の頭上から測定した距離ｄに位置しており、球面の半径Ｒが既知である場合、ロールおよびピッチがともに「０」になるｘ方向、ｙ方向、ｚ方向を軸とする座標系では、球面を表す関係は以下の式３で表される。
【００９５】
【数３】
0005181704.tif 000004
【００９６】
また、ロールがαでピッチがβのx’y’z’を軸とする座標系では、式１を用いて、以下の式４で表される。
【００９７】
【数４】
0005181704.tif 000005
【００９８】
ここに、式４中のAは、以下の式５で定義される。
【００９９】
【数５】
0005181704.tif 000006
【０１００】
面パラメータ式表現部３２は、このα、β、dをパラメータ空間の軸として、３次元画像にハフ変換を施す。
【０１０１】
パラメータ算出部３３は、「パラメータ算出処理（ステップＳ１４）」を実行し、３次元画像内の「候補領域」に含まれる各画素において、その画素を通り得る全ての平面や曲面を表現する面パラメータ式（方程式）のパラメータの組合せを算出する。
【０１０２】
例えば、式２に示した平面の場合、あらかじめ与えられた幅でαとβを離散化し、あらかじめ与えられた範囲でのαとβの組合せ毎に、式２の関係から距離ｄを求める。例えば、３次元画像内である候補領域の画素の座標が（ｘ0，ｙ0，ｚ0）ならば、距離dは、以下の式６で求められる。
【０１０３】
【数６】
0005181704.tif 000007
【０１０４】
また、例えば、式４で示した球面の場合、あらかじめ与えられた幅でαとβを離散化し、あらかじめ与えられた範囲でのαとβの組み合わせ毎に、式４の関係から距離dを求める。例えば、３次元画像内の候補領域ＣＲに含まれる画素が位置している座標が（ｘ0，ｙ0，ｚ0）である場合、距離dは、以下の式７で表される。
【０１０５】
【数７】
0005181704.tif 000008
【０１０６】
ここに、式７中のＢは、以下の式８で求められる。
【０１０７】
【数８】
0005181704.tif 000009
【０１０８】
パラメータ算出部３３は、「パラメータ算出処理（ステップＳ１４）」により、候補領域ＣＲに含まれるすべての画素に対して通り得る全ての面を表現するパラメータの組を求める。パラメータ空間記憶部４２は、「パラメータ空間記憶処理」を実行し、パラメータ算出部３３が求めたすべてのパラメータの組を記憶する。１つの画素に対して通り得る全ての面を表現するパラメータの組の集合がパラメータ空間上で形成する面を、以下では「パラメータ面」という。
【０１０９】
パラメータ面描画部３４は、「パラメータ面描画処理（ステップＳ１５）」を実行し、例えば、パラメータ面描画用にパラメータ空間をパラメータ空間記憶部４２に確保し、あり得るすべてのパラメータの組を描画する。なお、しきい値記憶部４１は、「しきい値記憶処理」により、あらかじめ設定されたパラメータ空間の各軸の離散化幅や値の範囲を記憶する。
【０１１０】
パラメータ面の描画方法としては、例えば、何も描画していない要素に収められる値を「０」に設定し、描画するパラメータ面とパラメータ空間上の座標とが一致する要素については値を「１」ずつ増加させる。増加させる値は「１」に限らず、固定値であれば任意の値でよい。こうして得られた値を増加した要素によって形成される形状が「パラメータ面」となる。候補領域ＣＲ内の画素毎に１つずつパラメータ面が生成されることになる。反対に要素の値を減少させて、減少した要素に注目してもよい。
【０１１１】
交差点検出部３５は、「交差点検出処理（ステップＳ１６）」を実行し、例えばパラメータ空間を参照し、各姿勢パラメータの組合せの値を読み出す。読み出した値が通過する数が「２」以上である場合、その点は、パラメータ面が交差する交差点である。そのため、交差点検出部３５は、読み出した値（通過面数）とパラメータ空間上の座標（通過点座標）とを、交差点リスト４２１にすべて登録する。なお、パラメータ空間記憶部４２は、交差点検出部３５が登録した交差点リスト４２１を記憶する。
【０１１２】
有力候補抽出部３６は、「有力候補抽出処理（ステップＳ１７）」を実行し、有力候補を抽出する。例えば、交差点リスト４２１に登録されている交差点のうちで、第１のしきい値よりも大きく、かつ、通過面数が所定の近傍領域にて最大であるパラメータの組合せを、有力候補であると識別し、「有力候補面ビットＢＣ」を「０」から「１」に変更する。
【０１１３】
なお、有力候補面ビットＢＣは、交差点リスト４２１の生成時には「０」に初期化されている。また、交差点リスト４２１の生成時には、有力候補面ビットを「１」に設定しておき、有力候補面と判定した際に「０」に変更してもよい。また、有力候補面ビットに設定する値は「０」または「１」に限らず、それ以外の任意の数値でもよい。現在判別中の通過点座標における通過面数が最大であるか否かの判別、近傍領域として設定する領域の大きさの認識などを行う場合、例えば、しきい値記憶部４１に記憶されている各種の値を参照する。
【０１１４】
一般的なハフ変換では、所定の面を基準とする近傍領域において、所定の面に類似する形状を有する面が多数検出される場合がある。しかし、本発明の姿勢推定システム１によれば、有力候補抽出部３６が、近傍領域における通過面数が最大となる他の通過点を探索することにより、複数の類似する面が集中的に検出されることを抑制できる。
【０１１５】
有力候補面描画部３７は、「有力候補面描画処理（ステップＳ１８）」を実行し、有力候補面を描画する。有力候補面描画部３７は、例えば、交差点リスト４２１のうちで、有力候補面ビットが「１」に設定されることで有力候補面として識別されているパラメータの組合せに基づいて、「有力候補面」を、３次元画像上に重ねて描画する。
【０１１６】
有力候補面の描画方法としては、例えば、画像記憶部４３に３次元画像と同一の大きさを有する画像領域を有力候補面画像として確保し全画素値を「０」とし、平面や曲面の方程式から描画する面と座標が一致する画素について値を「１」とする。また、例えば、有力候補面ごとに区別できるように値を変えてもよい。
【０１１７】
また、例えば、有力候補面画像ではなく、２値化画像に描画してもよい。有力候補面を２値化画像上に描画する場合、有力候補面の画素値は、候補領域ＣＲの画素値と異なる値で、かつ、背景領域ＢＲの画素値とも異なる値に設定する。
【０１１８】
通過判定部３８は、「通過判定処理（ステップＳ１９）」を実行し、有力候補面描画部３７が描画した有力候補面を参照し、有力候補面を構成する画素（例えば、画素値が「１」である画素）を「通過画素」として識別する。
【０１１９】
続いて、通過判定部３８は、識別した「通過画素（注目画素）」の座標における有力候補面に対する接平面と、その接平面に対応する法線とを求める。また、求めた法線の方向に関して、有力候補面との距離がしきい値記憶部４１に記憶されている所定値以下である複数の画素の座標を求める。求めた各画素と同一の相対位置（同じ座標）に位置する２値化画像上の画素のうち、いずれか１つが候補領域ＣＲに含まれていれば、「通過画素」であると識別する。なお、パラメータ空間記憶部４２は、通過判定部３８が識別したすべての通過画素の座標を、通過画素リスト４２２に記憶する。
【０１２０】
通過判定部３８による通過画素の識別方法は、通過画素の座標における法線方向に基づいた方法に限らず、通過画素を中心として、ｘ方向の画素数がＬ個、ｙ方向の画素数がＭ個、ｚ方向の画素数がＮ個の画素（L×M×N画素）で構成される近傍領域に、２値化画像上の候補領域ＣＲが含まれるか否かを判別してもよい。このとき、各画素数Ｌ、M、Ｎは、しきい値記憶部４１にあらかじめ設定しておけばよい。
【０１２１】
重み算出部３９は、「重み算出処理（ステップＳ１１０）」を実行する。「重み算出処理」では、重み算出部３９は、通過判定部３８が求めた接平面がｘｙ平面、ｙｚ平面およびｚｘ平面とそれぞれ成す角度を求める。その後、重み算出部３９は、求めた各角度のうちで絶対値が最も小さい角度を最小角度に定める。そして、定めた最小角度の余弦の逆数の絶対値である「傾き重み」を求める。例えば、最小角度θがあれば、「傾き重み」は1／｜ｃｏｓθ｜である。そのため、最小角度θが４５°であれば、傾き重みは約１．４１として求められる。
【０１２２】
重み算出部３９は、有力候補面描画部３７が描画した各有力候補面にそれぞれ含まれるすべての通過画素について、「傾き重み」をそれぞれ算出する。パラメータ空間記憶部４２は、重み算出部３９が求めた「傾き重み」を記憶する。
【０１２３】
個数計量部３１０は、「個数計量処理（ステップＳ１１１）」を実行し、各有力候補面上に位置する通過画素ごとに、傾き重みを合計する。パラメータ空間記憶部４２は、個数計量部３１０が求めた結果を記憶する。
【０１２４】
実在面判定部３１１は、「実在面判定処理（ステップＳ１１２）」により、重み算出部３９が算出した傾き重みを合計した値である「個数」が第２のしきい値よりも大きく、かつ、その個数が所定の近傍領域にて最大である有力候補面を、有力候補面描画部３７が描画した有力候補面のうちから実在面である有力候補面を識別する。
【０１２５】
なお、実在面判定部３１１は、実在面として識別した有力候補面に対して、交差点リスト４２１に登録されている「実在面ビットＢＲ」を「０」から「１」に変更する。実在面ビットＢＲは、交差点リスト４２１の生成時には、「０」に初期化されている。また、交差点リスト４２１の生成時には、実在面ビットＢＲを「１」に設定しておき、実在面と判定した際に「０」に変更してもよい。また、実在面ビットＢＲに設定する値は「０」または「１」に限らず、それ以外の任意の数値でもよい。個数が最大であるか否かを判別する際に用いる近傍領域の大きさは、しきい値記憶部４１が記憶している値を参照する。なお、実在面判定部３１１が、実在面を基準とする近傍領域において「個数」が最大となる他の通過点を探索することにより、複数の類似する実在面が集中的に検出されることを抑制できる。
【０１２６】
また、実在面判定部３１１は、パラメータ空間記憶部４２が記憶している交差点リスト４２１に登録されている各姿勢パラメータを、通信装置５を用いて、有線や無線のネットワークを介して外部の姿勢制御システム８００に送信する。
【０１２７】
画像記憶部４３は、「画像記憶処理」を実行し、面が描画された３次元画像や２値化画像を記憶する。ユーザ指定時に、ディスプレイやプロジェクタ、プリンタなどで表示してもよい。
（実施形態２）
次に、本発明の実施形態２について詳細に説明する。実施形態２の姿勢推定システム１は、図１に示した例と基本的に同一の構成を有する。ただし、実施形態２では、データ処理装置３ａの構成が異なる。以下、データ処理装置３ａについて説明する。
【０１２８】
図９に示すように、実施形態２のデータ処理装置３ａは、２値化部３１ａと、面パラメータ式表現部３２ａと、全候補面描画部３３ａと、通過判定部３４ａと、重み算出部３５ａと、個数計量部３６ａと、実在面判定部３７ａとを備えている。
【０１２９】
２値化部３１ａおよび面パラメータ式表現部３２ａが果たす機能は、実施形態１の対応する構成要素と同一である。
【０１３０】
全候補面描画部３３ａは、「前候補面描画処理」を実行し、画像上の面を表現する方程式のパラメータを軸としたパラメータ空間において、全てのパラメータの組み合わせについて、そのパラメータに従って画像上に平面や曲面を候補面として描画する。実施形態１の有力候補面描画部３７とは、特定のパラメータの組み合わせではなく、全てのパラメータについて平面や曲面を描画する点で異なる。ただし、その他の面を描画する方法などは、実施形態１の有力候補面描画部３７と同一である。
【０１３１】
通過判定部３４ａ、重み算出部３５ａ、個数計量部３６ａおよび実在面判定部３７ａの構成や機能は、実施形態１の対応する構成要素と同一である。ただし、実施形態２の通過判定部３４ａ、重み算出部３５ａ、個数計量部３６ａおよび実在面判定部３７ａは、全候補面描画部３３ａで描画された面を処理対象とする。
【０１３２】
実施形態１と実施形態２との間の差異は、データ処理装置３の計算量とデータ処理装置３ａの計算量とにおける差異である。
【０１３３】
離散化幅が小さい場合ほど、姿勢パラメータの組合せの数が大きくなる。そのため、実施形態２のデータ処理装置３ａの方が実施形態１よりも計算量が多くなる。反対に、離散化幅が大きいほど、データ処理装置３ａが算出すべき画像空間計算量の方が、データ処理装置３の計算量よりも少なくなる。
【０１３４】
また、２値化した後の候補領域ＣＲの３次元画像全体に対する割合が小さい場合には、実施形態１では、パラメータ空間が効率よく絞り込まれ計算量が小さくなる。一方、候補領域ＣＲの３次元画像全体に対する割合が大きい場合には、実施形態１では実施形態２では行っていない、パラメータ面の描画に関する計算が必要となる。そのため、実施形態１の方が計算量が大きくなるということが起こり得る。
（実施形態３）
つぎに、本発明の実施形態３について、詳細に説明する。図１０に示すように、実施形態３の姿勢推定システム１ａは、実施形態１、２と異なり、複数のデータ処理装置（第１データ処理装置３ｂ、第２データ処理装置３ｃ）を有している。また、処理を実行させるデータ処理装置を切替え、第１データ処理装置３ｂと第２データ処理装置３ｃとを選択的に動作させるデータ処理切替装置６を有する。
【０１３５】
第１データ処理装置３ｂは、図３に示した実施形態１のデータ処理装置３と同一の構成を有する。また、第２データ処理装置３ｃは、図９に示した実施形態２のデータ処理装置３ａと同一の構成を有する。
【０１３６】
上述したように、パラメータ空間の離散化幅や２値化画像の候補領域の比率に応じて、第１データ処理装置３ｂによる計算量と、第２データ処理装置３ｃによる計算量とのいずれが大きいかが定まる。
【０１３７】
そのため、データ処理切替装置６は、「データ処理切替処理」により、この計算量を比較して、第１データ処理装置３ｂまたは第２データ処理装置３ｃのうちで計算量の小さい方を、処理するデータ処理装置として選択する。なお、データ処理切替装置６は、第１データ処理装置３ｂが基準面である実在面を識別するための計算量である「パラメータ空間計算量」と、第２データ処理装置３ｃが実在面を識別するための計算量である「画像空間計算量」とを求める。そして、データ処理切替装置６は、パラメータ空間計算量と画像空間計算量との比較により、処理すべき計算量が少ない方のデータ処理装置に実在面の算出を実行させる。
【０１３８】
つぎに、データ処理切替装置６について詳細に説明する。図１１に示すように、データ処理切替装置６は、２値化部６１と、面パラメータ式表現部６２と、パラメータ算出計算量推定部６３と、パラメータ面描画計算量推定部６４と、交差点検出計算量推定部６５と、有力候補抽出計算量推定部６６と、有力候補面描画計算量推定部６７と、通過判定計算量推定部６８と、重み算出計算量推定部６９と、個数計量計算量推定部６１０と、実在面判定計算量推定部６１１と、全候補面描画計算量推定部６１２と、全通過判定計算量推定部６１３と、全重み算出計算量推定部６１４と、全個数計量計算量推定部６１５と、全実在面判定計算量推定部６１６と、手法選択部６１７とを有する。
【０１３９】
２値化部６１および面パラメータ式表現部６２は、図３に示した２値化部３１および面パラメータ式表現部３２と同一の構成をそれぞれ有するとともに、同一の機能をそれぞれ果たす。
【０１４０】
各構成要素６３〜６１１は、２値化部６１によって２値化された３次元画像内の候補領域ＣＲの比率と、パラメータ空間の各軸を離散化幅とに基づいて、第１データ処理装置３ｂの各構成要素が処理する「計算量」（計算コスト）を推定する。
【０１４１】
ここで、計算量（計算コスト）とは、データ処理装置３または３ａが、算出対象の値を求める際に実行する必要がある「演算処理の大きさを示す量」である。なお計算量の形態については限定しないが、例えば、演算処理の実行回数、算出対象の値が求まるまでの全演算処理に要する所要時間などである。
【０１４２】
パラメータ算出計算量推定部６３は、「パラメータ算出計算量推定処理」を実行し、パラメータ算出部３３の処理時の計算量を推定する。パラメータ算出計算量推定部６３は、例えば、３次元画像内の面を描画するための面パラメータ式、姿勢パラメータの範囲およびパラメータ空間の離散化幅に基づいて、候補領域ＣＲ内の１つの画素に対して、全ての平面や曲面を表現する面パラメータ式（方程式）を構成する姿勢パラメータの組合せを算出するときの演算回数を算出する。そして、算出した演算回数と、候補領域に含まれる画素の数とを乗算し、得られた値をパラメータ算出部３３が処理する計算量として推定し、「パラメータ算出計算量」とする。なお、面パラメータ式を構成する姿勢パラメータの組合せ算出時の演算回数とは、各画素について、面パラメータ式を構成する姿勢パラメータの組合せを求める際に、空間パラメータ上で、姿勢パラメータの組合せが変更される（書き換えられる）回数である。
【０１４３】
パラメータ面描画計算量推定部６４は、「パラメータ面描画計算量推定処理」を実行し、パラメータ面描画部３４の処理時の計算量を推定する。パラメータ面描画計算量推定部６４は、例えば、パラメータ算出計算量推定部６３の処理過程で得られた姿勢パラメータの組合せがパラメータ空間上で変更される回数と、姿勢パラメータの組合せを１つ変更（書換え）する場合に必要な演算回数とを乗算する。そして、乗算によって得られた値をパラメータ面描画部３４が処理する計算量と推定し、「パラメータ面描画計算量」とする。
【０１４４】
交差点検出計算量推定部６５は、「交差点検出計算量推定処理」を実行し、交差点検出部３５の処理時の計算量を推定する。交差点検出計算量推定部６５は、例えば、まず、候補領域の画素数をパラメータ面の数に設定し、設定したパラメータ面の数と１つの画素が有する面積とを乗算することにより、パラメータ面の平均的な面積を求める。そして、パラメータ面をランダムにパラメータ空間上に配置する場合に、パラメータ面同士が交差する交差点の数を推定する。交差点検出計算量推定部６５は、推定した交差点の数と、１つの交差点に関してパラメータ空間上の座標を求めるために必要な演算回数とを乗算し、得られた値を交差点検出部３５が処理する計算量と推定し、「交差点検出計算量」とする。
【０１４５】
有力候補抽出計算量推定部６６は、「有力候補抽出計算量推定処理」を実行し、有力候補抽出部３６の処理時の計算量を推定する。有力候補抽出計算量推定部６６は、例えば、交差点検出計算量推定部６５が求めた交差点の数と、１つの交差点に関する通過面数を読み出すために必要な演算回数と、１つの交差点に関して、通過面数と第１のしきい値とを比較する際に要する演算回数とを乗算する。そして、乗算により得られた値を有力候補抽出部３６が処理する計算量と推定し、「有力候補抽出計算量」とする。
【０１４６】
有力候補面描画計算量推定部６７は、「有力候補面描画計算量推定処理」を実行し、有力候補面描画部３７の処理時の計算量を推定する。有力候補面描画計算量推定部６７は、例えば、交差点検出計算量推定部６５が得た交差点の数と、各交差点における姿勢パラメータの値の平均値と、姿勢パラメータの値の分布とに基づいて、第１のしきい値よりも大きい有力候補として識別される姿勢パラメータの組合せの数を推定する。また、有力候補面描画計算量推定部６７は、３次元画像内の面を描画するための面パラメータ式に従って１つの有力候補面を描画する時の演算回数を推定する。そして、推定した有力候補面を描画するときの演算回数と、推定した有力候補として識別される姿勢パラメータの組合せの数とを乗算し、得られた値を有力候補面描画部３７が処理する計算量と推定し、「有力候補面描画計算量」とする。
【０１４７】
通過判定計算量推定部６８は、「通過判定計算量推定処理」を実行し、通過判定部３８の処理時の計算量を推定する。通過判定計算量推定部６８は、例えば、有力候補面描画計算量推定部６７が推定した有力候補として識別される姿勢パラメータの組合せの数（有力候補面の数）に基づいて、有力候補面を２値化画像上にランダムに配置した場合に、有力候補面が候補領域内の１つの画素を通過する回数を求める。そして、求めた画素を通過する回数と、１つの通過画素の座標を得るために要する演算回数とを乗算する。そして、得られた値を通過判定部３８が処理する計算量と推定し、「通過判定計算量」とする。
【０１４８】
重み算出計算量推定部６９は、「重み算出計算量推定処理」を実行し、重み算出部３９の処理時の計算量を推定する。重み算出計算量推定部６９は、例えば、面パラメータ式に従って１つの接平面を算出するための演算回数を推定する。そして、推定した接平面の算出時における演算回数と、接平面がｘｙ平面、ｙｚ平面およびｚｘ平面とそれぞれなす角度のうちから最小角度を求めるときの演算回数と、最小角度から傾き重みを算出するための演算回数とを加算する。さらに、加算により得られた値と、有力候補面の平均的な面積と、面の数とを乗算し、得られた値を重み算出部３９が処理する計算量と推定し、「重み算出計算量」とする。ここに、重み算出計算量推定部６９による有力候補面の平均的な面積の算出方法は限定しないが、例えば、交差点検出計算量推定部６５によるパラメータ面の平均面積の算出方法と同一の方法を適用すればよい。
【０１４９】
個数計量計算量推定部６１０は、「個数計量計算量推定処理」を実行し、個数計量部３１０の処理時の計算量を推定する。個数計量計算量推定部６１０は、例えば、重み算出計算量推定部６９が求めた有力候補面の平均的な面積と、有力候補面の数と、傾き重みを１回乗算するために必要な演算回数とを乗算する。そして、得られた値を個数計量部３１０が処理する計算量と推定し、「個数計量計算量」とする。
【０１５０】
実在面判定計算量推定部６１１は、「実在面判定計算量推定処理」を実行し、実在面判定部３１１の処理時の計算量を推定する。実在面判定計算量推定部６１１は、例えば、推定した有力候補面の個数と、１つの有力候補面に関して傾き重みの合計（個数）と第２のしきい値とを比較するために必要な演算回数と、所定の近傍領域にて個数が最大か否かを判別するために必要な計算量とを乗算する。そして、得られた値を実在面判定部３１１が処理する計算量と推定し、「実在面判定計算量」とする。
【０１５１】
また、各構成要素６１２〜６１６は、第２データ処理装置３ｃの各構成要素が処理する計算量（計算コスト）を推定する。
【０１５２】
全候補面描画計算量推定部６１２は、「全候補面描画計算量推定処理」を実行し、全候補面描画部３３ａの処理時の計算量を推定する。全候補面描画計算量推定部６１２は、例えば、３次元画像内の面を示す面パラメータ式から候補面を１つ描画するための演算回数を推定する。そして、推定した１つの候補面を描画するために必要な演算回数と、パラメータ空間における全ての姿勢パラメータの組合せの数とを乗算し、得られた値を全候補面描画部３３ａが処理する計算量と推定し、「全候補面描画計算量」とする。
【０１５３】
全通過判定計算量推定部６１３は、「全通過判定計算量推定処理」を実行し、通過判定部３４ａの処理時の計算量を推定する。全通過判定計算量推定部６１３は、通過判定計算量推定部６８と同一の処理により、「全通過判定計算量」を求める。
【０１５４】
全重み算出計算量推定部６１４は、「全重み算出計算量推定処理」を実行し、重み算出部３５ａの処理時の計算量を推定する。全重み算出計算量推定部６１４は、重み算出計算量推定部６９と同一の処理により、「全重み算出計算量」を求める。
【０１５５】
全個数計量計算量推定部６１５は、「全個数計量計算量推定処理」を実行し、個数計量部３６ａの処理時の計算量を推定する。全個数計量計算量推定部６１５は、個数計量計算量推定部６１０と同一の処理により、全個数計量計算量を求める。
【０１５６】
全実在面判定計算量推定部６１６は、「全実在面判定計算量推定処理」を実行し、実在面判定部３７ａの処理時の計算量を推定する。全実在面判定計算量推定部６１６は、実在面判定計算量推定部６１１と同一の処理により、全実在面判定計算量を求める。
【０１５７】
なお、第１データ処理装置３ｂにおいては、図３に示した有力候補面描画部３７、通過判定部３８、重み算出部３９、個数計量部３１０および実在面判定部３１１は、各処理を実行する前に、有力候補面の絞込を一旦実行する。そして、各構成要素３７〜３１１は、絞り込まれた有力候補面のみを３次元画像に描画して、処理を継続する。
【０１５８】
一方、第２データ処理装置３ｃにおいては、図８に示した全候補面描画部３３ａ、通過判定部３４ａ、重み算出部３５ａ、個数計量部３６ａ、実在面判定部３７ａは、有力候補面の絞込を実行しない。そのため、各構成要素３３ａ〜３７ａは、全てのパラメータの組合せについて、面を画像上に描画して、処理を継続する。なお、各構成要素３７〜３１１による処理と、各構成要素３３ａ〜３７ａによる処理との間の差異は、有力候補面の絞込の有無のみであり、計算方法については同一である。
【０１５９】
手法選択部６１７は、「パラメータ空間計算量」と「画像空間計算量」とを比較し、その比較結果に基づいて、第１データ処理装置３ｂまたは第２データ処理装置３ｃのうちから処理を実行させるデータ処理装置を選択する。
【０１６０】
ここに「パラメータ空間計算量」とは、パラメータ算出計算量と、パラメータ面描画計算量と、交差点検出計算量と、有力候補抽出計算量と、有力候補面描画計算量と、通過判定計算量と、重み算出計算量と、個数計量計算量と、実在面判定計算量との合計である。
【０１６１】
また、「画像空間計算量」とは、全候補面描画計算量と、全通過判定計算量と、全重み算出計算量と、全個数計量計算量と、全実在面判定計算量との合計である。
【０１６２】
手法選択部６１７は、パラメータ空間計算量が画像空間計算量よりも小さいと判別した場合、第１データ処理装置３ｂを選択する。また、画像空間計算量がパラメータ空間量よりも小さいと判別した場合、第２データ処理装置３ｃを選択する。パラメータ空間計算量と画像空間計算量とが等しいと判別した場合、手法選択部６１７は、あらかじめ定めたルールに従って、データ処理装置を選択する。
【０１６３】
なお、各構成要素が処理する計算量の推定時には確率的に面の配置などを決めており、計算量自体に所定の確率分布をもたせてもよい。例えば推定値に誤差を加えた表記をしてもよい。この場合、パラメータ空間計算量や画像空間計算量を求める際など確率分布を持った数値同士を演算する場合は誤差伝播を考慮して、演算後の数値にも分布を持たせてもよい。
（実施形態４）
次に、本発明の実施形態４について、詳細に説明する。図１２に示すように、実施形態４のデータ処理装置３ｄでは、実施形態１のデータ処理装置３が有する２値化部３１の前段（入力側）に設けられた「平滑化部３１２」を有している。この平滑化部３１２は、「平滑化処理」を実行し、３次元画像を平滑化するための処理を３次元画像に施す機能を有する。
【０１６４】
３次元画像の平滑化方法については、特に限定しない。例えば、重みが３次元ガウシアンとなっているマスクを３次元画像に畳み込む方法、局所領域内で平均をとる方法、局所領域内で中間値をとる方法、画素値の空間分布のモデルをあらかじめ設定し最小２乗フィッティングする方法などの一般的な平滑化方法を適用してもよい。この平滑化処理により、３次元画像に含まれているノイズ成分の影響を低減することができる。
【０１６５】
なお、平滑化部３１２は、実施形態１のデータ処理装置３が有する２値化部３１の前段に追加するに限らず、実施形態２または３が有する２値化部の直前に追加してもよい。
（実施形態５）
次に、本発明の実施形態５について、詳細に説明する。図１３に示すように、実施形態５のデータ処理装置３ｅは、実施形態１のデータ処理装置３が有する２値化部３１の後段（出力側）に設けられた「膨張収縮部３１３」を有する。
【０１６６】
膨張収縮部３１３は、外部から与えられた回数だけ、２値化画像の候補領域ＣＲを膨張させる「膨張処理」、または、候補領域ＣＲを収縮させる「収縮処理」である「膨張収縮処理」を実行する。
【０１６７】
３次元画像の膨張収縮処理は、２次元画像にて一般的に用いられる方法を３次元画像に適用したものである。例えば、「膨張処理」では、注目画素について３次元空間における６近傍のうち１つでも候補領域ＣＲの画素があれば注目画素を候補領域とする。また、例えば、「収縮処理」では、注目画素について６近傍のうち１つでも背景領域ＢＲに属する画素があれば注目画素を背景領域とする。膨張処理または収縮処理によりノイズを低減したり、途切れた面をある程度つなぐこともできる。
【０１６８】
膨張処理と収縮処理とを実行する順序は任意であり、互いの処理の実行順序を入れ替えてもよい。また、膨張と収縮とを、所定回数繰り返し実行してもよい。
【０１６９】
なお、膨張収縮部３１３は、実施形態１のデータ処理装置３が有する２値化部３１の後段に追加するに限らず、実施形態２、３または４が有する２値化部の直前に追加してもよい。
（実施形態６）
つぎに、本発明の実施形態６について、詳細に説明する。図１４に示すように、実施形態６のデータ処理装置３ｆは、実施形態１のデータ処理装置３が有する構成に加えて、「画像サイズ変更部３１４」と、「パラメータ微調整部３１５」とを有する。
【０１７０】
画像サイズ変更部３１４は、「画像サイズ変更処理」を実行し、任意の画像のサイズを縮小または拡大することにより、該画像のサイズを変更する。
【０１７１】
画像サイズ変更部３１４は、３次元画像を所定の縮小率に従って縮小することにより３次元画像の縮小画像を生成し、実在面判定部３１１は、その縮小画像に基づいて実在面を求める。
【０１７２】
さらに、画像サイズ変更部３１４は、実在面判定部３１１により一旦実在面が求まった後、元の3次元画像を一旦縮小した縮小画像（例えば、元の3次元画像の１／４倍の画像）を、元の3次元画像よりも小さなサイズであって、縮小画像（元の１／４倍の画像）よりも大きなサイズに変更することにより、新たな画像（例えば、元の3次元画像の１／２倍である画像）を生成する。
【０１７３】
パラメータ微調整部３１５は、一旦求まった実在面を新たに有力候補面とみなしパラメータ空間上の近傍で新たに実在面を求めるための「パラメータ微調整処理」を実行する。パラメータ微調整部３１５は、所定回数に達するまで、あるいは、所定の精度が得られるまで、画像サイズ変更部３１４による倍率の異なる画像サイズの変更（縮小）と、実在面判別部３１１による新たな実在面の識別と、を交互に繰り返し実行させる。
【０１７４】
実施形態６によれば、画像を順次高精細にすることにより、より低計算量の演算処理により、より高い精度で実在面を検出できる。
【０１７５】
つぎに、画像サイズ変更部３１４が３次元画像のサイズ（3次元画像の縮小率または拡大率）を段階的に順次変更する場合の詳細な動作を説明する。実在面判定部３１１が実在面を識別する前には、まず、２値化部３１に続いて、面パラメータ式表現部３２を参照したパラメータ算出部３３、パラメータ面描画部３４、交差点検出部３５、有力候補抽出部３６を経て有力候補面描画部３７およびそれ以降での処理が実施される。この一連の動作における、面パラメータ式表現部３２、パラメータ算出部３３、パラメータ面描画部３４、交差点検出部３５、有力候補抽出部３６の各処理により、ハフ変換によって全パラメータ空間から領域を絞込むための演算結果（所定の画像縮小率に対応する実在面）が得られる。
【０１７６】
なお、所定の縮小率で縮小された画像において、実在面を一旦求めてしまえば、その実在面を有力候補面として用い、その近傍で探索してパラメータを精密化することが可能になる。そのため、１回目の動作を繰り返し実行する２回目以降の動作では、各構成要素３２〜３６による処理は不要であり、２値化部３１の処理に続いて、有力候補面描画部３７の処理を実行する。
【０１７７】
なお、画像サイズ変更部３１４およびパラメータ微調整部３１５は、実施形態１のデータ処理装置３に追加するに限らず、実施形態２、３、４または５が有する構成に追加してもよい。
【０１７８】
そのため、以下では、実施形態２と基本的に同一の構成を有するデータ処理装置３ｇに、画像サイズ変更部３１４とパラメータ微調整部３１５とを追加した例について説明する。
【０１７９】
なお、図１５に示すように、データ処理装置３ｇは、図９に示した全候補面描画部３３ａに代えて、全候補面有力候補面描画部３１６を有する。
【０１８０】
全候補面有力候補面描画部３１６は、「全候補面有力候補面描画処理」を実行し、実在面の算出前に実行する１回目の動作では、パラメータ空間上のすべてのパラメータの組合せについて、有力候補面を３次元画像内に描画する。しかし、実在面が一旦求まった後には、次のサイズの縮小画像で実在面を求める際は、パラメータ空間において特定された実在面の近傍領域に含まれるパラメータの組合せに基づいて、実在面を描画する。
（実施形態７）
次に、本発明の実施形態７について、詳細に説明する。図１６に示すように、本発明の実施形態７のデータ処理装置３ｈは、実施形態１のデータ処理装置３が有する構成において、面パラメータ式表現部３２の後段（出力側）に設けられた「パラメータ空間粗視化部３１７」と、「パラメータ微調整部３１５」とを有する。
【０１８１】
パラメータ空間粗視化部３１７は、「パラメータ空間粗視化処理」を実行し、パラメータ空間の離散化幅を所定幅に変更（例えば、大きくする）することでパラメータ空間を粗くし、実在面を求める。パラメータ空間粗視化部３１７は、実在面を求めた後に、パラメータ空間をより密に離散化する。
【０１８２】
パラメータ微調整部３１５は、「パラメータ微調整処理」を実行し、パラメータ空間粗視化部３１７が離散化（細分化）したパラメータ空間で一旦求まった実在面を基準とする近傍領域にて新たな実在面を求める。パラメータ微調整部３１５は、離散化幅が異なるパラメータ空間での新たな実在面の導出を、「所定の処理回数」に達するまで、または、離散化幅が所定値に達するまで、新たな実在面の算出を繰り返し実行する。
【０１８３】
実施形態７によれば、パラメータ空間を順次高精細にすることにより、より高い精度でより低計算量で面を抽出することができる。
【０１８４】
ここでパラメータ空間の離散化幅を繰り返し段階的に小さくしていく場合の詳細な動作を説明する。１回目の動作では、面パラメータ式表現部３２の処理後、パラメータ空間粗視化部３１７が、パラメータ空間の離散化幅を変更する。その後、各構成要素３２〜３６による処理が実行される。１回目の動作における各構成要素３２〜３６の動作は、ハフ変換によって全パラメータ空間から領域を絞込むために行われる。
【０１８５】
そのため、２回目以降の動作では、パラメータ空間粗視化部３１７の処理に続いて、有力候補面描画部３７による処理が実行される。一旦あるパラメータ空間の離散化幅で実在面が得られたら、それをそのまま有力候補面としてその近傍で探索してパラメータを精密化する。
【０１８６】
なお、パラメータ空間粗視化部３１７およびパラメータ微調整部３１５は、実施形態１のデータ処理装置３に追加するに限らず、実施形態２〜６が有する構成に追加してもよい。
【０１８７】
そのため、以下では、実施形態２と基本的に同一の構成を有するデータ処理装置３ｉに、パラメータ空間粗視化部３１７とパラメータ微調整部３１５とを追加した例について説明する。
【０１８８】
図１７に示すように、データ処理装置３ｉは、パラメータ空間粗視化部３１７とパラメータ微調整部３１５とを有する。なお、データ処理装置３ｉは、図９に示した全候補面描画部３３ａに代えて、全候補面有力候補面描画部３１６を有する。全候補面有力候補面描画部３１６は、実在面の算出前に実行される１回目の動作では、パラメータ空間上のすべてのパラメータの組み合わせについて面を３次元画像内に描画する。しかし、実在面が一旦算出された後に実行される２回目以後の動作では、サイズの縮小画像で実在面を求める際に、パラメータ空間にて算出された実在面を基準とする近傍領域で、パラメータの組合せに基づいて、実在面を描画する。
（実施形態８）
つぎに、本発明の実施形態８について、詳細に説明する。図１８に示すように、実施形態８のデータ処理装置３ｊは、図３に示したパラメータ面描画部３４に代えて、「画素値重み付パラメータ面描画部３１８」を有するとともに、図３に示した有力候補抽出部３６に代えて、「画素値重み付有力候補抽出部３１９」を有する。さらに、データ処理装置は、図３に示した重み算出部３９に代えて、「画素値重み付重み算出部３２０」を有する。
【０１８９】
画素値重み付パラメータ面描画部３１８は、パラメータ空間上にパラメータ面を描画する際、２値化前の３次元画像の画素値に基づいた重みを算出して「画素値重み」を求める。なお、「画素値重み」の適用により、3次元画像に明瞭に写り込んでいるが面積の小さい実在面を検出可能になる。
【０１９０】
「画素値重み」としては、例えば、画素値をそのまま用いてもよく、画素値を対数変換して得られた値、画素値を所定の関数で変換して得られた値などを用いてもよい。すなわち、画素値重み付パラメータ面描画部３１８は、パラメータ算出部３３が算出した姿勢パラメータの組合せと、２値化部３１が２値化する前の画像の画素値に基づいて算出した値との乗算により求めた画素値重み付パラメータに基づいて、面パラメータ式に従ったパラメータ面を描画する。
【０１９１】
画素値重み付有力候補抽出部３１９は、交差点において、パラメータ面同士が交差する通過面数と画素値重みとの合計が所定値よりも大きな通過点座標で、かつ、その通過点座標を基準とする近傍領域にて通過面数が最大であるときに、その通過点座標におけるパラメータの組合せを、検出対象となる基準面を形成するパラメータの組合せの有力候補として識別する。
【０１９２】
画素値重み付重み算出部３２０は、通過判定部３８が求めた通過画素における接平面と、前記パラメータ空間が有する各軸同士がそれぞれ形成する面とが成す角度に基づいて、通過判定部３８が識別した通過画素ごとに傾き重みを求め、該求めた「傾き重み」と、２値化部３１による２値化処理前の３次元画像の画素値に基づいて算出した「画素値重み」とを乗算し、新たな傾き重みである「画素値重み付傾き重み」を求める。
【０１９３】
なお、画素値重みを考慮した各構成要素３１８〜３２０は、実施形態１のデータ処理装置３に追加するに限らず、実施形態２〜７が有する構成に追加してもよい。
【０１９４】
実施形態２のデータ処理装置３ａに追加する場合、図１９に示すデータ処理装置３ｋのように、図９に示した重み算出部３５ａに代えて、画素値重み付重み算出部３２０を設けるようにすればよい。
【０１９５】
また、実施形態３にて各構成要素３１８〜３２０を適用する場合、図１８に示したデータ処理装置３ｊを第１データ処理装置として適用し、図１９に示したデータ処理装置３ｋを第２データ処理装置として適用する。
【０１９６】
このとき、図２０に示すように、データ処理切替装置６ａは、図１１に示したパラメータ面描画計算量推定部６４に代えて、「画素値重み付パラメータ面描画計算量推定部６１８」を有する。また、データ処理切替装置６ａは、図１１に示した有力候補抽出計算量推定部６６に代えて、「画素値重み付有力候補抽出計算量推定部６１９」を有する。また、データ処理切替装置６ａは、図１１に示した重み算出計算量推定部６９に代えて、「画素値重み付重み算出計算量推定部６２０」を有する。また、データ処理切替装置６ａは、図１１に示した全重み算出計算量推定部６１４に代えて、「全画素値重み付重み算出計算量推定部６２１」を有する。
【０１９７】
各構成要素６１８〜６２１により、画素値重みを考慮した計算量を推定することが可能となり、推定した計算量に基づいて、データ処理切替装置６ａは、計算量が少ない方の第１データ処理装置３ｊまたは第２データ処理装置３ｋを、選択的に動作させる。
（実施形態９）
つぎに、本発明の実施形態９について、詳細に説明する。図２１に示すように、実施形態９のデータ処理装置３ｌは、図３に示したデータ処理装置３の構成に加え、「位置関係推定部３２１」と、「姿勢意味付部３２２」とを有する。
【０１９８】
位置関係推定部３２１は、「位置関係推定処理」を実行し、外部データ入力部２１が入力した３次元画像に複数の実在面が写り込んでいる場合、各実在面の位置関係を推定する。例えば、２つの実在面が写り込んでいる場合に、２つの実在面のうちで上方に位置する実在面を推定する。また、位置関係推定部３２１は、実在面を、その実在面に実際に対応する物理的実体（地面、海面、海底面など）に対応付けることで、同定する。
【０１９９】
なお、外部の画像取得装置７００が取得した３次元画像に複数の実在面が写り込んでいる場合とは、例えば、海中でソナーを用いて３次元画像を撮像したときに、海面と海底に相当する面との２つが写り込んでいる場合である。
【０２００】
位置関係推定部３２１は、「位置関係推定処理」を実行し、これまでの姿勢や位置や速度などの履歴を保持する。そして、保持している各履歴と、外部センサにより得られる情報（地磁気、気圧、温度、水圧、重力など）とに基づいて、3次元画像に写り込んだ各実在面の相対的な位置関係を推定する。
【０２０１】
姿勢意味付部３２２は、「姿勢意味付処理」を実行し、姿勢パラメータと、基準面とを対応付けることにより、基準面に対する姿勢推定対象の姿勢を定める処理である「意味付」を実行する。
【０２０２】
例えば、姿勢意味付部３２２は、海面と海底との位置関係に基づいて、海面である面と、海底である面とを分別し、各面に対する姿勢パラメータ（例えば、海面に対する姿勢パラメータ、海底に対する姿勢パラメータなど）を分別する。これにより、姿勢パラメータの意味付が行われる。この「意味付」は、それぞれの姿勢パラメータが、どのような基準面と対応付けられているかを意味するものである。また、例えば、姿勢意味付部３２２は、面の形状や表面の画素値の分布に基づいて面を分別し、分別した各面に対する姿勢パラメータの意味付を行う。また、例えば、姿勢意味付部３２２は、位置関係および面の形状や表面の画素値の分布に基づいて画像に写り込んだ面を分別し、分別した各面に対する姿勢パラメータの意味付を行う。なお、姿勢意味付部３２２は、意味付けた姿勢パラメータを、通信装置５を介して姿勢制御システム８００に出力する。
【０２０３】
位置関係推定部３２１と姿勢意味付部３２２によって、どの基準面を対象として求めた姿勢パラメータであるかが明確になり、飛翔体や航走体の姿勢をより正確に制御することが可能となる。
【０２０４】
なお、位置関係推定部３２１および姿勢意味付部３２２は、実施形態１のデータ処理装置３に追加するに限らず、実施形態２〜８が有する構成に追加してもよい。
【０２０５】
以上説明したように、本発明の姿勢推定システム１によれば、以下の効果を奏する。
【０２０６】
第１の効果として、ノイズが多い３次元画像においても、高い精度で姿勢パラメータの基準となる面を検出でき、その結果、高い精度で姿勢を推定できる。これは、３次元空間内で面を構成する全画素を使うため、ノイズ成分の影響が軽減されるためである。
【０２０７】
第２の効果として、単純な方法により姿勢パラメータの基準となる面を検出できる。そのため、精度を上げた場合の処理時間を短縮することが可能になる。これは、面を構成する直線または面の一部である複数の部分的な面（パッチ）などを算出することなく、直接、面全体を算出するためである。
【０２０８】
第３の効果として、姿勢パラメータのうち、角度で示されるものについてはその値によらず一様な精度で推定でき、かつ、精度を容易に指定できる。これは、姿勢パラメータをそのままハフ変換のパラメータとして入力できるように、面を記述する式を構成したためである。
【０２０９】
第４の効果として、面の検出精度を３次元画像上で均一にできる。これは、パラメータ毎に対応する面を３次元画像内に描画するため、パラメータ空間でのパラメータの組に対し３次元画像での面が１つだけ特定されるためである。また、これを単に３次元画像内に面を描画するという簡単な処理だけで実現するということ、その描画する面についても、しきい値以上のものであり、近傍内に他に自身より回数や個数を上回るものとすることにより、個数を制限しているということから、計算負荷の増大を抑えることができる。
【０２１０】
第５の効果として、平面に限らず曲面においても、検出精度が３次元画像上で均一にできる。これは、パラメータ空間でのパラメータの組と３次元画像内の面とを１対１に対応させるためには単純にパラメータに従って面を描画するという処理のみである。パラメータで記述されている場合、面の検出精度は、その面の形状に依存しないためである。
【０２１１】
第６の効果として、面の向きに関わらず検出精度を固定できる。これは、検出対象の面の接平面のｘｙ平面、ｙｚ平面、ｚｘ平面に対する傾きに応じて、パラメータ空間で数え上げたパラメータ面の重なり数を、３次元画像内でユークリッド距離に基づいて面の面積を測った場合の値に調整するためである。
【０２１２】
第７の効果として、２値化後の候補領域の画像全体に対する比率が高い場合でも、計算量の増大を抑制できる。これは、ハフ変換せずに最初から逆ハフ変換して検出すべき面を構成するパラメータの組を見出す構成において、面検出処理の実行開始前に、各手法による計算量を推測結果に基づいてハフ変換するか否かを判別するためである。
【０２１３】
なお、本発明においては、姿勢推定システム１内の処理は上述の専用のハードウェアにより実現されるもの以外に、その機能を実現するためのプログラムを姿勢推定システム１にて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムを姿勢推定システム１に読み込ませ、実行するものであってもよい。姿勢推定システム１にて読取可能な記録媒体とは、フロッピーディスク（登録商標）、光磁気ディスク、ＤＶＤ、ＣＤなどの移設可能な記録媒体の他、姿勢推定システム１に内蔵されたＨＤＤ等を指す。この記録媒体に記録されたプログラムは、例えば、姿勢推定システム１が有するデータ処理装置３にて読み込まれ、データ処理装置３の制御によって、上述したものと同様の処理が行われる。
【０２１４】
ここで、姿勢推定システム１が有するデータ処理装置３は、プログラムが記録された記録媒体から読み込まれたプログラムを実行するコンピュータとして動作するものである。
【図面の簡単な説明】
【０２１５】
【図１】本発明の実施形態１に従った姿勢推定システムの構成を示す図である。
【図２】図１に示した入力装置の構成を示す図である。
【図３】図１に示したデータ処理装置の構成を示す図である。
【図４】図１に示した記憶装置の構成を示す図である。
【図５】図４に示した交差点リストのデータ構造の一例を示す図である。
【図６】実在面を識別する動作を示すフローチャートである。
【図７】基準となる平面に対する飛翔体や航走体の姿勢や位置関係の例を示す図である。
【図８】基準となる球面に対する飛翔体や航走体の姿勢や位置関係の例を示す図である。
【図９】実施形態２におけるデータ処理装置の構成を示す図である。
【図１０】実施形態３に従った姿勢推定システムの構成を示す図である。
【図１１】図１０に示したデータ処理切替装置の構成を示す図である。
【図１２】実施形態４におけるデータ処理装置の構成の一例を示す図である。
【図１３】実施形態５におけるデータ処理装置の構成の一例を示す図である。
【図１４】実施形態６におけるデータ処理装置の構成の第１の例を示す図である。
【図１５】実施形態６におけるデータ処理装置の構成の第２の例を示す図である。
【図１６】実施形態７におけるデータ処理装置の構成の第１の例を示す図である。
【図１７】実施形態７におけるデータ処理装置の構成の第２の例を示す図である。
【図１８】実施形態８におけるデータ処理装置の構成の第１の例を示す図である。
【図１９】実施形態８におけるデータ処理装置の構成の第２の例を示す図である。
【図２０】実施形態８におけるデータ処理切替装置の構成の一例を示す図である。
【図２１】実施形態９におけるデータ処理装置の構成を示す図である。
【図２２】ハフ変換を説明するための平面上の直線の例を示す図である。
【図２３】直線上の点を検出した場合、パラメータ空間で得られるパラメータ線の例を示す図である。
【図２４】（ａ）は、検出対象の各線上において、各線上に位置する３つの点が検出された第１の例を示す図である。（ｂ）は、各点に対応するパラメータ線が異なる座標上で交差する一例を示す図である。
【図２５】（ａ）は、検出対象の各線上において、各線上に位置する３つの点が検出された第２の例を示す図である。（ｂ）は、各点に対応するパラメータ線が同一の座標で交差する一例を示す図である。
【図２６】（ａ）直線状に配置された画素列の第１の例を示す図である。（ｂ）直線状に配置された画素列の第２の例を示す図である。
【図２７】平面の面積がｚｘ平面に投影した面積と同じになる例を示す図である。
【符号の説明】
【０２１６】
１、１ａ  姿勢推定システム
２  入力装置
３、３ａ、３ｄ、３ｅ、３ｆ、３ｇ、３ｈ、３ｉ、３ｊ、３ｋ、３ｌ  データ処理装置
３ｂ  第１データ処理装置
３ｃ  第２データ処理装置
４  記憶装置
５  通信装置
６、６ａ  データ処理切替装置
７００  画像取得装置
８００  姿勢制御システム
２１  外部データ入力部
２２  文字入力部
３１、３１ａ、６１  ２値化部
３２、３２ａ、６２  面パラメータ式表現部
３３  パラメータ算出部
３３ａ  全候補面描画部
３４  パラメータ面描画部
３５  交差点検出部
３６  有力候補抽出部
３７  有力候補面描画部
３８、３４ａ  通過判定部
３９、３５ａ  重み算出部
３１０、３６ａ  個数計量部
３１１、３７ａ  実在面判定部
３１２  平滑化部
３１３  膨張収縮部
３１４  画像サイズ変更部
３１５  パラメータ微調整部
３１６  全候補面有力候補面描画部
３１７  パラメータ空間粗視化部
３１８  画素値重み付パラメータ面描画部
３１９  画素値重み付有力候補抽出部
３２０  画素値重み付重み算出部
３２１  位置関係推定部
３２２  姿勢意味付部
４１  しきい値記憶部
４２  パラメータ空間記憶部
４３  画像記憶部
４２１  交差点リスト
４２２  通過画素リスト
６３  パラメータ算出計算量推定部
６４  パラメータ面描画計算量推定部
６５  交差点検出計算量推定部
６６  有力候補抽出計算量推定部
６７  有力候補面描画計算量推定部
６８  通過判定計算量推定部
６９  重み算出計算量推定部
６１０  個数計量計算量推定部
６１１  実在面判定計算量推定部
６１２  全候補面描画計算量推定部
６１３  全通過判定計算量推定部
６１４  全重み算出計算量推定部
６１５  全個数計量計算量推定部
６１６  全実在面判定計算量推定部
６１７  手法選択部
６１８  画素値重み付パラメータ面描画計算量推定部
６１９  画素値重み付有力候補抽出計算量推定部
６２０  画素値重み付重み算出計算量推定部
６２１  全画素値重み付重み算出計算量推定部
【図１】
0005181704.tif 000010
【図２】
0005181704.tif 000011
【図３】
0005181704.tif 000012
【図４】
0005181704.tif 000013
【図５】
0005181704.tif 000014
【図６】
0005181704.tif 000015
【図７】
0005181704.tif 000016
【図８】
0005181704.tif 000017
【図９】
0005181704.tif 000018
【図１０】
0005181704.tif 000019
【図１１】
0005181704.tif 000020
【図１２】
0005181704.tif 000021
【図１３】
0005181704.tif 000022
【図１４】
0005181704.tif 000023
【図１５】
0005181704.tif 000024
【図１６】
0005181704.tif 000025
【図１７】
0005181704.tif 000026
【図１８】
0005181704.tif 000027
【図１９】
0005181704.tif 000028
【図２０】
0005181704.tif 000029
【図２１】
0005181704.tif 000030
【図２２】
0005181704.tif 000031
【図２３】
0005181704.tif 000032
【図２４】
0005181704.tif 000033
【図２５】
0005181704.tif 000034
【図２６】
0005181704.tif 000035
【図２７】
0005181704.tif 000036