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

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

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

<>
  • 特許-エゴモーション情報推定装置及び方法 図1
  • 特許-エゴモーション情報推定装置及び方法 図2
  • 特許-エゴモーション情報推定装置及び方法 図3
  • 特許-エゴモーション情報推定装置及び方法 図4
  • 特許-エゴモーション情報推定装置及び方法 図5
  • 特許-エゴモーション情報推定装置及び方法 図6
  • 特許-エゴモーション情報推定装置及び方法 図7
  • 特許-エゴモーション情報推定装置及び方法 図8
  • 特許-エゴモーション情報推定装置及び方法 図9
  • 特許-エゴモーション情報推定装置及び方法 図10
  • 特許-エゴモーション情報推定装置及び方法 図11
  • 特許-エゴモーション情報推定装置及び方法 図12
  • 特許-エゴモーション情報推定装置及び方法 図13
  • 特許-エゴモーション情報推定装置及び方法 図14
  • 特許-エゴモーション情報推定装置及び方法 図15
  • 特許-エゴモーション情報推定装置及び方法 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-05
(45)【発行日】2024-02-14
(54)【発明の名称】エゴモーション情報推定装置及び方法
(51)【国際特許分類】
   G06T 7/20 20170101AFI20240206BHJP
【FI】
G06T7/20 100
【請求項の数】 23
(21)【出願番号】P 2019223018
(22)【出願日】2019-12-10
(65)【公開番号】P2020170500
(43)【公開日】2020-10-15
【審査請求日】2022-11-18
(31)【優先権主張番号】10-2019-0038508
(32)【優先日】2019-04-02
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】390019839
【氏名又は名称】三星電子株式会社
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung-ro,Yeongtong-gu,Suwon-si,Gyeonggi-do,Republic of Korea
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】姜 納▲ひょぷ▼
(72)【発明者】
【氏名】張 現盛
(72)【発明者】
【氏名】鄭 景夫
(72)【発明者】
【氏名】河 仁友
【審査官】佐田 宏史
(56)【参考文献】
【文献】特開2007-272461(JP,A)
【文献】国際公開第2015/186341(WO,A1)
【文献】Emilio Parisotto et al.,"Global Pose Estimation with an Attention-Based Recurrent Network",2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW),米国,IEEE,2018年06月18日,pp.350-359
【文献】友納 正裕,“エッジ点追跡に基づくステレオカメラを用いた三次元SLAM”,日本ロボット学会誌,日本,社団法人日本ロボット学会,2009年09月15日,Vol.27, No.7,pp.57-65
【文献】日浦 慎作、外2名,“入力画像と生成画像の差の最小化に基づく実時間運動追跡”,情報処理学会論文誌 コンピュータビジョンとイメージメディア,日本,社団法人情報処理学会,2009年04月15日,Vol.2, No.1,pp.14-31
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00,7/00-7/90
G06V 10/00-10/98
(57)【特許請求の範囲】
【請求項1】
エゴモーション情報推定装置が実行するエゴモーション情報推定方法であって、
1つ以上のセンサから取得された連続するフレームのフレームイメージから、前記つ以上のセンサの短期運動情報を推定するステップと、
前記フレームイメージから前記つ以上のセンサの長期運動情報を推定するステップと、
前記短期運動情報及び前記長期運動情報からアテンション情報を決定するステップと、
前記長期運動情報及び前記アテンション情報に基づいて、前記連続するフレームのうち、現在フレームに対する最終長期運動情報を決定するステップと、
前記決定するステップで決定された最終長期運動情報に基づいて、前記現在フレームに対する最終短期運動情報を決定するステップと
を含むエゴモーション情報推定方法。
【請求項2】
前記最終長期運動情報を決定するステップは、前記アテンション情報を用いて前記長期運動情報を補正するステップを含む、請求項1に記載のエゴモーション情報推定方法。
【請求項3】
前記最終長期運動情報を決定するステップは、長期基準フレームから前記現在フレームまで前記つ以上のセンサのエゴモーションの変化量を決定するステップを含み、
前記長期基準フレームは、前記現在フレームから予め決定されたフレーム個数以前のフレームとして決定される、請求項1に記載のエゴモーション情報推定方法。
【請求項4】
前記アテンション情報を決定するステップは、前記短期運動情報に対応するキーデータ(K)及び前記長期運動情報に対応する(Q)からアテンション要素を導出し、前記短期運動情報から抽出されたアテンション加重値(V)及び前記アテンション要素の行列積に基づいて前記アテンション情報を決定するステップをさらに含む、請求項1-3のうち何れか一項に記載のエゴモーション情報推定方法。
【請求項5】
前記最終短期運動情報を決定するステップは、前記連続するフレームのうち前記現在フレームに対して以前フレームの最終長期運動情報、長期基準フレームの最終短期運動情報、及び前記現在フレームの最終長期運動情報に基づいて、前記現在フレームに対する最終短期運動情報を決定するステップを含む、請求項4に記載のエゴモーション情報推定方法。
【請求項6】
前記現在フレームに対して以前フレームは、前記連続するフレームのうち前記現在フレームに直接的に隣接する、請求項5に記載のエゴモーション情報推定方法。
【請求項7】
前記短期運動情報を推定するステップは、
前記現在フレームの現在フレームイメージを受信する場合に応答して、前記現在フレームと短期基準フレームとの間の短期運動情報を、エゴモーションモデルを用いて推定するステップと、
前記現在フレームと前記短期基準フレームとの間の前記推定された短期運動情報に基づいて、前記つ以上のセンサの前記短期運動情報を推定するステップと、
を含む、請求項1-6のうち何れか一項に記載のエゴモーション情報推定方法。
【請求項8】
前記長期運動情報を推定するステップは、
前記現在フレームの現在フレームイメージを受信する場合に応答して、前記現在フレームと長期基準フレームとの間の長期運動情報を、エゴモーションモデルを用いて推定するステップと、
前記現在フレームと前記長期基準フレームとの間の前記推定された長期運動情報に基づいて前記つ以上のセンサの前記長期運動情報を推定するステップと、
を含む、請求項1-7のうち何れか一項に記載のエゴモーション情報推定方法。
【請求項9】
前記短期運動情報を推定するステップは、前記フレームイメージのうち連続するフレームイメージの対から短期エゴモーションモデルを用いて前記短期運動情報を推定するステップを含み、
前記長期運動情報を推定するステップは、前記フレームイメージのうち前記現在フレームの対象フレームイメージ及び基準フレームイメージから長期エゴモーションモデルを用いて前記長期運動情報を推定するステップを含み、
前記短期エゴモーションモデルは、少なくともそれぞれ相違にトレーニングされたパラメータを有することに対して、前記長期エゴモーションモデルと異なる構成を有する、請求項1-6のうち何れか一項に記載のエゴモーション情報推定方法。
【請求項10】
前記アテンション情報を決定するステップは、前記短期運動情報及び前記長期運動情報から、アテンションモデルを用いて前記アテンション情報を抽出するステップを含む、請求項1に記載のエゴモーション情報推定方法。
【請求項11】
前記アテンション情報を抽出するステップは、
前記短期運動情報及び前記長期運動情報からアテンション要素を抽出するステップと、
前記短期運動情報からアテンション加重値を抽出するステップと、
前記アテンション要素及び前記アテンション加重値に基づいて前記アテンション情報を生成するステップと、
を含む、請求項10に記載のエゴモーション情報推定方法。
【請求項12】
最初フレームから現在フレームまで収集されたフレームイメージの個数が決定されたフレーム個数未満である場合に応答して、前記短期運動情報を最終短期運動情報として決定するステップを含む、請求項1-11のうち何れか一項に記載のエゴモーション情報推定方法。
【請求項13】
エゴモーションモデルを用いて、前記フレームイメージのうち現在フレーム以前の以前フレームイメージ及び前記現在フレームの現在フレームイメージから前記つ以上のセンサの短期運動特徴を抽出するステップと、
イメージ変形モデルを用いて、前記以前フレームイメージを前記短期運動特徴に基づいて変形することによって、前記現在フレームの復元フレームイメージを生成するステップと、
前記エゴモーションモデルを用いて、前記現在フレームイメージ及び前記復元フレームイメージから補正情報を算出するステップと、
現在フレームに対する短期運動情報に前記補正情報を適用することによってイメージ基盤短期運動情報を生成するステップと、
をさらに含む、請求項1-12のうち何れか一項に記載のエゴモーション情報推定方法。
【請求項14】
前記補正情報は、前記復元フレームイメージと前記現在フレームイメージとの間の微細姿勢誤差に対応する、請求項13に記載のエゴモーション情報推定方法。
【請求項15】
前記最終長期運動情報から算出されたアテンション基盤短期運動情報及び前記イメージ基盤短期運動情報に基づいて最終短期運動情報を決定するステップを含む、請求項13に記載のエゴモーション情報推定方法。
【請求項16】
エゴモーションモデルを用いて、前記フレームイメージのうち現在フレーム以前の以前フレームイメージ及び前記現在フレームの現在フレームイメージから前記つ以上のセンサの短期運動特徴を抽出するステップと、
前記以前フレームイメージから前記現在フレームの以前フレームの深度イメージを生成するステップと、
前記以前フレームに対する深度イメージを前記短期運動特徴を用いて変形することで前記現在フレームに対応する深度イメージを生成するステップと、
前記現在フレームに対応する深度イメージを復元フレームイメージに変換するステップと、
前記現在フレームイメージ及び前記復元フレームイメージから前記エゴモーションモデルを用いて補正情報を算出するステップと、
現在フレームに対する短期運動情報に前記補正情報を適用することによって深度基盤短期運動情報を生成するステップと、
をさらに含む、請求項1-12のうち何れか一項に記載のエゴモーション情報推定方法。
【請求項17】
前記最終長期運動情報から算出されたアテンション基盤短期運動情報及び前記深度基盤短期運動情報に基づいて最終短期運動情報を決定するステップを含む、請求項16に記載のエゴモーション情報推定方法。
【請求項18】
前記最終長期運動情報及び前記最終長期運動情報から算出された最終短期運動情報のうち少なくとも1つに基づいて、前記つ以上のセンサが装着された装置の移動経路を追跡するステップと、
前記装置の追跡された移動経路を出力するステップと、
を含む、請求項1-17のうち何れか一項に記載のエゴモーション情報推定方法。
【請求項19】
トレーニングイメージから深度モデルを用いて前記現在フレームの以前フレームの臨時深度情報を生成するステップと、
前記トレーニングイメージからエゴモーションモデル及びアテンションモデルを用いて臨時長期運動情報を生成し、前記臨時長期運動情報から臨時短期運動情報を算出するステップと、
前記以前フレームの臨時深度情報及び前記臨時短期運動情報に基づいて、現在フレームのワーピングイメージを生成するステップと、
前記トレーニングイメージのうち現在フレームイメージ及び前記ワーピングイメージから算出された損失に基づいて、前記エゴモーションモデル、前記アテンションモデル、及び前記深度モデルのうちの1つ又は2以上の組合をトレーニングさせるステップと、
をさらに含む、請求項1-12のうち何れか一項に記載のエゴモーション情報推定方法。
【請求項20】
前記ワーピングイメージを生成するステップは、
前記臨時深度情報から前記以前フレームに対応する3次元座標イメージを生成するステップと、
前記臨時長期運動情報から算出された前記臨時短期運動情報を用いて前記以前フレームに対応する3次元座標イメージを変換することによって、現在フレームに対応する3次元座標イメージを復元するステップと、
前記現在フレームに対応する3次元座標イメージを2次元に投影することによって、2次元にワーピングされた前記ワーピングイメージを生成するステップと、
を含む、請求項19に記載のエゴモーション情報推定方法。
【請求項21】
請求項1ないし請求項20のうち何れか一項に記載の方法を実行するための命令語を含む1つ以上のコンピュータプログラムを格納したコンピュータで読み出し可能な記録媒体。
【請求項22】
連続するフレームのフレームイメージを取得する1つ以上のセンサと、
前記つ以上のセンサの短期運動情報を推定し、前記フレームイメージから前記つ以上のセンサの長期運動情報を推定し、前記短期運動情報及び前記長期運動情報からアテンション情報を算出し、前記長期運動情報を前記アテンション情報に基づいて補正することによって現在フレームに対する最終長期運動情報を決定する1つ以上のプロセッサと、
を含み、前記プロセッサにより決定された最終長期運動情報に基づいて、前記現在フレームに対する最終短期運動情報を決定する、エゴモーション情報推定装置。
【請求項23】
前記つ以上のセンサは1つ以上のイメージセンサを含み、
前記つ以上のプロセッサは、前記決定された最終長期運動情報に基づいて前記つ以上のイメージセンサの走行経路を決定するようにさらに構成される、請求項22に記載のエゴモーション情報推定装置。
【発明の詳細な説明】
【技術分野】
【0001】
以下、エゴモーション情報を推定する技術が提供される。
【背景技術】
【0002】
自律走行車両、ADAS(Advanced Driver Assistance System)が適用された車両、移動ロボット、及びドローン等は、装置自体の位置を認識することができる。例えば、そのような装置は、GNSS(global navigation satellite system)などを介して収集される情報を用いて自身の位置を決定することができる。しかしながら、GNSS信号が収集されない陰影区間では、自身の位置を装置が正確に決定することは困難である。
【0003】
GNSSの陰影地域でも動作を保障するために、自律走行車両などはオドメトリ(odometry)によって装置自体の相対的な位置に関する情報を追跡することができる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の目的は、エゴモーション情報推定装置において、短期運動情報だけで装置の位置及び姿勢を追跡する場合、時間の経過につれて生じる累積誤差を長期運動情報を活用して補正することにある。
【課題を解決するための手段】
【0005】
一実施形態に係るエゴモーション情報推定方法は、1つ以上のセンサから取得された連続するフレームのフレームイメージから、前記一つ以上のセンサの短期運動情報を推定するステップと、前記フレームイメージから前記一つ以上のセンサの長期運動情報を推定するステップと、前記短期運動情報及び前記長期運動情報からアテンション情報を決定するステップと、前記長期運動情報及び前記アテンション情報に基づいて、前記連続するフレームのうち、現在フレームに対する最終長期運動情報を決定するステップとを含む。
【0006】
前記最終長期運動情報を決定するステップは、前記アテンション情報を用いて前記長期運動情報を補正するステップを含み得る。
【0007】
前記最終長期運動情報を決定するステップは、長期基準フレームから前記現在フレームまで前記一つ以上のセンサのエゴモーションの変化量を決定するステップを含み、前記長期基準フレームは、前記現在フレームから予め決定されたフレーム個数以前のフレームとして決定され得る。
【0008】
前記決定された最終長期運動情報に基づいて、前記現在フレームに対する最終短期運動情報を決定するステップをさらに含み得る。
【0009】
前記最終短期運動情報を決定するステップは、前記連続するフレームのうち前記現在フレームに対して以前フレームの最終長期運動情報、長期基準フレームの最終短期運動情報、及び前記現在フレームの最終長期運動情報に基づいて、前記現在フレームに対する最終短期運動情報を決定するステップを含み得る。
【0010】
エゴモーション情報推定方法は、前記現在フレームに対して以前フレームは、前記連続するフレームのうち前記現在フレームに直接的に隣接し得る。
【0011】
前記短期運動情報を推定するステップは、前記現在フレームの現在フレームイメージを受信する場合に応答して、前記現在フレームと短期基準フレームとの間の短期運動情報を、エゴモーションモデルを用いて推定するステップと、前記現在フレームと前記短期基準フレームとの間の前記推定された短期運動情報に基づいて、前記一つ以上のセンサの前記短期運動情報を推定するステップとを含み得る。
【0012】
前記長期運動情報を推定するステップは、前記現在フレームの現在フレームイメージを受信する場合に応答して、前記現在フレームと長期基準フレームとの間の長期運動情報を、エゴモーションモデルを用いて推定するステップと、前記現在フレームと前記長期基準フレームとの間の前記推定された長期運動情報に基づいて前記一つ以上のセンサの前記長期運動情報を推定するステップとを含み得る。
【0013】
前記短期運動情報を推定するステップは、前記フレームイメージのうち連続するフレームイメージの対から短期エゴモーションモデルを用いて前記短期運動情報を推定するステップを含み、前記長期運動情報を推定するステップは、前記フレームイメージのうち前記現在フレームの対象フレームイメージ及び基準フレームイメージから長期エゴモーションモデルを用いて前記長期運動情報を推定するステップを含み、前記短期エゴモーションモデルは、少なくともそれぞれ相違にトレーニングされたパラメータを有することに対して、前記長期エゴモーションモデルと異なる構成を有し得る。
【0014】
前記アテンション情報を決定するステップは、前記短期運動情報及び前記長期運動情報から、アテンションモデルを用いて前記アテンション情報を抽出するステップを含み得る。
【0015】
前記アテンション情報を抽出するステップは、前記短期運動情報及び前記長期運動情報からアテンション要素を抽出するステップと、前記短期運動情報からアテンション加重値を抽出するステップと、前記アテンション要素及び前記アテンション加重値に基づいて前記アテンション情報を生成するステップとを含み得る。
【0016】
エゴモーション情報推定方法は、最初フレームから現在フレームまで収集されたフレームイメージの個数が決定されたフレーム個数未満である場合に応答して、前記短期運動情報を最終短期運動情報として決定するステップを含み得る。
【0017】
エゴモーション情報推定方法は、エゴモーションモデルを用いて、前記フレームイメージのうち前記現在フレームイメージの以前フレームイメージ及び前記現在フレームの現在フレームイメージから前記一つ以上のセンサの短期運動特徴を抽出するステップと、イメージ変形モデルを用いて、前記以前フレームイメージを前記短期運動特徴に基づいて変形することによって、前記現在フレームの復元フレームイメージを生成するステップと、前記エゴモーションモデルを用いて、前記現在フレームイメージ及び前記復元フレームイメージから補正情報を算出するステップと、現在フレームに対する短期運動情報に前記補正情報を適用することによってイメージ基盤短期運動情報を生成するステップとをさらに含み得る。
【0018】
前記補正情報は、前記復元フレームイメージと前記現在フレームイメージとの間の微細姿勢誤差に対応し得る。
【0019】
エゴモーション情報推定方法は、前記最終長期運動情報から算出されたアテンション基盤短期運動情報及び前記イメージ基盤短期運動情報に基づいて最終短期運動情報を決定するステップを含み得る。
【0020】
エゴモーション情報推定方法は、エゴモーションモデルを用いて、前記フレームイメージのうち前記現在フレームイメージの以前フレームイメージ及び前記現在フレームの現在フレームイメージから前記一つ以上のセンサの短期運動特徴を抽出するステップと、前記以前フレームイメージから前記現在フレームの以前フレームの深度イメージを生成するステップと、前記以前フレームに対する深度イメージを前記短期運動特徴を用いて変形することで前記現在フレームに対応する深度イメージを生成するステップと、前記現在フレームに対応する深度イメージを復元フレームイメージに変換するステップと、前記現在フレームイメージ及び前記復元フレームイメージから前記エゴモーションモデルを用いて補正情報を算出するステップと、現在フレームに対する短期運動情報に前記補正情報を適用することによって深度基盤短期運動情報を生成するステップとをさらに含み得る。
【0021】
エゴモーション情報推定方法は、前記最終長期運動情報から算出されたアテンション基盤短期運動情報及び前記深度基盤短期運動情報に基づいて最終短期運動情報を決定するステップを含み得る。
【0022】
エゴモーション情報推定方法は、前記最終長期運動情報及び前記最終長期運動情報から算出された最終短期運動情報のうち少なくとも1つに基づいて、前記一つ以上のセンサが装着された装置の移動経路を追跡するステップと、前記装置の追跡された移動経路を出力するステップとを含み得る。
【0023】
エゴモーション情報推定方法は、トレーニングイメージから深度モデルを用いて前記現在フレームの以前フレームの臨時深度情報を生成するステップと、前記トレーニングイメージからエゴモーションモデル及びアテンションモデルを用いて臨時長期運動情報を生成し、前記臨時長期運動情報から臨時短期運動情報を算出するステップと、前記以前フレームの臨時深度情報及び前記臨時短期運動情報に基づいて、現在フレームのワーピングイメージを生成するステップと、前記トレーニングイメージのうち現在フレームイメージ及び前記ワーピングイメージから算出された損失に基づいて、前記エゴモーションモデル、前記アテンションモデル、及び前記深度モデルのうちの1つ又は2以上の組合をトレーニングさせるステップとをさらに含み得る。
【0024】
前記ワーピングイメージを生成するステップは、前記臨時深度情報から前記以前フレームに対応する3次元座標イメージを生成するステップと、前記臨時長期運動情報から算出された前記臨時短期運動情報を用いて前記以前フレームに対応する3次元座標イメージを変換することによって、現在フレームに対応する3次元座標イメージを復元するステップと、前記現在フレームに対応する3次元座標イメージを2次元に投影することによって、2次元にワーピングされた前記ワーピングイメージを生成するステップとを含み得る。
【0025】
一実施形態に係るエゴモーション情報推定方法は、エゴモーションモデルを用いて、現在フレームイメージ及び以前フレームイメージから短期運動特徴を抽出するステップと、変形モデルを用いて前記抽出された短期運動特徴に基づいて、前記以前フレームイメージ及び前記以前フレームから生成された深度イメージのうち少なくとも1つのイメージから現在フレームに対応する復元フレームイメージを生成するステップと、前記復元フレームイメージ及び前記現在フレームイメージから補正情報を算出するステップと、前記エゴモーションモデルを用いて推定された現在フレームに対する短期運動情報に前記補正情報を適用することによって、最終短期運動情報を算出するステップとを含む。
【0026】
一実施形態に係るエゴモーション情報推定装置は、連続するフレームのフレームイメージを取得する1つ以上のセンサと、前記一つ以上のセンサの短期運動情報を推定し、前記フレームイメージから前記一つ以上のセンサの長期運動情報を推定し、前記短期運動情報及び前記長期運動情報からアテンション情報を算出し、前記長期運動情報を前記アテンション情報に基づいて補正することによって現在フレームに対する最終長期運動情報を決定する1つ以上のプロセッサとを含む。
【0027】
前記一つ以上のセンサは1つ以上のイメージセンサを含み、前記一つ以上のプロセッサは、前記決定された最終長期運動情報に基づいて前記一つ以上のイメージセンサの走行経路を決定するようにさらに構成され得る。
【発明の効果】
【0028】
本発明によると、エゴモーション情報推定装置は、短期運動情報及び長期運動情報を活用して位置及び姿勢を推定することで、微細な誤差まで補正することができる。
【図面の簡単な説明】
【0029】
図1】一実施形態に係るエゴモーションモデルの例示的な構造を説明する図である。
図2】一実施形態に係るエゴモーション情報推定方法を説明するフローチャートである。
図3】一実施形態に係るエゴモーション情報推定過程を説明する図である。
図4】一実施形態に係るエゴモーションモデルを用いたエゴモーション情報推定演算を説明する図である。
図5】一実施形態に係るアテンションモデルを用いたアテンション演算を説明する図である。
図6】一実施形態に係るエゴモーションモデル及びアテンションモデルをトレーニングさせる方法を説明するフローチャートである。
図7】一実施形態に係るエゴモーションモデル及びアテンションモデルのトレーニング過程を説明する図である。
図8】他の一実施形態に係るエゴモーション情報推定方法を説明するフローチャートである。
図9】他の一実施形態に係るエゴモーション情報推定過程を説明する図である。
図10】他の一実施形態に係るエゴモーション情報推定過程を説明する図である。
図11図9及び図10を参照して説明された構造が結合されたモデルのトレーニング方法を説明するフローチャートである。
図12図9及び図10を参照して説明された構造が結合されたモデルをトレーニングする過程を説明する図である。
図13】更なる一実施形態に係るエゴモーション情報推定過程を説明する図である。
図14】一実施形態に係るエゴモーション情報推定装置の構成を説明するブロック図である。
図15】一実施形態に係るエゴモーション情報推定装置の構成を説明するブロック図である。
図16】一実施形態に係るエゴモーション情報推定装置が車両に装着された状況を説明する図である。
【発明を実施するための形態】
【0030】
下記で説明する実施形態は様々な変更が加えられ得る。特許出願の範囲はこのような実施形態によって制限も限定もされない。各図面に提示した同じ参照符号は同じ部材を示す。
【0031】
本明細書で開示する特定の構造的又は機能的な説明は単に実施形態を説明するための目的として例示したものであり、実施形態は様々な異なる形態で実施され、本発明は本明細書で説明した実施形態に限定されるものではない。
【0032】
本明細書で用いる用語は、単に特定の実施形態を説明するために用いられるものであって、本発明を限定しようとする意図はない。単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品、又はこれらを組み合わせたものが存在することを示すものであって、一つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれらを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【0033】
異なる定義がされない限り、技術的であるか又は科学的な用語を含むここで用いる全ての用語は、本発明が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈すべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【0034】
また、図面を参照して説明する際に、図面符号に拘わらず同じ構成要素は同じ参照符号を付与し、これに対する重複する説明は省略する。実施形態の説明において関連する公知技術に対する具体的な説明が本発明の要旨を不要に曖昧にすると判断される場合、その詳細な説明は省略する。
【0035】
図1は、一実施形態に係るエゴモーションモデルの例示的な構造を説明する図である。
【0036】
本明細書における「モデル」は、後述するプロセッサのうちの1つ又はその組合せによって実際に実行される演算モデルを示す。一実施形態に係るエゴモーション情報推定装置は、エゴモーションモデル及びアテンションモデルに基づいて入力イメージからエゴモーション情報を推定する。入力イメージは、複数のフレームに対応するフレームイメージを含む。本明細書においてフレームは、時間を分割する単位フレームを示す。入力イメージの個別フレームイメージはカラーイメージであって、カラーイメージの各ピクセルは色値を示す。ただし、フレームイメージをカラーイメージに限定されるものではなく、他のフォーマットのイメージが使用されてもよい。
【0037】
本明細書において、エゴモーション情報(ego-motion information)は、センサ自体の運動に関する情報として、基準フレームから対象フレームまでセンサのエゴモーション(又は自体運動)の変化量を示す。例えば、エゴモーション情報は、基準フレームから対象フレームまでのセンサの回転変化量及び平行移動変化量を含む。言い換えれば、エゴモーション情報は、基準フレームでセンサの姿勢(pose)及び位置を基準にして、対象フレームでセンサが回転した程度及び移動した程度を示す。センサが任意の機器(例えば、車両、HMD(head mounted display)など)に装着された場合、エゴモーション情報は、機器のエゴモーションの変化量を示してもよい。以下では、エゴモーション情報はセンサに関する情報として主に説明するが、これに限定されるものではなく、センサのエゴモーション情報の代わりに機器のエゴモーション情報が適用されてもよい。
【0038】
例えば、エゴモーション情報は、長期エゴモーション情報(long-term ego-motion information)及び短期エゴモーション情報(short-term ego-motion information)を含む。長期エゴモーション情報は、現在フレーム(例えば、k番目のフレーム)及び長期基準フレーム(例えば、k-n番目のフレーム)の間でセンサのエゴモーションの変化量を示す。ここで、nは1以上の整数であり、kはn以上の整数である。kがn未満である場合については後述する。短期エゴモーション情報は、主に、現在フレーム(例えば、k番目のフレーム)及び短期基準フレーム(例えば、k-1番目のフレーム)の間のセンサのエゴモーションの変化量を示す。ただし、短期エゴモーション情報の短期基準フレームを直前のフレーム(例えば、k-1番目のフレーム)に限定されるものではない。短期基準フレームと現在フレームとの間のフレーム個数は、長期基準フレームと現在フレームとの間のフレーム個数であるnよりも小さくてもよい。以下、長期エゴモーション情報は長期運動情報に示し、短期エゴモーション情報は短期運動情報に示す。
【0039】
対象フレームは、エゴモーション情報推定の対象となるフレームとして、例えば、以下では主に対象フレームが現在の時点に対応する現在フレームであると説明する。基準フレームは、対象フレームに対して基準となるフレームとして、時間的に対象フレームよりも以前フレームを示す。
【0040】
エゴモーションモデルは、入力イメージで様々なフレーム間隔のフレームイメージから対象フレームに対応する初期エゴモーション情報を推定するためのモデルを示す。フレーム間隔は、例えば、長期フレーム間隔(long-term frame interval)及び短期フレーム間隔(short-term frame interval)を含む。エゴモーションモデルは、フレームイメージから特徴データを抽出し、抽出された特徴データから初期エゴモーション情報を出力するように設計される。特徴データは、イメージが抽象化されたデータとして、例えば、ベクトル又は異なる多次元形態(multi-dimensional forms)のように示す。特徴データは、例えば、下記のニューラルネットワーク100のうちの畳み込みレイヤに基づいて実行される畳み込みフィルタリングを介して抽出されたデータであり得る。
【0041】
アテンションモデルは、エゴモーションモデルに基づいて推定された初期エゴモーション情報からアテンション情報を推定するためのモデルを示す。アテンション情報は、レイヤを介して抽出されるデータのうち、特定目的のためにアテンションされなければならないデータを指示したり、強調するための情報として、例えば、本明細書では、初期エゴモーション情報から抽出された特徴データのうち、長期エゴモーション情報を補正するために抽出された情報を示す。アテンションモデルも図1を参照して説明されたニューラルネットワーク100に対応する構造を含む。ただし、アテンションモデルでは畳み込みフィルタリングが排除されるが、アテンションモデルを通したアテンション情報の抽出については、下記の図5を参照してより詳細に説明する。
【0042】
エゴモーションモデル及びアテンションモデルは、例えば、機械学習構造であってもよく、ニューラルネットワーク100を含む。
【0043】
ニューラルネットワーク100は、ディープニューラルネットワーク(DNN:deep neural network)の例示に該当する。DNNは、完全接続ネットワーク(fully connected network)、ディープ畳み込みネットワーク(deep convolutional network)及びリカレントニューラルネットワーク(recurrent neural network)などを含む。ニューラルネットワーク100は、ディープランニングに基づいて非線形の関係にある入力データ及び出力データを互いにマッピングすることで、オブジェクト分類、オブジェクト認識、音声認識、イメージ認識、及びエゴモーション情報推定などを行う。ディープランニングは、ビッグデータセットからエゴモーション情報推定のような問題を解決するための機械学習方式として、指導式(supervised)又は非指導式(unsupervised)学習を介して、入力データ及び出力データを互いにマッピングすることができる。
【0044】
図1を参照すると、ニューラルネットワーク100は、入力レイヤ110、隠れレイヤ120、及び出力レイヤ130を含む。入力レイヤ110、隠れレイヤ120、及び出力レイヤ130はそれぞれ複数の人工ノードを含む。
【0045】
図1には、説明の便宜のために隠れレイヤ120が3つのレイヤを含むものとして示されているが、隠れレイヤ120は様々な数のレイヤを含んでもよい。また、図1には、ニューラルネットワーク100は、入力データを受信するための別途の入力レイヤを含むものとして示されているが、入力データが隠れレイヤ120に直接入力されてもよい。例えば、隠れレイヤ120の1番目のレイヤに入力データが入力されてもよい。ニューラルネットワーク100で出力レイヤ130を除いたレイヤの人工ノードは、出力信号を送信するためのリンクを介して次のレイヤの人工ノードに接続される。リンクの数は、次のレイヤに含まれた人工ノードの数に対応する。
【0046】
以前隠れレイヤ120の人工ノードの活性関数出力は、以前隠れレイヤ120の人工ノードの加重された入力に関連し、それぞれが個別的に次の現在隠れレイヤ120の人工ノードに入力される。ここで、以前隠れレイヤ120の人工ノードからの入力活性出力は、例えば、以前隠れレイヤ120及び入力レイヤ110、又はさらに前の隠れレイヤ120の間の個別加重された接続又はリンクであり、以前隠れレイヤ120の個別人工ノード又は以前隠れレイヤ120の人工ノードに先行して加重されたものであってもよい。したがって、加重された結果は、以前隠れレイヤ120の人工ノードのそれぞれに対して、人工ノードの該当入力(例えば、入力レイヤ110又はさらに前の隠れレイヤ120からの入力)のそれぞれに該当の加重値を乗算することにより取得される。この加重値は、ニューラルネットワーク100のパラメータと称されてもよく、例えば、ニューラルネットワーク100のトレーニングパラメータは、ニューラルネットワーク110のトレーニングされた前に依存的であり得る。個別的に実現される活性関数は、シグモイド(sigmoid)、双曲線タンジェント(hyperbolic tangent;tanh)及びReLU(rectified linear unit)の1つ又は組合わせを含み、活性関数によってニューラルネットワーク100に非線形性が導入される。したがって、例示的に、以前隠れレイヤ120に含まれた人工ノードの加重された入力が、現在隠れレイヤ120の人工ノードの全て又は一部のそれぞれに個別的に、以前隠れレイヤ120に含まれた人工ノードのこのような個別的に加重された入力を介して入力される。図1の例示において、現在隠れレイヤ120が最終階層の隠れレイヤ120である場合、最終隠れレイヤ120の個別人工ノードの活性結果は、最終隠れレイヤ120及び出力レイヤ130の人工ノードのそれぞれの間の各連結に対して個別的に類似に加重される。ここで、ニューラルネットワーク120の数多くの加重値又はパラメータは、隠れレイヤ及び出力レイヤの人工ノード間の各連結又はリンクに対して個別化される。例えば、数多くの加重値又はパラメータは、特定の目的のためにニューラルネットワーク100の特定のトレーニングを介して予め設定されてもよいし、あるいは予め決定されていてもよい。
【0047】
エゴモーション情報推定装置は、各隠れレイヤ120に以前隠れレイヤ120に含まれた以前隠れノードの出力を連結加重値又は加重された連結を有する接続線を介して入力し、以前隠れノードの出力に連結加重値の適用された値及び活性化関数に基づいて隠れレイヤ120に含まれた隠れノードの出力を生成する。ニューラルプロセッサ(NPU)の例示において、このような出力活性は電気的パルス又はスパイク又は特定するようにタイミングされたパルス又はスパイク又は一連のパルス又はスパイクの形態であってもよく、各隠れノードは、後続隠れレイヤ又は出力レイヤの次の隠れノードへの電気的な接続により運搬される出力パルス又はスパイクを発火(fire)又は生成するように構成される。例えば、各隠れノードは、結果が現在の隠れノードの設定された閾値を超過する場合、該当の活性化関数の結果を伝搬するように構成される。ここで、設定された閾値は、以前レイヤの様々な隠れノードから現在の隠れノードまでの個別接続のトレーニングされた連結加重値、及び以前隠れレイヤの様々な隠れノードから現在の隠れノードまでの入力活性に依存的である。この場合、ノードは、入力ベクトルを介して特定の閾値活性化の強度に達する前には、次のノードへ信号を発火又は伝搬せず、不活性化状態を保持するものと見なす。例えば、入力ベクトルは、以前の時間で自体生成されたものとして、又は1つ以上の以前レイヤ及び/又は他のレイヤから活性として生成された入力特徴ベクトルであってもよい。エゴモーションモデル及びアテンションモデルについても接続線、例えば、エゴモーションモデルの出力接続線及びアテンションモデルの入力接続線によって接続されてもよい。エゴモーションモデル及びアテンションモデルの接続は、下記の図5を参照して説明する。
【0048】
一実施形態によれば、エゴモーションモデルは、隠れレイヤ120として少なくとも1つの畳み込みレイヤを含む。エゴモーション情報推定装置は、エゴモーションモデルの畳み込みレイヤに基づいて、エゴモーションモデルに入力されるフレームイメージに対して畳み込みフィルタリングを行う。エゴモーション情報推定装置は、カーネルマスク(kernel mask)及びフレームイメージの間に畳み込み演算を適用することで、畳み込みフィルタリングを行うことができる。カーネルマスクの形態、大きさ、及び構造は、トレーニングされたエゴモーションモデルを生成するために実行されたトレーニングに応じて変わり、カーネルマスクの様々な形態、大きさ、及び構造が存在する。エゴモーション情報推定装置は、エゴモーションモデルに基づいて畳み込みフィルタリングを行うことで、フレームイメージから特徴データを抽出することができる。その後、エゴモーション情報推定装置は、抽出された特徴データをエゴモーションモデルの残りのレイヤに順次伝搬し、エゴモーションモデルの出力レイヤ130で、初期エゴモーション情報(例えば、長期エゴモーション情報及び短期エゴモーション情報)を生成する。
【0049】
ニューラルネットワーク100の幅と深度が十分大きければ、任意の関数を実現する程の容量を有することができる。ニューラルネットワーク100は、例えば、センサによって撮影されたフレームイメージからセンサのエゴモーション情報を出力する関数を実現する。ニューラルネットワーク100の構造を有するトレーニングのうち、ニューラルネットワークが適切なトレーニング過程を介して十分に多いトレーニングデータを学習すれば、その結果、トレーニングされたニューラルネットワーク100は、最適な推定性能を達成することができる。例えば、トレーニングは、所定の最適な性能を正確度及び/又は不正確度が充足するまで、トレーニングのうちのニューラルネットワークのパラメータの調整を含む。参考として、一実施形態に係るエゴモーションモデル及びアテンションモデルは、非指導方式でトレーニングされることができ、それについては図6及び図7を参照して説明する。
【0050】
図2は、一実施形態に係るエゴモーション情報推定方法を説明するフローチャートである。図3は、一実施形態に係るエゴモーション情報推定過程を説明する図である。
【0051】
図2及び図3は、エゴモーション情報推定装置が現在フレーム(例えば、k番目のフレーム)に対応するエゴモーション情報を推定する動作を説明する図である。
【0052】
まず、エゴモーション情報推定装置は、現在フレームのフレームイメージを取得する。例えば、センサが車両の前方に向かうように装着された場合、センサは、車両の前方視野に対応する場面を含んでいるフレームイメージを生成する。図3において、フレームイメージ301は、0番目のフレームイメージIないしk番目のフレームイメージIを含む。ここで、k>nである場合について説明し、kがn以下である場合は下記で後述する。nは1以上の整数であり、kはnを超過する整数である。
【0053】
参考として、k番目のフレームまで、エゴモーション情報推定装置はその以前フレーム(例えば、0番目ないしk-1番目のフレーム)に対応するフレームイメージ301を累積する。例えば、エゴモーション情報推定装置は、k番目のフレームからその以前のn個のフレームまでのフレームイメージ301(例えば、k-n番目のフレームないしk番目のフレームのフレームイメージ)を累積する。
【0054】
そして、ステップS210において、エゴモーション情報推定装置は、短期運動情報を推定する。一実施形態に係るエゴモーション情報推定装置は、連続するフレームのフレームイメージ301からフレームイメージ301を取得したセンサの短期運動情報(short-term ego-motion information)を推定する。例えば、エゴモーション情報推定装置は、エゴモーションモデル310に基づいてフレームイメージ301から短期運動情報を推定する。エゴモーション情報推定装置は、短期基準フレームから現在フレームまでセンサのエゴモーションの変化量を推定する。エゴモーション情報推定装置は、短期基準フレームに対応するフレームイメージ及び現在フレームに対応するフレームイメージからエゴモーションモデル310に基づいて短期運動情報を推定する。例えば、エゴモーション情報推定装置は、現在フレームとしてk番目のフレーム、及びその直前のフレームとしてk-1番目のフレームに対応するフレームイメージ301からエゴモーションモデル310に基づいて、現在フレームに対応する初期短期運動情報SPk、k-1を推定する。
【0055】
参考として、エゴモーション情報推定装置は、以前フレームまで推定された初期短期運動情報を累積する。例えば、エゴモーション情報推定装置は、k-n+1番目のフレームに対応する短期運動情報SPk-n+1、k-n、k-n+2番目のフレームに対応する短期運動情報SPk-n+2、k-n+1ないしk-1番目のフレームに対応する短期運動情報SPk-1、k-2を累積して格納する。SPi、jはi番目のフレームに対応する短期運動情報として、j番目のフレームからi番目のフレームまでの短期運動変化量を示す。i及びjは0以上の整数であり、iはjよりも大きくてもよい。
【0056】
次に、ステップS220において、エゴモーション情報推定装置は、長期運動情報を推定する。一実施形態に係るエゴモーション情報推定装置は、フレームイメージ301からセンサの長期運動情報(long-term ego-motion information)を推定する。例えば、エゴモーション情報推定装置は、エゴモーションモデル310に基づいてフレームイメージ301から短期運動情報を推定する。エゴモーション情報推定装置は、長期基準フレームから現在フレームまでセンサのエゴモーションの変化量を推定する。エゴモーション情報推定装置は、長期基準フレームに対応するフレームイメージ及び現在フレームイメージに対応するフレームイメージからエゴモーションモデル310に基づいて長期運動情報を推定する。例えば、エゴモーション情報推定装置は、k番目のフレーム及び長期基準フレームとしてk-n番目のフレームに対応するフレームイメージ301からエゴモーションモデル310に基づいて現在フレームに対応する初期長期運動情報LPk、k-nを推定する。LPi、jはi番目のフレームに対応する長期運動情報として、j番目のフレームからi番目のフレームまでの長期運動変化量を示す。
【0057】
上述したステップS210,S220では、エゴモーションモデル310が2枚のフレームイメージ301から、対象フレーム(例えば、現在フレーム)に対応するエゴモーション情報を出力するように設計された構造について説明したが、これに限定することはない。設計に応じて、エゴモーションモデル310は、複数のフレームイメージ301から対象フレームに対応するエゴモーション情報を出力するように設計されてもよい。
【0058】
そして、ステップS230において、エゴモーション情報推定装置は、短期運動情報及び長期運動情報からアテンション情報を算出する。例えば、エゴモーション情報推定装置は、アテンションモデル320に基づいて、短期運動情報及び長期運動情報から、アテンション情報を算出する。
【0059】
次に、ステップS240において、エゴモーション情報推定装置は、長期運動情報をアテンション情報に基づいて補正する。エゴモーション情報推定装置は、長期運動情報にアテンション情報を適用することで、現在フレームに対する最終長期運動情報309LP’’k、k-nを決定する。補正動作330は、現在フレームに対応する初期長期運動情報LPk、k-nにアテンション情報を適用する動作を示す。例えば、初期長期運動情報LPk、k-n及びアテンション情報が互いに同じ次元の行列データで算出される場合、補正動作330は、初期長期運動情報LPk、k-nにアテンション情報を行列の積にして適用してもよいし、加算して適用する動作であってもよい。ただし、補正動作330がこれに限定されるものではなく、初期長期運動情報LPk、k-n及びアテンション情報のデータ形態に応じて変わり得る。上述した補正動作330を介して、エゴモーション情報推定装置は、長期基準フレーム(long-term reference frame)から現在フレームまでセンサの最終エゴモーションの変化量を決定する。ここで、長期基準フレームは、現在フレームから予め決定されたフレーム個数nの以前フレームとして決定される。nは、1以上の整数であり得る。
【0060】
その後、一実施形態に係るエゴモーション推定装置は、決定された最終長期運動情報309に基づいて、現在フレームに対する最終短期運動情報を決定する。例えば、エゴモーション推定装置は、以前フレームで決定された最終長期運動情報LP’k-1、k-n-1、長期基準フレーム(例えば、k-n番目のフレーム)に対応する最終短期運動情報SP’k-n、k-n-1、及び現在フレームの最終長期運動情報309LP’k、k-nに基づいて、現在フレームに対する最終短期運動情報SP’k、k-1を決定する。例えば、最終短期運動情報SP’k、k-1は下記の数式(3)のように表現される。
【0061】
【数1】

