JP7383870B2 - デバイス、方法、システムおよびコンピュータプログラム - Google Patents

デバイス、方法、システムおよびコンピュータプログラム Download PDF

Info

Publication number
JP7383870B2
JP7383870B2 JP2021567061A JP2021567061A JP7383870B2 JP 7383870 B2 JP7383870 B2 JP 7383870B2 JP 2021567061 A JP2021567061 A JP 2021567061A JP 2021567061 A JP2021567061 A JP 2021567061A JP 7383870 B2 JP7383870 B2 JP 7383870B2
Authority
JP
Japan
Prior art keywords
images
scene
image
sequence
sensor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021567061A
Other languages
English (en)
Other versions
JP2022534556A (ja
Inventor
スタイン、ギデオン
ブルーメンソール、アイテイ
シャーグ、ナダブ
モスコウィッツ、ジェフリー
カルレバッハ、ナタリー
Original Assignee
モービルアイ ビジョン テクノロジーズ リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by モービルアイ ビジョン テクノロジーズ リミテッド filed Critical モービルアイ ビジョン テクノロジーズ リミテッド
Publication of JP2022534556A publication Critical patent/JP2022534556A/ja
Application granted granted Critical
Publication of JP7383870B2 publication Critical patent/JP7383870B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R1/00Optical viewing arrangements; Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles
    • B60R1/20Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles
    • B60R1/22Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles for viewing an area outside the vehicle, e.g. the exterior of the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • G06F18/2414Smoothing the distance, e.g. radial basis function networks [RBFN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • G06T3/18
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/292Multi-camera tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06V10/7747Organisation of the process, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/165Anti-collision systems for passive traffic, e.g. including static obstacles, trees
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/166Anti-collision systems for active traffic, e.g. moving vehicles, pedestrians, bikes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/25Image signal generators using stereoscopic image cameras using two or more image sensors with different characteristics other than in their location or field of view, e.g. having different resolutions or colour pickup characteristics; using image signals from one sensor to control the characteristics of another sensor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/08Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Description

本特許出願は、米国特許法第119条のもと、「VEHICLE ENVIRONMENT MODELING WITH CAMERAS」と題された、2019年5月30日に提出された米国仮出願第62/854,818号の優先権の利益を主張するものであり、参照によりその全体が本明細書に組み込まれる。
本明細書に記載の実施形態は、概して、コンピュータビジョン技術に関し、より詳細には、カメラを使用した車両環境のモデル化に関する。
しばしば自動車の「自動走行」または「支援走行」動作と呼ばれる自律または半自律の自動車技術は、商用車両および民生車両で急速に開発および配備されている。これらのシステムは、センサのアレイを使用して、車両の動きおよび周囲を継続的に監視する。様々なセンサ技術を使用して、路面および境界、他の車両、歩行者、物体および危険物、標識および道路マーク、およびその他の関連項目など、車両の周囲を監視し得る。
1つまたは複数のカメラで実装された撮像センサは、物体の検出および認識、ならびに標識および道路マークの読み取りに特に有用である。カメラベースのシステムは、道路の垂直輪郭、レーンマーク、および縁石などの3次元構造の測定、および物体または危険物の検出に適用される。実用的なセンサシステムは、様々な天候条件および道路条件で確実に動作することが期待される。これらの期待は、入力を処理する際に無数の課題をもたらす傾向がある。夜間の影または光からの入力ノイズは、路面の検出を妨げ得る。濡れた道路またはその他の反射面は、しばしば路面モデルとは逆の見かけ上の動きをもたらす。さらに、自律走行または支援走行を可能にするために路面をモデル化しながら危険物を高速(例えば、リアルタイム)で検出する必要性は、これらの路面検出の困難さを考えるとハードウェアに負担をかけるものである。
必ずしも一定の縮尺で描かれているわけではない図面では、類似数字が異なる図中の類似構成要素を説明し得る。異なる文字の接尾辞を有する類似数字は、類似構成要素の異なる事例を表し得る。いくつかの実施形態は、限定ではなく例示として、添付の図面の図に示される。
車両環境の一実施例のブロック図である。
一実施形態による、画像センサを使用した車両環境のモデル化のためのシステムの一実施例のブロック図である。
一実施形態による、現在の画像および以前の画像を示す。
一実施形態による、路面のガンマモデルを生成するためのニューラルネットワークの例を示す。
一実施形態による、機械学習(ML)ベースの垂直輪郭エンジンの例示的なディープニューラルネットワーク(DNN)を示す。
一実施形態による、DNNの例示的なアーキテクチャを詳述する表である。
一実施形態による、DNNのより複雑なアーキテクチャ例の詳細を示す表である。 一実施形態による、DNNのより複雑なアーキテクチャ例の詳細を示す表である。
一実施形態による、DNNトレーニングシステムの例を示す。
一実施形態による、複数のモーダル損失関数適用エンジンの例を示す。
一実施形態による、ニューラルネットワークをトレーニングするための方法の例を示すフロー図である。
本明細書に記載の単眼カメラおよびサラウンドカメラを介してトレーニングされた2つのニューラルネットワークからの異なる出力を示す。
一実施形態による、垂直輪郭検出エンジンを動作させるための方法の例を示すフロー図である。
一実施形態による、自律車両制御システムで使用するための、道路をプロファイリングするためのカメラベースの車両搭載システムを示す。
一実施形態による、車両上の複数のカメラアレイを示す。
一実施形態による、複数のカメラアレイによって撮像され得る視野の例を示す。
一実施形態による、垂直輪郭検出エンジンの例を示すブロック図である。
一実施形態による、プリプロセッサエンジンの例を示す。
一実施形態による、カメラを使用した車両環境のモデル化のための方法の例のフロー図を示す。
1つまたは複数の実施形態を実施し得るマシンの例を示すブロック図である。
一実施形態によるコンピューティングデバイスの例示的なハードウェアおよびソフトウェアアーキテクチャを示す図である。
一実施形態に従って使用され得る処理デバイスを示すブロック図である。
一実施形態による、中央処理装置の例示的な構成要素を示すブロック図である。
様々な車両環境のモデル化技術が、様々なセンサ構成で使用され得る。カメラ(例えば、視覚光スペクトル、赤外線(IR)など)を使用する場合、センサはピクセルで構成される画像を生成する。色または輝度など、ピクセルの様々な態様がモデル化に使用され得る。一般に、動的な環境をモデル化するには、画像のシーケンスが使用される。このタイプのモデル化は、連続画像間のピクセルの動きを追跡して、車両がどのように移動しているか、他の車両がどのように移動しているか、物体(例えば、人、動物、ボールなど)がどのように移動しているか、道路内の障害物など、環境の態様を推測する。
画像を正規化された状態に変換(例えば、カメラのレンズの歪みを補正するため)し、画像間でピクセルを順次位置合わせし(例えば、ホモグラフィを介して前の画像をワーピングして後の画像とほぼ一致させる)、残りのピクセル運動(例えば、残留運動)を測定する反復プロセスを使用して、環境をモデル化し得る。
しかし、直接ピクセルマッチングを使用するにはいくつかの問題がある。例えば、影または反射部分(例えば、水たまり)など、路面に投影され得る多くのものは、路面を表していない。このノイズを低減するためにフィルタリング技術が使用され得るが、より良い解決策には、画像のシーケンスから直接ガンマを計算するようにトレーニングされた人工知能(例えば、機械学習システム、人工ニューラルネットワーク(ANN)、ディープANN(DNN)、畳み込みANN(CNN)など)が含まれる。これには、路面撮像での一般的なノイズの問題に対する強力な解決策が必要である。さらに、そのようなシステムはまた、センサの動きまたはエピポール情報を受け入れて、そのガンマ結果をさらに向上させ得る。ガンマから、道路平面の上のピクセルの高さとそのピクセルまでの距離を決定し得る。
路面のモデル化は、例えば、ポットホールを回避したり、スピードバンプのためにサスペンションを調整したりするのに有用であり得る。センサデータから直接(例えば、ANNによって)ガンマを決定することは、エピポーラ拘束を強制するため、2次元(2D)光学フローを使用して残留フローを確認したり、ANNを使用して平面の上の高さおよびセンサまでの距離を決定したりするなどの他の技術よりも優れ得る。さらに、1つのガンマを使用して、その点のすべての画像を位置合わせ(例えば、ワープ)し得る。
ANNは、点の深度または高さを直接決定するようにトレーニングし得るが、ガンマにはいくつかの利点がある。例えば、平面からの高さの著しい変化により、カメラからの深度に相対的な変化がわずかに生じ得るため、ガンマ計算は深度よりも安定している。また、Hおよび基準面が与えられると、深度Zを計算してから残留フローを計算することは可能であるが、これにより、ANNが同じ結果を得るためにより多くのデータを処理するため、複雑さが増大する。これは、平面モデルで画像をプリワープし、入力として自己運動(EM)(例えば、センサまたはエピポール
および
などの車両の動き)を提供する理由でもある。
一実施例では、ネットワークは、同様の技術を使用して、ガンマの代わりにZまたはHを計算するようにトレーニングされ得る。この例では、ホモグラフィ平面入力パラメータをANNに提供し得る。例えば、平面は、地平線(例えば、平面の消失線)および平面までの距離として定義され得る。線は一対の距離画像として提供され得て、平面までの距離は一定の画像として提供され得る。これは、エピポールおよび
が上記の入力として提供される方法と似ている。一実施例では、入力画像は、回転のみを考慮して(例えば、無限遠平面を使用したホモグラフィを使用して)位置合わせされ、Zを計算する。
一実施例では、画像全体のガンマを計算し、次いで、特定の経路に沿ったガンマのみを使用する代わりに(例えば、サスペンション制御のために)、指定された経路に沿ってのみガンマを生成するようにANNをトレーニングし得る。これは、例えば、出力がサスペンション制御などの車両タイヤに適用可能なものにのみ使用される場合、逆畳み込み演算は計算コストが高くなり得るため、計算効率がより高くなり得る。経路判定(例えば、経路に対してのみガンマを生成する)は、いくつかの方法で実施し得る。例えば、経路はANNの推論段階で入力として与えられ得て、ANNは経路に沿って値のみを出力するようにトレーニングされる。一実施例では、完全なANNは、上記で説明したようにガンマを生成するようにトレーニングされ得る。推論中に、経路が与えられると、経路の拡張段階でどの(逆)畳み込みが必要かが決定され、それらのみが適用される。例えば、出力の行全体のガンマ値を決定するには、行全体に沿った畳み込みが必要である。ただし、出力行のセグメントに対してのみ、逆畳み込みはセグメントに対応する特定の範囲でのみ実行する必要がある。
さらに、異なる方法でトレーニングされた同様の構造化されたANNはまた、物体を移動または非移動として分類し得る。移動/非移動の分類は、例えば、事故回避動作をより適切に選択するためのホスト車両の能力を向上させるために使用され得る。この場合も、入力画像を直接使用して、特徴の残留運動を識別し、結果を決定する。
本明細書に記載の様々な実施形態では、ニューラルネットワークを使用して、道路シーン内の物体を検出するか、または環境のモデルを生成し得る。一実施形態は、一連の画像から路面の多次元表現(例えば、ガンマ画像)を生成するようにニューラルネットワークをトレーニングすることを含む。画像は、車両内の1つまたは複数のカメラによって生成され得る。他の実施形態は、複数の車両によって取得された画像からニューラルネットワークをトレーニングし得る。トレーニング技術の1つの態様は、グラウンドトゥルースを計算してニューラルネットワークの出力と比較し、次の出力が前回の出力よりも正確になるようにニューラルネットワークを調整する方法を確認する能力である。
多種多様なトレーニングデータは、ニューラルネットワークの開発に役立つ。道路上の自律車両または半自律車両からトレーニングデータを取得することが最も効率的であり得る。ただし、トレーニングデータは不確実な環境で動作する車両から取得されるため、任意の所与のトレーニング画像の環境のグラウンドトゥルースを確認することは困難であり得る。
トレーニングの例の一実施例では、異なる時間に撮像された同じカメラからの複数の画像を使用して、ニューラルネットワークをトレーニングする。その後、車両が移動するときのカメラの動きは、トレーニングされたニューラルネットワークが環境の3次元(3D)モデルを生成するために使用する様々な視点(例えば、情報)を提供する。
発生し得る問題には、他の車両などのシーン内で移動する物体が含まれる。固定された物体は、カメラの視点がシーン内を移動するにつれて、予測可能な方法で変化する傾向がある。例えば、街灯柱などの垂直の物体の場合、ポールの下部は路面とともに移動するが、ポールの上部は、カメラが近づくと、路面よりも速く移動するように見え得る。対照的に、移動物体は通常、固定物体と同じように画像間で変化しない。例えば、カメラをホストしている車両と同じ速度および方向で走行している車両は、連続する各画像で同じサイズに見え得る。
移動物体と固定物体との間の応答の違いは、環境モデルの精度に影響を与え得るニューラルネットワークトレーニングのアーチファクトにつながり得る。これに対抗する技術は、移動物体を識別し、次いで、トレーニング画像でそれらを無視(例えば、マスキング)して、トレーニングへの影響を低減することを含む。これは、画像内に表されている環境の固定(例えば、静止している、移動していない)領域の出力のみに基づいて、ネットワークに罰を与えたり、報酬を与えたりすることに似ている。しかし、このマスキングにより、いくつかの問題が発生し得る。例えば、結果は一般に、移動物体に関する有用な3D情報を有さない。また、穴が存在しない移動物体の近傍の穴(例えば、くぼみ)を予測するなど、異なるアーチファクトが出力に現れ得る。さらに、問題の移動物体はカメラの前方の車両であることが多いため、ネットワークは、物体が移動しているか固定されているかに関係なく、カメラの真正面にある物体を消去(例えば、無視)するように意図せずトレーニングされ得る。
これに対処するために、重なり合う視野(FOB)を有する車両の複数のカメラを使用してニューラルネットワークをトレーニングし得る。一実施例では、ネットワークのトレーニングに使用される複数の画像フレームは、1台のカメラから複数の時点で撮影するのではなく、複数のカメラからある時点で撮影し得る。異なる視点が同時に撮像されるため、移動物体と固定物体との間の区別はなくなる。むしろ、様々な視点を使用して、シーン内のすべての物体の3D特性をモデル化し、ニューラルネットワークのトレーニングに使用されるグラウンドトゥルースを提供し得る。追加の詳細を以下に示す。
図1は、車両環境の一実施例のブロック図である。図示のように、視野100は、くぼみ104A(例えば、ポットホール、格子、くぼみなど)または突起104B(例えば、スピードバンプ、縁石、破片など)などの1つまたは複数の表面特徴104を有し得る路面102を含む。視野100はまた、影106、反射面108(例えば、水たまり、氷など)、歩行者110、または別の車両112を含み得る。表面特徴104をモデル化することにより、車両が表面特徴を回避したり、運転者に警告したり、または表面特徴をよりよく処理するように車両自体を調整する(例えば、車両サスペンションを調整してポットホール104Aを横断する)ことを可能にし得る。移動中の、または移動する可能性のある歩行者110または車両112を理解およびモデル化することにより、同様に、車両制御の変更または運転者への警告を可能にして、それらとの衝突を回避したり、速度を落としたり、走行経路を調整したり、停止することなどによって、それらとの望ましくない相互作用(例えば、水たまり108を通って走行することによって歩行者110に水をはねかける)を回避または軽減し得る。
道路のモデル化のこれらの要素はそれぞれ、本明細書に記載されているデバイスおよび技術によって対処される課題を提示し得る。例えば、影106は、路面点追跡のためのノイズである。水たまり108からの反射は、基礎となる路面を不明瞭にして点追跡を損なうだけでなく、実際には、他の場所でのピクセル運動とはしばしば逆になる画像間のピクセル運動を示す。例えば、水たまり(10m離れた道路上)に映った建物(50m離れた場所)の画像の動きは、建物までの距離にある物体の見かけの動きになる。これは、この場合では深さ約6mの道路の穴と誤解される可能性がある。
図2は、一実施形態による、画像センサ202を使用した車両環境のモデル化のためのシステム208の一実施例のブロック図である。システム208は、車両204に貼り付けられている。一実施例では、システム208は、画像センサ202、または他のセンサと統合される。一実施例では、システム208は、画像センサ202、または他のセンサ(例えば、車両204のインフォテインメントシステムの一部)から分離される。ここでは、画像センサ202は、例として、フロントガラス(車両側の内部)に取り付けられた前向きカメラとして示される。ただし、本明細書で説明する技術は、車両の内側または外側に取り付けられた背面カメラまたは側面カメラにも同様に適用される。そのような例の1つは、屋根のコーナーに外付けされたカメラであり、視野が前方にあり、少し側方を向いている。複数の画像センサ202を使用して、車両204の周りの画像または動画映像を撮像し得る。画像センサ202は、右前方の位置、左前方の位置、中央のフロントガラスの位置、屋根の位置、後部の窓の位置など、車両204の様々な部分に取り付けまたは貼り付けられ得る。いくつかの画像センサ202の視野は重なり合い得る。
システム208は、画像センサ202から取得された画像を介して車両環境のモデル化を実行するための処理回路を含む。車両環境のモデル化は、路面206、傷害物、遮断物、および移動体(例えば、他の車両、歩行者、動物など)のモデル化を含み得る。これらのモデルは、車両204の動作パラメータを調整するために、システム208によって直接、または別の管理システムを介して使用され得る。モデル化を実行するために、システム208は、路面206を表す画像の時間順シーケンスを取得するように構成される。画像のシーケンスのうちの1つは、現在の画像(例えば、カメラ202によって撮影された最後の画像)である。
システム208は、人工ニューラルネットワーク(ANN)にデータセットを提供して、ガンマ画像を生成するように構成される。ここで、ガンマ画像のピクセルは点のガンマ値である。他の部分で述べているように、ガンマ値は、現在の画像を撮像するセンサからの距離に対する平面上の点の高さの比である。また、ここでは、平面が路面206を表す。あるいは、システムは、距離(Z)、逆距離(1/Z)、または道路Hからの高さなど、構造の他の記述を出力し得る。ガンマを使用する利点は、カメラの焦点距離などの要因に対して正規化され、より直接的に画像の動き信号に関連することである。したがって、あるカメラからのデータでトレーニングされたDNNを使用して、異なるカメラ構成からの画像を分析できる。
本明細書では「ガンマ画像」が使用されているが、シーン内のガンマを表すために他のデータ形式を使用し得る。したがって、ガンマはラスタ形式でなくてもよく、センサデータを介してガンマ値を表面に相関させることができる任意の形式(例えば、値から点へのガンママップ)であってもよい。これらの様々なデータ構造は、ガンマモデルと総称され得る。
一実施例では、データセットは、画像のシーケンスの一部を含む。ここで、画像のシーケンスの一部は、現在の画像を含む。データセットはまた、画像センサ202の動き(例えば、センサの動きの情報を示す)およびエピポール(例えば、エピポール情報)を含む。一実施例では、画像のシーケンスの一部は、現在の画像の直前の画像を含む。一実施例では、画像のシーケンスの一部は合計で3つの画像である。一実施例では、シーケンスは、任意のn個の画像を含み得て、ここで、nは、1より大きい整数である(すなわち、
)。一実施例では、シーケンス内の画像は、連続して撮像された画像であり得る。一実施例では、元のフレームのシーケンスからのいくつかのフレームは、データセットで使用される画像のシーケンスを生成するプロセスで省略され得る。
一実施例では、エピポールは、現在の画像と同じ次元(おそらく、より高いまたはより低い解像度ではあるが)を有する勾配画像として提供される。ここで、勾配画像のピクセルの値は、現在の画像のピクセルのエピポールからの距離を表す。一実施例では、勾配画像は、エピポールからの水平(例えば、x軸)距離のみを表し、第2の勾配画像は、エピポールからの垂直(例えば、y軸)距離を表すために、ANNに提供される。
一実施例では、画像センサ202の動きは、現在の画像と同じ次元(おそらく、より高いまたはより低い解像度ではあるが)を有する一定値の画像として提供される。一実施例では、一定値は、平面206からのセンサ202の高さに対する画像センサ202の前方の動き(例えば、z軸)の比である。
一実施例では、ANNは畳み込みニューラルネットワーク(CNN)である。一実施例では、画像センサ202およびエピポールの動きは、ボトルネック層でCNNに提供される(例えば、図5に関する以下の説明を参照)。
一実施例では、ANNは、ある位置の予測ガンマとその位置での画像センサ202の動き(すなわち、実際の動き)との間の差を測定することによって誤差が決定される教師なしトレーニング技術でトレーニングされる。したがって、ガンマが予測され、画像センサ202または車両204の自己運動を使用して、ガンマ推論が正しかったか否か(または、推論がどれほど間違っていたか)を判定する。この例では、ANNが路面206のくぼみを予測し、そのようなくぼみが後で車両によって検出されない場合、トレーニングはくぼみを予測した推論を修正する。一実施例では、センサの動きは、平面に垂直なピッチ、ヨー、ロール、または並進のうちの1つまたは複数を含み得る。
システム208は、ガンマ画像を使用して路面206をモデル化するように構成される。一実施例では、路面のモデル化は、路面特徴の平面からの垂直偏差の計算を含む。一実施例では、路面のモデル化は、画像のシーケンス内の特徴の残留運動の計算を含む。ここで、特徴の残留運動は、ガンマ値、画像センサ202の動き、およびエピポールの積である。
一実施例では、路面のモデル化は、ガンマ値を使用して以前の画像を現在の画像にワープすることを含む。画像内のそれらの特徴のピクセルの時として一時的な色の変化または複雑な色の変化を一致させるように試行するのではなく、ガンマによって、センサ202からの距離および路面206からの高さに基づいて特徴を画像間で一致させることが可能になるため、ガンマベースのワーピングは特に正確である。
図3は、一実施形態による、現在の画像304および以前の画像302を示す。2本の線306および308は、現在の画像304において、それぞれ、タイヤの下部およびスピードバンプの上部に配置される。線306が以前の画像302のタイヤとどのように位置合わせされているかに留意されたい。線からの両端矢印は、縁石310の静止端に対する線の動きを示す。同様に、線308は、スピードバンプ312の上部が以前の画像302と現在の画像304との間で移動したことを示す。画像302が画像304にワープされると、画像の静止特徴は一致するが、車両の下部は移動する。
図4は、一実施形態による、路面のガンマモデル414を生成するためのニューラルネットワーク412の例を示す。図5~図10は、ニューラルネットワーク412のようなニューラルネットワークのいくつかの追加の詳細および例を示す。ただし、概要として、ピクセルごとの残留運動は、以下の
のように、ガンマ、センサの動き(例えば、車両の動き)、エピポール情報の3つの部分で構成される。エピポール情報は、ホモグラフィ
およびエピポール
の後の画像座標に依存する。これは、センサの自己運動(EM)が与えられたピクセルごとに計算され得る。センサの動きの情報は、前方の動き
および平面
からのセンサの高さに依存する。これは画像全体で固定される。
ガンマは、平面上の点の高さHおよびセンサからの点までの距離Zを介して、各ピクセルでのシーンの構造を表す。したがって、センサの動きの情報およびエピポール情報が与えられると、ニューラルネットワーク412はガンマモデル414を決定し、点ごとの残留運動を計算して、1つの画像を別の画像にワープさせることを可能にし得る。
正確なガンマモデル414が与えられると、各ピクセルの距離および高さのために、画像ワーピングが非常に正確になり、しばしば画像が静止シーンのものであるかのように振る舞う。従来の手法では、最初に残留フローを計算し、次いでエピポール情報およびセンサの動きの情報を除去することによってガンマを計算した。ガンマから、点の高さおよび距離が1つまたは複数のトラック(例えば、タイヤの経路)に沿って計算された。しかし、上記で述べたように、路面画像のノイズの程度が変化することにより、直接の残留運動の検出が問題になることがあった。
画像から直接ガンマを計算するようにニューラルネットワーク412をトレーニングすることは、画像に見られるノイズに対する強固な手段を提供する。したがって、現在の画像402、ホモグラフィを使用してワープされた1つまたは複数の以前の画像404、および入力として自己運動410およびエピポール(例えば、平面)パラメータ(画像406および408)が与えられると、ニューラルネットワークはガンマ値414の画像を出力として生成する。図示のように、ガンマモデル414の陰影が明るいほど、ガンマ値は低くなる。
他のシステムでは、ニューラルネットワーク412をトレーニングするとき、車両は損失計算から省略される。これは、車両の動きがトレーニング中に近くのガンマ値に影響を与えるのを防ぐために行われるが、通常、車両は推論中にマスクされない。一実施例では、車両または他の移動物体は、トレーニング中にニューラルネットワーク412の損失関数からマスクされない。
現在の実装では、トレーニング中に車両をマスクする必要はない。代わりに、現在の画像402は、同時に撮影された複数の画像センサからの複数の画像を含む。例えば、メインカメラ、左コーナーカメラ、および右コーナーカメラからの画像を現在の画像セットとして使用し得る。同時に撮像された複数の画像を使用することにより、ニューラルネットワーク412は、例えば、左コーナーカメラと右コーナーカメラとの間の画像分析から取得され得る3次元(3D)情報でトレーニングすることが可能になる。現在のフレームからの3D情報を使用してニューラルネットワーク412がどのようにトレーニングされるかについての詳細は、以下に提供される。
図示のように、エピポール情報およびセンサの動きの情報は、画像(例えば、値のラスタ)として提供される。センサの動きの情報画像410は、一定値の画像である(例えば、すべてのピクセルが同じ値を有する)。エピポール情報は、水平(例えば、x)406および垂直(例えば、y)408方向のエピポールまでの距離のピクセル値をそれぞれ有する2つの画像によって表される。畳み込みニューラルネットワーク(CNN)を使用する場合は、エピポール情報を2つの値ではなく、勾配画像として提供することが有用である。CNNでは、同じフィルタバンクが画像402全体にわたって実行され、各画像領域がエピポールとの関係でどこにあるかを伝達しなければならない。勾配画像406および406を使用することにより、フィルタは、各畳み込みのエピポール情報を有する。
図5は、MLベースの輪郭エンジンのDNN500の例を示す図である。一実施例では、図示のように、DNN500は、畳み込み層、活性化層、正規化層、およびプーリング層を含み得る様々な動作層を有する畳み込みネットワーク部分502を含む。内積層などの他の動作層を追加で含め得る。一実施例では、DNN500は、逆畳み込み(例えば、転置畳み込み)、活性化層、正規化層、および非プーリング層を含む逆畳み込み部分504をさらに含む。
一実施例では、前処理された画像530のセットは、畳み込みネットワーク部分502への入力506として提供される。各層は特徴マップを生成し、特徴マップは次いで、順伝播経路508に沿ってさらに処理するために次の層に渡される。図示のように、畳み込みネットワーク部分502の動作は、畳み込み順伝播経路508Aに沿った特徴マップのチャネル数(次元)を増加させながら、特徴マップの解像度を徐々に低下させるように動作する。逆畳み込みネットワーク部分504の動作は、逆畳み込み順伝播経路508Bに沿ってそれらの次元を低下させながら、特徴マップの解像度を徐々に向上させるように動作する。
一実施例では、順伝播経路508に加えて、1つまたは複数のバイパス経路510を提供して、それらバイパス経路の前の層と後の層との間に位置する1つまたは複数の中間層をスキップしながら、前の層から後の層への特徴マップの通過を容易にし得る。一実施例として、バイパス経路510は、畳み込みネットワーク部分502の層と、逆畳み込みネットワーク部分504の同様の次元の層との間で特徴マップを通過させ得る。
「ボトルネック」ネットワーク部分512は、畳み込みネットワーク部分502と逆畳み込みネットワーク部分504との間に位置する。一実施例では、ボトルネックネットワーク部分512は、他の層と比較して、比較的低い解像度およびより高い次元を有する1つまたは複数の層を有する。一実施例では、ボトルネック部分512は、画像形式の動きのインディシア526および画像形式のエピポール位置データ528を受け入れるように構成される入力514を含む。
一実施例では、DNN500は、前処理された画像530の現在の(最新の)画像に対応するガンマ値のピクセル単位のマッピングとして道路構造532を生成するようにトレーニングされる。DNN500の出力としての道路構造532は、前処理された画像530と同じ、または異なる解像度であり得る。例えば、道路構造532の解像度は、整数値または非整数値であり得る係数、すなわち、0.25、0.5、1、1.5、2、または他のスケーリング係数によってスケーリングされ得る。
別の例では、道路構造532は、前処理された画像530の現在の画像の一部に対応し得る。例えば、道路構造532は、路面を表さないその一部を省略した視野100(図1)のトリミングされた画像に対応し得る。
特に、道路構造532のピクセルのガンマ値は無次元値である。一実施例では、DNN500は、その出力として、地平線より上の点に対する
などの他の無次元値のマッピングを生成する。ガンマの値が分かっている場合、距離Zおよび路面の高さHは、
の関係を使用して復元し得て、ここで、N'はN転置、(x、y)は画像座標、fは焦点距離である。
DNNトレーニングエンジン550は、トレーニングデータのセットに基づいて道路構造532の正確な決定を生成するために、DNN500をトレーニングするように構成される。図9は、DNNトレーニングシステム550をより詳細に示す図である。図示のように、DNNトレーニングシステム550は、DNN500と同じまたは類似のアーキテクチャを有するDNN902、および複数のモーダル損失関数適用エンジン950を含む。
図6は、一実施形態による、DNNの例示的なアーキテクチャを詳述する表である。示すように、各層は、その動作タイプ、接続(入力0、入力1、および出力0として示される)、出力チャネルの数、畳み込み/逆畳み込みアーキテクチャ(カーネルの幅とステップを含む)、ならびに活性化関数および正規化タイプに関して説明される。特に、入力/1列に示す第2の入力を有する層および識別された第2の入力ソースはバイパス接続を有する。
図6のDNNの層1への入力は、入力/0列に「images」と示される、前処理された画像のセットを含む。入力/1列の「epipole/motion」で示すように、画像形式のエピポールのインディシアおよび画像形式の動きのインディシアが層8に入力される。
図7~図8は、一実施形態による、DNNのより複雑なアーキテクチャ例の詳細を示す表である。入力/1列の「images」で示すように、画像は層1のDNNに入力される。入力/1列の「epipole/motion」で示すように、画像形式のエピポールのインディシアおよび画像形式の動きのインディシアが層9に入力される。一部の層(層44および49)には、バイパス接続用の第3の入力があり、入力/2列で表される。さらに、図7~図8のDNNの例の特定の層は、層22、28、34、42、47、52などのサイズ変更動作を実行する。特に、層52は、特徴マップを前処理された画像330と同じサイズにサイズ変更する。
図9は、一実施形態による、DNNトレーニングシステムの例を示す。ここで、複数のモーダル損失関数適用エンジン950は、DNN902への入力としてトレーニングデータ930を供給するように構成される。トレーニングデータ930は、1つまたは複数の車両搭載カメラによって撮像された画像フレームの様々なシーケンスを含み得る。画像フレームは、例えば、様々な照明および天候条件の下で、様々な地理的場所で、様々な道路で撮像された動画映像を含み得る。画像は、同じ車両上の複数の撮像デバイスから同時に撮像された画像を含み得る。
トレーニングデータ930は、トレーニングデータ930のそれぞれの部分に対応する画像形式の動きのインディシア926および画像形式のエピポールのインディシア928を伴い得る。画像形式の動きのインディシア926および画像形式のエピポールのインディシア928は、DNN902の構造的および動作的配置に一致するように、トレーニングデータ930の画像フレームの入力層とは異なる入力層に供給され得る。入力は、順伝播経路908に沿ってDNN902を通って進み、DNN902の出力として道路構造932を生成する。
DNN902は、最初に、計算パラメータ(例えば、重み、バイアスなど)のランダム化された値で構成され得る。トレーニングプロセスは、計算パラメータの値を調整して、DNN902、道路構造932の出力を最適化するように機能する。複数のモーダル損失関数適用エンジン950は、パラメータ最適化を実行するように構成される。一実施例では、複数の異なる損失関数を使用して、DNN902の出力の精度を決定する。複数のモーダル損失関数適用エンジン950は、DNN902の様々な層のための計算パラメータ調整920を生成し、計算パラメータ調整920は、逆方向伝播経路910に沿った逆伝播を使用して開始される。
一実施例では、DNN902の様々な層の計算パラメータ調整920が収集され、DNN902のトレーニング結果を定義する計算パラメータデータ構造925に記憶される。一実施例では、計算パラメータデータ構造925は、(例えば、DNNトレーニングシステムの出力の一部として)垂直輪郭検出エンジンに渡され、そこで、MLベースの輪郭エンジンを構成するための計算パラメータとして記憶される。
一実施例では、複数のカメラおよび重なり合う視野が使用される場合、複数の視野からの関連画像を使用して、幾何学的損失関数のトレーニングを達成し得る。例えば、(時間t3での)左および中央の画像は、時間t3からのガンマワープされた画像が時間t3での中央の画像と測光的に類似しているという要件で処理され得る。将来の2組の画像を使用して、これらの画像から推測されるガンマが、カメラの動きを補正した後、時間t1およびt2の画像を使用して導出されたガンマと類似しているという条件を設定し得る。一実施例では、中央のメインカメラを、前方および側方を向いている車両の屋根の左コーナーまたは右コーナーに取り付けられた1つまたは複数のカメラと一緒に使用し得る。これらの側面カメラは、90度より広い視野を有し得る。右側のカメラの視野は、メインカメラの右側の視野と大幅に重なり得て、後方に広がる視野を有し得る。左側のカメラは、メインカメラの左側の視野と大幅に重なる視野を有し得て、後方に広がる視野を有し得る。カメラのこの配置を図22に示しており、ここで、カメラ2212Bはメインカメラであり、カメラ2212Aおよび2212Cはそれぞれ左側および右側のカメラである。一実施例では、コーナーカメラからの画像をトレーニング段階で使用して、推論段階で使用せずに損失関数を計算し得る。
例では、推論エンジンのトレーニングが現在のトリプレットおよび将来のトリプレットの両方で実行され、それぞれoutput_currおよびoutput_futureが生成される。幾何学的損失は、output_currからの他の損失と組み合わせて、ネットワークの重みを調整するために逆伝播され得て、また、幾何学的損失のないoutput_futureからの損失は、重みを調整するために伝播される。一実施例では、output_futureの幾何学的損失は無視され、output_currのみがトレーニングに使用され得る。
図10は、一実施形態による、複数のモーダル損失関数適用エンジン1050の例を示す。複数のモーダル損失関数適用エンジン1050は、図9の複数のモデル損失関数適用エンジン950のインスタンスであり得る。図示の例では、複数のモーダル損失関数適用エンジン1050は、写真測量損失関数トレーニングエンジン1004、予測画像写真測量損失関数トレーニングエンジン1006、EM損失関数トレーニングエンジン1008、および幾何学的損失関数トレーニングエンジン1010の4つの別個の損失関数トレーニングエンジンを含む。さらに、複数のモーダル損失関数適用エンジン1050は、逆伝播エンジン1012、およびトレーニングデータストア1020を含む。損失関数トレーニングエンジン1004~1010は、道路構造1032を対応する参照基準と比較するように構成され、参照基準は、道路構造1032の精度における誤差または損失を確認するために、従来の「グラウンドトゥルース」値の代わりに使用される。
一実施例では、(従来の教師あり機械学習システムのような)実際のグラウンドトゥルースデータは使用されない。代わりに、トレーニングデータの画像が、画像に対応する自己運動、カメラの高さ、エピポールなどの追加の利用可能なデータとともに処理され、損失関数の評価のための参照基準が生成される。ある意味では、参照基準はトレーニングデータに基づいているため、これは一種の教師なし学習と見なし得る。例えば、DNNのガンマ出力と一緒に画像から計算された自己運動を使用して、1つの画像を第2の画像にワープして比較できる。ワープした第1の画像とワープしていない第2の画像との間の差は、ガンマの誤差の可能性を示しており、損失関数として使用できる。
一実施例では、トレーニングデータにグラウンドトゥルースデータを利用可能である。一実施例として、グラウンドトゥルースデータは、3次元撮像または走査測定(例えば、立体撮像、ライダ走査など)などの追加の測定モダリティによって提供され得る。したがって、1つまたは複数の損失関数は、実際のグラウンドトゥルースに基づいて、一種の教師あり学習を提供し得る。
損失関数トレーニングエンジン1004~1010はそれぞれ、DNNをトレーニングするために使用される全体的な損失関数の構成要素に寄与し得る。逆伝播エンジン1012は、可変計算パラメータ(例えば、重み、バイアス)に関して全体的な損失関数の偏導関数を計算し、勾配降下法を使用して、それぞれの動作パラメータごとの調整方向を決定するように構成され得る。逆伝播エンジン1012は、逆伝播経路に沿った連続する各層に更新された計算パラメータ値を適用し得る。トレーニングデータストア1020は、DNNの適切な入力層に適用されるトレーニングデータ、画像形式の動きのインディシア、および画像形式のエピポールのインディシアを含み得る。一実施例では、損失関数は、そのようなプリミティブの複雑な組み合わせを含むテンソルフローのプリミティブ関数に関して定義される。損失がこのように定義されると、テンソルフローを使用して偏導関数を計算し得る。これは、テンソルフローなどのツールを使用する現在の標準的な方法である。他の最適化手法を使用できる。
写真測量損失関数トレーニングエンジン1004は、順伝播経路でDNNに提供されたトレーニングデータからの画像フレームのセットに基づいて参照基準を生成するように構成される。一実施例では、3つの画像(現在、以前、およびさらに以前)がDNNへの入力として使用される場合、道路構造1032として生成されたガンママップが、以前の画像およびさらに以前の画像を現在の画像へワープさせるために使用される。ワープさせた各画像は、残留フローを補正するために修正され、実際の現在の画像と比較される。
残留フロー補正は、
にしたがって決定し得て、ここで、μは残留フローを表し、γ(ガンマ)は道路構造を表し、項
は、前方方向の自己運動をカメラの高さで割ったものを表し、項
は路面の平面を表す。
画像比較は、正規化された相互相関、差分絶対値和(SAD)、バイナリ記述子距離などの適切な手法を使用して計算され得て、これらは、
にしたがって、各ピクセルを囲む画像のパッチに適用され得て、ここで、
はワープされていない現在の画像であり、
は、ガンマワープおよび残留フロー補正された以前の(またはさらに以前の)画像であり、
は、ワープ前の以前(またはさらに以前)の画像である。一実施例では、物体検出(例えば、車両検出、自転車/歩行者検出)を使用して、移動物体を損失関数からマスクして、比較される画像間で検出される動きを低減する。画像比較は、画像間の濃淡値比較を含み得る。
一実施例では、写真測量損失関数トレーニングエンジン1004は、道路特徴および非道路特徴に対応する画像比較の部分に可変の重み付けを適用する。したがって、非道路部分で見られる比較された画像間の差の程度は無視され得る。
2つ以上の損失関数トレーニングエンジン1004~1010によって提供される損失関数成分は、例えば、計算パラメータ調整を生成するために、勾配降下法を使用してDNNをトレーニングするために使用される集約された複数のモーダル損失関数に、逆伝播エンジン1012によって結合される。
一実施形態では、いくつかの画像が単眼撮像システムによって撮像され、画像は、現在の画像および1つまたは複数の将来の画像または1つまたは複数の過去の画像を含む。そのような実施形態では、予測画像写真測量損失関数トレーニングエンジン1006は、DNNが道路構造1032を生成するために使用した画像を使用することに加えて、1つまたは複数の「将来」または「過去」の画像が画像比較処理に含まれることを除いて、写真測量損失関数トレーニングエンジン1004と同様の画像ワーピング、補正、および比較技術を実行するように構成される。「将来」の画像は、DNNのトレーニングに使用されている現在の画像のセットよりも後に撮像された画像であり、「過去」の画像は以前に撮像された画像である。したがって、将来の画像の場合、予測画像写真測量損失関数トレーニングエンジン1006によって提供される損失関数成分は、実行時に利用できないトレーニングデータを使用する。特に、計算された推論は、推論が入力として認識しない画像で機能するガンマを生成する。
EM損失関数トレーニングエンジン1008は、道路構造1032を、道路構造1032に対応する道路の一部の上での車両の通過を表す「将来」の自己運動と比較することに基づいて損失関数成分を生成するように構成される。一実施例として、道路構造1032に任意の隆起または穴のいずれも示さない場合、道路の隆起または穴を示す自己運動は損失である。一実施例では、上向きまたは下向きの曲率を使用し得る。一実施例では、EMは、20mを超えて(例えば、50mまで)延長され得る。これは、道路の一部が遠すぎて残留フローを計算できない場合でも、DNNが道路構造から表面の長距離形状を適切にモデル化するのに役立ち得る。同様に、道路構造1032がその位置(特に、車両の車輪の経路)での隆起または穴を予測しながら、隆起または穴に対応する自己運動がないことも損失になる。
一実施例では、0.5Hzの周波数を有するローパスフィルタまたは減衰ばねモデルを道路構造1032に適用して、車両が道路の地形を通過するときの車両のサスペンションの減衰効果をモデル化する。別の例では、車両のサスペンション状態が利用可能である場合、サスペンション情報が自己運動と一緒に考慮されて、車両の車輪の垂直方向の動きをより正確に測定する。
幾何学的損失関数トレーニングエンジン1010は、「将来」の画像フレームおよび対応する「将来」の自己運動を含む1つまたは複数の「将来」のトレーニングデータのセットを使用して損失関数成分を生成するように構成される。「将来」の画像フレームは、入力として使用される現在の画像フレームよりも前の定義された距離または時間ステップで撮像された(現在の画像フレームからさらに遠い距離、または現在の画像フレームより後に撮像された)画像を表す。例えば、「将来」の画像フレームおよび自己運動は、トレーニングデータの次の後続の3つの撮像された画像に対応し得る。別の例では、「将来」の画像フレームおよび自己運動は、車両の位置から5メートル、20メートル、またはその他の定義された距離に対応する。
参照基準は、DNNを使用して計算される「将来」の道路構造(例えば、ガンママップ)に基づいている。幾何学的損失関数トレーニングエンジン1010は、「将来」の自己運動を使用して、「将来」の道路構造を現在の道路構造832にワープするか、または「将来」の自己運動を使用して現在の道路構造1032を「将来」の道路構造にワープする。
一実施例では、「将来」の道路構造は、現在の道路構造1032にワープされ、それらの間で第1の比較が行われ、現在の道路構造1032は、「将来」の道路構造にワープされ、それらの間で第2の比較が行われる。第1および第2の比較の結果を組み合わせて(例えば、平均化して)、集約された比較を生成し得て、次いで、これを使用して、幾何学的損失関数トレーニングエンジン1010の損失関数を決定する。
別の実装例では、複数のカメラおよび重なり合う視野が使用される場合、複数の視野からの関連画像を使用して、幾何学的損失関数のトレーニングを達成し得る。例えば、(時間t3での)「将来」の左および中央の画像は、時間t3からのガンマワープされた画像が時間t2での中央の画像と測光的に類似しているという要件で処理され得る。将来の2組の画像を使用して、これらの画像から推測されるガンマが、カメラの動きを補正した後、時間t1およびt2の画像を使用して導出されたガンマと類似しているという条件を設定し得る。一実施例では、中央のメインカメラを、前方および側方を向いている車両の屋根の左コーナーまたは右コーナーに取り付けられた1つまたは複数のカメラと一緒に使用し得る。これらの側面カメラは、90度より広い視野を有し得る。右側のカメラの視野は、メインカメラの右側の視野と大幅に重なり得て、後方に広がる視野を有し得る。左側のカメラは、メインカメラの左側の視野と大幅に重なる視野を有し得て、後方に広がる視野を有し得る。カメラのこの配置を図22に示しており、ここで、カメラ2212Bはメインカメラであり、カメラ2212Aおよび2212Cはそれぞれ左側および右側のカメラである。一実施例では、コーナーカメラからの画像をトレーニング段階で使用して、推論段階で使用せずに損失関数を計算し得る。
別の実装では、ニューラルネットワークは、測光損失および幾何学的損失の2つの損失を使用してトレーニングし得る。損失は、2つの測定値間の差を指すと理解されよう。一般に、ニューラルネットワークは損失を最小限に抑えるようにトレーニングされる(例えば、最適化される)。
幾何学的損失は、上記で説明したように扱われる。測光損失は、次の5つの成分に基づいている。
a.現在の画像フレーム。
b.現在の画像フレームのピクセルごとの3D情報出力。
c.現在の画像フレームに表示されているシーンの一部を共有する第2の画像フレーム。
d.世界の2つのフレーム間の位置の差を表す回転および並進(RT)。
e.両方のフレームから見た道路領域を表す合理的な道路平面。
RT、道路平面、および3D情報を使用して、現在のフレームが第2のフレームのピクセルを使用して再描画される。RTおよび3D情報が完全である場合(平面は合理的な推測にすぎない場合がある)、これらのレンダリングされた画像のほとんどは本質的に同一である(例えば、99%のピクセルが互いに閾値の距離内にあり、閾値は同一と見なされる許容値を定義する)。3D情報が完全でない場合、3D情報の不備が誤って再描画され、再描画された画像のその部分は現在のフレームと一致しない。トレーニングの場合、ニューラルネットワークは、現在のフレームとレンダリングされたフレームが完全に一致する再描画された画像のパッチの場合には強化され(例えば、報酬を与えられ)、一致しないパッチの場合には罰を与えられる。時間の経過とともに、ニューラルネットワークは収束してシーンに正確な3D情報を出力する。
単眼トレーニングシステムは、測光損失を計算するために5つの異なる代替フレームを使用してこの動作を実行し得る。5つのフレームはすべて、現在のフレームと同じカメラ(例えば、図22のメインカメラ2200B)からのものであり、それらはすべて、現在のフレームの6メートル以内に収まっており、現在のフレームが撮像される前と後で撮影されたものである。損失のみを考慮したことにより、推論時(例えば、トレーニングではなく走行中に使用する場合)に利用できない場合でも、将来のトレーニング画像(現在のフレームから測定)を使用し得る。
複数のカメラ技術は、5つのフレームの実装と同様に、現在のフレームに加えて2つの追加フレームおよび時間的に前の2つのフレームを現在のフレームに組み込んでいるが、将来のフレームは、左前方コーナーカメラおよび右前方コーナーカメラ(例えば、図22のカメラ2200Aおよび2200C)など、異なるカメラから撮影したフレームと交換している。同じカメラからの画像の測光損失の計算で、上記で説明したすべては、現在のフレームと同じシーンの少なくとも一部をカバーするフレームであり、いくつかのRTで分離されているため、この場合にも当てはまる。したがって、この場合では、単一のカメラの複数のフレーム機構に使用されるすべての計算は、1つの例外を除いて、複数のカメラからの複数の画像でも機能する。単眼技術で使用される5つのフレームの場合、画像は5つの異なる時間に撮影されたが、そのどれもが現在のフレームと同時ではなかったため、移動物体は測光損失の正確な測定値を示していなかった。その結果、木のような物体は静止したままであるため、測光損失に正確な情報を提供するが、移動する車または歩行者はそうではなくマスクしなければならなかった。
向上した複数のカメラプロセスでは、様々なカメラが時間内に互いに同期される。したがって、2つの追加フレームは、現在のフレームと同時に撮影される。上記で述べたように、いくつかのRTによって同時に分離された2つの画像が使用される場合、移動物体は移動しなくなる。これですべてが固定され、方程式は固定物体だけでなく移動物体でも機能する。方程式を完全に使用するには、カメラのRTを正確に決定する必要がある(例えば、ステレオ較正)。そのような実装の1つを以下に説明する。
図11は、一実施形態による、ニューラルネットワークをトレーニングするための方法1100の例を示すフロー図である。方法1100の動作は、上記または以下で説明されるような計算ハードウェア(例えば、処理回路)によって実行される。次の動作を使用して、ある時点で複数のカメラの角度を使用し、ニューラルネットワークをトレーニングして3D環境をモデル化し得る。
動作1102において、画像を提供するカメラ間で較正(例えば、RT)が決定される。ローリングシャッタカメラは、道路平面に対してピッチが異なる2台のカメラを使用する場合、ローリングシャッタの効果が大きくなる傾向があるため、複雑が増すことになる。したがって、単眼の複数画像の実装では測光損失によりローリングシャッタを無視し得るが、ここで無視すると問題が発生し得る。ローリングシャッタを調整するために、コーナーカメラからのフレームに表示される3D情報のある程度の初期理解を使用して、ローリングシャッタ画像をグローバルシャッタ画像として再描画する。例えば、シーンの3D情報、ピクセル行ごとの露出時間、およびタイムスタンプ辺りのカメラの自己運動を使用するローリングシャッタ補正。これは、すべてのピクセルが平面上にあるという仮定などの比較的単純な3D情報を使用して実現され得るか、またはそのカメラで別の視差モデルをトレーニングして、その出力をこの補正に使用するような、はるかに豊富な3D情報を使用して実現され得る。カメラの較正を解決する方法の別の例は、米国特許公開第2014/0198184A1号に記載されている。上記で説明したように、ローリングシャッタ画像がグローバルシャッタ画像として再描画されない場合、ローリングシャッタは、例えば、自己運動、行ごとの露出時間、およびニューラルネットワークの出力からの3D情報を使用して、後で修正され得ることに留意されたい。
動作1104において、左右のカメラからの画像は、平面とRT(例えば、ホモグラフィ)を使用して現在のフレームにワープされ得る。動作1106において、損失計算では、現在のフレームの新しいバージョンは、ワープされたサイドフレームからのピクセルおよびニューラルネットワークからの3D情報を使用してレンダリングされ得る。結果は、実際の現在のフレーム(例えば、メインカメラから)と比較されて、2つの部分が互いにどの程度一致しているかを確認し得る(動作1108)。
次に、動作1110において、2つの経路が追従され得る。画像全体にわたるサラウンドカメラからの損失を使用し得るか、または移動物体のマスクの内部でのみサラウンドカメラからの損失を使用し得る。
上記の動作は、いくつかの方法で使用され得る。例えば、動作1112において、ニューラルネットワークは、3台のカメラからの入力に基づいて推論するようにトレーニングされ得て、トレーニングでは、上記で説明したように損失を使用する。
別の例では、動作1114において、推論のための入力は単一のカメラからのものであり(例えば、メインカメラからの3つのフレーム)、サラウンド画像はトレーニング中の測光損失のためだけに使用される。この例では、メインカメラのみが使用可能な場合に、ニューラルネットワークがフィールドで機能し、車両アーキテクチャは以前の実装と同じである。したがって、チップ上の計算効率(例えば、コスト)は同じである。しかし、ニューラルネットワークは、移動物体についても合理的な3D情報を出力する方法を学習している。
動作1116において、移動しているおよび移動していないすべての物体に関する3D情報を提供することに加えて、この損失の組み合わせを使用して、画像内のどのピクセルが移動している物体の一部であり、どのピクセルが移動していない物体なのかを示すマスクを出力し得る。これは、ニューラルネットワークの出力に別のチャネルを追加することで実現され得る。したがって、画像内の各ピクセルの3D情報を生成するだけでなく、移動/非移動の予測(例えば、0と1の間)も各ピクセルに提供される。
この出力を提供するようにニューラルネットワークをトレーニングするために、ニューラルネットワークは、メインカメラからの元の5つの画像(例えば、上記で説明した単眼技術)とサラウンドカメラからの損失との間の損失がどの程度異なるかを推測するように促される。物体が移動している領域では、サラウンドカメラからの損失とメインカメラからの損失との間に比較的大きな差(例えば、差の比によって測定される)が発生するため、追加の出力チャネルでより大きな値を生成するために大きな変動が促される。次いで、これらの値は、移動しているマスクと移動していないマスクとして使用し得る。
サラウンドカメラからのステレオ情報を使用することには、他にも利点がある。例えば、単一のカメラと比較した場合、サラウンドカメラ間のベースラインが比較的広いため、少し離れて物体の3D形状を測定する方が正確であり得る。さらに、実線の道路マーク(例えば、線)などの特定のテクスチャは、主にカメラ画像の動きが横方向の場合に深度情報を提供する。したがって、これらの実線の道路マークは、しばしば道路マークに沿った単眼カメラに深度情報を提供するのに不十分なことがあるが、サラウンドカメラは実線の道路マークに対する2つの異なる角度のため、実線の道路マークを非常に効果的に使用し得る。
図12は、本明細書に記載の単眼カメラおよびサラウンドカメラを介してトレーニングされた2つのニューラルネットワークからの異なる出力を示す。画像1202は、単眼技術でトレーニングされたニューラルネットワークの出力である。ここで、色は道路平面からの高さを表す。色は青(青色は、道路平面から20センチ以上下である)から赤(赤色は、道路平面から20センチ以上上である)に移動する。移動中の車両は、無視される(例えば、消去され)こと、および、通常、くぼみを示す道路よりも青い色相に関連付けられていることにも留意されたい。
画像1204は、サラウンド(例えば、ステレオ)技術でトレーニングされたニューラルネットワークの出力である。この画像と前回の画像との間の差に留意されたい。車両の周りのくぼみの誤った表示がなくなっている。むしろ、移動物体の合理的な高さの推定値が提供される。
図13は、一実施形態による、垂直輪郭検出エンジンを動作させるための方法1300の例を示すフロー図である。方法1300の動作は、上記または以下で説明したような計算ハードウェア(例えば、処理回路)によって実行される。
動作1302において、2つ以上の画像フレームのシーケンス、接地面(ground plane)、および自己運動データ、ならびにカメラ高さ情報を含む生データが取得される(例えば、読み取りまたは受信される)。画像フレームは、現在の(例えば、最近撮像された)画像、および1つまたは複数の以前に撮像された画像を含み得る。画像フレームは、同時に撮像された左、右、中央の画像も含み得る。
動作1304において、生データは、道路平面に関して画像フレームのシーケンス間のホモグラフィを決定するために処理される。次いで、一部の画像フレームをワープして、道路平面をシーケンスの別の画像フレームに位置合わせし得る。ワーピングは、例によれば、測定された自己運動および接地面の特性に基づき得る。自己運動は、測定された動きであり得るか、または画像フレームのコンテンツから計算で決定され得る。ワープされた画像フレームは、現在の画像フレーム、および現在の画像フレームに対応するようにワープされた1つまたは複数の以前の画像フレームを含み得る。別の例では、現在の画像フレーム、および1つまたは複数の他のフレームは、ワープされていない以前の画像フレームに対応するようにワープされる。
一実施例では、画像は、DNNによって使用される前に、ラジアルレンズ歪みなどのレンズ歪みに対して補正される。この補正により、特定のレンズでのDNNのトレーニングが回避される。また、特に、焦点距離はガンマの方程式の成分ではないため、複数の異なるカメラタイプからの画像をトレーニングできる。
動作1306において、自己運動データ、接地面データ、およびカメラ高さデータを含む追加の生データが処理されて、動きの情報(例えば、エピポール)が生成される。次いで、この情報は、1つまたは複数の画像としてフォーマットされる(動作1308)。
動作1310において、DNNは、推論を生成するために使用される。DNNは、畳み込み動作、非線形活性化動作、およびプーリング動作を実行し得る。一実施例では、逆畳み込み動作およびプール解除動作が実行される。様々な層において、重みまたはバイアスなどのトレーニングされた計算パラメータは、DNNの事前に確立されたトレーニングにしたがってDNNの動作によって適用される。DNNを推論モードで動作させると、上記で説明したようにガンママップなどの道路構造マップが生成される。DNNなどを使用すると、最大時速50km(50km/hまたは時速約31マイル)で走行中の車両から10メートル(10m)まで、1センチメートル(1cm)以内、または0.5ミリメートル(0.5mm)以内の精度の地形測定値を生成できる。
動作1312において、道路輪郭情報は、道路構造マップから抽出される。残留フロー情報などの追加情報も道路構造マップから抽出され得て、追加情報は関連するアプリケーションのためにさらに処理され得る。
道路輪郭情報は、車両動作のいくつかの態様を自動的に調整する自律車両または半自律車両制御システムに渡され得る。例えば、サスペンション制御システムは、車両の予想される走行経路を表す垂直輪郭データに基づいて、車両のサスペンションを動的に調整し得る。サスペンションの調整は、サスペンションの剛性を動的に変化させること、または道路の垂直輪郭に合わせるために個々の車輪の高さを変化させることを含み得る。
一実施例では、道路輪郭情報は、運転ポリシシステムに渡され得る。運転ポリシシステムは、環境モデルを使用して、将来のナビゲーション動作を決定し得る。運転ポリシシステムは、道路輪郭情報を使用して、ナビゲーション動作を選択または決定し得る。運転ポリシシステムの例は、RSSであり、これは、例えば、国際公開WO2018/001684号に記載されており、その全体が本明細書に組み込まれる。
図21は、一実施形態による、自律車両制御システムで使用するための、道路をプロファイリングするためのカメラベースの車両搭載システムを示す。図示のように、システムは、いくつかのサブシステム、構成要素、回路、モジュール、またはエンジンで構成され、これらは簡潔さおよび一貫性のためにエンジンと呼ばれるが、これらの用語は交換可能に使用され得ることが理解されよう。エンジンは、ハードウェアで実現されるか、ソフトウェアまたはファームウェアによって制御されるハードウェアで実現される。そのため、エンジンは特定の動作を実行するために特別に使用された有形のエンティティであり、特定の方法で構造化されている。
一実施例では、回路は、エンジンとして指定された方法で(例えば、内部で、または他の回路などの外部エンティティに関して)構成され得る。一実施例では、1つまたは複数のハードウェアプロセッサの全体または一部は、特定の動作を実行するように動作するエンジンとして、ファームウェアまたはソフトウェア(例えば、命令、アプリケーション部分、またはアプリケーション)によって構成され得る。一実施例では、ソフトウェアは、有形の機械可読記憶媒体上に常駐し得る。一実施例では、ソフトウェアは、エンジンの基礎となるハードウェアによって実行されると、ハードウェアに指定された動作を実行させる。したがって、エンジンは、特定の方法で動作するように、または本明細書に記載の任意の動作の一部または全部を実行するように物理的に構築されるか、または特別に構成される(例えば、ハードワイヤード)か、または一時的に構成される(例えば、プログラムされる)。
エンジンが一時的に構成される例を考慮すると、各エンジンは、いずれかの時点でインスタンス化される必要はない。例えば、エンジンがソフトウェアを使用して構成される汎用ハードウェアプロセッサコアを備える場合、汎用ハードウェアプロセッサコアは、異なる時間にそれぞれ異なるエンジンとして構成され得る。したがって、ソフトウェアは、例えば、ある時点で特定のエンジンを構成し、異なる時点で別のエンジンを構成するように、ハードウェアプロセッサコアを構成し得る。
図示のように、システムは、車両内または車両上に取り付けられたカメラまたは画像センサ2112を含む。各画像センサ2112は、視野を撮像して、画像プロセッサ2130によって読み取られる画像フレーム2115を提供する。
一実施例では、複数のカメラ2112を車両に取り付け得る。例えば、システムは、異なる方向を指す複数のカメラ2112を有し得る。システムはまた、車両に対して同じまたは同様の方向を指しているが、異なる場所に取り付けられた複数のカメラ2112を有し得る。一実施例では、システムは、(例えば、図22および図23に関して以下に説明されるように)部分的または完全に重なり合う視野を有する複数のカメラを有し得る。一実施例では、2つの並んだカメラがステレオで動作し得る。本明細書では、単一のカメラシステムについて説明するが、関連する画像およびフレームの一部または全部を異なるカメラで撮像し得るか、または複数のカメラで撮像した画像の合成から作成し得る、複数のカメラシステムも使用し得る。本文脈において、リアルタイム動作は、視野が走査または撮像される速度と一致する速度で視野全体で物体が検出されるように、感知できないまたはわずかな処理遅延で動作する。
画像プロセッサ2130を使用して、画像フレーム2115を同時にまたは並行して処理して、いくつかの運転者支援システムまたはアプリケーションにサービスを提供し得る。画像プロセッサ2130を使用して、画像フレーム2115を処理し、カメラ2112の前方視野内の画像または画像の一部を検出および認識し得る。運転者支援システムは、オンボードソフトウェアを備えた特定のハードウェア回路(図示せず)および/またはストレージ2113内のソフトウェア制御アルゴリズムを使用して実装され得る。画像センサ2112は、モノクロ、グレースケールであり得るか、または画像センサ2112は、色に敏感であり得る。実施例として、画像フレーム2115は、特徴検出エンジン2120、交通標識認識(TSR)エンジン2121、前方衝突警告(FCW)エンジン2122、および道路の垂直輪郭または道路平面からの偏差の垂直輪郭検出エンジン2123を提供するために使用される。一実施例では、画像フレーム2115は、異なる運転者支援アプリケーション間で分割され、他の場合では、画像フレーム2115は、異なる運転者支援アプリケーション間で共有され得る。
一実施例では、システムを使用して、路面の平面(または双2次)モデルを正確に推定し、平面(または双2次)路面モデルからの小さな偏差を計算して、様々な表面特徴104を検出または定量化する。本文脈における「路面モデル」という用語は、路面の平面または双2次モデルを指す。「垂直輪郭」または「垂直偏差」という用語は、路面と垂直な軸に沿った路面モデルからの偏差を指す。
一実施例では、システムは、ホスト車両に取り付けられたカメラ2112を使用して、垂直輪郭などの路面形状(例えば、形状)のモデルを正確に検出するために使用される。本明細書で提供されるシステムおよび方法を使用して、隆起または穴、スピードバンプ、縁石、またはマンホールの蓋などの表面特徴を、サブピクセル精度(例えば、1~2センチメートルのオーダ)で路面(例えば、平面)からの垂直偏差として測定またはモデル化し得る。これらの技術は、前方、側方、または後方のカメラ2112に同様に適用し得る。ガンママップは、車両の前方、または側面および後方の走行可能な領域を決定するのに有用であり得る。ガンママップは、表面の傾斜が急すぎて走行できない場所を決定するために単独で使用し得るか、または米国特許公開第2018/0101177号に記載されるように、グレースケールまたはカラー画像ベースの意味的自由空間と組み合わせ得て、参照によりその全体が本明細書に組み込まれる。道路平面のガンママップまたは高さマップを使用して、鋭い垂直端の縁石、滑らかに傾斜した縁石、または保護路肩(例えば、道路の落ち込んでいる場所)を区別し得る。次に、ホスト車両は、滑らかに傾斜した縁石からよりも鋭い縁石または端の落ち込んでいる場所からの距離を大きく維持するように制御し得る。
一実施例では、システムは、車両の電気機械式アクチュエータシステムにスロットル、ブレーキ、ステアリング、またはトランスミッション選択コマンドを生成して自律または半自律走行動作を行うための1つまたは複数の車両制御エンジンを実装する車両制御プロセッサ2140をさらに含み得る。車両制御プロセッサ2140は、エンジン2120~2123によって生成される様々なマシンビジョン評価に関連する画像プロセッサ2130によって供給される様々な出力を受信し得る。
図22は、一実施形態による、車両上の複数のカメラアレイを示す。図示のように、カメラ2212A~2212Fは、視野(例えば、以下に説明する視野など)を提供するために車両の周囲に配置される。
図23は、一実施形態による、複数のカメラアレイによって撮像され得る視野の例を示す。複数の重なり合う視野100A~100Fが示される。ここでは、路面は視野に共通である。
図17は、一実施形態による、垂直輪郭検出エンジン1723の例を示すブロック図である。垂直輪郭検出エンジン1723は、プリプロセッサエンジン1722、機械学習(ML)ベースの輪郭エンジン1724、および出力抽出エンジン1734を含む。プリプロセッサエンジン1722は、生の入力データのセットを受信し、生の入力データのセットを処理し、さらに処理するためにMLベースの輪郭エンジン1724に渡される前処理された入力データのセットを生成するように構築、プログラム、または他の方法で構成され、その結果は、路面の垂直輪郭の測定値を示す出力である。
生の入力データのセットは、車両制御システムの構成要素から提供され得る。例えば、自己運動エンジン1702、接地面エンジン1706、またはデータストア1712はそれぞれ、生データの様々な項目を提供し得る。特に、本文脈において、「生データ」という用語は、プリプロセッサエンジン1722の入力側に関する情報を指す。生データは、センサ(例えば、1つまたは複数のカメラ)から直接提供されるデータだけではなく、その他の方法で提供される未処理のデータである。むしろ、生データは、そのソースによって、または中間処理エンティティによって、ある程度計算処理され得る。
自己運動エンジン1702は、センサの実際の動きを記述する自己運動(EM)情報1704を提供するように構成される。EM情報1704は、車両の速度計、または慣性センサ(例えば、車両218のヨー、ピッチ、およびロールを感知するように構成される3軸加速度計)によって取得された測定値に基づき得る。慣性センサは、カメラに統合し得るか、またはホスト車両上またはホスト車両内の他の場所に取り付けられ得る。
接地面エンジン1706は、接地面(GP)情報1708を提供するように構成される。一実施例では、接地面エンジン1706は、自己運動エンジン1702、車両サスペンション情報、またはこれらの入力のいくつかの組み合わせによって提供されるピッチおよびロールデータに基づいて、GP情報1708を決定し得る。GP情報1708は、道路の平面法線ベクトル、および平面までの距離を示し得る。一実施例では、接地面エンジン1706は、3D走査測定(例えば、ライダ)、立体撮像、または他の適切な技術に基づいて、平面法線ベクトルおよび平面までの距離を計算し得る。一実施例では、接地面エンジン1706は、撮像された画像1716に基づいてGP情報1708を計算し得るか、またはGP情報1708は固定された既定GPであり得る。
データストア1712は、カメラ高さ情報1714、および連続して撮像された画像フレーム215のシーケンスを含み得る撮像された画像1716などの保存されたデータ項目を提供する。撮像された画像1716は、例えば、現在の(最近撮像された)画像、以前の画像、およびさらに以前の画像を含み得る。
プリプロセッサエンジン1722は、撮像された画像1716、およびEM1704、GP情報1708、またはカメラ高さ情報1714などの他の生データ入力の項目に基づく前処理された画像1730のセットを出力する。さらに、プリプロセッサエンジン1722は、MLベースの輪郭エンジン1724によるさらなる処理のために、画像形式のエピポールのインディシア1728、および画像形式の動きのインディシア1726を出力する。プリプロセッサエンジン1722はまた、ローリングシャッタで撮像された画像を調整し得る。
一実施例では、道路構造1732は、現在撮像された画像の各ピクセルについて、前方の動きの方向に沿った(z軸に沿った)カメラからの距離に対する道路平面の高さの比を表すマップであり、本明細書では「ガンマ」と呼ばれる。一実施例では、ガンマは、前処理された画像1730のセットのいずれかと同じまたは同様の解像度を有し得るか、または異なる(例えば、低減された)解像度を有し得る。
一実施例では、MLベースの輪郭エンジン1724は、前処理された画像1730のセット、画像形式のエピポールのインディシア1728、および画像形式の動きのインディシア1726を読み取り、プリプロセッサエンジン1722のこれらの画像形式の出力を処理して、路面の3次元構造を表す画像形式のマップである道路構造1732を生成する。道路構造1732は、道路の垂直輪郭を示す。これは、路面上の点の高さ情報を含み得るか、または、さらなる処理から高さ情報が計算によって決定される得る他の値を含み得る。
一実施例では、MLベースの輪郭エンジン1724は、道路の垂直輪郭を計算するためのトレーニングされたディープニューラルネットワーク(DNN)を含む。DNNは、各層に固有の重み付け、バイアス、または他の可変設定を含む、計算パラメータ1725に基づいて、複数の層で様々な段階的動作を実行する。計算パラメータ1725は、DNNトレーニングシステム1750などによってオフラインまたは遠隔で実行され得るDNNトレーニング動作に基づいて確立され、時には更新され得る。トレーニングは、本明細書で説明する技術を使用して実現され得る。
出力抽出エンジン1734は、例えば、カメラ高さ情報1714およびGP1708を使用して、道路構造1732のガンマ(γ)値を処理して、道路の平面からの垂直高さを表す高さマップ1736を生成するように構成される。一実施例では、出力抽出エンジン1734は、次の
に基づいて、道路構造1732から残留運動μ1738を計算するように構成され、ここで、
項はガンマであり、
は、前方方向への並進を表し、Dはカメラの高さ1714を表し、
はエピポール情報を表し、
は、ホモグラフィベースのワーピングを適用した後の対応する画像座標を表す項である。
一実施例では、DNNはガンマ値のピクセル単位の出力を生成し、ここで、ガンマは、前方の動きの方向に沿った(z軸に沿った)カメラからの距離に対する垂直輪郭の高さの計算された比である。垂直輪郭の高さは、画像内の対応する位置のそれぞれのガンマ値から決定し得る。
一実施例では、歩道などの道路境界の特徴は、高さHから直接検出され得る。一実施例では、道路境界の特徴は、延長線によって低残留フローの領域から分離されている比較的均質な正の残留フロー領域を検出することによって検出され得る。これらの線は、拡張焦点(FOE)の方向、または道路の方向(すなわち、レーンマークの消失点の方向)に大まかに向かっている。
一実施例では、隆起または障害物は同様に、高さHから直接検出され得るか、または少なくとも部分的に低残留フローの領域に囲まれた正の残留フローの領域として検出され得る。一方で、一実施例では、穴またはくぼみは、少なくとも部分的に低残留フローの領域に囲まれた負の残留フローの領域として検出され得る。
一実施例では、前処理された(例えば、ワープ、位置合わせ、および安定化された)画像が取得される。これらの前処理された画像は、特に水たまりの検出のためではなく、道路プロファイリング動作の一部として生成され得る。ここで、前処理された画像が利用可能なことにより、画像を新たに前処理しなければならないシステムと比較して、特徴検出のための計算効率および検出速度の向上が容易になる。
図18は、一実施形態による、プリプロセッサエンジン1872の例を示す。プリプロセッサエンジン1872は、図17のプリプロセッサエンジン1722のインスタンスであり得る。図示のように、プリプロセッサエンジン1872は、基準フレームエンジン1802、ホモグラフィエンジン1804、画像ワーピングエンジン1806、エピポール画像生成エンジン1808、および動きの情報画像生成エンジン1810を含む。
EM情報1854は、基準フレームエンジン1802および動きの情報画像生成エンジン1810への入力として供給される。この例では、EM情報1854は、車両内の動き検知デバイスから提供または導出され得る、回転(R)情報1812および並進(T)情報1814を含む。GP情報1858は、基準フレームエンジン1802に提供される。図示のように、GP情報1858は、既定の平面法線ベクトル指標、道路平面のN1816を含む。
撮像された画像1866は、基準フレームエンジン1802、ホモグラフィエンジン1804、および画像ワーピングエンジン1806に提供される。撮像された画像1866は、視野内の道路の同じ部分から撮像された画像フレームのシーケンス1818(例えば、第1の画像フレームA、第2の画像フレームB、および第3の画像フレームC)を含む。一実施例では、画像フレームのシーケンス1818は、わずか2つの画像フレーム、3つの画像フレーム、または4つ以上の画像フレームを有し得る。
カメラ高さ情報1864は、基準フレームエンジン1802および動きの情報画像生成エンジン1810に提供される。一実施例では、カメラ高さ情報1864は、呼称カメラ高さを表す固定値1820を含む。一実施例では、カメラ高さ情報1864は、現在のカメラ高さを報告する動的指標を含み、動的指標は、車両のサスペンション状態などの変数を考慮する。
一実施例では、基準フレームエンジン1802は、EM情報1854に基づいて、接地面インディシアをGP情報1858から接地面の更新された表現に調整するように構成される。これは、安定した基準面に対する道路プロファイルの出力が所望される場合に重要になり得る。一実施例として、接地面の平面法線ベクトルは次の
のように調整され、ここで、N(t)は、方向および大きさの情報とともに、更新された平面法線ベクトルを表す。例えば、N(t)は、平面法線ベクトルNをカメラの高さ(すなわち、本明細書ではcamHとも呼ばれる、接地面Dまでの距離)で割った値を表し得る。一実施例では、NおよびDは、同じα、β、およびδ係数を使用して別個に更新され得る。
ホモグラフィエンジン1804は、画像フレーム1818の対の間のホモグラフィを計算するように構成される。本文脈における「ホモグラフィ」という用語は、直線を直線にマッピングする、射影空間からそれ自体への可逆変換を指す。コンピュータビジョンの分野では、空間内の同じ平面の2つの画像が、ホモグラフィによって関連付けられる(ピンホールカメラモデルを想定)。所与のホモグラフィは、計算によって表され、行列として処理され得る(配列または他の適切なデータ構造で実現される)。
一実施例として、道路の第1の画像フレームAから道路の第2の画像フレームBへの変換を表す第1のホモグラフィHABは、ホモグラフィエンジン1804によって計算される。第1のホモグラフィHABは、第1の画像フレームA内の道路の一致する画像点および第2の画像B内の道路の対応する画像点のセットから計算され得る。
一実施例では、ホモグラフィHは、自己運動および接地面の情報に基づいて、
のように表し得て、ここで、RおよびTは、それぞれ、EM1854からの(例えば、フレームAからフレームBへの)回転および並進を表し、camHは、カメラ高さ情報1864からのカメラ高さを表し、NはGP1858からの平面法線ベクトルを表し、KおよびK-1は較正要素を表す。
道路の第2の画像フレームBから道路の第3の画像フレームCへの変換を表す第2のホモグラフィHBCはまた、第2の画像フレームB内の道路上の一致する画像点および第3の画像フレームC内の道路の対応する画像点からホモグラフィエンジン1804によって計算され得る。
ホモグラフィエンジン1804は、行列乗算などによって、第1および第2のホモグラフィHABおよびHBCをさらに連鎖させ得る。連鎖ホモグラフィを第1の初期推測として使用することにより、道路の第1の画像から道路の第3の画像への変換を表す、第3のホモグラフィHACを計算し得る。
一実施例では、ホモグラフィエンジン1804は、画像フレーム間の自己運動を使用してホモグラフィを計算する。例えば、RABで示す第1の画像フレームAと第2の画像フレームBとの間で測定された回転は、第1の画像フレームAと第2の画像フレームBとの間の並進TABとともに、RBCおよびTBCで示す第2の画像フレームBと第3の画像フレームCとの間の回転および並進とそれぞれ連鎖される。この自己運動連鎖は、RACおよびTACで示す第1の画像フレームAと第3の画像フレームCとの間の回転および並進の決定を生成する。ホモグラフィエンジン1804は、自己運動RABおよびTABを使用して、フレームCの座標フレームでフレームBおよびCを使用して計算された平面法線である平面法線ベクトルNBCを更新する。これは、第2および第3の画像フレームBおよびCに共通の安定した基準面を表す。ホモグラフィエンジン1804は、3つの画像A、B、およびCのシーケンスに関連するすべてのホモグラフィに使用可能な安定化した基準フレームを表す更新された平面法線ベクトル(例えば、NBC)を決定する。次に、ホモグラフィエンジン1804は、回転RAC、並進TAC、および平面法線NACに基づいて、第1の画像フレームAと第3のフレームCとの間の画像フレームの遷移のためのホモグラフィHACを構成する。
一実施例では、プリワーピング後のロバスト追跡を適用して、ホモグラフィを計算する。これは、自己運動および平面推定を導出して、以前の平面推定を調整するために使用される。自己運動および調整された平面モデルを組み合わせて、ホモグラフィを取得する。一実施例として、自己運動は、自己運動センサおよび処理エンジンによって提供され得る。このタイプのエンジンは、基本行列を使用して、道路上の点および道路上の点のロバスト追跡を使用する。また、利用可能な任意の慣性センサと速度計の情報とを組み合わせる。接地面情報は、接地面エンジンによって提供される。このエンジンは、(プリワープ後の)道路上の点を追跡し、次いで、計算された自己運動を使用して各点までの深度を導出し、点の3D座標を生成する。その後、平面を3D点にアルゴリズムで適合させる。自己運動と平面を組み合わせて、ホモグラフィを提供する。
一実施例では、路面のそれぞれのパラメトリックモデルを実装し得る。例えば、3Dスプラインモデルは、通信可能に結合された走行経路ジオメトリまたは物体検知サブシステムによって提供され得る。そのようなサブシステムの1つの例として、Intel社の子会社であるMobileyeによって製造されたRoad Experience Management(商標)(REM(商標))エンジンは、3Dスプラインの形式で道路特徴の表現を提供し得る。例えば、レーンマークは3Dスプラインとして表し得る。サブシステムは、3Dスプライン特徴表現を画像に位置合わせする。3Dスプライン特徴表現は、さらに処理するために、撮像された道路の画像に逆投影され得る。
3Dスプラインの各点は3D座標を有する。一実施例では、このデータは、撮像された画像の行に沿った3Dスプラインに関連付けられた3D位置を内挿および外挿するために使用され得る。側面への外挿は、ゼロ次ホールド(すなわち、一定)、1次ホールド(例えば、2つのスプラインに基づく線形拡張)などであり得る。一実施例では、内挿は、画像自体の外側にある虚像座標への特定のスプラインの既知の拡張で発生し得る。
内挿および外挿により、画像の下部にあるすべての点の3D座標を生成し得る。これらの点は、滑らかな3D表面上にあり得る。次に、表面を使用して、以前の画像を現在の画像に(またはその逆に)向かってワープし得る。
(例えば、図22および図23を参照して説明したような)複数の重なり合う視野にアクセスできる例では、ホモグラフィは、視野の組み合わせを使用して、ホモグラフィエンジン1804によって計算され得る。例えば、平面路面の重なり合う領域を位置合わせするホモグラフィは、(時間t2での)前方左視野2300Aから前方中央視野2300Bまで取得され得て、このホモグラフィを使用して、前方左視野2300Cの画像を前方中央視野2300Bの画像にワープさせ得る。さらに、ホモグラフィは、(単眼の場合のように)時間t1での前方中央視野2300Bの画像と時間t2での前方中央視野2300Bの画像との間で計算され得る。さらに、ホモグラフィは、(時間t1での)前方左視野2300Aの画像から(同じく時間t1での)前方中央視野2300Bの画像まで計算され得る。このホモグラフィを使用して、(時間t1での)前方左視野2300Aの画像を連鎖ワープして、(時間t2での)前方中央視野2300Bの画像と位置合わせし得る。
一実施例では、(時間t1での)前方左視野2300Aの画像と(同じく時間t1での)前方中央視野2300Bの画像との間のホモグラフィは、(時間t1での)前方中央視野2300Aの画像と(時間t2での)前方中央視野の画像との間のホモグラフィに使用される平面法線、ならびに焦点距離およびレンズ歪みなどの各カメラの内部較正パラメータとともに前方左カメラ2212Aおよび前方中央カメラ2212Bの既知の位置(外部較正)から導出される。
この技術は、グローバルシャッタカメラで使用し得るが、ローリングシャッタカメラの場合、または非同期カメラの場合は誤差が発生する可能性がある。後者の場合、2つのカメラの相対位置は、3D点および重なり合う路面間の追跡点を使用し、ホモグラフィを計算する画像から導出し得る。位置合わせに使用されるホモグラフィは、通常、一貫した接地面を使用するため、追跡からのホモグラフィを分解して相対運動を与え得て、この運動および一貫した接地面の法線を使用して新しいホモグラフィを構築し得る。
画像ワーピングエンジン1806は、3つの画像フレーム1818のうちの2つに対してワーピング動作を実行するように構成される。例えば、第1の画像フレームAは第3の画像フレームCにワープされ、第2の画像フレームBは第3の画像フレームCにワープされる。この例では、画像フレームCは現在の画像を表し得て、画像フレームBは以前の画像を表し、画像フレームAはさらに以前の画像を表す。出力はワープされた画像1880である。
エピポール画像生成エンジン1808は、1つまたは複数の画像の形式でエピポール位置データ1878を生成するように構成される。エピポールは、前方の動きの方向を表すベクトルである。一実施例では、画像形式のエピポール位置データ1878は、画像の対を含み、各画像は、画像フレームA、B、およびCと同じまたは同様の解像度を有する。エピポール位置データを表す画像対の第1の画像は、x軸に沿ったエピポールからのそれぞれの距離を表す「ピクセル」を含む。エピポール位置データを表す画像対の第2の画像は、y軸に沿ったエピポールからのそれぞれの距離を表す「ピクセル」を含む。
動きの情報画像生成エンジン1810は、車両の測定された動きを表す画像形式の動きのインディシア1876を生成するように構成される。画像形式の動きのインディシア1876は、例えば、エピポール位置データ1878と同じ次元を有し得る。画像形式の動きのインディシア1876のコンテンツは、車両の動きを表す固定値を有する「ピクセル」を含み得る。一実施例では、画像形式の動きのインディシア1876における車両の動きは、EM1854に基づき得る。一実施例では、画像形式の動きのインディシア1876における車両の動きは、カメラ高さ情報1864にさらに基づく。一実施例では、カメラの高さに対する前方(z軸)方向に沿った現在の並進の測定値の比(Tz/Dとして表される)が、画像内の画像形式のデータ構造1876における各「ピクセル」の一定値として提供される。
図19は、一実施形態による、カメラを使用した車両環境のモデル化のための方法1900の例のフロー図を示す。方法1900の動作は、上記または以下で説明されるような計算ハードウェア(例えば、処理回路)で実施される。
動作1905において、シーンを表す画像の時間順シーケンスが取得される。ここで、画像のシーケンスの一部は、現在の画像を含む。画像は、単眼撮像システムによって撮像され得る。一実施例では、画像のシーケンスの一部は合計で3つの画像である。一実施例では、画像のシーケンスの一部は、画像のシーケンス内の1つまたは複数の画像によって分離される、現在の画像に先行する画像を含む。一実施例では、画像のシーケンスの一部は、現在の画像の直前の画像を含む。
動作1910において、シーンの3次元構造を生成するために、データセットがANNに提供される。一実施例では、データセットは、画像のシーケンスの一部を含み、画像のシーケンスの一部は、現在の画像および画像を撮像するセンサの動きを含む。エピポールは、センサの動きから計算され得る。画像形式のエピポールをANNに入力し得る。
一実施例では、エピポールは、現在の画像と同じ次元の勾配画像として提供される。ここで、勾配画像のピクセルの値は、現在の画像のピクセルのエピポールからの距離を表す。一実施例では、ベースラインは少なくとも0.5mである。一実施例では、勾配画像は現在の画像よりも低い解像度である。一実施例では、勾配画像は、エピポールからの水平距離のみを表す。一実施例では、エピポールからの垂直距離を表すために、第2の勾配画像がANNに提供される。
一実施例では、センサの動きは、現在の画像と同じ次元の一定値の画像として提供される。一実施例では、一定値は、平面からのセンサの高さに対するセンサの前方の動きの比である。
動作1915において、シーンはガンマ画像を使用してモデル化される。一実施例では、シーンの3次元構造はガンマ画像である。ここで、ガンマ画像は、現在の画像を撮像するセンサからの距離に対する接地面上からの点の高さの比であるガンマ値を有するピクセルを含む。
一実施例では、ANNは畳み込みニューラルネットワーク(CNN)である。一実施例では、センサおよびエピポールの動きは、ボトルネック層でCNNに提供される。
一実施例では、3次元構造を使用して第2のANNを呼び出し、物体がシーン内で移動しているか移動していないかを判定する。
一実施例では、ある位置の予測ガンマとその位置でのセンサの動きとの間の差を測定することによって誤差が決定される教師なしトレーニング技術でANNはトレーニングされ、センサの動きは、接地面に垂直なピッチ、ヨー、ロール、または並進を含む。一実施例では、現在の画像のモデルと現在の画像との間の差を測定することによって誤差が決定される教師なしトレーニング技術でANNはトレーニングされ、現在の画像のモデルは、現在の画像と同時に撮像された画像のガンマワーピングによって生成される。現在の画像は、メインカメラまたは画像センサによって撮像され得て、現在の画像と同時に撮像された画像は、左前方または右前方カメラまたは画像センサによって撮像され得る。メインカメラ、左側のカメラ、右側のカメラは、車両上または車両内に取り付けられ得る。
実施形態は、ハードウェア、ファームウェア、およびソフトウェアの1つまたは組み合わせで実施され得る。実施形態はまた、機械可読記憶デバイスに記憶された命令として実施され得て、命令は、本明細書に記載の動作を実行するために、少なくとも1つのプロセッサによって読み取られ、実行され得る。機械可読記憶デバイスは、機械(例えば、コンピュータ)によって読み取り可能な形式で情報を記憶するための任意の非一時的機構を含み得る。例えば、機械可読記憶デバイスは、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、および他の記憶デバイスおよび媒体を含み得る。
本明細書に記載の例は、論理またはモジュール、知的財産(IP)ブロックまたはコア、または機構などのいくつかの構成要素を含み得るか、またはそれらを動作させ得る。そのような論理または構成要素は、本明細書に記載の動作を実行するために、1つまたは複数のプロセッサに通信可能に結合されたハードウェア、ソフトウェア、またはファームウェアであり得る。論理または構成要素は、ハードウェアモジュール(例えば、IPブロック)であり得て、そのため、特定の動作を実行できる有形のエンティティと見なされ得て、特定の方法で構成または配置され得る。一実施例では、回路は、IPブロック、IPコア、システムオンチップ(SOC)などとして指定された方法で(例えば、内部的に、または他の回路などの外部エンティティに関して)構成され得る。
一実施例では、1つまたは複数のコンピュータシステム(例えば、スタンドアロン、クライアント、またはサーバコンピュータシステム)または1つまたは複数のハードウェアプロセッサの全体または一部は、特定の動作を実行するように動作するモジュールとしてファームウェアまたはソフトウェア(例えば、命令、アプリケーション部分、またはアプリケーション)によって構成され得る。一実施例では、ソフトウェアは、機械可読媒体上に常駐し得る。一実施例では、ソフトウェアは、モジュールの基礎となるハードウェアによって実行されると、ハードウェアに指定された動作を実行させる。したがって、ハードウェアモジュールという用語は、特定の方法で動作するように、または本明細書に記載の任意の動作の一部または全部を実行するように物理的に構築される、特別に構成される(例えば、ハードワイヤード)、または一時的に(例えば、一過的に)構成される(例えば、プログラムされる)エンティティである、有形のエンティティを含むと理解される。
モジュールが一時的に構成される例を考慮すると、各モジュールは、いずれかの時点でインスタンス化される必要はない。例えば、モジュールがソフトウェアを使用して構成される汎用ハードウェアプロセッサを備える場合、汎用ハードウェアプロセッサは、異なる時間にそれぞれ異なるモジュールとして構成され得る。したがって、ソフトウェアは、例えば、ある時点で特定のモジュールを構成し、異なる時点で別のモジュールを構成するように、ハードウェアプロセッサを構成し得る。モジュールはまた、本明細書に記載の方法論を実行するように動作するソフトウェアまたはファームウェアモジュールであり得る。
IPブロック(IPコアとも呼ばれる)は、ロジック、セル、または集積回路の再利用可能なユニットである。IPブロックは、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、システムオンチップ(SOC)などの一部として使用し得る。これは、デジタル信号処理または画像処理などの特定の目的のために構成され得る。IPコアの例には、中央処理装置(CPU)コア、統合グラフィックス、セキュリティ、入力/出力(I/O)制御、システムエージェント、グラフィックス処理装置(GPU)、人工知能、ニューラルプロセッサ、画像処理装置、通信インタフェース、メモリコントローラ、周辺デバイス制御、プラットフォームコントローラハブなどがある。
図20は、本明細書で論じられる技術(例えば、方法論)の任意の1つまたは複数が実行され得る例示的なマシン2000のブロック図を示す。本明細書に記載される例は、マシン2000内の論理またはいくつかの構成要素、または機構を含み得るか、またはそれらによって動作し得る。回路(例えば、処理回路)は、ハードウェア(例えば、単純な回路、ゲート、論理など)を含む、マシン2000の有形のエンティティに実装された回路の集合である。回路のメンバーシップは、時間の経過とともに柔軟になり得る。回路は、単独でまたは組み合わせて、動作時に特定の動作を実行し得るメンバを含む。一実施例では、回路のハードウェアは、特定の動作(例えば、ハードワイヤード)を実行するように不変に設計され得る。一実施例では、回路のハードウェアは、特定の動作の命令を符号化するために、物理的に修正された(例えば、不変質量粒子の磁気的、電気的に移動可能な配置など)機械可読媒体を含む、可変的に接続された物理的構成要素(例えば、実行ユニット、トランジスタ、単純な回路など)を含み得る。物理的構成要素を接続する際に、ハードウェア構成物の基礎となる電気的特性は、例えば、絶縁体から導体に、またはその逆に変更される。この命令により、組み込みハードウェア(例えば、実行ユニットまたはロード機構)は、可変接続を介してハードウェア内に回路の構成要素を作成し、動作中に特定の動作の一部を実行できる。したがって、一実施例では、機械可読媒体要素は、回路の一部であるか、またはデバイスが動作しているときに回路の他の構成要素に通信可能に結合される。一実施例では、物理的構成要素のいずれかが、複数の回路の複数の構成要素で使用され得る。例えば、動作中、実行ユニットは、ある時点で第1の回路網の第1の回路で使用され、別の時点で第1の回路網の第2の回路によって、または第2の回路網の第3の回路によって再利用され得る。マシン2000に関するこれらの構成要素の追加の例を以下に示す。
一実施例では、マシン2000は、スタンドアロンデバイスとして動作し得るか、または他のマシンに接続(例えば、ネットワーク化)され得る。ネットワーク配備では、マシン2000は、サーバクライアントネットワーク環境で、サーバマシン、クライアントマシン、またはその両方の能力で動作し得る。一実施例では、マシン2000は、ピアツーピア(P2P)(または他の分散型)ネットワーク環境でピアマシンとして機能し得る。マシン2000は、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、パーソナルデジタルアシスタント(PDA)、携帯電話、ウェブアプライアンス、ネットワークルータ、スイッチまたはブリッジ、またはそのマシンによって実行されるアクションを指定する命令(シーケンシャルまたはその他の方法)を実行することが可能な任意のマシンであり得る。さらに単一のマシンしか示していないが、用語「マシン」は、クラウドコンピューティング、ソフトウェアアズアサービス(SaaS)、他のコンピュータクラスタ構成などの本明細書に説明する方法論の任意の1つまたは複数の方法論を実行するために命令のセット(または複数のセット)を個別にまたは共同で実行するマシンの任意の集合体を含むと解釈されるものとする。
マシン(例えば、コンピュータシステム)2000は、ハードウェアプロセッサ2002(例えば、中央処理装置(CPU)、グラフィックス処理装置(GPU)、ハードウェアプロセッサコア、またはそれらの任意の組み合わせ)、メインメモリ2004、スタティックメモリ(例えば、ファームウェア、マイクロコード、基本入出力(BIOS)、統合拡張可能ファームウェアインタフェース(UEFI)などのメモリまたはストレージ)2006、および大容量ストレージ2008(例えば、ハードドライブ、テープドライブ、フラッシュストレージ、またはその他のブロックデバイス)を含み得て、それらの一部または全部は、インターリンク(例えば、バス)2030を介して互いに通信し得る。マシン2000は、ディスプレイユニット2010、英数字入力デバイス2012(例えば、キーボード)、およびユーザインタフェース(UI)ナビゲーションデバイス2014(例えば、マウス)をさらに含み得る。一実施例では、ディスプレイユニット2010、入力デバイス2012、およびUIナビゲーションデバイス2014は、タッチスクリーンディスプレイであり得る。マシン2000は、ストレージデバイス(例えば、ドライブユニット)2008、信号生成デバイス2018(例えば、スピーカ)、ネットワークインタフェースデバイス2020、および全地球測位システム(GPS)センサ、コンパス、加速度計、またはその他のセンサなどの1つまたは複数のセンサ2016をさらに含み得る。マシン2000は、1つまたは複数の周辺デバイス(例えば、プリンタ、カードリーダなど)との通信または制御を行うためのシリアル(例えば、ユニバーサルシリアルバス(USB)、パラレル、または他の有線または無線(例えば、赤外線(IR)、近距離無線通信(NFC)など)接続などの出力コントローラ2028を含み得る。
プロセッサ2002、メインメモリ2004、スタティックメモリ2006、または大容量ストレージ2008のレジスタは、本明細書に記載の技術または機能のいずれか1つまたは複数によって具体化または利用される、1つまたは複数のデータ構造または命令2024のセット(例えば、ソフトウェア)が記憶されている機械可読媒体2022であり得るか、またはそれらを含み得る。命令2024はまた、マシン2000によるそれらの実行中に、プロセッサ2002、メインメモリ2004、スタティックメモリ2006、または大容量ストレージ2008のいずれかのレジスタ内に完全にまたは少なくとも部分的に常駐し得る。一実施例では、ハードウェアプロセッサ2002、メインメモリ2004、スタティックメモリ2006、または大容量ストレージ2008の1つまたは任意の組み合わせが、機械可読媒体2022を構成し得る。機械可読媒体2022は単一の媒体として示されているが、「機械可読媒体」という用語は、1つまたは複数の命令2024を記憶するように構成される単一の媒体または複数の媒体(例えば、集中型または分散型データベース、および/または関連するキャッシュおよびサーバ)を含み得る。
「機械可読媒体」という用語は、マシン2000による実行のための命令を記憶、符号化、または搬送することができ、マシン2000に本開示の技術の1つまたは複数のいずれかを実行させる任意の媒体、または、そのような命令によって使用される、またはそのような命令に関連付けられたデータ構造を記憶、符号化、または搬送できる任意の媒体を含み得る。非限定的な機械可読媒体の例には、ソリッドステートメモリ、光媒体、磁気媒体、および信号(例えば、無線周波数信号、他の光子ベースの信号、音声信号など)が含まれ得る。一実施例では、非一時的機械可読媒体は、不変(例えば、静止)質量を有する複数の粒子を有する機械可読媒体を含み、したがって、物質の組成物である。したがって、非一時的機械可読媒体は、一時的な伝播信号を含まない機械可読媒体である。非一時的機械可読媒体の具体的な例には、半導体メモリデバイス(例えば、電気的プログラマブル読み取り専用メモリ(EPROM)、電子的消去可能プログラマブル読み取り専用メモリ(EEPROM))およびフラッシュメモリデバイスなどの不揮発性メモリ、内蔵ハードディスクおよびリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクが含まれ得る。
一実施例では、機械可読媒体2022上に記憶または他の方法で提供される情報は、命令2024自体、または命令2024が導出され得る形式などの命令2024を表し得る。命令2024が導出され得るこの形式は、ソースコード、符号化された命令(例えば、圧縮または暗号化された形式)、パッケージ化された命令(例えば、複数のパッケージに分割する)などを含み得る。機械可読媒体2022内の命令2024を表す情報は、本明細書で論じる動作のいずれかを実施するために、処理回路によって処理されて命令になり得る。例えば、情報(例えば、処理回路による処理)から命令2024を導出することは、コンパイル(例えば、ソースコード、オブジェクトコードなどから)、解釈、ロード、編成(例えば、動的または静的リンク)、符号化、復号化、暗号化、暗号化解除、パッケージ化、パッケージ化解除、または他の方法で情報を操作して命令2024にすることを含み得る。
一実施例では、命令2024の導出は、機械可読媒体2022によって提供されるいくつかの中間または前処理された形式から命令2024を作成するための(例えば、処理回路による)情報のアセンブル、コンパイル、または解釈を含み得る。情報は、複数の部分で提供される場合、命令2024を作成するために組み合わされ、アンパックされ、修正され得る。例えば、情報は、1つまたは複数のリモートサーバ上の複数の圧縮ソースコードパッケージ(またはオブジェクトコード、またはバイナリ実行可能コードなど)であり得る。ソースコードパッケージは、ネットワークを介して転送されるときに暗号化され、必要に応じて復号化、非圧縮、アセンブルされ(例えば、リンクされ)、ローカルマシンで(例えば、ライブラリ、スタンドアロン実行可能ファイルなどに)コンパイルまたは解釈され、ローカルマシンによって実行され得る。
命令2024は、いくつかの転送プロトコル(例えば、フレームリレー、インターネットプロトコル(IP)、伝送制御プロトコル(TCP)、ユーザデータグラムプロトコル(UDP)、ハイパーテキスト転送プロトコル(HTTP)など)の任意の1つを利用するネットワークインタフェースデバイス2020を介して伝送媒体を使用して通信ネットワーク2026を介してさらに送信または受信され得る。通信ネットワークの実施例は、とりわけ、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、パケットデータネットワーク(例えば、インターネット)、携帯電話ネットワーク(例えば、セルラーネットワーク)、従来型電話サービス(POTS)ネットワーク、および無線データネットワーク(例えば、Wi-Fi(登録商標)として知られる電気電子技術者協会(IEEE)802.11ファミリの規格、WiMax(登録商標)として知られるIEEE802.16ファミリの規格)、IEEE802.15.4ファミリの規格、ピアツーピア(P2P)ネットワークを含み得る。一実施例では、ネットワークインタフェースデバイス2020は、通信ネットワーク2026に接続するための1つまたは複数の物理的ジャック(例えば、イーサネット(登録商標)、同軸ジャック、または電話ジャック)または1つまたは複数のアンテナを含み得る。一実施例では、ネットワークインタフェースデバイス2020は、単一入力複数出力(SIMO)技術、複数入力複数出力(MIMO)技術、または複数入力単一出力(MISO)技術のうちの少なくとも1つを使用して無線通信するための複数のアンテナを含み得る。「伝送媒体」という用語は、マシン2000による実行のための命令を記憶、符号化または搬送することができ、そのようなソフトウェアの通信を容易にするためにデジタル通信信号またはアナログ通信信号もしくは他の無形媒体を含む、任意の無形媒体を含むと解釈されるものとする。伝送媒体は、機械可読媒体である。
図21は、ハードウェア構成要素とソフトウェア構成要素との間の様々なインタフェースが示される、コンピューティングデバイスの例示的なハードウェアおよびソフトウェアアーキテクチャを示す図である。HWで示すように、ハードウェア構成要素は分割線の下に表示されるが、SWで示すソフトウェア構成要素は分割線の上にある。ハードウェア側では、処理デバイス2102(それぞれが1つまたは複数のプロセッサコアを有する1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサなどを含み得る)は、メモリ管理デバイス2104およびシステム相互接続2106とインタフェースされる。メモリ管理デバイス2104は、実行されているプロセスによって使用される仮想メモリと物理メモリとの間のマッピングを提供する。メモリ管理デバイス2104は、処理デバイス2102も含む中央処理装置の不可欠な部分であり得る。
相互接続2106は、メモリ、データ、および制御ラインなどのバックプレーン、ならびに入力/出力デバイスとのインタフェース、例えば、PCI、USBなどを含む。メモリ2108(例えば、ダイナミックランダムアクセスメモリ - DRAM)およびフラッシュメモリ(例えば、電気的消去可能読み取り専用メモリ - EEPROM、NANDフラッシュ、NORフラッシュなど)などの不揮発性メモリ2109は、メモリコントローラ2110を介してメモリ管理デバイス2104および相互接続2106とインタフェースされる。一実施例では、このアーキテクチャは、周辺機器によるダイレクトメモリアクセス(DMA)をサポートし得る。ビデオおよびオーディオアダプタ、不揮発性ストレージ、USB、Bluetooth(登録商標)などの外部周辺機器リンクを含むI/Oデバイス、およびWi-FiまたはLTEファミリインタフェースを介してこれらと通信するネットワークインタフェースデバイスは、対応するI/Oコントローラ2114を介して相互接続2106とインタフェースする、I/Oデバイスおよびネットワーキング2112としてまとめて表される。
ソフトウェア側では、プレオペレーティングシステム(プレOS)環境2116は、システムの初期起動時に実行され、オペレーティングシステムの起動を開始する役割を果たす。プレOSの環境2116の従来の例の1つは、システム基本入力/出力システム(BIOS)である。現在のシステムでは、統合拡張可能ファームウェアインタフェース(UEFI)が実装される。プレOS環境2116は、オペレーティングシステムの起動を開始する役割を果たすが、本発明の特定の態様による組み込みアプリケーションのための実行環境も提供する。
オペレーティングシステム(OS)2118は、ハードウェアデバイスを制御し、メモリ内のプログラムのメモリアクセスを管理し、タスクを調整してマルチタスクを容易にし、記憶するデータを整理し、メモリ空間およびその他のリソースを割り当て、プログラムのバイナリコードをメモリにロードし、次いで、ユーザおよびハードウェアデバイスと相互作用するアプリケーションプログラムの実行を開始し、定義された様々な割り込みを検出して応答するカーネルを提供する。また、オペレーティングシステム2118は、デバイスドライバ、および周辺機器とのインタフェースおよびネットワーク化を容易にするサービスなど様々な一般的なサービスを提供し、アプリケーションが、そのような一般的な動作の詳細を処理する役割を果たさなくてもよいように、アプリケーションプログラムの抽象化を提供する。オペレーティングシステム2118は、モニタ、キーボード、マウス、マイクロフォン、ビデオカメラ、タッチスクリーンなどの周辺デバイスを介したユーザとの相互作用を容易にするグラフィカルユーザインタフェース(GUI)をさらに提供する。
ランタイムシステム2120は、関数呼び出しの前にスタックにパラメータを配置すること、ディスク入力/出力(I/O)の動作、および並列実行関連の動作などの動作を含む、実行モデルの一部を実装する。ランタイムシステム2120はまた、タイプチェック、デバッグ、またはコード生成および最適化などのサポートサービスを実行し得る。
ライブラリ2122は、アプリケーションプログラムのためのさらなる抽象化を提供するプログラム機能のコレクションを含む。これらには、例えば、共有ライブラリ、ダイナミックリンクライブラリ(DLL)が含まれる。ライブラリ2122は、オペレーティングシステム2118、ランタイムシステム2120に統合され得るか、または機能に追加され得るか、またはさらにリモートでホストされ得る。ライブラリ2122は、アプリケーションプログラムインタフェース(API)を定義し、このAPIを介して、アプリケーションプログラム2124によって様々な機能呼び出しを行い、オペレーティングシステム2118によって提供されるサービスを呼び出し得る。アプリケーションプログラム2124は、コンピューティングデバイス自体の基本的な操作性を調整する低レベルのシステムプログラムによって実行されるタスク以上のユーザにとって有用なタスクを実行するプログラムである。
図22は、一実施形態による処理デバイス2202を示すブロック図である。一実施例では、図示された2つ以上の処理デバイス2202は、共通の半導体基板上に形成される。CPU2240は、1つまたは複数の処理コア2242を含み得て、処理コア2242のそれぞれは、プロセッサの特定のアーキテクチャにしたがって、1つまたは複数の算術論理演算装置(ALU)、命令フェッチユニット、命令デコードユニット、制御ユニット、レジスタ、データスタックポインタ、プログラムカウンタ、および他の必須構成要素を有する。例示的な例として、CPU2240は、x86タイプのプロセッサであり得る。処理デバイス2202はまた、グラフィックス処理装置(GPU)2244を含み得る。一実施例では、GPU2244は、特定の計算集約型動作、特にグラフィックスレンダリングに関連付けられた動作をCPU2240からオフロードする特殊なコプロセッサであり得る。特に、CPU2240およびGPU2244は通常、協調して動作し、メモリリソース、I/Oチャネルなどへのアクセスを共有する。
一実施例では、処理デバイス2202はまた、管理人プロセッサ2246を含み得る。管理人プロセッサ2246は、一般に、CPU2240およびGPU2244が行うようなソフトウェアコードを実行するための処理作業には参加しない。一実施例では、管理人プロセッサ2246は、CPU2240およびGPU2244とメモリ空間を共有せず、したがって、オペレーティングシステムまたはアプリケーションプログラムを実行するように構成されていない。代わりに、管理人プロセッサ2246は、CPU2240、GPU2244、およびコンピュータシステムの他の構成要素の技術的動作をサポートする専用のファームウェアを実行し得る。一実施例では、管理人プロセッサは、マイクロコントローラデバイスとして実装され、マイクロコントローラデバイスは、CPU2240と同じ集積回路ダイ上に物理的に存在し得るか、または別個の集積回路ダイ上に存在し得る。管理人プロセッサ2246はまた、外部エンティティと通信することを可能にするための専用のI/O設備のセットを含み得る。1つのタイプの実施形態では、管理人プロセッサ2246は、管理エンジン(ME)またはプラットフォームセキュリティプロセッサ(PSP)を使用して実装される。入力/出力(I/O)コントローラ2248は、様々な処理デバイス2240、2244、2246の間の情報フロー、ならびにシステム相互接続などの外部回路との情報フローを調整する。
図23は、一実施形態による、CPU2340の例示的な構成要素を示すブロック図である。図示のように、CPU2340は、1つまたは複数のコア2352、キャッシュ2354、およびコア2352の相互運用およびタスクを調整し、ならびにCPU2340の様々な内部構成要素間のデータフロー、およびメモリバスまたはシステム相互接続などの外部構成要素とのデータフローを容易にするためのインタフェースを提供するCPUコントローラ2356を含む。一実施形態では、CPU2340の例示的な構成要素のすべては、共通の半導体基板上に形成される。
CPU2340は、初期化エンジンおよびマイクロコードなどの基本コードの特定の部分を記憶するための不揮発性メモリ2358(例えば、フラッシュ、EEPROMなど)を含む。また、CPU2340は、システムBIOSまたはUEFIコードなどの初期化エンジンによって起動される基本コードを記憶する外部(例えば、別個のIC上に形成される)不揮発性メモリデバイス2360とインタフェースされ得る。
他の注意事項および例
実施例1は、シーンをモデル化するためのデバイスであり、デバイスが、シーンを表す画像の時間順シーケンスを取得するためのハードウェアインタフェースであって、時間順シーケンスが複数の画像を含み、画像のシーケンスの1つが現在の画像であり、シーンが単眼撮像システムによって撮像される、ハードウェアインタフェースと、シーンの3次元構造を生成するために人工ニューラルネットワーク(ANN)にデータセットを提供することであって、データセットが、画像のシーケンスの一部であって、現在の画像を含む画像のシーケンスの一部と、画像のシーケンスを撮像したセンサの動きとを含む、提供することと、シーンの3次元構造を使用してシーンをモデル化することであって、3次元構造が、前記シーン内の移動物体および固定物体の両方に対して決定される、モデル化することとを行う処理回路とを備える。
実施例2では、実施例1の主題は、エピポールが、画像のシーケンスを撮像したセンサの動きから導出され、エピポールが、現在の画像と同じ次元の勾配画像として提供され、勾配画像のピクセルの値が、現在の画像のピクセルのエピポールからの距離を表すことを含む。
実施例3では、実施例2の主題は、勾配画像が、エピポールからの水平距離のみを表し、第2の勾配画像が、エピポールからの垂直距離を表すために、ANNに提供されることを含む。
実施例4では、実施例1~3の主題は、エピポールが、画像のシーケンスを撮像したセンサの動きから導出され、エピポールが、ANNの層への勾配画像として提供され、エピポールの次元が、ANNの層と一致することを含む。
実施例5では、実施例1~4の主題は、センサの動きが、現在の画像と同じ次元の一定値の画像として提供されることを含む。
実施例6では、実施例5の主題は、一定値が、平面からのセンサの高さに対するセンサの前方の動きの比であることを含む。
実施例7では、実施例1~6の主題は、センサの動きが、ANNの層に一定値の画像として提供され、一定値の画像の次元が、ANNの層と一致することを含む。
実施例8では、実施例1~7の主題は、処理回路が、3次元構造を使用して第2のANNを呼び出し、物体がシーン内で移動しているか移動していないかを判定するように構成されることを含む。
実施例9では、実施例1~8の主題は、現在の画像のモデルと現在の画像との間の差を測定することによって誤差が決定される教師なしトレーニング技術でANNがトレーニングされ、現在の画像のモデルが、現在の画像と同時に撮像された画像のガンマワーピングによって生成されることを含む。
実施例10では、実施例9の主題は、現在の画像のモデルが、立体撮像システムによって撮像される複数の画像に基づいており、立体撮像システムが単眼撮像システムから独立していることを含む。
実施例11では、実施例10の主題は、立体撮像システムが、第1の画像センサおよび第2の画像センサを含み、第1の画像センサおよび第2の画像センサが、互いに重なり合う視野を有することを含む。
実施例12では、実施例11の主題は、第1の画像センサおよび第2の画像センサが、ローリングシャッタを実装することを含む。
実施例13では、実施例1~12の主題は、単眼撮像システムがローリングシャッタカメラを使用することを含む。
実施例14は、シーンをモデル化するための方法であり、方法が、シーンを表す画像の時間順シーケンスを取得する段階であって、時間順シーケンスが複数の画像を含み、画像のシーケンスの1つが現在の画像であり、シーンが単眼撮像システムによって撮像される、取得する段階と、シーンの3次元構造を生成するために人工ニューラルネットワーク(ANN)にデータセットを提供する段階であって、データセットが、画像のシーケンスの一部であって、現在の画像を含む画像のシーケンスの一部と、画像のシーケンスを撮像したセンサの動きとを含む、提供する段階と、シーンの3次元構造を使用してシーンをモデル化する段階であって、3次元構造が、シーン内の移動物体および固定物体の両方に対して決定される、モデル化する段階とを備える。
実施例15では、実施例14の主題は、エピポールが、画像のシーケンスを撮像したセンサの動きから導出され、エピポールが、現在の画像と同じ次元の勾配画像として提供され、勾配画像のピクセルの値が、現在の画像のピクセルのエピポールからの距離を表すことを含む。
実施例16では、実施例15の主題は、勾配画像が、エピポールからの水平距離のみを表し、第2の勾配画像が、エピポールからの垂直距離を表すために、ANNに提供されることを含む。
実施例17では、実施例14~16の主題は、エピポールが、画像のシーケンスを撮像したセンサの動きから導出され、エピポールが、ANNの層への勾配画像として提供され、エピポールの次元が、ANNの層と一致することを含む。
実施例18では、実施例14~17の主題は、センサの動きが、現在の画像と同じ次元の一定値の画像として提供されることを含む。
実施例19では、実施例18の主題は、一定値が、平面からのセンサの高さに対するセンサの前方の動きの比であることを含む。
実施例20では、実施例14~19の主題は、センサの動きが、ANNの層に一定値の画像として提供され、一定値の画像の次元が、ANNの層と一致することを含む。
実施例21では、実施例14~20の主題は、3次元構造を使用して第2のANNを呼び出し、物体がシーン内で移動しているか移動していないかを判定することを含む。
実施例22では、実施例14~21の主題は、現在の画像のモデルと現在の画像との間の差を測定することによって誤差が決定される教師なしトレーニング技術でANNがトレーニングされ、現在の画像のモデルが、現在の画像と同時に撮像された画像のガンマワーピングによって生成されることを含む。
実施例23では、実施例22の主題は、現在の画像のモデルが、立体撮像システムによって撮像される複数の画像に基づいており、立体撮像システムが単眼撮像システムから独立していることを含む。
実施例24では、実施例23の主題は、立体撮像システムが、第1の画像センサおよび第2の画像センサを含み、第1の画像センサおよび第2の画像センサが、互いに重なり合う視野を有することを含む。
実施例25では、実施例24の主題は、第1の画像センサおよび第2の画像センサが、ローリングシャッタを実装することを含む。
実施例26では、実施例14~25の主題は、単眼撮像システムがローリングシャッタカメラを使用することを含む。
実施例27は、シーンをモデル化するための命令を含む少なくとも1つの機械可読媒体であり、命令は、マシンによって実行されると、マシンに、シーンを表す画像の時間順シーケンスを取得する段階であって、時間順シーケンスが複数の画像を含み、画像のシーケンスの1つが現在の画像であり、シーンが単眼撮像システムによって撮像される、取得することと、シーンの3次元構造を生成するために人工ニューラルネットワーク(ANN)にデータセットを提供することであって、データセットが、画像のシーケンスの一部であって、現在の画像を含む画像のシーケンスの一部と、画像のシーケンスを撮像したセンサの動きとを含む、提供することと、シーンの3次元構造を使用してシーンをモデル化することであって、3次元構造が、シーン内の移動物体および固定物体の両方に対して決定される、モデル化することとを有する動作を実行させる。
実施例28では、実施例27の主題は、エピポールが、画像のシーケンスを撮像したセンサの動きから導出され、エピポールが、現在の画像と同じ次元の勾配画像として提供され、勾配画像のピクセルの値が、現在の画像のピクセルのエピポールからの距離を表すことを含む。
実施例29では、実施例28の主題は、勾配画像が、エピポールからの水平距離のみを表し、第2の勾配画像が、エピポールからの垂直距離を表すために、ANNに提供されることを含む。
実施例30では、実施例27~29の主題は、エピポールが、画像のシーケンスを撮像したセンサの動きから導出され、エピポールが、ANNの層への勾配画像として提供され、エピポールの次元が、ANNの層と一致することを含む。
実施例31では、実施例27~30の主題は、センサの動きが、現在の画像と同じ次元の一定値の画像として提供されることを含む。
実施例32では、実施例31の主題は、一定値が、センサの前方の動きの平面からのセンサの高さに対する比であることを含む。
実施例33では、実施例27~32の主題は、センサの動きが、ANNの層に一定値の画像として提供され、一定値の画像の次元が、ANNの層と一致することを含む。
実施例34では、実施例27~33の主題は、3次元構造を使用して第2のANNを呼び出し、物体がシーン内で移動しているか移動していないかを判定することを含む。
実施例35では、実施例27~34の主題は、現在の画像のモデルと現在の画像との間の差を測定することによって誤差が決定される教師なしトレーニング技術でANNがトレーニングされ、現在の画像のモデルが、現在の画像と同時に撮像された画像のガンマワーピングによって生成されることを含む。
実施例36では、実施例35の主題は、現在の画像のモデルが、立体撮像システムによって撮像される複数の画像に基づいており、立体撮像システムが単眼撮像システムから独立していることを含む。
実施例37では、実施例36の主題は、立体撮像システムが、第1の画像センサおよび第2の画像センサを含み、第1の画像センサおよび第2の画像センサが、互いに重なり合う視野を有することを含む。
実施例38では、実施例37の主題は、第1の画像センサおよび第2の画像センサが、ローリングシャッタを実装することを含む。
実施例39では、実施例27~38の主題は、単眼撮像システムがローリングシャッタカメラを使用することを含む。
実施例40は、シーンをモデル化するための装置であり、シーンを表す画像の時間順シーケンスを取得するための手段であって、時間順シーケンスが複数の画像を含み、画像のシーケンスの1つが現在の画像であり、シーンが単眼撮像システムによって撮像される、取得するための手段と、シーンの3次元構造を生成するために人工ニューラルネットワーク(ANN)にデータセットを提供するための手段であって、データセットが、画像のシーケンスの一部であって、現在の画像を含む画像のシーケンスの一部と、画像のシーケンスを撮像したセンサの動きとを含む、提供するための手段と、シーンの3次元構造を使用してシーンをモデル化するための手段であって、3次元構造が、シーン内の移動物体および固定物体の両方に対して決定される、モデル化ための手段を備える。
実施例41では、実施例40の主題は、エピポールが、画像のシーケンスを撮像したセンサの動きから導出され、エピポールが、現在の画像と同じ次元の勾配画像として提供され、勾配画像のピクセルの値が、現在の画像のピクセルのエピポールからの距離を表すことを含む。
実施例42では、実施例41の主題は、勾配画像が、エピポールからの水平距離のみを表し、第2の勾配画像が、エピポールからの垂直距離を表すために、ANNに提供されることを含む。
実施例43では、実施例40~42の主題は、エピポールが、画像のシーケンスを撮像したセンサの動きから導出され、エピポールが、ANNの層への勾配画像として提供され、エピポールの次元が、ANNの層と一致することを含む。
実施例44では、実施例40~43の主題は、センサの動きが、現在の画像と同じ次元の一定値の画像として提供されることを含む。
実施例45では、実施例44の主題は、一定値が、平面からのセンサの高さに対するセンサの前方の動きの比であることを含む。
実施例46では、実施例40~45の主題は、センサの動きが、ANNの層に一定値の画像として提供され、一定値の画像の次元が、ANNの層と一致することを含む。
実施例47では、実施例40~46の主題は、3次元構造を使用して第2のANNを手段呼び出し、物体がシーン内で移動しているか移動していないかを判定するための手段を含む。
実施例48では、実施例40~47の主題は、現在の画像のモデルと現在の画像との間の差を測定することによって誤差が決定される教師なしトレーニング技術でANNがトレーニングされ、現在の画像のモデルが、現在の画像と同時に撮像された画像のガンマワーピングによって生成されることを含む。
実施例49では、実施例48の主題は、現在の画像のモデルが、立体撮像システムによって撮像される複数の画像に基づいており、立体撮像システムが単眼撮像システムから独立していることを含む。
実施例50では、実施例49の主題は、立体撮像システムが、第1の画像センサおよび第2の画像センサを含み、第1の画像センサおよび第2の画像センサが、互いに重なり合う視野を有することを含む。
実施例51では、実施例50の主題は、第1の画像センサおよび第2の画像センサが、ローリングシャッタを実装することを含む。
実施例52では、実施例40~51の主題は、単眼撮像システムがローリングシャッタカメラを使用することを含む。
実施例53は、処理回路によって実行されると、処理回路に実施例1~52のいずれかを実施するための動作を実行させる命令を含む、少なくとも1つの機械可読媒体である。
実施例54は、実施例1~52のいずれかを実施するための手段を備える装置である。
実施例55は、実施例1~52のいずれかを実施するためのシステムである。
実施例56は、実施例1~52のいずれかを実施するための方法である。
上記の詳細な説明は、詳細な説明の一部を形成する添付図面に対する参照を含む。図面は、例示として、実施され得る特定の実施形態を示す。これらの実施形態は、本明細書では「実施例」とも呼ばれる。そのような実施例は、図示または説明された要素に加えて要素を含み得る。しかし、示されるかまたは説明される要素を含む例も企図される。さらに、本明細書に図示または説明された特定の実施例(またはその1つまたは複数の態様)に関して、または他の実施例(またはその1つまたは複数の態様)に関して、図示または説明されたそれらの要素(またはその1つまたは複数の態様)の任意の組み合わせまたは順列を使用する実施例も企図する。
本書で参照される刊行物、特許、および特許文書は、参照により個別に組み込まれるかのように、その全体が参照により本明細書に組み込まれる。本書および参照により組み込まれたこれらの文書との間に一貫性のない使用法がある場合、組み込まれた参照の使用法は、本書の使用法を補足するものであり、調整不可能な矛盾については、本書の使用法が支配する。
本書では、用語「a」または「an」は、特許文書で一般的であるように、「少なくとも1つの(at least one)」または「1つ以上の(one or more)」の任意の他の実施例または用法とは関係なく、1つまたは複数を含むために使用される。本書では、用語「または(or)」は、非排他的を指す、つまり別段の指示がない限り、「AまたはB(A or B)」は、「AであるがBではなく(A but not B)」、「BであるがAではなく(B but not A)」、および「AおよびB(A and B)」を含むように使用される。添付の特許請求の範囲では、用語「含む(including)」および「において(in which)」は、それぞれの用語「備える(comprising)」および「そこで(wherein)」の分かりやすい英語の同等物として使用される。また、以下の特許請求の範囲では、用語「含む(including)」および「備えるcomprising)」はオープンエンドであり、すなわち、請求項の中のそのような用語の後に示される要素に加えて要素を含むシステム、デバイス、商品、またはプロセスもその請求項の範囲に含まれると見なされる。さらに、以下の特許請求の範囲では、用語「第1の」、「第2の」、および「第3の」などは、単にラベルとして使用されており、それらの対象の番号順を示唆することを意図するものではない。
上記の説明は、例示を意図したものであり、限定的なものではない。例えば、上述の実施例(またはその1つまたは複数の態様)は、他の実施例と組み合わせて使用され得る。上記の説明を検討する際に当業者によってなど他の実施形態を使用し得る。要約は、読者が技術的開示の性質を迅速に確認できるようにするためのものである。これは、特許請求の範囲または意味を解釈または限定するために使用されないとの理解のもとに提供される。また、上記の発明を実施するための形態では、様々な特徴が本開示を効率化するために互いにグループ化され得る。しかしながら、実施形態は上記特徴のサブセットを特徴とし得るので、特許請求の範囲は、本明細書に開示されるすべての特徴を示し得ない。さらに、実施形態は、特定の例で開示される特徴よりも少ない特徴を含み得る。したがって、次の特許請求の範囲は、詳細な説明に組み込まれ、特許請求の範囲は、分離した実施形態として自立している。本明細書に開示される実施形態の範囲は、そのような特許請求の範囲が権利を与えているなど価物の全範囲とともに、添付の特許請求の範囲を参照して決定されるべきである。
[項目1]
シーンをモデル化するためのデバイスであって、前記デバイスが、
シーンを表す画像の時間順シーケンスを取得するためのハードウェアインタフェースであって、前記時間順シーケンスが複数の画像を含み、前記画像のシーケンスの1つが現在の画像であり、前記シーンが単眼撮像システムによって撮像される、ハードウェアインタフェースと、
前記シーンの3次元構造を生成するために人工ニューラルネットワーク(ANN)にデータセットを提供することであって、前記データセットが、
前記画像のシーケンスの一部であって、前記現在の画像を含む前記画像のシーケンスの一部と、
前記画像のシーケンスを撮像したセンサの動きとを含む、提供することと、
前記シーンの前記3次元構造を使用して前記シーンをモデル化することであって、前記3次元構造が、前記シーン内の移動物体および固定物体の両方に対して決定される、モデル化することとを行う処理回路と
を備える、デバイス。
[項目2]
エピポールが、前記画像のシーケンスを撮像する前記センサの前記動きから導出され、前記エピポールが、前記現在の画像と同じ次元の勾配画像として提供され、前記勾配画像のピクセルの値が、前記現在の画像のピクセルの前記エピポールからの距離を表す、項目1に記載のデバイス。
[項目3]
前記勾配画像が、前記エピポールからの水平距離のみを表し、第2の勾配画像が、前記エピポールからの垂直距離を表すために、前記ANNに提供される、項目2に記載のデバイス。
[項目4]
エピポールが、前記画像のシーケンスを撮像する前記センサの前記動きから導出され、前記エピポールが、前記ANNの層への勾配画像として提供され、前記エピポールの次元が、前記ANNの前記層と一致する、項目1から3のいずれか一項に記載のデバイス。
[項目5]
前記センサの前記動きが、前記現在の画像と同じ次元の一定値の画像として提供される、項目1から4のいずれか一項に記載のデバイス。
[項目6]
前記一定値が、平面からの前記センサの高さに対する前記センサの前方の動きの比である、項目5に記載のデバイス。
[項目7]
前記センサの前記動きが、前記ANNの層に一定値の画像として提供され、前記一定値の画像の次元が、前記ANNの前記層と一致する、項目1から6のいずれか一項に記載のデバイス。
[項目8]
前記処理回路が、前記3次元構造を使用して第2のANNを呼び出して、物体が前記シーン内で移動しているか移動していないかを判定するように構成される、項目1から7のいずれか一項に記載のデバイス。
[項目9]
現在の画像のモデルと前記現在の画像との間の差を測定することによって誤差が決定される教師なしトレーニング技術で前記ANNがトレーニングされ、前記現在の画像の前記モデルが、前記現在の画像と同時に撮像される画像のガンマワーピングによって生成される、項目1から8のいずれか一項に記載のデバイス。
[項目10]
前記現在の画像の前記モデルが、立体撮像システムによって撮像される複数の画像に基づいており、前記立体撮像システムが前記単眼撮像システムから独立している、項目9に記載のデバイス。
[項目11]
前記立体撮像システムが、第1の画像センサおよび第2の画像センサを含み、前記第1の画像センサおよび前記第2の画像センサが、互いに重なり合う視野を有する、項目10に記載のデバイス。
[項目12]
前記第1の画像センサおよび前記第2の画像センサが、ローリングシャッタを実装する、項目11に記載のデバイス。
[項目13]
前記単眼撮像システムがローリングシャッタカメラを使用する、項目1から12のいずれか一項に記載のデバイス。
[項目14]
シーンをモデル化するための方法であって、前記方法が、
シーンを表す画像の時間順シーケンスを取得する段階であって、前記時間順シーケンスが複数の画像を含み、前記画像のシーケンスの1つが現在の画像であり、前記シーンが単眼撮像システムによって撮像される、取得する段階と、
前記シーンの3次元構造を生成するために人工ニューラルネットワーク(ANN)にデータセットを提供する段階であって、前記データセットが、
前記画像のシーケンスの一部であって、前記現在の画像を含む前記画像のシーケンスの一部と、
前記画像のシーケンスを撮像したセンサの動きとを含む、提供する段階と、
前記シーンの前記3次元構造を使用して前記シーンをモデル化する段階であって、前記3次元構造が、前記シーン内の移動物体および固定物体の両方に対して決定される、モデル化する段階と
を備える、方法。
[項目15]
エピポールが、前記画像のシーケンスを撮像する前記センサの前記動きから導出され、前記エピポールが、前記現在の画像と同じ次元の勾配画像として提供され、前記勾配画像のピクセルの値が、前記現在の画像のピクセルの前記エピポールからの距離を表す、項目14に記載の方法。
[項目16]
前記勾配画像が、前記エピポールからの水平距離のみを表し、第2の勾配画像が、前記エピポールからの垂直距離を表すために、前記ANNに提供される、項目15に記載の方法。
[項目17]
エピポールが、前記画像のシーケンスを撮像する前記センサの前記動きから導出され、前記エピポールが、前記ANNの層への勾配画像として提供され、前記エピポールの次元が、前記ANNの前記層と一致する、項目14から16のいずれか一項に記載の方法。
[項目18]
前記センサの前記動きが、前記現在の画像と同じ次元の一定値の画像として提供される、項目14から17のいずれか一項に記載の方法。
[項目19]
前記一定値が、平面からの前記センサの高さに対する前記センサの前方の動きの比である、項目18に記載の方法。
[項目20]
前記センサの前記動きが、前記ANNの層に一定値の画像として提供され、前記一定値の画像の次元が、前記ANNの前記層と一致する、項目14から19のいずれか一項に記載の方法。
[項目21]
前記3次元構造を使用して第2のANNを呼び出して、物体が前記シーン内で移動しているか移動していないかを判定する段階を備える、項目14から20のいずれか一項に記載の方法。
[項目22]
現在の画像のモデルと前記現在の画像との間の差を測定することによって誤差が決定される教師なしトレーニング技術で前記ANNがトレーニングされ、前記現在の画像の前記モデルが、前記現在の画像と同時に撮像される画像のガンマワーピングによって生成される、項目14から21のいずれか一項に記載の方法。
[項目23]
前記現在の画像の前記モデルが、立体撮像システムによって撮像される複数の画像に基づいており、前記立体撮像システムが前記単眼撮像システムから独立している、項目22に記載の方法。
[項目24]
前記立体撮像システムが、第1の画像センサおよび第2の画像センサを含み、前記第1の画像センサおよび前記第2の画像センサが、互いに重なり合う視野を有する、項目23に記載の方法。
[項目25]
前記第1の画像センサおよび前記第2の画像センサが、ローリングシャッタを実装する、項目24に記載の方法。
[項目26]
前記単眼撮像システムがローリングシャッタカメラを使用する、項目14から25のいずれか一項に記載の方法。
[項目27]
マシンに項目14から26のいずれか一項に記載の方法を実行させるためのコンピュータプログラム。
[項目28]
項目14~26のいずれかの方法を実行するための手段を備えるシステム。

Claims (34)

  1. シーンをモデル化するためのデバイスであって、前記デバイスが、
    シーンを表す画像の時間順シーケンスを取得するためのハードウェアインタフェースであって、前記時間順シーケンスが複数の画像を含み、前記画像のシーケンスの1つが現在の画像であり、前記シーンが単眼撮像システムによって撮像される、ハードウェアインタフェースと、
    前記シーンの3次元構造を生成するために人工ニューラルネットワーク(ANN)にデータセットを提供することであって、前記データセットが、
    前記画像のシーケンスの一部であって、前記現在の画像を含む前記画像のシーケンスの一部と、
    前記画像のシーケンスを撮像したセンサの動きとを含む、提供することと、
    前記ANNはガンマ画像を生成し、前記ガンマ画像はガンマ値を含み、前記ガンマ値は事前に推定された道路平面に対する点の垂直偏差を表し、
    前記ガンマ画像を使用して前記シーンをモデル化することであって、前記3次元構造が、前記シーン内の移動物体および固定物体の両方に対して決定される、モデル化することとを行う処理回路と
    を備える、デバイス。
  2. 前記ガンマ値は、前記センサからの距離に対する前記道路平面上の点の高さの比である、請求項1に記載のデバイス。
  3. 前記現在の画像以外の前記画像のシーケンスの前記一部は、前記道路平面および前記センサの前記動きを補正するホモグラフィにより前処理される、請求項1に記載のデバイス。
  4. シーンをモデル化するためのデバイスであって、前記デバイスが、
    シーンを表す画像の時間順シーケンスを取得するためのハードウェアインタフェースであって、前記時間順シーケンスが複数の画像を含み、前記画像のシーケンスの1つが現在の画像であり、前記シーンが単眼撮像システムによって撮像される、ハードウェアインタフェースと、
    前記シーンの3次元構造を生成するために人工ニューラルネットワーク(ANN)にデータセットを提供することであって、前記データセットが、
    前記画像のシーケンスの一部であって、前記現在の画像を含む前記画像のシーケンスの一部と、
    前記画像のシーケンスを撮像したセンサの動きとを含む、提供することと、
    前記シーンの前記3次元構造を使用して前記シーンをモデル化することであって、前記3次元構造が、前記シーン内の移動物体および固定物体の両方に対して決定される、モデル化することとを行う処理回路と、
    を備え、
    エピポールが、前記画像のシーケンスを撮像する前記センサの前記動きから導出され、前記エピポールが、前記現在の画像と同じ次元の勾配画像として提供され、前記勾配画像のピクセルの値が、前記現在の画像のピクセルの前記エピポールからの距離を表す、
    バイス。
  5. 前記勾配画像が、前記エピポールからの水平距離のみを表し、第2の勾配画像が、前記エピポールからの垂直距離を表すために、前記ANNに提供される、請求項に記載のデバイス。
  6. シーンをモデル化するためのデバイスであって、前記デバイスが、
    シーンを表す画像の時間順シーケンスを取得するためのハードウェアインタフェースであって、前記時間順シーケンスが複数の画像を含み、前記画像のシーケンスの1つが現在の画像であり、前記シーンが単眼撮像システムによって撮像される、ハードウェアインタフェースと、
    前記シーンの3次元構造を生成するために人工ニューラルネットワーク(ANN)にデータセットを提供することであって、前記データセットが、
    前記画像のシーケンスの一部であって、前記現在の画像を含む前記画像のシーケンスの一部と、
    前記画像のシーケンスを撮像したセンサの動きとを含む、提供することと、
    前記シーンの前記3次元構造を使用して前記シーンをモデル化することであって、前記3次元構造が、前記シーン内の移動物体および固定物体の両方に対して決定される、モデル化することとを行う処理回路と、
    を備え、
    エピポールが、前記画像のシーケンスを撮像する前記センサの前記動きから導出され、前記エピポールが、前記ANNの層への勾配画像として提供され、前記エピポールの次元が、前記ANNの前記層と一致する、
    バイス。
  7. シーンをモデル化するためのデバイスであって、前記デバイスが、
    シーンを表す画像の時間順シーケンスを取得するためのハードウェアインタフェースであって、前記時間順シーケンスが複数の画像を含み、前記画像のシーケンスの1つが現在の画像であり、前記シーンが単眼撮像システムによって撮像される、ハードウェアインタフェースと、
    前記シーンの3次元構造を生成するために人工ニューラルネットワーク(ANN)にデータセットを提供することであって、前記データセットが、
    前記画像のシーケンスの一部であって、前記現在の画像を含む前記画像のシーケンスの一部と、
    前記画像のシーケンスを撮像したセンサの動きとを含む、提供することと、
    前記シーンの前記3次元構造を使用して前記シーンをモデル化することであって、前記3次元構造が、前記シーン内の移動物体および固定物体の両方に対して決定される、モデル化することとを行う処理回路と、
    を備え、
    前記センサの前記動きが、前記現在の画像と同じ次元の一定値の画像として提供され
    前記一定値が、平面からの前記センサの高さに対する前記センサの前方の動きの比である、
    バイス。
  8. シーンをモデル化するためのデバイスであって、前記デバイスが、
    シーンを表す画像の時間順シーケンスを取得するためのハードウェアインタフェースであって、前記時間順シーケンスが複数の画像を含み、前記画像のシーケンスの1つが現在の画像であり、前記シーンが単眼撮像システムによって撮像される、ハードウェアインタフェースと、
    前記シーンの3次元構造を生成するために人工ニューラルネットワーク(ANN)にデータセットを提供することであって、前記データセットが、
    前記画像のシーケンスの一部であって、前記現在の画像を含む前記画像のシーケンスの一部と、
    前記画像のシーケンスを撮像したセンサの動きとを含む、提供することと、
    前記シーンの前記3次元構造を使用して前記シーンをモデル化することであって、前記3次元構造が、前記シーン内の移動物体および固定物体の両方に対して決定される、モデル化することとを行う処理回路と、
    を備え、
    現在の画像のモデルと前記現在の画像との間の差を測定することによって誤差が決定される教師なしトレーニング技術で前記ANNがトレーニングされ、前記現在の画像の前記モデルが、前記現在の画像と同時に撮像される画像のガンマワーピングによって生成される、
    バイス。
  9. 前記現在の画像の前記モデルが、立体撮像システムによって撮像される複数の画像に基づいており、前記立体撮像システムが前記単眼撮像システムから独立している、請求項に記載のデバイス。
  10. 前記立体撮像システムが、第1の画像センサおよび第2の画像センサを含み、前記第1の画像センサおよび前記第2の画像センサが、互いに重なり合う視野を有する、請求項に記載のデバイス。
  11. 前記第1の画像センサおよび前記第2の画像センサが、ローリングシャッタを実装する、請求項10に記載のデバイス。
  12. シーンをモデル化するためのデバイスであって、前記デバイスが、
    シーンを表す画像の時間順シーケンスを取得するためのハードウェアインタフェースであって、前記時間順シーケンスが複数の画像を含み、前記画像のシーケンスの1つが現在の画像であり、前記シーンが単眼撮像システムによって撮像される、ハードウェアインタフェースと、
    前記シーンの3次元構造を生成するために人工ニューラルネットワーク(ANN)にデータセットを提供することであって、前記データセットが、
    前記画像のシーケンスの一部であって、前記現在の画像を含む前記画像のシーケンスの一部と、
    前記画像のシーケンスを撮像したセンサの動きとを含む、提供することと、
    前記シーンの前記3次元構造を使用して前記シーンをモデル化することであって、前記3次元構造が、前記シーン内の移動物体および固定物体の両方に対して決定される、モデル化することとを行う処理回路と、
    を備え、
    前記ANNは、前記センサの一の位置において予測されるガンマ値と、前記一の位置での前記センサの動きとの間の差を測定することによって誤差が決定される教師なしトレーニング技術でトレーニングされ、
    前記ガンマ値は、前記センサからの距離に対する平面の上方の高さの比であり、
    前記センサの前記動きは、前記平面に交差するピッチ、ヨー、ロールまたは並進を含む、
    デバイス。
  13. 前記単眼撮像システムがローリングシャッタカメラを使用する、請求項1から12のいずれか一項に記載のデバイス。
  14. 前記センサの前記動きが、前記ANNの層に一定値の画像として提供され、前記一定値の画像の次元が、前記ANNの前記層と一致する、請求項1から13のいずれか一項に記載のデバイス。
  15. 前記処理回路が、前記3次元構造を使用して第2のANNを呼び出して、物体が前記シーン内で移動しているか移動していないかを判定するように構成される、請求項1から14のいずれか一項に記載のデバイス。
  16. 前記ANNは、前記画像が入力され前記画像の特徴マップを生成する層を有する畳み込みネットワーク部分と、前記畳み込みネットワーク部分において生成された前記特徴マップが入力され、前記画像の他の特徴マップを生成する層を有する逆畳み込みネットワーク部分とを有する、請求項1から15のいずれか一項に記載のデバイス。
  17. 前記畳み込みネットワーク部分および前記逆畳み込みネットワーク部分は、複数の前記層を有し、
    複数の前記層の各々は前記特徴マップを生成し、
    前記畳み込みネットワーク部分における一の層により生成された前記特徴マップは、前記畳み込みネットワーク部分の順伝播経路に沿って、前記一の層の次の層に渡され、
    前記逆畳み込みネットワーク部分における他の層により生成された前記特徴マップは、前記逆畳み込みネットワーク部分の順伝播経路に沿って、前記他の層の次の層に渡され、
    前記畳み込みネットワーク部分は、前記畳み込みネットワーク部分の前記順伝播経路に沿って、前記一の層により生成された前記特徴マップのチャネル数を増加させながら、前記一の層により生成された前記特徴マップの解像度を徐々に低下させるように動作し、
    前記逆畳み込みネットワーク部分は、前記逆畳み込みネットワーク部分の前記順伝播経路に沿って、前記他の層により生成された前記特徴マップのチャネル数を低下させながら、前記他の層により生成された前記特徴マップの解像度を徐々に向上させるように動作する、
    請求項16に記載のデバイス。
  18. 前記ANNは、前記畳み込みネットワーク部分と前記逆畳み込みネットワーク部分の間に位置するボトルネックネットワーク部分をさらに有し、
    前記ボトルネックネットワーク部分は、前記畳み込みネットワーク部分の前記層、および、前記逆畳み込みネットワーク部分の前記層よりも、低い解像度および高いチャネル数を有する一または複数の前記層を有する、
    請求項16または17に記載のデバイス。
  19. シーンをモデル化するための方法であって、前記方法
    ハードウェアインタフェースが、シーンを表す画像の時間順シーケンスを取得する段階であって、前記時間順シーケンスが複数の画像を含み、前記画像のシーケンスの1つが現在の画像であり、前記シーンが単眼撮像システムによって撮像される、取得する段階と、
    処理回路が、前記シーンの3次元構造を生成するために人工ニューラルネットワーク(ANN)にデータセットを提供する段階であって、前記データセットが、前記画像のシーケンスの一部であって、前記現在の画像を含む前記画像のシーケンスの一部と、前記画像のシーケンスを撮像したセンサの動きとを含む、提供する段階と、
    前記処理回路が、前記ANNに前記データセットを提供することによりガンマ画像を生成することであって、前記ガンマ画像はガンマ値を有し、前記ガンマ値は前記センサの前記動きに関連する、生成することと、
    前記処理回路が、前記シーンの前記3次元構造を使用して前記シーンをモデル化する段階であって、前記3次元構造が、前記シーン内の移動物体および固定物体の両方に対して決定される、モデル化する段階と
    を備える、方法。
  20. 前記ガンマ値は、前記センサからの距離に対する平面上の点の高さの比である、請求項19に記載の方法。
  21. シーンをモデル化するための方法であって、前記方法は、
    ハードウェアインタフェースが、シーンを表す画像の時間順シーケンスを取得する段階であって、前記時間順シーケンスが複数の画像を含み、前記画像のシーケンスの1つが現在の画像であり、前記シーンが単眼撮像システムによって撮像される、取得する段階と、
    処理回路が、前記シーンの3次元構造を生成するために人工ニューラルネットワーク(ANN)にデータセットを提供する段階であって、前記データセットが、前記画像のシーケンスの一部であって、前記現在の画像を含む前記画像のシーケンスの一部と、前記画像のシーケンスを撮像したセンサの動きとを含む、提供する段階と、
    前記処理回路が、前記シーンの前記3次元構造を使用して前記シーンをモデル化する段階であって、前記3次元構造が、前記シーン内の移動物体および固定物体の両方に対して決定される、モデル化する段階と、
    を備え、
    エピポールが、前記画像のシーケンスを撮像する前記センサの前記動きから導出され、前記エピポールが、前記現在の画像と同じ次元の勾配画像として提供され、前記勾配画像のピクセルの値が、前記現在の画像のピクセルの前記エピポールからの距離を表す、
    法。
  22. 前記勾配画像が、前記エピポールからの水平距離のみを表し、第2の勾配画像が、前記エピポールからの垂直距離を表すために、前記ANNに提供される、請求項21に記載の方法。
  23. シーンをモデル化するための方法であって、前記方法は、
    ハードウェアインタフェースが、シーンを表す画像の時間順シーケンスを取得する段階であって、前記時間順シーケンスが複数の画像を含み、前記画像のシーケンスの1つが現在の画像であり、前記シーンが単眼撮像システムによって撮像される、取得する段階と、
    処理回路が、前記シーンの3次元構造を生成するために人工ニューラルネットワーク(ANN)にデータセットを提供する段階であって、前記データセットが、前記画像のシーケンスの一部であって、前記現在の画像を含む前記画像のシーケンスの一部と、前記画像のシーケンスを撮像したセンサの動きとを含む、提供する段階と、
    前記処理回路が、前記シーンの前記3次元構造を使用して前記シーンをモデル化する段階であって、前記3次元構造が、前記シーン内の移動物体および固定物体の両方に対して決定される、モデル化する段階と、
    を備え、
    エピポールが、前記画像のシーケンスを撮像する前記センサの前記動きから導出され、前記エピポールが、前記ANNの層への勾配画像として提供され、前記エピポールの次元が、前記ANNの前記層と一致する、
    法。
  24. シーンをモデル化するための方法であって、前記方法は、
    ハードウェアインタフェースが、シーンを表す画像の時間順シーケンスを取得する段階であって、前記時間順シーケンスが複数の画像を含み、前記画像のシーケンスの1つが現在の画像であり、前記シーンが単眼撮像システムによって撮像される、取得する段階と、
    処理回路が、前記シーンの3次元構造を生成するために人工ニューラルネットワーク(ANN)にデータセットを提供する段階であって、前記データセットが、前記画像のシーケンスの一部であって、前記現在の画像を含む前記画像のシーケンスの一部と、前記画像のシーケンスを撮像したセンサの動きとを含む、提供する段階と、
    前記処理回路が、前記シーンの前記3次元構造を使用して前記シーンをモデル化する段階であって、前記3次元構造が、前記シーン内の移動物体および固定物体の両方に対して決定される、モデル化する段階と、
    を備え、
    前記センサの前記動きが、前記現在の画像と同じ次元の一定値の画像として提供され
    前記一定値が、平面からの前記センサの高さに対する前記センサの前方の動きの比である、
    法。
  25. シーンをモデル化するための方法であって、前記方法は、
    ハードウェアインタフェースが、シーンを表す画像の時間順シーケンスを取得する段階であって、前記時間順シーケンスが複数の画像を含み、前記画像のシーケンスの1つが現在の画像であり、前記シーンが単眼撮像システムによって撮像される、取得する段階と、
    処理回路が、前記シーンの3次元構造を生成するために人工ニューラルネットワーク(ANN)にデータセットを提供する段階であって、前記データセットが、前記画像のシーケンスの一部であって、前記現在の画像を含む前記画像のシーケンスの一部と、前記画像のシーケンスを撮像したセンサの動きとを含む、提供する段階と、
    前記処理回路が、前記シーンの前記3次元構造を使用して前記シーンをモデル化する段階であって、前記3次元構造が、前記シーン内の移動物体および固定物体の両方に対して決定される、モデル化する段階と、
    を備え、
    現在の画像のモデルと前記現在の画像との間の差を測定することによって誤差が決定される教師なしトレーニング技術で前記ANNがトレーニングされ、前記現在の画像の前記モデルが、前記現在の画像と同時に撮像される画像のガンマワーピングによって生成される、
    法。
  26. 前記現在の画像の前記モデルが、立体撮像システムによって撮像される複数の画像に基づいており、前記立体撮像システムが前記単眼撮像システムから独立している、請求項25に記載の方法。
  27. 前記立体撮像システムが、第1の画像センサおよび第2の画像センサを含み、前記第1の画像センサおよび前記第2の画像センサが、互いに重なり合う視野を有する、請求項26に記載の方法。
  28. 前記第1の画像センサおよび前記第2の画像センサが、ローリングシャッタを実装する、請求項27に記載の方法。
  29. シーンをモデル化するための方法であって、前記方法は、
    ハードウェアインタフェースが、シーンを表す画像の時間順シーケンスを取得する段階であって、前記時間順シーケンスが複数の画像を含み、前記画像のシーケンスの1つが現在の画像であり、前記シーンが単眼撮像システムによって撮像される、取得する段階と、
    処理回路が、前記シーンの3次元構造を生成するために人工ニューラルネットワーク(ANN)にデータセットを提供する段階であって、前記データセットが、前記画像のシーケンスの一部であって、前記現在の画像を含む前記画像のシーケンスの一部と、前記画像のシーケンスを撮像したセンサの動きとを含む、提供する段階と、
    前記処理回路が、前記シーンの前記3次元構造を使用して前記シーンをモデル化する段階であって、前記3次元構造が、前記シーン内の移動物体および固定物体の両方に対して決定される、モデル化する段階と、
    を備え、
    前記ANNは、前記センサの一の位置において予測されるガンマ値と、前記一の位置での前記センサの動きとの間の差を測定することによって誤差が決定される教師なしトレーニング技術でトレーニングされ、
    前記ガンマ値は、前記センサからの距離に対する平面の上方の高さの比であり、
    前記センサの前記動きは、前記平面に交差するピッチ、ヨー、ロールまたは並進を含む、
    方法。
  30. 前記単眼撮像システムがローリングシャッタカメラを使用する、請求項19から29のいずれか一項に記載の方法。
  31. 前記センサの前記動きが、前記ANNの層に一定値の画像として提供され、前記一定値の画像の次元が、前記ANNの前記層と一致する、請求項19から30のいずれか一項に記載の方法。
  32. 前記3次元構造を使用して第2のANNを呼び出して、物体が前記シーン内で移動しているか移動していないかを判定する段階を備える、請求項19から31のいずれか一項に記載の方法。
  33. マシンに請求項19から32のいずれか一項に記載の方法を実行させるためのコンピュータプログラム。
  34. 請求項19から32のいずれか一項の方法を実行するための手段を備えるシステム。
JP2021567061A 2019-05-30 2020-05-29 デバイス、方法、システムおよびコンピュータプログラム Active JP7383870B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962854818P 2019-05-30 2019-05-30
US62/854,818 2019-05-30
PCT/IB2020/000553 WO2020240284A2 (en) 2019-05-30 2020-05-29 Vehicle environment modeling with cameras

Publications (2)

Publication Number Publication Date
JP2022534556A JP2022534556A (ja) 2022-08-02
JP7383870B2 true JP7383870B2 (ja) 2023-11-21

Family

ID=72046939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021567061A Active JP7383870B2 (ja) 2019-05-30 2020-05-29 デバイス、方法、システムおよびコンピュータプログラム

Country Status (5)

Country Link
US (1) US11803981B2 (ja)
JP (1) JP7383870B2 (ja)
CN (1) CN114144809A (ja)
DE (1) DE112020002697T5 (ja)
WO (1) WO2020240284A2 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10300760B1 (en) 2015-03-18 2019-05-28 Apple Inc. Fully-actuated suspension system
WO2018176000A1 (en) 2017-03-23 2018-09-27 DeepScale, Inc. Data synthesis for autonomous control systems
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
US10671349B2 (en) 2017-07-24 2020-06-02 Tesla, Inc. Accelerated mathematical engine
US11409692B2 (en) 2017-07-24 2022-08-09 Tesla, Inc. Vector computational unit
US11157441B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system using non-consecutive data formatting
US11561791B2 (en) 2018-02-01 2023-01-24 Tesla, Inc. Vector computational unit receiving data elements in parallel from a last row of a computational array
US11215999B2 (en) 2018-06-20 2022-01-04 Tesla, Inc. Data pipeline and deep learning system for autonomous driving
US11361457B2 (en) 2018-07-20 2022-06-14 Tesla, Inc. Annotation cross-labeling for autonomous control systems
US11636333B2 (en) 2018-07-26 2023-04-25 Tesla, Inc. Optimizing neural network structures for embedded systems
US11562231B2 (en) 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
AU2019357615B2 (en) 2018-10-11 2023-09-14 Tesla, Inc. Systems and methods for training machine models with augmented data
US11196678B2 (en) 2018-10-25 2021-12-07 Tesla, Inc. QOS manager for system on a chip communications
US11816585B2 (en) 2018-12-03 2023-11-14 Tesla, Inc. Machine learning models operating at different frequencies for autonomous vehicles
US11537811B2 (en) 2018-12-04 2022-12-27 Tesla, Inc. Enhanced object detection for autonomous vehicles based on field view
US11610117B2 (en) 2018-12-27 2023-03-21 Tesla, Inc. System and method for adapting a neural network model on a hardware platform
US10997461B2 (en) 2019-02-01 2021-05-04 Tesla, Inc. Generating ground truth for machine learning from time series elements
US11567514B2 (en) 2019-02-11 2023-01-31 Tesla, Inc. Autonomous and user controlled vehicle summon to a target
US10956755B2 (en) 2019-02-19 2021-03-23 Tesla, Inc. Estimating object properties using visual image data
DE112020002697T5 (de) 2019-05-30 2022-03-17 Mobileye Vision Technologies Ltd. Modellerstellung einer fahrzeugumgebung mit kameras
CN111959495B (zh) * 2020-06-29 2021-11-12 阿波罗智能技术(北京)有限公司 车辆的控制方法、装置及车辆
US11885638B2 (en) * 2020-12-28 2024-01-30 Bear Robotics, Inc. Method, system, and non-transitory computer-readable recording medium for generating a map for a robot
CN117677972A (zh) * 2020-12-30 2024-03-08 御眼视觉技术有限公司 用于路段绘制的系统和方法
US20220292289A1 (en) * 2021-03-11 2022-09-15 GM Global Technology Operations LLC Systems and methods for depth estimation in a vehicle
US11688090B2 (en) * 2021-03-16 2023-06-27 Toyota Research Institute, Inc. Shared median-scaling metric for multi-camera self-supervised depth evaluation
CN113096151B (zh) * 2021-04-07 2022-08-09 地平线征程(杭州)人工智能科技有限公司 对目标的运动信息进行检测的方法和装置、设备和介质
CN114842105A (zh) * 2022-06-02 2022-08-02 北京大学 一种一体化的条件图像重绘方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012014430A1 (ja) 2010-07-27 2012-02-02 パナソニック株式会社 移動体検出装置および移動体検出方法
JP2019508677A (ja) 2016-01-08 2019-03-28 インテリジェント テクノロジーズ インターナショナル、インコーポレイテッド 地図を使用した車両構成部品の制御
US20190147621A1 (en) 2017-11-16 2019-05-16 Nec Europe Ltd. System and method for real-time large image homography processing

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014111814A2 (en) 2013-01-15 2014-07-24 Mobileye Technologies Limited Stereo assist with rolling shutters
EP3219564B1 (en) * 2016-03-14 2018-12-05 IMRA Europe S.A.S. Driving prediction with a deep neural network
EP3262944B1 (de) 2016-06-30 2019-10-30 Nordischer Maschinenbau Rud. Baader GmbH + Co. KG Vorrichtung zum entfernen von stiftgräten aus fischfilets
US10427645B2 (en) * 2016-10-06 2019-10-01 Ford Global Technologies, Llc Multi-sensor precipitation-classification apparatus and method
KR102534353B1 (ko) 2016-10-11 2023-05-22 모빌아이 비젼 테크놀로지스 엘티디. 검출된 배리어에 기반한 차량의 항법
CN111386550A (zh) * 2017-11-15 2020-07-07 谷歌有限责任公司 图像深度和自我运动预测神经网络的无监督学习
US10872433B2 (en) 2018-04-18 2020-12-22 Mobileye Vision Technologies Ltd. Vehicle environment modeling with a camera
CN113711276A (zh) * 2019-04-30 2021-11-26 华为技术有限公司 尺度感知单目定位和地图构建
DE112020002697T5 (de) 2019-05-30 2022-03-17 Mobileye Vision Technologies Ltd. Modellerstellung einer fahrzeugumgebung mit kameras

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012014430A1 (ja) 2010-07-27 2012-02-02 パナソニック株式会社 移動体検出装置および移動体検出方法
JP2019508677A (ja) 2016-01-08 2019-03-28 インテリジェント テクノロジーズ インターナショナル、インコーポレイテッド 地図を使用した車両構成部品の制御
US20190147621A1 (en) 2017-11-16 2019-05-16 Nec Europe Ltd. System and method for real-time large image homography processing

Also Published As

Publication number Publication date
WO2020240284A3 (en) 2021-01-07
CN114144809A (zh) 2022-03-04
US11803981B2 (en) 2023-10-31
US20220237866A1 (en) 2022-07-28
JP2022534556A (ja) 2022-08-02
DE112020002697T5 (de) 2022-03-17
WO2020240284A2 (en) 2020-12-03

Similar Documents

Publication Publication Date Title
JP7383870B2 (ja) デバイス、方法、システムおよびコンピュータプログラム
JP7039727B2 (ja) カメラを用いた車両環境モデリング
US11948462B2 (en) Image generating apparatus, image generating method, and recording medium
US11966673B2 (en) Sensor simulation and learning sensor models with generative machine learning methods
US11482014B2 (en) 3D auto-labeling with structural and physical constraints
US10891795B2 (en) Localization method and apparatus based on 3D color map
JP2023530762A (ja) 3dバウンディングボックスからの単眼深度管理
CN113450360A (zh) 基于点云的3d语义分割
CN116048060A (zh) 用于自主系统和应用的使用神经网络基于真实世界数据的3d表面结构估计
CN112800822A (zh) 利用结构约束和物理约束进行3d自动标记
US20230162513A1 (en) Vehicle environment modeling with a camera
JP2021099384A (ja) 情報処理装置、情報処理方法およびプログラム
US20230162386A1 (en) Heterogeneous multi-threaded visual odometry in autonomous driving

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230214

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230515

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230814

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231010

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231018

R150 Certificate of patent or registration of utility model

Ref document number: 7383870

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150