侯 勇 楊爭爭 薛少輝 翟二寧
(西北機電工程研究所 咸陽 712000)
目標檢測技術是從特定復雜場景中提取并自動識別出感興趣目標的類別和位置坐標信息,目前已經被廣泛應用于視頻監控、目標跟蹤和軍事偵察等領域。鑒于傳統的目標檢測算法均存在識別準確率低、跨平臺移植性和魯棒性較差等問題,在分類任務上大放異彩的深度學習技術已成為該研究任務的主要手段。目前基于深度學習技術的目標檢測算法主要劃為兩類:一類是先提取候選區域再進行目標檢測的雙步式(Two-stage)檢測,另一類是設計端到端網絡直接進行回歸預測的單步式(One-stage)檢測[1]。
其中,雙步式目標檢測方法分兩步進行,第一步采用選擇性搜索算法大致檢測出目標區域的所在位置,第二步對目標區域位置采取精細化后再進行全局整合。這類最具代表性的算法是RCNN[2]、Fast-RCNN[3]和Faster-RCNN[4],也被稱為RCNN 系列檢測算法。
由于該類算法采取了較為精細化的目標區域特征提取方式,相較于傳統使用滑窗遍歷提取特征進行目標識別的算法,其在檢測準確度和速度上都有了較大的進步。但由于其檢測過程需要兩個步驟,而導致計算量較大,耗時較長,無法滿足實時性需求。隨后,相關研究者提出了基于回歸的單步式檢測方法。
單步式檢測方法采用端到端式網絡結構僅需要一步就可以完成整個目標檢測流程。單階段代表性檢測方法包括:SSD[5]、YOLO 系列[6~9]。該類算法不再預先進行目標候選區域的預測,而是直接通過網絡回歸的方式輸出待測目標的類別與位置坐標信息。相比較雙步式目標檢測方法,該類算法采用的端到端式檢測流程大幅度地提高了檢測效率。同時,在該類以檢測速度著稱的算法中,YOLO算法取得了非常好的目標檢測效果,并且在很多場景中已經實現了工程化落地應用[10~13]。并且提出團隊對該算法進行了系列優化,本工作中使用已經工程化應用的YOLOv3 算法來進行輕量化目標檢測任務的訓練學習,并將訓練好的模型部署在百度EdgeBoard 計算盒上,實現輕量化檢測模型的嵌入式終端落地應用。
本文基于百度EdgeBoard-FZ9B 邊緣AI 計算盒進行深度目標檢測模型的部署,該計算盒基于Xilinx Zynq UltraScale 和MPSoCs開發平臺打造,采用Xilinx FPGA 核心處理器將多核ARM Cortex-A53 和FPGA 可編程邏輯集成在一顆芯片上,并在此基礎上搭載了豐富的外部接口和設備[14]。
百度EdgeBoard 邊緣AI 計算盒中內含嵌入式FPGA高性能計算卡和深度模型嵌入開發工具包以及AI 模型加速工具包等,具有強悍的終端加速性能。Xilinx FPGA 高性能的加速引擎提供3.6Tops的強大AI 算力,經典分類模型Resnet50 部署在計算盒上實測可達到60FPS處理速度,且用戶可以根據需要輸入百度大腦預置或自定制算法模型。EdgeBoard 邊緣AI 計算盒具有豐富的開發資源:定制化圖像識別開發平臺(EasyDL)、視頻監控開發平臺(EasyMonitor)和開源深度學習平臺(Paddle-Paddle)。如圖1 展示了EdgeBoard AI 計算盒實物圖。

圖1 EdgeBoard AI計算盒實物圖
EdgeBoard 靈活的芯片架構,可適配行業內最前沿、效果最好的算法模型。基于EdgeBoard 打造的軟硬一體化產品,可應用于安防、工業、教育、交通等各個場景。EdgeBoard 計算盒參數指標如表1所示。

