侯景嚴(yán),宋煥生,梁浩翔,賈金明,戴 喆
(長安大學(xué) 信息工程學(xué)院,西安 710064)
人工智能的發(fā)展離不開計(jì)算機(jī)視覺的技術(shù)支撐,計(jì)算機(jī)視覺[1]是使用計(jì)算機(jī)及其相關(guān)設(shè)備對生物視覺的一種模擬,其主要側(cè)重在圖像底層特征提取、視頻分析等方面.其中人臉識(shí)別[2]就是基于計(jì)算機(jī)視覺的有關(guān)生物特征識(shí)別的研究技術(shù)之一.近年來人們廣泛關(guān)注有關(guān)特征的構(gòu)建和識(shí)別,例如MSER[3,4]、HOG[5]、SIFT[6]、LBP[7,8]等.利用普通攝像頭就能采集人臉數(shù)據(jù)模型,通過后臺(tái)相應(yīng)的算法就可對個(gè)人身份進(jìn)行識(shí)別和確認(rèn),因而研究人臉識(shí)別本身就有著重要的意義,并且其核心技術(shù)的實(shí)現(xiàn)展現(xiàn)了弱人工智能向強(qiáng)人工智能的轉(zhuǎn)化.
隨著深度學(xué)習(xí)的發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)(CNN)[9]也為人臉識(shí)別提供了新的思路,其中經(jīng)典的模型包含了AlexNet[10]、GoogleNet[11]、VGG[12],同時(shí)也包含了ConvNet-RBM[13]、DeepFace[14]等深度網(wǎng)絡(luò)人臉識(shí)別方法.其中ConvNet 主要是直接從具有混合深度網(wǎng)絡(luò)的面部對的原始像素中學(xué)習(xí)表明身份相似性的關(guān)系視覺特征的一種模型.DeepFace 則是使用顯式3D 人臉建模來重新審視對齊步驟和表示步驟,以便應(yīng)用分段仿射變換,并從9 層深度神經(jīng)網(wǎng)絡(luò)中得出人臉表示.這兩種方法都是使用大量的人臉圖像樣本對神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,再手工選取中間層特征作為人臉的特征向量,最后對特征向量進(jìn)行相似性度量得到人臉識(shí)別結(jié)果.
ConvNet 和DeepFace 雖然提高了精度,但是仍存在一定缺陷,首先均需要人為選擇特征向量,這將會(huì)導(dǎo)致算法具有不確定性,并且在大型數(shù)據(jù)庫上訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型時(shí),中間層神經(jīng)單元個(gè)數(shù)會(huì)為了保持特征的完整性而不斷增加,導(dǎo)致最后提取的特征向量維度變高,增加了計(jì)算成本.其次使用神經(jīng)網(wǎng)絡(luò)進(jìn)行提取全局特征增加了計(jì)算機(jī)及網(wǎng)絡(luò)的荷載,降低了人臉識(shí)別的速度.
針對以上問題,本文提出基于前后端交互的人臉識(shí)別系統(tǒng),不僅提升了人臉識(shí)別的精度和魯棒性,也有效緩解了計(jì)算機(jī)及網(wǎng)絡(luò)的荷載和壓力,同時(shí)系統(tǒng)的計(jì)算效率明顯提升.本系統(tǒng)擁有3 個(gè)創(chuàng)新性:
1)使用了殘差神經(jīng)網(wǎng)絡(luò)模型(ResNet)[1],不用手工選取度量方法,而是將高維度的人臉圖像映射為128維特征向量,再使用歐式距離進(jìn)行人臉的相似性度量.
2)采用了前后端交互式系統(tǒng),提取特征值和特征值距離匹配分別運(yùn)行于服務(wù)端和客戶端,同時(shí)通信間采用碼流傳輸格式,加快系統(tǒng)傳輸速率.
3)提出了基于GrabCut 的人臉興趣區(qū)域(Region Of Interest,ROI)提取算法,先從系統(tǒng)輸入幀圖片中提取出人臉前景,排除了帶有冗余和干擾信息的背景,提升了系統(tǒng)的計(jì)算效率和人臉識(shí)別精度.
本文提出了一個(gè)基于前后端交互的人臉識(shí)別系統(tǒng),系統(tǒng)總體模塊設(shè)計(jì)如圖1所示,主要包含客戶端模塊、數(shù)據(jù)庫以及服務(wù)端模塊.客戶端模塊的功能是顯示輸入的視頻流畫面、收集待識(shí)別人臉圖像、及對待識(shí)別人臉圖像進(jìn)行GrabCut 圖像預(yù)處理操作提取人臉前景,并且將從服務(wù)端傳遞來的人臉特征與已知數(shù)據(jù)庫中的人臉特征進(jìn)行匹配,顯示人臉識(shí)別結(jié)果.本系統(tǒng)實(shí)現(xiàn)了客戶端與服務(wù)端的通信,傳遞壓縮后的人臉圖像碼流與人臉特征向量碼流.服務(wù)端模塊的功能是通過殘差神經(jīng)網(wǎng)絡(luò)(ResNet)提取待識(shí)別人臉的特征.
圖1 基于前后端交互的人臉識(shí)別系統(tǒng)框架圖
本系統(tǒng)可以實(shí)現(xiàn)快速高效準(zhǔn)確的人臉識(shí)別功能,首先在輸入端對待識(shí)別人利用GrabCut 算法進(jìn)行圖像預(yù)處理,獲得精準(zhǔn)的ROI 區(qū)域,減少外界信息的干擾.其次將通用的人臉識(shí)別算法拆分到系統(tǒng)的不同模塊中,其中將利用殘差神經(jīng)網(wǎng)絡(luò)(ResNet)提取人臉特征的復(fù)雜操作單獨(dú)布置在服務(wù)端,而簡單的人臉特征距離匹配,即在128 維空間中進(jìn)行人臉相似性的計(jì)算布置在客戶端.整個(gè)系統(tǒng)通信過程中傳輸壓縮碼流,通過多視頻并行處理,可以得出人臉識(shí)別算法精度提高,并且系統(tǒng)的處理速度明顯提升.最后本系統(tǒng)采用SQL Server對需要傳輸?shù)娜四槇D像進(jìn)行序列化數(shù)據(jù)存儲(chǔ),在通信過程中可以實(shí)現(xiàn)不同計(jì)算機(jī)間的數(shù)據(jù)準(zhǔn)確接收,從而避免信息在傳輸過程中的丟失.
首先利用GrabCut 算法對輸入圖像進(jìn)行預(yù)處理操作,排除了系統(tǒng)輸入圖片中的干擾信息,得到準(zhǔn)確的待識(shí)別人臉前景圖像.如圖2所示,在輸入視頻幀中設(shè)置人臉框,圖2(a)為固定的人臉框,圖2(b)為輸入待識(shí)別人臉圖像后的示意,其中輸入的待識(shí)別人臉圖像可當(dāng)作一組像素集合,該像素集合可以分為區(qū)域項(xiàng)和邊界項(xiàng),如圖2(a)所示,而區(qū)域項(xiàng)和邊界項(xiàng)都需被劃分為背景模型和前景模型,最終圖像預(yù)處理的目標(biāo)就是獲取前景,即待識(shí)別人臉.該算法結(jié)合人為設(shè)定的人臉框和GrabCut 核心算法原理,主要解決的就是判斷某一個(gè)像素點(diǎn)屬于前景模型還是背景模型,一旦指定的人臉框內(nèi)輸入框選目標(biāo),即待識(shí)別人臉,則將人臉框外的像素集當(dāng)作背景區(qū)域,通過對人臉圖像的區(qū)域像素點(diǎn)和邊界像素點(diǎn)進(jìn)行區(qū)分,從而準(zhǔn)確地提取人臉前景.
圖2 圖像預(yù)處理示意圖
如流程圖3所示,該算法主要包含初始區(qū)和迭代區(qū).首先初始區(qū)得到描述前景的全協(xié)方差混合高斯模型(GMM)和描述背景的GMM 的3 個(gè)參數(shù),其次迭代區(qū)分配其余像素.
首先使用k個(gè)高斯分量(一般取k=5)的GMM 來對背景和目標(biāo)進(jìn)行建模,其中背景包含正確的背景像素和可能是背景的像素,前景包含正確的前景像素和可能是前景的像素,由此得到背景模型(BGM)和前景模型(FGM).其次采用聚類算法將各自模型中的像素分到不同的模型樣本中,利用各自的樣本來估計(jì)高斯模型內(nèi)的參數(shù),如式(1).其中 πi表示每一個(gè)高斯分量的權(quán)重,μi表示每個(gè)高斯分量的均值向量,Σi表示協(xié)方差矩陣,x表示RGB 三通道向量,這3 個(gè)參數(shù)即為初始區(qū)中計(jì)算所得的初始化值.
圖3 圖像預(yù)處理算法流程圖
圖3中BGM 和FGM 中5 個(gè)單高斯模型分量組合成了混合高斯模型,一旦確定了各自GMM 的3 個(gè)參數(shù),其余未確定的像素中知道任一像素的RGB 顏色值后,代入前景或者背景的GMM,從而得到該像素是前景或背景的概率,重新分配未知的像素點(diǎn),這樣每個(gè)模型的像素集合就已更新,接著對估計(jì)的高斯模型重新更新參數(shù),最后將構(gòu)建好的高斯模型中的區(qū)域項(xiàng)和邊界項(xiàng)進(jìn)行結(jié)合,其中式(1)和式(2)是區(qū)域項(xiàng)像素的計(jì)算方法,式(3)是邊界項(xiàng)像素的計(jì)算方法,式(3)中計(jì)算相鄰兩個(gè)相鄰像素m和n之間RGB 的歐式距離,參數(shù) β由圖像的對比度確定,常數(shù) γ為50.最后采用最大流算法,對未知的像素點(diǎn)重新分配并進(jìn)行學(xué)習(xí),從而準(zhǔn)確區(qū)分出每一個(gè)像素的歸屬,得出其屬于FGM 還是BGM.
傳統(tǒng)的圖像傳輸大多是基于像素訪問進(jìn)行傳輸,傳輸?shù)拇笮∈菆D像的分辨率和圖像的通道數(shù)的乘積.就一般普通攝像頭拍攝到的單通道灰度圖像而言,其分辨率是640×480 時(shí),一次要傳輸?shù)臄?shù)據(jù)量大小是640×480×1=307 200 個(gè)字節(jié),若是彩色三通道圖像分辨率則為640×480×3=921 600 個(gè)字節(jié),可見采用基于像素訪問的方式傳輸圖像會(huì)對網(wǎng)絡(luò)資耗費(fèi)巨大,從而造成視頻的卡頓,所以本文采用二進(jìn)制碼流的傳輸方式,對圖像進(jìn)行壓縮解壓,同時(shí)利用TcpSocket 通信方式來傳送圖片二進(jìn)制數(shù)據(jù),如圖4所示,通過壓縮解壓,內(nèi)存里的二進(jìn)制圖片數(shù)據(jù)和OpenCV 中的圖片格式相互轉(zhuǎn)換,本文的圖片壓縮了20%,在不影響人臉識(shí)別精度的基礎(chǔ)上,一定程度使得系統(tǒng)的運(yùn)行速度提升,也緩解了網(wǎng)絡(luò)的壓力.
圖4 圖像壓縮與解壓
人臉圖像可以用維度很大的矩陣來表征,人臉識(shí)別就是對比對的人臉進(jìn)行矩陣提取的操作,本系統(tǒng)先檢測到人臉,之后通過ResNet 將人臉生成一個(gè)128 維的向量,該節(jié)算法著重介紹人臉特征提取和人臉特征距離匹配.
本系統(tǒng)所使用的實(shí)時(shí)人臉識(shí)別方法是深度殘差網(wǎng)絡(luò)ResNet-34,并且利用了人臉識(shí)別模型和人臉關(guān)鍵點(diǎn)檢測器.首先提前制作了已知人臉圖像的特征值庫,其次根據(jù)人臉識(shí)別模型和人臉關(guān)鍵點(diǎn)檢測器,得到待識(shí)別人臉圖像的特征值,最后計(jì)算待識(shí)別人臉圖像的特征值和特征值庫的歐式距離,確定識(shí)別結(jié)果,如果兩個(gè)特征向量的歐式距離小于給定的人臉特征匹配閾值(本文閾值選定為0.5),則判斷兩幅人臉圖像為相同對象,反之則為不同對象.算法流程如圖5所示.
圖5 人臉識(shí)別算法流程
2.3.1 深度殘差網(wǎng)絡(luò)
2015年由Kaiming He 等4 名華人共同提出的深度殘差網(wǎng)絡(luò)ResNet (Residual neural Network)[15],通過增加shortcut connection (Identity Map)來直接連接深淺層網(wǎng)絡(luò),使得梯度能夠很好地傳遞到淺層,其結(jié)構(gòu)可以加速神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,也大大提高了模型的準(zhǔn)確度.
圖6是一個(gè)ResNet 的殘差學(xué)習(xí)單元(Residual Unit),從殘差學(xué)習(xí)單元可以看出ResNet 是將學(xué)習(xí)目標(biāo)進(jìn)行改變,將學(xué)習(xí)一個(gè)完整的輸出H(x),改變?yōu)閷W(xué)習(xí)輸出和輸入的差值H(x)–x,即殘差.圖6中假定某段神經(jīng)網(wǎng)絡(luò)的輸入是x,期望輸出是H(x),如果直接把輸入x傳到輸出作為初始結(jié)果,那么此時(shí)需要學(xué)習(xí)的目標(biāo)為F(x)=H(x)–x.
圖6 殘差學(xué)習(xí)單元
2.3.2 人臉特征提取
本文采用ResNet-34 模型提取人臉圖像中具有代表性的特征向量,在網(wǎng)絡(luò)訓(xùn)練初始階段,每個(gè)特征向量表示為一個(gè)特征點(diǎn),所有的特征點(diǎn)以高斯分布的形式存在于特征空間中,ResNet-34 模型可以使網(wǎng)絡(luò)在訓(xùn)練過程中,屬于同一人的特征點(diǎn)能夠逐漸聚合,而不屬于同一人的特征點(diǎn)能夠逐漸分離,從而對人臉特征點(diǎn)進(jìn)行分類識(shí)別.
本系統(tǒng)在服務(wù)端首先使用預(yù)測算子獲取得到的人臉區(qū)域中的五官的幾何點(diǎn)區(qū)域,加載68 個(gè)特征點(diǎn)的人臉標(biāo)準(zhǔn)特征模型;其次加載ResNet 模型參數(shù),獲得ResNet-34 訓(xùn)練模型.在系統(tǒng)輸入圖片或視頻時(shí),如果存在人臉就使用ResNet-34 的接口獲取人臉特征向量.提取人臉特征點(diǎn)中將ResNet-34 網(wǎng)絡(luò)的layer4 作為人臉的特征層,此時(shí)的特征才是人臉的特征.提取的人臉的68 個(gè)特征點(diǎn)(例如眼、嘴等位置)如圖7所示.
圖7 人臉68 個(gè)特征點(diǎn)示意
2.3.3 人臉特征匹配
人臉特征匹配即距離匹配,是在獲取特征向量之后使用歐式距離和本地已知人臉特征數(shù)據(jù)集的特征向量進(jìn)行匹配,通過計(jì)算得到128 維空間中兩個(gè)點(diǎn)之間的真實(shí)距離.
如圖8所示,二維坐標(biāo)圖中點(diǎn)A(x1,y1)和B(x2,y2)兩者相似度為距離dist(A,B),可通過歐式距離公式計(jì)算,如式(4)所示.三維空間,點(diǎn)A′(x1,y1,z1)和B′(x2,y2,z2)兩者相似度為距離dist(A′,B′),歐式距離計(jì)算如式(5)所示.128 維向量空間上兩點(diǎn)A′′(x11,x12,x13,···,x1(128))和B′′(x21,x22,x23,···,x2(128))的值,如式(6)所示.
圖8 空間歐氏距離示意圖
本文采用的人臉識(shí)別技術(shù)是使用殘差神經(jīng)網(wǎng)絡(luò)模型將人臉圖像映射為128 維特征向量,計(jì)算特征向量間的歐式距離,進(jìn)而比較人臉圖像的相似度.經(jīng)過實(shí)際驗(yàn)證,本文設(shè)置人臉特征匹配閾值為0.5,如果兩個(gè)特征向量的歐式距離小于給定的閾值0.5,則判斷兩幅人臉圖像為相同對象,反之則為不同對象.與上述深度學(xué)習(xí)人臉識(shí)別方法相比,該方法的網(wǎng)絡(luò)結(jié)構(gòu)不受數(shù)據(jù)集影響,也不需要人為地統(tǒng)計(jì)選擇適合地中間層和特征度量方法.
本實(shí)驗(yàn)的硬件支持是具有Intel(R)Core(TM)i7-8700 型號(hào)的CPU 和NVIDIA GTX2080Ti 顯卡支持的計(jì)算機(jī),用來處理人臉識(shí)別算法中的提取人臉特征點(diǎn)操作,攝像頭使用TL-IPC42A-4,分辨率為1080 P,采集頻率15 幀/秒.本實(shí)驗(yàn)使用了Qt 5.10.1 軟件,輔助環(huán)境為CUDA v10.0,OpenCV 3.4.0.
本文使用CeleA (CelebFaces Attribute,名人人臉屬性數(shù)據(jù)集)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),該數(shù)據(jù)集包含了已做好特征標(biāo)記的202 599 張圖片.部分?jǐn)?shù)據(jù)集圖片如圖9所示.
圖9 CeleA 部分人臉圖像
3.2.1 基于GrabCut 的ROI 提取實(shí)驗(yàn)
輸入待識(shí)別人臉圖像,經(jīng)過圖像預(yù)處理算法GrabCut處理后如圖10所示.精準(zhǔn)提取人臉前景區(qū)域,為提升人臉識(shí)別的算法精度作了鋪墊,系統(tǒng)采用基于GrabCut的ROI 提取算法有明顯的優(yōu)勢,優(yōu)勢體現(xiàn)在兩方面,人臉識(shí)別精度和計(jì)算效率.實(shí)驗(yàn)結(jié)果如表1和表2所示,在表2中,輸入視頻的幀率15 幀/s,每隔30 幀識(shí)別一次.
圖10 圖像預(yù)處理實(shí)驗(yàn)結(jié)果圖
表1 人臉特征距離匹配值
表2 針對ROI 算法系統(tǒng)耗時(shí)對比
表1中分別給出了在使用ROI 提取算法和未使用ROI 提取算法時(shí)姓名為000004 的人與數(shù)據(jù)庫中的人進(jìn)行人臉特征距離匹配的結(jié)果,即人臉識(shí)別結(jié)果,最后給出了使用該提取算法對圖像做預(yù)處理比未使用該算法時(shí)的人臉識(shí)別精度提高百分比值,當(dāng)000004 號(hào)人與數(shù)據(jù)庫中202 599 進(jìn)行人臉特征距離匹配時(shí),精度提高了5.4602%,結(jié)果表明基于GrabCut 的ROI 提取算法在一定程度上提高了人臉識(shí)別的精度.
表2是分別計(jì)算了使用ROI 算法在客戶端和服務(wù)端的影響,在客戶端中主要測試了ROI 提取算法的耗時(shí),與客戶端總耗時(shí)進(jìn)行了比對,實(shí)驗(yàn)結(jié)果如表2中t/T所示,其中t表示ROI 提取算法耗時(shí),T表示客戶端總耗時(shí),當(dāng)視頻1 輸入系統(tǒng)時(shí),ROI 提取算法耗時(shí)僅占客戶端總耗時(shí)的12.75%,結(jié)果表明采用基于GrabCut的ROI 提取算法在客戶端耗時(shí)比例不大,并不是影響系統(tǒng)計(jì)算效率的主要因素;在服務(wù)端對提取人臉特征點(diǎn)的計(jì)算效率進(jìn)行了測試,在系統(tǒng)中,由于采用基于GrabCut 的ROI 提取算法主要是服務(wù)于服務(wù)端的提取特征點(diǎn)操作,所以實(shí)驗(yàn)對系統(tǒng)在沒有使用ROI 提取算法時(shí)服務(wù)端提取特征點(diǎn)的耗時(shí),和系統(tǒng)使用ROI 提取算法進(jìn)行了耗時(shí)對比,計(jì)算出了使用ROI 提取算法對提取人臉特征點(diǎn)的計(jì)算效率提高的百分比,計(jì)算結(jié)果如表2中(T'–t')/T'所示,其中t'表示系統(tǒng)采用ROI 提取算法服務(wù)端耗時(shí),T'表示系統(tǒng)未采用ROI 提取算法時(shí)服務(wù)端的耗時(shí),當(dāng)視頻1 輸入系統(tǒng)進(jìn)行測試時(shí),系統(tǒng)使用ROI 提取算法時(shí)提取人臉特征點(diǎn)的計(jì)算效率提高了74.52%,結(jié)果表明該ROI 提取算法確實(shí)有效提升了系統(tǒng)中提取人臉特征點(diǎn)的計(jì)算效率.
3.2.2 基于ResNet 的人臉識(shí)別實(shí)驗(yàn)
已有人臉數(shù)據(jù)庫如圖11所示,其中姓名為左上角數(shù)字,人臉圖像以及人臉特征值如圖所示,并且在數(shù)據(jù)庫中采用通用唯一識(shí)別碼UUID (Universally Unique IDentifier)來對樣本進(jìn)行編號(hào),人臉圖像及人臉特征值均用二進(jìn)制數(shù)據(jù)表示以碼流的形式在前后端交互式系統(tǒng)中傳遞信息.
圖11 已知人臉數(shù)據(jù)庫樣本示意
本實(shí)驗(yàn)選取了CeleA 中的202 599 張圖片,進(jìn)行大樣本測試的結(jié)果部分示意圖如圖12所示,圖內(nèi)小框即為人臉的68 個(gè)特征點(diǎn)區(qū)域,下方字體所表示的是識(shí)別結(jié)果,上方字體則代表了已有人臉數(shù)據(jù)庫的本人身份.若兩個(gè)表示相同,即代表識(shí)別正確,反之則代表識(shí)別錯(cuò)誤.就姓名為000004 的人而言,與已知人臉數(shù)據(jù)庫特征值比對結(jié)果如表1所示,其中j表示已知人臉數(shù)據(jù)庫的人臉姓名,i=000004 表示待識(shí)別人臉正確識(shí)別結(jié)果的姓名應(yīng)為000004,判斷的條件為在該列中找最小數(shù)值,即為識(shí)別本人,數(shù)值計(jì)算公式如式(6).
圖12 大樣本人臉識(shí)別測試結(jié)果
實(shí)驗(yàn)中判斷系統(tǒng)人臉識(shí)別算法的優(yōu)劣,不僅需要精準(zhǔn)率,即人臉識(shí)別正確的結(jié)果占識(shí)別結(jié)果的比例,同時(shí)需要考慮召回率,即人臉識(shí)別正確的情況占本身系統(tǒng)輸入中正確情況的比例,表3給出了精準(zhǔn)率和召回率評判的4 個(gè)參數(shù)TP(True Positive),FP(False Positive),FN(False Negative)和TN(True Negative),精準(zhǔn)率P(Precision)和召回率R(Recall)的計(jì)算公式如式(7)和式(8)所示.
表3 評判參數(shù)
表4是針對人臉識(shí)別算法的評判標(biāo)準(zhǔn),評判指標(biāo)包括,已知人臉數(shù)據(jù)庫的圖像總數(shù),即樣本總數(shù),人臉識(shí)別測試結(jié)果精準(zhǔn)率,召回率以及單幀圖像識(shí)別平均耗時(shí).由表4可知,在已知的具備人臉不同表情、不同背景、不同光照條件下的人臉數(shù)據(jù)庫中,通過實(shí)驗(yàn)結(jié)合式(7)和式(8)計(jì)算可得,在20 萬余個(gè)樣本的測試中,識(shí)別精準(zhǔn)率高達(dá)99.84%,召回率達(dá)94.13%,該結(jié)果說明了本文的人臉識(shí)別算法具有較高的識(shí)別精度,同時(shí)極大地減少了誤判、漏判等情況.其中由于存在部分嚴(yán)重遮擋的圖像,導(dǎo)致仍有部分未能正確識(shí)別,同時(shí)單幀圖像識(shí)別平均耗時(shí)達(dá)到0.067 s,實(shí)時(shí)性很高.
表4 人臉識(shí)別算法評判結(jié)果
基于前后端交互的人臉識(shí)別系統(tǒng)通過分別將人臉識(shí)別核心算法布置在服務(wù)端和客戶端中,其中服務(wù)端進(jìn)行提取特征點(diǎn),客戶端進(jìn)行特征點(diǎn)距離匹配,如表5所示,分別對交互系統(tǒng)和非交互系統(tǒng)分別進(jìn)行測試,同時(shí)選用了5 個(gè)視頻進(jìn)行測試來驗(yàn)證系統(tǒng)的各項(xiàng)處理耗時(shí).
在表5中,輸入視頻的幀率15 幀/s,每隔30 幀識(shí)別一次,作為該連續(xù)30 幀的人臉識(shí)別結(jié)果,前后端交互式系統(tǒng)是將人臉識(shí)別算法中的提取特征點(diǎn)和特征點(diǎn)距離匹配拆分在兩端并發(fā)進(jìn)行,而非交互式系統(tǒng)整個(gè)系統(tǒng)流程并未拆分.從表中交互式系統(tǒng)和非交互式系統(tǒng)的系統(tǒng)總耗時(shí)和平均耗時(shí)2.0147 幀/s 和2.5409 幀/s來看,明顯交互式系統(tǒng)的要高速.交互式系統(tǒng)中的傳輸是在局域網(wǎng)內(nèi)通過二進(jìn)制形式傳輸,耗時(shí)可忽略不計(jì),證明傳輸?shù)拇a流以及圖像預(yù)處理操作起到了作用.系統(tǒng)提高了網(wǎng)絡(luò)的傳輸速率,首先,系統(tǒng)采用的GrabCut算法提取人臉ROI 區(qū)域,減少了系統(tǒng)輸入圖像中的冗余和干擾信息;其次,將人臉識(shí)別算法中的人臉特征提取和人臉特征匹配分布于服務(wù)端和客戶端,均衡了服務(wù)端和客戶端兩端的網(wǎng)絡(luò)以及計(jì)算壓力;最后,在本系統(tǒng)客戶端、數(shù)據(jù)庫、服務(wù)端進(jìn)行數(shù)據(jù)傳輸時(shí),圖片均經(jīng)過壓縮,使得數(shù)據(jù)能夠快速地通過網(wǎng)絡(luò)傳輸.可見本系統(tǒng)有好的人臉識(shí)別效果和較快的系統(tǒng)處理速度.
表5 系統(tǒng)測試結(jié)果
本文提出了一種基于前后端交互的人臉識(shí)別系統(tǒng),該系統(tǒng)提出了一種基于GrabCut 的ROI 提取算法對視頻幀進(jìn)行預(yù)處理,實(shí)驗(yàn)結(jié)果顯示可以精準(zhǔn)地提取到ROI 區(qū)域,對輸入的待識(shí)別圖像幀進(jìn)行提取人臉特征點(diǎn)和特征點(diǎn)距離匹配操作,不僅具有準(zhǔn)確的人臉識(shí)別效果,而且減輕了網(wǎng)絡(luò)的壓力和計(jì)算機(jī)的荷載,傳輸過程采用碼流形式,加快了系統(tǒng)的傳輸速率.整個(gè)系統(tǒng)既提升了人臉識(shí)別的精度和魯棒性,又提升了人臉識(shí)別系統(tǒng)的快速性.但目前發(fā)展的對于人臉識(shí)別特征提取以及相關(guān)的表情識(shí)別[15,16]、圖像預(yù)處理[17,18]、網(wǎng)絡(luò)的傳輸[19]等技術(shù)對整個(gè)系統(tǒng)的優(yōu)化也有幫助,因此在保證較高的識(shí)別效果和較快的系統(tǒng)處理速度的條件下又要增加新的實(shí)時(shí)性功能是本文需要進(jìn)一步研究的問題.