【深度學習 video detect】Towards High Performance Video Object Detection for Mobiles

文章目錄

  • 摘要
  • Introduction
  • Revisiting Video Object Detection Baseline
    • Practice for Mobiles
  • Model Architecture for Mobiles
    • Light Flow

摘要

盡管在桌面GPU上取得了視頻目標檢測的最近成功,但其架構對于移動設備來說仍然過于沉重。目前尚不清楚在非常有限的計算資源下,稀疏特征傳播和多幀特征聚合的關鍵原則是否適用。在本文中,我們提出了一種適用于移動設備的輕量級視頻目標檢測網絡架構。我們在稀疏關鍵幀上應用了輕量級圖像目標檢測器。設計了一個非常小的網絡,名為Light Flow,用于在幀之間建立對應關系。我們還設計了一個流引導的GRU模塊,以有效地聚合關鍵幀上的特征。

對于非關鍵幀,進行了稀疏特征傳播。整個網絡可以端到端地進行訓練。所提出的系統在移動設備上(例如華為Mate 8)以25.6 fps的速度在ImageNet VID驗證集上實現了60.2%的mAP分數。

在這里插入圖片描述

Introduction

近年來,利用深度神經網絡進行目標檢測取得了顯著的進展[1]。一般趨勢是構建更深、更復雜的目標檢測網絡[2,3,4,5,6,7,8,9,10,11],以達到更高的準確性。然而,這些提高準確性的進展未必能使網絡在尺寸和速度方面更加高效。在許多實際應用中,如機器人、自動駕駛汽車、增強現實和移動手機等,目標檢測任務需要在計算資源有限的平臺上實時執行。

最近,越來越多的人開始關注構建非常小、低延遲的模型,以便輕松適應移動和嵌入式視覺應用的設計要求,例如SqueezeNet [12]、MobileNet [13] 和ShuffleNet [14]。這些結構是通用的,但并非專門為目標檢測任務設計。為此,已經探索了一些適用于靜態圖像目標檢測的小型深度神經網絡架構,如YOLO [15]、YOLOv2 [11]、Tiny YOLO [16] 和Tiny SSD [17]。然而,直接將這些檢測器應用于視頻面臨新的挑戰。首先,在所有視頻幀上應用深度網絡會帶來無法承受的計算成本。其次,識別準確度會受到視頻中很少在靜止圖像中觀察到的惡化外觀的影響,如運動模糊、視頻散焦、罕見的姿勢等。

為了解決這些問題,當前的最佳實踐[19,20,21]利用了時間信息來加速和提高視頻的檢測準確性。一方面,在[19,21]中使用稀疏特征傳播來節省大部分幀上昂貴的特征計算。在這些幀上的特征從稀疏的關鍵幀傳播而來。另一方面,在[20,21]中進行了多幀特征聚合,以提高特征質量和檢測準確性。

基于這兩個原則,最新的工作[21]在桌面GPU上實現了很好的速度-準確性權衡。然而,該架構對于移動設備來說并不友好。例如,作為特征傳播和聚合的關鍵和共同組成部分,流估計在移動設備上的實時計算需求仍然遠遠不夠。具有長期依賴性的聚合也受到移動設備有限運行時內存的限制。

本文描述了一種適用于移動設備的輕量級視頻目標檢測網絡架構。它主要基于兩個原則——在大多數非關鍵幀上傳播特征,同時在稀疏的關鍵幀上計算和聚合特征。然而,我們需要仔細重新設計這兩個結構,以考慮速度、尺寸和準確性。在所有幀上,我們提出了Light Flow,一個非常小的深度神經網絡,用于估計特征流,可在移動設備上立即使用。在稀疏關鍵幀上,我們提出了基于流引導的門控循環單元(GRU)特征聚合,這是在內存有限的平臺上的有效聚合。此外,我們還利用了輕量級圖像目標檢測器來在關鍵幀上計算特征,其中使用了先進而高效的技術,如深度可分離卷積 [22] 和Light-Head R-CNN [23]。

