摘要
? ? ? ?本文提出了一種實時的座艙檢測、定位和分類解決方案,采用毫米波(mmWave)雷達系統芯片(SoC),CapterahCAL60S344-AE,支持微型機器學習(TinyML)。提出了波束距離-多普勒(BRD)特征,以減輕干擾的影響,便于成人和嬰兒的分類。我們開發了兩個輕量級卷積神經網絡(CNNs)與標簽平滑技術來克服噪聲標簽和增強模型的通用性。大量的實驗表明,在最壞的情況下,該實現可以達到96%以上的檢測精度和90%以上的定位和分類準確率,只有76 KB的模型大小和大約44 ms的推理時間。比較分析還強調了模型的通用性和魯棒性對實際應用程序的重要性,并證明了即使使用一個簡單的CNN模型也可以獲得令人滿意的性能。
引言
? ? ? 座艙內乘客檢測在各種安全應用中發揮著至關重要的作用,如安全帶提醒、安全氣囊部署優化和兒童在場檢測(CPD),以防止中暑事件。雖然相機被廣泛用于檢測和識別,但它們可能會侵犯個人隱私,并在檢測隱藏在障礙物背后的物體時面臨挑戰。壓力傳感器也可以用于檢測乘客的存在,但將物體放置在座位上可能會導致傳感器的假警報。相比之下,mmWave雷達有潛力克服這些限制,并提供準確的乘客探測,即使是在具有挑戰性的情況下,如低光環境或陽光眩光。它能夠檢測小的運動,比如兒童的呼吸,使它特別適合滿足EuroNCAP 2025路線圖規定的嚴格安全要求,該路線圖強調了CPD在車輛中預防事故的重要性。最近的研究探索了使用毫米波雷達進行座艙檢測,使用信號處理或新興的機器學習技術。Chen等人[1]提出了一種基于雷達的由Capon和CFAR生成的點云處理的艙內乘員監測。Abedi等人[2]利用機器學習方法處理范圍-方位角(RA)熱圖,以確定被占據座位的位置。雖然基于capon的方法可以實現更高的角度分辨率,并有助于檢測和定位汽車中的人,但它們可能對復雜的干擾很敏感,如手機的振動、風扇和汽車的小運動。
????????這些干擾將產生高頻分量,并且不能通過在基于RAMAP的處理流程中采用的零多普勒去除來消除。此外,由Capon生成的RAMAP需要大量的矩陣乘法和轉置,這使得在mmWave雷達soc上難以實現。Cruz等人[3],Song等人[4]提出利用時頻特征來減少推斷的影響,提高檢測的魯棒性。然而,獲得時頻特征也需要大量的計算和內存。此外,以往的工作在開發深度學習模型時很少考慮內存和計算復雜性,這可能導致在嵌入式雷達系統上不可行的實現。
????????在本文中,我們提出了一種新的處理流程,利用BRD特征而不是使用RA域的功率分布,以克服干擾的影響,并提供了利用它們不同的范圍-多普勒特征對成人和嬰兒進行分類的能力。在mmWave雷達SoC上開發并部署了具有8位整數后量化的小型CNN模型。除了檢測車內是否有一個人外,我們還通過采用深度學習模型來同時確定這個人坐在哪個座位上,以及這個人是成年人還是嬰兒。此外,我們演示了在Caltah雷達SoC上的實時實現,并通過廣泛的實驗驗證。
方法
處理流程
????????圖1顯示了所提出的座艙內檢測、定位和分類的處理流程。輸入的是模數轉換后的數據,稱為ADC數據。首先對ADC數據進行沿快速時間采樣軸的快速傅里葉變換(FFT),也稱為快速時間處理,以獲得距離信息。隨后,進行零多普勒去除,然后沿慢時間軸進行另一個FFT,以獲得所有虛擬MIMO信道的距離-多普勒(RD)圖。傳統的雷達處理采用非相干集成、恒定誤警率(CFAR)檢測和到達方向(DOA)估計,我們直接采用N-Point二維數字波束形成(DBF),如下所示:
其中,是對于虛擬通道c,距離下標 r,多普勒下標 v的慢時間FFT結果。
為通道c和波束i的導向向量。是n點DBF冪。每束光束都指向我們感興趣的區域,以便在艙內應用。例如,我們執行一個6點的DBF,這些光束指向第二行的三個座位和它們對應的腳槽區域。由于在我們的設計中有相對較大的波束寬,所以第二排的整個區域,包括兩個座位之間的區域,都被有效地覆蓋了。
????????在N-Point DBF之后,將得到一個具有范圍、多普勒和角度尺寸的數據立方體,其中每個元素代表一個特定范圍、多普勒頻率和角度對應的功率。我們選擇了數據立方體的一部分,特別是在本文中顯示的實現中的24×64×6,并使用非對稱的8位整數格式來量化冪值,如等式所示 2:
????????其中,b0和a0分別表示輸入的假設偏差和比例因子,round表示舍入操作,clip(x,xmin,xmax)是在xmin和xmax范圍內剪輯輸入的函數。圖2顯示了沒有seat-A移動的成年人和沒有安全seat-B的嬰兒的BRD特征。在圖中可以觀察到一個視覺上的差異,這承諾了所提出的方法來定位和分類成人和嬰兒。
????????然后將得到的三維 int8 數據輸入到已開發的 CNN 模型中。在這項工作中,CNN 執行了七類分類任務,分別對應以下場景:有或無干擾的空車位、座位 A/B/C(第二排的右/中/左座位)被成人占用、座位 A/B/C 被嬰兒占用。
深度傾模型開發和部署
????????座艙內雷達CNN模型的開發和部署過程如圖3所示。CNN模型在初始化后,通過對多個時期的梯度下降優化進行訓練。執行驗證,以評估驗證損失,并確定是否應盡早停止訓練過程。來自所有7個Case的35個獨立實驗的數據,每個案例包含1000幀,并將它們分割成訓練和驗證數據集。分割比是0.3。雖然數據可以標記為艙內應用,但噪聲數據仍然存在。例如,一個人可以坐在一個座位的邊緣,并占據相鄰座位的一小部分。此外,一個人的運動也可能侵入另一個座位區域。因此,直接使用這些標簽會混淆CNN模型,降低其性能。此外,數據分布漂移可以在實際應用中觀察到,如第四節所示。為了解決噪聲標簽和提高模型的通用性,我們采用了標簽平滑[5]。標簽平滑使用一個小的非零概率α,而不是使用one-hot編碼標簽,而非其他類的概率為0,如等式所示:
????????TinyML 技術對于在內存和計算能力有限的邊緣設備上部署已建立的 CNN 模型至關重要。這項工作主要采用訓練后量化來減少內存占用并加速推理。在此過程中,訓練數據集用作代表性數據集。在此數據集上運行已建立的模型,并收集每層參數的最小值、最大值和標準偏差值。基于這些統計數據,將參數從 32 位浮點數縮放到 8 位整數范圍,類似于等式 2 所示的 CNN 輸入量化。最后,使用 TensorFlow Lite Micro 框架將量化模型與雷達平臺 SDK 一起部署,生成可閃存到 mmWave 雷達 SoC 的艙內雷達二進制文件。
補充
????????我們在CaalterahCAL60S344-AE平臺上實現了我們提出的方法,也被稱為RhinePro。這種4T4R雷達SoC在59 GHz到64 GHz的頻率范圍內工作,并配備了一個雷達基帶加速器(BBA)來加速信號處理。它的特點是一個300MHz的雙CPU核心和3MB的SRAM。我們采用半波長均勻陣列,利用TDM生成一個4×4的矩形虛擬陣列。SoC芯片和天線如圖4所示。
????????如圖1所示,FFT和n點DBF在RhinePro的BBA中實現。然后,CPU將訪問DBF的結果,并執行隨后的推斷。RhinePro的BBA顯著加速了信號處理,在0.4 ms內獲得DBF結果。由于快速處理與波形傳輸并行化,快速處理的處理時間較大。
我們開發了兩種類型的 CNN 模型。
第一種是簡單的3 層順序 CNN,本文中稱為 SimpleNet。它包含三個卷積層,具有最大池化和 ReLu6 激活,然后是全連接層。
第二種是 MobileNetV2 [6],它比 SimpleNet 復雜得多,被認為是最好的輕量級 CNN 架構之一。SimpleNet 和 MobileNetV2 的大小分別約為 275KB 和 5.3MB。量化后,它們的大小減小到78KB 和 1.6MB 左右。我們在 RhinePro 平臺上實現了 int8 后量化后的 SimpleNet,并將在下一節中展示評估結果,而開發的 MobileNetV2 僅部署在桌面上以供比較。在我們的實現中,int8量化的SimpleNet的推理時間約為44毫秒,而沒有量化的相同模型則需要大約855毫秒。通過將CNN推理與波形傳輸并行化,我們開發的艙內雷達可以實現高達20Hz的更新率。
實驗結果分析
????????為了驗證我們提出的方法和實現,我們進行了一系列全面的實驗。圖5顯示了實驗測試用例的例子。雷達平臺安裝在車輛的頂部中心位置。我們評估了三種不同類型的場景: (1)有干擾場景的空車,如操作風扇、座位上的手機振動或外部車輛振動;(2)成年人坐著有或沒有身體運動;(3)在座位上有模擬呼吸的娃娃,兒童安全座椅安裝在向前或向后的配置,或沒有安全座椅。
????????圖6給出了三種沒有量化的CNN模型的訓練和驗證精度:不帶標簽平滑的SimpleNet,帶標簽平滑的Simple網,以及帶標簽平滑的MobileNetV2。很明顯,兩個簡單網絡的訓練準確率超過了95%,而MobileNetV2的訓練準確率約為99.6%。此外,與SimpleNets相比,MobileNetV2表現出明顯更快的收斂速度。我們使用一個獨立的測試數據集對這些模型進行了評估,結果如圖7所示。一個性能差距在驗證結果和測試結果之間進行了觀察。在最壞的情況下,沒有標簽平滑的SimpleNet的性能比驗證結果下降了約15%,而其他兩種模型的最壞情況下的精度仍超過89%。這種差異可以歸因于訓練和驗證數據集中的數據來自相同的實驗,而測試數據集來自一個獨立的實驗。這可能引入了數據分布偏移,而沒有標簽平滑的SimpleNet的過擬合導致了嚴重的性能惡化。
????????為了進一步評估兩種標簽平滑和量化模型的泛化能力,我們進行了一個額外的獨立實驗,略微修改了安裝位置和不同的測試人員和嬰兒模型。其目的是模擬在實際應用程序中遇到的實際條件。如圖8所示的結果表明,雖然由于測試環境的變化,本實驗中模型的性能與測試數據集上的性能有所不同,但兩種模型的平均精度仍約為94%。通過比較驗證數據集上的量化模型的結果,我們發現,量化后幾乎沒有導致性能下降,相反,性能略有提高。這主要可以歸因于后量化引入了一定程度的噪聲,這類似于訓練過程中的正則化,從而防止過擬合和增強泛化。
????????圖8和圖7中的結果也強調了在現實應用中存在的個案波動,這表明深度學習模型的通用性將是一個主要關注的問題。此外,與在本研究中使用一個簡單、緊湊的CNN,如SimpleNet相比,使用一個相對復雜的模型,如MobileNetV2,可能會產生有限的改進。
????????為了證明所提出的方法的魯棒性,我們給出了一個推理案例的詳細結果簡單網絡,一個人從外面搖晃空車來模擬汽車的外部振動。圖9(a)展示了CNN輸入特征的一個例子,(b)和(c)描述了本案例研究的預測分數和分類結果。通過圖9(a)和圖2的比較,可以看出干擾、成人和嬰兒對BRD特征的差異,可以用來區分它們。雖然在這種情況下會了兩個錯誤警報,但它們可以通過使用時間平滑等邏輯策略來減輕。
結論
????????本文提出了一種基于Cinterah雷達SoC平臺和TinyML的實時座艙檢測、定位和分類應用解決方案。我們提出并實現了一種新的處理流程,它利用了多波束方向的BRD特性。為了解決有噪聲的標簽和提高所開發的CNN的通用性,采用了標簽平滑技術。此外,量化被用于減少內存占用和加速推理。廣泛的實驗表明,在實踐中存在數據分布波動,因此模型的通用性將是一個主要關注的問題。無論波動如何,結果表明,我們的實現的檢測準確率超過96%,最壞情況下的準確率超過定位和分類的90%。開發的微型CNN模型占用約76 KB的內存,花費44 ms進行推斷。