国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

輕量化神經(jīng)網(wǎng)絡和哈希跟蹤算法在嵌入式人臉抓拍系統(tǒng)中的應用

2021-02-24 08:50:28許庚林史華康郭愛英
上海大學學報(自然科學版) 2021年6期
關鍵詞:哈希人臉準確率

許庚林, 冉 峰, 鄧 良, 史華康, 郭愛英

(上海大學微電子研究與開發(fā)中心, 上海 200444)

隨著現(xiàn)代社會的發(fā)展, 嵌入式人臉抓拍設備在新零售場景和監(jiān)控安防等領域具有廣泛的應用價值.人臉抓拍是在攝像頭視頻流數(shù)據(jù)中挑選每個行人最佳人臉并確定其身份的過程, 其步驟分為人臉檢測、人臉跟蹤、最佳人臉提取和人臉識別.

人臉檢測是人臉抓拍的基礎.2015 年Ren等[1]提出了Faster R-CNN(convolutional neural network)檢測算法, 該算法利用卷積神經(jīng)網(wǎng)絡提取圖像特征, 同時提出區(qū)域生成網(wǎng)絡(region proposal network, RPN)提取候選框, 大幅加快網(wǎng)絡計算速度;同年, He等[2]針對CNN 網(wǎng)絡梯度存在消失的問題, 提出了殘差神經(jīng)網(wǎng)絡(residual neural network, ResNet)算法, 該算法依靠150 層的網(wǎng)絡深度學習, 得到更深層抽象的特征, 分類能力更強;2016 年Zhang等[3]提出了多任務級聯(lián)卷積神經(jīng)網(wǎng)絡(multi-task cascaded convolutional neural network, MTCNN)人臉檢測算法, 該算法使用3 個級聯(lián)CNN 網(wǎng)絡檢測人臉位置和關鍵點, 且確定的人臉關鍵點可用于人臉對齊, 便于后續(xù)人臉識別的研究;2018 年, Deng 等[4]提出了附加角幅度損失(additive angular margin loss, ArcFace loss)算法, ArcFace loss 算法更加注重在角度空間里對類別進行區(qū)分, 使用50 層的ResNet 進行訓練, Lfw 測試集上的準確率達到了99.8%.

多目標跟蹤作為經(jīng)典計算機視覺問題, 在單目標跟蹤問題的基礎上額外增加了目標ID(identification)的關聯(lián)任務, 在人臉抓拍系統(tǒng)中主要為不同幀中的同一行人賦予相同標簽.多目標跟蹤的典型算法有卡爾曼濾波[7]、均值漂移、核相關濾波、多尺度空間跟蹤等.近年來, 基于深度學習的檢測器迅速發(fā)展, 在檢測速度和精度上刷新了幾乎所有的算法測試集榜單.在此背景下, 基于檢測的跟蹤(tracking-by-detection, TBD)思路逐步應用在多目標跟蹤中.2016 年, Yu等[8]首先基于Faster R-CNN 設計目標檢測器, 再使用GoogleNet 提取目標外觀特征, 最后采用匈牙利算法進行數(shù)據(jù)關聯(lián);2017 年, Bochinski等[9]以高精度檢測算法為背景,針對高幀率跟蹤場景, 提出使用交并比(intersection over union, IOU)跟蹤目標, 并對檢測算法設定雙閾值, 篩選檢測框以提高魯棒性;2018 年, Hilke等[10]設計了聯(lián)合檢測和跟蹤的神經(jīng)網(wǎng)絡, 使用單網(wǎng)絡多目標檢測器(single shot multibox detector, SSD)[11]檢測目標, 并把檢測結果傳到循環(huán)神經(jīng)網(wǎng)絡(recurrent neural network, RNN)中, RNN 負責計算當前幀目標與上一幀目標的相似度矩陣, 最后通過匈牙利算法對相鄰幀目標進行相似度匹配, 從而實現(xiàn)多目標的跟蹤.