所提出的技術統一為一個端到端的學習系統。全面的實驗表明,該模型穩步推進了性能(速度-準確性權衡)的界限,朝著在移動設備上實現高性能的視頻目標檢測前進。例如,我們在移動設備上(例如華為Mate 8)以25.6幀每秒的速度,在ImageNet VID驗證集上實現了60.2%的mAP分數。它比先前在快速目標檢測方面的最佳努力速度快一個數量級,并且準確性相當(見圖1)。據我們所知,我們首次在移動設備上實現了具有合理準確性的實時視頻目標檢測。

Revisiting Video Object Detection Baseline

在靜態圖像中的目標檢測在近年來利用深度卷積神經網絡(CNN)取得了顯著的進展[1]。最先進的檢測器共享相似的網絡架構,包括兩個概念步驟。第一個步驟是特征網絡,它通過一個完全卷積的主干網絡[24,25,26,27,28,29,30,13,14]從輸入圖像I中提取一組卷積特征圖F,表示為Nf eat(I) = F。第二個步驟是檢測網絡,它通過在特征圖F上執行區域分類和邊界框回歸,使用多分支子網絡生成檢測結果y,可以是針對稀疏物體提案[2,3,4,5,6,7,8,9]或密集滑動窗口[10,15,11,31],即Ndet(F) = y。

它是隨機初始化并與Nf eat一起進行訓練。

將這些檢測器直接應用于視頻目標檢測面臨兩個方面的挑戰。就速度而言,將單一圖像檢測器應用于所有視頻幀并不高效,因為主干網絡Nf eat通常較深且較慢。

就準確性而言,檢測準確性會受到視頻中很少在靜態圖像中觀察到的惡化外觀的影響,如運動模糊、視頻散焦、罕見的姿勢。

目前的最佳實踐[19,20,21]通過稀疏特征傳播和多幀特征聚合分別利用時間信息來解決速度和準確性問題。

稀疏特征傳播 由于連續幀之間的內容之間存在很強的關聯性,不必在大多數幀上進行詳盡的特征提取計算。深度特征流[19]提供了一種高效的方法,它僅在稀疏的關鍵幀(例如每10幀)上計算昂貴的特征網絡,并將關鍵幀特征圖傳播到大多數非關鍵幀,從而實現了5倍的速度提升,但準確性略微降低。

在推斷過程中,任何非關鍵幀i上的特征圖都是通過從其前面的關鍵幀k傳播而來的,即:

在這里插入圖片描述
多幀特征聚合 為了提高檢測準確性,流導引特征聚合(FGFA)[20]從附近的幀中聚合特征圖,這些特征圖通過估計的光流進行了很好的對齊。

在幀i上的聚合特征圖 ?Fi 是通過加權平均附近幀的特征圖得到的,其表達式為:
在這里插入圖片描述
在這里插入圖片描述
為了避免在所有幀上進行密集的聚合,[21] 提出了稀疏遞歸特征聚合,僅在稀疏的關鍵幀上操作。這種方法保留了聚合的特征質量,同時降低了計算成本。

具體而言,在連續的兩個關鍵幀 k 和 k0 上,幀 k0 上的聚合特征被計算為:

在這里插入圖片描述

Practice for Mobiles

由于稀疏特征傳播和多幀特征聚合這兩個原則在桌面GPU上產生了最佳實踐,以實現高性能(速度和準確性的權衡)的視頻目標檢測[21]。然而,在移動設備上的計算能力和運行時內存非常有限,因此需要探索適用于移動設備的原則。

  • 特征提取和聚合僅在稀疏的關鍵幀上操作,而在大多數非關鍵幀上執行輕量級特征傳播。
  • 流估計是特征傳播和聚合的關鍵。然而,在[19、20、21]中使用的流網絡Nf low在移動實時處理方面仍然遠遠不夠。具體而言,FlowNet [32] 在相同的輸入分辨率下是MobileNet [13] 的11.8倍FLOPs。即使在[19]中使用的最小的FlowNet Inception也多了1.6倍的FLOPs。因此,需要更加輕量級的Nf low。
  • 特征聚合應該在根據光流對齊的特征圖上進行操作。否則,由于大目標運動引起的位移會導致聚合嚴重錯誤。聚合中的長期依賴也是受歡迎的,因為可以融合更多的時間信息以獲得更好的特征質量。
  • 單張圖像檢測器的主干網絡應盡可能小,因為我們需要它來計算稀疏關鍵幀上的特征。

