JP2009237847A - 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム - Google Patents

情報処理装置、および情報処理方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP2009237847A
JP2009237847A JP2008082450A JP2008082450A JP2009237847A JP 2009237847 A JP2009237847 A JP 2009237847A JP 2008082450 A JP2008082450 A JP 2008082450A JP 2008082450 A JP2008082450 A JP 2008082450A JP 2009237847 A JP2009237847 A JP 2009237847A
Authority
JP
Japan
Prior art keywords
plane
feature point
image
sweeping
feature points
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.)
Pending
Application number
JP2008082450A
Other languages
English (en)
Inventor
Steven Goodman
ステフェン グットマン
Kenichiro Oi
堅一郎 多井
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2008082450A priority Critical patent/JP2009237847A/ja
Publication of JP2009237847A publication Critical patent/JP2009237847A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Position Input By Displaying (AREA)

Abstract

【課題】効率的で精度の高いプレーンスイーピング処理を実現する構成を実現する。
【解決手段】画像から抽出した複数の特徴点各々の3次元位置情報を利用して、複数の特徴点の含まれるプレーン(平面)を検出し、検出したプレーンを利用したプレースイーピング処理を実行して、画像に含まれる画素の3次元位置を算出する。本構成により、オブジェクトの存在するプレーンを利用したプレーンスイーピングを行うことが可能となり、オブジェクトの存在しない可能性の高い領域についてのプレーンスイーピング処理の省略により処理の効率化、高速化が実現される。さらに、実平面を想定した射影変換によるウィンドウマッチングの実行がなされるので、より正確なウィンドウマッチングが実現され、3次元位置データの精度が向上する。
【選択図】図13

Description

