為了應對這一挑戰,我們提出了一個名為Fast YOLO的新框架,該框架通過兩個關鍵策略加速YOLOv2在嵌入式設備視頻中的實時目標檢測。首先,由ShafiEe等證明的結果,我們利用進化深度智能框架的方法來進化YOLOv2網絡架構,並產生一個優化的架構(在這里稱為O-YOLOv2),它具有明顯更少的參數,同時保持強大的檢測性能。其次,在所提出的Fast YOLO框架中引入了運動自適應推理方法,以減少基於時間運動特征的O-YOLOv2深度推理的頻率。這兩種策略的結合產生了一種對象檢測框架,不僅提高了視頻的實時嵌入式目標檢測的速度,使其在有限的計算能力,內存和功耗的嵌入式設備上能夠運行。本文的結構如下。在第2節中,詳細介紹了Fast YOLO背后的方法。展示快速YOLO效率的實驗結果在第3節中給出,並在第4節中得出結論。
2 Methodology
所提出的Fast YOLO框架分為兩個主要組件:i)優化的YOLOv2架構,以及ii)運動自適應推理(見Figure 1)。 對於視頻每一幀,由視頻幀與參考幀組成的圖像棧被傳遞到1×1卷積層。 卷積層的結果是運動概率映射,然后將其饋送到運動自適應推斷模塊以確定是否需要深度推斷來計算更新的類別概率映射。 正如Introduction中提到的,主要目標是引入視頻中的對象檢測框架,可以在嵌入式設備上更快地執行操作,同時減少資源使用,進而顯着降低功耗。 通過利用這種運動自適應推理方法,深度推斷的頻率大大降低,並且僅在必要時才執行。

2.1 Optimized Network Architecture
深度神經網絡的主要挑戰之一,尤其是在將它們用於嵌入式場景時,主要體現在網絡架構設計中。設計過程通常由人類專家來完成,他探索大量的網絡配置,從而在建模精度和參數數量方面為特定任務尋找最佳架構。目前通常將尋找優化網絡架構作為超參數優化問題來解決,但這種解決該問題的方法非常耗時且大多數方法對於大型網絡架構而言在計算上難以處理,或者導致次優解決方案不足以應用到嵌入式系統中。例如,超參數優化的常用方法是網格搜索,其中檢查大范圍的不同網絡配置,然后選擇最佳配置作為最終網絡架構。然而,為了視頻中的對象檢測而設計的深度神經網絡(例如YOLOv2)具有大量的參數,因此在計算上不易搜索整個參數空間以找到最優解。因此,我們不是利用超參數優化方法來獲得基於YOLOv2的最佳網絡架構,而是利用專門設計的用於提高網絡效率的網絡優化策略。特別是,我們利用進化深度智能框架來優化網絡架構,以合成一個滿足嵌入式設備內存和計算能力限制的深度神經網絡。
在進化深度智能框架中,深層神經網絡的建築特征通過概率遺傳編碼建模策略建模。具體而言,以這種方式產生的概率“DNA”編碼在網絡架構內存在所有可能的突觸的概率。然后利用祖先網絡(模仿遺傳)的概率“DNA”以及環境因素以隨機方式(模仿自然選擇和隨機突變)合成新的后代深度神經網絡。這種編碼和合成過程是一代一代重復的,隨着時間的推移會產生越來越有效的深度神經網絡。這種方法的一個關鍵優勢是,與超參數優化方法不同,需要評估大量可能的解決方案,這是顯着減少的,因此顯着降低了尋找最佳網絡架構的計算復雜性。
為了利用演化深度智能框架獲得基於YOLOv2的優化網絡體系結構,以實現視頻嵌入式對象檢測,我們考慮到計算能力和可用內存在嵌入式設備上受到很大限制的事實。 因此,我們配置網絡合成過程中使用的環境因素,使得網絡結構中的參數數量在每一代都大大減少,因為參數的數量是深度神經網絡計算和存儲要求的主要因素。
使用這種方法,我們可以自動找到基於YOLOv2(我們將稱之為O-YOLOv2)的優化網絡體系結構,該體系結構與原始YOLOv2網絡體系結構相比,包含的參數少了約2.8倍。 運行這種優化的深度神經網絡不僅大大降低了計算和內存的需求,而且還降低了處理器單元的功耗,這對於嵌入式設備非常重要。
2.2 Motion-adaptive Inference
為了進一步降低視頻中嵌入對象檢測的處理器單元的功耗,我們利用並非所有捕獲的視頻幀都包含唯一信息這一事實,因此不需要在所有幀上執行深入推理。 因此,我們引入運動自適應推理方法來確定特定視頻幀是否需要深度推斷。 通過在必要時使用前面章節中介紹的O-YOLOv2網絡進行深入推理,該運動自適應推理技術可以幫助框架減少對計算資源的需求,從而顯着降低系統的功耗以及 處理速度的提高。
運動自適應推理過程可以在Figure 1中看到。每個幀與參考幀Iref堆疊在一起形成一個圖像堆棧。 然后在圖像堆棧上執行1×1卷積層以產生運動概率圖。 運動概率映射連同框架It一起被傳遞到運動自適應推理模塊,該模塊確定框架與參考框架相比是否足夠獨特,以確保深度推理計算新的類別概率圖。 如果模塊確定需要進行深度推理,則使用O-YOLOv2網絡來計算更新的類別概率圖,然后將它和更新的圖分別存儲為Iref和參考概率圖。 在運動自適應推理模塊確定幀It不需要深度推斷的情況下,所存儲的參考類概率圖被直接使用而不在幀It上執行O-YOLOv2。
通過利用這個簡單而有效的過程,只有需要深度推理的幀才能被處理,這不僅降低了功耗,而且還減少了每幀的平均運行時間,並且可以為靜止的或頻繁發生微小變化的環境提供更快的框架。
3 Results & Discussion
對提出的Fast-YOLO框架使用兩種不同的策略進行評估。 首先,我們評估優化的YOLOv2(即O-YOLOv2)網絡架構在Pascal VOC 2007數據集上的原始YOLOv2網絡架構的建模精度和性能,以演示網絡架構優化過程的有效性。 Table 1顯示了O-YOLOv2與Pascal VOC數據集上原始YOLOv2之間的架構和性能比較。 可以觀察到,與原始YOLOv2相比,O-YOLO網絡架構小2.8倍,IOU僅下降2%,這對真實世界的基於視頻的對象檢測應用幾乎沒有影響。

其次,提出的Fast YOLO框架,O-YOLOv2和原始YOLOv2是根據的視頻在Nvidia Jetson TX1嵌入式系統上的平均運行時間來評估的。 從Table 2可以看出,所提出的快速YOLO框架可以將深度推斷的數量平均減少68.5%,從而導致平均運行時間為56ms,而原始YOLOv2實現的運行時間為184ms(速度約3.3x以上)。

4 Conclusion
在本文中,我們介紹了Fast YOLO,這是一個用於視頻中實時嵌入對象檢測的新框架。 雖然YOLOv2被認為是在強大的GPU上實時推斷的最先進的框架,但它不可能在嵌入式設備上實時使用它。 在這里,我們利用進化深度智能框架,基於YOLOv2生成優化的網絡架構。 優化的網絡架構被用於運動自適應推理框架內,以加速檢測過程並降低嵌入式設備的能耗。 實驗結果表明,所提出的Fast YOLO框架的平均運行時間比原來的YOLOv2快3.3倍,平均可以減少38.13%的深層推理,並且具有約小2.8x的網絡結構。