Model Architecture for Mobiles

基于上述原則,我們設計了一個更小的移動視頻目標檢測網絡架構。推理管道如圖2所示。

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

接下來,我們將介紹兩種專門為移動設備設計的新技術,包括Light Flow,一種更有效的移動設備流量網絡,以及一種基于流導向GRU的特征聚合,用于更好地建模長期依賴關系,從而獲得更好的質量和準確性。

Light Flow

FlowNet [32]最初是為像素級光流估計而提出的。它設計為編碼-解碼模式,后面是多分辨率光流預測器。兩個輸入的RGB幀被連接在一起形成一個6通道的輸入。在編碼器中,通過一系列卷積層,輸入被轉換成在空間維度上縮小到輸入大小的1/64的特征圖束。在解碼器中,特征圖被饋送到多個反卷積層,以實現高分辨率的光流預測。在每個反卷積層之后,特征圖與編碼器中的最后特征圖連接在一起,它們具有相同的空間分辨率和上采樣的粗糙光流預測。每個解碼器中連接的特征圖后面跟隨多個光流預測器。對每個預測器應用損失函數,但在推斷過程中僅使用最精細的預測。

為了極大地加速流網絡Nf low,我們提出了Light Flow,它是一個基于FlowNet [32]進行若干有意設計的輕量級流網絡。它在準確性方面只會帶來輕微的降低(端點誤差增加了15%),但在理論上速度提高了近65倍(見表2)。
在編碼器部分,卷積始終是計算的瓶頸。受MobileNet [13]的啟發,我們將所有的卷積替換為3×3的深度可分離卷積[22](每個3×3的深度可分離卷積后面跟著一個1×1的點卷積)。與標準的3×3卷積相比,3×3深度可分離卷積的計算成本減少了8~9倍,而準確性略有降低[13]。

在解碼器部分,每個反卷積操作都被最近鄰上采樣和隨后的深度可分離卷積所取代。[33]用最近鄰上采樣代替了反卷積,然后是標準卷積,以解決反卷積引起的棋盤狀偽影。相比之下,我們借鑒了這個想法,進一步將標準卷積替換為深度可分離卷積,以減少計算成本。

最后,我們采用了一種簡單有效的方式來考慮多分辨率的預測。這受到了FCN [34]的啟發,FCN在明確的求和方式下融合了多分辨率的語義分割預測作為最終預測。

與[32]不同,我們在推斷過程中不僅使用最精細的光流預測作為最終預測。相反,多分辨率的預測被上采樣到與最精細預測相同的空間分辨率,然后求平均作為最終預測。此外,在訓練期間,僅對平均光流預測應用單個損失函數,而不是在每個預測之后應用多個損失函數。這種方法可以將端點誤差減少近10%。

Light Flow的網絡架構和實現在表1中進行了說明。每個卷積操作之后都跟隨批量歸一化[35]和Leaky ReLU非線性變換[36],斜率固定為0.1。與[32,37]類似,Light Flow在Flying Chairs數據集上進行了預訓練。在訓練Light Flow時,使用Adam [38]作為優化方法,權重衰減為0.00004。在4個GPU上進行了70k次迭代,每個GPU持有64個圖像對。

采用了熱身學習率策略,首先訓練學習率為0.001的模型進行10k次迭代。然后使用學習率為0.01進行20k次迭代,并在每10k次迭代后將學習率除以2。

