(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-12
(54)【発明の名称】モデル注入を用いた点群データ拡張のためのシステム、および方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20240305BHJP
【FI】
G06T7/00 650B
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023557227
(86)(22)【出願日】2021-09-24
(85)【翻訳文提出日】2023-10-26
(86)【国際出願番号】 CN2021120153
(87)【国際公開番号】W WO2022193604
(87)【国際公開日】2022-09-22
(32)【優先日】2021-03-16
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】504161984
【氏名又は名称】ホアウェイ・テクノロジーズ・カンパニー・リミテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】レン、ユアン
(72)【発明者】
【氏名】タガビ、イーサン
(72)【発明者】
【氏名】リウ、ビンビン
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096AA09
5L096BA04
5L096CA18
5L096DA01
5L096DA02
5L096FA66
5L096FA67
5L096FA69
5L096KA04
(57)【要約】
機械学習モデルを訓練して点群セグメンテーションおよびオブジェクト検出を実行することを目的とする、モデル注入を用いた点群データ拡張のためのデバイス、システム、方法および媒体を説明する。表面モデルのライブラリが、LIDARにより生成される点群フレーム内の点群オブジェクトインスタンスから生成される。表面モデルは、目標フレーム内の任意の位置における目標点群フレームへ新しいオブジェクトインスタンスを注入して新しい拡張された点群データを生成するために用いられ得る。次に、拡張された点群データは、セグメンテーションおよび/またはオブジェクト検出タスクを実行すべく機械学習アルゴリズムを用いて訓練された機械学習モデルの精度を改善するための訓練データとして用いられ得る。
【特許請求の範囲】
【請求項1】
点群オブジェクトインスタンスを取得する段階;および
補間を用いて前記点群オブジェクトインスタンスをアップサンプリングして、表面モデルを生成する段階
を備える方法。
【請求項2】
前記点群オブジェクトインスタンスは、
センサ位置に対する前記点群オブジェクトインスタンスの向きを示す向き情報
を含む;および
前記点群オブジェクトインスタンス内の複数の点の各々について、
点強度情報;および
点位置情報
を含む;および
前記表面モデルは、前記点群オブジェクトインスタンスの前記向き情報、点強度情報および点位置情報を含む、
請求項1に記載の方法。
【請求項3】
前記点群オブジェクトインスタンスは、複数の走査線を含み、各走査線は、前記複数の点のサブセットを含む;および
前記点群オブジェクトインスタンスをアップサンプリングする段階は、線形補間を用いて、少なくとも1つの走査線に沿って複数の点を追加する段階を有する
請求項2に記載の方法。
【請求項4】
前記点群オブジェクトインスタンスをアップサンプリングする段階は、線形補間を用いて、前記複数の走査線のうちの少なくとも1対の走査線の間に複数の点を追加する段階をさらに有する、請求項3に記載の方法。
【請求項5】
線形補間を用いて点を追加する段階は、
2つの既存の点の前記点位置情報の線形補間に基づいて、前記追加された点に点位置情報を割り当てる段階;および
前記2つの既存の点の前記点強度情報の線形補間に基づいて、前記追加された点に点強度情報を割り当てる段階
を含む、
請求項4に記載の方法。
【請求項6】
目標点群フレームを取得する段階;
前記目標点群フレーム内のアンカー位置を決定する段階;
物体の表面モデルを取得する段階;
前記アンカー位置に基づいて前記表面モデルを変換して、変換された表面モデルを生成する段階;
前記変換された表面モデルの複数の走査線を生成する段階であって、各走査線は、前記目標点群フレームの複数の走査線と位置合わせされた複数の点を含む、生成する段階;および
前記変換された表面モデルの前記複数の走査線を前記目標点群フレームに追加して、拡張された点群フレームを生成する段階
を備える方法。
【請求項7】
前記表面モデルは、密な点群オブジェクトインスタンスを含む、請求項6に記載の方法。
【請求項8】
前記表面モデルを取得する段階は、
点群オブジェクトインスタンスを取得する段階;および
補間を用いて前記点群オブジェクトインスタンスをアップサンプリングして、前記表面モデルを生成する段階
を有する、
請求項7に記載の方法。
【請求項9】
前記表面モデルは、コンピュータ支援設計(CAD)モデルを含む、請求項6に記載の方法。
【請求項10】
前記表面モデルは、完全な密な点群オブジェクト走査を含む、請求項6に記載の方法。
【請求項11】
前記変換された表面モデルの影を決定する段階;
前記影内に位置する前記目標点群フレームの1つまたは複数の隠された点を識別する段階;および
前記拡張された点群フレームから前記複数の隠された点を除去する段階
をさらに備える、請求項6に記載の方法。
【請求項12】
前記変換された表面モデルの前記複数の走査線を生成する段階は、
2次元画素アレイを含む範囲画像を生成する段階、ここで、各画素は、前記目標点群フレームの点に対応する;
前記変換された表面モデルを前記範囲画像上へ投影する段階;および
前記範囲画像の各画素について、前記画素が前記変換された表面モデルの前記投影の少なくとも1つの点を含んでいるという判断に応答して、
前記画素の中心への前記変換された表面モデルの前記投影の最近傍点を識別する段階;および
前記最近傍点を前記走査線に追加する段階
を有する、
請求項7に記載の方法。
【請求項13】
前記表面モデルは、前記表面モデルのオブジェクトクラスを示すオブジェクトクラス情報を含む;
前記目標点群フレームは、前記目標点群フレームの領域のシーンタイプを示すシーンタイプ情報を含む;および
前記アンカー位置を決定する段階は、前記表面モデルが前記領域内に位置しているはずであるという、前記領域の前記シーンタイプおよび前記表面モデルの前記オブジェクトクラスに基づく判断に応答して、前記アンカー位置を前記領域内に位置決めする段階を有する
請求項6に記載の方法。
【請求項14】
前記アンカー位置に基づいて前記表面モデルを変換する段階は、
センサ位置に対する前記表面モデルの向きを維持しつつ、前記目標点群フレームの前記センサ位置により画定される軸を中心として前記表面モデルを表面モデル基準方向およびアンカーポイント方向の間で回転させる段階;および
前記表面モデルを基準距離およびアンカーポイント距離の間で変換する段階
を有する、
請求項6に記載の方法。
【請求項15】
前記拡張された点群フレームを用いて機械学習モデルを訓練する段階をさらに備える、請求項6に記載の方法。
【請求項16】
点群データを拡張するためのシステムであって、
プロセッサデバイス;および
前記プロセッサデバイスにより実行された場合、請求項1から14のいずれか一項に記載の方法を前記システムに実行させる機械実行可能命令を格納したメモリ
を備える、システム。
【請求項17】
コンピューティングシステムのプロセッサデバイスにより実行された場合、請求項1から14いずれか一項に記載の方法を前記コンピューティングシステムに実行させる機械実行可能命令を備えるコンピュータ可読媒体。
【請求項18】
コンピューティングシステムのプロセッサデバイスにより実行された場合、請求項1から14のいずれか一項に記載の方法を前記コンピューティングシステムに実行させる機械実行可能命令を備えるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本願は、出願済みの、「モデル注入を用いた点群データ拡張のためのデバイス、システム、方法および媒体」と題する米国特許出願第17/203,718号の優先権の利益を主張する。当該米国特許出願は、ここに、参照により、その全体が再現されるかのように組み込まれる。
【0002】
本願は、概して、機械学習のための点群データ拡張に関し、特に、モデル注入を用いた点群データ拡張のためのデバイス、システム、方法および媒体に関する。
【背景技術】
【0003】
光検出および測距(LIDAR、本明細書において、「LIDAR」または「LIDAR」とも称される)センサは、LIDARセンサにより走査される3次元(3D)環境(「シーン」とも呼ばれる)を表す点群データを生成する。LIDARセンサの単一の走査パスは、LIDARセンサが1回の走査パスを実行するのにかかる時間を表す期間内に、空間内の1つまたは複数の点から光が反射される複数の点のセットから成る点群データの「フレーム」(以下、「点群フレーム」と称される)を生成する。回転走査式LIDARセンサなど、いくつかのLIDARセンサは、円弧の光を発するレーザアレイを含み、LIDARセンサは、単一の位置を中心として回転して、点群フレームを生成する;ソリッドステートLIDARセンサなど、他のLIDARセンサは、1つまたは複数の位置から光を発し、かつ、各位置から検出される反射光を共に統合して点群フレームを形成するレーザアレイを含む。レーザアレイ内の各レーザは、走査パス毎に複数の点を生成するために用いられ、点群フレーム内の各点は、環境における空間内のある点においてレーザが発する光を反射する物体に対応する。各点は、典型的には、空間座標(X,Y,Z)のセット、および、強度(すなわち、レーザを反射する物体の反射率)などの値を示す他のデータとして格納される。いくつかの実装において、他のデータは、値のアレイとして表され得る。走査回転式LIDARセンサにおいて、点群フレームのZ軸は、典型的には、ほとんどの事例において各レーザの方位角方向におおよそ直交するLIDARセンサの回転軸により画定される(しかしながら、いくつかのLIDARセンサは、レーザのいくつかに、回転軸に直交する平面に対してわずかに上または下へ角度を付け得る)。
【0004】
点群データフレームも、高精細度レーダまたは深度カメラなど、他の走査技術により生成されてよく、理論上は、電磁または音波エネルギーなどのエネルギーの走査ビームを用いたあらゆる技術が、点群フレームを生成するために用いられ得る。LIDARセンサを参照して例を本明細書において説明するが、点群フレームを生成する他のセンサ技術がいくつかの実施形態において用いられ得ることが理解されるであろう。
【0005】
LIDARセンサは、自律走行車両を取り囲む環境(すなわち、シーン)を検知するために自律走行車両において用いられるプライマリセンサのうちの1つである。自律走行車両は概して、自動運転システム(ADS)または先進運転支援システム(ADAS)を含む。ADSまたはADASは、点群フレームを処理して、自律走行車両の位置特定、自律走行車両の経路計画、自律走行車両の動き計画または自律走行車両の軌道生成のためにADSまたはADASに他のサブシステムにより使用可能な予測を生成する知覚サブモジュールを含む。しかしながら、疎であり、かつ、順序付けられていないという点群フレームの性質が原因で、点レベルでの点群フレームの収集およびラベル付けのコストは、時間がかかり、かつ、高価である。点群フレーム内の複数の点は、点群フレーム内の複数の点の集合がオブジェクトクラス(例えば、「歩行者」または「オートバイ」)またはオブジェクトクラス(例えば、「歩行者♯3」)のインスタンスでラベル付けされ得るように、(例えば、オブジェクト検出、セマンティックセグメンテーション、インスタンスセグメンテーションまたはパノラマセグメンテーションを用いて)クラスタ化、セグメント化またはグループ化されなければならず、これらのラベルは、オブジェクト検出または様々なタイプのセグメンテーションなど、点群フレームに対する予測タスクについてモデルを訓練するために機械学習において用いられる。この煩雑なラベル付けプロセスにより、機械学習を用いた点群フレームに対する予測タスクのために高精度モデルを訓練するのに必要である、様々な道路および交通シーンを表すラベル付けされた点群フレームの利用可能性が限定される結果となってきた。
【0006】
セグメンテーションおよび異議検出などの予測タスクについて機械学習を用いてモデルを訓練するために用いられる点群フレームを含むそのようなラベル付けされた点群データセットの例は、SemanticKITTIデータセット(Behley et al., "SemanticKITTI: A Dataset for Semantic Scene Understanding of LiDAR Sequences," 2019 IEEE/CVF International Conference on Computer Vision (ICCV), Seoul, Korea (South), 2019, pp. 9296-9306, doi: 10.1109/ICCV.2019.00939により説明されている)、KITTI360(J. Xie, M. Kiefel, M. Sun and A. Geiger, "Semantic Instance Annotation of Street Scenes by 3D to 2D Label Transfer," 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, NV, USA, 2016, pp. 3688-3697, doi: 10.1109/CVPR.2016.401.により説明される)および Nuscenes-lidarseg(H. Caesar et al., "nuScenes: A Multimodal Dataset for Autonomous Driving," 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Seattle, WA, USA, 2020, pp. 11618-11628, doi: 10.1109/CVPR42600.2020.01164.により説明されている)であり、セマンティック情報を含む唯一の利用可能な点群データセット、すなわち、セグメンテーションまたはオブジェクト検出など、点群フレームに対する予測タスクについてモデルを訓練するためのセマンティック情報でラベル付けされた点群フレームであってよい。
【0007】
しかしながら、これらの利用可能な点群データセットは概して、特定のオブジェクトクラスからの物体を含む十分な点群フレームを含んでおらず、そのような物体を含む点群フレームのセットは、そのような各オブジェクトクラス内の物体のインスタンス(「オブジェクトインスタンス」)の多様性が欠如していることを示す。点群データセット内に現れる、数が限られたオブジェクトクラスは、本明細書において、不利なクラスと称され得る。既存の点群データセット内の不利なクラスは、典型的には、歩行者、自転車、自転車乗用者、オートバイ、モーターサイクリスト、トラックおよび他のタイプの車両など、小さなより一般的ではないタイプの物体である。
【0008】
不利なクラスは、2つの問題のいずれかまたは両方を引き起こし得る。第1の問題は、環境またはコンテキストの多様性が欠如していることから生じる。不利なクラスのオブジェクトインスタンスが点群データセット内の少数の点群フレームのみに現れる場合において、不利なクラスのオブジェクトインスタンスが点群データセットに現れる点群フレームとは異なる環境にオブジェクトインスタンスが現れるときは、点群フレームに対する予測タスク(オブジェクト検出または様々なタイプのセグメンテーションなど)について訓練されたモデル(例えば、ディープニューラルネットワークモデル)は、不利なクラス(すなわち、不利なクラスの物体に対応する点群)のオブジェクトインスタンスの認識を学習しないことがある。例えば、点群データセット内の点群フレームが、駐車場に対応する点群フレーム内の「モーターサイクリスト」(すなわち、不利なクラス「モーターサイクリスト」)のオブジェクトインスタンスのみを含む場合、このモデルは、道路環境内のモーターサイクリストを識別できないことがある。第2の問題は、オブジェクトインスタンスの多様性が欠如していることから生じる。不利なクラスのオブジェクトインスタンスが点群データセット内に非常に少ない数で現れる場合、オブジェクトインスタンスの多様性自体を保証できない。例えば、点群データセット内の点群フレームが、スポーツバイクに乗っているモーターサイクリスト(すなわち、不利なクラス「モーターサイクリスト」)のオブジェクトインスタンスのみを含む場合、このモデルは、スクータに乗っているモーターサイクリストを識別できないことがある。
【0009】
従来、点群フレームに対する予測タスク(セグメンテーションおよびオブジェクト検出など)についてモデルを訓練するために不利なクラスがある疎な点群データセットを用いる問題は、データ拡張を通じて対処されている。データ拡張は、点群フレームに対する予測タスクについてのモデルの訓練の改善を支援できる任意の技術を用いて既存のラベル付けされた点群データセットから新しい訓練サンプル(例えば、新しい意味論的にラベル付けされた点群フレーム)を生成して、より高いモデル精度(すなわち、より良い予測を生成するモデル)を実現するためのプロセスとみなされ得る。上記で特定されている環境多様性問題は、典型的には、1つの点群フレームから物体を抽出し、抽出された物体を他の点群フレームへ注入して、不利なクラスのオブジェクトインスタンスを含む追加の点群フレームを生成することを伴う方法により対処され、この方法は、モデルをさらに訓練するために用いられ得る。オブジェクトインスタンスが注入される点群フレームは、異なる環境に対応し得るので、他の環境における不利なクラスのオブジェクトインスタンスの認識の学習においてモデルを支援し得る。そのような技術の例は、Yan Yan, Yuxing Mao, Bo Li, "SECOND: Sparsely Embedded Convolutional Detection", Sensors 2018, 18(10), 3337; https://doi.org/10.3390/s18103337; Alex H. Lang, Sourabh Vora, Holger Caesar, Lubing Zhou, Jiong Yang, Oscar Beijbom, "PointPillars: Fast Encoders for Object Detection from Point Clouds", https://arxiv.org/abs/1812.05784; and Yin Zhou, Oncel Tuzel, "VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection", https://arxiv.org/abs/1711.06396を含む。データ拡張に対するこれらの既存のアプローチは、典型的には、以下の方式で進む。つまり、まず、オブジェクトインスタンスの周囲の境界ボックスで注釈が付けされた点群フレームからクラスタ(すなわち、物体の点群)を抽出することにより、オブジェクトインスタンスのデータベースが生成される。2番目に、オブジェクトインスタンスは、データベースからランダムに選ばれ、選ばれたオブジェクトインスタンスは、他の点群フレーム内の同様の位置へ注入される。最終的に、物体位置の競合(例えば、オブジェクトインスタンスが注入される目標点群フレーム内の別の物体との空間内の重複)を回避するために、衝突試験が実装される。点群フレームから抽出されたオブジェクトインスタンスは通常、LIDARセンサの指向性に起因して半分側である。したがって、LIDARセンサに面する表面を複数の点が画定することなくオブジェクトインスタンスのこの側を回避すべく、オブジェクトインスタンスの注入中、オブジェクトインスタンスの元の位置および姿勢を著しく変更することはできない。これらの既存のアプローチにより、点群フレーム毎の不利なクラスのオブジェクトインスタンスの数が増えることがあり、異なる環境に存在するオブジェクトインスタンスがシミュレートされる。
【0010】
しかしながら、環境多様性問題の解決に対するこれらの既存のアプローチには、典型的には、3つの制限がある。まず、これらは、注入されたオブジェクトインスタンスの表面上に妥当な走査線を生成できず、現実的な物体影(すなわち、注入されたオブジェクトインスタンスの背後に位置するシーン内に他の物体のオクルージョン)を生成することもできない。2番目に、注入されたオブジェクトインスタンスの位置および姿勢は、2つの点群フレーム(すなわち、オブジェクトインスタンスが現れる元の点群フレーム、および、オブジェクトインスタンスが注入される目標点群フレーム)内で必ず同一またはほぼ同一である。3番目に、これらの既存のアプローチは、オブジェクトインスタンスが異なる環境に現れるコンテキストを無視する。例えば、人は通常、歩道に現れるが、このコンテキストは、環境多様性への対処についての既存のアプローチでは考慮されない。さらに、オブジェクトインスタンスが、典型的には、LIDARセンサに対して同じ向きおよび位置で現れなければならないので、これらのアプローチは、コンテキストにおいて最も意味をなすであろう位置または向きでオブジェクトインスタンスが目標点群フレームへ注入されることを許容しない;例えば、目標点群フレームの全体が、LIDARセンサから20メートルだけ離れて延びる小さい駐車場を除いて歩道および建物から成っており、かつ、注入されているオブジェクトインスタンスが、元の点群フレーム内でLIDARセンサから50メートル離れて位置するトラックである場合、コンテキストにおいて意味を成すであろう位置で目標点群フレームへオブジェクトインスタンスを注入することはできない。
【0011】
オブジェクトインスタンス多様性問題は、典型的には、2つの異なるアプローチを用いて対処されてきた。第1のアプローチは、点群フレーム内の空間位置へ物体のコンピュータ支援設計(CAD)モデルを位置決めし、次に、物体のCADモデル、および目標点群フレームのLIDARパラメータ(例えば、LIDARセンサの装着姿勢、およびLIDARセンサのレーザが発する各光線のピッチ角)を用いることにより各物体を表す複数の点を生成することを伴う。第1のアプローチの例は、Jin Fang , Feilong Yan, Tongtong Zhao, Feihu Zhang, "Simulating LIDAR Point Cloud for Autonomous Driving using Real-world Scenes and Traffic Flows"; and Sivabalan Manivasagam, Shenlong Wang, Kelvin Wong, Wenyuan Zeng, Mikita Sazanovich, Shuhan Tan, Bin Yang, Wei-Chiu Ma, Raquel Urtasun, "LiDARsim: Realistic LiDAR Simulation by Leveraging the Real World"を含む。
【0012】
第1のアプローチの例は、いかなる制限もなく、物体のCADモデルを回転させ変換し、妥当な走査線および影を生成することを可能にし得る。環境多様性に対処するための上述のオブジェクトインスタンス注入アプローチとは対照的に、位置および姿勢の制約なく、注入中、コンテキストが考慮され得る。しかしながら、CADモデルベースのアプローチには、典型的には、3つの制限がある。まず、CADモデルは通常、GTAV(Xiangyu Yue, Bichen Wu, Sanjit A. Seshia, Kurt Keutzer, Alberto L. Sangiovanni-Vincentelli, A LiDAR Point Cloud Generator: from a Virtual World to Autonomous Driving, arXiv:1804.00103において説明されている)またはCARLA(Alexey Dosovitskiy, German Ros, Felipe Codevilla, Antonio Lopez, Vladlen Koltun, CARLA: An Open Urban Driving Simulator, arXiv:1711.03938において説明されている)、など、LIDARシミュレータから取得され、または、3Dモデルウェブサイトから購入される。これらの情報源から利用可能な物体のCADモデルの多様性は、典型的には、非常に制限されている。2番目に、物体の利用可能なCADモデルのスタイルは、それらがおそらくは対応する現実の物体とは異なり得る。例えば、ヨーロッパのトラックのCADモデルは、北米の道路環境に対応する点群フレームへ注入される場合、そのようなスタイルを有するトラックが、物体のCADモデルが認識およびナビゲートを訓練されている環境には実際に存在していないにもかかわらず、非常に現実的に見え得る。3番目に、物体のCADモデルは、注入されたオブジェクトインスタンスの正確な強度値を提供できない。物体の表面上の点の強度は、レーザが発する光線および光線を反射する表面の間の角度ならびに光線を反射する材料の反射率の関数である。しかしながら、物体の最も利用可能なCADモデルは、モデルの表面材料の反射率に関するいかなる情報も提供しない。
【0013】
オブジェクトインスタンス多様性問題への対処についての第2のアプローチは、WaymoTM at https://blog.waymo.com/2020/04/using-automated-data-augmentation-to.htmlにより概説されている。物体のCADモデルを用いて新しいオブジェクトインスタンスを点群フレームへ注入する代わりに、物体の密で完全な点群走査が、新しいオブジェクトインスタンスを目標点群フレームへ注入するために用いられる。物体の密で完全な点群走査の利点は、物体のCADモデルのものと同様であり、これらのCADモデルは、注入中、いかなる制限もなく回転および変換でき、妥当な走査線および影を生成することもできる。物体の注入された点群走査の多様性は、グラウンドトゥルース拡張(すなわち、同じ物体の2つまたはそれよりも多くのオブジェクトインスタンスを共に追加すること)、ランダムフリップ(すなわち、例えば水平方向にオブジェクトインスタンスを反転させること)、ワールドスケーリング(すなわち、オブジェクトインスタンスのサイズをスケーリングすること)、グローバル変換ノイズ(すなわち、オブジェクトインスタンスを異なる位置へ変換すること)、円錐台ドロップアウト(すなわち、例えば部分的なオクルージョンをシミュレートするために、オブジェクトインスタンスの見える表面の領域を削除すること)、円錐台ノイズ(すなわち、例えばわずかに異なる表面をシミュレートするために、オブジェクトインスタンスの複数の点の位置をランダムに乱すこと)、ランダム回転(すなわち、軸を中心としたオブジェクトインスタンスの回転)およびランダムドロップポイント(すなわち、例えばより低い解像度での走査をシミュレートするために、オブジェクトインスタンスの複数の点のランダムに選択されたサブセットを削除すること)という8つの異なるデータ拡張方法を用いて上げられ得る。
【0014】
しかしながら、密な点群オブジェクト走査を用いて新しいオブジェクトインスタンスを目標点群フレームへ注入することにも、多数の制限がある。まず、物体の密で完全な点群走査は、このアプローチを実装する必要がある。対照的に、LIDARにより生成される点群フレーム内のオブジェクトインスタンスは通常、疎かつ半分側である。したがって、このアプローチが実装され得る前に、慎重、密かつ完全に走査された物体の大きいデータセットがアセンブルされる必要があるだろう。2番目に、半分側走査に基づいて物体の完全な点群走査を生成するために、物体対称性が用いられることが多い。しかしながら、歩行者、モーターサイクリストおよび自転車乗用者など、道路環境または他の環境において遭遇する多くの小さい物体は、対称ではない。したがって、対称性に依存して、物体の密な半走査を有する点群フレームを含む既存の点群データセットから外挿することだけでは、物体の点群走査の大きいデータベースをアセンブルする必要性に対処できない。3番目に、物体の密な点群走査は通常、物体の完全な点群走査を撮像すべく異なる地点から撮像されるので、物体の密な点群走査の強度は、正確ではないことがある。例えば、物体の完全な密な走査を生成すべく、3Dスキャナが、少なくとも1つの方向において物体を中心として回転させられ得る;これが複数の方向からの同じ点の走査をもたらすことにより、その点の競合する強度測定値が生成され、異なる走査方向に対する、かつ、したがって、互いに一致しない異なる複数の点の強度測定値が生成される。
【0015】
したがって、上述の既存のアプローチの制限のうちの1つまたは複数を克服した点群データセットのためのデータ拡張技術の必要性が存在する。
【発明の概要】
【0016】
本開示は、セグメンテーションまたはオブジェクト検出など、点群フレームに対する予測タスクについて機械学習モデルを訓練することを目的とする、モデル注入を用いた点群データ拡張のためのデバイス、システム、方法および媒体を説明する。本明細書において説明される例示的なデバイス、システム、方法および媒体は、新しい点群オブジェクトインスタンスを目標点群フレーム内の任意の位置における目標点群フレームへ注入して新しい拡張された点群フレームを生成するために用いられ得る表面モデルのライブラリを生成し得る。次に、拡張された点群フレームは、点群フレームに対する予測タスクについて訓練された機械学習モデル(すなわち、機械学習アルゴリズムおよび元の点群データセットを用いて訓練された機械学習モデル)の精度を改善するための訓練データとして用いられ得る。
【0017】
本開示において、「LIDAR」(「LiDAR」または「Lidar」とも)という用語は、センサがレーザビームを発し、位置、および潜在的には、周囲環境において光を反射する物体からを他の特徴を収集する検知技術である、光検出および測距を指す。
【0018】
本開示において、「点群オブジェクトインスタンス」、または単に、「オブジェクトインスタンス」または「インスタンス」という用語は、単一の物体として定義され得る、自動車、家または歩行者など、単一の定義可能な物体の点群を指す。例えば、典型的には、道路は、オブジェクトインスタンスにはなり得ない;代わりに、道路は、フレームのシーンタイプまたは領域を定義するものとして点群フレーム内で定義され得る。
【0019】
本開示において、「注入」という用語は、点群オブジェクトインスタンスを点群フレームに追加するプロセスを指す。「フレーム」という用語は、別段の記載がない限り、点群フレームを指す;「元の」フレームは、「目標」フレームへの注入のために抽出され得るラベル付けされた点群オブジェクトインスタンスを含むフレームである;ひとたびオブジェクトインスタンスが目標フレームへ注入されると、目標フレームは、「拡張された」フレームと称されることがあり、拡張されたフレームが追加された点群データの任意のデータセットは、「拡張された点群データ」、または単に、「拡張されたデータ」と称されることがある。「注釈」および「ラベル」という用語は、点群フレームまたはそれらの領域にアタッチされたシーンタイプラベルまたは点群フレーム内のオブジェクトインスタンスにアタッチされたオブジェクトクラスラベルなど、点群データとのセマンティックデータの関連付けを示すように同じ意味で用いられている。
【0020】
本開示において、「完全な点群オブジェクト走査」は、物体の複数の表面が点群で表されるように、1つよりも多くの位置から走査された物体に対応する点群を指す。「密な」点群は、表面の面積単位毎の点の数が比較的多い、物体の1つまたは複数の表面に対応する点群を指す。「表面モデル」は、物体の1つまたは複数の表面の3次元モデルを指す;表面は、多角形、点、テクスチャマッピング、および/または3次元表面を表す任意の他の手段として表され得る。
【0021】
本明細書において説明される例示的なデバイス、システム、方法および媒体は、元の点群データセット(すなわち、ラベル付けされた点群フレームのデータセット)内の不利なクラスを強化し得る。表面モデルは、点レベルラベルを有する点群フレーム(例えば、意味論的にセグメント化された点群フレーム)から導出される。元の点群フレーム内のセマンティックラベルでラベル付けされたオブジェクトインスタンスは、不完全(半分側)かつ疎であってよい。しかしながら、本明細書において説明される方法およびシステムは、元の点群フレーム内の不完全で疎なオブジェクトインスタンスから、密な半分側点群オブジェクトインスタンスを導出し得る。これらの密な点群オブジェクトインスタンスは、新しい点群オブジェクトインスタンスを目標フレームへ注入するための表面モデルとして用いられ得る。
【0022】
本明細書において説明される例示的なデバイス、システム、方法および媒体は、オブジェクトインスタンス多様性問題への対処を試みる既存のアプローチでのように物体のCADモデルまたは物体の完全な密な点群走査を用いて新しい点群オブジェクトインスタンスを目標点群フレームへ注入するのではなく、LIDARセンサにより生成される実際の点群フレームから導出される点群オブジェクトインスタンスを注入する;しかしながら、説明されている方法およびシステムを活用して、物体のCADモデルまたは密で完全な点群オブジェクト走査を用いて点群オブジェクトインスタンスを注入することもできる。注入された点群オブジェクトインスタンスは、目標点群フレームを生成するために用いられる異なるタイプのLIDARセンサから受信される点群フレームから取得され得る(例えば、元の点群フレームおよび目標点群フレームを生成するために用いられるLIDARセンサのレーザアレイの範囲および走査線構成は、同じである必要はない)。本明細書において説明される例示的な方法およびシステムを用いて生成される注入された点群オブジェクトインスタンスは、表面における妥当な走査線(例えば、現実の方向、密度および強度)、および現実の影を有する。概して、本明細書において説明される例示的な方法およびシステムを用いて生成される拡張された点群フレームは、LIDARセンサにより生成される現実の点群フレームと非常に類似し得る。
【0023】
本明細書において説明される例示的な方法およびシステムは、コンテキストを用いて、生成済みの拡張された点群フレームの現実感および有用性をさらに改善するように構成され得る。注入された点群オブジェクトインスタンスのオブジェクトクラス、数、位置および分布は、パラメータを用いて完全に制御され得る。例えば、本明細書において説明される例示的な方法およびシステムが、5人を目標点群フレームへ注入するよう命令された場合、分布を用いて5つの点群オブジェクトインスタンスが注入され得る。各点群オブジェクトインスタンスには、歩道上に位置している確率が90%あり、道路上に位置している確率が10%ある。
【0024】
本明細書において説明される例示的な方法およびシステムは、以下の一連の動作を実行して、点群データフレームまたは点群データセットを拡張し得る。まず、LIDARセンサにより生成され、かつ、点レベルラベルで注釈が付けられた既存の点群フレームを含む点群データセットを処理することにより、表面モデルのライブラリが生成される。ライブラリ生成プロセスは、元の点群フレームからオブジェクトインスタンスを抽出するためのオブジェクト抽出およびクラスタ化に続き、抽出された点群オブジェクトインスタンスから高密度点群オブジェクトインスタンスを導出するための方位角-仰角面に対する点群アップサンプリングを伴い得る。2番目に、ライブラリから選択される点群オブジェクトインスタンスは、拡張された点群フレームを生成するために、目標点群フレームへ注入される。注入プロセスは、点群オブジェクトインスタンスが注入され得る目標点群フレーム内の位置を決定するためのアンカーポイント選択、表面モデルを目標点群フレーム内に位置付けるためのオブジェクト注入、および、表面モデルをダウンサンプリングして目標点群フレーム内のアンカー位置におけるLIDARセンサの走査線をシミュレートし、目標点群フレーム内の他の点群オブジェクトを隠す影を生成するための走査線および影生成を伴い得る。
【0025】
本明細書において説明される方法およびシステムのいくつかの例は、既存のアプローチに対する利点を示し得る。表面モデルのライブラリは、ラベル付けされた点群フレームから直接取得され得るが、物体のCADモデルおよび密な点群オブジェクト走査を用いてポピュレートされてもよく、本明細書において説明される注入技術の利点を依然として利用してよい。目標点群フレームの表面モデルは、異なるタイプのLIDARセンサにより生成される点群フレームから取得され得る。例えば、32ビームLIDARセンサにより生成される点群フレームから抽出される点群オブジェクトインスタンスは、64ビームLIDARセンサにより生成される目標点群フレームへ挿入され得る。注入された点群オブジェクトインスタンスの走査線特性(密度、方向および強度を含む)、および注入された点群オブジェクトインスタンスが投げる影は、現実的にシミュレートされる。注入された点群オブジェクトインスタンスのタイプ、数および注入位置(すなわち、アンカー位置)は、パラメータにより制御され得る。点群フレームのラベル付け時間(すなわち、複数の点をラベル付けするための時間)は、実質的に低減され得る。なぜなら、元の点群フレーム内の対象オブジェクトのみが、高密度点群オブジェクトインスタンスのライブラリをポピュレートするために用いられ、目標点群フレームへ注入される前に、ラベル付けされる必要があるからである;元の点群フレーム内の全ての点をラベル付けする必要はないことがある。
【0026】
いくつかの態様において、本開示は、方法を説明する。点群オブジェクトインスタンスが取得される。点群オブジェクトインスタンスは、表面モデルを生成するために、補間を用いてアップサンプリングされる。
【0027】
いくつかの態様において、本開示は、点群データを拡張するためのシステムを説明する。システムは、プロセッサデバイスおよびメモリを備える。メモリは、点群オブジェクトインスタンス、目標点群フレームおよび機械実行可能命令を格納する。機械実行可能命令は、プロセッサデバイスにより実行された場合、多数の動作をシステムに実行させる。点群オブジェクトインスタンスは、表面モデルを生成するために、補間を用いてアップサンプリングされる。アンカー位置は、目標点群フレーム内で決定される。表面モデルは、変換された表面モデルを生成するために、アンカー位置に基づいて変換される。変換された表面モデルの複数の走査線が生成され、各走査線は、目標点群フレームの複数の走査線と位置合わせされた複数の点を含む。変換された表面モデルの複数の走査線は、拡張された点群フレームを生成するために、目標点群フレームに追加される。
【0028】
方法およびシステムのいくつかの例において、点群オブジェクトインスタンスは、センサ位置に対する点群オブジェクトインスタンスの向きを示す向き情報を含み得る。点群オブジェクトインスタンスは、点群オブジェクトインスタンス内の複数の点の各々について、点強度情報および点位置情報をさらに含む。表面モデルは、点群オブジェクトインスタンスの向き情報、点強度情報および点位置情報を含む。
【0029】
方法およびシステムのいくつかの例において、点群オブジェクトインスタンスは、複数の走査線を含んでよく、各走査線は、複数の点のサブセットを含む。点群オブジェクトインスタンスをアップサンプリングする段階は、線形補間を用いて、少なくとも1つの走査線に沿って複数の点を追加する段階を含み得る。
【0030】
方法およびシステムのいくつかの例において、点群オブジェクトインスタンスをアップサンプリングする段階は、線形補間を用いて、複数の走査線の少なくとも1対の走査線の間に複数の点を追加する段階をさらに含み得る。
【0031】
システムのいくつかの例において、線形補間を用いて点を追加する段階は、2つの既存の点の点位置情報の線形補間に基づいて、追加された点に点位置情報を割り当て、2つの既存の点の点強度情報の線形補間に基づいて、追加された点に点強度情報を割り当てる段階を含み得る。
【0032】
いくつかの態様において、本開示は、方法を説明する。目標点群フレームが取得される。目標点群フレーム内のアンカー位置が決定される。物体の表面モデルが取得される。表面モデルは、変換された表面モデルを生成するために、アンカー位置に基づいて変換される。変換された表面モデルの複数の走査線が生成され、各走査線は、目標点群フレームの複数の走査線と位置合わせされた複数の点を含む。変換された表面モデルの複数の走査線は、拡張された点群フレームを生成するために、目標点群フレームに追加される。
【0033】
方法およびシステムのいくつかの例において、表面モデルは、密な点群オブジェクトインスタンスを含み得る。
【0034】
方法およびシステムのいくつかの例において、表面モデルを取得する段階は、点群オブジェクトインスタンスを取得し、補間を用いて点群オブジェクトインスタンスをアップサンプリングして、表面モデルを生成する段階を含み得る。
【0035】
方法およびシステムのいくつかの例において、表面モデルは、コンピュータ支援設計(CAD)モデルを含み得る。
【0036】
方法およびシステムのいくつかの例において、表面モデルは、完全な密な点群オブジェクト走査を含み得る。
【0037】
いくつかの例において、方法は、変換された表面モデルの影を決定する段階、影内に位置する目標点群フレームの1つまたは複数の隠された点を識別する段階、および拡張された点群フレームから複数の隠された点を除去する段階をさらに備え得る。
【0038】
方法およびシステムのいくつかの例において、変換された表面モデルの複数の走査線を生成する段階は、2次元画素アレイを含む範囲画像を生成する段階、ここで、各画素は、目標点群フレームの点に対応する、変換された表面モデルを範囲画像上へ投影する段階、および範囲画像の各画素について、画素が変換された表面モデルの投影の少なくとも1つの点を含んでいるという判断に応答して、画素の中心への変換された表面モデルの投影の最近傍点を識別する段階、および最近傍点を走査線に追加する段階を有し得る。
【0039】
方法およびシステムのいくつかの例において、表面モデルは、表面モデルのオブジェクトクラスを示すオブジェクトクラス情報を含み得る。目標点群フレームは、目標点群フレームの領域のシーンタイプを示すシーンタイプ情報を含む。アンカー位置を決定する段階は、表面モデルが領域内に位置しているはずであるという、領域のシーンタイプおよび表面モデルのオブジェクトクラスに基づく判断に応答して、アンカー位置を領域内に位置決めする段階を有する。
【0040】
方法およびシステムのいくつかの例において、アンカー位置に基づいて表面モデルを変換する段階は、センサ位置に対する表面モデルの向きを維持しつつ、目標点群フレームのセンサ位置により画定される軸を中心として表面モデルを表面モデル基準方向およびアンカーポイント方向の間で回転させる段階、および表面モデルを基準距離およびアンカーポイント距離の間で変換する段階を有し得る。
【0041】
いくつかの例において、方法は、拡張された点群フレームを用いて機械学習モデルを訓練する段階をさらに備え得る。
【0042】
いくつかの態様において、本開示は、上述の方法のうちの1つまたは複数により生成される表面モデルが格納された非一時的プロセッサ可読媒体を説明する。
【0043】
いくつかの態様において、本開示は、上述の方法のうちの1つまたは複数により生成される拡張された点群フレームが格納された非一時的プロセッサ可読媒体を説明する。
【0044】
いくつかの態様において、本開示は、デバイスのプロセッサデバイスにより実行された場合、上述の方法のうちの1つまたは複数の段階をデバイスに実行させる格納された機械実行可能命令を有する非一時的プロセッサ可読媒体を説明する。
【図面の簡単な説明】
【0045】
ここで、本願の例示的な実施形態を示す添付図面を例として参照する。
【0046】
【
図1A】本明細書において説明される実施形態のための動作コンテキストを提供する例示的な簡略化された点群フレームの上方正面右側斜視図である。
【0047】
【
図1B】本明細書において説明される実施形態による使用に適切な、「自転車乗用者」オブジェクトクラスでラベル付けされた例示的な点群オブジェクトインスタンスの上方正面右側斜視図である。
【0048】
【
図1C】本明細書において説明される実施形態により生成される、
図1Bの点群オブジェクトインスタンスに基づく例示的な表面モデルの上方正面右側斜視図である。
【0049】
【
図1D】本明細書において説明される例による、目標点群フレームへの注入の前に回転、変換およびスケーリングが行われる
図1Bの点群オブジェクトインスタンスの上面図である。
【0050】
【
図2】本明細書において説明される例による、表面モデルおよび拡張された点群フレームを生成するための例示的なシステムのいくつかのコンポーネントを示すブロック図である。
【0051】
【
図3】
図2のライブラリ生成モジュール、データ拡張モジュールおよび訓練モジュールの動作を示すブロック図である。
【0052】
【
図4】
図3のライブラリ生成モジュールにより実行され得る表面モデルを生成する例示的な方法の段階を示すフローチャートである。
【0053】
【
図5】
図3のデータ拡張モジュールにより実行され得る拡張された点群フレームを生成する例示的な方法の段階を示すフローチャートである。
【0054】
【
図6】
図4および
図5の方法により生成される拡張された点群データを用いて機械学習モデルを訓練する例示的な方法の段階を示すフローチャートである。
【0055】
同様のコンポーネントを表すのに同様の参照番号が異なる図において用いられていることがある。
【発明を実施するための形態】
【0056】
本開示は、点群セグメンテーションおよび/またはオブジェクト検出を実行すべく機械学習モデルを訓練するための適応型シーン拡張用の例示的なデバイス、システム、方法および媒体を説明する。
【0057】
図1Aは、複数の点がX、YおよびZの3次元座標系102にマッピングされた、例示的な簡略化された点群フレーム100を示す。Z次元は、典型的には、点群フレーム100を生成するLIDARセンサまたは他のパノラマセンサの回転軸により画定されるように、上方へ延びる。点群フレーム100は、多数の点を含み、それらの各々は、この点に対応する物体の反射率を示す強度値など、他の値のベクトルに沿った点群フレーム100内の一組の座標(x,y,z)により表され得る。各点は、点座標に対応するLIDARセンサに対する空間内の点においてレーザが発する光の反射を表す。例示的な点群フレーム100が箱形状または矩形のプリズムとして示されている一方で、パノラマLIDARセンサにより撮像される典型的な点群フレームは、典型的には、LIDARセンサを取り囲む環境の360度パノラマビューであり、LIDARセンサの検出範囲全体に延びていることが理解されるであろう。したがって、例示的な点群フレーム100は、実際のLIDARにより生成される点群フレームの小さい部分においてより典型的であり、例示目的で用いられる。
【0058】
点群フレーム100の複数の点が、LIDARセンサのレーザが発する光が環境内の物体により反射される空間内でクラスタ化され、これにより、LIDARセンサから見える物体の表面に対応する点のクラスタがもたらされる。第1の点群112は、自動車からの反射に対応している。例示的な点群フレーム100において、第1の点群112は、境界ボックス122に囲まれており、オブジェクトクラスラベル(この事例では、「自動車」132というラベル)に関連付けられている。第2の点群114は、境界ボックス122に囲まれており、「自転車乗用者」134というオブジェクトクラスラベルに関連付けられており、第3の点群116は、境界ボックス122に囲まれており、「歩行者」136というオブジェクトクラスラベルに関連付けられている。したがって、点クラスタ112、114、116の各々は、オブジェクトインスタンス、つまり、「自動車」、「自転車乗用者」および「歩行者」というオブジェクトクラスのインスタンスにそれぞれ対応している。点群フレーム100全体が「交差点」というシーンタイプラベル140に関連付けられており、これは、点群フレーム100が全体として交差点の近くの環境に対応している(故に、自動車、歩行者および自転車乗用者は、互いに近接して存在している)ことを示す。
【0059】
いくつかの例において、単一の点群フレームは、異なるシーンタイプラベル140に各々が関連付けられ得る複数のシーンを含み得る。したがって、単一の点群フレームは、各領域がその独自のシーンタイプラベル140に関連付けられた複数の領域へセグメント化され得る。単一のシーンタイプのみに関連付けられた単一の点群フレームを参照して、例示的な実施形態を本明細書において概して説明する;しかしながら、いくつかの実施形態では、本明細書において説明されるデータ拡張方法およびシステムを用いた点群オブジェクトインスタンス注入について点群フレーム内の各領域を別々に考慮し得ることが理解されるであろう。
【0060】
各境界ボックス122は、サイズ設定されて位置付けられており、物体ラベル132、134、136の各々は、各点クラスタに関連付けられており、シーンラベルは、ラベル付けされた点群フレームを生成するための機械学習分野において既知であるデータラベル技術を用いて、点群フレーム100に関連付けられている。上述のように、これらのラベル付け技術は概して、非常に時間がかかるものであり、かつ、リソース集中型である;本明細書において説明されるデータ拡張技術は、点群フレーム100内のラベル付けされた点群オブジェクトインスタンスの数を増やすことにより、点群フレーム内の点群オブジェクトインスタンスを手動で識別およびラベル付けするために必要とされる時間およびリソースを低減するために、いくつかの例において用いられ得る。
【0061】
図1Aに示される例示的な点群フレーム100のラベルおよび境界ボックスは、オブジェクト検出のコンテキストにおいて適用されるラベルに対応しており、したがって、例示的な点群フレームは、点群フレーム上のオブジェクト検出用の機械学習モデルを訓練するために用いられる点群データセットに含まれ得る。しかしながら、本明細書において説明される方法およびシステムは、点群フレーム上のオブジェクト検出のモデルのみではなく、点群フレームのセマンティックセグメンテーション、インスタンスセグメンテーションまたはパノラマセグメンテーションを含む、点群フレーム上のセグメンテーションのモデルにも等しく適用可能である。
【0062】
本明細書において説明される例示的な方法およびシステムの動作を参照して、
図1Bから
図1Dを以下で説明する。
【0063】
図2は、点群フレームを拡張する(または点群フレームを含む点群データセットを拡張する)ためのコンピューティングシステム200(以下、システム200と称される)のブロック図である。システム200の例示的な実施形態が以下に示され説明されるが、示されるものとは異なるコンポーネントを含み得る、本明細書において開示される例を実装するために、他の実施形態が用いられ得る。
図2はシステム200の各コンポーネントの単一のインスタンスを示しているが、示されている各コンポーネントの複数のインスタンスが存在し得る。
【0064】
システム200は、中央処理装置、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、専用論理回路、テンソル処理ユニット、ニューラル処理ユニット、専用人工知能処理ユニット、またはそれらの組み合わせなど、1つまたは複数のプロセッサ202を含む。1つまたは複数のプロセッサ202は、「プロセッサデバイス」または「プロセッサ202」と総称され得る。
【0065】
システム200は、揮発性または不揮発性メモリ(例えば、フラッシュメモリ、ランダムアクセスメモリ(RAM)および/またはリードオンリメモリ(ROM))を含み得る1つまたは複数のメモリ208(「メモリ208」と総称される)を含む。非一時的メモリ208は、本開示において説明される例の実行など、プロセッサ202による実行のための機械実行可能命令を格納し得る。メモリ208に格納されている、ライブラリ生成モジュール330、データ拡張モジュール340および訓練モジュール234を定義する機械実行可能命令220のセットが示されており、その各々は、プロセッサ202により、本明細書において説明される方法の段階を実行するために実行され得る。ライブラリ生成モジュール330、データ拡張モジュール340および訓練モジュール234を定義する機械実行可能命令220のセットを実行する際のシステム200の動作を、
図3を参照して、以下で説明する。シーン拡張モジュール300を定義する機械実行可能命令220は、それらの各サブモジュール312、314、316、318、320、322の機能を実行するために、プロセッサ202により実行可能である。メモリ208は、例えば、オペレーティングシステムおよび他のアプリケーションまたは機能を実装するために、他の機械実行可能命令を含み得る。
【0066】
メモリ208は、点群データセット210を含むデータセットを格納する。
図1を参照して上述したように、点群データセット210は、複数の点群フレーム212および複数のラベル付けされた点群オブジェクトインスタンス214を含む。いくつかの実施形態において、ラベル付けされた点群オブジェクトインスタンス214のいくつかまたは全てが、点群フレーム212内に含まれ、および/または点群フレーム212から導出される。
図1を参照して上述したように、例えば、各点群フレーム212は、0またはそれよりも多いラベル付けされた点群オブジェクトインスタンス214を含み得る。いくつかの実施形態において、ラベル付けされた点群オブジェクトインスタンス214のいくつかまたは全てが、点群フレーム212から別々に格納され、ラベル付けされた点群オブジェクトインスタンス214の各々は、点群フレーム212のうちの1つ内から生じてよく、またはそうでなくてよい。
図3および
図4を参照して以下で説明されるライブラリ生成モジュール330は、いくつかの実施形態における1つまたは複数の点群フレーム212から1つまたは複数のラベル付けされた点群オブジェクトインスタンス214を抽出するための動作を実行し得る。
【0067】
メモリ208は、機械学習モデル224、1つまたは複数の表面モデルを含む表面モデルライブラリ222、目標点群フレーム226、目標表面モデル228(表面モデルライブラリ222)から選択される)、変換された表面モデル232および拡張された点群フレーム230を含む、本明細書において説明される他のデータ、情報、ルール、ポリシーおよび機械実行可能命令も格納し得る。
【0068】
いくつかの例において、システム200は、ソリッドステートドライブ、ハードディスクドライブ、磁気ディスクドライブおよび/または光ディスクドライブなど、1つまたは複数の電子ストレージユニット(不図示)も含み得る。いくつかの例において、1つまたは複数のデータセットおよび/またはモジュールが、外部メモリ(例えば、システム200)との有線または無線通信における外部ドライブ)により提供されてよく、または一時的または非一時的コンピュータ可読媒体により提供されてよい。非一時的コンピュータ可読媒体の例は、RAM、ROM、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリ、CD-ROMまたは他のポータブルメモリストレージを含む。ストレージユニットおよび/または外部メモリは、システム200のデータ格納、取得およびキャッシュ機能を実装するために、メモリ208と併せて用いられ得る。
【0069】
システム200のコンポーネントは、例えばバスを介して互いに通信し得る。いくつかの実施形態において、システム200は、クラウドコンピューティングプラットフォームなど、分散システムであり、ネットワークを介して互いに通信している複数のコンピューティングデバイス、および任意選択的に、1つまたは複数の追加のコンポーネントを含み得る。本明細書において説明される様々な動作は、いくつかの実施形態において、分散システムの異なるデバイスにより実行され得る。
【0070】
図3は、システム200のプロセッサ202により実行される、例示的なライブラリ生成モジュール330、データ拡張モジュール340および訓練モジュール234の動作を示す。図示される実施形態において、ライブラリ生成モジュール330は、いくつかの機能サブモジュールまたはサブモジュール(インスタンス抽出サブモジュール312およびアップサンプリングサブモジュール314)を含み、データ拡張モジュール340は、いくつかの機能サブモジュール(フレーム選択サブモジュール316、変換サブモジュール318、インスタンス注入サブモジュール320および表面モデル選択サブモジュール322)を含む。他の例において、サブモジュール312、314、316、318、320、322のうちの1つまたは複数が、組み合わされてよく、複数のサブモジュールへ分割されてよく、および/または、とりわけサブモジュールの間で再分配される機能または動作のうちの1つまたは複数を有してよい。いくつかの例において、ライブラリ生成モジュール330、データ拡張モジュール340および/または訓練モジュール234は、追加の動作またはサブモジュールを含んでよく、または図示されているサブモジュール312、314、316、318、320、322のうちの1つまたは複数を省略してよい。
【0071】
図4に示される例示的な方法400を参照して、
図3に示されるライブラリ生成モジュール330の様々なサブモジュールの動作をここで説明する。
【0072】
図4は、表面モデルを生成する例示的な方法400の段階を示すフローチャートである。説明したように、方法400の段階は、
図3に示されるライブラリ生成モジュール330の様々なサブモジュールにより実行される。しかしながら、方法400は、任意の適切な情報処理技術により実行され得ることが理解されるであろう。
【0073】
方法400は、段階402において開始する。402において、インスタンス抽出サブモジュール312は、点群データセット210から点群オブジェクトインスタンスを抽出することにより、抽出されたインスタンス306を生成する。
【0074】
図1Bは、LIDARセンサ(または、上述の他の3Dセンサ)により生成される点群フレーム212内の例示的なラベル付けされた点群オブジェクトインスタンス148の詳細図を示す。図示されている点群オブジェクトインスタンス148(例えば、点群データセット210から選択されるラベル付けされた点群オブジェクトインスタンス214のうちの1つ)は、
図1Aの第2の点群114(すなわち、「自転車乗用者」の点群オブジェクトインスタンス)から成っており、複数の点142は、走査線144に沿って配置されている。したがって、ラベル付けされた点群オブジェクトインスタンス148は、複数の走査線144を含み、各走査線144は、ラベル付けされた点群オブジェクトインスタンス148の複数の点142のサブセットを含む。走査線144は、複数の測定値の中間の方位角方向に沿って動くLIDARセンサのレーザが発する光が物体(この事例では、自転車乗用者)により反射され、LIDARセンサにより検出される複数の点に対応している。図示されている例において、走査線144の方向を画定する方位角方向は、おおよそ水平(すなわち、点群フレームの座標系102により画定されるX-Y平面上)である。
図1Aを参照して上述したように、ラベル付けされた点群オブジェクトインスタンス148は、「自転車乗用者」オブジェクトクラスラベル134および複数の点を囲む境界ボックス122を含む。
【0075】
いくつかの実施形態において、オブジェクトクラスラベル134および境界ボックス122など、セマンティック情報が、インスタンス抽出段階402の一部として、インスタンス抽出サブモジュール312により、点群オブジェクト検出および/または点群フレームセグメンテーションについての既知の技術を用いて生成され得る。他の実施形態において、点群データセット210の点群フレーム212は、セマンティック情報のラベルおよび注釈を付けられているラベル付けされた点群オブジェクトインスタンス214を既に含んでいる。
【0076】
インスタンス抽出サブモジュール312は、(例えば、点群フレーム212から)点群フレームを取得し、点群フレーム内の所与のオブジェクトクラスラベル134でラベル付けされた複数の点を識別する。物体の複数のインスタンスが、オブジェクトクラスラベルのみで一様に注釈を付けられるように、かつ、個々のオブジェクトインスタンスへセグメント化されないように、セマンティックセグメンテーションを用いてフレームに注釈が付けられている場合、インスタンス抽出サブモジュール312は、オブジェクトクラスラベル134で注釈が付けられた複数の点をクラスタ化して、ラベル134により示されるオブジェクトクラスの個々のオブジェクトインスタンスを(例えば、パノラマ的またはインスタンスセグメンテーションを用いて、またはオブジェクト認識を用いて)生成し得る。
【0077】
ラベル付けされた点群オブジェクトインスタンス148、およびオブジェクト抽出プロセスにより生成される抽出されたインスタンス306は、センサ位置に対するラベル付けされた点群オブジェクトインスタンス148の向きを示す向き情報を含み得る。例えば、点群フレーム212内の複数の点142を生成するために用いられるLIDARセンサのレーザが発する光線の投影方向は、抽出されたインスタンス306の一部として記録され、例えば、座標系102を用いた方向ベクトルとして定義され得る。各点142は、座標系102内の(x,y,z)座標のセットを含むフォーマットで記録され得る。したがって、点142の強度値は、物体表面からの光の反射地点における物体表面の反射率の関数として、ならびに、この点を生成するために用いられるLIDARセンサが発する光線を画定する方向ベクトルおよび点142の空間座標の間の関係、すなわち、抽出されたインスタンス306の向き情報として理解され得る。したがって、向き情報は、光線の方向ベクトルおよび空間内のその点における光を反射する物体の表面法線の間の関係を表すために用いられる。向き情報は、オクルージョンおよび強度値が正確に表されるように、目標点群フレーム(すなわち、点群オブジェクトインスタンスが注入されている点群フレーム)のセンサ位置に対する注入された点群オブジェクトインスタンスの向きを維持するために、注入プロセス(
図5を参照して以下で説明される)中に用いられ得る。
【0078】
図1Aを参照して上述したように、ラベル付けされた点群オブジェクトインスタンス148、およびオブジェクト抽出プロセスにより生成される抽出されたインスタンス306は、各点144について、点強度情報(例えば、強度値)および点位置情報(例えば、空間(x,y,z)座標)ならびに、潜在的に、他のタイプの情報も含み得る。
【0079】
404において、アップサンプリングサブモジュール314が、抽出された点群オブジェクトインスタンス306をアップサンプリングして、
図1Cに示される自転車乗用者表面モデル152など、表面モデルを生成する。
【0080】
図1Cは、
図1Bに示される自転車乗用者オブジェクトインスタンス148の抽出された点群オブジェクトインスタンス306に基づいてアップサンプリングサブモジュール314により生成される自転車乗用者の例示的な表面モデル152を示す。アップサンプリングサブモジュール314は、抽出された点群オブジェクトインスタンス306の点群クラスタ(すなわち、自転車乗用者を表す第2の点群クラスタ114)を、線形補間を用いてアップサンプリングして、各走査線144に沿って、かつ、走査線144の間に、クラスタ内の点の数を増やす。回転走査式LIDARセンサにより撮像される点群オブジェクトインスタンスは通常、垂直方向(例えば、Z軸におおよそ平行な仰角方向)および水平方向(例えば、X-Y平面におおよそ平行な方位角方向157)において非常に異なる点密度を有する。多角形メッシュを用いて表面を表す従来の表面生成方法、例えば、greedy表面三角測量およびデローネイ三角測量アルゴリズムは、穴を有する多角形メッシュから成る表面を生じさせ、これにより、走査線および影生成(
図5を参照して以下で説明される)中、穴と、表面の影エリアに現れる複数の点とに対応するエリア内の複数の点を欠いた複数の走査線がもたらされ得る。本明細書において説明される方法およびシステムの例では、対照的に、点群オブジェクトインスタンスは、回転走査式LIDARセンサの特性を利用することにより直接アップサンプリングされ得る。まず、各走査線の複数の点142に対して線形補間が実行され、走査線144の既存の複数の点142の中間に新しい複数の点155を追加することにより、水平方向における各走査線144の点密度が上がる。2番目に、薄いスライディングウィンドウ156を用いて、複数の点142のセットが方位角157に沿って分離される(すなわち、ウィンドウ156により、垂直方向に互いにおおまかに位置合わせされた複数の走査線144上に位置する複数の点142が分離される)。線形補間を用いて走査線144の中間に新しい複数の点154を追加することにより、垂直方向における複数の点142の密度が上がる。したがって、走査線144に沿って複数の点155を追加すること、および複数対の走査線144の間に複数の点154を追加することにより(両方の事例において線形補間が用いられる)、点群オブジェクトインスタンス148がアップサンプリングされる。
【0081】
追加された複数の点155、154は、線形補間を用いて、追加された複数の点155、154に点位置情報および点強度情報の両方を割り当てる。このアップサンプリングは、方位角-仰角面、すなわち、方位角方向157に沿った、垂直方向に分離されたレーザの掃引により画定される平面に対して(例えば、センサ位置を中心として垂直方向に分離された円弧において)実行され得る。アップサンプリングサブモジュール314により生成される表面モデルの密度は、補間の間隔、例えば、ライブラリ生成モジュール330のユーザにより定義されるパラメータを定義することにより制御され得る。
図5を参照して以下で説明するように、表面モデルが十分に密である場合において、複数の点が表面モデルにより隠されるはずであるときは、影生成は、点群フレーム内に残される複数の点を一切もたらさないはずである。
【0082】
アップサンプリングサブモジュール314は、表面モデルの生成において用いられる点群オブジェクトインスタンス148の向き情報、点強度情報および点位置情報など、表面モデルにおける他の情報を含む。表面モデルが操作され得る空間内の単一の点を示す基準点158も、表面モデルに含まれ得る。いくつかの実施形態において、基準点158は、境界ボックス122の水平次元内の中心位置における、境界ボックス122の底面上または底面の近くに位置し、[x
mean、y
mean、z
min]として、すなわち、境界ボックスのX-Y長方形の水平中心におけるxおよびy値、および、境界ボックスの最も低いz値を用いて計算され得る。元のフレームのセンサ位置から、X-Y平面上へ投影される基準点158までの距離d(例えば、
【数1】
として計算される)を示す距離情報も含まれ得る。
【0083】
406において、アップサンプリングサブモジュール314が表面モデルライブラリ222に表面モデルを追加する。所与のオブジェクトクラスの全ての表面モデルが容易に取得され得るように、表面モデルライブラリ222に含まれる表面モデルは、それらのそれぞれのオブジェクトクラスラベル134に関連付けて(例えば、キーまたはインデックスを付けて)格納され得る。次に、表面モデルライブラリ222は、必要に応じて格納または分散されてよく、例えば、システム200のメモリ208に格納され、システム200によりアクセス可能な中心位置に格納され、および/または非一時的記憶媒体上に分散されてよい。格納された表面モデルライブラリ222は、訓練モジュール234による使用のために、システム200によりアクセス可能であってよい。
【0084】
図5に示される例示的な方法500を参照して、
図3に示されるデータ拡張モジュール340の様々なサブモジュールの動作をここで説明する。
【0085】
図5は、目標点群フレームへ表面モデルを注入する例示的な方法500の段階を示すフローチャートである。説明したように、方法500の段階は、
図3に示されるデータ拡張モジュール340の様々なサブモジュールサブモジュールにより実行される。しかしながら、方法500は、任意の適切な情報処理技術により実行され得ることが理解されるであろう。
【0086】
この方法は、段階502において開始する。502において、例えば、ライブラリ生成モジュール330により実行される
図4の表面モデル生成方法400を用いることにより、表面モデルライブラリ222が生成される。いくつかの実施形態において、段階502は、省略されてよく、表面モデル注入方法500の実行前に、1つまたは複数の予め生成された表面モデルが取得され得る。
【0087】
504において、データ拡張モジュール340により目標点群フレーム226が取得される。目標点群フレーム226は、フレーム選択サブモジュール316により、点群データセット210から選択され得る。いくつかの例において、点群データセット210の全ての点群フレーム212が、拡張のためにデータ拡張モジュール340へ提供されてよく、一方で、他の例では、点群フレーム212のサブセットのみが提供される。単一の選択された目標点群フレーム226を拡張するために、方法500の1回の反復が用いられる。
【0088】
506において、目標点群フレーム226への注入のために、表面モデルが選択および準備される。インスタンス注入サブモジュール320は、目標点群フレーム226、およびいくつかの実施形態において、表面モデルの選択および表面モデルの目標点群フレーム226への注入を制御するために用いられる制御パラメータを受信し得る。
制御パラメータの例示的なフォーマットは、
{人,2,[道路,歩道,駐車場],[5%,90%,5%]}
であり、「人」オブジェクトクラスの2つのインスタンスが目標点群フレーム226へ注入されることを示す。各「人」オブジェクトインスタンスは、それぞれ5%、90%および5%という確率で「道路」、「歩道」または「駐車場」というシーンタイプのシーンタイプラベル140でラベル付けされた目標点群フレーム226内の複数の領域へ注入され得る。そのような例では、方法500の段階506および516は、(これら2つの点群オブジェクトインスタンスの各々について表面モデルを選択および注入するために)2回繰り返されるであろう。
【0089】
段階506は、サブ段階508、510および512を含む。サブ段階508において、インスタンス注入サブモジュール320は、例えば、制御パラメータにより示されるシーンタイプ確率分布に基づいて、目標点群フレーム226内のアンカーポイントを決定する。サブ段階512を参照して以下で説明するように、アンカーポイントは、注入された点群オブジェクトインスタンスを目標点群フレーム226内に位置付けるために用いられる。
【0090】
いくつかの実施形態において、アンカーポイントは、3つの段階において生成され得る。まず、目標点群フレーム226のシーンタイプラベル140およびオブジェクトクラスラベルを用いて全ての可能なアンカーポイントが識別されることで、点群オブジェクトインスタンスが目標点群フレーム226へ現実的に(例えば、目標点群フレーム226内の他の物体との衝突制約に基づいて)注入され得る領域内の適切な領域および位置が識別される。2番目に、制御パラメータおよび任意の他の制約または要因に基づき、可能なアンカーポイントの各々の確率pが計算される。3番目に、計算された確率に基づき、アンカーポイントが選択される;例えば、最も高い計算された確率を有する潜在的なアンカーポイントがアンカーポイントとして選択され得る。
【0091】
各アンカーポイント候補の確率pは、p=p
pos・p
classとして計算され得る。p
posは、グラウンドプレーン上でアンカーポイントを一様に選択するために用いられる確率係数である。回転走査式LIDARセンサの場合、各点は、その点においてレーザが発する光線を反射する物体の異なるエリアに対応し、センサ位置に近い複数の点は、センサ位置から遠い複数の点のものよりも小さいエリアをカバーする。アンカーポイントは、典型的には、グラウンド面により反射される、目標点群フレーム226の複数の点から選択される。各点の選択確率は、そのカバーされるエリアに比例し得る;そうでなければ、アンカーポイントのうちのほとんどが、センサ位置の近くに生成される。したがって、p
posは、
【数2】
として計算され得る。
【0092】
pclassの値は、制御パラメータ、すなわち、所与のシーンタイプラベル140でラベル付けされた領域内に位置しているアンカーポイントの確率により決定され得る。したがって、目標点群フレーム226は、目標点群フレーム226の1つまたは複数の領域のシーンタイプを示すシーンタイプ情報(例えば、シーンタイプラベル140)を含み、このシーンタイプ情報は、アンカーポイント候補からアンカーポイントを選択するために確率pの計算により用いられるpclassの値を決定するために用いられ得る。いくつかの実施形態において、確率pの計算により、表面モデルが所与の領域内に位置しているはずである、と、この領域のシーンタイプおよび表面モデルのオブジェクトクラスに基づき、本質的に判断される。サブ段階512において以下で説明するように、この領域内の複数のアンカーポイント候補からアンカーポイントがひとたび選択されると、このアンカーポイントが選択され、この領域内の目標点群フレーム226のグラウンド面上の対応する位置(アンカー位置と称される)が、表面モデルの位置決めおよび注入のための位置として用いられる。
【0093】
サブ段階510において、表面モデル選択サブモジュール322は、例えば、上述の制御パラメータにおいて識別されるオブジェクトクラスに関連付けられた表面モデルを表面モデルライブラリ222から選択することにより、目標表面モデル228を取得する。いくつかの例において、表面モデルライブラリ222は、上述の方法400により生成されるものなど、密な点群オブジェクトインスタンスとして格納される表面モデルを含む。いくつかの例において、表面モデルライブラリ222は、コンピュータ支援設計(CAD)モデルとして格納される表面モデルを含む。いくつかの例において、表面モデルライブラリ222は、完全な密な点群オブジェクト走査、すなわち、複数の見晴らしの良い地点から走査された物体を表す密な点群として格納される表面モデルを含む。本明細書において説明される例では、方法400により生成されるものなど、密な点群オブジェクトインスタンスから成る表面モデルの使用を参照する。しかしながら、本明細書において説明される方法およびシステムは、CADモデルおよび完全な密な点群オブジェクト走査など、他の表面モデルタイプにも適用可能である(方法400により生成される密な点群オブジェクトインスタンスの使用により示され得る利点の全てをそれらの表面モデルタイプの使用が示し得ない場合でも)ことが理解されるであろう。
【0094】
表面モデルライブラリ222に格納される各表面モデルは、表面モデルのオブジェクトクラスを示すオブジェクトクラス情報を含み得る。表面モデル選択サブモジュール322は、上述の制御パラメータおよびアンカーポイント選択により規定される他の制約を満たす、ライブラリ222内の所与のオブジェクトクラスの全ての表面モデルのリストを取得し得る。例えば、表面モデル選択サブモジュール322は、距離制約|rR|≦|rA|を課し、これにより、センサ位置から目標点群フレーム226内のアンカーポイントまでの距離を示す、アンカーポイント範囲|rA|よりも小さいかまたはそれに等しい距離d(基準範囲|rR|とも称される)を示す関連付けられた距離情報を選択された目標表面モデル228が有していることを要求し得る。制約(例えば、オブジェクトクラスおよび空間の制約)を満たすライブラリ222内に全ての表面モデルのリストがひとたび取得または生成されると、任意の適切な選択基準、例えばランダム選択を用いて、リストから表面モデルが選択され得る。
【0095】
サブ段階512において、選択された目標表面モデル228は、変換サブモジュール318により、アンカー位置に基づき変換され、変換された表面モデル232が生成される。表面モデル変換の一例が、
図1Dに示される。
【0096】
図1Dは、変換された表面モデル232を生成するための目標表面モデル228の変換の上面図を示す。目標表面モデル228は、境界ボックス122を有する自転車表面モデル152、「自転車」オブジェクトクラスラベル134、基準点158、および、境界ボックス122の縁部およびセンサ位置166から基準点158まで延びる基準ベクトル172により示される基準方向の間の配向角168として示される向き情報として示されている。基準ベクトル172は、距離d(すなわち、基準範囲|r
R|)に等しい長さを有する。
【0097】
上記のサブ段階508において決定されるアンカーポイントは、センサ位置166からアンカーポイント方向を指すアンカーポイントベクトル170を画定する、目標点群フレーム226内のアンカー位置160に位置している。アンカーポイントベクトル170の長さは、アンカーポイント範囲|rA|である。
【0098】
変換サブモジュール318は、基準方向(すなわち、基準ベクトル172のもの)およびアンカーポイント方向(すなわち、アンカーポイントベクトル170のもの)の間の回転角θを計算する。次に、目標表面モデル228は、回転角θ(すなわち、基準ベクトル172により画定される表面モデル基準方向およびアンカーポイントベクトル170)により画定されるアンカーポイント方向の間のもの)の分だけ、センサ位置166に対する表面モデルの向きを維持(すなわち、同じ配向角168を維持)しつつ、目標点群フレーム226のセンサ位置166により画定される軸を中心として回転する。
【0099】
次に、表面モデルの範囲または距離は、変換、すなわち、直線移動を用いて調整される。変換サブモジュール318は、基準距離(すなわち、基準ベクトル172の長さにより画定される基準範囲|rR|)およびアンカーポイント距離(すなわち、アンカーポイントベクトル170の長さにより画定されるアンカーポイント範囲|rA|)の間の表面モデルを変換する。
【0100】
いくつかの例において、次に、表面モデルは、点群データへのオブジェクトインスタンス注入へより大きな多様性を導入することにより、機械学習モデルを訓練する目的でデータ拡張プロセスの有効性を潜在的に上げるべく、アンカー位置160に対して多少の量だけ、垂直方向および/または水平方向に適宜スケーリングされ得る。
【0101】
変換された表面モデル232は、目標表面モデル228に対して実行される上述の回転、変換およびスケーリング動作の最終結果である。いくつかの例において、インスタンス注入サブモジュール320により、変換された表面モデル232に対して衝突試験が実行され得る;変換された表面モデル232が目標点群フレーム226内の他の物体と競合(例えば、衝突または交差)する場合、方法400は、段階506へ戻って、変換のために、新しいアンカーポイントを決定し、新しい表面モデルを選択してよく、このプロセスは、適切な変換された表面モデル232が生成されて目標フレーム226内に位置付けられるまで、繰り返されてよい。
【0102】
516において、インスタンス注入サブモジュール320は、表面モデルに基づき、点群オブジェクトインスタンスを目標点群フレーム226へ注入する。段階516は、サブ段階518および520を含む。
【0103】
段階516の前に、インスタンス注入サブモジュール320は、上述のように、フレーム選択サブモジュール316から目標点群フレーム226を、変換サブモジュール318から変換された表面モデル232を取得済みである。変換された表面モデル232は、目標点群フレーム226の座標系102内に位置付けられる。しかしながら、変換された表面モデル232は、その表面上に走査線144がなく、目標点群フレーム226内の他の点を隠す影を落とさない。
【0104】
サブ段階518において、インスタンス注入サブモジュール320は、変換された表面モデル232の表面上に走査線144を生成して、目標点群フレーム226へ注入される点群オブジェクトインスタンスを生成する。変換された表面モデル232の走査線144を目標点群フレーム226に追加することにより、変換された表面モデルの表面にマッピングされた走査線144の複数の点から成る注入された点群オブジェクトインスタンスを含む、拡張された点群フレーム230が生成される。
【0105】
変換された表面モデル232の各走査線144は、目標点群フレーム226の走査線と位置合わせされた複数の点142として生成される。いくつかの実施形態において、目標点群フレーム226の走査線は、目標点群フレーム226を生成するために用いられるLIDARセンサの解像度に対応する範囲画像上へ変換された表面モデル232を投影することにより、シミュレートされ得る。したがって、例えば、範囲画像は目標点群フレーム226内の全ての点のセットであり、各点の空間(x,y,z)座標が(方位角,仰角,距離)座標へ変換され、次に、各点が(方位角,仰角)平面における2次元画素アレイの画素を画定するために用いられる、と考えられ得る。この2次元画素アレイは、範囲画像である。方位角座標は、センサ位置のZ軸を中心とした角回転を示してよく、仰角座標は、X-Y平面に対する仰角または凹みの角度を示してよい。変換された表面モデル232の複数の点を目標点群フレーム226の範囲画像上へ投影することにより、インスタンス注入サブモジュール320は、目標点群フレーム226を生成するために用いられるLIDARセンサにより実行される走査の光線の複数の点に対応するエリアに含まれる、変換された表面モデル232のそれらの点を識別し得る。変換された表面モデル232の投影の少なくとも1つの点を含む範囲画像の各画素について、各画素の中心に最も近い変換された表面モデル232のみが保持され、保持された点は、変換された表面モデル232の表面に走査線144をポピュレートするために用いられる。所与の走査線144の複数の点は、範囲画像の画素の行に対応する。保持された点は、範囲画像画素の中心の仰角と位置合わせするために、仰角方向に動かされる。これにより、その行内の画素によって生成される各点の全てが同じ仰角を有することで走査線144が正確に上がることが保証される。
【0106】
いくつかの実施形態において、範囲画像は、目標点群フレーム226の変換された複数の点の実際の(方位角,仰角)座標から導出される;しかしながら、他の実施形態では、目標点群フレーム226を生成するために用いられるLIDARセンサの解像度(目標点群フレーム226に関連付けられた情報として格納されてよく、または、目標点群フレーム226の2つまたはそれよりも多くの点から導出されてよい)を取得すること、および、範囲画像の画素を目標点群フレーム226の複数の点に1:1でマッピングしないで、対応する解像度の範囲画像を生成することにより、計算的負荷がより低い態様で範囲画像を生成し得る。いくつかの実施形態において、解像度に基づく範囲画像は、生成された後、フレームの1つまたは複数の点と位置合わせされ得る。
【0107】
拡張された点群フレーム230内で、変換された表面モデル232が破棄され、上述のように生成された走査線144のみが残る。しかしながら、これは、変換された表面モデル232の破棄の前に、サブ段階520において影を生成するために用いられ得る。インスタンス注入サブシステム320は、変換された表面モデル232が落とす影を決定し、影内に位置する目標点群フレーム226の1つまたは複数の隠された点を識別し、隠された点を拡張された点群フレーム230から除去する。範囲画像は、各画素のエリアに含まれる目標点群フレーム226の全ての既存の点を識別するために用いられる。サブ段階518において生成される走査線144の少なくとも1つの点を含む各画素は、影を落とすものとみなされる。画素に含まれる既存の複数の点の全て(すなわち、画素が落とす影内のもの)が、隠された点とみなされ、拡張された点群フレーム230から除去される。
【0108】
図4および
図5の方法400、500は、1つまたは複数の利点を実現するために共に用いられ得る。まず、方法400において実際のLIDARにより生成される点群フレーム(すなわち、LIDARセンサにより生成された点群フレーム)から取得された表面モデルは通常、半分側である;方法500における表面モデルの回転により、複数の点を有する側が常にセンサ位置166の方を向くことが保証される。2番目に、いくつかの実施形態において、上述のように、アンカーポイント範囲は、変換サブモジュール318により、基準範囲よりも大きくなるように制約される(すなわち、|r
R|≦|r
A|);したがって、表面モデルの表面上に生成される走査線点の密度は、アップサンプリングプロセスの任意のアーティファクトを増大させるようには上がらない(抽出されたオブジェクトインスタンスの密度がアップサンプリングにより上がるが、これによっては、元の点群オブジェクトインスタンスに含まれる情報は増えない)。方法400、500の組み合わせの他の利点が、当業者には明らかになるであろう。
【0109】
ライブラリ生成方法400およびデータ拡張方法500はさらに、機械学習モデルを訓練するために、機械学習プロセスと組み合わされ得る。
図6に示される例示的な方法600を参照して、
図3に示されるライブラリ生成モジュール330、データ拡張モジュール340および訓練モジュール234の相互運用をここで説明する。
【0110】
図6は、予測タスクのための機械学習モデル224の訓練に用いられる点群データセットを拡張する例示的な方法600の段階を示すフローチャートである。説明したように、方法600の段階は、
図3に示されるライブラリ生成モジュール330、データ拡張モジュール340および訓練モジュール234の様々なサブモジュールにより実行される。しかしながら、方法600は、任意の適切な情報処理技術により実行され得ることが理解されるであろう。
【0111】
602において、ライブラリ生成モジュール330は、方法400に従って、1つまたは複数の表面モデルのライブラリ222を生成する。
【0112】
604において、データ拡張モジュール340は、方法500に従って、1つまたは複数の拡張された点群フレーム230を生成する。
【0113】
606において、訓練モジュール234は、拡張された点群フレーム230を用いて、機械学習モデル224を訓練する。
【0114】
段階604および606は、1回または複数回の訓練反復を実行するために、1回または複数回繰り返され得る。いくつかの実施形態において、複数の拡張された点群フレーム230が、それらが機械学習モデル224を訓練するために用いられる前に、生成される。
【0115】
機械学習モデル224は、点群フレームに対して予測タスクを実行するために教師あり学習などの機械学習技術を用いて訓練された人工ニューラルネットワークまたは別のモデルであってよい。予測タスクは、フレーム内の物体をオブジェクトクラス毎に認識するための、またはフレームをオブジェクトクラス毎にセグメント化するための任意の予測タスクであってよく、オブジェクト認識、セマンティックセグメンテーション、インスタンスセグメンテーションまたはパノラマセグメンテーションを含む。いくつかの実施形態において、拡張された点群フレーム230は、点群データセット210に追加され、訓練モジュール234は、点群データセット210を訓練データセットとして用いて、機械学習モデル224を訓練する。すなわち、機械学習モデル224は、点群フレーム212に対するオブジェクト認識またはセグメンテーションなどの予測タスクを点群フレーム212に対して実行するために、教師あり学習、および、点群データセット210に含まれる点群フレーム212および拡張された点群フレーム230を用いて訓練される。訓練された機械学習モデル224は、オブジェクト検出を実行してオブジェクトクラスラベルを予測するように訓練されてよく、または、セグメンテーションを実行して、各点群フレーム212内の点または領域の0またはそれよりも多くのサブセットまたはクラスタにアタッチするためのインスタンスラベルおよび/またはシーンタイプラベルを予測するように訓練されてよく、各ラベル付けされた点群オブジェクトインスタンス214に、または所与の点群フレーム212内の領域に関連付けられたラベルは、訓練のためのグラウンドトゥルースラベルとして用いられる。他の実施形態において、機械学習モデル224は、異なる訓練点群データセットを用いて訓練される。
【0116】
本開示では、方法およびプロセスを、特定の順序の段階と共に説明しているが、方法およびプロセスにおける1つまたは複数の段階は、適宜省略または変更されてよい。必要に応じて、1つまたは複数の段階が、説明されている以外の順序で行われてよい。
【0117】
本開示は、少なくとも部分的に方法に関して説明されているが、本開示は、説明されている方法の態様および特徴のうちの少なくともいくつかをハードウェアコンポーネント、ソフトウェア、またはそれら2つの任意の組み合わせにより実行するための様々なコンポーネントも対象としていることを、当業者であれば理解するであろう。したがって、本開示の技術的解決手段は、ソフトウェア製品の形態で具現化されてよい。適切なソフトウェア製品が、例えば、DVD、CD-ROM、USBフラッシュディスク、リムーバブルハードディスク、または他の記憶媒体を含む、予め記録されたストレージデバイスまたは他の同様の不揮発性または非一時的コンピュータ可読媒体に記憶されてよい。ソフトウェア製品は、処理デバイス(例えば、パーソナルコンピュータ、サーバまたはネットワークデバイス)が、本明細書において開示されている方法の例を実行することを可能にする、有形的に記憶された命令を含む。
【0118】
本開示は、特許請求の範囲の主題から逸脱することなく、他の特定の形態で具現化されてよい。説明されている例示的な実施形態は、あらゆる点において、限定的なものではなく、単に例示的なものであるとみなされるべきである。上述の実施形態のうちの1つまたは複数から選択される特徴を組み合わせて、明示的に説明されていない代替的な実施形態を創出してよく、そのような組み合わせに適切な特徴は、本開示の範囲内にあると理解される。
【0119】
開示されている範囲内の全ての値およびサブ範囲も開示される。また、本明細書において開示および図示されているシステム、デバイスおよびプロセスは特定数の要素/コンポーネントを含み得るが、これらのシステム、デバイスおよびアセンブリは、そのような要素/コンポーネントをさらにまたはより少なく含むように修正され得る。例えば、開示されている要素/コンポーネントのいずれも単数として言及され得るが、本明細書において開示されている実施形態は、そのような要素/コンポーネントを複数含むように修正され得る。本明細書において説明されている主題は、技術における全ての適切な変更を網羅および包含することを意図している。
【手続補正書】
【提出日】2023-10-26
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
点群オブジェクトインスタンスを取得する段階;および
補間を用いて前記点群オブジェクトインスタンスをアップサンプリングして、表面モデルを生成する段階
を備える方法。
【請求項2】
前記点群オブジェクトインスタンスは、
センサ位置に対する前記点群オブジェクトインスタンスの向きを示す向き情報
を含む;および
前記点群オブジェクトインスタンス内の複数の点の各々について、
点強度情報;および
点位置情報
を含む;および
前記表面モデルは、前記点群オブジェクトインスタンスの前記向き情報、点強度情報および点位置情報を含む、
請求項1に記載の方法。
【請求項3】
前記点群オブジェクトインスタンスは、複数の走査線を含み、各走査線は、前記複数の点のサブセットを含む;および
前記点群オブジェクトインスタンスをアップサンプリングする段階は、線形補間を用いて、少なくとも1つの走査線に沿って複数の点を追加する段階を有する
請求項2に記載の方法。
【請求項4】
前記点群オブジェクトインスタンスをアップサンプリングする段階は、線形補間を用いて、前記複数の走査線のうちの少なくとも1対の走査線の間に複数の点を追加する段階をさらに有する、請求項3に記載の方法。
【請求項5】
線形補間を用いて点を追加する段階は、
2つの既存の点の前記点位置情報の線形補間に基づいて、前記追加された点に点位置情報を割り当てる段階;および
前記2つの既存の点の前記点強度情報の線形補間に基づいて、前記追加された点に点強度情報を割り当てる段階
を含む、
請求項4に記載の方法。
【請求項6】
目標点群フレームを取得する段階;
前記目標点群フレーム内のアンカー位置を決定する段階;
物体の表面モデルを取得する段階;
前記アンカー位置に基づいて前記表面モデルを変換して、変換された表面モデルを生成する段階;
前記変換された表面モデルの複数の走査線を生成する段階であって、各走査線は、前記目標点群フレームの複数の走査線と位置合わせされた複数の点を含む、生成する段階;および
前記変換された表面モデルの前記複数の走査線を前記目標点群フレームに追加して、拡張された点群フレームを生成する段階
を備える方法。
【請求項7】
前記表面モデルは、密な点群オブジェクトインスタンスを含む、請求項6に記載の方法。
【請求項8】
前記表面モデルを取得する段階は、
点群オブジェクトインスタンスを取得する段階;および
補間を用いて前記点群オブジェクトインスタンスをアップサンプリングして、前記表面モデルを生成する段階
を有する、
請求項7に記載の方法。
【請求項9】
前記表面モデルは、コンピュータ支援設計(CAD)モデルを含む、請求項
6から8のいずれか一項に記載の方法。
【請求項10】
前記表面モデルは、完全な密な点群オブジェクト走査を含む、請求項
6から8のいずれか一項に記載の方法。
【請求項11】
前記変換された表面モデルの影を決定する段階;
前記影内に位置する前記目標点群フレームの1つまたは複数の隠された点を識別する段階;および
前記拡張された点群フレームから前記複数の隠された点を除去する段階
をさらに備える、請求項
6から10のいずれか一項に記載の方法。
【請求項12】
前記変換された表面モデルの前記複数の走査線を生成する段階は、
2次元画素アレイを含む範囲画像を生成する段階、ここで、各画素は、前記目標点群フレームの点に対応する;
前記変換された表面モデルを前記範囲画像上へ投影する段階;および
前記範囲画像の各画素について、前記画素が前記変換された表面モデルの前記投影の少なくとも1つの点を含んでいるという判断に応答して、
前記画素の中心への前記変換された表面モデルの前記投影の最近傍点を識別する段階;および
前記最近傍点を前記走査線に追加する段階
を有する、
請求項7に記載の方法。
【請求項13】
前記表面モデルは、前記表面モデルのオブジェクトクラスを示すオブジェクトクラス情報を含む;
前記目標点群フレームは、前記目標点群フレームの領域のシーンタイプを示すシーンタイプ情報を含む;および
前記アンカー位置を決定する段階は、前記表面モデルが前記領域内に位置しているはずであるという、前記領域の前記シーンタイプおよび前記表面モデルの前記オブジェクトクラスに基づく判断に応答して、前記アンカー位置を前記領域内に位置決めする段階を有する
請求項
6から12のいずれか一項に記載の方法。
【請求項14】
前記アンカー位置に基づいて前記表面モデルを変換する段階は、
センサ位置に対する前記表面モデルの向きを維持しつつ、前記目標点群フレームの前記センサ位置により画定される軸を中心として前記表面モデルを表面モデル基準方向およびアンカーポイント方向の間で回転させる段階;および
前記表面モデルを基準距離およびアンカーポイント距離の間で変換する段階
を有する、
請求項
6から13のいずれか一項に記載の方法。
【請求項15】
前記拡張された点群フレームを用いて機械学習モデルを訓練する段階をさらに備える、請求項
6から14のいずれか一項に記載の方法。
【請求項16】
点群データを拡張するためのシステムであって、
プロセッサデバイス;および
前記プロセッサデバイスにより実行された場合、請求項1から14のいずれか一項に記載の方法を前記システムに実行させる機械実行可能命令を格納したメモリ
を備える、システム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【0001】
本願は、概して、機械学習のための点群データ拡張に関し、特に、モデル注入を用いた点群データ拡張のためのデバイス、システム、方法および媒体に関する。
【背景技術】
【0002】
光検出および測距(LIDAR、本明細書において、「LIDAR」または「LIDAR」とも称される)センサは、LIDARセンサにより走査される3次元(3D)環境(「シーン」とも呼ばれる)を表す点群データを生成する。LIDARセンサの単一の走査パスは、LIDARセンサが1回の走査パスを実行するのにかかる時間を表す期間内に、空間内の1つまたは複数の点から光が反射される複数の点のセットから成る点群データの「フレーム」(以下、「点群フレーム」と称される)を生成する。回転走査式LIDARセンサなど、いくつかのLIDARセンサは、円弧の光を発するレーザアレイを含み、LIDARセンサは、単一の位置を中心として回転して、点群フレームを生成する;ソリッドステートLIDARセンサなど、他のLIDARセンサは、1つまたは複数の位置から光を発し、かつ、各位置から検出される反射光を共に統合して点群フレームを形成するレーザアレイを含む。レーザアレイ内の各レーザは、走査パス毎に複数の点を生成するために用いられ、点群フレーム内の各点は、環境における空間内のある点においてレーザが発する光を反射する物体に対応する。各点は、典型的には、空間座標(X,Y,Z)のセット、および、強度(すなわち、レーザを反射する物体の反射率)などの値を示す他のデータとして格納される。いくつかの実装において、他のデータは、値のアレイとして表され得る。走査回転式LIDARセンサにおいて、点群フレームのZ軸は、典型的には、ほとんどの事例において各レーザの方位角方向におおよそ直交するLIDARセンサの回転軸により画定される(しかしながら、いくつかのLIDARセンサは、レーザのいくつかに、回転軸に直交する平面に対してわずかに上または下へ角度を付け得る)。
【0003】
点群データフレームも、高精細度レーダまたは深度カメラなど、他の走査技術により生成されてよく、理論上は、電磁または音波エネルギーなどのエネルギーの走査ビームを用いたあらゆる技術が、点群フレームを生成するために用いられ得る。LIDARセンサを参照して例を本明細書において説明するが、点群フレームを生成する他のセンサ技術がいくつかの実施形態において用いられ得ることが理解されるであろう。
【0004】
LIDARセンサは、自律走行車両を取り囲む環境(すなわち、シーン)を検知するために自律走行車両において用いられるプライマリセンサのうちの1つである。自律走行車両は概して、自動運転システム(ADS)または先進運転支援システム(ADAS)を含む。ADSまたはADASは、点群フレームを処理して、自律走行車両の位置特定、自律走行車両の経路計画、自律走行車両の動き計画または自律走行車両の軌道生成のためにADSまたはADASに他のサブシステムにより使用可能な予測を生成する知覚サブモジュールを含む。しかしながら、疎であり、かつ、順序付けられていないという点群フレームの性質が原因で、点レベルでの点群フレームの収集およびラベル付けのコストは、時間がかかり、かつ、高価である。点群フレーム内の複数の点は、点群フレーム内の複数の点の集合がオブジェクトクラス(例えば、「歩行者」または「オートバイ」)またはオブジェクトクラス(例えば、「歩行者♯3」)のインスタンスでラベル付けされ得るように、(例えば、オブジェクト検出、セマンティックセグメンテーション、インスタンスセグメンテーションまたはパノラマセグメンテーションを用いて)クラスタ化、セグメント化またはグループ化されなければならず、これらのラベルは、オブジェクト検出または様々なタイプのセグメンテーションなど、点群フレームに対する予測タスクについてモデルを訓練するために機械学習において用いられる。この煩雑なラベル付けプロセスにより、機械学習を用いた点群フレームに対する予測タスクのために高精度モデルを訓練するのに必要である、様々な道路および交通シーンを表すラベル付けされた点群フレームの利用可能性が限定される結果となってきた。
【0005】
セグメンテーションおよびオブジェクト検出などの予測タスクについて機械学習を用いてモデルを訓練するために用いられる点群フレームを含むそのようなラベル付けされた点群データセットの例は、SemanticKITTIデータセット(Behley et al., "SemanticKITTI: A Dataset for Semantic Scene Understanding of LiDAR Sequences," 2019 IEEE/CVF International Conference on Computer Vision (ICCV), Seoul, Korea (South), 2019, pp. 9296-9306, doi: 10.1109/ICCV.2019.00939により説明されている)、KITTI360(J. Xie, M. Kiefel, M. Sun and A. Geiger, "Semantic Instance Annotation of Street Scenes by 3D to 2D Label Transfer," 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, NV, USA, 2016, pp. 3688-3697, doi: 10.1109/CVPR.2016.401.により説明される)および Nuscenes-lidarseg(H. Caesar et al., "nuScenes: A Multimodal Dataset for Autonomous Driving," 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Seattle, WA, USA, 2020, pp. 11618-11628, doi: 10.1109/CVPR42600.2020.01164.により説明されている)であり、セマンティック情報を含む唯一の利用可能な点群データセット、すなわち、セグメンテーションまたはオブジェクト検出など、点群フレームに対する予測タスクについてモデルを訓練するためのセマンティック情報でラベル付けされた点群フレームであってよい。
【0006】
しかしながら、これらの利用可能な点群データセットは概して、特定のオブジェクトクラスからの物体を含む十分な点群フレームを含んでおらず、そのような物体を含む点群フレームのセットは、そのような各オブジェクトクラス内の物体のインスタンス(「オブジェクトインスタンス」)の多様性が欠如していることを示す。点群データセット内に現れる、数が限られたオブジェクトクラスは、本明細書において、不利なクラスと称され得る。既存の点群データセット内の不利なクラスは、典型的には、歩行者、自転車、自転車乗用者、オートバイ、モーターサイクリスト、トラックおよび他のタイプの車両など、小さなより一般的ではないタイプの物体である。
【0007】
不利なクラスは、2つの問題のいずれかまたは両方を引き起こし得る。第1の問題は、環境またはコンテキストの多様性が欠如していることから生じる。不利なクラスのオブジェクトインスタンスが点群データセット内の少数の点群フレームのみに現れる場合において、不利なクラスのオブジェクトインスタンスが点群データセットに現れる点群フレームとは異なる環境にオブジェクトインスタンスが現れるときは、点群フレームに対する予測タスク(オブジェクト検出または様々なタイプのセグメンテーションなど)について訓練されたモデル(例えば、ディープニューラルネットワークモデル)は、不利なクラス(すなわち、不利なクラスの物体に対応する点群)のオブジェクトインスタンスの認識を学習しないことがある。例えば、点群データセット内の点群フレームが、駐車場に対応する点群フレーム内の「モーターサイクリスト」(すなわち、不利なクラス「モーターサイクリスト」)のオブジェクトインスタンスのみを含む場合、このモデルは、道路環境内のモーターサイクリストを識別できないことがある。第2の問題は、オブジェクトインスタンスの多様性が欠如していることから生じる。不利なクラスのオブジェクトインスタンスが点群データセット内に非常に少ない数で現れる場合、オブジェクトインスタンスの多様性自体を保証できない。例えば、点群データセット内の点群フレームが、スポーツバイクに乗っているモーターサイクリスト(すなわち、不利なクラス「モーターサイクリスト」)のオブジェクトインスタンスのみを含む場合、このモデルは、スクータに乗っているモーターサイクリストを識別できないことがある。
【0008】
従来、点群フレームに対する予測タスク(セグメンテーションおよびオブジェクト検出など)についてモデルを訓練するために不利なクラスがある疎な点群データセットを用いる問題は、データ拡張を通じて対処されている。データ拡張は、点群フレームに対する予測タスクについてのモデルの訓練の改善を支援できる任意の技術を用いて既存のラベル付けされた点群データセットから新しい訓練サンプル(例えば、新しい意味論的にラベル付けされた点群フレーム)を生成して、より高いモデル精度(すなわち、より良い予測を生成するモデル)を実現するためのプロセスとみなされ得る。上記で特定されている環境多様性問題は、典型的には、1つの点群フレームから物体を抽出し、抽出された物体を他の点群フレームへ注入して、不利なクラスのオブジェクトインスタンスを含む追加の点群フレームを生成することを伴う方法により対処され、この方法は、モデルをさらに訓練するために用いられ得る。オブジェクトインスタンスが注入される点群フレームは、異なる環境に対応し得るので、他の環境における不利なクラスのオブジェクトインスタンスの認識の学習においてモデルを支援し得る。そのような技術の例は、Yan Yan, Yuxing Mao, Bo Li, "SECOND: Sparsely Embedded Convolutional Detection", Sensors 2018, 18(10), 3337; https://doi.org/10.3390/s18103337; Alex H. Lang, Sourabh Vora, Holger Caesar, Lubing Zhou, Jiong Yang, Oscar Beijbom, "PointPillars: Fast Encoders for Object Detection from Point Clouds", https://arxiv.org/abs/1812.05784; and Yin Zhou, Oncel Tuzel, "VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection", https://arxiv.org/abs/1711.06396を含む。データ拡張に対するこれらの既存のアプローチは、典型的には、以下の方式で進む。つまり、まず、オブジェクトインスタンスの周囲の境界ボックスで注釈が付けされた点群フレームからクラスタ(すなわち、物体の点群)を抽出することにより、オブジェクトインスタンスのデータベースが生成される。2番目に、オブジェクトインスタンスは、データベースからランダムに選ばれ、選ばれたオブジェクトインスタンスは、他の点群フレーム内の同様の位置へ注入される。最終的に、物体位置の競合(例えば、オブジェクトインスタンスが注入される目標点群フレーム内の別の物体との空間内の重複)を回避するために、衝突試験が実装される。点群フレームから抽出されたオブジェクトインスタンスは通常、LIDARセンサの指向性に起因して半分側である。したがって、LIDARセンサに面する表面を複数の点が画定することなくオブジェクトインスタンスのこの側を回避すべく、オブジェクトインスタンスの注入中、オブジェクトインスタンスの元の位置および姿勢を著しく変更することはできない。これらの既存のアプローチにより、点群フレーム毎の不利なクラスのオブジェクトインスタンスの数が増えることがあり、異なる環境に存在するオブジェクトインスタンスがシミュレートされる。
【0009】
しかしながら、環境多様性問題の解決に対するこれらの既存のアプローチには、典型的には、3つの制限がある。まず、これらは、注入されたオブジェクトインスタンスの表面上に妥当な走査線を生成できず、現実的な物体影(すなわち、注入されたオブジェクトインスタンスの背後に位置するシーン内に他の物体のオクルージョン)を生成することもできない。2番目に、注入されたオブジェクトインスタンスの位置および姿勢は、2つの点群フレーム(すなわち、オブジェクトインスタンスが現れる元の点群フレーム、および、オブジェクトインスタンスが注入される目標点群フレーム)内で必ず同一またはほぼ同一である。3番目に、これらの既存のアプローチは、オブジェクトインスタンスが異なる環境に現れるコンテキストを無視する。例えば、人は通常、歩道に現れるが、このコンテキストは、環境多様性への対処についての既存のアプローチでは考慮されない。さらに、オブジェクトインスタンスが、典型的には、LIDARセンサに対して同じ向きおよび位置で現れなければならないので、これらのアプローチは、コンテキストにおいて最も意味をなすであろう位置または向きでオブジェクトインスタンスが目標点群フレームへ注入されることを許容しない;例えば、目標点群フレームの全体が、LIDARセンサから20メートルだけ離れて延びる小さい駐車場を除いて歩道および建物から成っており、かつ、注入されているオブジェクトインスタンスが、元の点群フレーム内でLIDARセンサから50メートル離れて位置するトラックである場合、コンテキストにおいて意味を成すであろう位置で目標点群フレームへオブジェクトインスタンスを注入することはできない。
【0010】
オブジェクトインスタンス多様性問題は、典型的には、2つの異なるアプローチを用いて対処されてきた。第1のアプローチは、点群フレーム内の空間位置へ物体のコンピュータ支援設計(CAD)モデルを位置決めし、次に、物体のCADモデル、および目標点群フレームのLIDARパラメータ(例えば、LIDARセンサの装着姿勢、およびLIDARセンサのレーザが発する各光線のピッチ角)を用いることにより各物体を表す複数の点を生成することを伴う。第1のアプローチの例は、Jin Fang , Feilong Yan, Tongtong Zhao, Feihu Zhang, "Simulating LIDAR Point Cloud for Autonomous Driving using Real-world Scenes and Traffic Flows"; and Sivabalan Manivasagam, Shenlong Wang, Kelvin Wong, Wenyuan Zeng, Mikita Sazanovich, Shuhan Tan, Bin Yang, Wei-Chiu Ma, Raquel Urtasun, "LiDARsim: Realistic LiDAR Simulation by Leveraging the Real World"を含む。
【0011】
第1のアプローチの例は、いかなる制限もなく、物体のCADモデルを回転させ変換し、妥当な走査線および影を生成することを可能にし得る。環境多様性に対処するための上述のオブジェクトインスタンス注入アプローチとは対照的に、位置および姿勢の制約なく、注入中、コンテキストが考慮され得る。しかしながら、CADモデルベースのアプローチには、典型的には、3つの制限がある。まず、CADモデルは通常、GTAV(Xiangyu Yue, Bichen Wu, Sanjit A. Seshia, Kurt Keutzer, Alberto L. Sangiovanni-Vincentelli, A LiDAR Point Cloud Generator: from a Virtual World to Autonomous Driving, arXiv:1804.00103において説明されている)またはCARLA(Alexey Dosovitskiy, German Ros, Felipe Codevilla, Antonio Lopez, Vladlen Koltun, CARLA: An Open Urban Driving Simulator, arXiv:1711.03938において説明されている)、など、LIDARシミュレータから取得され、または、3Dモデルウェブサイトから購入される。これらの情報源から利用可能な物体のCADモデルの多様性は、典型的には、非常に制限されている。2番目に、物体の利用可能なCADモデルのスタイルは、それらがおそらくは対応する現実の物体とは異なり得る。例えば、ヨーロッパのトラックのCADモデルは、北米の道路環境に対応する点群フレームへ注入される場合、そのようなスタイルを有するトラックが、物体のCADモデルが認識およびナビゲートを訓練されている環境には実際に存在していないにもかかわらず、非常に現実的に見え得る。3番目に、物体のCADモデルは、注入されたオブジェクトインスタンスの正確な強度値を提供できない。物体の表面上の点の強度は、レーザが発する光線および光線を反射する表面の間の角度ならびに光線を反射する材料の反射率の関数である。しかしながら、物体の最も利用可能なCADモデルは、モデルの表面材料の反射率に関するいかなる情報も提供しない。
【0012】
オブジェクトインスタンス多様性問題への対処についての第2のアプローチは、WaymoTM at https://blog.waymo.com/2020/04/using-automated-data-augmentation-to.htmlにより概説されている。物体のCADモデルを用いて新しいオブジェクトインスタンスを点群フレームへ注入する代わりに、物体の密で完全な点群走査が、新しいオブジェクトインスタンスを目標点群フレームへ注入するために用いられる。物体の密で完全な点群走査の利点は、物体のCADモデルのものと同様であり、これらのCADモデルは、注入中、いかなる制限もなく回転および変換でき、妥当な走査線および影を生成することもできる。物体の注入された点群走査の多様性は、グラウンドトゥルース拡張(すなわち、同じ物体の2つまたはそれよりも多くのオブジェクトインスタンスを共に追加すること)、ランダムフリップ(すなわち、例えば水平方向にオブジェクトインスタンスを反転させること)、ワールドスケーリング(すなわち、オブジェクトインスタンスのサイズをスケーリングすること)、グローバル変換ノイズ(すなわち、オブジェクトインスタンスを異なる位置へ変換すること)、円錐台ドロップアウト(すなわち、例えば部分的なオクルージョンをシミュレートするために、オブジェクトインスタンスの見える表面の領域を削除すること)、円錐台ノイズ(すなわち、例えばわずかに異なる表面をシミュレートするために、オブジェクトインスタンスの複数の点の位置をランダムに乱すこと)、ランダム回転(すなわち、軸を中心としたオブジェクトインスタンスの回転)およびランダムドロップポイント(すなわち、例えばより低い解像度での走査をシミュレートするために、オブジェクトインスタンスの複数の点のランダムに選択されたサブセットを削除すること)という8つの異なるデータ拡張方法を用いて上げられ得る。
【0013】
しかしながら、密な点群オブジェクト走査を用いて新しいオブジェクトインスタンスを目標点群フレームへ注入することにも、多数の制限がある。まず、物体の密で完全な点群走査は、このアプローチを実装する必要がある。対照的に、LIDARにより生成される点群フレーム内のオブジェクトインスタンスは通常、疎かつ半分側である。したがって、このアプローチが実装され得る前に、慎重、密かつ完全に走査された物体の大きいデータセットがアセンブルされる必要があるだろう。2番目に、半分側走査に基づいて物体の完全な点群走査を生成するために、物体対称性が用いられることが多い。しかしながら、歩行者、モーターサイクリストおよび自転車乗用者など、道路環境または他の環境において遭遇する多くの小さい物体は、対称ではない。したがって、対称性に依存して、物体の密な半走査を有する点群フレームを含む既存の点群データセットから外挿することだけでは、物体の点群走査の大きいデータベースをアセンブルする必要性に対処できない。3番目に、物体の密な点群走査は通常、物体の完全な点群走査を撮像すべく異なる地点から撮像されるので、物体の密な点群走査の強度は、正確ではないことがある。例えば、物体の完全な密な走査を生成すべく、3Dスキャナが、少なくとも1つの方向において物体を中心として回転させられ得る;これが複数の方向からの同じ点の走査をもたらすことにより、その点の競合する強度測定値が生成され、異なる走査方向に対する、かつ、したがって、互いに一致しない異なる複数の点の強度測定値が生成される。
【0014】
したがって、上述の既存のアプローチの制限のうちの1つまたは複数を克服した点群データセットのためのデータ拡張技術の必要性が存在する。
【発明の概要】
【0015】
本開示は、セグメンテーションまたはオブジェクト検出など、点群フレームに対する予測タスクについて機械学習モデルを訓練することを目的とする、モデル注入を用いた点群データ拡張のためのデバイス、システム、方法および媒体を説明する。本明細書において説明される例示的なデバイス、システム、方法および媒体は、新しい点群オブジェクトインスタンスを目標点群フレーム内の任意の位置における目標点群フレームへ注入して新しい拡張された点群フレームを生成するために用いられ得る表面モデルのライブラリを生成し得る。次に、拡張された点群フレームは、点群フレームに対する予測タスクについて訓練された機械学習モデル(すなわち、機械学習アルゴリズムおよび元の点群データセットを用いて訓練された機械学習モデル)の精度を改善するための訓練データとして用いられ得る。
【0016】
本開示において、「LIDAR」(「LiDAR」または「Lidar」とも)という用語は、センサがレーザビームを発し、位置、および潜在的には、周囲環境において光を反射する物体からを他の特徴を収集する検知技術である、光検出および測距を指す。
【0017】
本開示において、「点群オブジェクトインスタンス」、または単に、「オブジェクトインスタンス」または「インスタンス」という用語は、単一の物体として定義され得る、自動車、家または歩行者など、単一の定義可能な物体の点群を指す。例えば、典型的には、道路は、オブジェクトインスタンスにはなり得ない;代わりに、道路は、フレームのシーンタイプまたは領域を定義するものとして点群フレーム内で定義され得る。
【0018】
本開示において、「注入」という用語は、点群オブジェクトインスタンスを点群フレームに追加するプロセスを指す。「フレーム」という用語は、別段の記載がない限り、点群フレームを指す;「元の」フレームは、「目標」フレームへの注入のために抽出され得るラベル付けされた点群オブジェクトインスタンスを含むフレームである;ひとたびオブジェクトインスタンスが目標フレームへ注入されると、目標フレームは、「拡張された」フレームと称されることがあり、拡張されたフレームが追加された点群データの任意のデータセットは、「拡張された点群データ」、または単に、「拡張されたデータ」と称されることがある。「注釈」および「ラベル」という用語は、点群フレームまたはそれらの領域にアタッチされたシーンタイプラベルまたは点群フレーム内のオブジェクトインスタンスにアタッチされたオブジェクトクラスラベルなど、点群データとのセマンティックデータの関連付けを示すように同じ意味で用いられている。
【0019】
本開示において、「完全な点群オブジェクト走査」は、物体の複数の表面が点群で表されるように、1つよりも多くの位置から走査された物体に対応する点群を指す。「密な」点群は、表面の面積単位毎の点の数が比較的多い、物体の1つまたは複数の表面に対応する点群を指す。「表面モデル」は、物体の1つまたは複数の表面の3次元モデルを指す;表面は、多角形、点、テクスチャマッピング、および/または3次元表面を表す任意の他の手段として表され得る。
【0020】
本明細書において説明される例示的なデバイス、システム、方法および媒体は、元の点群データセット(すなわち、ラベル付けされた点群フレームのデータセット)内の不利なクラスを強化し得る。表面モデルは、点レベルラベルを有する点群フレーム(例えば、意味論的にセグメント化された点群フレーム)から導出される。元の点群フレーム内のセマンティックラベルでラベル付けされたオブジェクトインスタンスは、不完全(半分側)かつ疎であってよい。しかしながら、本明細書において説明される方法およびシステムは、元の点群フレーム内の不完全で疎なオブジェクトインスタンスから、密な半分側点群オブジェクトインスタンスを導出し得る。これらの密な点群オブジェクトインスタンスは、新しい点群オブジェクトインスタンスを目標フレームへ注入するための表面モデルとして用いられ得る。
【0021】
本明細書において説明される例示的なデバイス、システム、方法および媒体は、オブジェクトインスタンス多様性問題への対処を試みる既存のアプローチでのように物体のCADモデルまたは物体の完全な密な点群走査を用いて新しい点群オブジェクトインスタンスを目標点群フレームへ注入するのではなく、LIDARセンサにより生成される実際の点群フレームから導出される点群オブジェクトインスタンスを注入する;しかしながら、説明されている方法およびシステムを活用して、物体のCADモデルまたは密で完全な点群オブジェクト走査を用いて点群オブジェクトインスタンスを注入することもできる。注入された点群オブジェクトインスタンスは、目標点群フレームを生成するために用いられる異なるタイプのLIDARセンサから受信される点群フレームから取得され得る(例えば、元の点群フレームおよび目標点群フレームを生成するために用いられるLIDARセンサのレーザアレイの範囲および走査線構成は、同じである必要はない)。本明細書において説明される例示的な方法およびシステムを用いて生成される注入された点群オブジェクトインスタンスは、表面における妥当な走査線(例えば、現実の方向、密度および強度)、および現実の影を有する。概して、本明細書において説明される例示的な方法およびシステムを用いて生成される拡張された点群フレームは、LIDARセンサにより生成される現実の点群フレームと非常に類似し得る。
【0022】
本明細書において説明される例示的な方法およびシステムは、コンテキストを用いて、生成済みの拡張された点群フレームの現実感および有用性をさらに改善するように構成され得る。注入された点群オブジェクトインスタンスのオブジェクトクラス、数、位置および分布は、パラメータを用いて完全に制御され得る。例えば、本明細書において説明される例示的な方法およびシステムが、5人を目標点群フレームへ注入するよう命令された場合、分布を用いて5つの点群オブジェクトインスタンスが注入され得る。各点群オブジェクトインスタンスには、歩道上に位置している確率が90%あり、道路上に位置している確率が10%ある。
【0023】
本明細書において説明される例示的な方法およびシステムは、以下の一連の動作を実行して、点群データフレームまたは点群データセットを拡張し得る。まず、LIDARセンサにより生成され、かつ、点レベルラベルで注釈が付けられた既存の点群フレームを含む点群データセットを処理することにより、表面モデルのライブラリが生成される。ライブラリ生成プロセスは、元の点群フレームからオブジェクトインスタンスを抽出するためのオブジェクト抽出およびクラスタ化に続き、抽出された点群オブジェクトインスタンスから高密度点群オブジェクトインスタンスを導出するための方位角-仰角面に対する点群アップサンプリングを伴い得る。2番目に、ライブラリから選択される点群オブジェクトインスタンスは、拡張された点群フレームを生成するために、目標点群フレームへ注入される。注入プロセスは、点群オブジェクトインスタンスが注入され得る目標点群フレーム内の位置を決定するためのアンカーポイント選択、表面モデルを目標点群フレーム内に位置付けるためのオブジェクト注入、および、表面モデルをダウンサンプリングして目標点群フレーム内のアンカー位置におけるLIDARセンサの走査線をシミュレートし、目標点群フレーム内の他の点群オブジェクトを隠す影を生成するための走査線および影生成を伴い得る。
【0024】
本明細書において説明される方法およびシステムのいくつかの例は、既存のアプローチに対する利点を示し得る。表面モデルのライブラリは、ラベル付けされた点群フレームから直接取得され得るが、物体のCADモデルおよび密な点群オブジェクト走査を用いてポピュレートされてもよく、本明細書において説明される注入技術の利点を依然として利用してよい。目標点群フレームの表面モデルは、異なるタイプのLIDARセンサにより生成される点群フレームから取得され得る。例えば、32ビームLIDARセンサにより生成される点群フレームから抽出される点群オブジェクトインスタンスは、64ビームLIDARセンサにより生成される目標点群フレームへ挿入され得る。注入された点群オブジェクトインスタンスの走査線特性(密度、方向および強度を含む)、および注入された点群オブジェクトインスタンスが投げる影は、現実的にシミュレートされる。注入された点群オブジェクトインスタンスのタイプ、数および注入位置(すなわち、アンカー位置)は、パラメータにより制御され得る。点群フレームのラベル付け時間(すなわち、複数の点をラベル付けするための時間)は、実質的に低減され得る。なぜなら、元の点群フレーム内の対象オブジェクトのみが、高密度点群オブジェクトインスタンスのライブラリをポピュレートするために用いられ、目標点群フレームへ注入される前に、ラベル付けされる必要があるからである;元の点群フレーム内の全ての点をラベル付けする必要はないことがある。
【0025】
いくつかの態様において、本開示は、方法を説明する。点群オブジェクトインスタンスが取得される。点群オブジェクトインスタンスは、表面モデルを生成するために、補間を用いてアップサンプリングされる。
【0026】
いくつかの態様において、本開示は、点群データを拡張するためのシステムを説明する。システムは、プロセッサデバイスおよびメモリを備える。メモリは、点群オブジェクトインスタンス、目標点群フレームおよび機械実行可能命令を格納する。機械実行可能命令は、プロセッサデバイスにより実行された場合、多数の動作をシステムに実行させる。点群オブジェクトインスタンスは、表面モデルを生成するために、補間を用いてアップサンプリングされる。アンカー位置は、目標点群フレーム内で決定される。表面モデルは、変換された表面モデルを生成するために、アンカー位置に基づいて変換される。変換された表面モデルの複数の走査線が生成され、各走査線は、目標点群フレームの複数の走査線と位置合わせされた複数の点を含む。変換された表面モデルの複数の走査線は、拡張された点群フレームを生成するために、目標点群フレームに追加される。
【0027】
方法およびシステムのいくつかの例において、点群オブジェクトインスタンスは、センサ位置に対する点群オブジェクトインスタンスの向きを示す向き情報を含み得る。点群オブジェクトインスタンスは、点群オブジェクトインスタンス内の複数の点の各々について、点強度情報および点位置情報をさらに含む。表面モデルは、点群オブジェクトインスタンスの向き情報、点強度情報および点位置情報を含む。
【0028】
方法およびシステムのいくつかの例において、点群オブジェクトインスタンスは、複数の走査線を含んでよく、各走査線は、複数の点のサブセットを含む。点群オブジェクトインスタンスをアップサンプリングする段階は、線形補間を用いて、少なくとも1つの走査線に沿って複数の点を追加する段階を含み得る。
【0029】
方法およびシステムのいくつかの例において、点群オブジェクトインスタンスをアップサンプリングする段階は、線形補間を用いて、複数の走査線の少なくとも1対の走査線の間に複数の点を追加する段階をさらに含み得る。
【0030】
システムのいくつかの例において、線形補間を用いて点を追加する段階は、2つの既存の点の点位置情報の線形補間に基づいて、追加された点に点位置情報を割り当て、2つの既存の点の点強度情報の線形補間に基づいて、追加された点に点強度情報を割り当てる段階を含み得る。
【0031】
いくつかの態様において、本開示は、方法を説明する。目標点群フレームが取得される。目標点群フレーム内のアンカー位置が決定される。物体の表面モデルが取得される。表面モデルは、変換された表面モデルを生成するために、アンカー位置に基づいて変換される。変換された表面モデルの複数の走査線が生成され、各走査線は、目標点群フレームの複数の走査線と位置合わせされた複数の点を含む。変換された表面モデルの複数の走査線は、拡張された点群フレームを生成するために、目標点群フレームに追加される。
【0032】
方法およびシステムのいくつかの例において、表面モデルは、密な点群オブジェクトインスタンスを含み得る。
【0033】
方法およびシステムのいくつかの例において、表面モデルを取得する段階は、点群オブジェクトインスタンスを取得し、補間を用いて点群オブジェクトインスタンスをアップサンプリングして、表面モデルを生成する段階を含み得る。
【0034】
方法およびシステムのいくつかの例において、表面モデルは、コンピュータ支援設計(CAD)モデルを含み得る。
【0035】
方法およびシステムのいくつかの例において、表面モデルは、完全な密な点群オブジェクト走査を含み得る。
【0036】
いくつかの例において、方法は、変換された表面モデルの影を決定する段階、影内に位置する目標点群フレームの1つまたは複数の隠された点を識別する段階、および拡張された点群フレームから複数の隠された点を除去する段階をさらに備え得る。
【0037】
方法およびシステムのいくつかの例において、変換された表面モデルの複数の走査線を生成する段階は、2次元画素アレイを含む範囲画像を生成する段階、ここで、各画素は、目標点群フレームの点に対応する、変換された表面モデルを範囲画像上へ投影する段階、および範囲画像の各画素について、画素が変換された表面モデルの投影の少なくとも1つの点を含んでいるという判断に応答して、画素の中心への変換された表面モデルの投影の最近傍点を識別する段階、および最近傍点を走査線に追加する段階を有し得る。
【0038】
方法およびシステムのいくつかの例において、表面モデルは、表面モデルのオブジェクトクラスを示すオブジェクトクラス情報を含み得る。目標点群フレームは、目標点群フレームの領域のシーンタイプを示すシーンタイプ情報を含む。アンカー位置を決定する段階は、表面モデルが領域内に位置しているはずであるという、領域のシーンタイプおよび表面モデルのオブジェクトクラスに基づく判断に応答して、アンカー位置を領域内に位置決めする段階を有する。
【0039】
方法およびシステムのいくつかの例において、アンカー位置に基づいて表面モデルを変換する段階は、センサ位置に対する表面モデルの向きを維持しつつ、目標点群フレームのセンサ位置により画定される軸を中心として表面モデルを表面モデル基準方向およびアンカーポイント方向の間で回転させる段階、および表面モデルを基準距離およびアンカーポイント距離の間で変換する段階を有し得る。
【0040】
いくつかの例において、方法は、拡張された点群フレームを用いて機械学習モデルを訓練する段階をさらに備え得る。
【0041】
いくつかの態様において、本開示は、上述の方法のうちの1つまたは複数により生成される表面モデルが格納された非一時的プロセッサ可読媒体を説明する。
【0042】
いくつかの態様において、本開示は、上述の方法のうちの1つまたは複数により生成される拡張された点群フレームが格納された非一時的プロセッサ可読媒体を説明する。
【0043】
いくつかの態様において、本開示は、デバイスのプロセッサデバイスにより実行された場合、上述の方法のうちの1つまたは複数の段階をデバイスに実行させる格納された機械実行可能命令を有する非一時的プロセッサ可読媒体を説明する。
【図面の簡単な説明】
【0044】
ここで、本願の例示的な実施形態を示す添付図面を例として参照する。
【0045】
【
図1A】本明細書において説明される実施形態のための動作コンテキストを提供する例示的な簡略化された点群フレームの上方正面右側斜視図である。
【0046】
【
図1B】本明細書において説明される実施形態による使用に適切な、「自転車乗用者」オブジェクトクラスでラベル付けされた例示的な点群オブジェクトインスタンスの上方正面右側斜視図である。
【0047】
【
図1C】本明細書において説明される実施形態により生成される、
図1Bの点群オブジェクトインスタンスに基づく例示的な表面モデルの上方正面右側斜視図である。
【0048】
【
図1D】本明細書において説明される例による、目標点群フレームへの注入の前に回転、変換およびスケーリングが行われる
図1Bの点群オブジェクトインスタンスの上面図である。
【0049】
【
図2】本明細書において説明される例による、表面モデルおよび拡張された点群フレームを生成するための例示的なシステムのいくつかのコンポーネントを示すブロック図である。
【0050】
【
図3】
図2のライブラリ生成モジュール、データ拡張モジュールおよび訓練モジュールの動作を示すブロック図である。
【0051】
【
図4】
図3のライブラリ生成モジュールにより実行され得る表面モデルを生成する例示的な方法の段階を示すフローチャートである。
【0052】
【
図5】
図3のデータ拡張モジュールにより実行され得る拡張された点群フレームを生成する例示的な方法の段階を示すフローチャートである。
【0053】
【
図6】
図4および
図5の方法により生成される拡張された点群データを用いて機械学習モデルを訓練する例示的な方法の段階を示すフローチャートである。
【0054】
同様のコンポーネントを表すのに同様の参照番号が異なる図において用いられていることがある。
【発明を実施するための形態】
【0055】
本開示は、点群セグメンテーションおよび/またはオブジェクト検出を実行すべく機械学習モデルを訓練するための適応型シーン拡張用の例示的なデバイス、システム、方法および媒体を説明する。
【0056】
図1Aは、複数の点がX、YおよびZの3次元座標系102にマッピングされた、例示的な簡略化された点群フレーム100を示す。Z次元は、典型的には、点群フレーム100を生成するLIDARセンサまたは他のパノラマセンサの回転軸により画定されるように、上方へ延びる。点群フレーム100は、多数の点を含み、それらの各々は、この点に対応する物体の反射率を示す強度値など、他の値のベクトルに沿った点群フレーム100内の一組の座標(x,y,z)により表され得る。各点は、点座標に対応するLIDARセンサに対する空間内の点においてレーザが発する光の反射を表す。例示的な点群フレーム100が箱形状または矩形のプリズムとして示されている一方で、パノラマLIDARセンサにより撮像される典型的な点群フレームは、典型的には、LIDARセンサを取り囲む環境の360度パノラマビューであり、LIDARセンサの検出範囲全体に延びていることが理解されるであろう。したがって、例示的な点群フレーム100は、実際のLIDARにより生成される点群フレームの小さい部分においてより典型的であり、例示目的で用いられる。
【0057】
点群フレーム100の複数の点が、LIDARセンサのレーザが発する光が環境内の物体により反射される空間内でクラスタ化され、これにより、LIDARセンサから見える物体の表面に対応する点のクラスタがもたらされる。第1の点群112は、自動車からの反射に対応している。例示的な点群フレーム100において、第1の点群112は、境界ボックス122に囲まれており、オブジェクトクラスラベル(この事例では、「自動車」132というラベル)に関連付けられている。第2の点群114は、境界ボックス122に囲まれており、「自転車乗用者」134というオブジェクトクラスラベルに関連付けられており、第3の点群116は、境界ボックス122に囲まれており、「歩行者」136というオブジェクトクラスラベルに関連付けられている。したがって、点クラスタ112、114、116の各々は、オブジェクトインスタンス、つまり、「自動車」、「自転車乗用者」および「歩行者」というオブジェクトクラスのインスタンスにそれぞれ対応している。点群フレーム100全体が「交差点」というシーンタイプラベル140に関連付けられており、これは、点群フレーム100が全体として交差点の近くの環境に対応している(故に、自動車、歩行者および自転車乗用者は、互いに近接して存在している)ことを示す。
【0058】
いくつかの例において、単一の点群フレームは、異なるシーンタイプラベル140に各々が関連付けられ得る複数のシーンを含み得る。したがって、単一の点群フレームは、各領域がその独自のシーンタイプラベル140に関連付けられた複数の領域へセグメント化され得る。単一のシーンタイプのみに関連付けられた単一の点群フレームを参照して、例示的な実施形態を本明細書において概して説明する;しかしながら、いくつかの実施形態では、本明細書において説明されるデータ拡張方法およびシステムを用いた点群オブジェクトインスタンス注入について点群フレーム内の各領域を別々に考慮し得ることが理解されるであろう。
【0059】
各境界ボックス122は、サイズ設定されて位置付けられており、物体ラベル132、134、136の各々は、各点クラスタに関連付けられており、シーンラベルは、ラベル付けされた点群フレームを生成するための機械学習分野において既知であるデータラベル技術を用いて、点群フレーム100に関連付けられている。上述のように、これらのラベル付け技術は概して、非常に時間がかかるものであり、かつ、リソース集中型である;本明細書において説明されるデータ拡張技術は、点群フレーム100内のラベル付けされた点群オブジェクトインスタンスの数を増やすことにより、点群フレーム内の点群オブジェクトインスタンスを手動で識別およびラベル付けするために必要とされる時間およびリソースを低減するために、いくつかの例において用いられ得る。
【0060】
図1Aに示される例示的な点群フレーム100のラベルおよび境界ボックスは、オブジェクト検出のコンテキストにおいて適用されるラベルに対応しており、したがって、例示的な点群フレームは、点群フレーム上のオブジェクト検出用の機械学習モデルを訓練するために用いられる点群データセットに含まれ得る。しかしながら、本明細書において説明される方法およびシステムは、点群フレーム上のオブジェクト検出のモデルのみではなく、点群フレームのセマンティックセグメンテーション、インスタンスセグメンテーションまたはパノラマセグメンテーションを含む、点群フレーム上のセグメンテーションのモデルにも等しく適用可能である。
【0061】
本明細書において説明される例示的な方法およびシステムの動作を参照して、
図1Bから
図1Dを以下で説明する。
【0062】
図2は、点群フレームを拡張する(または点群フレームを含む点群データセットを拡張する)ためのコンピューティングシステム200(以下、システム200と称される)のブロック図である。システム200の例示的な実施形態が以下に示され説明されるが、示されるものとは異なるコンポーネントを含み得る、本明細書において開示される例を実装するために、他の実施形態が用いられ得る。
図2はシステム200の各コンポーネントの単一のインスタンスを示しているが、示されている各コンポーネントの複数のインスタンスが存在し得る。
【0063】
システム200は、中央処理装置、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、専用論理回路、テンソル処理ユニット、ニューラル処理ユニット、専用人工知能処理ユニット、またはそれらの組み合わせなど、1つまたは複数のプロセッサ202を含む。1つまたは複数のプロセッサ202は、「プロセッサデバイス」または「プロセッサ202」と総称され得る。
【0064】
システム200は、揮発性または不揮発性メモリ(例えば、フラッシュメモリ、ランダムアクセスメモリ(RAM)および/またはリードオンリメモリ(ROM))を含み得る1つまたは複数のメモリ208(「メモリ208」と総称される)を含む。非一時的メモリ208は、本開示において説明される例の実行など、プロセッサ202による実行のための機械実行可能命令を格納し得る。メモリ208に格納されている、ライブラリ生成モジュール330、データ拡張モジュール340および訓練モジュール234を定義する機械実行可能命令220のセットが示されており、その各々は、プロセッサ202により、本明細書において説明される方法の段階を実行するために実行され得る。ライブラリ生成モジュール330、データ拡張モジュール340および訓練モジュール234を定義する機械実行可能命令220のセットを実行する際のシステム200の動作を、
図3を参照して、以下で説明する。シーン拡張モジュール300を定義する機械実行可能命令220は、それらの各サブモジュール312、314、316、318、320、322の機能を実行するために、プロセッサ202により実行可能である。メモリ208は、例えば、オペレーティングシステムおよび他のアプリケーションまたは機能を実装するために、他の機械実行可能命令を含み得る。
【0065】
メモリ208は、点群データセット210を含むデータセットを格納する。
図1を参照して上述したように、点群データセット210は、複数の点群フレーム212および複数のラベル付けされた点群オブジェクトインスタンス214を含む。いくつかの実施形態において、ラベル付けされた点群オブジェクトインスタンス214のいくつかまたは全てが、点群フレーム212内に含まれ、および/または点群フレーム212から導出される。
図1を参照して上述したように、例えば、各点群フレーム212は、0またはそれよりも多いラベル付けされた点群オブジェクトインスタンス214を含み得る。いくつかの実施形態において、ラベル付けされた点群オブジェクトインスタンス214のいくつかまたは全てが、点群フレーム212から別々に格納され、ラベル付けされた点群オブジェクトインスタンス214の各々は、点群フレーム212のうちの1つ内から生じてよく、またはそうでなくてよい。
図3および
図4を参照して以下で説明されるライブラリ生成モジュール330は、いくつかの実施形態における1つまたは複数の点群フレーム212から1つまたは複数のラベル付けされた点群オブジェクトインスタンス214を抽出するための動作を実行し得る。
【0066】
メモリ208は、機械学習モデル224、1つまたは複数の表面モデルを含む表面モデルライブラリ222、目標点群フレーム226、目標表面モデル228(表面モデルライブラリ222)から選択される)、変換された表面モデル232および拡張された点群フレーム230を含む、本明細書において説明される他のデータ、情報、ルール、ポリシーおよび機械実行可能命令も格納し得る。
【0067】
いくつかの例において、システム200は、ソリッドステートドライブ、ハードディスクドライブ、磁気ディスクドライブおよび/または光ディスクドライブなど、1つまたは複数の電子ストレージユニット(不図示)も含み得る。いくつかの例において、1つまたは複数のデータセットおよび/またはモジュールが、外部メモリ(例えば、システム200)との有線または無線通信における外部ドライブ)により提供されてよく、または一時的または非一時的コンピュータ可読媒体により提供されてよい。非一時的コンピュータ可読媒体の例は、RAM、ROM、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリ、CD-ROMまたは他のポータブルメモリストレージを含む。ストレージユニットおよび/または外部メモリは、システム200のデータ格納、取得およびキャッシュ機能を実装するために、メモリ208と併せて用いられ得る。
【0068】
システム200のコンポーネントは、例えばバスを介して互いに通信し得る。いくつかの実施形態において、システム200は、クラウドコンピューティングプラットフォームなど、分散システムであり、ネットワークを介して互いに通信している複数のコンピューティングデバイス、および任意選択的に、1つまたは複数の追加のコンポーネントを含み得る。本明細書において説明される様々な動作は、いくつかの実施形態において、分散システムの異なるデバイスにより実行され得る。
【0069】
図3は、システム200のプロセッサ202により実行される、例示的なライブラリ生成モジュール330、データ拡張モジュール340および訓練モジュール234の動作を示す。図示される実施形態において、ライブラリ生成モジュール330は、いくつかの機能サブモジュールまたはサブモジュール(インスタンス抽出サブモジュール312およびアップサンプリングサブモジュール314)を含み、データ拡張モジュール340は、いくつかの機能サブモジュール(フレーム選択サブモジュール316、変換サブモジュール318、インスタンス注入サブモジュール320および表面モデル選択サブモジュール322)を含む。他の例において、サブモジュール312、314、316、318、320、322のうちの1つまたは複数が、組み合わされてよく、複数のサブモジュールへ分割されてよく、および/または、とりわけサブモジュールの間で再分配される機能または動作のうちの1つまたは複数を有してよい。いくつかの例において、ライブラリ生成モジュール330、データ拡張モジュール340および/または訓練モジュール234は、追加の動作またはサブモジュールを含んでよく、または図示されているサブモジュール312、314、316、318、320、322のうちの1つまたは複数を省略してよい。
【0070】
図4に示される例示的な方法400を参照して、
図3に示されるライブラリ生成モジュール330の様々なサブモジュールの動作をここで説明する。
【0071】
図4は、表面モデルを生成する例示的な方法400の段階を示すフローチャートである。説明したように、方法400の段階は、
図3に示されるライブラリ生成モジュール330の様々なサブモジュールにより実行される。しかしながら、方法400は、任意の適切な情報処理技術により実行され得ることが理解されるであろう。
【0072】
方法400は、段階402において開始する。402において、インスタンス抽出サブモジュール312は、点群データセット210から点群オブジェクトインスタンスを抽出することにより、抽出されたインスタンス306を生成する。
【0073】
図1Bは、LIDARセンサ(または、上述の他の3Dセンサ)により生成される点群フレーム212内の例示的なラベル付けされた点群オブジェクトインスタンス148の詳細図を示す。図示されている点群オブジェクトインスタンス148(例えば、点群データセット210から選択されるラベル付けされた点群オブジェクトインスタンス214のうちの1つ)は、
図1Aの第2の点群114(すなわち、「自転車乗用者」の点群オブジェクトインスタンス)から成っており、複数の点142は、走査線144に沿って配置されている。したがって、ラベル付けされた点群オブジェクトインスタンス148は、複数の走査線144を含み、各走査線144は、ラベル付けされた点群オブジェクトインスタンス148の複数の点142のサブセットを含む。走査線144は、複数の測定値の中間の方位角方向に沿って動くLIDARセンサのレーザが発する光が物体(この事例では、自転車乗用者)により反射され、LIDARセンサにより検出される複数の点に対応している。図示されている例において、走査線144の方向を画定する方位角方向は、おおよそ水平(すなわち、点群フレームの座標系102により画定されるX-Y平面上)である。
図1Aを参照して上述したように、ラベル付けされた点群オブジェクトインスタンス148は、「自転車乗用者」オブジェクトクラスラベル134および複数の点を囲む境界ボックス122を含む。
【0074】
いくつかの実施形態において、オブジェクトクラスラベル134および境界ボックス122など、セマンティック情報が、インスタンス抽出段階402の一部として、インスタンス抽出サブモジュール312により、点群オブジェクト検出および/または点群フレームセグメンテーションについての既知の技術を用いて生成され得る。他の実施形態において、点群データセット210の点群フレーム212は、セマンティック情報のラベルおよび注釈を付けられているラベル付けされた点群オブジェクトインスタンス214を既に含んでいる。
【0075】
インスタンス抽出サブモジュール312は、(例えば、点群フレーム212から)点群フレームを取得し、点群フレーム内の所与のオブジェクトクラスラベル134でラベル付けされた複数の点を識別する。物体の複数のインスタンスが、オブジェクトクラスラベルのみで一様に注釈を付けられるように、かつ、個々のオブジェクトインスタンスへセグメント化されないように、セマンティックセグメンテーションを用いてフレームに注釈が付けられている場合、インスタンス抽出サブモジュール312は、オブジェクトクラスラベル134で注釈が付けられた複数の点をクラスタ化して、ラベル134により示されるオブジェクトクラスの個々のオブジェクトインスタンスを(例えば、パノラマ的またはインスタンスセグメンテーションを用いて、またはオブジェクト認識を用いて)生成し得る。
【0076】
ラベル付けされた点群オブジェクトインスタンス148、およびオブジェクト抽出プロセスにより生成される抽出されたインスタンス306は、センサ位置に対するラベル付けされた点群オブジェクトインスタンス148の向きを示す向き情報を含み得る。例えば、点群フレーム212内の複数の点142を生成するために用いられるLIDARセンサのレーザが発する光線の投影方向は、抽出されたインスタンス306の一部として記録され、例えば、座標系102を用いた方向ベクトルとして定義され得る。各点142は、座標系102内の(x,y,z)座標のセットを含むフォーマットで記録され得る。したがって、点142の強度値は、物体表面からの光の反射地点における物体表面の反射率の関数として、ならびに、この点を生成するために用いられるLIDARセンサが発する光線を画定する方向ベクトルおよび点142の空間座標の間の関係、すなわち、抽出されたインスタンス306の向き情報として理解され得る。したがって、向き情報は、光線の方向ベクトルおよび空間内のその点における光を反射する物体の表面法線の間の関係を表すために用いられる。向き情報は、オクルージョンおよび強度値が正確に表されるように、目標点群フレーム(すなわち、点群オブジェクトインスタンスが注入されている点群フレーム)のセンサ位置に対する注入された点群オブジェクトインスタンスの向きを維持するために、注入プロセス(
図5を参照して以下で説明される)中に用いられ得る。
【0077】
図1Aを参照して上述したように、ラベル付けされた点群オブジェクトインスタンス148、およびオブジェクト抽出プロセスにより生成される抽出されたインスタンス306は、各点144について、点強度情報(例えば、強度値)および点位置情報(例えば、空間(x,y,z)座標)ならびに、潜在的に、他のタイプの情報も含み得る。
【0078】
404において、アップサンプリングサブモジュール314が、抽出された点群オブジェクトインスタンス306をアップサンプリングして、
図1Cに示される自転車乗用者表面モデル152など、表面モデルを生成する。
【0079】
図1Cは、
図1Bに示される自転車乗用者オブジェクトインスタンス148の抽出された点群オブジェクトインスタンス306に基づいてアップサンプリングサブモジュール314により生成される自転車乗用者の例示的な表面モデル152を示す。アップサンプリングサブモジュール314は、抽出された点群オブジェクトインスタンス306の点群クラスタ(すなわち、自転車乗用者を表す第2の点群クラスタ114)を、線形補間を用いてアップサンプリングして、各走査線144に沿って、かつ、走査線144の間に、クラスタ内の点の数を増やす。回転走査式LIDARセンサにより撮像される点群オブジェクトインスタンスは通常、垂直方向(例えば、Z軸におおよそ平行な仰角方向)および水平方向(例えば、X-Y平面におおよそ平行な方位角方向157)において非常に異なる点密度を有する。多角形メッシュを用いて表面を表す従来の表面生成方法、例えば、greedy表面三角測量およびデローネイ三角測量アルゴリズムは、穴を有する多角形メッシュから成る表面を生じさせ、これにより、走査線および影生成(
図5を参照して以下で説明される)中、穴と、表面の影エリアに現れる複数の点とに対応するエリア内の複数の点を欠いた複数の走査線がもたらされ得る。本明細書において説明される方法およびシステムの例では、対照的に、点群オブジェクトインスタンスは、回転走査式LIDARセンサの特性を利用することにより直接アップサンプリングされ得る。まず、各走査線の複数の点142に対して線形補間が実行され、走査線144の既存の複数の点142の中間に新しい複数の点155を追加することにより、水平方向における各走査線144の点密度が上がる。2番目に、薄いスライディングウィンドウ156を用いて、複数の点142のセットが方位角157に沿って分離される(すなわち、ウィンドウ156により、垂直方向に互いにおおまかに位置合わせされた複数の走査線144上に位置する複数の点142が分離される)。線形補間を用いて走査線144の中間に新しい複数の点154を追加することにより、垂直方向における複数の点142の密度が上がる。したがって、走査線144に沿って複数の点155を追加すること、および複数対の走査線144の間に複数の点154を追加することにより(両方の事例において線形補間が用いられる)、点群オブジェクトインスタンス148がアップサンプリングされる。
【0080】
追加された複数の点155、154は、線形補間を用いて、追加された複数の点155、154に点位置情報および点強度情報の両方を割り当てる。このアップサンプリングは、方位角-仰角面、すなわち、方位角方向157に沿った、垂直方向に分離されたレーザの掃引により画定される平面に対して(例えば、センサ位置を中心として垂直方向に分離された円弧において)実行され得る。アップサンプリングサブモジュール314により生成される表面モデルの密度は、補間の間隔、例えば、ライブラリ生成モジュール330のユーザにより定義されるパラメータを定義することにより制御され得る。
図5を参照して以下で説明するように、表面モデルが十分に密である場合において、複数の点が表面モデルにより隠されるはずであるときは、影生成は、点群フレーム内に残される複数の点を一切もたらさないはずである。
【0081】
アップサンプリングサブモジュール314は、表面モデルの生成において用いられる点群オブジェクトインスタンス148の向き情報、点強度情報および点位置情報など、表面モデルにおける他の情報を含む。表面モデルが操作され得る空間内の単一の点を示す基準点158も、表面モデルに含まれ得る。いくつかの実施形態において、基準点158は、境界ボックス122の水平次元内の中心位置における、境界ボックス122の底面上または底面の近くに位置し、[x
mean、y
mean、z
min]として、すなわち、境界ボックスのX-Y長方形の水平中心におけるxおよびy値、および、境界ボックスの最も低いz値を用いて計算され得る。元のフレームのセンサ位置から、X-Y平面上へ投影される基準点158までの距離d(例えば、
【数1】
として計算される)を示す距離情報も含まれ得る。
【0082】
406において、アップサンプリングサブモジュール314が表面モデルライブラリ222に表面モデルを追加する。所与のオブジェクトクラスの全ての表面モデルが容易に取得され得るように、表面モデルライブラリ222に含まれる表面モデルは、それらのそれぞれのオブジェクトクラスラベル134に関連付けて(例えば、キーまたはインデックスを付けて)格納され得る。次に、表面モデルライブラリ222は、必要に応じて格納または分散されてよく、例えば、システム200のメモリ208に格納され、システム200によりアクセス可能な中心位置に格納され、および/または非一時的記憶媒体上に分散されてよい。格納された表面モデルライブラリ222は、訓練モジュール234による使用のために、システム200によりアクセス可能であってよい。
【0083】
図5に示される例示的な方法500を参照して、
図3に示されるデータ拡張モジュール340の様々なサブモジュールの動作をここで説明する。
【0084】
図5は、目標点群フレームへ表面モデルを注入する例示的な方法500の段階を示すフローチャートである。説明したように、方法500の段階は、
図3に示されるデータ拡張モジュール340の様々なサブモジュー
ルにより実行される。しかしながら、方法500は、任意の適切な情報処理技術により実行され得ることが理解されるであろう。
【0085】
この方法は、段階502において開始する。502において、例えば、ライブラリ生成モジュール330により実行される
図4の表面モデル生成方法400を用いることにより、表面モデルライブラリ222が生成される。いくつかの実施形態において、段階502は、省略されてよく、表面モデル注入方法500の実行前に、1つまたは複数の予め生成された表面モデルが取得され得る。
【0086】
504において、データ拡張モジュール340により目標点群フレーム226が取得される。目標点群フレーム226は、フレーム選択サブモジュール316により、点群データセット210から選択され得る。いくつかの例において、点群データセット210の全ての点群フレーム212が、拡張のためにデータ拡張モジュール340へ提供されてよく、一方で、他の例では、点群フレーム212のサブセットのみが提供される。単一の選択された目標点群フレーム226を拡張するために、方法500の1回の反復が用いられる。
【0087】
506において、目標点群フレーム226への注入のために、表面モデルが選択および準備される。インスタンス注入サブモジュール320は、目標点群フレーム226、およびいくつかの実施形態において、表面モデルの選択および表面モデルの目標点群フレーム226への注入を制御するために用いられる制御パラメータを受信し得る。
制御パラメータの例示的なフォーマットは、
{人,2,[道路,歩道,駐車場],[5%,90%,5%]}
であり、「人」オブジェクトクラスの2つのインスタンスが目標点群フレーム226へ注入されることを示す。各「人」オブジェクトインスタンスは、それぞれ5%、90%および5%という確率で「道路」、「歩道」または「駐車場」というシーンタイプのシーンタイプラベル140でラベル付けされた目標点群フレーム226内の複数の領域へ注入され得る。そのような例では、方法500の段階506および516は、(これら2つの点群オブジェクトインスタンスの各々について表面モデルを選択および注入するために)2回繰り返されるであろう。
【0088】
段階506は、サブ段階508、510および512を含む。サブ段階508において、インスタンス注入サブモジュール320は、例えば、制御パラメータにより示されるシーンタイプ確率分布に基づいて、目標点群フレーム226内のアンカーポイントを決定する。サブ段階512を参照して以下で説明するように、アンカーポイントは、注入された点群オブジェクトインスタンスを目標点群フレーム226内に位置付けるために用いられる。
【0089】
いくつかの実施形態において、アンカーポイントは、3つの段階において生成され得る。まず、目標点群フレーム226のシーンタイプラベル140およびオブジェクトクラスラベルを用いて全ての可能なアンカーポイントが識別されることで、点群オブジェクトインスタンスが目標点群フレーム226へ現実的に(例えば、目標点群フレーム226内の他の物体との衝突制約に基づいて)注入され得る領域内の適切な領域および位置が識別される。2番目に、制御パラメータおよび任意の他の制約または要因に基づき、可能なアンカーポイントの各々の確率pが計算される。3番目に、計算された確率に基づき、アンカーポイントが選択される;例えば、最も高い計算された確率を有する潜在的なアンカーポイントがアンカーポイントとして選択され得る。
【0090】
各アンカーポイント候補の確率pは、p=p
pos・p
classとして計算され得る。p
posは、グラウンドプレーン上でアンカーポイントを一様に選択するために用いられる確率係数である。回転走査式LIDARセンサの場合、各点は、その点においてレーザが発する光線を反射する物体の異なるエリアに対応し、センサ位置に近い複数の点は、センサ位置から遠い複数の点のものよりも小さいエリアをカバーする。アンカーポイントは、典型的には、グラウンド面により反射される、目標点群フレーム226の複数の点から選択される。各点の選択確率は、そのカバーされるエリアに比例し得る;そうでなければ、アンカーポイントのうちのほとんどが、センサ位置の近くに生成される。したがって、p
posは、
【数2】
として計算され得る。
【0091】
pclassの値は、制御パラメータ、すなわち、所与のシーンタイプラベル140でラベル付けされた領域内に位置しているアンカーポイントの確率により決定され得る。したがって、目標点群フレーム226は、目標点群フレーム226の1つまたは複数の領域のシーンタイプを示すシーンタイプ情報(例えば、シーンタイプラベル140)を含み、このシーンタイプ情報は、アンカーポイント候補からアンカーポイントを選択するために確率pの計算により用いられるpclassの値を決定するために用いられ得る。いくつかの実施形態において、確率pの計算により、表面モデルが所与の領域内に位置しているはずである、と、この領域のシーンタイプおよび表面モデルのオブジェクトクラスに基づき、本質的に判断される。サブ段階512において以下で説明するように、この領域内の複数のアンカーポイント候補からアンカーポイントがひとたび選択されると、このアンカーポイントが選択され、この領域内の目標点群フレーム226のグラウンド面上の対応する位置(アンカー位置と称される)が、表面モデルの位置決めおよび注入のための位置として用いられる。
【0092】
サブ段階510において、表面モデル選択サブモジュール322は、例えば、上述の制御パラメータにおいて識別されるオブジェクトクラスに関連付けられた表面モデルを表面モデルライブラリ222から選択することにより、目標表面モデル228を取得する。いくつかの例において、表面モデルライブラリ222は、上述の方法400により生成されるものなど、密な点群オブジェクトインスタンスとして格納される表面モデルを含む。いくつかの例において、表面モデルライブラリ222は、コンピュータ支援設計(CAD)モデルとして格納される表面モデルを含む。いくつかの例において、表面モデルライブラリ222は、完全な密な点群オブジェクト走査、すなわち、複数の見晴らしの良い地点から走査された物体を表す密な点群として格納される表面モデルを含む。本明細書において説明される例では、方法400により生成されるものなど、密な点群オブジェクトインスタンスから成る表面モデルの使用を参照する。しかしながら、本明細書において説明される方法およびシステムは、CADモデルおよび完全な密な点群オブジェクト走査など、他の表面モデルタイプにも適用可能である(方法400により生成される密な点群オブジェクトインスタンスの使用により示され得る利点の全てをそれらの表面モデルタイプの使用が示し得ない場合でも)ことが理解されるであろう。
【0093】
表面モデルライブラリ222に格納される各表面モデルは、表面モデルのオブジェクトクラスを示すオブジェクトクラス情報を含み得る。表面モデル選択サブモジュール322は、上述の制御パラメータおよびアンカーポイント選択により規定される他の制約を満たす、ライブラリ222内の所与のオブジェクトクラスの全ての表面モデルのリストを取得し得る。例えば、表面モデル選択サブモジュール322は、距離制約|rR|≦|rA|を課し、これにより、センサ位置から目標点群フレーム226内のアンカーポイントまでの距離を示す、アンカーポイント範囲|rA|よりも小さいかまたはそれに等しい距離d(基準範囲|rR|とも称される)を示す関連付けられた距離情報を選択された目標表面モデル228が有していることを要求し得る。制約(例えば、オブジェクトクラスおよび空間の制約)を満たすライブラリ222内に全ての表面モデルのリストがひとたび取得または生成されると、任意の適切な選択基準、例えばランダム選択を用いて、リストから表面モデルが選択され得る。
【0094】
サブ段階512において、選択された目標表面モデル228は、変換サブモジュール318により、アンカー位置に基づき変換され、変換された表面モデル232が生成される。表面モデル変換の一例が、
図1Dに示される。
【0095】
図1Dは、変換された表面モデル232を生成するための目標表面モデル228の変換の上面図を示す。目標表面モデル228は、境界ボックス122を有する自転車表面モデル152、「自転車」オブジェクトクラスラベル134、基準点158、および、境界ボックス122の縁部およびセンサ位置166から基準点158まで延びる基準ベクトル172により示される基準方向の間の配向角168として示される向き情報として示されている。基準ベクトル172は、距離d(すなわち、基準範囲|r
R|)に等しい長さを有する。
【0096】
上記のサブ段階508において決定されるアンカーポイントは、センサ位置166からアンカーポイント方向を指すアンカーポイントベクトル170を画定する、目標点群フレーム226内のアンカー位置160に位置している。アンカーポイントベクトル170の長さは、アンカーポイント範囲|rA|である。
【0097】
変換サブモジュール318は、基準方向(すなわち、基準ベクトル172のもの)およびアンカーポイント方向(すなわち、アンカーポイントベクトル170のもの)の間の回転角θを計算する。次に、目標表面モデル228は、回転角θ(すなわち、基準ベクトル172により画定される表面モデル基準方向およびアンカーポイントベクトル170)により画定されるアンカーポイント方向の間のもの)の分だけ、センサ位置166に対する表面モデルの向きを維持(すなわち、同じ配向角168を維持)しつつ、目標点群フレーム226のセンサ位置166により画定される軸を中心として回転する。
【0098】
次に、表面モデルの範囲または距離は、変換、すなわち、直線移動を用いて調整される。変換サブモジュール318は、基準距離(すなわち、基準ベクトル172の長さにより画定される基準範囲|rR|)およびアンカーポイント距離(すなわち、アンカーポイントベクトル170の長さにより画定されるアンカーポイント範囲|rA|)の間の表面モデルを変換する。
【0099】
いくつかの例において、次に、表面モデルは、点群データへのオブジェクトインスタンス注入へより大きな多様性を導入することにより、機械学習モデルを訓練する目的でデータ拡張プロセスの有効性を潜在的に上げるべく、アンカー位置160に対して多少の量だけ、垂直方向および/または水平方向に適宜スケーリングされ得る。
【0100】
変換された表面モデル232は、目標表面モデル228に対して実行される上述の回転、変換およびスケーリング動作の最終結果である。いくつかの例において、インスタンス注入サブモジュール320により、変換された表面モデル232に対して衝突試験が実行され得る;変換された表面モデル232が目標点群フレーム226内の他の物体と競合(例えば、衝突または交差)する場合、方法400は、段階506へ戻って、変換のために、新しいアンカーポイントを決定し、新しい表面モデルを選択してよく、このプロセスは、適切な変換された表面モデル232が生成されて目標フレーム226内に位置付けられるまで、繰り返されてよい。
【0101】
516において、インスタンス注入サブモジュール320は、表面モデルに基づき、点群オブジェクトインスタンスを目標点群フレーム226へ注入する。段階516は、サブ段階518および520を含む。
【0102】
段階516の前に、インスタンス注入サブモジュール320は、上述のように、フレーム選択サブモジュール316から目標点群フレーム226を、変換サブモジュール318から変換された表面モデル232を取得済みである。変換された表面モデル232は、目標点群フレーム226の座標系102内に位置付けられる。しかしながら、変換された表面モデル232は、その表面上に走査線144がなく、目標点群フレーム226内の他の点を隠す影を落とさない。
【0103】
サブ段階518において、インスタンス注入サブモジュール320は、変換された表面モデル232の表面上に走査線144を生成して、目標点群フレーム226へ注入される点群オブジェクトインスタンスを生成する。変換された表面モデル232の走査線144を目標点群フレーム226に追加することにより、変換された表面モデルの表面にマッピングされた走査線144の複数の点から成る注入された点群オブジェクトインスタンスを含む、拡張された点群フレーム230が生成される。
【0104】
変換された表面モデル232の各走査線144は、目標点群フレーム226の走査線と位置合わせされた複数の点142として生成される。いくつかの実施形態において、目標点群フレーム226の走査線は、目標点群フレーム226を生成するために用いられるLIDARセンサの解像度に対応する範囲画像上へ変換された表面モデル232を投影することにより、シミュレートされ得る。したがって、例えば、範囲画像は目標点群フレーム226内の全ての点のセットであり、各点の空間(x,y,z)座標が(方位角,仰角,距離)座標へ変換され、次に、各点が(方位角,仰角)平面における2次元画素アレイの画素を画定するために用いられる、と考えられ得る。この2次元画素アレイは、範囲画像である。方位角座標は、センサ位置のZ軸を中心とした角回転を示してよく、仰角座標は、X-Y平面に対する仰角または凹みの角度を示してよい。変換された表面モデル232の複数の点を目標点群フレーム226の範囲画像上へ投影することにより、インスタンス注入サブモジュール320は、目標点群フレーム226を生成するために用いられるLIDARセンサにより実行される走査の光線の複数の点に対応するエリアに含まれる、変換された表面モデル232のそれらの点を識別し得る。変換された表面モデル232の投影の少なくとも1つの点を含む範囲画像の各画素について、各画素の中心に最も近い変換された表面モデル232のみが保持され、保持された点は、変換された表面モデル232の表面に走査線144をポピュレートするために用いられる。所与の走査線144の複数の点は、範囲画像の画素の行に対応する。保持された点は、範囲画像画素の中心の仰角と位置合わせするために、仰角方向に動かされる。これにより、その行内の画素によって生成される各点の全てが同じ仰角を有することで走査線144が正確に上がることが保証される。
【0105】
いくつかの実施形態において、範囲画像は、目標点群フレーム226の変換された複数の点の実際の(方位角,仰角)座標から導出される;しかしながら、他の実施形態では、目標点群フレーム226を生成するために用いられるLIDARセンサの解像度(目標点群フレーム226に関連付けられた情報として格納されてよく、または、目標点群フレーム226の2つまたはそれよりも多くの点から導出されてよい)を取得すること、および、範囲画像の画素を目標点群フレーム226の複数の点に1:1でマッピングしないで、対応する解像度の範囲画像を生成することにより、計算的負荷がより低い態様で範囲画像を生成し得る。いくつかの実施形態において、解像度に基づく範囲画像は、生成された後、フレームの1つまたは複数の点と位置合わせされ得る。
【0106】
拡張された点群フレーム230内で、変換された表面モデル232が破棄され、上述のように生成された走査線144のみが残る。しかしながら、これは、変換された表面モデル232の破棄の前に、サブ段階520において影を生成するために用いられ得る。インスタンス注入サブシステム320は、変換された表面モデル232が落とす影を決定し、影内に位置する目標点群フレーム226の1つまたは複数の隠された点を識別し、隠された点を拡張された点群フレーム230から除去する。範囲画像は、各画素のエリアに含まれる目標点群フレーム226の全ての既存の点を識別するために用いられる。サブ段階518において生成される走査線144の少なくとも1つの点を含む各画素は、影を落とすものとみなされる。画素に含まれる既存の複数の点の全て(すなわち、画素が落とす影内のもの)が、隠された点とみなされ、拡張された点群フレーム230から除去される。
【0107】
図4および
図5の方法400、500は、1つまたは複数の利点を実現するために共に用いられ得る。まず、方法400において実際のLIDARにより生成される点群フレーム(すなわち、LIDARセンサにより生成された点群フレーム)から取得された表面モデルは通常、半分側である;方法500における表面モデルの回転により、複数の点を有する側が常にセンサ位置166の方を向くことが保証される。2番目に、いくつかの実施形態において、上述のように、アンカーポイント範囲は、変換サブモジュール318により、基準範囲よりも大きくなるように制約される(すなわち、|r
R|≦|r
A|);したがって、表面モデルの表面上に生成される走査線点の密度は、アップサンプリングプロセスの任意のアーティファクトを増大させるようには上がらない(抽出されたオブジェクトインスタンスの密度がアップサンプリングにより上がるが、これによっては、元の点群オブジェクトインスタンスに含まれる情報は増えない)。方法400、500の組み合わせの他の利点が、当業者には明らかになるであろう。
【0108】
ライブラリ生成方法400およびデータ拡張方法500はさらに、機械学習モデルを訓練するために、機械学習プロセスと組み合わされ得る。
図6に示される例示的な方法600を参照して、
図3に示されるライブラリ生成モジュール330、データ拡張モジュール340および訓練モジュール234の相互運用をここで説明する。
【0109】
図6は、予測タスクのための機械学習モデル224の訓練に用いられる点群データセットを拡張する例示的な方法600の段階を示すフローチャートである。説明したように、方法600の段階は、
図3に示されるライブラリ生成モジュール330、データ拡張モジュール340および訓練モジュール234の様々なサブモジュールにより実行される。しかしながら、方法600は、任意の適切な情報処理技術により実行され得ることが理解されるであろう。
【0110】
602において、ライブラリ生成モジュール330は、方法400に従って、1つまたは複数の表面モデルのライブラリ222を生成する。
【0111】
604において、データ拡張モジュール340は、方法500に従って、1つまたは複数の拡張された点群フレーム230を生成する。
【0112】
606において、訓練モジュール234は、拡張された点群フレーム230を用いて、機械学習モデル224を訓練する。
【0113】
段階604および606は、1回または複数回の訓練反復を実行するために、1回または複数回繰り返され得る。いくつかの実施形態において、複数の拡張された点群フレーム230が、それらが機械学習モデル224を訓練するために用いられる前に、生成される。
【0114】
機械学習モデル224は、点群フレームに対して予測タスクを実行するために教師あり学習などの機械学習技術を用いて訓練された人工ニューラルネットワークまたは別のモデルであってよい。予測タスクは、フレーム内の物体をオブジェクトクラス毎に認識するための、またはフレームをオブジェクトクラス毎にセグメント化するための任意の予測タスクであってよく、オブジェクト認識、セマンティックセグメンテーション、インスタンスセグメンテーションまたはパノラマセグメンテーションを含む。いくつかの実施形態において、拡張された点群フレーム230は、点群データセット210に追加され、訓練モジュール234は、点群データセット210を訓練データセットとして用いて、機械学習モデル224を訓練する。すなわち、機械学習モデル224は、点群フレーム212に対するオブジェクト認識またはセグメンテーションなどの予測タスクを点群フレーム212に対して実行するために、教師あり学習、および、点群データセット210に含まれる点群フレーム212および拡張された点群フレーム230を用いて訓練される。訓練された機械学習モデル224は、オブジェクト検出を実行してオブジェクトクラスラベルを予測するように訓練されてよく、または、セグメンテーションを実行して、各点群フレーム212内の点または領域の0またはそれよりも多くのサブセットまたはクラスタにアタッチするためのインスタンスラベルおよび/またはシーンタイプラベルを予測するように訓練されてよく、各ラベル付けされた点群オブジェクトインスタンス214に、または所与の点群フレーム212内の領域に関連付けられたラベルは、訓練のためのグラウンドトゥルースラベルとして用いられる。他の実施形態において、機械学習モデル224は、異なる訓練点群データセットを用いて訓練される。
【0115】
本開示では、方法およびプロセスを、特定の順序の段階と共に説明しているが、方法およびプロセスにおける1つまたは複数の段階は、適宜省略または変更されてよい。必要に応じて、1つまたは複数の段階が、説明されている以外の順序で行われてよい。
【0116】
本開示は、少なくとも部分的に方法に関して説明されているが、本開示は、説明されている方法の態様および特徴のうちの少なくともいくつかをハードウェアコンポーネント、ソフトウェア、またはそれら2つの任意の組み合わせにより実行するための様々なコンポーネントも対象としていることを、当業者であれば理解するであろう。したがって、本開示の技術的解決手段は、ソフトウェア製品の形態で具現化されてよい。適切なソフトウェア製品が、例えば、DVD、CD-ROM、USBフラッシュディスク、リムーバブルハードディスク、または他の記憶媒体を含む、予め記録されたストレージデバイスまたは他の同様の不揮発性または非一時的コンピュータ可読媒体に記憶されてよい。ソフトウェア製品は、処理デバイス(例えば、パーソナルコンピュータ、サーバまたはネットワークデバイス)が、本明細書において開示されている方法の例を実行することを可能にする、有形的に記憶された命令を含む。
【0117】
本開示は、特許請求の範囲の主題から逸脱することなく、他の特定の形態で具現化されてよい。説明されている例示的な実施形態は、あらゆる点において、限定的なものではなく、単に例示的なものであるとみなされるべきである。上述の実施形態のうちの1つまたは複数から選択される特徴を組み合わせて、明示的に説明されていない代替的な実施形態を創出してよく、そのような組み合わせに適切な特徴は、本開示の範囲内にあると理解される。
【0118】
開示されている範囲内の全ての値およびサブ範囲も開示される。また、本明細書において開示および図示されているシステム、デバイスおよびプロセスは特定数の要素/コンポーネントを含み得るが、これらのシステム、デバイスおよびアセンブリは、そのような要素/コンポーネントをさらにまたはより少なく含むように修正され得る。例えば、開示されている要素/コンポーネントのいずれも単数として言及され得るが、本明細書において開示されている実施形態は、そのような要素/コンポーネントを複数含むように修正され得る。本明細書において説明されている主題は、技術における全ての適切な変更を網羅および包含することを意図している。
他の可能な項目
[項目1]
点群オブジェクトインスタンスを取得する段階;および
補間を用いて前記点群オブジェクトインスタンスをアップサンプリングして、表面モデルを生成する段階
を備える方法。
[項目2]
前記点群オブジェクトインスタンスは、
センサ位置に対する前記点群オブジェクトインスタンスの向きを示す向き情報
を含む;および
前記点群オブジェクトインスタンス内の複数の点の各々について、
点強度情報;および
点位置情報
を含む;および
前記表面モデルは、前記点群オブジェクトインスタンスの前記向き情報、点強度情報および点位置情報を含む、
項目1に記載の方法。
[項目3]
前記点群オブジェクトインスタンスは、複数の走査線を含み、各走査線は、前記複数の点のサブセットを含む;および
前記点群オブジェクトインスタンスをアップサンプリングする段階は、線形補間を用いて、少なくとも1つの走査線に沿って複数の点を追加する段階を有する
項目2に記載の方法。
[項目4]
前記点群オブジェクトインスタンスをアップサンプリングする段階は、線形補間を用いて、前記複数の走査線のうちの少なくとも1対の走査線の間に複数の点を追加する段階をさらに有する、項目3に記載の方法。
[項目5]
線形補間を用いて点を追加する段階は、
2つの既存の点の前記点位置情報の線形補間に基づいて、前記追加された点に点位置情報を割り当てる段階;および
前記2つの既存の点の前記点強度情報の線形補間に基づいて、前記追加された点に点強度情報を割り当てる段階
を含む、
項目4に記載の方法。
[項目6]
目標点群フレームを取得する段階;
前記目標点群フレーム内のアンカー位置を決定する段階;
物体の表面モデルを取得する段階;
前記アンカー位置に基づいて前記表面モデルを変換して、変換された表面モデルを生成する段階;
前記変換された表面モデルの複数の走査線を生成する段階であって、各走査線は、前記目標点群フレームの複数の走査線と位置合わせされた複数の点を含む、生成する段階;および
前記変換された表面モデルの前記複数の走査線を前記目標点群フレームに追加して、拡張された点群フレームを生成する段階
を備える方法。
[項目7]
前記表面モデルは、密な点群オブジェクトインスタンスを含む、項目6に記載の方法。
[項目8]
前記表面モデルを取得する段階は、
点群オブジェクトインスタンスを取得する段階;および
補間を用いて前記点群オブジェクトインスタンスをアップサンプリングして、前記表面モデルを生成する段階
を有する、
項目7に記載の方法。
[項目9]
前記表面モデルは、コンピュータ支援設計(CAD)モデルを含む、項目6に記載の方法。
[項目10]
前記表面モデルは、完全な密な点群オブジェクト走査を含む、項目6に記載の方法。
[項目11]
前記変換された表面モデルの影を決定する段階;
前記影内に位置する前記目標点群フレームの1つまたは複数の隠された点を識別する段階;および
前記拡張された点群フレームから前記複数の隠された点を除去する段階
をさらに備える、項目6に記載の方法。
[項目12]
前記変換された表面モデルの前記複数の走査線を生成する段階は、
2次元画素アレイを含む範囲画像を生成する段階、ここで、各画素は、前記目標点群フレームの点に対応する;
前記変換された表面モデルを前記範囲画像上へ投影する段階;および
前記範囲画像の各画素について、前記画素が前記変換された表面モデルの前記投影の少なくとも1つの点を含んでいるという判断に応答して、
前記画素の中心への前記変換された表面モデルの前記投影の最近傍点を識別する段階;および
前記最近傍点を前記走査線に追加する段階
を有する、
項目7に記載の方法。
[項目13]
前記表面モデルは、前記表面モデルのオブジェクトクラスを示すオブジェクトクラス情報を含む;
前記目標点群フレームは、前記目標点群フレームの領域のシーンタイプを示すシーンタイプ情報を含む;および
前記アンカー位置を決定する段階は、前記表面モデルが前記領域内に位置しているはずであるという、前記領域の前記シーンタイプおよび前記表面モデルの前記オブジェクトクラスに基づく判断に応答して、前記アンカー位置を前記領域内に位置決めする段階を有する
項目6に記載の方法。
[項目14]
前記アンカー位置に基づいて前記表面モデルを変換する段階は、
センサ位置に対する前記表面モデルの向きを維持しつつ、前記目標点群フレームの前記センサ位置により画定される軸を中心として前記表面モデルを表面モデル基準方向およびアンカーポイント方向の間で回転させる段階;および
前記表面モデルを基準距離およびアンカーポイント距離の間で変換する段階
を有する、
項目6に記載の方法。
[項目15]
前記拡張された点群フレームを用いて機械学習モデルを訓練する段階をさらに備える、項目6に記載の方法。
[項目16]
点群データを拡張するためのシステムであって、
プロセッサデバイス;および
前記プロセッサデバイスにより実行された場合、項目1から14のいずれか一項に記載の方法を前記システムに実行させる機械実行可能命令を格納したメモリ
を備える、システム。
[項目17]
コンピューティングシステムのプロセッサデバイスにより実行された場合、項目1から14いずれか一項に記載の方法を前記コンピューティングシステムに実行させる機械実行可能命令を備えるコンピュータ可読媒体。
[項目18]
コンピューティングシステムのプロセッサデバイスにより実行された場合、項目1から14のいずれか一項に記載の方法を前記コンピューティングシステムに実行させる機械実行可能命令を備えるコンピュータプログラム。
【国際調査報告】