新四季網

用於車輛導航的系統和方法與流程

2023-04-30 11:58:41 3


用於車輛導航的系統和方法
1.相關申請的交叉引用
2.本技術要求於2020年1月3日提交的美國臨時申請第62/957,000號和於2020年9月24日提交的美國臨時申請第63/082,619號的優先權的權益。前述申請通過引用以其整體併入本文。
技術領域
3.本公開一般涉及自主車輛導航。


背景技術:

4.隨著技術的不斷進步,能夠在道路上導航的完全自主車輛的目標即將到來。自主車輛可能需要考慮各種因素,並基於這些因素做出適當的決策,以安全且準確地到達意圖目的地。例如,自主車輛可能需要處理和解釋視覺信息(例如,從相機捕獲的信息),並且還可能使用從其他源(例如,從gps單元、速率(speed)傳感器、加速度計、懸架(suspension)傳感器等)獲得的信息。同時,為了導航到目的地,自主車輛可能還需要識別其在特定道路內的位置(例如,多車道道路內的特定車道)、在其他車輛旁邊導航、避開障礙物和行人、觀察交通信號和標誌、並在適當的交叉路口或立體交叉道處從一條道路行駛到另一條道路。當車輛行駛到其目的地時,利用和解釋由自主車輛收集的海量信息引起了眾多設計挑戰。自主車輛可能需要分析、訪問和/或存儲的龐大數量的數據(例如,捕獲的圖像數據、地圖數據、gps數據、傳感器數據等)引起了事實上可能限制或者甚至不利影響自主導航的挑戰。此外,如果自主車輛依賴於傳統的繪圖(mapping)技術來導航,那麼存儲和更新地圖所需的龐大數量的數據會引起令人生畏的挑戰。


技術實現要素:

5.與本公開一致的實施例提供用於自主車輛導航的系統和方法。公開的實施例可以使用相機來提供自主車輛導航特徵。例如,與公開的實施例一致,公開的系統可以包括監視車輛的環境的一個、兩個或更多相機。公開的系統可以基於例如由一個或多個相機捕獲的圖像的分析來提供導航響應。
6.在實施例中,一種用於主車輛的導航系統,包括至少一個處理器,該至少一個處理器被編程為確定主車輛的自我運動的至少一個指示符。該至少一個處理器還可以被編程為從與主車輛相關聯的lidar系統並基於lidar系統的視場的第一lidar掃描接收第一點雲,第一點雲包括對象的至少一部分的第一表示。該至少一個處理器還可以被編程為從與主車輛相關聯的lidar系統並基於lidar系統的視場的第一lidar掃描接收第一點雲,該第一點雲包括對象的至少一部分的第一表示。該至少一個處理器還可以被編程為從lidar系統並且基於lidar系統的視場的第二lidar掃描接收第二點雲,該第二點雲包括對象的至少一部分的第二表示。該至少一個處理器還可以被編程為基於主車輛的自我運動的至少一個指示符、以及基於包括對象的至少一部分的第一表示的第一點雲與包括對象的至少一部分的第
二表示的第二點雲的比較,來確定對象的速度。
7.在實施例中,一種用於檢測主車輛的環境中的對象的方法可以包括確定主車輛的自我運動的至少一個指示符。該方法還可以包括從與主車輛相關聯的lidar系統並基於lidar系統的視場的第一lidar掃描接收第一點雲,該第一點雲包括對象的至少一部分的第一表示。該方法還可以包括從lidar系統並且基於lidar系統的視場的第二lidar掃描接收第二點雲,該第二點雲包括對象的至少一部分的第二表示。該方法還可以包括基於主車輛的自我運動的至少一個指示符、以及基於包括對象的至少一部分的第一表示的第一點雲與包括對象的至少一部分的第二表示的第二點雲的比較,來確定對象的速度。
8.在實施例中,一種用於主車輛的導航系統可以包括至少一個處理器,該至少一個處理器被編程為從位於相對於車輛的遠處的實體接收與車輛要穿越的至少一個道路段相關聯的稀疏地圖。稀疏地圖可以包括多個繪圖(map)的導航地標和至少一個目標軌跡。多個繪圖的導航地標和至少一個目標軌跡二者可以基於從先前沿著至少一個道路段行駛的多個車輛收集的駕駛信息來生成。至少一個處理器還可以被編程為從車輛車載的雷射檢測和測距(lidar)系統接收點雲信息。點雲信息可以表示到車輛的環境中的各種對象的距離。該至少一個處理器還可以被編程為將接收的點雲信息與稀疏地圖中的多個繪圖的導航地標中的至少一個繪圖的導航地標進行比較,以提供車輛相對於至少一個目標軌跡的、基於雷射檢測和測距的定位。該至少一個處理器還可以被編程為基於車輛相對於至少一個目標軌跡的、基於雷射檢測和測距的定位來確定車輛的至少一個導航動作。至少一個處理器還可以被編程為引起車輛採取至少一個導航動作。
9.在實施例中,一種用於控制主車輛的導航系統的方法可以包括從位於相對於車輛的遠處的實體接收與車輛要穿越的至少一個道路段相關聯的稀疏地圖。稀疏地圖可以包括多個繪圖的導航地標和至少一個目標軌跡。多個繪圖的導航地標和至少一個目標軌跡二者可以基於從先前沿著至少一個道路段行駛的多個車輛收集的駕駛信息來生成。該方法還可以包括從車輛車載的雷射檢測和測距(lidar)系統接收點雲信息。點雲信息表示到車輛的環境中的各種對象的距離。該方法還可以包括將接收的點雲信息與稀疏地圖中的多個繪圖的導航地標中的至少一個繪圖的導航地標進行比較,以提供車輛相對於至少一個目標軌跡的、基於雷射檢測和測距的定位。該方法還可以包括基於車輛相對於至少一個目標軌跡的、基於雷射檢測和測距的定位來確定車輛的至少一個導航動作。該方法還可以包括引起車輛採取至少一個導航動作。
10.在實施例中,一種用於主車輛的導航系統可以包括至少一個處理器,該至少一個處理器被編程為從主車輛車載的相機接收表示主車輛的環境的至少一個捕獲的圖像。該至少一個處理器還可以被編程為從主車輛車載的lidar系統接收點雲信息。該點雲信息可以表示到主車輛的環境中的各種對象的距離。該至少一個處理器還可以被編程為將點雲信息與至少一個捕獲的圖像相關,以提供至少一個捕獲的圖像的一個或多個區域的每個像素的深度信息。該至少一個處理器還可以被編程為基於至少一個捕獲的圖像的一個或多個區域的每個像素的深度信息來確定主車輛的至少一個導航動作,並引起主車輛採取至少一個導航動作。
11.在實施例中,一種用於確定主車輛的導航動作的方法可以包括從主車輛車載的lidar系統接收點雲信息。點雲信息可以表示到主車輛的環境中的多個對象的距離。該方法
還可以包括將點雲信息與至少一個捕獲的圖像相關,以提供至少一個捕獲的圖像的一個或多個區域的每個像素的深度信息。該方法還可以包括基於至少一個捕獲的圖像的一個或多個區域的每個像素的深度信息來確定主車輛的至少一個導航動作,並引起主車輛採取至少一個導航動作。
12.在實施例中,一種用於主車輛的導航系統可以包括至少一個處理器,該至少一個處理器被編程為從主車輛車載的相機接收表示主車輛的環境的至少一個捕獲的圖像。相機可以相對於主車輛定位在第一位置處。該至少一個處理器還可以被編程為從主車輛車載的光檢測和測距(lidar)系統接收點雲信息。該點雲信息可以表示到主車輛的環境中的各種對象的距離。lidar系統可以相對於主車輛定位在第二位置處,並且第二位置可以不同於第一位置。相機的視場可以至少部分地與lidar系統的視場重疊,以提供共享的視場區域。該至少一個處理器還可以被編程為分析至少一個捕獲的圖像和接收的點雲信息以檢測共享的視場區域中的一個或多個對象。檢測的一個或多個對象可以僅在至少一個捕獲的圖像或接收的點雲信息中的一個中被表示。該至少一個處理器還可以被編程為確定相機的第一位置和lidar系統的第二位置之間的有利點差異是否考慮了一個或多個檢測的對象僅在至少一個捕獲的圖像或接收的點雲信息中的一個中被表示。該至少一個處理器可以被編程為:如果有利點差異未考慮一個或多個檢測的對象僅在至少一個捕獲的圖像或接收的點雲信息中的一個中被表示,則引起採取至少一個補救動作。該至少一個處理器可以被編程為:如果有利點差異確實考慮了一個或多個檢測的對象僅在至少一個捕獲的圖像或接收的點雲信息中的一個中被表示,則基於一個或多個檢測的對象來確定主車輛要採取的至少一個導航動作,並且引起主車輛採取至少一個導航動作。
13.在實施例中,一種用於確定主車輛的導航動作的方法可以包括從主車輛車載的相機接收表示主車輛的環境的至少一個捕獲的圖像。相機可以相對於主車輛定位在第一位置處。該方法還可以包括從主車輛車載的光檢測和測距(lidar)系統接收點雲信息。該點雲信息可以表示到主車輛的環境中的各種對象的距離。lidar系統可以相對於主車輛定位在第二位置處,並且第二位置可以不同於第一位置。相機的視場可以至少部分地與lidar系統的視場重疊,以提供共享的視場區域。該方法還可以包括分析至少一個捕獲的圖像和接收的點雲信息,以檢測共享的視場區域中的一個或多個對象。檢測的一個或多個對象可以僅在至少一個捕獲的圖像或接收的點雲信息中的一個中被表示。該方法還可以包括確定相機的第一位置和lidar系統的第二位置之間的有利點差異是否考慮了一個或多個檢測的對象僅在至少一個捕獲的圖像或接收的點雲信息中的一個中被表示。該方法還可以包括:如果有利點差異未考慮一個或多個檢測的對象僅在至少一個捕獲的圖像或接收的點雲信息中的一個中被表示,則引起採取至少一個補救動作。該方法還可以包括:如果有利點差異確實考慮了一個或多個檢測的對象僅在至少一個捕獲的圖像或接收的點雲信息中的一個中被表示,則基於一個或多個檢測的對象確定要由主車輛採取的至少一個導航動作,並且引起主車輛採取至少一個導航動作。
14.在實施例中,一種用於主車輛的導航系統可以包括至少一個處理器,該至少一個處理器被編程為從主車輛車載的中心相機接收包括主車輛的環境的至少一部分的表示的至少一個捕獲的中心圖像,從主車輛車載的左環繞相機接收包括主車輛的環境的至少一部分的表示的至少一個捕獲的左環繞圖像,並且從主車輛車載的右環繞相機接收包括主車輛
的環境的至少一部分的表示的至少一個捕獲的右環繞圖像。中心相機的視場可以至少部分地與左環繞相機的視場和右環繞相機的視場兩者重疊。該至少一個處理器還可以被編程為將至少一個捕獲的中心圖像、至少一個捕獲的左環繞圖像和至少一個捕獲的右環繞圖像提供給分析模塊,該分析模塊被配置為基於至少一個捕獲的中心圖像、至少一個捕獲的左環繞圖像和至少一個捕獲的右環繞圖像的分析來生成關於至少一個捕獲的中心圖像的輸出。生成的輸出包括捕獲的中心圖像的至少一個區域的每個像素的深度信息。該至少一個處理器還可以被編程為基於包括捕獲的中心圖像的至少一個區域的每個像素的深度信息的生成的輸出,引起主車輛的至少一個導航動作。
15.在實施例中,一種用於確定主車輛的導航動作的方法可以包括從主車輛車載的中心相機接收包括主車輛的環境的至少一部分的表示的至少一個捕獲的中心圖像,從主車輛車載的左環繞相機接收包括主車輛的環境的至少一部分的表示的至少一個捕獲的左環繞圖像,並且從主車輛車載的右環繞相機接收包括主車輛的環境的至少一部分的表示的至少一個捕獲的右環繞圖像。中心相機的視場至少部分地與左環繞相機的視場和右環繞相機的視場兩者重疊。該方法還可以包括將至少一個捕獲的中心圖像、至少一個捕獲的左環繞圖像和至少一個捕獲的右環繞圖像提供給分析模塊,該分析模塊被配置為基於至少一個捕獲的中心圖像、至少一個捕獲的左環繞圖像和至少一個捕獲的右環繞圖像的分析來生成關於至少一個捕獲的中心圖像的輸出。生成的輸出包括捕獲的中心圖像的至少一個區域的每個像素的深度信息。該方法還可以包括基於包括捕獲的中心圖像的至少一個區域的每個像素的深度信息的生成的輸出,引起主車輛的至少一個導航動作。
16.與其他公開的實施例一致的非暫時性計算機可讀存儲介質可以存儲程序指令,該程序指令由至少一個處理設備執行並且執行本文描述的任何方法。
17.前述一般描述和以下詳細描述僅是示例性和解釋性的,而不是對權利要求的限制。
附圖說明
18.結合在本公開中並構成本公開的一部分的附圖示出了各種公開的實施例。在附圖中:
19.圖1是與公開的實施例一致的示例性系統的圖解表示。
20.圖2a是與公開的實施例一致的、包括系統的示例性車輛的圖解側視圖表示。
21.圖2b是與公開的實施例一致的、圖2a中示出的車輛和系統的圖解頂視圖表示。
22.圖2c是與公開的實施例一致的、包括系統的車輛的另一個實施例的圖解頂視圖表示。
23.圖2d是與公開的實施例一致的、包括系統的車輛的又一實施例的圖解頂視圖表示。
24.圖2e是與公開的實施例一致的、包括系統的車輛的又一實施例的圖解頂視圖表示。
25.圖2f是與公開的實施例一致的示例性車輛控制系統的圖解表示。
26.圖3a是與公開的實施例一致的、包括用於車輛成像系統的用戶接口和後視鏡的車輛的內部的圖解表示。
27.圖3b是與公開的實施例一致的、被配置為定位在後視鏡後面並抵靠車輛風擋的相機底座的示例的圖示。
28.圖3c是與公開的實施例一致的、來自不同視角的圖3b中示出的相機底座的圖示。
29.圖3d是與公開的實施例一致的、被配置為定位在後視鏡後面並抵靠車輛風擋的相機底座的示例的圖示。
30.圖4是與公開的實施例一致的、被配置為存儲用於執行一個或多個操作的指令的存儲器的示例性框圖。
31.圖5a是示出了與公開的實施例一致的、用於基於單目圖像分析引起一個或多個導航響應的示例性過程的流程圖。
32.圖5b是示出了與公開的實施例一致的、用於檢測圖像的集合中的一個或多個車輛和/行人的示例性過程的流程圖。
33.圖5c是示出了與公開的實施例一致的、用於檢測圖像的集合中的道路標記和/或車道幾何結構信息的示例性過程的流程圖。
34.圖5d是示出了與公開的實施例一致的、用於檢測圖像的集合中的交通燈的示例性過程的流程圖。
35.圖5e是示出了與公開的實施例一致的、用於基於車輛路徑引起一個或多個導航響應的示例性過程的流程圖。
36.圖5f是示出了與公開的實施例一致的、用於確定居前(leading)車輛是否正在改變車道的示例性過程的流程圖。
37.圖6是示出了與公開的實施例一致的、用於基於立體圖像分析引起一個或多個導航響應的示例性過程的流程圖。
38.圖7是示出了與公開的實施例一致的、用於基於對三個圖像的集合的分析引起一個或多個導航響應的示例性過程的流程圖。
39.圖8示出了與公開的實施例一致的用於提供自主車輛導航的稀疏地圖。
40.圖9a示出了與公開的實施例一致的道路段的一部分的多項式表示。
41.圖9b示出了與公開的實施例一致的、稀疏地圖中包括的、針對特定道路段的、表示車輛的目標軌跡的三維空間中的曲線。
42.圖10示出了與公開的實施例一致的、可以包括在稀疏地圖中的示例地標。
43.圖11a示出了與公開的實施例一致的軌跡的多項式表示。
44.圖11b和圖11c示出了與公開的實施例一致的沿著多車道道路的目標軌跡。
45.圖11d示出了與公開的實施例一致的示例道路籤名(signature)簡檔(profile)。
46.圖12是與公開的實施例一致的、使用從多個車輛接收的眾包(crowd sourcing)數據的、用於自主車輛導航的系統的示意性圖示。
47.圖13示出了與公開的實施例一致的、由多個三維樣條表示的示例自主車輛道路導航模型。
48.圖14示出了與公開的實施例一致的、從組合來自許多駕駛的位置信息生成的地圖骨架。
49.圖15示出了與公開的實施例一致的、具有作為地標的示例標誌的兩個駕駛的縱向對準的示例。
50.圖16示出了與公開的實施例一致的、具有作為地標的示例標誌的許多駕駛的縱向對準的示例。
51.圖17是與公開的實施例一致的、用於使用相機、車輛和伺服器生成駕駛數據的系統的示意性圖示。
52.圖18是與公開的實施例一致的、用於眾包稀疏地圖的系統的示意性圖示。
53.圖19是示出了與公開的實施例一致的、用於生成用於沿道路段的自主車輛導航的稀疏地圖的示例性過程的流程圖。
54.圖20示出了與公開的實施例一致的伺服器的框圖。
55.圖21示出了與公開的實施例一致的存儲器的框圖。
56.圖22示出了與公開的實施例一致的、對與車輛相關聯的車輛軌跡進行聚類的過程。
57.圖23示出了與公開的實施例一致的、可以用於自主導航的、車輛的導航系統。
58.圖24a、圖24b、圖24c和圖24d示出了與公開的實施例一致的、可以檢測的示例性車道標記。
59.圖24e示出了與公開的實施例一致的示例性繪圖的車道標記。
60.圖24f示出了與公開的實施例一致的、與檢測車道標記相關聯的示例性異常。
61.圖25a示出了與公開的實施例一致的、用於基於繪圖的車道標記的導航的車輛周圍環境的示例性圖像。
62.圖25b示出了與公開的實施例一致的道路導航模型中基於繪圖的車道標記的車輛的橫向定位校正。
63.圖25c和圖25d提供了用於使用包括在稀疏地圖中的繪圖的特徵沿著目標軌跡定位主車輛的定位技術的概念表示。
64.圖26a是示出了與公開的實施例一致的、用於繪圖車道標記以用於自主車輛導航的示例性過程的流程圖。
65.圖26b是示出了與公開的實施例一致的、用於使用繪圖的車道標記沿著道路段自主導航主車輛的示例性過程的流程圖。
66.圖27示出了與公開的實施例一致的、用於確定對象的速度的示例性系統。
67.圖28示出了與公開的實施例一致的示例性伺服器。
68.圖29示出了與公開的實施例一致的示例性車輛。
69.圖30a示出了與公開的實施例一致的、與導航系統相關聯的視場中的示例性對象。
70.圖30b示出了與公開的實施例一致的、與導航系統相關聯的視場中的示例性對象。
71.圖31是示出了與公開的實施例一致的用於確定對象的速度(velocity)的示例性過程的流程圖。
72.圖32示出了與公開的實施例一致的、用於確定主車輛的導航動作的示例性系統。
73.圖33示出了與公開的實施例一致的示例性伺服器。
74.圖34示出了與公開的實施例一致的示例性車輛。
75.圖35a示出了與公開的實施例一致的示例性道路段。
76.圖35b示出了與公開的實施例一致的、與示例性道路段相關聯的示例性稀疏地圖。
77.圖35c示出了與公開的實施例一致的示例性道路段。
78.圖36是示出了與公開的實施例一致的、用於確定主車輛的導航動作的示例性過程的流程圖。
79.圖37示出了與公開的實施例一致的示例性車輛。
80.圖38是示出了與公開的實施例一致的、用於確定主車輛的導航動作的示例性過程的流程圖。
81.圖39a和圖39b示出了與公開的實施例一致的示例性點雲信息和圖像。
82.圖40示出了與公開的實施例一致的示例性車輛。
83.圖41是示出了與公開的實施例一致的、用於確定主車輛的導航動作的示例性過程的流程圖。
84.圖42示出了與公開的實施例一致的示例性環境中的主車輛。
85.圖43示出了與公開的實施例一致的示例性車輛。
86.圖44示出了與公開的實施例一致的示例性車輛。
87.圖45是示出了與公開的實施例一致的用於確定主車輛的導航動作的示例性過程的流程圖。
具體實施方式
88.以下詳細描述參考附圖。在任何可能的情況下,在附圖和以下描述中使用相同的附圖標記來指代相同或相似的部分。雖然本文描述了幾個說明性實施例,但是修改、調整和其他實施方式是可能的。例如,可以對附圖中所示出的組件進行替換、添加或修改,並且可以通過對公開的方法進行替換、重新排序、移除或添加步驟來修改本文描述的說明性方法。因此,以下詳細描述不限於公開的實施例和示例。相反,適當的範圍由所附權利要求限定。
89.自主車輛概述
90.如貫穿本公開所使用的,術語「自主車輛」指代能夠在沒有駕駛員輸入的情況下實現至少一個導航改變的車輛。「導航改變」指代車輛的轉向、制動或加速中的一個或多個的改變。要變得自主,車輛不需要完全自動(例如,在沒有駕駛員或沒有駕駛員輸入的情況的完全操作)。更確切地,自主車輛包括在某些時間段期間可以在駕駛員控制下操作而在其他時間段期間無需駕駛員控制的那些車輛。自主車輛還可以包括下述車輛:其僅控制車輛導航的一些方面,諸如轉向(例如,以在車輛車道約束之間保持車輛航線(course)),但可以將其他方面(例如,制動)留給駕駛員。在一些情況下,自主車輛可以處理車輛的制動、速率控制和/或轉向的一些或所有方面。
91.由於人類駕駛員典型地依賴於視覺提示和觀察來控制車輛,因此相應地建立了運輸基礎設施,其中,車道標記、交通標誌和交通燈都被設計為向駕駛員提供視覺信息。鑑於運輸基礎設施的這些設計特性,自主車輛可以包括相機和分析從車輛的環境捕獲的視覺信息的處理單元。視覺信息可以包括例如可由駕駛員觀察的運輸基礎設施的組件(例如,車道標記、交通標誌、交通燈等)和其他障礙物(例如,其他車輛、行人、碎片等)。此外,自主車輛還可以使用存儲的信息,諸如在導航時提供車輛的環境的模型的信息。例如,車輛可以使用gps數據、傳感器數據(例如,來自加速度計、速率傳感器、懸架傳感器等)和/或其他地圖數據,以在該車輛正在行駛時提供與其環境相關的信息,並且該車輛(以及其他車輛)可以使用該信息在模型上定位自身。
92.在本公開中的一些實施例中,自主車輛可以使用在導航時獲得的信息(例如,來自相機、gps設備、加速度計、速率傳感器、懸架傳感器等)。在其他實施例中,自主車輛可以在導航時使用從車輛(或其他車輛)過去的導航中獲得的信息。在又一些實施例中,自主車輛可以使用在導航時獲得的信息和從過去的導航獲得的信息的組合。以下部分提供了與公開的實施例一致的系統的概述,隨後是面向前方的成像系統和與該系統一致的方法的概述。以下部分公開了用於構建、使用和更新用於自主車輛導航的稀疏地圖的系統和方法。
93.系統概述
94.圖1是與示例性公開的實施例一致的系統100的框圖表示。取決於特定實施方式的要求,系統100可以包括各種組件。在一些實施例中,系統100可以包括處理單元110、圖像獲取單元120、定位傳感器130、一個或多個存儲器單元140、150、地圖資料庫160、用戶接口170和無線收發器172。處理單元110可以包括一個或多個處理設備。在一些實施例中,處理單元110可以包括應用處理器180、圖像處理器190或任何其他合適的處理設備。類似地,取決於特定應用的要求,圖像獲取單元120可以包括任意數量的圖像獲取設備和組件。在一些實施例中,圖像獲取單元120可以包括一個或多個圖像捕獲設備(例如,相機),諸如圖像捕獲設備122、圖像捕獲設備124和圖像捕獲設備126。系統100還可以包括將處理設備110通信地連接到圖像獲取設備120的數據接口128。例如,數據接口128可以包括用於將圖像獲取設備120獲取的圖像數據傳輸到處理單元110的任何一個或多個有線和/或無線鏈路。
95.無線收發器172可以包括一個或多個設備,該一個或多個設備被配置為通過使用射頻、紅外頻率、磁場或電場通過空中接口與一個或多個網絡(例如,蜂窩、網際網路等)交換傳輸。無線收發器172可以使用任何已知標準來傳輸和/或接收數據(例如,wi-fi、智能藍牙、802.15.4、zigbee等)。這樣的傳輸可以包括從主車輛到一個或多個位於遠程的伺服器的通信。這樣的傳輸還可以包括主車輛與主車輛的環境中的一個或多個目標車輛之間的通信(單向或雙向)(例如,以促進鑑於主車輛的環境中的目標車輛的、主車輛的導航的協調,或與主車輛的環境中的目標車輛一起的、主車輛的導航的協調),或者甚至向在傳輸車輛附近的未指定接收者進行廣播傳輸。
96.應用處理器180和圖像處理器190二者可以包括各種類型的處理設備。例如,應用處理器180和圖像處理器190中的任一個或二者可以包括微處理器、預處理器(例如圖像預處理器)、圖形處理單元(gpu)、中央處理單元(cpu)、支持電路、數位訊號處理器、集成電路、存儲器或適合於運行應用以及圖像處理和分析的任何其他類型的設備。在一些實施例中,應用處理器180和/或圖像處理器190可以包括任何類型的單核或多核處理器、行動裝置微控制器、中央處理單元等。可以使用各種處理設備,包括例如可從諸如等製造商獲得的處理器,或可從諸如等製造商獲得的gpu,並且可以包括各種架構(例如,x86處理器、等)。
97.在一些實施例中,應用處理器180和/或圖像處理器190可以包括可從獲得的任何eyeq系列處理器晶片。這些處理器設計各自包括具有本地存儲器和指令集的多個處理單元。這樣的處理器可以包括用於從多個圖像傳感器接收圖像數據的視頻輸入並且還可以包括視頻輸出能力。在一個示例中,使用以332mhz操作的90納米-微米技術。架構由兩個浮點、超線程32位risc cpu(核心)、五個視覺
計算引擎(vce)、三個矢量微碼處理器denali 64位移動ddr控制器、128位內部超音速互連、雙16位視頻輸入和18位視頻輸出控制器、16通道dma和若干外圍設備組成。mips34k cpu管理五個vce、三個vmp
tm
和dma、第二mips34k cpu和多通道dma以及其他外圍設備。五個vce、三個和mips34k cpu可以執行由多功能捆綁應用要求的密集視覺計算。在另一個示例中,可以在公開的實施例中使用作為第三代處理器並且比強大六倍的在其他示例中,可以在公開的實施例中使用和/或當然,還可以與公開的實施例一起使用任何更加新的或未來的eyeq處理設備。
98.本文公開的任何處理設備可以被配置為執行某些功能。配置處理設備(諸如描述的eyeq處理器或其他控制器或微處理器中的任何)以執行某些功能可以包括對計算機可執行指令的編程並使這些指令可用於處理設備,以在處理設備的操作期間執行。在一些實施例中,配置處理設備可以包括使用架構指令直接對處理設備進行編程。例如,可以使用例如一種或多種硬體描述語言(hdl)來配置諸如現場可編程門陣列(fpga)、專用集成電路(asic)等的處理設備。
99.在其他實施例中,配置處理設備可以包括將可執行指令存儲在處理設備在操作期間可訪問的存儲器上。例如,處理設備可以在操作期間訪問存儲器以獲得和執行存儲的指令。在任一情況下,被配置為執行本文公開的感測、圖像分析和/或導航功能的處理設備表示控制主車輛的多個基於硬體的組件的專用的基於硬體的系統。
100.儘管圖1描繪了包括在處理單元110中的兩個分開的處理設備,但是可以使用更多或更少的處理設備。例如,在一些實施例中,可以使用單個處理設備來完成應用處理器180和圖像處理器190的任務。在其他實施例中,這些任務可以由多於兩個處理設備來執行。此外,在一些實施例中,系統100可以包括一個或多個處理單元110,而不包括其他組件(諸如圖像獲取單元120)。
101.處理單元110可以包括各種類型的設備。例如,處理單元110可以包括各種設備,諸如控制器、圖像預處理器、中央處理單元(cpu)、圖形處理單元(gpu)、支持電路、數位訊號處理器、集成電路、存儲器或用於圖像處理和分析的任何其他類型的設備。圖像預處理器可以包括用於捕獲、數位化和處理來自圖像傳感器的影像的視頻處理器。cpu可以包括任何數量的微控制器或微處理器。gpu也可以包括任何數量的微控制器或微處理器。支持電路可以是一般是本領域眾所周知的任何數量的電路,包括高速緩存、電源、時鐘和輸入-輸出電路。存儲器可以存儲當由處理器執行時控制系統操作的軟體。存儲器可以包括資料庫和圖像處理軟體。存儲器可以包括任意數量的隨機存取存儲器、只讀存儲器、快閃記憶體、磁碟驅動器、光存儲、磁帶存儲、可移動存儲和其他類型的存儲。在一個實例中,存儲器可以與處理單元110分開。在另一個實例中,存儲器可以集成到處理單元110中。
102.每個存儲器140、150可以包括當由處理器(例如,應用處理器180和/或圖像處理器190)執行時可以控制系統100的各個方面的操作的軟體指令。例如,這些存儲器單元可以包括各種資料庫和圖像處理軟體,以及經訓練的系統,諸如神經網絡或深度神經網絡。存儲器單元可以包括隨機存取存儲器(ram)、只讀存儲器(rom)、快閃記憶體、磁碟驅動器、光存儲、磁帶存儲、可移動存儲和/或任何其他類型的存儲。在一些實施例中,存儲器單元140、150可以與應用處理器180和/或圖像處理器190分開。在其他實施例中,這些存儲器單元可以集成到應用
處理器180和/或圖像處理器190中。
103.定位傳感器130可以包括適合於確定與系統100的至少一個組件相關聯的位置的任何類型的設備。在一些實施例中,定位傳感器130可以包括gps接收器。這樣的接收器可以通過處理全球定位系統衛星廣播的信號來確定用戶定位和速度。可以使來自定位傳感器130的定位信息可用於應用處理器180和/或圖像處理器190。
104.在一些實施例中,系統100可以包括諸如用於測量車輛200的速率的速率傳感器(例如,轉速計、速率計)和/或用於測量車輛200的加速度的加速度計(單軸或多軸)的組件。
105.用戶接口170可以包括適合於向系統100的一個或多個用戶提供信息或從系統100的一個或多個用戶接收輸入的任何設備。在一些實施例中,用戶接口170可以包括用戶輸入設備,包括例如觸控螢幕、麥克風、鍵盤、指針設備、軌道輪、相機、旋鈕、按鈕等。利用這樣的輸入設備,用戶可能能夠通過鍵入指令或信息,提供語音命令,使用按鈕、指針或眼睛追蹤能力選擇屏幕上的菜單選項或通過用於向系統100傳達信息的任何其他合適的技術來向系統100提供信息輸入或命令。
106.用戶接口170可以配備有一個或多個處理設備,該一個或多個處理設備被配置為向用戶提供信息或從用戶接收信息,並處理該信息以供例如由應用處理器180使用。在一些實施例中,這樣的處理設備可以執行用於辨識(recognize)以及追蹤眼睛移動、接收和解釋語音命令、辨識和解釋在觸控螢幕上進行的觸摸和/或手勢、對鍵盤輸入或菜單選擇作出響應等的指令。在一些實施例中,用戶接口170可以包括顯示器、揚聲器、觸覺設備和/或用於向用戶提供輸出信息的任何其他設備。
107.地圖資料庫160可以包括用於存儲對系統100有用的地圖數據的任何類型的資料庫。在一些實施例中,地圖資料庫160可以包括與各種項目在參考坐標系中的定位相關的數據,各種項目包括道路、水特徵、地理特徵、企業、感興趣的點、餐廳、加油站等。地圖資料庫160不僅可以存儲這樣的項目的位置,還可以存儲與這些項目相關的描述符(包括例如與任何存儲的特徵相關聯的名稱)。在一些實施例中,地圖資料庫160可以物理地與系統100的其他組件位於一起。可替代或附加地,地圖資料庫160或其一部分可以位於相對於系統100的其他組件(例如,處理單元110)的遠處。在這樣的實施例中,來自地圖資料庫160的信息可以通過到網絡的有線或無線數據連接(例如,通過蜂窩網絡和/或網際網路等)被下載。在一些情況下,地圖資料庫160可以存儲稀疏數據模型,包括某些道路特徵(例如,車道標記)或主車輛的目標軌跡的多項式表示。下面參考圖8至圖19討論生成這樣的地圖的系統和方法。
108.圖像捕獲設備122、124和126可以各自包括適合於從環境捕獲至少一個圖像的任何類型的設備。此外,可以使用任何數量的圖像捕獲設備來獲取圖像以輸入到圖像處理器。一些實施例可以僅包括單個圖像捕獲設備,而其他實施例可以包括兩個、三個或者甚至四個或更多個圖像捕獲設備。圖像捕獲設備122、124和126將如下參照圖2b-圖2e進一步描述。
109.系統100或其各種組件可以結合到各種不同的平臺中。在一些實施例中,系統100可以包括在車輛200上,如圖2a所示。例如,車輛200可以配備有處理單元110和系統100的任何其他組件,如上文相對於圖1所描述的。雖然在一些實施例中車輛200可以僅配備單個圖像捕獲設備(例如,相機),但在諸如結合圖2b-圖2e所討論的那些的其他實施例中,可以使用多個圖像捕獲設備。例如,如圖2a所示,車輛200的圖像捕獲設備122和124中的任一圖像捕獲設備可以是adas(高級駕駛員輔助系統)成像套機(set)的一部分。
110.作為圖像獲取單元120的一部分而被包括在車輛200上的圖像捕獲設備可以定位在任何適合的位置處。在一些實施例中,如圖2a-圖2e和圖3a-圖3c所示,圖像捕獲設備122可以位於後視鏡附近。該定位可以提供與車輛200的駕駛員的視線相似的視線,這可以幫助確定什麼對駕駛員可見和什麼對駕駛員不可見。圖像捕獲設備122可以定位在後視鏡附近的任何位置處,但是將圖像捕獲設備122放置在鏡子的駕駛員側上還可以幫助獲得表示駕駛員視場和/或視線的圖像。
111.也可以使用圖像獲取單元120的圖像捕獲設備的其他位置。例如,圖像捕獲設備124可以位於車輛200的保險槓上或保險槓中。這樣的位置可能特別適合於具有寬視場的圖像捕獲設備。位於保險槓的圖像捕獲設備的視線可能與駕駛員的視線不同,並且因此,保險槓圖像捕獲設備和駕駛員可能並不總是看到相同的物體。圖像捕獲設備(例如,圖像捕獲設備122、124和126)也可以位於其他位置。例如,圖像捕獲設備可以位於車輛200的側視鏡中的一個或兩者上或車輛200的側視鏡中的一個或兩者中、車輛200的車頂上、車輛200的引擎蓋上、車輛200的後備箱上、車輛200的側面上,安裝在車輛200的窗戶中的任何窗戶上,定位在車輛200的窗戶中的任何窗戶的後面、或定位在車輛200的窗戶中的任何窗戶的前面,以及安裝在車輛200的前面和/或後面的燈型(light figure)中或附近等。
112.除了圖像捕獲設備之外,車輛200可以包括系統100的各種其他組件。例如,處理單元110可以與車輛的引擎控制單元(ecu)集成或分開而被包括在車輛200上。車輛200還可以配備諸如gps接收器的定位傳感器130,並且還可以包括地圖資料庫160和存儲器單元140和150。
113.如前所述,無線收發器172可以通過一個或多個網絡(例如,蜂窩網絡、網際網路等)和/或接收數據。例如,無線收發器172可以將系統100收集的數據上傳到一個或多個伺服器,並從一個或多個伺服器下載數據。系統100可以經由無線收發器172接收例如對存儲在地圖資料庫160、存儲器140和/或存儲器150中的數據的周期性或按需更新。類似地,無線收發器172可以向一個或多個伺服器上傳來自系統100的任何數據(例如,由圖像獲取單元120捕獲的圖像、由定位傳感器130或其他傳感器、車輛控制系統等接收的數據)和/或由處理單元110處理的任何數據。
114.系統100可以基於隱私水平設置將數據上傳到伺服器(例如,上傳到雲)。例如,系統100可以實現隱私水平設置以調控或限制發送到伺服器的、可唯一地識別車輛和/或車輛的駕駛員/所有者的數據的類型(包括元數據)。這樣的設置可以由用戶經由例如無線收發器172來設置、通過出廠默認設置或通過由無線收發器172接收的數據來初始化。
115.在一些實施例中,系統100可以根據「高」隱私水平上傳數據,並且在設置了設置下,系統100可以傳輸數據(例如,與路線相關的位置信息、捕獲的圖像等),而無需關於該特定車輛和/或駕駛員/所有者的任何細節。例如,當根據「高」隱私設置上傳數據時,系統100可能不包括車輛識別號(vin)或車輛駕駛員或所有者的姓名,並且可以代替傳輸數據,諸如捕獲的圖像和/或與路線相關的有限的位置信息。
116.考慮其他隱私水平。例如,系統100可以根據「中間」隱私水平向伺服器傳輸數據,並且包括在「高」隱私水平下不包括的附加信息,諸如車輛的品牌和/或型號和/或車輛類型(例如,乘用車輛、運動型多用途車輛、卡車等)。在一些實施例中,系統100可以根據「低」隱私水平上傳數據。在「低」隱私水平設置下,系統100可以上傳數據,並包括足以唯一識別特
定車輛、所有者/駕駛員和/或車輛行駛的路線的一部分或整個的信息。這樣的「低」隱私水平數據可以包括以下各項中的一項或多項,例如,vin、駕駛員/所有者姓名、出發前車輛的原始點、車輛的意圖目的地、車輛的品牌和/或型號、車輛的類型等。
117.圖2a是與公開的實施例一致的示例性車輛成像系統的圖解側視圖表示。圖2b是圖2a示出的實施例的圖解頂視圖圖示。如圖2b所示,公開的實施例可以包括車輛200,車輛200在其車身中包括系統100,系統100具有定位在車輛200的後視鏡附近和/或靠近駕駛員的第一圖像捕獲設備122、定位在車輛200的保險槓區域(例如,保險槓區域210中的一個)上或中的第二圖像捕獲設備124、以及處理單元110。
118.如圖2c所示,圖像捕獲設備122和124都可以定位在車輛200的後視鏡附近和/或靠近駕駛員。此外,雖然在圖2b和圖2c中示出了兩個圖像捕獲設備122和124,但應該理解,其他實施例可以包括多於兩個圖像捕獲設備。例如,在圖2d和圖2e所示的實施例中,第一、第二和第三圖像捕獲設備122、124和126被包括在車輛200的系統100中。
119.如圖2d所示,圖像捕獲設備122可以定位在車輛200的後視鏡附近和/或靠近駕駛員,並且圖像捕獲設備124和126可以定位在車輛200的保險槓區域(例如,保險槓區域210中的一個)上或中。並且如圖2e所示,圖像捕獲設備122、124和126可以定位在車輛200的後視鏡附近和/或靠近駕駛員座椅。公開的實施例不限於圖像捕獲設備的任何特定數量和配置,並且圖像捕獲設備可以定位在車輛200內和/或車輛200上的任何適當位置。
120.將理解,公開的實施例不限於車輛並且可以應用在其他情境中。還將理解,公開的實施例不限於特定類型的車輛200並且可以適用於所有類型的車輛,包括汽車、卡車、拖車和其他類型的車輛。
121.第一圖像捕獲設備122可以包括任何合適類型的圖像捕獲設備。圖像捕獲設備122可以包括光軸。在一個實例中,圖像捕獲設備122可以包括具有全局快門的aptina m9v024 wvga傳感器。在其他實施例中,圖像捕獲設備122可以提供1280x960像素的解析度並且可以包括滾動快門。圖像捕獲設備122可以包括各種光學元件。在一些實施例中,可以包括一個或多個透鏡,例如,來為圖像捕獲設備提供期望的焦距和視場。在一些實施例中,圖像捕獲設備122可以與6毫米透鏡或12毫米透鏡相關聯。在一些實施例中,圖像捕獲設備122可以被配置為捕獲具有期望的視場(fov)202的圖像,如圖2d所示。例如,圖像捕獲設備122可以被配置為具有通常的fov,諸如在40度到56度的範圍內(包括46度fov、50度fov、52度fov或更大)。可替代地,圖像捕獲設備122可以被配置為具有23至40度範圍中的窄fov,諸如28度fov或36度fov。此外,圖像捕獲設備122可以被配置為具有100至180度範圍中的寬fov。在一些實施例中,圖像捕獲設備122可以包括廣角保險槓相機或具有高達180度fov的相機。在一些實施例中,圖像捕獲設備122可以是具有大約2:1的縱橫比(例如,hxv=3800x1900像素)和大約100度水平fov的7.2m像素圖像捕獲設備。這樣的圖像捕獲設備可以用來代替三個圖像捕獲設備配置。由於顯著的透鏡畸變,在圖像捕獲設備使用徑向對稱透鏡的實施方式中,這樣的圖像捕獲設備的垂直fov可能顯著小於50度。例如,這樣的透鏡可能不是徑向對稱的,這將允許大於50度的垂直fov和100度水平fov。
122.第一圖像捕獲設備122可以獲取與和車輛200相關聯的場景相關的多個第一圖像。可以獲取多個第一圖像中的每個作為一系列圖像掃描線,其可以使用滾動快門來捕獲。每個掃描線可以包括多個像素。
123.第一圖像捕獲設備122可以具有與第一系列圖像掃描線中的每個的獲取相關聯的掃描速率。掃描速率可以指圖像傳感器可以獲取與包括在特定掃描線中的每個像素相關聯的圖像數據的速率。
124.圖像捕獲設備122、124和126可以包含任何合適類型和數量的圖像傳感器,例如包括ccd傳感器或cmos傳感器。在一個實施例中,可以與滾動快門一起採用cmos圖像傳感器,使得行中的每個像素一次被讀取一個,並且基於逐行進行對行的掃描,直到整個圖像幀已經被捕獲。在一些實施例中,可以從相對於幀的頂部到底部順序地捕獲行。
125.在一些實施例中,本文公開的一個或多個圖像捕獲設備(例如,圖像捕獲設備122、124和126)可以構成高解析度成像器,並且可以具有大於5m像素、7m像素、10m像素、或更大的解析度。
126.滾動快門的使用可能導致不同行中的像素在不同時間處被曝光和捕獲,這可能引起捕獲的圖像幀中的歪斜(skew)和其他圖像偽影。另一方面,當圖像捕獲設備122被配置為使用全局或同步快門操作時,所有像素可以在相同的時間量內和在共同的曝光時段期間被曝光。結果,從採用全局快門的系統收集的幀中的圖像數據表示在特定時間處整個fov(諸如fov 202)的快照。相比之下,在滾動快門應用中,幀中的每個行在不同的時間處被曝光,並且數據在不同的時間處被捕獲。因此,移動對象在具有滾動快門的圖像捕獲設備中可能出現失真。該現象將在下面更詳細地描述。
127.第二圖像捕獲設備124和第三圖像捕獲設備126可以是任何類型的圖像捕獲設備。與第一圖像捕獲設備122一樣,圖像捕獲設備124和126中的每個可以包括光軸。在一個實施例中,圖像捕獲設備124和126中的每個可以包括具有全局快門的aptina m9v024 wvga傳感器。可替代地,圖像捕獲設備124和126中的每個可以包括滾動快門。與圖像捕獲設備122一樣,圖像捕獲設備124和126可以被配置為包括各種透鏡和光學元件。在一些實施例中,與圖像捕獲設備124和126相關聯的透鏡可以提供與和圖像捕獲設備122相關聯的fov(諸如fov 202)相同或比和圖像捕獲設備122相關聯的fov(諸如fov 202)更窄的fov(諸如fov 204和206)。例如,圖像捕獲設備124和126可以具有40度、30度、26度、23度、20度或更小的fov。
128.圖像捕獲設備124和126可以獲取與和車輛200相關聯的場景相關的多個第二和第三圖像。多個第二和第三圖像中的每個可以被獲取為第二和第三系列圖像掃描線,其可以使用滾動快門來捕獲。每個掃描線或行可以具有多個像素。圖像捕獲設備124和126可以具有與獲取包括在第二和第三系列中的每條圖像掃描線相關聯的第二和第三掃描速率。
129.每個圖像捕獲設備122、124和126可以相對於車輛200定位在任何合適的定位和朝向處。可以選擇圖像捕獲設備122、124和126的相對定位以幫助將從圖像捕獲設備獲取的信息融合在一起。例如,在一些實施例中,與圖像捕獲設備124相關聯的fov(諸如fov 204)可以和與圖像捕獲設備122相關聯的fov(諸如fov 202)和與圖像捕獲設備126相關聯的fov(諸如fov 206)部分或完全重疊。
130.圖像捕獲設備122、124和126可以以任何合適的相對高度位於車輛200上。在一個實例中,圖像捕獲設備122、124和126之間可能有高度差異,這可以提供足夠的視差信息以使得能夠進行立體分析。例如,如圖2a所示,兩個圖像捕獲設備122和124處於不同的高度處。例如,圖像捕獲設備122、124和126之間也可能有橫向位移差異,從而為處理單元110的立體分析給出另外的視差信息。如圖2c和圖2d所示,橫向位移的差異可以用d
x
表示。在一些
實施例中,在圖像捕獲設備122、124和126之間可能存在前或後位移(例如,距離位移)。例如,圖像捕獲設備122可以位於圖像捕獲設備124和/或圖像捕獲設備126後面0.5到2米或更多。這種類型的位移可以使圖像捕獲設備中的一個能夠覆蓋其他圖像捕獲設備的潛在盲點。
131.圖像捕獲設備122可以具有任何合適的解析度能力(例如,與圖像傳感器相關聯的像素數量),並且與圖像捕獲設備122相關聯的圖像傳感器的解析度可以更高、更低、或者和與圖像捕獲設備124和126相關聯的圖像傳感器的解析度相同。在一些實施例中,與圖像捕獲設備122和/或圖像捕獲設備124和126相關聯的圖像傳感器可以具有640x 480、1024x 768、1280x 960的解析度或任何其他合適的解析度。
132.幀速率(例如,圖像捕獲設備在繼續捕獲與下一個圖像幀相關聯的像素數據之前獲取一個圖像幀的像素數據的集合的速率)可以是可控的。與圖像捕獲設備122相關聯的幀速率可以更高、更低、或者和與圖像捕獲設備124和126相關聯的幀速率相同。與圖像捕獲設備122、124和126相關聯的幀速率可以取決於可能影響幀速率的定時的各種因素。例如,圖像捕獲設備122、124和126中的一個或多個可以包括在獲取與圖像捕獲設備122、124和/或126中的圖像傳感器的一個或多個像素相關聯的圖像數據之前或之後施加的可選擇的像素延遲時段。通常,可以根據設備的時鐘速率來獲取與每個像素對應的圖像數據(例如,每個時鐘周期一個像素)。另外,在包括滾動快門的實施例中,圖像捕獲設備122、124和126中的一個或多個可以包括在獲取與圖像捕獲設備122、124和/或126中圖像傳感器的像素的行相關聯的圖像數據之前或之後施加的可選擇的水平消隱(blanking)時段。此外,圖像捕獲設備122、124和/或126中的一個或多個可以包括在獲取與圖像捕獲設備122、124和126的圖像幀相關聯的圖像數據之前或之後施加的可選擇的垂直消隱時段。
133.這些定時控制可以使得與圖像捕獲設備122、124和126相關聯的幀速率能夠同步,即使在每個的線掃描速率不同的情況下。此外,如下文將更詳細討論的,即使在圖像捕獲設備122的視場不同於圖像捕獲設備124和126的fov的情況下,這些可選擇的定時控制以及其他因素(例如,圖像傳感器解析度、最大線掃描速率等)也可以使得能夠從圖像捕獲設備122的fov與圖像捕獲設備124和126的一個或多個fov重疊的區域捕獲的圖像同步。
134.圖像捕獲設備122、124和126中的幀速率定時可以取決於相關聯的圖像傳感器的解析度。例如,假設兩個設備的線掃描速率相似,如果一個設備包括具有640x480的解析度的圖像傳感器,而另一個設備包括具有1280x960的解析度的圖像傳感器,則將要求更多時間來獲取來自具有更高解析度的傳感器的圖像數據的幀。
135.可能影響圖像捕獲設備122、124和126中的圖像數據獲取的定時的另一個因素是最大線掃描速率。例如,從包括在圖像捕獲設備122、124和126中的圖像傳感器獲取圖像數據的行將要求某一最小時間量。假設沒有添加像素延遲時段,則用於獲取圖像數據的行的該最小時間量將與特定設備的最大線掃描速率相關。供應更高最大線掃描速率的設備具有提供比具有較低最大線掃描速率的設備更高的幀速率的潛力。在一些實施例中,圖像捕獲設備124和126中的一個或多個可以具有高於與圖像捕獲設備122相關聯的最大線掃描速率的最大線掃描速率。在一些實施例中,圖像捕獲設備124和/或126的最大線掃描速率可以是圖像捕獲設備122的最大線掃描速率的1.25、1.5、1.75或2倍或更多。
136.在另一個實施例中,圖像捕獲設備122、124和126可以具有相同的最大線掃描速
率,但是圖像捕獲設備122可以以小於或等於其最大掃描速率的掃描速率操作。系統可以被配置為使得圖像捕獲設備124和126中的一個或多個以等於圖像捕獲設備122的線掃描速率的線掃描速率操作。在其他實例中,系統可以被配置為使得圖像捕獲設備124和/或圖像捕獲設備126的線掃描速率可以是圖像捕獲設備122的線掃描速率的1.25、1.5、1.75或2倍或更多。
137.在一些實施例中,圖像捕獲設備122、124和126可以是不對稱的。也就是說,它們可能包括具有不同視場(fov)和焦距的相機。例如,圖像捕獲設備122、124和126的視場可以包括相對於車輛200的環境的任何期望區域。在一些實施例中,圖像捕獲設備122、124和126中的一個或多個可以被配置為從車輛200前面、車輛200後面、車輛200側面或其組合的環境中獲取圖像數據。
138.此外,與每個圖像捕獲設備122、124和/或126相關聯的焦距可以是可選擇的(例如,通過包括適當的透鏡等),使得每個設備獲取在相對於車輛200的期望距離範圍處的對象的圖像。例如,在一些實施例中,圖像捕獲設備122、124和126可以獲取在距車輛幾米內的特寫對象的圖像。圖像捕獲設備122、124和126還可以被配置為獲取在距車輛更遠的範圍(例如,25米、50米、100米、150米或更多)處的對象的圖像。此外,可以選擇圖像捕獲設備122、124和126的焦距,使得一個圖像捕獲設備(例如,圖像捕獲設備122)可以獲取相對靠近車輛(例如,在10米內或20米內)的對象的圖像,而其他圖像捕獲設備(例如,圖像捕獲設備124和126)可以獲取距車輛200更遠的對象(例如,大於20米、50米、100米、150米等)的圖像。
139.根據一些實施例,一個或多個圖像捕獲設備122、124和126的fov可以具有廣角。例如,具有140度的fov可能是有優勢的,特別是對於可以用於捕獲在車輛200附近的區域的圖像的圖像捕獲設備122、124和126。例如,圖像捕獲設備122可以用於捕獲車輛200右側或左側區域的圖像,並且在這樣的實施例中,可能期望圖像捕獲設備122具有寬fov(例如,至少140度)。
140.與圖像捕獲設備122、124和126中的每個圖像捕獲設備相關聯的視場可以取決於相應的焦距。例如,隨著焦距的增加,對應的視場減小。
141.圖像捕獲設備122、124和126可以被配置為具有任何合適的視場。在一個特定示例中,圖像捕獲設備122可以具有46度的水平fov,圖像捕獲設備124可以具有23度的水平fov,並且圖像捕獲設備126可以具有在23度和46度之間的水平fov。在另一實例中,圖像捕獲設備122可以具有52度的水平fov,圖像捕獲設備124可以具有26度的水平fov,並且圖像捕獲設備126可以具有在26度和52度之間的水平fov。在一些實施例中,圖像捕獲設備122的fov與圖像捕獲設備124和/或圖像捕獲設備126的fov的比率可以從1.5變化到2.0。在其他實施例中,該比率可以在1.25和2.25之間變化。
142.系統100可以被配置為使得圖像捕獲設備122的視場與圖像捕獲設備124和/或圖像捕獲設備126的視場至少部分或完全重疊。在一些實施例中,系統100可以被配置為使得圖像捕獲設備124和126的視場例如落入(例如,窄於)圖像捕獲設備122的視場內並且與圖像捕獲設備122的視場共享共同中心。在其他實施例中,圖像捕獲設備122、124和126可以捕獲相鄰的fov,或者可以在它們的fov中具有部分重疊。在一些實施例中,圖像捕獲設備122、124和126的視場可以對準,使得較窄fov圖像捕獲設備124和/或126的中心可以位於較寬fov設備122的視場的下半部分。
143.圖2f是與公開的實施例一致的示例性車輛控制系統的圖解表示。如圖2f所指示的,車輛200可以包括節流系統220、制動系統230和轉向系統240。系統100可以通過一個或多個數據鏈路(例如,任何有線和/或無線鏈路或用於傳輸數據的鏈路)向節流(throttling)系統220、制動系統230和轉向系統240中的一個或多個提供輸入(例如,控制信號)。例如,基於對由圖像捕獲設備122、124和/或126獲取的圖像的分析,系統100可以向節流系統220、制動系統230和轉向系統240中的一個或多個提供控制信號以導航車輛200(例如,通過引起加速、轉彎、車道轉換等)。此外,系統100可以從節流系統220、制動系統230和轉向系統24中的一個或多個接收指示車輛200的操作狀況(例如,速率、車輛200是否正在制動和/或轉彎等)的輸入。下面結合圖4-圖7提供了進一步的細節。
144.如圖3a所示,車輛200還可以包括用於與車輛200的駕駛員或乘客交互的用戶接口170。例如,車輛應用中的用戶接口170可以包括觸控螢幕320、旋鈕330、按鈕340和麥克風350。車輛200的駕駛員或乘客還可以使用把手(例如,位於車輛200的轉向柱上或附近,包括例如轉彎信號把手)、按鈕(例如,位於車輛200的方向盤上)等,以與系統100交互。在一些實施例中,麥克風350可以鄰近後視鏡310定位。類似地,在一些實施例中,圖像捕獲設備122可以位於後視鏡310附近。在一些實施例中,用戶接口170還可以包括一個或多個揚聲器360(例如,車輛音頻系統的揚聲器)。例如,系統100可以經由揚聲器360提供各種通知(例如,警報)。
145.圖3b-圖3d是與公開的實施例一致的被配置為定位在後視鏡(例如,後視鏡310)後面並抵靠車輛風擋的示例性相機底座370的圖示。如圖3b所示,相機底座370可以包括圖像捕獲設備122、124和126。圖像捕獲設備124和126可以定位在眩光屏蔽380後面,眩光屏蔽380可以與車輛風擋齊平並且包括薄膜和/或抗反射材料的成分。例如,眩光屏蔽380可以定位為使得屏蔽與具有匹配坡度的車輛風擋對準。在一些實施例中,圖像捕獲設備122、124和126中的每個圖像捕獲設備可以定位在眩光屏蔽380之後,例如如圖3d中所描繪的。公開的實施例不限於圖像捕獲設備122、124和126、相機底座370和眩光屏蔽380的任何特定配置。圖3c是來自前視角的圖3b中所示的相機底座370的圖示。
146.如受益於本公開的本領域技術人員將理解的,可以對前述公開的實施例進行多種變化和/或修改。例如,並非所有組件對於系統100的操作都是必不可少的。此外,任何組件可以位於系統100的任何適當部分中並且組件可以重新布置成各種配置,同時提供公開的實施例的功能。因此,前述配置是示例,並且無論上面討論的配置如何,系統100都可以提供廣泛範圍的功能來分析車輛200的周圍環境並且響應於分析來導航車輛200。
147.如以下更詳細地討論並且與各種公開的實施例一致,系統100可以提供與自主駕駛和/或駕駛員輔助技術相關的各種特徵。例如,系統100可以分析圖像數據、定位數據(例如,gps位置信息)、地圖數據、速率數據和/或來自車輛200中包括的傳感器的數據。系統100可以例如從圖像獲取單元120、定位傳感器130和其他傳感器收集用於分析的數據。此外,系統100可以分析收集的數據以確定車輛200是否應該採取一定動作,然後在沒有人類幹預的情況下自動採取確定的動作。例如,當車輛200在沒有人類幹預的情況下導航時,系統100可以自動控制車輛200的制動、加速和/或轉向(例如,通過向節流系統220、制動系統230和轉向系統240中的一個或多個發送控制信號)。此外,系統100可以分析收集的數據並基於對收集的數據的分析向車輛乘坐者發出警告和/或警報。下面提供了關於由系統100提供的各種實施例的附加細節。
148.面向前方的多成像系統
149.如上面所討論的,系統100可以提供使用多相機系統的駕駛輔助功能。多相機系統可以使用面向車輛前方方向的一個或多個相機。在其他實施例中,多相機系統可以包括面向車輛側面或車輛後部的一個或多個相機。在一個實施例中,例如,系統100可以使用雙相機成像系統,其中第一相機和第二相機(例如,圖像捕獲設備122和124)可以定位在車輛(例如,車輛200)的前面和/或側面。第一相機可以具有大於第二相機的視場、小於第二相機的視場或者與第二相機的視場部分重疊的視場。此外,第一相機可以連接到第一圖像處理器,以對第一相機提供的圖像執行單目圖像分析,第二相機可以連接到第二圖像處理器,以對第二相機提供的圖像執行單目圖像分析。可以組合第一和第二圖像處理器的輸出(例如,經處理的信息)。在一些實施例中,第二圖像處理器可以從第一相機和第二相機兩者接收圖像以執行立體分析。在另一個實施例中,系統100可以使用三相機成像系統,其中每個相機具有不同的視場。因此,這樣的系統可以基於從位於車輛前方和側面兩者的不同的距離處的對象導出的信息來做出決策。對單目圖像分析的引用可以指代基於從單個視點(例如,從單個相機)捕獲的圖像執行圖像分析的實例。立體圖像分析可以指代基於使用圖像捕獲參數的一個或多個變體捕獲的兩個或更多圖像來執行圖像分析的實例。例如,適合於執行立體圖像分析的捕獲的圖像可以包括:從兩個或更多不同定位、從不同視場、使用不同焦距以及視差信息等捕獲的圖像。
150.例如,在一個實施例中,系統100可以使用圖像捕獲設備122、124和126來實現三相機配置。在這樣的配置中,圖像捕獲設備122可以提供窄視場(例如,從大約20度到45度的範圍中選擇的34度或其他值等),圖像捕獲設備124可以提供寬視場(例如,從大約100度到大約180度的範圍中選擇的150度或其他值),並且圖像捕獲設備126可以提供中間視場(例如,從大約35度到大約60度的範圍中選擇的46度或其他值)。在一些實施例中,圖像捕獲設備126可以用作主相機或主要相機。圖像捕獲設備122、124和126可以定位在後視鏡310後面並且基本上並排定位(例如,相隔6釐米)。此外,在一些實施例中,如上所述,圖像捕獲設備122、124和126中的一個或多個可以安裝在與車輛200的風擋齊平的眩光屏蔽380後面。這樣的屏蔽可以起作用以最小化來自小汽車內部的任何反射在圖像捕獲設備122、124和126上的影響。
151.在另一個實施例中,如上面結合圖3b和圖3c所討論的,寬視場相機(例如,上述示例中的圖像捕獲設備124)可以安裝得低於窄視場和主視場相機(例如,上述示例中的圖像設備122和126)。這種配置可以提供來自寬視場相機的自由視線。為了減少反射,相機可以安裝得靠近車輛200的風擋,並且可以在相機上包括偏振器以衰減反射光。
152.三相機系統可以提供一定性能特性。例如,一些實施例可以包括基於來自另一個相機的檢測結果來驗證一個相機對對象的檢測的能力。在上面討論的三相機配置中,處理單元110可以包括例如三個處理設備(例如,三個eyeq系列處理器晶片,如上所述),其中,每個處理設備專門處理由圖像捕獲設備122、124和126中的一個或多個捕獲的圖像。
153.在三相機系統中,第一處理設備可以從主相機和窄視場相機兩者接收圖像,並對窄fov相機執行視覺處理以例如檢測其他車輛、行人、車道標記、交通標誌、交通燈和其他道路對象。此外,第一處理設備可以計算來自主相機和窄相機的圖像之間的像素視差(disparity),並創建車輛200的環境的3d重建。然後,第一處理設備可以將3d重建與3d地圖
數據或者與基於來自另一個相機的信息而計算的3d信息組合。
154.第二處理設備可以從主相機接收圖像並執行視覺處理以檢測其他車輛、行人、車道標記、交通標誌、交通燈和其他道路對象。此外,第二處理設備可以計算相機位移,並且基於位移來計算連續圖像之間的像素視差,並創建場景的3d重建(例如,運動恢復結構)。第二處理設備可以向第一處理設備發送基於運動恢復結構的3d重建以與立體3d圖像組合。
155.第三處理設備可以從寬fov相機接收圖像並處理圖像以檢測車輛、行人、車道標記、交通標誌、交通燈和其他道路對象。第三處理設備還可以執行另外的處理指令來分析圖像以識別圖像中移動的對象,諸如改變車道的車輛、行人等。
156.在一些實施例中,具有獨立地捕獲和處理的、基於圖像的信息的流可以提供用於在系統中提供冗餘的機會。這樣的冗餘可以包括例如使用第一圖像捕獲設備和從該設備處理的圖像,來驗證和/或補充通過從至少第二圖像捕獲設備捕獲和處理圖像信息而獲得的信息。
157.在一些實施例中,系統100可以將兩個圖像捕獲設備(例如,圖像捕獲設備122和124)用在為車輛200提供導航輔助,並使用第三圖像捕獲設備(例如,圖像捕獲設備126)來提供冗餘並驗證從另外兩個圖像捕獲設備接收的數據的分析。例如,在這樣的配置中,圖像捕獲設備122和124可以提供用於由系統100進行立體分析的圖像以用於導航車輛200,而圖像捕獲設備126可以提供用於由系統100進行單目分析的圖像,以提供對基於從圖像捕獲設備122和/或圖像捕獲設備124捕獲的圖像而獲得的信息的冗餘和驗證。也就是說,圖像捕獲設備126(和對應的處理設備)可以被認為提供冗餘子系統,以用於提供對從圖像捕獲設備122和124導出的分析的檢查(例如,以提供自動緊急制動(aeb)系統)。此外,在一些實施例中,可以基於從一個或多個傳感器(例如,雷達、雷射雷達(lidar)、聲學傳感器、從車輛外部的一個或多個收發器接收的信息等)接收的信息來補充接收的數據的冗餘和驗證。
158.本領域技術人員將認識到,上述相機配置、相機放置、相機數量、相機位置等僅是示例。在不脫離公開的實施例的範圍的情況下,這些組件和相對於整體系統描述的其他組件可以以各種不同的配置來裝配和使用。以下是關於使用多相機系統提供駕駛員輔助和/或自主車輛功能的進一步的細節。
159.圖4是存儲器140和/或150的示例性功能框圖,存儲器140和/或150可以被存儲/編程為具有用於執行與公開的實施例一致的一個或多個操作的指令。儘管以下涉及存儲器140,但是本領域技術人員將認識到指令可以存儲在存儲器140和/或150中。
160.如圖4所示,存儲器140可以存儲單目圖像分析模塊402、立體圖像分析模塊404、速度和加速度模塊406以及導航響應模塊408。公開的實施例不限於存儲器140的任何特定配置。此外,應用處理器180和/或圖像處理器190可以執行存儲器140中包括的模塊402、404、406和408中的任何模塊中存儲的指令。本領域技術人員將理解,在以下討論中對處理單元110的引用可以單獨地或集體地指代應用處理器180和圖像處理器190。因此,可以由一個或多個處理設備來執行任何以下過程的步驟。
161.在一個實施例中,單目圖像分析模塊402可以存儲指令(諸如計算機視覺軟體),所述指令當由處理單元110執行時,對由圖像捕獲設備122、124和126中的一個圖像捕獲設備獲取的圖像的集合執行單目圖像分析。在一些實施例中,處理單元110可以將來自圖像的集合的信息與另外的感測信息(例如,來自雷達、雷射雷達等的信息)組合以執行單目圖像分
析。如以下結合圖5a-圖5d所描述的,單目圖像分析模塊402可以包括用於檢測圖像的集合內的特徵的集合(諸如車道標記、車輛、行人、道路標誌、高速公路出口匝道、交通燈、危險對象和與車輛的環境相關聯的任何其他特徵)的指令。如下文結合導航響應模塊408所討論的,基於該分析,系統100(例如,經由處理單元110)可以在車輛200中引起一個或多個導航響應,諸如轉彎、車道轉換、加速度改變等。
162.在一個實施例中,立體圖像分析模塊404可以存儲指令(諸如計算機視覺軟體),這些指令在由處理單元110執行時,對由從圖像捕獲設備122、124和126中的任何圖像捕獲設備選擇的圖像捕獲設備的組合獲取的圖像的第一和第二集合執行立體圖像分析。在一些實施例中,處理單元110可以將來自圖像的第一和第二集合的信息與另外的感測信息(例如,來自雷達的信息)組合以執行立體圖像分析。例如,立體圖像分析模塊404可以包括用於基於由圖像捕獲設備124獲取的圖像的第一集合和由圖像捕獲設備126獲取的圖像的第二集合執行立體圖像分析的指令。如以下結合圖6描述的,立體圖像分析模塊404可以包括用於檢測圖像的第一和第二集合內的特徵的集合(諸如車道標記、車輛、行人、道路標誌、高速公路出口匝道、交通燈、危險對象等)的指令。基於該分析,處理單元110可以在車輛200中引起一個或多個導航響應,諸如轉彎、車道轉換、加速度改變等,如下文結合導航響應模塊408所討論的。此外,在一些實施例中,立體圖像分析模塊404可以實現與經訓練的系統(諸如神經網絡或深度神經網絡)或未訓練的系統(諸如這樣的系統,該系統可以被配置為使用計算機視覺算法來檢測從其捕獲和處理感測信息的環境中的對象和/或將從其捕獲和處理感測信息的環境中的對象打上標籤)相關聯的技術。在一個實施例中,立體圖像分析模塊404和/或其他圖像處理模塊可以被配置為使用經訓練的和未訓練的系統的組合。
163.在一個實施例中,速度和加速度模塊406可以存儲軟體,該軟體被配置為分析從被配置為引起車輛200的速度和/或加速度的改變的、車輛200中的一個或多個計算和機電設備接收的數據。例如,處理單元110可以執行與速度和加速度模塊406相關聯的指令,以基於從執行單目圖像分析模塊402和/或立體圖像分析模塊404導出的數據來計算車輛200的目標速率。這樣的數據可以包括例如目標定位、速度和/或加速度,車輛200相對於附近車輛、行人或道路對象的定位和/或速率,車輛200相對於道路的車道標記的定位信息等。此外,處理單元110可以基於感測輸入(例如,來自雷達的信息)和來自車輛200的其他系統(諸如車輛200的節流系統220、制動系統230和/或轉向系統240)的輸入來計算車輛200的目標速率。基於計算的目標速率,處理單元110可以向車輛200的節流系統220、制動系統230和/或轉向系統240傳輸電子信號,以例如通過物理地壓下制動器或鬆開車輛200的加速器來觸發速度和/或加速度的改變。
164.在一個實施例中,導航響應模塊408可以存儲可由處理單元110執行的軟體,以基於從執行單目圖像分析模塊402和/或立體圖像分析模塊404導出的數據來確定期望的導航響應。這樣的數據可以包括與附近車輛、行人和道路對象相關聯的定位和速率信息,車輛200的目標定位信息等。此外,在一些實施例中,導航響應可以(部分地或完全地)基於地圖數據、車輛200的預定定位和/或車輛200與從執行單目圖像分析模塊402和/或立體圖像分析模塊404檢測的一個或多個對象之間的相對速度或相對加速度。導航響應模塊408還可以基於感測輸入(例如,來自雷達的信息)和來自車輛200的其他系統(諸如車輛200的節流系統220、制動系統230和轉向系統240)的輸入來確定期望的導航響應。基於期望的導航響應,
處理單元110可以向車輛200的節流系統220、制動系統230和轉向系統240傳輸電子信號,以通過例如轉動車輛200的方向盤以實現預定角度的旋轉來觸發期望的導航響應。在一些實施例中,處理單元110可以使用導航響應模塊408的輸出(例如,期望的導航響應)作為執行速度和加速度模塊406的輸入,以用於計算車輛200的速率改變。
165.此外,本文公開的任何模塊(例如,模塊402、404和406)可以實現與經訓練的系統(諸如神經網絡或深度神經網絡)或未訓練的系統相關聯的技術。
166.圖5a是示出了與公開的實施例一致的、用於基於單目圖像分析引起一個或多個導航響應的示例性過程500a的流程圖。在步驟510,處理單元110可以經由處理單元110和圖像獲取單元120之間的數據接口128接收多個圖像。例如,包括在圖像獲取單元120中的相機(諸如具有視場202的圖像捕獲設備122)可以捕獲車輛200前方的區域(或例如車輛的側面或後部)的多個圖像,並通過數據連接(例如,數字、有線、usb、無線、藍牙等)向處理單元110傳輸它們。如下面結合圖5b-圖5d進一步詳細描述的,處理單元110可以在步驟520執行單目圖像分析模塊402以分析多個圖像。通過執行分析,處理單元110可以檢測圖像的集合內的特徵的集合,諸如車道標記、車輛、行人、道路標誌、高速公路出口匝道、交通燈等。
167.處理單元110還可以在步驟520執行單目圖像分析模塊402以檢測各種道路危險,諸如像卡車輪胎的部分、掉落的道路標誌、未綑紮的貨物、小型動物等。道路危險可以在結構、形狀、大小和顏色上進行變化,這可能使這樣的危險的檢測更具挑戰性。在一些實施例中,處理單元110可以執行單目圖像分析模塊402以對多個圖像執行多幀分析以檢測道路危險。例如,處理單元110可以估計連續圖像幀之間的相機運動並且計算幀之間的像素視差以構建道路的3d地圖。處理單元110然後可以使用3d地圖來檢測道路表面,以及存在於道路表面上的危險。
168.在步驟530,處理單元110可以執行導航響應模塊408,以基於在步驟520執行的分析和以上結合圖4描述的技術在車輛200中引起一個或多個導航響應。導航響應可以包括例如轉彎、車道轉換、加速度改變等。在一些實施例中,處理單元110可以使用從執行速度和加速度模塊406導出的數據來引起一個或多個導航響應。此外,多個導航響應可以同時、順序或以其任何組合發生。例如,處理單元110可以通過例如順序地向車輛200的轉向系統240和節流系統220傳輸控制信號來使車輛200轉換到一個車道上,然後加速。可替代地,處理單元110可以通過例如同時向車輛200的制動系統230和轉向系統240傳輸控制信號來使車輛200在轉換車道的同時制動。
169.圖5b是示出了與公開的實施例一致的、用於檢測圖像的集合中的一個或多個車輛和/行人的示例性過程500b的流程圖。處理單元110可以執行單目圖像分析模塊402以實現過程500b。在步驟540,處理單元110可以確定表示可能的車輛和/或行人的候選對象的集合。例如,處理單元110可以掃描一個或多個圖像,將圖像與一個或多個預定模式(pattern)進行比較,並在每個圖像內識別可能包含感興趣的對象(例如,車輛、行人或其部分)的可能位置。可以以這樣的方式設計預定模式以實現高「誤命中」率和低「未命中」率。例如,處理單元110可以使用與預定模式的相似度的低閾值來將候選對象識別為可能的車輛或行人。這樣做可以允許處理單元110降低未命中(例如,未識別)表示車輛或行人的候選對象的概率。
170.在步驟542,處理單元110可以基於分類準則來過濾候選對象的集合以排除一定候選(例如,不相關或不太相關的對象)。這樣的準則可以從與存儲在資料庫(例如,存儲在存
儲器140中的資料庫)中的對象類型相關聯的各種屬性中導出。屬性可以包括對象形狀、尺寸、紋理、定位(例如,相對於車輛200)等。因此,處理單元110可以使用準則的一個或多個集合來拒絕來自候選對象的集合的錯誤候選。
171.在步驟544,處理單元110可以分析圖像的多個幀以確定候選對象的集合中的對象是否表示車輛和/或行人。例如,處理單元110可以跨連續幀追蹤檢測的候選對象並累積與檢測的對象相關聯的逐幀數據(例如,相對於車輛200的定位、大小等)。此外,處理單元110可以估計檢測的對象的參數並將對象的逐幀定位數據與預測定位進行比較。
172.在步驟546,處理單元110可以為檢測的對象構建測量的集合。這樣的測量可以包括例如與檢測的對象相關聯的定位、速度和加速度值(相對於車輛200)。在一些實施例中,處理單元110可以基於使用一系列基於時間的觀察的估計技術(諸如卡爾曼濾波器或線性二次估計(lqe))和/或基於用於不同對象類型(例如,小汽車、卡車、行人、自行車、道路標誌等)的可用建模數據來構建測量。卡爾曼濾波器可以基於對對象標度(scale)的測量,其中標度測量與到碰撞的時間(例如,車輛200到達對象的時間量)成比例。因此,通過執行步驟540-546,處理單元110可以識別出現在捕獲的圖像的集合內的車輛和行人,並導出與車輛和行人相關聯的信息(例如,定位、速率、大小)。如以上結合圖5a所描述的,基於識別和導出的信息,處理單元110可以在車輛200中引起一個或多個導航響應。
173.在步驟548,處理單元110可以對一個或多個圖像執行光流分析,以降低檢測「誤命中」和未命中表示車輛或行人的候選對象的概率。光流分析可以指代例如分析與其他車輛或行人相關聯的、相對於一個或多個圖像中的車輛200的運動模式,該運動模式與道路表面運動不同。處理單元110可以通過跨多個圖像幀觀察對象的不同定位來計算候選對象的運動,所述多個圖像幀在不同的時間處被捕獲。處理單元110可以使用定位和時間值作為數學模型的輸入,以用於計算候選對象的運動。因此,光流分析可以提供檢測車輛200附近的車輛和行人的另一種方法。處理單元110可以結合步驟540-546執行光流分析以提供用於檢測車輛和行人的冗餘並增加系統100的可靠性。
174.圖5c是示出了與公開的實施例一致的、用於檢測圖像的集合中的道路標記和/或車道幾何結構信息的示例性過程500c的流程圖。處理單元110可以執行單目圖像分析模塊402以實現過程500c。在步驟550,處理單元110可以通過掃描一個或多個圖像來檢測對象的集合。為了檢測車道標記的段(segment)、車道幾何結構信息和其他相關道路標記,處理單元110可以過濾對象的集合以排除被確定為不相關的那些對象(例如,小坑窪、小巖石等)。在步驟552,處理單元110可以將在步驟550中檢測的、屬於相同道路標記或車道標記的段分組在一起。基於分組,處理單元110可以開發模型來表示檢測的段,諸如數學模型的模型。
175.在步驟554,處理單元110可以構建與檢測的段相關聯的測量的集合。在一些實施例中,處理單元110可以創建檢測的段從圖像平面到真實世界平面的投影。可以使用具有對應於物理屬性(諸如檢測的道路的定位、坡度、曲率和曲率導數)的係數的3次多項式來表徵投影。在生成投影時,處理單元110可以考慮道路表面的改變,以及與車輛200相關聯的俯仰和滾轉率。此外,處理單元110可以通過分析道路表面上存在的定位和運動提示來對道路高度(elevation)進行建模。此外,處理單元110可以通過追蹤一個或多個圖像中的特徵點的集合來估計與車輛200相關聯的俯仰和滾轉率。
176.在步驟556,處理單元110可以通過例如跨連續圖像幀追蹤檢測的段並累積與檢測
的段相關聯的逐幀數據來執行多幀分析。隨著處理單元110執行多幀分析,在步驟554構建的測量的集合可能變得更加可靠並且與越來越高的置信水平相關聯。因此,通過執行步驟550、552、554和556,處理單元110可以識別出現在捕獲的圖像的集合內的道路標記並且導出車道幾何結構信息。如以上結合圖5a所描述的,基於識別和導出的信息,處理單元110可以在車輛200中引起一個或多個導航響應。
177.在步驟558,處理單元110可以考慮另外的信息源以進一步開發在車輛200周圍的情境中的車輛200的安全模型。處理單元110可以使用安全模型來定義系統100可以以安全方式執行車輛200的自主控制的情境。為了開發安全模型,在一些實施例中,處理單元110可以考慮其他車輛的定位和運動、檢測的道路邊緣和障礙、和/或從地圖數據(諸如來自地圖資料庫160的數據)中提取的一般道路形狀描述。通過考慮另外的信息源,處理單元110可以為檢測道路標記和車道幾何結構提供冗餘並增加系統100的可靠性。
178.圖5d是示出了與公開的實施例一致的、用於檢測圖像的集合中的交通燈的示例性過程500d的流程圖。處理單元110可以執行單目圖像分析模塊402以實現過程500d。在步驟560,處理單元110可以掃描圖像的集合併識別出現在圖像中可能包含交通燈的位置處的對象。例如,處理單元110可以過濾識別的對象以構建候選對象的集合,從而排除不太可能對應於交通燈的那些對象。過濾可以基於與交通燈相關聯的各種屬性(諸如形狀、尺寸、紋理、定位(例如,相對於車輛200)等)來進行。這樣的屬性可以基於交通燈和交通控制信號的多個示例並被存儲在資料庫中。在一些實施例中,處理單元110可以對反映可能的交通燈的候選對象的集合執行多幀分析。例如,處理單元110可以跨連續圖像幀追蹤候選對象,估計候選對象的真實世界定位,並過濾掉正在移動的那些對象(其不太可能是交通燈)。在一些實施例中,處理單元110可以對候選對象執行顏色分析,並且識別出現在可能的交通燈內部的檢測的顏色的相關定位。
179.在步驟562,處理單元110可以分析岔道口(junction)的幾何結構。該分析可以基於以下各項的任何組合:(i)在車輛200的任一側面檢測的車道數量,(ii)在道路上檢測的標記(例如箭頭標記),以及(iii)從地圖數據(諸如來自地圖資料庫160的數據)提取的岔道口的描述。處理單元110可以使用從執行單目分析模塊402中導出的信息來實行分析。此外,處理單元110可以確定在步驟560檢測的交通燈和出現在車輛200附近的車道之間的對應性。
180.隨著車輛200接近岔道口,在步驟564,處理單元110可以更新與分析的岔道口幾何結構和檢測的交通燈相關聯的置信水平。例如,與實際出現在岔道口處的數量相比,被估計為出現在岔道口處的交通燈的數量可能影響置信水平。因此,基於置信水平,處理單元110可以將控制委派(delegate)給車輛200的駕駛員以便改進安全狀況。通過執行步驟560、562和564,處理單元110可以識別出現在捕獲的圖像的集合內的交通燈並且分析岔道口幾何結構信息。如以上結合圖5a所描述的,基於識別和分析,處理單元110可以在車輛200中引起一個或多個導航響應。
181.圖5e是示出了與公開的實施例一致的、用於基於車輛路徑在車輛200中引起一個或多個導航響應的示例性過程500e的流程圖。在步驟570,處理單元110可以構建與車輛200相關聯的初始車輛路徑。可以使用以坐標(x,z)表達的點的集合來表示車輛路徑,並且點的集合中的兩個點之間的距離di可能落在1米到5米的範圍中。在一個實施例中,處理單元110
可以使用諸如左右道路多項式的兩個多項式來構建初始車輛路徑。處理單元110可以計算兩個多項式之間的幾何結構中點,並且如果有的話,將所得到的車輛路徑中包括的每個點偏移了預定的偏移(例如,智能車道偏移)(零偏移可以對應於行駛在車道中間)。偏移可以在垂直於車輛路徑中任意兩點之間的段的方向上。在另一個實施例中,處理單元110可以使用一個多項式和估計的車道寬度以使車輛路徑的每個點偏移了半個估計的車道寬度加上預定偏移(例如,智能車道偏移)。
182.在步驟572,處理單元110可以更新在步驟570構建的車輛路徑。處理單元110可以使用更高解析度重建在步驟570構建的車輛路徑,使得表示車輛路徑的點的集合中的兩個點之間的距離dk小於上述距離di。例如,距離dk可能落在0.1米到0.3米的範圍中。處理單元110可以使用拋物線樣條算法重建車輛路徑,該算法可以產出與車輛路徑(即,基於表示車輛路徑的點的集合)的總長度對應的累積距離向量s。
183.在步驟574,處理單元110可以基於在步驟572構建的更新的車輛路徑來確定前瞻(look-ahead)點(以坐標(x
l
,z
l
)表達)。處理單元110可以從累積距離向量s提取前瞻點,並且前瞻點可以與前瞻距離和前瞻時間相關聯。可以具有範圍從10米到20米的下限的前瞻距離可以被計算為車輛200的速率和前瞻時間的乘積。例如,隨著車輛200的速率減小,前瞻距離也可能減小(例如,直到它達到下限)。範圍可以從0.5秒到1.5秒的前瞻時間可以與和在車輛200中引起導航響應相關聯的一個或多個控制迴路(諸如走向誤差追蹤控制迴路)的增益成反比例。例如,走向誤差追蹤控制迴路的增益可能取決於小汽車橫向動力學、轉向致動器迴路、偏航率迴路的帶寬等。因此,走向誤差追蹤控制迴路的增益越高,前瞻時間越短。
184.在步驟576,處理單元110可以基於在步驟574確定的前瞻點來確定走向誤差和偏航率命令。處理單元110可以通過計算前瞻點的反正切(例如arctan(x
l
/z
l
))來確定走向誤差。處理單元110可以將偏航率命令確定為走向誤差和高水平控制增益的乘積。如果前瞻距離不處於下限處,則高水平控制增益可以等於:(2/前瞻時間)。否則,高水平控制增益可能等於:(2*車輛200的速率/前瞻距離)。
185.圖5f是示出了與公開的實施例一致的、用於確定居前車輛是否正在改變車道的示例性過程500f的流程圖。在步驟580,處理單元110可以確定與居前車輛(例如,在車輛200前面行駛的車輛)相關聯的導航信息。例如,處理單元110可以使用以上結合圖5a和圖5b描述的技術來確定居前車輛的定位、速度(例如,方向和速率)和/或加速度。處理單元110還可以使用以上結合圖5e描述的技術來確定一個或多個道路多項式、前瞻點(與車輛200相關聯)和/或蝸牛蹤跡(snail trail)(例如,描述居前車輛採取的路徑的點的集合)。
186.在步驟582,處理單元110可以分析在步驟580確定的導航信息。在一個實施例中,處理單元110可以計算蝸牛蹤跡和道路多項式之間的距離(例如,沿著蹤跡)。如果這個距離沿蹤跡的變度(variance)超過了預定的閾值(例如,徑直道路上的0.1米到0.2米,中度彎曲道路上的0.3米到0.4米,以及具有急彎的道路上的0.5米到0.6米),則處理單元110可以確定居前車輛可能正在改變車道。在檢測了在車輛200前面行駛的多個車輛的情況下,處理單元110可以比較與每個車輛相關聯的蝸牛蹤跡。基於該比較,處理單元110可以確定蝸牛蹤跡與其他車輛的蝸牛蹤跡不匹配的車輛可能正在改變車道。處理單元110可以另外將蝸牛蹤跡的曲率(與居前車輛相關聯)與居前車輛正在行駛的道路段的預期曲率進行比較。可以從地圖數據(例如,來自地圖資料庫160的數據)、從道路多項式、從其他車輛的蝸牛蹤跡、從
關於道路的先驗知識等中提取預期曲率。如果蝸牛蹤跡的曲率和道路段的預期曲率的差異超過預定閾值,則處理單元110可以確定居前車輛可能正在改變車道。
187.在另一個實施例中,處理單元110可以在特定時間段(例如,0.5秒到1.5秒)內將居前車輛的瞬時定位與前瞻點(與車輛200相關聯)進行比較。如果居前車輛的瞬時定位與前瞻點之間的距離在特定時間段期間變化,並且變化的累積總和超過預定閾值(例如,徑直道路上的0.3米到0.4米,中度彎曲道路上的0.7米到0.8米,以及具有急彎的道路上的1.3米到1.7米),則處理單元110可以確定居前車輛可能正在改變車道。在另一個實施例中,處理單元110可以通過將沿著蹤跡行駛的橫向距離與蝸牛蹤跡的預期曲率進行比較來分析蝸牛蹤跡的幾何結構。預期曲率半徑可以根據以下計算來確定:(δ
z2

x2
)/2/(δ
x
),其中,δ
x
表示行駛的橫向距離,δz表示行駛的縱向距離。如果行駛的橫向距離與預期曲率之間的差異超過預定閾值(例如,500米到700米),則處理單元110可以確定居前車輛可能正在改變車道。在另一個實施例中,處理單元110可以分析居前車輛的定位。如果居前車輛的定位遮擋了道路多項式(例如,居前車輛疊加在道路多項式的頂部上),則處理單元110可以確定居前車輛可能正在改變車道。在居前車輛的定位使得在居前車輛前面檢測到另一個車輛並且兩個車輛的蝸牛蹤跡不平行的情況下,處理單元110可以確定(更近的)居前車輛可能正在改變車道。
188.在步驟584,處理單元110可以基於在步驟582執行的分析來確定居前車輛200是否正在改變車道。例如,處理單元110可以基於在步驟582執行的單獨分析的加權平均來做出確定。在這樣的方案下,例如,處理單元110基於特定類型的分析而對居前車輛可能正在改變車道的決定可以被指派為「1」的值(並且「0」表示對居前車輛不太可能改變車道的確定)。在步驟582執行的不同分析可以被指派不同的權重,並且公開的實施例不限於分析和權重的任何特定組合。
189.圖6是示出了與公開的實施例一致的、用於基於立體圖像分析引起一個或多個導航響應的示例性過程600的流程圖。在步驟610,處理單元110可以經由數據接口128接收第一多個圖像和第二多個圖像。例如,包括在圖像獲取單元120中的相機(諸如具有視場202和204的圖像捕獲設備122和124)可以捕獲車輛200前方區域的第一多個圖像和第二多個圖像,並通過數字連接(例如,usb、無線、藍牙等)向處理單元110傳輸它們。在一些實施例中,處理單元110可以經由兩個或更多個數據接口接收第一多個圖像和第二多個圖像。公開的實施例不限於任何特定的數據接口配置或協議。
190.在步驟620,處理單元110可以執行立體圖像分析模塊404以執行第一多個圖像和第二多個圖像的立體圖像分析,以創建車輛前面的道路的3d地圖並檢測圖像內的特徵,諸如車道標記、車輛、行人、道路標誌、高速公路出口匝道、交通燈、道路危險等。立體圖像分析可以以與以上結合圖5a-圖5d描述的步驟類似的方式執行。例如,處理單元110可以執行立體圖像分析模塊404以檢測第一多個圖像和第二多個圖像內的候選對象(例如,車輛、行人、道路標記、交通燈、道路危險等),基於各種準則過濾掉的候選對象的子集,並執行多幀分析,構建測量,並確定剩餘候選對象的置信水平。在執行以上步驟時,處理單元110可以考慮來自第一多個圖像和第二多個圖像二者的信息,而不是僅僅來自一個圖像集合的信息。例如,處理單元110可以分析出現在第一多個圖像和第二多個圖像二者中的候選對象的像素水平的數據(或來自捕獲的圖像的兩個流當中的其他數據子集)的差異。作為另一個示例,處理單元110可以通過觀察對象在多個圖像中的一個圖像出現而在另一個圖像中沒有出
現、或者相對於可能相對於出現在兩個圖像流中的對象存在的其他差異,來估計候選對象(例如,相對於車輛200)的定位和/或速度。例如,相對於車輛200的定位、速度和/或加速度可以基於與出現在圖像流中的一個或兩者中的對象相關聯的特徵的軌跡、定位、移動特性等來確定。
191.在步驟630,處理單元110可以執行導航響應模塊408,以基於在步驟620執行的分析和以上結合圖4描述的技術在車輛200中引起一個或多個導航響應。導航響應可以包括例如轉彎、車道轉換、加速度改變、速度改變、制動等。在一些實施例中,處理單元110可以使用從執行速度和加速度模塊406導出的數據來引起一個或多個導航響應。此外,多個導航響應可以同時、順序或以其任何組合發生。
192.圖7是示出了與公開的實施例一致的、用於基於對三個圖像集合的分析引起一個或多個導航響應的示例性過程700的流程圖。在步驟710,處理單元110可以經由數據接口128接收第一多個圖像、第二多個圖像和第三多個圖像。例如,包括在圖像獲取單元120中的相機(諸如具有視場202、204和206的圖像捕獲設備122、124和126)可以捕獲車輛200前方和/或側面區域的第一多個圖像、第二多個圖像和第三多個圖像,並通過數字連接(例如,usb、無線、藍牙等)向處理單元110傳輸它們。在一些實施例中,處理單元110可以經由三個或更多數據接口接收第一多個圖像、第二多個圖像和第三多個圖像。例如,圖像捕獲設備122、124、126中的每個圖像捕獲設備可以具有用於將數據通信給處理單元110的相關聯的數據接口。公開的實施例不限於任何特定的數據接口配置或協議。
193.在步驟720,處理單元110可以分析第一多個圖像、第二多個圖像和第三多個圖像以檢測圖像內的特徵,諸如車道標記、車輛、行人、道路標記、高速公路出口匝道、交通燈、道路危險等。可以按照與以上結合圖5a-圖5d和圖6描述的步驟類似的方式執行分析。例如,處理單元110可以對第一多個圖像、第二多個圖像和第三多個圖像中的每個執行單目圖像分析(例如,經由執行單目圖像分析模塊402以及基於以上結合圖5a-圖5d描述的步驟)。可替代地,處理單元110可以對第一多個圖像和第二多個圖像、第二多個圖像和第三多個圖像、和/或第一多個圖像和第三多個圖像執行立體圖像分析(例如,經由執行立體圖像分析模塊404以及基於以上結合圖6描述的步驟)。可以組合與第一多個圖像、第二多個圖像和/或第三多個圖像的分析對應的經處理的信息。在一些實施例中,處理單元110可以執行單目圖像分析和立體圖像分析的組合。例如,處理單元110可以對第一多個圖像執行單目圖像分析(例如,經由執行單目圖像分析模塊402)並且對第二多個圖像和第三多個圖像執行立體圖像分析(例如,經由執行立體圖像分析模塊404)。圖像捕獲設備122、124和126的配置(包括它們相應的位置和視場202、204和206)可以影響對第一多個圖像、第二多個圖像和第三多個圖像實行的分析的類型。公開的實施例不限於圖像捕獲設備122、124和126的特定配置,或對第一多個圖像、第二多個圖像和第三多個圖像實行的分析的類型。
194.在一些實施例中,處理單元110可以基於在步驟710和720獲取和分析的圖像來對系統100執行測試。這樣的測試可以為圖像捕獲設備122、124和126的一定配置提供系統100的整體性能的指示符。例如,處理單元110可以確定「誤命中」(例如,系統100錯誤地確定存在車輛或行人的情況)和「未命中」的比例。
195.在步驟730,處理單元110可以基於從第一多個圖像、第二多個圖像和第三多個圖像中的兩者導出的信息在車輛200中引起一個或多個導航響應。第一多個圖像、第二多個圖
像和第三多個圖像中的兩者的選擇可以取決於各種因素,例如像在多個圖像中的每個圖像中檢測到的對象的數量、類型和大小。處理單元110還可以基於圖像質量和解析度、圖像中反映的有效視場、捕獲的幀的數量、一個或多個感興趣的對象實際出現在幀中的程度(例如,對象出現的幀的百分比、在每個這樣的幀中出現的對象的比例等)等來做出選擇。
196.在一些實施例中,處理單元110可以通過確定從一個圖像源導出的信息與從其他圖像源導出的信息一致的程度來選擇從第一多個圖像、第二多個圖像和第三多個圖像中的兩者導出的信息。例如,處理單元110可以組合從圖像捕獲設備122、124和126中的每個導出的經處理的信息(無論是通過單目分析、立體分析、還是兩者的任何組合),並確定跨從圖像捕獲設備122、124和126中的每個捕獲的圖像是一致的視覺指示符(例如,車道標記、檢測的車輛及其位置和/或路徑、檢測的交通燈等)。處理單元110還可以排除跨捕獲的圖像是不一致的信息(例如,改變車道的車輛、指示車輛太靠近車輛200的車道模型等)。因此,處理單元110可以基於對一致和不一致信息的確定來選擇從第一多個圖像、第二多個圖像和第三多個圖像中的兩者導出的信息。
197.導航響應可以包括例如轉彎、車道轉換、加速度改變等。處理單元110可以基於在步驟720執行的分析和以上結合圖4描述的技術來引起一個或多個導航響應。處理單元110還可以使用從執行速度和加速度模塊406導出的數據來引起一個或多個導航響應。在一些實施例中,處理單元110可以基於車輛200與在第一多個圖像、第二多個圖像和第三多個圖像中的任何圖像內檢測到的對象之間的相對定位、相對速度和/或相對加速度來引起一個或多個導航響應。多個導航響應可以同時、順序或以其任何組合發生。
198.自主車輛導航的稀疏道路模型
199.在一些實施例中,公開的系統和方法可以使用用於自主車輛導航的稀疏地圖。特別地,稀疏地圖可以用於沿道路段的自主車輛導航。例如,稀疏地圖可以提供足夠的信息以供導航自主車輛,而無需存儲和/或更新大量數據。如下文進一步詳細討論的,自主車輛可以使用稀疏地圖以基於一個或多個存儲的軌跡來導航一個或多個道路。
200.用於自主車輛導航的稀疏地圖
201.在一些實施例中,公開的系統和方法可以生成用於自主車輛導航的稀疏地圖。例如,稀疏地圖可以為導航提供足夠的信息,而不要求過多的數據存儲或數據傳送速率。如下文進一步詳細討論的,車輛(可以是自主車輛)可以使用稀疏地圖來導航一個或多個道路。例如,在一些實施例中,稀疏地圖可以包括與道路和沿道路的潛在地標相關的數據,該數據可能足以用於車輛導航,而且還展現出小的數據佔位(footprint)。例如,與包括詳細地圖信息(諸如沿道路收集的圖像數據)的數字地圖相比,下文詳細描述的稀疏數據地圖可能要求顯著更少的存儲空間和數據傳送帶寬。
202.例如,稀疏數據地圖可以存儲沿道路的優選車輛路徑的三維多項式表示,而不是存儲道路段的詳細表示。這些路徑可能要求非常少的數據存儲空間。此外,在所描述的稀疏數據地圖中,地標可以被識別並被包括在稀疏地圖道路模型中以幫助導航。這些地標可以位於適合於實現車輛導航的任何間隔處,但在某些情況下,這樣的地標不需要以高密度和短間隔被識別並被包括在模型中。更確切地,在某些情況下,基於間隔開至少50米、至少100米、至少500米、至少1公裡或至少2公裡的地標進行導航是可能的。如將在其他部分中更詳細討論的,可以基於配備有各種傳感器和設備(諸如圖像捕獲設備、全球定位系統傳感器、
運動傳感器等)的車輛在車輛沿道路行駛時收集或測量的數據來生成稀疏地圖。在一些情況下,可以基於在一個或多個車輛沿著特定道路的多個駕駛期間收集的數據來生成稀疏地圖。使用一個或多個車輛的多個駕駛生成稀疏地圖可以稱為「眾包」稀疏地圖。
203.與公開的實施例一致,自主車輛系統可以使用用於導航的稀疏地圖。例如,公開的系統和方法可以分發用於為自主車輛生成道路導航模型的稀疏地圖,並且可以使用稀疏地圖和/或生成的道路導航模型沿道路段導航自主車輛。與本公開一致的稀疏地圖可以包括可以表示自主車輛在它們沿著相關聯的道路段移動時可以穿越的預定軌跡的一個或多個三維輪廓(contour)。
204.與本公開一致的稀疏地圖還可以包括表示一個或多個道路特徵的數據。這樣的道路特徵可以包括辨識的地標、道路籤名簡檔以及在車輛導航中有用的任何其他與道路相關的特徵。與本公開一致的稀疏地圖可以基於包括在稀疏地圖中的相對少量的數據來使得能夠進行車輛的自主導航。例如,不是包括道路的詳細表示(諸如道路邊緣、道路曲率、與道路段相關聯的圖像、或詳述與道路段相關聯的其他物理特徵的數據),而是稀疏地圖的公開的實施例可能要求相對少的存儲空間(並且當稀疏地圖的部分傳送到車輛時,帶寬相對較小),但仍可能充分地提供自主車輛導航。在一些實施例中,可以通過存儲要求少量數據但仍能夠實現自主導航的與道路相關的元素的表示,來實現下文進一步詳細討論的公開的稀疏地圖的小數據佔位。
205.例如,公開的稀疏地圖可以存儲車輛可能沿道路遵循的一個或多個軌跡的多項式表示,而不是存儲道路的各個方面的詳細表示。因此,不是存儲(或必須傳送)關於道路的物理性質的細節以使得能夠進行沿道路的導航,而是使用公開的稀疏地圖,車輛可以沿特定道路段導航,在某些情況下,無需解釋道路的物理方面,反而通過將其行駛路徑與沿特定道路段的軌跡(例如,多項式樣條)對準。以此方式,車輛可以主要基於存儲的軌跡(例如,多項式樣條)來導航,存儲的軌跡可能要求比涉及存儲道路圖像、道路參數、道路布局等的方法少得多的存儲空間。
206.除了存儲的沿道路段的軌跡的多項式表示之外,公開的稀疏地圖還可以包括可以表示道路特徵的小數據對象。在一些實施例中,小數據對象可以包括數字籤名,數字籤名從由沿道路段行駛的車輛車載的傳感器(例如,相機或其他傳感器,諸如懸架傳感器)獲得的數字圖像(或數位訊號)導出的。相對於由傳感器獲取的信號,數字籤名可以具有減小的大小。在一些實施例中,可以創建數字籤名以與分類器功能兼容,分類器功能被配置為例如在隨後的駕駛期間從傳感器獲取的信號中檢測和識別道路特徵。在一些實施例中,可以創建數字籤名,使得數字籤名具有儘可能小的佔位,同時保留基於在隨後時間處由沿相同道路段行駛的車輛車載的相機捕獲的、道路特徵的圖像(或者由傳感器生成的數位訊號,如果存儲的籤名不是基於圖像和/或包括其他數據)來將道路特徵與存儲的籤名進行相關或匹配的能力。
207.在一些實施例中,數據對象的大小還可以與道路特徵的唯一性相關聯。例如,對於可由車輛車載的相機檢測的道路特徵,並且其中車輛車載的相機系統耦合到分類器,該分類器能夠將對應於該道路特徵的圖像數據區分為與例如道路標誌的特定類型的道路特徵相關聯,並且其中這樣的道路標誌在該區域中是本地唯一的(例如,附近沒有相同的道路標誌或相同類型的道路標誌),則存儲指示道路特徵的類型及其位置的數據可能是足夠的。
208.如下文將進一步詳細討論的,道路特徵(例如,沿道路段的地標)可以存儲為小數據對象,小數據對象可以以相對較少的字節表示道路特徵,同時提供用於辨識和使用用於導航的這樣的特徵的足夠的信息。在一個示例中,可以將道路標誌識別為車輛導航可以基於的、辨識的地標。可以將道路標誌的表示存儲在稀疏地圖中以包括例如指示地標類型(例如,停止標誌)的幾個字節的數據以及指示地標的位置(例如,坐標)的幾個字節的數據。基於地標的這樣的輕數據(data-light)表示進行導航(例如,使用足以基於地標進行定位、辨識和導航的表示)可以提供與稀疏地圖相關聯的期望水平的導航功能,而無需顯著增加與稀疏地圖相關聯的數據開銷。地標(和其他道路特徵)的這種精簡表示可以利用這樣的車輛車載地包括的、被配置為檢測、識別和/或分類某些道路特徵的傳感器和處理器。
209.例如,當標誌或甚至特定類型的標誌在給定區域中是本地唯一的(例如,當沒有其他標誌或沒有相同類型的其他標誌時),稀疏地圖可以使用指示地標的類型(標誌或特定類型的標誌)的數據,並且在導航(例如,自主導航)期間,當自主車輛車載的相機捕獲包括標誌(或特定類型的標誌)的區域的圖像時,處理器可以處理圖像、檢測標誌(如果確實存在於圖像中)、將圖像分類為標誌(或分類為特定類型的標誌)、並將圖像的位置與存儲在稀疏地圖中的標誌的位置進行相關。
210.稀疏地圖可以包括沿道路段識別的對象的任何合適表示。在某些情況下,對象可以被稱為語義對象或非語義對象。語義對象可以包括例如與預定類型分類相關聯的對象。這種類型分類可以在減少描述在環境中辨識的語義對象所要求的數據量中有用,這在收穫(harvest)階段(例如,減少與用於從多個收穫車輛到伺服器傳送駕駛信息的帶寬相關聯的成本)以及在導航階段期間(例如,減少地圖數據可以加速地圖瓦片(tile)從伺服器到導航車輛的傳送,並且還能夠減少與用於這樣的傳送的帶寬相關的成本)二者可以是有益的。可以將語義對象分類類型指派給預期沿道路遇到的任何類型的對象或特徵。
211.語義對象還可以劃分為兩個或更多個邏輯分組。例如,在一些情況下,一個分組的語義對象類型可以與預定尺寸相關聯。這樣的語義對象可以包括某些速率限制標誌、讓行標誌、合併標誌、停止標誌、交通燈、道路上的方向箭頭、井蓋、或可能與標準化大小相關聯的任何其他類型的對象。這樣的語義對象供應的一個好處是可能需要很少的數據來表示/完全定義對象。例如,如果速率限制大小的標準化大小已知,那麼收穫車輛可能只需要識別(通過對捕獲的圖像的分析)速率限制標誌(辨識的類型)的存在連同對檢測的速率限制標誌的定位(例如,標誌的中心或標誌的某一拐角的、捕獲的圖像中的2d定位(或者可替代地,真實世界坐標中的3d定位))的指示,來針對伺服器側的地圖生成提供足夠的信息。在將2d圖像定位傳輸給伺服器的情況下,也可以傳輸與檢測到標誌的捕獲的圖像相關聯的定位,因此伺服器可以確定標誌的真實世界定位(例如,通過使用來自一個或多個收穫車輛的多個捕獲的圖像的運動中的結構技術)。即使使用該有限的信息(只要求幾個字節來定義每個檢測的對象),伺服器也可以基於從一個或多個收穫車輛接收的類型分類(表示速率限制標誌)連同針對檢測的標誌的定位信息來構建包括完全表示的速率限制標誌的地圖。
212.語義對象還可以包括與某些標準化特性不相關聯的其他辨識的對象或特徵類型。這樣的對象或特徵可以包括坑窪、瀝青縫、燈杆、非標準化標誌、路緣、樹木、樹枝或具有一個或多個可變特性(例如,可變尺寸)的任何其他類型的辨識的對象類型。在這樣的情況下,除了向伺服器傳輸對檢測的對象或特徵類型(例如,坑洞、杆等)的指示和針對檢測的對象
或特徵的定位信息之外,收穫車輛還可以傳輸對對象或特徵的大小的指示。大小可以以2d圖像尺寸(例如,用邊界框或一個或多個尺寸值)或真實世界尺寸(基於lidar或radar(雷達)系統輸出、基於經訓練的神經網絡輸出等、通過運動中的結構計算來確定)表達。
213.非語義對象或特徵可以包括任何可檢測的對象或特徵,該對象或特徵落在辨識的類別或類型之外,但仍然可以在地圖生成中提供有價值的信息。在某些情況下,這樣的非語義特徵可能包括建築物的檢測的拐角或建築物的檢測的窗戶的拐角、道路附近的唯一的石頭或對象、道路路肩中的混凝土飛濺物、或任何其他可檢測的對象或特徵。在檢測這樣的對象或特徵時,一個或多個收穫車輛可以向地圖生成伺服器傳輸與檢測的對象/特徵相關聯的一個或多個點(2d圖像點或3d真實世界點)的位置。此外,可以針對包括檢測的對象或特徵的捕獲圖像的區域生成壓縮或簡化的圖像段(例如,圖像散列)。該圖像散列可以基於預定的圖像處理算法來計算,並且可以針對檢測的非語義對象或特徵形成有效籤名。這樣的籤名對於相對於包括非語義特徵或對象的稀疏地圖的導航可能是有用的,因為穿越道路的車輛可以應用與用於生成圖像散列的算法類似的算法,以便確認/校驗繪圖的非語義特徵或對象在捕獲的圖像中的存在。使用這種技術,非語義特徵可以添加到稀疏地圖的豐富性(例如,以增強它們在導航中的有用性),而無需增加顯著的數據開銷。
214.如上所述,目標軌跡可以存儲在稀疏地圖中。這些目標軌跡(例如,3d樣條)可以表示用於道路的每個可用車道、通過岔道口的每個有效路徑、用於合併和出口等的優選或推薦路徑。除了目標軌跡之外,其他道路特徵也可以被檢測、收穫和以代表性樣條的形式結合到稀疏地圖中。這樣的特徵可以包括例如道路邊緣、車道標記、路緣、護欄或沿道路或道路段延伸的任何其他對象或特徵。
215.生成稀疏地圖
216.在一些實施例中,稀疏地圖可以包括沿道路段延伸的道路表面特徵的至少一個線表示以及與該道路段相關聯的多個地標。在某些方面,稀疏地圖可以經由「眾包」來生成,例如,通過對隨著一個或多個車輛穿越道路段而獲取的多個圖像的圖像分析。
217.圖8示出了一個或多個車輛(例如,車輛200(其可以是自主車輛))可以訪問以提供自主車輛導航的稀疏地圖800。稀疏地圖800可以存儲在諸如存儲器140或150的存儲器中。這樣的存儲器設備可以包括任何類型的非暫時性存儲設備或計算機可讀介質。例如,在一些實施例中,存儲器140或150可以包括硬碟驅動器、光碟、快閃記憶體、基於磁的存儲器設備、基於光學的存儲器設備等。在一些實施例中,稀疏地圖800可以存儲在可能存儲在存儲器140或150或其他類型的存儲設備中的資料庫中(例如,地圖資料庫160)。
218.在一些實施例中,稀疏地圖800可以存儲在車輛200車載地提供的存儲設備或非暫時性計算機可讀介質上(例如,車載於車輛200的導航系統中包括的存儲設備)。車輛200上提供的處理器(例如,處理單元110)可以訪問存儲在車輛200車載地提供的存儲設備或計算機可讀介質中的稀疏地圖800,以便生成用於在車輛穿越道路段時引導自主車輛200的導航指令。
219.然而,不需要關於車輛本地存儲稀疏地圖800。在一些實施例中,稀疏地圖800可以存儲在與車輛200或同車輛200相關聯的設備通信的遠程伺服器上提供的存儲設備或計算機可讀介質上。在車輛200上提供的處理器(例如,處理單元110)可以從遠程伺服器接收包括在稀疏地圖800中的數據,並且可以執行用於引導車輛200的自主駕駛的數據。在這樣的
實施例中,遠程伺服器可以存儲所有稀疏地圖800或僅其中一部分。因此,車輛200車載地提供的和/或一個或多個另外的車輛車載地提供的存儲設備或計算機可讀介質可以存儲稀疏地圖800的剩餘部分。
220.此外,在這樣的實施例中,可以使得稀疏地圖800對穿越各種道路段的多個車輛(例如,數十、數百、數千或數百萬的車輛等)可訪問。還應該注意,稀疏地圖800可以包括多個子地圖。例如,在一些實施例中,稀疏地圖800可以包括可以用於導航車輛的、數百、數千、數百萬或更多的子地圖(例如,地圖瓦片)。這樣的子地圖可以被稱為局部地圖或地圖瓦片,並且沿著道路行駛的車輛可以訪問與車輛正在行駛的位置相關的任何數量的局部地圖。稀疏地圖800的局部地圖部分可以與全球導航衛星系統(gnss)密鑰一起存儲作為對稀疏地圖800的資料庫的索引。因此,雖然在本系統中用於導航主車輛的轉向角的計算可以是在不依賴於主車輛的gnss定位、道路特徵或地標的情況下執行,但這樣的gnss信息可以用於檢索相關的局部地圖。
221.通常,稀疏地圖800可以基於在一個或多個車輛沿道路行駛時從一個或多個車輛收集的數據(例如,駕駛信息)生成。例如,使用一個或多個車輛上的傳感器(例如,相機、速率計、gps、加速度計等),可以記錄一個或多個車輛沿道路行駛的軌跡,以及可以基於一個或多個車輛行駛的、收集的軌跡來確定用於沿道路進行後續行程的車輛的優選軌跡的多項式表示。類似地,由一個或多個車輛收集的數據可以幫助識別沿特定道路的潛在地標。從穿越的車輛收集的數據也可以用於識別道路簡檔信息,諸如道路寬度簡檔、道路粗糙度簡檔、交通線間隔簡檔、道路狀況等。使用收集的信息,可以生成和分發(例如,用於本地存儲或經由即時(on-the-fly)數據傳輸)稀疏地圖800,以用於導航一個或多個自主車輛。然而,在一些實施例中,地圖生成可能不在地圖的初始生成時結束。如下文將更詳細討論的,可以隨著這些車輛持續穿越稀疏地圖800中包括的道路,基於從車輛收集的數據持續或周期性更新稀疏地圖800。
222.稀疏地圖800中記錄的數據可以包括基於全球定位系統(gps)數據的定位信息。例如,在稀疏地圖800中針對各種地圖元素可以包括位置信息,包括例如地標位置、道路簡檔位置等。可以使用從穿越道路的車輛收集的gps數據來獲得稀疏地圖800中包括的針對地圖元素的位置。例如,經過識別的地標的車輛可以使用與車輛相關聯的gps定位信息以及對識別的地標相對於車輛的位置的確定(例如,基於對從車輛車載的一個或多個相機收集的數據的圖像分析)來確定識別的地標的位置。當另外的車輛經過識別的地標的位置時,可以重複對識別的地標(或稀疏地圖800中包括的任何其他特徵)的這樣的位置確定。一些或所有另外的位置確定可以用於細化存儲在稀疏地圖800中的、相對於識別的地標的位置信息。例如,在一些實施例中,相對於存儲在稀疏地圖800中的特定特徵的多個定位測量可以一起被平均。然而,任何其他數學運算也可以用於基於針對地圖元素的多個確定的位置來細化地圖元素的存儲的位置。
223.在特定示例中,收穫車輛可以穿越特定道路段。每個收穫車輛捕獲其相應環境的圖像。可以以任何合適的幀捕獲速率(例如,9hz等)收集圖像。每個收穫車輛上的圖像分析處理器分析捕獲的圖像以檢測語義和/或非語義特徵/對象的存在。在高水平處,收穫車輛向繪圖伺服器傳輸對語義和/或非語義對象/特徵的檢測的指示連同與這些對象/特徵相關聯的定位。更詳細地,類型指示符、尺寸指示符等可以與定位信息一起傳輸。定位信息可以
包括用於使繪圖伺服器能夠將檢測的對象/特徵聚合成在導航中有用的稀疏地圖的任何合適的信息。在一些情況下,定位信息可以包括檢測到語義或非語義特徵/對象的捕獲的圖像中的一個或多個2d圖像定位(例如,x-y像素位置)。這樣的圖像定位可能對應於拐角、特徵/對象的中心等。在這種情景下,為了幫助繪圖伺服器重建駕駛信息並對準來自多個收穫車輛的駕駛信息,每個收穫車輛還可以向伺服器提供其中捕獲每個圖像的位置(例如,gps位置)。
224.在其他情況下,收穫車輛可以向伺服器提供與檢測的對象/特徵相關聯的一個或多個3d真實世界點。這樣的3d點可以是相對於預定原點的(諸如駕駛段的原點),並且可以通過任何合適的技術來確定。在某些情況下,運動中的結構技術可以用於確定檢測的對象/特徵的3d真實世界定位。例如,可以在兩個或更多捕獲的圖像中檢測諸如特定速率限制標誌的一定對象。在捕獲的圖像之間使用諸如收穫車輛的已知自我運動(速率、軌跡、gps定位等)的信息連同在捕獲的圖像中的速率限制標誌的觀測的改變(x-y像素位置的改變、大小的改變等),與速率限制標誌相關聯的一個或多個點的真實世界定位可以被確定並被傳遞給繪圖伺服器。這樣的方法是可選的,因為它要求收穫車輛系統的部分上的更多計算。公開的實施例的稀疏地圖可以使用相對少量的存儲的數據使得能夠進行車輛的自主導航。在一些實施例中,稀疏地圖800可以具有每公裡道路小於2mb、每公裡道路小於1mb、每公裡道路小於500kb、或每公裡道路小於100kb的數據密度(例如,包括表示目標軌跡、地標和任何其他存儲的道路特徵的數據)。在一些實施例中,稀疏地圖800的數據密度可以小於每公裡道路10kb或者甚至小於每公裡道路2kb(例如,每公裡1.6kb),或者每公裡道路不多於10kb、或每公裡道路不多於20kb。在一些實施例中,美國的大多數(如果不是全部)道路可以使用具有總共4gb或更少數據的稀疏地圖來自主導航。這些數據密度值可以表示整個稀疏地圖800上、稀疏地圖800內的局部地圖上和/或稀疏地圖800內的特定道路段上的平均值。
225.如所指出的,稀疏地圖800可以包括用於引導自主駕駛或沿著道路段的導航的多個目標軌跡810的表示。這樣的目標軌跡可以存儲為三維樣條。例如,存儲在稀疏地圖800中的目標軌跡可以基於車輛沿特定道路段的先前穿越的兩個或更多個重建的軌跡來確定。道路段可以與單個目標軌跡或多個目標軌跡相關聯。例如,在雙車道道路上,可以存儲第一目標軌跡以表示在第一方向沿道路行駛的期望路徑,並且可以存儲第二目標軌跡以表示在另一個方向(例如,與第一方向相反)沿道路行駛的期望路徑。可以關於特定道路段存儲另外的目標軌跡。例如,在多車道道路上,可以存儲表示與多車道道路相關聯的一個或多個車道中的車輛的行駛的期望路徑的一個或多個目標軌跡。在一些實施例中,多車道道路的每個車道可以與其自身的目標軌跡相關聯。在其他實施例中,存儲的目標軌跡可能比多車道道路上存在的車道更少。在這樣的情況下,導航多車道道路的車輛可以使用任何存儲的目標軌跡,通過考慮從存儲目標軌跡的車道的車道偏移量來引導其導航(例如,如果車輛正行駛在三車道高速公路的最左邊車道,並且僅針對高速公路的中間車道存儲了目標軌跡,則車輛可以通過在生成導航指令時考慮中間車道和最左車道之間的車道偏移量,使用中間車道的目標軌跡進行導航)。
226.在一些實施例中,目標軌跡可以表示車輛在車輛行駛時應該採取的理想路徑。例如,目標軌跡可以位於行駛的車道的大致中心處。在其他情況下,目標軌跡可能位於相對於道路段的其他位置。例如,目標軌跡可能與道路中心、道路邊緣或車道邊緣等大致重合。在
這樣的情況下,基於目標軌跡的導航可以包括保持相對於目標軌跡的位置確定的偏移量。此外,在一些實施例中,相對於目標軌跡的位置要保持的確定的偏移量可以基於車輛的類型而不同(例如,包括兩個車軸的乘用車可能具有與沿目標軌跡的至少一部分的、包括多於兩個車軸的卡車的不同的偏移)。
227.稀疏地圖800還可以包括與和特定道路段、局部地圖等相關聯的多個預定地標820相關的數據。如下文更詳細討論的,這些地標可以用於自主車輛的導航。例如,在一些實施例中,地標可以用於確定車輛相對於存儲的目標軌跡的當前定位。使用該定位信息,自主車輛可能能夠調整走向方向以匹配確定位置處的目標軌跡的方向。
228.多個地標820可以被識別並以任何合適的間隔存儲在稀疏地圖800中。在一些實施例中,可以以相對高的密度(例如,每幾米或更多)存儲地標。然而,在一些實施例中,可以採用顯著更大的地標間隔值。例如,在稀疏地圖800中,識別的(或辨識的)的地標可以間隔開10米、20米、50米、100米、1公裡或2公裡。在某些情況下,識別的地標可能位於相距甚至多於2公裡的距離處。
229.在地標之間以及因此在相對於目標軌跡的確定的車輛定位之間,車輛可以基於航跡推算(dead reckoning)進行導航,其中車輛使用傳感器來確定其自我運動並估計其相對於目標軌跡的定位。因為在導航期間通過航跡推算可以累積誤差,所以隨著時間的推移,相對於目標軌跡的定位確定可能變得越來越不準確。車輛可以使用在稀疏地圖800中出現的地標(以及它們的已知位置)來移除航跡推算引起的定位確定誤差。以這種方式,稀疏地圖800中包括的識別的地標可以用作從其可以確定車輛相對於目標軌跡的準確定位的導航錨。因為在定位位置中一定量的誤差是可以可接受的,所以識別的地標不需要總是對自主車輛可用。反而,即使基於如上所述的10米、20米、50米、100米、500米、1公裡、2公裡或更多的地標間隔,合適的導航也是可能的。在一些實施例中,每1公裡道路1個識別的地標的密度可能足以將縱向定位確定準確度維持在1米以內。因此,並非沿道路段出現的每個潛在地標都需要存儲在稀疏地圖800中。
230.此外,在一些實施例中,車道標記可以用於在地標間隔期間對車輛進行定位。通過在地標間隔期間使用車道標記,可以最小化在導航期間通過航跡推算的誤差累積。
231.除了目標軌跡和識別的地標之外,稀疏地圖800可以包括與各種其他道路特徵相關的信息。例如,圖9a示出了可以存儲在稀疏地圖800中的沿特定道路段的曲線的表示。在一些實施例中,道路的單個車道可以通過道路左側和右側的三維多項式描述來建模。在圖9a中示出表示單個車道的左側和右側的這樣的多項式。不管道路可能有多少個車道,都可以使用多項式以類似於圖9a所示的方式來表示道路。例如,多車道道路的左側和右側可以由與圖9a所示的多項式類似的多項式來表示,並且包括在多車道道路上的中間車道標記(例如,表示車道邊界的虛線標記、表示沿不同方向行駛的車道之間的邊界的黃色實線等)也可以使用諸如圖9a所示的多項式來表示。
232.如圖9a所示,可以使用多項式(例如,一階、二階、三階或任何合適階的多項式)來表示車道900。為了說明,車道900被示為二維車道並且多項式被示為二維多項式。如圖9a所描繪的,車道900包括左側910和右側920。在一些實施例中,可以使用多於一個多項式來表示道路或車道邊界的每一側的位置。例如,左側910和右側920中的每個可以由任何合適長度的多個多項式來表示。在一些情況下,多項式可以具有大約100米的長度,儘管也可以使
用大於或小於100米的其他長度。此外,多項式可以相互重疊,以便在主車輛沿道路行駛時基於隨後遇到的多項式促進導航中的無縫過渡。例如,左側910和右側920中的每個可以由被分開成大約100米長度的段(第一預定範圍的示例)的多個三階多項式表示,並且相互重疊大約50米。表示左側910和右側920的多項式可以具有或可以不具有相同的階。例如,在一些實施例中,一些多項式可以是二階多項式,一些可以是三階多項式,並且一些可以是四階多項式。
233.在圖9a所示的示例中,車道900的左側910由兩個分組的三階多項式表示。第一分組包括多項式段911、912和913。第二分組包括多項式段914、915和916。兩個分組雖然基本上相互平行,但遵循它們相應的道路側的位置。多項式段911、912、913、914、915和916具有大約100米的長度並且與系列中的相鄰段重疊大約50米。然而,如前所述,也可以使用不同長度和不同重疊量的多項式。例如,多項式可以具有500米、1千米或更多的長度,並且重疊量可以從0米到50米、50米到100米或大於100米變化。此外,雖然圖9a被示為表示在2d空間中延伸的多項式(例如,在紙的表面上),但要理解,這些多項式可以表示在三個維度上延伸的曲線(例如,包括高度分量),以除了x-y曲率之外還表示道路段的高度改變。在圖9a所示的示例中,車道900的右側920進一步由具有多項式段921、922和923的第一分組和具有多項式段924、925和926的第二分組表示。
234.返回到稀疏地圖800的目標軌跡,圖9b示出了表示沿特定道路段行駛的車輛的目標軌跡的三維多項式。目標軌跡不僅表示主車輛應該沿著特定道路段行駛的x-y路徑,還表示主車輛在沿道路段行駛時將經歷的高度改變。因此,稀疏地圖800中的每個目標軌跡可以由像圖9b所示的三維多項式950的一個或多個三維多項式表示。稀疏地圖800可以包括多個軌跡(例如,數百萬或數十億或更多以表示沿著沿貫穿世界的道路的各種道路段的車輛的軌跡)。在一些實施例中,每個目標軌跡可以對應於連接三維多項式段的樣條。
235.關於存儲在稀疏地圖800中的多項式曲線的數據佔位,在一些實施例中,每個三次多項式可以由四個參數表示,每個參數要求四個字節的數據。可以使用每100米要求大約192個字節的數據的三次多項式獲得合適的表示。對於以大約100公裡/小時行駛的主車輛,這可以轉化為每小時大約200kb的數據使用/傳送要求。
236.稀疏地圖800可以使用幾何結構描述符和元數據的組合來描述車道網絡。幾何結構可以通過如上所述的多項式或樣條來描述。元數據可以描述車道的數量、特殊特性(諸如拼車(car pool)車道)以及可能的其他稀疏標籤。這樣的指示符的總佔位可以是可忽略的。
237.因此,根據本公開的實施例的稀疏地圖可以包括沿道路段延伸的道路表面特徵的至少一個線表示,每個線表示表示了沿著基本上與道路表面特徵對應的道路段的路徑。在一些實施例中,如上所述,道路表面特徵的至少一個線表示可以包括樣條、多項式表示或曲線。此外,在一些實施例中,道路表面特徵可以包括道路邊緣或車道標記中的至少一個。此外,如以下關於「眾包」所討論的,可以通過對隨著一個或多個車輛穿越道路段而獲取的多個圖像的圖像分析來識別道路表面特徵。
238.如前所述,稀疏地圖800可以包括與道路段相關聯的多個預定地標。不是存儲地標的實際圖像並且依賴於例如基於捕獲的圖像和存儲的圖像的圖像識別分析,而是可以使用比存儲的實際圖像將要求的更少的數據來表示和辨識稀疏地圖800中的每個地標。表示地標的數據可能仍然包括用於描述或識別沿道路的地標的足夠信息。存儲描述地標的特性的
數據而不是地標的實際圖像,可以減小稀疏地圖800的大小。
239.圖10示出了可以在稀疏地圖800中表示的地標類型的示例。地標可以包括沿道路段的任何可見和可識別的對象。可以選擇地標,使得它們是固定的並且關於它們的位置和/或內容不經常改變。當車輛穿越特定道路段時,稀疏地圖800中包括的地標可以用於確定車輛200關於目標軌跡的位置。地標的示例可以包括交通標誌、方向標誌、一般標誌(例如,矩形標誌)、道路邊固定裝置(例如,燈柱、反射器等)、以及任何其他合適的類別。在一些實施例中,道路上的車道標記也可以作為地標被包括在稀疏地圖800中。
240.圖10中所示的地標的示例包括交通標誌、方向標誌、道路邊固定裝置和一般標誌。交通標誌可以包括例如速率限制標誌(例如,速率限制標誌1000)、讓行標誌(例如,讓行標誌1005)、路線編號標誌(例如,路線編號標誌1010)、交通燈標誌(例如,交通燈標誌1015)、停止標誌(例如,停止標誌1020)。方向標誌可以包括包含一個或多個箭頭的標誌,一個或多個箭頭指示到不同地方的一個或多個方向。例如,方向標誌可以包括具有用於將車輛導向到不同道路或地方的箭頭的高速公路標誌1025、具有將車輛導向離開道路的箭頭的出口標誌1030等。因此,多個地標中的至少一個可以包括道路標誌。
241.一般標誌可能與交通無關。例如,一般標誌可能包括用於廣告的廣告牌,或與兩國、州、縣、城市或城鎮邊境相鄰的歡迎牌。圖10示出了一般標誌1040(「喬的餐館」)。儘管一般標誌1040可以具有如圖10所示的矩形形狀,但一般標誌1040可以具有其他形狀,諸如正方形、圓形、三角形等。
242.地標還可能包括路邊固定裝置。路邊固定裝置可能為不是標誌的對象,並且可能與交通或方向不相關。例如,路邊固定裝置可以包括燈柱(例如,燈柱1035)、電力線杆、交通燈杆等。
243.地標還可以包括可以專門設計為用於自主車輛導航系統的信標(beacon)。例如,這樣的信標可以包括以預定間距放置的獨立結構以幫助導航主車輛。這樣的信標還可以包括添加到現有道路標誌(例如,圖標、徽標、條形碼等)的、可以被沿道路段行駛的車輛識別或辨識的視覺/圖形信息。這樣的信標還可以包括電子組件。在這樣的實施例中,電子信標(例如,rfid標籤等)可以用於向主車輛傳輸非視覺信息。這樣的信息可以包括例如主車輛在確定其沿目標軌跡的定位時可以使用的地標識別和/或地標位置信息。
244.在一些實施例中,稀疏地圖800中包括的地標可以由預定大小的數據對象表示。表示地標的數據可以包括用於識別特定地標的任何合適的參數。例如,在一些實施例中,存儲在稀疏地圖800中的地標可以包括諸如地標的物理大小(例如,以支持基於已知大小/標度估計到地標的距離)、到先前地標的距離、橫向偏移、高度、類型代碼(例如,地標類型—什麼類型的方向標誌、交通標誌等)、gps坐標(例如,支持全球定位)的參數、以及任何其他合適的參數。每個參數可以與數據大小相關聯。例如,可以使用8個字節的數據來存儲地標大小。可以使用12個字節的數據來指定到前一個地標的距離、橫向偏移和高度。與諸如方向標誌或交通標誌的地標相關聯的類型代碼可能要求大約2個字節的數據。對於一般標誌,可以使用50位元組的數據存儲來存儲使得能夠識別一般標誌的圖像籤名。地標gps位置可以與16位元組的數據存儲相關聯。每個參數的這些數據大小僅是示例,並且也可以使用其他數據大小。以這種方式表示稀疏地圖800中的地標可以供應用於有效地表示資料庫中的地標的精簡解決方案。在一些實施例中,對象可以被稱為標準語義對象或非標準語義對象。標準語義對象
可以包括具有特性的標準化集合的任何類的對象(例如,具有已知尺寸或其他特性的速率限制標誌、警告標誌、方向標誌、交通燈等)。非標準語義對象可以包括不與特性的標準化集合相關聯的任何對象(例如,可能具有可變尺寸的一般廣告標誌、識別商業機構的標誌、坑窪、樹木等)。每個非標準語義對象可以用38個字節的數據表示(例如,針對大小的8個字節;針對到先前地標的距離、橫向偏移和高度的12個字節;針對類型代碼的2個字節;以及針對定位坐標的16個字節)。標準語義對象甚至可以使用甚至更少的數據來表示,因為繪圖伺服器可能不需要大小信息來完全表示稀疏地圖中的對象。
245.稀疏地圖800可以使用標籤系統來表示地標類型。在一些情況下,每個交通標誌或方向標誌都可以與其自己的標籤相關聯,該標籤可以作為地標識別的部分存儲在資料庫中。例如,資料庫可以包括量級在大約1000個不同的標籤來表示各種交通標誌,以及量級在大約10000個不同的標籤來表示方向標誌。當然,可以使用任何合適數量的標籤,並且可以根據需要創建另外的標籤。在一些實施例中,通用標誌可以使用少於大約100個字節(例如,大約86個字節,包括針對大小的8個字節;針對到先前地標的距離、橫向偏移和高度的12個字節;針對圖像籤名的50個字節;以及針對gps坐標的16個字節)來表示。
246.因此,對於不要求圖像籤名的語義道路標誌,即使在大約每50米1個的相對高的地標密度下,對稀疏地圖800的數據密度影響,也可能是每公裡大約760位元組(例如,每公裡20個地標x每個地標38位元組=760位元組)的量級。即使對於包括圖像籤名組件的一般標誌,數據密度影響也大約為每公裡1.72kb(例如,每公裡20個地標x每個地標86位元組=1720位元組)。對於語義道路標誌,這等同於針對以100公裡/小時行駛的車輛的大約每小時76kb的數據使用。對於一般標誌,這等同於針對以100公裡/小時行駛的車輛的大約每小時170kb。應當注意,在一些環境(例如,城市環境)中,可能有可用於包含在稀疏地圖中的檢測的對象的高得多的密度(每米可能多於一個)。在一些實施例中,諸如矩形標誌的通常為矩形的對象可以在稀疏地圖800中由不多於100個字節的數據來表示。稀疏地圖800中的一般矩形對象(例如,一般標誌1040)的表示可以包括與一般矩形對象相關聯的簡縮(condensed)圖像籤名或圖像散列(例如,簡縮圖像籤名1045)。該簡縮圖像籤名/圖像散列可以使用任何合適的圖像散列算法來確定,並且可以用於例如幫助將通用標誌識別為例如辨識的地標。這樣的簡縮的圖像籤名(例如,從表示對象的實際圖像數據中導出的圖像信息)可以避免需要存儲對象的實際圖像或需要對實際圖像執行比較圖像分析以辨識地標。
247.參照圖10,稀疏地圖800可以包括或存儲與一般標誌1040相關聯的簡縮圖像籤名1045,而不是一般標誌1040的實際圖像。例如,在圖像捕獲設備(例如,圖像捕獲設備122、124或126)捕獲一般標誌1040的圖像之後,處理器(例如,圖像處理器190、或者主車輛上的或相對於主車輛位於遠處的、可以處理圖像的任何其他處理器)可以執行圖像分析以提取/創建包括與一般標誌1040相關聯的唯一籤名或模式的、簡縮圖像籤名1045。在一個實施例中,簡縮圖像籤名1045可以包括形狀、顏色模式、亮度模式、或可以從一般標誌1040的圖像中提取以用於描述一般標誌1040的任何其他特徵。
248.例如,在圖10中,簡縮圖像籤名1045中所示的圓形、三角形和星形可以表示不同顏色的區域。由圓形、三角形和星形表示的模式可以存儲在稀疏地圖800中,例如,在被指定為包括圖像籤名的50個字節內。值得注意的是,圓形、三角形和星形不一定意味著指示這樣的形狀被存儲為圖像籤名的一部分。反而,這些形狀意味著在概念上表示具有可辨別的
(discernible)顏色差異的可辨識區域、文本區域、圖形形狀、或可能與通用標誌相關聯的特性的其他變化。這樣的簡縮的圖像籤名可以用來識別一般標誌的形式的地標。例如,簡縮圖像籤名可以用於基於存儲的簡縮圖像籤名與例如使用自主車輛車載的相機捕獲的圖像數據的比較來執行相同-不同分析。
249.因此,可以通過對隨著一個或多個車輛穿越道路段而獲取的多個圖像的圖像分析來識別多個地標。如以下關於「眾包」所解釋的,在一些實施例中,識別多個地標的圖像分析可以包括當確實出現地標的圖像與沒有出現地標的圖像的比率超過閾值時,接受潛在地標。此外,在一些實施例中,識別多個地標的圖像分析可以包括當沒有出現地標的圖像與確實出現地標的圖像的比率超過閾值時,拒絕潛在地標。
250.返回到主車輛可以用於導航特定道路段的目標軌跡,圖11a示出了在建立或保持稀疏地圖800的過程期間捕獲的多項式表示軌跡。可以基於車輛沿相同道路段的先前穿越的兩個或更多重建的軌跡來確定稀疏地圖800中包括的目標軌跡的多項式表示。在一些實施例中,包括在稀疏地圖800中的目標軌跡的多項式表示可以是車輛沿相同道路段的先前穿越的兩個或更多重建的軌跡的聚合。在一些實施例中,包括在稀疏地圖800中的目標軌跡的多項式表示可以是車輛沿相同道路段的先前穿越的兩個或更多重建的軌跡的平均值。也可以使用其他數學運算,以基於從沿道路段穿越的車輛收集的重建的軌跡來構建沿道路路徑的目標軌跡。
251.如圖11a所示,道路段1100可以由多個車輛200在不同時間處行駛。每個車輛200可以收集與車輛沿道路段所採取的路徑相關的數據。特定車輛行進的路徑可以基於相機數據、加速度計信息、速率傳感器信息和/或gps信息以及其他潛在的源來確定。這樣的數據可以用於重建沿道路段行駛的車輛的軌跡,並且基於這些重建的軌跡,可以針對特定的道路段確定目標軌跡(或多個目標軌跡)。當車輛沿著道路段行駛時,這樣的目標軌跡可以表示主車輛的優選路徑(例如,由自主導航系統引導)。
252.在圖11a所示的示例中,可以基於在第一時間段(例如,第1天)從穿越道路段1100的第一車輛接收的數據來確定第一重建的軌跡1101,可以從在第二時間段(例如,第2天)穿越道路段1100的第二車輛獲得第二重建的軌跡1102,並且可以從在第三時間段(例如,第3天)穿越道路段1100的第三車輛獲得第三重建的軌跡1103。每個軌跡1101、1102和1103可以由諸如三維多項式的多項式表示。應該注意的是,在一些實施例中,任何重建的軌跡都可以車載地裝配在穿越道路段1100的車輛上。
253.附加地或可替代地,可以基於從穿越道路段1100的車輛接收的信息在伺服器側確定這樣的重建的軌跡。例如,在一些實施例中,車輛200可以向一個或多個伺服器傳輸與它們沿著道路段1100的運動相關的數據(例如,轉向角、走向、時間、定位、速率、感測的道路幾何結構和/或感測的地標等)。伺服器可以基於接收的數據來重建車輛200的軌跡。伺服器還可以基於第一軌跡1101、第二軌跡1102和第三軌跡1103生成用於引導在稍後時間將沿著相同道路段1100行駛的自主車輛的導航的目標軌跡。雖然目標軌跡可以與道路段的單個先前穿越相關聯,但在一些實施例中,可以基於穿越相同道路段的車輛的兩個或更多重建的軌跡來確定稀疏地圖800中包括的每個目標軌跡。在圖11a中,目標軌跡由1110表示。在一些實施例中,可以基於第一軌跡1101、第二軌跡1102和第三軌跡1103的平均值來生成目標軌跡1110。在一些實施例中,包括在稀疏地圖800中的目標軌跡1110可以是兩個或更多重建的軌
跡的聚合(例如,加權組合)。
254.在繪圖伺服器處,伺服器可以從穿越道路段的多個收穫車輛接收特定道路段的實際軌跡。為了針對沿道路段的每個有效路徑(例如,每個車道、每個駕駛方向、通過岔道口的每個路徑等)生成目標軌跡,可以對準接收的實際軌跡。對準過程可以包括使用沿道路段識別的檢測的對象/特徵連同那些檢測的對象/特徵的收穫定位,來將實際的收穫的軌跡彼此相關。一旦對準,可以基於聚合的、相關的/對準的實際軌跡來確定每個可用車道等的平均值或「最佳擬合」目標軌跡。
255.圖11b和圖11c進一步說明了與存在於地理區域1111內的道路段相關聯的目標軌跡的概念。如圖11b所示,地理區域1111內的第一道路段1120可以包括多車道道路,其包括指定用於在第一方向上行駛的車輛的兩個車道1122和指定用於在與第一方向相反的第二方向上行駛的車輛的另外的兩個車道1124。車道1122和車道1124可以由雙黃線1123分開。地理區域1111還可以包括與道路段1120相交的分支道路段1130。道路段1130可以包括兩車道道路,每個車道被指定用於不同的行駛方向。地理區域1111還可以包括其他道路特徵,諸如停止線1132、停止標誌1134、速率限制標誌1136和危險標誌1138。
256.如圖11c所示,稀疏地圖800可以包括局部地圖1140,局部地圖1140包括用於協助在地理區域1111內對車輛進行自主導航的道路模型。例如,局部地圖1140可以包括與地理區域1111內的道路段1120和/或1130相關聯的一個或多個車道的目標軌跡。例如,局部地圖1140可以包括自主車輛在穿越車道1122時可以訪問或依賴的目標軌跡1141和/或1142。類似地,局部地圖1140可以包括自主車輛在穿越車道1124時可以訪問或依賴的目標軌跡1143和/或1144。此外,局部地圖1140可以包括自主車輛在穿越道路段1130時可以訪問或依賴的目標軌跡1145和/或1146。目標軌跡1147表示在從車道1120(具體地,相對於與車道1120的最右邊車道相關聯的目標軌跡1141)過渡到道路段1130(具體地,相對於與道路段1130的第一側相關聯的目標軌跡1145)時自主車輛應該遵循的優選路徑。類似地,目標軌跡1148表示在從道路段1130(具體地,相對於目標軌跡1146)到道路段1124的部分(具體地,如圖所示,相對於與車道1124的左邊車道相關聯的目標軌跡1143)過渡時,自主車輛應該遵循的優選路徑。
257.稀疏地圖800還可以包括與地理區域1111相關聯的其他與道路相關的特徵的表示。例如,稀疏地圖800還可以包括在地理區域1111中識別的一個或多個地標的表示。這樣的地標可以包括與停止線1132相關聯的第一地標1150、與停止標誌1134相關聯的第二地標1152、與速率限制標誌1154相關聯的第三地標、以及與危險標誌1138相關聯的第四地標1156。例如,這樣的地標可以用於輔助自主車輛確定其相對於任何示出的目標軌跡的當前位置,使得車輛可以調整其走向以匹配確定的位置處的目標軌跡的方向。
258.在一些實施例中,稀疏地圖800還可以包括道路籤名簡檔。這樣的道路籤名簡檔可以與和道路相關聯的至少一個參數的任何可辨別/可測量的變化相關聯。例如,在一些情況下,這樣的簡檔可能與道路表面信息的變化(諸如特定道路段的表面粗糙度的變化、特定道路段上道路寬度的變化、沿特定道路段繪畫的虛線之間的距離的變化、沿特定道路段的道路曲率的變化等)相關聯。圖11d示出了道路籤名簡檔1160的示例。雖然簡檔1160可以表示上述參數中的任何參數或其他參數,但在一個示例中,簡檔1160可以表示道路表面粗糙度的測量,例如通過在車輛行駛特定道路段時監視提供指示懸架位移量的輸出的一個或多個
傳感器來獲得的。
259.可替代地或同時地,簡檔1160可以表示如基於經由行駛特定道路段的車輛車載的相機獲得的圖像數據所確定的、道路寬度的變化。例如,這樣的簡檔在確定自主車輛相對於特定目標軌跡的特定位置時可能是有用的。也就是說,當它穿越道路段時,自主車輛可以測量與和道路段相關聯的一個或多個參數相關聯的簡檔。如果測量的簡檔可以與繪製相對於沿道路段的定位的參數變化的預定簡檔相關/匹配,則可以使用測量的和預定的簡檔(例如,通過疊加測量的和預定的簡檔的對應部分),以確定沿道路段的當前定位,並因此確定相對於道路段的目標軌跡的當前定位。
260.在一些實施例中,稀疏地圖800可以包括基於與自主車輛的用戶、環境狀況和/或與駕駛相關的其他參數相關聯的不同特性的不同軌跡。例如,在一些實施例中,可以基於不同的用戶偏好和/或簡檔來生成不同的軌跡。可以將包括這樣的不同軌跡的稀疏地圖800提供給不同用戶的不同自主車輛。例如,一些用戶可能偏好避開收費道路,而另一些用戶可能偏好採取最短或最快的路線,而不管路線上是否有收費道路。公開的系統可以基於這樣的不同的用戶偏好或簡檔生成具有不同軌跡的不同稀疏地圖。作為另一個示例,一些用戶可能偏好在快速移動的車道上行駛,而其他用戶可能偏好始終保持在中央車道中的定位。
261.基於不同的環境狀況(諸如白天和黑夜、雪、雨、霧等),不同的軌跡可以被生成並被包括在稀疏地圖800中。可以為在不同環境狀況下駕駛的自主車輛提供基於這樣的不同的環境狀況生成的稀疏地圖800。在一些實施例中,自主車輛上提供的相機可以檢測環境狀況,並且可以將這樣的信息提供回生成和提供稀疏地圖的伺服器。例如,伺服器可以生成或更新已經生成的稀疏地圖800,以包括在檢測的環境狀況下可能更適合或更安全地用於自主駕駛的軌跡。當自主車輛沿著道路行駛時,可以動態地執行基於環境狀況的稀疏地圖800的更新。
262.與駕駛相關的其他不同參數也可以用作生成不同稀疏地圖並將不同稀疏地圖提供給不同自主車輛的基礎。例如,當自主車輛以高速率行駛時,轉彎可能更收緊。與特定車道而不是道路相關聯的軌跡可以被包括在稀疏地圖800中,使得自主車輛可以在車輛遵循特定軌跡時保持在特定車道內。當自主車輛車載的相機捕獲的圖像指示車輛已經漂移到車道外部(例如,超出(cross)車道標記)時,可以在車輛內觸發動作,以根據特定軌跡將車輛帶回指定車道。
263.眾包稀疏地圖
264.公開的稀疏地圖可以通過眾包的力量有效地(和被動地)生成。例如,配備有相機(例如,作為當今車輛上的oem設備通常包括的簡單、低解析度相機)和適當的圖像分析處理器的任何私人或商用車輛都可以用作收穫車輛。不要求特殊設備(例如,高清晰度成像和/或定位系統)。作為公開的眾包技術的結果,生成的稀疏地圖可能極其準確,並且可能包括極其細化的定位信息(使導航誤差能夠限制為10釐米或更小),而不要求任何專用成像或感測設備作為地圖生成過程的輸入。眾包還可以使得對生成的地圖能夠進行快速得多(且廉價)的更新,因為新的駕駛信息可以從最少配備為還用作收穫車輛的私人或商用車輛穿越的任何道路、持續可用於繪圖伺服器系統。不需要配備有高清晰度成像和繪圖傳感器的指定車輛。因此,可以避免與建立這樣的專用車輛相關聯的費用。此外,可以使對當前公開的稀疏地圖的更新比依賴於專門的、專用的繪圖車輛的系統快速得多(由於它們的費用和特
殊設備典型地受限於與已經可用於執行公開的收穫技術的私人或商用車輛的數量相比低得多的數量的專用車輛的車隊)。
265.通過眾包生成的公開的稀疏地圖可能極其準確,因為它們可以基於來自多個(數十個、數百個、數百萬個等)收穫車輛的許多輸入而生成,這些收穫車輛已經沿著特定道路段收集了駕駛信息。例如,沿著特定道路段駕駛的每個收穫車輛可以記錄其實際軌跡,並且可以確定相對於沿著道路段的檢測的對象/特徵的定位信息。該信息從多個收穫車輛向伺服器傳遞。聚合實際軌跡來為沿道路段的每個有效駕駛路徑生成細化的目標軌跡。此外,還可以聚合從多個收穫車輛收集的、針對沿道路段(語義或非語義)的檢測的對象/特徵中的每個的定位信息。因此,每個檢測的對象/特徵的繪圖的定位可以構成每個檢測的對象/特徵的數百、數千或數百萬個單獨確定的定位的平均值。這樣的技術可以為檢測的對象/特徵產出極其準確的繪圖的定位。
266.在一些實施例中,公開的系統和方法可以生成用於自主車輛導航的稀疏地圖。例如,公開的系統和方法可以使用眾包數據來生成一個或多個自主車輛可以用於沿著道路的系統導航的稀疏地圖。如本文所用,「眾包」意味著在不同時間處從在道路段上行駛的各種車輛(例如,自主車輛)接收數據,並且這樣的數據用於生成和/或更新包括稀疏地圖瓦片的道路模型。模型或其任何稀疏地圖瓦片可以轉而被傳輸給稍後沿道路段行駛的車輛或其他車輛,以協助自主車輛導航。道路模型可以包括表示自主車輛在它們穿越道路段時應該遵循的優選軌跡的多個目標軌跡。目標軌跡可以與從穿越道路段的車輛收集的重建的實際軌跡相同,其可以從車輛向伺服器傳輸。在一些實施例中,目標軌跡可以不同於一個或多個車輛先前在穿越道路段時採取的實際軌跡。可以基於實際軌跡生成(例如,通過平均或任何其他合適的運算)目標軌跡。
267.車輛可以上傳到伺服器的車輛軌跡數據可以與車輛的實際重建的軌跡對應,或者可以對應於推薦軌跡,推薦軌跡可以基於車輛的實際重建的軌跡或與車輛的實際重建的軌跡相關,但可以不同於實際重建的軌跡。例如,車輛可以修改它們的實際重建的軌跡並向伺服器提交(例如,推薦)修改的實際軌跡。道路模型可以使用推薦的、修改的軌跡作為其他車輛的自主導航的目標軌跡。
268.除了軌跡信息之外,在建立稀疏數據地圖800中潛在使用的其他信息可以包括與潛在的地標候選相關的信息。例如,通過信息的眾包,公開的系統和方法可以識別環境中的潛在地標並細化地標定位。自主車輛的導航系統可以使用地標來確定和/或調整車輛沿目標軌跡的定位。
269.可以通過任何合適的方法獲得在車輛沿道路行駛時車輛可以生成的重建的軌跡。在一些實施例中,可以通過使用例如自我運動估計(例如,相機(以及因此車輛的車身)的三維平移和三維旋轉)將車輛的移動的段縫合在一起來開發重建的軌跡。旋轉和平移估計可以基於由一個或多個圖像捕獲設備捕獲的圖像的分析連同來自其他傳感器或設備(諸如慣性傳感器和速率傳感器)的信息來確定。例如,慣性傳感器可以包括加速度計或被配置為測量車身的平移和/或旋轉的改變的其他合適的傳感器。車輛可以包括測量車輛的速率的速率傳感器。
270.在一些實施例中,可以基於捕獲的圖像的光流分析來估計相機(以及因此車身)的自我運動。圖像序列的光流分析從圖像序列中識別像素的移動,並基於識別的移動確定車
輛的運動。自我運動可以隨著時間和沿著路段被整合以重建與車輛已經遵循的道路段相關聯的軌跡。
271.由多個車輛在不同時間在沿道路段的多個駕駛中收集的數據(例如,重建的軌跡)可以用於構建包括在稀疏數據地圖800中的道路模型(例如,包括目標軌跡等)。由多個車輛在不同時間在沿道路段的多個駕駛中收集的數據也可以被平均以提高模型的準確度。在一些實施例中,關於道路幾何結構和/或地標的數據可以從在不同時間行駛通過共同道路段的多個車輛接收。可以組合從不同車輛接收這樣的數據以生成道路模型和/或更新道路模型。
272.沿道路段的重建的軌跡(以及目標軌跡)的幾何結構可以由三維空間中的曲線表示,該曲線可以是連接三維多項式的樣條。可以從由安裝在車輛上的相機捕獲的視頻流或多個圖像的分析來確定重建的軌跡曲線。在一些實施例中,在每個幀或圖像中識別出車輛當前定位前幾米的位置。該位置是預期車輛在預定時間段內行駛到的地點。該操作可以逐幀重複,並且同時,車輛可以計算相機的自我運動(旋轉和平移)。在每個幀或圖像處,車輛在附接到相機的參考系中生成期望的路徑的短程模型。可以將短程模型縫合在一起以獲得道路在一些坐標系(frame)中的三維模型,該坐標系可以是任意或預定的坐標系。然後可以通過樣條擬合道路的三維模型,樣條可以包括或連接一個或多個合適的階的多項式。
273.為了在每個幀處推斷短程道路模型,可以使用一個或多個檢測模塊。例如,可以使用自下而上的車道檢測模塊。當在道路上畫制車道標記時,自下而上的車道檢測模塊可能有用。該模塊可能在圖像中尋找邊緣並將它們裝配在一起以形成車道標記。第二模塊可以與自下而上的車道檢測模塊一起使用。第二模塊是可以被訓練以從輸入圖像中預測正確的短程路徑的端到端的深度神經網絡。在兩個模塊中,道路模型可以在圖像坐標系中被檢測並被變換為可以虛擬附接到相機的三維空間。
274.儘管重建的軌跡建模方法可能由於長時間段內自我運動的整合而引入可能包括噪聲分量的誤差累積,但這樣的誤差可能是不重要的,因為生成的模型可以在局部標度上為導航提供足夠的準確度。此外,可以通過使用外部信息源(諸如衛星圖像或大地測量)來消除整合的誤差。例如,公開的系統和方法可以使用gnss接收器來消除累積誤差。然而,gnss定位信號可能不總是可用和準確的。公開的系統和方法可以使得能夠進行弱取決於gnss定位的可用性和準確度的轉向應用。在這樣的系統中,gnss信號的使用可能受限。例如,在一些實施例中,公開的系統可以將gnss信號僅用於資料庫索引目的。
275.在一些實施例中,可能與自主車輛導航轉向(steer)應用相關的範圍標度(例如,局部標度)可以是50米、100米、200米、300米的量級上等。可以使用這樣的距離,因為幾何結構道路模型主要用於兩個目的:規劃道路模型上的車輛前方的軌跡和在道路模型上定位車輛。在一些實施例中,當控制算法根據位於前方1.3秒(或任何其他時間,諸如1.5秒、1.7秒、2秒等)的目標點將車輛轉向時,規劃任務可以在前方40米的典型範圍(或前方任何其他合適的距離,諸如20米、30米、50米)上使用模型。根據在另一部分更詳細地描述的被稱為「尾部對準」的方法,定位任務在汽車後方60米的典型範圍上(或任何其他合適的距離,諸如50米、100米、150米等)使用道路模型。公開的系統和方法可以生成幾何結構模型,該幾何機構模型在諸如100米的特定範圍上具有足夠的準確度,使得規劃的軌跡將不偏離車道中心多於例如30釐米。
276.如上所述,可以從檢測短程路段(section)並將它們縫合在一起來構建三維道路模型。可以通過使用由相機捕獲的視頻和/或圖像、來自反映車輛運動的慣性傳感器的數據、以及主車輛速度信號計算六度自我運動模型來使得能夠進行縫合。累積誤差在某些局部範圍標度上可能足夠小,諸如100米的量級上。所有這些都可以在特定道路段上的單個駕駛中完成。
277.在一些實施例中,可以使用多個駕駛來平均產生的模型,並進一步提高其準確度。相同汽車可能多次行駛相同的路線,或者多個汽車可能向中央伺服器發送其收集的模型數據。在任何情況下,可以執行匹配過程以識別重疊模型並使得能夠進行平均以生成目標軌跡。一旦滿足收斂準則,構建的模型(例如,包括目標軌跡)可以用於轉向。隨後的駕駛可以用於進一步的模型改進,以適應基礎設施改變。
278.如果將多個汽車連接到中央伺服器,則在多個汽車之間共享駕駛經驗(諸如,感測的數據)變得可行。每個車輛客戶端可以存儲可能與其當前定位相關的普遍道路模型的部分副本。車輛和伺服器之間的雙向更新過程可以由車輛和伺服器執行。上面討論的小佔位概念使公開的系統和方法能夠使用非常小的帶寬來執行雙向更新。
279.與潛在地標相關的信息也可以被確定並被轉發到中央伺服器。例如,公開的系統和方法可以基於包括地標的一個或多個圖像來確定潛在地標的一個或多個物理屬性。物理屬性可以包括地標的物理大小(例如,高度、寬度)、從車輛到地標的距離、該地標與先前地標之間的距離、地標的橫向定位(例如,相對於行駛的車道的地標的定位)、地標的gps坐標、地標的類型、地標上的文本的識別等。例如,車輛可以分析由相機捕獲的一個或多個圖像以檢測潛在地標,諸如速率限制標誌。
280.車輛可以基於一個或多個圖像的分析來確定從車輛到地標的距離或與地標相關聯的定位(例如,沿道路段的任何語義或非語義對象或特徵)。在一些實施例中,可以基於使用合適的圖像分析方法(例如縮放方法和/或光流方法)對地標的圖像的分析來確定距離。如前所述,對象/特徵的定位可以包括與對象/特徵相關聯的一個或多個點的2d圖像定位(例如,一個或多個捕獲的圖像中的x-y像素定位),或者可以包括一個或多個點的3d真實世界定位(例如,通過運動中的結構/光流技術、lidar或radar信息等確定)。在一些實施例中,公開的系統和方法可以被配置為確定潛在地標的類型或分類。在車輛確定某個潛在地標對應於存儲在稀疏地圖中的預定類型或分類的情況下,車輛向伺服器傳送地標的類型或分類的指示以及其位置可能就足夠的。伺服器可以存儲這樣的指示。在稍後的時間,在導航期間,導航車輛可以捕獲包括地標的表示的圖像,處理圖像(例如,使用分類器),並比較結果地標,以確認繪圖的地標的檢測,並使用繪圖的地標來相對於稀疏地圖定位導航車輛。
281.在一些實施例中,在道路段上行駛的多個自主車輛可以與伺服器通信。車輛(或客戶端)可以在任意坐標系中生成描述其駕駛(例如,通過自我運動整合)的曲線。車輛可以檢測地標並將它們定位在相同幀中。車輛可以將曲線和地標上傳到伺服器。伺服器可以從車輛通過多個駕駛收集數據,並生成統一的道路模型。例如,如下面關於圖19所討論的,伺服器可以使用上傳的曲線和地標生成具有統一道路模型的稀疏地圖。
282.伺服器還可以將模型分發給客戶端(例如,車輛)。例如,伺服器可以將稀疏地圖分發給一個或多個車輛。伺服器在從車輛接收新數據時,可以連續或周期性更新模型。例如,伺服器可以處理新數據以評估數據是否包括應該觸發更新或在伺服器上創建新數據的信
息。伺服器可以將更新的模型或更新分發給車輛,以用於提供自主車輛導航。
283.伺服器可以使用一個或多個準則,用於確定從車輛接收的新數據是否應該觸發對模型的更新或觸發新數據的創建。例如,當新數據指示特定位置處的先前辨識的地標不再存在或被另一個地標替換時,伺服器可以確定新數據應該觸發對模型的更新。作為另一個示例,當新數據指示道路段已經關閉,並且當這已經被從其他車輛接收的數據證實時,伺服器可以確定新數據應該觸發對模型的更新。
284.伺服器可以將更新的模型(或模型的更新部分)分發給正在道路段(對模型的更新與該道路段相關聯)上正行駛的一個或多個車輛。伺服器還可以將更新的模型分發給即將在道路段上行駛的車輛,或者其規划行程包括與對模型的更新相關聯的道路段的車輛。例如,當自主車輛在到達與更新相關聯的道路段之前沿著另一個道路段正在行駛時,伺服器可以在車輛到達道路段之前將更新或更新的模型分發給自主車輛。
285.在一些實施例中,遠程伺服器可以從多個客戶端(例如,沿著共同道路段行駛的車輛)收集軌跡和地標。伺服器可以使用地標來匹配曲線,並基於從多個車輛收集的軌跡來創建平均道路模型。伺服器還可以計算路段的每個節點或岔道口處的最可能路徑和道路圖形。例如,遠程伺服器可以對準軌跡以從收集的軌跡生成眾包稀疏地圖。
286.伺服器可以對從沿共同道路段行駛的多個車輛接收的地標屬性(諸如由多個車輛測量的一個地標與另一個地標(例如,沿道路段的先前地標)之間的距離)進行平均,以確定弧長參數,並支持沿路徑的定位和每個客戶端車輛的速率校準。伺服器可以對沿共同道路段行駛並辨識了相同的地標的多個車輛所測量的地標的物理尺寸進行平均。平均物理尺寸可以用於支持距離估計,諸如從車輛到地標的距離。伺服器可以對沿共同道路段行駛並辨識了相同的地標的多個車輛所測量的地標的橫向定位(例如,從車輛正在行駛的車道到地標的定位)。平均橫向定位可以用於支持車道指派。伺服器可以對沿相同道路段行駛並辨識了相同的地標的多個車輛所測量的地標的gps坐標進行平均。地標的平均gps坐標可以用於支持地標在道路模型中的全球定位(localization)或定位(positioning)。
287.在一些實施例中,伺服器可以基於從車輛接收的數據來識別模型改變,諸如構建物、臨時繞行道路(detour)、新標誌、標誌的移除等。伺服器可以在從車輛接收新數據時持續或周期性或即時更新模型。伺服器可以將對模型的更新或更新的模型分發給車輛以用於提供自主導航。例如,如下文進一步討論的,伺服器可以使用眾包數據來過濾掉車輛檢測的「幻影」地標。
288.在一些實施例中,伺服器可以在自主駕駛期間分析駕駛員幹預。伺服器可以分析在幹預發生的時間和位置處從車輛接收的數據、和/或在幹預發生的時間之前接收的數據。伺服器可以識別導致幹預或與幹預密切相關的數據的某些部分,例如,指示臨時車道關閉設置的數據、指示道路中的行人的數據。伺服器可以基於識別的數據來更新模型。例如,伺服器可以修改存儲在模型中的一個或多個軌跡。
289.圖12是使用眾包來生成稀疏地圖(以及使用眾包稀疏地圖進行分發和導航)的系統的示意性圖示。圖12示出了包括一個或多個車道的道路段1200。多個車輛1205、1210、1215、1220和1225可以在相同時間或在不同時間在道路段1200上行駛(儘管在圖12中示出為在相同時間出現在道路段1200上)。車輛1205、1210、1215、1220和1225中的至少一個可以是自主車輛。為了本示例的簡單起見,所有車輛1205、1210、1215、1220和1225都被假定為自
主車輛。
290.每個車輛可以類似於其他實施例中公開的車輛(例如,車輛200),並且可以包括包含在其他實施例中公開的車輛中的組件或設備、或與其他實施例中公開的車輛相關聯的組件或設備。每個車輛可以配備有圖像捕獲設備或相機(例如,圖像捕獲設備122或相機122)。如虛線所指示的,每個車輛可以通過無線通信路徑1235經由一個或多個網絡(例如,通過蜂窩網絡和/或網際網路等)與遠程伺服器1230通信。每個車輛可以向伺服器1230傳輸數據並從伺服器1230接收數據。例如,伺服器1230可以從在不同時間在道路段1200上行駛的多個車輛收集數據,並且可以處理收集的數據以生成自主車輛道路導航模型或對模型的更新。伺服器1230可以向將數據傳輸給伺服器1230的車輛傳輸自主車輛道路導航模型或對模型的更新。伺服器1230可以向在稍後時間在道路段1200上行駛的其他車輛傳輸自主車輛道路導航模型或對模型的更新。
291.當車輛1205、1210、1215、1220和1225在道路段1200上行駛時,車輛1205、1210、1215、1220和1225收集(例如,檢測、感測或測量)的導航信息可以被傳輸給伺服器1230。在一些實施例中,導航信息可以與共同道路段1200相關聯。導航信息可以包括當車輛1205、1210、1215、1220和1225中的每個車輛在道路段1200上行駛時與每個車輛相關聯的軌跡。在一些實施例中,可以基於由車輛1205上提供的各種傳感器和設備感測的數據來重建軌跡。例如,可以基於加速度計數據、速率數據、地標數據、道路幾何結構或簡檔數據、車輛定位數據和自我運動數據中的至少一個來重建軌跡。在一些實施例中,可以基於來自諸如加速度計的慣性傳感器的數據以及由速率傳感器感測的車輛1205的速度來重建軌跡。此外,在一些實施例中,可以基於相機感測的自我運動來確定軌跡(例如,通過車輛1205、1210、1215、1220和1225中的每個車輛車載的處理器),該感測的自我運動可以指示三維平移和/或三維旋轉(或旋轉運動)。可以從相機捕獲的一個或多個圖像的分析來確定相機(以及因此車身)的自我運動。
292.在一些實施例中,車輛1205的軌跡可以由車輛1205車載地提供的處理器確定並被傳輸給伺服器1230。在其他實施例中,伺服器1230可以接收由車輛1205中提供的各種傳感器和設備感測的數據,並基於從車輛1205接收的數據來確定軌跡。
293.在一些實施例中,從車輛1205、1210、1215、1220和1225向伺服器1230傳輸的導航信息可以包括關於道路表面、道路幾何結構或道路簡檔的數據。道路段1200的幾何結構可以包括車道結構和/或地標。車道結構可以包括道路段1200的車道總數、車道類型(例如,單向車道、雙向車道、駕駛車道、超車車道等)、車道上的標記、車道寬度等。在一些實施例中,導航信息可以包括車道指派,例如車輛正在行駛多個車道中的哪個車道。例如,車道指派可以與指示車輛正在在從左邊或右邊起的第三車道上行駛的數值「3」相關聯。作為另一個示例,車道指派可以與指示車輛正在在中心車道上行駛的文本值「中心車道」相關聯。
294.伺服器1230可以將導航信息存儲在非暫時性計算機可讀介質(諸如硬碟驅動器、光碟、磁帶、存儲器等)上。伺服器1230可以基於從多個車輛1205、1210、1215、1220和1225接收的導航信息,來(例如,通過伺服器1230中包括的處理器)生成針對共同道路段1200的自主車輛道路導航模型的至少一部分,並且可以將模型存儲為稀疏地圖的部分。伺服器1230可以基於從在不同時間行駛在道路段的車道上的多個車輛(例如,1205、1210、1215、1220和1225)接收的眾包數據(例如,導航信息)來確定與每個車道相關聯的軌跡。伺服器1230可以
基於多個軌跡(多個軌跡基於眾包導航數據來確定)來生成自主車輛道路導航模型或該模型的部分(例如,更新的部分)。伺服器1230可以向在道路段1200上行駛的自主車輛1205、1210、1215、1220和1225中的一個或多個或在稍後時間在道路段上行駛的任何其他自主車輛傳輸模型或模型的更新部分,以用於更新在車輛的導航系統中提供的現有自主車輛道路導航模型。自主車輛道路導航模型可以由自主車輛在沿共同道路段1200自主導航時使用。
295.如上所述,自主車輛道路導航模型可以包括在稀疏地圖(例如,圖8中描繪的稀疏地圖800)中。稀疏地圖800可以包括與道路幾何結構和/或沿道路的地標相關的數據的稀疏記錄,這可以提供足夠的信息以用於引導自主車輛的自主導航,而不要求過多的數據存儲。在一些實施例中,自主車輛道路導航模型可以與稀疏地圖800分開存儲,並且當模型被執行以用於導航時可以使用來自稀疏地圖800的地圖數據。在一些實施例中,自主車輛道路導航模型可以使用包括在稀疏地圖800中的、用於確定沿道路段1200的目標軌跡的地圖數據,以用於引導自主車輛1205、1210、1215、1220和1225或稍後沿著道路段1200行駛的其他車輛的自主導航。例如,當自主車輛道路導航模型由包括在車輛1205的導航系統中的處理器執行時,該模型可以使處理器將基於從車輛1205接收的導航信息確定的軌跡與包括在稀疏地圖800中的預定軌跡進行比較以驗證和/或校正車輛1205的當前行駛航線。
296.在自主車輛道路導航模型中,目標軌跡或道路特徵的幾何結構可以由三維空間中的曲線編碼。在一個實施例中,曲線可以是包括一個或多個連接三維多項式的三維樣條。如本領域技術人員將理解的,樣條可以是由用於擬合數據的一系列多項式分段定義的數值函數。用於擬合道路的三維幾何結構數據的樣條可以包括線性樣條(一階)、二次樣條(二階)、三次樣條(三階)或任何其他樣條(其他階)、或其組合。樣條可以包括連接(例如,擬合)道路的三維幾何結構數據的數據點的、不同階的一個或多個三維多項式。在一些實施例中,自主車輛道路導航模型可以包括與沿著共同道路段(例如,道路段1200)或道路段1200的車道的目標軌跡對應的三維樣條。
297.如上所述,包括在稀疏地圖中的自主車輛道路導航模型可以包括其他信息,諸如沿道路段1200的至少一個地標的識別。地標可以在安裝在車輛1205、1210、1215、1220和1225中的每個上的相機(例如,相機122)的視場內可見。在一些實施例中,相機122可以捕獲地標的圖像。車輛1205上提供的處理器(例如,處理器180、190或處理單元110)可以處理地標的圖像以提取地標的識別信息。地標識別信息,而不是地標的實際圖像,可以存儲在稀疏地圖800中。地標識別信息可能要求比實際圖像少得多的存儲空間。其他傳感器或系統(例如,gps系統)也可以提供地標的某些識別信息(例如,地標的定位)。地標可以包括交通標誌、箭頭標記、車道標記、虛線車道標記、交通燈、停止線、方向標誌(例如,具有指示方向的箭頭的高速公路出口標誌、帶有指向不同方向或地方的箭頭的高速公路標誌)、地標信標或燈柱中的至少一個。地標信標是指沿道路段安裝的設備(例如,rfid設備),該設備向安裝在車輛上的接收器傳輸或反射信號,使得當車輛經過該設備時,車輛接收的信標和設備的位置(例如,從設備的gps位置確定)可以用作要包括在自主車輛道路導航模型和/或稀疏地圖800中的地標。
298.至少一個地標的識別可以包括至少一個地標的定位。可以基於使用與多個車輛1205、1210、1215、1220和1225相關聯的傳感器系統(例如,全球定位系統、基於慣性的定位系統、地標信標等)執行的定位測量,來確定地標的定位。在一些實施例中,可以通過對由不
同車輛1205、1210、1215、1220和1225上的傳感器系統通過多個駕駛來檢測、收集或接收的定位測量進行平均,來確定地標的定位。例如,車輛1205、1210、1215、1220和1225可以向伺服器1230傳輸定位測量數據,伺服器1230可以對定位測量進行平均並將平均定位測量用作地標的定位。地標的定位可以通過從隨後的駕駛中的車輛接收的測量來持續細化。
299.地標的識別可以包括地標的大小。車輛(例如,1205)上提供的處理器可以基於圖像的分析來估計地標的物理大小。伺服器1230可以通過不同的駕駛從不同的車輛接收相同地標的物理大小的多個估計。伺服器1230可以對不同的估計進行平均以達成地標的物理大小,並將該地標大小存儲在道路模型中。物理大小估計可以用於進一步確定或估計從車輛到地標的距離。可以基於車輛的當前速率、以及基於出現在圖像中的地標相對於相機的延伸焦點(focus of expansion)的定位的延伸標度來估計到地標的距離。例如,到地標的距離可以通過z=v*dt*r/d來估計,其中v是車輛的速率,r是從時間t1處的地標到延伸焦點的、圖像中的距離,並且d是圖像中的地標從t1到t2的距離的改變。dt表示(t2-t1)。例如,可以通過z=v*dt*r/d來估計到地標的距離,其中v是車輛的速率,r是地標和延伸焦點之間的、圖像中的距離,dt是時間間距,並且d是地標沿核線的圖像位移。諸如z=v*ω/δω的、與上述等式等同的其他等式可以用於估計到地標的距離。這裡,v是車輛速率,ω是圖像長度(如對象寬度),並且δω是以時間為單位的圖像長度的改變。
300.當地標的物理大小已知時,到地標的距離也可以基於以下等式確定:z=f*w/ω,其中f是焦距,w是地標的大小(例如,高度或寬度),ω是地標離開圖像時的像素數。從上述等式,可以使用δz=f*w*δω/ω2+f*δw/ω計算距離z的改變,其中δw通過平均而衰減為零,並且其中δω是表示圖像中的邊界框準確度的像素數。估計地標的物理大小的值可以通過在伺服器側對多個觀測進行平均來計算。產生的距離估計的誤差可能非常小。存在可能在使用上述公式時出現的兩個誤差源,即δw和δω。它們對距離誤差的貢獻由δz=f*w*δω/ω2+f*δw/ω給出。然而,δw通過平均而衰減為零;因此δz由δω確定(例如,圖像中邊界框的不準確度)。
301.對於未知尺寸的地標,可以通過追蹤連續幀之間的地標上的特徵點來估計到地標的距離。例如,可以在兩個或更多圖像幀之間追蹤出現在速率限制標誌上的某些特徵。基於這些追蹤的特徵,可以生成每個特徵點的距離分布。可以從距離分布中提取距離估計。例如,距離分布中出現的最高頻率的距離可以用作距離估計。作為另一個示例,距離分布的平均值可以用作距離估計。
302.圖13示出了由多個三維樣條1301、1302和1303表示的示例自主車輛道路導航模型。圖13中所示的曲線1301、1302和1303僅用於說明目的。每個樣條可以包括連接多個數據點1310的一個或多個三維多項式。每個多項式可以是一階多項式、二階多項式、三階多項式或具有不同階的任何合適多項式的組合。每個數據點1310可以與從車輛1205、1210、1215、1220和1225接收的導航信息相關聯。在一些實施例中,每個數據點1310可以與和地標相關的數據(例如,地標的大小、位置和識別信息)和/或道路籤名簡檔(例如,道路幾何結構、道路粗糙度簡檔、道路曲率簡檔、道路寬度簡檔)相關聯。在一些實施例中,一些數據點1310可以與和地標相關的數據相關聯,而其他數據點可以與和道路籤名簡檔相關的數據相關聯。
303.圖14示出了從五個分開的駕駛接收的原始位置數據1410(例如,gps數據)。如果一個駕駛是在相同時間由分開的車輛、由相同的車輛在分開的時間、或由分開的車輛在分開
的時間穿越,則該一個駕駛可能與另一個駕駛是分開的。為了考慮位置數據1410中的誤差以及車輛在相同車道內的不同位置(例如,一個車輛可能比另一個車輛更靠近車道左邊駕駛),伺服器1230可以使用一個或多個統計技術生成地圖骨架1420,以確定原始位置數據1410的變化是否表示實際散度(divergence)或統計誤差。骨架1420內的每個路徑可以連結回形成該路徑的原始數據1410。例如,骨架1420內a和b之間的路徑連結到來自駕駛2、3、4和5但不是來自駕駛1的原始數據1410。骨架1420可能不足夠詳細以至於用於導航車輛(例如,因為與上述樣條不同,它組合了來自相同道路上的多個車道的駕駛),但可以提供有用的拓撲信息,並可用於定義交叉路口。
304.圖15示出了可以為地圖骨架的段(例如,骨架1420內的段a到b)內的稀疏地圖生成另外的細節的示例。如圖15所描繪的,可以根據沿駕駛的定位s(或s1或s2)示出數據(例如,自我運動數據、道路標記數據等)。伺服器1230可以通過識別駕駛1510的地標1501、1503和1505與駕駛1520的地標1507和1509之間的唯一匹配來識別稀疏地圖的地標。這樣的匹配算法可以導致識別地標1511、1513和1515。然而,本領域技術人員將認識到可以使用其他匹配算法。例如,可以使用概率優化來代替或結合唯一匹配。伺服器1230可以縱向對準駕駛以對準匹配的地標。例如,伺服器1230可以選擇一個駕駛(例如,駕駛1520)作為參考駕駛,然後轉換和/或彈性拉伸其他駕駛(例如,駕駛1510)以用於對準。
305.圖16示出了用於在稀疏地圖中使用的對準地標數據的示例。在圖16的示例中,地標1610包括道路標誌。圖16的示例還描繪了來自多個駕駛1601、1603、1605、1607、1609、1611和1613的數據。在圖16的示例中,來自駕駛1613的數據包含「幻影」地標,並且伺服器1230可以如此將其識別,因為駕駛1601、1603、1605、1607、1609和1611都不包括在駕駛1613中的識別的地標附近的地標的識別。因此,當確實出現地標的圖像與未出現地標的圖像的比率超過閾值時,伺服器1230可以接受潛在地標,和/或當未出現地標的圖像與確實出現地標的圖像的比率超過閾值時,伺服器1230可以拒絕潛在地標。
306.圖17描繪了用於生成可以用於眾包稀疏地圖的駕駛數據的系統1700。如圖17所描繪的,系統1700可以包括相機1701和定位設備1703(例如,gps定位器)。相機1701和定位設備1703可以安裝在車輛(例如,車輛1205、1210、1215、1220和1225中的一個)上。相機1701可以產生多個類型的多個數據,例如,自我運動數據、交通標誌數據、道路數據等。相機數據和位置數據可以被分割成駕駛段1705。例如,駕駛段1705可以各自具有來自少於1公裡的駕駛的相機數據和位置數據。
307.在一些實施例中,系統1700可以移除駕駛段1705中的冗餘。例如,如果地標出現在來自相機1701的多個圖像中,則系統1700可以剝除冗餘數據,使得駕駛段1705僅包含地標的位置或者與地標相關的任何元數據的一個副本。作為進一步的示例,如果車道標記出現在來自相機1701的多個圖像中,則系統1700可以剝除冗餘數據,使得駕駛段1705僅包含車道標記的位置或者與車道標記相關的任何元數據的一個副本。
308.系統1700還包括伺服器(例如,伺服器1230)。伺服器1230可以從車輛接收駕駛段1705並且將駕駛段1705重新組合成單個駕駛1707。這樣的布置可以允許在車輛和伺服器之間傳送數據時減少帶寬要求,同時還允許伺服器存儲與整個駕駛相關的數據。
309.圖18描繪了還被配置為用於眾包稀疏地圖的圖17的系統1700。如同在圖17,系統1700包括使用例如相機(其產生例如自我運動數據、交通標誌數據、道路數據等)和定位設
備(例如gps定位器)來捕獲駕駛數據的車輛1810。如同圖17,車輛1810將收集的數據分割成駕駛段(在圖18中被描繪為「ds1 1」、「ds2 1」、「dsn 1」)。伺服器1230然後接收駕駛段並且從接收的段重建駕駛(在圖18中被描繪為「駕駛1」)。
310.如圖18中進一步描繪的,系統1700還從另外的車輛接收數據。例如,車輛1820還使用例如相機(其產生例如自我運動數據、交通標誌數據、道路數據等)和定位設備(例如,gps定位器)來捕獲駕駛數據。與車輛1810類似,車輛1820將收集的數據分割成駕駛段(在圖18中被描繪為「ds1 2」、「ds2 2」、「dsn 2」)。伺服器1230然後接收駕駛段並且從接收的段重建駕駛(在圖18中被描繪為「駕駛2」)。可以使用任何數量的另外的車輛。例如,圖18還包括捕獲駕駛數據的「汽車n」、將數據分割成駕駛段(在圖18中被描繪為「ds1 n」、「ds2 n」、「dsn n」)、並將其發送給伺服器1230以用於重建為駕駛(在圖18中描繪為「駕駛n」)。
311.如圖18所描繪的,伺服器1230可以使用從多個車輛(例如,「汽車1」(也被打上車輛1810的標籤)、「汽車2」(也被打上車輛1820的標籤)和「汽車n」)收集的重建的駕駛(例如,「駕駛1」、「駕駛2」和「駕駛n」)來構建稀疏地圖(描繪為「地圖」)。
312.圖19是示出用於為沿道路段的自主車輛導航生成稀疏地圖的示例過程1900的流程圖。過程1900可以由包括在伺服器1230中的一個或多個處理設備來執行。
313.過程1900可以包括接收在一個或多個車輛穿越道路段時獲取的多個圖像(步驟1905)。伺服器1230可以從包括在車輛1205、1210、1215、1220和1225中的一個或多個內的相機接收圖像。例如,相機122可以在車輛1205沿著道路段1200行駛時捕獲車輛1205周圍環境的一個或多個圖像。在一些實施例中,伺服器1230還可以接收已被車輛1205上的處理器移除冗餘的剝除掉的圖像數據,如上文關於圖17所討論的。
314.過程1900還可包括基於多個圖像識別沿道路段延伸的道路表面特徵的至少一個線表示(步驟1910)。每個線表示可以表示沿著基本與道路表面特徵對應的道路段的路徑。例如,伺服器1230可以分析從相機122接收的環境圖像以識別道路邊緣或車道標記,並確定沿著與道路邊緣或車道標記相關聯的道路段1200的行駛的軌跡。在一些實施例中,軌跡(或線表示)可以包括樣條、多項式表示或曲線。伺服器1230可以基於在步驟1905接收的相機自我運動(例如,三維平移和/或三維旋轉運動)來確定車輛1205的行駛的軌跡。
315.過程1900還可以包括基於多個圖像識別與道路段相關聯的多個地標(步驟1910)。例如,伺服器1230可以分析從相機122接收的環境圖像以識別一個或多個地標,諸如沿道路段1200的道路標誌。伺服器1230可以使用對隨著一個或多個車輛穿越道路段而獲取的多個圖像的分析來識別地標。為了使得能夠進行眾包,分析可以包括關於接受和拒絕與道路段相關聯的可能地標的原則。例如,該分析可以包括當確實出現地標的圖像與未出現地標的圖像的比率超過閾值時,接受潛在地標,和/或當未出現地標的圖像與確實出現地標的圖像的比率超過閾值時,拒絕潛在地標。
316.過程1900可以包括由伺服器1230執行的其他操作或步驟。例如,如下文進一步詳細討論的,導航信息可以包括車輛沿道路段行駛的目標軌跡,並且過程1900可以包括由伺服器1230對與在道路段上行駛的多個車輛相關的車輛軌跡進行聚類,並基於聚類的車輛軌跡確定目標軌跡。對車輛軌跡進行聚類可以包括由伺服器1230基於車輛的絕對走向或車輛的車道指派中的至少一個來將與在道路段上行駛的車輛相關的多個軌跡聚類成多個聚類。生成目標軌跡可以包括由伺服器1230對聚類的軌跡進行平均。作為進一步的示例,過程
1900可以包括對準在步驟1905中接收的數據。由伺服器1230執行的如上所述的其他過程或步驟也可以包括在過程1900中。
317.公開的系統和方法可以包括其他特徵。例如,公開的系統可以使用局部坐標,而不是全局坐標。對於自主駕駛,一些系統可能以世界坐標呈現數據。例如,可以使用地球表面上的經度和緯度坐標。為了使用地圖用於轉向,主車輛可以確定其相對於地圖的定位和朝向。使用車載gps設備似乎是自然的,以便在地圖上定位車輛,並以便找到車身(body)參考系和世界參考系(例如,北、東和下)之間的旋轉變換。一旦車身參考系與地圖參考系對準,則可以在車身參考系中表達期望路線並且可以計算或生成轉向命令。
318.公開的系統和方法可以使得能夠使用低佔位模型進行自主車輛導航(例如,轉向控制),低佔位模型可以由自主車輛本身收集,而無需藉助於昂貴的測量(surveying)設備。為了支持自主導航(例如,轉向應用),道路模型可以包括具有道路的幾何結構、其車道結構和地標的稀疏地圖,其可以用於確定車輛沿著包括在模型中的軌跡的位置或定位。如上所述,稀疏地圖的生成可以由與在道路上行駛的車輛通信並從車輛接收數據的遠程伺服器來執行。數據可以包括感測數據、基於感測數據重建的軌跡、和/或可以表示修改的重建軌跡的推薦軌跡。如下所述,伺服器可以將模型傳輸回車輛或稍後在道路上行駛的其他車輛以幫助自主導航。
319.圖20示出了伺服器1230的框圖。伺服器1230可以包括通信單元2005,其可以包括硬體組件(例如,通信控制電路、交換機和天線)和軟體組件(例如,通信協議、計算機代碼)兩者。例如,通信單元2005可以包括至少一個網絡接口。伺服器1230可以通過通信單元2005與車輛1205、1210、1215、1220和1225通信。例如,伺服器1230可以通過通信單元2005接收從車輛1205、1210、1215、1220和1225傳輸的導航信息。伺服器1230可以通過通信單元2005將自主車輛道路導航模型分發給一個或多個自主車輛。
320.伺服器1230可以包括至少一個非暫時性存儲介質2010,諸如硬碟驅動器、光碟、磁帶等。存儲設備1410可以被配置為存儲數據,諸如從車輛1205、1210、1215、1220和1225接收的導航信息和/或伺服器1230基於導航信息生成的自主車輛道路導航模型。存儲設備2010可以被配置為存儲任何其他信息,諸如稀疏地圖(例如,上面關於圖8討論的稀疏地圖800)。
321.除了存儲設備2010之外或代替存儲設備2010,伺服器1230可以包括存儲器2015。存儲器2015可以與存儲器140或150相似或不同。存儲器2015可以是非暫時性存儲器,諸如快閃記憶體、隨機存取存儲器等。存儲器2015可以被配置為存儲數據,諸如可由處理器(例如,處理器2020)執行的計算機代碼或指令、地圖數據(例如,稀疏地圖800的數據)、自主車輛道路導航模型和/或從車輛1205、1210、1215、1220和1225接收的導航信息。
322.伺服器1230可以包括被配置為執行存儲在存儲器2015中的計算機代碼或指令以執行各種功能的至少一個處理設備2020。例如,處理設備2020可以分析從車輛1205、1210、1215、1220和1225接收的導航信息,並基於分析生成自主車輛道路導航模型。處理設備2020可以控制通信單元1405將自主車輛道路導航模型分發給一個或多個自主車輛(例如,車輛1205、1210、1215、1220和1225中的一個或多個、或在稍後時間在道路段1200上行駛的任何車輛)。處理設備2020可以與處理器180、190或處理單元110相似或不同。
323.圖21示出了存儲器2015的框圖,其可以存儲用於執行生成用於自主車輛導航的道路導航模型的一個或多個操作的計算機代碼或指令。如圖21所示,存儲器2015可以存儲用
於執行處理車輛導航信息的操作的一個或多個模塊。例如,存儲器2015可以包括模型生成模塊2105和模型分發模塊2110。處理器2020可以執行存儲器2015中包括的模塊2105和2110中的任何模塊中存儲的指令。
324.模型生成模塊2105可以存儲指令,當由處理器2020執行時,所述指令可以基於從車輛1205、1210、1215、1220和1225接收的導航信息生成用於共同道路段(例如,道路段1200)的自主車輛道路導航模型的至少一部分。例如,在生成自主車輛道路導航模型時,處理器2020可以將沿著共同道路段1200的車輛軌跡聚集成不同的聚類。處理器2020可以基於不同聚類中的每個聚類的聚類的車輛軌跡來確定沿著共同道路段1200的目標軌跡。這樣的操作可以包括在每個聚類中找到聚類的車輛軌跡的均值(mean)或平均(average)軌跡(例如,通過對表示聚類的車輛軌跡的數據進行平均)。在一些實施例中,目標軌跡可以與共同道路段1200的單個車道相關聯。
325.道路模型和/或稀疏地圖可以存儲與道路段相關聯的軌跡。這些軌跡可以稱為目標軌跡,目標軌跡被提供給自主車輛以進行自主導航。可以從多個車輛接收、或者可以基於從多個車輛接收的實際軌跡或推薦軌跡(具有一些修改的實際軌跡)生成目標軌跡。稀疏地圖或道路模型中包括的目標軌跡可以使用從其他車輛接收的新軌跡持續更新(例如,平均)。
326.在道路段上行駛的車輛可以通過各種傳感器收集數據。數據可能包括地標、道路特徵簡檔、車輛運動(例如,加速度計數據、速率數據)、車輛定位(例如,gps數據),並且可以自己重建實際軌跡或者將數據傳輸給將重建車輛的實際軌跡的伺服器。在一些實施例中,車輛可以向伺服器1230傳輸與軌跡(例如,任意參考系中的曲線)相關的數據、地標數據和沿著行駛路徑的車道指派。在多個駕駛沿著相同道路段行駛的各種車輛可以具有不同的軌跡。伺服器1230可以通過聚類過程從自車輛接收的軌跡識別與每個車道相關聯的路線或軌跡。
327.圖22示出了對與車輛1205、1210、1215、1220和1225相關聯的車輛軌跡進行聚類以用於確定共同道路段(例如,道路段1200)的目標軌跡的過程。從聚類過程確定的目標軌跡或多個目標軌跡可以包括在自主車輛道路導航模型或稀疏地圖800中。在一些實施例中,沿道路段1200行駛的車輛1205、1210、1215、1220和1225可以向伺服器1230傳輸多個軌跡2200。在一些實施例中,伺服器1230可以基於從車輛1205、1210、1215、1220和1225接收的地標、道路幾何結構和車輛運動信息來生成軌跡。如圖22所示,為了生成自主車輛道路導航模型,伺服器1230可以將車輛軌跡1600聚類成多個聚類2205、2210、2215、2220、2225和2230。
328.可以使用各種準則來執行聚類。在一些實施例中,聚類中的所有駕駛在關於沿道路段1200的絕對走向可能是相似的。絕對走向可以從車輛1205、1210、1215、1220和1225接收的gps信號獲得。在一些實施例中,絕對走向可以使用航跡推算來獲得。如本領域技術人員將理解的,航跡推算可以用於通過使用先前確定的定位、估計的速率等來確定車輛1205、1210、1215、1220和1225的當前定位並因此確定其走向。通過絕對走向聚類的軌跡可能對識別沿道路的路線有用。
329.在一些實施例中,聚類中的所有駕駛關於沿道路段1200上的駕駛的車道指派(例如,岔道口之前和之後在相同車道中)可能是相似的。通過車道指派聚類的軌跡可以用於識別沿道路的車道。在一些實施例中,兩個準則(例如,絕對走向和車道指派)可以用於聚類。
330.在每個聚類2205、2210、2215、2220、2225和2230中,軌跡可以被平均以獲得與特定聚類相關聯的目標軌跡。例如,可以對來自與相同車道聚類相關聯的多個駕駛的軌跡進行平均。平均的軌跡可以是與特定車道相關聯的目標軌跡。為了平均軌跡的聚類,伺服器1230可以選擇任意軌跡c0的參考系。對於所有其他軌跡(c1,

,cn),伺服器1230可以找到將ci映射到c0的剛性變換,其中i=1、2、

、n,其中n是對應於包括在聚類中的軌跡的總數的正整數。伺服器1230可以計算c0參考系中的平均曲線或軌跡。
331.在一些實施例中,地標可以定義不同駕駛之間的弧長匹配,這可以用於將軌跡與車道對準。在一些實施例中,岔道口之前和之後的車道標記可以用於將軌跡與車道對準。
332.為了從軌跡裝配車道,伺服器1230可以選擇任意車道的參考系。伺服器1230可以將部分重疊的車道映射到選擇的參考系。伺服器1230可以繼續映射,直到所有車道都在相同參考系中。相互靠近的車道可以對準,如同它們本是相同車道,並且稍後它們可能會橫向轉換。
333.沿道路段辨識的地標可以映射到共同參考系,首先在車道水平,然後在岔道口水平。例如,相同的地標可能在多個駕駛中被多個車輛多次辨識。在不同駕駛中接收的關於相同地標的數據可能略有不同。這樣的數據可以被平均並映射到相同的參考系,諸如c0參考系。附加地或可替代地,可以計算在多個駕駛中接收的相同地標的數據的方差。
334.在一些實施例中,道路段120的每個車道可以與目標軌跡和某些地標相關聯。目標軌跡或多個這樣的目標軌跡可以包括在自主車輛道路導航模型中,該模型稍後可以被沿相同道路段1200行駛的其他自主車輛使用。當車輛1205、1210、1215、1220和1225沿道路段1200行駛時由車輛識別的地標可以與目標軌跡相關聯地記錄。目標軌跡和地標的數據可以在後續駕駛中使用從其他車輛接收的新數據持續或周期性更新。
335.對於自主車輛的定位,公開的系統和方法可以使用擴展卡爾曼濾波器。車輛的位置可以基於三維定位數據和/或三維朝向數據來確定,通過整合自我運動來預測車輛的當前位置前的未來位置。車輛的定位可以通過地標的圖像觀測來校正或調整。例如,當車輛在由相機捕獲的圖像內檢測到地標時,可以將該地標與存儲在道路模型或稀疏地圖800內的已知地標進行比較。已知地標可以具有沿存儲在道路模型和/或稀疏地圖800中的目標軌跡的已知位置(例如,gps數據)。基於當前速率和地標的圖像,可以估計從車輛到地標的距離。可以基於到地標和地標的已知位置的距離(存儲在道路模型或稀疏地圖800中)來調整車輛沿目標軌跡的位置。可以假定存儲在道路模型和/或稀疏地圖800中的地標的定位/位置數據(例如,來自多個駕駛的均值)是準確的。
336.在一些實施例中,公開的系統可以形成閉循環子系統,其中車輛六自由度位置的估計(例如,三維定位數據加上三維朝向數據)可以用於導航自主車輛(例如,轉向自主車輛的方向盤)以到達期望的點(例如,在存儲的前1.3秒)。反過來,從轉向和實際導航測量的數據可以用於估計六自由度位置。
337.在一些實施例中,諸如燈柱和電力線或電纜杆的沿道路的杆可以用作用於定位車輛的地標。諸如交通標誌、交通燈、道路上的箭頭、停止線,以及沿道路段的對象的靜態特徵或籤名的其他地標也可以用作用於定位車輛的地標。當杆用於定位時,可以使用杆的x觀測(即,來自車輛的視角),而不是y觀測(即,到杆的距離),因為杆的底部可能被遮擋,並且有時它們不在道路平面上。
338.圖23示出了可以用於使用眾包稀疏地圖的自主導航的、用於車輛的導航系統。為了說明,車輛被稱為車輛1205。圖23中示出的車輛可以是本文公開的任何其他車輛,包括例如車輛1210、1215、1220和1225,以及其他實施例中所示的車輛200。如圖12所示,車輛1205可以與伺服器1230通信。車輛1205可以包括圖像捕獲設備122(例如,相機122)。車輛1205可以包括導航系統2300,導航系統2300被配置為用於為車輛1205提供導航引導以在道路(例如,道路段1200)上行駛。車輛1205還可以包括其他傳感器,諸如速率傳感器2320和加速度計2325。速率傳感器2320可以配置為檢測車輛1205的速率。加速度計2325可以被配置為檢測車輛1205的加速度或減速度。圖23中示出的車輛1205可以是自主車輛,並且導航系統2300可以用於為自主駕駛提供導航引導。可替代地,車輛1205也可以是非自主的、人類控制的車輛,並且導航系統2300仍可以用於提供導航引導。
339.導航系統2300可以包括被配置為通過通信路徑1235與伺服器1230通信的通信單元2305。導航系統2300還可以包括被配置為接收和處理gps信號的gps單元2310。導航系統2300還可以包括至少一個處理器2315,至少一個處理器2315被配置為處理數據,諸如gps信號、來自稀疏地圖800的地圖數據(其可以存儲在車輛1205車載提供的存儲設備上和/或從伺服器1230接收)、由道路簡檔傳感器2330感測的道路幾何結構、由相機122捕獲的圖像、和/或從伺服器1230接收的自主車輛道路導航模型。道路簡檔傳感器2330可以包括用於測量不同類型的道路簡檔(諸如道路表面粗糙度、道路寬度、道路高度、道路曲率等)的不同類型的設備。例如,道路簡檔傳感器2330可以包括測量車輛2305的懸架的運動以導出道路粗糙度簡檔的設備。在一些實施例中,道路簡檔傳感器2330可以包括雷達傳感器以測量從車輛1205到道路側(例如,道路側的障礙物)的距離,從而測量道路的寬度。在一些實施例中,道路簡檔傳感器2330可以包括被配置為用於測量道路的上下高度的設備。在一些實施例中,道路簡檔傳感器2330可以包括被配置為測量道路曲率的設備。例如,相機(例如,相機122或另一個相機)可以用於捕獲示出道路曲率的道路的圖像。車輛1205可以使用這樣的圖像來檢測道路曲率。
340.至少一個處理器2315可以被編程為從相機122接收與車輛1205相關聯的至少一個環境圖像。至少一個處理器2315可以分析至少一個環境圖像以確定與車輛1205相關的導航信息。導航信息可以包括與車輛1205沿道路段1200的行駛相關的軌跡。至少一個處理器2315可以基於相機122(以及因此車輛)的運動(諸如三維平移和三維旋轉運動)來確定軌跡。在一些實施例中,至少一個處理器2315可以基於相機122獲取的多個圖像的分析來確定相機122的平移和旋轉運動。在一些實施例中,導航信息可以包括車道指派信息(例如,在該車道中車輛1205正在沿道路段1200行駛)。從車輛1205向伺服器1230傳輸的導航信息可以被伺服器1230用來生成和/或更新自主車輛道路導航模型,其可以從伺服器1230被傳輸回車輛1205,以用於為車輛1205提供自主導航引導。
341.至少一個處理器2315還可以被編程為從車輛1205向伺服器1230傳輸導航信息。在一些實施例中,導航信息可以與道路信息一起向伺服器1230傳輸。道路位置信息可以包括由gps單元2310接收的gps信號、地標信息、道路幾何結構、車道信息等中的至少一個。至少一個處理器2315可以從伺服器1230接收自主車輛道路導航模型或模型的一部分。從伺服器1230接收的自主車輛道路導航模型可以包括基於從車輛1205向伺服器1230傳輸的導航信息的至少一個更新。從伺服器1230向車輛1205傳輸的模型的部分可以包括模型的更新部
分。至少一個處理器2315可以基於接收的自主車輛道路導航模型或模型的更新部分來引起車輛1205的至少一個導航操縱(例如,諸如進行轉彎的轉向、制動、加速度、超過另一車輛等)。
342.至少一個處理器2315可以被配置為與車輛1205中包括的各種傳感器和組件(包括通信單元1705、gps單元2315、相機122、速率傳感器2320、加速度計2325和道路簡檔傳感器2330)通信。至少一個處理器2315可以從各種傳感器和組件收集信息或數據,並通過通信單元2305向伺服器1230傳輸信息或數據。可替代地或附加地,車輛1205的各種傳感器或組件也可以與伺服器1230通信,並向伺服器1230傳輸由傳感器或組件收集的數據或信息。
343.在一些實施例中,車輛1205、1210、1215、1220和1225可以相互通信,並且可以相互共享導航信息,使得車輛1205、1210、1215、1220和1225中的至少一個可以例如基於其他車輛共享的信息使用眾包來生成自主車輛道路導航模型。在一些實施例中,車輛1205、1210、1215、1220和1225可以相互共享導航信息,並且每個車輛可以更新其自身的、車輛中提供的自主車輛道路導航模型。在一些實施例中,車輛1205、1210、1215、1220和1225中的至少一個(例如,車輛1205)可以用作樞紐(hub)車輛。樞紐車輛(例如車輛1205)的至少一個處理器2315可以執行由伺服器1230執行的一些或全部功能。例如,樞紐車輛的至少一個處理器2315可以與其他車輛通信並從其他車輛接收導航信息。樞紐車輛的至少一個處理器2315可以基於從其他車輛接收的共享信息來生成自主車輛道路導航模型或對模型的更新。中樞車輛的至少一個處理器2315可以向其他車輛傳輸自主車輛道路導航模型或對模型的更新,以提供自主導航引導。
344.基於稀疏地圖的導航
345.如前所述,包括稀疏地圖800的自主車輛道路導航模型可以包括多個繪圖的車道標記和與道路段相關聯的多個繪圖的對象/特徵。如下文更詳細討論的,這些繪圖的車道標記、對象和特徵可以在自主車輛導航時使用。例如,在一些實施例中,繪圖的對象和特徵可以用於相對於地圖(例如,相對於繪圖的目標軌跡)定位主車輛。繪圖的車道標記可以用於(例如,作為檢查)確定相對於規劃或目標軌跡的橫向定位和/或朝向。利用該定位信息,自主車輛可能能夠調整走向方向以匹配確定的定位處的目標軌跡的方向。
346.車輛200可以被配置為檢測給定道路段中的車道標記。道路段可以包括道路上用於引導道路上的車輛交通的任何標記。例如,車道標記可以是劃定(demark)行駛的車道的邊緣的連續線或虛線。車道標記還可以包括例如指示在相鄰車道中是否允許超車的雙線,諸如雙連續線、雙虛線、或連續線和虛線的組合。車道標記還可以包括例如指示出口匝道的減速車道或指示車道僅轉彎或車道正在結束的虛線的高速公路(freeway)入口和出口標記。標記還可以指示工作區、臨時車道轉換、通過交叉路口的行駛路徑、中間帶、特殊目的車道(例如,自行車車道、hov車道等)或其他雜項標記(例如,人行橫道、減速帶、鐵路交叉口、停止線等)。
347.車輛200可以使用諸如包括在圖像獲取單元120中的圖像捕獲設備122和124的相機,來捕獲周圍車道標記的圖像。車輛200可以分析圖像以基於在一個或多個捕獲的圖像內識別的特徵來檢測與車道標記相關聯的點位置。這些點位置可以上傳到伺服器以表示稀疏地圖800中的車道標記。取決於相機的定位和視場,可以從單個圖像針對車輛兩側同時檢測車道標記。在其他實施例中,可以使用不同的相機在車輛的多側捕獲圖像。不是上傳車道標
記的實際圖像,而是可以將標記作為樣條或一系列點存儲在稀疏地圖800中,從而減小稀疏地圖800的大小和/或必須由車輛遠程上傳的數據。
348.圖24a-圖24d示出了可由車輛200檢測以表示特定車道標記的示例性點位置。與上述地標類似,車輛200可以使用各種圖像辨識算法或軟體來識別捕獲的圖像內的點位置。例如,車輛200可以辨識與特定車道標記相關聯的一系列邊緣點、拐角點或各種其他點位置。圖24a示出了可以被車輛200檢測的連續車道標記2410。車道標記2410可以表示由連續的白線表示的道路的外部邊緣。如圖24a所示,車輛200可以被配置為檢測沿車道標記的多個邊緣位置點2411。可以收集位置點2411來以足以在稀疏地圖中創建繪圖的車道標記的任何間距來表示車道標記。例如,車道標記可以由檢測的邊緣的每米一個點、檢測的邊緣的每五米一個點或以其他合適的間隔表示。在一些實施例中,間隔可以通過其他因素(諸如像基於其中車輛200對檢測的點的位置具有最高置信排名的點)確定,而不是以設置的間距確定。雖然圖24a示出了車道標記2410的內邊緣上的邊緣位置點,但點可以在線的外部邊緣上或沿著兩個邊緣收集。此外,雖然圖24a中示出了單線,但可以為雙連續線檢測相似的邊緣點。例如,可以沿著連續線之一或兩者的邊緣檢測點2411。
349.車輛200還可以取決於車道標記的類型或形狀不同地表示車道標記。圖24b示出了可以被車輛200檢測的示例性虛線車道標記2420。不是如圖24a所示地識別邊緣點,而是車輛可以檢測表示車道虛線拐角的一系列拐角點2421以定義虛線的完整邊界。儘管圖24b示出了給定虛線標記的每個拐角被定位,但車輛200可以檢測或上傳圖中所示的點的子集。例如,車輛200可以檢測給定虛線標記的居前邊緣或居前拐角,或者可以檢測車道內部最靠近的兩個拐角點。此外,不是每個虛線標記都可以被捕獲,例如,車輛200可以捕獲和/或記錄表示虛線標記的樣本(例如,每隔一個、每隔三個、每隔五個等)的點或以預定義的間隔(例如,每米、每5米、每10米等)捕獲和/或記錄表示虛線標記的點。也可以針對類似的車道標記(諸如示出車道用於出口匝道的標記、特定車道正在結束的標記或可能具有可檢測的拐角點的其他各種車道標記)檢測拐角點。還可以針對由雙虛線或連續線與虛線的組合構成的車道標記檢測拐角點。
350.在一些實施例中,上傳到伺服器以生成繪圖的車道標記的點可以表示除了檢測的邊緣點或拐角點之外的其他點。圖24c示出了可以表示給定車道標記的中心線的一系列點。例如,連續車道2410可以由沿著車道標記的中心線2440的中心線點2441表示。在一些實施例中,車輛200可以被配置為使用各種圖像辨識技術(諸如卷積神經網絡(cnn)、標度不變特徵變換(sift)、定向梯度直方圖(hog)特徵或其他技術)檢測這些中心點。可替代地,車輛200可以檢測諸如圖24a中所示的邊緣點2411的其他點,並且可以例如通過檢測沿每個邊緣的點並確定邊緣點之間的中點來計算中心線點2441。類似地,虛線車道標記2420可以由沿著車道標記的中心線2450的中心線點2451表示。中心線點可以如圖24c所示位於虛線的邊緣處,或位於沿中心線的各種其他位置處。例如,每個虛線可以由虛線的幾何結構中心的單個點表示。點也可以沿著中心線以預定間距(例如,每米、5米、10米等)間隔開。中心線點2451可以由車輛200直接檢測,或者可以基於其他檢測的參考點(諸如,如圖24b所示的拐角點2421)來計算。也可以使用與上述類似的技術將中心線用於表示其他車道標記類型,諸如雙線。
351.在一些實施例中,車輛200可以識別表示其他特徵的點,諸如兩個相交車道標記之
間的頂點(vertex)。圖24d示出了表示兩個車道標記2460和2465之間的交叉路口的示例性點。車輛200可以計算表示兩個車道標記之間的交叉路口的頂點2466。例如,車道標記2460或2465中的一個可以表示火車交叉區域或道路段中的其他交叉區域。雖然車道標記2460和2465被示為相互垂直交叉,但是可以檢測各種其他配置。例如,車道標記2460和2465可以以其他角度交叉,或者車道標記中的一個或兩者可以終止於頂點2466處。類似的技術也可以應用於虛線或其他車道標記類型之間的相交點。除了頂點2466之外,還可以檢測各種其他點2467,從而提供關於車道標記2460和2465的朝向的進一步信息。
352.車輛200可以將真實世界坐標與車道標記的每個檢測的點相關聯。例如,可以生成包括每個點的坐標的位置標識符,以上傳到伺服器用於對車道標記進行繪圖。位置標識符還可以包括關於點的其他識別信息,包括該點是否表示拐角點、邊緣點、中心點等。因此車輛200可以被配置為基於圖像的分析來確定每個點的真實世界定位。例如,車輛200可以檢測諸如上述的各種地標的圖像中的其他特徵,以定位車道標記的真實世界定位。這可能涉及確定圖像中車道標記相對於檢測的地標的位置或基於檢測的地標確定車輛的定位,然後確定從車輛(或車輛的目標軌跡)到車道標記的距離。當地標不可用時,可以相對於基於航跡推算確定的車輛的定位來確定車道標記點的位置。包括在位置標識符中的真實世界坐標可以表示為絕對坐標(例如,緯度/經度坐標),或者可以是相對於其他特徵的(諸如基於沿目標軌跡的縱向定位和距目標軌跡的橫向距離)。然後可以向伺服器上傳位置標識符,以用於在導航模型(諸如稀疏地圖800)中生成繪圖的車道標記。在一些實施例中,伺服器可以構建表示道路段的車道標記的樣條。可替代地,車輛200可以生成樣條並將其上傳給伺服器以記錄在導航模型中。
353.圖24e示出了包括繪圖的車道標記的、用於對應的道路段的示例性導航模型或稀疏地圖。稀疏地圖可以包括車輛沿道路段遵循的目標軌跡2475。如上所述,目標軌跡2475可以表示車輛在其行駛對應的道路段時採用的理想路徑,或者目標軌跡2475可以位於道路上的其他地方(例如,道路的中心線等)。目標軌跡2475可以用上述各種方法、例如基於穿越相同道路段的車輛的兩個或更多重建軌跡的聚合(例如,加權的組合)來計算。
354.在一些實施例中,可以為所有車輛類型和所有道路、車輛和/或環境狀況等同地生成目標軌跡。然而,在其他實施例中,也可以在生成目標軌跡時考慮各種其他因素或變量。可以為不同類型的車輛(例如,私人汽車、輕型卡車和滿載拖車)生成不同的目標軌跡。例如,與較大的半拖車卡車相比,可以為小型私人汽車生成具有相對更收緊的轉彎半徑的目標軌跡。在一些實施例中,也可以考慮道路、車輛和環境狀況。例如,可以針對不同的道路狀況(例如,潮溼、下雪、結冰、乾燥等)、車輛狀況(例如,輪胎狀況或估計的輪胎狀況、制動器狀況或估計的制動器狀況、剩餘燃料量等)或環境因素(例如,一天中的時間、可見度、天氣等)生成不同的目標軌跡。目標軌跡還可以取決於特定道路段的一個或多個方面或特徵(例如,速率限制、轉彎的頻率和大小、坡度等)。在一些實施例中,還可以使用各種用戶設置來確定目標軌跡,諸如設置的駕駛模式(例如,期望的駕駛進取性(aggressiveness)、經濟性模式等)。
355.稀疏地圖還可以包括表示沿道路段的車道標記的繪圖的車道標記2470和2480。繪圖的車道標記可以由多個位置標識符2471和2481表示。如上所述,位置標識符可以包括與檢測的車道標記相關聯的點的真實世界坐標中的位置。類似於模型中的目標軌跡,車道標
記也可以包括高度數據,並且可以表示為三維空間中的曲線。例如,曲線可以是連接合適階數的三維多項式的樣條,可以基於位置標識符計算曲線。繪圖的車道標記還可以包括關於車道標記的其他信息或元數據,諸如車道標記類型的標識符(例如,在具有相同行駛方向的兩個車道之間、在沿相反行駛方向的兩個車道之間、車道的邊緣等)和/或車道標記的其他特性(例如,連續、虛線、單線、雙線、黃色、白色等)。在一些實施例中,繪圖的車道標記可以在模型內例如使用眾包技術持續更新。相同車輛可以在行駛相同道道路段的多個時機期間上傳位置標識符,或者可以從在不同時間行駛該道路段的多個車輛(諸如1205、1210、1215、1220和1225)中選擇數據。然後可以基於從車輛接收並存儲在系統中的後續位置標識符來更新或細化稀疏地圖800。隨著繪圖的車道標記被更新和細化,更新的道路導航模型和/或稀疏地圖可以分發給多個自主車輛。
356.在稀疏地圖中生成繪圖的車道標記還可以包括基於圖像中或實際車道標記本身中的異常來檢測和/或減輕誤差。圖24f示出了與檢測車道標記2490相關聯的示例性異常2495。例如,來自遮擋相機對車道標記的視野的對象、透鏡上的碎片等的異常2495可能出現在由車輛200捕獲的圖像中。在一些實例中,異常可能是由於車道標記本身造成的,車道標記可能例如被道路上的泥土、碎屑、水、雪或其他材料部分覆蓋,或被損壞或磨損。異常2495可導致車輛200檢測誤差點2491。稀疏地圖800可以提供正確的繪圖的車道標記並排除誤差。在一些實施例中,車輛200可以例如通過檢測圖像中的異常2495、或者通過基於在異常之前和之後檢測的車道標記點而識別誤差,來檢測誤差點2491。基於檢測到異常,車輛可以省略點2491或者可以將其調整為與其他檢測的點一致。在其他實施例中,例如,通過基於在相同行程期間上傳的其他點或基於來自沿著相同道路段的先前行程的數據的聚合確定該點在預期閾值之外,可以在點已經被上傳之後校正誤差。
357.導航模型和/或稀疏地圖中的繪圖的車道標記也可以用於穿越對應的道路的自主車輛的導航。例如,沿目標軌跡導航的車輛可以周期性地使用稀疏地圖中的繪圖的車道標記來將其自身與目標軌跡對準。如上所述,車輛可以基於航跡推算(其中,車輛使用傳感器來確定其自我運動並估計其相對於目標軌跡的定位)在地標之間導航。誤差可能隨著時間累積,並且車輛相對於目標軌跡的定位確定可能變得越來越不準確。因此,車輛可以使用出現在稀疏地圖800中的車道標記(及其已知位置)來減少航跡推算引起的定位確定中的誤差。以這種方式,稀疏地圖800中包括的識別的車道標記可以用作從其可以確定車輛相對於目標軌跡的準確定位的導航錨。
358.圖25a示出了可以用於基於繪圖的車道標記進行導航的車輛周圍環境的示例性圖像2500。圖像2500可以例如由車輛200通過包括在圖像獲取單元120中的圖像捕獲設備122和124來捕獲。如圖25a所示,圖像2500可以包括至少一個車道標記2510的圖像。圖像2500還可以包括用於如上所述導航的一個或多個地標2521,諸如道路標誌。諸如未出現在捕獲的圖像2500中但被車輛200檢測和/或確定的元素2511、2530和2520的、圖25a中示出的一些元素也被示出,以供參考。
359.使用上面關於圖24a-圖24d和圖24f描述的各種技術,車輛可以分析圖像2500以識別車道標記2510。可以檢測與圖像中的車道標記的特徵相對應的各種點2511。例如,點2511可以對應於車道標記的邊緣、車道標記的拐角、車道標記的中點、兩個相交車道標記之間的頂點或各種其他特徵或位置。可以檢測點2511以對應於存儲在從伺服器接收的導航模型中
的點的位置。例如,如果接收到包含表示繪圖的車道標記的中心線的點的稀疏地圖,則還可以基於車道標記2510的中心線來檢測點2511。
360.車輛還可以確定由元素2520表示並且沿著目標軌跡定位的縱向定位。可以例如通過檢測圖像2500內的地標2521並將測量的位置與存儲在道路模型或稀疏地圖800中的已知地標位置進行比較,從圖像2500確定縱向定位2520。然後可以基於到地標的距離和地標的已知位置來確定車輛沿目標軌跡的位置。也可以從除了用於確定車道標記的定位的圖像之外的圖像來確定縱向定位2520。例如,可以通過檢測來自圖像獲取單元120內的其他相機的圖像(該圖像與圖像2500同時或近乎同時拍攝)中的地標來確定縱向定位2520。在一些實例中,車輛可能不在用於確定縱向定位2520的任何地標或其他參考點附近。在這樣的實例中,車輛可以基於航跡推算來進行導航,因此可以使用傳感器來確定其自我運動並估計相對於目標軌跡的縱向定位2520。車輛還可以確定表示車輛與在捕獲的圖像中觀察的車道標記2510之間的實際距離的距離2530。在確定距離2530時可以考慮相機角度、車輛速率、車輛寬度或各種其他因素。
361.圖25b示出了基於道路導航模型中的繪圖的車道標記的、車輛的橫向定位校正。如上所述,車輛200可以使用車輛200捕獲的一個或多個圖像來確定車輛200和車道標記2510之間的距離2530。車輛200還可以訪問諸如稀疏地圖800的道路導航模型,其可以包括繪圖的車道標記2550和目標軌跡2555。可以使用例如使用由多個車輛捕獲的眾包位置標識符的上述技術來對繪圖的車道標記2550建模。也可以使用先前描述的各種技術來生成目標軌跡2555。車輛200還可以確定或估計沿目標軌跡2555的縱向定位2520,如上面關於圖25a所描述的。車輛200然後可以基於目標軌跡2555和對應於縱向定位2520的繪圖的車道標記2550之間的橫向距離來確定預期距離2540。可以通過將使用捕獲的圖像測量的實際距離2530與來自模型的預期距離2540進行比較來校正或調整車輛200的橫向定位。
362.圖25c和圖25d提供了與用於在導航期間基於稀疏地圖中繪圖的地標/對象/特徵來定位主車輛的另一示例相關聯的圖示。圖25c概念性地表示從沿道路段2560導航的車輛捕獲的一系列圖像。在該示例中,道路段2560包括由道路邊緣2561和2562以及中心車道標記2563描畫的兩車道分開的高速公路的徑直部分。如圖所示,主車輛正在沿著與繪圖的目標軌跡2565相關聯的車道2564導航。因此,在理想情形下(並且沒有諸如道路中存在目標車輛或對象等的影響者),在主車輛沿道路段2560的車道2564導航時,主車輛應該密切追蹤繪圖的目標軌跡2565。實際上,在主車輛沿繪圖的目標軌跡2565導航時,主車輛可能經歷漂移。為了有效和安全的導航,該漂移應保持在可接受的限制內(例如,距目標軌跡2565的橫向位移+/-10釐米或任何其他合適的閾值)。為了周期性地考慮漂移並進行任何需要的航線校正以確保主車輛遵循目標軌跡2565,公開的導航系統可以能夠使用包括在稀疏地圖中的一個或多個繪圖的特徵/對象沿目標軌跡2565定位主車輛(例如,確定主車輛相對於目標軌跡2565的橫向和縱向定位)。
363.作為簡單的示例,圖25c示出了當主車輛沿著道路段2560導航時可能出現在五個不同的順序捕獲的圖像中的速率限制標誌2566。例如,在第一時間t0,標誌2566可能在捕獲的圖像中出現在地平線附近。隨著主車輛接近標誌2566,在時間t1、t2、t3和t4的後續捕獲的圖像中,標誌2566將出現在捕獲圖像的不同2d x-y像素位置處。例如,在捕獲的圖像空間中,標誌2566將沿著曲線2567(例如,在五個捕獲的圖像幀中的每個圖像幀中延伸通過標誌
中心的曲線)向下和向右移動。當主車輛接近標誌2566時,標誌2566的大小也將出現增加(即,它將在後續捕獲的圖像中佔據大量像素)。
364.可以利用諸如標誌2566的對象的圖像空間表示中的這些改變來確定主車輛沿目標軌跡的局部(localized)定位。例如,如在本公開中所描述的,任何可檢測的對象或特徵(諸如像標誌2566的語義特徵,或者可檢測的非語義特徵),可以由先前穿越道路段(例如,道路段2560)的一個或多個收穫車輛識別。繪圖伺服器可以從多個車輛收集收穫的駕駛信息,將該信息聚合併相關,並生成稀疏地圖(例如,包括道路段2560的車道2564的目標軌跡2565)。稀疏地圖還可以存儲標誌2566的位置(連同類型信息等)。在導航期間(例如,在進入道路段2560之前),可以向主車輛供應包括路段2560的稀疏地圖的地圖瓦片(tile)。為了在道路段2560的車道2564中導航,主車輛可以遵循繪圖的目標軌跡2565。
365.主車輛可以使用標誌2566的繪圖的表示來相對於目標軌跡對其自身進行定位。例如,如圖25d所示,主車輛上的相機將捕獲主車輛的環境的圖像2570,並且該捕獲的圖像2570可以包括具有一定大小和一定x-y圖像位置的標誌2566的圖像表示。該大小和x-y圖像位置可以用於確定主車輛相對於目標軌跡2565的定位。例如,基於包括標誌2566的表示的稀疏地圖,主車輛的導航處理器可以確定:響應於主車輛沿目標軌跡2565行駛,標誌2566的表示應出現在捕獲的圖像中,使得標誌2566的中心將沿著線2567(在圖像空間中)移動。如果捕獲的圖像(例如圖像2570)示出中心(或其他參考點)從線2567(例如,預期的圖像空間軌跡)位移,則主車輛導航系統可以確定在捕獲的圖像的時間處,其不位於目標軌跡2565上。然而,從圖像中,導航處理器可以確定適當的導航校正以將主車輛返回到目標軌跡2565。例如,如果分析示出標誌2566的圖像位置在圖像中向線2567上的預期圖像空間位置的左邊位移了距離2572,則導航處理器可以引起主車輛的走向改變(例如,改變車輪的轉向角)以使主車輛向左移動了距離2573。以這種方式,每個捕獲的圖像都可以用作反饋循環過程的一部分,使得可以最小化標誌2566的觀察的圖像定位和預期的圖像軌跡2567之間的差異,以確保主車輛幾乎沒有偏差地持續沿著目標軌跡2565。當然,可用的繪圖的對象越多,可以採用的描述的定位技術越頻繁,這可以減少或消除漂移引起的與目標軌跡2565的偏差。
366.上述過程可以對檢測主車輛相對於目標軌跡的橫向朝向或位移有用。主車輛相對於目標軌跡2565的定位還可以包括確定目標車輛沿目標軌跡的縱向位置。例如,捕獲的圖像2570包括作為具有一定圖像大小(例如,2d x-y像素區域)的標誌2566的表示。隨著其行駛通過沿著線2567的圖像空間(例如,隨著標誌的大小逐漸增加,如圖25c所示),可以將該大小與繪圖的標誌2566的預期圖像大小進行比較。基於圖像2570中的標誌2566的圖像大小,以及基於相對於繪圖的目標軌跡2565的、圖像空間中的預期大小進展,主車輛可以確定其相對於目標軌跡2565的縱向定位(在捕獲圖像2570的時間)。如上所述,與相對於目標軌跡2565的任何橫向位移耦合的該縱向定位,當主車輛沿道路2560導航時,允許主車輛相對於目標軌跡2565的完全定位。
367.圖25c和圖25d僅提供了使用單個繪圖的對象和單個目標軌跡的公開的定位技術的一個示例。在其他示例中,可能有更多的目標軌跡(例如,多車道高速公路、城市街道、複雜岔道口等的每個可行車道的一個目標軌跡),並且可能有更多的繪圖可用於定位。例如,表示城市環境的稀疏地圖每米可能包括許多可用於定位的對象。
368.圖26a是示出了與公開的實施例一致的、用於對車道標記進行繪圖以用於自主車輛導航的示例性過程2600a的流程圖。在步驟2610,過程2600a可以包括接收與檢測的車道標記相關聯的兩個或更多位置標識符。例如,步驟2610可以由伺服器1230或與該伺服器相關聯的一個或多個處理器執行。如上面關於圖24e所描述的,位置標識符可以包括與檢測的車道標記相關聯的點在真實世界坐標中的位置。在一些實施例中,位置標識符還可以包含其他數據,諸如關於道路段或車道標記的附加信息。在步驟2610期間還可接收附加數據,諸如加速度計數據、速率數據、地標數據、道路幾何結構或簡檔數據、車輛定位數據、自我運動數據或上述各種其他形式的數據。位置標識符可以由諸如車輛1205、1210、1215、1220和1225的車輛基於車輛捕獲的圖像來生成。例如,可以基於從與主車輛相關聯的相機獲取表示主車輛的環境的至少一個圖像、分析至少一個圖像以檢測主車輛的環境中的車道標記、以及分析至少一個圖像以確定檢測的車道標記相對於與主車輛相關聯的位置的定位,來確定標識符。如上所述,車道標記可以包括各種不同的標記類型,並且位置標識符可以與關於車道標記的各種點對應。例如,在檢測的車道標記是標記車道邊界的虛線的部分的情況下,點可以對應於車道標記的檢測的拐角。在檢測的車道標記是標記車道邊界的連續線的部分的情況下,點可以以如上所述的各種間隔對應於車道標記的檢測的邊緣。在一些實施例中,如圖24c所示,點可以對應於檢測的車道標記的中心線,或者如圖24d所示,點可以對應於兩個相交車道標記之間的頂點以及與相交車道標記相關聯的至少一個兩個其他點。
369.在步驟2612,過程2600a可以包括將檢測的車道標記與對應的道路段相關聯。例如,伺服器1230可以分析在步驟2610期間接收的真實世界坐標或其他信息,並將坐標或其他信息與存儲在自主車輛道路導航模型中的位置信息進行比較。伺服器1230可以確定與其中檢測到車道標記的真實世界道路段對應的、模型中的道路段。
370.在步驟2614,過程2600a可以包括基於與檢測的車道標記相關聯的兩個或更多位置標識符來更新關於對應的道路段的自主車輛道路導航模型。例如,自主道路導航模型可以是稀疏地圖800,並且伺服器1230可以更新稀疏地圖,以在模型中包括或調整繪圖的車道標記。伺服器1230可以基於上面關於圖24e描述的各種方法或過程來更新模型。在一些實施例中,更新自主車輛道路導航模型可以包括存儲檢測的車道標記的真實世界坐標中的定位的一個或多個指示符。如圖24e所示,自主車輛道路導航模型還可以包括車輛沿對應的道路段遵循的至少一個目標軌跡。
371.在步驟2616,過程2600a可以包括將更新的自主車輛道路導航模型分發給多個自主車輛。例如,伺服器1230可以將更新的自主車輛道路導航模型分發給可以使用模型進行導航的車輛1205、1210、1215、1220和1225。如圖12所示,自主車輛道路導航模型可以通過無線通信路徑1235經由一個或多個網絡(例如,通過蜂窩網絡和/或網際網路等)分發。
372.在一些實施例中,如上文關於圖24e所描述的,可以諸如通過眾包技術使用從多個車輛接收的數據來對車道標記進行繪圖。例如,過程2600a可以包括從第一主車輛接收包括與檢測的車道標記相關聯的位置標識符的第一通信,以及從第二主車輛接收包括與檢測的車道標記相關聯的附加的位置標識符的第二通信。例如,可以從在相同道路段上行駛的後續車輛接收第二通信,或者從沿著相同道路段的後續行程上的相同車輛接收第二通信。過程2600a還可以包括基於在第一通信中接收的位置標識符以及基於在第二通信中接收的附加的位置標識符來細化(refine)對與檢測的車道標記相關聯的至少一個定位的確定。這可
以包括使用多個位置標識符的平均值和/或過濾掉可能不反映車道標記的真實世界定位的「幻影」標識符。
373.圖26b是示出用於使用繪圖的車道標記沿道路段自主導航主車輛的示例性過程2600b的流程圖。過程2600b可以例如由自主車輛200的處理單元110執行。在步驟2620,過程2600b可以包括從基於伺服器的系統接收自主車輛道路導航模型。在一些實施例中,自主車輛道路導航模型可以包括主車輛沿道路段的目標軌跡、以及與和道路段相關聯的一個或多個車道標記相關聯的位置標識符。例如,車輛200可以接收稀疏地圖800或使用過程2600a開發的另一個道路導航模型。在一些實施例中,例如,如圖9b所示,目標軌跡可以表示為三維樣條。如上面關於圖24a-圖24f所描述的,位置標識符可以包括與車道標記相關聯的點的真實世界坐標中的位置(例如,虛線車道標記的拐角點、連續車道標記的邊緣點、兩個相交車道標記之間的頂點以及與交叉車道標記相關聯的其他點、與車道標記相關聯的中心線等)。
374.在步驟2621,過程2600b可以包括接收表示車輛的環境的至少一個圖像。可以諸如通過包括在圖像獲取單元120中的圖像捕獲設備122和124,從車輛的圖像捕獲設備接收圖像。圖像可以包括類似於上述圖像2500的一個或多個車道標記的圖像。
375.在步驟2622,過程2600b可以包括確定主車輛沿目標軌跡的縱向定位。如上面關於圖25a所描述的,這可以基於捕獲的圖像中的其他信息(例如,地標等)或通過檢測的地標之間的車輛航跡推算。
376.在步驟2623,過程2600b可以包括基於主車輛沿目標軌跡的確定的縱向定位以及基於與至少一個車道標記相關聯的兩個或更多位置標識符,來確定到車道標記的預期橫向距離。例如,車輛200可以使用稀疏地圖800來確定到車道標記的預期橫向距離。如圖25b所示,可以在步驟2622中確定沿著目標軌跡2555的縱向定位2520。使用稀疏地圖800,車輛200可以確定到對應於縱向定位2520的繪圖的車道標記2550的預期距離2540。
377.在步驟2624,過程2600b可以包括分析至少一個圖像以識別至少一個車道標記。例如,車輛200可以使用各種圖像辨識技術或算法來識別圖像內的車道標記,如上所述。例如,如圖25a所示,車道標記2510可以通過圖像2500的圖像分析來檢測。
378.在步驟2625,過程2600b可以包括基於對至少一個圖像的分析確定到至少一個車道標記的實際橫向距離。例如,車輛可以如圖25所示地確定表示車輛和車道標記2510之間的實際距離的距離2530。在確定距離2530中,可以考慮相機角度、車輛速率、車輛寬度、相機相對於車輛的定位或各種其他因素。
379.在步驟2626,過程2600b可以包括基於到至少一個車道標記的預期橫向距離和到至少一個車道標記的確定的實際橫向距離之間的差異,來確定主車輛的自主轉向動作。例如,如上面關於圖25b所描述,車輛200可以將實際距離2530與預期距離2540進行比較。實際距離和預期距離之間的差異可以指示車輛的實際定位和車輛要遵循的目標軌跡之間的誤差(及其量值)。因此,車輛可以基於該差異確定自主轉向動作或其他自主動作。例如,如圖25b所示,如果實際距離2530小於預期距離2540,則車輛可以確定自主轉向動作以將車輛導向左邊,遠離車道標記2510。因此,可以校正車輛相對於目標軌跡的定位。例如,可以使用過程2600b來改進車輛在地標之間的導航。
380.過程2600a和2600b僅提供可以用於使用公開的稀疏地圖導航主車輛的技術的示例。在其他示例中,也可以採用與相對於圖25c和圖25d所描述的過程一致的過程。
381.lidar輸出的自我運動校正
382.如本公開的其他地方所述,車輛或駕駛員可以沿著環境中的道路段導航車輛。車輛可以收集與道路相關的各種類型的信息。例如,車輛可以配備有lidar系統以從來自其環境中的一個或多個對象收集lidar反射和/或配備有一個或多個相機以從環境中捕獲圖像。由於主車輛自身的移動,非移動對象(例如,燈杆)可能在lidar系統的視場中移動,其可能作為移動對象出現在收集的數據中(例如,基於對象對雷射發射的反射而生成的點雲),即使對象本身不移動。因此,在某些實例中,在複雜、雜亂的場景中,可能難以檢測小對象和緩慢移動的對象。此外,傳統的lidar系統可能將較小的對象誤識別為移動對象。類似地,傳統的lidar系統可能將與主車輛一起移動的移動對象(例如,目標車輛)誤識別為非移動對象。因此,可能期望減少或消除將非移動對象誤識別為移動對象(反之亦然)的可能性。本公開描述了可以跨兩個或更多幀相關lidar點並移除由主車輛的自我運動引起的深度效應的系統和方法。在移除了由自我運動造成的效應之後,靜態對象(例如,非移動背景對象)可能不示出速度(即,其速度等於零),並且移動對象可以被識別為具有包括大於零的速度的點的對象。
383.例如,本公開提供了可以確定主車輛的自我運動的至少一個指示符的系統。主車輛的自我運動可以指主車輛關於非移動參考點或對象的任何環境位移。例如,如本公開的其他地方所描述的,可以基於捕獲的圖像的光流分析來估計相機(以及因此車身)的自我運動。圖像序列的光流分析從圖像序列中識別像素的移動,並基於識別的移動來確定車輛的運動。系統還可以被配置為從與主車輛相關聯的lidar系統、並且基於lidar系統的視場的第一lidar掃描、接收在例如第一時間點處的第一點雲。第一點雲可以包括對象的至少一部分的第一表示。該系統還可以被配置為從lidar系統、並且基於lidar系統的視場的第二lidar掃描,接收在例如第二時間點處的第二點雲。第二點雲可以包括對象的至少一部分的第二表示。該系統還可以基於主車輛的自我運動的至少一個指示符、以及基於包括對象的至少一部分的第一表示的第一點雲與包括對象的至少一部分的第二表示的第二點雲的比較,來確定對象的速度。
384.圖27示出了與公開的實施例一致的、用於檢測主車輛的環境中的一個或多個對象的示例性系統2700。如圖27所示,系統2700可以包括伺服器2710、一個或多個車輛2720(例如,車輛2720a、車輛2720b、...、車輛2720n)、網絡2730和資料庫2740。
385.車輛2720可以從其環境收集信息並且將收集的信息經由例如網絡2730向伺服器2710傳輸。例如,車輛2720可以包括一個或多個傳感器,一個或多個傳感器被配置為從其環境收集數據和信息。車輛2720可以向伺服器2710傳輸數據和信息(或從其導出的數據)。作為示例,車輛2720可以包括被配置為捕獲其環境的一個或多個圖像的圖像傳感器(例如,相機)。作為另一示例,車輛2720可以包括lidar系統,lidar系統被配置為在車輛2720周圍的360度視場內或從360度視場的任何子段(例如,每個表示小於360度的一個或多個fov)採集(gather)lidar反射信息。在一些實施例中,車輛2720可以包括lidar系統和一個或多個相機。
386.伺服器2710可以處理從一個或多個車輛2720接收的數據和/或信息。例如,伺服器2710可以從車輛2720接收與對象相關的信息(例如,對象的位置)。伺服器2710可以更新地圖以將對象添加到地圖中(或從地圖中移除對象)。在一些實施例中,伺服器2710可以向一
個或多個車輛2720傳輸更新的地圖(或其至少一部分)。
387.儘管圖27示出了一個伺服器2710,但是本領域技術人員將理解系統300可以包括單獨地或以組合執行本技術中公開的伺服器2710的功能的一個或多個伺服器2710。例如,伺服器2710可以構成包括執行本文公開的功能的兩個或更多伺服器的雲伺服器分組。術語「雲伺服器」是指經由網絡(諸如網際網路)提供服務的計算機平臺。在該示例配置中,伺服器2710可以使用可能不對應於單獨硬體的虛擬機。例如,計算和/或存儲能力可以通過從諸如數據中心或分布式計算環境的可擴張(scalable)存儲庫分配適當部分的計算/存儲力來實現。在一個示例中,伺服器2710可以使用定製的硬連線邏輯、一個或多個專用集成電路(asic)或現場可編程門陣列(fpga)、固件和/或程序邏輯(其與計算機系統組合地使伺服器2710成為專用機器)來實現本文所述的方法。
388.網絡2730可以被配置為促進系統2700的組件之間的通信。網絡2730可以包括有線和無線通信網絡,例如區域網(lan)、廣域網(wan)、計算機網絡、無線網絡、電信網絡等或它們的組合。
389.資料庫2740可以被配置為存儲針對系統2700的一個或多個組件的信息和數據。例如,資料庫2740可以存儲針對伺服器2710的數據(例如,地圖數據)。一個或多個車輛2720可以例如經由網絡2730獲得存儲在資料庫2740中的地圖數據。
390.圖28是與公開的實施例一致的示例性伺服器2710的框圖。如圖28所示,伺服器2710可以包括至少一個處理器(例如,處理器2801)、存儲器2802、至少一個存儲設備(例如,存儲設備2803)、通信埠2804和i/o設備2805。
391.處理器2801可以被配置為執行本公開中描述的伺服器2710的一個或多個功能。處理器2801可以包括微處理器、預處理器(諸如圖像預處理器)、圖形處理單元(gpu)、中央處理單元(cpu)、支持電路、數位訊號處理器、集成電路、存儲器或適合於運行應用或執行計算任務的任何其他類型的設備。在一些實施例中,處理器2801可以包括任何類型的單核或多核處理器、行動裝置微控制器、中央處理單元等。可以使用各種處理設備,包括例如可從諸如等製造商獲得的處理器,或可從諸如等製造商獲得的gpu,並且可以包括各種架構(例如,x86處理器、等)。本文公開的任何處理設備可以被配置為執行一定功能。將諸如任何描述的處理器或其他控制器或微處理器的處理設備配置為執行一定功能可以包括對計算機可執行指令進行編程並使這些指令可用於處理設備,以在處理設備的操作期間執行。在一些實施例中,配置處理設備可以包括使用架構指令直接對處理設備進行編程。例如,可以使用例如一個或多個硬體描述語言(hdl)來配置諸如現場可編程門陣列(fpga)、專用集成電路(asic)等的處理設備。
392.伺服器2710還可以包括可以存儲針對伺服器2710的各種組件的指令的存儲器2802。例如,存儲器2802可以存儲指令,當由處理器2801執行時,所述指令可以被配置為使處理器2801執行本文所述的一個或多個功能。存儲器2802可以包括任意數量的隨機存取存儲器、只讀存儲器、快閃記憶體、磁碟驅動器、光存儲、磁帶存儲、可移動存儲和其他類型的存儲。在一個實例中,存儲器2802可以與處理器2801分開。在另一個實例中,存儲器2802可以集成到處理器2801中。
393.存儲設備2803可以被配置為存儲針對伺服器2710的一個或多個組件的各種數據和信息。例如,存儲設備2803可以存儲地圖數據。伺服器2710可以基於從一個或多個車輛
2720接收的數據和/或信息更新地圖數據。伺服器2710還可以將更新的地圖數據存儲到存儲設備2803中。存儲設備2803可以包括一個或多個硬碟驅動器、磁帶、一個或多個固態驅動器、任何適合寫入和讀取數據的設備等,或其組合。
394.通信埠2804可以被配置為促進經由網絡2730的、伺服器2710和系統2700的一個或多個組件之間的數據通信。例如,通信埠2804可以被配置為經由一個或多個公共或私人網絡(包括網際網路、內聯網、wan(廣域網)、man(城域網)、符合ieee 802.11a/b/g/n標準的無線網絡、租用線路等)從系統100的一個或多個組件接收數據和向系統100的一個或多個組件傳輸數據。
395.i/o設備2805可以被配置為從伺服器2710的用戶接收輸入,並且伺服器2710的一個或多個組件可以響應於接收的輸入執行一個或多個功能。在一些實施例中,i/o設備2805可以包括顯示在觸控螢幕上的接口。i/o設備2805還可以被配置為向用戶輸出信息和/或數據。例如,i/o設備2805可以包括被配置為顯示地圖數據的顯示器。
396.圖29是與公開的實施例一致的示例性車輛2720的框圖。如圖29所示,車輛2720可以包括至少一個處理器(例如,處理器2901)、存儲器2902、至少一個存儲設備(例如,存儲設備2903)、通信埠2904、i/o設備2905、一個或多個傳感器2906、lidar系統2907和導航系統2908。
397.處理器2901可以被配置為執行本公開中描述的車輛2720的一個或多個功能。處理器2901可以包括微處理器、預處理器(諸如圖像預處理器)、圖形處理單元(gpu)、中央處理單元(cpu)、支持電路、數位訊號處理器、集成電路、存儲器或適合於運行應用或執行計算任務的任何其他類型的設備。在一些實施例中,處理器2901可以包括任何類型的單核或多核處理器、行動裝置微控制器、中央處理單元等。可以使用各種處理設備,包括例如可從諸如等製造商獲得的處理器,或可從諸如等製造商獲得的gpu,並且可以包括各種架構(例如,x86處理器、等)。本文公開的任何處理設備可以被配置為執行一定功能。將諸如任何描述的處理器或其他控制器或微處理器的處理設備配置為執行一定功能可以包括對計算機可執行指令進行編程並使這些指令可用於處理設備,以在處理設備的操作期間執行。在一些實施例中,配置處理設備可以包括使用架構指令直接對處理設備進行編程。例如,可以使用例如一個或多個硬體描述語言(hdl)來配置諸如現場可編程門陣列(fpga)、專用集成電路(asic)等的處理設備。
398.車輛2720還可以包括存儲器2902,其可以存儲用於伺服器2710的各種組件的指令。例如,存儲器2902可以存儲指令,當由處理器2901執行時,所述指令可以被配置為使處理器2901執行本文所述的一個或多個功能。存儲器2902可以包括任意數量的隨機存取存儲器、只讀存儲器、快閃記憶體、磁碟驅動器、光存儲、磁帶存儲、可移動存儲和其他類型的存儲。在一個實例中,存儲器2902可以與處理器2901分開。在另一個實例中,存儲器2902可以集成到處理器2901中。在一些實施例中,存儲器2902可以包括用於執行一個或多個計算任務的軟體,以及經訓練的系統,諸如神經網絡或深度神經網絡。
399.存儲設備2903可以被配置為存儲針對車輛2720的一個或多個組件的各種數據和信息。存儲設備2903可以包括一個或多個硬碟驅動器、磁帶、一個或多個固態驅動器、適合於寫入和讀取數據的任何設備等,或其組合。
400.通信埠2904可以被配置為促進經由網絡2730的、車輛2720和系統2700的一個或
多個組件之間的數據通信。例如,通信埠2904可以被配置為經由一個或多個公共或私人網絡(包括網際網路、內聯網、wan(廣域網)、man(城域網)、符合ieee 802.11a/b/g/n標準的無線網絡、租用線路等)從伺服器2710接收數據和向伺服器2710傳輸數據。
401.i/o設備2905可以被配置為從伺服器2710的用戶接收輸入,並且伺服器2710的一個或多個組件可以響應於接收的輸入執行一個或多個功能。在一些實施例中,i/o設備2905可以包括顯示在觸控螢幕上的接口。i/o設備2905還可以被配置為向用戶輸出信息和/或數據。例如,i/o設備2905可以包括被配置為顯示地圖的顯示器。在一些實施例中,車輛2720可以經由例如網絡2730從伺服器2710接收地圖(或其至少一部分)的數據。
402.傳感器2906可以被配置為收集與車輛2720和/或車輛2720的環境相關的信息。傳感器2906可以包括圖像傳感器(例如相機)、定位設備(例如全球定位系統(gps)設備)、加速度計、陀螺儀傳感器、速率計等中的一個或多個或其組合。例如,車輛2720可以包括被配置為捕獲其環境的一個或多個圖像(其可以包括對象(或其至少一部分)的表示)的圖像傳感器(例如,相機)。作為另一個示例,車輛2720可以包括被配置為在一時間段內收集與車輛2720的定位相關聯的定位數據的gps設備。
403.lidar系統2907可以包括一個或多個lidar單元。在一些實施例中,一個或多個lidar單元可以定位在車輛2720的車頂上。這樣的單元可以包括旋轉單元,旋轉單元被配置為在車輛2720周圍的360度視場內或從360度視場的任何子段(例如,每個表示小於360度的一個或多個fov)採集lidar反射信息。在一些實施例中,lidar單元可以定位在車輛2720的前方位置處(例如,前燈附近、前格柵中、霧燈附近、前保險槓中或任何其他合適的位置處)。在一些情況下,安裝在車輛2720前方部分的一個或多個lidar單元可以從車輛2720前方環境中的視場收集反射信息。lidar系統2907收集的數據可以提供給處理器2901。可替代地或附加地,可以經由網絡2730向伺服器2710和/或資料庫2740傳輸數據。
404.在車輛2720上可以包括任何合適類型的lidar單元。在一些情況下,lidar系統2907可以包括其中使用單個雷射脈衝照明整個lidar視場(fov)的、一個或多個閃光lidar單元(例如,3d閃光lidar),以及包括像素的行和列以記錄返回的光強度和飛行時間/深度信息的傳感器。這樣的閃光系統可以每秒多次照明場景並收集lidar「圖像」。也可以採用掃描lidar單元。這樣的掃描lidar單元可以依賴於用於將雷射波束分散到特定的fov上的一個或多個技術。在某些情況下,掃描lidar單元可以包括掃描鏡,該掃描鏡將雷射波束朝著fov內的對象偏轉和導向。掃描鏡可以旋轉貫穿完整的360度,或者可以沿著單個軸或多個軸旋轉小於360度,以將雷射朝著預定的fov導向。在一些情況下,lidar單元可以掃描一個水平線。在其他情況下,lidar單元可以掃描fov內的多個水平線,從而有效地每秒對特定fov進行多次光柵化。
405.lidar系統2907中的lidar單元可以包括任何合適的雷射源。在一些實施例中,lidar單元可以採用連續雷射。在其他情況下,lidar單元可能依賴於脈衝雷射發射。此外,可以採用任何合適的雷射波長。在一些情況下,可以使用大約600納米至大約1000納米之間的波長。
406.lidar系統2907中的lidar單元還可以包括任何合適類型的傳感器並提供任何合適類型的輸出。在某些情況下,lidar單元的傳感器可以包括固態光電檢測器,諸如一個或多個光電二極體或光電倍增管。傳感器還可以包括包含任意數量的像素的一個或多個cmos
或ccd設備。這些傳感器可能對從lidar fov內的場景反射的雷射敏感。傳感器可以使得能夠進行來自lidar單元的各種類型的輸出。在一些情況下,lidar單元可以輸出表示在每個傳感器處或在特定傳感器的每個像素或子組件處收集的反射雷射的飛行時間信息和原始光強度值。附加或可替代地,lidar單元可以輸出點雲(例如,3d點雲),其可以包括關於收集的每個點的光強度和深度/距離信息。lidar單元還可以輸出表示光反射幅度和到視場內的點的距離的各種類型的深度圖(depth map)。lidar單元可以通過記下來自lidar光源的光最初朝著fov投射的時間並記錄入射雷射被lidar單元中的傳感器接收的時間,來提供關於fov內特定點的深度或距離信息。時間差可以表示飛行時間,其可以與入射雷射從雷射源行進(travel)到反射對象並返回到lidar單元的往返行程距離直接相關。監視與lidar fov的單獨雷射光斑或小段相關聯的飛行時間信息可以為fov內的多個點提供準確的距離信息(例如,映射到fov內對象的甚至非常小的特徵)。在某些情況下,lidar單元可以輸出更複雜的信息,諸如將一個或多個雷射反射與從其獲取雷射反射的對象的類型相關的分類信息。
407.導航系統2908可以被配置為輔助車輛2720的駕駛員操作車輛2720。例如,導航系統2908可以在對象(例如,另一個車輛)距車輛2720的車身預定距離內時生成警報。作為另一個示例,導航系統2908可以包括被配置為如本公開其他地方所述地控制車輛2720的移動的自主車輛導航系統。在一些實施例中,導航系統2908可以包括高級駕駛員輔助系統(adas)系統。
408.圖31是示出與公開的實施例一致的示例性過程3100的流程圖。還提及圖30a和圖30b,圖30a和圖30b是與公開的實施例一致的導航系統相關聯的視場中的示例性對象的示意性圖示。雖然下面使用車輛2720作為示例來描述過程3100,但是本領域技術人員將理解伺服器2710也可以被配置為執行過程3100的一個或多個步驟。
409.在步驟3101,車輛2720的處理器2901可以確定主車輛(即,車輛2720)的自我運動的至少一個指示符。主車輛的自我運動可以指主車輛相對於非移動參考點或對象的任何環境位移。主車輛的自我運動的指示符可以包括指示主車輛相對於非移動參考點或對象(例如,建築物、道路段的邊線、電線桿、燈杆、樹木等)移動的任何信息。
410.例如,車輛2720可以包括被配置為從其環境中捕獲多個圖像的車載相機。處理器2901可以被配置為接收多個圖像並且基於多個圖像的分析來確定車輛是否關於剛性結構移動(即,車輛的自我運動的指示符)。作為示例,車輛2720的相機可以捕獲圖30a中所示的圖像3000a,然後捕獲圖30b中所示的圖像3000b。處理器2901可以接收並分析圖像3000a和3000b以確定車輛關於非移動對象(例如,對象3002、燈杆)正在向前移動。作為示例,處理器2901可以確定在圖像3000b中出現的對象3002的大小可能大於在圖像3000a中的對象3002的大小。處理器2901還可以確定車輛2720正朝著對象3002移動。可替代地或附加地,可以基於地圖信息的分析來確定主車輛的自我運動的至少一個指示符。例如,處理器2901可以確定車輛2720在地圖上的第一定位並確定車輛2720在地圖上的第二定位,並將第一定位與第二定位進行比較。處理器2901還可以基於比較(例如,第一定位不同於第二定位)來確定主車輛的自我運動的至少一個指示符。可替代地或附加地,可以基於主車輛的走向方向來確定主車輛的自我運動的至少一個指示符。例如,車輛2720可以包括被配置為確定車輛2720的走向方向的傳感器(例如,羅盤)。處理器2901可以確定走向方向是否隨時間改變,如果是,則處理器2901可以確定主車輛正在移動(即,主車輛的自我運動的一個指示符)。可替代
地或附加地,可以基於對來自速率計(例如,指示主車輛的裡程隨時間的改變)、加速度計(例如,檢測主車輛的加速度)和gps設備(例如,基於隨時間接收的gps信號檢測主車輛的定位的改變)中的一個或多個的輸出的分析,來確定主車輛的自我運動的至少一個指示符。可替代地或附加地,可以基於隨時間收集的一系列點雲來確定主車輛的自我運動的至少一個指示符。例如,lidar系統2907可以生成在第一時間點處收集的第一點雲,其可以包括非移動項目(例如,燈杆)的第一點雲表示。lidar系統2907可以生成在第一時間點之後的第二時間點處收集的第二點雲,其還可以包括相同的非移動對象的第二點雲表示。處理器2901可以基於第一點雲表示和第二點雲表示的差異(例如,指示主車輛從第一時間點到第二時間點朝著燈杆移動)來確定主車輛的自我運動的至少一個指示符。可替代地或附加地,可以基於點雲和圖像的組合來確定主車輛的自我運動的至少一個指示符。例如,處理器2901可以獲得在第一時間點處捕獲的第一點雲和第一圖像,以及在第二時間處捕獲的第二點雲和第二圖像。處理器2901還可以基於第一和第二點雲之間的差異以及第一和第二圖像之間的差異來確定主車輛的自我運動的至少一個指示符。
411.在步驟3102,處理器2901可以從與主車輛相關聯的lidar系統(例如,lidar系統2907)並且基於lidar系統的視場的第一lidar掃描接收第一點雲。第一點雲可以包括lidar系統的視場內的對象的至少一部分的第一表示。在一些實施例中,可以在第一時間點處收集第一點雲。
412.如本公開的其他地方,lidar系統2907可以包括被配置為將雷射(例如,連續雷射或脈衝雷射發射)發射到lidar系統2907的視場中的雷射源。lidar系統2907可以包括被配置為檢測來自視場中的一個或多個對象的雷射的反射的一個或多個傳感器。lidar系統2907可以生成包括關於由傳感器收集的每個點的光強度和深度/距離信息的點雲(例如,3d點雲)。
413.lidar系統2907可以生成第一點雲,該第一點雲包括lidar系統2907在第一時間點處檢測到多個雷射反射的所處的、lidar系統2907的視場中的多個位置的三維坐標的。lidar系統2907還可以向處理器2901傳輸生成的第一點雲以供進一步處理。第一點雲可以包括在lidar系統2907的視場內的對象的至少一部分的第一表示。點雲中包括的對象的至少一部分的表示是指與lidar系統2907的一個或多個傳感器檢測的對象的至少一部分的雷射反射相關的信息的集合(collection)。
414.在一些實施例中,lidar系統2907還可以向處理器2901輸出表示光反射幅度和到視場內的點的距離的各種類型的深度圖。
415.在步驟3103,處理器2901可以從lidar系統2907並且基於lidar系統2907的視場的第二lidar掃描接收第二點雲,第二點雲包括對象的至少一部分的第二表示。第二點雲可以包括在lidar系統2907的視場內的對象的至少一部分的第二表示。在一些實施例中,可以在第二時間點處收集第二點雲。第二時間點可以發生在第一時間點之後。
416.在一些實施例中,第二點雲可以包括由lidar系統2907檢測的多個雷射反射所處於的、lidar系統2907的視場中的多個位置的三維坐標。
417.在步驟3104,處理器2901可以基於主車輛的自我運動的至少一個指示符、並基於第一點雲(其可以包括對象的至少一部分的第一表示)和第二點雲(其可以包括對象的至少一部分的第二表示)的比較來確定對象的速度。在一些實施例中,確定主車輛的速度可以包
括確定對象的速率和/或對象的方向。
418.在一些實施例中,處理器2901可以基於第一點雲和第二點雲之間的至少一個實際點雲差異來確定對象的速度。兩個點雲之間的實際點雲差異是指兩個點雲的數據的差異。如本公開的其他地方所述,點雲是關於由lidar系統2907的傳感器收集的每個點的光強度和深度/距離信息的集合。處理器2901可以從第二點雲數據中減去第一點雲的數據以確定實際點雲差異。
419.在一些實施例中,處理器2901還可以確定由於主車輛的自我運動而導致的第一點雲和第二點雲之間的預期點雲差異。如上所述,當主車輛移動時,對象可能在lidar系統2907的視場中移動。例如,如果主車輛移動,則在lidar系統2907的視場中的非移動對象的位置可能改變。處理器2901可以基於主車輛的速度和/或方向(其可以如本公開的其他地方所描述的那樣確定)來確定第一點雲和第二點雲之間的預期點雲差異。預期點雲差異是指第一點雲(其可以是在第一時間點處測量的測量數據集合)與在第二時間點處的預期點雲(其可以基於第一點雲以及主車輛的確定的自我運動(例如,主車輛的速度和/或方向)來計算)之間的差異。例如,處理器2901可以基於主車輛的速度和方向和第一點雲、基於對象3002(或其至少一部分)的位置從第一時間點到第二時間點相對於lidar系統2907的視場的改變,來確定預期點雲差異。作為示例,當主車輛正在直行移動時,可以預期對象3002的位置(在圖像3000a和圖像3000b中示出)朝著lidar系統2907的視場中的上面和右面轉換。處理器2901可以基於主車輛的速度和/或方向以及對象3001在第一點雲中的位置來確定與對象3002的位置改變相關的預期點雲差異。可替代地或附加地,處理器2901可以確定相對於第一點雲中對象3002的第一點雲表示的、出現在第二時間點處的預期第二點雲(其可以是與測量的第二點雲相比的計算的數據集合)中的對象3002(或其至少一部分)的大小的預期改變。例如,與在第一時間點處第一點雲中出現的對象3002的大小相比,在第二時間點處預期第二點雲中出現的對象3002的大小可能增加。處理器2901還可以基於對象3002(或其至少一部分)的大小的預期改變來確定預期點雲差異。處理器2901還可以基於實際點雲差異和預期點雲差異的比較來確定對象的速度。例如,如果處理器2901確定實際點雲和預期點雲之間沒有差異(或實際點雲和預期點雲之間的差異小於閾值),則處理器2901可以確定對象3002的速度等於零(即,對象3002沒在移動)。作為另一個示例,如上所述,處理器2901可以基於主車輛的速度和/或方向,來確定預期第二點雲(其可以是基於第一點雲和主車輛的速度和/或方向的、在第二時間點處計算的點雲)中對象3001的點雲表示相對於第一點雲中對象3001的第一點雲表示的大小改變。作為另一個示例,類似於對上述對象3002的速度的確定,處理器2901可以基於與對象3001相關的實際點雲差異和預期點雲差異的比較來確定對象3001(移動的車輛)的速度。處理器2901還可以確定與對象3001相關的實際點雲差異和預期點雲差異可以指示對象3001的速度不為零。
420.在一些實施例中,處理器2901可以基於主車輛的自我運動的至少一個指示符和兩個圖像的比較來確定主車輛的速度。例如,車輛2720的相機可以在第一時間點處捕獲圖30a中所示的圖像3000a,並且然後在第二時間點處捕獲圖30b中所示的圖像3000b。圖像3000a可以包括對象3002的至少一部分(以及對象3001的至少一部分)的第一圖像表示,並且圖像3000b可以包括對象3002的至少一部分(以及對象3001的至少一部分)的第二圖像表示。處理器2901可以基於圖像3000a和圖像3000b的比較(和/或主車輛的自我運動的至少一個指
示符,以及基於第一點雲和第二點雲的比較)來確定對象3002的速度。在一些實施例中,類似於對上述對象3002的速度的確定,處理器2901可以基於圖像3000a和圖像3000b的比較來確定對象3001的速度,其中,圖像3000a和圖像3000b中的每個可以包括對象3001的圖像表示。
421.在一些實施例中,處理器2901可以基於實際圖像差異與預期圖像差異之間的比較來確定對象的速度。兩個圖像之間的實際圖像差異是指兩個圖像的數據的差異。由相機捕獲的圖像可以包括具有與相機的視場中的點對應的光強度(或其他類型的信息)的像素。處理器2901可以從第二圖像的像素數據中減去第一圖像的像素數據以確定實際圖像差異。例如,處理器2901可以通過例如從第二圖像中減去第一圖像來確定圖像3000a和圖像3000b之間的至少一個實際圖像差異。
422.處理器2901還可以基於主車輛的自我運動的至少一個指示符(例如,如本公開其他地方所述確定的主車輛的速度和/或方向),來確定第一圖像(其是在第一時間點處的測量數據的集合)與預期第二圖像(其可以是在第二時間點處的計算的數據的集合)之間的預期圖像差異。例如,當主車輛移動時,對象可能在主車輛的車載相機的視場中移動。處理器2901可以基於主車輛的自我運動的至少一個指示符來計算圖像3000a(其可以在第一時間點處捕獲)和第二時間點處的預期圖像(其可以基於主車輛的自我運動來計算)之間的差異。例如,處理器2901可以基於主車輛的速度和方向、基於對象3002(或其至少一部分)的位置相對於相機的視場(例如,圖像3000a的視野)的改變來確定預期圖像差異。作為示例,如圖30a和圖30b所示,預期對象3002(即,在相機的視場右側處的非移動對象)的位置在主車輛直行移動時朝著相機的視場中的上面和右面轉換。處理器2901可以基於主車輛的速度和/或方向以及圖像3000a中對象3001的位置來確定與對象3002的位置的改變相關的預期圖像差異。可替代地或附加地,處理器2901可以基於在第二時間點處的預期圖像中的對象3002的圖像表示相對於圖像3000a中對象3002的第一圖像表示的大小改變來確定預期圖像差異(例如,與出現在圖像3000a中的大小相比,出現在圖像3000b中的大小的預期增加)。處理器2901還可以基於實際圖像差異與預期圖像差異的比較來確定對象的速度。例如,如果處理器2901確定實際圖像與預期圖像之間沒有差異(或實際圖像與預期圖像之間的差異小於閾值),則處理器2901可以確定對象3002的速度等於零(即,對象3002沒在移動)。作為另一個示例,處理器2901可以基於主車輛的速度和/或方向來確定圖像3000b中的對象3001的第二圖像表示相對於圖像3000a中的對象3001的第一圖像表示的預期大小改變。作為另一示例,類似於對上述對象3002的速度的確定,處理器2901可以基於與對象3001相關的實際圖像差異與預期圖像差異的比較來確定對象3001(移動車輛)的速度。
423.在一些實施例中,處理器2901可以基於實際點雲差異與預期點雲差異的比較以及實際圖像差異與預期圖像差異的比較來確定對象的速度。例如,處理器2901可以基於實際點雲差異與預期點雲差異(如本公開的其他地方所述)確定對象的第一初步速度,並基於實際圖像差異與預期圖像差異的比較(如本公開其他地方所述)確定對象的第二初步速度。處理器2901還可以基於第一初步速度和第二初步速度確定對象的速度。例如,處理器2901可以將第一初步速度和第二初步速度的平均速度確定為對象的速度。作為另一個示例,在確定對象的速度時,處理器2901可以將第一權重指派給實際點雲差異與預期點雲差異的比較結果(例如,第一初步速度),並且將第二權重指派給實際圖像差異與預期圖像差異的比較
的結果(例如,第二初步速度)。處理器2901還可以基於例如基於第一權重乘以第一初步速度的乘積以及第二權重乘以第二初步速度的乘積的總和的加權平均,來確定對象的速度。在一些實施例中,第一權重和第二權重可以不同。可替代地,第一權重和第二權重可以相等。
424.在一些實施例中,處理器2901可以基於對象的速度來確定對象是否正在移動。例如,處理器2901可以確定圖30a和圖30b中所示的對象3001的速度不為零(這可以基於如本公開其他地方描述的一個或多個步驟來確定),並且確定對象3001正在移動。
425.在一些實施例中,處理器2901可以基於對象的速度來確定主車輛的至少一個導航動作。例如,處理器2901可以基於確定的速度(其可以包括速率和方向)來確定對象正在朝著主車輛移動。處理器2901還可以確定主車輛的至少一個導航動作。例如,處理器2901可以確定主車輛的導航動作(包括例如加速主車輛、制動主車輛或使主車輛轉彎中的至少一個),以避免與對象碰撞。處理器2901還可以指示導航系統2908實施至少一個導航動作。
426.在一些實施例中,處理器2901可以基於對象的速度來確定是否更新地圖(或引起對地圖的更新)。例如,處理器2901可以基於對象3002的速度確定對象3002是非移動對象,並且確定不更新地圖。另一方面,假設處理器2901基於對象3002的速度確定對象3002是移動對象,處理器2901可以通過從地圖中移除對象3002來更新存儲在本地存儲設備中的地圖(如果地圖中包括對象3002)。可替代地或附加地,處理器2901可以向伺服器2710傳輸對象3002(例如,作為移動對象)的信息,該伺服器2710可以基於接收的信息來更新地圖。
427.在一些實施例中,處理器2901可以基於對象的速度來確定對象的位置。例如,處理器2901可以確定圖30a和圖30b中所示的對象3002的速度為零並且確定對象3002的位置。處理器2901還可以經由例如網絡2730向伺服器2710傳輸對象3002的位置(例如,對象3002的gps坐標和/或相對於已知對象的位置)。伺服器2710可以被配置為基於接收的對象3002的位置來更新地圖。例如,伺服器2710可以將對象3002的位置添加到地圖,或基於接收的對象3002的位置來在地圖中修改對象3002的位置。作為另一個示例,處理器2901可以確定對象的速度不為零(即,對象至少在檢測的時段期間正在移動)並確定對象的一個或多個位置。處理器2901還可以向伺服器2710傳輸對象的位置,該伺服器2710可以基於接收的對象的位置來修改地圖。例如,地圖可能先前指示對象是非移動對象(例如,道路標誌)。伺服器2710可以向伺服器2710接收指示對象的位置改變了的對象的位置。伺服器2710可以通過例如修改對象的位置或從地圖中移除對象來更新地圖。在一些實施例中,伺服器2710可以從多個車輛2720接收對象的位置信息。伺服器2710可以基於從多個車輛2720接收的位置信息來更新地圖。例如,伺服器2710可以被配置為僅當從多個車輛2720接收的、指示對象正在移動的位置信息的百分比等於或大於閾值時更新地圖。
428.lidar稀疏地圖定位
429.本公開提供了用於基於主車輛車載的lidar系統捕獲的lidar數據來確定主車輛的定位的系統和方法。在一個實施例中,系統可以分析由lidar系統捕獲的lidar數據,以識別與主車輛的環境中的道路段相關聯的地標。系統還可以確定識別的地標是否與系統從伺服器接收的稀疏地圖中的地標(其在本文中也稱為繪圖的地標)相匹配。如本公開的其他地方所述,稀疏地圖可以由伺服器基於由多個車輛收集的數據生成。該系統還可以通過例如將由lidar系統捕獲的lidar數據中的地標的表示與稀疏地圖中的繪圖的地標進行比較來
確定主車輛的定位。
430.圖32示出了與公開的實施例一致的、用於基於由多個車輛收集的信息生成稀疏地圖的示例性系統3200。如圖32所示,系統3200可以包括伺服器3210、一個或多個車輛3220(例如,車輛3220a、車輛3220b、......、車輛3220n)、網絡3230和資料庫3240。
431.車輛3220可以從其環境中收集信息並經由例如網絡3230向伺服器3210傳輸收集的信息。在一個示例中,車輛3220可以包括被配置為從其環境中收集數據和信息的一個或多個傳感器(例如,相機、速率計、gps設備、加速度計等)。車輛3220可以向伺服器3210傳輸數據和信息(或從其導出的數據)。作為示例,車輛3220可以包括被配置為捕獲其環境的一個或多個圖像的圖像傳感器(例如,相機)。可替代地或附加地,車輛3220可以包括被配置為在車輛3220周圍的360度視場內或從360度視場的任何子段(例如,每個表示小於360度的一個或多個fov)採集lidar反射信息的lidar系統。可替代地或附加地,車載傳感器(例如,gps設備、成像傳感器等)可以記錄與車輛3220沿著一個或多個道路段的軌跡相關的數據。車輛3220還可以被配置為經由網絡3230將收集的數據/信息傳輸給伺服器3210。
432.伺服器3210可以處理從一個或多個車輛3220接收的數據/信息。例如,如本公開其他地方所述,伺服器3210可以基於接收的數據/信息來生成或更新地圖(例如,稀疏地圖)。在一個示例中,伺服器3210可以被配置為從車輛3220接收與和道路段相關聯的地標相關的數據(例如,地標的位置、類型、大小、形狀、語義屬性(如果有的話)等)。伺服器3210可以基於從車輛3220接收的信息來更新地圖以添加或修改地標。作為另一個示例,伺服器3210可以被配置為從車輛3220接收與車輛3220沿著道路段的軌跡相關的數據。伺服器3210還可以被配置為通過基於接收的數據更新與道路段相關聯的目標軌跡來更新稀疏地圖。伺服器3210還可以被配置為向一個或多個車輛(例如,車輛3220、車輛3400等)傳輸一個或多個稀疏地圖的地圖數據。
433.在一些實施例中,稀疏地圖可以包括與一個或多個道路段相關聯的一個或多個目標軌跡。例如,稀疏地圖可以包括一個或多個目標軌跡,每個目標軌跡在稀疏地圖中可以由類似於上面描述和圖9b所示的三維樣條950的三維樣條表示。
434.在一些實施例中,稀疏地圖可以包括與和道路段相關聯的地標相關的信息。例如,如上所述,主車輛(例如,圖32中所示的車輛3220)車載的lidar系統可以從其在車輛的環境中的視場中捕獲反射信息。反射信息可以包括與視場中的地標的反射相關的信息。車輛3220可以向伺服器3210傳輸捕獲的lidar數據,伺服器3210可以分析lidar數據並識別lidar數據(例如,以點雲信息的形式)中的地標。伺服器3210還可以被配置為在稀疏地圖中的點雲信息中包括識別的地標的表示。可替代地或附加地,伺服器3210可以基於點雲信息來確定地標的大小、形狀和/或位置,並且將地標的大小、形狀和/或位置包括在稀疏地圖中。
435.在一些實施例中,在稀疏地圖中可以由一個點位置表示地標。可替代地,在稀疏地圖中可以由多個點位置表示地標。例如,地標可以是固定在具有沿兩個相反方向的車道的道路段上的橋的一側的、速率限制標誌。在稀疏地圖中可以由兩個點位置表示地標,每個點位置可以與道路段的方向中的一個相關聯。可替代地或附加地,在稀疏地圖中可以由對象類型分類表示地標。例如,可包括存在標準化含義的任何類的標誌(例如,速率限制標誌、警告標誌、方向標誌等)的、語義標誌(即地標)在稀疏地圖中可以由對象類型分類(例如,停止
標誌、速率限制標誌等)表示。可替代地或附加地,在稀疏地圖中可以由一個或多個對象描述符表示地標。例如,可包括與標準化含義不相關聯的任何標誌(例如,一般廣告標誌、識別商業機構的標誌等)的、非語義標誌在稀疏地圖中可以由一個或多個對象描述符(例如,廣告標誌的內容)表示。
436.在一些實施例中,稀疏地圖可以包括與地標相關的lidar數據和/或圖像數據。例如,如上所述,車輛(例如,車輛3220)可以向伺服器3210傳輸可以包括lidar數據和/或圖像數據中的地標的表示的、lidar數據和/或圖像數據。伺服器3210可以分析數據並識別lidar數據(例如,以點雲信息的形式)和/或圖像數據(例如,以一個或多個圖像的形式)中的地標。伺服器3210還可以將相關的lidar和/或圖像數據與識別的圖像相關聯,並將相關的lidar和/或圖像數據包括在稀疏地圖中。例如,伺服器3210可以將從目標軌跡(例如,圖35b中所示的目標軌跡3531)中的點捕獲的一個或多個圖像和/或點雲信息中的地標的表示包括到稀疏地圖(例如,稀疏地圖3500)中。
437.儘管圖32示出了一個伺服器3210,但是本領域技術人員將理解系統3200可以包括單獨或以組合地執行本技術中公開的伺服器3210的功能的一個或多個伺服器3210。例如,伺服器3210可以構成包括執行本文公開的功能的兩個或更多伺服器的雲伺服器分組。術語「雲伺服器」是指經由網絡(諸如網際網路)提供服務的計算機平臺。在該示例配置中,伺服器3210可以使用可能不對應於單獨硬體的虛擬機。例如,計算和/或存儲能力可以通過從諸如數據中心或分布式計算環境的可擴張存儲庫分配適當部分的計算/存儲力來實現。在一個示例中,伺服器3210可以使用定製的硬連線邏輯、一個或多個專用集成電路(asic)或現場可編程門陣列(fpga)、固件和/或程序邏輯(其與計算機系統組合地使伺服器3210成為專用機器)來實現本文所述的方法。
438.網絡3230可以被配置為促進系統3200的組件之間的通信。網絡3230可以包括有線和無線通信網絡,例如區域網(lan)、廣域網(wan)、計算機網絡、無線網絡、電信網絡等或它們的組合。
439.資料庫3240可以被配置為存儲系統3200的一個或多個組件的信息和數據。例如,資料庫3240可以存儲伺服器3210的數據(例如,地圖數據)。一個或多個車輛3220可以例如經由網絡3230獲得存儲在資料庫3240中的地圖數據。
440.圖33示出了與公開的實施例一致的示例性伺服器3210。如圖28所示,伺服器2710可以包括至少一個處理器(例如,處理器2801)、存儲器2802、至少一個存儲設備(例如,存儲設備2803)、通信埠2804和i/o設備2805。
441.處理器3301可以被配置為執行本公開中描述的伺服器3210的一個或多個功能。處理器3301可以包括微處理器、預處理器(諸如圖像預處理器)、圖形處理單元(gpu)、中央處理單元(cpu)、支持電路、數位訊號處理器、集成電路、存儲器或適合於運行應用或執行計算任務的任何其他類型的設備。在一些實施例中,處理器3301可以包括任何類型的單核或多核處理器、行動裝置微控制器、中央處理單元等。可以使用各種處理設備,包括例如可從諸如等製造商獲得的處理器,或可從諸如等製造商獲得的gpu,並且可以包括各種架構(例如,x86處理器、等)。本文公開的任何處理設備可以被配置為執行一定功能。將諸如任何描述的處理器或其他控制器或微處理器的處理設備配置為執行一定功能可以包括對計算機可執行指令進行編程並使這些指令可用於處理
設備,以在處理設備的操作期間執行。在一些實施例中,配置處理設備可以包括使用架構指令直接對處理設備進行編程。例如,可以使用例如一個或多個硬體描述語言(hdl)來配置諸如現場可編程門陣列(fpga)、專用集成電路(asic)等的處理設備。
442.伺服器3210還可以包括可以存儲用於伺服器3210的各種組件的指令的存儲器3302。例如,存儲器3302可以存儲指令,當由處理器3301執行時,所述指令可以被配置為使處理器3301執行本文所述的一個或多個功能。存儲器3302可以包括任意數量的隨機存取存儲器、只讀存儲器、快閃記憶體、磁碟驅動器、光存儲、磁帶存儲、可移動存儲和其他類型的存儲。在一個實例中,存儲器3302可以與處理器3301分開。在另一個實例中,存儲器3302可以集成到處理器3301中。
443.存儲設備3303可以被配置為存儲用於伺服器3210的一個或多個組件的各種數據和信息。例如,存儲設備3303可以存儲地圖數據。伺服器3210可以基於從一個或多個車輛3220接收的數據和/或信息更新地圖數據。伺服器3210還可以將更新的地圖數據存儲到存儲設備3303中。存儲設備3303可以包括一個或多個硬碟驅動器、磁帶、一個或多個固態驅動器、適合於寫入和讀取數據的任何設備等,或其組合。
444.通信埠3304可以被配置為促進經由網絡3230的、伺服器3210和系統3200的一個或多個組件之間的數據通信。例如,通信埠3304可以被配置為經由一個或多個公共或私人網絡(包括網際網路、內聯網、wan(廣域網)、man(城域網)、符合ieee 802.11a/b/g/n標準的無線網絡、租用線路等)從系統100的一個或多個組件接收數據以及向系統100的一個或多個組件傳輸數據。
445.i/o設備3305可以被配置為從伺服器3210的用戶接收輸入,並且伺服器3210的一個或多個組件可以響應於接收的輸入執行一個或多個功能。在一些實施例中,i/o設備3305可以包括顯示在觸控螢幕上的接口。i/o設備3305還可以被配置為向用戶輸出信息和/或數據。例如,i/o設備3305可以包括被配置為顯示地圖數據的顯示器。
446.圖34示出了與公開的實施例一致的示例性車輛3400。如圖34所示,車輛3400可以包括至少一個處理器(例如,處理器3401)、存儲器3402、至少一個存儲設備(例如,存儲設備3403)、通信埠3404、i/o設備3405、一個或多個傳感器3406、lidar系統3407和導航系統3408。在一些實施例中,一個或多個車輛3220可以使用車輛3400的一個或多個組件來實現。
447.處理器3401可以被編程為執行本公開中描述的車輛3400的一個或多個功能。處理器3401可以包括微處理器、預處理器(諸如圖像預處理器)、圖形處理單元(gpu)、中央處理單元(cpu)、支持電路、數位訊號處理器、集成電路、存儲器或適合於運行應用或執行計算任務的任何其他類型的設備。在一些實施例中,處理器3401可以包括任何類型的單核或多核處理器、行動裝置微控制器、中央處理單元等。可以使用各種處理設備,包括例如可從諸如等製造商獲得的處理器,或可從諸如等製造商獲得的gpu,並且可以包括各種架構(例如,x86處理器、等)。本文公開的任何處理設備可以被配置為執行一定功能。將諸如任何描述的處理器或其他控制器或微處理器的處理設備配置為執行一定功能可以包括對計算機可執行指令進行編程並使這些指令可用於處理設備,以在處理設備的操作期間執行。在一些實施例中,配置處理設備可以包括使用架構指令直接對處理設備進行編程。例如,可以使用例如一個或多個硬體描述語言(hdl)來配置諸如現場可編程門陣列(fpga)、專用集成電路(asic)等的處理設備。
448.車輛3400還可以包括可以存儲用於車輛3400的各種組件的指令的存儲器3402。例如,存儲器3402可以存儲指令,當由處理器3401執行時,所述指令可以被配置為使處理器3401執行本文所述的處理器3401的一個或多個功能。存儲器3402可以包括任意數量的隨機存取存儲器、只讀存儲器、快閃記憶體、磁碟驅動器、光存儲、磁帶存儲、可移動存儲和其他類型的存儲。在一個實例中,存儲器3402可以與處理器3401分開。在另一個實例中,存儲器3402可以集成到處理器3401中。在一些實施例中,存儲器3402可以包括用於執行一個或多個計算任務的軟體,以及經訓練的系統,諸如神經網絡或深度神經網絡。
449.存儲設備3403可以被配置為存儲車輛3400的一個或多個組件的各種數據和信息。存儲設備3403可以包括一個或多個硬碟驅動器、磁帶、一個或多個固態驅動器、適合於寫入和讀取數據的任何設備等,或其組合。例如,存儲設備3403可以被配置為存儲一個或多個地圖的數據。作為示例,存儲設備3403可以存儲稀疏地圖的數據,其可以包括與道路段相關聯的一個或多個地標以及與道路段相關聯的一個或多個目標軌跡。
450.通信埠3404可以被配置為促進經由網絡3230的、車輛3400和系統3200的一個或多個組件之間的數據通信。例如,通信埠3404可以被配置為經由一個或多個公共或私人網絡(包括網際網路、內聯網、wan(廣域網)、man(城域網)、符合ieee 802.11a/b/g/n標準的無線網絡、租用線路等)從伺服器3210接收數據以及向伺服器3210傳輸數據。
451.i/o設備3405可以被配置為從伺服器3210的用戶接收輸入,並且伺服器3210的一個或多個組件可以響應於接收的輸入執行一個或多個功能。在一些實施例中,i/o設備3405可以包括顯示在觸控螢幕上的接口。i/o設備3405還可以被配置為向用戶輸出信息和/或數據。例如,i/o設備3405可以包括被配置為顯示地圖的顯示器。在一些實施例中,車輛3400可以經由例如網絡3230從伺服器3210接收地圖(或其至少一部分)的數據。
452.傳感器3406可以被配置為收集與車輛3400和/或車輛3400的環境相關的信息。傳感器3406可以包括圖像傳感器(例如相機)、定位設備(例如全球定位系統(gps)設備)、加速度計、陀螺儀傳感器、速率計等中的一個或多個或其組合。例如,車輛3400可以包括被配置為捕獲其環境的一個或多個圖像(其可以包括地標(或其至少一部分)的表示)的圖像傳感器(例如,相機)。作為另一個示例,車輛3400可以包括被配置為在一時間段內收集與車輛3400的定位相關聯的定位數據的gps設備。
453.lidar系統3407可以包括一個或多個lidar單元。在一些實施例中,一個或多個lidar單元可以定位在車輛3400的車頂上。這樣的單元可以包括旋轉單元,旋轉單元被配置為在車輛3400周圍的360度視場內或從360度視場的任何子段(例如,每個表示小於360度的一個或多個fov)採集lidar反射信息。在一些實施例中,lidar單元可以定位在車輛3400的前方位置處(例如,前燈附近、前格柵中、霧燈附近、前保險槓中或任何其他合適的位置處)。在一些情況下,安裝在車輛3400前方部分的一個或多個lidar單元可以從車輛3400前方的環境中的視場收集反射信息。lidar系統3407收集的數據可以提供給處理器3401。可替代地或附加地,可以經由網絡3230向伺服器3210和/或資料庫3240傳輸數據。
454.車輛3400上可以包括任何合適類型的lidar單元。在一些情況下,lidar系統3407可以包括其中使用單個雷射脈衝照明整個lidar視場(fov)的、一個或多個閃光lidar單元(例如,3d閃光lidar),以及包含像素的行和列以記錄返回的光強度和飛行時間/深度信息的傳感器。這樣的閃光系統可以每秒多次照明場景並收集lidar「圖像」。也可以採用掃描
lidar單元。這樣的掃描lidar單元可以依賴於用於將雷射波束分散到特定的fov上的一個或多個技術。在某些情況下,掃描lidar單元可以包括掃描鏡,該掃描鏡將雷射波束朝著fov內的對象偏轉和導向。掃描鏡可以旋轉貫穿完整的360度,或者可以沿著單個軸或多個軸旋轉小於360度,以將雷射朝著預定的fov導向。在一些情況下,lidar單元可以掃描一個水平線。在其他情況下,lidar單元可以掃描fov內的多個水平線,從而有效地每秒對特定fov進行多次光柵化。
455.lidar系統3407中的lidar單元可以包括任何合適的雷射源。在一些實施例中,lidar單元可以採用連續雷射。在其他情況下,lidar單元可能使用脈衝雷射發射。此外,可以採用任何合適的雷射波長。在一些情況下,可以使用大約600納米至大約1000納米之間的波長。
456.lidar系統3407中的lidar單元還可以包括任何合適類型的傳感器並提供任何合適類型的輸出。在某些情況下,lidar單元的傳感器可以包括固態光電檢測器,諸如一個或多個光電二極體或光電倍增管。傳感器還可以包括包含任意數量的像素的一個或多個cmos或ccd設備。這些傳感器可能對從lidar fov內的場景反射的雷射敏感。傳感器可以使得能夠進行來自lidar單元的各種類型的輸出。在一些情況下,lidar單元可以輸出表示在每個傳感器處或在特定傳感器的每個像素或子組件處收集的反射雷射的飛行時間信息和原始光強度值。附加地或可替代地,lidar單元可以輸出點雲(例如,3d點雲),其可以包括關於每個收集的點的光強度和深度/距離信息。lidar單元還可以輸出表示光反射幅度和到視場內的點的距離的各種類型的深度圖。lidar單元可以通過記下來自lidar光源的光最初朝著fov投射的時間並記錄入射雷射被lidar單元中的傳感器接收的時間,來提供關於fov內特定點的深度或距離信息。時間差可以表示飛行時間,其可以與入射雷射從雷射源行進到反射對象並返回到lidar單元的往返行程距離直接相關。監視與lidar fov的單獨雷射光斑或小段相關聯的飛行時間信息可以為fov內的多個點提供準確的距離信息(例如,映射到fov內對象的甚至非常小的特徵)。在某些情況下,lidar單元可以輸出更複雜的信息,諸如將一個或多個雷射反射與從其獲取雷射反射的對象的類型相關的分類信息。
457.導航系統3408可以被配置為輔助車輛3400的駕駛員操作車輛3400。例如,導航系統3408可以確定車輛3400當前正從目標軌跡偏離並向駕駛員生成指示從目標軌跡偏離的通知,通知可以顯示在顯示器上(例如,顯示基於車輛3400的當前定位和走向方向確定的估計的行進路徑和目標軌跡)。可替代地,如本公開中的其他地方所述,導航系統3408可以包括被配置為控制車輛3400的移動的自主車輛導航系統。例如,導航系統3408可以在車輛3400穿越道路段時實施由處理器3401確定的導航動作(例如,車輛的轉向、制動或加速中的一個或多個)。在一些實施例中,導航系統3408可以包括高級駕駛員輔助系統(adas)系統。在一些實施例中,導航系統3408可以訪問存儲在車輛3400車載地提供的存儲設備或計算機可讀介質中的稀疏地圖,以便在車輛穿越道路段時生成用於引導車輛3400的導航指令。
458.圖35a示出了與公開的實施例一致的示例性道路段。如圖35a所示,車輛3400在車道3511中駕駛,朝著車道3512移動並且合併到車道3512。車道3512和車道3513被車道分隔器3514分開,並且車道3512中的車輛和車道3513中的車輛可以沿相反的方向移動。地標3521可以位於車道3511和車道3512的交叉路口附近,並且地標3522可以沿著車道3512定位。作為示例,地標3521可以是停止標誌,而地標3522可以是速率限制標誌。
459.車輛3400可以從例如與公開的實施例一致的伺服器3210接收圖35b所示的稀疏地圖3500。稀疏地圖3500可以包括繪圖的導航地標3571和繪圖的導航地標3572,它們可以分別對應於圖35a中所示的地標3521和地標3522。稀疏地圖3500還可以包括從車道3511合併到車道3512的車輛的目標軌跡3531、在車道3512中移動的車輛的目標軌跡3532和在車道3513中移動的車輛的目標軌跡3532。在一些實施例中,稀疏地圖3500可以類似於本公開中提供的其他稀疏地圖(例如,上述稀疏地圖800),並且可以基於如本公開其他地方描述的各種方法(例如,上述用於生成稀疏地圖800的方法)來生成。
460.圖35c示出了與公開的實施例一致的車輛3400合併到車道3512。車輛3400可以被配置為從lidar系統3407(其可以車載於車輛3400)接收點雲信息。點雲信息可以表示到車輛3400的環境中的各種對象的距離。例如,點雲信息可以包括表示到地標3521的距離3551和到地標3522的距離3552的信息。車輛3400可以被配置將接收的點雲信息與稀疏地圖3500中的至少一個繪圖的導航地標進行比較,以提供車輛3400相對於目標軌跡3531的基於lidar的定位。例如,車輛3400可以基於距離3551和距離3552(其可以基於接收的點雲信息來確定)來確定車輛3400相對於目標軌跡3531的當前定位。車輛3400還可以被配置為基於相對於目標軌跡3531的基於lidar的定位來確定車輛3400的至少一個導航動作。例如,如上所述,車輛3400可以被配置為確定其相對於目標軌跡3531的、在圖35c中所示的當前定位(沿實際軌跡3541),並確定其偏離目標軌跡3531(例如,在目標軌跡3531的右側)。車輛3400還可以確定至少一個導航動作,包括例如沿左方向轉向到車輛3400可以遵循目標軌跡3531(以及一旦其已經合併到車道3512後的目標軌跡3532)的程度。車輛3400還可以使導航系統3408實施所確定的導航動作,包括例如沿左方向轉向。
461.圖36是示出了與公開的實施例的一致的、用於確定主車輛的導航動作的示例性過程3600的流程圖。在步驟3601,處理器3401可以被編程為從位於相對於車輛3400的遠處的實體接收與車輛3400要穿越的至少一個道路段相關聯的稀疏地圖。例如,處理器3401可以經由網絡3230從伺服器3210接收稀疏地圖3500。如圖35b所示,稀疏地圖3500可以包括繪圖的導航地標3571和繪圖的導航地標3572。稀疏地圖3500還可以包括從車道3511合併到車道3512的車輛的目標軌跡3531,在車道3512中移動的車輛的目標軌跡3532和在車道3513中移動的車輛的目標軌跡3532。在一些實施例中,如在本公開的其他地方描述的(例如,結合上面提供的稀疏地圖800的描述),稀疏地圖3500(包括繪圖的導航地標3571和繪圖的導航地標3572,以及目標軌跡3531、3532和3532)可以由伺服器3210基於從先前沿著至少一個道路段行駛的多個車輛收集的駕駛信息來生成。
462.在步驟3602,處理器3401可以被編程為從車載於車輛3400的lidar系統3407接收點雲信息。在一些實施例中,點雲信息可以包括表示到車輛3400環境中的各種對象的距離的信息。如本公開的其他地方,lidar系統3407可以包括被配置為將雷射(例如,連續雷射或脈衝雷射發射)發射到lidar系統3407的視場中的雷射源。lidar系統3407可以包括被配置為檢測來自視場中一個或多個對象的雷射反射的一個或多個傳感器。lidar系統2907可以生成包括關於傳感器收集的每個點的光強度和深度/距離信息的點雲(例如,3d點雲)。作為示例,處理器3401可以被編程為接收表示圖35c所示的到地標3521的距離3551和到地標3522的距離3552的點雲信息。
463.在一些實施例中,處理器3401在步驟3602接收的點雲信息可以包括與一定類型的
對象相關的深度(或距離)信息以保持處理帶寬。例如,點雲信息可以包括與車輛3400的環境中的一個或多個垂直朝向的對象相關聯的點雲信息。與諸如車輛的水平朝向的對象相比,垂直朝向的對象可能不太可能移動。作為示例,點雲信息可以包括標誌柱、燈柱、道路分隔器支柱、護欄支架和樹幹中的至少一個。
464.在步驟3603,處理器3401可以被編程為將接收的點雲信息與稀疏地圖中的多個繪圖的導航地標中的至少一個繪圖的導航地標進行比較,以提供車輛3400相對於至少一個目標軌跡的基於lidar的定位。車輛3400的基於lidar的定位是指基於由lidar系統3407捕獲的數據(並且在一些實施例中結合其他類型的數據)來確定車輛3400的定位。例如,lidar系統3407可以從其在車輛3400的環境中的視場收集反射信息,並且向處理器3401傳輸收集的lidar數據以供進一步處理。處理器3401可以被編程為基於lidar數據確定車輛3400到地標(例如,圖35c中所示的地標3521)的距離。處理器3401還可以被編程為識別稀疏地圖中繪圖的導航地標(例如,圖35b中所示的繪圖的導航地標3571)在點雲信息中的表示,並基於所確定的車輛3400到地標3521的距離(例如,圖35c中所示的距離3551)來確定車輛3400相對於目標軌跡(例如,圖35c中所示的目標軌跡3531)的定位。
465.在一些實施例中,處理器3401可以被編程為基於點雲信息中表示的繪圖的導航地標的一個或多個方面,來提供車輛3400相對於目標軌跡的基於lidar的定位。例如,處理器3401可以被編程為識別繪圖的導航地標(例如,圖35b中所示的繪圖的導航地標3571)在點雲信息中的表示。處理器3401還可以被編程為確定繪圖的導航地標的一個或多個方面。例如,處理器3401可以確定由lidar系統3407捕獲的點雲信息中的繪圖的導航地標的表示在lidar掃描幀內的大小或二維位置中的至少一個。處理器3401還可以被編程為基於稀疏地圖(其可能包括地標的大小、位置和/或形狀)確定的繪圖的導航地標的預期特性集合。繪圖的導航地標的預期特性是指將以從目標軌跡上的點查看的點雲信息中表示的、繪圖的導航地標的特性。例如,處理器3401可以確定目標軌跡3531(圖35c中所示)上可能潛在地對應於車輛3400的當前定位的點,並確定從目標軌跡3531上的那個點查看的、繪圖的導航地標3571的預期特性集合(例如,包括其大小和二維位置)。作為示例,如上所述,處理器3401可以基於由lidar系統3407捕獲的點雲信息來確定車輛3400到地標3521的距離。處理器3401還可以確定具有與距稀疏地圖3500中的繪圖的導航地標3571相同距離的、目標軌跡3531上的點。處理器3401還可以確定從目標軌跡3531上的那個點查看的、繪圖的導航地標3571的預期特性集合(包括,例如地標3521的大小和/或二維位置)。處理器3401可以將點雲信息中表示的繪圖的導航地標的一個或多個方面(例如,出現在點雲信息中的繪圖的導航地標3571的大小)與基於稀疏地圖確定的繪圖的導航地標的預期特性集合(例如,繪圖的導航地標3571的預期大小)進行比較。處理器3401還可以基於比較來確定車輛3400相對於目標軌跡(例如,圖35c中所示的目標軌跡3531)的當前定位。例如,如果點雲信息中出現的繪圖的導航地標3571的大小與繪圖的導航地標3571的預期大小之間的差異小於閾值,則處理器3401可以確定車輛3400的當前定位落在目標軌跡3531上。另一方面,如果差異大於閾值,則處理器3401可以確定車輛3400的當前定位離開目標軌跡3531。作為示例,如果出現在點雲信息中的繪圖的導航地標3571的大小小於繪圖的導航地標3571的預期大小,則處理器3401可以確定車輛3400的當前定位在目標軌跡3531的右側(如圖35c所示),因為車輛3400與目標軌跡3531中的預期定位相比更遠離地標3521。
466.在一些實施例中,處理器3401可以被編程為基於從車輛3400的環境中檢測的兩個或更多地標,來提供車輛3400相對於目標軌跡的基於lidar的定位。例如,處理器3401可以被編程為識別兩個繪圖的導航地標在點雲信息中的表示。處理器3401還可以被編程為基於點雲信息確定與車輛3400相關聯的參考點與繪圖的導航地標3571和繪圖的導航地標3522中的每一個之間的相對距離。在一些實施例中,參考點可以位於車載於車輛3400的lidar系統3407(例如,lidar系統3407可以安裝在車輛3400的頂部)上。處理器3401還可以被編程為基於與車輛3400相關聯的參考點和每個繪圖的導航地標之間的相對距離(例如,到繪圖的導航地標3571的距離3551以及到繪圖的導航地標3572的距離3552),來確定車輛3400相對於目標軌跡(例如,圖35c中所示的目標軌跡3531)的當前定位。
467.在一些實施例中,處理器3401可以使用經訓練的神經網絡來識別兩個繪圖的導航地標在點雲信息中的表示。可以經由網絡3230或本地存儲從伺服器3210獲得經訓練的神經網絡。經訓練的神經網絡可以使用多個訓練樣本而被訓練。
468.在一些實施例中,處理器3401可以被編程為基於兩個或更多lidar掃描來提供車輛3400相對於目標軌跡的基於lidar的定位。例如,lidar系統3407可以在第一時間段期間的第一lidar掃描(並且在本文中稱為第一lidar掃描點雲)中捕獲lidar數據,並且在第二時間段期間的第二lidar掃描(並且在本文中稱為第二lidar掃描點雲)中捕獲lidar數據。處理器3401可以被編程為識別繪圖的導航地標在第一lidar掃描點雲中的表示,並且基於第一lidar掃描點雲確定與車輛3400相關聯的參考點(例如,來自lidar系統3407)和繪圖的導航地標之間的第一相對距離。處理器3401還可以被編程為識別繪圖的導航地標在第二lidar掃描點雲中的表示,並且基於第二掃描點雲確定與車輛3400相關聯的參考點和繪圖的導航地標之間的第二相對距離。處理器3401還可以基於第一和第二相對距離來確定車輛3400相對於目標軌跡的當前定位。例如,處理器3401可以基於根據三角測量(即,通過從已知點形成與車輛3400的三角形來確定點的位置)在兩個lidar掃描中獲得的兩個相對距離,來確定車輛3400相對於目標軌跡的定位。
469.在一些實施例中,在基於兩個或更多lidar掃描確定車輛3400相對於目標軌跡的基於lidar的定位時,處理器3401可以被編程為考慮在與獲取第一lidar掃描點雲相關聯的第一時間和與獲取第二lidar掃描點雲相關聯的第二時間之間的車輛3400的自我運動。如本公開的其他地方所述,主車輛的自我運動可以指代主車輛關於非移動參考點或對象的任何環境位移。例如,如本公開中其他地方所述,可以基於對車載於車輛3400的相機捕獲的圖像的光流分析(或本公開中描述的其他方法)來估計車身的自我運動。處理器3401可以被編程為在確定車輛3400的定位時減去第一時間和第二時間之間的自我運動。
470.在一些實施例中,處理器3401可以被編程為基於圖像數據提供車輛3400相對於目標軌跡的基於圖像的定位。例如,處理器3401可以被編程為從車載於車輛3400的相機接收包括車輛3400的環境的至少一部分的表示的至少一個捕獲的圖像。處理器3401還可以被編程為識別一個或多個繪圖的導航地標的至少一個捕獲的圖像(例如,包括地標3522的圖像)中的表示。處理器3401還可以被編程為基於稀疏地圖3500以及基於至少一個捕獲的圖像(其可以包括地標3522)中的表示來確定車輛3400相對於目標軌跡(例如,目標軌跡3531)的定位,以提供基於圖像的定位。例如,如本公開的其他地方所述,稀疏地圖可以包括從目標軌跡3531中的點捕獲的地標(例如,地標3522)的圖像表示。處理器3401可以將稀疏地圖
3500中的地標3522的圖像表示與由車載於車輛3400的相機捕獲的圖像中的地標3522的圖像表示進行比較,以確定車輛3400相對於目標軌跡3531的定位。作為示例,如果由車載於車輛3400的相機捕獲的圖像中的地標3522的圖像表示看起來比在稀疏地圖3500中的地標3522的圖像表示更大,則處理器3401可以確定車輛3400在目標軌跡3531的右側(如圖35c所示)。
471.在一些實施例中,處理器3401可以被編程為根據基於lidar的定位和基於圖像的定位來確定車輛3400的定位。例如,處理器3401可以被編程為基於lidar數據的基於lidar的定位,並且基於圖像數據確定基於圖像的定位,如本公開的其他地方所描述。處理器3401還可以被編程為基於從基於lidar的定位獲得的定位和從基於圖像的定位獲得的定位、通過例如確定兩個定位之間的平均定位來確定車輛3400的定位。在一些實施例中,處理器3401可以被編程為對基於lidar的定位和基於圖像的定位中的每一個應用權重以確定兩個加權的定位。處理器3401還可被編程為基於加權的定位來確定車輛3400的定位。應用於基於lidar的定位的權重和應用於基於圖像的定位的權重可以相同或不同。在一些實施例中,可以基於車輛3400的一個或多個當前環境狀況來調整應用於基於lidar的定位的權重和/或應用於基於圖像的定位的權重。例如,如果車輛3400在可能影響使用lidar數據的對象的檢測的有霧環境中,則處理器3401可以減少應用於基於lidar的定位的權重。作為另一個示例,如果在可能影響使用圖像數據的對象的檢測的夜晚,則處理器3401可以減少應用於基於圖像的定位的權重。
472.在一些實施例中,處理器3401還可以確定與基於lidar的定位和基於圖像的定位相關聯的差異(例如,基於lidar數據確定的車輛3400的定位與基於圖像數據確定的車輛3400的定位之間的差異)。處理器3401還可以確定兩個定位之間的差異是否超過預定閾值。定位差異超過預定閾值可指示lidar系統3407和/或相機的潛在問題。如果差異超過預定閾值,則處理器3401可以實施至少一個補救動作。例如,處理器3401可以實現使車輛3400減速、停止車輛3400和發出系統不正常(irregular)的警告中的至少一個。在一些實施例中,處理器3401可以被編程為確定差異的原因。例如,處理器3401可以(例如,經由車載於車輛3400的天氣傳感器和/或從伺服器3210)接收與天氣狀況相關的信息,並且確定正在下雪。處理器3401可以確定基於lidar數據確定的車輛3400的定位與基於圖像數據確定的定位之間的差異可能是由雪引起的。在一些實施例中,處理器3401還可以使用在車輛3400車載的顯示器上顯示的警報或者經由車輛3400的揚聲器的警報,向駕駛員(和/或乘客)提供確定的原因。
473.在步驟3604,處理器3401可以被編程為基於車輛3400相對於至少一個目標軌跡的基於lidar的定位來確定車輛3400的至少一個導航動作。在一個示例中,如果處理器3401基於車輛3400相對於目標軌跡3531的基於lidar的定位來確定預期車輛3400遵循目標軌跡3531(在圖35b中示出),並且確定保持車輛3400的當前走向方向的導航動作,使得車輛3400可以繼續遵循目標軌跡3531。另一方面,如果處理器3401確定車輛3400離開目標軌跡3531(如圖35c所示),則處理器3401可以被編程為確定改變車輛3400的當前走向方向的導航動作,以減小車輛3400和目標軌跡3531之間的距離。例如,處理器3401可以被編程為確定將車輛3400向左方向轉向的導航動作,使得可以減少車輛3400和目標軌跡3531之間的距離。
474.參照圖36,在步驟3605,處理器3401可以被編程為引起車輛3400採取至少一個導
航動作。例如,處理器3401可以引起導航系統3408實施所確定的導航動作(例如,向左方向轉向車輛3400)。
475.基於自我運動的lidar-相機融合
476.本公開提供了用於將由主車輛車載的lidar系統捕獲的lidar深度信息與車載相機的圖像相關以提供圖像(或其一部分)的每個像素的深度信息的系統和方法。由於相機和lidar系統之間可能有6個自由度,因此可能需要考慮主車輛的移動以將lidar深度信息與圖像相關。本公開提供了確定主車輛的自我運動並隨時間使用確定的自我運動來將捕獲的lidar深度信息與捕獲的圖像相關的解決方案。基於添加到圖像中的每個像素的深度信息,系統可以在主車輛中引起一個或多個導航響應,諸如保持或改變當前的走向方向。
477.圖37示出了與公開的實施例一致的示例性車輛3700。可以使用車輛3700的一個或多個組件來實現公開的系統和方法。如圖37所示,車輛3700可以包括至少一個處理器(例如,處理器3701)、存儲器3702、至少一個存儲設備(例如,存儲設備3703)、通信埠3704、i/o設備3705、相機3706、lidar系統3707和導航系統3708。
478.處理器3701可以被編程為執行本公開中描述的車輛3700的一個或多個功能。處理器3701可以包括微處理器、預處理器(諸如圖像預處理器)、圖形處理單元(gpu)、中央處理單元(cpu)、支持電路、數位訊號處理器、集成電路、存儲器或適合於運行應用或執行計算任務的任何其他類型的設備。在一些實施例中,處理器3701可以包括任何類型的單核或多核處理器、行動裝置微控制器、中央處理單元等。可以使用各種處理設備,包括例如可從諸如等製造商獲得的處理器,或可從諸如等製造商獲得的gpu,並且可以包括各種架構(例如,x86處理器、等)。本文公開的任何處理設備可以被配置為執行一定功能。將諸如任何描述的處理器或其他控制器或微處理器的處理設備配置為執行一定功能可以包括對計算機可執行指令進行編程並使這些指令可用於處理設備,以在處理設備的操作期間執行。在一些實施例中,配置處理設備可以包括使用架構指令直接對處理設備進行編程。例如,可以使用例如一個或多個硬體描述語言(hdl)來配置諸如現場可編程門陣列(fpga)、專用集成電路(asic)等的處理設備。
479.車輛3700還可以包括可以存儲用於車輛3700的各種組件的指令的存儲器3702。例如,存儲器3702可以存儲指令,當由處理器3701執行時,所述指令可以被配置為使處理器3701執行本文所述的處理器3701的一個或多個功能。存儲器3702可以包括任意數量的隨機存取存儲器、只讀存儲器、快閃記憶體、磁碟驅動器、光存儲、磁帶存儲、可移動存儲和其他類型的存儲。在一個實例中,存儲器3702可以與處理器3701分開。在另一個實例中,存儲器3702可以集成到處理器3701中。在一些實施例中,存儲器3702可以包括用於執行一個或多個計算任務的軟體,以及經訓練的系統,諸如神經網絡或深度神經網絡。
480.存儲設備3703可以被配置為存儲車輛3700的一個或多個組件的各種數據和信息。存儲設備3703可以包括一個或多個硬碟驅動器、磁帶、一個或多個固態驅動器、適合於寫入和讀取數據的任何設備等、或其組合。例如,存儲設備3703可以被配置為存儲一個或多個地圖的數據。作為示例,存儲設備3703可以存儲稀疏地圖的數據,其可以包括與道路段相關聯的一個或多個地標和與道路段相關聯的一個或多個目標軌跡。作為另一個示例,存儲設備3703可以被配置為存儲由相機3706捕獲的圖像和/或由lidar系統3707捕獲的lidar數據。存儲設備3703還可以存儲與本公開中描述的每個像素的深度信息相關的一個或多個圖像。
481.通信埠3704可以被配置為促進車輛3700和其他設備之間的數據通信。例如,通信埠3704可以被配置為經由一個或多個公共或私人網絡(包括網際網路、內聯網、wan(廣域網)、man(城域網)、符合ieee 802.11a/b/g/n標準的無線網絡、租用線路等)從伺服器(例如,本公開中描述的一個或多個伺服器)接收數據和向伺服器傳輸數據。
482.i/o設備3705可以被配置為從車輛3700的用戶接收輸入,並且車輛3700的一個或多個組件可以響應於接收的輸入執行一個或多個功能。在一些實施例中,i/o設備3705可以包括顯示在觸控螢幕上的接口。i/o設備3705還可以被配置為向用戶輸出信息和/或數據。例如,i/o設備3705可以包括被配置為顯示地圖的顯示器。
483.相機3706可以被配置為捕獲車輛3700的環境的一個或多個圖像。在一些實施例中,相機3706可以包括具有全局快門的圖像傳感器,具有滾動快門的圖像傳感器等、或其組合。例如,可以與滾動快門一起採用cmos圖像傳感器,使得行中的每個像素一次被讀取一個,並且基於逐行進行對行的掃描,直到整個圖像幀已被捕獲。在一些實施例中,可以從相對於幀的頂部到底部順序地捕獲行。滾動快門的使用可能導致不同行中的像素在不同時間處被曝光和捕獲,這可能引起捕獲的圖像幀中的歪斜和其他圖像偽影。另一方面,當圖像捕獲設備3706被配置為使用全局或同步快門操作時,所有像素可以在共同的曝光時段期間被曝光達相同的時間量。結果,從採用全局快門的系統收集的幀中的圖像數據表示在特定時間處整個fov的快照。相比之下,在滾動快門應用中,幀中的每個行在不同的時間被曝光,並且數據在不同的時間被捕獲。因此,移動對象在具有滾動快門的圖像捕獲設備中可能出現失真。將在本公開中其他地方更詳細地描述該現象。在一些實施例中,相機3706可以包括被配置為捕獲車輛3700的環境的圖像的多個相機。儘管參考一個相機提供了以下描述,但是本領域技術人員將理解公開的系統和方法也可以使用兩個或更多相機來實現。
484.lidar系統3707可以包括一個或多個lidar單元。在一些實施例中,一個或多個lidar單元可以定位在車輛3700的車頂上。這樣的單元可以包括旋轉單元,旋轉單元被配置為在車輛3700周圍的360度視場內或從360度視場的任何子段(例如,每個表示小於360度的一個或多個fov)採集lidar反射信息。在一些實施例中,lidar單元可以定位在車輛3700的前方位置處(例如,前燈附近、前格柵中、霧燈附近、前保險槓中或任何其他合適的位置處)。在一些情況下,安裝在車輛3700前方部分的一個或多個lidar單元可以從車輛3700的前方環境中的視場收集反射信息。lidar系統3707收集的數據可以提供給處理器3701。可替代地或附加地,可以經由網絡向本公開中描述的伺服器傳輸數據。
485.車輛3700上可以包括任何合適類型的lidar單元。在一些情況下,lidar系統3707可以包括其中使用單個雷射脈衝照明整個lidar視場(fov)的、一個或多個閃光(本文中也稱為靜態)lidar單元(例如,3d閃光lidar),以及包含像素的行和列以記錄返回的光強度和飛行時間/深度信息的傳感器。這樣的閃光系統可以每秒多次照明場景並收集lidar「圖像」。因此,對於靜態lidar系統,lidar「圖像」的lidar數據的整個集合可以具有相同的時間戳。也可以採用掃描lidar單元。這樣的掃描lidar單元可以依賴於用於將雷射波束分散到特定的fov上的一個或多個技術。在某些情況下,掃描lidar單元可以包括掃描鏡,該掃描鏡將雷射波束朝著fov內的對象偏轉和導向。掃描鏡可以旋轉貫穿完整的360度,或者可以沿著單個軸或多個軸旋轉小於360度,以將雷射朝著預定的fov導向。在一些情況下,lidar單元可以掃描一個水平線。在其他情況下,lidar單元可以掃描fov內的多個水平線,從而有效
地每秒對特定fov進行多次光柵化。在一些實施例中,對於掃描lidar系統,每個掃描線可以在不同時間處獲取,並且因此具有不同的時間戳。
486.lidar系統3707中的lidar單元可以包括任何合適的雷射源。在一些實施例中,lidar單元可以採用連續雷射。在其他情況下,lidar單元可能使用脈衝雷射發射。此外,可以採用任何合適的雷射波長。在一些情況下,可以使用大約600納米至大約1000納米之間的波長。
487.lidar系統3707中的lidar單元還可以包括任何合適類型的傳感器並提供任何合適類型的輸出。在某些情況下,lidar單元的傳感器可以包括固態光電檢測器,諸如一個或多個光電二極體或光電倍增管。傳感器還可以包括包含任意數量的像素的一個或多個cmos或ccd設備。這些傳感器可能對從lidar fov內的場景反射的雷射敏感。傳感器可以使得能夠進行來自lidar單元的各種類型的輸出。在一些情況下,lidar單元可以輸出表示在每個傳感器處或在特定傳感器的每個像素或子組件處收集的反射雷射的飛行時間信息和原始光強度值。附加或可替代地,lidar單元可以輸出點雲(例如,3d點雲),其可以包括關於每個收集的點的光強度和深度/距離信息。lidar單元還可以輸出表示光反射幅度和到視場內的點的距離的各種類型的深度圖。lidar單元可以通過記下來自lidar光源的光最初朝著fov投射的時間並記錄入射雷射被lidar單元中的傳感器接收的時間,來提供關於fov內的特定點的深度或距離信息。時間差可以表示飛行時間,其可以與入射雷射從雷射源行進到反射對象並返回到lidar單元的往返行程距離直接相關。監視與lidar fov的單獨雷射光斑或小段相關聯的飛行時間信息可以為fov內的多個點提供準確的距離信息(例如,映射到fov內對象的甚至非常小的特徵)。在某些情況下,lidar單元可以輸出更複雜的信息,諸如將一個或多個雷射反射與從其獲取雷射反射的對象的類型相關的分類信息。
488.導航系統3708可以被配置為輔助車輛3700的駕駛員操作車輛3700。例如,導航系統3708可以確定車輛3700當前正從目標軌跡偏離並向駕駛員生成指示從目標軌跡偏離的通知,通知可以顯示在顯示器上(例如,顯示基於車輛3700的當前定位和走向方向而確定的估計的行進路徑和目標軌跡)。可替代地,如本公開中的其他地方所述,導航系統3708可以包括被配置為控制車輛3700的移動的自主車輛導航系統。例如,導航系統3708可以在車輛3700穿越道路段時實施由處理器3701確定的導航動作(例如,車輛的轉向、制動或加速中的一個或多個)。在一些實施例中,導航系統3708可以包括高級駕駛員輔助系統(adas)系統。在一些實施例中,導航系統3708可以被配置為根據一個或多個導航動作引起與車輛3700的轉向系統、制動系統或駕駛系統相關聯的一個或多個致動器的激活。
489.在一些實施例中,車輛3700還可以包括被配置為收集與車輛3700和/或車輛3700的環境相關的信息的一個或多個傳感器。示例性傳感器可以包括定位設備(例如全球定位系統(gps)設備)、加速度計、陀螺儀傳感器、速率計等、或其組合。例如,車輛3700可以包括被配置為在一時間段內收集與車輛3700的定位相關聯的定位數據的gps設備。
490.圖38是示出了與公開的實施例一致的、用於確定主車輛的導航動作的示例性過程3800的流程圖。還提及圖39a和圖39b,它們是示例性點雲信息和圖像的示意性圖示。雖然下面使用車輛3700作為示例來描述過程3800,但是本領域技術人員將理解伺服器(例如,本公開中描述的一個或多個伺服器)也可以被配置為執行過程3800的一個或多個步驟。例如,車輛3700可以經由網絡向伺服器傳輸相機3706捕獲的圖像和lidar系統3707捕獲的lidar數
據。伺服器可以被配置為將lidar數據與圖像相關,以提供圖像的一個或多個區域的每個像素的深度信息。伺服器還可以被配置為向車輛3700傳輸每個像素的深度信息以進行進一步處理。
491.在步驟3801,處理器3701可以被編程為從相機3706接收表示車輛3700的環境的至少一個捕獲的圖像。例如,相機3706可以被配置為在第一時間點處(或者如果圖像由滾動快門相機捕獲,則在第一時間段內)捕獲圖39a中所示的圖像3921。相機3706還可以被配置為在第一時間點之後的第二時間點處(或者如果圖像由滾動快門相機捕獲,則在第一時間段之後的第二時間段內)捕獲圖39b中所示的圖像3922。
492.在一些實施例中,如上所述,相機3706可以包括全局快門相機(即,配備有具有全局快門的圖像傳感器的相機)。當相機3706被配置為使用全局或同步快門操作時,所有像素可以在共同的曝光時段期間被曝光達相同的時間量。結果,從採用的全局快門相機收集的幀中的所有像素可以具有相同的時間戳。可替代地或附加地,相機3706可以包括滾動快門相機(即,配備有具有滾動快門的圖像傳感器的相機)。例如,相機3706可以包括具有滾動快門的相機,使得行中的每個像素可以一次讀取一個,並且基於逐行進行對行的掃描,直到整個圖像幀已被捕獲。在一些實施例中,可以從相對於幀的頂部到底部(或從底部到頂部)順序地捕獲行。因此,一個行的圖像數據可以具有與另一行的圖像數據不同的時間戳。
493.在一些實施例中,處理器3701可以被編程為從相機3706接收圖像的每個像素的捕獲時間的信息。例如,對於由全局快門相機捕獲的圖像,針對所有像素,捕獲時間可以是相同的,並且處理器3701可以從相機3706獲得捕獲時間。對於滾動快門相機捕獲的圖像,在一些實施例中,圖像的至少一些行可以具有與其他行的捕獲時間不同的捕獲時間。處理器3701可以從相機3706獲得圖像的每個行的捕獲時間。
494.參照圖38,在步驟3802,處理器3701可以被編程為從主車輛車載的lidar系統接收點雲信息。點雲信息可以表示到車輛3700的環境中的各種對象的距離。lidar系統3707可以從其在車輛3700的環境中的視場捕獲反射信息。反射信息可以包括與視場中的各種對象的反射相關的信息。例如,如果lidar數據(其可以由圖39a中所示的點雲「圖像」3911表示)由靜態lidar系統捕獲(或在第三時間段內,lidar數據由掃描lidar系統捕獲),則lidar系統3707可以在第三時間點處捕獲來自其視場中的各種對象的反射信息。如果lidar數據(其可以由圖39b中所示的點雲「圖像」3912表示)由靜態lidar系統捕獲(或在第三時間段之後的第四時間段內,lidar數據由掃描lidar系統捕獲),則lidar系統3707可以在第三時間點之後的第四時間點處捕獲來自其視場中的各種對象的反射信息。
495.在一些實施例中,處理器3701可以被編程為從lidar系統3707獲得接收點雲信息中的每個點的捕獲時間的信息。例如,針對靜態lidar系統捕獲的點雲信息,對於點雲信息的所有點,捕獲時間可以是相同的,並且處理器3701可以從lidar系統3707獲得捕獲時間,並將獲得的捕獲時間用於點雲信息中的所有點。對於掃描lidar系統捕獲的點雲信息,在一些實施例中,點雲信息中的至少一些線的點可以具有與其他線不同的捕獲時間。例如,如本公開中其他地方所述,lidar系統3707可以包括被配置為一次一個水平線的掃描lidar系統,並且由掃描lidar系統捕獲的點雲信息的每個線的點可以具有不同的捕獲時間。作為另一示例,lidar系統3707可以包括被配置為一次掃描fov內的多個水平線(並且在本文中被稱為線的掃描分組)的掃描lidar系統,並且每個掃描分組的線的點可以具有與其他分組的
線的捕獲時間不同的捕獲時間。處理器3701可以從lidar系統3707獲得每個線的捕獲時間(或每個掃描分組的線的捕獲時間)。
496.在一些實施例中,可以基於一時間段內的lidar數據(例如,在多個幀上捕獲的lidar數據)來累積點雲信息。例如,lidar系統3707可以捕獲多個幀並通過累積幀的lidar數據(例如,累積幀的深度信息)來生成點雲信息。可替代地,處理器3701可以被編程為接收幀的lidar數據,並累積lidar數據以生成可提供密集點雲的點雲信息。
497.在一些實施例中,可以在捕獲圖像的相同時間點處獲取點雲信息。在其他實施例中,在獲取捕獲的圖像的時間戳之前(或之後)。例如,點雲「圖像」3911可以在圖像3921的時間戳之前(或之後)被獲取。可替代地,一些點雲信息在獲取至少一個捕獲的圖像的時間戳之前被獲取,並且一些點雲信息在獲取至少一個捕獲的圖像的時間戳之後被獲取。例如,對於可以一次掃描一水平線的掃描lidar系統捕獲的點雲信息,一些線可能在獲取捕獲的圖像的時間戳之前被捕獲,而其他線可能在獲取捕獲的圖像的時間戳之後被捕獲。
498.參照圖38,在步驟3803,處理器3701可被編程為將點雲信息與至少一個捕獲的圖像相關,以提供至少一個捕獲的圖像的一個或多個區域的每個像素的深度信息。例如,處理器3701可以被編程為識別點雲信息中與圖像的區域對應的區域,並且例如通過將點的深度信息指派給圖像中的對應像素,來將點雲信息中的該區域的點映射到圖像的該區域的對應的像素。
499.在一些實施例中,處理器3701可以在將深度信息與圖像的像素相關之前調整點雲信息中的區域和/或圖像的對應區域。例如,處理器3701可以在將點雲信息的深度信息與圖像相關之前拉伸或收縮圖像的一個或多個區域以適配點雲信息的對應區域。
500.在一些實施例中,點雲信息的捕獲時間和圖像的捕獲時間可以不同。處理器3701可以被編程為將點雲信息扭曲(warp)(或映射)到獲取捕獲的圖像的時間戳。例如,lidar系統3707可以在第一捕獲時間處捕獲點雲信息,並且點雲信息可以包括第一時間戳。相機3706可以在第一捕獲時間之後的第二捕獲時間處捕獲圖像。該圖像可以包括第二時間戳。處理器3701可以將點雲信息的深度信息與圖像相關。在一些實施例中,第一和第二時間戳可以相同或不同。
501.在一些實施例中,處理器3701可以選擇點雲信息的多個集合中的一個集合以與圖像相關。例如,當沒有點雲信息具有與要相關的圖像相同的捕獲時間時,處理器3701可以選擇具有與圖像的捕獲時間最靠近的捕獲時間的點雲信息,並將選擇的點雲信息的深度信息與圖像相關,來為圖像的一個或多個區域提供每個像素的深度信息。可替代地或附加地,處理器3701可以基於兩個集合的點雲信息確定點雲信息的估計的集合,並將點雲信息的估計的集合的深度信息與圖像相關。例如,處理器3701可以獲得在獲取圖像之前獲取的第一集合的點雲信息並獲得在獲取圖像之後獲取的第二集合的點雲信息。處理器3701可以確定點雲信息的估計的(或內插的)集合(例如,通過對兩個集合的點雲信息的深度進行平均以獲得每個點處的平均深度)。處理器3701還可以將點雲信息的估計的集合的深度信息與圖像相關。
502.在一些實施例中,當第一和第二時間戳不同時,在將點雲信息的深度信息與圖像相關時,處理器3701可以考慮車輛3700的自我運動。在一些實例中,如果點雲信息和圖像是在不同時間處獲取的,則將點雲信息的深度信息與圖像直接相關可能不準確。處理器3701
可以確定在點雲信息的捕獲時間和圖像的捕獲時間之間的時間段內的自我運動,並相應地調整點雲信息的深度信息。例如,處理器3701可以被編程為向表示在車輛3700的移動方向上的對象的、點雲信息的深度信息添加(或減去)由車輛3700的自我運動(在點雲信息的捕獲時間與圖像的捕獲時間之間的時間段內)引起的距離或深度。在一些實施例中,處理器3701可以基於一個或多個傳感器的輸出表示在點雲信息的捕獲時間與圖像的捕獲時間之間的時間段內的定位改變,來確定車輛3700的自我運動。例如,車輛3700可以包括被配置為在該時間段內追蹤車輛3700的定位的一個或多個傳感器(例如,速率計、加速度計或gps傳感器中的至少一個)。處理器3701可以基於來自一個或多個傳感器的輸出來確定車輛3700在該時間段內的自我運動。可替代或附加地,處理器3701可以基於在由相機3706捕獲的兩個或更多圖像之間觀察的對象的光流來確定自我運動。例如,處理器3701可以將第一圖像中的非移動對象(例如,燈杆)的位置與第二圖像中的非移動對象的位置進行比較,以確定車輛3700的自我運動。在一些實施例中,處理器3701可以基於與車輛3700相關聯的一個或多個傳感器的輸出以及由相機3706捕獲的兩個或更多圖像之間觀察的對象的光流的組合來確定自我運動。
503.在一些實施例中,車輛3700的自我運動可以基於如本公開中其他地方描述的一個或多個方法(例如,結合圖31及其描述提供的用於確定主車輛的自我運動的一個或多個方法)來確定。
504.在步驟3804,處理器3701可以被編程為基於至少一個捕獲圖像的一個或多個區域的每個像素的深度信息來確定車輛3700的至少一個導航動作。示例性導航動作可以包括保持車輛3700的當前走向方向和速率、改變車輛3700的當前走向方向、或改變車輛3700的速率中的至少一個。例如,處理器3701可以分析至少一個捕獲的圖像的一個或多個區域以及至少一個捕獲的圖像的一個或多個區域的每個像素的深度信息,以識別預定安全距離內的對象。處理器3701還可以被配置為確定車輛3700的導航動作以使車輛3700減速或轉向離開識別的對象。
505.在步驟3805,處理器3701可以被編程為引起車輛3700採取至少一個導航動作。例如,處理器3701可以被編程為通過引起與車輛3700的轉向系統(例如,保持或改變當前走向方向)、制動系統(例如,降低當前速率)或駕駛系統(例如,加速、減速、降低當前速率)相關聯的一個或多個致動器的激活,來引起車輛3700採取至少一個導航動作。
506.lidar和相機有效地(validly)檢測不同的事物的lidar-相機融合
507.在某些情況下,主車輛可能配備有lidar系統和相機。由於相對於主車輛的物理位置的差異,lidar系統和相機可能具有不同的視場,並從主車輛的環境中捕獲不同的場景信息。例如,lidar系統可能位於主車輛的車頂上,而相機可能位於風擋後面。因此,在一些實例中,lidar系統可以檢測到相機沒有捕獲的對象(例如,目標車輛)(例如,該對象可能被在主車輛緊前方的車輛遮擋)。當系統試圖將lidar系統的感測信息與相機的感測信息對準時,這些差異可能引起問題,這可能會導致將這樣的信息作為潛在錯誤而丟棄的可能性。本公開提供了用於確定在檢測lidar系統的感測的信息與相機的感測的信息之間的差異時主車輛可以採取的潛在動作的系統和方法。例如,如果lidar和/或相機檢測到主車輛緊前方的車輛,則可以理解,該車輛可能遮擋只有安裝較高的lidar系統能夠檢測的區域內的更前方的對象。在這樣的情況下,公開的系統和方法可以使用由lidar系統和相機收集的信息來
檢測對象並確定主車輛響應於對象的檢測可以採取什麼動作。
508.圖40示出了與公開的實施例一致的示例性車輛4000。公開的系統和方法可以使用車輛4000的一個或多個組件來實現。如圖40所示,車輛4000可以包括至少一個處理器(例如,處理器4001)、存儲器4002、至少一個存儲設備(例如,存儲設備4003)、通信埠4004、i/o設備4005、相機4006、lidar系統4007和導航系統4008。
509.處理器4001可以被編程為執行本公開中描述的車輛4000的一個或多個功能。處理器4001可以包括微處理器、預處理器(諸如圖像預處理器)、圖形處理單元(gpu)、中央處理單元(cpu)、支持電路、數位訊號處理器、集成電路、存儲器或適合於運行應用或執行計算任務的任何其他類型的設備。在一些實施例中,處理器4001可以包括任何類型的單核或多核處理器、行動裝置微控制器、中央處理單元等。可以使用各種處理設備,包括例如可從諸如等製造商獲得的處理器,或可從諸如等製造商獲得的gpu,並且可以包括各種架構(例如,x86處理器、等)。本文公開的任何處理設備可以被配置為執行一定功能。將諸如任何描述的處理器或其他控制器或微處理器的處理設備配置為執行一定功能可以包括對計算機可執行指令進行編程並使這些指令可用於處理設備,以在處理設備的操作期間執行。在一些實施例中,配置處理設備可以包括使用架構指令直接對處理設備進行編程。例如,可以使用例如一個或多個硬體描述語言(hdl)來配置諸如現場可編程門陣列(fpga)、專用集成電路(asic)等的處理設備。
510.車輛4000還可以包括可以存儲用於車輛4000的各種組件的指令的存儲器4002。例如,存儲器4002可以存儲指令,當由處理器4001執行時,所述指令可以被配置為使處理器4001執行本文所述的處理器4001的一個或多個功能。存儲器4002可以包括任意數量的隨機存取存儲器、只讀存儲器、快閃記憶體、磁碟驅動器、光存儲、磁帶存儲、可移動存儲和其他類型的存儲。在一個實例中,存儲器4002可以與處理器4001分開。在另一個實例中,存儲器4002可以集成到處理器4001中。在一些實施例中,存儲器4002可以包括用於執行一個或多個計算任務的軟體,以及經訓練的系統,諸如神經網絡或深度神經網絡。
511.存儲設備4003可以被配置為存儲車輛4000的一個或多個組件的各種數據和信息。存儲設備4003可以包括一個或多個硬碟驅動器、磁帶、一個或多個固態驅動器、適合於寫入和讀取數據的任何設備等、或其組合。例如,存儲設備4003可以被配置為存儲一個或多個地圖的數據。作為示例,存儲設備4003可以存儲稀疏地圖的數據,其可以包括與道路段相關聯的一個或多個地標和與道路段相關聯的一個或多個目標軌跡。作為另一個示例,存儲設備4003可以被配置為存儲由相機4006捕獲的圖像和/或由lidar系統4007捕獲的lidar數據。
512.通信埠4004可以被配置為促進車輛4000和其他設備之間的數據通信。例如,通信埠4004可以被配置為經由一個或多個公共或私人網絡(包括網際網路、內聯網、wan(廣域網)、man(城域網)、符合ieee 802.11a/b/g/n標準的無線網絡、租用線路等)從伺服器(例如,本公開中描述的一個或多個伺服器)接收數據和向伺服器傳輸數據。
513.i/o設備4005可以被配置為從車輛4000的用戶接收輸入,並且車輛4000的一個或多個組件可以響應於接收的輸入來執行一個或多個功能。在一些實施例中,i/o設備4005可以包括顯示在觸控螢幕上的接口。i/o設備4005還可以被配置為向用戶輸出信息和/或數據。例如,i/o設備4005可以包括被配置為顯示地圖的顯示器。
514.相機4006可以被配置為捕獲車輛4000的環境的一個或多個圖像。相機4006可以包
括適合於從環境中捕獲至少一個圖像的任何類型的設備。在一些實施例中,相機4006可以類似於圖1中所示和上面描述的圖像捕獲設備122、124和126。在一些實施例中,相機4006可以包括被配置為捕獲車輛4000的環境的圖像的多個相機。儘管參考一個相機提供了以下描述,但是本領域技術人員將理解公開的系統和方法也可以使用兩個或更多相機來實現。
515.相機4006可以定位在車輛4000上的任何合適的位置處。例如,相機4006可以位於車輛4000的風擋後面、車輛4000的前保險槓附近、車輛4000的後視鏡附近、車輛4000的一個或兩個側視鏡、車輛4000的車頂上、車輛4000的引擎蓋上、車輛4000的後備箱上、車輛4000的側面上,安裝在車輛4000的任何窗戶上、定位在車輛4000的任何窗戶後、或定位在車輛4000的任何窗戶前以及安裝在車輛200的前面和/或後面的燈型中或附近等。
516.lidar系統4007可以包括一個或多個lidar單元。在一些實施例中,一個或多個lidar單元可以定位在車輛4000的車頂上。這樣的單元可以包括旋轉單元,旋轉單元被配置為在車輛4000周圍的360度視場內或從360度視場的任何子段(例如,每個表示小於360度的一個或多個fov)採集lidar反射信息。lidar系統4007收集的數據可以提供給處理器4001。可替代地或附加地,可以經由網絡向本公開中描述的伺服器傳輸數據。
517.在一些實施例中,lidar單元可以定位在車輛4000的前方位置處(例如,前燈附近、前格柵中、霧燈附近、前保險槓中或任何其他合適的位置處)。在一些情況下,安裝在車輛4000前方部分的一個或多個lidar單元可以從車輛4000前方環境中的視場收集反射信息。在其他實施例中,lidar單元可以位於其他位置。例如,lidar單元可以位於車輛4000的風擋後面、車輛4000的前保險槓附近、車輛4000的後視鏡附近、車輛4000的側視鏡中的一個或兩個、車輛4000的車頂上、車輛4000的引擎蓋上、車輛4000的後備箱上、車輛4000的側面上,安裝在車輛4000的任何窗戶上、定位在車輛4000的任何窗戶後、或定位在車輛4000的任何窗戶前,以及安裝在車輛4000的前面和/或後面的燈型中或附近等。
518.在一些實施例中,lidar系統4007可以位於與相機4006的位置不同的位置。例如,相機4006可以位於車輛4000的風擋後面,並且lidar系統4007可以安裝在車輛4000的車頂上。作為另一個示例,相機4006位於車輛4000的前保險槓附近,並且lidar系統4007安裝在車輛4000的車頂上。作為另一個示例,相機4006位於車輛4000的風擋後面,並且lidar系統4007位於車輛4000的前保險槓附近。在一些實施例中,相機4006可以具有與lidar系統4007的fov不同的fov,但是相機4006的fov可以至少部分地與lidar系統4007的fov重疊,以提供共享的視場區域。
519.車輛4000中可以包括任何合適類型的lidar單元。在一些情況下,lidar系統4007可以包括其中使用單個雷射脈衝照明整個lidar視場(fov)的、一個或多個閃光(本文中也稱為靜態)lidar單元(例如,3d閃光lidar),以及包含像素的行和列以記錄返回的光強度和飛行時間/深度信息的傳感器。這樣的閃光系統可以每秒多次照明場景並收集lidar「圖像」。也可以採用掃描lidar單元。這樣的掃描lidar單元可以依賴於將雷射波束分散到特定的fov上的一個或多個技術。在某些情況下,掃描lidar單元可以包括掃描鏡,該掃描鏡將雷射波束朝著fov內的對象偏轉和導向。掃描鏡可以旋轉貫穿完整的360度,或者可以沿著單個軸或多個軸旋轉小於360度,以將雷射朝著預定的fov導向。在一些情況下,lidar單元可以掃描一個水平線。在其他情況下,lidar單元可以掃描fov內的多個水平線,從而有效地每秒對特定fov進行多次光柵化。
520.lidar系統4007中的lidar單元可以包括任何合適的雷射源。在一些實施例中,lidar單元可以採用連續雷射。在其他情況下,lidar單元可能使用脈衝雷射發射。此外,可以採用任何合適的雷射波長。在一些情況下,可以使用大約600納米至大約1000納米之間的波長。
521.lidar系統4007中的lidar單元還可以包括任何合適類型的傳感器並提供任何合適類型的輸出。在某些情況下,lidar單元的傳感器可以包括固態光電檢測器,諸如一個或多個光電二極體或光電倍增管。傳感器還可以包括包含任意數量的像素的一個或多個cmos或ccd設備。這些傳感器可能對從lidar fov內的場景反射的雷射敏感。傳感器可以使得能夠進行來自lidar單元的各種類型的輸出。在一些情況下,lidar單元可以輸出表示在每個傳感器處或在特定傳感器的每個像素或子組件處收集的反射雷射的飛行時間信息和原始光強度值。附加或可替代地,lidar單元可以輸出點雲(例如,3d點雲),其可以包括關於每個收集的點的光強度和深度/距離信息。lidar單元還可以輸出表示光反射幅度和到視場內的點的距離的各種類型的深度圖。lidar單元可以通過記下來自lidar光源的光最初朝著fov投射的時間並記錄入射雷射被lidar單元中的傳感器接收的時間,來提供關於fov內特定點的深度或距離信息。時間差可以表示飛行時間,其可以與入射雷射從雷射源行進到反射對象並返回到lidar單元的往返行程距離直接相關。監視與lidar fov的單獨雷射光斑或小段相關聯的飛行時間信息可以為fov內的多個點提供準確的距離信息(例如,映射到fov內對象的甚至非常小的特徵)。在某些情況下,lidar單元可以輸出更複雜的信息,諸如將一個或多個雷射反射與從其獲取雷射反射的對象的類型相關的分類信息。
522.導航系統4008可以被配置為輔助車輛4000的駕駛員操作車輛4000。例如,導航系統4008可以確定車輛4000當前正從目標軌跡偏離,並向駕駛員生成指示從目標軌跡偏離的通知,該通知可以顯示在顯示器上(例如,顯示基於車輛4000的當前定位和走向方向而確定的估計的行進路徑和目標軌跡)。可替代地,如本公開中的其他地方所述,導航系統4008可以包括被配置為控制車輛4000的移動的自主車輛導航系統。例如,導航系統4008可以在車輛4000穿越道路段時實施由處理器4001確定的導航動作(例如,車輛的轉向、制動或加速中的一個或多個)。在一些實施例中,導航系統4008可以包括高級駕駛員輔助系統(adas)系統。在一些實施例中,導航系統4008可以被配置為根據一個或多個導航動作引起與車輛4000的轉向系統、制動系統或駕駛系統相關聯的一個或多個致動器的激活。
523.在一些實施例中,車輛4000還可以包括被配置為收集與車輛4000和/或車輛4000的環境相關的信息的一個或多個傳感器。示例性傳感器可以包括定位設備(例如全球定位系統(gps)設備)、加速度計、陀螺儀傳感器、速率計等、或其組合。例如,車輛4000可以包括被配置為在一時間段內收集與車輛4000的定位相關聯的定位數據的gps設備。
524.圖41是示出了與公開的實施例一致的、用於確定主車輛的導航動作的示例性過程4100的流程圖。還提及圖42,其是車輛4000的示例性環境的示意性圖示。
525.在步驟4101,處理器4001可以被編程為從車輛4000車載的相機4006接收表示車輛4000的環境的至少一個捕獲的圖像。在一些實施例中,相機4006可以被配置為類似於本公開中其他地方描述的用於捕獲圖像的一個或多個過程地捕獲表示車輛4000的環境的一個或多個圖像。
526.相機4006可以定位在相對於車輛4000的第一位置處。例如,相機4006可以位於車
輛4000的風擋後面、車輛4000的前保險槓附近、車輛4000的後視鏡附近、車輛4000的側視鏡中的一個或兩個、車輛4000的車頂上、車輛4000的引擎蓋上、車輛4000的後備箱上、車輛4000的側面上,安裝在車輛4000的任何窗戶上、定位在車輛4000的任何窗戶後、或定位在車輛4000的任何窗戶前,以及安裝在車輛4000的前面和/或後面的燈型中或附近等。作為示例,如圖42所示,相機4006可以位於車輛4000的前保險槓附近。
527.在一些實施例中,相機4006可以被配置為在一時間段內捕獲可以指示車輛4000相對於環境中的一個或多個對象的移動(例如,居前車輛的減速)的多個捕獲的圖像。
528.參考圖41,在步驟4102,處理器4001可以被編程為從主車輛車載的lidar系統接收點雲信息。如本公開的其他地方所述,點雲信息可以表示到主車輛的環境中的各種對象的距離。lidar系統4007可以從其在車輛4000的環境中的視場捕獲反射信息。反射信息可以包括與視場中的各種對象的反射相關的信息。在一些實施例中,點雲信息可以包括多個捕獲的lidar幀。lidar幀可以指代在掃描周期期間捕獲的lidar數據。在一個示例中,典型的幀時間可能持續少於一秒。在一些實施例中,lidar系統4007可以具有固定的幀速率(例如,每秒10幀、每秒25幀、每秒50幀)或者幀速率可以是動態的。類似於相機4006在上述一時間段內捕獲的一系列圖像,處理器4001也可以使用多個捕獲的lidar幀來確定車輛4000相對於環境中的一個或多個對象(例如,居前車輛的減速)的移動。
529.在一些實施例中,lidar系統4007可以定位在相對於車輛4000的第二位置處。例如,lidar系統4007可以定位在車輛4000的前方位置處(例如,前燈附近、前格柵中、霧燈附近、前保險槓中或任何其他合適的位置處)。在一些情況下,安裝在車輛4000的前方部分的lidar系統4007可以從車輛4000前方環境中的視場收集反射信息。在其他實施例中,lidar系統4007可以位於其他位置。例如,lidar系統4007可以位於車輛4000的風擋後面、車輛4000的前保險槓附近、車輛4000的後視鏡附近、車輛4000的側視鏡中的一個或兩個、車輛4000的車頂上、車輛4000的引擎蓋上、車輛4000的後備箱上、車輛4000的側面上,安裝在車輛4000的任何窗戶上、定位在車輛4000的任何窗戶後、或定位在車輛4000的任何窗戶前,以及安裝在車輛4000的前面和/或後面的燈型中或附近等。
530.在一些實施例中,第二位置(lidar系統4007所定位的地方)和第一位置(相機4006所定位的地方)可以不同。例如,相機4006可以位於車輛4000的風擋後面,而lidar系統4007可以安裝在車輛4000的車頂上。作為另一個示例,相機4006可以位於車輛4000的前保險槓附近,並且lidar系統4007安裝在車輛4000的車頂上。作為另一個示例,相機4006位於車輛4000的風擋後面,並且lidar系統4007位於車輛4000的前保險槓附近。在一些實施例中,相機4006可以具有與lidar系統4007的fov不同的fov,但是相機4006的fov可以至少部分地與lidar系統4007的fov重疊,以提供共享的視場區域。在一些實施例中,相機4006的視場可以至少部分地與lidar系統4007的視場重疊以提供共享的視場區域。作為示例,如圖42所示,相機4006位於車輛4000的前保險槓附近,lidar系統4007安裝在車輛4000的車頂上。lidar系統4007具有lidar fov 4017,並且相機4006具有相機fov 4016,相機fov 4016可以至少部分地與lidar系統4007的視場重疊以提供共享fov區域4018。共享fov區域可以指代相機4006和lidar系統4007二者可以感測的區域,但它們的有利(vantage)點差異可能導致它們在共享fov區域中可以檢測的差異。作為示例,如圖42所示,較低定位的相機4006(例如,位於車輛4000的前保險槓附近)可以僅感測一個居前車輛(例如,第一車輛4201),但較高定位
的lidar系統4007(例如,位於車輛4000的車頂上)可以感測居前車輛(例如,第二車輛4202)之外的對象。另一方面,在另一個示例中,定位在主車輛格柵中的相機可以感測非常靠近主車輛的對象(例如,圖42中所示的地上的對象4211,其中安裝在主車輛的車頂上的lidar系統可能被主車輛的引擎蓋遮擋)。作為另一個示例,lidar系統可以更好地查看可能被主車輛的引擎蓋從捕獲的相機圖像中遮擋的更靠近的對象。
531.參照圖41,在步驟4103,處理器4001可以被編程為分析至少一個捕獲的圖像和接收的點雲信息,以檢測共享的視場區域(例如,圖42中所示的共享fov區域4018)中的一個或多個對象。檢測的一個或多個對象可以僅在至少一個捕獲的圖像或接收的點雲信息中的一個中被表示。作為示例,如圖42所示,處理器4001可以被編程為分析至少一個捕獲的圖像和接收的點雲信息,並檢測地上的對象4211,該對象可能在共享fov區域4018中。然而,給定lidar系統4007的視野lidar可能被車輛4000的引擎蓋遮擋,則對象4211可能會出現在至少一個捕獲的圖像中,但不出現在點雲信息中。在一些實施例中,處理器4001在步驟4103檢測的對象可以包括位於主車輛前方的目標車輛前的對象。在一個示例中,如圖42所示,儘管第二車輛4202也可能出現在相機fov 4016(和第二車輛4202)中,但第二車輛4202從相機4006的視野被第一車輛4201(即,居前車輛或目標車輛)阻擋。結果,第二車輛4202可能出現在點雲信息中,但不出現一個或多個捕獲的圖像中。在步驟4103由處理器4001檢測的對象可以包括道路中的靜態對象(例如,道路上的減速帶)。在一些實施例中,處理器4001在步驟4103檢測的對象可以包括位於車輛4000前但足夠靠近以致車輛4000的部分(例如,車輛4000的前部)從至少一個捕獲的圖像或點雲信息遮擋一個或多個對象的對象。作為示例,如圖42所示,處理器4001可以檢測地上的對象4211,該對象可能被車輛4000的引擎蓋阻擋並且可能僅出現在捕獲的圖像中。
532.在步驟4104,處理器4001可以被編程為確定相機4006的第一位置和lidar系統4007的第二位置之間的有利點差異是否考慮了僅在至少一個捕獲的圖像或接收的點雲信息中的一個中表示一個或多個檢測的對象。例如,處理器4001可以基於fov和/或相機4006和lidar系統4007的位置來確定有利點差異。處理器4001還可以確定對象(在步驟4103)是否在至少一個捕獲的圖像或接收的點雲信息中的一個中不出現,而在另一個中出現,是由於有利點的差異。
533.如果處理器4001確定有利點差異未考慮僅在至少一個捕獲的圖像或接收的點雲信息中的一個中表示一個或多個檢測的對象,則過程4100進行到步驟4105。在步驟4105,處理器4001可以被編程為引起採取至少一個補救動作。補救動作可以包括向車輛4000的乘客和/或駕駛員發出警告(例如,在檢測到道路上的減速帶之後)或在主車輛的導航中忽略一個或多個檢測的對象(例如,在檢測到地上的小對象後)中的至少一個。
534.在一些實施例中,至少一個補救動作可以包括將不同的權重應用於基於至少一個捕獲的圖像的分析的、基於圖像的檢測路徑,以及基於點雲信息的分析的、基於lidar的檢測路徑。在某些情況下,相機4006和lidar系統的檢測結果的差異可能不是由於相機4006和lidar系統4007之間的有利點差異,而是由於其他原因。例如,檢測結果的差異可能是由於某些環境狀況。作為示例,lidar系統4007可以在太陽眩光環境(或高反射環境,或在沒有路燈的夜晚時間期間的弱光狀況等)中比相機4006表現更好。因此,處理器4001可以在點雲信息中檢測到對象,但在相機4006捕獲的圖像中沒有檢測到對象,即使該對象出現在相機
4006和lidar系統4007兩者的視野中。另一方面,相機4006可以在霧天或雨天比lidar系統4007表現更好。因此,處理器4001可以在圖像中檢測到對象,但在點雲信息中沒有檢測到對象。如果處理器4001確定有利點差異未考慮僅在至少一個捕獲的圖像或接收的點雲信息中的一個中表示一個或多個檢測的對象,則處理器4001可以將不同的權重應用於基於至少一個捕獲的圖像的分析的、基於圖像的檢測路徑,以及基於點雲信息的分析的、基於lidar的檢測路徑。例如,如果處理器4001確定在點雲信息中未檢測到對象是由於天氣狀況(例如,雨天),則處理器4001可以對基於圖像的檢測路徑應用比基於lidar的檢測路徑的權重更高的權重,這可能給出更準確的檢測結果。作為另一示例,如果處理器4001確定在圖像中未檢測到對象是由於光照狀況(例如,車輛4000在沒有路燈的夜晚時間期間導航),則處理器4001可以對基於圖像的檢測路徑應用比基於lidar的檢測路徑的權重更低的權重。
535.如果處理器4001確定有利點差異確實考慮了僅在至少一個捕獲的圖像或接收的點雲信息中的一個中表示一個或多個檢測的對象,則過程4100可以進行到步驟4106。在步驟4106,處理器4001可以被編程為基於一個或多個檢測的對象確定車輛4000要採取的至少一個導航動作,並且在步驟4107引起車輛4000採取至少一個導航動作。如本公開的其他地方所述,由處理器確定並由車輛4000採取的導航動作可以包括保持或改變當前走向方向、增加或降低當前速率等、或它們的組合。處理器4001還可以被編程為引起車輛4000根據用於控制在本公開的其他地方描述的導航系統的一個或多個方法採取至少一個導航動作。例如,處理器4001可以被編程為通過引起與車輛4000的轉向系統(例如,保持或改變當前走向方向)、制動系統(例如,降低當前速率)或駕駛系統(例如,加速、減速、降低當前速率)相關聯的一個或多個致動器的激活,來引起車輛4000採取至少一個導航動作。
536.在一些實施例中,處理器4001可以基於檢測的動作或檢測的對象的移動來確定至少一個導航動作。例如,如上所述,處理器4001可以在由lidar系統4007捕獲的點雲信息中檢測圖42中所示的第二車輛4202(其在第一車輛4201即目標車輛前)。儘管第一車輛4201,但處理器4001可以被編程為基於檢測的第二車輛4202的動作來確定導航動作。例如,儘管目標車輛未被檢測到減速,但處理器4001可以被編程為基於例如點雲信息的多個lidar幀來檢測第二車輛4202的減速。處理器4001還可被編程為確定製動車輛4000的導航動作。處理器4001還可被編程為使導航系統4008制動車輛4000。
537.偽lidar
538.本公開提供了可以推斷由一個或多個分組的相機捕獲的圖像的像素中的深度信息的系統和方法。例如,在一些實施例中,主車輛可以包括相機分組,該相機分組可以包括三個相機,即中心相機、左環繞相機和右環繞相機。中心相機的fov可以至少部分地與左環繞相機的fov和右環繞相機的fov兩者重疊。中心相機可以被配置為在中心相機的fov中捕獲至少在主車輛的環境的一部分中的一個或多個圖像(在本文中也稱為中心圖像)。左環繞相機可以被配置為在左環繞相機的fov中捕獲至少在主車輛的環境的一部分中的一個或多個圖像(在本文中也稱為左環繞圖像)。右環繞相機可以被配置為在右環繞相機的fov中捕獲至少在主車輛的環境的一部分中的一個或多個圖像(在本文中也稱為右環繞圖像)。主車輛可以從中心相機接收捕獲的中心圖像、從左環繞相機接收捕獲的左環繞圖像以及從右環繞相機接收捕獲的右環繞圖像。主車輛還可以將接收的圖像提供給分析模塊,該分析模塊可以被配置為基於中心圖像、左環繞圖像和右環繞圖像的分析來生成關於中心圖像的輸
出。在一些實施例中,生成的輸出可以包括中心圖像的至少一個區域的每個像素的深度信息。主車輛還可以基於包括中心圖像的至少一個區域的每個像素的深度信息的生成的輸出,來採取至少一個導航動作。
539.圖43示出了與公開的實施例一致的示例性車輛4300。公開的系統和方法可以使用車輛4300的一個或多個組件來實現。如圖43所示,車輛4300可以包括至少一個處理器(例如,處理器4301)、存儲器4302、至少一個存儲設備(例如,存儲器設備4303)、通信埠4304、i/o設備4305、多個相機4306、lidar系統4307和導航系統4308。
540.處理器4301可以被編程為執行本公開中描述的車輛4300的一個或多個功能。處理器4301可以包括微處理器、預處理器(諸如圖像預處理器)、圖形處理單元(gpu)、中央處理單元(cpu)、支持電路、數位訊號處理器、集成電路、存儲器、或適合於運行應用或執行計算任務的任何其他類型的設備。在一些實施例中,處理器4301可以包括任何類型的單核或多核處理器、行動裝置微控制器、中央處理單元等。可以使用各種處理設備,包括例如可從諸如等製造商獲得的處理器,或可從諸如等製造商獲得的gpu,並且可以包括各種架構(例如,x86處理器、等)。本文公開的任何處理設備可以被配置為執行一定功能。將諸如任何描述的處理器或其他控制器或微處理器的處理設備配置為執行一定功能可以包括對計算機可執行指令進行編程並使這些指令可用於處理設備,以在處理設備的操作期間執行。在一些實施例中,配置處理設備可以包括使用架構指令直接對處理設備進行編程。例如,可以使用例如一個或多個硬體描述語言(hdl)來配置諸如現場可編程門陣列(fpga)、專用集成電路(asic)等的處理設備。
541.車輛4300還可以包括可以存儲用於車輛4300的各種組件的指令的存儲器4302。例如,存儲器4302可以存儲指令,當由處理器4301執行時,可以被配置為使處理器4301執行本文所述的處理器4301的一個或多個功能。存儲器4302可以包括任意數量的隨機存取存儲器、只讀存儲器、快閃記憶體、磁碟驅動器、光存儲、磁帶存儲、可移動存儲和其他類型的存儲。在一個實例中,存儲器4302可以與處理器4301分開。在另一個實例中,存儲器4302可以被集成到處理器4301中。在一些實施例中,存儲器4302可以包括用於執行一個或多個計算任務的軟體,以及經訓練的系統,諸如神經網絡(例如,經訓練的深度神經網絡)或深度神經網絡。例如,如本公開的其他地方所述,存儲器4302可以包括分析模塊,分析模塊由處理器4301可訪問用於接收圖像並生成關於圖像之一的輸出。
542.在一些實施例中,分析模塊可以包括基於訓練數據而被訓練的至少一個經訓練的模型,訓練數據包括由具有至少部分重疊的場的相機捕獲的多個圖像以及與多個圖像中的至少一些圖像對應的lidar點雲信息的組合。例如,每個訓練數據集合可以包括三個圖像,每個圖像可以由安裝在訓練車輛上的相機分組(包括中心相機、左環繞相機和右環繞相機)中的一個相機捕獲。中心相機的fov可以至少部分地與左環繞相機的fov和右環繞相機的fov重疊。訓練數據集合還可以包括由安裝在相同車輛上的lidar系統捕獲的點雲信息,其可以提供與由該相機分組捕獲的圖像相關聯的測量的深度信息。點雲信息可以被視為用於訓練神經網絡的參考深度信息(或真實深度值)。可以將訓練數據集合中的圖像(和/或提取的圖像特徵)輸入到初步的(或未訓練的)神經網絡中,該神經網絡可以為中心圖像的至少一個區域生成包括計算的每個像素的深度信息的輸出。計算的每個像素的深度信息可以與點雲信息的對應的深度信息進行比較,以確定神經網絡是否具有滿足或超過用於生成每個
像素的深度信息的預定準確度水平的模型參數或權重。例如,用於訓練神經網絡的訓練系統可以基於計算的深度信息與點雲信息(被包括在訓練數據集合中)中的對應的深度信息的比較來生成神經網絡的準確度分數。如果準確度分數等於或超過閾值,則訓練過程可以停止,並且訓練系統可以將經訓練的神經網絡保存到本地存儲設備中和/或向一個或多個車輛(例如車輛4300)傳輸經訓練的神經網絡。另一方面,如果準確度分數低於閾值,則訓練系統可以調整神經網絡的一個或多個參數或權重,並使用訓練數據集合重複訓練過程,直到達到神經網絡的準確度分數等於或超過閾值(和/或已達到預定數量的訓練周期)。
543.在一些實施例中,當訓練神經網絡時,可以使用分數函數(或損失)的組合,其可包括提供由網絡基於訓練數據集合的圖像計算的深度信息的分數的光度(photometric)損失。對於合適的深度,可以最小化對應的圖像塊之間的外觀差異,這可以在存在紋理特徵的圖像區域中提供指導。此外,可以使用由訓練車輛的lidar系統收集的lidar點測量的投射(projection)來計算更稀疏的分數函數。可以使用車輛的計算的自我運動在場景中的一個或多個靜態對象上聚合這些點。投射可以考慮在訓練過程期間要由神經網絡計算深度信息的圖像的像素強度可以被記錄的時刻與lidar數據也可以被記錄的捕獲時間之間的時間差。靜態對象可以基於單目圖像對象檢測器來確定,以最小化假負例率(以大的假負例率為代價)。在一些實施例中,還可以訓練神經網絡以通過回歸其自身幾何誤差的幅度來預測計算的深度信息的置信度分數,這可以在訓練時使用lidar的幾何標籤進行優化。
544.在一些實施例中,車輛4300可以經由網絡從伺服器接收分析模塊並將分析模塊存儲在存儲器4302和/或存儲設備4303中。
545.存儲設備4303可以被配置為存儲車輛4300的一個或多個組件的各種數據和信息。存儲設備4303可以包括一個或多個硬碟驅動器、磁帶、一個或多個固態驅動器、適合於寫入和讀取數據的任何設備等,或其組合。例如,存儲設備4303可以被配置為存儲一個或多個地圖的數據。作為示例,存儲設備4303可以存儲稀疏地圖的數據,其可以包括與道路段相關聯的一個或多個地標和與道路段相關聯的一個或多個目標軌跡。作為另一個示例,存儲設備4303可以被配置為存儲由相機4306捕獲的圖像和/或由lidar系統4307捕獲的lidar數據。
546.通信埠4304可以被配置為促進車輛4300和其他設備之間的數據通信。例如,通信埠4304可以被配置為經由一個或多個公共或私人網絡(包括網際網路、內聯網、wan(廣域網)、man(城域網)、符合ieee 802.11a/b/g/n標準的無線網絡、租用線路等)從伺服器(例如,本公開中描述的一個或多個伺服器)接收數據和向伺服器傳輸數據。
547.i/o設備4305可以被配置為從車輛4300的用戶接收輸入,並且車輛4300的一個或多個組件可以響應於接收的輸入執行一個或多個功能。在一些實施例中,i/o設備4305可以包括顯示在觸控螢幕上的接口。i/o設備4305還可以被配置為向用戶輸出信息和/或數據。例如,i/o設備4305可以包括被配置為顯示地圖的顯示器。
548.相機4306可以被配置為捕獲車輛4300的環境的一個或多個圖像。相機4306可以包括適合於從環境中捕獲至少一個圖像的任何類型的設備。在一些實施例中,相機4306可以類似於圖1中所示和上面描述的圖像捕獲設備122、124和126。為了簡潔起見,這裡不重複詳細的描述。
549.相機4306可以定位在車輛4300上的任何合適的位置處。例如,相機4306可以位於車輛4300的風擋後面、車輛4300的前保險槓附近、車輛4300的後視鏡附近、車輛4300的側視
鏡中的一個或兩個、車輛4300的車頂上、車輛4300的引擎蓋上、車輛4300的後備箱上、車輛4300的側面上,安裝在車輛4300的任何窗戶上、定位在車輛4300的任何窗戶後、或定位在車輛4300的任何窗戶前,以及安裝在車輛4300的前面和/或後面的燈型中或附近等。
550.在一些實施例中,相機4306可以包括一個或多個分組的相機。每個分組的相機可以包括三個相機,即中心相機、左環繞相機和右環繞相機。作為示例,如圖44所示,車輛4300可以包括相機分組,包括中心相機4410、左環繞相機4420和右環繞相機4430。中心相機4410可以定位於車輛4300的後視鏡附近和/或車輛4300的駕駛員附近。左環繞相機4420和右環繞相機4430可以定位在車輛4300的保險槓區域上或保險槓區域中。其他配置也是可能的。例如,中心相機4410、左環繞相機4420和右環繞相機4430可以定位在車輛4300的後視鏡附近和/或靠近駕駛員座椅。
551.在一些實施例中,中心相機4410的fov可以至少部分地與左環繞相機4420的fov和右環繞相機4430的fov兩者重疊。作為示例,如圖44所示,中心相機4410可以具有中心相機fov 4411,左環繞相機4420可以具有左環繞fov 4421,並且右環繞相機4430可以具有右環繞fov 4431。中心相機fov 4411可以與左環繞fov 4421和右環繞fov 4431至少部分地重疊。例如,可能存在中心相機fov 4411和左環繞fov 4421的重疊區域4412,以及中心相機fov 4411和右環繞fov 4431的重疊區域4413。在一些實施例中,中心相機4410、左環繞相機4420和右環繞相機4430中的兩個或更多可以具有不同的fov(如圖44所示)。
552.在一些實施例中,中心相機4410、左環繞相機4420和右環繞相機4430中的兩個或更多可以具有不同的焦距。在一些實施例中,可以選擇具有相鄰fov之間的廣範圍的角重疊的中心相機4410、左環繞相機4420和右環繞相機4430的焦距,使得系統可以從中心相機4410、左環繞相機4420和右環繞相機4430捕獲的圖像推斷深度信息。
553.在一些實施例中,車輛4300可以包括兩個或更多分組的相機。例如,車輛4300可以包括第一分組的相機,第一分組的相機包括中心相機4410、左環繞相機4420和右環繞相機4430。車輛4300還可以包括第二分組的相機,第二分組的相機包括位於車輛4300的後視鏡附近的中心相機、位於車輛4300的左後側處的左環繞相機、以及位於車輛4300的右後側處的右環繞相機。在一些實施例中,(兩個或更多)分組的相機的fov可以形成覆蓋360度的總fov。
554.在一些實施例中,相機分組可以共享至少一個相機。例如,代替上面提供的示例中的另一個中心相機,第二分組的相機可以包括(第一分組的)中心相機4410作為第二分組的相機的中心相機。作為另一示例,車輛4300可以包括三個或更多分組的相機,並且第一相機分組的右環繞相機可以用作第二相機分組的左環繞相機,並且第一相機分組的左環繞相機可以用作第三相機分組的右環繞相機。可替代地或附加地,第一相機分組的左環繞相機或右環繞相機中的至少一個可以用作除了第一相機分組之外的相機分組的中心相機。本領域技術人員將理解,相機配置的上述示例僅用於說明目的,並且其不旨在限制本公開的範圍;相機和/或相機分組的其他配置也可以用於實現所公開的系統和方法。
555.lidar系統4307可以包括一個或多個lidar單元。在一些實施例中,一個或多個lidar單元可以定位在車輛4300的車頂上。這樣的單元可以包括旋轉單元,旋轉單元被配置為在車輛4300周圍的360度視場內或從360度視場的任何子段(例如,每個表示小於360度的一個或多個fov)採集lidar反射信息。由lidar系統4307收集的數據可以提供給處理器
4301。可替代地或附加地,可以經由網絡向本公開中描述的伺服器傳輸數據。
556.在一些實施例中,lidar單元可以定位在車輛4300的前方位置處(例如,前燈附近、前格柵中、霧燈附近、前保險槓中或任何其他合適的位置處)。在一些情況下,安裝在車輛4300前方部分的一個或多個lidar單元可以從車輛4300前方環境中的視場收集反射信息。在其他實施例中,lidar單元可以位於其他位置。例如,lidar單元可以位於車輛4300的風擋後面、車輛4300的前保險槓附近、車輛4300的後視鏡附近、車輛4300的側視鏡中的一個或兩個、車輛4300的車頂上、車輛4300的引擎蓋上、車輛4300的後備箱上、車輛4300的側面上,安裝在車輛4300的任何窗戶上、定位在車輛4300的任何窗戶後、或定位在車輛4300的任何窗戶前,以及安裝在車輛4300的前面和/或後面的燈型中或附近等。作為示例,lidar系統4307可以位於車輛4300的車頂上,如圖44所示。
557.車輛4300中可以包括任何合適類型的lidar單元。在一些情況下,lidar系統4307可以包括其中使用單個雷射脈衝照明整個lidar視場(fov)的、一個或多個閃光(本文中也稱為靜態)lidar單元(例如,3d閃光lidar),以及包含像素的行和列以記錄返回的光強度和飛行時間/深度信息的傳感器。這樣的閃光系統可以每秒多次照明場景並收集lidar「圖像」。也可以採用掃描lidar單元。這樣的掃描lidar單元可以依賴於用於將雷射波束分散到特定的fov上的一個或多個技術。在某些情況下,掃描lidar單元可以包括掃描鏡,該掃描鏡將雷射波束朝著fov內的對象偏轉和導向。掃描鏡可以旋轉貫穿完整的360度,或者可以沿著單個軸或多個軸旋轉小於360度,以將雷射朝著預定的fov導向。在一些情況下,lidar單元可以掃描一個水平線。在其他情況下,lidar單元可以掃描fov內的多個水平線,從而有效地每秒對特定fov進行多次光柵化。
558.lidar系統4307中的lidar單元可以包括任何合適的雷射源。在一些實施例中,lidar單元可以採用連續雷射。在其他情況下,lidar單元可能使用脈衝雷射發射。此外,可以採用任何合適的雷射波長。在一些情況下,可以使用大約600納米至大約1000納米之間的波長。
559.lidar系統4307中的lidar單元還可以包括任何合適類型的傳感器並提供任何合適類型的輸出。在某些情況下,lidar單元的傳感器可以包括固態光電檢測器,諸如一個或多個光電二極體或光電倍增管。傳感器還可以包括包含任意數量的像素的一個或多個cmos或ccd設備。這些傳感器可能對從lidar fov內的場景反射的雷射敏感。傳感器可以使得能夠進行來自lidar單元的各種類型的輸出。在一些情況下,lidar單元可以輸出表示在每個傳感器處或在特定傳感器的每個像素或子組件處收集的反射雷射的飛行時間信息和原始光強度值。附加或可替代地,lidar單元可以輸出點雲(例如,3d點雲),其可以包括關於每個收集的點的光強度和深度/距離信息。lidar單元還可以輸出表示光反射幅度和到視場內的點的距離的各種類型的深度圖。lidar單元可以通過記下來自lidar光源的光最初朝著fov投射的時間並記錄入射雷射被lidar單元中的傳感器接收的時間,來提供關於fov內特定點的深度或距離信息。時間差可以表示飛行時間,其可以與入射雷射從雷射源行進到反射對象並返回到lidar單元的往返行程距離直接相關。監視與lidar fov的單獨雷射光斑或小段相關聯的飛行時間信息可以為fov內的多個點提供準確的距離信息(例如,映射到fov內對象的甚至非常小的特徵)。在某些情況下,lidar單元可以輸出更複雜的信息,諸如將一個或多個雷射反射與從其獲取雷射反射的對象的類型相關的分類信息。
560.導航系統4308可以被配置為輔助車輛4300的駕駛員操作車輛4300。例如,導航系統4308可以確定車輛4300當前正從目標軌跡偏離並向駕駛員生成指示從目標軌跡偏離的通知,通知可以顯示在顯示器上(例如,顯示基於車輛4300的當前定位和走向方向而確定的估計的行進路徑和目標軌跡)。可替代地,如本公開中的其他地方所述,導航系統4308可以包括被配置為控制車輛4300的移動的自主車輛導航系統。例如,導航系統4308可以在車輛4300穿越道路段時實施由處理器4301確定的導航動作(例如,車輛的轉向、制動或加速中的一個或多個)。在一些實施例中,導航系統4308可以包括高級駕駛員輔助系統(adas)系統。在一些實施例中,導航系統4308可以被配置為根據一個或多個導航動作引起與車輛4300的轉向系統、制動系統或駕駛系統相關聯的一個或多個致動器的激活。
561.在一些實施例中,車輛4300還可以包括被配置為收集與車輛4300和/或車輛4300的環境相關的信息的一個或多個傳感器。示例性傳感器可以包括定位設備(例如全球定位系統(gps)設備)、加速度計、陀螺儀傳感器、速率計等、或其組合。例如,車輛4300可以包括被配置為在一時間段內收集與車輛4300的定位相關聯的定位數據的gps設備。
562.圖45是示出了與公開的實施例一致的用於確定主車輛的導航動作的示例性過程4500的流程圖。雖然以下過程4500的一些描述是參考圖44中所示的中心相機4410、左環繞相機4420和右環繞相機4430提供的,但是本領域技術人員將理解相機4306中的一個或多個可以定位在車輛4300的其他位置。
563.在步驟4501,處理器4301可以被編程為從中心相機4410接收至少一個捕獲的中心圖像,中心圖像可以包括車輛4300的環境的至少一部分的表示。處理器4301還可以被配置為從左環繞相機4420接收可以包括車輛4300的環境的至少一部分的表示的、至少一個捕獲的左環繞圖像。處理器4301還可以被配置為從右環繞相機4430接收可以包括車輛4300的環境的至少一部分的表示的、至少一個捕獲的右環繞圖像。在一些實施例中,中心相機4410的fov可以至少部分地與左環繞相機4420的fov和右環繞相機4430的fov兩者重疊。作為示例,如圖44所示,中心相機4410可以包括中心相機fov 4411,左環繞相機4420可以包括左環繞fov 4421,以及右環繞相機4430可以包括右環繞fov 4431。中心相機fov 4411可以至少部分地與左環繞fov 4421和右環繞fov 4431重疊。例如,可以存在中心相機fov 4411和左環繞fov 4421的重疊區域4412,以及中心相機fov 4411和右環繞fov 4431的重疊區域4413。
564.參考圖45,在步驟4502,處理器4301可以被編程為將至少一個捕獲的中心圖像、至少一個捕獲的左環繞圖像和至少一個捕獲的右環繞圖像提供給分析模塊,分析模塊被配置為基於至少一個捕獲的中心圖像、至少一個捕獲的左環繞圖像和至少一個捕獲的右環繞圖像的分析來生成關於至少一個捕獲的中心圖像的輸出。生成的輸出可以包括捕獲的中心圖像的至少一個區域的每個像素的深度信息。
565.在一些實施例中,分析模塊可以包括至少一個經訓練的模型。經訓練的模型可以包括可以基於訓練數據而被訓練的經訓練的神經網絡,訓練數據包括由具有至少部分重疊的場的相機捕獲的多個圖像以及與多個圖像中的至少一些對應的lidar點雲信息的組合。例如,訓練數據集合中的每一個可以包括三個圖像,每個圖像可以由安裝在訓練車輛上的相機分組(包括中心相機、左環繞相機和右環繞相機)中的一個捕獲。中心相機的fov可以至少部分地與左環繞相機的fov和右環繞相機的fov重疊。訓練數據集合還可以包括由安裝在相同車輛上的lidar系統捕獲的點雲信息,其可以提供與由該相機分組捕獲的圖像相關聯
的測量的深度信息。點雲信息可以被視為用於訓練神經網絡的參考深度信息(或真實深度值)。可以將訓練數據集合中的圖像(和/或提取的圖像特徵)輸入到初步的(或未訓練的)神經網絡中,該神經網絡可以針對中心圖像的至少一個區域生成包括計算的每個像素的深度信息的輸出。計算的每個像素的深度信息可以與點雲信息的對應的深度信息進行比較,以確定神經網絡是否具有滿足或超過用於生成每個像素的深度信息的預定準確度水平的模型參數或權重。例如,用於訓練神經網絡的訓練系統可以基於計算的深度信息與點雲信息(被包括在訓練數據集合中)中的對應的深度信息的比較來生成神經網絡的準確度分數。如果準確度分數等於或超過閾值,則訓練過程可以停止,並且訓練系統可以將經訓練的神經網絡保存到本地存儲設備中和/或向一個或多個車輛(例如車輛4300)傳輸經訓練的神經網絡。另一方面,如果準確度分數低於閾值,則訓練系統可以調整神經網絡的一個或多個參數或權重,並使用訓練數據集合重複訓練過程,直到達到神經網絡的準確度分數等於或超過閾值(和/或已達到預定數量的訓練周期)。
566.在一些實施例中,在將圖像提供給分析模塊之前,處理器4301可以基於圖像和相機的參數,來生成共享圖像軸的朝向和圖像主軸的方向(例如,它們的圖像軸的朝向和它們的主軸的方向)的合成針孔圖像集合。該預處理步驟可以允許有效的扭曲(均勻圖像縮放-平移)。處理器4301還可以將生成的合成針孔圖像(而不是原始圖像)輸入到分析模塊中以生成輸出。
567.在一些實施例中,處理器4301可以將圖像輸入到分析模塊中,分析模塊可以由處理器4301運行。分析模塊可以生成包括捕獲的中心圖像的至少一個區域的每個像素的深度信息的輸出。
568.在一些實施例中,車輛4300可以經由網絡從伺服器接收分析模塊並將分析模塊存儲在存儲器4302和/或存儲設備4303中。
569.在一些實施例中,分析模塊生成的輸出可以包括捕獲的中心圖像的至少一個區域(或所有區域)的每個像素的深度信息。在一些實施例中,捕獲的中心圖像的至少一個區域的每個像素的深度信息可以提供或包括捕獲的中心圖像中表示的一個或多個對象的深度信息。在一些情況下,一個或多個對象可能不接觸地表面(例如,道路表面)。對於單目系統,可能需要地平面以通過諸如運動中的結構的過程來獲得深度信息,這在本文公開的系統中可能不需要。在一些實施例中,一個或多個對象可以與目標車輛相關聯(或由目標車輛攜帶)。
570.在一些實施例中,捕獲的中心圖像的至少一個區域的每個像素的深度信息可以提供或包括捕獲的中心圖像中表示的至少一個對象的表面的深度信息,並且至少一個對象的表面可以包括一個或多個其他對象的反射,因為分析模塊可以至少部分地基於表面的邊緣來辨識(recognize)表面,並且可以辨識反射在表面上且不指示超出表面的更遠對象。
571.在一些實施例中,捕獲的中心圖像的至少一個區域的每個像素的深度信息可以提供或包括關於至少部分地從至少一個捕獲的中心圖像、至少一個捕獲的左環繞圖像或至少一個捕獲的右環繞圖像中的一個或多個中的視野中被至少部分遮擋的對象的深度信息,因為即使在對象從一個或多個捕獲的圖像中的視野被部分遮擋的情況下,分析模塊也可以提供深度信息。
572.在一些實施例中,如上所述,車輛4300可以包括兩個或更多分組的相機。例如,車
輛4300可以包括第一分組的相機,該第一分組的相機包括中心相機4410、左環繞相機4420和右環繞相機4430。車輛4300還可以包括第二分組的相機,該第二分組的相機包括位於車輛4300的後視鏡附近的中心相機、位於車輛4300的左後側處的左環繞相機和位於車輛4300的右後側處的右環繞相機。分析模塊還可以被配置為基於從第二相機分組的相機接收的至少一個捕獲的中心圖像、至少一個捕獲的左環繞圖像和至少一個捕獲的右環繞圖像的分析,來生成關於由第二相機分組的中心相機捕獲的至少一個中心圖像的另一個輸出,並且另一個生成的輸出可以包括由第二相機分組的中心相機捕獲的中心圖像的至少一個區域的每個像素的深度信息。在一些實施例中,分析模塊可以被配置為生成由第一相機分組和至少第二相機分組中的每個分組中的至少一個相機捕獲的至少一個圖像的每個像素的深度信息,以提供360度的圖像生成的環繞車輛的點雲。
573.在步驟4503,處理器4301可以被編程為基於包括捕獲的中心圖像的至少一個區域的每個像素的深度信息的生成的輸出,來引起車輛4300的至少一個導航動作。例如,處理器4301可以分析包括捕獲的中心圖像的至少一個區域的每個像素的深度信息的生成的輸出,並且基於生成的輸出檢測一個或多個對象。如本公開中其他地方所述,處理器4301還可以被配置為基於檢測的對象確定車輛4300的至少一個導航動作。如本公開中其他地方所述,處理器4301還可以被配置為使車輛4300實施確定的導航動作。例如,處理器4301可以確定保持車輛4300的當前走向方向和速率、改變車輛4300的當前走向方向(例如,使車輛4300轉彎)或改變車輛4300的速率(例如,加速或制動車輛4300)中的至少一個。作為示例,處理器4301可以分析生成的輸出,並且基於生成的輸出的分析來識別在預定安全距離內的對象。處理器4301還可以被配置為確定車輛4300的導航動作以使車輛4300減速或轉向遠離識別的對象。處理器4301還可以被配置為控制導航系統4308以根據一個或多個導航動作引起與車輛4300的轉向系統、制動系統或駕駛系統相關聯的一個或多個致動器的激活。
574.在一些實施例中,處理器4301可以被配置為基於捕獲的中心圖像的至少一個區域的每個像素的深度信息以及從lidar系統4307接收的點雲信息的組合來確定至少一個導航動作。在一些實施例中,處理器4301可以將與在捕獲的中心圖像的至少一個區域的每個像素的深度信息以及從lidar系統4307接收的對應的點雲信息兩者中出現的對象相關聯的深度值平均,以獲得與對象相關聯的平均深度值。處理器4301還可以基於與對象相關聯的平均深度來確定導航動作(例如,保持當前速率和走向方向)。可替代地或附加地,處理器4301可以對從捕獲的中心圖像的至少一個區域的每個像素的深度信息獲得的深度值以及從自lidar系統4307接收的點雲信息獲得的深度值應用不同的權重(其可以類似於上面結合步驟4104描述的過程)。處理器4301還可以被配置為基於加權的深度值確定至少一個導航動作。例如,如上所述,lidar系統在太陽眩光環境(或高反射環境,或在沒有路燈的夜晚時間期間的弱光狀況等)中可以比相機表現更好。在太陽眩光環境(或高反射環境,或在沒有路燈的夜晚時間期間的弱光狀況等)中,處理器4301可以對基於從lidar系統4307接收的點雲信息而獲得的深度值應用比對從捕獲的中心圖像的至少一個區域的每個像素的深度信息獲得的深度值所應用的權重更高的權重。另一方面,相機可以在霧天或雨天比lidar系統表現更好,並且在這樣的環境中,處理器4301對基於從lidar系統4307接收的點雲信息而獲得的深度值應用與對從捕獲的中心圖像的至少一個區域的每個像素的深度信息獲得的深度值所應用的權重相比更低的權重。
575.為了說明的目的已經呈現了前述描述。它不是窮舉的並且不限於公開的精確形式或實施例。根據說明書的考慮和公開實施例的實踐,修改和改編對於本領域技術人員將是清晰的。另外,雖然公開的實施例的各方面被描述為存儲在存儲器中,但是本領域技術人員將理解這些方面也可以存儲在其他類型的計算機可讀介質上,諸如輔助存儲設備,例如硬碟或cd rom,或其他形式的ram或rom、usb介質、dvd、藍光、4k超高清藍光或其他光碟機動介質。
576.基於書面描述和公開方法的電腦程式在有經驗的開發人員的技能範圍內。可以使用本領域技術人員已知的任何技術來創建各種程序或程序模塊,或者可以結合現有軟體來設計各種程序或程序模塊。例如,程序段或程序模塊可以在.netframework、.net compact framework(以及相關語言,諸如visualbasic、c等)、java、c++、objective-c、html、html/ajax組合、xml或包括java小程序的html中,或者以.netframework、.net compact framework(以及相關語言,諸如visualbasic、c等)、java、c++、objective-c、html、html/ajax組合、xml或包括java小程序的html的方式設計。
577.此外,儘管本文已經描述了說明性實施例,但是如本領域技術人員基於本公開將理解的,任何和所有實施例的範圍具有等同元素、修改、省略、組合(例如,跨各種實施例的各方面的)、改編和/或變更。權利要求中的限制應基於權利要求中採用的語言進行廣義解釋,而不限於本說明書中或在申請的申請流程期間描述的示例。示例將被解釋為非排他性的。此外,可以以任何方式修改公開的方法的步驟,包括通過重新排序步驟和/或插入或刪除步驟。因此,旨在將說明書和示例僅認為是說明性的,其中真實範圍和精神由所附權利要求及其等同物的完整範圍所指示。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