JP2009186364A - データ処理装置、姿勢推定システム、姿勢推定方法およびプログラム - Google Patents

データ処理装置、姿勢推定システム、姿勢推定方法およびプログラム Download PDF

Info

Publication number
JP2009186364A
JP2009186364A JP2008027710A JP2008027710A JP2009186364A JP 2009186364 A JP2009186364 A JP 2009186364A JP 2008027710 A JP2008027710 A JP 2008027710A JP 2008027710 A JP2008027710 A JP 2008027710A JP 2009186364 A JP2009186364 A JP 2009186364A
Authority
JP
Japan
Prior art keywords
parameter
candidate
posture
calculation amount
passing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008027710A
Other languages
English (en)
Other versions
JP5181704B2 (ja
Inventor
Hisashi Shiba
尚志 斯波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2008027710A priority Critical patent/JP5181704B2/ja
Priority to US12/367,178 priority patent/US8401295B2/en
Publication of JP2009186364A publication Critical patent/JP2009186364A/ja
Priority to US13/754,084 priority patent/US8639035B2/en
Priority to US13/753,702 priority patent/US8675967B2/en
Priority to US13/753,672 priority patent/US8625903B2/en
Application granted granted Critical
Publication of JP5181704B2 publication Critical patent/JP5181704B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/48Extraction of image or video features by mapping characteristic values of the pattern into a parameter space, e.g. Hough transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)

Abstract

【課題】姿勢パラメータの基準となる面を、正確かつ容易に検出する。
【解決手段】データ処理装置3は、入力装置2が入力した3次元画像を2値化し、2値化画像から姿勢パラメータを抽出する。また、基準面を表現する数式である面パラメータ式に従ったパラメータ面の通過面数が最大である姿勢パラメータの組合せを有力候補として識別する。そして、各有力候補面上の画素および所定範囲内にある画素を、通過画素として識別し、通過画素における接平面とパラメータ空間の各軸同士が形成する面とが成す角度とに基づいて識別した通過画素ごとに、傾き重みを求める。傾き重みを合計した値である個数が最大である有力候補面を、画像に実在する基準面である実在面として識別する。
【選択図】図1

Description