表1 EdgeBoard-FZ9B計算盒性能參數
EdgeBoard計算盒基于Linux系統,整個開發過程就是一個Linux應用程序的開發。應用程序獲取視頻輸入,調用預測庫加載模型,調度模型,驅動加速模塊進行計算,加速模型運行,獲得運行結果。EdgeBoard計算盒的軟件架構如圖2所示。

圖2 EdgeBoard邊緣AI計算盒軟件架構
典型圖像識別模型在EdgeBoard-FZ9B 計算盒上的性能數據如表2所示。

表2 典型識別模型在計算盒上的性能數據
YOLOv1 網絡首先提取輸入待測圖像的特征圖并將其劃分成S*S 個網格,然后用每個格子來預測所含目標物體的矩形邊界框、目標所屬類別的概率和置信度。其中,目標邊界框信息包含了五個預測信息,具體包括目標物體的中心位置坐標(x,y),目標的寬w 和高h 以及預測物體邊界框相對于真實目標標注框(Ground Truth)的重合百分比即IOU,也稱為目標預測框的置信度。檢測時,將每個網格所預測目標的類別概率和每一個目標預測邊界框的置信度相乘,就得到了該目標邊界框所屬類別的準確度,如式(1)所示:
上式中,Pr(Class|Object)表示邊界框預測目標類別的信息,Pr(Object)表示預測邊界框內是否含有目標,IOUp表示目標預測邊界框坐標的準確度。YOLO 算法在實際訓練模型時,會選擇網格上與目標物體真實標注框重合百分比即IOU 最大的邊界框來預測目標物體位置信息。
隨著網絡模型的訓練迭代次數增加,檢測精度也在不斷提升。但實際應用中YOLOv1 也顯示出了弊端:
1)因為每個劃分的網格只能預測一個目標類別和兩個矩形邊界框,當存在多個目標中心落入到一個格子的情況時,模型最終檢測的準確度將無法保證。
2)v1 框架中沒有考慮到不同比例尺度大小的預測邊界框設計,需要借助大量數據來支撐模型訓練,嚴重限制了算法模型的泛化能力。
YOLOv2是v1模型的升級版本,v2在v1檢測網絡架構基礎上,優化使用了骨干網絡框架Darknet-19,并去掉了Dropout 機制從而使得整個網絡模型更容易得到充分訓練和收斂。為了進一步減小冗余的模型參數提高計算效率,舍棄了分類任務常使用的全連接層而改用效率更高的全卷積來進行運算。同時,相對于v1 網絡架構,v2 中添加了高效率的anchors 多比例尺度預測框機制,更精細化地預測模型輸出邊界框相較于目標真實標注框的偏移量。在模型訓練時,通過輸入不同尺度大小的圖像來進一步提升模型泛化能力。同時使用了K-means 聚類算法在訓練數據集的真實標注框中產生目標物體對應的先驗框。
相較于v1、v2,YOLOv3 模型整體增加了整個網絡的深度,提出了Darknet53 的骨干網絡框架。其借鑒了ResNet[15]網絡的思想,多次使用了殘差的跳層連接方式,同時為了提取更豐富的高級語義特征信息,V3 網絡中去掉了池化層與全連接層,而是使用步長為2 的卷積操作來替代傳統的池化層對較大特征圖進行下采樣操作。同時結合多尺度預測機制,YOLOv3網絡結構如圖3所示,分別在三種尺度上進行目標檢測,每種尺度的特征圖各產生三個預測框,每個目標框返回四個坐標參數。YOLOv3 使用邏輯回歸判定每個邊界框的目標評分,如果預測框與真值框重疊超過某一閾值,則設置其目標評分為1,最后根據目標評分結果選擇對應的預測框。

圖3 原始YOLOv3網絡結構
為了進一步優化模型參數,提升檢測模型的推理速度,本文將原始骨干網絡Darknet-53 替換為高效的輕量化網絡MobileNetv1[16]。Mobile-Netv1 網絡主要利用點卷積和分組卷積操作來替代原來的標準卷積操作,可以極大地消除網絡中卷積運算部分,從而使得網絡整體計算量和復雜度大大減小。我們將該網絡模型命名為YOLOv3-MobileNetv1,詳細的網絡結構如圖4 所示。