盡管基于深度學習的人臉檢測、跟蹤和識別算法已經(jīng)取得了較好的效果, 但嵌入式設備資源相對有限, 難以部署需要高實時性的深度學習.輕量化網(wǎng)絡以犧牲部分識別精度為代價精簡網(wǎng)絡參數(shù), 降低網(wǎng)絡計算復雜度, 更適用于嵌入式平臺的部署, 典型網(wǎng)絡有MobileNet[5]、ShuffleNet[6]等.目前多目標跟蹤算法大多在關聯(lián)模型上投入大的時間開銷.關聯(lián)模型包括特征表達和特征關聯(lián), 特征表達是關聯(lián)模型的核心, 最常見的特征是目標外觀特征和運動特征.提取深層次特征會造成較大的時間開銷, 但將多個淺層次特征融合, 不僅計算量低, 而且算法魯棒性也較單一淺層次特征算法高.因此, 多特征融合更有利于完成嵌入式平臺的實時多目標跟蹤任務.

本工作基于目前較優(yōu)秀的輕量化卷積網(wǎng)絡MobileNet, 對SSD 檢測網(wǎng)絡剪枝優(yōu)化, 構建了速度更快的人臉檢測網(wǎng)絡MobileNet SSPD(MobileNet single shot multibox purning detector);再利用MTCNN 中的O-Net 網(wǎng)絡將人臉對齊以提高后續(xù)跟蹤和識別的精度;基于融合哈希(fusion Hash, fHash)算法提取人臉外觀特征, 并利用卡爾曼濾波跟蹤器估計人臉運動信息, 通過求解最優(yōu)關聯(lián)矩陣實現(xiàn)多人臉跟蹤;使用關鍵點歐氏距離、人臉尺寸和四方向Sobel 算子[12]對同一行人的人臉進行最佳提取;使用輕量化網(wǎng)絡MobileFaceNet[13]提取該最佳人臉的特征, 利用余弦相似度進行特征匹配.實驗結果表明, 本工作基于嵌入式平臺設計的人臉抓拍系統(tǒng)能夠滿足實時抓拍的要求, 同時也能達到很高的抓拍準確率.

1 人臉抓拍系統(tǒng)模型

本工作人臉抓拍系統(tǒng)將訓練好的神經(jīng)網(wǎng)絡模型移植到嵌入式設備上, 實現(xiàn)離線人臉抓拍功能, 系統(tǒng)模型如圖1 所示.系統(tǒng)通過攝像頭捕捉圖像, 保存在緩存器中;經(jīng)過人臉檢測算法檢測人臉, 對齊之后進行人臉跟蹤;提取當前每個行人的最佳人臉, 直至行人離開視野后對其進行識別;將識別結果發(fā)送至遠端服務器進行應用管理.

圖1 人臉抓拍系統(tǒng)模型圖Fig.1 Model diagram of face capture system

人臉檢測是在預處理輸入圖像后, 進行場景圖像特征提取和人臉預測框回歸的過程.人臉對齊是人臉檢測的后處理, 首先檢測面部關鍵點, 再對關鍵點做仿射變換實現(xiàn)對齊.人臉對齊的目的是擺正人臉, 提高后續(xù)跟蹤和識別的準確率.人臉跟蹤在檢測到人臉后進行特征提取、運動估計, 通過求解關聯(lián)矩陣實現(xiàn)跟蹤;然后通過人臉質(zhì)量評價函數(shù)提取最佳人臉.人臉識別與人臉跟蹤算法流程一致, 但是為了提高效率, 人臉抓拍系統(tǒng)只需對最佳人臉進行識別;同一行人只識別一次, 人臉跟蹤則需對同一行人持續(xù)提取特征, 因此人臉跟蹤相比人臉識別需要更快速的特征提取方法.

2 算法概述

在人臉抓拍系統(tǒng)中, 一位行人在視野期內(nèi)會被多次檢測和跟蹤, 人臉檢測和跟蹤算法的準確度和復雜度直接決定抓拍系統(tǒng)的性能, 是人臉抓拍系統(tǒng)的關鍵技術.本工作基于此提出了MobileNet SSPD 快速人臉檢測網(wǎng)絡和融合哈希人臉跟蹤算法.

