Pelee 移動端實時檢測Backbone

2021-10-06 05:35:27 字數 2322 閱讀 3710

在imagenet資料集上,peleenet只有mobilenet模型的66%,並且比mobilenet精度更高。peleenet作為backbone實現ssd能夠在voc2007資料集上達到76.4%的map。文章總體上參考densenet的設計思路,提出了三個核心模組進行改進,有一定參考價值。

peleenet實際上是densenet的變體,使用的依然是densenet的連線方法,核心的設計原則也和densenet相仿(特徵重用)。

核心模組:

上邊左邊(a)圖是densenet中設計的基本模組,其中k、4k代表filter的個數。右邊(b)圖代表peleenet中設計的基本模組,除了將原本的主幹分支的filter減半(主幹分支感受野為3x3),還新增了乙個新的分支,在新的分支中使用了兩個3x3的卷積,這個分支感受野為5x5。這樣就提取得到的特徵就不只是單一尺度,能夠同時兼顧小目標和大目標。

這種設計和人臉檢測演算法ssh很像,只不過多了乙個跨層連線,下圖是ssh context module:

思想相似,實現略有不同。

這個模組設計受inceptionv4和dsod的啟發,想要設計乙個計算代價比較小的模組。resnet和densenet在第一層都是用的是乙個7x7、stride為2的卷積層,淺層網路的作用是提取影象的邊緣、紋理等資訊,一般。stem block的設計就是打算以比較小的代價取代7x7的卷積。

這個模組可以在幾乎不增加計算量的情況下提公升特徵的表達能力。這部分感受野計算可以參考這篇文章中的公式目標檢測和感受野的總結和想法。

仔細看看上圖展示的結構,先使用strided 3x3卷積進行快速降維,然後用了兩分支的結構,乙個分支用strided 3x3卷積, 另乙個分支使用了乙個maxpool。

這一部分和組合池化非常相似,stem block使用了strided 3x3卷積和最大值池化兩種的優勢引申而來的池化策略(組合池化使用的是最大值池化和均值池化),可以豐富特徵層。

在densenet中,有乙個超引數k-growth rate, 用於控制各個卷積層通道個數,在densenet的瓶頸層中,將其固定為4k,也就是說瓶頸層是增加了模型的計算量,而不是減小模型的計算量。在peleenet中,將瓶頸層的通道個數根據輸入的形狀動態調整,節約了28.5%的計算消耗。

在densenet中,過渡層是用於將特徵圖空間解析度縮小的,並且過渡層中通道數會小於前一層的通道數。在peleenet中將過渡層和前一層通道數設定為一樣的數值。

為了提高速度,採用了conv+bn+relu的組合(而不是densenet中的預啟用組合(conv+relu+bn)), 這樣做是為了方便進行卷積和bn的合併計算,加速推理階段的速度。

用peleenet做backbone優化ssd

peleenet是按照以下結構進行組織的。

消融實驗:

訓練策略採用的是余弦學習率變化,在standford dog和imagenet資料集上進行的訓練。

peleenet相當於是避開了深度可分離卷積的使用,僅僅使用普通的卷積,就讓模型能在移動端裝置上實時執行。

核心創新點主要是two-way dense layer、stem block、resblock。各種對比實驗做得比較充分,**也開源了,官方**大部分是基於caffe的,也有少部分是用pytorch構建的。

總體來說,peleenet創新程度一般,但是作者團隊工程能力很強,實驗非常豐富。peleenet將很多細碎的點融合到一起,最終在移動端裝置上的表現還不錯,也被很多研究輕量化網路的文章用來對比。

net

移動端實時數字識別檢測

最近在做數字檢測與識別,主要檢測識別手機端的數字,裝置為樹莓派3。我在樹莓派上安裝了tesseract ocr,發現檢測數字的速度並不是很快,一串數字識別大概要3 400多毫秒,配上特定環境 檢測的話,至少要1s左右,這個速度要想達到實時檢測是不可能的,因為要想用攝像頭達到實時檢測的效果,每幀識別至...

UE4實時渲染 移動端渲染費率

當材質數量大於16時對幀速率影響較大。2,drawcall數量 想要提高渲染效率,減少drawcall的數量是最直接有效的方法 具體減少drawcall的方式有 1,cull distance volume 剔除距離 2,precompute visibility volume 計算可視性 3,me...

活體檢測在移動端模型部署

首先是前端人臉活體檢測技術,需要支援 android ios 平台,在客戶端通過前端指令,通過眨眼 張嘴 搖頭 點頭等組合動作,確保操作的為真實活體人臉。提取人臉的多處特徵點,分別代表眼睛 耳朵 鼻子 臉頰和嘴巴等主要人臉五官,監測眨眼 微笑 張嘴 左轉 右轉 抬頭 低頭 左擺 右擺等幾個動作。比如...