圖4 YOLOv3-MobileNetv1網絡結構
本節對優化后的YOLOv3-MobileNetv1 模型進行訓練和部署,實驗中用到的軟硬件環境如表3 所示。

表3 實驗軟硬件環境
在目標檢測領域,PASCAL VOC 數據集是經典且具有影響力的基準數據集。PASCAL VOC 從2005 年開始舉辦挑戰賽,數據集包含的樣本數量和類別也在不斷完善更新。PASCAL VOC 數據集的層級結構如圖5所示。

圖5 PASCAL VOC數據集層級結構
在本工作中,我們采用VOC2007 數據集來訓練和測試優化后的YOLOv3 網絡。該數據集的樣本統計信息如表4所示。

表4 PASCAL VOC2007數據集統計信息
YOLOv3-MobileNetv1 網絡的目標損失函數如式(2)所示。共分為三部分:坐標預測誤差,置信度預測誤差和類別預測誤差。網絡在預測目標位置時將特征圖劃分為S*S 個網絡,每個網絡又分別產生B 個目標候選框,每個候選框經過迭代優化會得到相應的Bounding Box。

表5 分別定義了YOLOv3-MobileNetv1 網絡訓練過程中的學習率Lr、優化器Optimizer、迭代次數Iter和Batch Size等參數。

表5 網絡訓練配置文件
通常,PASCAL VOC 數據集檢測性能的評價標準為MAP,即數據集中所有類別目標的檢測準確率平均值,本工作中沿用該評價標準。
在PASCAL VOC2007 訓練集上優化好網絡模型后在相應的測試集上進行測試,得到的測試精度MAP為76.2%。
同時,在圖6(a)~6(b)中展示了訓練收斂的模型在PASCAL VOC2007 測試數據集上得到的部分檢測結果。其中,上邊是原始測試圖像,下邊是訓練收斂的YOLOv3-MobileNetv1 模型推理得到的目標檢測結果,檢測結果圖包含了預測目標的類別、置信度和位置坐標等信息。

圖6 測試結果展示
從圖6(a)~6(b)展示的部分測試結果來看,優化后的YOLOv3-MobileNetv1 模型對于行人、風箏等小目標均具有良好的檢測識別效果。
接下來將訓練收斂好的檢測網絡模型部署到EdgeBoard-FZ9B 計算盒上,同時在互聯網上采集了一些飛機、坦克等典型軍事目標圖像,并基于計算盒使用該模型進行檢測,測試結果如圖7(a)~7(b)所示。其中,上邊是原始測試圖像,下邊是計算盒上部署模型推理的檢測結果。

圖7 計算盒部署模型測試結果展示
從圖7(a)~7(b)展示的測試結果來看,計算盒上部署的YOLOv3-MobileNetv1 模型對于飛機、坦克等典型軍事目標圖像均具有良好的檢測識別效果。
近年來,目標檢測技術廣泛應用于視頻監控、目標動態跟蹤和軍事偵察等多個領域。本文首先對先進的YOLOv3 目標檢測模型進行了輕量型優化,將骨干網絡Darknet-53 替換為更為高效的MobileNetv1網絡,極大地縮減了網絡模型的參數和計算量。之后基于經典的PASCAL VOC2007 圖像目標檢測數據集對YOLOv3-MobileNetv1 模型進行了充分訓練,并在相應的測試集上取得了76.2%的高識別準確度。之后將訓練收斂的模型部署在百度EdgeBoard-FZ9B AI 計算盒上,并采集了部分互聯網上的圖像進行測試。實驗結果表明優化后的YOLOv3-MobileNetv1 檢測模型具有優良的目標識別性能,并可以高效地部署到嵌入式終端以實現目標識別技術的落地應用。但同時由于PASCAL VOC數據集的訓練樣本有限,在一定程度上限制了模型的最終識別性能。在下一步研究工作中,可以進一步采取一些手段來擴充訓練的數據樣本量,并通過充分訓練來獲取準確率更高的深度檢測模型,以更高效地部署到嵌入式終端。