999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于深度學習的實時人臉檢測

2021-05-17 06:52:48郭昕剛屈諾希
長春工業(yè)大學學報 2021年2期
關鍵詞:檢測方法模型

郭昕剛, 屈諾希, 楊 洛

(長春工業(yè)大學 計算機科學與工程學院, 吉林 長春 130012)

0 引 言

近幾年來,隨著人工智能領域的飛速發(fā)展,深度學習也得到了極大發(fā)展,已經成為機器學習中主流的分支之一。它的廣泛應用不計其數,隨著研發(fā)者對網絡性能的不斷提升,計算量也隨之增加,運行環(huán)境需要配置很高的顯卡,而幾乎無法在移動端部署。這讓基于深度學習的方法成為產品的進程變得艱難,特別是在一些邊緣設備上,這些設備主要為一些非密集任務而生成,所以在部署的時候會面臨功耗大、時延長的缺陷。很多人選擇將工程部署在服務器端,但是由于計算過多,成本也會上升。其中一種方法是設計各種神經網絡芯片,針對給定的計算任務用特定的硬件加速;而另一個思路則是首先思考模型中所有的計算是否必不可少,如果存在非必要計算,能否通過將模型簡化去縮減計算量和存儲占用。文中所采用的方法就屬于此類,稱為模型壓縮(Model Compression)[1],其可以歸類于軟件方法,應用成本不高,并且和硬件加速可以產生相輔相成的效果。其中模型壓縮又包含了很多方法,如模型剪枝(Pruning)[2]、模型量化(Quantization)[3]、低秩分解(Low-rank factorization)[4]、知識蒸餾(Knowledge distillation)[5]等。每一子類方法根據不同的應用場景部署硬件環(huán)境而選定。

由于深度學習的人臉檢測方法已經越來越成熟,模型性能也越來越完善,同時采用的深度學習神經網絡越來越深,參數量越來越多,如果直接將訓練得到的模型部署到計算資源較少的FPGA[6]移動設備端,不能滿足實時人臉檢測的需求。WIDER FACE[7]是現有評估人臉檢測算法最權威的數據集,WIDER FACE數據集是由香港中文大學發(fā)布的大型人臉數據集,含32 203幅圖像和393 703個高精度人臉包圍框,該庫中人臉包含姿態(tài)、表情、遮擋和光照等不同的狀態(tài)。因此,基于WIDER FACE數據集和原始Retinaface[8]網絡訓練人臉檢測模型進行模型剪枝,減少模型網絡中卷積核數量,從而減少模型參數,并且在FPGA設備端實時運行人臉檢測模型。經過測試,在原有模型精度損失不明顯的情況下,可以在FPGA達到實時檢測速度。

1 基本原理

1.1 Rtinaface原理

Rtinaface網絡改進了基于傳統物體檢測網絡RetinaNet[9],為提高精度增加了SSH[10]網絡的模塊,其中提到三種基礎網絡,基于ResNet[11]的ResNet50和能提供更好精度的ResNet152版本,以及基于mobilenet[12](0.25)的輕量版本。Rtinaface模型網絡結構如圖1所示。

圖1 Rtinaface模型網絡結構

ResNet網絡是微軟研究院提出的,成功運用Residual Unit訓練深度為152層的神經網絡,在ILSVRC 2015比賽中奪冠,結果是3.57%的top5錯誤率,并且參數量要遠低于VGGNet[13]。ResNet結構在極大提高準確率的前提下,還極速訓練超深神經網絡。Residual block通過shortcut connection實現,通過shortcut將block的輸入和輸出進行一個elementFACEwise的加疊,通過這樣一個并不復雜的加法,沒有增加網絡中多余的參數和計算量,卻可以顯著提高模型的訓練速度,并使訓練效果明顯提升,而且如果模型層數加深,此方法也可以在解決退化問題時有很好的表現。殘差單元的兩種結構分別如圖2和圖3所示。

圖2 ResNet34殘差單元結構 圖3 ResNet50/101/152殘差單元結構

這兩種結構分別針對ResNet34(圖2)和ResNet50/101/152(圖3),一般稱整個結構為一個“building block” 。圖3又稱“bottleneck design”,其降低了參數數量,實際中,為節(jié)約計算成本,在殘差塊部分進行了計算優(yōu)化,具體是用1×1+3×3+1×1代替兩個3×3的卷積層(見圖3)。其中3×3卷積層在第一個降維1×1卷積層下減少計算量,并且在第二個1×1卷積層達到還原,不僅沒有損失精度,還減少了計算量。第一個降維1×1卷積層把channel維度從256降低為64維,在第二個1×1卷積恢復,總體用到的參數數目為

1×1×256×64+3×3×64×64+1×1×64×256=69 632,

