撒浩杰,齊志媛,周雅雯,高宏偉
(沈陽理工大學 自動化與電氣工程學院,遼寧沈陽,110159)
近年來道路中經常會出現由于車流量過大而產生交通堵塞的問題。一旦出現緊急突發情況時需要車輛人員的出動去解決事件,如果這時道路上出現交通堵塞現象,車輛可能無法準時到達現場。這就錯使緊急情況無法在第一時間得到解決,進而導致無法估量的損失。
Normark Daniel 提到[1]:在上世紀60 年代,國外為了解決不斷惡化的交通狀況,開始研究并提出了智能交通系統(ITS)該系統,該系統將先進信息技術、通訊技術、計算機技術、傳感技術、控制技術等多個技術融合在一起組成整個交通運輸管理系統。而這項項目被許多發達國家爭先恐后地進行投資并研究。但由于其具高昂的傳感設備成本導致無法批量生產并部署與交通道路中,導致信息采集點少,無法動態地、全局地巡查路況。
近年來,隨著我國國民經濟的發展,車輛的數量在日益增加,為了能及時了解路況,我們利用安裝大規模的攝像頭來形成道路監控系統,但由于攝像頭的監控范圍受限,導致無法判斷視野盲區中的路況。
為了解決以上兩個問題,設計了一款四軸巡檢無人機的基于道路監控系統,相比于傳統的道路監控系統它更具有靈活性,能精確選擇視野范圍,用于實時觀察路況,識別道路中的車輛和行人,在出現緊急突發情況時能判斷路況的好壞,尋找最佳道路,減少車輛在道路中的行駛時間,使突發事件達到最佳解決效果。
隨著無人機技術[2]的迅速發展,在姿態控制和穩定性兩方面有了較好的效果,目前無人機姿態控制主要是收集陀螺儀數據和氣壓計數據,通過PID 算法對無人機實現了定高定點的穩定控制,在控制中,要保證陀螺儀和氣壓計數據的穩定性及反饋的及時性,這樣可以確保無人機控制效果的穩定并做出快速反應。目前陀螺儀的數據解算主要包括DMP、四元數[3]和卡爾曼解算[4]。DMP 數據雖然穩定準確但耗費時間長;卡爾曼解算雖用時短,但每次只能解算一個軸的數據;四元數解算雖然比卡爾曼解算用時稍多,但是一次可以解算出三軸的數據。在無人機飛行檢測中,由于使用的是微處理器,我們需要將線下訓練的模型文件加載到微處理器中,實現線上檢測。知識蒸餾的概念中,通過引入與教師網絡有關的軟目標作為Total loss 的一部分,以引導學生網絡進行訓練,實現知識遷移。
本文主要是通過四元數解算陀螺儀數據并反饋給微處理器后,通過PID 算法對無人機進行姿態控制,我們利用知識蒸餾模式將航空訓練集的大量數據進行訓練,減輕了訓練的負擔,并簡易地完成了訓練目標,從而實現無人機能夠在道路中穩定飛行并且實現監控功能。
本系統包含動力系統,ARM,信息采集系統,電源管理這四部分,其中信息采集系統包含攝像頭模塊,GPS 模塊,MPU6050,NRF2401 主要是對信息進行采集。在系統中,電源管理模塊主要承擔動力執行單元、智能控制單元的和信息采集系統的供電,使其能正常工作智能控制單元和信息采集單元系統是相互的,ARM 既控制信息采集系統,又能收集它的信息。將收集的信息在ARM 中進行處理,將GPS,MPU 數據作為控制無人機姿態控制PID 的輸入參數,進而通過ARM 去控制動力執行單元。使其無人機能正常飛行和定點懸停。通過信息采集單元的攝像頭頭數據在ARM進行處理并識別。系統框圖如圖1 所示。

圖1 系統框圖
PID[5,6]作為現在最主流的閉環控制算法,它的的原理簡單,實現方便,適應性比較好能快速,準確的使系統達到穩定狀態。PID 控制系統框圖如圖2 所示。

圖2 PID 控制系統框圖
四旋翼無人機[7]應用場景日益廣泛。常用于航拍、攝像,農業灌溉等場景。但是由于在飛行過程中受到風等一些不可控因素的影響,使得無人機穩定性變差。而PID 可以去解決這個問題。目前PID 主要有兩大種類,增量式PID 和位置式PID。在四軸無人機中我們需要三個串級PID,去保證姿態的穩定。在串級PID 的外環的真實值分別IMU 解算三軸PITCH、ROLL、YAW 的角度。用位置式PID 去調節。而內環的真實值分別為IMU 三軸的角速度,用增量式去調節。
即PID 控制器,連續的控制方程如式(1)所示:
err(t)為偏差量。
由于ARM 處理是數字量,所以將控制方程離散化如式(2)所示:
在外環中u(k)的輸出量為外環的設定值。外外環中u(k)的輸出量為為四個電機PWM 值。圖3 為四軸姿態控制串級PID 控制系統框圖。