本発明は、情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。さらに詳細には、画像に含まれる画素の3次元位置の算出処理を行う情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。
カメラの撮影画像を解析して撮影画像に含まれるオブジェクトの3次元位置を求める処理が様々な分野で利用されている。例えばカメラを備えたロボットなどのエージェント(移動体)が、カメラの撮影画像を解析して移動環境を観測し、観測状況に応じてエージェント周囲の環境を把握しながら移動を行う処理や、撮影画像に基づいて周囲環境の地図(環境地図)を作成する環境マップ構築処理に利用される。非特許文献1には、特徴点位置の追跡を全フレームで行い、全フレームのデータが得られた後、バッチ処理により特徴点の位置とカメラ位置を算出する方法を開示している。
3次元マップ(3D map)の生成処理シーケンスの一例について図1を参照して説明する。まず、ステップ11においてカメラによって画像を撮影する。例えばカメラを保持したユーザやロボットなどが移動しながら周りの画像を連続的に撮影する。
ステップS12において取得画像の解析によって、画像に含まれる特徴点の位置情報などが含まれる疎な3次元情報を構築する。この処理においては、SLAM(simultaneous localization and mapping)やSFM(Structure from Motion)などの処理が適用される。SLAMは、カメラから入力する画像内の特徴点の位置と、カメラの位置姿勢を併せて検出する処理である。SFMは、例えば複数の異なる位置から撮影した画像を利用して画像内に含まれる特徴点(Landmark)の対応を解析する処理などである。
さらに、ステップS13では、ステップS12において求めたカメラの軌跡情報や画像内の特徴点情報などを利用して、詳細な3次元情報である3次元マップを生成する。
ステップS13における3次元マップ生成処理に際しては、ステップS12において求めた特徴点の位置やカメラ位置姿勢情報を利用して、画像フレームに含まれる各画素(ピクセル)についての3次元位置を決定する処理が行われる。この処理は、例えば図2に示すフローに従って実行される。まず、ステップS21において、複数の近接する画像フレームを単位とした所定領域の3次元画像データ(Depth map)の生成処理を実行する。次に、ステップS22において、ステップS21で生成した所定領域単位の3次元画像データをマージする処理が行われる。これらの処理により、カメラによって撮影された画像領域全体の3次元画像データが生成される。
この図2に示すステップ中、ステップS21の処理、すなわち複数の近接する画像フレームを単位とした所定領域の3次元画像データ(Depth map)を生成する処理はプレーンスイーピング(Plane sweeping)と呼ばれる。このプレーンスイーピング(Plane sweeping)は、例えば3次元位置情報が取得されている特徴点の位置情報を利用して初期値(画像フレームからの奥行・物体面の姿勢等)を求め、その初期値を元に各画素の3次元位置を決定する処理である。
また、ステップS22の処理、すなわち、ステップS21で生成した所定領域単位の3次元画像データをマージする処理は、複数の3Dマップから1つの3Dマップを生成する処理であり、メディアンヒュージョン(Median fusion)と呼ばれる。
3次元画像データ(Depth map)の生成処理の1方法である、プレーンスイーピング処理の一例について図3を参照して説明する。例えば図3に示すように重複する領域を撮影した複数の近接する画像フレーム(F1〜F5)を選択し、その対応する特徴点を選択する。この特徴点は1つのオブジェクトであり、その3次元空間での位置は1つに定まるはずである。図に示す例では、壁面のポスターが被写体であり、そのポスター内の1つの点が特徴点として設定されている。なお、xyzの各方向は、
y:高さ方向、
x:参照画像の画像(本例では画像フレームF3)平面に平行な水平方向、
z:参照画像の画像(本例では画像フレームF3)平面に垂直な奥行方向、
である。
各画像フレーム(F1〜F5)を撮影したカメラの位置姿勢情報は、図1に示すフローのステップS12の処理において取得済みであり、また、各画像フレームに対応する解析データとして、特徴点11の3次元位置も算出済みである。なお各画像フレームに対応して算出されたカメラの位置姿勢情報や、特徴点位置情報には多少の誤差が含まれるが、1つの対応する特徴点11の位置を収束させる処理、すなわち、バンドル調整処理(Bundle Adjustment)によってカメラの位置姿勢情報や、特徴点位置情報を修正して1つの特徴点の3次元位置を1つに収束させる処理が実行され、この処理によって特徴点11の最終的な3次元位置が決定される。
例えば、図3に示すように、5つの異なる位置からの撮影画像F1〜F5から検出した対応特徴点11を利用する。画像フレームに含まれる特徴点11の3次元位置は図3に示すように、各画像の撮影ポイントから特徴点の3次元位置11を結ぶ線(Bundle)が1つの特徴点11の位置において交わるはずである。各画像フレームに対応して算出されたカメラの位置姿勢情報や、特徴点位置情報を修正するバンドル調整処理(Bundle adjustment)によって特徴点11の位置を収束させて正確な特徴点位置情報を算出する。
特徴点周囲の画素データについても、例えば各画像フレームF1〜F5のウィンドウマッチングによって、各画像フレームの対応画像領域を選択して、それぞれの画素が図3に示すZ(奥行き方向)のいずれの面(プレーン)に属するかを決定していく。この処理をプレーンスイーピング(Plane sweeping)と呼び、この処理によって、画像フレームに含まれる全ての画素の3次元位置を算出する。
一般的なプレーンスイーピングの処理シーケンスについて図4を参照して説明する。まず、ステップS51において、参照画像フレームの面に平行な面として仮想的に設定した複数のプレーン(図3に示す平面Za,Zb,Zc・・)から1つのプレーンを選択する。次にステップS52において、参照画像フレームに設定したウィンドウの画像を各近接画像フレームの対応位置にワープさせる。これは、選択したプレーンにウィンドウ画像が位置すると仮定して、参照画像フレームに設定したウィンドウ画像を、近接画像フレームの撮影ポイントから撮影した場合に想定される画像を射影変換によって取得する処理である。なお、複数の近接画像フレームに対応ウィンドウが設定されている場合は、それぞれに対して同様の処理を行う。
次にステップS53において、参照画像のウィンドウ画像の射影変換データと、近接画像フレームの対応ウィンドウの画像データとのマッチング(比較)を実行して、ステップS54においてマッチングスコアを算出し記憶部に記録する。類似度が高いほど高いスコアとなる設定としたスコアとする。なお、複数の近接画像フレームに対応ウィンドウが設定されている場合は、それぞれに対して同様の処理を行う。
次にステップS55において未処理プレーンの有無を確認し、未処理プレーンがある場合は、ステップS51に戻り、新たなプレーンを選択して同様の処理を繰り返す。ステップS55において未処理プレーンが無くなったことが確認されると、ステップS56に進み、各ウィンドウについてスコアの高いデータを選択してそのハイスコアが算出されたプレーンをそのウィンドウの設定されるプレーンとする。なお、複数の近接画像フレームに対応ウィンドウが設定され、1つのウィンドウに複数のスコアが算出されている場合は、スコア平均値を算出して比較する。
このように、従来のプレーンスイーピング処理では、参照画像フレームの面に平行な面、すなわち、例えば図3に示すプレーンZa,Zb,Zc・・・の奥行範囲・プレーン毎の間隔をユーザが設定して対応プレーンを決定するという煩雑な手数が必要となっていただけでなく、プレーンZa,Zb,Zc・・・の姿勢が物体面の姿勢を考慮していないために、三次元画像データ(Depth map)精度が悪くなるという問題があった。
"Shape and motion from image streams under orthography: a factorization method",C.Tomasi and T.Kanade,International Journal of Computer Vision, Volume 9, Number 2, pp.137−154,(1992).
本発明は、特徴点の位置情報を利用して、実際の3次元空間に設定される平面であるプレーン(Plane)を推定し、この推定したプレーンを利用してプレーンスイーピング(Plane sweeping)を実行することで、効率的かつ正確なプレーンスイーピングを実現する情報処理装置、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
具体的には、本発明はSLAM(simultaneous localization and mapping)やSFM(Structure from Motion)などの処理によって算出されている画像内の特徴点の位置情報を利用して、実際の3次元空間に設定される平面であるプレーン(Plane)を推定し、この推定したプレーンを利用してプレーンスイーピング(Plane sweeping)を実行することで、効率的かつ正確なプレーンスイーピングを実現する情報処理装置、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
本発明の第1の側面は、
画像に含まれる画素の3次元位置を算出する情報処理装置であり、
画像から抽出した複数の特徴点各々の3次元位置を取得する特徴点位置算出部と、
前記特徴点位置算出部の算出した特徴点位置情報を利用して、複数の特徴点の含まれるプレーン(平面)を検出するプレーン検出部と、
前記プレーン検出部において検出したプレーンを利用したプレースイーピング処理を実行するプレーンスイーピング処理実行部を有することを特徴とする情報処理装置にある。
さらに、本発明の情報処理装置の一実施態様において、前記プレーン検出部は、前記特徴点位置算出部の算出した特徴点位置情報を利用したハフ変換により、複数の特徴点の含まれるプレーンを検出する処理を実行することを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記プレーン検出部は、前記特徴点位置算出部の算出した特徴点位置情報を利用したランサック(RANSAC)アルゴリズムの実行により、複数の特徴点の含まれるプレーンを検出する処理を実行することを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記プレーン検出部は、前記特徴点が複数含まれる平面に属さない遊離した特徴点については、該特徴点を含む独自の平面を、前記プレーンスイーピング処理実行部において利用するプレーンとして設定することを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記プレーン検出部は、前記プレーンスイーピング処理実行部において画素位置の算出対象とする画像を撮影した参照画像の平面と平行な平面とならないプレーンを、前記プレーンスイーピング処理実行部において利用するプレーンとして設定し、前記プレーンスイーピング処理実行部は、前記プレーン検出部において設定したプレーンに応じた射影変換を実行してウィンドウマッチングによる画素の3次元位置算出を実行することを特徴とする。
さらに、本発明の第2の側面は、
情報処理装置において、画像に含まれる画素の3次元位置を算出する情報処理方法であり、
特徴点位置算出部が、画像から抽出した複数の特徴点各々の3次元位置を取得する特徴点位置算出ステップと、
プレーン検出部が、前記特徴点位置算出部の算出した特徴点位置情報を利用して、複数の特徴点の含まれるプレーン(平面)を検出するプレーン検出ステップと、
プレーンスイーピング処理実行が、前記プレーン検出部において検出したプレーンを利用したプレースイーピング処理を実行するプレーンスイーピング処理実行ステップと、
を有することを特徴とする情報処理方法にある。
さらに、本発明の情報処理方法の一実施態様において、前記プレーン検出ステップは、前記特徴点位置算出部の算出した特徴点位置情報を利用したハフ変換により、複数の特徴点の含まれるプレーンを検出する処理を実行することを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記プレーン検出ステップは、前記特徴点位置算出部の算出した特徴点位置情報を利用したランサック(RANSAC)アルゴリズムの実行により、複数の特徴点の含まれるプレーンを検出する処理を実行することを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記プレーン検出ステップは、前記特徴点が複数含まれる平面に属さない遊離した特徴点については、該特徴点を含む独自の平面を、前記プレーンスイーピング処理実行部において利用するプレーンとして設定することを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記プレーン検出ステップは、前記プレーンスイーピング処理実行部において画素位置の算出対象とする画像を撮影した参照画像の平面と平行な平面とならないプレーンを、前記プレーンスイーピング処理実行部において利用するプレーンとして設定し、前記プレーンスイーピング処理実行ステップは、前記プレーン検出部において設定したプレーンに応じた射影変換を実行してウィンドウマッチングによる画素の3次元位置算出を実行することを特徴とする。
さらに、本発明の第3の側面は、
情報処理装置において、画像に含まれる画素の3次元位置を算出させるコンピュータ・プログラムであり、
特徴点位置算出部に、画像から抽出した複数の特徴点各々の3次元位置を取得させる特徴点位置算出ステップと、
プレーン検出部に、前記特徴点位置算出部の算出した特徴点位置情報を利用して、複数の特徴点の含まれるプレーン(平面)を検出させるプレーン検出ステップと、
プレーンスイーピング処理実行に、前記プレーン検出部において検出したプレーンを利用したプレースイーピング処理を実行させるプレーンスイーピング処理実行ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本発明の一実施例の構成によれば、画像から抽出した複数の特徴点各々の3次元位置情報を利用して、複数の特徴点の含まれるプレーン(平面)を検出し、検出したプレーンを利用したプレースイーピング処理を実行して、画像に含まれる画素の3次元位置を算出する構成とした。本構成により、ユーザによるプレーン位置姿勢のマニュアル設定の手数がなくなるだけでなく、オブジェクトが存在することがほぼ確実なプレーンを検出し、検出プレーンを利用したプレーンスイーピングを行うことが可能となり、オブジェクトの存在しない可能性の高い領域についてのプレーンスイーピング処理の省略が可能となり処理の効率化、高速化が実現される。さらに、実平面を想定した射影変換によるウィンドウマッチングの実行がなされるので、より正確なウィンドウマッチングが実現され、3次元位置データの精度が向上する。
以下、図面を参照しながら本発明の実施形態に係る情報処理装置、および情報処理方法、並びにコンピュータ・プログラムの詳細について説明する。
本発明の概要について、図5を参照して説明する。本発明の情報処理装置120は、例えば移動するユーザ101の保持するカメラ102の撮影画像、例えば動画像を構成する画像を入力し、その入力画像の解析を実行して撮影画像に含まれる様々なオブジェクトからなる3次元画像情報103を生成する。
情報処理装置120は、先に図1を参照して説明した処理と同様、取得画像の解析によって、画像に含まれる特徴点の位置情報などが含まれる疎な3次元マップ131を、SLAM(simultaneous localization and mapping)やSFM(Structure from Motion)などの処理を適用して生成し、さらに、カメラの軌跡情報や画像内の特徴点情報などを利用して詳細な3次元情報である密な3次元マップ132を生成する。
先に説明したように、SLAMは、カメラから入力する画像内の特徴点の位置と、カメラの位置姿勢を併せて検出する処理である。SFMは、例えば複数の異なる位置から撮影した画像を利用して画像内に含まれる特徴点(Landmark)の対応を解析する処理などである。
SLAM(simultaneous localization and mapping)やSFM(Structure from Motion)などの処理を適用して各画像フレームに対応する特徴点位置情報とカメラ位置姿勢情報が取得される。その後、これらの情報を適用して密な3次元マップ132を生成する。
密な3次元マップは、特徴点の3次元位置のみならず、画像に含まれる全ての画素の3次元位置の算出が必要であり、この処理のために、先に図2を参照して説明した処理、すなわち、
複数の近接する画像フレームを単位とした所定領域の3次元画像データ(Depth map)を生成するプレーンスイーピング(Plane sweeping)処理、
所定領域単位の3次元画像データをマージするメディアンヒュージョン(Median fusion)処理、
これらの処理を実行して、3次元画像データが完成する。
本発明の情報処理装置120は、このプレーンスイーピング処理の改良に関する。
まず、本発明に係る情報処理装置120は、特徴点の位置情報を利用して、実際の3次元空間に設定される平面であるプレーン(Plane)を推定し、この推定したプレーンを利用してプレーンスイーピング(Plane sweeping)を実行する。
すなわち、SLAM(simultaneous localization and mapping)やSFM(Structure from Motion)などの処理によって算出されている画像内の特徴点の位置情報を利用して、実際の3次元空間に設定される平面であるプレーン(Plane)を推定し、この推定したプレーンを利用してプレーンスイーピング(Plane sweeping)を実行する。本発明に従ったプレーンスイーピング処理と、従来のプレーンスイーピング処理との差異について図6〜図8を参照して説明する。
図6は、従来の一般的なプレーンスイーピング処理例を示す図である。図6は、y方向を高さ方向として、xzの水平面を上から見た図である。z方向が参照画像フレーム撮影カメラ201からの距離(奥行き)になる。先に図3を参照して説明したと同様、参照画像フレーム撮影カメラ201の撮影画像に含まれる画素の3次元位置を算出する場合を想定する。この場合、参照画像フレーム撮影カメラ201と異なる位置から画像の撮影を行った近接画像撮影カメラ202a〜202dの撮影画像(近接画像フレーム)を用いる。
参照画像フレーム撮影カメラ201の撮影画像平面(xy平面)に水平な面(プレーン):Za,Zb,Zc,Zd・・・Znを設定して、先に図4を参照して説明したフローチャートに従った処理を実行する。すなわち、プレーンを1つずつ選択して、参照画像フレーム撮影カメラ201の撮影画像内に設定した所定単位の画素領域であるウィンドウ画像が、選択プレーンの位置に存在すると仮定して、参照画像フレームのウィンドウ画像を射影変換して近接画像撮影カメラの撮影ポイントから撮影した画像を生成し、生成画像と、実際の近接画像撮影カメラ202a〜202dの撮影画像(近接画像フレーム)と比較する。すなわちウィンドウマッチングを実行して類似度を判定し、類似度の高いものほど高い値としたマッチングスコアを算出し、マッチングスコアの最大となるプレーンをそのウィンドウの奥行き(Z)とする。
このように、従来のプレーンスイーピング処理では、参照画像フレームの面に平行な平面であるプレーン:Za,Zb,Zc・・・を仮想的に設定して、各設定プレーンを1つずつ選択して、選択プレーンにウィンドウ内の画像が位置すると仮定してウィンドウ画像を射影変換して実際の近接撮影画像と比較するという処理を実行していた。
しかし、撮影された対象となる空間に配置されたオブジェクトが、例えば図7に示すようなオブジェクトであるとする。図7に示すように、壁面オブジェクト251と、壁面オブジェクト251の前方に位置する平面でないオブジェクト252が撮影対象であった場合を想定する。
このような空間を撮影した場合、従来のプレーンスイーピング処理、すなわち、参照画像フレームの面に平行な平面であるプレーン:Za,Zb,Zc・・・を仮想的に設定して、各設定プレーンを1つずつ選択して、選択プレーンにウィンドウ内の画像が位置すると仮定してウィンドウ画像を射影変換して実際の近接撮影画像と比較するという処理を実行しても、オブジェクトの存在しない部分の処理を実行することになり意味のない処理を実行してしまうことになり、3次元画像生成プロセスを無為に遅延させてしまうことになる。
そこで、本発明は、図8に示すように、特徴点の位置情報を利用して、実際の3次元空間に設定される平面であるプレーン(Plane)を設定し、この設定したプレーンを利用してプレーンスイーピング(Plane sweeping)を実行することで、効率的かつ正確なプレーンスイーピングを実現する。
図8に示す特徴点301は、プレーンスイーピングを実行する前に行われる処理、すなわち、先に図1を参照して説明した処理フローのステップS12におけるSLAM(simultaneous localization and mapping)やSFM(Structure from Motion)などの処理によって算出されている画像内の特徴点である。これらの特徴点301は、SLAM(simultaneous localization and mapping)やSFM(Structure from Motion)などの処理によってその3次元位置が算出済みである。
本発明は、これらの特徴点301の位置情報を利用して3次元空間の平面であるプレーン(Plane)を設定して、設定したプレーンを利用してプレーンスイーピング(Plane sweeping)を実行する。本発明において設定するプレーンは、参照画像フレームの面に平行な平面であるとは限らない。
図8に示す例では、プレーンとしてP1,P2,P3,P4,P5が設定されている。これらのプレーンは、特徴点301の3次元位置情報を利用して算出する。具体的には、例えばハフ変換やランサック(RANSAC)アルゴリズムを用いて設定すべきプレーン(平面)を求める。
特徴点の位置情報を利用したプレーン算出処理例について、以下の2つの処理例について順次、説明する。
(1)ハフ変換による処理例
(2)ランサック(RANSAC)アルゴリズムを用いた処理例
(1)ハフ変換による処理例
まず、図9を参照して、既知の3次元位置情報を持つ特徴点の位置情報を利用して特徴点によって構成される平面(プレーン)を、ハフ変換によって算出する処理例について説明する。ハフ変換は、既知の位置情報を持つ複数の点に基づいて想定される面や線を求める手法として知られている。
例えば図9(1)に示すように、xy平面上に座標(xa,ya)が既知の点351が複数、存在するとする。これらの点351は、図に示す特徴店301に相当する。
最終的に求めようとする線は、これらの複数の点351を通る線352となる。線352は未知でありパラメータa,bを用いた任意の直線:y=ax+bとして設定する。
次に、図9(2)に示すように、直線定義式:y=ax+bに用いたパラメータa,bによってab平面を設定する。ここに、既知の複数の点351(xa,ya),(xb,yb)・・・(xn,yn)を当てはめた直線353を描くと、これらの線はある1点において交わる線となる。この交点360が、直線定義式:y=ax+bに用いたパラメータa,bの値となる。
この交点360の座標点である(a,b)の値を適用した直線定義式:y=ax+bが図9(1)において求めようとする直線352となる。このように既知の点351を用いて、既知の点によって構成される線を算出する。なお、図9では、直線の算出処理例として説明したが、平面の算出も同様の手順で算出可能である。このようにして特徴点の3次元位置情報を利用して特徴点を含む平面を算出する。
(2)ランサック(RANSAC)アルゴリズムを用いた処理例
次に、図10に示すフローチャートを参照して、既知の3次元位置情報を持つ特徴点の位置情報を利用して特徴点によって構成される平面を決定するランサック(RANSAC)アルゴリズムを用いた処理例について説明する。ランサック(RANSAC)アルゴリズムは、3次元位置の取得されている点に基づいて、点のセットをランダムに抽出して、予め設定した誤差範囲を満足する直線や面を検出する方法として知られている。
図10に示すフローチャートの各ステップの処理について説明する。まず、ステップS200において処理の繰り返し回数のカウント値=Xを初期値、X=1に設定する。次にステップS201において、3次元位置の取得されている点からランダムにM個(例えばM=2)の特徴点を取得する。Mはユーザがモデル式に応じて予め設定する。これらの点は、図8に示す特徴点301の中から選択される。
ステップS202において、ランダムにM個取得された特徴点から直線モデル式:y=ax+bを求める。次に、ステップS203において、N個の特徴点から、モデル式にフィットする点を選択して選択された点の数をカウントする。なお、予め設定した誤差範囲であればフィットすると判定する。
次に、ステップS205において最大繰り返し回数Xmax(例えばXmax=100)に達するまで処理し、X<Xmaxである場合は、ステップS206に進みカウンタを1増加し、ステップS201以下の処理を繰り返す。ただし、Xmaxはユーザが予め設定する。
ステップS205においてとX≧Xmax判定されると、ステップS207に進み、カウント値の高いモデル式によって定義される直線を順次出力する。このように位置が既知の点を用いて、既知の点によって構成される線を算出する。なお、図10のフローでは、直線の算出処理例として説明したが、平面の算出も同様の手順で算出可能である。このようにして特徴点の3次元位置情報を利用して特徴点を含む平面を算出する。
このように、本発明の装置では、ハフ変換やランサック(RANSAC)アルゴリズムを用いて特徴点301の3次元位置情報を利用して特徴点を含む平面(プレーン)を算出する。この処理によって、図8に示すプレーンP1,P2が求められる。
図8に示すプレーンP3,P4,P5は、ハフ変換やランサック(RANSAC)アルゴリズムを用いて求めることが出来ない特徴点の遊離点であり、これらの遊離点については、その特徴点を含む限定領域のみに従来と同様の参照カメラによって撮影される画像平面に平行な平面をプレーンとして設定する。
このような処理によって、図8に示すプレーンP1〜P5が設定され、設定したプレーンP1〜P5を利用してプレーンスイーピング(Plane sweeping)を実行する。
本発明の一実施例に従ったプレーンスイーピング処理シーケンスについて、図11に示すフローチャートを参照して説明する。
まず、ステップS301において、プレーンスイーピングに適用するプレーンを決定する。この処理は、上述したように特徴点の3次元位置情報を利用して算出する処理である。
前述したように、プレーンスイーピングを実行する前にSLAM(simultaneous localization and mapping)やSFM(Structure from Motion)などの処理によって特徴点の3次元位置情報は取得済みであり、これらの位置情報を利用して、先に図9、図10を参照して説明したハフ変換やランサック(RANSAC)アルゴリズムを用いて複数の特徴点が含まれる平面を算出する。なお、これらの処理によって算出された平面に含まれない遊離した特徴点については、その遊離特徴点を含む予め設定した面積の平面を従来と同様の参照カメラによって撮影される画像平面に平行に設定してプレーンとする。このようにして、例えば図8に示す例における複数のプレーンP1〜P5が設定される。
次に、ステップS302において、ステップS301で設定した複数のプレーン(例えば図8に示すプレーンP1,P2,P3・・)から1つのプレーンを選択する。次にステップS303において、参照画像フレームに設定したウィンドウの画像を各近接画像フレームの対応位置にワープさせる。これは、選択したプレーンにウィンドウ画像が位置すると仮定して、参照画像フレームに設定したウィンドウ画像を、近接画像フレームの撮影ポイントから撮影した場合に想定される画像を射影変換によって取得する処理である。なお、複数の近接画像フレームに対応ウィンドウが設定されている場合は、それぞれに対して同様の処理を行う。
なお、例えば図8に示すプレーンP1を利用した処理を実行する場合、実際のオブジェクト面に沿った平面を利用することになり、この平面を想定した射影変換を実行する。
次にステップS304において、参照画像のウィンドウ画像の射影変換データと、近接画像フレームの対応ウィンドウの画像データとのマッチング(比較)を実行して、ステップS305においてマッチングスコアを算出し記憶部に記録する。類似度が高いほど高いスコアとなる設定としたスコアとする。なお、複数の近接画像フレームに対応ウィンドウが設定されている場合は、それぞれに対して同様の処理を行う。
本発明に従った処理では、実際のオブジェクト面に沿った平面を想定した射影変換によるウィンドウマッチングを実行するので、より正確なウィンドウマッチングが実現される。
次にステップS306において未処理プレーンの有無を確認し、未処理プレーンがある場合は、ステップS302に戻り、新たなプレーンを選択して同様の処理を繰り返す。ステップS306において未処理プレーンが無くなったことが確認されると、ステップS307に進み、各ウィンドウについてスコアの高いデータを選択してそのハイスコアが算出されたプレーンをそのウィンドウの設定されるプレーンとする。なお、複数の近接画像フレームに対応ウィンドウが設定され、1つのウィンドウに複数のスコアが算出されている場合は、スコア平均値を算出して比較する。
このように、本発明に従った処理では、3次元位置を算出しようとするオブジェクトが存在することがほぼ確実なプレーンを予め算出し、これらの算出プレーンを利用してプレーンスイーピングを実行する構成としたので、オブジェクトの存在しない可能性の高い領域についてのプレーンスイーピング処理を省略することが可能となり処理の効率化、高速化が実現される。
また、本発明において設定されるプレーンは、参照画像フレームの面に平行な面、すなわち、例えば図3に示す平面Za,Zb,Zc・・・に限らず、実際のオブジェクト面に沿った平面を利用する構成であり、前述したようにこの実平面を想定した射影変換によるウィンドウマッチングの実行により正確なウィンドウマッチングが実現され、3次元位置データの精度についても向上させることが可能となる。
すなわち、図12(1)に示すように従来型のプレーンスイーピング処理では、設定される平面Za,Zb,Zc・・・のいずれかの位置に離散的に3次元位置が決定されることになり、実際はこれらの設定プレーンの間に位置するデータであっても、各プレーン上に3次元位置が決定されてしまう。
しかし、本発明の処理では、実際のオブジェクトによって規定される面、すなわち、図12(2)に示すプレーンP1を想定して射影変換およびウィンドウマッチングを実行する構成であり、画像データは、実際のオブジェクトに対応するプレーンP1上に3次元位置を設定することができる。
図13に本発明の情報処理装置の構成例を示す。情報処理装置120は、先に図5を参照して説明したように例えば移動するユーザ101の保持するカメラ102の撮影画像、例えば動画像を構成する画像を入力し、その入力画像の解析を実行して撮影画像に含まれるオブジェクトについての3次元画像情報103を生成する。
情報処理装置120は、図13に示すように、画像入力部501、特徴点位置&カメラ位置姿勢算出部(SFM/SLAM)502、プレーン検出部503、プレーンスイーピング処理実行部504、マージ処理部505、記憶部506を有する。
画像入力部501は、図5を参照して説明したように例えば移動するユーザ101の保持するカメラ102の撮影画像を入力して、特徴点位置&カメラ位置姿勢算出部(SFM/SLAM)502に入力する。特徴点位置&カメラ位置姿勢算出部(SFM/SLAM)502では、SLAM(simultaneous localization and mapping)やSFM(Structure from Motion)などの処理を適用して画像内の特徴点の位置と、カメラの位置姿勢を検出する。
撮影画像フレームデータと、特徴点位置情報およびカメラ位置姿勢情報は、プレーン検出部503に入力される。プレーン検出部503はプレーンスイーピング処理実行部504におけるプレーンスイーピング処理に適用するプレーン(平面)を特徴点位置情報を利用して検出する。
具体的には、先に図9、図10を参照して説明したハフ変換やランサック(RANSAC)アルゴリズムを実行して、複数の特徴点の含まれる平面を検出して、検出平面をプレーンスイーピング処理に適用するプレーン(平面)とする。
プレーンスイーピング処理実行部504は、プレーン検出部503において検出されたプレーンを利用したプレースイーピング処理を実行する。さらに、マージ処理部505は、プレーンスイーピング処理実行部504において生成したデータをマージして、カメラによって撮影された画像全体の3次元画像データを生成する。なお、記憶部506には画像フレームの他、各処理部において算出されたデータが記録される。
このような処理を行うことで、オブジェクトが存在することがほぼ確実なプレーンを検出し、検出プレーンを利用したプレーンスイーピングを実行する構成としたので、ユーザによるプレーン位置姿勢のマニュアル設定の手数がなくなるだけでなく、オブジェクトの存在しない可能性の高い領域についてのプレーンスイーピング処理を省略することが可能となり処理の効率化、高速化が実現され、また、先に図12を参照して説明したように実平面を想定した射影変換によるウィンドウマッチングの実行がなされるので、より正確なウィンドウマッチングが実現され、3次元位置データの精度が向上する。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本発明の一実施例の構成によれば、画像から抽出した複数の特徴点各々の3次元位置情報を利用して、複数の特徴点の含まれるプレーン(平面)を検出し、検出したプレーンを利用したプレースイーピング処理を実行して、画像に含まれる画素の3次元位置を算出する構成とした。本構成により、オブジェクトが存在することがほぼ確実なプレーンを検出し、検出プレーンを利用したプレーンスイーピングを行うことが可能となり、オブジェクトの存在しない可能性の高い領域についてのプレーンスイーピング処理の省略が可能となり処理の効率化、高速化が実現される。さらに、実平面を想定した射影変換によるウィンドウマッチングの実行がなされるので、より正確なウィンドウマッチングが実現され、3次元位置データの精度が向上する。
3次元マップ(3D map)の生成処理シーケンスの一例について説明するフローチャートを示す図である。 画像フレームに含まれる各画素(ピクセル)についての3次元位置を決定する処理シーケンスの一例について説明するフローチャートを示す図である。 プレーンスイーピング処理の一例について説明する図である。 プレーンスイーピング処理のシーケンスの例について説明するフローチャートを示す図である。 本発明の処理の概要について説明する図である。 プレーンスイーピング処理において利用するプレーンの従来の一般的な設定例について説明する図である。 プレーンスイーピング処理において利用する従来のプレーン設定における問題点について説明する図である。 本発明に従ったプレーンスイーピング処理において利用するプレーンの設定例について説明する図である。 本発明に従ったプレーンスイーピング処理において利用するプレーン検出処理として実行するハフ変換について説明する図である。 本発明に従ったプレーンスイーピング処理において利用するプレーン検出処理として実行するランサック(RANSAC)アルゴリズムについて説明するフローチャートを示す図である。 本発明の情報処理装置において実行するプレーンスイーピング処理のシーケンスの例について説明するフローチャートを示す図である。 本発明の情報処理装置において実行するプレーンスイーピング処理の特徴について説明する図である。 本発明の一実施例に係る情報処理装置の構成例について説明する図である。
符号の説明
11 特徴点
101 ユーザ
102 カメラ
103 3次元画像情報
120 情報処理装置
131 疎な3次元マップ
132 密な3次元マップ
201 参照画像フレーム撮影カメラ
202 近接画像フレーム撮影カメラ
251,252 オブジェクト
301 特徴点
501 画像入力部
502 特徴点位置&カメラ位置姿勢算出部(SFM/SLAM)
503 プレーン検出部
504 プレーンスイーピング処理実行部
505 マージ処理部
506 記憶部