2.1 MobileNet SSPD 人臉檢測網(wǎng)絡

人臉檢測網(wǎng)絡主要由2 個部分組成: 場景圖像特征提取網(wǎng)絡和人臉檢測網(wǎng)絡.為了能夠在保證檢測精度的同時提高檢測速度, 本工作將輕量化網(wǎng)絡MobileNet 作為場景圖像特征提取器, 將剪枝優(yōu)化后的SSD 網(wǎng)絡SSPD 作為人臉檢測網(wǎng)絡.通常, 卷積神經(jīng)網(wǎng)絡的不同層有不同的感受野, 而在SSD 網(wǎng)絡結構中省缺框(prior box)不需要和每一層的感受野對應, 特定的特征圖負責處理圖像中特定尺寸的物體.MobileNet SSD 網(wǎng)絡適用于多物體檢測, Howard等[5]抽取了19×19、10×10、5×5、3×3、2×2、1×1 這6 個不同特征圖尺寸大小的網(wǎng)絡層的特征進行人臉預測框的回歸.而人臉抓拍系統(tǒng)只需檢測出人臉, 而且特小尺寸的人臉圖像檢測后再識別的誤差較大, 故在后續(xù)最佳人臉提取中也會被舍棄.因此本工作對SSD 網(wǎng)絡進行剪枝處理以提高人臉檢測效率.圖2 是剪枝優(yōu)化后的網(wǎng)絡MobileNet SSPD, 這里SSPD 只抽取前級MobileNet 中19×19 的第11 層卷積層和10×10 的第13 層卷積層的特征, 直接回歸出預測框的位置以及分類的置信度.其中抽取特征用來回歸最小檢測框的尺寸為第11 層卷積層的60 像素, 設定回歸框IOU 的舍棄閾值為0.5, 則SSPD 網(wǎng)絡可以過濾掉尺寸小于42 像素的人臉圖像.

圖2 MobileNet SSPD 網(wǎng)絡結構Fig.2 MobileNet SSPD network structure

損失函數(shù)由位置損失Lloc和分類損失Lconf加權獲得,

式中:N為匹配正樣本的總量(如果N= 0, 則令L= 0);x,c分別為分類的指示量和置信度;l,g分別為預測框和實際標注的真實框;α為位置損失的權重;位置損失Lloc為預測框l和標注的真實框g之間的Smooth L1 損失;分類損失為分類置信度之間的Softmax 損失.

2.2 O-Net 關鍵點檢測網(wǎng)絡實現(xiàn)人臉對齊

人臉對齊是在檢測到人臉后, 對人臉圖像進行優(yōu)化處理的過程.O-Net 是MTCNN 中的第3 階段網(wǎng)絡, 在MTCNN 中對第2 階段的預測框進行進一步的回歸和校正, 并為每個預測框生成5 個人臉關鍵點,分別為2 只眼睛、鼻尖和2 個嘴角.利用5 個關鍵點坐標使用OpenCV 進行仿射變換, 實現(xiàn)人臉對齊, 其流程如圖3 所示.

圖3 人臉對齊流程Fig.3 Flow chart of face alignment

2.3 融合哈希特征提取算法實現(xiàn)人臉跟蹤

在人臉抓拍系統(tǒng)中, 人臉跟蹤是對檢測到的人臉持續(xù)標記的過程, 即同一行人在不同視頻幀中具有同樣的人臉標記.本工作提出的融合哈希算法快速提取人臉特征, 再將特征映射到漢明空間求得特征相似度;同時利用卡爾曼濾波預測下一幀目標位置及大小獲取運動信息, 通過計算跟蹤子集的預測坐標與檢測子集的當前坐標的IOU 和2 個子集運動向量的余弦相似度,實現(xiàn)運動信息模型的估計;基于上述多特征模型的構建及使用擇優(yōu)匹配求解相似度關聯(lián)矩陣,進行多人臉跟蹤.系統(tǒng)流程如圖4 所示.

圖4 多人臉跟蹤算法流程Fig.4 Multi-face tracking algorithm flow