まず、上述した数式(1)は任意のエゴモーション情報のデータ形式を示す。例えば、R(3×3)は3×3次元の行列として、センサの3次元空間で3つの軸に対する回転変化量を示し、T(3×1)は3×1次元の行列として、平行移動変化量を示す。したがって、エゴモーション情報は、回転行列及び平行移動行列を含むエゴモーション行列(例えば、SE3フォーマットの行列)として表現される。ただし、以下では、説明及び算出の便宜のために、エゴモーション情報を行列として説明するものであり、他の形式のデータが使用されてもよい。
【0062】
上述した数式(2)は、k-n番目のフレームからk番目のフレームまでのエゴモーション情報Pk、k-nを示す。数式(2)に上述したように過去フレームに対応するエゴモーション行列に、その次フレームに対応するエゴモーション行列を行列の積にして適用することで併合する。したがって、数式(2)に示されるようにk-n番目のフレームからk番目のフレームまでのエゴモーション情報Pk、k-nは、k-n番目のフレームからk-1番目のフレームまでのエゴモーション情報Pk-1、k-n及びk-1番目のフレームからk番目のフレームまでのエゴモーション情報Pk、k-1の行列の積のように表現される。
【0063】
数式(2)の両辺にエゴモーション情報Pk-1、k-nの逆行列を乗算する場合、数式(3)に示されるように、k-1番目のフレームからk番目のフレームまでの最終短期運動情報SP’k、k-1が算出される。エゴモーション情報推定装置は、以前フレームであるk-1番目のフレームで、k-n番目のフレームに対する最終短期運動情報SP’k-n、k-n-1、k-1番目のフレームに対応する最終長期運動情報LP'k-1,k-n-1、現在フレームであるk番目のフレームのステップS240でk番目のフレームに対応する最終長期運動情報309LP’k、k-nを算出したため、現在フレームに対する最終短期運動SP’k、k-1を上述した数式(3)により算出することができる。
【0064】
ここまで、k>nである場合について主に説明したが、以下ではk<nである場合、及びk=nである場合の動作について説明する。表1は、kに応じて各動作で算出される情報を示す。
【0065】
【表1】
k>nであるk番目のフレームでは、k-1番目のフレームに対応する最終長期運動情報LP'k-1,k-n-1が以前フレームで累積したが、k=nである場合又はk<nである場合においては該当情報がまだ算出されない。
【0066】
したがって、k<nであるk番目のフレームでは、エゴモーション情報推定装置は、最初フレームから現在フレームまで収集されたフレームイメージ301の個数がフレーム個数(frame number)n未満の場合に応答して、短期運動情報SPk、k-1を最終短期運動情報として決定する。k<nである間、エゴモーション情報推定装置は、ステップS210で、k番目のフレームに対応する短期運動情報SPk、k-1を推定する動作を繰り返すことができる。
【0067】
k=nであるk番目のフレームでは、初めてn番目のフレームに対応する最終長期運動情報LP'n.0をエゴモーション情報推定装置が算出することができる。ただし、n-1番目のフレームに対応する長期運動情報は推定されていないため、エゴモーション情報推定装置は、0番目のフレームないしn-1番目のフレームに対応するエゴモーション情報Pn-1、0を1番目のフレームないしn-1番目のフレームに対応する短期運動情報SP1、0、…、SPn-1、n-2の行列の積に代替できる。したがって、エゴモーション情報は、n番目のフレームで下記の数式(4)によりn番目のフレームに対する最終短期運動情報SP’n、n-1を算出する。
【0068】
【数2】
一実施形態によれば、エゴモーション情報推定装置は、最終長期運動情報及び最終短期運動情報のうち少なくとも1つを用いて、フレームごとに装置の位置及び姿勢を決定することができる。装置の位置は、例えば、基準位置に対する相対的な位置であってもよいが、これに限定されるものではなく、絶対的位置であってもよい。装置の姿勢は、例えば、基準姿勢に対する相対的な姿勢であり得るが、これに限定されるものではなく、絶対的な姿勢であってもよい。エゴモーション情報推定装置は基準位置として、例えば、任意の地理的な位置又は物理的な位置を原点に設定し、基準姿勢を設定する。エゴモーション情報推定装置は、基準位置及び基準姿勢に対する最終短期運動情報及び/又は最終長期運動情報の適用を累積することで、フレームごとにおける装置の位置及び姿勢を決定できる。例えば、エゴモーション情報推定装置は、以前フレームに対する位置及び姿勢に現在フレームで決定された最終短期運動情報を適用することで、現在フレームに対する位置及び姿勢を決定することができる。同様に、現在フレームに対する位置及び姿勢に次のフレームで決定された最終短期運動情報を適用することで、エゴモーション情報推定装置は、次のフレームに対する位置及び姿勢を決定できる。したがって、エゴモーション情報推定装置は、以前フレームにおける位置及び姿勢に現在フレームで決定された最終短期運動情報をフレームごとに繰り返し適用し、その結果を累積することで、フレームごとに決定された装置の位置及び姿勢を追跡することができる。短期運動情報だけで装置の位置及び姿勢を追跡する場合、時間が経過しながら追跡された位置及び姿勢で累積誤差(accumulated error)が増加し得るが、エゴモーション情報推定装置は、長期運動情報を活用することによって、このような累積誤差を最小化することができる。
【0069】
図4は、一実施形態に係るエゴモーションモデルを用いたエゴモーション情報推定演算を説明する図である。
【0070】
一実施形態によれば、エゴモーション情報推定装置は、エゴモーションモデルに基づいて短期運動情報(例えば、SPk-n+1、k-nないしSPk、k-1)及び長期運動情報(例えば、LPk、k-n)を算出する。
【0071】
エゴモーション情報推定装置は、例えば、現在フレームに対する現在フレームイメージが受信される場合に応答して、現在フレーム(例えば、k番目のフレーム)及び短期基準フレーム(例えば、k-1番目のフレーム)の間の短期運動情報SPk、k-1をエゴモーションモデル(ego-motion model)に基づいて推定する。エゴモーション情報推定装置は、フレームごとに算出された短期運動情報を累積して格納する。エゴモーション情報推定装置は、現在フレームからn個の以前フレーム(例えば、k-n番目のフレームないしk番目のフレーム)に対応する短期運動情報を保管する。エゴモーション情報推定装置は、n個のフレームに関する情報(例えば、短期運動情報及び長期運動情報など)を保管し、その以前フレームに関する情報を削除してもよい。
【0072】
また、エゴモーション情報推定装置は、現在フレームイメージが受信される場合に応答して、現在フレーム(例えば、k番目のフレーム)及び長期基準フレーム(例えば、k-n番目のフレーム)の間の長期運動情報LPk、k-nをエゴモーションモデルに基づいて推定する。
【0073】
一実施形態によれば、短期運動情報及び長期運動情報は、互いに同じエゴモーションモデルに基づいて推定される。この場合、エゴモーション情報推定装置は、固定された構造及び固定されたパラメータのエゴモーションモデルをフレームごとに順次実施し、フレームごとに対応するエゴモーション情報をフレームイメージ301から算出する。
【0074】
ただし、これに限定されるものではなく、図4に示すように、エゴモーション情報推定装置は、n+1個のエゴモーションモデルPoseNet-1ないしPoseNet-n、及びPoseNet-Lを含んでもよい。エゴモーションモデルPoseNet-1ないしPoseNet-n、及びPoseNet-Lのそれぞれは、各フレームに対応する短期運動情報及び長期運動情報を算出するために使用される。ここで、エゴモーションモデルPoseNet-1ないしPoseNet-n、及びPoseNet-Lのそれぞれは、互いに異なる構造及びそれぞれ異なるようにトレーニングされたパラメータ(例えば、連結加重値)を含む。
【0075】
また、エゴモーション情報推定装置は、フレームイメージ301のうち、連続するフレームイメージの対(frame image pair)から短期エゴモーションモデル411に基づいて短期運動情報を推定することができる。連続するフレームイメージの対は、時間的に離隔した2つのフレームイメージを示す。エゴモーション情報推定装置は、フレームイメージ301のうち、対象フレームイメージ及び基準フレームイメージから長期エゴモーションモデル412に基づいて長期運動情報を推定する。ここで、短期エゴモーションモデル411のパラメータ及び長期エゴモーションモデル412のパラメータはそれぞれ異なってもよい。
【0076】
図5は、一実施形態に係るアテンションモデルを用いたアテンション演算を説明する図である。
【0077】
一実施形態に係るエゴモーション情報推定装置は、短期運動情報及び長期運動情報から、アテンションモデル320に基づいてアテンション情報を抽出する。例えば、エゴモーション情報推定装置は、短期運動情報及び長期運動情報からアテンション要素を抽出し得る。アテンション要素は、短期運動情報に対応するキーデータKで長期運動情報に対応するクエリデータQに類似のキー(key)に高い加重値が付与されたデータを示す。エゴモーション情報推定装置は、短期運動情報からアテンション加重値を抽出する。エゴモーション情報推定装置は、アテンション要素及びアテンション加重値Vに基づいてアテンション情報を生成する。アテンションモデル320は、畳み込みフィルタリングなしで、プーリング、スケーリング、及び行列の積演算などから構成される。
【0078】
例えば、図5に示すように、エゴモーションモデルの出力は、アテンションモデル320の入力に接続される。エゴモーション情報推定装置は、アテンションモデル320を介して、エゴモーションモデルで出力された短期運動情報からキーデータKを抽出し、長期運動情報からクエリデータQを抽出して行列の積521、スケーリング演算522、及びソフトマックス演算523を順次適用し、上述したアテンション要素を抽出する。アテンション要素は、キーデータ及びクエリデータでアテンションされなければならない情報を指示する。キーデータは、短期運動情報からプーリング動作529を介して抽出されたデータを示し、クエリデータは、長期運動情報から抽出されたデータを示す。エゴモーション情報推定装置は、短期運動情報からプーリング動作529を介して抽出されたアテンション加重値V及びアテンション要素に行列の積524を適用し、その結果に線形関数525を適用することでアテンション情報を算出することができる。したがって、アテンション情報は、キーデータKでクエリデータQに類似の情報の比重が増加した加重値を示す。
【0079】
また、図5では、エゴモーション情報がアテンションモデル320に入力されるものと説明したが、これに限定されるものではなく、エゴモーション情報から出力される以前の特徴データ、例えば、エゴモーション特徴がアテンションモデル320から入力されてもよい。
【0080】
エゴモーション情報特徴装置は、上述したように長期運動情報にアテンション情報を反映する補正動作330を介して最終長期運動情報309を決定する。
【0081】
参考として、本明細書では、図5に示された長期エゴモーションモデル511のように、入力レイヤから出力レイヤに行くほど、レイヤのノード個数が減少するように構成されたモデル(例えば、ニューラルネットワーク)を例に挙げて説明する。ただし、これに限定することはない。
【0082】
図6は、一実施形態に係るエゴモーションモデル及びアテンションモデルをトレーニングさせる方法を説明するフローチャートである。図7は、一実施形態に係るエゴモーションモデル及びアテンションモデルのトレーニング過程を説明する図である。
【0083】
まず、ステップS610において、エゴモーション情報推定装置は、トレーニングイメージ701からn個シーケンスのフレームイメージを抽出する。ここで、トレーニングイメージは、入力イメージと別個のイメージであってもよいが、これに限定することはない。一実施形態に係るトレーニングは、与えられるイメージに対して真の値(ground truth)がなくても実行されることができる非指導学習方法であるため、入力イメージがトレーニングイメージとして使用されてもよい。
【0084】
そして、ステップS620において、エゴモーション情報推定装置は、臨時深度情報749を生成する。例えば、エゴモーション情報推定装置は、トレーニングイメージ701から深度モデル740に基づいて以前フレームの臨時深度情報749を生成する。エゴモーション情報推定装置は、k-1番目のフレームに対応するトレーニングイメージ701(例えば、トレーニングステレオイメージとしてIk-1、l、及びIk-1、r)から深度モデル740に基づいてk-1番目のフレームに対応する臨時深度情報749を生成する。深度モデル740は、ステレオイメージ(例えば、2つのカラーイメージ)から深度イメージを生成するように設計されたモデルを示す。
【0085】
深度情報はセンサの視野角に含まれる地点の深度に関する情報として深度イメージを含んでもよく、深度イメージは、センサから地点までの距離を示すイメージであってもよい。例えば、深度イメージで各ピクセルのピクセル値は、センサから各ピクセルが指示する地点の物理的位置までの距離値を示す。深度イメージは、一対のカメラセンサによって取得されたステレオイメージ(例えば、左映像及び右映像)から変換されたイメージであり得るが、これに限定されるものではなく、深度センサによって取得されたイメージであってもよい。
【0086】
トレーニングステレオイメージはステレオイメージとして、k-1番目のフレームに対応する第1トレーニングイメージIk-1、lは左映像(left image)であり、第2トレーニングイメージIk-1、rは右映像(right image)である。左映像は、一対のカメラセンサのうち機器(例えば、車両)の中心から左側に配置されたカメラセンサから取得されたイメージを示し、右映像は、右側に配置されたカメラセンサから取得されたイメージを示す。ただし、ステレオイメージを上述したように左映像及び右映像に限定されることなく、ステレオイメージは、互いに離隔して配置された一対のカメラセンサから取得された2つのイメージを示す。
【0087】
深度モデル740は、図6を参照して説明するトレーニング過程の前に予めトレーニングが完了したモデルであって、ニューラルネットワークであり得る。ただし、これに限定されるものではなく、深度モデル740は、モデル及び図7で説明するトレーニング過程の間にトレーニングされてもよい。
【0088】
次に、ステップS630において、エゴモーション情報推定装置は、エゴモーションモデル310及びアテンションモデル320に基づいて臨時長期運動情報709を生成し、臨時短期運動情報708を算出する。例えば、エゴモーション情報推定装置は、トレーニングイメージ701からエゴモーションモデル310及びアテンションモデル320に基づいて臨時長期運動情報709を生成し、臨時長期運動情報709から臨時短期運動情報708を算出する。臨時短期運動情報708の算出は、図2図5を参照して上述した通りである。
【0089】
そして、ステップS640において、エゴモーション情報推定装置は、臨時短期運動情報708に基づいて臨時深度情報749からワーピングイメージ(warped image)I’(k)を生成する。例えば、エゴモーション情報推定装置は、以前フレームの臨時深度情報749及び臨時短期運動情報708に基づいて、現在フレームのワーピングイメージI’(k)を生成する。
【0090】
例えば、ステップS640でエゴモーション情報推定装置は、ワーピング動作750を介してワーピングイメージI’(k)を生成する。エゴモーション情報推定装置は、3次元座標生成動作751を介して臨時深度情報749から以前フレームに対応する3次元座標イメージTempk-1を生成する。エゴモーション情報推定装置は、3次元回転動作752を介して臨時長期運動情報709から算出された臨時短期運動情報708を用いて、以前フレームに対応する3次元座標イメージTempk-1を変換することで、現在フレームに対応する3次元座標イメージTemp’を復元する。3次元座標イメージTempk-1、Temp’は、イメージ(例えば、深度イメージ又はカラーイメージ)に示されるオブジェクト又は背景を3次元情報に示すイメージであり、3次元座標イメージTempk-1、Temp’の各ピクセルのピクセル値は、任意の基準点を原点にする3次元座標値を有する。エゴモーション情報推定装置は、2次元イメージに投影動作753を介して現在フレームに対応する3次元座標イメージTemp’を2次元に投影することで、2次元にワーピングされたワーピングイメージI’(k)を生成する。したがって、ワーピングイメージI’(k)は、以前フレーム(例えば、k-1番目のフレーム)で推定された情報を用いて、k-1番目のフレームのイメージがk番目のフレームに対応する姿勢及び位置に変換されたイメージであり得る。
【0091】
次に、ステップS650において、エゴモーション情報推定装置は、ワーピングイメージI’(k)及びフレームイメージから損失790を算出してモデルをトレーニングさせる。例えば、エゴモーション情報推定装置は、トレーニングイメージ701のうち、現在フレームイメージ及びワーピングイメージI’(k)から算出された損失790に基づいて、エゴモーションモデル310、アテンションモデル320、及び深度モデル740のうち少なくとも1つのモデルをトレーニングさせる。参考として、ワーピングイメージI’(k)及びトレーニングイメージのピクセルのピクセル値は色値を示す。
【0092】
例えば、エゴモーション情報推定装置は、k番目のフレームに対応するトレーニングイメージIk、r及びk番目のフレームに対応するワーピングイメージI’(k)に基づいて損失790を算出する。例えば、エゴモーション情報推定装置は、2つのイメージ間のピクセル値の差としてL1値を算出してもよい。したがって、別途の真の値が与えられなくても、一実施形態に係るエゴモーション情報推定装置は、k番目のフレームに対応するトレーニングイメージIk、r及びk番目のフレームに対応するワーピングイメージI’(k)から損失790を算出し、非指導学習を行うことができる。エゴモーション情報推定装置は、算出された損失790が減少するように逆伝搬を介してエゴモーションモデル310、アテンションモデル320、及び深度モデル740のパラメータをアップデートする。エゴモーション情報推定装置は、損失790が任意の値に収斂されるまで各モデルのパラメータを繰り返してアップデートする。また、エゴモーション情報推定装置は、予め決定した回数の間損失790が減少するようにモデルのパラメータをアップデートする。
【0093】
図8は、他の一実施形態に係るエゴモーション情報推定方法を説明するフローチャートである。
【0094】
まず、ステップS810において、エゴモーション情報推定装置は、現在フレームイメージ及び以前フレームイメージからエゴモーションモデルに基づいて短期運動特徴を抽出する。短期運動特徴は、エゴモーションモデルに基づいて抽出された特徴データとして、エゴモーションモデルで短期運動情報から出力される以前レイヤの出力であり得る。
【0095】
そして、ステップS820において、エゴモーション情報推定装置は、抽出された短期運動特徴及び変形モデルに基づいて、以前フレームイメージ及び以前フレームから生成された深度イメージのうち少なくとも1つのイメージから現在フレームに対応する復元フレームイメージを生成する。以下、図9は、以前フレームイメージから復元フレームイメージを生成する例示を説明し、図10は、深度イメージから復元フレームイメージを生成する例示を説明する。入力イメージのフレームイメージがカラーイメージである場合、復元フレームイメージも入力イメージと同じ色界のカラーイメージであり得る。
【0096】
次に、ステップS830において、エゴモーション情報推定装置は、復元フレームイメージ及び現在フレームイメージから補正情報を算出する。例えば、エゴモーション情報推定装置は、復元フレームイメージ及び現在フレームイメージからエゴモーションモデルに基づいて補正情報を算出する。復元フレームイメージは、現在フレームイメージと同じフレームに対して復元されたイメージであるから現在フレームイメージと同一でなければならず、エゴモーションモデルに復元フレームイメージ及び現在フレームイメージが入力される場合、姿勢の差(例えば、姿勢の誤差)がないものと出力されることが理想的である。ただし、実際には誤差が発生するが、このような誤差は補正情報として用いられてもよい。
【0097】
そして、ステップS840において、エゴモーション情報推定装置は、エゴモーションモデルに基づいて推定された現在フレームに対する短期運動情報に補正情報を適用することで、最終短期運動情報を算出する。
【0098】
図9及び図10は、他の一実施形態に係るエゴモーション情報推定過程を説明する図である。
【0099】
図9において、エゴモーション情報推定装置は、k-1番目のフレームイメージIk-1及びk番目のフレームイメージIからエゴモーションモデル911に基づいて短期運動情報SPk、k-1を算出する。ここで、エゴモーション情報推定装置は、短期運動情報SPk、k-1が出力される以前レイヤの出力である短期運動特徴929を姿勢エンコーダ920に基づいて符号化する。
【0100】
一方、エゴモーション情報推定装置は、変形モデル930に基づいて、k-1番目のフレームイメージIk-1から符号化された短期運動特徴929を用いてk番目のフレームに対する復元フレームイメージI’を生成する。例えば、エゴモーション情報推定装置は、変形モデル930のイメージエンコーダを介してk-1番目のフレームイメージIk-1に対するイメージ特徴を抽出し、抽出されたイメージ特徴を符号化された短期運動特徴929と結合したデータをイメージデフォーマ(image deformer)を介して復元フレームイメージI’に復元する。
【0101】
エゴモーション情報推定装置は、エゴモーションモデル912に基づいて、復元フレームイメージI’及びk番目のフレームイメージI間の微細な姿勢誤差に対応する補正情報を算出することができる。エゴモーション情報推定装置は、補正動作990として現在フレームに対する短期運動情報SPk、k-1に補正情報を適用することで、最終短期運動情報909を算出する。ここで、エゴモーションモデル911,912は、互いに同じ構造で同じパラメータであり得るが、これに限定することはない。
【0102】
図10において、エゴモーション情報推定装置は、図9に類似に、k-1番目のフレームイメージIk-1及びk番目のフレームイメージIからエゴモーションモデル1011に基づいて短期運動情報SPk、k-1を算出する。ここで、エゴモーション情報推定装置は、短期運動情報SPk、k-1が出力される以前レイヤの出力である短期運動特徴1029を姿勢エンコーダ1020に基づいて符号化する。
【0103】
一方、エゴモーション情報推定装置は、k-1番目のフレームイメージIk-1からk-1番目のフレームに対応する深度イメージDk-1を生成する。エゴモーション情報推定装置は、深度変形モデル1040に基づいて、k-1番目深度イメージDk-1から短期運動特徴1029を用いてk番目のフレームに対する深度イメージDを復元し、k番目のフレームに対する深度イメージDkからk番目のフレームに対する復元フレームイメージI’’を生成する。例えば、エゴモーション情報推定装置は、変形モデル1030の深度エンコーダを介してk-1番目の深度イメージDk-1に対する深度特徴を抽出し、抽出された深度特徴を符号化された短期運動特徴1029と結合したデータを深度デフォーマを介して深度イメージD’に復元する。
【0104】
エゴモーション情報推定装置は、エゴモーションモデル1012に基づいて、復元フレームイメージI’’及びk番目のフレームイメージI間の微細な姿勢誤差に対応する補正情報を算出する。エゴモーション情報推定装置は、補正動作1090として現在フレームに対する短期運動情報SPk、k-1に補正情報を適用することで、最終短期運動情報1009を算出する。ここで、エゴモーションモデル1011,1012は、互いに同じ構造で同じパラメータであり得るが、これに限定されることはない。
【0105】
図11は、図9及び図10を参照して説明された構造が結合されたモデルのトレーニング方法を説明するフローチャートである。図12は、図9及び図10を参照して説明された構造が結合されたモデルをトレーニングする過程を説明する図である。
【0106】
まず、ステップS1110において、エゴモーション情報推定装置は、トレーニングイメージの対(例えば、Trk-1、Tr)からエゴモーションモデルに基づいて短期運動特徴を抽出する。トレーニングイメージの対は、例えば、k-1番目のフレームに対するトレーニングイメージTrk-1及びk番目のフレームに対するトレーニングイメージTrを含む。
【0107】
そして、ステップS1120において、エゴモーション情報推定装置は、抽出された短期運動特徴及び変形モデルに基づいて、トレーニングイメージのうち以前フレームイメージ及び以前フレームから生成された深度イメージのうち少なくとも1つのイメージから現在フレームに対応する臨時復元フレームイメージを生成する。例えば、エゴモーション情報推定装置は、エゴモーションモデル1210に基づいてトレーニングイメージの対Trk-1、Trから短期運動特徴を抽出し、抽出された短期運動特徴を姿勢エンコーダ1220を介して符号化し、イメージ変形モデル1230及び深度変形モデル1240にフォワーディングする。エゴモーション情報推定装置は、深度モデル1250から抽出された深度イメージDk-1を深度変形モデル1240及び短期運動特徴に基づいて次のフレームの深度イメージDに変換し、第2臨時復元フレームイメージI’’を生成する。同様に、エゴモーション情報推定装置は、トレーニングイメージからイメージ変形モデル1230及び短期運動特徴に基づいて次のフレームの第1臨時復元フレームイメージI’を生成する。
【0108】
次に、ステップS1130において、エゴモーション情報推定装置は、臨時復元フレームイメージ及びトレーニングイメージのうち現在フレームイメージから損失を算出する。エゴモーション情報推定装置は、第1臨時復元フレームイメージI’及び第1トレーニングイメージTrの間の第1損失1291(例えば、ピクセル値の差であるL1損失)を算出する。また、エゴモーション情報推定装置は、第2臨時復元フレームイメージI’’及び第1トレーニングイメージTrの間の第2損失1292(例えば、ピクセル値の差であるL1損失)を算出する。
【0109】
そして、ステップS1140において、エゴモーション情報推定装置は、算出された損失に基づいてモデルをトレーニングさせる。例えば、エゴモーション情報推定装置は、算出された損失が任意の値に収斂されるまで、各モデルのパラメータを繰り返しアップデートすることができる。
【0110】
図13は、更なる一実施形態に係るエゴモーション情報推定過程を説明する図である。
【0111】
図3を参照して説明された構造、図9を参照して説明された構造、及び図10を参照して説明された構造が結合されたモデルを用いるエゴモーション情報推定装置について説明する。
【0112】
まず、エゴモーション情報推定装置は、図3を参照して説明したものと類似に、フレームイメージから第1エゴモーションモデル1311及びアテンションモデル1320に基づいて最終長期運動情報LP’k、k-nを算出する。エゴモーション情報推定装置は、上述した数式(3)により最終長期運動情報LP’k、k-nからアテンション基盤短期運動情報1381(例えば、SPk、k-1)を算出する。
【0113】
そして、エゴモーション情報推定装置は、第1エゴモーションモデル1311に基づいて、フレームイメージのうち以前フレームイメージIk-1及び現在フレームイメージIkからセンサの短期運動特徴を抽出する。抽出された短期運動特徴は、イメージエンコーダ1330によって符号化されてイメージ変形モデル1340及び深度変形モデル1360に伝えられる。エゴモーション情報推定装置は、以前フレームイメージIk-1を、イメージ変形モデル1340及び短期運動特徴に基づいて変形することで、現在フレームに対応する復元フレームイメージI’を生成する。エゴモーション情報推定装置は、現在フレームイメージI及び復元フレームイメージI’から第2エゴモーションモデル1312に基づいて第1補正情報1341を算出する。エゴモーション情報推定装置は、現在フレームに対する短期運動情報SPk、k-1に第1補正情報1341を適用する補正動作1345を介してイメージ基盤短期運動情報1382を生成する。
【0114】
また、エゴモーション情報推定装置は、第1エゴモーションモデル1311に基づいて、フレームイメージのうち以前フレームイメージIk-1及び現在フレームイメージIからセンサの短期運動特徴SPk、k-1を抽出する。エゴモーション情報推定装置は、深度モデル1350に基づいて以前フレームイメージIk-1から以前フレームに対する深度イメージDk-1を生成する。エゴモーション情報推定装置は、以前フレームに対する深度イメージDk-1を短期運動特徴を用いて変形することで、現在フレームに対応する深度イメージD’を生成する。エゴモーション情報推定装置は、現在フレームに対応する深度イメージD’を復元フレームイメージI’’に変換する。エゴモーション情報推定装置は、現在フレームイメージI及び復元フレームイメージI’’から第3エゴモーションモデル1313に基づいて第2補正情報1351を算出する。エゴモーション情報推定装置は、現在フレームに対する短期運動情報SPk、k-1に第2補正情報1351を適用する補正動作1355を介して深度基盤短期運動情報1383を生成する。
【0115】
エゴモーション情報推定装置は、最終長期運動情報から算出されたアテンション基盤短期運動情報1381及びイメージ基盤短期運動情報1382に基づいて最終短期運動情報1390を決定する。また、エゴモーション情報推定装置は、最終長期運動情報から算出されたアテンション基盤短期運動情報1381及び深度基盤短期運動情報1383に基づいて最終短期運動情報1390を決定する。また、エゴモーション情報推定装置は、アテンション基盤短期運動情報1381、深度基盤短期運動情報1383、及びイメージ基盤短期運動情報1382に基づいて現在フレームに対する最終短期運動情報1390を決定してもよい。
【0116】
図14及び図15は、一実施形態に係るエゴモーション情報推定装置の構成を説明するブロック図である。
【0117】
エゴモーション情報推定装置1400は、センサ1410、プロセッサ1420、及びメモリ1430を含む。
【0118】
センサ1410は、連続するフレームのフレームイメージを取得する。例えば、センサ1410は、カラーイメージを受信するカメラセンサ1410であってもよいが、これに限定されることはない。センサ1410は、ステレオイメージを取得してもよい。センサ1410は、深度イメージを受信する深度センサ1410をさらに含んでもよい。深度センサ1410とカメラセンサ1410で取得されるイメージのピクセルが互いに同じ地点を指示するように視野角などがマッチングされた場合、深度センサ1410によって取得された深度イメージをトレーニングの過程で使用されることができる。この場合、トレーニング過程で、深度モデルから生成される深度イメージの代わりに、深度センサ1410によって取得された深度イメージが使用されてもよい。
【0119】
プロセッサ1420は、センサ1410の短期運動情報を推定し、フレームイメージからセンサ1410の長期運動情報を推定し、短期運動情報及び長期運動情報からアテンション情報を算出し、長期運動情報をアテンション情報に基づいて補正することで、現在フレームに対する最終長期運動情報を決定することができる。プロセッサ1420は、図1図13を参照して上述した動作を行うことができる。
【0120】
メモリ1430は、エゴモーション情報を推定するために用いられるデータを臨時的又は永久的に格納する。例えば、メモリ1430は、センサ1410によって取得されるフレームイメージ、短期運動情報、及び長期運動情報を一定区間(例えば、n個のフレーム)の間に格納することができる。
【0121】
図15を参照すると、コンピューティング装置1500は、上記で説明したエゴモーション情報推定方法を用いてセンサのエゴモーションを推定する装置である。一実施形態では、コンピューティング装置1500は、図14を参照して説明された装置1400に対応する。コンピューティング装置1500は、例えば、イメージ処理装置、スマートフォン、ウェアラブル機器、タブレットコンピュータ、ネットブック、ラップトップ、デスクトップ、PDA(personal digital assistant)、HMD(head mounted display)であり得る。
【0122】
図15を参照すると、コンピューティング装置1500は、プロセッサ1510、格納装置1520、カメラ1530、入力装置1540、出力装置1550及びネットワークインターフェース1560を含む。プロセッサ1510、格納装置1520、カメラ1530、入力装置1540、出力装置1550及びネットワークインターフェース1560は通信バス1570を介して通信する。
【0123】
プロセッサ1510は、コンピューティング装置1500内で実行するための機能及び命令を実行する。例えば、プロセッサ1510は、格納装置1520に格納された命令を処理する。プロセッサ1510は、図1図14を参照して前述した1つ以上の動作を行ってもよい。
【0124】
格納装置1520は、プロセッサの実行に必要な情報ないしデータを格納する。格納装置1520は、コンピュータ読み出し可能な格納媒体又はコンピュータ読み出し可能な格納装置を含む。格納装置1520は、プロセッサ1510によって実行するための命令を格納し、コンピューティング装置1500によってソフトウェア又はアプリケーションが実行される間に関連情報を格納する。
【0125】
カメラ1530は、複数のイメージフレームで構成されるイメージをキャプチャーする。例えば、カメラ1530は、フレームイメージを生成する。
【0126】
入力装置1540は、触覚、ビデオ、オーディオ又はタッチ入力によってユーザから入力を受信する。入力装置1540は、キーボード、マウス、タッチスクリーン、マイクロホン、又は、ユーザから入力を検出し、検出された入力を伝達できる任意の他の装置を含む。
【0127】
出力装置1550は、視覚的、聴覚的又は触覚的なチャネルを介してユーザにコンピューティング装置1500の出力を提供する。出力装置1550は、例えば、ディスプレイ、タッチスクリーン、スピーカ、振動発生装置又はユーザに出力を提供できる任意の他の装置を含む。ネットワークインターフェース1560は、有線又は無線ネットワークを介して外部装置と通信する。一実施形態によれば、出力装置1550は、図1図13を参照して算出された最終短期運動情報、最終長期運動情報、位置情報、及び姿勢情報のうち少なくとも1つを出力する。出力装置1550は、最終短期運動情報、最終長期運動情報、位置情報、及び姿勢情報などを視覚情報、聴覚情報、及び触覚情報のうち少なくとも1つを用いてユーザに提供する。例えば、コンピューティング装置1500が車両に装着された場合、コンピューティング装置1500は、最終短期運動情報及び最終長期運動情報に基づいて車両の位置及び姿勢を推定し、推定された位置及び姿勢に対応するグラフィック表現(例えば、地図背景上の車両オブジェクト)を生成してディスプレイに視角化する。また、コンピューティング装置1500は、モバイルユーザ装置、ロボット装置、又は、車両の推定された位置及び姿勢を位置的マッピング(例えば、SLAM(simultaneous localization and mapping))を制御し、これに基づいて車両又はロボット装置の自律移動を制御するために使用される。
【0128】
図16は、一実施形態に係るエゴモーション情報推定装置が車両に装着された状況を説明する図である。
【0129】
エゴモーション情報推定装置が車両に装着される場合、センサ1621,1622は車両の内部から外部に向かうように配置される。例えば、センサの光軸(optical axis)及び視野角(FOV、field of view)は、車両の前方に向かってもよい。図16において、車両が第1位置から第2位置に移動する状況(例えば、左折)1601を仮定する。車両の前方に任意のオブジェクト1690が存在する場合、第1位置1611において、センサ1621の第1視野角1631ではオブジェクト1690が第1フレームイメージ1641の左側に示される。第2位置1612において、はセンサ1622の第2視野角1632ではオブジェクト1690が第2フレームイメージ1642の右側に示される。したがって、エゴモーション情報推定装置は、このようにいずれかのフレームイメージから他のもの(例えば、第1フレームイメージ1641から第2フレームイメージ1642)に示されるオブジェクト又は静的背景などの変化から、センサ自体エゴモーション情報を推定できるようになる。
【0130】
エゴモーション情報推定装置は、図1図15を参照して上述したように、最終長期運動情報及び最終長期運動情報から算出された最終短期運動情報のうち少なくとも1つに基づいて、センサが装着された装置の移動経路を追跡することができる。一実施形態によれば、エゴモーション情報推定装置は基準位置として、例えば、任意の地理的位置又は物理的位置を原点に設定し、基準姿勢を設定し、基準位置及び基準姿勢に対する最終短期運動情報及び/又は最終長期運動情報の適用を累積することで、フレームごとにおける装置の位置及び姿勢を決定することができる。例えば、エゴモーション情報推定装置は、任意の初期化フレームで装置の位置及び姿勢を初期化する。エゴモーション情報推定装置は、該当初期化フレームでの装置の位置及び姿勢を基準位置(reference position)及び基準姿勢(reference pose)に設定する。初期化フレームの次のフレームで、エゴモーション情報推定装置は、次のフレームで決定された最終短期運動情報を初期化フレームにおける基準位置及び基準姿勢に適用することで、次のフレームにおける位置及び姿勢を算出することができる。例えば、エゴモーション情報推定装置は、装置の位置及び姿勢を指示する行列及び最終短期運動情報を指示する行列(例えば、数式(1)のような形態の行列)間の行列の積の結果から、次のフレームにおける位置及び姿勢を指示する行列を取得することができる。その後、毎フレームごとにエゴモーション情報推定装置は、上述したものと類似に、以前フレームで決定された装置の位置及び姿勢に短期運動情報を適用することで、現在フレームに対応する装置の位置及び姿勢を決定できる。エゴモーション情報推定装置は、フレームごとに決定された装置の位置及び姿勢を累積することで、装置の移動経路及び各位置における姿勢を追跡することができる。
【0131】
ただし、装置の位置及び姿勢に関連する情報を行列形態に限定することなく、別の形態のデータが使用されてもよい。また、最終短期運動情報を以前フレームにおける位置及び姿勢に行列の積演算で反映するものと限定するものではなく、他の演算が使用されてもよい。また、最終短期運動情報を用いるものと説明したが、これに限定されるものではなく、現在フレームに対する長期基準フレームに対応する位置及び姿勢に最終長期運動情報を適用することで、エゴモーション情報推定装置は、現在フレームに対応する装置の位置及び姿勢を決定してもよい。
【0132】
エゴモーション情報推定装置は、装置の追跡された移動経路を出力する。例えば、エゴモーション情報推定装置は、ディスプレイを介して装置周辺地形に対する地理的マップを指示するグラフィック表現を出力し、地理的マップに対応するグラフィック表現上に追跡された移動経路に対応するグラフィック表現をオーバーレイして出力し得る。ただし、移動経路の出力を視角化がこれに限定されるものではなく、さらに、移動経路は聴覚又は触覚情報から出力されてもよい。
【0133】
更なる実施形態によれば、エゴモーション情報推定装置は、HMD(head-mounted device)で実現される。HMDは、拡張現実又は仮想現実状報を提供するように構成される。この場合、HMD装置のディスプレイは、ユーザの目に向かうように配置され、センサは装置のハウジングを基準にしてディスプレイの反対側に向かうように配置される。したがって、センサは、ユーザの視線方向と同じ方向に向かうように配置される。エゴモーション情報推定装置は、ユーザの頭の動きに応じて動くため、エゴモーション情報推定装置は、センサのエゴモーション情報を介してユーザの頭の動きを推定することができる。エゴモーション情報推定装置は、図1図15を参照して上述した方法によりセンサのエゴモーション情報を推定し、推定されたエゴモーション情報をディスプレイに視角化されるコンテンツにフィードバックする。例えば、エゴモーション情報推定装置は、初期化フレームでHMDの位置及び姿勢を基準位置及び基準姿勢に設定し、以後フレームで基準位置及び基準姿勢に対する最終短期運動情報及び/又は最終長期運動情報の適用を累積することで、毎フレームにおけるHMDの位置及び姿勢を決定することができる。また、センサのエゴモーション情報からユーザが任意の方向(例えば、右側)に頭を回転させた動作が検出された場合、エゴモーション情報推定装置は、該当の方向に対応する仮想コンテンツがHMDに表示されるように制御することができる。
【0134】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組み合せで具現される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、マイクロコンピュータ、FPA(field programmable array)、PLU(programmable logic unit)、マイクロプロセッサー、又は命令(instruction)を実行して応答する異なる装置のように、一つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現される。処理装置は、オペレーティングシステム(OS)及びオペレーティングシステム上で実行される一つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成する。理解の便宜のために、処理装置は一つが使用されるものとして説明する場合もあるが、当技術分野で通常の知識を有する者は、処理装置が複数の処理要素(processing element)及び/又は複数類型の処理要素を含むことを把握する。例えば、処理装置は、複数のプロセッサ又は一つのプロセッサ及び一つのコントローラを含む。また、並列プロセッサ(parallel processor)のような、他の処理構成も可能である。
【0135】
ソフトウェアは、コンピュータプログラム、コード、命令、又はそのうちの一つ以上の組合せを含み、希望通りに動作するように処理装置を構成するか、或いは独立的又は結合的に処理装置に命令することができる。ソフトウェア及び/又はデータは、処理装置によって解釈されるか、或いは処理装置に命令又はデータを提供するために、いずれかの類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、又は送信される信号波により永久的又は一時的に具体化することができる。ソフトウェアはネットワークに連結されたコンピュータシステム上に分散され、分散した方法で格納されるか又は実行され得る。ソフトウェア及びデータは一つ以上のコンピュータで読み取り可能な記録媒体に格納され得る。
【0136】
本実施形態による方法は、様々なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組み合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例として、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD-ROM、DVDのような光記録媒体、フロプティカルディスクのような磁気-光媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明に示す動作を実行するために一つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【0137】
上述したように実施形態が、たとえ限定された図面によって説明されたが、当技術分野で通常の知識を有する者であれば、前述に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順に実行されたり、及び/又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態に組合わせられたり、他の構成要素又は均等物によって置換されても適切な結果を達成することができる。
【0138】
したがって、本発明の範囲は、開示された実施形態に限定されて定められたものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16