(58)【調査した分野】(Int.Cl.,DB名)
前記物体統合部が、前記所定方向の直線として、前記表面特定部により特定された表面における各点を通り、当該表面に対する所定方向の直線を用いることを特徴とする請求項1に記載の空間構造推定装置。
前記物体統合部が、前記所定方向の直線における所定方向として、前記画像の撮影された空間における重力方向を用いることを特徴とする請求項1に記載の空間構造推定装置。
前記オクルージョン領域検出部及び前記物体統合部がそれぞれ、空間を所定の単位グリッドで区切ったボクセル単位で、前記オクルージョン領域の検出及び前記異なる物体同士の統合を行うことを特徴とする請求項1ないし5のいずれかに記載の空間構造推定装置。
【発明を実施するための形態】
【0012】
本発明の概要は次の通りである。すなわち、全ての物体は平面、または他の物体と接触している(宙に浮かぶ物体は存在しない)という前提に基づき、平面に対して垂直に空間を走査し、オクルージョンにより単一の物体が分割されて誤認識された点群を統合することで補正する。ただし、空間を走査する際、オクルージョンを生じていない領域を走査すると、本来別々の物体である点群を誤って統合してしまう可能性があるため、オクルージョン領域を検出し、オクルージョン領域のみを走査して統合する必要がある。
【0013】
本発明を実施するための最良の実施形態について、以下では図面を用いて詳細に説明する。なお、以下の実施形態における構成要素は適宜、既存の構成要素などとの置き換えが可能であり、また、他の既存の構成要素との組み合せを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0014】
図1は、本発明の一実施形態に係る空間構造推定装置の機能ブロック図である。空間構造推定装置10は、点群情報生成部1、表面特定部2、物体特定部3、オクルージョン領域検出部4及び物体統合部5を備える。空間構造推定装置10は、主な入力として奥行情報を受け取り、各物体を従来技術と概ね同様の手法で特定したうえで、当該特定された各物体のうち、本来は単一の物体であるものがオクルージョンで分割されてしまっているものを、本発明特有の手法によって特定したうえで統合し、物体の統合結果を出力する。やりとりされる情報の流れの観点から、
図1の各部の概要は以下の通りである。
【0015】
点群情報生成部1は、奥行情報と当該奥行情報を計測した際の計測条件とを受け取り、点群情報を生成して、表面特定部2及びオクルージョン領域検出部4に渡す。表面特定部2は、点群情報のうち物体が配置されている表面に該当するものを特定して、当該特定された表面の情報を物体統合部5に渡すと共に、点群情報のうち当該表面であるとされたもの以外を、物体特定部3へと渡す。
【0016】
物体特定部3は、表面以外に該当するとされた点群情報を、各物体に該当するものへとグループ分けし、当該グループ分けされて特定された各物体の情報を、オクルージョン領域検出部4及び物体統合部5へと渡す。オクルージョン領域検出部4は、各物体の情報と、点群情報(の全体)と、計測条件と、を受け取り、オクルージョン領域を検出して、当該検出結果を物体統合部5へと渡す。
【0017】
物体統合部5は、表面の情報と、各物体の情報と、オクルージョン領域の情報と、を受け取り、空間構造推定装置10による最終的な出力としての、物体の統合結果を得る。以下、当該各部における個別処理内容の詳細を説明する。
【0018】
点群情報生成部1は、従来技術と同様にして、奥行情報及びその計測条件より点群情報を生成する。
図2は、奥行情報及び生成される点群情報を概念的に示すための図であり、[1]に示す実際に撮影した画像(室内における椅子)の例に対応するものとして、[2]に示す奥行情報の例及び[3]に示す点群情報の例が存在する。奥行情報は、[1]に示す実際の画像における各画素位置(x, y)に存在する実際の物体(の断片的な各部分)への距離dを、当該画像位置(x, y)についてマッピングした情報d(x, y)であって、三次元空間計測ハードウェア等を用いて取得することができる。なお、[2]では、奥行dの値を濃淡による階調で表現した画像の形式で、奥行情報を概念的に示している。
【0019】
点群情報とは、当該画像座標(x, y)上のマッピングとしての奥行情報d(x, y)を、対応する実際の物体(の断片的な各部分)が存在する実空間の座標値(X, Y, Z)へと変換したものである。点群情報生成部1は、各座標(x, y)が奥行情報を計測した三次元空間計測ハードウェア(計測器)から見てどの方向であるか等の、所定の計測条件を用いて、奥行情報d(x, y)を点群情報(X, Y, Z)へと変換する。当該計測条件は、[2]の奥行情報を計測した三次元空間計測ハードウェアに対応する[1]の画像を撮影したカメラにおけるカメラパラメータ等に対応するものである。なお、通常、画像座標値x及びyは画素位置であって整数で与えられるが、点群情報における各値X, Y, Zは一般に実数となる。
【0020】
図2の[3]は、[2]の奥行情報から生成される点群情報の例である。[3]では、点群情報を構成する各点(X, Y, Z)が、空間上におけるドットとして描かれている。なお、[3]は、[2]と同様のカメラ配置(三次元空間計測ハードウェアの配置)を想定して、当該空間に分布する一連のドットとしての点群情報を撮影したものとして示した例であるため、
図2と同様の形状が見えている。点群情報は一連の空間座標値(X, Y, Z)で与えられているので、その他のカメラ配置で撮影したとすれば、[3]とは異なる形状が見えることとなる。
【0021】
なお、
図2では、奥行情報の説明のために、対応する実際の画像の説明をしたが、本発明では当該実際の画像そのものは、入力としては不要である。入力として必要なのは、奥行情報と、奥行情報を計測した三次元空間計測ハードウェアにおける計測条件と、である。また、
図2における室内で椅子を撮影した際の例を、本発明の説明のための例として、以下でも継続して用いることとする。
【0022】
表面特定部2は、点群情報に対して所定の表面モデルをあてはめることにより、点群情報のうち、物体が配置される表面に該当するものを特定する。当該表面の特定により同時に、点群情報のうち当該表面以外に該当するものが、各々の物体に該当するものであるとして特定される。
【0023】
ここで、所定のモデルを与えることにより、曲面等の任意形状の面として表面を特定することができる。一例として、表面の形状を平面としてモデル化する場合であれば、以下の非特許文献2に開示されているRANSACモデルに基づいて、各平面に属する点群を推定することができる。
【0024】
[非特許文献2] M. A. Fischler, R. C. Bolles. Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography. Comm. of the ACM, Vol 24, pp 381-395, 1981.
【0025】
RANSACモデルで平面を特定する場合、具体的には、点群情報からランダムに点を取得して平面を形成し、他のすべての点に対してその平面との距離を求める。距離が一定以上の点については、外れ値とし、外れ値を除く全ての点と平面との距離が閾値より小さくなるように、上記の処理を繰り返す。こうして、最終的な平面が求まると共に、当該平面に対して外れ値とならなかった点群を、当該平面に属する点群として抽出する。
【0026】
また、平面として抽出された点群を除去した後に、同様の処理を行うことで、繰り返し平面を抽出して、複数の平面を抽出してもよい。繰り返し平面を抽出する場合は、例えば、平面に属する点を除去した後に残った点群の数が一定値以下になったら当該繰り返し処理を終了する、といった所定の判定手法で平面抽出処理を終了してもよい。また、マニュアル設定等により、予め抽出する平面の個数を与えておいてもよい。
【0027】
なお、以上のRANSACモデルは平面ではなく、その他の任意形状の曲面を抽出する場合であっても同様に適用することができる。
【0028】
図3は、
図2の[3]の点群情報の例に対して、表面特定部2が1つの平面を特定して、当該1つの平面以外と区別した例を示す図である。
図3では、
図2の[3]と同様の手法で点群を表現しており、[1]に点群情報全体のうち、特定された平面に対応するものが、[2]に平面以外の点群情報が示されている。[1]では、室内の床に対応する平面における点群情報を、[2]では、当該平面以外の椅子の部分における点群情報を、それぞれ見て取ることができる。
【0029】
物体特定部3は、上記表面特定部2が特定した表面以外に該当する点群情報を対象として、各物体に属する点群を推定する。例えば、従来技術として前述した非特許文献1のように、ユークリッド距離に基づいたクラスタリングを行ってグループ分けすることで、各物体に属する点群を推定することができる。具体的には、一つの物体として統合する最大のユークリッド距離を指定し、ユークリッド距離が上記の値以下となるような点を同一の物体に属する点として、点群を複数の物体に属する点群として分割することで、物体を抽出する。
【0030】
図4は、
図3の[2]の例に対して、物体特定部3がクラスタリングを行うことで、個別の物体に対応する点群へと分けた例である。
図4では、各物体に対応する点群情報を点線で囲んで区別することにより、物体O1, O2及びO3の3つの物体に分けられた例が示されている。
図5は、当該
図4の結果が、オクルージョンの影響で誤ったものとなっていることを説明するための図であり、当該例における点群情報を取得した三次元空間計測ハードウェアC1と、認識対象の物体の例としての椅子C2と、床の平面G1と、の配置関係を模式的に示したものである。
【0031】
図示するように、単一の物体である椅子C2は、平面G1に接する第一脚部B1、第二脚部B2及び第三脚部B3と、当該各脚部を結合すると共にその上部を支える支柱B4と、支柱B4で支えられる座面部B5と、座面部B5に配される背面部B6と、の6つの部分からなる。当該椅子C2を斜め方向、すなわち、椅子C2の立っている平面G1の垂線方向からは傾いた方向、から見込む形で三次元空間計測ハードウェアC1が配置されている結果、座面部B5等によって支柱B4を含む領域R1がオクルージョン領域となる。
【0032】
当該オクルージョン領域R1のために、本来は単一の物体である椅子C2が、
図4に示したように、3つの物体O1,O2及びO3に誤って認識されている。すなわち、
図5内に括弧で囲んで併記しているように、物体O1は、第一脚部B1、座面部B5及び背面部B6であり、物体O2は、第二脚部B2であり、物体O3は、第三脚部B3である。従って、物体特定部3が特定した当該物体O1〜O3は、6つの部分からなる単一の物体である椅子C2が、3つの物体に誤って分割されて認識されたものである。
【0033】
このように、オクルージョン領域R1の存在のために物体特定部3が誤って特定した物体O1〜O3を、本来の単一の物体である椅子C2に該当するものとして統合するのが、オクルージョン領域検出部4及び物体統合部5の役割である。このため、まず、オクルージョン領域検出部4がオクルージョン領域を検出してから、物体統合部5が、オクルージョン領域によって誤って分割されて特定された物体同士の統合を行う。それぞれの詳細処理は以下の通りである。
【0034】
オクルージョン領域検出部4は、三次元空間内でオクルージョンが生じている領域を検出する。オクルージョン領域は物体同士、または物体自身による隠れが生じることで奥行情報が取得できない領域である。したがって、オクルージョン領域検出部4は、三次元空間計測ハードウェアの光線方向に沿って三次元空間を走査し、奥行情報が取得できた領域、すなわち、物体が存在する領域より、奥にある領域を当該物体によって生じたオクルージョン領域として検出する。
【0035】
図4及び
図5の例であれば、三次元空間計測ハードウェアC1より、物体特定部3が特定した各物体O1, O2, O3等に属する点群情報の各々の点へと直線を延ばし、当該直線上において、三次元空間計測ハードウェアC1から見て当該物体上の各点の後方にある領域を、オクルージョン領域として検出する。(なお、
図5のオクルージョン領域R1は、当該検出される領域の一部分のみを模式的に示したものである。)
【0036】
ここで、各物体O1, O2, O3等に属する点群情報における各点は、空間上に離散的に存在しているものであるので、上記手法で直線を延ばした場合、得られるものは、三次元空間計測ハードウェアC1を頂点とした一連の錘状の直線群であり、やはり離散的なものとなる。そこで、空間的な領域としてオクルージョン領域を定める必要があるが、このためには以下のような種々の実施形態が可能である。
【0037】
一実施形態では、各物体O1, O2, O3等ごとに、当該一連の錘状の直線群を内包する錘状領域を、幾何形状のフィッティングで定めて、オクルージョン領域としてもよい。一実施形態では、各物体O1, O2, O3等に属する点群情報から幾何形状のフィッティングでそれぞれの表面領域(1物体に複数の表面領域があってもよい)を定め、三次元空間計測ハードウェアC1の位置から光を発した場合に当該表面領域に遮られて生ずる陰の領域をオクルージョン領域としてもよい。一実施形態では、上記一連の離散的な錘状の直線群の各々に所定の太さ(垂直方向に通過する面積領域)を定めることで、その通過領域をオクルージョン領域としてもよい。
【0038】
また、計算負荷等の観点から好ましい一実施形態として、三次元空間を一定の単位(立方体)で分割し、当該単位ごとにオクルージョン領域であるか否かの判定を行うようにしてもよい。
図6は、当該実施形態を説明するための概念図である。
【0039】
まず、
図6の(1)に示すように、奥行情報を取得したハードウェアを基準とした三次元座標系に対して立方体のグリッドを配置する。ここでグリッドを配置する範囲は、(b)に示すように、(a)に示す点群情報生成部1の生成した点群情報のすべての点を内包する直方体とする。そして、(2)及び(c)に示すように、当該直方体の内部に立方体のグリッドを配置する。ここで当該グリッドを構成する立方体をボクセルと呼ぶ。また、(c)に示すような立方体のグリッドが配置された空間をボクセル空間と呼ぶ。
【0040】
当該ボクセル空間において、全てのボクセルに対し、当該ボクセルがオクルージョン領域であるか否かを判定する。
図7は、当該判定処理を説明する概念図である。まず、
図7の(3)に示すように、(d)に示す全てのボクセルに対し、当該ボクセル内部に点群(各物体に該当する点群)が含まれるか否かを判定することで、点群が1つ以上含まれるボクセルを、物体に対応するボクセルとして検出する。(e)では、当該点群を1つ以上含むとして検出されたボクセルがグレー表記で示されている。
【0041】
次に、(4)及び(f)に示すように、全てのボクセルに対し、当該ボクセルと奥行情報を取得したハードウェアを結ぶ線分に沿って、ボクセル空間を走査する。(f)では当該線分の一例が、点線の双方向矢印で示されている。走査の結果、当該線分上に点群が1つ以上含まれるボクセルが1つでも存在した場合、当該ボクセルは、点群が含まれるボクセルの物体によって隠れていることになるので、オクルージョン領域であると判定され、それ以外の場合はオクルージョン領域ではないと判定される。
【0042】
図8は、当該線分走査による判定の概念図であり、
図7の(f)の線分の箇所を当該線分上に沿って抜粋したものを模式的に示している。ここではオクルージョン領域か否かの判定処理を示すため、線分が真っすぐにボクセルを横切る例が描かれているが、実際には3次元空間内にて種々の方向で線分がボクセルを横切ることとなる。
【0043】
当該走査によるオクルージョン領域の判定は、他の実施形態も可能である。例えば、当該線分のハードウェア側から走査を開始し、点群が1つ以上含まれるボクセルを通る前の当該線分上のボクセルをオクルージョン領域ではないと判定し、点群が1つ以上含まれるボクセルを通って以降の当該線分上のボクセルをオクルージョン領域であると判定し、既に判定されたボクセルについては上記走査を省略することで、走査の回数を削減することも可能である。
【0044】
なお、走査の結果、当該線分上には点群を含むボクセルが存在しない場合は、オクルージョン領域を判定するための情報が得られない。そこで、各実施形態において、走査する線分は、点群を含むボクセルを通るものに限定してもよい。また、各実施形態において、走査する線分は、ボクセル内の重心などの所定点と、三次元空間計測ハードウェアの計測位置と、をつなぐ線分とすればよい。
【0045】
図9は、
図5の例に対して、オクルージョン領域検出部4が上記ボクセル空間の実施形態によりオクルージョン領域を検出した例を、模式的に示す図である。ボクセル空間S(C1)は、三次元空間計測ハードウェアC1を基準として設定され、床G1上に配置された椅子C2の後方に、当該ボクセル空間S(C1)内のボクセルとして、グレー表記で示されるオクルージョン領域R(C1)が検出されている。
【0046】
物体統合部5は、オクルージョンで分割されてしまった物体同士を統合すべく、第一処理として、当該統合を行うための空間上の方向を定め、第二処理として、当該方向に沿った形で、且つ、オクルージョン領域を挟み込む形で存在している物体同士を、統合の対象と判定して統合を実施する。当該第一及び第二処理はそれぞれ、以下の通りである。
【0047】
第一処理では、統合を行う方向を、表面特定部2が特定した表面の各点につき、当該表面に対する所定の方向として決定する。例えば曲面であれば、その法線とすることができるが、その他の方向でもよく、曲面の種類に応じた所定基準を予め設けておくことで方向を決定すればよい。特に、地面等の平面であれば、通常、物体は真っすぐ立って配置されているので、当該平面に対する法線方向としての垂直方向を用いればよい。
【0048】
なお、当該所定方向を決定するための表面の各点は、表面特定部2がフィッティングで特定した表面から定めるので、表面に該当する点群情報が分布していない領域(
図3の[1]の例であれば、中央における椅子の形状で空白になっている領域)における各点も、方向を決定するための対象となる。
【0049】
第二処理では、物体特定部3が特定した各物体の各点につき、当該点を通り上記第一処理で特定した方向を有する直線を設定し、当該直線がオクルージョンを横切ったうえで、別の物体に到達している場合に、当該点に対応する物体と、当該直線により到達した別の物体と、を統合対象と判定して、統合する。
【0050】
ここで、第一物体と第二物体との間に、上記の条件を満たす直線が一本でも存在すれば、当該第一物体及び第二物体を統合する。また、統合は逐次的に行い、例えば第一物体と第二物体とが統合され、第二物体と第三物体とが統合された場合、当該第一物体、第二物体及び第三物体を1つの物体とする。
【0051】
なお、各物体の各点は点群情報として離散的に与えられているので、上記直線が別の物体に到達しているか否かを判定する際には、前述のオクルージョン領域検出部4での説明と同様に、当該別の物体に対応する領域を幾何形状フィッティング等によって定めたうえで、当該領域を当該直線が通過するか否かを判定すればよい。また、別の物体への到達を判定する直線を設定する側の物体の各点についても、点群情報の点に限らず、幾何形状フィッティング等によって定めた領域の各点を用いてよい。
【0052】
図10は、
図5(及び
図4)の例に対して、物体統合部5が統合を行う例を模式的に示す図である。第二脚部B2(=物体O2)上の点を通り床G1に垂直な直線L2は、オクルージョン領域R1を通過してから、座面部B5(=物体O1の一部)を通過している。従って、物体O2及びO1が、統合対象と判定されて統合される。また、第三脚部B3(=物体O3)上の点を通り床G1に垂直な直線L3は、オクルージョン領域R1を通過してから、座面部B5(=物体O1の一部)を通過している。従って、物体O3及びO1も、統合対象と判定されて統合される。従って、全体として、物体O1,O2及びO3が統合対象となり、
図4で示した誤った分割結果が補正され、椅子C1に対応する単一の物体が得られることとなる。
【0053】
なお、上記のように直線で走査して判定する際には、直線が異なる物体を横切っているものの、その間にオクルージョン領域が存在しない場合もある。このような場合、物体特定部3による異なる物体としての特定結果が正しいので、物体統合部5では統合を実施しない。
図11は、
図10の例に対応させる形で、当該統合を実施しない場合を模式的に示す図である。
【0054】
すなわち、
図11では、物体特定部3が特定した物体として、机D1とその下に配置されたごみ箱D2とが、その間にオクルージョン領域が存在しない例として示されている。ごみ箱D2上の点からは、平面G1に垂直な直線L1であって、机D1を通過する直線L1が存在する。しかし、当該走査した直線L1におけるごみ箱D2と机D1との間の領域R2は、三次元空間計測ハードウェアC1から見える範囲であり、椅子C2における領域R1のようなオクルージョン領域ではない。従って、ごみ箱D2と机D1とは、物体特定部3が特定した通りの別の物体であり、統合は不要となる。
【0055】
以上、物体統合部5による処理を第一処理及び第二処理として説明したが、オクルージョン領域検出部4が
図6〜9等で説明したボクセル空間を用いた実施形態でオクルージョン領域を検出している場合は、物体統合部5においても同様に、ボクセル空間を用いた実施形態によって、物体の統合を行うことができる。この場合、ボクセル空間の利用により、計算負荷等を削減することができる。具体的には、以下のようにすればよい。なお、説明のため、表面特定部2は曲面ではなく平面を特定したものとする。
【0056】
ボクセル空間を利用する際の第一処理においては、まず、表面特定部2が特定した平面を基準としたボクセル空間を設定する。すなわち、当該平面に平行な2つの座標軸と、当該平面に垂直な1つの座標軸と、からなるボクセル空間を設定する。第一処理では次に、オクルージョン領域検出部4がオクルージョン領域を検出した際のボクセル空間(第一ボクセル空間)におけるオクルージョン領域を、当該表面特定部2が特定した平面を基準としたボクセル空間(第二ボクセル空間)における領域に変換する。当該変換の際は、第一ボクセル空間でオクルージョン領域と判定されたボクセルが、第二ボクセル空間におけるボクセルと共通部分を有する際に、当該第二ボクセル空間のボクセルはオクルージョン領域であると判定してもよいし、当該共通部分の体積が所定割合以上を占める第二ボクセル空間のボクセルのみをオクルージョン領域であると判定してもよい。
【0057】
図12は、当該平面を基準として第二ボクセル空間を設定すると共に、第一ボクセル空間のオクルージョン領域を設定された第二ボクセル空間のオクルージョン領域へと変換する例を、
図9の例に対応するものとして模式的に示す図である。
【0058】
すなわち、
図9では、第一ボクセル空間S(C1)が、三次元空間計測ハードウェアC1を基準とした座標系を用いて設定され、第一ボクセル空間S(C1)においてオクルージョン領域がR(C1)として検出された。これに対して、
図12では、第二ボクセル空間S(G1)が、床としての平面G1を基準として、当該平面G1に平行な2軸を有する座標系を用いて設定され、第二ボクセル空間S(G1)におけるオクルージョン領域がR(G1)となっている。すなわち、
図12の領域R(G1)と
図9の領域R(C1)とは、(オクルージョン領域の境界部でのわずかなズレなどを除いて)同一のオクルージョン領域をそれぞれのボクセル空間で表現したものである。
【0059】
なお、第一処理では上記のように第二ボクセル空間においてオクルージョン領域を特定すると共に、第二ボクセル空間における、物体特定部3が特定した各物体に対応するボクセルの特定も実施する。当該特定するには、
図7の(d),(3),(e)で説明したのと全く同様に、各物体に対応する点群情報の点が、第二ボクセル空間のボクセル内に存在するかを調べてもよいし、第一ボクセル空間にてボクセル単位で特定されている物体を、上記オクルージョン領域の変換と同様にして第二ボクセル空間へと変換してもよい。
【0060】
続いて、ボクセル空間を利用する際の第二処理においては、
図10で説明したのと同様の処理を、空間上に離散的に存在する直線の走査によって実施するのに代えて、平面を基準として設定された(第二)ボクセル空間における当該平面と垂直な方向における、ボクセル単位の走査によって実施すればよい。すなわち、ボクセル空間で基準平面に垂直な方向のボクセルの並びのうち、連続するオクルージョン領域の前後にボクセル内に異なる物体に属する点が存在する場合に、当該異なる物体は単一のものであるとして、統合する。3つ以上を統合する際の判断や、2つの異なる物体が垂直方向上に並んでいてもオクルージョン領域を挟んでいない場合等については、ボクセル空間によらない実施形態の際と同様である。
【0061】
以上、物体統合部5がボクセル空間を利用して物体の統合を行う実施形態では、基準平面に垂直な方向のボクセルの並びのみが、オクルージョン領域を挟み込む異なる物体が存在しているか否かを、走査して調べる対象となる。従って、ボクセル空間を利用する実施形態においては、ボクセル空間を利用せず個別の直線を調べる場合と比べて非常に簡素に、統合の判定を実施することができる。
【0062】
なお、表面特定部2が特定した表面が曲面である場合は、当該曲面上の各点の所定方向(法線方向など)に、当該各点の所定近傍を通過する柱状のボクセル空間をそれぞれ定めたうえで、前述の基準平面に対するボクセル空間を設定した場合と同様にすればよい。
【0063】
以上、本発明により、三次元空間計測ハードウェア等を用いて取得された奥行情報から生成した点群情報を、物体ごとに高精度に分割することができる。特に、従来技術では、物体同士、または物体自身による隠れ(オクルージョン)が生じることで奥行情報が取得できない領域(オクルージョン領域)が存在する場合、本来は単一の物体として認識されるべき点群が、異なる複数の物体として分割されて認識されてしまうという問題が発生したが、本発明ではこの問題を解決して、屋内空間等における三次元構造を推定することが出来る。
【0064】
以下、本発明における補足的事項を説明する。
【0065】
(1)ボクセルは立方体ではなく、直方体としてもよい。オクルージョン領域検出部4がボクセル空間を設定する場合と、物体統合部5がボクセル空間を設定する場合と、の間において、ボクセルのサイズが異なっていてもよい。
【0066】
(2)
図2以降の椅子の例は、オクルージョン領域が統合されるべき物体自身によって生じる例であったが、統合されるべき物体とは異なる物体によってオクルージョン領域が生じる場合にも、同様の説明が成立し、
図1に示す空間構造推定装置10の各部は同様の処理によって、オクルージョン領域で分断された物体の統合を行うことができる。
【0067】
(3)物体統合部5が第一処理において物体の統合を行うための所定方向を定める際に、上記説明したような、表面特定部2が特定した表面の各点に対する所定方向として定める実施形態に代えて、次のようにしてもよい。すなわち、床などの平面に通常の置かれ方によって各物体が配置されている前提で、表面の情報を利用せずに定まる所定方向として、重力方向を用いるようにしてもよい。ここで、重力方向については、奥行情報を得た三次元空間計測ハードウェアの計測条件における追加情報として、点群情報の座標系で記述された方向の形で、重力センサ等によって予め取得しておき、物体統合部5が受け取るようにすればよい。
【0068】
(4)例えば、床及び壁の2平面など、表面特定部2が複数の表面を特定する場合、物体統合部5では、当該特定された表面ごとに、上記説明したような物体の統合を実施すればよい。この際、物体特定部3にて、表面との距離の近さなどを考慮して、各物体が配置されている表面が複数のうちいずれの表面であるかを特定しておき、物体統合部5では、配置された表面が共通である物体同士を対象として、当該表面に対して定まる所定方向を用いて統合を実施してもよい。
【0069】
(5)本発明は、
図1の各部の処理内容に対応する各ステップを、必要となる情報が予め得られるような順で実行する空間構造推定方法としても実施することができる。本発明はまた、コンピュータに当該方法を実行させる、あるいはコンピュータを
図1の空間構造推定装置10として機能させる、空間構造推定プログラムとして提供することもできる。