本発明は、装置の姿勢を推定するデータ処理装置、姿勢推定システム、姿勢推定方法およびプログラムに関する。
地面や海水面、海水底等の特定の座標系で、空中や宇宙を飛行する飛翔体や水中を航行する航走体の姿勢を示すパラメータであるピッチ、ロール、ヨーを測定する方法、および、地面や海水面、海水底からの高度、海水面からの深度を測定する方法は、姿勢測定センサを用いた測定方法などを含め、数多く存在する。近年利用が拡大しつつある小型の無人飛翔体・航走体では、特に航行や調査のために、姿勢測定センサ以外にも各種のセンサが搭載される傾向にある。とりわけ、カメラ、レーダ、ソナーなどを搭載し画像を取得する需要が高まりつつある。これら画像を取得することを本来的な目的とするセンサを「画像センサ」と呼ぶことにする。
しかしながら、搭載するセンサの種類が多いほど、飛翔体や航走体のシステム(上述のパラメータ測定用のシステムを含む)の構成が複雑になる。そのため、飛翔体や航走体のシステムの設計・製造や保守に時間や手間がかかるとともに、不具合が発生する頻度が増大するおそれがある。また、飛翔体や航走体のシステムが、大きくなり重くなるとともに、消費電力も増大する。可用性の面からも、サイズや省エネルギーの面からも、飛翔体や航走体のシステムに搭載するセンサの種類を減らすことが好ましい。
ところで、飛翔体・航走体の画像取得を目的とする場合には、画像センサは必須の構成要素となる。一方、安全かつ精密な航行を行う上では、飛翔体・航走体の姿勢測定用のセンサも必須の構成要素である。とはいえ、画像の取得を主目的とする画像センサで姿勢測定センサを代替できれば姿勢測定センサを省略することができ、小型化および軽量化に有効と考えられる。また、広く使われている慣性を利用した姿勢測定センサは振動があると精度が大きく落ちる場合があるが、画像センサにより姿勢を測定できるのであればこの問題点も回避可能となる。
また、取得した画像に基づいて、その画像に写り込んだ飛翔体・航走体の姿勢を推定する方法として、既知の地形や標識の見え方から推定する各種の技術が提案されている。しかしながら、砂漠や氷原の上、雲や霧の中、水中など地形や標識が見えづらい場所、標識も精密な地形図もない場所、災害などで標識がなくなったり地形が大きく変わった場所などでは、この技術を適用することはできない。このような状況下でも、地面や海水面という基本的な情報を基準として姿勢パラメータが求まると非常に有効である。
ただし、地表のようにほぼ平面な面や球面など対称性が高い面が基準の場合、面の見え方に基づいてヨーを求めることは難しい。しかし、他の主要な姿勢パラメータである高度や深度、ピッチ、ロールを求めることができる。なお、姿勢制御において、地表や海底に激突を避ける、海面から飛び出さないといった最低限の制御ができればよいという場合には、必ずしもヨーを求める必要はない。
さて、地表や海水面、海底など平面の位置は平面上の3点の位置がわかれば一意に求まる。カメラでは例えばレーザを照射することにより、レーザとカメラの位置関係から三角測量の原理により平面上の点の座標を知ることができる。ところが夜間や悪天候などノイズが多い状況では3点だけでは精度が足りないことがある。また、レーダやソナーでは地表や海面、海底などからの反射はノイズが大きく、できるだけ多くの地点のデータを組み合わせるほうが高い精度が得られる。例えばレーダでは地表全体の反射を利用したり、ソナーでは海水面全体の反射を利用して平面を同定することが好ましい。
数多くの点からその点が構成する面を求める方法として、まず、最小二乗法により平面を当てはめる方法が考えられる。しかし、この方法では、平均から大きく外れた値に引き寄せられる傾向がある。また、浅海域のように海面と海底とが同時に見えて各々の残響が混ざり合う場合は正しくフィッティングできない。
ノイズが多い状況でも平面が求まる手法として、3次元のハフ変換を利用する方法が提案されている。以下では、理解を容易にするため、2次元画像に関してハフ変換により直線や曲線を求める例として、ノイズが多い2次元画像に対するハフ変換により直線や曲線を求める場合を例に挙げて説明する。
ハフ変換では、まず画像(この説明例では、2次元画像)を2値化する。つぎに、2値化した画像を、直線あるいは曲線が存在するものと予測される領域である「候補領域」と、存在しないと予測される領域である「背景領域」とに分割する。続いて、検出したい線を表現する方程式の係数をパラメータとして、候補領域に含まれる各点において、その点を通り得る全ての線について、パラメータの組合せすべてを求める。このパラメータを軸としたパラメータ空間においてパラメータの組合せすべてをプロットすることにより、直線や曲線(以下、「パラメータ線」という)が求められる。候補領域の点毎にパラメータ線を描き、複数のパラメータ線が多く重なる点が、検出すべき線のパラメータの組み合わせとなる。
画像処理の分野で広く使用されている直線検出の場合を例に挙げて、説明する。なお、以下の説明例では、図22に示すように、画像上の直線について、原点から直線上の任意の点(x,y)までの距離ρを、点(x,y)と、原点を始点に有し、かつ、点(x,y)を終点に有するベクトルがx軸に対して成す角度θ
とを用いて、ρ=x cosθ+y sinθと表現する。
画像上の候補領域に位置する点(xi,yi)を通り得る直線は無数存在するが、上述の角度θと距離ρとを軸とするパラメータ空間(θ−ρ平面)では、この無数の直線は1本のパラメータ線となり、ρ=xicosθ+yisinθという曲線で表現される。例えば、図23に示すように、1つの直線上に位置する点A、B、Cが候補領域のうちに存在する状態を考える。この状態にて、各点A、B、Cに対応するパラメータ線を検出する場合、3つのパラメータ線が重なる点(ρ0,θ0)が、検出すべき直線上に位置するパラメータとなる。また、検出すべき直線は、上述した関係式を適用し、距離ρ0および角度θ0を用いて、ρ0=xcosθ0+y sinθ0で表される。
この方法を3次元に適用することにより、平面を検出する各種の技術が提案されている(例えば、特許文献1、2、3および4参照。)。
特開平7−271978号公報 特開平9−81755号公報 特開平10−96607号公報 特開2003−271975号公報
しかし、特許文献1、2および3に記載された技術では、平面上の直線を一旦求めてから、その直線を束ねて平面を求める。そのため、平面を求めるための処理が複雑になるというという第1の問題点がある。また、直線は平面よりも拘束条件が弱い。そのため、ノイズ成分が多数含まれている場合には、ノイズ成分に強く影響された直線が多数検出され、処理効率が低下するおそれがある。
また、特許文献4に記載された技術では、3点が形成する面を一旦複数求めて投票する。この場合にも、面を求めるための処理が複雑になるというという第2の問題点がある。ノイズ成分が多数含まれている場合には、より多くの点を相互に組合わせて平面を求めることが好ましい。この場合、特許文献4に記載された技術では、処理量が著しく増大するおそれがある。
また、一般的な技術には共通する問題点として、平面が求められた場合でも、求めた平面を表すための関係式に含まれるパラメータと、姿勢推定対象に関する姿勢パラメータ(例えば、深度、高度、ピッチ、ロールなど)との変換が非線形なため、姿勢パラメータの精度をあらかじめ指定できないという第3の問題点がある。つまり、ハフ変換のパラメータ空間において、平面を記述する方程式のパラメータに対する精度(離散化幅)をそれぞれ同一に設定した場合でも、各姿勢パラメータに対する精度は同一には定まらず、姿勢パラメータが有する値に応じて精度が異なってしまうということである。例えば、面上に位置する点のz方向の座標zを示す関係式がz=ax+by+cで表現される場合において、面のx方向に対する傾きaをハフ変換のパラメータに用いると、角度であるピッチ、ロールと、長さである高度とは非線形な関係になる。そのため、傾きaを一定の区切で設定した上でハフ変換を施した場合でも、姿勢パラメータ上は一定の区切とならない。
また、ハフ変換では、ノイズ成分による偽の面を、検出するべき面である「真の面」として誤って識別する可能性が、3次元画像内の座標に応じて変化(増大または減少)するおそれがあるという第4の問題点がある。ノイズ成分による偽の面を「真の面」として誤って識別する可能性が3次元画像内の座標に応じて変化する理由は、本来は別の面に属する3次元画像内の近くにある画素の集団が、3次元画像内の位置によっては同じパラメータを持つと認識されることにより検出される画素数が増大し、増大した画素数が、別の座標に位置する真の面に所属する画素群の合計検出数よりも大きくなる場合があるためである。このような現象についての理解を容易にするため、2次元画像に対してハフ変換を施す場合を例に挙げて説明する。
ここでは平面上の直線をハフ変換で検出する場合を例に挙げて考察する。例えば、点(x0,y0)を通る直線ρ=x0 cosθ+y0 sinθで表されるものとする。この場合、点(x0,y0)の近傍に位置する(x0+(x,y0+(y)を通る直線はρ+(ρ=(x0+(x)cos(θ+(θ)+(y0+(y)sin(θ+(θ)で表わされる。さらに、この直線を示す関係式に対して、(x、(y、(θに関する展開および2次以上の項を無視する近似を適用すると、(ρ≒((x+y0(θ)cosθ+((y−x0(θ)sinθで表される。これは、(x、(y、(θを固定値とした場合でも、画像上の位置を示す点(x0,y0)が異なる場合には、それに伴って(ρも異なることを意味する。
この問題について、具体例により説明する。図24(a)に示すように、検出すべき線が線αと線βの2本存在し、線α上で点Aが検出され、線β上で点B、点Cが検出された場合を例に挙げて説明する。なお、図24(b)に示すように、各点A、B、Cにそれぞれ対応するパラメータ空間上のパラメータ線は、異なる座標上で互いに交差するものとする。
一方、図25(a)に示す例では、検出対象は線α´と線β´との2本の線であり、線α´上にて点A´が検出され、線β´上で点B´、点C´が検出されたものとする。なお、図25(a)に示した各点A´、B´、C´間における相互の相対位置は、図24(a)に示した各点A、B、C間における相互の相対位置と同一であるものとする。この場合、図25(b)に示すように、点A´に対応するパラメータ線と点B´に対応するパラメータ線と点C´に対応するパラメータ線とは、同一の座標上で互いに交差する。すなわち、第4の問題点は、検出した各点の位置が異なる場合、各点に対応するパラメータ線が交差する形態が異なることを示している。2次元画像上の直線については、このような第4の問題点を回避する方法が提案されているが、3次元画像における面検出については第4の問題点を回避する方法は提案されていない。
また、ノイズ成分による偽の面を「真の面」であるとして誤って識別する可能性が、3次元画像内の座標に応じて変化(増減)する問題は、3次元画像内の平面を検出する場合に限らず、3次元画像内の一般的な曲面を検出する場合においても発生するおそれがあるという第5の問題点がある。
また、画像に含まれる画素数をカウントすることにより面積を算出する一般的な面積算出方法では、同一の面を姿勢推定対象から見た場合でも、その見る角度が変化した際に、その面が有する面積が異なって算出される。そのため、見る角度が変化した後の「真の面」が有する面積が、ノイズ成分による「偽の面」を判別するためのしきい値よりも小さくなる場合がある。この場合、「真の面」とノイズ成分による「偽の面」とを分別できず、角度の変化後に「真の面」を検出できないおそれがあるという第6の問題点がある。パラメータ空間上においてパラメータ面が重複する回数を示す「重複回数(後述する通過面数)」を数えることは、離散化したパラメータ空間にて、画像上で検出された各面にそれぞれ属する画素の個数を数えることに相当する。しかし、面を画素で数える場合、その面積は、この面をxy平面かyz平面かzx平面に投影した内の最も大きなものの面積と等しくなってしまう。ここでは、理解を容易にするため、2次元のハフ変換の場合で考察する。ここではまず3次元上の面の面積より簡単な平面上の直線の長さであって、長さ8画素の直線を例に挙げて説明する。
図26(a)に示す画素列が形成する直線と、図26(b)に示す画素列が形成する直線とは、横方向に並べた画素の長さを基準とした場合、同一の長さ(8画素分の長さ)を有する。しかし、図26(a)に示す直線は、ユークリッド距離に基づいて測定した長さでは、約11.3画素分の長さを有する。
また、3次元画像内の面を例に挙げて、第5の問題点について説明する。図27に示す例は、zx平面に対して角度θだけ傾いた平面Aと、zx平面に対して成す角度が「0」である平面Bとを比較したものである。なお、この例では、各平面A、Bはともに、長方形の各辺により境界が設定された領域を有するものとする。面の面積を測るということは画素数を測ることであり、角度θ傾いた面Aをzx平面に投影すると平面Bと一致する場合、平面Aの面積は平面Bの面積と同一であるとして識別されてしまう。しかし、ユークリッド距離により測定した縦方向の長さおよび横方向の長さに基づいて、平面Aが有する面積を算出した場合、平面Aの面積は平面Bの面積よりも大きくなる。このような後者の面積測定方法を適用することは、利用者の視認上の観点からも、物理的実体に基づいて面積を求める観点からも好適である。
一般的なハフ変換では、このような観点が考慮されていない。そのため、ノイズ過多で検出すべき平面の面積と、ノイズ成分による偽の平面の面積とは異なるため、しきい値により明確に分別できるが、見る角度によっては「真の面」が有する面積が、このしきい値を下回る場合がある。すなわち、「真の面」と「偽の面」とを分別するためのしきい値が設けられている場合でも、面の向きによっては検出すべき真の平面の面積がしきい値よりも小さくなり、真の平面を検出できない場合が生じるおそれがある。
本発明は、上述した課題を解決するデータ処理装置、姿勢推定システム、姿勢推定方法およびプログラムを提供することを目的とする。
上記課題を解決するために、本発明のデータ処理装置は、入力された画像に基づいて、姿勢を推定する基準となる基準面に対する姿勢推定対象の姿勢を推定するデータ処理装置であって、前記画像を、前記基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する2値化部と、前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現部と、前記2値化部が分割した候補領域に含まれる各画素を通るすべての面を表現する前記面パラメータ式を構成する姿勢パラメータの組合せを、前記面パラメータ式表現部が抽出した姿勢パラメータに基づいて算出するパラメータ算出部と、前記姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、前記パラメータ算出部が算出した姿勢パラメータの組合せに基づいて、前記面パラメータ式に従ったパラメータ面を描画するパラメータ面描画部と、前記パラメータ面描画部が描画した前記パラメータ面が複数通過する交差点の座標である通過点座標と、該通過点座標を通過するパラメータ面の数である通過面数とを求める交差点検出部と、前記交差点検出部が求めた各通過点における通過面数が、該通過面数に対応する通過点座標を基準とする所定の近傍領域における他の通過点座標における通過面数と比較して最大であると判別したときに、該判別した通過面数に対応するパラメータ面を構成する姿勢パラメータの組合せを、前記基準面を表現するために最適な姿勢パラメータの組合せである有力候補として識別する有力候補抽出部と、前記有力候補抽出部が識別した有力候補と、該有力候補を基準とする所定の近傍領域にて前記パラメータ空間上の有力候補との距離が所定値以下である前記パラメータ算出部が算出した姿勢パラメータの組合せとに基づいて、前記画像上に有力候補面を描画する有力候補面描画部と、前記有力候補面描画部が描画した各有力候補面について、前記候補領域のうちで該有力候補面上に位置している画素と、該有力候補面から所定範囲内に位置している画素とを、通過画素として識別し、該通過画素の座標および前記通過画素における接平面を求める通過判定部と、前記通過判定部が求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定部が識別した通過画素ごとに傾き重みを求める重み算出部と、前記有力候補面ごとに、該有力候補にそれぞれ含まれる前記重み算出部が求めた通過画素の傾き重みを合計した値である個数を算出する個数計量部と、前記個数計量部が算出した個数が、該個数を有する有力候補面を基準とする近傍領域における他の有力候補面が有する個数と比較して最大であると判別したときに、該判別した個数を有する有力候補面を、前記画像に実在する基準面である実在面として識別する実在面判定部とを有する。
また、入力された画像に基づいて、姿勢を推定する基準となる基準面に対する姿勢推定対象の姿勢を推定するデータ処理装置であって、前記画像を、前記基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する2値化部と、前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現部と、前記姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、該パラメータ空間上のすべての姿勢パラメータの組合せに基づいて、前記面パラメータ式に従った候補面を前記画像上に描画する全候補面描画部と、前記全候補面描画部が描画した各候補面について、前記候補領域のうちで該候補面上に位置している画素と、該候補面から所定範囲内に位置している画素とを、通過画素として識別し、該通過画素の座標と、前記通過画素における接平面とを求める通過判定部と、前記通過判定部が求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定部が識別した通過画素ごとに傾き重みを求める重み算出部と、前記候補面ごとに、該候補面にそれぞれ含まれる前記重み算出部が求めた通過画素の傾き重みを合計した値である個数を算出する個数計量部と、前記個数計量部が算出した個数に基づいて、前記全候補面描画部が描画した候補面のうちから、前記画像に実在する基準面である実在面を識別する実在面判定部とを有する。
また、上記課題を解決するために、本発明の姿勢推定システムは、請求項1に記載のデータ処理装置と、請求項9に記載のデータ処理装置と、を具備する姿勢推定システムにおいて、前記請求項1に記載のデータ処理装置が前記基準面である実在面を識別するための演算処理の大きさを示す計算量であるパラメータ空間計算量と、前記請求項9に記載のデータ処理装置が実在面を識別するための演算処理の大きさを示す計算量である画像空間計算量とを比較した結果に基づいて、前記請求項1に記載のデータ処理装置または前記請求項9に記載のデータ処理装置を選択し、該選択したデータ処理装置に前記実在面を識別させるデータ処理切替装置を有することを特徴とする。
また、上記課題を解決するために、本発明の姿勢推定方法は、入力された画像に基づいて、姿勢を推定する基準となる基準面に対する姿勢推定対象の姿勢を推定する姿勢推定方法であって、前記画像を、前記基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する2値化処理と、前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現処理と、前記2値化処理にて分割した候補領域に含まれる各画素を通るすべての面を表現する前記面パラメータ式を構成する姿勢パラメータの組合せを、前記面パラメータ式表現処理にて抽出した姿勢パラメータに基づいて算出するパラメータ算出処理と、前記姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、前記パラメータ算出処理にて算出した姿勢パラメータの組合せに基づいて、前記面パラメータ式に従ったパラメータ面を描画するパラメータ面描画処理と、前記パラメータ面描画処理にて描画した前記パラメータ面が複数通過する交差点の座標である通過点座標と、該通過点座標を通過するパラメータ面の数である通過面数とを求める交差点検出処理と、前記交差点検出処理にて求めた各通過点における通過面数が、該通過面数に対応する通過点座標を基準とする所定の近傍領域における他の通過点座標における通過面数と比較して最大であると判別したときに、該判別した通過面数に対応するパラメータ面を構成する姿勢パラメータの組合せを、前記基準面を表現するために最適な姿勢パラメータの組合せである有力候補として識別する有力候補抽出処理と、前記有力候補抽出処理にて識別した有力候補と、該有力候補を基準とする所定の近傍領域にて前記パラメータ空間上の有力候補との距離が所定値以下である前記パラメータ算出処理にて算出した姿勢パラメータの組合せとに基づいて、前記画像上に有力候補面を描画する有力候補面描画処理と、前記有力候補面描画処理にて描画した各有力候補面について、前記候補領域のうちで該有力候補面上に位置している画素と、該有力候補面から所定範囲内に位置している画素とを、通過画素として識別し、該通過画素の座標および前記通過画素における接平面を求める通過判定処理と、前記通過判定処理にて求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定処理にて識別した通過画素ごとに傾き重みを求める重み算出処理と、前記有力候補面ごとに、該有力候補にそれぞれ含まれる前記重み算出処理にて求めた通過画素の傾き重みを合計した値である個数を算出する個数計量処理と、前記個数計量処理にて算出した個数が、該個数を有する有力候補面を基準とする近傍領域における他の有力候補面が有する個数と比較して最大であると判別したときに、該判別した個数を有する有力候補面を、前記画像に実在する基準面である実在面として識別する実在面判定処理とを有する。
また、入力された画像に基づいて、姿勢を推定する基準となる基準面に対する姿勢推定対象の姿勢を推定する姿勢推定方法であって、前記画像を、前記基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する2値化処理と、前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現処理と、前記姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、該パラメータ空間上のすべての姿勢パラメータの組合せに基づいて、前記面パラメータ式に従った候補面を前記画像上に描画する全候補面描画処理と、前記全候補面描画処理にて描画した各候補面について、前記候補領域のうちで該候補面上に位置している画素と、該候補面から所定範囲内に位置している画素とを、通過画素として識別し、該通過画素の座標と、前記通過画素における接平面とを求める通過判定処理と、前記通過判定処理にて求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定処理にて識別した通過画素ごとに傾き重みを求める重み算出処理と、前記候補面ごとに、該候補面にそれぞれ含まれる前記重み算出処理にて求めた通過画素の傾き重みを合計した値である個数を算出する個数計量処理と、前記個数計量処理にて算出した個数に基づいて、前記全候補面描画処理にて描画した候補面のうちから、前記画像に実在する基準面である実在面を識別する実在面判定処理とを有する。
また、前記請求項21に記載の姿勢推定方法を用いて前記基準面である実在面を識別するために行う演算処理の大きさを示す計算量であるパラメータ空間計算量と、前記請求項29に記載の姿勢推定方法を用いて実在面を識別するために行う演算処理の大きさを示す計算量である画像空間計算量とを比較した結果に基づいて、前記請求項21に記載の姿勢推定方法と前記請求項29に記載の姿勢推定方法とのいずれかを選択し、該選択した姿勢推定方法を用いて前記実在面を識別させるデータ処理切替処理を有する。
また、コンピュータに実行させるプログラムであって、入力された画像を、姿勢を推定する基準となる基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する2値化手順と、前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現手順と、前記2値化手順にて分割した候補領域に含まれる各画素を通るすべての面を表現する前記面パラメータ式を構成する姿勢パラメータの組合せを、前記面パラメータ式表現手順にて抽出した姿勢パラメータに基づいて算出するパラメータ算出手順と、前記姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、前記パラメータ算出手順にて算出した姿勢パラメータの組合せに基づいて、前記面パラメータ式に従ったパラメータ面を描画するパラメータ面描画手順と、前記パラメータ面描画手順にて描画した前記パラメータ面が複数通過する交差点の座標である通過点座標と、該通過点座標を通過するパラメータ面の数である通過面数とを求める交差点検出手順と、前記交差点検出手順にて求めた各通過点における通過面数が、該通過面数に対応する通過点座標を基準とする所定の近傍領域における他の通過点座標における通過面数と比較して最大であると判別したときに、該判別した通過面数に対応するパラメータ面を構成する姿勢パラメータの組合せを、前記基準面を表現するために最適な姿勢パラメータの組合せである有力候補として識別する有力候補抽出手順と、前記有力候補抽出手順にて識別した有力候補と、該有力候補を基準とする所定の近傍領域にて前記パラメータ空間上の有力候補との距離が所定値以下である前記パラメータ算出手順にて算出した姿勢パラメータの組合せとに基づいて、前記画像上に有力候補面を描画する有力候補面描画手順と、前記有力候補面描画手順にて描画した各有力候補面について、前記候補領域のうちで該有力候補面上に位置している画素と、該有力候補面から所定範囲内に位置している画素とを、通過画素として識別し、該通過画素の座標および前記通過画素における接平面を求める通過判定手順と、前記通過判定手順にて求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定手順にて識別した通過画素ごとに傾き重みを求める重み算出手順と、前記有力候補面ごとに、該有力候補にそれぞれ含まれる前記重み算出手順にて求めた通過画素の傾き重みを合計した値である個数を算出する個数計量手順と、前記個数計量手順にて算出した個数が、該個数を有する有力候補面を基準とする近傍領域における他の有力候補面が有する個数と比較して最大であると判別したときに、該判別した個数を有する有力候補面を、前記画像に実在する基準面である実在面として識別する実在面判定手順とをコンピュータに実行させる。
また、コンピュータに実行させるプログラムであって、入力された画像を、姿勢を推定する基準となる基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する2値化手順と、前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現手順と、前記姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、該パラメータ空間上のすべての姿勢パラメータの組合せに基づいて、前記面パラメータ式に従った候補面を前記画像上に描画する全候補面描画手順と、前記全候補面描画手順にて描画した各候補面について、前記候補領域のうちで該候補面上に位置している画素と、該候補面から所定範囲内に位置している画素とを、通過画素として識別し、該通過画素の座標と、前記通過画素における接平面とを求める通過判定手順と、前記通過判定手順にて求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定手順にて識別した通過画素ごとに傾き重みを求める重み算出手順と、前記候補面ごとに、該候補面にそれぞれ含まれる前記重み算出手順にて求めた通過画素の傾き重みを合計した値である個数を算出する個数計量手順と、前記個数計量手順にて算出した個数に基づいて、前記全候補面描画手順にて描画した候補面のうちから、前記画像に実在する基準面である実在面を識別する実在面判定手順とをコンピュータに実行させる。
また、コンピュータに実行させるプログラムであって、請求項41に記載のプログラムを実行することにより前記基準面である実在面を識別するために行う演算処理の大きさを示す計算量であるパラメータ空間計算量と、請求項49に記載のプログラムを実行することにより実在面を識別するために行う演算処理の大きさを示す計算量である画像空間計算量とを比較した結果に基づいて、前記請求項41に記載のプログラムと前記請求項49に記載のプログラムとのいずれかを選択し、該選択したプログラムを実行することにより前記実在面を識別させるデータ処理切替手順をコンピュータに実行させる。
本発明によれば、入力された画像に基づいて、姿勢を推定する基準となる基準面に対する姿勢推定対象の姿勢を推定するデータ処理装置であって、画像を、基準面の候補となる候補領域と、候補領域以外の領域である背景領域とに分割し、入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、基準面を表現する数式である面パラメータ式を求め、分割した候補領域に含まれる各画素を通るすべての面を表現する面パラメータ式を構成する姿勢パラメータの組合せを、抽出した姿勢パラメータに基づいて算出し、姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、算出した姿勢パラメータの組合せに基づいて、面パラメータ式に従ったパラメータ面を描画し、描画したパラメータ面が複数通過する交差点の座標である通過点座標と、通過点座標を通過するパラメータ面の数である通過面数とを求め、求めた各通過点における通過面数が、通過面数に対応する通過点座標を基準とする所定の近傍領域における他の通過点座標における通過面数と比較して最大であると判別したときに、判別した通過面数に対応するパラメータ面を構成する姿勢パラメータの組合せを、基準面を表現するために最適な姿勢パラメータの組合せである有力候補として識別し、識別した有力候補と、有力候補を基準とする所定の近傍領域にて有力候補との距離が所定値以下である姿勢パラメータの組合せとに基づいて、画像上に有力候補面を描画し、描画した各有力候補面について、候補領域のうちで有力候補面上に位置している画素と、有力候補面から所定範囲内に位置している画素とを、通過画素として識別し、通過画素の座標および通過画素における接平面を求め、求めた通過画素における接平面と、パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、通過画素ごとに傾き重みを求め、有力候補面ごとに、有力候補にそれぞれ含まれる通過画素の傾き重みを合計した値である個数を算出し、算出した個数が、個数を有する有力候補面を基準とする近傍領域における他の有力候補面が有する個数と比較して最大であると判別したときに、判別した個数を有する有力候補面を、画像に実在する基準面である実在面として識別する構成としたため、姿勢パラメータの基準となる面を正確に、かつ容易に検出して、姿勢を推定できる。
(実施形態1)
以下、本発明の実施形態1に従った姿勢推定システム1(データ処理装置、姿勢推定方法、プログラムを含む)を説明する。
まず、実施形態1の姿勢推定システム1の構成を説明する。姿勢推定システム1は、図1に示す画像取得装置700および姿勢制御システム800とともに、姿勢推定対象である飛翔体または航走体などに搭載されているものである。
図1に示すように、姿勢推定システム1は、入力装置2と、データ処理装置3と、記憶装置4と、通信装置5とから構成される。
入力装置2は、画像入力機能と、文字入力機能とを有する。入力装置2は、外部の画像取得装置700から画像を受信し、受信した画像を入力する。また、入力装置2は、利用者の操作に応じた文字情報などを入力する。なお、外部の画像取得装置700は、例えば、ステレオカメラ、レーザ、レンジファインダ、レーダ、ソナー、ライダなどで構成され、被写体の撮像、生成などにより画像を取得する。
データ処理装置3は、プログラム制御に従って動作する所定の情報処理装置で構成されており、平面または曲面などを検出するために各種データの処理を実行する。
記憶装置4は、各種の情報を記憶する。例えば、データ処理装置3を制御するためのプログラム、データ処理装置3による演算実行用のデータ、データ処理装置3による演算結果などを記憶する。
通信装置5は、外部の姿勢制御システム800に、データ処理装置3が算出した姿勢パラメータを送信する。通信装置5は、「データ送信処理」を実行し、有線または無線のネットワーク(図示せず)を介して、姿勢パラメータを外部の姿勢制御システム800などへ送信する。なお、姿勢制御システム800は、通信装置5から送信されてきた姿勢パラメータに基づいて、姿勢推定システムが搭載されている姿勢推定対象の姿勢を制御する。
つぎに、入力装置2について詳細に説明する。図2に示すように、入力装置2は、外部データ入力部21と、文字入力部22とを有する。
外部データ入力部21は、「外部データ入力処理」を実行し、画像取得装置700から受信した3次元画像を入力する。ここで外部データ入力部21が入力する3次元画像については、特に限定しない。例えば、3次元の静止画であってもよく、3次元の動画であってもよい。また、例えば、速度場や磁場などの空間的な大きさまたは時間的な大きさを示す物理量、特定関数による畳込などの各種演算により得られた画像特徴量、画像特徴量の時間的変化を高次元で表した3次元画像でもよい。
なお、外部データ入力部21は、画像取得装置700が取得した画像を、データラインを介して直接受信するに限らず、画像取得装置700が取得した画像が記録された記録媒体からその画像を読込むことにより、外部からの画像を入力してもよい。
文字入力部22は、キーボード、マウス、タッチパネル等で構成され、「文字入力処理」を実行することにより利用者の操作に応じた文字情報を入力する。
つぎに、データ処理装置3について詳細に説明する。図3に示すように、データ処理装置3は、2値化部31と、面パラメータ式表現部32と、パラメータ算出部33と、パラメータ面描画部34と、交差点検出部35と、有力候補抽出部36と、有力候補面描画部37と、通過判定部38と、重み算出部39と、個数計量部310と、実在面判定部311とを有する。
2値化部31は、「2値化処理」を実行し、外部データ入力部21から入力された3次元画像を所定の領域に分割する。2値化部31は、3次元画像の画素値に基づいて、検出対象である「基準面」(平面や曲面)の候補となる領域である「候補領域CR」と、基準面の候補にならない領域(候補領域CR以外の領域)である「背景領域BR」との2つの領域に、3次元画像を分割する。なお、以下では、2値化部31の2値化処理により生成された2つの領域に分割された3次元画像を「2値化画像」という。
面パラメータ式表現部32は、「面パラメータ式表現処理」を実行し、外部データ入力部21が入力した3次元画像に基づいて、3次元画像に写り込んだ平面や曲面に対する姿勢推定対象の姿勢を示す「姿勢パラメータ」を抽出する。そして、抽出した各姿勢パラメータのうちで方向を示すパラメータに対して、「所定の関数」による変換を施す。
ここで、「姿勢推定対象」とは、例えば、飛翔体や航走体などである。また、姿勢パラメータのうちの「方向を示すパラメータ」とは、例えば、姿勢を推定するための基準面に対する姿勢推定対象の角度、基準面に対して姿勢推定対象が存在する方位(例えば、東西南北)などである。また、姿勢パラメータには、例えば、姿勢推定対象とその姿勢を推定するための基準となる基準面(平面または曲面)との間の距離なども含まれる。
「方向を示すパラメータ」が角度である場合、「所定の関数」として三角関数を用いた変換を実行する。この変換は、上述した例にて説明した、画素列の長さをユークリッド距離で測定した距離に補正するために行われる。以下の説明例では、方向を示すパラメータが角度であるものとする。
また、面パラメータ式表現部32は、「面パラメータ式表現処理」を実行し、角度に対して三角関数による変換を施して得られた値と、角度(方向)以外の姿勢パラメータとを組み合わせて、任意の面(平面や曲面)を表現する数式である「面パラメータ式」を求める。なお、面パラメータ式表現部32は、求めた「面パラメータ式」を保持する。
パラメータ算出部33は、「パラメータ算出処理」を実行し、2値化部31が分割した「候補領域CR」の各画素において、その画素を通り得るすべての平面や曲面を表現する方程式を満たす姿勢パラメータの組合せを、前記面パラメータ式表現部が抽出した姿勢パラメータに基づいて算出する。
パラメータ面描画部34は、「パラメータ面描画処理」を実行し、姿勢パラメータに属するパラメータ(例えば、角度、距離など)を基底ベクトルの軸としてそれぞれ有する空間である「パラメータ空間」において、パラメータ算出部33が算出したすべての姿勢パラメータの組合せを用いて、「パラメータ面」(平面状あるいは曲面状)を描画する。
交差点検出部35は、「交差点検出処理」を実行し、パラメータ面描画部34が描画したパラメータ面に基づいて、候補領域CRに含まれる全画素に関する「通過点座標」と「通過面数」とを求める。
ここに、「通過点座標」とは、複数のパラメータ面がパラメータ空間上で交差することにより、複数のパラメータが通過する通過点(交差点)の座標である。また、「通過面数」とは、「通過点座標」において交差し、通過点(交差点)を通過するパラメータ面の数である。
有力候補抽出部36は、「有力候補抽出処理」を実行し、パラメータ算出部33が算出した姿勢パラメータの組合せのうちから、平面や曲面を表現するために最適な姿勢パラメータの組合せである「有力候補」として抽出する。
ここに有力候補として識別されるための条件とは、交差点検出部35が検出した通過点座標における通過面数が第1のしきい値よりも大きく、かつ、現在判別中の通過点座標における通過面数が、その通過点座標を基準とする所定の近傍領域において最大であることである。
そのため、有力候補抽出部36は、交差点検出部35が検出した通過点座標における通過面数と第1のしきい値とを比較する。第1のしきい値は、しきい値記憶部41が記憶する値でもよい。比較の結果、各通過点において、通過面数が第1のしきい値より大きい場合、有力候補としての条件を満たすと判別する。
また、有力候補抽出部36は、第1のしきい値よりも大きいと判別した通過面数が、その通過面数に対応する通過点座標を基準とする所定の近傍領域において最大であるか否かを判別する。そして、所定の近傍領域内で、現在判別中の通過面数よりも大きい交差点がないと判別した場合(通過面数が最大であると判別した場合)、その通過面数に対応するパラメータ面を構成する姿勢パラメータの組合せを、平面や曲面の表現に最適な姿勢パラメータの組合せである「有力候補」として識別する。なお、有力候補抽出部36は、有力候補として識別した姿勢パラメータの組合せに対して、有力候補であることを示す「有力候補面ビットBC」を「0」から「1」に変更する。なお、有力候補面ビットBCは、記憶装置4が記憶する後述の交差点リスト421に登録されている。
有力候補面描画部37は、「有力候補面描画処理」を実行し、有力候補抽出部36が抽出した有力候補と、その有力候補を基準とする所定の近傍領域にてパラメータ空間上の有力候補との距離が所定値以下である姿勢パラメータの組合せとに基づいて、「有力候補面」(平面や曲面)を描画する。なお、有力候補面描画部37は、「有力候補面」を、3次元画像上に重ねて描画する。
通過判定部38は、「通過判定処理」を実行し、有力候補面描画部37が描画した各有力候補面について、3次元画像の候補領域CRにて有力候補面が通過する画素と、有力候補面を基準とする所定範囲に位置する画素とを、「通過画素」として識別する。また、通過判定部38は、識別した「通過画素」が位置するパラメータ空間上の座標を求める。なお、通過判定部38は、求めた「通過画素」の座標を、パラメータ空間記憶部42が記憶する後述の通過画素リストに登録する。
また、通過判定部38は、通過画素における有力候補面の接平面を求める。
重み算出部39は、「重み算出処理」を実行する。「重み算出処理」では、重み算出部39は、通過判定部38が求めた接平面と、パラメータ空間が有する各軸同士がそれぞれ形成する面(xy平面、yz平面、zx平面)とが成す角度をそれぞれ求める。すなわち、重み算出部39は、通過判定部38が求めた接平面がxy平面と成す角度、接平面がyz平面と成す角度および接平面がzx平面と成す角度を求める。そして、求めた角度のうちで絶対値が最小となる角度である「最小角度」を求める。
さらに、重み算出部39は、有力候補面が通過する画素毎に、ユークリッド距離で測定した長さに対する画素列の長さの割合を表す「傾き重み」を求める。「傾き重み」は、この例では、最小角度に対応する余弦の逆数の絶対値で求められる。例えば、求めた最小角度が最小角度θであれば、「傾き重み」は、1/|cosθ|である。
個数計量部310は、「個数計量処理」を実行し、各々の有力候補面について、全通過画素の傾き重みを合計した値である「個数」を求める。
実在面判定部311は、「実在面判定処理」を実行し、個数計量部310が求めた個数に基づいて、有力候補面のうちから、実際に3次元画像内に存在する面である「実在面」を識別する。
ここに実在面として識別されるための条件とは、個数計量部310が求めた個数が第2のしきい値よりも大きく、かつ、現在判別中の通過点座標における通過面数が、その通過点座標を基準とする所定の近傍領域において最大であることである。
そのため、実在面判定部311は、個数計量部310が求めた個数と第2のしきい値とを比較する。第2のしきい値は、しきい値記憶部41が記憶する値でもよい。比較の結果、個数が第2のしきい値より大きい場合、実在面としての条件を満たすと判別する。
また、実在面判定部311は、第2のしきい値よりも大きいと判別した有力候補面が有する個数が、その個数を有する有力候補面を基準とする近傍領域に含まれる他の有力候補面が有する個数と比較して最大であるか否かを判別する。そして、所定の近傍領域内で、現在判別中の個数よりも大きい有力候補面がないと判別した場合(個数が最大であると判別した場合)、その個数を有する有力候補面を、実際に3次元画像内に存在する「実在面」として識別する。なお、実在面判定部311は、実在面として識別した有力候補面(姿勢パラメータの組合せ)に対して、有力候補であることを示す「実在面ビットBR」を「0」から「1」に変更する。なお、有力候補面ビットBRは、記憶装置4が記憶する後述の交差点リスト421に登録されている。
また、実在面判定部311は、識別した実在面を構成する姿勢パラメータを、通信装置5を介して外部の姿勢制御システム800へ出力する。
つぎに、記憶装置4について詳細に説明する。図4に示すように、記憶装置4は、しきい値記憶部41と、パラメータ空間記憶部42と、画像記憶部43とを有する。
しきい値記憶部41は、「しきい値記憶処理」を実行し、文字入力部22から入力された各種しきい値を記憶する。しきい値記憶部41は、例えば、上述した第1のしきい値、あらかじめ設定されたパラメータ空間の各軸の離散化幅や値の範囲を記憶する。
パラメータ空間記憶部42は、「パラメータ空間記憶処理」を実行し、しきい値記憶部41と面検出の際に使うパラメータ空間や検出候補の面のリストなどを記憶する。
パラメータ空間記憶部42は、例えば、交差点検出部35が検出した通過点座標に位置する通過点(交差点)が登録されている「交差点リスト421」を記憶する。
図5に示すように、交差点リスト421は、姿勢パラメータの組合せと、有力候補面ビットBCと、実在面ビットBRとを対応付ける。有力候補面ビットBCは、その値が「1」に設定されているときに、対応する姿勢パラメータの組合せが有力候補であることを示す。また、実在面ビットBRは、その値が「1」に設定されているときに、対応する姿勢パラメータの組合せが実在面を構成することを示す。
また、例えば、パラメータ空間記憶部42は、通過画素の座標が登録されている「通過画素リスト422」を記憶する。また、パラメータ空間記憶部42は、重み算出部39が求めた「傾き重み」を記憶する。
画像記憶部43は、「画像記憶処理」を実行し、外部データ入力部21から入力された入力画像、データ処理装置3内の各構成要素による処理途中または処理結果の画像などを記憶する。
つぎに、上述した構成を有する実施形態1の姿勢推定システム1にて行われる姿勢推定動作を説明する。
図6に示すように、入力装置2の外部データ入力部21は、「外部データ入力処理(ステップS11)」により、3次元画像を入力する。画像記憶部43は、入力された3次元画像を記憶する。
2値化部31は、「2値化処理(ステップS12)」により、画像記憶部43を参照し、3次元画像の画素値に基づいて、3次元画像を、検出対象である平面や曲面の候補となる領域(候補領域CR)と、候補領域CR以外の領域(背景領域BR)との2つの領域に分割する。これにより、2値化部31は、2値化画像を生成する。
2値化部31が3次元画像を2つの領域に分割する方法は、画像(2次元画像)を2つの領域に分割する一般的な方法と同じである。画像を2つの領域に分割する画像の2値化には数多くの一般的方法がある。
例えば、候補領域の全画素数に対する所定の割合をあらかじめしきい値として定めてしきい値記憶部41に保存し、そのしきい値に従って3次元画像を2値化するPタイル法を適用してもよい。また、例えば、横軸を画素値、縦軸を頻度としたヒストグラムを作成し、ヒストグラムが双峰形と仮定してその谷をしきい値として2値化するモード法を適用してもよい。また、例えば、候補領域CRおよび背景領域BRの内部にてそれぞれ画素値の分散が最小になり、かつ、候補領域CRと背景領域BRとの間で分散が大きくなるようにしきい値を決めて2値化する判別分析法を適用してもよい。また、例えば、あらかじめ画素値のしきい値を定めしきい値記憶部41に保存し、そのしきい値より画素値が大きいか否かに基づいて、画像を2値化する固定しきい値法を適用してもよい。また、例えば、画像を所定サイズの小領域に分割し、小領域毎にPタイル法やモード法や判別分析法を使う動的しきい値法を適用してもよい。
画像記憶部43は、画像記憶処理を実行し、2値化部31が生成した2値化画像を記憶する。
面パラメータ式表現部32は、「面パラメータ式表現処理(ステップS13)」を実行し、3次元画像内の面を示す数式である「面パラメータ式」を求める。以下に、この「面パラメータ式表現処理」において、面パラメータ式表現部32が算出する面パラメータ式を具体的に説明する。
例えば、図7に示すように、基準とする面である「基準面」が平面であって、画像取得装置700(画像取得手段)が画像を取得したときの「視線方向(例えば、撮像用レンズの光軸方向など)」を軸とした回転角であるロールが右向きでαで、画像取得装置700(画像取得手段)の視線方向が平面に対して成す角度であるピッチがピッチβ、基準面とする平面が画像取得装置700(画像取得手段)の上方に位置しており互いの距離が距離dである場合を考える。この場合、例えば、距離dに対応する深度dの海中を航行する航走体の姿勢を、上方に位置する基準面に対応する海面を元に推定することに相当する。なお、この説明例では、画像取得部の視線方向のxy平面への投影はy軸に一致するものとする。
この状態において、画像取得装置700の位置を原点とした場合、視線方向にy’軸、画像取得装置700の横方向にx’軸、縦方向にz’軸をとった、画像取得装置700に固定された座標系から見ると、座標系の変換は以下の式1で表される。
Figure 2009186364
また、基準面とする平面は、以下の式2で表される。
Figure 2009186364
面パラメータ式表現部32は、上述のα、β、距離dをパラメータ空間の軸として、3次元画像にハフ変換を施す。
また、例えば、基準とする面が球面である場合を考える。この場合、例えば、惑星軌道上の飛翔体の姿勢を推定する場合と同様に、球面の中心座標を基点として姿勢パラメータを求めることが有用である。
そのため、図8に示すように、姿勢推定対象である飛翔体の鉛直上方または鉛直下方に球面が位置しているものと仮定して考える。球面の中心が飛翔体の頭上から測定した距離dに位置しており、球面の半径Rが既知である場合、ロールおよびピッチがともに「0」になるx方向、y方向、z方向を軸とする座標系では、球面を表す関係は以下の式3で表される。
Figure 2009186364
また、ロールがαでピッチがβのx’y’z’を軸とする座標系では、式1を用いて、以下の式4で表される。
Figure 2009186364
ここに、式4中のAは、以下の式5で定義される。
Figure 2009186364
面パラメータ式表現部32は、このα、β、dをパラメータ空間の軸として、3次元画像にハフ変換を施す。
パラメータ算出部33は、「パラメータ算出処理(ステップS14)」を実行し、3次元画像内の「候補領域」に含まれる各画素において、その画素を通り得る全ての平面や曲面を表現する面パラメータ式(方程式)のパラメータの組合せを算出する。
例えば、式2に示した平面の場合、あらかじめ与えられた幅でαとβを離散化し、あらかじめ与えられた範囲でのαとβの組合せ毎に、式2の関係から距離dを求める。例えば、3次元画像内である候補領域の画素の座標が(x0,y0,z0)ならば、距離dは、以下の式6で求められる。
Figure 2009186364
また、例えば、式4で示した球面の場合、あらかじめ与えられた幅でαとβを離散化し、あらかじめ与えられた範囲でのαとβの組み合わせ毎に、式4の関係から距離dを求める。例えば、3次元画像内の候補領域CRに含まれる画素が位置している座標が(x0,y0,z0)である場合、距離dは、以下の式7で表される。
Figure 2009186364
ここに、式7中のBは、以下の式8で求められる。
Figure 2009186364
パラメータ算出部33は、「パラメータ算出処理(ステップS14)」により、候補領域CRに含まれるすべての画素に対して通り得る全ての面を表現するパラメータの組を求める。パラメータ空間記憶部42は、「パラメータ空間記憶処理」を実行し、パラメータ算出部33が求めたすべてのパラメータの組を記憶する。1つの画素に対して通り得る全ての面を表現するパラメータの組の集合がパラメータ空間上で形成する面を、以下では「パラメータ面」という。
パラメータ面描画部34は、「パラメータ面描画処理(ステップS15)」を実行し、例えば、パラメータ面描画用にパラメータ空間をパラメータ空間記憶部42に確保し、あり得るすべてのパラメータの組を描画する。なお、しきい値記憶部41は、「しきい値記憶処理」により、あらかじめ設定されたパラメータ空間の各軸の離散化幅や値の範囲を記憶する。
パラメータ面の描画方法としては、例えば、何も描画していない要素に収められる値を「0」に設定し、描画するパラメータ面とパラメータ空間上の座標とが一致する要素については値を「1」ずつ増加させる。増加させる値は「1」に限らず、固定値であれば任意の値でよい。こうして得られた値を増加した要素によって形成される形状が「パラメータ面」となる。候補領域CR内の画素毎に1つずつパラメータ面が生成されることになる。反対に要素の値を減少させて、減少した要素に注目してもよい。
交差点検出部35は、「交差点検出処理(ステップS16)」を実行し、例えばパラメータ空間を参照し、各姿勢パラメータの組合せの値を読み出す。読み出した値が通過する数が「2」以上である場合、その点は、パラメータ面が交差する交差点である。そのため、交差点検出部35は、読み出した値(通過面数)とパラメータ空間上の座標(通過点座標)とを、交差点リスト421にすべて登録する。なお、パラメータ空間記憶部42は、交差点検出部35が登録した交差点リスト421を記憶する。
有力候補抽出部36は、「有力候補抽出処理(ステップS17)」を実行し、有力候補を抽出する。例えば、交差点リスト421に登録されている交差点のうちで、第1のしきい値よりも大きく、かつ、通過面数が所定の近傍領域にて最大であるパラメータの組合せを、有力候補であると識別し、「有力候補面ビットBC」を「0」から「1」に変更する。
なお、有力候補面ビットBCは、交差点リスト421の生成時には「0」に初期化されている。また、交差点リスト421の生成時には、有力候補面ビットを「1」に設定しておき、有力候補面と判定した際に「0」に変更してもよい。また、有力候補面ビットに設定する値は「0」または「1」に限らず、それ以外の任意の数値でもよい。現在判別中の通過点座標における通過面数が最大であるか否かの判別、近傍領域として設定する領域の大きさの認識などを行う場合、例えば、しきい値記憶部41に記憶されている各種の値を参照する。
一般的なハフ変換では、所定の面を基準とする近傍領域において、所定の面に類似する形状を有する面が多数検出される場合がある。しかし、本発明の姿勢推定システム1によれば、有力候補抽出部36が、近傍領域における通過面数が最大となる他の通過点を探索することにより、複数の類似する面が集中的に検出されることを抑制できる。
有力候補面描画部37は、「有力候補面描画処理(ステップS18)」を実行し、有力候補面を描画する。有力候補面描画部37は、例えば、交差点リスト421のうちで、有力候補面ビットが「1」に設定されることで有力候補面として識別されているパラメータの組合せに基づいて、「有力候補面」を、3次元画像上に重ねて描画する。
有力候補面の描画方法としては、例えば、画像記憶部43に3次元画像と同一の大きさを有する画像領域を有力候補面画像として確保し全画素値を「0」とし、平面や曲面の方程式から描画する面と座標が一致する画素について値を「1」とする。また、例えば、有力候補面ごとに区別できるように値を変えてもよい。
また、例えば、有力候補面画像ではなく、2値化画像に描画してもよい。有力候補面を2値化画像上に描画する場合、有力候補面の画素値は、候補領域CRの画素値と異なる値で、かつ、背景領域BRの画素値とも異なる値に設定する。
通過判定部38は、「通過判定処理(ステップS19)」を実行し、有力候補面描画部37が描画した有力候補面を参照し、有力候補面を構成する画素(例えば、画素値が「1」である画素)を「通過画素」として識別する。
続いて、通過判定部38は、識別した「通過画素(注目画素)」の座標における有力候補面に対する接平面と、その接平面に対応する法線とを求める。また、求めた法線の方向に関して、有力候補面との距離がしきい値記憶部41に記憶されている所定値以下である複数の画素の座標を求める。求めた各画素と同一の相対位置(同じ座標)に位置する2値化画像上の画素のうち、いずれか1つが候補領域CRに含まれていれば、「通過画素」であると識別する。なお、パラメータ空間記憶部42は、通過判定部38が識別したすべての通過画素の座標を、通過画素リスト422に記憶する。
通過判定部38による通過画素の識別方法は、通過画素の座標における法線方向に基づいた方法に限らず、通過画素を中心として、x方向の画素数がL個、y方向の画素数がM個、z方向の画素数がN個の画素(L×M×N画素)で構成される近傍領域に、2値化画像上の候補領域CRが含まれるか否かを判別してもよい。このとき、各画素数L、M、Nは、しきい値記憶部41にあらかじめ設定しておけばよい。
重み算出部39は、「重み算出処理(ステップS110)」を実行する。「重み算出処理」では、重み算出部39は、通過判定部38が求めた接平面がxy平面、yz平面およびzx平面とそれぞれ成す角度を求める。その後、重み算出部39は、求めた各角度のうちで絶対値が最も小さい角度を最小角度に定める。そして、定めた最小角度の余弦の逆数の絶対値である「傾き重み」を求める。例えば、最小角度θがあれば、「傾き重み」は1/|cosθ|である。そのため、最小角度θが45°であれば、傾き重みは約1.41として求められる。
重み算出部39は、有力候補面描画部37が描画した各有力候補面にそれぞれ含まれるすべての通過画素について、「傾き重み」をそれぞれ算出する。パラメータ空間記憶部42は、重み算出部39が求めた「傾き重み」を記憶する。
個数計量部310は、「個数計量処理(ステップS111)」を実行し、各有力候補面上に位置する通過画素ごとに、傾き重みを合計する。パラメータ空間記憶部42は、個数計量部310が求めた結果を記憶する。
実在面判定部311は、「実在面判定処理(ステップS112)」により、重み算出部39が算出した傾き重みを合計した値である「個数」が第2のしきい値よりも大きく、かつ、その個数が所定の近傍領域にて最大である有力候補面を、有力候補面描画部37が描画した有力候補面のうちから実在面である有力候補面を識別する。
なお、実在面判定部311は、実在面として識別した有力候補面に対して、交差点リスト421に登録されている「実在面ビットBR」を「0」から「1」に変更する。実在面ビットBRは、交差点リスト421の生成時には、「0」に初期化されている。また、交差点リスト421の生成時には、実在面ビットBRを「1」に設定しておき、実在面と判定した際に「0」に変更してもよい。また、実在面ビットBRに設定する値は「0」または「1」に限らず、それ以外の任意の数値でもよい。個数が最大であるか否かを判別する際に用いる近傍領域の大きさは、しきい値記憶部41が記憶している値を参照する。なお、実在面判定部311が、実在面を基準とする近傍領域において「個数」が最大となる他の通過点を探索することにより、複数の類似する実在面が集中的に検出されることを抑制できる。
また、実在面判定部311は、パラメータ空間記憶部42が記憶している交差点リスト421に登録されている各姿勢パラメータを、通信装置5を用いて、有線や無線のネットワークを介して外部の姿勢制御システム800に送信する。
画像記憶部43は、「画像記憶処理」を実行し、面が描画された3次元画像や2値化画像を記憶する。ユーザ指定時に、ディスプレイやプロジェクタ、プリンタなどで表示してもよい。
(実施形態2)
次に、本発明の実施形態2について詳細に説明する。実施形態2の姿勢推定システム1は、図1に示した例と基本的に同一の構成を有する。ただし、実施形態2では、データ処理装置3aの構成が異なる。以下、データ処理装置3aについて説明する。
図9に示すように、実施形態2のデータ処理装置3aは、2値化部31aと、面パラメータ式表現部32aと、全候補面描画部33aと、通過判定部34aと、重み算出部35aと、個数計量部36aと、実在面判定部37aとを備えている。
2値化部31aおよび面パラメータ式表現部32aが果たす機能は、実施形態1の対応する構成要素と同一である。
全候補面描画部33aは、「前候補面描画処理」を実行し、画像上の面を表現する方程式のパラメータを軸としたパラメータ空間において、全てのパラメータの組み合わせについて、そのパラメータに従って画像上に平面や曲面を候補面として描画する。実施形態1の有力候補面描画部37とは、特定のパラメータの組み合わせではなく、全てのパラメータについて平面や曲面を描画する点で異なる。ただし、その他の面を描画する方法などは、実施形態1の有力候補面描画部37と同一である。
通過判定部34a、重み算出部35a、個数計量部36aおよび実在面判定部37aの構成や機能は、実施形態1の対応する構成要素と同一である。ただし、実施形態2の通過判定部34a、重み算出部35a、個数計量部36aおよび実在面判定部37aは、全候補面描画部33aで描画された面を処理対象とする。
実施形態1と実施形態2との間の差異は、データ処理装置3の計算量とデータ処理装置3aの計算量とにおける差異である。
離散化幅が小さい場合ほど、姿勢パラメータの組合せの数が大きくなる。そのため、実施形態2のデータ処理装置3aの方が実施形態1よりも計算量が多くなる。反対に、離散化幅が大きいほど、データ処理装置3aが算出すべき画像空間計算量の方が、データ処理装置3の計算量よりも少なくなる。
また、2値化した後の候補領域CRの3次元画像全体に対する割合が小さい場合には、実施形態1では、パラメータ空間が効率よく絞り込まれ計算量が小さくなる。一方、候補領域CRの3次元画像全体に対する割合が大きい場合には、実施形態1では実施形態2では行っていない、パラメータ面の描画に関する計算が必要となる。そのため、実施形態1の方が計算量が大きくなるということが起こり得る。
(実施形態3)
つぎに、本発明の実施形態3について、詳細に説明する。図10に示すように、実施形態3の姿勢推定システム1aは、実施形態1、2と異なり、複数のデータ処理装置(第1データ処理装置3b、第2データ処理装置3c)を有している。また、処理を実行させるデータ処理装置を切替え、第1データ処理装置3bと第2データ処理装置3cとを選択的に動作させるデータ処理切替装置6を有する。
第1データ処理装置3bは、図3に示した実施形態1のデータ処理装置3と同一の構成を有する。また、第2データ処理装置3cは、図9に示した実施形態2のデータ処理装置3aと同一の構成を有する。
上述したように、パラメータ空間の離散化幅や2値化画像の候補領域の比率に応じて、第1データ処理装置3bによる計算量と、第2データ処理装置3cによる計算量とのいずれが大きいかが定まる。
そのため、データ処理切替装置6は、「データ処理切替処理」により、この計算量を比較して、第1データ処理装置3bまたは第2データ処理装置3cのうちで計算量の小さい方を、処理するデータ処理装置として選択する。なお、データ処理切替装置6は、第1データ処理装置3bが基準面である実在面を識別するための計算量である「パラメータ空間計算量」と、第2データ処理装置3cが実在面を識別するための計算量である「画像空間計算量」とを求める。そして、データ処理切替装置6は、パラメータ空間計算量と画像空間計算量との比較により、処理すべき計算量が少ない方のデータ処理装置に実在面の算出を実行させる。
つぎに、データ処理切替装置6について詳細に説明する。図11に示すように、データ処理切替装置6は、2値化部61と、面パラメータ式表現部62と、パラメータ算出計算量推定部63と、パラメータ面描画計算量推定部64と、交差点検出計算量推定部65と、有力候補抽出計算量推定部66と、有力候補面描画計算量推定部67と、通過判定計算量推定部68と、重み算出計算量推定部69と、個数計量計算量推定部610と、実在面判定計算量推定部611と、全候補面描画計算量推定部612と、全通過判定計算量推定部613と、全重み算出計算量推定部614と、全個数計量計算量推定部615と、全実在面判定計算量推定部616と、手法選択部617とを有する。
2値化部61および面パラメータ式表現部62は、図3に示した2値化部31および面パラメータ式表現部32と同一の構成をそれぞれ有するとともに、同一の機能をそれぞれ果たす。
各構成要素63〜611は、2値化部61によって2値化された3次元画像内の候補領域CRの比率と、パラメータ空間の各軸を離散化幅とに基づいて、第1データ処理装置3bの各構成要素が処理する「計算量」(計算コスト)を推定する。
ここで、計算量(計算コスト)とは、データ処理装置3または3aが、算出対象の値を求める際に実行する必要がある「演算処理の大きさを示す量」である。なお計算量の形態については限定しないが、例えば、演算処理の実行回数、算出対象の値が求まるまでの全演算処理に要する所要時間などである。
パラメータ算出計算量推定部63は、「パラメータ算出計算量推定処理」を実行し、パラメータ算出部33の処理時の計算量を推定する。パラメータ算出計算量推定部63は、例えば、3次元画像内の面を描画するための面パラメータ式、姿勢パラメータの範囲およびパラメータ空間の離散化幅に基づいて、候補領域CR内の1つの画素に対して、全ての平面や曲面を表現する面パラメータ式(方程式)を構成する姿勢パラメータの組合せを算出するときの演算回数を算出する。そして、算出した演算回数と、候補領域に含まれる画素の数とを乗算し、得られた値をパラメータ算出部33が処理する計算量として推定し、「パラメータ算出計算量」とする。なお、面パラメータ式を構成する姿勢パラメータの組合せ算出時の演算回数とは、各画素について、面パラメータ式を構成する姿勢パラメータの組合せを求める際に、空間パラメータ上で、姿勢パラメータの組合せが変更される(書き換えられる)回数である。
パラメータ面描画計算量推定部64は、「パラメータ面描画計算量推定処理」を実行し、パラメータ面描画部34の処理時の計算量を推定する。パラメータ面描画計算量推定部64は、例えば、パラメータ算出計算量推定部63の処理過程で得られた姿勢パラメータの組合せがパラメータ空間上で変更される回数と、姿勢パラメータの組合せを1つ変更(書換え)する場合に必要な演算回数とを乗算する。そして、乗算によって得られた値をパラメータ面描画部34が処理する計算量と推定し、「パラメータ面描画計算量」とする。
交差点検出計算量推定部65は、「交差点検出計算量推定処理」を実行し、交差点検出部35の処理時の計算量を推定する。交差点検出計算量推定部65は、例えば、まず、候補領域の画素数をパラメータ面の数に設定し、設定したパラメータ面の数と1つの画素が有する面積とを乗算することにより、パラメータ面の平均的な面積を求める。そして、パラメータ面をランダムにパラメータ空間上に配置する場合に、パラメータ面同士が交差する交差点の数を推定する。交差点検出計算量推定部65は、推定した交差点の数と、1つの交差点に関してパラメータ空間上の座標を求めるために必要な演算回数とを乗算し、得られた値を交差点検出部35が処理する計算量と推定し、「交差点検出計算量」とする。
有力候補抽出計算量推定部66は、「有力候補抽出計算量推定処理」を実行し、有力候補抽出部36の処理時の計算量を推定する。有力候補抽出計算量推定部66は、例えば、交差点検出計算量推定部65が求めた交差点の数と、1つの交差点に関する通過面数を読み出すために必要な演算回数と、1つの交差点に関して、通過面数と第1のしきい値とを比較する際に要する演算回数とを乗算する。そして、乗算により得られた値を有力候補抽出部36が処理する計算量と推定し、「有力候補抽出計算量」とする。
有力候補面描画計算量推定部67は、「有力候補面描画計算量推定処理」を実行し、有力候補面描画部37の処理時の計算量を推定する。有力候補面描画計算量推定部67は、例えば、交差点検出計算量推定部65が得た交差点の数と、各交差点における姿勢パラメータの値の平均値と、姿勢パラメータの値の分布とに基づいて、第1のしきい値よりも大きい有力候補として識別される姿勢パラメータの組合せの数を推定する。また、有力候補面描画計算量推定部67は、3次元画像内の面を描画するための面パラメータ式に従って1つの有力候補面を描画する時の演算回数を推定する。そして、推定した有力候補面を描画するときの演算回数と、推定した有力候補として識別される姿勢パラメータの組合せの数とを乗算し、得られた値を有力候補面描画部37が処理する計算量と推定し、「有力候補面描画計算量」とする。
通過判定計算量推定部68は、「通過判定計算量推定処理」を実行し、通過判定部38の処理時の計算量を推定する。通過判定計算量推定部68は、例えば、有力候補面描画計算量推定部67が推定した有力候補として識別される姿勢パラメータの組合せの数(有力候補面の数)に基づいて、有力候補面を2値化画像上にランダムに配置した場合に、有力候補面が候補領域内の1つの画素を通過する回数を求める。そして、求めた画素を通過する回数と、1つの通過画素の座標を得るために要する演算回数とを乗算する。そして、得られた値を通過判定部38が処理する計算量と推定し、「通過判定計算量」とする。
重み算出計算量推定部69は、「重み算出計算量推定処理」を実行し、重み算出部39の処理時の計算量を推定する。重み算出計算量推定部69は、例えば、面パラメータ式に従って1つの接平面を算出するための演算回数を推定する。そして、推定した接平面の算出時における演算回数と、接平面がxy平面、yz平面およびzx平面とそれぞれなす角度のうちから最小角度を求めるときの演算回数と、最小角度から傾き重みを算出するための演算回数とを加算する。さらに、加算により得られた値と、有力候補面の平均的な面積と、面の数とを乗算し、得られた値を重み算出部39が処理する計算量と推定し、「重み算出計算量」とする。ここに、重み算出計算量推定部69による有力候補面の平均的な面積の算出方法は限定しないが、例えば、交差点検出計算量推定部65によるパラメータ面の平均面積の算出方法と同一の方法を適用すればよい。
個数計量計算量推定部610は、「個数計量計算量推定処理」を実行し、個数計量部310の処理時の計算量を推定する。個数計量計算量推定部610は、例えば、重み算出計算量推定部69が求めた有力候補面の平均的な面積と、有力候補面の数と、傾き重みを1回乗算するために必要な演算回数とを乗算する。そして、得られた値を個数計量部310が処理する計算量と推定し、「個数計量計算量」とする。
実在面判定計算量推定部611は、「実在面判定計算量推定処理」を実行し、実在面判定部311の処理時の計算量を推定する。実在面判定計算量推定部611は、例えば、推定した有力候補面の個数と、1つの有力候補面に関して傾き重みの合計(個数)と第2のしきい値とを比較するために必要な演算回数と、所定の近傍領域にて個数が最大か否かを判別するために必要な計算量とを乗算する。そして、得られた値を実在面判定部311が処理する計算量と推定し、「実在面判定計算量」とする。
また、各構成要素612〜616は、第2データ処理装置3cの各構成要素が処理する計算量(計算コスト)を推定する。
全候補面描画計算量推定部612は、「全候補面描画計算量推定処理」を実行し、全候補面描画部33aの処理時の計算量を推定する。全候補面描画計算量推定部612は、例えば、3次元画像内の面を示す面パラメータ式から候補面を1つ描画するための演算回数を推定する。そして、推定した1つの候補面を描画するために必要な演算回数と、パラメータ空間における全ての姿勢パラメータの組合せの数とを乗算し、得られた値を全候補面描画部33aが処理する計算量と推定し、「全候補面描画計算量」とする。
全通過判定計算量推定部613は、「全通過判定計算量推定処理」を実行し、通過判定部34aの処理時の計算量を推定する。全通過判定計算量推定部613は、通過判定計算量推定部68と同一の処理により、「全通過判定計算量」を求める。
全重み算出計算量推定部614は、「全重み算出計算量推定処理」を実行し、重み算出部35aの処理時の計算量を推定する。全重み算出計算量推定部614は、重み算出計算量推定部69と同一の処理により、「全重み算出計算量」を求める。
全個数計量計算量推定部615は、「全個数計量計算量推定処理」を実行し、個数計量部36aの処理時の計算量を推定する。全個数計量計算量推定部615は、個数計量計算量推定部610と同一の処理により、全個数計量計算量を求める。
全実在面判定計算量推定部616は、「全実在面判定計算量推定処理」を実行し、実在面判定部37aの処理時の計算量を推定する。全実在面判定計算量推定部616は、実在面判定計算量推定部611と同一の処理により、全実在面判定計算量を求める。
なお、第1データ処理装置3bにおいては、図3に示した有力候補面描画部37、通過判定部38、重み算出部39、個数計量部310および実在面判定部311は、各処理を実行する前に、有力候補面の絞込を一旦実行する。そして、各構成要素37〜311は、絞り込まれた有力候補面のみを3次元画像に描画して、処理を継続する。
一方、第2データ処理装置3cにおいては、図8に示した全候補面描画部33a、通過判定部34a、重み算出部35a、個数計量部36a、実在面判定部37aは、有力候補面の絞込を実行しない。そのため、各構成要素33a〜37aは、全てのパラメータの組合せについて、面を画像上に描画して、処理を継続する。なお、各構成要素37〜311による処理と、各構成要素33a〜37aによる処理との間の差異は、有力候補面の絞込の有無のみであり、計算方法については同一である。
手法選択部617は、「パラメータ空間計算量」と「画像空間計算量」とを比較し、その比較結果に基づいて、第1データ処理装置3bまたは第2データ処理装置3cのうちから処理を実行させるデータ処理装置を選択する。
ここに「パラメータ空間計算量」とは、パラメータ算出計算量と、パラメータ面描画計算量と、交差点検出計算量と、有力候補抽出計算量と、有力候補面描画計算量と、通過判定計算量と、重み算出計算量と、個数計量計算量と、実在面判定計算量との合計である。
また、「画像空間計算量」とは、全候補面描画計算量と、全通過判定計算量と、全重み算出計算量と、全個数計量計算量と、全実在面判定計算量との合計である。
手法選択部617は、パラメータ空間計算量が画像空間計算量よりも小さいと判別した場合、第1データ処理装置3bを選択する。また、画像空間計算量がパラメータ空間量よりも小さいと判別した場合、第2データ処理装置3cを選択する。パラメータ空間計算量と画像空間計算量とが等しいと判別した場合、手法選択部617は、あらかじめ定めたルールに従って、データ処理装置を選択する。
なお、各構成要素が処理する計算量の推定時には確率的に面の配置などを決めており、計算量自体に所定の確率分布をもたせてもよい。例えば推定値に誤差を加えた表記をしてもよい。この場合、パラメータ空間計算量や画像空間計算量を求める際など確率分布を持った数値同士を演算する場合は誤差伝播を考慮して、演算後の数値にも分布を持たせてもよい。
(実施形態4)
次に、本発明の実施形態4について、詳細に説明する。図12に示すように、実施形態4のデータ処理装置3dでは、実施形態1のデータ処理装置3が有する2値化部31の前段(入力側)に設けられた「平滑化部312」を有している。この平滑化部312は、「平滑化処理」を実行し、3次元画像を平滑化するための処理を3次元画像に施す機能を有する。
3次元画像の平滑化方法については、特に限定しない。例えば、重みが3次元ガウシアンとなっているマスクを3次元画像に畳み込む方法、局所領域内で平均をとる方法、局所領域内で中間値をとる方法、画素値の空間分布のモデルをあらかじめ設定し最小2乗フィッティングする方法などの一般的な平滑化方法を適用してもよい。この平滑化処理により、3次元画像に含まれているノイズ成分の影響を低減することができる。
なお、平滑化部312は、実施形態1のデータ処理装置3が有する2値化部31の前段に追加するに限らず、実施形態2または3が有する2値化部の直前に追加してもよい。
(実施形態5)
次に、本発明の実施形態5について、詳細に説明する。図13に示すように、実施形態5のデータ処理装置3eは、実施形態1のデータ処理装置3が有する2値化部31の後段(出力側)に設けられた「膨張収縮部313」を有する。
膨張収縮部313は、外部から与えられた回数だけ、2値化画像の候補領域CRを膨張させる「膨張処理」、または、候補領域CRを収縮させる「収縮処理」である「膨張収縮処理」を実行する。
3次元画像の膨張収縮処理は、2次元画像にて一般的に用いられる方法を3次元画像に適用したものである。例えば、「膨張処理」では、注目画素について3次元空間における6近傍のうち1つでも候補領域CRの画素があれば注目画素を候補領域とする。また、例えば、「収縮処理」では、注目画素について6近傍のうち1つでも背景領域BRに属する画素があれば注目画素を背景領域とする。膨張処理または収縮処理によりノイズを低減したり、途切れた面をある程度つなぐこともできる。
膨張処理と収縮処理とを実行する順序は任意であり、互いの処理の実行順序を入れ替えてもよい。また、膨張と収縮とを、所定回数繰り返し実行してもよい。
なお、膨張収縮部313は、実施形態1のデータ処理装置3が有する2値化部31の後段に追加するに限らず、実施形態2、3または4が有する2値化部の直前に追加してもよい。
(実施形態6)
つぎに、本発明の実施形態6について、詳細に説明する。図14に示すように、実施形態6のデータ処理装置3fは、実施形態1のデータ処理装置3が有する構成に加えて、「画像サイズ変更部314」と、「パラメータ微調整部315」とを有する。
画像サイズ変更部314は、「画像サイズ変更処理」を実行し、任意の画像のサイズを縮小または拡大することにより、該画像のサイズを変更する。
画像サイズ変更部314は、3次元画像を所定の縮小率に従って縮小することにより3次元画像の縮小画像を生成し、実在面判定部311は、その縮小画像に基づいて実在面を求める。
さらに、画像サイズ変更部314は、実在面判定部311により一旦実在面が求まった後、元の3次元画像を一旦縮小した縮小画像(例えば、元の3次元画像の1/4倍の画像)を、元の3次元画像よりも小さなサイズであって、縮小画像(元の1/4倍の画像)よりも大きなサイズに変更することにより、新たな画像(例えば、元の3次元画像の1/2倍である画像)を生成する。
パラメータ微調整部315は、一旦求まった実在面を新たに有力候補面とみなしパラメータ空間上の近傍で新たに実在面を求めるための「パラメータ微調整処理」を実行する。パラメータ微調整部315は、所定回数に達するまで、あるいは、所定の精度が得られるまで、画像サイズ変更部314による倍率の異なる画像サイズの変更(縮小)と、実在面判別部311による新たな実在面の識別と、を交互に繰り返し実行させる。
実施形態6によれば、画像を順次高精細にすることにより、より低計算量の演算処理により、より高い精度で実在面を検出できる。
つぎに、画像サイズ変更部314が3次元画像のサイズ(3次元画像の縮小率または拡大率)を段階的に順次変更する場合の詳細な動作を説明する。実在面判定部311が実在面を識別する前には、まず、2値化部31に続いて、面パラメータ式表現部32を参照したパラメータ算出部33、パラメータ面描画部34、交差点検出部35、有力候補抽出部36を経て有力候補面描画部37およびそれ以降での処理が実施される。この一連の動作における、面パラメータ式表現部32、パラメータ算出部33、パラメータ面描画部34、交差点検出部35、有力候補抽出部36の各処理により、ハフ変換によって全パラメータ空間から領域を絞込むための演算結果(所定の画像縮小率に対応する実在面)が得られる。
なお、所定の縮小率で縮小された画像において、実在面を一旦求めてしまえば、その実在面を有力候補面として用い、その近傍で探索してパラメータを精密化することが可能になる。そのため、1回目の動作を繰り返し実行する2回目以降の動作では、各構成要素32〜36による処理は不要であり、2値化部31の処理に続いて、有力候補面描画部37の処理を実行する。
なお、画像サイズ変更部314およびパラメータ微調整部315は、実施形態1のデータ処理装置3に追加するに限らず、実施形態2、3、4または5が有する構成に追加してもよい。
そのため、以下では、実施形態2と基本的に同一の構成を有するデータ処理装置3gに、画像サイズ変更部314とパラメータ微調整部315とを追加した例について説明する。
なお、図15に示すように、データ処理装置3gは、図9に示した全候補面描画部33aに代えて、全候補面有力候補面描画部316を有する。
全候補面有力候補面描画部316は、「全候補面有力候補面描画処理」を実行し、実在面の算出前に実行する1回目の動作では、パラメータ空間上のすべてのパラメータの組合せについて、有力候補面を3次元画像内に描画する。しかし、実在面が一旦求まった後には、次のサイズの縮小画像で実在面を求める際は、パラメータ空間において特定された実在面の近傍領域に含まれるパラメータの組合せに基づいて、実在面を描画する。
(実施形態7)
次に、本発明の実施形態7について、詳細に説明する。図16に示すように、本発明の実施形態7のデータ処理装置3hは、実施形態1のデータ処理装置3が有する構成において、面パラメータ式表現部32の後段(出力側)に設けられた「パラメータ空間粗視化部317」と、「パラメータ微調整部315」とを有する。
パラメータ空間粗視化部317は、「パラメータ空間粗視化処理」を実行し、パラメータ空間の離散化幅を所定幅に変更(例えば、大きくする)することでパラメータ空間を粗くし、実在面を求める。パラメータ空間粗視化部317は、実在面を求めた後に、パラメータ空間をより密に離散化する。
パラメータ微調整部315は、「パラメータ微調整処理」を実行し、パラメータ空間粗視化部317が離散化(細分化)したパラメータ空間で一旦求まった実在面を基準とする近傍領域にて新たな実在面を求める。パラメータ微調整部315は、離散化幅が異なるパラメータ空間での新たな実在面の導出を、「所定の処理回数」に達するまで、または、離散化幅が所定値に達するまで、新たな実在面の算出を繰り返し実行する。
実施形態7によれば、パラメータ空間を順次高精細にすることにより、より高い精度でより低計算量で面を抽出することができる。
ここでパラメータ空間の離散化幅を繰り返し段階的に小さくしていく場合の詳細な動作を説明する。1回目の動作では、面パラメータ式表現部32の処理後、パラメータ空間粗視化部317が、パラメータ空間の離散化幅を変更する。その後、各構成要素32〜36による処理が実行される。1回目の動作における各構成要素32〜36の動作は、ハフ変換によって全パラメータ空間から領域を絞込むために行われる。
そのため、2回目以降の動作では、パラメータ空間粗視化部317の処理に続いて、有力候補面描画部37による処理が実行される。一旦あるパラメータ空間の離散化幅で実在面が得られたら、それをそのまま有力候補面としてその近傍で探索してパラメータを精密化する。
なお、パラメータ空間粗視化部317およびパラメータ微調整部315は、実施形態1のデータ処理装置3に追加するに限らず、実施形態2〜6が有する構成に追加してもよい。
そのため、以下では、実施形態2と基本的に同一の構成を有するデータ処理装置3iに、パラメータ空間粗視化部317とパラメータ微調整部315とを追加した例について説明する。
図17に示すように、データ処理装置3iは、パラメータ空間粗視化部317とパラメータ微調整部315とを有する。なお、データ処理装置3iは、図9に示した全候補面描画部33aに代えて、全候補面有力候補面描画部316を有する。全候補面有力候補面描画部316は、実在面の算出前に実行される1回目の動作では、パラメータ空間上のすべてのパラメータの組み合わせについて面を3次元画像内に描画する。しかし、実在面が一旦算出された後に実行される2回目以後の動作では、サイズの縮小画像で実在面を求める際に、パラメータ空間にて算出された実在面を基準とする近傍領域で、パラメータの組合せに基づいて、実在面を描画する。
(実施形態8)
つぎに、本発明の実施形態8について、詳細に説明する。図18に示すように、実施形態8のデータ処理装置3jは、図3に示したパラメータ面描画部34に代えて、「画素値重み付パラメータ面描画部318」を有するとともに、図3に示した有力候補抽出部36に代えて、「画素値重み付有力候補抽出部319」を有する。さらに、データ処理装置は、図3に示した重み算出部39に代えて、「画素値重み付重み算出部320」を有する。
画素値重み付パラメータ面描画部318は、パラメータ空間上にパラメータ面を描画する際、2値化前の3次元画像の画素値に基づいた重みを算出して「画素値重み」を求める。なお、「画素値重み」の適用により、3次元画像に明瞭に写り込んでいるが面積の小さい実在面を検出可能になる。
「画素値重み」としては、例えば、画素値をそのまま用いてもよく、画素値を対数変換して得られた値、画素値を所定の関数で変換して得られた値などを用いてもよい。すなわち、画素値重み付パラメータ面描画部318は、パラメータ算出部33が算出した姿勢パラメータの組合せと、2値化部31が2値化する前の画像の画素値に基づいて算出した値との乗算により求めた画素値重み付パラメータに基づいて、面パラメータ式に従ったパラメータ面を描画する。
画素値重み付有力候補抽出部319は、交差点において、パラメータ面同士が交差する通過面数と画素値重みとの合計が所定値よりも大きな通過点座標で、かつ、その通過点座標を基準とする近傍領域にて通過面数が最大であるときに、その通過点座標におけるパラメータの組合せを、検出対象となる基準面を形成するパラメータの組合せの有力候補として識別する。
画素値重み付重み算出部320は、通過判定部38が求めた通過画素における接平面と、前記パラメータ空間が有する各軸同士がそれぞれ形成する面とが成す角度に基づいて、通過判定部38が識別した通過画素ごとに傾き重みを求め、該求めた「傾き重み」と、2値化部31による2値化処理前の3次元画像の画素値に基づいて算出した「画素値重み」とを乗算し、新たな傾き重みである「画素値重み付傾き重み」を求める。
なお、画素値重みを考慮した各構成要素318〜320は、実施形態1のデータ処理装置3に追加するに限らず、実施形態2〜7が有する構成に追加してもよい。
実施形態2のデータ処理装置3aに追加する場合、図19に示すデータ処理装置3kのように、図9に示した重み算出部35aに代えて、画素値重み付重み算出部320を設けるようにすればよい。
また、実施形態3にて各構成要素318〜320を適用する場合、図18に示したデータ処理装置3jを第1データ処理装置として適用し、図19に示したデータ処理装置3kを第2データ処理装置として適用する。
このとき、図20に示すように、データ処理切替装置6aは、図11に示したパラメータ面描画計算量推定部64に代えて、「画素値重み付パラメータ面描画計算量推定部618」を有する。また、データ処理切替装置6aは、図11に示した有力候補抽出計算量推定部66に代えて、「画素値重み付有力候補抽出計算量推定部619」を有する。また、データ処理切替装置6aは、図11に示した重み算出計算量推定部69に代えて、「画素値重み付重み算出計算量推定部620」を有する。また、データ処理切替装置6aは、図11に示した全重み算出計算量推定部614に代えて、「全画素値重み付重み算出計算量推定部621」を有する。
各構成要素618〜621により、画素値重みを考慮した計算量を推定することが可能となり、推定した計算量に基づいて、データ処理切替装置6aは、計算量が少ない方の第1データ処理装置3jまたは第2データ処理装置3kを、選択的に動作させる。
(実施形態9)
つぎに、本発明の実施形態9について、詳細に説明する。図21に示すように、実施形態9のデータ処理装置3lは、図3に示したデータ処理装置3の構成に加え、「位置関係推定部321」と、「姿勢意味付部322」とを有する。
位置関係推定部321は、「位置関係推定処理」を実行し、外部データ入力部21が入力した3次元画像に複数の実在面が写り込んでいる場合、各実在面の位置関係を推定する。例えば、2つの実在面が写り込んでいる場合に、2つの実在面のうちで上方に位置する実在面を推定する。また、位置関係推定部321は、実在面を、その実在面に実際に対応する物理的実体(地面、海面、海底面など)に対応付けることで、同定する。
なお、外部の画像取得装置700が取得した3次元画像に複数の実在面が写り込んでいる場合とは、例えば、海中でソナーを用いて3次元画像を撮像したときに、海面と海底に相当する面との2つが写り込んでいる場合である。
位置関係推定部321は、「位置関係推定処理」を実行し、これまでの姿勢や位置や速度などの履歴を保持する。そして、保持している各履歴と、外部センサにより得られる情報(地磁気、気圧、温度、水圧、重力など)とに基づいて、3次元画像に写り込んだ各実在面の相対的な位置関係を推定する。
姿勢意味付部322は、「姿勢意味付処理」を実行し、姿勢パラメータと、基準面とを対応付けることにより、基準面に対する姿勢推定対象の姿勢を定める処理である「意味付」を実行する。
例えば、姿勢意味付部322は、海面と海底との位置関係に基づいて、海面である面と、海底である面とを分別し、各面に対する姿勢パラメータ(例えば、海面に対する姿勢パラメータ、海底に対する姿勢パラメータなど)を分別する。これにより、姿勢パラメータの意味付が行われる。この「意味付」は、それぞれの姿勢パラメータが、どのような基準面と対応付けられているかを意味するものである。また、例えば、姿勢意味付部322は、面の形状や表面の画素値の分布に基づいて面を分別し、分別した各面に対する姿勢パラメータの意味付を行う。また、例えば、姿勢意味付部322は、位置関係および面の形状や表面の画素値の分布に基づいて画像に写り込んだ面を分別し、分別した各面に対する姿勢パラメータの意味付を行う。なお、姿勢意味付部322は、意味付けた姿勢パラメータを、通信装置5を介して姿勢制御システム800に出力する。
位置関係推定部321と姿勢意味付部322によって、どの基準面を対象として求めた姿勢パラメータであるかが明確になり、飛翔体や航走体の姿勢をより正確に制御することが可能となる。
なお、位置関係推定部321および姿勢意味付部322は、実施形態1のデータ処理装置3に追加するに限らず、実施形態2〜8が有する構成に追加してもよい。
以上説明したように、本発明の姿勢推定システム1によれば、以下の効果を奏する。
第1の効果として、ノイズが多い3次元画像においても、高い精度で姿勢パラメータの基準となる面を検出でき、その結果、高い精度で姿勢を推定できる。これは、3次元空間内で面を構成する全画素を使うため、ノイズ成分の影響が軽減されるためである。
第2の効果として、単純な方法により姿勢パラメータの基準となる面を検出できる。そのため、精度を上げた場合の処理時間を短縮することが可能になる。これは、面を構成する直線または面の一部である複数の部分的な面(パッチ)などを算出することなく、直接、面全体を算出するためである。
第3の効果として、姿勢パラメータのうち、角度で示されるものについてはその値によらず一様な精度で推定でき、かつ、精度を容易に指定できる。これは、姿勢パラメータをそのままハフ変換のパラメータとして入力できるように、面を記述する式を構成したためである。
第4の効果として、面の検出精度を3次元画像上で均一にできる。これは、パラメータ毎に対応する面を3次元画像内に描画するため、パラメータ空間でのパラメータの組に対し3次元画像での面が1つだけ特定されるためである。また、これを単に3次元画像内に面を描画するという簡単な処理だけで実現するということ、その描画する面についても、しきい値以上のものであり、近傍内に他に自身より回数や個数を上回るものとすることにより、個数を制限しているということから、計算負荷の増大を抑えることができる。
第5の効果として、平面に限らず曲面においても、検出精度が3次元画像上で均一にできる。これは、パラメータ空間でのパラメータの組と3次元画像内の面とを1対1に対応させるためには単純にパラメータに従って面を描画するという処理のみである。パラメータで記述されている場合、面の検出精度は、その面の形状に依存しないためである。
第6の効果として、面の向きに関わらず検出精度を固定できる。これは、検出対象の面の接平面のxy平面、yz平面、zx平面に対する傾きに応じて、パラメータ空間で数え上げたパラメータ面の重なり数を、3次元画像内でユークリッド距離に基づいて面の面積を測った場合の値に調整するためである。
第7の効果として、2値化後の候補領域の画像全体に対する比率が高い場合でも、計算量の増大を抑制できる。これは、ハフ変換せずに最初から逆ハフ変換して検出すべき面を構成するパラメータの組を見出す構成において、面検出処理の実行開始前に、各手法による計算量を推測結果に基づいてハフ変換するか否かを判別するためである。
なお、本発明においては、姿勢推定システム1内の処理は上述の専用のハードウェアにより実現されるもの以外に、その機能を実現するためのプログラムを姿勢推定システム1にて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムを姿勢推定システム1に読み込ませ、実行するものであってもよい。姿勢推定システム1にて読取可能な記録媒体とは、フロッピーディスク(登録商標)、光磁気ディスク、DVD、CDなどの移設可能な記録媒体の他、姿勢推定システム1に内蔵されたHDD等を指す。この記録媒体に記録されたプログラムは、例えば、姿勢推定システム1が有するデータ処理装置3にて読み込まれ、データ処理装置3の制御によって、上述したものと同様の処理が行われる。
ここで、姿勢推定システム1が有するデータ処理装置3は、プログラムが記録された記録媒体から読み込まれたプログラムを実行するコンピュータとして動作するものである。
本発明の実施形態1に従った姿勢推定システムの構成を示す図である。 図1に示した入力装置の構成を示す図である。 図1に示したデータ処理装置の構成を示す図である。 図1に示した記憶装置の構成を示す図である。 図4に示した交差点リストのデータ構造の一例を示す図である。 実在面を識別する動作を示すフローチャートである。 基準となる平面に対する飛翔体や航走体の姿勢や位置関係の例を示す図である。 基準となる球面に対する飛翔体や航走体の姿勢や位置関係の例を示す図である。 実施形態2におけるデータ処理装置の構成を示す図である。 実施形態3に従った姿勢推定システムの構成を示す図である。 図10に示したデータ処理切替装置の構成を示す図である。 実施形態4におけるデータ処理装置の構成の一例を示す図である。 実施形態5におけるデータ処理装置の構成の一例を示す図である。 実施形態6におけるデータ処理装置の構成の第1の例を示す図である。 実施形態6におけるデータ処理装置の構成の第2の例を示す図である。 実施形態7におけるデータ処理装置の構成の第1の例を示す図である。 実施形態7におけるデータ処理装置の構成の第2の例を示す図である。 実施形態8におけるデータ処理装置の構成の第1の例を示す図である。 実施形態8におけるデータ処理装置の構成の第2の例を示す図である。 実施形態8におけるデータ処理切替装置の構成の一例を示す図である。 実施形態9におけるデータ処理装置の構成を示す図である。 ハフ変換を説明するための平面上の直線の例を示す図である。 直線上の点を検出した場合、パラメータ空間で得られるパラメータ線の例を示す図である。 (a)は、検出対象の各線上において、各線上に位置する3つの点が検出された第1の例を示す図である。(b)は、各点に対応するパラメータ線が異なる座標上で交差する一例を示す図である。 (a)は、検出対象の各線上において、各線上に位置する3つの点が検出された第2の例を示す図である。(b)は、各点に対応するパラメータ線が同一の座標で交差する一例を示す図である。 (a)直線状に配置された画素列の第1の例を示す図である。(b)直線状に配置された画素列の第2の例を示す図である。 平面の面積がzx平面に投影した面積と同じになる例を示す図である。
符号の説明
1、1a 姿勢推定システム
2 入力装置
3、3a、3d、3e、3f、3g、3h、3i、3j、3k、3l データ処理装置
3b 第1データ処理装置
3c 第2データ処理装置
4 記憶装置
5 通信装置
6、6a データ処理切替装置
700 画像取得装置
800 姿勢制御システム
21 外部データ入力部
22 文字入力部
31、31a、61 2値化部
32、32a、62 面パラメータ式表現部
33 パラメータ算出部
33a 全候補面描画部
34 パラメータ面描画部
35 交差点検出部
36 有力候補抽出部
37 有力候補面描画部
38、34a 通過判定部
39、35a 重み算出部
310、36a 個数計量部
311、37a 実在面判定部
312 平滑化部
313 膨張収縮部
314 画像サイズ変更部
315 パラメータ微調整部
316 全候補面有力候補面描画部
317 パラメータ空間粗視化部
318 画素値重み付パラメータ面描画部
319 画素値重み付有力候補抽出部
320 画素値重み付重み算出部
321 位置関係推定部
322 姿勢意味付部
41 しきい値記憶部
42 パラメータ空間記憶部
43 画像記憶部
421 交差点リスト
422 通過画素リスト
63 パラメータ算出計算量推定部
64 パラメータ面描画計算量推定部
65 交差点検出計算量推定部
66 有力候補抽出計算量推定部
67 有力候補面描画計算量推定部
68 通過判定計算量推定部
69 重み算出計算量推定部
610 個数計量計算量推定部
611 実在面判定計算量推定部
612 全候補面描画計算量推定部
613 全通過判定計算量推定部
614 全重み算出計算量推定部
615 全個数計量計算量推定部
616 全実在面判定計算量推定部
617 手法選択部
618 画素値重み付パラメータ面描画計算量推定部
619 画素値重み付有力候補抽出計算量推定部
620 画素値重み付重み算出計算量推定部
621 全画素値重み付重み算出計算量推定部

Claims (60)

  1. 入力された画像に基づいて、姿勢を推定する基準となる基準面に対する姿勢推定対象の姿勢を推定するデータ処理装置であって、
    前記画像を、前記基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する2値化部と、
    前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現部と、
    前記2値化部が分割した候補領域に含まれる各画素を通るすべての面を表現する前記面パラメータ式を構成する姿勢パラメータの組合せを、前記面パラメータ式表現部が抽出した姿勢パラメータに基づいて算出するパラメータ算出部と、
    前記姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、前記パラメータ算出部が算出した姿勢パラメータの組合せに基づいて、前記面パラメータ式に従ったパラメータ面を描画するパラメータ面描画部と、
    前記パラメータ面描画部が描画した前記パラメータ面が複数通過する交差点の座標である通過点座標と、該通過点座標を通過するパラメータ面の数である通過面数とを求める交差点検出部と、
    前記交差点検出部が求めた各通過点における通過面数が、該通過面数に対応する通過点座標を基準とする所定の近傍領域における他の通過点座標における通過面数と比較して最大であると判別したときに、該判別した通過面数に対応するパラメータ面を構成する姿勢パラメータの組合せを、前記基準面を表現するために最適な姿勢パラメータの組合せである有力候補として識別する有力候補抽出部と、
    前記有力候補抽出部が識別した有力候補と、該有力候補を基準とする所定の近傍領域にて前記パラメータ空間上の有力候補との距離が所定値以下である前記パラメータ算出部が算出した姿勢パラメータの組合せとに基づいて、前記画像上に有力候補面を描画する有力候補面描画部と、
    前記有力候補面描画部が描画した各有力候補面について、前記候補領域のうちで該有力候補面上に位置している画素と、該有力候補面から所定範囲内に位置している画素とを、通過画素として識別し、該通過画素の座標および前記通過画素における接平面を求める通過判定部と、
    前記通過判定部が求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定部が識別した通過画素ごとに傾き重みを求める重み算出部と、
    前記有力候補面ごとに、該有力候補にそれぞれ含まれる前記重み算出部が求めた通過画素の傾き重みを合計した値である個数を算出する個数計量部と、
    前記個数計量部が算出した個数が、該個数を有する有力候補面を基準とする近傍領域における他の有力候補面が有する個数と比較して最大であると判別したときに、該判別した個数を有する有力候補面を、前記画像に実在する基準面である実在面として識別する実在面判定部とを有するデータ処理装置。
  2. 前記姿勢パラメータのうちで方向を示すパラメータが、角度であることを特徴とする請求項1に記載のデータ処理装置。
  3. 前記角度に対して変換を施すための前記所定の関数が、三角関数であり、
    前記面パラメータ式表現部は、前記角度に前記三角関数による変換を施して得られた値と、前記角度以外の姿勢パラメータとに基づいて、前記面パラメータ式を求めることを特徴とする請求項2に記載のデータ処理装置。
  4. 前記有力候補抽出部は、
    前記交差点検出部が求めた各通過点における通過面数と第1のしきい値とを比較し、該第1のしきい値よりも大きいと判別した通過面数に対応する前記姿勢パラメータの組合せのうちから、前記有力候補を識別することを特徴とする請求項1に記載のデータ処理装置。
  5. 前記有力候補抽出部は、前記有力候補を抽出したときに、該有力候補として抽出された姿勢パラメータの組合せに対して、有力候補面ビットを、有力候補面であることを示す所定値に変更することを特徴とする請求項4に記載のデータ処理装置。
  6. 前記重み算出部は、
    前記有力候補面描画部が描画した有力候補面上の各点において、該点での接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士が形成する面とが成す角度を求め、
    前記求めた角度のうちで絶対値が最小となる角度を最小角度として定め、該定めた最小角度に対応する余弦の逆数の絶対値を算出することにより、前記有力候補面が通過する画素の傾き重みを求めることを特徴とする請求項1に記載のデータ処理装置。
  7. 前記実在面判定部は、
    前記個数計量部が算出した個数と第2のしきい値とを比較し、該第2のしきい値よりも大きいと判別した個数を有する有力候補面のうちから前記実在面を識別することを特徴とする請求項1に記載のデータ処理装置。
  8. 前記実在面判定部は、前記実在面を識別したときに、該実在面として識別された有力候補面を形成する前記姿勢パラメータの組合せに対して、実在面ビットを、実在面であることを示す所定値に変更することを特徴とする請求項7に記載のデータ処理装置。
  9. 入力された画像に基づいて、姿勢を推定する基準となる基準面に対する姿勢推定対象の姿勢を推定するデータ処理装置であって、
    前記画像を、前記基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する2値化部と、
    前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現部と、
    前記姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、該パラメータ空間上のすべての姿勢パラメータの組合せに基づいて、前記面パラメータ式に従った候補面を前記画像上に描画する全候補面描画部と、
    前記全候補面描画部が描画した各候補面について、前記候補領域のうちで該候補面上に位置している画素と、該候補面から所定範囲内に位置している画素とを、通過画素として識別し、該通過画素の座標と、前記通過画素における接平面とを求める通過判定部と、
    前記通過判定部が求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定部が識別した通過画素ごとに傾き重みを求める重み算出部と、
    前記候補面ごとに、該候補面にそれぞれ含まれる前記重み算出部が求めた通過画素の傾き重みを合計した値である個数を算出する個数計量部と、
    前記個数計量部が算出した個数に基づいて、前記全候補面描画部が描画した候補面のうちから、前記画像に実在する基準面である実在面を識別する実在面判定部とを有するデータ処理装置。
  10. 前記入力された画像に平滑化する処理を施す平滑化部、を有し、
    前記2値化部は、前記平滑化部が平滑化した画像に基づいて、2値化画像を生成することを特徴とする請求項1または9に記載のデータ処理装置。
  11. 前記2値化部が生成した2値化画像の候補領域に対して、該候補領域を膨張させる膨張処理、または、該候補領域を収縮させる収縮処理を、所定回数だけ実行する膨張収縮部、を有することを特徴とする請求項1、9および10のいずれか1項に記載のデータ処理装置。
  12. 任意の画像のサイズを縮小または拡大することにより、該画像のサイズを変更する画像サイズ変更部と、
    所定回数に達するまで、あるいは、所定の精度が得られるまで、前記画像サイズ変更部による倍率の異なる画像サイズの変更と、前記実在面判別部による新たな実在面の識別と、を交互に繰り返し実行させるパラメータ微調整部、とを有し、
    前記画像サイズ変更部は、
    前記実在面判定部が実在面を識別する前に、前記入力された画像を所定の縮小率で縮小することにより縮小画像を生成し、
    前記実在面判定部が実在面を識別した後に、前記生成した縮小画像を、前記入力された画像よりも小さなサイズであって、かつ、該縮小画像よりも大きなサイズに変更することにより、新たな画像を生成することを特徴とする請求項1、9乃至11のいずれか1項に記載のデータ処理装置。
  13. 前記パラメータ空間の離散化幅をあらかじめ与えた幅に大きくしてパラメータ空間を粗くし実在面を求め、一旦実在面が求まった後、パラメータ空間をより密に離散化するパラメータ空間粗視化部と、
    前記離散化したパラメータ空間で一旦求まった実在面の近傍領域において、離散化幅が異なるパラメータ空間での新たな実在面の導出を、所定の処理回数に達するまで、または、離散化幅が所定値に達するまで繰り返し実行させるパラメータ微調整部とを有することを特徴とする請求項1または9に記載のデータ処理装置。
  14. 前記パラメータ空間上に、前記パラメータ算出部が算出した姿勢パラメータの組合せと、前記2値化部が2値化する前の画像の画素値に基づいて算出した値との乗算により求めた画素値重みに基づいて、前記面パラメータ式に従ったパラメータ面を描画する画素値重み付パラメータ面描画部と、
    前記通過点座標において、前記パラメータ面同士が交差する通過面数と画素値重みとの合計が所定値より大きい通過点座標で、かつ、その通過点座標を基準とする近傍領域にて通過面数が最大であるときに、その通過点座標におけるパラメータの組合せを、検出対象となる基準面を形成するパラメータの組合せの有力候補として識別する画素値重み付有力候補抽出部と、
    前記通過判定部が求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定部が識別した通過画素ごとに傾き重みを求め、該求めた傾き重みと、前記2値化部が2値化する前の画像の画素値に基づいて算出した値とを乗算することにより、画素値重み付傾き重みを求める画素値重み付重み算出部とを有することを特徴とする請求項1に記載のデータ処理装置。
  15. 前記傾き重みと、前記2値化部が2値化する前の画像の画素値に基づいて算出した値とを乗算することにより、画素値重み付傾き重みを求める画素値重み付重み算出部、を有することを特徴とする請求項9に記載のデータ処理装置。
  16. 前記入力された画像に複数の実在面が写り込んでいる場合、該各実在面の相互の位置関係を推定するとともに、該実在面を物理的実体に対応付けることにより同定する位置関係推定部と、
    前記位置関係推定部が推定した前記複数の面の位置関係に基づいて、前記姿勢パラメータと、前記実在面とを対応付けることにより、該実在面に対する姿勢推定対象の姿勢を定める処理である意味付を行う姿勢意味付部と、を有することを特徴とする請求項1または9に記載のデータ処理装置。
  17. 請求項1に記載のデータ処理装置と、請求項9に記載のデータ処理装置と、を具備する姿勢推定システムにおいて、
    前記請求項1に記載のデータ処理装置が前記基準面である実在面を識別するための演算処理の大きさを示す計算量であるパラメータ空間計算量と、前記請求項9に記載のデータ処理装置が実在面を識別するための演算処理の大きさを示す計算量である画像空間計算量とを比較した結果に基づいて、前記請求項1に記載のデータ処理装置または前記請求項9に記載のデータ処理装置を選択し、該選択したデータ処理装置に前記実在面を識別させるデータ処理切替装置を有することを特徴とする姿勢推定システム。
  18. 前記データ処理切替装置は、
    前記画像を、前記基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する2値化部と、
    前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現部と、
    前記2値化部が分割した候補領域に含まれる各画素を通る全ての基準面を表現する前記面パラメータ式を構成する姿勢パラメータの組合せを、前記請求項1に記載のデータ処理装置が算出するための演算処理の大きさを示す量であるパラメータ算出計算量を推定するパラメータ算出計算量推定部と、
    前記面パラメータ式に従ったパラメータ面を前記請求項1に記載のデータ処理装置が描画するためのパラメータ面描画計算量を推定するパラメータ面描画計算量推定部と、
    前記通過点座標と前記通過面数とを、前記請求項1に記載のデータ処理装置が求めるための交差点検出計算量を推定する交差点検出計算量推定部と、
    前記有力候補を、前記請求項1に記載のデータ処理装置が識別するための有力候補抽出計算量を推定する有力候補抽出計算量推定部と、
    前記有力候補面を、前記請求項1に記載のデータ処理装置が描画するための有力候補面描画計算量を推定する有力候補面描画計算量推定部と、
    前記通過画素を前記請求項1に記載のデータ処理装置が識別し、該通過画素の座標と、前記通過画素における接平面とを前記請求項1に記載のデータ処理装置が求めるための通過判定計算量を推定する通過判定計算量推定部と、
    前記傾き重みを、前記請求項1に記載のデータ処理装置が求めるための重み算出計算量を推定する重み算出計算量推定部と、
    前記有力候補面ごとに、前記個数を前記請求項1に記載のデータ処理装置が算出するための個数計量計算量を推定する個数計量計算量推定部と、
    前記有力候補面のうちから、前記実在面を前記請求項1に記載のデータ処理装置が識別するための実在面判定計算量を推定する実在面判定計算量推定部と、
    前記面パラメータ式に従った候補面を、前記請求項9に記載のデータ処理装置が描画するための全候補面描画計算量を推定する全候補面描画計算量推定部と、
    前記通過画素を前記請求項9に記載のデータ処理装置が識別し、該通過画素の座標と、前記通過画素における接平面を前記請求項9に記載のデータ処理装置が求めるための全通過判定計算量を推定する全通過判定計算量推定部と、
    前記傾き重みを、前記請求項9に記載のデータ処理装置が求めるための全重み算出計算量を推定する全重み算出計算量推定部と、
    前記個数を、前記請求項9に記載のデータ処理装置が算出するための全個数計量計算量を推定する全個数計量計算量推定部と、
    前記候補面のうちから、前記実在面を、前記請求項9に記載のデータ処理装置が識別するための全実在面判定計算量を推定する全実在面判定計算量推定部と、
    前記パラメータ算出計算量と、前記パラメータ面描画計算量と、前記交差点検出計算量と、前記有力候補抽出計算量と、前記有力候補面描画計算量と、前記通過判定計算量と、前記重み算出計算量と、前記個数計量計算量と、前記実在面判定計算量とを合計することにより、前記パラメータ空間計算量を求め、
    前記全候補面描画計算量と、前記全通過判定計算量と、前記全重み算出計算量と、前記全個数計量計算量と、前記全実在面判定計算量とを合計することにより、前記画像空間計算量を求め、
    該求めたパラメータ空間計算量と該求めた画像空間計算量との比較の結果、前記パラメータ空間計算量が前記画像空間計算量よりも少ないと判別した場合に、前記請求項1に記載のデータ処理装置を選択して前記実在面を識別させ、該パラメータ空間計算量が該画像空間計算量よりも多いと判別した場合に、前記請求項9に記載のデータ処理装置を選択して前記実在面を識別させる手法選択部とを有することを特徴とする請求項17に記載の姿勢推定システム。
  19. 前記姿勢推定システムが、請求項14に記載のデータ処理装置を具備する場合において、
    前記データ処理切替装置は、
    前記パラメータ空間上にパラメータ面を描画する際、前記2値化部が2値化する前の画像の画素値に基づいて画素値重みを求める画素値重み付パラメータ面描画部と、
    前記交差点において、パラメータ面同士が交差する通過面数と画素値重みとの合計が所定値より大きい通過点座標で、かつ、その通過点座標を基準とする近傍領域にて通過面数が最大であるときに、その通過点座標におけるパラメータの組合せを、検出対象となる基準面を形成するパラメータの組合せの有力候補として識別する画素値重み付有力候補抽出部と、
    前記傾き重みに更に2値化前の3次元画像の画素値を元に算出した値をかけて新たに傾き重みとする画素値重み付重み算出部と、
    前記重み付パラメータ面描画部の実行に要する計算量を推定する、画素値重み付パラメータ面描画計算量推定部と、
    前記画素値重み付有力候抽出部の実行に要する計算量を推定する画素値重み付有力候抽出計算量推定部と、
    前記画素値重み付重み算出部の実行に要する計算量を推定する画素値重み付重み算出計算量推定部とを有することを特徴とする請求項18に記載の姿勢推定システム。
  20. 前記実在面判定部が実在面であると判別した場合に、該判別された実在面を構成する姿勢パラメータを外部に送信するための通信装置、を有することを特徴とする請求項17乃至19のいずれか1項に記載の姿勢推定システム。
  21. 入力された画像に基づいて、姿勢を推定する基準となる基準面に対する姿勢推定対象の姿勢を推定する姿勢推定方法であって、
    前記画像を、前記基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する2値化処理と、
    前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現処理と、
    前記2値化処理にて分割した候補領域に含まれる各画素を通るすべての面を表現する前記面パラメータ式を構成する姿勢パラメータの組合せを、前記面パラメータ式表現処理にて抽出した姿勢パラメータに基づいて算出するパラメータ算出処理と、
    前記姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、前記パラメータ算出処理にて算出した姿勢パラメータの組合せに基づいて、前記面パラメータ式に従ったパラメータ面を描画するパラメータ面描画処理と、
    前記パラメータ面描画処理にて描画した前記パラメータ面が複数通過する交差点の座標である通過点座標と、該通過点座標を通過するパラメータ面の数である通過面数とを求める交差点検出処理と、
    前記交差点検出処理にて求めた各通過点における通過面数が、該通過面数に対応する通過点座標を基準とする所定の近傍領域における他の通過点座標における通過面数と比較して最大であると判別したときに、該判別した通過面数に対応するパラメータ面を構成する姿勢パラメータの組合せを、前記基準面を表現するために最適な姿勢パラメータの組合せである有力候補として識別する有力候補抽出処理と、
    前記有力候補抽出処理にて識別した有力候補と、該有力候補を基準とする所定の近傍領域にて前記パラメータ空間上の有力候補との距離が所定値以下である前記パラメータ算出処理にて算出した姿勢パラメータの組合せとに基づいて、前記画像上に有力候補面を描画する有力候補面描画処理と、
    前記有力候補面描画処理にて描画した各有力候補面について、前記候補領域のうちで該有力候補面上に位置している画素と、該有力候補面から所定範囲内に位置している画素とを、通過画素として識別し、該通過画素の座標および前記通過画素における接平面を求める通過判定処理と、
    前記通過判定処理にて求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定処理にて識別した通過画素ごとに傾き重みを求める重み算出処理と、
    前記有力候補面ごとに、該有力候補にそれぞれ含まれる前記重み算出処理にて求めた通過画素の傾き重みを合計した値である個数を算出する個数計量処理と、
    前記個数計量処理にて算出した個数が、該個数を有する有力候補面を基準とする近傍領域における他の有力候補面が有する個数と比較して最大であると判別したときに、該判別した個数を有する有力候補面を、前記画像に実在する基準面である実在面として識別する実在面判定処理とを有する姿勢推定方法。
  22. 前記姿勢パラメータのうちで方向を示すパラメータが、角度であることを特徴とする請求項21に記載の姿勢推定方法。
  23. 前記角度に対して変換を施すための前記所定の関数が、三角関数であり、
    前記面パラメータ式表現処理では、前記角度に前記三角関数による変換を施して得られた値と、前記角度以外の姿勢パラメータとに基づいて、前記面パラメータ式を求めることを特徴とする請求項22に記載の姿勢推定方法。
  24. 前記有力候補抽出処理では、
    前記交差点検出処理にて求めた各通過点における通過面数と第1のしきい値とを比較し、該第1のしきい値よりも大きいと判別した通過面数に対応する前記姿勢パラメータの組合せのうちから、前記有力候補を識別することを特徴とする請求項21に記載の姿勢推定方法。
  25. 前記有力候補抽出処理では、前記有力候補を抽出したときに、該有力候補として抽出された姿勢パラメータの組合せに対して、有力候補面ビットを、有力候補面であることを示す所定値に変更することを特徴とする請求項24に記載の姿勢推定方法。
  26. 前記重み算出処理では、
    前記有力候補面描画処理にて描画した有力候補面上の各点において、該点での接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士が形成する面とが成す角度を求め、
    前記求めた角度のうちで絶対値が最小となる角度を最小角度として定め、該定めた最小角度に対応する余弦の逆数の絶対値を算出することにより、前記有力候補面が通過する画素の傾き重みを求めることを特徴とする請求項21に記載の姿勢推定方法。
  27. 前記実在面判定処理では、
    前記個数計量処理にて算出した個数と第2のしきい値とを比較し、該第2のしきい値よりも大きいと判別した個数を有する有力候補面のうちから前記実在面を識別することを特徴とする請求項21に記載の姿勢推定方法。
  28. 前記実在面判定処理では、前記実在面を識別したときに、該実在面として識別された有力候補面を形成する前記姿勢パラメータの組合せに対して、実在面ビットを、実在面であることを示す所定値に変更することを特徴とする請求項27に記載の姿勢推定方法。
  29. 入力された画像に基づいて、姿勢を推定する基準となる基準面に対する姿勢推定対象の姿勢を推定する姿勢推定方法であって、
    前記画像を、前記基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する2値化処理と、
    前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現処理と、
    前記姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、該パラメータ空間上のすべての姿勢パラメータの組合せに基づいて、前記面パラメータ式に従った候補面を前記画像上に描画する全候補面描画処理と、
    前記全候補面描画処理にて描画した各候補面について、前記候補領域のうちで該候補面上に位置している画素と、該候補面から所定範囲内に位置している画素とを、通過画素として識別し、該通過画素の座標と、前記通過画素における接平面とを求める通過判定処理と、
    前記通過判定処理にて求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定処理にて識別した通過画素ごとに傾き重みを求める重み算出処理と、
    前記候補面ごとに、該候補面にそれぞれ含まれる前記重み算出処理にて求めた通過画素の傾き重みを合計した値である個数を算出する個数計量処理と、
    前記個数計量処理にて算出した個数に基づいて、前記全候補面描画処理にて描画した候補面のうちから、前記画像に実在する基準面である実在面を識別する実在面判定処理とを有する姿勢推定方法。
  30. 前記入力された画像に平滑化する処理を施す平滑化処理、を有し、
    前記2値化処理では、前記平滑化処理にて平滑化した画像に基づいて、2値化画像を生成することを特徴とする請求項21または29に記載の姿勢推定方法。
  31. 前記2値化処理にて生成した2値化画像の候補領域に対して、該候補領域を膨張させる膨張処理、または、該候補領域を収縮させる収縮処理を、所定回数だけ実行する膨張収縮処理、を有することを特徴とする請求項21、29および30のいずれか1項に記載の姿勢推定方法。
  32. 任意の画像のサイズを縮小または拡大することにより、該画像のサイズを変更する画像サイズ変更処理と、
    所定回数に達するまで、あるいは、所定の精度が得られるまで、前記画像サイズ変更処理による倍率の異なる画像サイズの変更と、前記実在面判別処理による新たな実在面の識別と、を交互に繰り返し実行させるパラメータ微調整処理、とを有し、
    前記画像サイズ変更処理では、
    前記実在面判定処理にて実在面を識別する前に、前記入力された画像を所定の縮小率で縮小することにより縮小画像を生成し、
    前記実在面判定処理にて実在面を識別した後に、前記生成した縮小画像を、前記入力された画像よりも小さなサイズであって、かつ、該縮小画像よりも大きなサイズに変更することにより、新たな画像を生成することを特徴とする請求項21、29乃至31のいずれか1項に記載の姿勢推定方法。
  33. 前記パラメータ空間の離散化幅をあらかじめ与えた幅に大きくしてパラメータ空間を粗くし実在面を求め、実在面が一旦求まった後、パラメータ空間をより密に離散化するパラメータ空間粗視化処理と、
    前記離散化したパラメータ空間で一旦求まった実在面の近傍領域において、離散化幅が異なるパラメータ空間での新たな実在面の導出を、所定の処理回数に達するまで、または、離散化幅が所定値に達するまで繰り返し実行させるパラメータ微調整処理とを有することを特徴とする請求項21または29に記載の姿勢推定方法。
  34. 前記パラメータ空間上に、前記パラメータ算出処理にて算出した姿勢パラメータの組合せと、前記2値化処理にて2値化する前の画像の画素値に基づいて算出した値との乗算により求めた画素値重みに基づいて、前記面パラメータ式に従ったパラメータ面を描画する画素値重み付パラメータ面描画処理と、
    前記通過点座標において、前記パラメータ面同士が交差する通過面数と画素値重みとの合計が所定値より大きい通過点座標で、かつ、その通過点座標を基準とする近傍領域にて通過面数が最大であるときに、その通過点座標におけるパラメータの組合せを、検出対象となる基準面を形成するパラメータの組合せの有力候補として識別する画素値重み付有力候補抽出処理と、
    前記通過判定処理にて求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定処理にて識別した通過画素ごとに傾き重みを求め、該求めた傾き重みと、前記2値化処理にて2値化する前の画像の画素値に基づいて算出した値とを乗算することにより、画素値重み付傾き重みを求める画素値重み付重み算出処理とを有することを特徴とする請求項21に記載の姿勢推定方法。
  35. 前記傾き重みと、前記2値化処理にて2値化する前の画像の画素値に基づいて算出した値とを乗算することにより、画素値重み付傾き重みを求める画素値重み付重み算出処理、を有することを特徴とする請求項29に記載の姿勢推定方法。
  36. 前記入力された画像に複数の実在面が写り込んでいる場合、該各実在面の相互の位置関係を推定するとともに、該実在面を物理的実体に対応付けることにより同定する位置関係推定処理と、
    前記位置関係推定処理にて推定した前記複数の面の位置関係に基づいて、前記姿勢パラメータと、前記実在面とを対応付けることにより、該実在面に対する姿勢推定対象の姿勢を定める処理である意味付を行う姿勢意味付処理と、を有することを特徴とする請求項21または29に記載の姿勢推定方法。
  37. 前記請求項21に記載の姿勢推定方法を用いて前記基準面である実在面を識別するために行う演算処理の大きさを示す計算量であるパラメータ空間計算量と、前記請求項29に記載の姿勢推定方法を用いて実在面を識別するために行う演算処理の大きさを示す計算量である画像空間計算量とを比較した結果に基づいて、前記請求項21に記載の姿勢推定方法と前記請求項29に記載の姿勢推定方法とのいずれかを選択し、該選択した姿勢推定方法を用いて前記実在面を識別させるデータ処理切替処理を有する姿勢推定方法。
  38. 前記データ処理切替処理では、
    前記画像を、前記基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する2値化処理と、
    前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現処理と、
    前記2値化処理にて分割した候補領域に含まれる各画素を通る全ての基準面を表現する前記面パラメータ式を構成する姿勢パラメータの組合せを、前記請求項21に記載の姿勢推定方法を用いて算出するための演算処理の大きさを示す量であるパラメータ算出計算量を推定するパラメータ算出計算量推定処理と、
    前記面パラメータ式に従ったパラメータ面を前記請求項21に記載の姿勢推定方法を用いて描画するためのパラメータ面描画計算量を推定するパラメータ面描画計算量推定処理と、
    前記通過点座標と前記通過面数とを、前記請求項21に記載の姿勢推定方法を用いて求めるための交差点検出計算量を推定する交差点検出計算量推定処理と、
    前記有力候補を、前記請求項21に記載の姿勢推定方法を用いて識別するための有力候補抽出計算量を推定する有力候補抽出計算量推定処理と、
    前記有力候補面を、前記請求項21に記載の姿勢推定方法を用いて描画するための有力候補面描画計算量を推定する有力候補面描画計算量推定処理と、
    前記通過画素を前記請求項21に記載の姿勢推定方法を用いて識別し、該通過画素の座標と、前記通過画素における接平面とを前記請求項21に記載の姿勢推定方法を用いて求めるための通過判定計算量を推定する通過判定計算量推定処理と、
    前記傾き重みを、前記請求項21に記載の姿勢推定方法を用いて求めるための重み算出計算量を推定する重み算出計算量推定処理と、
    前記有力候補面ごとに、前記個数を前記請求項21に記載の姿勢推定方法を用いて算出するための個数計量計算量を推定する個数計量計算量推定処理と、
    前記有力候補面のうちから、前記実在面を前記請求項21に記載の姿勢推定方法を用いて識別するための実在面判定計算量を推定する実在面判定計算量推定処理と、
    前記面パラメータ式に従った候補面を、前記請求項29に記載の姿勢推定方法を用いて描画するための全候補面描画計算量を推定する全候補面描画計算量推定処理と、
    前記通過画素を前記請求項29に記載の姿勢推定方法を用いて識別し、該通過画素の座標と、前記通過画素における接平面を前記請求項21に記載の姿勢推定方法を用いて求めるための全通過判定計算量を推定する全通過判定計算量推定処理と、
    前記傾き重みを、前記請求項29に記載の姿勢推定方法を用いて求めるための全重み算出計算量を推定する全重み算出計算量推定処理と、
    前記個数を、前記請求項29に記載の姿勢推定方法を用いて算出するための全個数計量計算量を推定する全個数計量計算量推定処理と、
    前記候補面のうちから、前記実在面を、前記請求項29に記載の姿勢推定方法を用いて識別するための全実在面判定計算量を推定する全実在面判定計算量推定処理と、
    前記パラメータ算出計算量と、前記パラメータ面描画計算量と、前記交差点検出計算量と、前記有力候補抽出計算量と、前記有力候補面描画計算量と、前記通過判定計算量と、前記重み算出計算量と、前記個数計量計算量と、前記実在面判定計算量とを合計することにより、前記パラメータ空間計算量を求め、
    前記全候補面描画計算量と、前記全通過判定計算量と、前記全重み算出計算量と、前記全個数計量計算量と、前記全実在面判定計算量とを合計することにより、前記画像空間計算量を求め、
    該求めたパラメータ空間計算量と該求めた画像空間計算量との比較の結果、前記パラメータ空間計算量が前記画像空間計算量よりも少ないと判別した場合に、前記請求項21に記載の姿勢推定方法を選択して前記実在面を識別させ、該パラメータ空間計算量が該画像空間計算量よりも多いと判別した場合に、前記請求項29に記載の姿勢推定方法を選択して前記実在面を識別させる手法選択処理とを有することを特徴とする請求項37に記載の姿勢推定方法。
  39. 請求項34に記載の姿勢推定方法を選択可能な場合において、
    前記データ処理切替処理では、
    前記パラメータ空間上にパラメータ面を描画する際、前記2値化処理にて2値化する前の画像の画素値に基づいて画素値重みを求める画素値重み付パラメータ面描画処理と、
    前記交差点において、パラメータ面同士が交差する通過面数と画素値重みとの合計が所定値より大きい通過点座標で、かつ、その通過点座標を基準とする近傍領域にて通過面数が最大であるときに、その通過点座標におけるパラメータの組合せを、検出対象となる基準面を形成するパラメータの組合せの有力候補として識別する画素値重み付有力候補抽出処理と、
    前記傾き重みに更に2値化前の3次元画像の画素値を元に算出した値をかけて新たに傾き重みとする画素値重み付重み算出処理と、
    前記重み付パラメータ面描画処理の実行に要する計算量を推定する画素値重み付パラメータ面描画計算量推定処理と、
    前記画素値重み付有力候抽出処理の実行に要する計算量を推定する画素値重み付有力候抽出計算量推定処理と、
    前記画素値重み付重み算出処理の実行に要する計算量を推定する画素値重み付重み算出計算量推定処理とを有することを特徴とする請求項38に記載の姿勢推定方法。
  40. 前記実在面判定処理にて実在面であると判別した場合に、該判別された実在面を構成する姿勢パラメータを外部に送信するための通信処理、を有することを特徴とする請求項37乃至39のいずれか1項に記載の姿勢推定方法。
  41. 入力された画像を、姿勢を推定する基準となる基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する2値化手順と、
    前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現手順と、
    前記2値化手順にて分割した候補領域に含まれる各画素を通るすべての面を表現する前記面パラメータ式を構成する姿勢パラメータの組合せを、前記面パラメータ式表現手順にて抽出した姿勢パラメータに基づいて算出するパラメータ算出手順と、
    前記姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、前記パラメータ算出手順にて算出した姿勢パラメータの組合せに基づいて、前記面パラメータ式に従ったパラメータ面を描画するパラメータ面描画手順と、
    前記パラメータ面描画手順にて描画した前記パラメータ面が複数通過する交差点の座標である通過点座標と、該通過点座標を通過するパラメータ面の数である通過面数とを求める交差点検出手順と、
    前記交差点検出手順にて求めた各通過点における通過面数が、該通過面数に対応する通過点座標を基準とする所定の近傍領域における他の通過点座標における通過面数と比較して最大であると判別したときに、該判別した通過面数に対応するパラメータ面を構成する姿勢パラメータの組合せを、前記基準面を表現するために最適な姿勢パラメータの組合せである有力候補として識別する有力候補抽出手順と、
    前記有力候補抽出手順にて識別した有力候補と、該有力候補を基準とする所定の近傍領域にて前記パラメータ空間上の有力候補との距離が所定値以下である前記パラメータ算出手順にて算出した姿勢パラメータの組合せとに基づいて、前記画像上に有力候補面を描画する有力候補面描画手順と、
    前記有力候補面描画手順にて描画した各有力候補面について、前記候補領域のうちで該有力候補面上に位置している画素と、該有力候補面から所定範囲内に位置している画素とを、通過画素として識別し、該通過画素の座標および前記通過画素における接平面を求める通過判定手順と、
    前記通過判定手順にて求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定手順にて識別した通過画素ごとに傾き重みを求める重み算出手順と、
    前記有力候補面ごとに、該有力候補にそれぞれ含まれる前記重み算出手順にて求めた通過画素の傾き重みを合計した値である個数を算出する個数計量手順と、
    前記個数計量手順にて算出した個数が、該個数を有する有力候補面を基準とする近傍領域における他の有力候補面が有する個数と比較して最大であると判別したときに、該判別した個数を有する有力候補面を、前記画像に実在する基準面である実在面として識別する実在面判定手順とをコンピュータに実行させるプログラム。
  42. 前記姿勢パラメータのうちで方向を示すパラメータが、角度であることを特徴とする請求項41に記載のプログラム。
  43. 前記角度に対して変換を施すための前記所定の関数が、三角関数であり、
    前記面パラメータ式表現手順では、前記角度に前記三角関数による変換を施して得られた値と、前記角度以外の姿勢パラメータとに基づいて、前記面パラメータ式を求めることを特徴とする請求項42に記載のプログラム。
  44. 前記有力候補抽出手順では、
    前記交差点検出手順にて求めた各通過点における通過面数と第1のしきい値とを比較し、該第1のしきい値よりも大きいと判別した通過面数に対応する前記姿勢パラメータの組合せのうちから、前記有力候補を識別することを特徴とする請求項41に記載のプログラム。
  45. 前記有力候補抽出手順では、前記有力候補を抽出したときに、該有力候補として抽出された姿勢パラメータの組合せに対して、有力候補面ビットを、有力候補面であることを示す所定値に変更することを特徴とする請求項44に記載のプログラム。
  46. 前記重み算出手順では、
    前記有力候補面描画手順にて描画した有力候補面上の各点において、該点での接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士が形成する面とが成す角度を求め、
    前記求めた角度のうちで絶対値が最小となる角度を最小角度として定め、該定めた最小角度に対応する余弦の逆数の絶対値を算出することにより、前記有力候補面が通過する画素の傾き重みを求めることを特徴とする請求項41に記載のプログラム。
  47. 前記実在面判定手順では、
    前記個数計量手順にて算出した個数と第2のしきい値とを比較し、該第2のしきい値よりも大きいと判別した個数を有する有力候補面のうちから前記実在面を識別することを特徴とする請求項41に記載のプログラム。
  48. 前記実在面判定手順では、前記実在面を識別したときに、該実在面として識別された有力候補面を形成する前記姿勢パラメータの組合せに対して、実在面ビットを、実在面であることを示す所定値に変更することを特徴とする請求項47に記載のプログラム。
  49. 入力された画像を、姿勢を推定する基準となる基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する2値化手順と、
    前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現手順と、
    前記姿勢パラメータに属するパラメータを基底ベクトルの軸としてそれぞれ有する空間であるパラメータ空間上に、該パラメータ空間上のすべての姿勢パラメータの組合せに基づいて、前記面パラメータ式に従った候補面を前記画像上に描画する全候補面描画手順と、
    前記全候補面描画手順にて描画した各候補面について、前記候補領域のうちで該候補面上に位置している画素と、該候補面から所定範囲内に位置している画素とを、通過画素として識別し、該通過画素の座標と、前記通過画素における接平面とを求める通過判定手順と、
    前記通過判定手順にて求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定手順にて識別した通過画素ごとに傾き重みを求める重み算出手順と、
    前記候補面ごとに、該候補面にそれぞれ含まれる前記重み算出手順にて求めた通過画素の傾き重みを合計した値である個数を算出する個数計量手順と、
    前記個数計量手順にて算出した個数に基づいて、前記全候補面描画手順にて描画した候補面のうちから、前記画像に実在する基準面である実在面を識別する実在面判定手順とをコンピュータに実行させるプログラム。
  50. 前記入力された画像に平滑化する処理を施す平滑化手順、を有し、
    前記2値化手順では、前記平滑化手順にて平滑化した画像に基づいて、2値化画像を生成することを特徴とする請求項41または49に記載のプログラム。
  51. 前記2値化手順にて生成した2値化画像の候補領域に対して、該候補領域を膨張させる膨張手順、または、該候補領域を収縮させる収縮手順を、所定回数だけ実行する膨張収縮手順、を有することを特徴とする請求項41、49および50のいずれか1項に記載のプログラム。
  52. 任意の画像のサイズを縮小または拡大することにより、該画像のサイズを変更する画像サイズ変更手順と、
    所定回数に達するまで、あるいは、所定の精度が得られるまで、前記画像サイズ変更手順による倍率の異なる画像サイズの変更と、前記実在面判別手順による新たな実在面の識別と、を交互に繰り返し実行させるパラメータ微調整手順、とを有し、
    前記画像サイズ変更手順では、
    前記実在面判定手順にて実在面を識別する前に、前記入力された画像を所定の縮小率で縮小することにより縮小画像を生成し、
    前記実在面判定手順にて実在面を識別した後に、前記生成した縮小画像を、前記入力された画像よりも小さなサイズであって、かつ、該縮小画像よりも大きなサイズに変更することにより、新たな画像を生成することを特徴とする請求項41、49乃至51のいずれか1項に記載のプログラム。
  53. 前記パラメータ空間の離散化幅をあらかじめ与えた幅に大きくしてパラメータ空間を粗くし実在面を求め、実在面が一旦求まった後、パラメータ空間をより密に離散化するパラメータ空間粗視化手順と、
    前記離散化したパラメータ空間で一旦求まった実在面の近傍領域において、離散化幅が異なるパラメータ空間での新たな実在面の導出を、所定の処理回数に達するまで、または、離散化幅が所定値に達するまで繰り返し実行させるパラメータ微調整手順とを有することを特徴とする請求項41または49に記載のプログラム。
  54. 前記パラメータ空間上に、前記パラメータ算出手順にて算出した姿勢パラメータの組合せと、前記2値化手順にて2値化する前の画像の画素値に基づいて算出した値との乗算により求めた画素値重みに基づいて、前記面パラメータ式に従ったパラメータ面を描画する画素値重み付パラメータ面描画手順と、
    前記通過点座標において、前記パラメータ面同士が交差する通過面数と画素値重みとの合計が所定値より大きい通過点座標で、かつ、その通過点座標を基準とする近傍領域にて通過面数が最大であるときに、その通過点座標におけるパラメータの組合せを、検出対象となる基準面を形成するパラメータの組合せの有力候補として識別する画素値重み付有力候補抽出手順と、
    前記通過判定手順にて求めた通過画素における接平面と、前記パラメータ空間が有する各基底ベクトルの軸同士がそれぞれ形成する面とが成す角度に基づいて、前記通過判定手順にて識別した通過画素ごとに傾き重みを求め、該求めた傾き重みと、前記2値化手順にて2値化する前の画像の画素値に基づいて算出した値とを乗算することにより、画素値重み付傾き重みを求める画素値重み付重み算出手順とを有することを特徴とする請求項41に記載のプログラム。
  55. 前記傾き重みと、前記2値化手順にて2値化する前の画像の画素値に基づいて算出した値とを乗算することにより、画素値重み付傾き重みを求める画素値重み付重み算出手順、を有することを特徴とする請求項49に記載のプログラム。
  56. 前記入力された画像に複数の実在面が写り込んでいる場合、該各実在面の相互の位置関係を推定するとともに、該実在面を物理的実体に対応付けることにより同定する位置関係推定手順と、
    前記位置関係推定手順にて推定した前記複数の面の位置関係に基づいて、前記姿勢パラメータと、前記実在面とを対応付けることにより、該実在面に対する姿勢推定対象の姿勢を定める処理である意味付を行う姿勢意味付手順と、を有することを特徴とする請求項41または49に記載のプログラム。
  57. 請求項41に記載のプログラムを実行することにより前記基準面である実在面を識別するために行う演算処理の大きさを示す計算量であるパラメータ空間計算量と、請求項49に記載のプログラムを実行することにより実在面を識別するために行う演算処理の大きさを示す計算量である画像空間計算量とを比較した結果に基づいて、前記請求項41に記載のプログラムと前記請求項49に記載のプログラムとのいずれかを選択し、該選択したプログラムを実行することにより前記実在面を識別させるデータ処理切替手順をコンピュータに実行させるプログラム。
  58. 前記データ処理切替手順では、
    前記画像を、前記基準面の候補となる候補領域と、該候補領域以外の領域である背景領域とに分割する2値化手順と、
    前記入力された画像に写り込んでいる基準面に対する姿勢推定対象の姿勢を示す姿勢パラメータを抽出し、該抽出した姿勢パラメータのうちで姿勢推定対象が向いている方向を示すパラメータに所定の関数による変換を施して得られた値と、該方向を示すパラメータ以外の姿勢パラメータとの組合せに基づいて、前記基準面を表現する数式である面パラメータ式を求める面パラメータ式表現手順と、
    前記2値化手順にて分割した候補領域に含まれる各画素を通る全ての基準面を表現する前記面パラメータ式を構成する姿勢パラメータの組合せを、前記請求項41に記載のプログラムを実行することにより算出するための演算処理の大きさを示す量であるパラメータ算出計算量を推定するパラメータ算出計算量推定手順と、
    前記面パラメータ式に従ったパラメータ面を前記請求項41に記載のプログラムを実行することにより描画するためのパラメータ面描画計算量を推定するパラメータ面描画計算量推定手順と、
    前記通過点座標と前記通過面数とを、前記請求項41に記載のプログラムを実行することにより求めるための交差点検出計算量を推定する交差点検出計算量推定手順と、
    前記有力候補を、前記請求項41に記載のプログラムを実行することにより識別するための有力候補抽出計算量を推定する有力候補抽出計算量推定手順と、
    前記有力候補面を、前記請求項41に記載のプログラムを実行することにより描画するための有力候補面描画計算量を推定する有力候補面描画計算量推定手順と、
    前記通過画素を前記請求項41に記載のプログラムを実行することにより識別し、該通過画素の座標と、前記通過画素における接平面とを前記請求項41に記載のプログラムを実行することにより求めるための通過判定計算量を推定する通過判定計算量推定手順と、
    前記傾き重みを、前記請求項41に記載のプログラムを実行することにより求めるための重み算出計算量を推定する重み算出計算量推定手順と、
    前記有力候補面ごとに、前記個数を前記請求項41に記載のプログラムを実行することにより算出するための個数計量計算量を推定する個数計量計算量推定手順と、
    前記有力候補面のうちから、前記実在面を前記請求項41に記載のプログラムを実行することにより識別するための実在面判定計算量を推定する実在面判定計算量推定手順と、
    前記面パラメータ式に従った候補面を、前記請求項49に記載のプログラムを実行することにより描画するための全候補面描画計算量を推定する全候補面描画計算量推定手順と、
    前記通過画素を前記請求項49に記載のプログラムを実行することにより識別し、該通過画素の座標と、前記通過画素における接平面を前記請求項49に記載のプログラムを実行することにより求めるための全通過判定計算量を推定する全通過判定計算量推定手順と、
    前記傾き重みを、前記請求項49に記載のプログラムを実行することにより求めるための全重み算出計算量を推定する全重み算出計算量推定手順と、
    前記個数を、前記請求項49に記載のプログラムを実行することにより算出するための全個数計量計算量を推定する全個数計量計算量推定手順と、
    前記候補面のうちから、前記実在面を、前記請求項49に記載のプログラムを実行することにより識別するための全実在面判定計算量を推定する全実在面判定計算量推定手順と、
    前記パラメータ算出計算量と、前記パラメータ面描画計算量と、前記交差点検出計算量と、前記有力候補抽出計算量と、前記有力候補面描画計算量と、前記通過判定計算量と、前記重み算出計算量と、前記個数計量計算量と、前記実在面判定計算量とを合計することにより、前記パラメータ空間計算量を求め、
    前記全候補面描画計算量と、前記全通過判定計算量と、前記全重み算出計算量と、前記全個数計量計算量と、前記全実在面判定計算量とを合計することにより、前記画像空間計算量を求め、
    該求めたパラメータ空間計算量と該求めた画像空間計算量との比較の結果、前記パラメータ空間計算量が前記画像空間計算量よりも少ないと判別した場合に、前記請求項41に記載のプログラムを選択して前記実在面を識別させ、該パラメータ空間計算量が該画像空間計算量よりも多いと判別した場合に、前記請求項49に記載のプログラムを選択して前記実在面を識別させる手法選択手順とを有することを特徴とする請求項57に記載のプログラム。
  59. 請求項54に記載のプログラムを選択可能な場合において、
    前記データ処理切替手順では、
    前記パラメータ空間上にパラメータ面を描画する際、前記2値化手順にて2値化する前の画像の画素値に基づいて画素値重みを求める画素値重み付パラメータ面描画手順と、
    前記交差点において、パラメータ面同士が交差する通過面数と画素値重みとの合計が所定値より大きい通過点座標で、かつ、その通過点座標を基準とする近傍領域にて通過面数が最大であるときに、その通過点座標におけるパラメータの組合せを、検出対象となる基準面を形成するパラメータの組合せの有力候補として識別する画素値重み付有力候補抽出手順と、
    前記傾き重みに更に2値化前の3次元画像の画素値を元に算出した値をかけて新たに傾き重みとする画素値重み付重み算出手順と、
    前記重み付パラメータ面描画手順の実行に要する計算量を推定する画素値重み付パラメータ面描画計算量推定手順と、
    前記画素値重み付有力候抽出手順の実行に要する計算量を推定する画素値重み付有力候抽出計算量推定手順と、
    前記画素値重み付重み算出手順の実行に要する計算量を推定する画素値重み付重み算出計算量推定手順とを有することを特徴とする請求項58に記載のプログラム。
  60. 前記実在面判定手順にて実在面であると判別した場合に、該判別された実在面を構成する姿勢パラメータを外部に送信するための通信手順、を有することを特徴とする請求項57乃至59のいずれか1項に記載のプログラム。
JP2008027710A 2008-02-07 2008-02-07 データ処理装置、姿勢推定システム、姿勢推定方法およびプログラム Active JP5181704B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2008027710A JP5181704B2 (ja) 2008-02-07 2008-02-07 データ処理装置、姿勢推定システム、姿勢推定方法およびプログラム
US12/367,178 US8401295B2 (en) 2008-02-07 2009-02-06 Pose estimation
US13/754,084 US8639035B2 (en) 2008-02-07 2013-01-30 Pose estimation
US13/753,702 US8675967B2 (en) 2008-02-07 2013-01-30 Pose estimation
US13/753,672 US8625903B2 (en) 2008-02-07 2013-01-30 Pose estimation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008027710A JP5181704B2 (ja) 2008-02-07 2008-02-07 データ処理装置、姿勢推定システム、姿勢推定方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2009186364A true JP2009186364A (ja) 2009-08-20
JP5181704B2 JP5181704B2 (ja) 2013-04-10

Family

ID=40938941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008027710A Active JP5181704B2 (ja) 2008-02-07 2008-02-07 データ処理装置、姿勢推定システム、姿勢推定方法およびプログラム

Country Status (2)

Country Link
US (4) US8401295B2 (ja)
JP (1) JP5181704B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010089938A1 (ja) * 2009-02-09 2010-08-12 日本電気株式会社 回転推定装置、回転推定方法および記録媒体
JP2012189584A (ja) * 2011-02-21 2012-10-04 Mitsubishi Electric Corp 目標検出装置

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012001793A1 (ja) * 2010-06-30 2012-01-05 富士通株式会社 画像処理プログラムおよび画像処理装置
KR102016551B1 (ko) * 2014-01-24 2019-09-02 한화디펜스 주식회사 위치 추정 장치 및 방법
CN105096304B (zh) 2014-05-22 2018-01-02 华为技术有限公司 一种图像特征的估计方法和设备
GB2536493B (en) * 2015-03-20 2020-11-18 Toshiba Europe Ltd Object pose recognition
US10241514B2 (en) 2016-05-11 2019-03-26 Brain Corporation Systems and methods for initializing a robot to autonomously travel a trained route
US9987752B2 (en) 2016-06-10 2018-06-05 Brain Corporation Systems and methods for automatic detection of spills
US10282849B2 (en) 2016-06-17 2019-05-07 Brain Corporation Systems and methods for predictive/reconstructive visual object tracker
US10016896B2 (en) 2016-06-30 2018-07-10 Brain Corporation Systems and methods for robotic behavior around moving bodies
US10274325B2 (en) 2016-11-01 2019-04-30 Brain Corporation Systems and methods for robotic mapping
US10001780B2 (en) 2016-11-02 2018-06-19 Brain Corporation Systems and methods for dynamic route planning in autonomous navigation
US10723018B2 (en) 2016-11-28 2020-07-28 Brain Corporation Systems and methods for remote operating and/or monitoring of a robot
CN106651953B (zh) * 2016-12-30 2019-10-18 山东大学 一种基于交通指示牌的车辆位姿估计方法
KR101888295B1 (ko) * 2017-01-24 2018-08-14 고려대학교 산학협력단 레이저 거리 센서의 측정 거리에 대해 추정된 거리 유형의 신뢰성을 평가하는 방법 및 이를 이용한 이동 로봇의 위치 추정 방법
US10377040B2 (en) 2017-02-02 2019-08-13 Brain Corporation Systems and methods for assisting a robotic apparatus
US10852730B2 (en) 2017-02-08 2020-12-01 Brain Corporation Systems and methods for robotic mobile platforms
US10293485B2 (en) 2017-03-30 2019-05-21 Brain Corporation Systems and methods for robotic path planning
US11315280B1 (en) * 2019-09-26 2022-04-26 Apple Inc. Pose estimation with limited correspondences
CN110991277B (zh) * 2019-11-20 2023-09-22 湖南检信智能科技有限公司 基于深度学习的多维度多任务学习评价系统
TWI782709B (zh) * 2021-09-16 2022-11-01 財團法人金屬工業研究發展中心 手術機械臂控制系統以及手術機械臂控制方法
CN114735152B (zh) * 2022-04-19 2023-12-01 中国舰船研究设计中心 一种基于面元法的全附体舰船不沉性计算方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07271978A (ja) * 1994-03-29 1995-10-20 Toshiba Corp 画像処理装置
JPH0981755A (ja) * 1995-09-12 1997-03-28 Matsushita Electric Ind Co Ltd 平面推定方法
JPH1096607A (ja) * 1996-09-25 1998-04-14 Matsushita Electric Ind Co Ltd 物体検出装置および平面推定方法
JP2003271975A (ja) * 2002-03-15 2003-09-26 Sony Corp 平面抽出方法、その装置、そのプログラム、その記録媒体及び平面抽出装置搭載型ロボット装置
JP2005024464A (ja) * 2003-07-04 2005-01-27 Fuji Heavy Ind Ltd ステレオカメラによる平面検出装置
JP2006242943A (ja) * 2005-02-04 2006-09-14 Canon Inc 位置姿勢計測方法及び装置
JP2006317418A (ja) * 2005-05-16 2006-11-24 Nikon Corp 画像計測装置、画像計測方法、計測処理プログラム及び記録媒体

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6912293B1 (en) * 1998-06-26 2005-06-28 Carl P. Korobkin Photogrammetry engine for model construction
JP2983019B1 (ja) 1998-12-18 1999-11-29 株式会社エム・シー・シー 目標検出方法および目標検出装置
EP1037166A1 (de) 1999-03-16 2000-09-20 Philips Corporate Intellectual Property GmbH Verfahren zur Detektion von Konturen in einem Röntgenbild
JP2001283216A (ja) * 2000-04-03 2001-10-12 Nec Corp 画像照合装置、画像照合方法、及びそのプログラムを記録した記録媒体
EP1211640A3 (en) 2000-09-15 2003-10-15 Canon Kabushiki Kaisha Image processing methods and apparatus for detecting human eyes, human face and other objects in an image
US6964023B2 (en) * 2001-02-05 2005-11-08 International Business Machines Corporation System and method for multi-modal focus detection, referential ambiguity resolution and mood classification using multi-modal input
JP4573085B2 (ja) * 2001-08-10 2010-11-04 日本電気株式会社 位置姿勢認識装置とその位置姿勢認識方法、及び位置姿勢認識プログラム
JP4035978B2 (ja) * 2001-10-05 2008-01-23 コニカミノルタホールディングス株式会社 3次元形状モデルの評価方法および生成方法並びに装置
US6811264B2 (en) * 2003-03-21 2004-11-02 Mitsubishi Electric Research Laboratories, Inc. Geometrically aware projector
EP1631937B1 (en) * 2003-06-12 2018-03-28 Honda Motor Co., Ltd. Target orientation estimation using depth sensing
JP4708712B2 (ja) 2004-02-04 2011-06-22 キヤノン株式会社 画像処理装置及びその制御方法、プログラム
JP2006230904A (ja) 2005-02-28 2006-09-07 Konica Minolta Medical & Graphic Inc 画像処理装置及び画像処理方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07271978A (ja) * 1994-03-29 1995-10-20 Toshiba Corp 画像処理装置
JPH0981755A (ja) * 1995-09-12 1997-03-28 Matsushita Electric Ind Co Ltd 平面推定方法
JPH1096607A (ja) * 1996-09-25 1998-04-14 Matsushita Electric Ind Co Ltd 物体検出装置および平面推定方法
JP2003271975A (ja) * 2002-03-15 2003-09-26 Sony Corp 平面抽出方法、その装置、そのプログラム、その記録媒体及び平面抽出装置搭載型ロボット装置
JP2005024464A (ja) * 2003-07-04 2005-01-27 Fuji Heavy Ind Ltd ステレオカメラによる平面検出装置
JP2006242943A (ja) * 2005-02-04 2006-09-14 Canon Inc 位置姿勢計測方法及び装置
JP2006317418A (ja) * 2005-05-16 2006-11-24 Nikon Corp 画像計測装置、画像計測方法、計測処理プログラム及び記録媒体

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010089938A1 (ja) * 2009-02-09 2010-08-12 日本電気株式会社 回転推定装置、回転推定方法および記録媒体
JP2010181366A (ja) * 2009-02-09 2010-08-19 Nec Corp 回転推定装置、回転推定方法およびプログラム
JP2012189584A (ja) * 2011-02-21 2012-10-04 Mitsubishi Electric Corp 目標検出装置

Also Published As

Publication number Publication date
US20090202174A1 (en) 2009-08-13
US8639035B2 (en) 2014-01-28
US8625903B2 (en) 2014-01-07
JP5181704B2 (ja) 2013-04-10
US20130142436A1 (en) 2013-06-06
US20130148900A1 (en) 2013-06-13
US8401295B2 (en) 2013-03-19
US8675967B2 (en) 2014-03-18
US20130142437A1 (en) 2013-06-06

Similar Documents

Publication Publication Date Title
JP5181704B2 (ja) データ処理装置、姿勢推定システム、姿勢推定方法およびプログラム
Hong et al. Radarslam: Radar based large-scale slam in all weathers
CN109059906B (zh) 车辆定位方法、装置、电子设备、存储介质
JP6114052B2 (ja) 点群解析処理装置及び点群解析処理プログラム
CN110663060B (zh) 一种用于表示环境元素的方法、装置、系统、以及车辆/机器人
US10288425B2 (en) Generation of map data
KR100866380B1 (ko) 물체인식을 바탕으로 한 로봇의 자기위치 추정 방법
Vidas et al. Real-time mobile 3D temperature mapping
KR20090088516A (ko) 물체인식 및 인식된 물체를 포함하는 주변 환경 정보를바탕으로 한 로봇의 자기 위치 추정 방법
JP5870011B2 (ja) 点群解析装置、点群解析方法及び点群解析プログラム
Konrad et al. Localization in digital maps for road course estimation using grid maps
US20200264005A1 (en) Electronic apparatus and controlling method thereof
Ishihara et al. Deep radio-visual localization
JP2018072316A (ja) ジオアーク(geoarc)を使用したビークルの二次元位置の特定
CN117593650B (zh) 基于4d毫米波雷达与sam图像分割的动点滤除视觉slam方法
le Fevre Sejersen et al. Safe vessel navigation visually aided by autonomous unmanned aerial vehicles in congested harbors and waterways
CN111553342A (zh) 一种视觉定位方法、装置、计算机设备和存储介质
Jiang et al. Icp stereo visual odometry for wheeled vehicles based on a 1dof motion prior
KR102407802B1 (ko) 인공신경망 학습 기반의 실내외 3차원 좌표 및 방위 추정 장치
Xin et al. Geometric interpretation of ellipse projection and disambiguating in pose estimation
US20120050552A1 (en) Rotation Cancellation for Moving Obstacle Detection
Menard et al. Adaptive stereo matching in correlation scale-space
CN118397588B (zh) 智能驾驶汽车用摄像头场景分析方法、系统、设备及介质
Kirnos et al. Landmarks detection by contour analysis in the problem of SLAM
Pyo et al. Development of radial layout underwater acoustic marker using forward scan sonar for AUV

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120831

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121231

R150 Certificate of patent or registration of utility model

Ref document number: 5181704

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160125

Year of fee payment: 3