Claims (11)

  1. 画像に含まれる画素の3次元位置を算出する情報処理装置であり、
    画像から抽出した複数の特徴点各々の3次元位置を取得する特徴点位置算出部と、
    前記特徴点位置算出部の算出した特徴点位置情報を利用して、複数の特徴点の含まれるプレーン(平面)を検出するプレーン検出部と、
    前記プレーン検出部において検出したプレーンを利用したプレースイーピング処理を実行するプレーンスイーピング処理実行部を有することを特徴とする情報処理装置。
  2. 前記プレーン検出部は、
    前記特徴点位置算出部の算出した特徴点位置情報を利用したハフ変換により、複数の特徴点の含まれるプレーンを検出する処理を実行することを特徴とする請求項1に記載の情報処理装置。
  3. 前記プレーン検出部は、
    前記特徴点位置算出部の算出した特徴点位置情報を利用したランサック(RANSAC)アルゴリズムの実行により、複数の特徴点の含まれるプレーンを検出する処理を実行することを特徴とする請求項1に記載の情報処理装置。
  4. 前記プレーン検出部は、
    前記特徴点が複数含まれる平面に属さない遊離した特徴点については、該特徴点を含む独自の平面を、前記プレーンスイーピング処理実行部において利用するプレーンとして設定することを特徴とする請求項1に記載の情報処理装置。
  5. 前記プレーン検出部は、
    前記プレーンスイーピング処理実行部において画素位置の算出対象とする画像を撮影した参照画像の平面と平行な平面とならないプレーンを、前記プレーンスイーピング処理実行部において利用するプレーンとして設定し、
    前記プレーンスイーピング処理実行部は、
    前記プレーン検出部において設定したプレーンに応じた射影変換を実行してウィンドウマッチングによる画素の3次元位置算出を実行することを特徴とする請求項1に記載の情報処理装置。
  6. 情報処理装置において、画像に含まれる画素の3次元位置を算出する情報処理方法であり、
    特徴点位置算出部が、画像から抽出した複数の特徴点各々の3次元位置を取得する特徴点位置算出ステップと、
    プレーン検出部が、前記特徴点位置算出部の算出した特徴点位置情報を利用して、複数の特徴点の含まれるプレーン(平面)を検出するプレーン検出ステップと、
    プレーンスイーピング処理実行が、前記プレーン検出部において検出したプレーンを利用したプレースイーピング処理を実行するプレーンスイーピング処理実行ステップと、
    を有することを特徴とする情報処理方法。
  7. 前記プレーン検出ステップは、
    前記特徴点位置算出部の算出した特徴点位置情報を利用したハフ変換により、複数の特徴点の含まれるプレーンを検出する処理を実行することを特徴とする請求項6に記載の情報処理方法。
  8. 前記プレーン検出ステップは、
    前記特徴点位置算出部の算出した特徴点位置情報を利用したランサック(RANSAC)アルゴリズムの実行により、複数の特徴点の含まれるプレーンを検出する処理を実行することを特徴とする請求項6に記載の情報処理方法。
  9. 前記プレーン検出ステップは、
    前記特徴点が複数含まれる平面に属さない遊離した特徴点については、該特徴点を含む独自の平面を、前記プレーンスイーピング処理実行部において利用するプレーンとして設定することを特徴とする請求項6に記載の情報処理方法。
  10. 前記プレーン検出ステップは、
    前記プレーンスイーピング処理実行部において画素位置の算出対象とする画像を撮影した参照画像の平面と平行な平面とならないプレーンを、前記プレーンスイーピング処理実行部において利用するプレーンとして設定し、
    前記プレーンスイーピング処理実行ステップは、
    前記プレーン検出部において設定したプレーンに応じた射影変換を実行してウィンドウマッチングによる画素の3次元位置算出を実行することを特徴とする請求項6に記載の情報処理方法。
  11. 情報処理装置において、画像に含まれる画素の3次元位置を算出させるコンピュータ・プログラムであり、
    特徴点位置算出部に、画像から抽出した複数の特徴点各々の3次元位置を取得させる特徴点位置算出ステップと、
    プレーン検出部に、前記特徴点位置算出部の算出した特徴点位置情報を利用して、複数の特徴点の含まれるプレーン(平面)を検出させるプレーン検出ステップと、
    プレーンスイーピング処理実行に、前記プレーン検出部において検出したプレーンを利用したプレースイーピング処理を実行させるプレーンスイーピング処理実行ステップと、
    を有することを特徴とするコンピュータ・プログラム。
