張學(xué)峰,郁洋,任彬
(石家莊鐵道大學(xué) 機(jī)械工程學(xué)院,河北 石家莊 050043)
如今,無人機(jī)在人們生活中扮演著越來越重要的角色,廣泛應(yīng)用于農(nóng)業(yè)種植、航拍攝影、電力巡航等領(lǐng)域以及一些距離較遠(yuǎn)、人類難以接近或較為危險(xiǎn)的場(chǎng)所。
在高速公路上,兩個(gè)攝像頭之間的距離較遠(yuǎn),固定攝像頭的視野盲區(qū)較多,難以監(jiān)控整條路段的車流情況。當(dāng)有車禍發(fā)生在攝像頭的視野盲區(qū)內(nèi)時(shí),相關(guān)人員難以第一時(shí)間得知現(xiàn)場(chǎng)情況。這時(shí)就需要一種能隨時(shí)改變觀測(cè)角度,將現(xiàn)場(chǎng)信息實(shí)時(shí)傳輸給交通指揮人員,指揮人員能夠籍此調(diào)節(jié)現(xiàn)場(chǎng)的裝置,無人機(jī)顯然是不二之選。
王永杰采用無人機(jī)傾斜測(cè)量技術(shù)進(jìn)行海外公路探測(cè);石秀使用無人機(jī)探測(cè)高速公路違章情況;宋宇、陶柳使用無人機(jī)在山區(qū)公路選線測(cè)量;樊寶安、曾荻清分別使用無人機(jī)制作了高速公路違章檢測(cè)平臺(tái)并設(shè)計(jì)了相應(yīng)的通信方案。本文設(shè)計(jì)的高速公路檢測(cè)、指揮無人機(jī)控制系統(tǒng)分為飛行控制系統(tǒng)、圖像傳輸系統(tǒng)和地面站三個(gè)部分。飛行控制系統(tǒng)采用開源架構(gòu)Pixhawk 4,保證無人機(jī)可以穩(wěn)定飛行;圖像傳輸系統(tǒng)使用5.8 G 圖傳將所收集的圖像信息傳回地面站;地面站程序采用Qt 編寫,負(fù)責(zé)處理傳回的圖像信息,監(jiān)測(cè)無人機(jī)運(yùn)行參數(shù),并預(yù)測(cè)接下來會(huì)出現(xiàn)的車流量。地面站可以在普通電腦上運(yùn)行,有比嵌入式設(shè)備更高的算力,也更容易使用。
本文設(shè)計(jì)的無人機(jī)硬件采用pixhawk 4 作為主控,pixhawk 4 是一個(gè)基于ARM 芯片的開源飛控系統(tǒng),如圖1所示。
圖1 Pixhawk 4 飛控板
飛控系統(tǒng)主要由微控制器、傳感器、儲(chǔ)存模塊和外部接口組成。微控制器使用STM32F427,使用雷迅UBLOX M8NGPS 模塊和Bosch BMM 150 MEMS 磁力計(jì)更新無人機(jī)的實(shí)時(shí)位置,使用空速計(jì)來避免無人機(jī)失去控制,保證在有風(fēng)的情況下可以保持無人機(jī)機(jī)體穩(wěn)定運(yùn)行,使用PX4 Flow獲得更加精確的定位。
接收機(jī)使用牛牛航模5.8G 圖傳手機(jī)接收機(jī),發(fā)射機(jī)使用熊貓發(fā)射機(jī)5.8G,圖傳攝像頭使用彈弓攝像頭,確保可以攝像頭的方式傳回實(shí)時(shí)圖像,經(jīng)過測(cè)試,圖像傳回的延遲在1秒以內(nèi),1 秒的延遲對(duì)于本設(shè)計(jì)沒有明顯影響,如圖2所示。
圖2 圖傳發(fā)射機(jī)
很多無人機(jī)圖像的處理過程都是在無人機(jī)部分完成的,即在無人機(jī)上裝載嵌入式設(shè)備完成圖像的及時(shí)處理,并將處理結(jié)果返回給工作人員。而本文采用將圖像傳回電腦端,在電腦端完成圖像的處理。由于電腦CPU 計(jì)算能力比嵌入式設(shè)備計(jì)算能力強(qiáng)大,所以電腦端的處理速度會(huì)比嵌入式設(shè)備的處理速度快很多,在遇到無人機(jī)墜毀等小概率事件的情況下,損失也會(huì)更小。
地面站的程序使用QT 編寫,分別提供了Linux、Windows 系統(tǒng)的版本,在各種系統(tǒng)上均可以使用。地面站可以接收無人機(jī)的飛行狀態(tài)、攝像頭采集的圖像,計(jì)算無人機(jī)視野內(nèi)車輛數(shù)量,標(biāo)記當(dāng)前公路的車輛密度。
本文在無人機(jī)飛行控制方面,主要采用人工操作和智能巡線兩種方式。人工操作保證在拐角處做出適當(dāng)?shù)奈恢棉D(zhuǎn)變并且確保飛行方向無誤;智能巡線是確保在無人機(jī)飛行較長(zhǎng)距離沒有交叉的高速公路部分可以自主地完成飛行。
無人機(jī)姿態(tài)保持的過程包括檢測(cè)狀態(tài)、姿態(tài)解算、PID輸出。平穩(wěn)的飛行是精確識(shí)別車禍和車流量的前提保障,相應(yīng)人員需要隨時(shí)讀取無人機(jī)飛行數(shù)據(jù),并通過處理位姿數(shù)據(jù)來調(diào)整無人機(jī)的飛行姿態(tài)。
我們通過MPU9250 傳感器來實(shí)時(shí)獲取無人機(jī)的位姿信息,MPU9250 是一種集加速度計(jì)、陀螺儀、磁力計(jì)為一體的傳感器,如圖3所示。
圖3 MPU9250 九軸數(shù)字運(yùn)動(dòng)處理器
使用加速度、角加速度積分得到的位姿信息存在累計(jì)誤差,使用加速度進(jìn)行正交分解測(cè)得的數(shù)據(jù)存在高頻誤差,所以可以使用兩種數(shù)據(jù)的融合來獲得具體的位姿信息,再使用磁力計(jì)對(duì)結(jié)果進(jìn)行修正,這樣可得到較為準(zhǔn)確的計(jì)算結(jié)果。本文使用四元數(shù)計(jì)算位姿,然后將四元數(shù)轉(zhuǎn)化為歐拉角,求得無人機(jī)的位姿信息。
四元數(shù)是基{1,,,}的線性組合,可以表示為=[,,,]的向量形式。表示旋轉(zhuǎn)的一般形式為:
為了計(jì)算方便,將旋轉(zhuǎn)公式壓縮為三維矩陣:
其中:
此外,還可以通過加速度計(jì)測(cè)量出實(shí)際重力加速度向量。兩個(gè)向量方向差值為:
所以誤差為:
使用PI 控制器
計(jì)算角速度補(bǔ)償值,再由微控制器輸出相應(yīng)的PWM,穩(wěn)定無人機(jī)姿態(tài)。
無人機(jī)在高速公路上穩(wěn)定行駛時(shí)可以進(jìn)行圖像獲取、圖像處理以及返回位置數(shù)據(jù)。無人機(jī)沿公路以每秒45 張圖像的拍攝速度進(jìn)行航拍并通過圖傳將圖像發(fā)送給電腦端,電腦對(duì)接收到的圖像進(jìn)行二值化處理,過濾掉車輛和可能的交叉路口,將識(shí)別到的高速公路的分界線作為檢測(cè)值,并與拍攝窗口的目標(biāo)值中線進(jìn)行比較得到相對(duì)位置偏差,將處理后的偏差數(shù)據(jù)返回給無人機(jī)的飛控系統(tǒng),對(duì)無人機(jī)的位置進(jìn)行調(diào)節(jié)。
采用YOLOv3 目標(biāo)識(shí)別方法進(jìn)行目標(biāo)檢測(cè)及追蹤。YOLO 將物體檢測(cè)作為回歸問題來求解,YOLOv3 基于一個(gè)單獨(dú)的端到端網(wǎng)絡(luò),完成從原始圖像的輸入到物體位置和類別的輸出。YOLO 的統(tǒng)一體系運(yùn)行速度非??欤赮OLO的模型可以實(shí)現(xiàn)以每秒45 幀的速度實(shí)時(shí)處理圖像,此外,較小的網(wǎng)絡(luò)FastYOLO 每秒可以處理大約155 幀圖片。
將輸入的圖片輸出為3 個(gè)不同尺寸的特征圖,分別為13×13×255 的y1、26×26×255 的y2、52×52×255 的y3,因?yàn)槊總€(gè)box 有橫坐標(biāo),縱坐標(biāo),長(zhǎng),寬,置信度confidence 五個(gè)基本參數(shù),80 個(gè)類別的概率,RGB 三種顏色,所以深度為3×(5+80)=255。
如圖4所示,DBL 層包括卷積、BN、Leaky relu三個(gè)部分。卷積是圖像處理中的基本操作,BN 層可以加快網(wǎng)絡(luò)的收斂速度,Leaky relu 函數(shù)作為激勵(lì)函數(shù)。
圖4中resn 包含res1、res2、res8 等,表示res_block內(nèi)含有res_uint 的數(shù)量,其基本組件是DBL,為了增加網(wǎng)絡(luò)深度,達(dá)到darknet-53 這樣多的層數(shù),采用殘差結(jié)構(gòu)resnet,殘差網(wǎng)絡(luò)增加了恒等映射,把當(dāng)前的輸出直接傳給下一層網(wǎng)絡(luò),略過了本層運(yùn)算,解決了深層網(wǎng)絡(luò)中的梯度消失問題。
圖4中的張量拼接concat 是將darknet 中間的某一層與之后的某一層進(jìn)行上采樣拼接,這樣可以擴(kuò)充張量的維度。
圖4 YOLOv3 結(jié)構(gòu)圖
在本實(shí)例中,采用聚類的方式先在圖像數(shù)據(jù)集上得到初始的邊界框,在YOLOv3 中,選擇=9,在對(duì)輸入圖像進(jìn)行32、16 和8 倍采樣獲得的三個(gè)尺度上進(jìn)行預(yù)測(cè),得到如表1所示的長(zhǎng)寬。
表1 通過k 聚類得到的初始邊界框
再采用多個(gè)Logistic 分類器(一種二分類分類器)對(duì)目標(biāo)進(jìn)行分類。Logistic 分類器使用了Sigmoid 函數(shù):
將特征數(shù)據(jù)訓(xùn)練成一個(gè)0/1 分類模型,其中介于上述9個(gè)長(zhǎng)寬范圍內(nèi),由圖像可以得知,()>0 時(shí)可以認(rèn)為其屬于該類,()<0 時(shí)不屬于該類,Sigmoid 函數(shù)如圖5所示。
圖5 Sigmoid 函數(shù)圖像
通過多尺度預(yù)測(cè)可以識(shí)別分布在視野內(nèi)大小不同的目標(biāo)。使用之前的方法可以獲得三個(gè)深度為255 的特征圖,三個(gè)深度圖的尺寸不同,為了連接兩個(gè)不同尺度的特征圖,用(2,2)的上采樣來保證拼接的張量尺寸相同。使用不同尺度的特征圖可以讓圖像在因具有不同距離導(dǎo)致圖像尺寸突通時(shí),預(yù)測(cè)結(jié)果不受影響。
使用攝像頭可以測(cè)量出視野內(nèi)的車輛數(shù)目,也可以檢測(cè)出路面出現(xiàn)的事故,并可將路面情況迅速返回給地面站,幫助工作人員第一時(shí)間發(fā)現(xiàn)異常情況,如圖6所示為無人機(jī)運(yùn)行流程圖。
圖6 無人機(jī)運(yùn)行流程圖
在出現(xiàn)車禍時(shí),不僅要立刻傳回車禍現(xiàn)場(chǎng)信息,還應(yīng)提供車禍發(fā)生道路的車流量信息,避免后續(xù)車輛因無法得知車禍信息未避開該路段而發(fā)生交通堵塞。因此,獲取車禍路段到地面站之間的車流量信息就變得非常重要??梢允褂肎M(1,1)灰色預(yù)測(cè)模型來預(yù)測(cè)后續(xù)車輛的數(shù)量。
本文使用YOLOv3 檢測(cè)一段時(shí)間內(nèi)視野內(nèi)的車輛數(shù)量,一段時(shí)間內(nèi)的車輛數(shù)量為:
對(duì)應(yīng)的累加生成數(shù)為:
對(duì)應(yīng)的累加生成數(shù)列為:
令z為向量生成的向量,即
定義微分方程
其中x為灰導(dǎo)數(shù),為發(fā)展系數(shù),z為白化背景值,為灰作用量。=2,3,…,n 時(shí),
引入矩陣記號(hào)
所以GM(1,1)表示為=,解得
所以預(yù)測(cè)值為:
之后一段時(shí)間的預(yù)測(cè)值為:
設(shè)無人機(jī)飛控系統(tǒng)在時(shí)刻的速度為υ,結(jié)合無人機(jī)飛行速度υ≈45 km/h,汽車在高速公路上的時(shí)速大約為無人機(jī)的2.5 倍,無人機(jī)相對(duì)于車流量向后運(yùn)動(dòng),非常適合預(yù)測(cè)后面陸續(xù)到達(dá)的車輛數(shù)量,向交通部門實(shí)時(shí)傳回車輛數(shù)量信息。通過對(duì)實(shí)際交通路況的實(shí)驗(yàn)測(cè)試,如圖7所示,在車輛行駛速度很快的情況下,無人機(jī)依舊可以對(duì)車輛進(jìn)行較為準(zhǔn)確的識(shí)別。通過將一段時(shí)間內(nèi)所記錄的實(shí)際車流量數(shù)據(jù)與GM(1,1)預(yù)測(cè)算法求得的預(yù)測(cè)值作比較,然后利用MATLAB 對(duì)多次獲取的數(shù)據(jù)進(jìn)行處理,繪制出如圖8所示的對(duì)比圖。分析圖像可知,實(shí)際路況車流量的真實(shí)值與預(yù)測(cè)值幾乎是吻合的,表明無人機(jī)能夠很好地完成交通情況的預(yù)測(cè)。
圖7 無人機(jī)實(shí)時(shí)預(yù)測(cè)圖
圖8 MATLAB 繪制GM(1,1)真實(shí)值與預(yù)測(cè)值的對(duì)比圖
本文針對(duì)高速公路距離長(zhǎng)難以在公路上全程安裝監(jiān)測(cè)傳感器的問題,設(shè)計(jì)一種利用無人機(jī)檢測(cè)整個(gè)高速公路車流量以及路面異常狀況的方法,并使用GM(1,1)灰色預(yù)測(cè)模型來預(yù)測(cè)后續(xù)車輛的數(shù)量,方便工作人員適時(shí)調(diào)整公路管理措施,可在一定程度上降低違章率。該系統(tǒng)性能穩(wěn)定,具有較好的擴(kuò)展性,可以高效率地完成任務(wù),具有一定的使用價(jià)值。