融合哈希特征提取算法將均值哈希(average Hash, aHash)與感知哈希(perceptual Hash,pHash)算法[14]相結合(見表1).首先求解2 幅圖像的均值哈希和感知哈希的特征向量, 再分別對2 組特征向量求漢明距離, 最后將漢明距離轉(zhuǎn)化為特征相似度.均值哈希算法利用人臉的低頻信息, 通過雙3 次插值法將人臉變換為8×8 的矩陣, 灰度化后計算灰度像素平均值;將64 位矩陣元素與灰度平均值作比較, 大于平均值記為1, 否則為0, 輸出64 位均值哈希向量.感知哈希算法使用離散余弦變換(discrete cosine transform, DCT)將人臉圖像從像素域變換到頻率域, 描述了2 維離散余弦正變換:

表1 融合哈希特征提取算法Table 1 Fusion Hash feature extraction algorithm

式中:f(i)為原始的信號;f(u)為DCT 變換后的系數(shù);N為原始信號的點數(shù);c(u)為補償系數(shù),可以使DCT 變換矩陣為正交矩陣.感知哈希算法輸出也是64 位向量.

2.4 人臉質(zhì)量評價

為了提高系統(tǒng)抓拍效率, 本工作對跟蹤到的每個ID 的人臉圖像做質(zhì)量評價, 選出質(zhì)量最高的人臉送入后續(xù)的人臉識別網(wǎng)絡.本工作使用3 個指標評測人臉質(zhì)量.

(1) 人臉側轉(zhuǎn)角.人臉對齊后仍存在側臉情況, 本工作基于O-Net 的5 個關鍵點計算人臉側轉(zhuǎn)角.過鼻尖關鍵點作垂直x軸直線, 計算其余4 個關鍵點到該直線的距離, 設左眼、左嘴角、右眼、右嘴角到直線距離分別為e1,m1,e2,m2, 人臉側轉(zhuǎn)角得分t為

式中: 人臉越正,t的值越接近1;反之越接近0.側轉(zhuǎn)角得分計算如圖5 所示.

圖5 人臉側轉(zhuǎn)角計算Fig.5 Face side angle calculation

(2) 人臉尺寸.設當前檢測目標人臉框面積為s1, 當前最清晰人臉圖像面積為s2.此時更大面積的人臉尺寸得分為1, 小面積人臉尺寸得分為s1/s2或s2/s1(舍棄大于1 的值).

(3) 人臉清晰度.本工作使用四方向sobel 算子計算圖像梯度, 同時使用強邊緣像素的強度均值表示清晰度評價值.

最后將3 種指標加權, 篩選最高質(zhì)量人臉.

3 實驗結果及分析

3.1 實驗設置及數(shù)據(jù)準備

本工作訓練模型的服務器運行Ubuntu16.04 系統(tǒng), 配備Intel Xeon E5 2620 v4 處理器,64 GB 內(nèi)存, Nvidia GeForce GTX 1080Ti 顯卡.本人臉抓拍系統(tǒng)最終運行在ARM 平臺上, 設備為酷芯AR9201 EVB 開發(fā)板, 開發(fā)板配置如表2 所示.

表2 開發(fā)板配置Table 2 Development board configuration

本工作在Wider 數(shù)據(jù)集下訓練MobileNet SSPD, 并在Fddb 數(shù)據(jù)集下進行測試.首先,對Wider 數(shù)據(jù)集進行處理, 剔除其中人臉太小或太模糊的照片, 整理出279 408 張人臉圖像.使用Afad 亞洲人臉數(shù)據(jù)庫和Orl 標準人臉庫對融合哈希算法進行測評.對不同人臉, 從Afad 中挑選出2 040 張背景一致的不同人臉圖像, 相互組合進行104 萬次測試.對相同人臉的評判數(shù)據(jù)庫用的是Orl 標準人臉庫, 包含40 個人, 每人10 張人臉圖像, 共計求出1 800(45×40)組數(shù)據(jù).

3.2 MobileNet SSPD 結果及分析