在將Light Flow應用于我們的方法時,為了進一步提速,進行了兩個修改。首先,與[19,20,21]一樣,Light Flow應用于輸入分辨率為特征網絡的一半,并且輸出步幅為4的圖像。由于特征網絡的輸出步幅為16,流場被下采樣以匹配特征圖的分辨率。其次,由于Light Flow非常小,計算量與檢測網絡Ndet相當,因此在檢測網絡的中間特征圖上應用稀疏特征傳播(參見第3.3節,RPN [5]中的256維特征圖和Light-Head R-CNN [23]中的490維特征圖),以進一步減少非關鍵幀的計算量。

后面略

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/35793.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/35793.shtml
英文地址,請注明出處:http://en.pswp.cn/news/35793.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

QT的界面切換

QT的界面切換 步驟一: 創建一個新的 ui 界面

使用基于jvm-sandbox的對三層嵌套類型的改造

使用基于jvm-sandbox的對三層嵌套類型的改造 問題背景 先簡單介紹下基于jvm-sandbox的imock工具,是Java方法級別的mock,操作就是監聽指定方法,返回指定的mock內容。 jvm-sandbox 利用字節碼操作和自定義類加載器的技術,將原始方法…

【JVM】CPU飆高排查方案與思路

文章目錄 CPU飆高排查方案與思路 CPU飆高排查方案與思路 1.使用top命令查看占用cpu的情況 2.通過top命令查看后,可以查看是哪一個進程占用cpu較高,上圖所示的進程為:40940 3.查看進程中的線程信息 4.可以根據進程 id 找到有問題的線程&a…

掛載 IK 分詞器至 Elasticsearch Docker 容器 - Docker Docker Compose 教程

簡介 本博客將講解如何在 Docker 和 Docker-Compose 中運行 Elasticsearch,并掛載 IK 分詞器。 步驟 一、快速運行Elasticsearch:8.1.3 1.首先,我們需要創建一個新的 Docker 網絡:"elastic"。這個網絡會提供給我們接下來所要創…

Ceph分布式存儲系統優化分析

Ceph支持多種存儲訪問接口,現有的多種性能測試工具都可用于Ceph的性能測試,如測試塊接口性能的fio,iometer等;測試CephFS接口的filebench,fio等;測試對象接口的cosbench等。Ceph有專用的基準測試集CBT,其包…

1. VisionOS平臺介紹

介紹 VisionOS 可實現與現實世界無縫集成并與其他虛擬內容共存的 3D 多任務體驗。這為個人生產力、生活方式和娛樂應用打開了一個充滿新可能性的世界,并為開發人員打開了一個全新的市場。然而,它也帶來了圍繞多任務處理和與身體互動的新挑戰。Unity Poly…

【數據結構與算法】十大經典排序算法-插入排序

🌟個人博客:www.hellocode.top 🏰Java知識導航:Java-Navigate 🔥CSDN:HelloCode. 🌞知乎:HelloCode 🌴掘金:HelloCode ?如有問題,歡迎指正&#…

云原生應用場景及交付部署

云原生是一種軟件架構和開發方式,旨在支持在云環境中構建、部署和管理應用程序。它是為了克服傳統應用程序在云環境中所面臨的挑戰而提出的一種方法。云原生應用場景廣泛,以下是一些常見的云原生應用場景,并提供了一些詳細解釋: …

第57步 深度學習圖像識別:CNN可視化(Pytorch)

基于WIN10的64位系統演示 一、寫在前面 由于不少模型使用的是Pytorch,因此這一期補上基于Pytorch實現CNN可視化的教程和代碼,以SqueezeNet模型為例。 二、CNN可視化實戰 繼續使用胸片的數據集:肺結核病人和健康人的胸片的識別。其中&…

問DAO成都丨CyberDAO共識會議在成都圓滿落幕

過往匆匆,唯有共識綿延;未來已來,愿與智者同謀。2023年8月9日至8月10日,CyberDAO共識會議在成都市大邑縣順利召開,吸引了上百名Web3.0與元宇宙愛好者參與本次會議。CyberDAO大中華區運營團隊合伙人JR、漫威、安祈、可樂…