圖3 四軸姿態控制串級PID 控制系統框圖
最小系統版包含SSD203D 芯片,復位電路,振蕩電路,SWD 下載這四部分,其 中SSD203D 芯 片,具 有Cortex—A7[8,9]內核,其特性和功能如表1 所示。其使用SWD 的下載方式,它的下載速度不僅和JTAG 下載方式一樣,并且調試的過程中需要的線序很少。其中復位電路的原理是當微處理器(MCU)中RST 引腳收到一個電平信號并且時間大于2μs,即為微處理器(MCU)的復位,當復位鍵被按下時,這時候電容會處于短路中,同時釋放出所有的電能。振蕩電路主要提供一個8MHz 的晶振。電路的輸入電壓為24V。最小系統的原理圖如圖4 所示。

表1 SSD203D的電氣特性表

表2 參數對比表

圖4 最小系統原理圖
在現有的電路中包含線性穩壓,電荷泵,開關電源[10],其中線性穩壓電路具有變換效率較低,尤其是在輸入輸出電壓差較大的情況下。當輸出電流較大時,有明顯的發熱現象,甚至可能燒壞穩壓器。該電源具有輸出紋波電壓高、噪聲大、電壓調整率差的特點,特別是給模擬電路供電時。電荷泵電路很難大功率。電容是串聯放電,紋波大的弊端。
本電路采用開關電源DC-DC buck 電路,采用TPS5430DDAR[11]芯片將外接電源24V 將到5V。該芯片具有高電流輸出,最大4A,5.5~36V 高速電壓輸入,高效轉換,最大可降至95%,輸出功率1.221V,具有過流保護和熱關斷的特點。在電路中輸出如式(3)所示。
即電路中R1=R9,R2=R10。之后將輸出的5V 通過AMS1117 穩壓芯片將電路到3.3V。該芯片為低漏失電壓調節器,穩壓調節管由一個管構成,漏損電壓的定義如式(4)。
提供電流限制和熱保護,以防環境溫度造成過高的結晶。電路C10 和C8 為輸出濾波電容器,作用為抑制自激振蕩。如果這兩個電容斷開,線性調節器的輸出通常是振蕩波形。C7 和C9 是輸入電容。對于交流電壓整流輸入,它們的首要作用是將單向脈動電壓轉換成DC 電壓。在這個圖中,輸入已經是5V 的DC電源,它們的作用是防止斷電后電壓反轉,所以輸入電容的容量往往大于輸出電容的容量。原理圖如圖5所示。

圖5 降壓電路圖
GPS 采用ATGM336H 模塊,此模塊支持北斗/GPS/GLONASS 衛星系統,并可以3.3V 和5V 供電。板載可充電電子,可加速熱啟動搜星過程。其默認波特率為9600,可自行設置。具有高靈敏度、低功耗、低成本的特點。其電路圖如圖6 所示。

圖6 GPS 電路圖
MPU6050 是一個六軸傳感器,采用I2C 獲取原始數據加速度和角速度。自帶1024 字節的FIFO,有助于降低系統功耗。I2C 通信高達400kHz。去除加速度與陀螺儀軸之間的敏感性,減少設置和傳感器漂移的影響。工作電流為5mA,待機電流為5μA,加速度工作電流為500μA。其電路圖如圖7 所示。

圖7 MPU6050 電路圖
攝像頭模塊(ov7670)是一款圖像傳感器,具有體積小,自帶感紅外鏡頭,色彩鮮艷,可自動對焦,高靈敏度、工作電壓低,ov7670 是基于SCCB 總線控制,SCCB 總線的控制方法和I2C 總線基本相似,因此控制起來也比較簡單,可以輸入整幀、子采樣、取窗口等方式的各種分辨率8 位影像數據。其電路圖如圖8 所示。

圖8 攝像頭模塊電路圖
NRF24L01 是由NORDIC 生產工作,其采用SPI 通信,可以很方便的連接到MCU 上面。2.4G 全球開放的ISM 頻段,免許可證使用。最高工作速率2Mbps,高校的GFSK 調制,抗干擾能力強。126 個可選的頻道,滿足多點通信和調頻通信的需要。內置CRC 檢錯和點對多點的通信地址控制。可設置自動應答,確保數據可靠傳輸。其電路圖如圖9 所示。

圖9 NRF2401 電路圖
知識蒸餾[12](Knowledge Distillation)是一種壓縮模型常用方法之一,不同于模型壓縮中的剪枝[13]和權值量化,知識蒸餾是通過構建一個輕易化小模型,利用性能較好的大模型的監督信息來訓練小模型,以達到更好地性能和效果。
知識蒸餾可分為離線蒸餾、半監督蒸餾、自監督蒸餾。本次設計我們利用離線蒸餾的方法進行模型的訓練即傳統的知識蒸餾。知識蒸餾,采用Teacher-Student 模型。如圖10 所示為離線蒸餾的網絡結構圖。

圖10 離線蒸餾的網絡結構圖
RetinaNet[14]模型:RetinaNet 以ResNet[15]為特征提取網絡,通過FPN 進行特征融合并輸出不同尺度的特征圖進行分類和邊界框回歸。RetinaNet 模型如圖11 所示。

