劉宇偉
(中國礦業(yè)大學徐海學院,江蘇 徐州 221009)
我國民航正進入高速發(fā)展關鍵時期,國內各機場航班數量逐漸呈現(xiàn)井噴增勢,大型機場地面交通基本處于密集型高位運行。為了能夠適應逐漸增加的運輸壓力,提高機場的整體運作管理效率,打造適用于機場的檢測系統(tǒng)至關重要。計算機視覺技術成為場景檢測的重要方法,而目標檢測作為主要技術研究方向之一,可以對畫面中目標所在位置進行精準定位,還擁有識別目標所屬種類的技術能力[1]。智能技術不斷創(chuàng)新,研究人員對目標檢測算法精準度的需求逐漸增加。該文試圖將輕量化YOLOv5算法引入目標檢測系統(tǒng),應用YOLOv5 識別機場的人、車和飛機,以提高塔臺管理機場的調度效率。同時,該文還基于大量基礎數據進行計算機深度學習,以發(fā)揮YOLO部署在嵌入式設備中的優(yōu)勢。
YOLO 算法利用圖片預測,可以一次性獲得全部檢測結果,在更新中推出YOLOv5,YOLOv5 可以根據模型大小遞增劃分為s、m、l 和x,不同模型的深度、寬度也不同,均包括輸入端、Backbone、Neck 以及Head 4 個部分。在輸入端采用Mosaic 數據增強、自適應初始錨框計算以及圖片縮放等圖像預處理方法。Backbone 采用Focus 下采樣、SPP 池化金字塔結構以及改進CSP 結構等,可以成功提取圖片特征信息[2]。Neck 采用FPN+PAN 特征金字塔結構傳遞不同尺寸目標物的特征信息。Head 主要應用3 類損失函數分別完成計算、分類、定位以及置信度損失任務,經NMS 可以提高網絡預測精準度。YOLOv5 的基本架構如圖1所示。
為了精準檢測機場的目標物,基于YOLOv5 提出輕量化YOLOv5 網絡結構,模型量化就是將32 位浮點運算轉化為定點運算,該方法可以有效壓縮參數、減少占用內存。以目前使用領域最廣泛的3 類量化方法(二三值化、對數量化以及線性量化)為例,首先,采用二三值化僅可以進行簡單的運算操作,如果運算步驟比較復雜,就會影響結果精度。其次,對數量化運算過程需要將同底冪指數相乘,該計算過程也比較復雜,因此并不利于AI 芯片底層加速?;趯ι鲜? 種算法的分析并結合已有文獻的觀點可知,2 種算法均將32 位浮點數據映射至8 位定點,零點值Z偏移就是2 種計算方法的不同之處[3]。
量化后的具體數值Q如公式(1)所示,零點值Z如公式(2)所示。
式中:Q為量化后的具體數值;R為權重參數值;Z為零點值;xf為輸入float 32 類型數據;n為量化處理后數值的bit 位數。
通過應用不同量化模型處理,8 位定點量化模型明顯變小,將FP32 浮點數張量轉化為unit8 張量,可以減少存儲空間及內存帶寬,可以進一步提高系統(tǒng)吞吐量,還可以緩解系統(tǒng)可能導致的延時問題。
該文建立目標檢測系統(tǒng)GhostNet的基本理念就是以特征圖存在的關聯(lián)拆分一般卷積,并將其與Ghost 卷積進行對比(如圖2所示)。在Ghost 模塊內包括1 個少量卷積、1 個總體恒等映射以及m×(s-1)個線性運算,經一般卷積生成的少量特征圖完成廉價線性操作,成功獲得Ghost 特征圖,再拼接2 組特征圖,成功獲得更多特征圖并匹配給定輸出通道數。
圖2 一般卷積與Ghost 卷積的對比
該輕量化YOLOv5 算法采用Conv 卷積模塊取代原本YOLOv5 的Focus 模塊,并采用MobileNetv2 替換原本Backbone 內的CSP 模塊。其中,MobileNetv1 所用深度可分離卷積經堆疊可以取代標準卷積,主要包括深度卷積、逐點卷積2 個部分,可以在輸入同等卷積基礎條件上,減少模型的參數量[4]。假設定義標準卷積、深度可分離卷積,深度卷積在標準卷積的基礎上更改N為1,再與送入1×1逐點卷積模塊最終所獲卷積結果相加,兩者的計算和參數量相比如公式(3)所示[5]。
式中:Wc、Hc分別為輸入特征圖的寬、高;N為卷積核素,共計N條通道;M為卷積核數;Ho為卷積模塊高度;Wo為卷積深度。
經過計算可知,輸出特征圖的大小為Wc×Hc×N。
MobileNetv2 在MobileNetv1 的基礎上加入Expansion layer 和線性鏈接Bottleneck layer,以完成低維、高維特征映射,但是網絡模型體積卻明顯變小,僅為Mobilev1 的1/4,因此可以實現(xiàn)網絡結構輕量化的目標。
針對卷積網絡壓縮領域,可以采用網絡減枝方法達到降低網絡復雜度與過擬合的效果,還可以提高量化算法的推理速度?;诰矸e核的結構化減枝是指從卷積核層面進行考慮,初始時正常訓練網絡,再一處權重鏈接低于判斷閾值的卷積核或通道,并進行適當地稀疏調整網絡處理,就可以成功獲取輕量化模型。以往文獻中判斷卷積核重要性所用的方法各不相同[6],該文主要針對網絡BN 層內可學習參數完成L1 正則化稀疏訓練,成功獲得與0 接近的稀疏縮放因子,使用L1 范數評價卷積核的重要性,即完成了減枝流程。也就是根據遞減順序和每個卷積層濾波器矩陣的絕對值總和排列去除那些比預定閾值低的卷積核。
2.2.1 主干網絡改進
為了避免閾值參數評價方法過于單一,導致出現(xiàn)誤減、結構通道數發(fā)生明顯變化以及降低目標檢測精度的情況,再加上嵌入式平臺MAC 硬件單元,對優(yōu)化模型加速時所要求的卷積通道數量最好是3 的倍數,因此減枝設計判斷函數,如公式(4)所示。
式中:N為網絡減枝后通道數;x為原網絡卷積核通道數;f(x)為在減枝后小于x并為9 的倍數的最大值。
為了提高網絡預測速度和效率,在保留網絡DenseNet網絡特征提取能力的基礎上,采用一次性聚合模塊,刪除密集連接方式,在最后一層聚合淺層特征,采用這種改進方式可以使整個網絡性能比改進前的網絡模型更高,還可以提高小目標檢測的性能。
2.2.2 頸部網絡改進
頸部網絡與輸出層、主干網絡相連,經特征增強模塊提取主干網絡特征后,完成特征增強處理向輸出層輸出,以提高網絡檢測精準度。目前,運用范圍較廣的深度學習領域中的特征增強模塊為特征金字塔網絡(FPN)模塊,該模塊可以在目標檢測、實例分割等任務中靈活運用,可以添加自頂至下的網絡結構,增強雙方之間的橫向連接,向淺層傳遞深層語義信息,融合每個特征層后進行單獨預測,就可以實現(xiàn)多尺度目標檢測,以提高網絡對小目標的檢測能力。
采用PyTorch 框架的硬件環(huán)境配置如下:RTX2060 GPU,i7 處理器,16G 內存,Python:3.6,CUDA10.1,opencv:3.4.5。采用RKNN 框架的硬件環(huán)境配置為嵌入式設備Rk3399pro。將交叉編譯環(huán)境安裝在PC 終端,利用ssh 協(xié)議可以在手機、平板設備遠程登陸,使用CMake 工具編寫Cmakelist.txt 配置文件,就可以實現(xiàn)跨平臺管理編譯的功能。采用phcharm 完成Python 代碼編寫訓練,并落地C++程序。由mAP 評價模型精準度,控制模型訓練中每類檢測目標精準率相應召回率為0~1,后續(xù)完成積分求和與總檢測目標相處后就可以得到結果。完成5 次試驗后獲得平均值對比(見表1)。
表1 不同網絡模型性能相較
為了驗證不同目標檢測模型的性能,選擇常用于目標檢測試驗的PASCAL VOC 數據集[7]。所檢測目標有豐富的樣本數量、不同的特征背景,可以完成不同環(huán)境需求下的深度目標檢測測試,可以對重疊或較小圖片進行篩選和目標增強檢測操作。首先,轉化試驗選擇的數據集標簽格式,加工PASCALVOC 格式轉化為YOLO 文本格式,成功生成id、x、y、w 和h 歸一化處理,之后以訓練集、驗證集的存儲方式成功存儲轉換結果。其次,基于大小相同的2 張圖片完成聚類產生全部anchors 的2 000 輪變異,保證最終所得召回率結果最大化。最后,在該試驗中隨機增減圖片亮度、飽和度、對比度和色調等,并使用裁剪、隨機縮放、裁減、翻轉以及擦除等方法對圖像目標數據進行增強處理。Mosaic 數據增強共計選取4 張圖片進行隨即編排拼接,BatchSize 明顯增加,內存占用率也明顯變小,可以有效預防出現(xiàn)過擬合情況。
3.3.1 輕量化效果
該文實現(xiàn)了基于YOLOv5算法的強量化改進設計,YOLOv5在訓練模型階段仍然采用Mosaic 數據增強方法,該算法改進了cutmix 數據擴展方法。cutmix 僅使用2 個圖像來拼接,而mosaic data augmentation 通過隨機縮放、修剪和布局的方法來連接4 個圖像[8],該增強方法可以將幾張圖片組合成1 張,不僅可以豐富數據集,而且還可以提高網絡的訓練速度并降低模型的內存需求。
為了進一步提高YOLOv5 算法的推理速度,該算法提出一種方法,該方法能夠自適應地添加最少的黑邊到縮放之后的圖片中。將416×416 的圖像輸入該目標檢測系統(tǒng),對比替換特征提取網絡、網絡減枝及量化處理后的網絡結構。采用PC 端模型與pytorch 框架進行對比,在RKNN 框架操作Rk3399pro 端,采用RKNN 模型取代pt 模型,RKNNToolkit可以精準識別op 算子,提供必要的硬件條件支持。由表1可知,改進特征提取、減枝以及輕量化處理后的網絡結構模型的檢測速度比基礎的polov5 模型高,由原本的140 f/s 升至370 f/s,模型精度降至6.74%[9]。
3.3.2 算法通用性
為了驗證輕量化YOLOv5 算法在機場目標檢測中的通用性和普適性,檢測數據預處理后KITTI 數據集訓練的YOLOv2 系列算法(見表2),檢測效果證實基于輕量化YOLOv5 算法的目標檢測方法可以基于Rk3399pro 進行輕量化部署,為后續(xù)探索其他改進方法提供理論數據支撐。
表2 改進yolo 系列輕量化模型前后目標檢測效果對比
3.3.3 小目標檢測效果
為了對設計輕量化YOLOv5 改進算法目標檢測系統(tǒng)的性能進行驗證,探索不同改進方法的應用實效性,基于YOLOv5 設計分辨難度較大的小目標檢測試驗,共計4 組,檢測效果見表3。試驗結果格式表現(xiàn)為mAP@0.5/mAP@0.5:0.96。由表3 可知,WCAL-PAN 的小目標檢測效果更好,mAP@0.5 提高了3.3%,mAP@0.5:0.95 提高了5.2%。該文設計的系統(tǒng)小目標檢測效果提高了2.7%,證實了該系統(tǒng)小目標檢測效果的顯著性。
表3 小目標檢測效果
綜上所述,基于輕量化YOLOv5 改進算法的目標檢測系統(tǒng)可以保障機場運行安全,可以提高業(yè)務效率,還可以為塔臺員工提供優(yōu)質服務。通過塔機運行管理系統(tǒng)保證飛機和人員調度功能正常運行。通過塔機現(xiàn)場調度信息、飛行計劃、流量動態(tài)控制、雷達通信管理天氣預報以及喚醒服務等功能,可以幫助企業(yè)實現(xiàn)以下3 個目標:1)對塔機進行控制,以提高綜合管理能力。2)有效協(xié)調塔現(xiàn)場調度及機場吞吐量。3)降低航班管理人員的業(yè)務負荷,實現(xiàn)風險管理。