【0.1】lubancat魯班貓4刷入debian網絡ping 域名不通問題

目錄 1. 環境2. 操作步驟 1. 環境 lubancat4魯班貓4 (4G0)不帶emmc系統鏡像lubancat-rk3588-debian11-gnome-20230807_update.img官方資料地址https://doc.embedfire.com/products/link/zh/latest/linux/ebf_lubancat.html 2. 操作步驟 從官網給的百度網盤下載linux系統全部…

10、雜項:遍歷指定目錄計算文件的md5并輸出到文件

目錄 🍅點擊這里查看所有博文 隨著自己工作的進行,接觸到的技術棧也越來越多。給我一個很直觀的感受就是,某一項技術/經驗在剛開始接觸的時候都記得很清楚。往往過了幾個月都會忘記的差不多了,只有經常會用到的東西才有可能真正記…

【Rust】Rust學習 第十一章編寫自動化測試

Rust 是一個相當注重正確性的編程語言,不過正確性是一個難以證明的復雜主題。Rust 的類型系統在此問題上下了很大的功夫,不過它不可能捕獲所有種類的錯誤。為此,Rust 也在語言本身包含了編寫軟件測試的支持。 編寫一個叫做 add_two 的將傳遞…

[C++ 網絡協議編程] TCP/IP協議

目錄 1. TCP/IP協議棧 2. TCP原理 2.1 TCP套接字中的I/O緩沖 2.2 TCP工作原理 2.2.1 三次握手(連接) 2.2.2 與對方主機的數據交換 2.2.3 四次握手(斷開與套接字的連接) TCP(Transmission Control Protocol傳輸控…

無涯教程-Perl - ref函數

描述 如果EXPR為引用,則此函數返回真值;如果未提供EXPR,則為$_。返回的實際值還定義了引用所引用的實體的類型。 內置類型為- REFSCALARARRAYHASHCODEGLOBLVALUEIO::Handle 如果使用bless()函數為變量設置了祝福,則將返回新的數據類型。新的數據類型通常將是一個…

比較編程語言C和Go

使用一個簡單的計數程序來比較古老的C語言和現代的Go語言。Go是一種現代的編程語言,它在很大程度上源自C語言。因此,對于任何使用C語言編寫程序的人來說,Go可能會感覺很熟悉。Go使得編寫新程序變得容易,同時又讓C程序員感到熟悉&a…

大數據-玩轉數據-Flink 自定義Sink(Mysql)

一、說明 如果Flink沒有提供給我們可以直接使用的連接器,那我們如果想將數據存儲到我們自己的存儲設備中,mysql 的安裝使用請參考 mysql-玩轉數據-centos7下mysql的安裝 創建表 CREATE TABLE sensor (id int(10) ) ENGINEInnoDB DEFAULT CHARSETutf8二…

二 根據用戶行為數據創建ALS模型并召回商品

二 根據用戶行為數據創建ALS模型并召回商品 2.0 用戶行為數據拆分 方便練習可以對數據做拆分處理 pandas的數據分批讀取 chunk 厚厚的一塊 相當大的數量或部分 import pandas as pd reader pd.read_csv(behavior_log.csv,chunksize100,iteratorTrue) count 0; for chunk in …

DNS協議及其工作原理

DNS是域名系統(Domain Name System)的縮寫,它是一種用于將域名轉換為IP地址的分布式數據庫系統。它是因特網的基石,能夠使人們通過域名方便地訪問互聯網,而無需記住復雜的IP地址。 DNS的歷史可以追溯到1983年&#xf…

4個簡化IT服務臺任務的ChatGPT功能

最近幾個月,ChatGPT 風靡全球,這是一個 AI 聊天機器人,使用戶能夠生成腳本、文章、鍛煉圖表等。這項技術在各行各業都有無窮無盡的應用,在本文中,我們將研究這種現代技術如何幫助服務臺團隊增強服務交付和客戶體驗。 什…