而不使用bottleneck的話就是兩個3×3×256的卷積,參數數目為

3×3×256×256×2=1 179 648,

差了16.94倍。一般的ResNet可以在34層或34層以下的網絡中應用,而Bottleneck Design的ResNet則可以在更深的網絡中應用,例如101這樣的網絡達到了減少計算和參數量的目的。

1)特征金字塔FPN[14]。RetinaFace運用從第2層到第6層的特征金字塔層,第2層到第5層使用一個自頂而下和橫向連接,用來計算ResNet殘差部分的輸出。然后在第5層處一個步長為2的3×3卷積計算得到第6層。其中第2到第5層的結構為ImageNet數據集上訓練好的ResNet分類網絡,第6層通過“Xavier[15]”隨機初始化得到。

2)上下文模塊(SSH)。使用的是單獨的上下文模塊,達到了在五個特征金字塔層增加感受野和增強剛性上下文建模的能力,并替換掉每一個3×3卷積層,在橫向連接和使用可變形卷積網絡(DCN)的上下文模塊中,更加顯著地提升了非剛性的上下文建模能力。

1.2 模型壓縮方法

濾波器剪枝的關鍵問題是在給定壓縮比條件下選擇不重要的濾波器進行剪枝。為了解決這個組合優(yōu)化問題,大多數研究首先評估濾波器的重要性,然后用一次性的方式對其進行剪枝,或者用迭代的方式對模型進行剪枝再訓練。文中提出過濾剪枝方法來近似地獲得分層最優(yōu)剪枝率,該方法能夠在給定損失變化的情況下剪枝率最大的一層,而不需要費時地剪枝-再訓練迭代。對于整個網絡預定義的剪枝率,該方法無需額外微調就能收斂到特定的剪枝率。通過引入二值搜索方法,使剪枝網絡的整體剪枝率收斂,從而達到剪枝網絡性能和剪枝速度的平衡。該方法可廣泛應用于常見的卷積網絡結構。綜合實驗表明,與現有的剪枝方法相比,文中方法能夠獲得更大的壓縮比和更低的正確率。

ResNet網絡中短連接的分組剪枝方法如圖4所示。

圖4 Resnet網絡中短連接的分組剪枝方法

對于一個階段,每個塊的最后一層在一個組中被修剪在一起,這樣它們就有相同的保留過濾器。黑色表示相應的過濾器被修剪。由于階段a有3個塊,每個塊中的快捷方式為標識連接,因此引入了通道選擇(block1d=1中的channel_select)來屏蔽經過修剪的輸入通道;而階段b有3個block,第一個快捷方式通過卷積向下采樣連接,所以可以在一組中進行修剪。

式中di表示第i塊在一個階段的深度,其中i=[1,2,…,K],K為塊的數量。在剪枝過程中,根據得分排序將組中索引相同的過濾器剪枝在一起。在某些階段,輸入通道直接短連接到塊,因此引入了一個非參數層來進行通道選擇,它的輸出通道布局是復制自組濾波器修剪。同理,Rtinaface網絡中除了resnet后面的FPN和SSH模塊,經過逐層搜索最優(yōu)剪枝率后,將逐層搜索結果連接到剪枝網絡中,然后微調訓練數據集,獲得最終的剪枝網絡模型。

2 實驗與模型部署

2.1 模型剪枝實驗

基于resnet網絡模型剪枝框架,對Retinaface網絡模型進行剪枝,配置文件如圖5所示。

圖5 配置文件

工程入口為 get_start.py,Config/config.yaml配置文件如上,model目前示例為6種不同的基礎網絡,也可設為自己的網絡,type可選sensetivity,prune。其中sensetivity為分析過程,prune為剪枝,流程先sensetivity后prune,即可得到剪枝后的模型。 method目前僅有ours,無需更改。delta_loss為loss的變化閾值,可通過該值的設定獲得不同的壓縮率,一般初始設定為0.01或0.001。save_dir 為分析后生成的文件保存地址,用于后續(xù)剪枝工作。pretrain 為預訓練模型地址。Last_layer 為停止剪枝的最后一層(到該層為止,該層不減),分類網絡一般為最后一個全連接層。對于一些特殊結構,需要手動添加配置,以便剪枝工作的正常進行。在配置文件中增加了4個字段,其中包括downsample、groups、stage和concat。若沒有特殊結構也要加入字段,其值為空。

Retinaface人臉檢測模型壓縮實驗數據見表1。

表1 Retinaface人臉檢測模型壓縮實驗數據 %

Easy_Val_AP、Medium_Val_AP和Hard_Val_AP代表WIDER FACE數據集中人臉圖像檢測難易程度。其中剪枝率為31.81%、43.54%、49.16%,平均精度損失(不同剪枝率下三個子數據集實驗精度與原模型精度的差值平均數)為2.09%、2.64%和2.94%,因此可得剪枝后模型與原模型檢測精度對比,損失不嚴重。

