本發明主要涉及到道路目標檢測,特指一種面向嵌入式計算平臺的3d目標檢測加速方法及存儲介質。
背景技術:
1、道路目標檢測技術是智能駕駛領域的關鍵技術。由于道路場景的背景多樣,目標繁雜,所以環境感知與關鍵目標檢測系統通常要求較高的實時性和可靠性。而對于智能駕駛而言,智能駕駛的車載嵌入式設備或邊緣端計算平臺的算力與資源從根本上來說是非常有限的,因此如何在這些平臺上優化、加速并部署深度學習網絡模型,成為當前學術界和工業界都關注的研究熱點,實際應用需求也愈發強烈。
2、目前,在面向嵌入式計算平臺上,所使用的目標檢測方法大多都是基于單一傳感器,如獲取車載相機獲取的圖像數據。如,對2d目標檢測模型進行推理加速,或是基于車載激光雷達獲取的點云數據。一般采用傳統的點云濾波聚類等方法進行3d目標檢測。這些方法并未充分利用各傳感器的優勢,無法實現全天候復雜場景的實時目標檢測。
3、這些傳統方式存在的不足之處就在于:
4、1、基于圖像與點云數據特征融合的3d目標檢測模型推理速度不能滿足實時性;
5、2、針對每幀融合數據,車載嵌入式平臺下3d目標檢測系統整體運行時效性較低。
技術實現思路
1、本發明要解決的技術問題就在于:針對現有技術存在的技術問題,本發明提供一種原理簡單、適用范圍廣、能夠提高檢測效率和精度的面向嵌入式計算平臺的3d目標檢測加速方法及存儲介質。
2、為解決上述技術問題,本發明采用以下技術方案:
3、一種面向嵌入式計算平臺的3d目標檢測加速方法,其包括:
4、步驟s1:對車載激光雷達和相機捕捉到的點云與圖像數據進行讀取與解析,獲得多模態數據并存儲到gpu;
5、步驟s2:通過tensorrt工具對已經訓練好的點云-圖像前融合3d目標檢測模型進行優化;
6、步驟s3:將gpu中的多模態數據輸入tensorrt模型,輸出感興趣目標的3d檢測框;
7、步驟s4:通過cuda架構對預測的目標點云與圖像對應像素融合,最終在二維圖像中生成三維融合檢測結果。
8、作為本發明方法的進一步改進:所述步驟s1中,對車載激光雷達和相機捕捉到的點云與圖像數據通過cdua架構進行讀取與解析,獲得時空同步后的多模態數據并存儲到gpu。
9、作為本發明方法的進一步改進:所述步驟s1的流程包括:
10、步驟s101:捕獲車載傳感器的原始圖像與點云數據,并存入gpu顯存;
11、步驟s102:在cuda架構下并行解析原始圖像與點云數據,獲得時間同步后的多模態數據;
12、步驟s103:在cuda架構下利用opencv對圖像數據進行預處理;
13、步驟s104:在cuda架構下對點云數據進行預處理,根據圖像尺度與gpu算力對點云數據進行過濾與篩選。
14、作為本發明方法的進一步改進:所述步驟s103中,所述預處理包括裁剪、降噪、歸一化中的一種或多種。
15、作為本發明方法的進一步改進:所述步驟s2中,對模型中不支持tensorrt轉換的功能模塊需要自定義算子先轉換成onnx,再編寫對應的自定義插件完成tensorrt模型轉換。
16、作為本發明方法的進一步改進:所述步驟s2的流程包括:
17、步驟s201:讀取基于圖像與點云前融合數據的3d目標檢測pytorch模型;
18、步驟s202:針對模型中不能直接轉換onnx的功能函數設置定制算子op;
19、步驟s203:針對上述功能函數分別補充定義對應的符號函數symbolic,符號函數的參數與原函數保持一致,符號函數的返回值為設置的算子op;
20、步驟s204:調用pytorch下接口完成符號函數與原函數的綁定,在轉換成onnx模型的過程中,符號函數將會代替原函數被調用,以設置op的形式生成模型計算圖;
21、步驟s205:讀取轉化后的onnx模型及相關參數;
22、步驟s206:針對算子op,在tensorrt中編寫對應的自定義插件功能包,根據功能需要對custom類下面的方法屬性進行新增或重寫;
23、步驟s207:在插件初始化源文件中添加自定義插件接口,并在cmake文件中完成插件注冊,實現onnx定制算子op與自定義插件的對應關系;
24、步驟s208:編譯自定義插件功能包,生成對應的動態鏈接庫,將其導入tensorrt安裝目錄下lib文件夾。
25、步驟s209:通過tensorrt接口解析onnx模型,獲取網絡層之間的關系,生成針對車載目標檢測嵌入式平臺的tensorrt模型;
26、步驟s210:首次解析模型,構建engine后需要進行模型序列化并保存engine至本地,直接讀取本地engine進行反序列化;
27、步驟s211:輸入對應多模態數據,獲得加速后的推理結果。
28、作為本發明方法的進一步改進:所述步驟s3的流程包括:
29、步驟s301:將數據輸入至tensorrt模型,輸出目標預測框位置信息、類別信息、置信度;
30、步驟s302:依據相機與激光雷達的外參矩陣與相機矩陣,在cuda架構下計算點云對應圖像像素位置。
31、作為本發明方法的進一步改進:所述步驟s4的流程包括:
32、步驟s401:在cuda架構下將三維目標點云投影至二維圖像,實現目標點云與對應圖像數據融合;
33、步驟s402:最終在二維圖像中生成3d融合檢測結果,包括目標的類別、位置信息與置信度。
34、作為本發明方法的進一步改進:所述步驟s4中,所述三維融合檢測結果包括目標的類別信息與位置信息。
35、本發明進一步提供一種存儲介質,所述存儲介質能夠被計算機或處理器讀取,所述存儲介質中存儲有用來執行上述任意一種方法的計算機程序。
36、與現有技術相比,本發明的優點就在于:
37、1、本發明的面向嵌入式計算平臺的3d目標檢測加速方法及存儲介質,原理簡單、適用范圍廣、能夠提高檢測效率和精度,本發明針對實際道路場景中的目標檢測要求,即針對前融合目標檢測模型中的雙向級聯特征提取模塊自定義tensorrt插件實現模型推理加速,通過獲取車載相機與激光雷達數據進行融合的方式,利用多傳感器的互補實現對環境的充分感。
38、2、本發明的面向嵌入式計算平臺的3d目標檢測加速方法及存儲介質,針對車載相機、激光雷達數據基于cuda架構實現實時讀取、解析、融合等功能,即本發明針對圖像-點云融合目標檢測模型,通過tensorrt插件完成模型優化與轉換,實現推理加速;而對于整個目標檢測系統中非神經網絡處理部分,基于cuda架構實現對嵌入式平臺數據的讀取、解析與融合等功能,完成數據前處理與后處理的加速,保障其部署于嵌入式平臺中的計算精度和運行效率。
39、3、本發明的面向嵌入式計算平臺的3d目標檢測加速方法及存儲介質,針對前融合目標檢測模型中的雙向級聯特征提取模塊,定義tensorrt插件實現模型推理加速,模型在支持cuda的嵌入式設備上的檢測效率提升60%,滿足現場實時檢測要求。
40、4、本發明的面向嵌入式計算平臺的3d目標檢測加速方法及存儲介質,針對車載相機、激光雷達數據基于cuda架構實現實時讀取、解析、融合等功能,3d目標檢測系統在支持cuda的嵌入式設備整體運行效率提升50%,滿足現場實時運行要求。