摘 要:智能交通系統可以通過算法預警、實時調度等方式減少車輛擁堵以及交通事故的發生率,而實現各類預警以及調度功能的基礎在于對車輛軌跡的檢測準確,檢測的好壞會影響到智能交通系統的決策,因此對于采用何種算法來進行車輛檢測,要給予足夠的重視度。鑒于此,將梳理基于深度學習的車輛檢測算法,將傳統目標檢測算法與基于深度學習的兩階段、單階段以及基于Transformer的算法進行全面的、綜合化的對比。分析這些算法的優缺點,明確不同算法的適用場合,并指出當前存在的挑戰,對未來的研究方向給出建議。
關鍵詞:智能交通系統 車輛檢測 深度學習 目標檢測算法
隨著國家經濟的持續發展,我國機動車的數量也在不斷增長。根據公安部發布數據顯示,截至2024年,我國機動車保有量高達4.53億輛。自2015年以來,機動車新注冊登記量已連續10年超過3000萬輛[1]。隨之而來的交通事故也居高不下,2023年,我國的交通事故發生數為25.47萬起,造成的死亡人數達6萬多人,導致的直接經濟損失高達11.8億元[2]。因此減少交通事故帶來的負面影響尤為重要。智能交通系統(Intelligent Traffic System,簡稱ITS)對交通事故的減少起到了積極作用,而車輛檢測作為智能交通系統的核心技術,其精度對于自動駕駛、交通流量監控等領域的可靠性具有直接影響。為此,將綜述基于深度學習的車輛檢測算法,首先回顧傳統目標檢測算法,接著介紹基于深度學習的目標檢測算法,并分析其優缺點,最后對未來的研究方向進行合理展望。
1 基于傳統的車輛目標檢測算法
在2012年之前,主流的車輛檢測方案是采用目標檢測算法進行車輛軌跡追蹤,這類算法依賴于計算機視覺,通過手工設計檢測對象的特征,來識別圖像中檢測對象的位置和類別。目標檢測算法一般由區域選取、特征提取和特征分類3大步驟組成[3],首先輸入原始圖像,經圖像預處理之后,通過滑動窗口遍歷圖像,生成不同尺度的候選區域,然后使用HOG、SIFT、Haar等特征進行特征提取,使用SVM、AdaBoost等分類器判斷候選區域是否為檢測目標,最后輸出檢測結果。
基于傳統的目標檢測有以下優勢。可解釋性強:基于手工設計的特征和分類器具有明確的數學定義和物理意義,容易理解和分析,且能夠給出決策的依據。硬件依賴低:對硬件計算資源的要求相對較低,在計算能力有限的設備上也能運行,具有較好的通用性和可移植性。數據要求低:相較于深度學習算法,傳統算法在小數據集上也能取得一定的效果,不需要大量的標注數據進行訓練,降低了數據收集和標注的成本。
然而基于傳統的目標檢測算法也有一些致命缺點。計算效率低:采用滑動窗口的方式生成候選區域,需要對圖像的可能位置和尺度進行遍歷,計算量巨大,導致檢測速度慢,實時性較差。特征表達能力有限:手工設計的特征是基于先驗知識和經驗設計的,特征表達能力有限,無法像深度學習的算法一般實現對多層次、高抽象語義特征的自動化學習,難以捕捉圖像中的復雜信息和語義特征,對復雜場景的適應性較差。泛化能力弱:針對特定目標和場景設計的特征和分類器,對于新的目標或場景需要重新設計特征和調整參數,缺乏通用性和靈活性,檢測精度低,若目標被部分遮擋,特征顯示不全面,算法的特征提取功能就容易失效。因此在多類別缺陷識別中,傳統算法表現有限,需要人工進行圖像灰度化、Gamma校正、濾波去噪、ROI提取等預處理,否則在復雜場景下的檢測精度會表現出較低的現象,無法應用于實際需求。
基于深度學習的目標檢測算法針對傳統目標檢測算法需要對滑動窗口進行遍歷和手動提取特征等缺陷,提出了具有自主學習目標特征的神經網絡模型,尤其隨著卷積神經網絡(CNN)[4]的發展,將目標檢測的準確率和實時性推上了新的高度。
2 基于深度學習的車輛目標檢測算法
基于深度學習的車輛目標檢測本質是借助深度神經網絡模型自動識別和定位交通場景中的車輛。常見的基于深度學習的車輛目標檢測算法可以大致地分為兩階段檢測算法、單階段檢測算法、基于Transformer的目標檢測算法三種[5]。相較于傳統的目標檢測算法,基于深度學習的目標檢測算法在準確率和運行效率上更具優勢,目前已經在自動駕駛、交通流量監控等領域得到了廣泛應用,為相關行業的智能化提供了重要支撐。
2.1 兩階段目標檢測算法
2.1.1 R-CNN
R-CNN是一種可擴展簡單的檢測算法,是卷積神經網絡算法的子類別之一,具有優秀的特征提取和分類能力。其采用分階段訓練,主要步驟為“區域生成→特征提取→SVM分類”,首先通過搜索算法從輸入圖像上生成2000個候選框,將生成的每個候選框處理成227×227大小的圖像,然后輸入卷積神經網絡進行提取特征,將得到的4096維特征通過SVM分類器進行分類,確定該區域是否存在目標物體,ResNet-50會采用殘差結構解決深層網絡的梯度消失問題,以便學習到更復雜的語義特征,比如“駕駛員”的姿態、“車輛”的輪廓等,因此相比傳統的目標檢測算法,R-CNN的場所適應能力更強,能結合交通環境的變化對由此造成的特征缺失進行智能識別和修正,避免因為特征提取不全造成的檢測精度下降問題。但其需要對所有的2000個候選框都進行特征提取,而候選框之間存在著大量的重復區域,使得大量的運算也是重復無效的,最終導致運行速度較慢,實時性較差。
2.1.2 Fast R-CNN
在R-CNN的原始框架中,因為候選框過大,候選區域的特征提取與分類回歸任務存在相當嚴重的計算冗余,因為R-CNN的每個候選區域需獨立通過卷積神經網絡進行前向傳播,所以處理單張圖像需重復執行數千次特征提取操作,在多尺度池化操作中會遭遇梯度傳播受限與內存占用過高的問題。Fast R-CNN對此問題采用了ROI Pooling(Region of Interest Pooling)機制,將多尺度池化簡化為單尺度自適應池化,對于輸入特征圖上的每個候選區域,ROI Pooling將其劃分為固定數量的子網格,并對每個子網格執行最大池化操作,輸出統一維度的特征向量,以此在保留SPP層對尺寸變化的適應性基礎上,減少池化分支數量,降低計算復雜度。
在任務整合方面,Fast R-CNN摒棄了R-CNN中分類與回歸分階段訓練的范式,轉而采用多任務聯合學習框架,引入SoftMax分類器替代SVM,并將分類損失與邊界框回歸損失統一至同一目標函數中,模型通過全連接層并行輸出類別概率分布p=(p0,p1,...,pK)及各類別的邊界框偏移量tk=(,,,),并定義多任務損失函數L=()。其中,為交叉熵分類損失,為Smooth L1回歸損失,為平衡超參數。如此設計是為了消除了特征存儲需求,借助梯度反向傳播實現分類與回歸參數的協同優化。
不過,Fast R-CNN的候選區域生成環節沿用Selective Search算法,該算法通過顏色、紋理、尺寸等多層次分割策略生成約2000個候選框,雖能覆蓋多數潛在目標,但其基于CPU的計算模式與深度學習模型的GPU加速架構存在兼容性鴻溝。Selective Search處理單張圖像需耗時約2秒,占據整體推理時間的80%以上,成為制約實時性的主要瓶頸。并且,候選區域生成與特征提取階段的割裂導致模型無法通過端到端學習優化提案質量,部分漏檢或冗余框需依賴后處理(如非極大值抑制)進行修正,增加計算開銷。
2.1.3 Faster R-CNN
Faster R-CNN針對Fast R-CNN的不足,將Selective Search替換為RPN(Region Proposal Network)網絡,RPN并非獨立于主干網絡存在,而是與特征提取層共享卷積計算。以VGG16為例,輸入圖像經13層卷積后輸出尺寸為原圖1/16的特征圖,如輸入800×600圖像,輸出50×38×512特征圖等等。在此特征圖上,RPN通過滑動窗口機制逐空間位置預測候選框,每個滑動窗口中心點對應原圖上的一組預定義錨框,其設計基于目標尺度和長寬比先驗。典型配置為3種尺度(1282,2562,5122)與3種長寬比(1∶1,1∶2,2∶1),形成9個錨框/位置。這種設計使得RPN與分類器共享卷積層特征,避免了重復計算。基于此,Faster R-CNN得以在一個網絡框架內完成候選框、特征提取、分類、定位修正等任務,極大地提升了檢測效率,且檢測準確率達到了73.2%。不過,Faster R-CNN繼續使用ROI Pooling,導致特征喪失平移不變性,定位準確性下降;此外,Faster R-CNN運用錨點框對原圖進行映射,而錨點框經多次下采樣后對應原圖區域較大,導致Faster R-CNN對小目標的檢測效果欠佳。
2.2 單階段目標檢測算法
2.2.1 YOLO
YOLO是一類高效、實時的目標檢測算法,已經迭代了多個版本。YOLO將圖片分割為7×7個網格,每個網格僅檢測中心位于其內部的目標,預測2個尺度的邊界框和類別信息,一次性生成所有圖像區域包含目標的邊界框、置信度和類別概率,最終輸出檢測結果。其檢測速度可以達到45幀/秒,滿足了實時性要求,但準確率只有63.4%,且在小目標檢測方面效果欠佳。YOLO已迭代了多個版本,YOLOv2引入Batch Normalization,并使用高分辨率輸入(448×448),提升了收斂性和精度;YOLOv3采用Darknet-53骨干網絡和多尺度預測,顯著改善小目標檢測;YOLOv4引入數據增強技術并優化骨干網絡,提升了魯棒性和運行效率;YOLOv5基于PyTorch框架開發,部署靈活且效率高;YOLOv7提出可擴展的模型架構,在速度和精度上表現突出;YOLOv8放棄了基于錨的方法,引入C2f模塊,簡化了模型的同時提高了效率;YOLOv10提出低延遲解耦頭,引入輕量化骨干網絡,優化了推理速度并改善了小目標檢測能力。
整體來說,YOLO的單階段架構使得其在速度上遠超兩階段算法,適合進行實時檢測。但對于小目標檢測的效果仍然不理想,且在定位精度上也仍然低于兩階段算法。
2.2.2 SSD
SSD旨在高效檢測小目標和多尺度目標,其借鑒了YOLO的錨框設計理念,采用6個不同尺度的特征圖進行檢測任務,從而能夠獲得更豐富的特征信息。盡管專注于小目標檢測,但是小目標在特征圖中對應的區域較為有限,難以得到充分訓練,導致檢測效果依然不理想,達不到Faster R-CNN的精度。
2.3 基于Transformer的目標檢測算法
基于Transformer的目標檢測算法通過自注意力機制捕捉全局上下文信息,顯著提升了檢測精度,使其在復雜場景、密集目標以及小目標檢測等任務中表現出色。下面主要介紹DERT。
DERT提出了一個創新性思路:將目標檢測問題視為集合預測問題,直接從圖像中輸出目標的類別和邊界框。其主要架構包括兩個部分:特征提取器(通常為CNN)和Transformer編碼器-解碼器結構。CNN用來提取特征,Transformer編碼器對圖像特征和位置信息進行編碼,將結果輸入到解碼器中進行處理,最后將輸出傳輸到固定數量的預測頭中進行類別和邊界框的預測。其優勢在于采用端到端設計,簡化了目標檢測流程,且提升了復雜場景下的檢測精度。但其也存在訓練收斂慢、計算復雜度高、小目標檢測性能較弱等問題。
3 思考與展望
相較于傳統的目標檢測方法,基于深度學習的車輛目標檢測在檢測精度與檢測速度方面均實現了顯著提升,但仍面臨以下挑戰。(1)深度學習的可解釋性不足。在深層次上通常依賴實驗和經驗推測,中間過程缺少明確的解釋。(2)計算資源耗費大。不管是傳統的深度學習目標檢測算法(YOLO或RCNN等)還是Transformer對計算資源的要求都很高。(3)復雜場景下的小目標、多目標、密集目標檢測困難。簡單場景檢測效果較好,但在多目標和密集目標場景中容易出現誤檢甚至漏檢的情況。
針對以上問題,文章對目標檢測算法未來的發展方向做出討論:(1)在可解釋性方面,提升模型決策透明度以滿足高可靠性場景需求;(2)開發適配輕量化及邊緣設備的模型,優化推理速度和功耗;(3)在復雜場景方面,通過動態多尺度融合、增強訓練策略,以及結合點云、圖像、文本等多模態數據,來提升檢測精度和魯棒性。
4 結語
文章圍繞車輛目標檢測算法展開了概述,回顧了傳統目標檢測算法,介紹了基于深度學習的兩階段、單階段以及基于Transformer的目標檢測算法,分析目前基于深度學習的車輛目標檢測算法存在的問題,以及給出了未來的發展方向的建議。
基金項目:溫州市基礎性科研項目“基于視覺感知的高速公路交通事故檢測及預警關鍵技術研究”(項目編號:S20220019)。
參考文獻:
[1]孔大為.全國機動車保有量達四點五三億輛[N].人民公安報,2025-01-18(4).
[2]國家統計局.中國統計年鑒2024[M].北京:中國統計出版社,2024.
[3]方文俊,楊燕紅,王昊.自動駕駛汽車目標檢測算法研究進展[J/OL].汽車工程師,1-14[2025-04-30].https://doi.org/10.20104/j.cnki.1674-6546.20240375.
[4]Lecun Y, Boser B, Denker J S, et al. Backpropagation Applied to Handwritten Zip Code Recognition[J].Neural Computation,1989,1(4):541-551.
[5]王寧,智敏.深度學習下的單階段通用目標檢測算法研究綜述[J/OL].計算機科學與探索.https://link.cnki.net/urlid/11.5602.tp.20250117.2303.004.