JP2008082450A 2008-03-27 2008-03-27 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム Pending JP2009237847A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008082450A JP2009237847A (ja) 2008-03-27 2008-03-27 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008082450A JP2009237847A (ja) 2008-03-27 2008-03-27 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム

Publications (1)

Publication Number Publication Date
JP2009237847A true JP2009237847A (ja) 2009-10-15

Family

ID=41251725

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008082450A Pending JP2009237847A (ja) 2008-03-27 2008-03-27 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム

Country Status (1)

Country Link
JP (1) JP2009237847A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102951461A (zh) * 2012-11-09 2013-03-06 大连海顺重工环保设备有限公司 一种星形卸料器
JP2013109750A (ja) * 2011-11-23 2013-06-06 Samsung Electronics Co Ltd 3次元データ映像の階段認識方法
US8787614B2 (en) 2010-05-03 2014-07-22 Samsung Electronics Co., Ltd. System and method building a map
US9020196B2 (en) 2012-08-15 2015-04-28 International Business Machines Corporation Extracting feature quantities from an image to perform location estimation
WO2020121406A1 (ja) * 2018-12-11 2020-06-18 三菱電機株式会社 3次元計測装置、移動ロボット、手押し車型移動装置および3次元計測処理方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8787614B2 (en) 2010-05-03 2014-07-22 Samsung Electronics Co., Ltd. System and method building a map
JP2013109750A (ja) * 2011-11-23 2013-06-06 Samsung Electronics Co Ltd 3次元データ映像の階段認識方法
US9552640B2 (en) 2011-11-23 2017-01-24 Samsung Electronics Co., Ltd. Method of recognizing stairs in three dimensional data image
US9020196B2 (en) 2012-08-15 2015-04-28 International Business Machines Corporation Extracting feature quantities from an image to perform location estimation
US9087268B2 (en) 2012-08-15 2015-07-21 International Business Machines Corporation Extracting feature quantities from an image to perform location estimation
DE112013003541B4 (de) 2012-08-15 2018-10-25 International Business Machines Corporation Verfahren, Programm und System zur Merkmalextraktion
CN102951461A (zh) * 2012-11-09 2013-03-06 大连海顺重工环保设备有限公司 一种星形卸料器
WO2020121406A1 (ja) * 2018-12-11 2020-06-18 三菱電機株式会社 3次元計測装置、移動ロボット、手押し車型移動装置および3次元計測処理方法
JPWO2020121406A1 (ja) * 2018-12-11 2021-09-02 三菱電機株式会社 3次元計測装置、移動ロボット、手押し車型移動装置および3次元計測処理方法
JP7006810B2 (ja) 2018-12-11 2022-01-24 三菱電機株式会社 3次元計測装置、移動ロボット、手押し車型移動装置および3次元計測処理方法

