(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6242334
(24)【登録日】2017年11月17日
(45)【発行日】2017年12月6日
(54)【発明の名称】平面特性基盤マーカーレス拡張現実システムおよびその動作方法
(51)【国際特許分類】
G06T 1/00 20060101AFI20171127BHJP
G06T 19/00 20110101ALI20171127BHJP
H04N 5/225 20060101ALI20171127BHJP
H04N 5/232 20060101ALI20171127BHJP
【FI】
G06T1/00 315
G06T19/00 600
H04N5/225
H04N5/232
【請求項の数】21
【全頁数】19
(21)【出願番号】特願2014-522736(P2014-522736)
(86)(22)【出願日】2012年7月16日
(65)【公表番号】特表2014-526099(P2014-526099A)
(43)【公表日】2014年10月2日
(86)【国際出願番号】KR2012005645
(87)【国際公開番号】WO2013015549
(87)【国際公開日】20130131
【審査請求日】2015年3月11日
【審判番号】不服2016-13107(P2016-13107/J1)
【審判請求日】2016年8月31日
(31)【優先権主張番号】61/512,480
(32)【優先日】2011年7月28日
(33)【優先権主張国】US
(31)【優先権主張番号】10-2012-0075387
(32)【優先日】2012年7月11日
(33)【優先権主張国】KR
(73)【特許権者】
【識別番号】503447036
【氏名又は名称】サムスン エレクトロニクス カンパニー リミテッド
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】リ,ソン ミン
(72)【発明者】
【氏名】キム,ド ギュン
(72)【発明者】
【氏名】リ,ヨン ボム
(72)【発明者】
【氏名】リ,テ ヒョン
【合議体】
【審判長】
篠原 功一
【審判官】
渡辺 努
【審判官】
小池 正彦
(56)【参考文献】
【文献】
特開2004−054308(JP,A)
【文献】
G. Gordon et al.,“The Use of Dense Stereo Range Data in Augmented Reality”,Proceedings International Symposium On Mixed And Augmented Reality,米国,IEEE,2002年 9月30日,pp.14−23
【文献】
Yihong Ding et al.,“Range Image Segmentation Using Randomized Hough Transform”,Proceedings of the 2003 Joint Conference of the Fourth International Conference on Information, Communications and Signal Processing, 2003 and Fourth Pacific Rim Conference on Multimedia.,米国,IEEE,2003年12月15日,Vol.2,pp.807−811
(58)【調査した分野】(Int.Cl.,DB名)
G06T1/00
G06T7/00-7/60
G06T19/00
H04N5/225
H04N5/232
(57)【特許請求の範囲】
【請求項1】
カメラから生成された映像の3次元情報を利用して、前記映像を構成する複数のフレームに含まれた複数の平面情報を抽出する平面抽出部、
前記複数のフレームのうちからいずれか1つのフレームを基準フレームとして選定し、選定された基準フレームに含まれた対象平面情報を利用して前記抽出された複数の平面情報間の対応関係を推定する対応関係推定部、および
前記推定された対応関係を利用して前記カメラの姿勢(pose)を推定するカメラ姿勢推定部、
を含み、
前記対応関係推定部は、
前記の基準フレームが定められた後、
前記対象平面情報と各フレームに含まれた平面情報間の法線ベクトルの方向を考慮して前記複数の平面情報間の対応関係を推定して、隣接フレーム間の前記法線ベクトルの間の格差が少なくなることによって、前記対応関係として、カメラのモーションが小さくなると推定する、
マーカーレス拡張現実システム。
【請求項2】
前記平面抽出部は、
前記3次元情報から第1点を選択し、前記第1点から閾値以内に位置する第2点および第3点を選択し、選択された前記第1点、前記第2点、および前記第3点を利用して平面モデルを生成する、請求項1に記載のマーカーレス拡張現実システム。
【請求項3】
前記平面抽出部は、
前記平面モデルを利用して前記映像内に含まれた複数の平面情報を抽出する、請求項2に記載のマーカーレス拡張現実システム。
【請求項4】
前記対応関係推定部は、
前記カメラから前記各平面情報間の距離を利用して前記複数の平面情報間の対応関係を推定する、請求項1に記載のマーカーレス拡張現実システム。
【請求項5】
前記対応関係推定部は、
平面情報に含まれた点の数、平面情報間の法線ベクトルの方向、または前記カメラから平面情報までの距離のうちいずれか1つを考慮して前記対象平面情報を選択する、請求項1に記載のマーカーレス拡張現実システム。
【請求項6】
前記対応関係推定部は、
前記カメラから平面情報までの距離をさらに考慮して前記複数の平面情報間の対応関係を推定する、請求項1に記載のマーカーレス拡張現実システム。
【請求項7】
前記対応関係推定部は、
前記選択された対象平面情報を平面情報データベースに格納し、前記複数の平面情報のうちで前記対象平面情報と相違した平面情報を前記平面情報データベースに格納する、請求項5に記載のマーカーレス拡張現実システム。
【請求項8】
前記カメラ姿勢推定部は、
前記対応関係を利用して前記カメラの回転情報または移動情報を推定し、推定された前記回転情報または前記移動情報を利用して前記カメラの姿勢を推定する、請求項1に記載のマーカーレス拡張現実システム。
【請求項9】
前記カメラ姿勢推定部は、
前記映像に含まれたフレーム別の平面情報間の法線ベクトルを利用して回転行列を生成し、前記回転行列と前記カメラから前記平面情報までの距離を利用して移動行列を生成し、前記回転行列および前記移動行列を利用して変換行列を生成する、請求項1に記載のマーカーレス拡張現実システム。
【請求項10】
前記カメラ姿勢推定部は、
前記変換行列を利用して前記カメラの姿勢を推定する、請求項9に記載のマーカーレス拡張現実システム。
【請求項11】
前記抽出された複数の平面情報を利用して前記映像と仮想オブジェクトを整合する拡張現実部、
をさらに含む、請求項1に記載のマーカーレス拡張現実システム。
【請求項12】
前記拡張現実部は、
前記推定されたカメラの姿勢を利用して前記映像と仮想オブジェクトを整合する、請求項11に記載のマーカーレス拡張現実システム。
【請求項13】
カメラから生成された映像の3次元情報を利用して、前記映像を構成する複数のフレームに含まれた複数の平面情報を抽出するステップ、
前記複数のフレームのうちからいずれか1つのフレームを基準フレームとして選定するステップ、
前記選定された基準フレームに含まれた対象平面情報を利用して前記抽出された複数の平面情報間の対応関係を推定するステップ、および
前記推定された対応関係を利用して前記カメラの姿勢を推定するステップ、
を含み、
前記複数の平面情報間の対応関係を推定するステップは、
前記の基準フレームが定められた後、
前記対象平面情報と各フレームに含まれた平面情報間の法線ベクトルの方向を考慮して前記複数の平面情報間の対応関係を推定するステップ、および、
隣接フレーム間の前記法線ベクトルの間の格差が少なくなることによって、前記対応関係として、カメラのモーションが小さくなると推定するステップ、
を含む、マーカーレス拡張現実の動作方法。
【請求項14】
前記推定されたカメラの姿勢を利用して前記映像と仮想オブジェクトを整合するステップ、
をさらに含む、請求項13に記載のマーカーレス拡張現実の動作方法。
【請求項15】
前記複数の平面情報を抽出するステップは、
前記3次元情報から第1点を選択するステップ、
前記第1点から閾値以内に位置する第2点および第3点を選択するステップ、および
前記第1点、前記第2点、および前記第3点を利用して複数の平面情報を抽出するステップ、
を含む、請求項13に記載のマーカーレス拡張現実の動作方法。
【請求項16】
前記カメラから前記各平面情報間の距離を利用して前記複数の平面情報間の対応関係を推定するステップ、
をさらに含む、請求項13に記載のマーカーレス拡張現実の動作方法。
【請求項17】
前記複数の平面情報間の対応関係を推定するステップは、
前記カメラから平面情報までの距離をさらに考慮して前記複数の平面情報間の対応関係を推定するステップ、
をさらに含む、請求項13に記載のマーカーレス拡張現実の動作方法。
【請求項18】
前記複数の平面情報間の対応関係を推定するステップは、
平面情報に含まれた点の数、平面情報間の法線ベクトルの方向、または前記カメラから平面情報までの距離のうちいずれか1つを考慮して対象平面情報を選択するステップ、および
前記対象平面情報と各フレームに含まれた平面情報の間の法線ベクトルの方向、または前記カメラから平面情報までの距離を考慮して前記複数の平面情報間の対応関係を推定するステップ、
を含む、請求項13に記載のマーカーレス拡張現実の動作方法。
【請求項19】
前記カメラの姿勢を推定するステップは、
前記映像に含まれたフレーム別平面情報間の法線ベクトルを利用して回転行列を生成するステップ、
前記生成された回転行列を利用して回転情報を推定するステップ、および
前記推定された回転情報を利用して前記カメラの姿勢を推定するステップ、
を含む、請求項13に記載のマーカーレス拡張現実の動作方法。
【請求項20】
前記カメラの姿勢を推定するステップは、
前記回転行列と前記カメラから前記平面情報までの距離を利用して移動行列を生成するステップ、
前記生成された移動行列を利用して移動情報を推定するステップ、および
前記推定された移動情報を利用して前記カメラの姿勢を推定するステップ、
を含む、請求項19に記載のマーカーレス拡張現実の動作方法。
【請求項21】
前記抽出された複数の平面の情報を利用して、前記映像と前記映像の仮想オブジェクトを整合するステップ、
をさらに含む、請求項13に記載のマーカーレス拡張現実の動作方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像に含まれる3次元情報を利用してカメラの姿勢を推定する技術に関する。
【背景技術】
【0002】
拡張現実は、カメラで撮影した実際映像にグラフィックスオブジェクトや付加情報をオーバラップして示す技術である。正確な拡張現実を実現するためには、カメラの姿勢(pose)、すなわち、位置と方向を正確に把握することが重要である。カメラの位置や方向を把握するためには、事前に準備されたマーカー(marker)を利用したり、事前に定義された参照オブジェクト(ex.2D(dimension)平面オブジェクトや3Dモデル)を実際の空間に配置し、基準カメラ位置に対比して現在のカメラの相対的な位置を導き出す方式を使用する。
【0003】
図1は、従来技術に係るマーカーの一例を示す図である。
図1を参照すれば、110は事前に準備されたマーカーであって、QR(Quick Response)コードのような人為的な(artificial)形態であってもよい。120は、実際の映像に自然に存在する2次元または3次元の参照オブジェクトをマーカーとして使用する一例を示す。図面では、実際の映像に含まれているモニター、キーボード、机の上に置かれたフレームを参照オブジェクトとして使用してもよい。
【0004】
120に示すように、2次元または3次元のオブジェクトをマーカーとして使用する場合、実際の空間に存在する自然な参照オブジェクトを使用するという意味でマーカーレス(Marker−less)に分類されたりもするが、実際には参照オブジェクトをマーカーとしてデータベースに格納するなどの事前準備が必要となるため、マーカーを利用する方式に該当する。120では、参照オブジェクトをマーカーとして使用するための点(+)特徴をデータベースに格納してもよい。
【0005】
したがって、事前準備をせずに所望する場所と時間に拡張現実技術を即時に活用するためには、参照オブジェクトなしでマーカーレスカメラトラッキングおよび整合が必要となる。
【0006】
従来の拡張現実技術におけるカメラトラッキングおよび整合は、マーカーの使用可否とは関係なく、カラー映像におけるインテンシティ(intensity)情報を活用した点特徴(point feature)を主に利用していた。このとき、カラー映像のインテンシティを活用するためには照明条件が一定でなければならず、特異な(distinctive)点特性を探し出すためにテクスチャが豊富でなければならないというという制約がある。
【0007】
マーカーレス拡張現実技術の代表的な例であるPTAM(Parallel Tracking and Mapping)は、カラー映像から点特性を探し出し、フレーム別に点特性間の対応関係を利用して3次元空間に対するマップ(map)を生成し、このマップを基準としてカメラ姿勢を推定する方式を利用する。特に、初期にマップを生成するために5点アルゴリズム(five point algorithm)を利用するため、最小5つ以上の対応する点特徴が抽出されなければならないが、テクスチャが豊富でない場合には点特徴が抽出されず、拡張現実システムが正常動作しない場合が発生することがある。
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明の目的は、カメラから生成された映像の3次元情報を利用して前記映像に含まれた複数の平面情報を抽出し、抽出された複数の平面情報間の対応関係を利用してカメラの姿勢を推定するマーカーレス拡張現実システムおよびその動作方法を提供する。
【課題を解決するための手段】
【0009】
一実施形態に係るマーカーレス拡張現実システムは、カメラから生成された映像の3次元情報を利用して前記映像に含まれた複数の平面情報を抽出する平面抽出部、前記抽出された複数の平面情報間の対応関係を推定する対応関係推定部、および前記推定された対応関係を利用して前記カメラの姿勢(pose)を推定するカメラ姿勢推定部を含む。
【0010】
前記平面抽出部は、前記3次元情報から第1点を選択し、前記第1点から閾値以内に位置する第2点および第3点を選択し、選択された前記第1点、前記第2点、および前記第3点を利用して平面モデルを生成してもよい。
【0011】
前記平面抽出部は、前記平面モデルを利用して前記映像内に含まれた複数の平面情報を抽出してもよい。
【0012】
前記対応関係推定部は、各平面情報を構成する法線ベクトル、または前記カメラから前記各平面情報間の距離を利用して前記複数の平面情報間の対応関係を推定してもよい。
【0013】
前記平面抽出部は、前記映像を構成する複数のフレームに含まれた複数の平面情報を抽出してもよい。前記対応関係推定部は、前記複数のフレームのうちからいずれか1つのフレームを基準フレームとして選定し、選定された基準フレームに含まれた対象平面情報を利用して前記複数の平面情報間の対応関係を推定してもよい。
【0014】
前記対応関係推定部は、平面情報に含まれた点の数、平面情報間の法線ベクトルの方向、または前記カメラから平面情報までの距離のうちいずれか1つを考慮して前記対象平面情報を選択してもよい。
【0015】
前記対応関係推定部は、前記対象平面情報と各フレームに含まれた平面情報の間の法線ベクトルの方向、または前記カメラから平面情報までの距離を考慮して前記複数の平面情報間の対応関係を推定してもよい。
【0016】
前記対応関係推定部は、前記選択された対象平面情報を平面情報データベースに格納し、前記複数の平面情報のうちで前記対象平面情報と相違した平面情報を前記平面情報データベースに格納してもよい。
【0017】
前記カメラ姿勢推定部は、前記対応関係を利用して前記カメラの回転情報または移動情報を推定し、推定された前記回転情報または前記移動情報を利用して前記カメラの姿勢を推定してもよい。
【0018】
前記カメラ姿勢推定部は、前記映像に含まれたフレーム別の平面情報間の法線ベクトルを利用して回転行列を生成し、前記回転行列と前記カメラから前記平面情報までの距離を利用して移動行列を生成し、前記回転行列および前記移動行列を利用して変換行列を生成してもよい。前記カメラ姿勢推定部は、前記変換行列を利用して前記カメラの姿勢を推定してもよい。
【0019】
他の実施形態に係るマーカーレス拡張現実システムは、カメラから生成された映像の3次元情報を利用して前記映像に含まれた複数の平面情報を抽出する平面抽出部、および前記抽出された複数の平面情報を利用して前記映像と仮想オブジェクトを整合する拡張現実部を含む。
【0020】
前記平面抽出部は、前記3次元情報から第1点を選択し、前記第1点から閾値以内に位置する第2点および第3点を選択し、前記第1点、前記第2点、および前記第3点を利用して複数の平面情報を抽出してもよい。
【0021】
前記マーカーレス拡張現実システムは、前記抽出された複数の平面情報間の対応関係を利用して前記カメラの姿勢を推定するカメラ姿勢推定部をさらに含んでもよい。前記拡張現実部は、前記推定されたカメラの姿勢を利用して前記映像と仮想オブジェクトを整合してもよい。
【0022】
前記マーカーレス拡張現実システムは、前記抽出された平面情報に含まれた点の数、平面情報間の法線ベクトルの方向、または前記カメラから平面情報までの距離のうちいずれか1つを考慮して対象平面情報を選択し、前記対象平面情報と各フレームに含まれた平面情報の間の法線ベクトルの方向、または前記カメラから平面情報までの距離を考慮して前記複数の平面情報間の対応関係を推定する対応関係推定部をさらに含んでもよい。
【0023】
一実施形態に係るマーカーレス拡張現実方法は、映像の3次元情報を利用して前記映像に含まれた複数の平面情報を抽出するステップ、および前記抽出された複数の平面情報間の対応関係を利用して前記映像を生成したカメラの姿勢を推定するステップを含む。
【0024】
他の実施形態に係るマーカーレス拡張現実の方法は、決められた対象平面の情報に基づいて、映像から抽出された複数の平面情報間の対応関係を、プロセッサによって推定するステップ、前記推定された対応関係に基づいて、前記映像を生成するカメラの姿勢を推定するステップ、前記抽出された複数の平面の情報を利用して、前記映像と前記映像の仮想オブジェクトを整合するステップを含む。
【発明の効果】
【0025】
事前に参照オブジェクトをデータベースに格納するなどの準備をせずに、所望する場所と時間に拡張現実技術を即時に活用することができる。
【0026】
参照オブジェクトがないマーカーレスカメラトラッキングおよび整合が可能である。
【0027】
深度カメラから取得した映像の3次元情報を利用することにより、マーカーがない拡張現実システムが構築可能である。
【0028】
映像から抽出された平面特性を利用してカメラモーションを推定することにより、カラーカメラを利用する従来のカメラモーション推定技術が正常に動作しない環境でも利用することができる。カメラモーション推定の適用時、環境上の制約条件を緩和することにより、カメラモーション推定技術の活用範囲を広げることができる。
【0029】
3次元空間上の点を平面で生成して使用することにより、個別的な点の3次元座標値に雑音がある場合にも自動的に特異な値を除去し、高精密整合が可能である。
【図面の簡単な説明】
【0030】
【
図1】従来技術に係るマーカーの一例を示す図である。
【
図2】本発明の一実施形態に係るマーカーレス拡張現実システムの構成を示すブロック図である。
【
図3】3次元情報から点を選択する一例を示す図である。
【
図4】平面方程式の係数が示す幾何学的な意味を示す図である。
【
図5】映像から平面情報を抽出する一例を示す図である。
【
図6】本発明の他の実施形態に係るマーカーレス拡張現実システムの構成を示すブロック図である。
【
図7】平面特徴を利用してカメラの姿勢を推定する一例を示す図である。
【
図8】映像と仮想オブジェクトを整合する一例を示す図である。
【
図9】本発明の一実施形態に係るマーカーレス拡張現実の動作方法の順を示すフローチャートである。
【発明を実施するための形態】
【0031】
以下、添付の図面および添付の図面に記載された内容を参照しながら、本発明の多様な実施形態を詳細に説明するが、本発明が実施形態によって制限されたり限定されることはない。
【0032】
図2は、本発明の一実施形態に係るマーカーレス拡張現実システムの構成を示すブロック図である。
図2を参照すれば、マーカーレス拡張現実システム200は、3次元情報取得部210、平面抽出部220、対応関係推定部230、およびカメラ姿勢推定部240を含んでもよい。
【0033】
マーカーレス拡張現実システム200は、映像から抽出された平面特性を利用してカメラ姿勢を推定することにより、事前に参照オブジェクトをデータベースに格納するなどの準備作業が必要なく、マーカーがない拡張現実システム構築が可能である。
【0034】
映像から平面特性を得るためには、先ず、映像から3次元情報を取得しなければならない。
【0035】
このために、3次元情報取得部210は、深度カメラから深さ映像を取得し、取得した深さ映像から深さ情報を3次元情報として取得してもよい。また、3次元情報取得部210は、複数のカラーカメラから取得したカラー映像を利用して3次元情報を取得してもよい。カラーカメラで取得したカラー映像は2次元映像であるため、3次元情報取得部210は、ステレオカラーカメラまたはマルチカラーカメラなどのような複数のカラーカメラから取得したカラー映像を利用して3次元情報を取得してもよい。
【0036】
以下、深さ映像とカラー映像をすべて「映像」と通称する。
【0037】
平面抽出部220は、前記3次元情報を利用して映像に存在する平面を推定する。実施形態において、平面抽出部220は、平面を構成する点が隣接する空間内に存在するという空間一貫性(Spatial Coherency)を考慮してより迅速に平面モデルを推定してもよい。平面抽出部220は、前記3次元情報から任意に第1点(P1)を選択し、前記第1点から閾値以内に位置する第2点(P2)および第3点(P3)を選択してもよい。すなわち、平面抽出部220は、第1点から閾値以内に位置する点を抽出するために、3次元空間上の点に対してツリー(kd−tree)を構築し、第1点(P1)を基準として閾値内にある点のうちから第2点(P2)および第3点(P3)を選択してもよい。
【0038】
図3は、3次元情報から点を選択する一例を示す図である。
図3を参照すれば、第1〜第3点をそれぞれ任意に選択する場合、3つの点が同一平面上に存在する確率が隣接する地域から3つの点を選択するときよりも相対的に少なくなるため、平面モデルを抽出するのに長い時間がかかる。したがって、平面抽出部220は、第1点を選択した後、第1点を基準として閾値以内である隣接領域(円)に含まれた第2点、第3点を選択する方式を利用すれば、既存のRANSAC(Random Sample Consensus)方式に比べてより迅速に平面情報を抽出することができる。
【0039】
平面抽出部220は、前記選択された前記第1点、前記第2点、および前記第3点を利用して平面モデルを生成してもよい。
【0040】
前記第1点〜前記第3点のP1、P2、P3が(x1、y1、z1)(x2、y2、z2)(x3、y3、z3)と定められれば、次のような行列式によって平面方程式の係数(coefficient)であるA、B、Cを求めてもよい。
【0042】
ここで、(A、B、C)は平面の方向を示す法線ベクトルであり、Dは前記カメラから前記第1点〜前記第3点が含まれた平面までの距離である。
【0043】
前記行列式は、数式(2)のようにさらに展開してもよい。
【0044】
A=y1(z2−z3)+y2(z3−z1)+y3(z1−z2)
B=z1(x2−x3)+z2(x2−x1)+z3(x1−x2)
C=x1(y2−y3)+x2(y3−y1)+x3(y1−y2)
−D=x1(y2z3−y3z2)+x2(y3z1−y1z3)+x3(y1z2−y2z1) (2)
【0045】
平面抽出部220は、前記計算されたA、B、C、Dを利用して数式(3)のような平面方程式を求めてもよい。
【0047】
図4は、平面方程式の係数が示す幾何学的な意味を示す図である。
図4を参照すれば、(A、B、C)は平面情報の方向を示す法線ベクトルであり、Dは原点から前記平面までの距離に該当する。例えば、Dは3つの点を抽出した平面を座標系に投影したときの原点から前記平面までの距離であるため、実際の空間上では前記カメラから前記平面までの距離と同じであると言える。
【0048】
平面抽出部220は、前記平面モデルを利用して前記映像内に含まれた複数の平面情報を抽出してもよい。複数の平面情報は、数式(4)のように平面集合で表現されてもよい。
【0050】
S
iはi番目のカメラから抽出された平面集合、iはカメラインデックス、jは平面番号、nは抽出された全体平面の個数である。
【0051】
例えば、S
1は1番目のカメラから抽出された複数の平面情報であり、S
2は2番目のカメラから抽出された複数の平面情報であり、S
iはi番目のカメラから抽出された複数の平面情報を意味する。
【0052】
前記カメラモーションが小さい場合には、隣接フレーム間の法線ベクトル間の格差が少ないということを意味する。したがって、平面抽出部230で映像に含まれたフレーム別の各平面情報を抽出すれば、対応関係推定部230は、平面情報を構成する法線ベクトルとカメラと平面の間の距離を利用して複数の平面情報間の対応関係を推定してもよい。
【0053】
各平面情報が示す平面特性は、平面方程式の係数である(ai、bi、ci、di)で示してもよい。ここで、平面情報の個数は3つにのみ制限されず、3つ以上の平面を含んでもよい。
【0054】
実施形態において、平面抽出部220は、前記映像を構成する複数のフレームに含まれた複数の平面情報を抽出してもよい。対応関係推定部230は、前記複数のフレームのうちからいずれか1つのフレームを基準フレームとして選定してもよい。例えば、前記基準フレームとして1番目のフレームが選定された場合、対応関係推定部230は、抽出された現在のフレームが1番目のフレームであれば、抽出された複数の平面情報のうちから実際に追跡するための対象平面情報を選択して平面情報データベースに格納してもよい。対応関係推定部230は、実施形態のように1つの対象平面情報に制限されることなく、1つよりも多い対象平面情報を選択してもよい。対応関係推定部230は、選定された基準フレームに含まれた対象平面情報を利用して前記複数の平面情報間の対応関係を推定してもよい。
【0055】
実施形態において、対応関係推定部230は、平面情報に含まれた点の数、平面情報間の法線ベクトルの方向、または前記カメラから平面情報までの距離のうちいずれか1つを考慮して前記対象平面情報を選択してもよい。例えば、対応関係推定部230は、平面情報に含まれた点の数が多い場合、平面情報間の法線ベクトル間方向差が大きい場合、または前記カメラから平面情報までの距離が遠い場合を考慮して前記対象平面情報を選択してもよい。
【0056】
対応関係推定部230は、前記基準フレームが定められた後のフレームからは、平面情報データベースに格納された対象平面情報と現在抽出された平面情報の間の法線ベクトルの方向、前記カメラから平面情報までの距離を考慮して平面情報間対応関係を推定してもよい。対応関係推定部230は、前記複数の平面情報のうちで前記対象平面情報と相違した平面情報を前記平面情報データベースに格納してもよい。すなわち、対応関係推定部230は、平面情報データベースに存在しない(1番目のカメラ視野からは見えない)新たな平面情報が現在のフレームから検出された場合、新たな平面情報を平面情報データベースに格納してもよい。したがって、対応関係推定部230は、対象平面情報と複数の平面情報の間の対応関係推定により、1番目のフレームからは見えなかった領域でもカメラ追跡および仮想オブジェクト整合が可能なようにする。
【0057】
図5は、映像から平面情報を抽出する一例を示す図である。
図5を参照すれば、平面抽出部220は、映像510に対してカメラモーション変化に応じて多様な複数の平面情報520〜560を抽出してもよい。例えば、映像510は、深度カメラで生成した深さ映像であってもよい。実施形態に係る前記映像510は、複数の2Dカラー映像から生成された深さ映像であってもよい。カメラが移動しながら深さ映像510に含まれたオブジェクト(机、机上の箱(四角形))を撮影したとすれば、カメラの視点に応じてそれぞれ異なる映像が撮影される。したがって、カメラ姿勢推定部240は、前記抽出された複数の平面情報間の対応関係の推定によってカメラの姿勢を推定してもよい。
【0058】
例えば、対応関係推定部230は、映像510に対する対象平面情報として「520」を選択してもよい。対応関係推定部230は、対象平面情報を選択して平面情報データベースに格納してもよい。例えば、520は、机を基準としてシンボル・を用いた上端部の指示、シンボル・を用いた下端部の指示、シンボル+を用いた底の指示、シンボル▼を用いた左側部の指示、シンボル○を用いた右側部の指示、シンボルxを用いた箱の指示などを対象平面情報として含んでいる。対応関係推定部230は、520に含まれた対象平面情報を複数の平面情報530〜560と比較することにより、複数の平面情報520〜560間の対応関係を推定してもよい。例えば、520と530を比較すれば、520には机の左側平面(▼)情報が含まれているが、530には机の左側平面情報が含まれていないことが分かる。また、520と560を比較すれば、520には机の右側平面(○)情報が含まれているが、560には机の右側平面情報が含まれていないことが分かる。もし、対応関係推定部230は、前記対象平面情報と同じでない新たな平面情報が検出された場合、新たな平面情報を平面情報データベースに新たに格納してもよい。
【0059】
カメラ姿勢推定部240は、前記推定された対応関係を利用して前記カメラの姿勢(pose)を推定する。カメラ姿勢推定部240は、前記対応関係を利用して前記カメラの回転情報または移動情報を推定し、推定された前記回転情報または前記移動情報を利用して前記カメラの姿勢を推定してもよい。
【0060】
カメラの回転情報または移動情報を推定するためには、最小3つの平面対応ペアが必要となる。同じ平面情報が以前のフレームと対比してどのように変わったのかを利用すれば、回転情報または移動情報の推定が可能となる。
【0061】
回転情報を推定するために、カメラ姿勢推定部240は、下記の数式(5)を用いた前記映像に含まれたフレーム別の平面情報間の法線ベクトルを利用して回転行列(R)を生成してもよい。
【0063】
下付き文字で表示された変数(a
1〜c
3)は平面番号であり、上付き文字で表示された変数(1(a
1〜c
1)またはi(a
i〜c
i))はカメラインデックスを意味する。また、R
11〜R
33は回転行列を意味する。
【0064】
数式(5)を線形システムに変換して下記のような数式(6)を得てもよい。
【0066】
カメラ姿勢推定部240は、数式(6)によって回転行列を生成してもよい。一般的に、回転行列は正規直交(Orthonormal)した特性を有さなければならないが、数式(6)によって求められた回転行列は、正規直交した特性を満たさないこともある。したがって、カメラ姿勢推定部240は、例えば、SVD(Singular Value Decomposition)を行うことにより、正規直交した特性を反映した最適の回転行列を下記の数式(7)のように求めてもよい。
【0067】
[U V D]=SVD(R)
R=UD
T (7)
Rは、正規直交した特性を反映した回転行列である。
【0068】
カメラ姿勢推定部240は、前記回転行列を利用して前記カメラの回転情報を推定してもよい。
【0069】
移動情報を推定するために、カメラ姿勢推定部240は、下記の数式(8)を用いた前記回転行列Rと前記カメラから複数の各平面情報までの距離を利用して移動行列(T)を生成してもよい。
【0071】
【数6】
はカメラから平面情報までの距離、iはカメラインデックス、jは平面番号を意味する。Rは回転行列、Tは移動行列を意味する。
【0072】
数式(8)は、数(9)のように表現されてもよい。
【0073】
【数7】
カメラ姿勢推定部240は、前記移動行列を利用して前記カメラの移動情報を推定してもよい。
【0074】
上述して提示した実施形態は、対応する平面情報が3つの場合であり、3つ以上の場合にも、カメラ姿勢推定部240は、線形システム(linear system)での重複決定方法(overdetermined solution)を利用して回転情報または移動情報の推定が可能である。
【0075】
カメラ姿勢推定部240は、下記の数式(10)を用いた前記回転行列R(3×3)と前記移動行列T(3×1)を利用し、1番目のカメラを基準として現在のカメラモーションを反映した変換行列(RT)を求めてもよい。
【0077】
カメラ姿勢推定部240は、前記変換行列を利用して前記カメラの姿勢を推定してもよい。
【0078】
カメラ姿勢推定部240は、前記推定されたカメラの姿勢に異常値(outlier)がある場合、異常値をフィルタリングしてもよい。例えば、カメラ姿勢推定部240は、拡張型カルマンフィルタ(Extended Kalman Filter)またはパーティクルフィルタ(Particle Filter)のような複数の異なる方式の1つを利用して前記推定されたカメラの姿勢から異常値を除去することにより、ジッター(Jitter)現象を緩和させてもよい。
【0079】
図6は、本発明の他の実施形態に係るマーカーレス拡張現実システムの構成を示すブロック図である。
図6を参照すれば、マーカーレス拡張現実システム600は、平面抽出部610、対応関係推定部620、カメラ姿勢推定部630、および拡張現実部640を含んでもよい。上記で説明した各ユニットは、少なくとも1つの処理装置(processing device)を含んでもよい。
【0080】
平面抽出部610は、カメラから生成された映像の3次元情報を利用して前記映像に含まれた複数の平面情報を抽出する。例えば、平面抽出部610は、前記3次元情報から第1点を選択し、前記第1点から閾値以内に位置する第2点および第3点を選択してもよい。すなわち、第2点および第3点は、第1点から臨界距離内で選択されてもよい。平面抽出部610は、前記第1点、前記第2点、および前記第3点を利用して複数の平面情報を抽出してもよい。例えば、平面抽出部610は、前記第1点、前記第2点、および前記第3点を利用して平面モデルを生成し、生成された平面モデルを利用して複数の平面情報を抽出してもよい。
【0081】
拡張現実部640は、前記抽出された複数の平面情報を利用して前記映像と仮想オブジェクトを整合する。
【0082】
このために、カメラ姿勢推定部630は、前記抽出された複数の平面情報間の対応関係を利用して前記カメラの姿勢を推定してもよい。前記カメラの姿勢推定は、前記カメラの回転情報または移動情報を推定することを意味する。また、前記対応関係は、対応関係推定部630によって求められてもよい。
【0083】
対応関係推定部630は、前記抽出された平面情報に含まれた点の数、平面情報間の法線ベクトルの方向、または前記カメラから平面情報までの距離のうちいずれか1つを考慮して対象平面情報を選択してもよい。対応関係推定部630は、前記対象平面情報と各フレームに含まれた平面情報の間の法線ベクトルの方向、または前記カメラから平面情報までの距離を考慮して前記複数の平面情報間の対応関係を推定してもよい。
【0084】
図7は、平面特徴を利用してカメラの姿勢を推定する一例を示す図である。
図7を参照すれば、対応関係推定部630は、カメラ1で抽出された平面情報
【0085】
【数9】
とカメラiで抽出された平面情報
【0086】
【数10】
の対応関係を推定してもよい。例えば、前記カメラモーションが小さい場合には、隣接フレーム間の法線ベクトル間の格差が少ないということを意味する。したがって、対応関係推定部630は、平面情報を構成する法線ベクトルとカメラと平面の間の距離を利用して複数の平面情報間の対応関係を推定してもよい。
【0087】
対応関係推定部630は、前記映像を構成する複数のフレームのうちからいずれか1つのフレームを基準フレームとして選定してもよい。例えば、前記基準フレームを1番目のフレームとして選定した場合、対応関係推定部630は、抽出された現在フレームが1番目のフレームであれば、抽出された複数の平面情報のうちから実際に追跡するための対象平面情報を選択して平面情報データベースに格納してもよい。対応関係推定部630は、選定された基準フレームに含まれた対象平面情報を利用して前記複数の平面情報間の対応関係を推定してもよい。
【0088】
拡張現実部640は、前記推定されたカメラの姿勢を利用して前記映像と仮想オブジェクトを整合してもよい。
【0089】
図8は、映像と仮想オブジェクトを整合する一例を示す図である。
図8を参照れば、同じオブジェクトに対してカメラが左側から右側に回転しながら深さ映像810〜830を撮影してもよい。例えば、810はカメラ(深度カメラ)を右側に回転して撮影した深さ映像であり、820は前記カメラがオブジェクト正面から撮影した深さ映像であり、830は前記カメラを左に回転して撮影した深さ映像である。また、810aはカメラ(カラーカメラ)を右側に回転して撮影したカラー映像であり、820aは前記カメラがオブジェクト正面から撮影したカラー映像であり、830aは前記カメラを左に回転して撮影した深さ映像である。
【0090】
拡張現実部640は、カラー映像810a〜830aに仮想オブジェクト(カメラ)を整合した映像810b〜830bを生成してもよい。810bはカラー映像(810a)に仮想オブジェクト(カメラ)を整合した映像であり、820bはカラー映像(820a)に仮想オブジェクトを整合した映像であり、830bはカラー映像(830a)に仮想オブジェクトを整合した映像である。
【0091】
例えば、深さ映像810〜830とカラー映像810a〜830aは、同じ視点を有するものと解釈されてもよい。例えば、拡張現実部640は、深さ映像810〜830とカラー映像810a〜830aが同じ視点を有する場合、カラー映像810a〜830aに仮想オブジェクト(カメラ)を整合した映像810b〜830bを生成してもよい。
【0092】
深さ映像810〜830とカラー映像810a〜830aが互いに異なる視点を有する場合、拡張現実部640は、前記推定されたカメラの姿勢を利用して深さ映像810〜830とカラー映像810a〜830aが同じ視点を有するように校正(calibration)してもよい。すなわち、拡張現実部640は、深さ映像810〜830とカラー映像810a〜830aの視点を一致させた後、カラー映像810a〜830aに仮想オブジェクト(カメラ)を整合した映像810b〜830bを生成してもよい。
【0093】
したがって、マーカーレス拡張現実システム600は、事前に参照オブジェクトをデータベースに格納するなどの準備をせずに少なくとも1つの平面特性を利用してカメラ姿勢を推定することにより、マーカーがない拡張現実システムを構築してもよい。
【0094】
図9は、本発明の一実施形態に係るマーカーレス拡張現実の動作方法の順を示すフローチャートである。
図9に示すマーカーレス拡張現実の動作方法は、
図2に示したマーカーレス拡張現実システム200または
図6に示したマーカーレス拡張現実システム600によって実現されてもよい。
【0095】
図9を参照すれば、ステップS901で、マーカーレス拡張現実システムは、映像から3次元情報を取得してもよい。例えば、前記マーカーレス拡張現実システムは、深度カメラから取得した深さ映像から深さ情報を3次元情報として取得してもよい。また、実施形態に係る、前記マーカーレス拡張現実システムは、複数のカラーカメラから取得したカラー映像を利用して3次元情報を取得してもよい。
【0096】
以下、深さ映像とカラー映像をすべて「映像」と通称する。
【0097】
ステップS902で、前記マーカーレス拡張現実システムは、前記3次元情報を利用して前記映像に含まれた複数の平面情報を抽出してもよい。例えば、前記マーカーレス拡張現実システムは、前記3次元情報から第1点を選択し、前記第1点から閾値以内に位置する第2点および第3点を選択してもよい。前記マーカーレス拡張現実システムは、前記第1点、前記第2点、および前記第3点を利用して複数の平面情報を抽出してもよい。
【0098】
ステップS903で、前記マーカーレス拡張現実システムは、前記映像を構成する複数のフレームのうちから基準フレームを選定してもよい。例えば、前記マーカーレス拡張現実システムは、複数のフレームのうちで1番目のフレームを基準フレームとして選定してもよい。
【0099】
ステップS904で、前記マーカーレス拡張現実システムは、前記選定された基準フレームに含まれた対象平面情報を選択してもよい。実施形態において、前記マーカーレス拡張現実システムは、前記抽出された平面情報に含まれた点の数、平面情報間の法線ベクトルの方向、または前記カメラから平面情報までの距離のうちいずれか1つを考慮して対象平面情報を選択してもよい。
【0100】
ステップS905で、前記マーカーレス拡張現実システムは、前記対象平面情報を利用して前記複数の平面情報間の対応関係を推定してもよい。実施形態において、前記マーカーレス拡張現実システムは、前記対象平面情報と各フレームに含まれた平面情報の間の法線ベクトルの方向、または前記カメラから平面情報までの距離を考慮して前記複数の平面情報間の対応関係を推定してもよい。
【0101】
ステップS906で、前記マーカーレス拡張現実システムは、前記対応関係を利用して前記カメラの姿勢を推定してもよい。実施形態において、前記マーカーレス拡張現実システムは、前記映像に含まれたフレーム別の平面情報間の法線ベクトルを利用して回転行列を生成し、前記生成された回転行列を利用して回転情報を推定することにより、前記推定された回転情報を利用して前記カメラの姿勢を推定してもよい。また、前記マーカーレス拡張現実システムは、前記回転行列と前記カメラから前記平面情報までの距離を利用して移動行列を生成し、前記生成された移動行列を利用して移動情報を推定することにより、前記推定された移動情報を利用して前記カメラの姿勢を推定してもよい。
【0102】
ステップS907で、前記マーカーレス拡張現実システムは、前記推定されたカメラの姿勢から異常値をフィルタリングしてもよい。例えば、前記マーカーレス拡張現実システムは、拡張型カルマンフィルタまたはパーティクルフィルタを利用して前記推定されたカメラの姿勢から異常値を除去することにより、ジッター現象を緩和させてもよい。
【0103】
ステップS908で、前記マーカーレス拡張現実システムは、前記異常値が除去されたカメラの姿勢をアップデートしてもよい。
【0104】
ステップS909で、前記マーカーレス拡張現実システムは、前記アップデートされた姿勢を利用して映像と仮想オブジェクトを整合してもよい。
【0105】
本発明の実施形態に係る方法は、多様なコンピュータ手段によって実行が可能なプログラム命令形態で実現されてコンピュータで読み取り可能な媒体に記録されてもよい。前記コンピュータで読み取り可能媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含んでもよい。前記媒体に記録されるプログラム命令は、本発明のために特別に設計されて構成されたものであってもよく、コンピュータソフトウェア当業者に公示されて使用可能なものであってもよい。
【0106】
上述したように、本発明は限定された実施形態と図面によって説明されたが、本発明上述した実施形態に限定されるものではなく、本発明が属する分野において通常の知識を有する者であれば、このような記載から多様な修正および変形が可能である。
【0107】
したがって、本発明の範囲は、説明された実施形態に限定されて決定されてはならず、添付する特許請求の範囲だけでなく、この特許請求の範囲と均等なものなどによって定められなければならない。
【符号の説明】
【0108】
200:マーカーレス拡張現実システム
210:3次元情報取得部
220:平面抽出部
230:対応関係推定部
240:カメラ姿勢推定部