亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        光流估計下的移動端實時人臉檢測

        2018-06-20 06:17:16魏震宇賀建飚
        計算機應用 2018年4期
        關(guān)鍵詞:特征檢測

        魏震宇,文 暢,謝 凱,賀建飚

        (1.長江大學 計算機科學學院,湖北 荊州434023; 2.長江大學 電子信息學院,湖北 荊州 434023;3.中南大學 信息科學與工程學院, 長沙 410083)(*通信作者電子郵箱wenchang2016paper@163.com)

        0 引言

        移動設(shè)備上的實時人臉檢測是人臉識別的一個重要發(fā)展方向。人臉檢測的應用領(lǐng)域也由經(jīng)典的靜態(tài)圖像向連續(xù)的視頻幀發(fā)展。受性能限制,移動設(shè)備上的人臉檢測往往存在速度較慢難以滿足實時檢測需求、檢測精度差的問題,從而需要設(shè)計一種高效的移動設(shè)備人臉檢測算法。人臉檢測問題是屬于圖像識別中目標檢測的一個分支,傳統(tǒng)的檢測算法都是以多張人臉為目標在圖像上進行檢測?,F(xiàn)有的人臉檢測算法分為以維奧拉-瓊斯(Viola-Jones, V-J)目標檢測框架[1-2]為代表的經(jīng)典機器學習方法和使用卷積神經(jīng)網(wǎng)絡進行檢測的深度學習方法兩大類,這兩類方法都是針對單張靜態(tài)圖片設(shè)計的,并不能很好地適應視頻實時檢測的需求。

        Viola-Jones目標檢測框架利用AdaBoost方法[3]訓練級聯(lián)分類器,能進行快速靜態(tài)人臉檢測,也是現(xiàn)有大多數(shù)工程采用的方法,開放視覺庫OpenCV[4-5]中就有一種具體實現(xiàn)。但OpenCV實現(xiàn)的算法主要缺點是誤檢率高[5],不能很好地滿足精確度要求。

        針對Viola-Jones方法檢測率低的問題,出現(xiàn)了應用卷積神經(jīng)網(wǎng)絡(Convolution Neural Network, CNN)[6-8]來進行人臉檢測的方法,通過利用局部感知和權(quán)值共享的卷積神經(jīng)網(wǎng)絡進行特征提取并加以分類,使利用CNN進行人臉檢測在20%誤檢率下召回率普遍達到了87%以上[9-10];但由于CNN高昂的計算代價,往往只能應用在單張靜態(tài)圖像上,不能進行實時視頻檢測。

        由靜態(tài)圖像檢測轉(zhuǎn)變到視頻檢測同樣存在一些難點,其中一些熱點問題由視頻幀不良內(nèi)容引起,例如動態(tài)模糊、部分遮擋、角度偏轉(zhuǎn)等問題引起檢測結(jié)果精度較差甚至無法檢測。

        為應對移動設(shè)備傳統(tǒng)解決方案中的現(xiàn)有問題,本文嘗試將機器學習算法與CNN相結(jié)合,以提高檢測精度;同時為平衡CNN高昂的計算代價,本文應用了光流估計方法[11],以解決移動設(shè)備上的視頻實時人臉檢測中無法很好地平衡檢測速度與檢測精度的問題。

        1 移動設(shè)備上的視頻人臉檢測

        本文提出了一種在人臉子圖快速劃分的基礎(chǔ)上應用以卷積神經(jīng)網(wǎng)絡檢測面部特征分布的方法。如圖1所示,進行人臉檢測的算法流程主要分為:1)視頻幀預處理,提取灰度分量并計算積分圖;2)應用嵌入型級聯(lián)分類器進行人臉子圖劃分;3)應用五官特征進行人臉精細分割;4)預測人臉響應邊界盒。

        圖1 視頻人臉檢測流程

        1.1 視頻幀預處理

        1.1.1 提取灰度分量

        由Google提供的應用程序編程接口(Application Programming Interface, API)[12-13]可知,在API Level 14以上的安卓設(shè)備中,攝像頭預覽的數(shù)據(jù)以ImageFormat.YV12的格式通過預覽的回調(diào)接口傳遞給用戶。YV12圖像數(shù)據(jù)在Android實現(xiàn)為一個大小為(w*h)3/2的byte數(shù)組,而YV12格式中的Y′分量就是一幀圖像frame的灰度表示,記一幀圖像大小為sizey=w*h,則灰度化后的視頻幀序列記為grey:

        grey=[frame0,frame1,…,framesizey-1]

        (1)

        記灰度圖像中每一點的灰度值為grey(x,y):

        grey(x,y)=frame[x+y*w]

        (2)

        其中:(x,y)是位于以橫持設(shè)備時,以屏幕左上角的點為原點,橫向為x軸,縱向為y軸的坐標系上的點。

        1.1.2 積分圖計算

        基于Haar-like特征的分類器需要計算特征區(qū)域內(nèi)的圖像和,應用積分圖可以進行區(qū)域快速求和計算。積分圖的計算方法很簡單,定義積分圖上的一點為I(x′,y′):

        (3)

        顯然,對積分圖的計算可以轉(zhuǎn)換為前綴數(shù)組求和:

        I(x′,y′)=I(x′-1,y′-1)+I(x′,y′-1)+

        I(x′-1,y′)+grey(x′,y′)

        (4)

        當積分圖計算完成,對灰度圖像的任意矩形區(qū)域求和計算在常數(shù)時間內(nèi)即可完成。

        1.2 改進的Viola-Jones候選人臉子圖分割

        圖2 嵌入式級聯(lián)分類器

        嵌入型級聯(lián)(nested classifier)是一種信息復用的級聯(lián)方式,與AdaBoost方法的主要區(qū)別在于,分類器級聯(lián)時加入了一個“嵌入式”的項,一起合并為當前迭代的強分類器,其檢測基礎(chǔ)同樣是Haar-like特征,優(yōu)點是能在不損失分類速度的情況下提高準確率。

        經(jīng)典的弱分類器h(w′)表達式為:

        (5)

        其中:w′為一個子窗口圖像;f為一種Haar-like特征;p用于控制不等號方向,使之總是小于號;θ是閾值,即圖2中的bij。Nested瀑布流的級聯(lián)方式是在退化決策樹的基礎(chǔ)上,為每一個迭代后的神經(jīng)元加入了額外的被稱為Nested的子項。強分類器采用這樣的形式:

        (6)

        Hn(w′)=

        (7)

        這相當于所有弱分類器投票,即所有弱分類器與其突觸的權(quán)重乘積加上前一次迭代中強分類器的輸出加權(quán)平均,與本次迭代中的弱分類器輸出的算術(shù)平均比較,最終判斷一個子窗口內(nèi)圖像是否通過檢測。嵌入型的分類器級聯(lián)方式有效地重用了信息,降低了每個分類器需要學習的特征數(shù)目,可以在達到經(jīng)典框架相同級別檢測率的同時減少所需分類器的層數(shù),從而降低移動設(shè)備上由于復雜特征帶來的計算代價。

        1.3 基于五官特征的視頻檢測

        為了進一步剔除非人臉無關(guān)項,本文綜合了卷積神經(jīng)網(wǎng)絡Faceness-Net[14]進行人臉面部特征提取,分別探查頭發(fā)、眼睛、鼻子、唇部、下顎的存在性,并應用光流估計算法用于平衡卷積神經(jīng)網(wǎng)絡的計算代價,如算法1所示。為表述方便,先定義需要用到的符號,如表1所示。

        表1 符號的定義

        算法1 稀疏關(guān)鍵幀五官特征檢測。

        輸入 視頻幀序列。

        輸出 人臉檢測結(jié)果。

        1)init(視頻幀序列):

        curr=key=0

        feature0=netfeature(frames[0])

        mask0=netdect(feature0)

        2)detect(視頻幀序列):

        while (curr

        ifisKeyFrame(curr)

        key=curr

        featurekey=netfeature(frames[key])

        maskkey=netdect(featurekey)

        else

        flow=F(featurekey,featurecurr)

        featurecurr=W(featurekey,flow)

        maskcurr=netdect(featurecurr)

        return {maski}

        1.3.1 關(guān)鍵幀F(xiàn)aceness-Net五官特征分布提取

        卷積神經(jīng)網(wǎng)絡Faceness-Net的檢測目標是人臉部件,文獻[13]中的實現(xiàn)是對頭發(fā)、眼睛、鼻子、唇部、下顎進行特征提取,并構(gòu)造評分窗口進行區(qū)域預測。而本文的檢測并不需要精細到像素級,所以需要對關(guān)鍵幀上的Faceness-Net特征提取子網(wǎng)絡netfeature流程加以優(yōu)化。

        Faceness-Net的網(wǎng)絡結(jié)構(gòu)同樣可以分為特征提取與目標檢測兩個部分,這樣便于區(qū)分計算開銷大的卷積神經(jīng)網(wǎng)絡netfeature與輕量的目標檢測網(wǎng)絡netdect。計算代價高昂的netfeature只在關(guān)鍵幀上運行,而非關(guān)鍵幀的特征圖將通過光流估計將關(guān)鍵幀的特征圖遷移到當前幀。

        1.3.2 非關(guān)鍵幀光流估計特征傳播

        光流場(Optical flow field)估計是一種視頻中運動圖像位移量的估計方法,用于兩幀圖像之間計算二維位移關(guān)系。光流估計方法假設(shè)間隔相近的兩幀視頻幀中出現(xiàn)的內(nèi)容相近,進而假設(shè)相同亮度的點存在二維線性位移關(guān)系,從而得到圖像插值時的速度與位置信息。圖3展示了應用光流估計進行特征傳播與直接應用Faceness-Net進行特征提取的流程。

        記key為關(guān)鍵幀索引,curr為當前幀索引,framekey為關(guān)鍵幀,framecurr為當前幀,Mkey→curr為二維光流場:

        flow=Mkey→curr=F(framekey,framecurr)

        (8)

        得到光流估計的結(jié)果后應用雙線性插值算法將特征圖縮放至視頻當前幀同等大小,這將返回一個二維映射,用于表示關(guān)鍵幀上的特征位置p與當前幀上特征位置p+δp的關(guān)系,構(gòu)造雙線性插值函數(shù)B′(q,p+δp):

        B′(q,p+δp)=b(qx,px+δpx)·b(qy,py+δpy)

        (9)

        (10)

        其中:δp=Mkey→curr(p);b(q′,p′)=max(0,1-|q′-p′|)。

        圖3 基于光流估計的特征聚合

        2 實驗與結(jié)果分析

        2.1 實驗平臺

        本項目在實驗中用到的設(shè)備硬件部分為:小米6手機,CPU為高通驍龍835,主頻為2.45 GHz,圖形處理器Adreno 540,DDR4內(nèi)存6 GB。軟件部分安卓系統(tǒng)軟件版本為Android 7.1.1,本文開發(fā)的應用使用Android Studio編寫, Java development kit版本8u152。

        實驗分別在YouTube人臉視頻數(shù)據(jù)庫(YouTube Face Database[16])和實驗室自建正位人臉(攝像頭正對人臉,法線夾角不大于20°,人臉位置大致位于視野中央)數(shù)據(jù)庫上進行測試。YouTube人臉視頻數(shù)據(jù)庫包含有3 425段來自YouTube的視頻和1 595張規(guī)格化圖片,常被用于“視頻-視頻”人臉識別的項目測試,剪輯為24 frame/s的1 080 p視頻,平均剪輯長度為每秒181.3幀(剪輯總長度約為620 952幀),視頻人臉區(qū)域標定方法同戶外臉部檢測數(shù)據(jù)庫(Labeled Faces in the Wild, LFW)。本項目中使用的自建人臉視頻數(shù)據(jù)庫為100段1 min幀率為24 frame/s的H.264編碼壓縮視頻,包含來自5個人的各20段1分鐘視頻,視頻幀使用YCrCb顏色空間,按LFW標注方法為每人4段視頻的第一幀起前120幀手工標定人臉區(qū)域范圍。同時,為訓練得到的模型編寫接口用于設(shè)計安卓程序,將從移動設(shè)備攝像頭直接讀取數(shù)據(jù)以進行實時人臉檢測,圖4~5為不同條件下軟件的運行截圖。

        圖4 明亮平均光照環(huán)境測試結(jié)果

        圖5 單側(cè)不良光照環(huán)境測試

        2.2 數(shù)據(jù)記錄

        2.2.1 不同關(guān)鍵幀間隔選擇對檢測速度的影響

        關(guān)鍵幀上運行耗時最長的Faceness-Net五官特征分布提取直接決定了運行最小時間,記l為兩關(guān)鍵幀間隔幀數(shù),選取Faceness-Net完整5個特征,分別對l=0(即不應用光流估計)、l=15、l=30進行實驗。

        程序在始終沒有得到特征分布圖的檢測結(jié)果時不會運行檢測程序,即檢測幀被丟棄。從表2可以看出,關(guān)鍵幀選取間隔越大,輸入視頻幀分辨率越低,檢測平均幀率越高(耗時越短)。

        表2 關(guān)鍵幀間隔對平均幀率的影響 frame/s

        2.2.2 Faceness-Net不同粒度下的速度

        為了研究相似五官特征的影響,在測試關(guān)鍵幀選取間隔實驗的基礎(chǔ)上,本項目嘗試減少Faceness-Net提取的五官特征數(shù)目,分別去掉了嘴巴和鼻子的檢測,在關(guān)鍵幀間隔l=30的條件下實驗,得到了如表3所示的結(jié)果。

        表3 檢測粒度對平均幀率的影響(l=30)

        考慮到由于在關(guān)鍵幀上運行Faceness-Net仍將耗費大量的計算時間,將會在移動設(shè)備上造成卡頓,使檢測精度波動;同時考慮到五官特征的特殊性,即部分特征可能是相似且可以舍棄的,進而可以選取更加合適的間隔-粒度關(guān)系。從表3的結(jié)果中可以看出,減少檢測特征目標數(shù)目可以帶來檢測速度的提升。

        2.3 結(jié)果分析

        2.3.1 算法復雜度分析

        根據(jù)本文算法流程,算法前端應用人臉子圖分割的算法是相同的,都記作O(crop)。記在每一幀上應用的人臉提取的算法時間復雜度為O(task):

        O(task)=O(netfeature)+O(netdect)

        (10)

        在光流估計的基礎(chǔ)上進行五官檢測的復雜度為O(task)′:

        (11)

        (12)

        那么非關(guān)鍵幀與關(guān)鍵幀的復雜度之比ratio在O(netdect)?O(netfeature)的條件下有以下近似關(guān)系:

        (13)

        又O(crop)?O(F),O(crop)?O(netfeature),則總體算法復雜度之比r為:

        (14)

        可以得出,檢測所需的時間在非關(guān)鍵幀上接近傳統(tǒng)的Viola-Jones結(jié)果,而關(guān)鍵幀上的運行最短時間由Faceness-Net提取特征的時間決定。從表2所示的相同粒度實驗結(jié)果來看,統(tǒng)計1 min 640 p視頻檢測結(jié)果由不應用光流估計l=0的平均幀率7.75 frame/s提升至l=30的平均幀率18.35 frame/s, 速度有2~3倍的提升,實驗結(jié)果符合復雜度預期。

        2.3.2 檢測精度對比分析

        除了正位人臉測試視頻數(shù)據(jù)集,本項目還使用了旋轉(zhuǎn)人臉(人臉所在平面內(nèi))、側(cè)位人臉(人臉所在平面外)進行測試與對比分析。其中側(cè)位人臉的評判標準沒有很好地界定,所以本項目人為規(guī)定,側(cè)位人臉的可見特征(1幀內(nèi))不少于3個(最低Faceness-Net檢測粒度),即可認為視頻中出現(xiàn)了有效側(cè)位人臉。

        圖6 運行時間與召回率擬合關(guān)系

        由圖6~7所示的實驗結(jié)果可看出,減少檢測特征數(shù)目時,Faceness-Net網(wǎng)絡的檢測精度有所下降,隨之帶來的是速度的提升。檢驗全部5個特征速度最慢,平均幀率在14.10 frame/s左右;只檢驗3個部分特征的運行速度最快,平均幀率在18.53 frame/s以上,而檢測精度的損失也最大,相較全部5個特征損失在5.1%~8.3%;而4個特征的情況精度損失在0.6%~2.5%。相比之下,同等級檢測粒度下視頻幀分辨率對結(jié)果影響不大。

        圖7 不同算法在不同誤檢數(shù)下的召回率關(guān)系

        綜合來看,舍棄一個部分特征即檢測粒度為4的情況,檢驗速度與召回率的平衡最好,精度損失較粒度為3的損失小,可以根據(jù)不同的需求場景調(diào)整精度與速度的平衡。

        2.3.3 復雜情況視頻檢測問題

        在實際的程序運行測試中,本項目還進行了人臉快速移動帶來動態(tài)模糊復雜情況檢測,應用光流估計,可以在內(nèi)容較差、無法提取有效特征的幀上進行檢測,如圖8所示。

        圖8 動態(tài)模糊檢測結(jié)果

        從圖8可以看出應用本文算法對部分視頻檢測熱點問題有一定的幫助。

        3 結(jié)語

        本文通過綜合改進的Viola-Jones檢測算法與應用光流估計的Faceness-Net面部特征檢測方法,實現(xiàn)了移動設(shè)備上的視頻人臉檢測,使檢測精度達到了接近CNN方法的檢測精度,且速度基本滿足實時監(jiān)測的要求;實現(xiàn)的應用可以應用于中低端設(shè)備,滿足了大多數(shù)移動設(shè)備實際監(jiān)測工作的性能需要,可以應用于諸如人臉門禁等項目的檢測任務中。但同時也存在不足:人臉快速運動帶來的動態(tài)模糊未能得到良好的解決,在更高的分辨率下性能仍有待進一步提升。接下來的工作中可以通過加入優(yōu)化關(guān)鍵幀的智能選取以在不同設(shè)備上更好地平衡精度與速度,以規(guī)避關(guān)鍵幀內(nèi)容較差的情況。

        參考文獻(References)

        [1] 魏瑋,馬瑞,王小芳. 視頻中人臉位置的定量檢測[J]. 計算機應用, 2017, 37(3): 801-805.(WEI W, MA R, WANG X F. Quantitative detection of face location in videos[J]. Journal of Computer Applications, 2017, 37(3): 801-805.)

        [2] LI Q, NIAZ U, MERIALDO B. An improved algorithm on Viola-Jones object detector[C]// Proceedings of the 2012 10th International Workshop on Content-Based Multimedia Indexing. Piscataway, NJ: IEEE, 2012: 55-60.

        [3] ELMAGHRABY A, ABDALLA M, ENANY O, et al. Detect and analyze face parts information using Viola-Jones and geometric approaches[J]. International Journal of Computer Applications, 2014, 101(3): 23-28.

        [4] 朱承志.基于OpenCV的人臉檢測與跟蹤[J]. 計算機工程與應用, 2012, 48(26): 157-161.(ZHU C Z. Face detection and tracking based on OpenCV[J]. Computer Engineering and Applications, 2012, 48(26): 157-161.)

        [5] BRUCE B R, AITKEN J M, PETKE J. Deep parameter optimisation for face detection using the Viola-Jones algorithm in OpenCV[C]// SSBSE 2016: Proceedings of 8th International Symposium, LNCS 9962. Berlin: Springer, 2016: 238-243.

        [6] 孔英會,王之涵, 車轔轔. 基于卷積神經(jīng)網(wǎng)絡(CNN) 和CUDA加速的實時視頻人臉識別[J]. 科學技術(shù)與工程, 2016, 16(35): 96-100.(KONG Y H, WANG Z H, CHE L L. Real-time face recognition in videos based on Convolutional Neural Networks(CNN) and CUDA[J]. Science Technology & Engineering, 2016, 16(35): 96-100.)

        [7] JIANG H, LEARNEDMILLER E. Face detection with the faster R-CNN[C]// Proceedings of the 2017 12th IEEE International Conference on Automatic Face & Gesture Recognition. Washington, DC: IEEE Computer Society, 2017: 650-657.

        [8] QIN H, YAN J, LI X, et al. Joint training of cascaded CNN for face detection [C]// Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2016: 3456-3465.

        [9] 盧宏濤, 張秦川. 深度卷積神經(jīng)網(wǎng)絡在計算機視覺中的應用研究綜述[J]. 數(shù)據(jù)采集與處理, 2016, 31(1): 1-17.(LU H T, ZHANG Q C. Applications of deep convolutional neural network in computer vision[J]. Journal of Data Acquisition and Processing, 2016, 31(1): 1-17.)

        [10] KONG K H, KANG D S. A study of face detection algorithm using CNN based on symmetry-LGP & uniform-LGP and the skin color[EB/OL]. [2017- 05- 10]. http: //onlinepresent.org/proceedings/vol139_2016/30.pdf.

        [11] ZHU X, XIONG Y, DAI J, et al. Deep feature flow for video recognition[EB/OL]. [2017- 05- 10]. https: //arxiv.org/abs/1611.07715.

        [12] Google. Camera.PreviewCallback[EB/OL]. [2017- 08- 22]. https: //developer.android.com/reference/android/hardware/Camera.PreviewCallback.html.

        [13] Google. Camera.Parameters[EB/OL]. [2017- 08- 22]. https: //developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFormat(int).

        [14] YANG S, LUO P, LOY C C, et al. From facial parts responses to face detection: a deep learning approach [C]// Proceedings of the 2015 IEEE International Conference on Computer Vision. Piscataway, NJ: IEEE, 2015: 3676-3684.

        [15] WEDEL A, CREMERS D. Stereo Scene Flow for 3D Motion Analysis[M]. Berlin: Springer, 2011: 5-30.

        [16] WOLF L, HASSNER T, MAOZ I. Face recognition in unconstrained videos with matched background similarity [C]// Proceedings of the 2011 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2011: 529-534.

        This work is partially supported by the National Natural Science Foundation of China (61272147), the Innovation and Entrepreneurship Training Program for Yangtze University Students (2017008)

        猜你喜歡
        特征檢測
        抓住特征巧觀察
        “不等式”檢測題
        “一元一次不等式”檢測題
        “一元一次不等式組”檢測題
        “幾何圖形”檢測題
        “角”檢測題
        新型冠狀病毒及其流行病學特征認識
        如何表達“特征”
        不忠誠的四個特征
        當代陜西(2019年10期)2019-06-03 10:12:04
        抓住特征巧觀察
        亚洲av无码成人精品区在线观看| 国产精品久色婷婷不卡| 人人超碰人人爱超碰国产| 亚洲日韩成人av无码网站| 美日韩毛片| 在线视频一区二区观看| 日本av亚洲中文字幕| 欧美午夜刺激影院| 亚洲va在线va天堂va手机| 日本一区二区三区的免费视频观看 | 少妇真实被内射视频三四区| 最近日本免费观看高清视频| 亚洲午夜无码久久yy6080| 色婷婷一区二区三区四| 久久国产精品亚洲婷婷片| 亚洲色欲久久久综合网| 国产91对白在线观看| 国产成人亚洲综合二区| 亚洲小说区图片区色综合网| 少妇装睡让我滑了进去| 亚洲成在人网av天堂| 久久国产精品亚洲我射av大全| 久久精品中文字幕| 久久精品国内一区二区三区| 天堂av无码大芭蕉伊人av孕妇黑人 | 国产精品成人va在线观看| 91spa国产无码| 久久99热精品免费观看麻豆| 激情精品一区二区三区| 欧美 丝袜 自拍 制服 另类| 连续高潮喷水无码| 国产精品亚洲一区二区三区久久| 妺妺跟我一起洗澡没忍住 | 亚洲欧美精品aaaaaa片| 国产亚洲日韩AV在线播放不卡| 精品在线观看一区二区视频| 蜜桃久久精品成人无码av| 国产白丝网站精品污在线入口| 亚洲av手机在线一区| 伊甸园亚洲av久久精品| 久久久久亚洲av无码网站|