Similar Documents

Publication Publication Date Title
EP3698323B1 (en) Depth from motion for augmented reality for handheld user devices
US10334168B2 (en) Threshold determination in a RANSAC algorithm
JP4985516B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
Concha et al. Using superpixels in monocular SLAM
US8913055B2 (en) Online environment mapping
Newcombe et al. DTAM: Dense tracking and mapping in real-time
US8447099B2 (en) Forming 3D models using two images
US8705893B1 (en) Apparatus and method for creating floor plans
CN107077744B (zh) 使用边缘的三维模型生成的方法和***
US8452081B2 (en) Forming 3D models using multiple images
KR101419979B1 (ko) 2d 이미지 데이터를 스테레오스코픽 이미지 데이터로 변환하기 위한 방법 및 시스템
US9191650B2 (en) Video object localization method using multiple cameras
KR20190042187A (ko) 깊이 값을 추정하는 방법 및 장치
JP2018523881A (ja) データを位置合わせする方法及びシステム
Jellal et al. LS-ELAS: Line segment based efficient large scale stereo matching
WO2009023044A2 (en) Method and system for fast dense stereoscopic ranging
CA2687913A1 (en) Estimation of image relations from point correspondences between images
JP2011008687A (ja) 画像処理装置
GB2567245A (en) Methods and apparatuses for depth rectification processing
JP2009237847A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US9317968B2 (en) System and method for multiple hypotheses testing for surface orientation during 3D point cloud extraction from 2D imagery
US20230419526A1 (en) Method, apparatus, and computer-readable medium for room layout extraction
JP2009237846A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP4836065B2 (ja) エッジトラッキング方法及びそのコンピュータプログラム
JP2014529823A (ja) グラフマッチングおよびサイクル検出による自動モデル初期化を用いた線トラッキング