本申請涉及計算機技術領域,具體涉及車輛檢測技術領域,尤其涉及基于點云數據的車輛輪廓檢測方法和裝置。
背景技術:
隨著經濟的發(fā)展和生活水平的提高,汽車作為不可或缺的通勤工具,逐步進入了千家萬戶。然而,隨之而來的駕駛安全問題卻像揮之不去的烏云一般遮擋著幸福生活的晴空。我國2010年交通事故死亡人數,公安部數據65,225人,who模型估計275,983人,相當于每天一次重大空難。因交通事故導致的全球傷亡人數相當于每年有13次911大災難。
在科學技術發(fā)達的現代社會,人們顯然不會容忍災難的接連發(fā)生。對安全駕駛的愿景得到了社會的一致認可,在政府和市場的推動下,汽車安全技術的繁榮到來了。從廣義的分類來講,汽車安全技術可分為被動安全(passivesafety)和主動安全(activesafety)兩大類。被動安全指碰撞發(fā)生以后如何將損失降低到最低的技術,主要在于汽車結構、安全帶、夾層式風擋玻璃、折疊式轉向柱、安全氣囊等設計,但由于其碰撞后才觸發(fā)被動保護的機制,導致其規(guī)避事故的數量受限。主動安全指提前預警從而規(guī)避碰撞的技術,主要在于駕駛員周圍環(huán)境的感知、理解、決策和控制,如車道偏離報警(lanedeparturewarning,ldw)。相比之下,主動安全以其預先性及與車輛設計弱相關等優(yōu)點,得到了廣泛的研究,并以輔助駕駛系統(tǒng)(advanceddriverassistancesystem,adas)的產品形態(tài)面對大眾。
車輛檢測技術是主動安全的關鍵技術支撐之一?,F有技術方案大多采用單一視覺技術,通過匹配圖像中特征的方法來檢測車輛,并不能準確提供被檢測車輛的空間位置和姿態(tài)。也存在一些利用激光點云作為輸入的技術方案,通過形狀和點云疏密程度等特征進行聚類而后檢測車輛,此類方法多需要大量手工調節(jié),對場景變化適應性較差。
技術實現要素:
本申請的目的在于提出一種改進的基于點云數據的車輛輪廓檢測方法和裝置,來解決以上背景技術部分提到的技術問題。
第一方面,本申請?zhí)峁┝艘环N基于點云數據的車輛輪廓檢測方法,包括:獲取待訓練點云數據;響應于對待訓練點云數據中的各點的標注,生成與待訓練點云數據中的各點對應的標簽數據,其中,標注用于指示各待訓練點云數據中的各點是否屬于車輛輪廓;基于待訓練點云數據中的各點和與待訓練點云數據中的各點對應的標簽數據訓練全卷積神經網絡模型,以得到車輛檢測模型;以及獲取待檢測點云數據,并基于車輛檢測模型,得到與待檢測點云數據中的各待檢測點對應的檢測結果。
在一些實施例中,獲取待訓練點云數據包括:將點云數據采集設備采集的待訓練三維數據映射生成待訓練深度圖,待訓練深度圖中的各像素點的數值為與待訓練三維數據一一對應的待訓練點云數據中的各點。
在一些實施例中,各待訓練三維數據d(x,y,z)為以點云數據采集設備為原點,以豎直向上方向為z軸,以水平面內任意垂直的二軸分別為x軸和y軸的坐標系中的坐標值;待訓練深度圖中的各像素點的坐標為(r,c),各像素點的數值為(d,z);其中:
θ=atan2(y,x)
θ為各待訓練三維數據d和原點之間的連線與第一平面之間的夾角,δθ為點云數據采集設備的水平分辨率,第一平面為y軸、z軸組成的平面;φ為各待訓練三維數據d和原點之間的連線與第二平面之間的夾角,δφ為點云數據采集設備的垂直分辨率,第二平面為x軸、y軸組成的平面。
在一些實施例中,響應于對待訓練點云數據中的各點的標注,生成與待訓練點云數據中的各點對應的標簽數據包括:若待訓練點云數據中的點屬于車輛輪廓,則將該屬于車輛輪廓的點變換生成26通道的二維標簽數據,其中,26通道中的第一通道的數值為1,第二通道的數值為0,26通道中的第3~24通道分別為車輛所在的三維立方體各頂點的各坐標相對于待訓練點云數據中屬于車輛輪廓的各點的各三維坐標的旋轉向量;若待訓練點云數據中的點不屬于車輛輪廓,則將該不屬于車輛輪廓的點變換生成2通道的二維標簽數據,其中,2通道中的第一通道的數值為0,第二通道的數值為1。
在一些實施例中,車輛所在的三維立方體各頂點的各坐標相對于點云數據中屬于車輛輪廓的各點的各三維坐標的旋轉向量(x’p,y’p,z’p)為:
其中,r為點云數據中屬于車輛輪廓的任意一點p(xi,yi,zi)的旋轉矩陣,且有:
r=rzi(θi)ryi(φi);
θi=atan2(yi,xi)
在一些實施例中,基于待訓練點云數據和與待訓練點云數據對應的標簽數據訓練全卷積神經網絡模型,以得到車輛檢測模型包括:初始化全卷積神經網絡的參數;基于損失函數調節(jié)全卷積神經網絡的參數,其中,損失函數為與當前輸出和與待訓練點云數據對應的標簽數據之間的偏差,當前輸出為與當前待訓練點云數據以及全卷積神經網絡的當前參數對應的全卷積神經網絡的輸出;若損失函數為最小值,則輸出與損失函數對應的參數作為車輛檢測模型的參數;否則,重復執(zhí)行基于損失函數調節(jié)全卷積神經網絡的參數的步驟。
在一些實施例中,獲取待檢測點云數據,并基于車輛檢測模型,得到與待檢測點云數據中的各待檢測點對應的檢測結果包括:將點云數據采集設備采集的待檢測三維數據映射生成待檢測深度圖,待檢測深度圖中的各像素點的數值為與待檢測三維數據一一對應的待檢測點云數據中的各待檢測點;基于車輛檢測模型,獲取待檢測點云數據中,各待檢測點的預測結果,其中,預測結果包括待檢測點屬于車輛輪廓的概率;以及若待檢測點屬于車輛輪廓的概率大于預設閾值,確定待檢測點屬于車輛輪廓。
在一些實施例中,預測結果還包括待檢測點的位置信息;獲取待檢測點云數據,并基于車輛檢測模型,得到與待檢測點云數據中的各待檢測點對應的檢測結果還包括:獲取待檢測點云數據中,屬于車輛輪廓的概率大于預設閾值的第一待檢測點形成第一待檢測點集合;基于第一待檢測點集合中的各待檢測點的位置信息,生成與待檢測點云數據對應的車輛空間位置信息。
第二方面,本申請還提供了一種基于點云數據的車輛輪廓檢測裝置,包括:獲取模塊,配置用于獲取待訓練點云數據;標簽數據生成模塊,配置用于響應于對待訓練點云數據中的各點的標注,生成與待訓練點云數據中的各點對應的標簽數據,其中,標注用于指示各待訓練點云數據中的各點是否屬于車輛輪廓;訓練模塊,配置用于基于待訓練點云數據中的各點和與待訓練點云數據中的各點對應的標簽數據訓練全卷積神經網絡模型,以得到車輛檢測模型;以及檢測模塊,配置用于獲取待檢測點云數據,并基于車輛檢測模型,得到與待檢測點云數據中的各待檢測點對應的檢測結果。
在一些實施例中,獲取模塊進一步配置用于:將點云數據采集設備采集的待訓練三維數據映射生成待訓練深度圖,待訓練深度圖中的各像素點的數值為與待訓練三維數據一一對應的待訓練點云數據中的各點。
在一些實施例中,各待訓練三維數據d(x,y,z)為以點云數據采集設備為原點,以豎直向上方向為z軸,以水平面內任意垂直的二軸分別為x軸和y軸的坐標系中的坐標值;待訓練深度圖中的各像素點的坐標為(r,c),各像素點的數值為(d,z);其中:
θ=atan2(y,x)
θ為各待訓練三維數據d和原點之間的連線與第一平面之間的夾角,δθ為點云數據采集設備的水平分辨率,第一平面為y軸、z軸組成的平面;φ為各待訓練三維數據d和原點之間的連線與第二平面之間的夾角,δφ為點云數據采集設備的垂直分辨率,第二平面為x軸、y軸組成的平面。
在一些實施例中,標簽數據生成模塊進一步配置用于:若待訓練點云數據中的點屬于車輛輪廓,則將該屬于車輛輪廓的點變換生成26通道的二維標簽數據,其中,26通道中的第一通道的數值為1,第二通道的數值為0,26通道中的第3~24通道分別為車輛所在的三維立方體各頂點的各坐標相對于待訓練點云數據中屬于車輛輪廓的各點的各三維坐標的旋轉向量;若待訓練點云數據中的點不屬于車輛輪廓,則將該不屬于車輛輪廓的點變換生成2通道的二維標簽數據,其中,2通道中的第一通道的數值為0,第二通道的數值為1。
在一些實施例中,車輛所在的三維立方體各頂點的各坐標相對于點云數據中屬于車輛輪廓的各點的各三維坐標的旋轉向量(x’p,y’p,z’p)為:
其中,r為點云數據中屬于車輛輪廓的任意一點p(xi,yi,zi)的旋轉矩陣,且有:
r=rzi(θi)ryi(φi);
θi=atan2(yi,xi)
在一些實施例中,訓練模塊進一步配置用于:初始化全卷積神經網絡的參數;基于損失函數調節(jié)全卷積神經網絡的參數,其中,損失函數為與當前輸出和與待訓練點云數據對應的標簽數據之間的偏差,當前輸出為與當前待訓練點云數據以及全卷積神經網絡的當前參數對應的全卷積神經網絡的輸出;若損失函數為最小值,則輸出與損失函數對應的參數作為車輛檢測模型的參數;否則,重復執(zhí)行基于損失函數調節(jié)全卷積神經網絡的參數的步驟。
在一些實施例中,檢測模塊進一步配置用于:將點云數據采集設備采集的待檢測三維數據映射生成待檢測深度圖,待檢測深度圖中的各像素點的數值為與待檢測三維數據一一對應的待檢測點云數據中的各待檢測點;基于車輛檢測模型,獲取待檢測點云數據中,各待檢測點的預測結果,其中,預測結果包括待檢測點屬于車輛輪廓的概率;以及若待檢測點屬于車輛輪廓的概率大于預設閾值,確定待檢測點屬于車輛輪廓。
在一些實施例中,預測結果還包括待檢測點的位置信息;檢測模塊還配置用于:獲取待檢測點云數據中,屬于車輛輪廓的概率大于預設閾值的第一待檢測點形成第一待檢測點集合;基于第一待檢測點集合中的各待檢測點的位置信息,生成與待檢測點云數據對應的車輛空間位置信息。
本申請?zhí)峁┑幕邳c云數據的車輛輪廓檢測方法和裝置,通過點云數據采集設備采集的點云數據和對這些點云數據的標注來訓練全卷積神經網絡模型,得到適宜于車輛輪廓檢測的車輛檢測模型,用該車輛檢測模型來判斷點云數據中是否包含車輛輪廓,避免了采用傳統(tǒng)二維圖像檢測車輛輪廓時,由于車輛的二維尺度變化給檢測帶來的難度和檢測誤差。
此外,在一些實施例中,本申請的方案可以在檢測車輛輪廓的同時直接得到車輛的空間位置信息,方便駕駛車輛進行自動駕駛的路徑規(guī)劃和控制。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本申請的其它特征、目的和優(yōu)點將會變得更明顯:
圖1是本申請可以應用于其中的示例性系統(tǒng)架構圖;
圖2是根據本申請的基于點云數據的車輛輪廓檢測方法的一個實施例的流程圖;
圖3是圖2中,基于待訓練點云數據中的各點和與待訓練點云數據中的各點對應的標簽數據訓練全卷積神經網絡模型,以得到車輛檢測模型的一個可選的實現方式的示意性流程圖;
圖4是圖2中,獲取待檢測點云數據,并基于車輛檢測模型,得到與待檢測點云數據中的各待檢測點對應的檢測結果的一個可選的實現方式的示意性流程圖;
圖5是根據本申請的基于點云數據的車輛輪廓檢測裝置的一個實施例的結構示意圖;
圖6是適于用來實現本申請實施例的終端設備或服務器的計算機系統(tǒng)的結構示意圖。
具體實施方式
下面結合附圖和實施例對本申請作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用于解釋相關發(fā)明,而非對該發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與有關發(fā)明相關的部分。
需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本申請。
圖1示出了可以應用本申請的基于點云數據的車輛輪廓檢測方法或基于點云數據的車輛輪廓檢測裝置的實施例的示例性系統(tǒng)架構100。
如圖1所示,系統(tǒng)架構100可以包括終端設備101、102、103,網絡104和服務器105。網絡104用以在終端設備101、102、103和服務器105之間提供通信鏈路的介質。網絡104可以包括各種連接類型,例如有線、無線通信鏈路或者光纖電纜等等。
用戶可以使用終端設備101、102、103通過網絡104與服務器105交互,以接收或發(fā)送消息等。
在一些應用場景中,終端設備101、102、103可以是具備采集點云數據功能的任意電子設備。例如,終端設備101、102、103可以是三維激光掃描儀。
或者,在另一些應用場景中,終端設備101、102、103可以與點云數據采集設備進行數據通信,以獲取點云數據采集設備采集的點云數據。例如,終端設備101、102、103可以是各種電子設備,包括但不限于智能手機、平板電腦、電子書閱讀器、mp3播放器(movingpictureexpertsgroupaudiolayeriii,動態(tài)影像專家壓縮標準音頻層面3)、mp4(movingpictureexpertsgroupaudiolayeriv,動態(tài)影像專家壓縮標準音頻層面4)播放器、膝上型便攜計算機和臺式計算機等等。
服務器105可以是提供各種服務的服務器,例如對終端設備101、102、103獲取的點云數據進行處理和分析的后臺服務器。后臺服務器可以對接收到的點云數據進行分析等處理,并將處理結果(例如點云數據中是否包括車輛輪廓)反饋給終端設備。
需要說明的是,本申請實施例所提供的基于點云數據車輛輪廓檢測方法既可以由服務器105執(zhí)行也可以由終端設備101、102、103執(zhí)行。相應地,基于點云數據車輛輪廓檢測裝置既可以設置于服務器105中,也可以設置于終端設備101、102、103中。
應該理解,圖1中的終端設備、網絡和服務器的數目僅僅是示意性的。根據實現需要,可以具有任意數目的終端設備、網絡和服務器。
繼續(xù)參考圖2,示出了根據本申請的基于點云數據的車輛輪廓檢測方法的一個實施例的流程200。所述的基于點云數據的車輛輪廓檢測方法,包括以下步驟:
步驟210,獲取待訓練點云數據。
在本實施例中,基于點云數據的車輛輪廓檢測方法運行于其上的電子設備(例如圖1所示的服務器或終端設備)可以通過有線連接方式或者無線連接方式從具備采集點云數據的能力的設備獲取點云數據。需要指出的是,上述無線連接方式可以包括但不限于3g/4g連接、wifi連接、藍牙連接、wimax連接、zigbee連接、uwb(ultrawideband)連接、以及其他現在已知或將來開發(fā)的無線連接方式。
點云,是利用激光在同一空間參考系下獲取物體表面每個采樣點的空間坐標,得到的是一系列表達目標空間分布和目標表面特性的海量點的集合。也即是說,與相機拍攝的一副圖片類似,每一個點云可以與某一個場景畫面相對應。此外,點云可以反映出該場景畫面中,各物體的三維模型及線、面、體等各種信息。
步驟220,響應于對待訓練點云數據中的各點的標注,生成與待訓練點云數據中的各點對應的標簽數據,其中,標注可用于指示各待訓練點云數據中的各點是否屬于車輛輪廓。
在一些可選的實現方式中,可以通過人工輔助的方式,來對待訓練點云數據中的各點進行標注,以指示該待訓練點云數據中的各個點是否屬于車輛輪廓。
由于標注用于指示各待訓練點云數據中的各點是否屬于車輛輪廓,基于標注生成的標簽數據中,也包含了是否屬于車輛輪廓的信息。
步驟230,基于待訓練點云數據中的各點和與待訓練點云數據中的各點對應的標簽數據訓練全卷積神經網絡模型,以得到車輛檢測模型。
一般地,卷積神經網絡(convolutionalneuralnetworks,cnn)模型的基本結構包括兩層,其一為特征提取層,每個神經元的輸入與前一層的局部接受域相連,并提取該局部的特征。一旦該局部特征被提取后,它與其它特征間的位置關系也隨之確定下來;其二是特征映射層,網絡的每個計算層由多個特征映射組成,每個特征映射是一個平面,平面上所有神經元的權值相等。
在一些可選的實現方式中,可以將待訓練點云數據輸入cnn模型中,并基于cnn模型的輸出和與待訓練點云數據對應的標簽數據之間的偏差來迭代地調整cnn模型的參數,以使訓練后的cnn模型的輸出和與待訓練點云數據對應的標簽數據之間的偏差最小。
步驟240,獲取待檢測點云數據,并基于車輛檢測模型,得到與待檢測點云數據中的各待檢測點對應的檢測結果。
通過如上的步驟210~步驟240,可以得到車輛檢測模型。在本步驟240中,將待檢測點云數據中的各待檢測點輸入到車輛檢測模型中,可以檢測出該待檢測點云數據中是否包含車輛輪廓。由于本實施例的基于點云數據的車輛輪廓檢測方法用三維的點云數據作為檢測依據,可避免傳統(tǒng)二維圖像檢測車輛輪廓時,由于車輛的二維尺度變化給檢測帶來的難度和檢測誤差。
在一些可選的實現方式中,步驟210的獲取待訓練點云數據可以進一步包括:
步驟211,將點云數據采集設備采集的待訓練三維數據映射生成待訓練深度圖,待訓練深度圖中的各像素點的數值為與待訓練三維數據一一對應的待訓練點云數據中的各點。
在這些可選的實現方式的一些應用場景中,各待訓練三維數據d(x,y,z)可以是以點云數據采集設備為原點,以豎直向上方向為z軸,以水平面內任意垂直的二軸分別為x軸和y軸的坐標系中的坐標值。而基于待訓練三維數據d獲得的待訓練深度圖中,待訓練深度圖中的各像素點的坐標為(r,c),各像素點的數值為(d,z)。
其中:
也即是說,該深度圖中,第r行第c列的位置的數值為(d,z)。
θ為各待訓練三維數據d和原點之間的連線與第一平面之間的夾角,δθ為點云數據采集設備的水平分辨率,第一平面為y軸、z軸組成的平面。也即是說,θ可以視為各待訓練三維數據d相對于豎直平面的“偏航角”。
φ為各待訓練三維數據d和原點之間的連線與第二平面之間的夾角,δφ為點云數據采集設備的垂直分辨率,第二平面為x軸、y軸組成的平面。也即是說,φ可以視為各待訓練三維數據d相對于水平面的“俯仰角”。
此外,atan2(y,x)的含義是,以坐標原點為起點并指向(x,y)點的射線在x軸和y軸組成的坐標平面上,與x軸正方向之間的夾角的角度。
在一些可選的實現方式中,步驟220的響應于對待訓練點云數據集合中的各待訓練點云數據的標注,生成與待訓練點云數據中的各點對應的標簽數據可以包括:
步驟221,若待訓練點云數據中的點屬于車輛輪廓,則將該屬于車輛輪廓的點變換生成26通道的二維標簽數據,其中,26通道中的第一通道的數值為1,第二通道的數值為0,26通道中的第3~24通道分別為車輛所在的三維立方體各頂點的各坐標相對于待訓練點云數據中屬于車輛輪廓的各點的各三維坐標的旋轉向量。
步驟222,若待訓練點云數據中的點不屬于車輛輪廓,則將該不屬于車輛輪廓的點變換生成2通道的二維標簽數據,其中,2通道中的第一通道的數值為0,第二通道的數值為1。
也即是說,無論待訓練點云數據中的某一點是否屬于車輛輪廓,其得到的二維標簽數據中,第一通道的數值可以用于表征該點屬于車輛輪廓的概率,而第二通道的數值可以用于表征該點不屬于車輛輪廓的概率。顯然,第一通道的數值和第二通道的數值均為非負數,且第一通道的數值和第二通道的數值之和為1。
在這些可選的實現方式的一些應用場景中,待訓練點云數據中可能包括某些不能明確地確定是否屬于車輛輪廓的點。在這些應用場景中,可以在與這些點對應的二維標簽數據中的第一通道和第二通道設置恰當的數值以體現該點屬于車輛輪廓的可能性。
在一些可選的實現方式中,車輛所在的三維立方體各頂點的各坐標相對于點云數據中屬于車輛輪廓的各點的各三維坐標的旋轉向量(x’p,y’p,z’p)可以用如下的公式(2)來表達。
具體地:
其中,r為點云數據中屬于車輛輪廓的任意一點p(xi,yi,zi)的旋轉矩陣,且有:
r=rzi(θi)ryi(φi);
θi=atan2(yi,xi)
在這里,θi和φi可以與公式(1)中的θ和φ具有類似的含義。也即是說,θi為屬于車輛輪廓的任意一點p(xi,yi,zi)和原點之間的連線與第一平面之間的夾角,第一平面為y軸、z軸組成的平面。φi為屬于車輛輪廓的任意一點p(xi,yi,zi)和原點之間的連線與第二平面之間的夾角,第二平面為x軸、y軸組成的平面。
在一些可選的實現方式中,本實施例的基于點云數據的車輛輪廓檢測方法中的步驟230可以進一步通過如圖3所示的流程300來實現。
步驟310,初始化全卷積神經網絡的參數。
步驟320,基于損失函數調節(jié)全卷積神經網絡的參數。
在這里,損失函數可以是與當前輸出和與待訓練點云數據對應的標簽數據之間的偏差。當前輸出為與當前待訓練點云數據以及全卷積神經網絡的當前參數對應的全卷積神經網絡的輸出。
步驟330,判斷與當前輸出對應的損失函數是否為最小值。
若是,則在步驟340中,輸出與偏差對應的參數作為車輛檢測模型的參數。
否則,也即是若與當前輸出對應的損失函數不是最小值,則重復執(zhí)行步驟320的基于損失函數調節(jié)全卷積神經網絡的參數的步驟直至損失函數為最小值。
在一些可選的實現方式中,步驟240的獲取待檢測點云數據,并基于所述車輛檢測模型,得到與所述待檢測點云數據中的各待檢測點對應的檢測結果可以進一步由如圖4所示的流程400來實現。
步驟410,將點云數據采集設備采集的待檢測三維數據映射生成待檢測深度圖,待檢測深度圖中的各像素點的數值為與待檢測三維數據一一對應的待檢測點云數據中的各待檢測點。在一些可選的實現方式中,待檢測深度圖可以通過如上所述的公式(1)來得到與點云數據采集設備采集的待檢測三維數據對應的待檢測深度圖。
步驟420,基于車輛檢測模型,獲取待檢測點云數據中,各待檢測點的預測結果,其中,預測結果包括待檢測點屬于車輛輪廓的概率。
步驟430,若待檢測點屬于車輛輪廓的概率大于預設閾值,確定待檢測點屬于車輛輪廓。
在一些可選的實現方式中,預測結果還可以包括待檢測點的位置信息。
在這些可選的實現方式中,流程400還可以進一步地包括:
步驟440,獲取待檢測點云數據中,屬于車輛輪廓的概率大于預設閾值的第一待檢測點形成第一待檢測點集合。
步驟450,基于第一待檢測點集合中的各待檢測點的位置信息,生成與待檢測點云數據對應的車輛空間位置信息。
在一些應用場景中,將待檢測點云數據輸入至車輛檢測模型之后,得到的檢測結果可以與待訓練點云數據屬于車輛輪廓的點的二維標簽數據具有相同的表現形式。也即是說,檢測結果同樣具有26個通道,其中,第一個通道的數值表示基于當前的車輛檢測模型,該待檢測點屬于車輛輪廓的概率,第二個通道的數值表示基于當前的車輛檢測模型,該待檢測點不屬于車輛輪廓的概率。而第3~26通道的取值可用于表征該待檢測點的空間位置。
這樣一來,通過將待檢測點云數據的檢測結果中,第一通道的數值大于預設閾值的待檢測點作為屬于車輛輪廓的點,通過例如數據融合的技術,根據這些屬于車輛輪廓的點的空間位置可還原出該待檢測點云數據中,車輛所處的位置。
本申請的上述實施例提供的方法通過點云數據采集設備采集的點云數據和對這些點云數據的標注來訓練全卷積神經網絡模型,得到適宜于車輛輪廓檢測的車輛檢測模型,用該車輛檢測模型來判斷點云數據中是否包含車輛輪廓,避免了采用傳統(tǒng)二維圖像檢測車輛輪廓時,由于車輛的二維尺度變化給檢測帶來的難度和檢測誤差。
進一步參考圖5,作為對上述各圖所示方法的實現,本申請?zhí)峁┝艘环N基于點云數據的車輛輪廓檢測裝置的一個實施例,該裝置實施例與圖2所示的方法實施例相對應,該裝置具體可以應用于各種電子設備中。
如圖5所示,本實施例所述的裝置500包括獲取模塊510、標簽數據生成模塊520、訓練模塊530以及檢測模塊540。
其中,獲取模塊510可配置用于獲取待訓練點云數據。
標簽數據生成模塊520可配置用于響應于對待訓練點云數據中的各點的標注,生成與待訓練點云數據中的各點對應的標簽數據,其中,標注用于指示各待訓練點云數據中的各點是否屬于車輛輪廓。
訓練模塊530可配置用于基于待訓練點云數據中的各點和與待訓練點云數據中的各點對應的標簽數據訓練全卷積神經網絡模型,以得到車輛檢測模型。
檢測模塊540可配置用于獲取待檢測點云數據,并基于車輛檢測模型,得到與待檢測點云數據中的各待檢測點對應的檢測結果。
在一些可選的實現方式中,獲取模塊510可進一步配置用于:將點云數據采集設備采集的待訓練三維數據映射生成待訓練深度圖,待訓練深度圖中的各像素點的數值為與待訓練三維數據一一對應的待訓練點云數據中的各點。
在一些可選的實現方式中,各待訓練三維數據d(x,y,z)為以點云數據采集設備為原點,以豎直向上方向為z軸,以水平面內任意垂直的二軸分別為x軸和y軸的坐標系中的坐標值;待訓練深度圖中的各像素點的坐標為(r,c),各像素點的數值為(d,z);其中:
θ=atan2(y,x)
θ為各待訓練三維數據d和原點之間的連線與第一平面之間的夾角,δθ為點云數據采集設備的水平分辨率,第一平面為y軸、z軸組成的平面;φ為各待訓練三維數據d和原點之間的連線與第二平面之間的夾角,δφ為點云數據采集設備的垂直分辨率,第二平面為x軸、y軸組成的平面。
在一些可選的實現方式中,標簽數據生成模塊520可進一步配置用于:若待訓練點云數據中的點屬于車輛輪廓,則將該屬于車輛輪廓的點變換生成26通道的二維標簽數據,其中,26通道中的第一通道的數值為1,第二通道的數值為0,26通道中的第3~24通道分別為車輛所在的三維立方體各頂點的各坐標相對于待訓練點云數據中屬于車輛輪廓的各點的各三維坐標的旋轉向量;若待訓練點云數據中的點不屬于車輛輪廓,則將該不屬于車輛輪廓的點變換生成2通道的二維標簽數據,其中,2通道中的第一通道的數值為0,第二通道的數值為1。
在一些可選的實現方式中,車輛所在的三維立方體各頂點的各坐標相對于點云數據中屬于車輛輪廓的各點的各三維坐標的旋轉向量(x’p,y’p,z’p)為:
其中,r為點云數據中屬于車輛輪廓的任意一點p(xi,yi,zi)的旋轉矩陣,且有:
r=rzi(θi)ryi(φi);
θi=atan2(yi,xi)
在一些可選的實現方式中,訓練模塊530可進一步配置用于:初始化全卷積神經網絡的參數;基于損失函數調節(jié)全卷積神經網絡的參數,其中,損失函數為與當前輸出和與待訓練點云數據對應的標簽數據之間的偏差,當前輸出為與當前待訓練點云數據以及全卷積神經網絡的當前參數對應的全卷積神經網絡的輸出;若損失函數為最小值,則輸出與損失函數對應的參數作為車輛檢測模型的參數;否則,重復執(zhí)行基于損失函數調節(jié)全卷積神經網絡的參數的步驟。
在一些可選的實現方式中,檢測模塊540可進一步配置用于:將點云數據采集設備采集的待檢測三維數據映射生成待檢測深度圖,待檢測深度圖中的各像素點的數值為與待檢測三維數據一一對應的待檢測點云數據中的各待檢測點;基于車輛檢測模型,獲取待檢測點云數據中,各待檢測點的預測結果。
在這里,預測結果可包括待檢測點屬于車輛輪廓的概率;以及若待檢測點屬于車輛輪廓的概率大于預設閾值,確定待檢測點屬于車輛輪廓。
在一些可選的實現方式中,預測結果還可以包括待檢測點的位置信息。
在這些可選的實現方式中,檢測模塊540還可以配置用于:獲取待檢測點云數據中,屬于車輛輪廓的概率大于預設閾值的第一待檢測點形成第一待檢測點集合;基于第一待檢測點集合中的各待檢測點的位置信息,生成與待檢測點云數據對應的車輛空間位置信息。
本領域技術人員可以理解,上述基于點云數據的車輛輪廓檢測裝置500還包括一些其他公知結構,例如處理器、存儲器等,為了不必要地模糊本公開的實施例,這些公知的結構在圖5中未示出。
下面參考圖6,其示出了適于用來實現本申請實施例的終端設備或服務器的計算機系統(tǒng)600的結構示意圖。
如圖6所示,計算機系統(tǒng)600包括中央處理單元(cpu)601,其可以根據存儲在只讀存儲器(rom)602中的程序或者從存儲部分608加載到隨機訪問存儲器(ram)603中的程序而執(zhí)行各種適當的動作和處理。在ram603中,還存儲有系統(tǒng)600操作所需的各種程序和數據。cpu601、rom602以及ram603通過總線604彼此相連。輸入/輸出(i/o)接口605也連接至總線604。
以下部件連接至i/o接口605:包括鍵盤、鼠標等的輸入部分606;包括諸如陰極射線管(crt)、液晶顯示器(lcd)等以及揚聲器等的輸出部分607;包括硬盤等的存儲部分608;以及包括諸如lan卡、調制解調器等的網絡接口卡的通信部分609。通信部分609經由諸如因特網的網絡執(zhí)行通信處理。驅動器610也根據需要連接至i/o接口605。可拆卸介質611,諸如磁盤、光盤、磁光盤、半導體存儲器等等,根據需要安裝在驅動器610上,以便于從其上讀出的計算機程序根據需要被安裝入存儲部分608。
特別地,根據本公開的實施例,上文參考流程圖描述的過程可以被實現為計算機軟件程序。例如,本公開的實施例包括一種計算機程序產品,其包括有形地包含在機器可讀介質上的計算機程序,所述計算機程序包含用于執(zhí)行流程圖所示的方法的程序代碼。在這樣的實施例中,該計算機程序可以通過通信部分609從網絡上被下載和安裝,和/或從可拆卸介質611被安裝。
附圖中的流程圖和框圖,圖示了按照本申請各種實施例的系統(tǒng)、方法和計算機程序產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個或多個用于實現規(guī)定的邏輯功能的可執(zhí)行指令。也應當注意,在有些作為替換的實現中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個接連地表示的方框實際上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實現,或者可以用專用硬件與計算機指令的組合來實現。
描述于本申請實施例中所涉及到的單元可以通過軟件的方式實現,也可以通過硬件的方式來實現。所描述的單元也可以設置在處理器中,例如,可以描述為:一種處理器包括獲取模塊、標簽數據生成模塊、訓練模塊以及檢測模塊。其中,這些模塊的名稱在某種情況下并不構成對該模塊本身的限定,例如,獲取模塊還可以被描述為“獲取待訓練點云數據的模塊”。
作為另一方面,本申請還提供了一種非易失性計算機存儲介質,該非易失性計算機存儲介質可以是上述實施例中所述裝置中所包含的非易失性計算機存儲介質;也可以是單獨存在,未裝配入終端中的非易失性計算機存儲介質。上述非易失性計算機存儲介質存儲有一個或者多個程序,當所述一個或者多個程序被一個設備執(zhí)行時,使得所述設備:獲取待訓練點云數據;響應于對待訓練點云數據中的各點的標注,生成與待訓練點云數據中的各點對應的標簽數據,其中,標注用于指示各待訓練點云數據中的各點是否屬于車輛輪廓;基于待訓練點云數據中的各點和與待訓練點云數據中的各點對應的標簽數據訓練全卷積神經網絡模型,以得到車輛檢測模型;以及獲取待檢測點云數據,并基于車輛檢測模型,得到與待檢測點云數據中的各待檢測點對應的檢測結果。
以上描述僅為本申請的較佳實施例以及對所運用技術原理的說明。本領域技術人員應當理解,本申請中所涉及的發(fā)明范圍,并不限于上述技術特征的特定組合而成的技術方案,同時也應涵蓋在不脫離所述發(fā)明構思的情況下,由上述技術特征或其等同特征進行任意組合而形成的其它技術方案。例如上述特征與本申請中公開的(但不限于)具有類似功能的技術特征進行互相替換而形成的技術方案。