IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三星電子株式会社の特許一覧

<>
  • 特開-ポーズ推定方法及び装置 図1
  • 特開-ポーズ推定方法及び装置 図2
  • 特開-ポーズ推定方法及び装置 図3
  • 特開-ポーズ推定方法及び装置 図4
  • 特開-ポーズ推定方法及び装置 図5
  • 特開-ポーズ推定方法及び装置 図6
  • 特開-ポーズ推定方法及び装置 図7
  • 特開-ポーズ推定方法及び装置 図8
  • 特開-ポーズ推定方法及び装置 図9
  • 特開-ポーズ推定方法及び装置 図10
  • 特開-ポーズ推定方法及び装置 図11
  • 特開-ポーズ推定方法及び装置 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023073206
(43)【公開日】2023-05-25
(54)【発明の名称】ポーズ推定方法及び装置
(51)【国際特許分類】
   G06T 7/73 20170101AFI20230518BHJP
   G06T 7/77 20170101ALI20230518BHJP
【FI】
G06T7/73
G06T7/77
【審査請求】未請求
【請求項の数】25
【出願形態】OL
(21)【出願番号】P 2022149984
(22)【出願日】2022-09-21
(31)【優先権主張番号】10-2021-0156891
(32)【優先日】2021-11-15
(33)【優先権主張国・地域又は機関】KR
(71)【出願人】
【識別番号】390019839
【氏名又は名称】三星電子株式会社
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung-ro,Yeongtong-gu,Suwon-si,Gyeonggi-do,Republic of Korea
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】張 現盛
(72)【発明者】
【氏名】金 勝彦
(72)【発明者】
【氏名】孫 ▲みん▼廷
(72)【発明者】
【氏名】李 元熙
(72)【発明者】
【氏名】鄭 景夫
(72)【発明者】
【氏名】河 仁友
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA09
5L096CA02
5L096CA18
5L096CA27
5L096DA02
5L096FA09
5L096FA26
5L096FA66
5L096FA67
5L096FA69
5L096GA32
5L096GA51
5L096HA02
5L096JA11
(57)【要約】
【課題】ポーズ推定方法及び装置を提供する。
【解決手段】一実施形態によれば、その方法は、互いに直交している平面を含むターゲット場面の深度を検出して深度データを取得し、前記深度データの深度ポイントに対応する法線ベクトルを決定し、前記法線ベクトルを姿勢候補と比較して前記デバイスの姿勢データを推定し、前記デバイスから前記平面までの距離に基づいて前記デバイスの位置データを推定するステップを含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
デバイスのポーズ推定方法であって、
互いに直交している平面を含むターゲット場面の深度を検出して深度データを決定するステップと、
前記深度データの深度ポイントに対応する法線ベクトルを決定するステップと、
前記法線ベクトルを姿勢候補と比較して前記デバイスの姿勢データを決定するステップと、
前記デバイスから前記平面までの距離に基づいて前記デバイスの位置データを決定するステップと、
を含むポーズ推定方法。
【請求項2】
前記互いに直交している平面は、互いに直交している壁面、及び、前記壁面と直交する床面のうち少なくとも二つを含む、請求項1に記載のポーズ推定方法。
【請求項3】
前記法線ベクトルを決定するステップは、
前記深度データを3次元空間に逆投影して前記深度ポイントに対応する場面ポイントを含む3次元空間データを生成するステップと、
前記3次元空間データの第1場面ポイント及び前記第1場面ポイントに隣接して配置されている隣接場面ポイントに基づいて第1局部平面を決定するステップと、
前記第1局部平面の法線に基づいて前記第1場面ポイントの第1法線ベクトルを決定するステップと、
を含む、請求項1に記載のポーズ推定方法。
【請求項4】
前記姿勢データを決定するステップは、
前記法線ベクトルと前記姿勢候補との間のマッチングを行って前記姿勢候補のマッチング数を決定するステップと、
前記姿勢候補の前記マッチング数に基づいて前記姿勢データを決定するステップと、
を含む、請求項1に記載のポーズ推定方法。
【請求項5】
前記法線ベクトルは第1法線ベクトルを含み、
前記マッチング数を決定するステップは、前記姿勢候補のうち前記第1法線ベクトルと直交関係又は平行関係にある少なくとも一つを前記第1法線ベクトルとマッチングするステップを含む、請求項4に記載のポーズ推定方法。
【請求項6】
前記位置データを決定するステップは、
前記デバイスから前記平面までの距離及び前記姿勢データに基づいて場面座標系を決定するステップと、
電場面座標系で前記デバイスの現在位置に対応する座標を決定するステップと、
を含む、請求項1に記載のポーズ推定方法。
【請求項7】
前記平面は互いに直交している壁面、及び前記壁面と直交する床面を含み、
電場面座標系を決定するステップは、
前記姿勢データに基づいて前記場面座標系の座標軸を整列するステップと、
前記壁面及び前記床面の交点を電場面座標系の原点として決定するステップと、
を含む、請求項6に記載のポーズ推定方法。
【請求項8】
前記深度データを決定するステップは、前記デバイスの深度センサ及びカメラのうち少なくとも1つに前記ターゲット場面を検出するステップを含む、請求項1に記載のポーズ推定方法。
【請求項9】
前記深度データは、現在時点の検出データから決定され、
前記姿勢データ及び前記位置データは前記現在時点の絶対推定値に該当し、他の時点の検出データと独立的に決定される、請求項1に記載のポーズ推定方法。
【請求項10】
前記ポーズ推定方法は、以前時点の検出データと前記現在時点の前記検出データとの間の比較による相対推定値、及び前記現在時点の前記検出データによる前記絶対推定値に基づいて、前記現在時点のポーズを決定するステップをさらに含む、請求項9に記載のポーズ推定方法。
【請求項11】
前記相対推定値は、VIO(visual inertial odometry)及びSLAM(simultaneous localization and mapping)のうちの少なくとも一つを用いて決定される、請求項10に記載のポーズ推定方法。
【請求項12】
ハードウェアと結合して請求項1~11のいずれか一項に記載の方法を実行させるためにコンピュータで読み出し可能な記録媒体に格納されたコンピュータプログラム。
【請求項13】
互いに直交している平面を含むターゲット場面の深度を検出して深度データを決定し、
前記深度データの深度ポイントに対応する法線ベクトルを決定し、
前記法線ベクトルを姿勢候補と比較してデバイスの姿勢データを決定し、
前記デバイスから前記平面までの距離に基づいて前記デバイスの位置データを決定する、1つ以上のプロセッサを含む、ポーズ推定装置。
【請求項14】
前記互いに直交している平面は、互いに直交している壁面及び前記壁面と直交する床面のうち少なくとも二つを含む、請求項13に記載のポーズ推定装置。
【請求項15】
前記法線ベクトルの決定のために、前記1つ以上のプロセッサは、
前記深度データを3次元空間に逆投影して前記深度ポイントに対応する場面ポイントを含む3次元空間データを生成し、
前記3次元空間データの第1場面ポイント及び前記第1場面ポイントに隣接して配置されている隣接場面ポイントに基づいて第1局部平面を決定し、
前記第1局部平面の法線に基づいて前記第1場面ポイントの第1法線ベクトルを決定する、請求項13に記載のポーズ推定装置。
【請求項16】
前記姿勢データの決定のために、前記1つ以上のプロセッサは、
前記法線ベクトルと前記姿勢候補との間のマッチングを行って前記姿勢候補のマッチング数を決定し、
前記姿勢候補の前記マッチング数に基づいて前記姿勢データを決定する、請求項13に記載のポーズ推定装置。
【請求項17】
前記位置データの決定のために、前記プロセッサは、
前記デバイスから前記平面までの距離及び前記姿勢データに基づいて場面座標系を決定し、
電場面座標系で前記デバイスの現在位置に対応する座標を決定する、請求項13に記載のポーズ推定装置。
【請求項18】
前記ポーズ推定装置は、
前記プロセッサで実行可能な命令語を含むメモリをさらに含み、
前記命令語が前記1つ以上のプロセッサで実行されれば、前記1つ以上のプロセッサは、前記深度データの決定、前記法線ベクトルの決定、前記姿勢データの決定、及び前記位置データの決定を行う、請求項13に記載のポーズ推定装置。
【請求項19】
互いに直交している平面を含むターゲット場面の深度を検出して深度データを生成する検出装置と、
前記深度データの深度ポイントに対応する法線ベクトルを決定し、前記法線ベクトルを姿勢候補と比較してデバイスの姿勢データを決定し、前記デバイスから前記平面までの距離に基づいて前記デバイスの位置データを決定する、1つ以上のプロセッサと、
を含み、
前記互いに直交している平面は、互いに直交している壁面及び前記壁面と直交する床面のうち少なくとも二つを含む電子装置。
【請求項20】
前記姿勢データの決定のために、前記1つ以上のプロセッサは、
前記法線ベクトルと前記姿勢候補との間のマッチングを行って前記姿勢候補のマッチング数を決定し、
前記姿勢候補の前記マッチング数に基づいて前記姿勢データを推定する、請求項19に記載の電子装置。
【請求項21】
前記位置データの決定のために、前記1つ以上のプロセッサは、
前記デバイスから前記平面までの距離及び前記姿勢データに基づいて場面座標系を決定し、
電場面座標系で前記デバイスの現在位置に対応する座標を決定する、請求項19に記載の電子装置。
【請求項22】
プロセッサ実現姿勢推定方法であって、
デバイスを用いて検知されたターゲット場面の深度ポイントの法線ベクトルを決定するステップと、
方向候補のそれぞれに対して、方向候補の基準方向に直交する前記法線ベクトル及び平行な前記法線ベクトルの数を決定するステップと、
姿勢候補のうち、前記決定された数のうち最も多い数に対応する姿勢候補を前記デバイスの姿勢として決定して前記デバイスのポーズを決定するステップと、
を含む、姿勢推定方法。
【請求項23】
前記デバイスのポーズを決定するステップは、
直交平面の交差点が場面座標系の原点になるように場面座標系を決定するステップと、
前記デバイスから前記直交平面までの距離に基づいて電場面座標系内で前記デバイスの位置を決定するステップと、
を含む、請求項22に記載の姿勢推定方法。
【請求項24】
前記ターゲット場面は直交平面を含み、
前記最も多い数に対応する前記姿勢候補の基準方向に直交する平面は、前記直交平面のうちの1つと平行している、請求項22に記載の姿勢推定方法。
【請求項25】
前記最も多い数に対応する前記姿勢候補の基準方向は、前記デバイスのオリエンテーションの軸に対応する、請求項22に記載の姿勢推定方法。
【発明の詳細な説明】
【技術分野】
【0001】
以下の実施形態は、ポーズ推定方法及び装置に関する。
【背景技術】
【0002】
VIO(visual inertial odometry)は、カメラ、慣性センサ(inertial measurement unit、IMU)などを用いて位置(position)、速度(velocity)、姿勢(orientation)などを推定することができる。SLAM(simultaneous localization and mapping)は、測位(localization)と地図作成(mapping)を同時に行って位置を推定することができる。VIOは、SLAMで測位に関する要素技術に該当する。VIOは、フロントエンド(frontend)及びバックエンド(backend)を含んでもよい。フロントエンドでは、映像から特徴点が抽出され得る。バックエンドでは、特徴点、IMU情報などを用いてデバイスの位置及び姿勢を推定することができる。バックエンドでは、グラフ方式、フィルタ方式などで最適化が行われる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
以下の実施形態の目的は、ポーズ推定方法及び装置を提供することにある。
【課題を解決するための手段】
【0004】
一実施形態によれば、デバイスのポーズ推定方法は、互いに直交している平面を含むターゲット場面の深度を検出して深度データを決定するステップと、深度データの深度ポイントに対応する法線ベクトルを決定するステップと、前記法線ベクトルを姿勢候補と比較してデバイスの姿勢データを決定するステップと、デバイスから前記平面までの距離に基づいてデバイスの位置データを決定するステップとを含む。
【0005】
互いに直交している平面は、互いに直交している壁面及び壁面と直交する床面のうち少なくとも二つを含むことができる。
【0006】
前記法線ベクトルを決定するステップは、深度データを3次元空間に逆投影して深度ポイントに対応する場面ポイントを含む3次元空間データを生成するステップと、3次元空間データの第1場面ポイント及び第1場面ポイントに隣接して配置されている隣接場面ポイントに基づいて第1局部平面を決定するステップと、第1局部平面の法線に基づいて第1場面ポイントの第1法線ベクトルを決定するステップとを含むことができる。
【0007】
姿勢データを決定するステップは、前記法線ベクトルと姿勢候補との間のマッチングを行って姿勢候補のマッチング数を決定するステップと、姿勢候補のマッチング数に基づいて姿勢データを決定するステップとを含むことができる。
【0008】
法線ベクトルは第1法線ベクトルを含み、マッチング数を決定するステップは、姿勢候補のうち第1法線ベクトルと直交関係又は平行関係にある少なくとも一つを第1法線ベクトルとマッチングするステップを含むことができる。
【0009】
位置データを決定するステップは、前記デバイスから平面までの距離及び姿勢データに基づいて場面座標系を決定するステップと、電場面座標系でデバイスの現在位置に対応する座標を決定するステップとを含むことができる。
【0010】
前記平面は互いに直交している壁面、及び壁面と直交する床面を含み、電場面座標系を決定するステップは、姿勢データに基づいて場面座標系の座標軸を整列するステップと、壁面及び床面の交点を電場面座標系の原点として決定するステップとを含むことができる。
【0011】
深度データを決定するステップは、デバイスの深度センサ及びカメラのうち少なくとも1つに前記ターゲット場面を検出するステップを含むことができる。
【0012】
深度データは、現在時点の検出データから決定され、姿勢データ及び位置データは現在時点の絶対推定値に該当し、他の時点の検出データと独立的に決定されることができる。
【0013】
ポーズ推定方法は、以前時点の検出データと現在時点の検出データとの間の比較による相対推定値、及び現在時点の検出データによる絶対推定値に基づいて、現在時点のポーズを決定するステップをさらに含むことができる。
【0014】
相対推定値は、VIO(visual inertial odometry)及びSLAM(simultaneous localization and mapping)のうちの少なくとも一つを用いて決定されることができる。
【0015】
一実施形態に係るポーズ推定装置は、互いに直交している平面を含むターゲット場面の深度を検出して深度データを決定し、深度データの深度ポイントに対応する法線ベクトルを決定し、前記法線ベクトルを姿勢候補と比較してデバイスの姿勢データを決定し、デバイスから前記平面までの距離に基づいてデバイスの位置データを決定する、1つ以上のプロセッサを含む。
【0016】
前記互いに直交している平面は、互いに直交している壁面及び壁面と直交する床面のうち少なくとも二つを含むことができる。
【0017】
前記法線ベクトルの決定のために、1つ以上のプロセッサは、深度データを3次元空間に逆投影して深度ポイントに対応する場面ポイントを含む3次元空間データを生成し、3次元空間データの第1場面ポイント及び第1場面ポイントに隣接して配置されている隣接場面ポイントに基づいて第1局部平面を決定し、第1局部平面の法線に基づいて前記第1場面ポイントの第1法線ベクトルを決定することができる。
【0018】
姿勢データの決定のために、1つ以上のプロセッサは、前記法線ベクトルと姿勢候補との間のマッチングを行って姿勢候補のマッチング数を決定し、姿勢候補の前記マッチング数に基づいて姿勢データを決定することができる。
【0019】
位置データの決定のために、プロセッサは、デバイスから前記平面までの距離及び姿勢データに基づいて場面座標系を決定し、電場面座標系でデバイスの現在位置に対応する座標を決定することができる。
【0020】
ポーズ推定装置は、プロセッサで実行可能な命令語を含むメモリをさらに含み、命令語が1つ以上のプロセッサで実行されれば、1つ以上のプロセッサは、深度データの決定、前記法線ベクトルの決定、姿勢データの決定、及び位置データの決定を行うことができる。
【0021】
一実施形態に係る電子装置は、互いに直交している平面を含むターゲット場面の深度を検出して深度データを生成する検出装置と、深度データの深度ポイントに対応する法線ベクトルを決定し、前記法線ベクトルを姿勢候補と比較してデバイスの姿勢データを決定し、デバイスから前記平面までの距離に基づいてデバイスの位置データを決定する、1つ以上のプロセッサとを含み、前記互いに直交している平面は、互いに直交している壁面及び壁面と直交する床面のうち少なくとも一部を含む。
【0022】
姿勢データの決定のために、1つ以上のプロセッサは、法線ベクトルと姿勢候補との間のマッチングを行って姿勢候補のマッチング数を決定し、姿勢候補のマッチング数に基づいて姿勢データを推定することができる。
【0023】
位置データの決定のために、1つ以上のプロセッサは、デバイスから前記平面までの距離及び姿勢データに基づいて場面座標系を決定し、電場面座標系でデバイスの現在位置に対応する座標を決定することができる。
【0024】
一実施形態に係るプロセッサ実現姿勢推定方法は、デバイスを用いて検知されたターゲット場面の深度ポイントの法線ベクトルを決定するステップと、方向候補のそれぞれに対して、方向候補の基準方向に直交する前記法線ベクトル及び平行な前記法線ベクトルの数を決定するステップと、姿勢候補のうち、決定された数のうち最も多い数に対応する姿勢候補をデバイスの姿勢として決定してデバイスのポーズを決定するステップとを含む。
【0025】
デバイスのポーズを決定するステップは、直交平面の交差点が場面座標系の原点になるように場面座標系を決定するステップと、デバイスから直交平面までの距離に基づいて電場面座標系内で前記デバイスの位置を決定するステップとを含むことができる。
【0026】
ターゲット場面は直交平面を含み、最も多い数に対応する姿勢候補の基準方向に直交する平面は、直交平面のうちの1つと平行することができる。
【0027】
最も多い数に対応する姿勢候補の基準方向は、デバイスのオリエンテーションの軸に対応することができる。
【発明の効果】
【0028】
本発明の実施形態によれば、ポーズ推定方法及び装置を提供することができる。
【図面の簡単な説明】
【0029】
図1】一実施形態に係る互いに直交している平面を用いたポーズ推定動作を示す。
図2】一実施形態に係る深度データ及び3次元空間データを示す。
図3】一実施形態に係る法線ベクトルを用いた姿勢推定動作を示す。
図4】一実施形態に係る法線ベクトルを用いた姿勢推定動作を示す。
図5】一実施形態に係る姿勢候補を示す。
図6】一実施形態に係る座標軸整列を用いた位置推定動作を示す。
図7】一実施形態に係る例示的フレームを用いたポーズ推定動作を示す。
図8】一実施形態に係る例示的フレームを用いたポーズ推定動作を示す。
図9】一実施形態に係る絶対的な推定値及び相対的な推定値を融合したポーズ推定動作を示す。
図10】一実施形態に係る絶対的な推定値及び相対的な推定値の利用時点を示す。
図11】一実施形態に係るポーズ推定装置の構成を示す。
図12】一実施形態に係る電子装置の構成を示す。
【発明を実施するための形態】
【0030】
実施形態に対する特定な構造的又は機能的な説明は単なる例示のための目的として開示されたものであって、様々な形態に変更されることができる。したがって、実施形態は特定な開示形態に限定されるものではなく、本明細書の範囲は技術的な思想に含まれる変更、均等物ないし代替物を含む。
【0031】
第1又は第2などの用語を複数の構成要素を説明するために用いることがあるが、このような用語は1つの構成要素を他の構成要素から区別する目的としてのみ解釈されなければならない。例えば、第1構成要素は第2構成要素と称することができ、同様に、第2構成要素は第1構成要素と称することもできる。
【0032】
いずれかの構成要素が他の構成要素に「連結」されているか「接続」されていると言及されたときには、その他の構成要素に直接的に連結されているか又は接続されているが、中間に他の構成要素が存在し得るものと理解されなければならない。
【0033】
単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は、明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを示すものであって、1つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解されるべきである。
【0034】
異なるように定義さがれない限り、技術的又は科学的な用語を含んで、ここで用いる全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈されるべきであり、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されるべきではない。
【0035】
以下、添付図面を参照して説明することにおいて、図面符号に関係なく、同じ構成要素は同じ参照符号を付与し、これに対する重複説明は省略することにする。実施形態の説明において、関連する公知技術に対する具体的な説明が実施形態の要旨を不要に曖昧にするものと判断される場合、その詳細な説明を省略する。
【0036】
図1は、一実施形態に係る互いに直交している平面を用いたポーズ推定動作を示す。ポーズ推定装置は、デバイスのポーズを推定することができる。ポーズは位置及び姿勢を含んでもよい。位置は平行移動であり、姿勢は回転である。例えば、デバイスは、推定されたポーズを介して拡張現実(augmented reality、AR)又は仮想現実(virtual reality、VR)機能を提供することができる。
【0037】
ポーズ推定装置は、互いに直交している平面の深度データを用いてデバイスのポーズを推定する。このような推定方式は、簡単に深度に基づく推定方式として呼ぶことができる。ポーズ推定装置は、VIO(visual inertial odometry)及び/又はSLAM(simultaneous localization and mapping)と独立的に深度に基づく推定を行ったり、あるいは深度に基づく推定結果でVIO及び/又はSLAMを補完することができる。VIOは、カメラ、慣性センサ(inertial measurement unit、IMU)などを用いて位置、速度、姿勢などを推定できる。SLAMは、測位と地図作成を同時に行って位置を推定できる。VIOは、SLAMで測位に関する要素技術に該当する。
【0038】
VIOは、フロントエンド及びバックエンドを含んでもよい。フロントエンドでは、映像から特徴点が抽出される。特徴点は、映像から色や明るさの変化が明確な地点、例えば、コーナー及び線分の終了点から検出され得る。2つのポイント(time point)あるいはそれ以上のポイントで撮影された映像の特徴点マッチングを介して対応特徴点などを探すことができるが、この情報を介してバックグラウンドでデバイスの位置及び姿勢が推定され得る。バックエンドでは、特徴点、IMU情報などを用いてデバイスの位置及び姿勢が推定されることができる。バックエンドでは、グラフ方式、フィルタ方式などで最適化を行うことができる。
【0039】
例えば、グラフを方式は、BA(bundle adjustment)を含んでもよい。BAは、一定の時間ウィンドウ(time window)内に複数のキーフレーム(key frame)を収集し、該当キーフレームを介して観測される特徴点情報とキーフレームとの間の時間に測定されたIMU情報を用いて数値最適化(numerical optimization)を行って位置及び姿勢を推定することができる。フィルタ方式では、フレームごとに以前フレーム及び現在フレームで収集された特徴点情報及びIMU情報を用いて2つのフレーム間のデバイスの相対的な位置及び姿勢が推定される。ここで、非線型モデルを線型化してカルマンフィルタ(Kalman filter)を適用する拡張カルマンフィルタが用いられる。グラフ方式は最適化における正確度の側面で有利であり、フィルタ方式は最適化の演算効率の面で有利である。
【0040】
フィルタ方式を介して推定される相対的な位置及び姿勢は、時間に応じて誤差が累積され、そのため、ドリフト(drift)が発生し得る。グラフに基づく最適化では、全域(global)又は地域(local)の時間ウィンドウを介して構成されたセルフマップを利用すると、該当セルフマップ基準の絶対的な位置及び姿勢が推定され得るが、最適化の複雑度がウィンドウの大きさに応じて大きく増加し、数値最適化の解(solution)は局部的な最適な解に該当する。
【0041】
実施形態に係る深度に基づく推定方式は、グラフ方式の最適化過程なしにデバイスの絶対的な位置及び姿勢を推定することができる。深度に基づく推定方式は、フィルタに基づく最適化方式及び/又は比較的小さな複雑度を有するよう構成されたグラフ方式の最適化方式と結合される。このような方式は、結合方式と呼ぶことができる。結合方式は、推定結果の性能をより高度化し、より一般的な場合にも適用されるよう深度に基づく推定方式を拡張させることができる。
【0042】
ターゲット場面の深度データは、深度マップ形態を有する。深度データは、深度センサから直接取得されたり、あるいは1つ以上の映像から推定されてもよい。深度データにおけるある程度のランダム誤差は、ポーズ推定に影響を与えない。深度データの取得周期が長い場合、例えば深度センサの出力頻度が低いか、映像からの深度推定に遅延が発生する場合、深度に基づく推定方式はフィルタに基づく最適化方式と結合され得る。この場合、フィルタに基づく絶対的なポーズ推定は高い頻度で実行される一方、深度に基づく絶対的なポーズ推定は低い頻度で実行される。絶対的な推定データは、相対的な推定データのドリフトが大きくなることを防止する。
【0043】
ターゲット場面は、互いに直交している複数の平面を含んでもよい。例えば、平面は互いに直交している壁面(wall)、壁面と直交する床面(floor)、及び壁面と直交する天井面(ceiling)のうち少なくとも二つを含んでもよい。このような直交平面は、室内環境において容易に観察される。例えば、コーナー付近では、互いに直交している2又は3の壁面及びこの壁面と直交している床面及び/又は天井面が観察される。コーナーでなければ、1つの壁面又は2つの壁面、及びこの壁面又は壁面と直交する床面及び/又は天井面が観察される。室外環境でも建物の周辺及び道路周辺などで壁面、床面、及び天井面が観察される。
【0044】
ターゲット場面内の平面の構成に応じて、ターゲット場面を介して推定されたポーズの自由度(degree of freedom、DOF)が決定される。例えば、3以上の直交平面が撮影された場合、6-DOFのポーズが推定される。6-DOFのポーズは、3-DOFの位置(x-軸、y-軸、z-軸)及び3-DOFの姿勢(roll、pitch、yaw)を含んでもよい。2つの直交平面が撮影された場合、5-DOFのポーズ(2-DOFの位置、3-DOFの姿勢)が推定され、1つの平面が撮影された場合、3-DOFのポーズ(1-DOFの位置、2-DOFの姿勢)が推定される。
【0045】
但し、ターゲット場面内の平面の不足により深度に基づく推定方式を介してデバイスの位置及び姿勢を全ての自由度で同時推定できない場合にも、深度に基づく推定方式にフィルタに基づく最適化及び/又はグラフに基づく最適化を結合すれば、一部の次元(dimension)の不確実性が大幅に低下し、ドリフトが防止される。また、ポーズ推定装置は、平面がターゲット場面の主な構成要素であるかを予め識別することができ、平面がターゲット場面の主な構成要素であれば、深度に基づく推定又は結合方式を利用することができ、平面がターゲット場面の主な構成要素でなければ、深度に基づく推定方式を排除したまま、フィルタ基盤あるいはグラフ基盤でポーズ推定を行うことができる。
【0046】
図1を参照すると、ステップS110において、ポーズ推定装置は、互いに直交している平面を含むターゲット場面(target scene)の深度を検出して深度データを取得する。ポーズ推定装置は、デバイスの深度センサ及びカメラのうち少なくとも1つにターゲット場面を検出することができる。例えば、深度センサは、TOF(time of flight)センサであってもよい。カメラは、ステレオカメラ又はモノカメラであってもよい。ステレオカメラの場合にステレオ出力を介して、そして、モノカメラの場合に機械学習を介して深度深度データを取得することができる。深度センサ及びカメラは、深度測定装置と呼ぶことができる。
【0047】
ステップS120において、ポーズ推定装置は、深度データの深度ポイントに対応する法線ベクトルを決定する。深度データは深度マップ形態を有し、深度ポイントは深度マップの各深度値に該当する。ポーズ推定装置は、各深度ポイント(又は、以下で説明する場面ポイント)に対応する法線ベクトルを決定する。
【0048】
一実施形態によれば、ポーズ推定装置は、深度データを3次元空間で逆投影(unprojection)し、3次元空間データを用いて法線ベクトルを決定することができる。3次元空間は、深度測定装置の3次元座標(例えば、xyz座標)のように表現され、3次元空間の原点は深度測定装置の位置に該当する。深度測定装置がデバイスに装着された場合、深度測定装置の座標及び位置は、デバイスの座標及び位置に該当する。
【0049】
ターゲット場面をリファレンス座標系に配置し、リファレンス座標系内でデバイスの位置及び姿勢を特定することで、デバイスの絶対的な位置及び姿勢を推定することができる。同じ場面が互いに異なる位置及び/又は姿勢で撮影された場合、リファレンス座標系は、同じ場面ポイントを同じ座標に配置する。そのため、デバイスの位置及び姿勢は、リファレンス座標系を介して深度絶対的に決定され得る。
【0050】
ポーズ推定装置は、深度データを3次元空間に逆投影して深度ポイントに対応する場面ポイントを含む3次元空間データを生成することができる。深度マップは、2次元グリッドで見ることができるため、2次元グリッドを介して各深度ポイント又は各場面ポイントの隣接ポイントが特定され、隣接ポイントを用いて局部的な法線が決定される。
【0051】
例えば、深度ポイントのうち、第1深度ポイントと場面ポイントのうち第1場面ポイントが互いに対応する場合、第1場面ポイント及び第1場面ポイントに隣接して配置されている隣接場面ポイントに基づいて第1局部平面(local plane)を決定し、第1局部平面の法線に基づいて第1場面ポイントの第1法線ベクトルを決定することができる。第1法線ベクトルは、第1深度ポイント及び第1場面ポイントの法線ベクトルとして用いられることができる。
【0052】
ステップS130において、ポーズ推定装置は、法線ベクトルを姿勢候補(orientation candidate)と比較してデバイスの姿勢データを推定する。もし、深度マップがランダム誤差を含めば、法線ベクトルもランダム誤差を含んでもよいが、誤差を有する法線ベクトルに比べて正しい方向に向かう法線ベクトルが極めて多い。法線ベクトルの方向は、デバイスの姿勢に関して位置とは関係がなくてもよい。従って、ポーズ推定装置は、法線ベクトルを用いて姿勢データを先に推定できる。
【0053】
ターゲット場面は、主な要素として複数の直交平面を含んでもよい。1つの平面(例えば、床面床面)に存在する場面ポイントの法線ベクトルはランダム誤差を含むが、全般的に同じ方向に向かうことができる。全般的な方向を代表方向とすれば、該当平面の法線ベクトルの代表方向は、リファレンス座標系の1つの軸(例えば、y-軸)に割り当てられる。他の平面(例えば、壁面)に存在する場面ポイントの法線ベクトルの代表方向は、リファレンス座標系の他の軸(例えば、x-軸)に割り当てられる。残りの1つの軸(例えば、z-軸)は、右手法則(right hand rule)により決定されてもよい。そのため、リファレンス座標系の3軸が決定され得る。
【0054】
状況に応じて、様々な平面構造が存在し、いずれかの場面ポイントが同じ平面に存在するかを判断し難いこともある。一実施形態によれば、ポーズ推定装置は、投票方式で姿勢を推定してもよい。ポーズ推定装置は、可能な姿勢を量子化して姿勢候補として定義することができる。例えば、ポーズ推定装置は、3-DOFの可能な姿勢を量子化して3次元ヒストグラムに表現してもよい。ポーズ推定装置は、ユニフォームビニング(uniform binning)を介して投票の手続を進んでもよい。量子化が密度よく行われるほど、姿勢精密度は上昇して複雑度は増加する。ポーズ推定装置は、異種方法(hierarchical method)、ハッシング(hashing)、ニューラルネットワークに基づく表現などを用いて相反関係(trade-off)を緩和できる。
【0055】
全ての量子化された姿勢が姿勢候補になってもよく、全ての場面ポイント(又は、全ての深度ポイント)が投票者(voter)になってもよい。各場面ポイントは、自身の法線ベクトルと直交関係又は平行関係にある姿勢候補に投票する。以下、直交関係又は平行関係は、マッチング関係と呼ぶことができる。例えば、ある姿勢候補を基準にしてx-軸、y-軸、z-軸が決定され、いずれかの法線ベクトルがx-軸、y-軸、z-軸のいずれか1つに対応する場合、該当法線ベクトルの場面ポイントは該当の姿勢候補に投票することができる。自身の法線ベクトルとマッチング関係にある姿勢候補が複数存在する場合、場面ポイントは、該当複数の姿勢候補に投票してもよい。例えば、該当法線ベクトルが他の姿勢候補とマッチング関係にあれば、該当法線ベクトルは、該当する他の姿勢候補にも投票してもよい。
【0056】
一実施形態によれば、投票対象は、正確なマッチング関係を越えてマッチング関係に近接した姿勢候補まで拡大し得る。例えば、直交関係又は平行関係から閾値以内の差を有する姿勢候補が投票対象として選定されてもよい。ここで、近接したマッチング関係の投票値には、正確なマッチング関係の投票値に比べて低い加重値が付与されてもよい。閾値以内のマッチング差に対して一律的な加重値を適用すること、又は、閾値内でマッチング差が大きくなるほど、低い加重値を適用することの全てが可能である。最も大きい投票値を取得した姿勢候補がデバイスの姿勢として決定されてもよい。
【0057】
場面ポイントの投票に応じて、法線ベクトルと姿勢候補との間のマッチングが行われる。ポーズ推定装置は、マッチングを介して投票を実現することができる。いずれかの場面ポイントがいずれかの姿勢候補に投票した場合、該当場面ポイントの法線ベクトルと該当姿勢候補がマッチングされ得る。ポーズ推定装置は、法線ベクトルと姿勢候補との間のマッチングを行いながら姿勢候補のマッチング数を測定し、姿勢候補のマッチング数に基づいて姿勢データを推定することができる。例えば、法線ベクトルは第1法線ベクトルを含んでもよく、ポーズ推定装置は、姿勢候補のうち、第1法線ベクトルと直交関係又は平行関係にある少なくとも一つを第1法線ベクトルとマッチングしてもよい。マッチング数は、マッチングが多く行われるほど大きくなる。マッチング数は投票値に対応する。ポーズ推定装置は、最も大きいマッチング数を有する姿勢候補をデバイスの姿勢として推定することができる。
【0058】
ステップS140において、ポーズ推定装置は、デバイスから平面までの距離に基づいてデバイスの位置データを推定する。デバイスの姿勢が推定されれば、ポーズ推定装置は、デバイスの姿勢を用いてデバイスの位置を3次元座標系に表現することができる。ポーズ推定装置は、深度データを介して各軸方向の法線ベクトルを有する場面ポイントの深度を把握でき、これによって、各直交平面までの距離を算出することができる。深度がランダム誤差を含んでいる場合、特定の目的関数(例えば、二乗誤差)を最小化する回帰する過程などを介して各平面までの距離を算出することができる。
【0059】
各平面まで距離が算出されれば、ポーズ推定装置は支配的な平面を選別し、支配的な平面が3次元座標系のxy-平面、yz-平面、xz-平面と一致するよう座標軸の整列を行ってもよい。ポーズ推定装置は、法線ベクトルを用いて深度データ及び/又は3次元空間データから支配的な平面を選別することができる。支配的な平面は、ターゲット場面内の直交平面(壁面、床面、天井面)に該当する。座標軸が整列されれば、3次元座標値を介してデバイスの位置が特定される。ポーズ推定装置は、平面に基づいて原点を決定し、原点に基づいてデバイスの現在位置に対応する座標を決定する。平面が互いに直交している壁面及び壁面と直交している床面を含む場合、壁面及び床面の交点が原点として決定される。その結果、デバイスのポーズ(位置、姿勢)は、3次元座標系に基づく絶対的な推定値に該当する。
【0060】
図2は、一実施形態に係る深度データ及び3次元空間データを示す。図2を参照すると、深度データ210には、ターゲット場面内に直交する平面211、212、213が示されている。例えば、平面211、212は壁面であってもよく、平面213は床面であってもよい。深度データ210は、深度マップの形式に表現されてもよい。深度マップにおいて、深度は、その値が大きいほど(又は、デバイス(深度測定装置)からの距離が遠いほど)暖かい色に示し、値が小さいほど(又は、デバイス(深度測定装置)からの距離が近いほど)冷たい色に示してもよい。図2に示す深度データ210は、深度マップのカラー表現が灰色に変換されたもので、灰色において暖かい色は大体明るく示され、冷たい色は大体暗く示される。
【0061】
法線映像220は、深度データ210の各深度ポイントの法線ベクトルを色に区分して表現することができる。法線ベクトルは、3次元空間への逆投影を介して導き出される。法線映像220において、同じ法線ベクトル値を有する深度ポイントは同じ色に表現される。図2に示す法線映像220では、カラーの表現が灰色に変換されることで色が区分されないが、色は、陰影を介して大体に区分することができる。法線映像220の陰影を介して平面221、222、223が区分される。
【0062】
図3及び図4は、一実施形態に係る法線ベクトルを用いた姿勢推定動作を示す。説明の便宜上、デバイスが位置した空間は図3及び図4において2次元の平面に表現されている。しかし、実際のところ、デバイスが位置した空間は3次元の空間に該当する。
【0063】
図3を参照すると、フレーム310のポイント311は、場面ポイントに対応する。ポイント311のような映像フレーム310内のポイントを介してデバイスが位置した空間に直交平面が存在することが分かる。ポイント311に基づいてポイント311に対応する法線ベクトル321が決定され得る。例えば、ポイント311が属する局部領域の法線に基づいて法線ベクトル321が決定されてもよい。このような方式により、映像フレーム310内の全てのポイントに対応する法線ベクトルが決定されることができる。
【0064】
図4を参照すると、デバイス400の姿勢は、リファレンス方向401、402を介して識別される。例えば、方向401は、デバイス400(又は、センサ、カメラ)の正面方向(又は、センサ、レンズの視線方向)であり、方向402は、デバイス(又は、センサ、カメラ)の本体部の側面方向である。フレーム410~450には、法線ベクトルがぼやけて表現されており、そのうち、デバイス400の姿勢によりリファレンス方向401、402とマッチングされているものが強調されている。いずれかの法線ベクトルがリファレンス方向401、402のうち少なくとも一つと直交関係又は平行関係であれば、該当法線ベクトルは、リファレンス方向401、402とマッチングされ得る。この場合、第1候補姿勢412に対しては、法線ベクトル411が投票者になり、第2候補姿勢422に対しては法線ベクトル421が投票者になる。残りの候補姿勢432、442、452に対しても、法線ベクトル431、441、451が投票者になる。
【0065】
ポーズ推定装置は、候補姿勢412~452のうち、法線ベクトルから最も多く投票されたものがデバイス400の姿勢として推定することができる。例えば、第2候補姿勢422がデバイス400の実際の姿勢であれば、第3候補姿勢432が法線ベクトルから最も多く投票され、デバイス400の姿勢は、第3候補姿勢432であると推定され得る。姿勢候補412~452のいずれか1つ(例えば、第1姿勢412)が基準姿勢(例えば、0度)に決定されてもよく、これにより推定された姿勢は絶対的な推定値に該当する。
【0066】
図5は、一実施形態に係る姿勢候補を示す。図5を参照すると、姿勢候補c1~c5は、図4に示すデバイス400のような記号のように表示されている。矢印が示されている軸が視線方向であり、残りの軸が側面方向である。説明の便宜上、姿勢候補c1~c5は、1-DOF(例えば、yaw)を有するものと示されるが、他の軸(例えば、roll、pitch)の追加的な姿勢を介して姿勢候補は2-DOF、3-DOFに表現されてもよい。また、姿勢候補c1~c5は1つの例示に過ぎず、姿勢候補c1~c5は、姿勢を区分できる他の形態を有してもよく、他の密度で量子化されてもよい。
【0067】
図6は、一実施形態に係る座標軸整列を用いた位置推定動作を示す。図6を参照すると、図3及び図4の例示において、デバイスの姿勢が推定されれば、推定された姿勢を用いて3次元空間データの座標軸が整列される。ポーズ推定装置は、各軸方向の法線ベクトルを有する場面ポイントの深度を介して各直交平面までの距離を算出し、支配的な平面が3次元座標系のxy-平面、yz-平面、xz-平面と一致するよう座標軸整列を行ってもよい。図6には、説明の便宜のために、デバイスの位置された空間が2次元のように表現したが、実際の空間は3次元空間であってもよい。ポーズ推定装置は、矢印621、622に対応する支配的な平面を座標軸に整列し、支配的な平面の交点623を原点として定義する。ポーズ推定装置は、支配的な平面からの距離631、632によりデバイスの位置を推定することができる。このような位置は、原点及び支配的な平面による座標系に基づいた絶対的な推定値である。
【0068】
図7及び図8は、一実施形態に係る例示的フレームを用いたポーズ推定動作を示す。図7及び図8において、映像フレーム700、800は法線映像形式に表現されている。そのため、映像フレーム700、800のターゲット場面の直交平面が容易に区分され得る。映像フレーム700、800に示されているソファは同じオブジェクトである。
【0069】
映像フレーム700のポイントは、3次元空間に逆投影されて3次元空間データに変換される。グラフ711は、デバイスのxyz座標系の3次元空間データを示す。デバイス座標系の原点はデバイスの位置に該当する。グラフ712、713は、3次元空間データがデバイスのxy座標系及びyz座標系に投影されたバージョンを示す。
【0070】
映像フレーム700の法線ベクトルを介してデバイスの姿勢が推定される。デバイスの姿勢が推定されれば、推定された姿勢及び距離データを介して座標軸整列が実行され、デバイスの座標系から場面座標系が導き出される。グラフ721は、場面xyz座標系の3次元空間データを示す。場面座標系の原点は、直交平面の交点に該当する。グラフ722、723は、3次元空間データが場面のxy座標系及びyz座標系に投影されたバージョンを示す。場面座標系が導出されれば、場面座標系内でデバイスの絶対的な位置が推定され得る。
【0071】
映像フレーム800は、映像フレーム700の次のフレームに該当する。グラフ811~813は、映像フレーム800の3次元空間データをデバイスの座標系を介して示すことができる。グラフ821~823は、該当3次元空間データを場面座標系を介して示すことができる。グラフ821~823の場面座標系は、図7に示すグラフ721~723の場面座標系と原点を共有する同じ座標系である。そのため、該当の場面座標系内でデバイスの絶対的な位置が推定されることができる。
【0072】
図9は、一実施形態に係る絶対的な推定値及び相対的な推定値を融合したポーズ推定動作を示す。上述したように、深度基盤推定方式を介して推定されたポーズは絶対的特性を有し、VIO及びSLAMを介して推定されたポーズは相対的特性を有する。ポーズ推定装置は、2つの特性を融合してポーズ推定を行うことができる。
【0073】
図9を参照すると、ステップS910において、ポーズ推定装置は、現在の検出データを取得する。ポーズ推定装置は、検出装置から各時点の検出データを取得する。検出装置は、連続的な時点にかけて検出データを生成することができる。例えば、検出装置は、深度データ、時刻データ、慣性データのうち少なくとも一部を生成することができる。検出装置は、深度センサ、カメラ、慣性センサのうち少なくとも一部を含んでもよい。検出装置は、深度測定装置(例えば、深度センサ、カメラ)を介して深度データを生成し、カメラを介して時刻データを生成し、慣性センサを介して慣性データを生成する。
【0074】
ステップS920において、ポーズ推定装置は、現在時点の検出データによる絶対推定値を取得する。ポーズ推定装置は、現在時点の検出データから現在時点の深度データを取得し、現在時点の深度データに基づいて深度に基づくポーズ推定を行って現在時点の絶対推定値を取得することができる。絶対推定値は、現在時点の絶対姿勢及び絶対位置を示す。絶対姿勢は、姿勢候補の基準姿勢からの絶対値を示し、絶対位置は、場面座標系の原点からの絶対値を示す。
【0075】
ステップS930において、ポーズ推定装置は、隣接時点の検出データによる相対推定値を取得する。ポーズ推定装置は、以前時点の検出データと現在時点の検出データとの間の比較により相対推定値を取得することができる。例えば、以前時点の時刻データ(例えば、カラー映像)から抽出された特徴点と現在時点の時刻データから抽出された特徴点との間の変化、及び以前時点と現在時点との間の慣性データの変化が用いられる。相対推定値は、特徴点の変化及び/又は慣性データの変化によるポーズ変化を示す。ポーズ推定装置は、VIO及びSLAMの少なくとも一部を用いて相対推定値を決定することができる。
【0076】
ステップS940において、ポーズ推定装置は、絶対推定値及び相対推定値に基づいて現在時点のポーズを推定する。ポーズ推定装置は、絶対推定値の不確実性、例えば、ターゲット場面内の平面数が足りないことによる不確実性を相対推定値を介して除去したり、及び/又は相対推定値の不確実性、例えば、誤差累積によるドリフトを絶対推定値を介して除去することができる。
【0077】
図10は、一実施形態に係る絶対的な推定値及び相対的な推定値の利用時点を示す。図10において、θtは時点tのポーズを示す。各ポーズの間にわたって配置された四角形は相対推定値を示し、各ポーズに独立的に連結された四角形は絶対推定値を示す。ポーズ推定装置は、絶対推定値及び相対推定値を融合してポーズを推定することができる。例えば、相対推定値1021は、時点t-1のポーズと時点tのポーズとの間の相対的なポーズ変化を示し、絶対推定値1012は、時点tの絶対的なポーズを示す。ポーズ推定装置は、相対推定値1021及び絶対推定値1012を融合して相対推定値1021及び絶対推定値1012それぞれの不確実性を除去し、ポーズ推定の正確度を向上させることができる。
【0078】
図11は、一実施形態に係るポーズ推定装置の構成を示す。図11を参照すると、ポーズ推定装置1100は、プロセッサ1110及びメモリ1120を含む。メモリ1120はプロセッサ1110に接続され、プロセッサ1110によって実行可能な命令語、プロセッサ1110が演算するデータ、又は、プロセッサ1110によって処理されたデータを格納する。メモリ1120は、非一時的なコンピュータで読み出し可能な記録媒体、例えば、高速ランダムアクセスメモリ及び/又は不揮発性コンピュータで読み出し可能な格納媒体(例えば、1つ以上のディスク格納装置、フラッシュメモリ装置、又は、その他の不揮発性固体メモリ装置)を含んでもよい。
【0079】
プロセッサ1110は図1図10、及び図12の動作を行うための命令語を実行する。例えば、プロセッサ1110は、互いに直交している平面を含むターゲット場面の深度を検出して深度データを取得し、深度データの深度ポイントに対応する法線ベクトルを決定し、法線ベクトルを姿勢候補と比較してデバイスの姿勢データを推定し、デバイスから平面までの距離に基づいてデバイスの位置データを推定する。ポーズ推定装置1100は、デバイスの内部に配置されたりデバイスの外部に配置されてもよい。その他に、ポーズ推定装置1100には図1図10及び図12の説明が適用され得る。
【0080】
図12は、一実施形態に係る電子装置の構成を示す。図12を参照すると、電子装置1200は、プロセッサ1210、メモリ1220、カメラ1230、格納装置1240、入力装置1250、出力装置1260、検出装置1290、及びネットワークインターフェース1270を含み、これは通信バス1280を介して通信する。例えば、電子装置1200は、移動電話、スマートフォン、PDA、ネットブック、タブレットコンピュータ、ラップトップコンピュータなどのようなモバイル装置、スマートウォッチ、スマートバンド、スマートメガネなどのようなウェアラブルデバイス、デスクトップ、サーバなどのようなコンピューティング装置、テレビ、スマートテレビ、冷蔵庫などのような家電製品、ドアラックなどのようなセキュリティー装置、自律走行車両、スマート車両などのような車両、VR機器、AR機器、ドローは、ロボットの少なくとも一部として実現することができる。電子装置1200は、図11に示すポーズ推定装置1100を構造的及び/又は機能的に含むことができる。
【0081】
プロセッサ1210は、電子装置1200内で実行するための機能及び命令語を実行する。例えば、プロセッサ1210は、メモリ1220又は格納装置1240に格納されている命令語を処理する。プロセッサ1210は、図1図11を参照して明された動作を行ってもよい。メモリ1220は、コンピュータ読み出し可能な格納媒体又はコンピュータ読み出し可能な格納装置を含んでもよい。メモリ1220は、プロセッサ1210によって実行するための命令語を格納し、電子装置1200によってソフトウェア及び/又はアプリケーションが実行される間に関連情報を格納することができる。
【0082】
カメラ1230は、写真及び/又はビデオを撮影する。検出装置1290は、深度センサ、カメラ(例えば、カメラ1230)、慣性センサのうち少なくとも一つを含んでもよく、深度データ、時刻データ、慣性データのうち少なくとも一つを生成してもよい。格納装置1240は、コンピュータ読み出し可能な格納媒体又はコンピュータで読み出し可能な格納装置を含む。格納装置1240は、メモリ1220よりもさらに多くの量の情報を格納し、情報を長期間格納することができる。例えば、格納装置1240は、磁気ハードディスク、光ディスク、フラッシュメモリ、フロッピーディスク又はが技術分野で知られた他の形態の不揮発性メモリを含んでもよい。
【0083】
入力装置1250は、キーボード及びマウスを通した伝統的な入力方式、及びタッチ入力、音声入力、及びイメージ入力のような新しい入力方式を介してユーザから入力を受信してもよい。例えば、入力装置1250は、キーボード、マウス、タッチスクリーン、マイクロホン、又は、ユーザから入力を検出し、検出された入力を電子装置1200に伝達できる任意の他の装置を含んでもよい。出力装置1260は、視覚的、聴覚的、又は触覚的なチャネルを介してユーザに電子装置1200の出力を提供する。出力装置1260は、例えば、ディスプレイ、タッチスクリーン、スピーカ、振動発生装置又はユーザに出力を提供できる任意の他の装置を含んでもよい。ネットワークインターフェース1270は、有線又は無線ネットワークを介して外部装置と通信することができる。
【0084】
以上で説明された実施形態は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組み合せで具現される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、マイクロコンピュータ、FPA(field programmable array)、PLU(programmable logic unit)、マイクロプロセッサー、又は命令(instruction)を実行して応答する異なる装置のように、1つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現される。処理装置は、オペレーティングシステム(OS)及びオペレーティングシステム上で実行される1つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成する。理解の便宜のために、処理装置は1つが使用されるものとして説明する場合もあるが、当技術分野で通常の知識を有する者は、処理装置が複数の処理要素(processing element)及び/又は複数類型の処理要素を含むことが把握する。例えば、処理装置は、複数のプロセッサ又は1つのプロセッサ及び1つのコントローラを含む。また、並列プロセッサ(parallel processor)のような、他の処理構成も可能である。
【0085】
ソフトウェアは、コンピュータプログラム、コード、命令、又はそのうちの一つ以上の組合せを含み、希望の通りに動作するよう処理装置を構成したり、独立的又は結合的に処理装置を命令することができる。ソフトウェア及び/又はデータは、処理装置によって解釈されたり処理装置に命令又はデータを提供するために、いずれかの類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、又は送信される信号波に永久的又は一時的に具体化することができる。ソフトウェアはネットワークに連結されたコンピュータシステム上に分散され、分散した方法で格納されたり実行され得る。ソフトウェア及びデータは一つ以上のコンピュータで読出し可能な記録媒体に格納され得る。
【0086】
本実施形態による方法は、様々なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組み合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例として、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD-ROM、DVDのような光記録媒体、フロプティカルディスクのような磁気-光媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。
【0087】
上記で説明したハードウェア装置は、本発明に示す動作を実行するために1つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【0088】
上述したように実施形態をたとえ限定された図面によって説明したが、当技術分野で通常の知識を有する者であれば、上記の説明に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順に実行され、及び/又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法とは異なる形態に結合又は組み合わせられてもよく、他の構成要素又は均等物によって置き換え又は置換されたとしても適切な結果を達成することができる。
【0089】
したがって、他の具現、他の実施形態および特許請求の範囲と均等なものも後述する特許請求範囲の範囲に属する。

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12