(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-05
(45)【発行日】2023-06-13
(54)【発明の名称】自体運動推定方法及び装置
(51)【国際特許分類】
G06T 7/20 20170101AFI20230606BHJP
G06T 7/269 20170101ALI20230606BHJP
G06T 7/00 20170101ALI20230606BHJP
G08G 1/16 20060101ALI20230606BHJP
【FI】
G06T7/20 100
G06T7/269
G06T7/00 650B
G08G1/16 C
(21)【出願番号】P 2019077035
(22)【出願日】2019-04-15
【審査請求日】2022-01-05
(31)【優先権主張番号】10-2018-0091944
(32)【優先日】2018-08-07
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】390019839
【氏名又は名称】三星電子株式会社
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung-ro,Yeongtong-gu,Suwon-si,Gyeonggi-do,Republic of Korea
(73)【特許権者】
【識別番号】513246872
【氏名又は名称】ソウル大学校産学協力団
【氏名又は名称原語表記】SEOUL NATIONAL UNIVERSITY R&DB FOUNDATION
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】李 元煕
(72)【発明者】
【氏名】李 相日
(72)【発明者】
【氏名】金 眩辰
(72)【発明者】
【氏名】洪 性勳
【審査官】松浦 功
(56)【参考文献】
【文献】特開平08-063601(JP,A)
【文献】特開2011-035636(JP,A)
【文献】特開2006-134035(JP,A)
【文献】特表2003-515827(JP,A)
【文献】米国特許第06704621(US,B1)
【文献】LEE, S. et al.,Real-time rigid motion segmentation using grid-based optical flow,2017 IEEE International Conference on Systems, Man, and Cybernetics (SMC) [online],IEEE,2017年,pp. 1552-1557,[検索日 2023.01.23], インターネット,URL:https://ieeexplore.ieee.org/abstract/document/8122835
【文献】GUILMART, C. et al.,Context-driven moving object detection in aerial scenes with user input,2011 18th IEEE International Conference on Image Processing [online],IEEE,2011年,pp. 1781-1784,[検索日 2023.01.23], インターネット,URL:https://ieeexplore.ieee.org/abstract/document/6115807
【文献】JAIMEZ, M. et al.,Fast odometry and scene flow from RGB-D cameras based on geometric clustering,2017 IEEE International Conference on Robotics and Automation (ICRA) [online],IEEE,2017年,pp. 3992-3999,[検索日 2023.01.23], インターネット,URL:https://ieeexplore.ieee.org/abstract/document/7989459
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
G08G 1/16
G06T 1/00
H04N 7/18
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
自体運動推定方法において、
領域に区分される入力イメージに対して、前記領域のそれぞれに対する場面フローを指示する場面フローフィールドを生成するステップと、
前記場面フローフィールドに基づいて、前記領域をグループにクラスタリングするステップと、
前記グループに基づいて、前記領域のラベルに対する確率ベクトルマップを生成するステップと、
前記生成された確率ベクトルマップに基づいて、装置の自体運動情報を推定するステップと、
を含
み、前記クラスタリングするステップは、
前記領域のうち予め決定された個数の領域をランダムに選択するステップと、
前記ランダムに選択された領域のそれぞれに対する場面フローが互いに類似の場合に応答して、前記ランダムに選択された領域を基準領域に指定するステップであって、前記ランダムに選択された領域のそれぞれに対する場面フローが互いに類似しない場合に応答して、前記領域のうち予め決定された個数の領域を再びランダムに選択する、ステップと、
前記基準領域に基づいて前記領域をグループに分類するステップとを含む、自体運動推定方法。
【請求項2】
前記場面フローフィールドを生成するステップは、
前記領域のそれぞれに対して2次元動きを指示するモーションベクトル及び深度方向の動きを指示する深度ベクトルを算出するステップと、
前記モーションベクトル及び前記深度ベクトルに基づいて場面フローを算出するステップと、
を含む、請求項1に記載の自体運動推定方法。
【請求項3】
前記クラスタリングするステップは、前記領域のうち類似の場面フローを示す類似の領域を含むように前記グループの各グループを形成するステップを含む、請求項1又は2に記載の自体運動推定方法。
【請求項4】
前記類似の領域の場面フロー間の差が閾値差の未満である、請求項3に記載の自体運動推定方法。
【請求項5】
前記グループに分類するステップは、前記基準領域周辺の領域のうちから、前記基準領域の周辺領域のうち前記基準領域の代表場面フローに類似な場面フローを有する領域を前記基準領域と同じグループに決定するステップを含む、請求項
1に記載の自体運動推定方法。
【請求項6】
前記代表場面フローは、前記基準領域で場面フローの平均フローを含む、請求項
5に記載の自体運動推定方法。
【請求項7】
前記代表場面フローから空間の前記場面フローのベクトル差は閾値差の未満である、請求項
6に記載の自体運動推定方法。
【請求項8】
前記クラスタリングするステップは、前記領域がクラスタリングされた各グループに対してラベルをマッチングさせるステップを含む、請求項1-4のうち何れか一項に記載の自体運動推定方法。
【請求項9】
前記自体運動情報を推定するステップは、
前記確率ベクトルマップに基づいて静的背景を識別するステップと、
前記識別された静的背景に基づいて前記自体運動情報を算出するステップと、
を含む、請求項1-
8のうち何れか一項に記載の自体運動推定方法。
【請求項10】
前記静的背景を識別するステップは、前記確率ベクトルマップから最も高い確率を指示するラベルに基づいて、前記領域のうち静的背景を識別するステップを含む、請求項
9に記載の自体運動推定方法。
【請求項11】
自体運動推定方法において、
領域に区分される入力イメージに対して、前記領域のそれぞれに対する場面フローを指示する場面フローフィールドを生成するステップと、
前記場面フローフィールドに基づいて、前記領域をグループにクラスタリングするステップと、
前記グループに基づいて、前記領域のラベルに対する確率ベクトルマップを生成するステップと、
前記生成された確率ベクトルマップに基づいて、装置の自体運動情報を推定するステップと、
を含み、前記確率ベクトルマップを生成するステップは、前記領域がクラスタリングされた結果及び以前フレームの確率ベクトルマップに基づいて、現在フレームに対する確率ベクトルマップを算出するステップを含む
、自体運動推定方法。
【請求項12】
前記現在フレームに対する確率ベクトルマップを算出するステップは、
以前フレームから現在フレームまでの各領域の移動を指示する変換ベクトルマップに基づいて、前記以前フレームの確率ベクトルマップを補償することによって補償されたベクトルマップを生成するステップと、
前記補償されたベクトルマップ及び前記領域がクラスタリングされた結果に基づいて、前記現在フレームに対する確率ベクトルマップを算出するステップと、
を含む、請求項
11に記載の自体運動推定方法。
【請求項13】
前記変換ベクトルマップは、以前フレームに対して算出された場面フローを含む、請求項
12に記載の自体運動推定方法。
【請求項14】
前記入力イメージとしてチャネルイメージ及び深度イメージを取得するステップをさらに含み、
前記場面フローフィールドを生成するステップは、3次元場面フローを指示する場面フローフィールドを生成するステップを含む、請求項1-
13のうち何れか一項に記載の自体運動推定方法。
【請求項15】
前記チャネルイメージは、赤色チャネルイメージ、緑色チャネルイメージ、及び青色チャネルイメージのうちの1つ又は2以上の組合せを含む、請求項
14に記載の自体運動推定方法。
【請求項16】
前記入力イメージをグリッドパターンに基づいて前記領域に分割するステップをさらに含む、請求項1-
15のうち何れか一項に記載の自体運動推定方法。
【請求項17】
前記領域のそれぞれは、前記入力イメージに含まれたピクセルのうちから少なくとも1つのピクセルを含む、請求項1-
16のうち何れか一項に記載の自体運動推定方法。
【請求項18】
前記装置が動いていないとき
に取得される初期イメージで、静的な領域に対して静的背景に対応するラベルをマッチングさせるステップをさらに含む、請求項1-
17のうち何れか一項に記載の自体運動推定方法。
【請求項19】
請求項1乃至
18のいずれか一項に記載の自体運動推定方法を装置のコンピュータに実行させるコンピュータプログラム。
【請求項20】
自体運動推定装置において、
入力イメージを取得するイメージセンサと、
前記入力イメージを領域に区分し、前記領域のそれぞれに対する場面フローを指示する場面フローフィールドを生成し、前記場面フローフィールドに基づいて前記領域をグループにクラスタリングし、前記グループに基づいて前記領域のラベルに対する確率ベクトルマップを生成し、前記生成された確率ベクトルマップに基づいて装置の自体運動情報を推定するプロセッサと、
を含
み、前記プロセッサは、前記クラスタリングを行う場合に、
前記領域のうち予め決定された個数の領域をランダムに選択し、
前記ランダムに選択された領域のそれぞれに対する場面フローが互いに類似の場合に応答して、前記ランダムに選択された領域を基準領域に指定し、前記ランダムに選択された領域のそれぞれに対する場面フローが互いに類似しない場合に応答して、前記領域のうち予め決定された個数の領域を再びランダムに選択し、
前記基準領域に基づいて前記領域をグループに分類する、自体運動推定装置。
【請求項21】
自体運動推定方法において、
領域に分割された入力イメージに対して、前記領域のそれぞれに対する場面フローを指示する場面フローフィールドを生成するステップと、
閾値よりも小さいグループで領域の場面フロー間の差に基づいてグループに前記領域をクラスタリングするステップと、
前記グループに基づいて、前記領域のラベルに対する確率ベクトルマップを生成するステップと、
前記確率ベクトルマップに基づいて静的背景を識別するステップと、
前記静的背景に基づいて装置の自体運動情報を推定するステップと、
を含
み、前記クラスタリングするステップは、
前記領域のうち予め決定された個数の領域をランダムに選択するステップと、
前記ランダムに選択された領域のそれぞれに対する場面フローが互いに類似の場合に応答して、前記ランダムに選択された領域を基準領域に指定するステップであって、前記ランダムに選択された領域のそれぞれに対する場面フローが互いに類似しない場合に応答して、前記領域のうち予め決定された個数の領域を再びランダムに選択する、ステップと、
前記基準領域に基づいて前記領域をグループに分類するステップとを含む、自体運動推定方法。
【発明の詳細な説明】
【技術分野】
【0001】
以下、自体運動情報を推定する技術が提供される。
【背景技術】
【0002】
移動ロボット、ドローン、及び自律走行車両などのような装置は、オドメトリ(odometry)を用いて装置自体の相対的位置を認識できる。オドメトリは静的環境、すなわち、カメラ以外の動いている物体のない環境を仮定しているため、動的環境(カメラ以外の動いている物体が存在する環境)で動作する場合に姿勢推定が正確でないことが懸念される。
【0003】
例えば、自律走行車両が走行するとき周辺に歩行者や他の自動車が存在し得る。サービスロボットが動作するとき、サービスロボットの周辺に歩行者が存在し得る。したがって、自律走行車両などは、より正確なオドメトリ動作を行うために静的領域と動的領域とを区分する技術が求められている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
一実施形態に係る自体運動推定装置の目的は、移動オブジェクト及び静的背景とを区別してオドメトリを正確に行うことにある。
【0005】
一実施形態に係る自体運動推定装置の目的は、モーション空間分割及びモーション時間分割を用いて入力イメージからオブジェクト及び背景を区別することにある。
【課題を解決するための手段】
【0006】
一実施形態に係る自体運動推定方法は、領域(spaces)に区分される入力イメージに対して、前記領域のそれぞれに対する場面フローを指示する場面フローフィールドを生成するステップと、前記場面フローフィールドに基づいて、前記領域をグループにクラスタリングするステップと、前記グループに基づいて、前記領域のラベルに対する確率ベクトルマップを生成するステップと、前記生成された確率ベクトルマップに基づいて、装置の自体運動情報を推定するステップとを含む。
【0007】
前記場面フローフィールドを生成するステップは、前記領域のそれぞれに対して2次元動きを指示するモーションベクトル及び深度方向の動きを指示する深度ベクトルを算出するステップと、前記モーションベクトル及び前記深度ベクトルに基づいて場面フローを算出するステップとを含み得る。
【0008】
前記クラスタリングするステップは、前記領域のうち類似の場面フローを示す類似の領域を含むように前記グループの各グループを形成するステップを含み得る。
【0009】
前記類似の領域の場面フロー間の差が閾値差の未満であり得る。
【0010】
前記クラスタリングするステップは、前記領域のうち予め決定された個数の領域をランダムに選択するステップと、前記ランダムに選択された領域のそれぞれに対する場面フローが互いに類似の場合に応答して、前記ランダムに選択された領域を基準領域に指定するステップと、前記基準領域に基づいて前記領域をグループに分類するステップとを含み得る。
【0011】
前記クラスタリングするステップは、前記ランダムに選択された領域のそれぞれに対する場面フローが互いに類似しない場合に応答して、前記領域のうち予め決定された個数の領域を再びランダムに選択するステップをさらに含み得る。
【0012】
前記グループに分類するステップは、前記基準領域周辺の領域のうちから、前記基準領域の周辺領域のうち前記基準領域の代表場面フローに類似な場面フローを有する領域を前記基準領域と同じグループに決定するステップを含み得る。
【0013】
前記代表場面フローは、前記基準領域で場面フローの平均フローを含み得る。
【0014】
前記代表場面フローから空間の前記場面フローのベクトル差は閾値差の未満であり得る。
【0015】
前記クラスタリングするステップは、前記領域がクラスタリングされた各グループに対してラベルをマッチングさせるステップを含み得る。
【0016】
前記自体運動情報を推定するステップは、前記確率ベクトルマップに基づいて静的背景を識別するステップと、前記識別された静的背景に基づいて前記自体運動情報を算出するステップとを含み得る。
【0017】
前記静的背景を識別するステップは、前記確率ベクトルマップから最も高い確率を指示するラベルに基づいて、前記領域のうち静的背景を識別するステップを含み得る。
【0018】
前記確率ベクトルマップを生成するステップは、前記領域がクラスタリングされた結果及び以前フレームの確率ベクトルマップに基づいて、現在フレームに対する確率ベクトルマップを算出するステップを含み得る。
【0019】
前記現在フレームに対する確率ベクトルマップを算出するステップは、以前フレームから現在フレームまでの各領域の移動を指示する変換ベクトルマップに基づいて、前記以前フレームの確率ベクトルマップを補償することによって補償されたベクトルマップを生成するステップと、前記補償されたベクトルマップ及び前記領域がクラスタリングされた結果に基づいて、前記現在フレームに対する確率ベクトルマップを算出するステップとを含み得る。
【0020】
前記変換ベクトルマップは、以前フレームに対して算出された場面フローを含み得る。
【0021】
自体運動推定方法は、前記入力イメージとしてチャネルイメージ及び深度イメージを取得するステップをさらに含み、前記場面フローフィールドを生成するステップは、3次元場面フローを指示する場面フローフィールドを生成するステップを含み得る。
【0022】
前記チャネルイメージは、赤色チャネルイメージ、緑色チャネルイメージ、及び青色チャネルイメージのうちの1つ又は2以上の組合せを含み得る。
【0023】
自体運動推定方法は、前記入力イメージをグリッドパターンに基づいて前記領域に分割するステップをさらに含み得る。
【0024】
前記領域のそれぞれは、前記入力イメージに含まれたピクセルのうちから少なくとも1つのピクセルを含み得る。
【0025】
自体運動推定方法は、前記装置が動いていないとき取得される初期イメージで、静的な領域に対して静的背景に対応するラベルをマッチングさせるステップをさらに含み得る。
【0026】
一実施形態に係る自体運動推定装置は、入力イメージを取得するイメージセンサと、前記入力イメージを領域に区分し、前記領域のそれぞれに対する場面フローを指示する場面フローフィールドを生成し、前記場面フローフィールドに基づいて前記領域をグループにクラスタリングし、前記グループに基づいて前記領域のラベルに対する確率ベクトルマップを生成し、前記生成された確率ベクトルマップに基づいて装置の自体運動情報を推定するプロセッサとを含む。
【0027】
一実施形態に係る自体運動推定方法は、領域に分割された入力イメージに対して、前記領域のそれぞれに対する場面フローを指示する場面フローフィールドを生成するステップと、閾値よりも小さいグループで領域の場面フロー間の差に基づいてグループに前記領域をクラスタリングするステップと、前記グループに基づいて、前記領域のラベルに対する確率ベクトルマップを生成するステップと、前記確率ベクトルマップに基づいて静的背景を識別するステップと、前記静的背景に基づいて装置の自体運動情報を推定するステップとを含む。
【発明の効果】
【0028】
一実施形態に係る自体運動推定装置は、場面の流れに対するモーション空間分割及びモーション時間分割を用いて区別したオブジェクト及び背景を用いて、動的物体が存在する状況でも自分の位置を確実に推定することができる。
【0029】
一実施形態に係る自体運動推定装置は、正確に識別された静的背景を用いて自体運動情報を正確に推定することができる。
【0030】
一実施形態に係る自体運動推定装置は、より安全な走行経験を提供することができる。
【図面の簡単な説明】
【0031】
【
図1】一実施形態に係る自体運動情報推定システムを説明する図である。
【
図2】一実施形態に係る自体運動推定方法を説明するフローチャートである。
【
図3】一実施形態に係る自体運動情報推定の過程を説明する図である。
【
図4】一実施形態に係る入力イメージを説明する図である。
【
図5】一実施形態に係る場面フローフィールドを説明する図である。
【
図6】一実施形態に係るクラスタリング動作を説明する図である。
【
図7】一実施形態に係るラベリング動作を説明する図である。
【
図8】一実施形態に係る確率ベクトルマップを説明する図である。
【
図9】一実施形態に係る確率ベクトルマップをアップデートする動作を説明する図である。
【
図10】一実施形態に係る自体運動推定装置の構成を説明するブロック図である。
【発明を実施するための形態】
【0032】
下記で説明する実施形態は様々な変更が加えられることができる。特許出願の範囲がこのような実施形態によって制限も限定もされることはない。各図面に提示された同じ参照符号は同じ部材を示す。
【0033】
本明細書で開示されている特定の構造的又は機能的な説明は単に実施形態を説明するための目的として例示されたものであり、実施形態は様々な異なる形態で実施され、本明細書に説明された実施形態に限定されることはない。
【0034】
本明細書で用いた用語は、単に特定の実施形態を説明するために用いられるものであって、本発明を限定しようとする意図はない。単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを示すものであって、1つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【0035】
異なる定義がされない限り、技術的であるか又は科学的な用語を含むここで用いる全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈すべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【0036】
また、添付図面を参照して説明することにおいて、図面符号に関係なく同じ構成要素は同じ参照符号を付与し、これに対する重複する説明は省略する。実施形態の説明において関連する公知技術に対する具体的な説明が実施形態の要旨を不要に曖昧にすると判断される場合、その詳細な説明は省略する。
【0037】
図1は、一実施形態に係る自体運動情報推定システムを説明する図である。
【0038】
一実施形態によれば、自体運動推定装置110は、オドメトリを行う。オドメトリは、自体運動情報(ego motion information)を推定する動作を示す。自体運動情報は、装置自体の運動に関する情報であって、例えば、装置自体の相対的な動き、座標、及び姿勢を含む。オドメトリは、全てのオブジェクトが停止した静的な環境を仮定して実行され得るが、このような仮定は、車両や歩行者が存在する環境に対するオドメトリ動作の位置推定性能を低下させることがある。したがって、一般的な動的環境でカメラの位置を確実に推定するためには、自体運動推定装置110は、カメラの視野(FOV、field of view)内に示される互いに異なる動的オブジェクト及び背景を区別する必要がある。
【0039】
自体運動推定装置110は、オドメトリを正確に行うために移動オブジェクト180及び静的背景190を区別する。例えば、自体運動推定装置110は、入力イメージで静的背景190に識別された部分のみを用いて、自体運動情報を推定する。移動オブジェクト180は、任意の速度及び方向に移動するオブジェクトを示す。静的背景190は、停止した状態のオブジェクト、事物、又は、背景を示す。
【0040】
例えば、自体運動推定装置110は、入力イメージに対して算出された場面の流れ(scene flow)に対してモーション空間分割(Motion Spatial Segmentation)及びモーション時間分割(Motion Temporal Segmentation)を適用することで、入力イメージに示されるオブジェクト及び背景を区別し得る。一実施形態に係る自体運動推定装置110は、視野内で大きい部分を占めている動的物体についても確実に自分の位置を推定できる。
【0041】
図1は、自体運動推定装置110が走行車両に装着された例示を示している。自体運動推定装置110の前方には任意の移動オブジェクト180として他の車両が存在し、静的背景190として固定された事物が存在し得る。車両が走行する環境で固定された事物は、例えば、街灯、信号機、及び壁などであってもよい。自体運動推定装置110は、イメージセンサを介して周辺に対する入力イメージを取得する。例えば、自体運動推定装置110は、カラーイメージ及び深度イメージを取得する。自体運動推定装置110は、入力イメージから静的背景190を識別し、静的背景190に基づいて自体運動情報を正確に推定できる。したがって、自律走行車両において、自体運動推定装置110はより安全な走行を補助することができる。
【0042】
また、自体運動推定装置110は、正確に推定された自体運動情報に基づいて、ユーザに車両用AR(augmented reality)を現実感のあるように提供できる。
【0043】
図2は、一実施形態に係る自体運動推定方法を説明するフローチャートである。
【0044】
まず、ステップS210において、自体運動推定装置は、複数の領域(spaces)に区分される入力イメージに対して、複数の領域のそれぞれに対する場面フローを指示する場面フローフィールドを生成する。
【0045】
入力イメージは、イメージセンサによって取得されるイメージとして、複数の領域に区分される。例えば、入力イメージは、格子パターンに区分される領域を含んでもよく、格子間の個別領域は1つ以上のピクセルを含んでもよい。入力イメージが区分されるパターンはユーザによって予め指定され得るが、これに限定されることはない。
【0046】
入力イメージは、例えば、チャネルイメージ及び深度イメージを含む。チャネルイメージは平面的な情報を含むイメージであって、例えば、色イメージなどを含んでもよい。色イメージは、赤色チャネルイメージ、緑色チャネルイメージ、及び青色チャネルイメージを含んでもよい。色イメージに含まれたピクセルは、該当の色に対応する強度値を示す。深度イメージは、深度情報を含むイメージであって、ToF(time of flight)方式及び構造光(structured light)方式などに基づいて取得されたイメージを示す。本明細書では、入力イメージが3つの色チャネルイメージ及び1つの深度イメージを含む例示を主に説明するが、これに限定されることはない。
【0047】
場面フローは、イメージ内の一部が移動する3次元変位及び3次元方向を指示するベクトルを示す。例えば、任意の時間フレームに対して入力aイメージの1つの領域に対して算出された場面フローは、該当の時間フレームから次の時間フレームまで該当領域の3次元移動を指示する。場面フローは、該当の時間フレームから次の時間フレームまでの該当領域の2次元動きを示すモーションベクトル、及び該当領域の深度方向の動きを示す深度ベクトルから生成される。例えば、自体運動推定装置は、モーションベクトル及び深度ベクトルを関連づけることによって場面フローを決定し得る。
【0048】
場面フローフィールドは場面フローの集合であって、例えば、上述した入力イメージの複数領域のそれぞれに対して算出された場面フローの集合を示す。
【0049】
そして、ステップS220において、自体運動推定装置は、場面フローフィールドに基づいて、複数の領域を複数のグループにクラスタリングする。例えば、自体運動推定装置は、類似のモーションを有する領域どうしのグループを形成するよう、複数の領域をクラスタリングしてもよい。個別グループは、静的背景又は動的オブジェクトにラベリングされる。動的オブジェクトにラベリングされたグループは、入力イメージで類似のモーションを示す領域がクラスタ化されたものであるため、任意の剛体(rigid body)を示す。クラスタリング動作については、下記の
図6を参照して説明する。
【0050】
次に、ステップS230において、自体運動推定装置は、複数のグループに基づいて、複数の領域のラベルに対する確率ベクトルマップを生成する。確率ベクトルマップは、入力イメージが区分された領域に対して確率ベクトルがマッピングされたマップを示す。任意の領域にマッピングされた確率ベクトルは、該当領域が各ラベルに属する確率を示す。例えば、m個のラベルが前提となる場合、確率ベクトルは、該当領域がm個のラベルそれぞれに属する確率を指示する。確率ベクトルマップについては、下記の
図8を参照して説明する。
【0051】
そして、ステップS240において、自体運動推定装置は、生成された確率ベクトルマップに基づいて装置の自体運動情報を推定する。例えば、自体運動推定装置は、静的背景に基づいて自体運動情報を推定してもよい。
【0052】
一実施形態によれば、入力イメージは、n個の領域に区分される。ここで、nは1以上の整数であり得る。場面フローフィールドは、n個の領域それぞれに対する場面フローを含む。グループラベルは、n個の領域それぞれが属するグループを指示するラベルを含む。確率ベクトルマップは、n個の領域それぞれに対する確率ベクトルを含む。
【0053】
図3は、一実施形態に係る自体運動情報推定の過程を説明する図である。
【0054】
まず、ステップS301において、自体運動推定装置は、入力イメージを取得する。例えば、自体運動推定装置は、RGB-Dイメージの対を入力イメージとして取得する。RGB-Dイメージは、RGBイメージ及び深度イメージの対を示す。
【0055】
そして、ステップS310において、自体運動推定装置は、場面フローを算出する。例えば、自体運動推定装置は、入力イメージの複数の領域のそれぞれに対して2次元平面上の動きを示すモーションベクトル(例えば、2次元オプティカルフロー)及び深度方向の動きを示す深度ベクトルを算出する。自体運動推定装置は、モーションベクトル及び深度ベクトルを関連づけることにより場面フローを決定する。異なる例として、自体運動推定装置は、入力イメージの複数の領域のそれぞれに対して場面フローとして3次元オプティカルフローを算出する。
【0056】
次に、ステップS320において、自体運動推定装置は、モーション空間分割動作を行う。自体運動推定装置は、複数の領域を場面フローに基づいてクラスタリングする。一実施形態によれば、自体運動推定装置は、複数の領域のうち類似の場面フローを示す領域で複数のグループの各グループを形成する。例えば、自体運動推定装置は、ステップS321において基準領域を指定し、テップS322において、検証された基準領域に基づいて領域をグループに分類し、ステップS323において、グループがクラスタリングされた結果を生成する。したがって、自体運動推定装置は、3次元空間に対して推定された3次元場面フローのそれぞれが、どのような剛体に属するかを判断する。クラスタリング動作については、下記の
図6を参照して説明する。
【0057】
参考として、上述したクラスタリングの結果は、時間フレームに関係なく算出されたものであるため、以前時間フレームでAというラベルを有する剛体と判断された物体が、次の時間フレームでAではないBというラベルを有する剛体として判断されてもよい。したがって、剛体ラベルの一貫性を保持するための動作が求められる。
【0058】
剛体ラベルの一貫性を保持するために、自体運動推定装置はステップS330において、モーション時間分割動作を行う。例えば、自体運動推定装置は、ステップS331において、クラスタリングされた結果のそれぞれをラベリングし、ステップS333において、確率ベクトルマップを補償し、ステップS332において、確率ベクトルマップをアップデートする。G(k)は、k番目の時間フレームで各領域にラベリングされたグループラベルを示す。C(k-1)は、k-1番目の時間フレームの確率ベクトルマップにカメラ移動などが補償されたマップを示す。P(k)は、k番目の時間フレームの確率ベクトルマップを示す。このような確率ベクトルマップのアップデートは、下記の
図9を参照して説明する。
【0059】
そして、ステップS335において、自体運動推定装置は、静的背景を分割する。例えば、自体運動推定装置は、k番目の時間フレームに対する確率ベクトルマップP(k)に基づいて、入力イメージの領域のうち静的背景に対応する領域を識別する。例えば、自体運動推定装置は、確率ベクトルマップに基づいて静的背景を識別する。
【0060】
次に、ステップS340において、自体運動推定装置は、自体運動情報を推定する。例えば、自体運動推定装置は、識別された静的背景に基づいてカメラの動きを示す自体運動情報を算出する。
【0061】
図4は、一実施形態に係る入力イメージを説明する図である。
【0062】
入力イメージ400は、上述したようにチャネルイメージであってもよい。例えば、自体運動推定装置のイメージセンサは、外部を撮影することにより入力イメージ400を生成する。また、自体運動推定装置は、時間フレームごとに入力イメージ400を連続的に撮影する。入力イメージ400は、上述したように複数の領域に区分され、各領域に対して下記の
図5に示すように場面フローが推定され得る。
【0063】
図5は、一実施形態に係る場面フローフィールドを説明する図である。
【0064】
場面フローフィールド500は、上述したように、入力イメージの領域のそれぞれに対して推定された場面フローの集合を示す。各場面フローは、2次元動きを指示するモーションベクトル及び深度方向の動きを指示する深度ベクトルを含む。モーションベクトルは、例えば、オプティカルフローであってもよい。自体運動推定装置は、Lucas-Kanade法により複数の領域それぞれに対するモーションベクトルとしてオプティカルフローを算出する。自体運動推定装置は、オプティカルフローによって領域単位(space-wise)モーションを推定するが、これに限定されることなく、ピクセル単位(pixel-wise)モーションを追跡してもよい。
図5は、
図4に示された入力イメージの各領域に対する場面フローが推定された場面フローフィールド500を示すが、
図4に示す入力イメージに示された移動オブジェクト(例えば、写真)について算出された場面フローは、右側移動を指示する。
図5に示された場面フローフィールドは、説明の便宜のために場面フローが2次元移動方向のみに示されているが、場面フローは、該当領域の3次元移動方向及び3次元移動量を含んでもよい。
【0065】
一実施形態によれば、自体運動推定装置は、平面チャネルイメージ及び深度イメージを入力イメージとして利用するため、各領域(space)に対して3次元速度を推定できる。
【0066】
図6は、一実施形態に係るクラスタリング動作を説明する図である。
【0067】
図3を参照して上述したように、自体運動推定装置は、ステップS320において、入力イメージの各領域に対して算出された場面フローに基づいて、複数の領域を複数のグループにクラスタリングする。一実施形態によれば、自体運動推定装置は、複数の領域のうち類似の場面フローを示す領域で複数のグループの各グループを形成する。例えば、自体運動推定装置は、各グループ内に属する各領域の場面フロー間の差が閾値差の未満になるよう、複数の領域を複数のグループのうち一つのグループに決定する。2つの場面フロー間の差は、例えば、ユークリッド距離であるが、これに限定されることはない。
【0068】
まず、ステップS621において、自体運動推定装置は、複数の領域のうち予め決定された個数の領域651をランダムに選択する。予め決定された個数は、ユーザによって予め指定されるが、これに限定されることなく、設計に応じて変更され得る。
【0069】
そして、ステップS622において、自体運動推定装置は、ランダムに選択された領域のそれぞれに対する場面フローが互いに類似の場合に応答して、ランダムに選択された領域651を基準領域652として指定する。例えば、自体運動推定装置は、ランダムに選択された場面フロー間の差が閾値差の未満である場合に応答して、選択された領域651を基準領域652として決定する。
【0070】
ただし、自体運動推定装置は、ランダムに選択された領域のそれぞれに対する場面フローが互いに類似しない場合に応答して、複数の領域のうち予め決定された個数の領域651を再びランダムに選択する。例えば、自体運動推定装置は、選択された領域651に対する場面フローの差が閾値差以上である場合に応答して、領域を再び選択し得る。
【0071】
次に、ステップS623において、自体運動推定装置は、基準領域に基づいて複数の領域を複数のグループに分類する。例えば、自体運動推定装置は、基準領域の周辺領域のうち、基準領域の代表場面フローに類似の場面フローを有する領域を基準領域と同じグループ653に決定してもよい。基準領域の代表場面フローは、例えば、基準領域内の場面フローの平均フローであるが、これに限定されることはない。例えば、自体運動推定装置は、周辺領域のうち代表場面フロー間のベクトル差が閾値差の未満である場面フローを有する領域を基準領域と同じグループ653に追加する。
【0072】
そして、ステップS624において、自体運動推定装置は、クラスタリングされていない残りの領域についても上述したステップS621~S623を繰り返す。自体運動推定装置は、残りの領域についてもランダムに基準領域を選択する動作及び基準領域に基づいて該当グループを拡張する動作を行う。
【0073】
次に、ステップS625において、自体運動推定装置は、全領域に対するグループが指定されたクラスタリング結果を生成する。
【0074】
図7は、一実施形態に係るラベリング動作を説明する図である。
【0075】
一実施形態に係る自体運動推定装置は、クラスタリングが完了した複数の領域に対してラベルを決定する。自体運動推定装置は、複数の領域がクラスタリングされた各グループに対してラベルをマッチングさせる。
【0076】
例えば、
図7は、場面フローフィールド700が第1グループ710に属する領域及び第2グループ720に属する領域に分類された結果を示す。自体運動推定装置は、第1グループ710に対しては第1ラベル、第2グループ720に対しては第2ラベルをマッチングさせてもよい。自体運動推定装置は、以前時間フレームで第1グループ710が第1ラベルを指示した場合に応答して、現在時間フレームの第1グループ710についても第1ラベルをマッチングさせる。したがって、自体運動推定装置は、連続するフレームイメージに対して、各領域にマッチングされるラベルが連続性を有するようにラベリング動作を行うことができる。
【0077】
一実施形態によれば、自体運動推定装置は、装置が停止した間に取得される初期イメージで、静的な領域に対して静的背景に対応するラベルをマッチングさせ得る。自体運動推定装置は、初期動作時に静的背景を予め識別し得る。その後、自体運動推定装置は、上述したように以前時間フレームにおけるラベルに基づいて、現在時間フレームのラベルを領域にマッチングさせることで、場面フローにより移動した領域に対して一貫したラベルを指定できる。
【0078】
図8は、一実施形態に係る確率ベクトルマップを説明する図である。
【0079】
確率ベクトルマップ800は、上述したように複数の確率ベクトルを含むマップを示す。確率ベクトルマップ800は、入力イメージの複数の領域と同じ個数及び次元で配列された領域を含む。複数の確率ベクトルのそれぞれは、確率ベクトルマップ800の各領域に割り当てられる。
【0080】
確率ベクトル810は、上述したように該当領域が各ラベルに属する確率を示す。例えば、確率ベクトル810は、該当確率ベクトル810がマッピングされた領域がm個のラベルのそれぞれに属する確率を指示する。ここで、mは1以上の整数であってもよく、自体運動装置によって観測される最大個数であってもよい。確率ベクトル810が該当領域はi番目のラベルに属する確率が最も高いことを指示する場合、自体運動推定装置は、該当領域がi番目の物体を指示するものと決定する。ここで、iは1以上m以下の整数である。mはユーザによって決定されるが、これに限定されることはない。
【0081】
図8に示された確率ベクトルマップ800で、任意の領域801に対する確率ベクトル810は、1番目のラベルに対して最も高い確率を示す。自体運動推定装置は、
図8に示す確率ベクトルマップ800に基づいて、該当領域801が1番目のラベルに対応するオブジェクトを指示すると決定する。
【0082】
一実施形態によれば、自体運動推定装置は、確率ベクトルマップ800から最も高い確率を指示するラベルに基づいて、複数の領域のうち静的背景を識別する。例えば、自体運動推定装置は、各領域に対して最も高い確率のラベルを指定し、そのうちの静的背景に対応するラベルが指定された領域を静的背景に識別する。
【0083】
図9は、一実施形態に係る確率ベクトルマップをアップデートする動作を説明する図である。
【0084】
一実施形態に係る自体運動推定装置は、時間フレームごとに確率ベクトルマップをアップデートする。自体運動推定装置は、複数の領域がクラスタリングされた結果及び以前フレームの確率ベクトルマップに基づいて、現在フレームに対する確率ベクトルマップを算出する。例えば、自体運動推定装置は、k番目のフレームに対する確率ベクトルマップをアップデートする。
【0085】
まず、ステップS310において、自体運動推定装置は、k番目のフレームに対して取得された入力イメージI(k)から場面フローフィールドM(k)を算出する。そして、ステップS323において、自体運動推定装置は、場面フローフィールドM(k)をクラスタリングした結果、GwithoutLabel(k)を生成する。次に、ステップS331において、自体運動推定装置は、クラスタリング結果GwithoutLabel(k)にラベルをマッチングさせることで、ラベリングされたグループG(k)を算出する。
【0086】
また、ステップS333において、自体運動推定装置は、以前フレームから現在フレームまでの各領域の移動を指示する変換ベクトルマップT(k-1)に基づいて、以前フレームの確率ベクトルマップP(k-1)を補償することにより、補償されたベクトルマップC(k-1)を生成する。自体運動推定装置は、変換ベクトルマップT(k-1)により以前フレームの確率ベクトルマップP(k-1)の各領域に割り当てられたベクトルを移動させたり調整する。
【0087】
変換ベクトルマップT(k-1)は、複数の領域それぞれに変換ベクトルがマッピングされたマップを示す。変換ベクトルは、カメラ移動及び対象オブジェクトの移動などによって領域が移動しなければならない方向及び距離を示すベクトルを示す。自体運動推定装置は、以前フレームに対して算出された場面フローM(k-1)を変換ベクトルマップT(k-1)に決定するが、これに限定されることはない。例えば、変換ベクトルマップT(k-1)は、以前フレームイメージの領域及び現在フレームイメージの領域間の特徴マッチングによって生成されてもよい。
【0088】
ステップS332において、自体運動推定装置は、補償されたベクトルマップC(k-1)及び複数の領域がクラスタリングされた結果(例えば、ラベリングされたグループG(k))に基づいて、現在フレームに対する確率ベクトルマップP(k)を算出する。例えば、自体運動推定装置は、ラベリングされたグループG(k)の各領域のラベル及び補償されたベクトルマップC(k-1)の平均を現在フレームに対する確率ベクトルマップP(k)に決定する。ラベリングされたグループG(k)で各領域に割り当てられたベクトルは、複数のラベルのうちいずれか1つのラベルに対する確率が最大値1であり、残りのラベルに対する確率が0に設定されたベクトルである。例えば、補償されたベクトルマップC(k-1)の1つの領域に割り当てられたベクトルが[0.5、0.4、0.1]であり、ラベリングされたグループG(k)で該当領域に割り当てられたベクトルが[1、0、0]である場合、現在フレームに対する確率ベクトルマップP(k)で該当領域に対して算出されるベクトルは[0.75、0.2、0.05]である。ただし、これは説明の便宜のための例示であって、これに限定されることはない。
【0089】
自体運動推定装置は、フレームごとに上述した動作を繰り返すことで確率ベクトルマップP(k)を継続的にアップデートすることができる。
【0090】
図10は、一実施形態に係る自体運動推定装置1000の構成を説明するブロック図である。
【0091】
自体運動推定装置1000は、イメージセンサ1010、プロセッサ1020、及びディスプレこれを含む。
【0092】
イメージセンサ1010は入力イメージを取得する。イメージセンサ1010は、カラーセンサ及び深度センサなどを含む。イメージセンサ1010は、入力イメージとしてチャネルイメージ及び深度イメージを取得する。
【0093】
プロセッサ1020は、入力イメージを複数の領域に区分する。例えば、プロセッサ1020は、入力イメージをグリッドパターンに基づいて複数の領域に分割する。プロセッサ1020は、入力イメージに含まれた複数のピクセルのうちの1つ以上のピクセルを含むように複数の領域を形成する。
【0094】
プロセッサ1020は、複数の領域のそれぞれに対する場面フローを指示する場面フローフィールドを生成する。例えば、プロセッサ1020は、3次元動きを指示する場面フローに対する場面フローフィールドを生成する。
【0095】
プロセッサ1020は、場面フローフィールドに基づいて、複数の領域を複数のグループにクラスタリングする。プロセッサ1020は、複数のグループに基づいて、複数の領域のラベルに対する確率ベクトルマップを生成する。プロセッサ1020は、生成された確率ベクトルマップに基づいて、装置の自体運動情報を推定する。
【0096】
一実施形態に係る自体運動推定装置1000は、動的環境に強いモーション分類基盤のリアルタイム映像基盤の走行記録計で具現される。自体運動推定装置1000は、車両のECU(electronic control unit)又はVCU(vehicle control unit)、PC(personal computer)、データサーバ、又は、携帯型電子装置で提供されたり実施される。ここで説明された携帯型電子装置は、例えば、知能型エージェント、モバイルフォン、携帯電話、スマートフォン、ウェアラブルスマート装置(例えば、指輪、時計、メガネ、メガネタイプ装置、ブレスレット、アンクレット、ベルト、ネックレス、イヤリング、ヘアバンド、ヘルメット、服に内蔵されている装置、又はEGD(eye glass display))、ラップトップ、ノート型パソコン、サブノート型パソコン、ネットブック、UMPC(ultra mobile PC)、タブレットコンピュータ、ファブレット、MID(mobile internet device)、PDA(personal digital assistant)、EDA(enterprise digital assistant)、デジタルカメラ、デジタルビデオカメラ、携帯型ゲームコンソール、mp3プレーヤー、PMP(portable/personal multimedia player)、ハンドヘルドeブック、携帯型ラップトップPC、GPSナビゲーション、個人ナビゲーション装置、PND(portabl navigation device)、ハンドヘルドゲームコンソール、eブック、HDTV(high definition television)、スマート機器、通信システム、イメージ処理システム、グラフィック処理システム、ネットワークを介して制御されるIOT(Internet of Things)装置又は他のCE/IT(consumer electronics/information technology)装置を示す。また、自体運動推定装置1000は、車両のためのリアルタイム位置推定及び制御技術に直接的に適用され得る。
【0097】
ここで言及された車両は、輸送、配達、又は通信のうち任意のモードを示し、例えば、自動車、トラック、トラクター、スクーター、バイク、サイクル、水陸両用車、スノーモービル、船舶、公共輸送車両、バス、モノレール、汽車、トラム、自動又は無人走行車両、知能型車両、自律走行車両、無人航空機、電気車、ハイブリッドカー、及びドローンを示す。
【0098】
自体運動推定装置1000は、歩行者や車両などの動的物体のある環境で自分の位置を確実に推定できる。さらに、自体運動推定装置1000は、室内無人化技術の核心である映像基盤航法における限界点を改善する方法として、無人宇宙探査ロボット、飛行体、車両などに適用される。自体運動推定装置1000は、カメラセンサのみを用いてプラットフォームに制約されることなく適用することができる。
【0099】
一実施形態に係る自体運動推定装置1000は、複数のオブジェクトを区別することができ、移動オブジェクトに対する制約がなく、事前情報(prior information)がなくても静的な背景から移動オブジェクトを分離できる。さらに、自体運動推定装置1000は、演算負荷が少ない。
【0100】
以上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組み合せで具現される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、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)のような、他の処理構成も可能である。
【0101】
ソフトウェアはコンピュータプログラム、コード、命令、又はそのうちの一つ以上の組合せを含み、希望の通りに動作するよう処理装置を構成したり、独立的又は結合的に処理装置を命令することができる。ソフトウェア及び/又はデータは、処理装置によって解釈されたり処理装置に命令又はデータを提供するために、いずれかの類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、又は送信される信号波に永久的又は一時的に具体化することができる。ソフトウェアはネットワークに連結されたコンピュータシステム上に分散され、分散した方法で格納されたり実行され得る。ソフトウェア及びデータは一つ以上のコンピュータで読出し可能な記録媒体に格納され得る。
【0102】
本実施形態による方法は、様々なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組み合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD-ROM、DYIJDのような光記録媒体、フロプティカルディスクのような磁気-光媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明に示す動作を実行するために1つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【0103】
上述したように実施形態をたとえ限定された図面によって説明したが、当技術分野で通常の知識を有する者であれば、上記の説明に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順で実行されるし、及び/又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組み合わせられてもよいし、他の構成要素又は均等物によって置き換え又は置換されたとしても適切な結果を達成することができる。
【0104】
したがって、本発明の範囲は、開示された実施形態に限定されて定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【0105】
1000:自体運動推定装置
1010:イメージセンサ
1020:プロセッサ