盤它!基于CANN的輔助駕駛AI實戰案例,輕松搞定車輛檢測和車距計算!( 三 )


盤它!基于CANN的輔助駕駛AI實戰案例,輕松搞定車輛檢測和車距計算!

文章插圖
可能有人會問,車距是怎么算出來的?其實車距計算采用的是透視變換原理 , 使用opencv的getPerspectiveTransform方法通過將駕駛過程中拍攝的直視圖轉換成俯視圖計算車距 。此外,用來拍攝行駛畫面的相機也影響車距的計算 。需要查找相機的內外參矩陣 , 結合畸變系數用相機標定技術將圖像中的距離信息映射為客觀世界中的真實距離,從而計算出與其他車的距離 。這幾個參數如何查找可以參考文末的視頻鏈接 。
我們的項目代碼全部開源 , 感興趣的小伙伴可以下拉到文末直接訪問源碼 。當前開發的這個AI輔助駕駛小應用,針對分辨率1280x720、幀率29.97、時長16秒的視頻,單幀圖像在昇騰AI處理器上的純推理時長為14.19毫秒,但由于圖像的前處理和后處理是在CPU上進行的,因此影響整體性能,可通過以下方式改進:
1. 前處理和后處理根據CPU數量和處理時長使用多個線程并行處理,提高昇騰AI處理器使用率 。
盤它!基于CANN的輔助駕駛AI實戰案例,輕松搞定車輛檢測和車距計算!

文章插圖
2. 使用多個昇騰AI處理器進行多路推理,進一步提升性能 。3. 優化代碼算法,將后處理部分由CPU下沉到昇騰AI處理器減少后處理耗時,如何下沉可參考https://gitee.com/ascend/samples/tree/master/python/level2_simple_inference/2_object_detection/YOLOV3_coco_detection_picture_with_postprocess_op4. 使用Auto Tune工具 , 對模型進行調優,減少模型單次推理時長5. 使用Profiling工具 , 分析模型中耗時算子,對算子進行優化
歡迎小伙伴一起參與項目改進 , 如有疑問也歡迎在gitee互動留言!
總結如今很多汽車、高鐵和飛機上都搭載了輔助駕駛系統,不僅可以減輕駕駛員的負擔,同時還降低了事故發生的概率 。隨著越來越多的行業匯入AI這條道路,昇騰CANN也將憑借技術優勢大大降低企業和個人開發者的使用門檻,通過不斷創新打造昇騰AI極致性能體驗,加速AI應用行業落地步伐,助力合作伙伴在未來AI之路上越走越遠!
相關鏈接在線體驗鏈接:https://www.hiascend.com/zh/developer/mindx-sdk/driveassistGitee源碼鏈接:https://gitee.com/ascend/samples/tree/master/python/level2_simple_inference/2_object_detection/YOLOV4_coco_detection_car_videoYOLOv4原論文:https://arxiv.org/abs/2004.10934YOLO原論文:https://arxiv.org/pdf/1506.02640.pdfYOLOv4模型實現:https://github.com/AlexeyAB/darknet相機參數查找方法:https://www.bilibili.com/video/BV1Fq4y1H7sx/
點擊關注,第一時間了解華為云新鮮技術~

推薦閱讀