在一致的訓練集上, 分別對MobileNet SSD 和MobileNet SSPD 進行訓練.初始學習率為0.01, 學習率下降策略為Multistep, 分別在以10 為倍數(shù)的Epoch 時下降學習率.在Fddb 測試集的表現(xiàn)如表3 所示, 第一行從左至右分別為模型、驗證集上準確率、Fddb 測試集召回率、開發(fā)板單核DSP 下的運行時間及幀率.由表中數(shù)據(jù)可以觀察到MobileNet SSPD 在犧牲了0.3%準確率的基礎上實現(xiàn)了22.7%的速度提升.

表3 MobileNet SSD 與MobileNet SSPD 性能比較Table 3 Performance comparison between MobileNet SSD and MobileNet SSPD

在人臉抓拍系統(tǒng)中, 衡量人臉抓拍效率的指標是每秒人臉的準確抓拍數(shù)(accurate capture of the face per second, ACFS):

式中: ACFS 值越高, 每秒人臉正確抓拍數(shù)越多, 系統(tǒng)效率越高.本工作將MobileNet SSPD 與時下表現(xiàn)較好的算法VGG-SSD、DeepFace、MTCNN 和MobileNet SSD 進行比較.從表4 可以看出, 得益于輕量化的網(wǎng)絡結構, 本算法在檢測速度上優(yōu)于其他算法;在Fddb 數(shù)據(jù)集的召回率上網(wǎng)絡更深的VGG-SSD 和DeepFace 表現(xiàn)更好;本算法的Acfs 值遠高于其他算法, 每秒準確抓拍到的人臉數(shù)量最多, 是最適合人臉抓拍系統(tǒng)的人臉檢測算法.

表4 不同人臉檢測算法抓拍性能比較Table 4 Capture performance comparison between different face detection algorithms

3.3 融合哈希算法結果及分析

通過將融合哈希算法在整理后的Afad 和Orl 數(shù)據(jù)集上測試可以看出, 當閾值設為1.6 時,融合哈希算法可以排除98.5%以上的不同人臉, 同時能將76.7%的相同人臉匹配.

表5 不同人臉/相同人臉在不同閾值下數(shù)據(jù)對比Table 5 Comparison of different faces/identical faces under different thresholds

在相同測試集下將本算法與aHash、pHash、互信息、余弦相似度進行測試(見表6).可見, 本算法綜合性能表現(xiàn)最好, 在與余弦相似度跟蹤算法準確率表現(xiàn)幾乎一致的情況下可大大減少計算時間.本算法的準確率比aHash 和pHash 算法高出21.7%和10.1%.

表6 不同相似度算法性能比較Table 6 Comparison of performance between different similarity algorithms

3.4 多目標跟蹤算法結果及分析

使用Mot16 數(shù)據(jù)集驗證本算法的有效性, 檢測器采用Pubilc detector.設定當?shù)趍幀的某檢測結果未關聯(lián)到第m ?1 幀跟蹤序列子集時, 將該檢測結果作為新目標, 從第m+1 幀開始ID 排序;當關聯(lián)度超過閾值θ時, 則關聯(lián)成功.在fHash 算法中,α表示為pHash 特征相似度所占權重;在總關聯(lián)度計算時,α為卡爾曼濾波跟蹤器估計關聯(lián)度占總關聯(lián)度的權重.

圖6(a)中, 4 條實線表示對應的算法在不同關聯(lián)度閾值下的跟蹤準確率, 虛線為該算法在不同閾值段的準確率平均值.可見在θ= 0.6 時, 目標跟蹤準確率(multi-object tracking accuracy, MOTA)較高, 且融合哈希特征對多目標跟蹤準確率的提升效果明顯.圖6(b)中實線為該算法在θ= 0.6 時不同權重α下算法的表現(xiàn), 虛線為其均值.可見, 當pHash 權重α為0.6,外觀特征相似度與運動信息估計相似度權重持平時, 算法跟蹤準確率最高.

圖6 不同條件下MOTA 得分(KF 表示卡爾曼濾波跟蹤器)Fig.6 MOTA score under different conditions (KF for Kalman filter tracker)