2.2 模型部署及測試

FPGA作為移動設備硬件加速器在各個領域被廣泛用于AI推斷,研究嵌入式多核環(huán)境下最大化SOC系統硬件資源和計算性能的方法,包括CHaiDNN開源框架和DNNDK閉源框架;研究CHaiDNN 框架下自適應處理機制和硬件函數拆分與優(yōu)化方法;研究基于DNNDK支持深度學習和其他功能加速的調度策略;研究匹配任務調度的多尺寸DPU設計方法,最大化FPGA的資源利用率。

本次模型部署主要利用DPU在FPGA7020上做并行加速。將基于pytorch框架訓練的人臉檢測模型壓縮,然后化為開發(fā)應用較為成熟的Caffe模型,包括模型參數文件、模型網絡描述文件(模型結構)以及矯正數據集(其中選取訓練數據集中500張圖像作為矯正數據集)。利用DECNET對模型進行量化,利用DNNC進行編譯,最后得到可執(zhí)行文件,利用WIDER FACE數據集中測試集人臉圖像在FPGA(DPU)端測試模型,得出檢測推理時間,見表2。

表2 不同的壓縮率模型推理速度

可見剪枝率為43.54%的模型,推理速度為39 ms,可以達到實時運行。

在FPGA(DPU)上檢測人臉效果與置信度如圖6所示。

圖6 人臉檢測效果與置信度

3 結 語

在FPGA上實時運行的人臉檢測方法能夠更好地解決基于pytorch框架以及Retinaface網絡訓練人臉檢測模型參數量大,無法在FPGA邊緣側端實時運行這一問題,使用模型壓縮方法對人臉檢測模型進行剪枝,部署在FPGA上,經過一系列仿真實驗后,對實驗數據分析可以得出,壓縮后的模型在保持檢測精度損失很小的情況下可以在PFGA上達到實時運行,充分說明了文中方法的有效性。

猜你喜歡
檢測方法模型
一半模型
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
小波變換在PCB缺陷檢測中的應用
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
主站蜘蛛池模板: 色久综合在线| 久久www视频| 欧美啪啪精品| AV色爱天堂网| 欧美综合在线观看| 精品少妇人妻无码久久| 香蕉蕉亚亚洲aav综合| 亚洲无码高清免费视频亚洲| 幺女国产一级毛片| 噜噜噜久久| 午夜精品久久久久久久99热下载| 日韩欧美色综合| 精品视频福利| 亚洲成人在线播放 | 亚洲第七页| 色偷偷综合网| 亚洲Va中文字幕久久一区 | 黄色成年视频| 久久香蕉国产线看观看精品蕉| 国产欧美视频在线| 亚洲一区二区精品无码久久久| 亚洲,国产,日韩,综合一区| 国产一区二区三区免费观看| 伊人91视频| 国产玖玖视频| 欧美啪啪网| 最近最新中文字幕在线第一页 | 婷婷成人综合| 亚洲一区二区三区在线视频| 98超碰在线观看| 成人福利在线视频免费观看| 日韩麻豆小视频| 久久国产成人精品国产成人亚洲 | 国产美女免费网站| 欧美日本激情| 亚洲第一成年人网站| 成人夜夜嗨| 丁香婷婷综合激情| 91精品专区国产盗摄| 乱系列中文字幕在线视频| 精品無碼一區在線觀看 | 欧美特黄一级大黄录像| 国产精品女在线观看| 99爱视频精品免视看| 欧美激情视频一区| 欧美日本在线观看| 国产亚洲视频播放9000| 1024你懂的国产精品| 欧美日韩中文国产va另类| 免费观看国产小粉嫩喷水| 露脸一二三区国语对白| 在线观看国产精品日本不卡网| 一级一级特黄女人精品毛片| 在线观看国产黄色| 农村乱人伦一区二区| 2024av在线无码中文最新| 久久综合色天堂av| 五月婷婷欧美| 精品自窥自偷在线看| 亚洲国产天堂在线观看| 国产在线欧美| 亚洲精品图区| 国产真实乱子伦视频播放| 99热国产在线精品99| 亚洲a免费| 99久久国产综合精品2020| 日本在线亚洲| 亚洲综合经典在线一区二区| 国产爽歪歪免费视频在线观看| 99热这里只有免费国产精品| 亚洲视屏在线观看| 91网址在线播放| 亚洲欧美激情小说另类| 高清无码手机在线观看| 国产97公开成人免费视频| 好吊妞欧美视频免费| 欧美中文字幕无线码视频| 欧美日韩va| 国产成人精品18| 19国产精品麻豆免费观看| 亚洲av无码牛牛影视在线二区| 国产香蕉在线|