本發明總體上涉及用于自動駕駛或用于輔助駕駛員的方法、系統和裝置,并且更具體地涉及用于使用機器學習和后置攝像機來檢測一個或多個行人的方法、系統和裝置。
背景技術:
機動車為商業、政府和私人實體提供了大部分的運輸。自主車輛和駕駛員輔助系統當前正在被開發和部署以減少所需的用戶輸入量或者甚至完全消除用戶參與。然而,由于涉及駕駛的危險和車輛的成本,所以自主車輛和駕駛員輔助系統安全地操作是重要的。因此,需要的是改進自主車輛和駕駛員輔助系統的安全性的系統和方法。
技術實現要素:
根據本發明的一方面,提供一種方法,包含:
從車輛上的后置攝像機接收一個或多個圖像;
通過計算機系統確定行人存在于該一個或多個圖像中;
通過計算機系統基于該一個或多個圖像來預測行人的未來運動;以及
當車輛的向前運動和該未來運動之間存在沖突時,通過計算機系統通知駕駛員輔助或自動駕駛系統。
根據本發明的一個實施例,其中確定包含:
通過計算機系統使用第一神經網絡處理該一個或多個圖像以確定該一個或多個圖像內行人可能處于的一個或多個位置;并且
通過計算機系統使用第二神經網絡處理該一個或多個圖像的該一個或多個位置以確定行人存在。
根據本發明的一個實施例,其中預測包含基于該一個或多個圖像來確定行人的速度和方向。
根據本發明的一個實施例,其中預測進一步包含基于一個或多個圖像來確定行人相對于車輛的位置。
根據本發明的一個實施例,其中未來運動包含在后置攝像機的視野之外的運動。
根據本發明的一個實施例,其中第一神經網絡包含被訓練以識別該一個或多個圖像內可能包含行人的大致位置的網絡。
根據本發明的一個實施例,其中第一神經網絡生成顯著圖,顯著圖指示行人的最可能位置。
根據本發明的一個實施例,其中顯著圖包含比該一個或多個圖像更低的分辨率。
根據本發明的一個實施例,其中第二神經網絡以全分辨率處理該一個或多個圖像內的該一個或多個位置。
根據本發明的一個實施例,其中:
后置攝像機是倒車攝像機;并且
當車輛處于前進擋時,該一個或多個圖像通過倒車攝像機被捕獲。
根據本發明的另一方面,提供一種用于檢測行人的方法,包含:
從車輛上的后置攝像機接收一個或多個圖像,一個或多個圖像在車輛處于前進擋時被捕獲;
通過計算機系統的第一神經網絡識別該一個或多個圖像以確定該一個或多個圖像內行人可能處于的一個或多個區域;
通過計算機系統的第二神經網絡確定行人存在于該一個或多個區域中的至少一個中;
通過計算機系統基于該一個或多個圖像來預測行人的未來運動,預測的未來運動包含在后置攝像機的視野之外的運動;以及
當車輛的向前運動和該預測的未來運動之間存在沖突時,通過計算機系統通知駕駛員輔助或自動駕駛系統。
根據本發明的一個實施例,其中預測包含基于該一個或多個圖像來確定行人的速度和方向。
根據本發明的一個實施例,其中預測進一步包含基于該一個或多個圖像來確定行人相對于車輛的位置。
根據本發明的一個實施例,其中:
第一神經網絡生成指示該一個或多個區域的一個或多個顯著圖;
該一個或多個顯著圖各自包含比該一個或多個圖像更低的分辨率;并且
第二神經網絡以全分辨率處理該一個或多個圖像內的該一個或多個區域。
根據本發明的又一方面,提供一種系統,包含:
后置攝像機,后置攝像機被定位在車輛上以捕獲車輛后方區域的一個或多個圖像;
顯著部件,顯著部件被配置為使用第一神經網絡處理該一個或多個圖像以生成指示該一個或多個圖像內行人最可能處于的一個或多個區域的一個或多個低分辨率顯著圖;
檢測部件,檢測部件被配置為使用第二神經網絡處理該一個或多個區域以針對該一個或多個區域中的每個確定行人是否存在;
預測部件,預測部件被配置為處理該一個或多個圖像以預測在該一個或多個圖像中捕獲的一個或多個行人的未來運動;以及
通知部件,通知部件被配置為提供指示車輛的向前運動和該一個或多個行人的預測的未來運動之間的沖突的通知。
根據本發明的一個實施例,其中預測部件被配置為:
基于該一個或多個圖像來確定該一個或多個行人中的每個的速度和方向;
基于該一個或多個圖像來確定該一個或多個行人中的每個相對于車輛的位置;并且
至少部分地基于該一個或多個行人中的每個的速度、方向和位置來預測該一個或多個行人的未來運動。
根據本發明的一個實施例,其中該一個或多個顯著圖包含比該一個或多個圖像更低的分辨率。
根據本發明的一個實施例,其中檢測部件使用第二神經網絡來以全分辨率處理該一個或多個圖像內的該一個或多個區域。
根據本發明的一個實施例,其中第二神經網絡包含深度神經網絡分類器,深度神經網絡分類器已經使用裁切的地面實況邊界框來訓練以確定行人存在或不存在。
根據本發明的一個實施例,其中:
后置攝像機是倒車攝像機;并且
當車輛處于前進擋時,該一個或多個圖像通過倒車攝像機被捕獲。
附圖說明
為了容易理解本發明的優點,將通過參照附圖中所示的具體實施例來呈現上面簡要描述的本發明的更具體的描述。應當理解的是,這些附圖僅描述本發明的典型實施例,并且因此不應該被認為是對其范圍的限制,本發明將通過使用附圖用附加特征和細節進行描述和解釋,其中:
圖1是由車輛和行人占據的十字路口的一部分的俯視示意圖;
圖2是包括自動駕駛或駕駛員輔助系統的安全系統的一個實施例的示意圖;
圖3是示出了由車輛的后置攝像機捕獲的圖像的示意性示例的圖示;
圖4是示出了根據一個實施方式的用于圖3的圖像的顯著圖的示意性示例的圖示;
圖5是示出了根據一個實施方式的行人檢測的示意性框圖;
圖6是示出根據一個實施方式的行人部件的示例部件的示意性框圖;以及
圖7是示出了根據一個實施方式的用于行人檢測的方法的示意性框圖。
具體實施方式
應當容易理解的是,如在本文的附圖中總體上描述和示出的本發明的部件可以以各種各樣的不同配置來設置和設計。因此,如圖所示的本發明的實施例的以下更詳細的描述不旨在限制所要求保護的本發明的范圍,而是僅表示根據本發明目前預期的實施例的某些示例。目前描述的實施例通過參照附圖將最佳地理解,其中相同的部件始終通過相同的附圖標記來表示。
參照圖1,用于自主駕駛和/或主動安全的視覺感知領域中的一個挑戰可能是足夠早地檢測和預測行人以避免碰撞。這個挑戰可能與交叉路口和十字路口10周圍的環境特別相關。行人經常不服從交通控制信號和/或在試圖穿過街道時誤判情況。這種動作可能為決策過程和規避動作的實施留下非常少的時間。
例如,當車輛12在十字路口10等待(例如,等待右轉)時,行人14可能從車輛12的后方或從車輛12的駕駛員的盲點進入人行橫道16。因此,在駕駛員(或車輛12上的前視傳感器)感知行人14之前或者在可以采取或完全實施適當的規避動作(例如制動)之前,車輛12可能與行人14碰撞。
因此,根據本發明的安全系統18可以結合在一個或多個車輛12內。安全系統18可以防止或減少這種事故的數量。在所選擇的實施例中,安全系統18可以包括行人部件20和至少一個后置攝像機22。
后置攝像機22可以安裝到車輛12,以便捕獲車輛12后方的區域的圖像。在某些實施例中,后置攝像機22可以是具有寬視角24的倒車攝像機等等。例如,后置攝像機22可以是采用“魚眼”透鏡以提供寬視場(例如,約150度的視場)的標準倒車攝像機。在這樣的實施例中,每當車輛12運行時,倒車攝像機可以“開啟”并且用于行人檢測的目的。然而,出于安全原因,僅當車輛12倒車(例如,處于倒車擋)時,通過倒車攝像機捕獲的圖像可以直接顯示給車輛12的駕駛員。
行人部件20可以處理通過后置攝像機22捕獲的一個或多個圖像,以便確定任何行人14是否存在于那些圖像中。另外,行人部件20可以使用一個或多個圖像來預測在其中捕獲的一個或多個行人14的未來運動26。因此,行人部件20可以在車輛12的向前運動28可能與以預測方式26行進的行人14沖突或處于碰撞航向上時進行指示(例如,提供或發起警告)。
例如,自主車輛12和/或車輛12的人類駕駛員可能具有一個或多個“盲點”。盲點可以是車輛12附近的位置,其中對于車輛12的傳感器或車輛12的人類駕駛員可能難以或不可能感知行人14。因此,根據本發明的安全系統18可以使用在行人14進入盲點之前收集的信息,以預測行人14將如何在盲點中行動。
也就是說,當他或她處于后置攝像機22的視場中時(例如,當他或她接近和/或通過車輛12的后部時)收集的行人14的圖像可以用來預測他或她將在不久的將來(例如,當位于車輛12的側面在車輛12的駕駛員和/或傳感器的盲點中時)如何行動。這可以每當車輛12的向前運動28可能與以預測方式26行進的行人14沖突時使車輛12能夠警告駕駛員或采取規避動作。因此,根據本發明的行人部件20不需要總是具有行人14的位置的當前的實際認識,以便采取一個或多個動作來避免與該行人14的碰撞。
在所選擇的實施例中,由行人部件20實施以檢測行人14的方法可以包括從后置攝像機22接收圖像,并且使用第一神經網絡處理圖像以確定圖像內行人14可能位于的一個或多個位置或區域。該方法可以進一步包括使用第二神經網絡處理圖像的一個或多個位置或區域以確定是否行人14存在。
因此,行人部件20可以基于深度學習技術來采用兩階段計算機視覺。在第一階段中,從后置攝像機22獲取的圖像的一個或多個區域被識別為更可能包括行人。第一階段可以產生以顯著圖的形式的這樣區域的指示。在某些實施例中,可以以低分辨率(例如,比由后置攝像機22捕獲的圖像的分辨率低)產生一個或多個顯著圖。這些低分辨率顯著圖可以用作對應圖像的標簽。
在第二階段中,深度神經網絡分類器可以確定行人14是否實際存在于在第一階段中識別的一個或多個區域內。在所選擇的實施例中,第二階段可以使用深度神經網絡分類器。在某些實施例中,卷積神經網絡可以在正和負行人數據的裁切的地面實況邊界框(croppedgroundtruthboundingbox)上訓練。在第一階段中識別的圖像的特定部分可以被選擇并且被識別作為候選區域。這些候選區域可以被饋送到訓練的深度神經網絡中,訓練的深度神經網絡對潛在的行人進行分類。大的深度神經網絡可以被配置且被訓練以實現高百分比的準確度和低漏報。第一階段神經網絡和第二階段神經網絡中的一個或兩個可以在現有數據集(比如加州理工學院(caltech)行人數據集、來自車隊車輛的內部數據集和/或來自相關項目的模擬數據)上訓練。
在a.angelova、a.krizhevsky、v.vanhoucke,標題為“用大視場深度網絡的行人檢測”(2015年互聯網內容分級協會(icra)關于機器人學和自動化的電氣電子工程師協會(ieee)國際會議)中提出了行人網絡檢測的一個示例。由angelova等人開發的大視場網絡提出了行人檢測和快速定位。然而,angelova等人不利用定位的顯著性,而是需要額外生成行人位置圖像的單獨的基于網格的數據集、忽略重疊網格的行人并且執行用于檢測的網罩(gridenclosure)。因此,它們具有比對于主動安全應用可行所需要的行人錯失率更高的行人錯失率。相比之下,本發明的所選擇的實施例不需要滑動窗口,并且因此消除了最先進的深度學習技術的計算上最昂貴的方面之一。
一旦檢測到一個或多個行人14,可以使用狀態空間估算技術(例如,粒子濾波器)來追蹤它們的狀態(例如,位置和速度)。例如,在所選擇的實施例中,行人部件20可以基于所追蹤的數據,甚至在行人14已經移出后置攝像機22的視場之后來預測一個或多個行人14的路徑。這可以通過聚類和學習行人行為模式來實現。供選擇地,或者除此之外,行人部件20可以采用在具有不確定意圖的行人14的存在的情況下確定對象行為變化和實時路徑規劃的一個或多個算法。
安全系統18可以繼續估算一個或多個行人14的路徑,并且每當行人14的預期或預測的路線26與車輛12的路線28相交時,采取或提供足夠的時間來采取適當的動作。這樣的動作可以包括等待直到行人14已完全穿過十字路口10,在行人14已完全停止之后向前移動等等。以這種方式,車輛12或車輛12的駕駛員在行人14進入前置攝像機或駕駛員的視野之前可以關于行人14進行警告。因此,根據本發明的安全系統18可以使用安裝在車輛12上的后置攝像機22來通知該車輛12的向前運動。
參照圖2,在所選擇的實施例中,根據本發明的安全系統18可以包括自動駕駛和/或駕駛員輔助系統30(以下稱為“駕駛系統”30)、一個或多個傳感器32、一個或多個數據存儲器34、一個或多個車輛控制致動器36、一個或多個顯示器38、一個或多個揚聲器40、一個或多個無線通信裝置42(例如,接收器、發射器或收發器)等等或者它們的組合或子組合。
駕駛系統30可以自動化、輔助或控制車輛12(比如小汽車、卡車、廂式貨車、公共汽車、大型卡車、緊急車輛或用于運輸人或貨物的任何其他機動車)的操作。例如,駕駛系統30可以控制制動、轉向、加速、燈、警報、駕駛員通知、無線電或車輛12的任何其它輔助系統中的一個或多個。供選擇地,駕駛系統30可以不提供車輛12的駕駛(例如,轉向、加速或制動)的任何直接控制,而是可以提供通知和警報以輔助人類駕駛員安全駕駛。在所選擇的實施例中,駕駛系統30可以包括行人部件20或與行人部件20協作操作。
安全系統18可以包括一個或多個傳感器32。這樣的傳感器32可以檢測車輛12附近的一個或多個對象的存在。在所選擇的實施例中,安全系統18的傳感器32可以包括后置攝像機22。另外,安全系統18可以包括一個或多個其他傳感器44,比如一個或多個雷達裝置、激光雷達系統、一個或多個其他攝像機、全球定位系統(gps)、一個或多個超聲波裝置等等或者它們的組合或子組合。
數據存儲器34可以存儲安全系統18或它的任何部件所需的任何數據。在所選擇的實施例中,數據存儲器34可以存儲用于導航和安全的相關或有用的數據,比如地圖數據、駕駛歷史、其它數據等等或者它們的組合或子組合。
在某些實施例中,安全系統18可以包括一個或多個無線通信裝置42。這樣的裝置42可以使安全系統18或與其對應的車輛12能夠與移動或無線網絡、其他車輛12、基礎設施或任何其他通信系統通信。例如,一個或多個無線通信裝置42可以為安全系統18提供機構以接收更新的模型或算法,以供行人部件20用于檢測、定位和/或預測行人14的未來運動。
車輛控制致動器36可以實施駕駛系統30的一個或多個指令,以便控制對應車輛12的某些方面。合適的車輛控制致動器36可以包括電動馬達、開關或用于控制制動器、節氣門、轉向器等等的其他致動器。
安全系統18可以包括一個或多個顯示器38,揚聲器40等等,以便促進與一個或多個人類(例如,位于對應車輛12內的人類駕駛員或乘客)的通信。顯示器38可以是抬頭顯示器、儀表板顯示器或指示器、顯示屏或者可以由車輛12的駕駛員或乘客看到的任何其他視覺指示器。安全系統18的揚聲器40可以形成車輛12的語音系統的一部分,或者可以是專用于提供通知給車輛12的駕駛員或乘客的獨立揚聲器。
應當理解的是,圖1中所示的實施例僅通過示例的方式給出。在不脫離本發明的范圍的情況下,其他實施例可以包括更少或附加的部件。另外,所示的部件可以組合或包括在其他部件內,而非限制。例如,行人部件20可以與駕駛系統30分離,并且數據存儲器34可以被包括作為駕駛系統30的一部分和/或作為行人部件20的一部分。
參照圖3,行人14可以是沒有駕駛車輛12的人。例如,行人14可以包括在車輛12附近的區域中行走、跑步、就坐或躺著的人。行人14還可以包括使用人力裝置(比如自行車、踏板車、滾軸溜冰鞋或輪式溜冰鞋等等)的那些。行人14可以位于道路44上或附近,比如在人行橫道16中、在人行道46上、在道路44的路肩部48上等等。行人14可以在體型、形狀等等方面具有顯著變化。例如,兒童、青少年、老年人等等可以全部被檢測或被識別為行人14。類似地,行人14可以在衣服的類型或量方面顯著變化。因此,行人14對于后置攝像機22或其他傳感器的外觀可以是相當多變的。
圖3提供圖像50的示意圖。圖像50是可以由安裝在車輛12(例如,停在十字路口10處的車輛12)上的后置攝像機22捕獲的一個示例。如圖所示,圖像50可以包括道路44上或附近的一個或多個行人14a、14b。因此,行人部件20可以生成一個或多個邊界框52a、52b或限定行人14可能位于的圖像50的一個或多個子區域52a、52b。
例如,行人部件20可以生成限定圖像50內用于行人14可能位于其中并且值得進一步分析或處理的每個子區域52a、52b的位置的信息。在所選擇的實施例中,行人部件20可以使用已被訓練的神經網絡來處理圖像50,以產生指示行人可能位于的區域52a、52b的顯著圖。
使用顯著圖,或者行人14可能位于的圖像50的區域52a、52b的任何其它指示,行人部件20可以處理那些子區域52a、52b以將區域分類為包括或不包括行人14。在所選擇的實施例中,行人部件20可以檢測且定位圖像50內的一個或多個行人14。例如,行人部件20可以確定第一子區域52a包括第一行人14a,并且第二子區域52b包括第二行人14b。
在某些實施例中,由后置攝像機22捕獲的圖像50可以不包括一個或多個行人14的全部。例如,為了實現它們預期的目的,倒車攝像機通常定向為具有向下分量。這允許他們“看見”接近對應車輛12后方的地面。因此,當后置攝像機22是倒車攝像機時,由此產生的圖像50可以具有稍微向下的視點。這個視點可以導致僅在圖像50中捕獲一個或多個行人14的一部分。例如,一個或多個行人14的上部可以由于后置攝像機22的視點而被實際上裁剪掉。因此,即使少于全部身體的行人14存在于圖像50中或在圖像50中被捕獲時,也可以訓練行人部件20來檢測和定位行人14。
類似地,在所選擇的實施例中,由后置攝像機22捕獲的圖像50可能使一個或多個行人14的形狀失真。例如,為了實現它們預期的目的,倒車攝像機通常具有非常寬的視場。這允許它們具有良好的周邊視覺,但它將失真引入到所得的圖像中。因此,當后置攝像機22是倒車攝像機時,在所得的圖像50中捕獲的對象(例如,行人14)可能在形狀上失真。因此,在所選擇的實施例中,即使行人14的形狀在圖像50中失真,也可以訓練行人部件20以檢測和定位行人14。
參照圖4,提供可以由行人部件20產生的顯著圖54的一個實施例的示意圖。顯著圖54可以操作為對應圖像50的標簽。例如,圖4的顯著圖54提供圖3的圖像50的標簽。
在所選擇的實施例中,行人部件20可以處理對應于由顯著圖54描繪的位置56a、56b的圖像50的部分,以試圖檢測和/或定位一個或多個行人14。在圖示中,第一位置56a和第二位置56b可以分別對應于第一子區域52a和第二子區域52b。
在某些實施例中,行人部件20可以通過將顯著圖54與對應的圖像50重疊或組合來生成已修改的圖像,并且處理已修改的圖像以檢測行人14。例如,除了在圖像50的對應部分可以至少部分地保持可見或完全不變的位置56a、56b之外,已修改的圖像可以是黑色的(或一些其他顏色)。顯著圖54可以被放大和/或圖像50可以被縮小以便具有匹配的分辨率,以使行人檢測可以被執行。
在所選擇的實施例中,顯著圖54可以具有比對應的圖像50更低的分辨率。例如,顯著圖54可以具有標準尺寸或者可以具有以預定因素減小的分辨率。低分辨率顯著圖54可能仍然非常有效并且減少處理工作量或處理延遲。在這樣的實施例中,行人部件20可以通過按比例放大顯著圖54基于對應的顯著圖54來處理圖像50。例如,行人部件20可以處理與顯著圖54中的相同像素相關的對應的圖像50中的多個像素。盡管圖4的顯著圖54用黑色或白色像素示出,但是一些實施例可以生成并且使用具有灰度值的顯著圖54。
參照圖5,在某些實施例中,根據本發明在安全系統18內的流程58可以在后置攝像機22輸出圖像數據60(例如,包含或限定一個或多個圖像50的數據60)時開始。圖像數據60可以被饋送到顯著圖神經網絡62。顯著圖神經網絡62可以處理圖像數據60以產生顯著圖54和/或可能包含行人14的圖像數據60的一個或多個子區域52a、52b的指示。
顯著圖54或可能包含行人14的圖像數據60的一個或多個子區域52a、52b的其他指示連同圖像數據60一起可以被饋送到行人檢測神經網絡64,用于分類和/或定位。例如,行人檢測神經網絡64可以將由顯著圖神經網絡62識別的每個子區域52a、52b的圖像數據60分類為包含或不包含行人14。另外,行人檢測神經網絡64可以確定圖像數據60內的特定位置或區域(例如,可以識別圖像50內的多個像素),其中行人14位于該特定位置或區域中。
行人檢測神經網絡64可以將一個或多個行人14的存在和/或位置的指示66輸出到運動預測模塊68。運動預測模塊68可以使用來自在一段時間內(例如,包含幾秒或更少的相對短的時間段內)收集的多個圖像50中的一個圖像50或圖像數據60,以確定以下中的一個或多個:相對于對應車輛12的行人14的位置、行人14的行進速度和行人14的行進方向。因此,運動預測模塊68可以預測一個或多個行人14的未來運動26。
例如,基于相對于車輛12的估算的位置、估算的當前速度和估算的當前方向,運動預測模塊68可以預測當前處于后置攝像機22的視場內(例如,當前在車輛后方)的行人14何時將到達車輛12的路徑內的位置。因此,運動預測模塊68可以提供行人14可能在選定時刻所處位置的認識,甚至當行人14不在對應的車輛12的任何傳感器或對應的車輛12的駕駛員的視野內時。
在所選擇的實施例中,運動預測模塊68可以是或包括運動預測神經網絡。例如,運動預測模塊68可以包含被配置用于聚類集和學習行人行為模式的運動預測神經網絡。供選擇地,或者除此之外,運動預測神經網絡可以實施在具有不確定意圖的行人14的存在的情況下確定對象-行為變化和實時路徑規劃的算法。因此,運動預測神經網絡可以在圖像數據60中找到對應于做某些事情(比如減速停止、匆忙進入人行橫道16、右轉、左轉等等)的行人14的模式。因此,運動預測模塊68可以使用不止當前位置、速度和方向來預測未來運動26。
運動預測模塊68可以輸出對應于在圖像數據60中捕獲的一個或多個行人14的預測的未來運動26。在所選擇的實施例中,預測的未來運動26可以被輸出到通知系統70。因此,一個或多個行人14的存在、位置和/或預測的未來運動26可以由通知系統70使用以每當車輛12的向前運動28可能與以預測的方式26行進的行人14沖突或處于碰撞航向上時警告人類駕駛員或通知車輛的駕駛系統14。
參照圖6,在所選擇的實施例中,行人部件20可以包括感知部件72、顯著部件74、檢測部件76、預測部件78、通知部件80、駕駛部件82、一個或多個其他部件84等等或者它們的組合或子組合。因此,所示的部件72、74、76、78、80、82、84僅僅通過說明的方式給出,并且可以不全部包括在所有實施例中。實際上,一些實施例可以包括所示部件72、74、76、78、80、82、84中僅一個或者兩個或多個的任何組合。在所選擇的實施例中,示出的部件72、74、76、78、80、82、84中的一些可以位于行人部件20的外部,比如在駕駛系統30內或安全系統18內的其他地方,而不脫離本發明的范圍。
感知部件72可以被配置為從后置攝像機22接收圖像數據60。顯著部件74可以被配置為處理從后置攝像機22接收的圖像數據60,以識別行人14可能位于的位置52a、52b。在所選擇的實施例中,顯著部件74可以生成一個或多個圖像50的顯著圖54。
顯著部件74可以使用神經網絡來處理圖像數據60。例如,圖像50的每個像素值可以被饋送到神經網絡(例如,顯著圖神經網絡62)中,該神經網絡已被訓練以識別圖像50內的區域52a、52b,該區域52a、52b在與圖像50的其他區域相比時可能或最可能包括行人14。在某些實施例中,這樣的神經網絡可以包括已被訓練用于快速識別可能包括行人14的子區域52a、52b的深度卷積網絡。
由這樣的神經網絡識別的子區域52a、52b可以是可能包括具有低水平漏報的行人14但潛在地具有更高水平的誤報的區域。例如,子區域52a、52b的識別可以是過度包含的,因為一些區域可能實際上不包括行人,同時子區域的識別也具有錯失行人14位于的區域的低概率。
在某些實施例中,對應于顯著部件74的神經網絡的輸出可以是圖像50的x-y坐標和限定距被包括在子區域52a、52b內的x-y坐標的距離的一個或多個距離參數。例如,距離參數可以限定圖像50的矩形或橢圓形子區域52a、52b的邊緣。在其他實施例中,對應于顯著部件74的神經網絡的輸出可以是顯著圖54。
在所選擇的實施例中,神經網絡(例如,顯著圖神經網絡62)可以被配置為以比由后置攝像機22收集的圖像50或其他信息更低的分辨率操作。例如,神經網絡可以處理低分辨率版本的圖像50以產生顯著圖54。供選擇地,神經網絡可以處理全分辨率圖像50并且產生低分辨率顯著圖54。在又一實施例中,用于神經網絡的輸入分辨率和用于顯著圖54的輸出分辨率兩者可以低于圖像50的全分辨率。在這樣的實施例中,低分辨率顯著圖54可以提供與全分辨率顯著圖54一樣好或幾乎一樣好的性能,同時需要更少的計算資源和/或導致更快的處理時間。
在所選擇的實施例中,神經網絡(例如,顯著圖神經網絡62)可以用圖像50和地面實況來訓練以識別其中行人14存在或不存在的區域。因此,神經網絡和/或顯著部件74的輸出可以是行人位置顯著圖54。這不同于試圖預測或指示人眼在觀看圖像時自然指向的位置的一些顯著圖,因為它特定于行人位置。識別行人14可能位于的位置可以顯著地降低檢測行人14所需的處理能力,因為遠遠小于完整的圖像可能需要被處理用于對象檢測或更小的神經網絡可以被使用。
在某些實施例中,顯著部件74可以對被識別為可能具有行人14的一個或多個位置進行優先級排序。例如,可以按照行人14存在的可能性的順序來對位置進行優先級排序。然后可以按照優先級的順序處理這些位置,以便于識別行人14的速度。例如,基于使用神經網絡(例如,顯著圖神經網絡62)的處理,第一區域52a可能是最可能包括行人14,并且第二區域52b可能不太可能包括行人14。通過首先搜索第一區域52a,可以顯著增加行人14將更快被定位的機會。類似地,可以基于相對于由車輛12行駛的路徑的位置來將一個或多個位置進行優先級排序。例如,更靠近車輛12的位置可以優先于車輛12后方更遠的位置或者更遠離車輛12的路徑的位置。
檢測部件76可以被配置為檢測圖像50內的行人14的存在。例如,檢測部件76可以使用對象識別或任何圖像處理技術來處理圖像數據60以檢測人類行人14。在所選擇的實施例中,檢測部件76可以定位圖像數據60內的行人76。例如,檢測部件76可以識別對應于行人14的一個或多個像素。在某些實施例中,檢測部件76可以相對于車輛12(例如,相對于安裝在車輛12上的后置攝像機22)定位行人14。也就是說,檢測部件76可以確定后置攝像機22和行人14之間的距離和/或相對于車輛12和行人14的向前或駕駛方向的方向。
在所選擇的實施例中,檢測部件76可以通過處理由顯著部件74識別的子區域52a、52b來檢測行人14。也就是說,檢測部件76可以僅處理由顯著部件74識別為可能或更可能地包含行人14的圖像50的區域52a、52b,而不是整體處理圖像50。因此,檢測部件76可以分別處理每個子區域52a、52b以確認或確定行人14在特定區域52a、52b內存在或不存在。
在某些實施例中,通過將圖像50與由顯著部件74限定的顯著圖54結合(例如,使用閾值或其他效果)生成的已修改的圖像可以通過檢測部件76處理以定位行人14。顯著圖54可以“遮蔽”、“模糊”或以其他方式隱藏不可能包括行人14的圖像50的部分,同時允許其他部分通過檢測部件76處理。
在所選擇的實施例中,檢測部件76可以被配置為使用神經網絡(例如,行人檢測神經網絡64)處理圖像50或圖像50的一個或多個子部分52a、52b。用于檢測行人14的神經網絡可以是與由顯著部件74使用的神經網絡不同的神經網絡。
在某些實施例中,神經網絡(例如,行人檢測神經網絡64)可以包括深度卷積神經網絡,該深度卷積神經網絡已被訓練來以高準確度和低漏報率檢測行人14。在所選擇的實施例中,檢測部件76可以使用顯著圖54或由顯著部件74生成的子區域52a、52b的其他指示來以全分辨率處理圖像50或其部分。例如,檢測部件76可以使用低分辨率顯著圖54來識別需要處理的圖像50的區域52a、52b,但是然后以提高的或原始的分辨率處理那些區域52a、52b。
在某些實施例中,檢測部件76可以使用神經網絡(例如,行人檢測神經網絡64)——其已使用裁切的地面實況邊界框來訓練——來確定行人14是存在還是不存在。這樣的神經網絡可以是將圖像50或圖像50的一部分分類為包含行人14或不包含行人14的分類器。例如,檢測部件76可以將由顯著部件74識別的每個部分分類為包括或不包括行人14。
在所選擇的實施例中,檢測部件76可以按照優先級的順序處理由顯著部件74識別的區域52a、52b。例如,可以首先處理具有較高優先級的位置52a、52b以確定是否行人14存在。以優先級順序的處理可以允許檢測行人14時的增加的速度和防止事故、碰撞或路徑規劃的更快的響應時間。
預測部件78可以使用圖像數據60(例如,一個或多個圖像50)來確定行人14相對于對應的車輛12的位置、行人14的行進速度、或行人14的行進方向中的一個或多個和/或以特定方式推斷行為的意圖(例如,移動或不移動)。因此,預測部件78可以是或包括運動預測模塊68。
在所選擇的實施例中,預測部件78可以按照優先級的順序預測一個或多個行人14的未來運動26。例如,可以首先處理對應于(例如,在其中識別的)具有較高優先級的位置52a、52b的行人14。按優先級順序的處理可以允許預測行人14的未來運動26時的增加的速度和防止事故、碰撞或路徑規劃的更快的響應時間。
通知部件80可以被配置為提供一個或多個通知給車輛12的駕駛員或自動駕駛系統。因此,通知部件80可以是或包括通知系統70。在所選擇的實施例中,通知部件80可以使用顯示器38或揚聲器40提供通知給駕駛員。例如,行人14的位置可以在抬頭顯示器上指示。在某些實施例中,來自通知部件80的通知可以包括執行操縱的指令,或者僅是行人14存在的警告,即使當行人14當前處于對應車輛12或者對應車輛12的駕駛員的盲點。
在所選擇的實施例中,通知部件80可以通知駕駛員或駕駛系統30由駕駛部件82選擇或建議的駕駛操縱。在其他實施例中,通知部件80可以通知駕駛員或駕駛系統30行人14的當前位置和/或預測的未來運動26,以使碰撞規避可以被執行。
駕駛部件82可以被配置為基于行人14的存在或不存在和與其對應的預測的未來運動26來選擇對應車輛12的駕駛操縱。例如,基于特定行人14的預測的未來運動26,駕駛部件82可以確定對應的車輛12(例如,自主車輛12)由于與該行人14的預測的碰撞而應該等待執行右轉、行進通過十字路口10等等。
參照圖7,安全系統18可以支持、實現或執行根據本發明的過程86。在所選擇的實施例中,當感知部件72接收(88)車輛12后方的區域的圖像50時,這樣的過程86可以開始。顯著部件74可以使用第一神經網絡來處理圖像50,以識別圖像50內行人14可能位于的一個或多個區域52a、52b。檢測部件76然后可以使用第二神經網絡處理(92)圖像50的一個或多個區域52a、52b,以確定行人14是否存在于任何這樣的區域52a、52b中。
如果沒有檢測(94)到行人14,則感知部件72可以接收(88)另一圖像50,并且識別(90)和處理(92)可以被重復用于該圖像50。然而,如果檢測(94)到一個或多個行人14,則預測部件78可以預測(96)一個或多個行人14的未來運動26。通知部件80和/或駕駛部件82可以基于預測的運動26按需行動(98)。例如,通知部件80和/或駕駛部件82可以每當車輛12的向前運動28可能與以預測方式26行進的行人14沖突或處于碰撞航向上時根據需要或必要提供或發起車輛12的警告或控制操作。
在上述公開內容中,已經參照了附圖,該附圖形成本發明的一部分并且其中通過說明的方式示出了可以實踐本發明的特定實施方式。應當理解的是,在不脫離本發明的范圍的情況下,可以利用其他實施方式并且可以進行結構改變。說明書中對“所選擇的實施例”、“某些實施例”或任何其它“實施例”、“實施例”或“實施方式”的引用表示所描述的實施例可以包括特定特征、結構或特性,但不需要每個實施例都包括那樣的特定特征、結構或特性。此外,這樣的短語不一定指的是相同的實施例。此外,當結合所選擇的或某些實施例描述特定特征、結構或特性時,應當認為結合無論是否明確描述的其他實施例來改變這樣的特征、結構或特性在本領域技術人員的知識范圍內。
如本文所使用的,“自主車輛”可以是完全獨立于人類駕駛員行動或操作的車輛;或者可以是在一些情況下獨立于人類駕駛員行動或操作而在其他情況下人類駕駛員能夠操作車輛的車輛;或者可以是主要由駕駛員操作但是在自動駕駛/輔助系統的輔助下的車輛。
本文所公開的系統、裝置和方法的實施方式可以包含或利用包括計算機硬件(例如一個或多個處理器和系統存儲器,如下面更詳細所討論的)的專用或通用計算機。在本發明的范圍內的實施方式還可以包括用于攜帶或存儲計算機可執行指令和/或數據結構的物理和其他計算機可讀介質。這樣的計算機可讀介質可以是可以由通用或專用計算機系統訪問的任何可用介質。存儲計算機可執行指令的計算機可讀介質是計算機存儲介質(裝置)。攜帶計算機可執行指令的計算機可讀介質是傳輸介質。因此,通過示例的方式,并且非限制,本發明的實施方式可以包含至少兩種截然不同種類的計算機可讀介質:計算機存儲介質(裝置)和傳輸介質。
計算機存儲介質(裝置)包括隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦除編程只讀存儲器(eeprom)、只讀光盤驅動器(cd-rom)、固態驅動器(“ssd”)(例如基于ram的)、閃存存儲器、相變存儲器(“pcm”)、其它類型的存儲器、其它光盤存儲器、磁盤存儲器或其它磁性存儲裝置或可以用來存儲以計算機可執行指令或數據結構的形式的期望的程序代碼并且可以由通用或專用計算機訪問的任何其它介質。
本文所公開的裝置、系統和方法的實施方式可以通過計算機網絡通信,該計算機網絡包含使電子數據能夠在計算機系統和/或模塊和/或其他電子裝置之間傳輸的一個或多個數據鏈路。當信息通過計算機網絡或另一通信連接(硬連線、無線或硬連線或無線的組合)傳送或提供給計算機時,計算機適當地將該連接視為傳輸介質。傳輸介質可以包括計算機網絡和/或數據鏈路,其可以用于運送以計算機可執行指令或數據結構的形式的期望的程序代碼并且可以由通用或專用計算機訪問。上述的組合也應該包括在計算機可讀介質的范圍內。
計算機可執行指令包含例如當在處理器處被執行時使通用計算機、專用計算機或專用處理裝置執行某一功能或一組功能的指令和數據。計算機可執行指令可以是例如二進制、中間格式指令(比如匯編語言)、或甚至源代碼。盡管已經以對結構特征和/或方法動作的特定語言描述了主題,但是應當理解的是,所附權利要求中限定的主題不一定限于上面描述的特征或動作。相反地,所描述的特征和動作被公開作為實施權利要求的示例形式。
本領域技術人員應當理解的是,本發明可以在具有許多類型的計算機系統配置的網絡計算環境中實踐,包括個人計算機、臺式計算機、便攜式計算機、消息處理器、手持裝置、多處理器系統、基于微處理器或可編程消費電子產品、網絡pc、小型計算機、大型計算機、移動電話、pda、平板、尋呼機、路由器、交換機、各種存儲裝置等。本發明還可以在分布式系統環境中實踐,其中通過網絡鏈接(通過硬連線數據鏈路、無線數據鏈路、或通過硬連線和無線數據鏈路的組合)的本地和遠程計算機系統都執行任務。在分布式系統環境中,程序模塊可以位于本地和遠程存儲器存儲裝置中。
此外,在適當的情況下,本文所描述的功能可以以下面的一個或多個執行:硬件、軟件、固件、數字部件或模擬部件。例如,一個或多個專用集成電路(asic)可以被編程為執行本文描述的系統和過程中的一個或多個。在整個以下描述和權利要求書中使用某些術語來指代特定的系統部件。如本領域技術人員應當理解的是,部件可以通過不同的名稱來指代。本文獻不旨在名稱不同而不是功能不同的部件之間區分。
應當注意的是,上述傳感器實施例可以包含計算機硬件、軟件、固件或它們的任何組合以執行它們的功能的至少一部分。例如,傳感器可以包括被配置為在一個或多個處理器中執行的計算機代碼,并且可以包括由計算機代碼控制的硬件邏輯/電路。這些示例裝置在本文中是為了說明的目的,并且不旨在進行限制。如相關領域的技術人員所知的是,本發明的實施例可以在其他類型的裝置中實施。
本發明的至少一些實施例針對包含存儲在任何計算機可用介質上的這種邏輯(例如,以軟件的形式)的計算機程序產品。這樣的軟件在一個或多個數據處理裝置中被執行時使裝置如本文所描述的那樣操作。
盡管本發明的各種實施例已經在上面被描述,但是應當理解的是,它們僅僅通過示例的方式呈現,并且非限制。在不脫離本發明的精神和范圍的情況下,對于相關領域的技術人員而言,可以在形式和細節上進行各種改變是顯而易見的。因此,本發明的寬度和范圍不應該由任何上述示例性實施例限制,而是應該僅根據所附權利要求及其等同物來限定。前面的描述被呈現是為了說明和描述的目的。它不旨在是窮盡的或將本發明限制為所公開的精確形式。根據上述教導,許多修改和變化是可能的。此外,應當注意的是,任何或所有上述替代實施例可以以期望的任何組合使用以形成本發明的另外的混合實施例。
此外,盡管本發明的具體實施例已經被描述和示出,但是本發明不限于如此描述和示出的部件的具體形式或設置。本發明的范圍由所附權利要求書、在此和不同申請中提交的任何未來權利要求和它們的等同物來限定。