本算法與其他先進多目標跟蹤算法比較結果如表7 所示, 其中本算法實時性最高且具有較低的ID 交換次數(shù), 同時能保持較高精度的跟蹤準確率, 這也取決于相似度矩陣關聯(lián)的擇優(yōu)匹配求取策略.

表7 不同多目標跟蹤算法比較Table 7 Comparison of different multi-object tracking algorithms

3.5 人臉抓拍系統(tǒng)性能分析

在單目標和多目標條件下對本算法進行測試, 測試數(shù)據(jù)為實際場景中的視頻圖像, 每隔1 s 抽取一張作為效果圖.從圖7 和8 可見, 同一目標的ID 不變且無錯檢, 說明算法準確跟蹤到了該目標, 抓拍到最佳人臉后識別結果也均正確, 實際測試準確率在95%以上.

圖8 多張人臉抓拍效果圖Fig.8 Capture effect diagram of multiple faces

表8 列出了本系統(tǒng)運行時間測試結果, 整個人臉抓拍系統(tǒng)在單核DSP 下平均每幀處理時間為138 ms, 在4 核DSP 加速下, MobileNet SSPD、O-Net 和MobileFaceNet 平均運算速度提高了4 倍, 整個系統(tǒng)抓拍速度能達到28 幀/s, 可滿足實時的人臉抓拍需求.

表8 系統(tǒng)運行時間Table 8 System running time

表8 中, DSP 工藝制程為40 nm, 每秒可執(zhí)行1.2 萬億次運算(1.2 tera operations per second, 1.2 TOPs).在人工智能應用需求日益上升的背景下, 以手機為代表的嵌入式設備均加強了SoC 芯片算力: 高通驍龍855 芯片算力為7 TOPs;蘋果A12 芯片算力為5 TOPs;華為海思麒麟990 芯片運行MobileNet(int8)達到970 幀/s.以上設備在工藝和算力上都優(yōu)于本工作所用開發(fā)板, 因此如果本算法部署在手機端, 則抓拍效率會更高, 具有更高的應用價值.

4 結束語

本工作基于酷芯微開發(fā)板設計和實現(xiàn)了人臉抓拍系統(tǒng).首先, 本工作在MobileNet SSD 網(wǎng)絡的基礎上設計了MobileNet SSPD 快速人臉檢測網(wǎng)絡, 再級聯(lián)MTCNN 中的O-Net, 并依據(jù)人臉關鍵點進行仿射變換實現(xiàn)人臉對齊;然后, 基于均值哈希與感知哈希算法設計出融合哈希匹配算法跟蹤人臉, 使用側轉(zhuǎn)角、尺寸和清晰度這3 個標準得到最佳的人臉圖像;最后, 對最佳人臉進行識別.本工作通過優(yōu)化算法和4 核DSP 加速, 在嵌入式系統(tǒng)上達到了較快的人臉抓拍速度, 并取得了較高的抓拍準確率.

猜你喜歡
哈希人臉準確率
有特點的人臉
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
健康之家(2021年19期)2021-05-23 11:17:39
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產(chǎn)品質(zhì)量檢驗分析
三國漫——人臉解鎖
動漫星空(2018年9期)2018-10-26 01:17:14
高速公路車牌識別標識站準確率驗證法
基于OpenCV與均值哈希算法的人臉相似識別系統(tǒng)
基于維度分解的哈希多維快速流分類算法
計算機工程(2015年8期)2015-07-03 12:20:04
馬面部與人臉相似度驚人
長得象人臉的十種動物
奇聞怪事(2014年5期)2014-05-13 21:43:01
香格里拉县| 蕲春县| 长泰县| 湘潭县| 延津县| 建昌县| 城固县| 武义县| 邻水| 中西区| 克山县| 东安县| 乌鲁木齐县| 上饶市| 梁河县| 都安| 吕梁市| 饶河县| 梨树县| 长春市| 张北县| 新民市| 武威市| 铜川市| 黄平县| 陆河县| 通城县| 陈巴尔虎旗| 若羌县| 日照市| 社会| 鹤山市| 连山| 都江堰市| 临沂市| 夹江县| 嵊州市| 渝北区| 怀远县| 嵊泗县| 通化县|