圖11 RetinaNet 模型結構圖
3.2.1 特征提取網絡
RetinaNet 一般以FPN[16]作為特征提取網絡,FPN 不僅加深了網絡的結構,而且引入殘差結構解決了梯度消失等問題。普通卷積層與殘差卷積層的對比如圖12 所示。

圖12 普通卷積層與殘差卷積層
即把F(X)改為F(X)+X,由公式(5)可知,在進行反向傳播時,殘差結構可解決梯度消失問題。
3.2.2 特征融合網絡
RetinaNet 以FPN 作為特征融合網絡,FPN 的網絡本質上也是一個全卷積網絡結構[17],FPN 構造特征包括自下而上,自上而下以及橫向連接三個過程,自下而上即卷積網絡向前傳播的過程,自上而下的過程實質上是通過把上層的特征進行尺度變換。來構造新的特征圖。在尺度相同的前提下進行同層連接融合特征。
如圖13 所示為特征金字塔[18]的橫向連接結構圖。

圖13 特征金字塔橫向連接結構圖
3.2.3 損失函數
(1)分類損失
RetinaNet 以Focal Loss[19]作為分類損失,Focal Loss是用來代替無法抗衡該問題的交叉熵損失。如下式(6)所示。
如下式(7)所示。
其中tα為權重系數,γ為調制系數 。
(2)回歸損失
RetinaNet 以 SmoothL1 作為回歸損失,如下式(8)所示,其對離群點,異常值不敏感 ,梯度變化相對較小。
其中X是預測框與真實框之間逐元系的差距。
知識蒸餾作為輕化網絡常用方法,最早被用于分類任務中,但在目標檢測任務中,已含兩個階段:分類和回歸。因此在對RetinaNet 檢測器做知識蒸餾也應包含兩個階段,即先進行分類蒸餾,再進行回歸蒸餾。
在分類過程中,我們主要是將卷積的深度,即通過channel 維度的調整進行網絡的調整。具體為將channel維度進行類別數的倍數的減少(向下取卷),從而實現參數量的減少,以便搭載微處理器(MCU)。
3.3.1 高溫蒸餾過程
目標函數由distill loss(soft target) 和student loss(hard target)加權得到。
而其中用Net-T 產生的softmax distribution 作為soft target。Net-S 在 相 同 溫 度 下 的soft target 的cross entropy 為Loss 函數的第一部分Lsoft。
Net-S 在溫度T=1 下的softmax 輸出和groud truth的cross entropy 為Loss 函數的第二部分Lhard,其作用為防止Net-T 出現錯誤,而使用ground truth 可以有效地較小對Net-s 傳播的錯誤率。
溫度系數T:溫度的高低改變的是Net-S 訓練過程中對負標簽的關注程度。溫度系數T 的產生可以高效的進行知識遷移:使用softmax 層輸出的概率作為軟目標。原始的softmax 函數如下式(9)所示。
而知識蒸餾在原始基礎上添加了溫度參數T。
加入溫度參數后的softmax 函數如下式(10)所示。
溫度T 越大,軟化概率分布越平緩,教師網絡的預測貢獻越大,最終所用的學生網絡結果就更加準確。
在高溫蒸餾過程中目標函數如下式(11)(12)(13)所示。
3.3.2 回歸過程
對于每個地面真值盒,我們計算它和所有錨點之間的IOU,形成一個W×H×K IOU 映射m。這里W 和H 表示特征映射的寬度和高度, K表示K 預設錨定框。
然后我們找到最大的IOU 值M=max(m),乘以閾值因子ψ,得到一個濾波器閾值F=ψ*M。
對于F,我們過濾IOU 圖,保留那些大于F 的位置,并將它們與OR 運算結合,得到一個W×H 掩模。
循環遍歷所有地面的真實框,并結合掩模,我們得到最終的模仿掩模I。
模仿Loss 如下式(14)(15)(16)所示。
Loss 如下式(17)所示。
具體過程如圖14 所示。

圖14 回歸具體過程框圖
本次實驗結果的主要指標為map,將本文的知識蒸餾算法用在航天訓練集上進行實驗,得到的實驗map 結果圖如圖15 所示。

圖15 map 結果圖
同時與原始網絡進行對比,可以看出本文提出的通過在原始網絡中減少參數使蒸餾成的學生網絡與原始網絡進行對比檢測精度在數據集上高出了3.86%,性能顯著提高。上層圖為教師模型,下層圖為學生模型;實驗結果對比圖如圖16 所示。

圖16 實驗結果對比圖
本文針對現在道路的突發擁擠情況,設計一種基于道路監控的四軸巡檢無人機系統,能實現巡查緊急情況,實時分析路況,尋找最佳道路的系統。通過信息采集單元,對傳感器的數據進行采集,并通過動執行單元對無人機進行控制。在線下進行模型訓練,并通過知識蒸餾的方法對模型進行壓縮到核心版上。可以使線上的實時監控識別,區分路面的行人和車輛。實驗表明,該系統實現既定的功能。可以有效實現監控道路的功能。