專利名稱:基于人臉認證的屏幕保護方法及裝置的制作方法
技術領域:
本發(fā)明涉及一種屏幕保護方法及裝置,尤其涉及一種基于人臉認證的屏幕保護方法及裝置。
背景技術:
對于屏幕保護方法來說,經(jīng)常使用的方法是通過程序控制來播放屏幕保護圖像,目前的屏幕保護程序一般是針對視頻來制作的,對于合成視頻捕獲設備(如攝像頭)捕捉視頻的應用很少。
而隨著網(wǎng)絡視頻技術的廣泛應用,越來越多的人開始應用攝像頭等視頻捕捉設備進行網(wǎng)上聊天等活動,同時針對于視頻捕捉設備的應用程序也在日益增多。
另一方面,作為網(wǎng)上聊天功能的需要,攝像頭通常捕捉到的圖像是使用者的人臉,而人臉識別技術也是目前在計算機領域研究的一個重點。
因此,能否將人臉識別技術與屏幕保護方法結合起來,已經(jīng)成為業(yè)內亟待解決的問題。
發(fā)明內容
本發(fā)明所要解決的技術問題在于提供一種基于人臉認證的屏幕保護方法及裝置,將攝像頭捕捉到的圖像與背景圖像進行合成,從而提供屏幕保護,同時對捕捉到的人臉圖像進行人臉認證,從而開鎖屏幕保護。
本發(fā)明提供一種基于人臉認證的屏幕保護方法,包括如下步驟(1)設定對從視頻捕捉設備捕捉到的視頻圖像啟動人臉認證的條件;
(2)播放背景視頻文件作為當前屏幕保護圖像的背景;(3)將視頻捕獲設備捕捉到的視頻圖像拆分成多路視頻流;(4)將所述多路視頻流與所述背景視頻進行合成并顯示;(5)檢測步驟(1)設定的啟動條件是否滿足,如果滿足,則在所述由視頻捕獲設備捕捉到的視頻圖像中進行人臉識別,將識別出的人臉與數(shù)據(jù)庫中存儲的基礎模型進行比對認證,認證通過時開鎖屏幕保護。
本發(fā)明進而提供一種基于人臉認證的屏幕保護裝置,包括條件設定模塊,用于設定對從視頻捕捉設備捕捉到的視頻圖像啟動人臉認證的條件;背景播放模塊,用于播放背景視頻文件作為當前屏幕保護圖像的背景;視頻拆分模塊,用于將視頻捕獲設備捕捉到的視頻圖像拆分成多路視頻流;視頻合成模塊,用于將所述多路視頻流與所述背景視頻進行合成并顯示;人臉認證模塊,用于檢測所述條件設定模塊設定的啟動條件是否滿足,如果滿足,則在所述由視頻捕獲設備捕捉到的視頻圖像中進行人臉識別,將識別出的人臉與數(shù)據(jù)庫中存儲的基礎模型進行比對認證,認證通過時開鎖屏幕保護。
本發(fā)明豐富了用戶對攝像頭設備的使用,讓用戶在使用屏幕保護的過程當中,體驗到人臉識別、背景視頻等技術給人們帶來的樂趣和安全保障,極大地豐富了人們的娛樂生活。
圖1為根據(jù)本發(fā)明實施例所述的基于人臉認證的屏幕保護方法流程圖;圖2為根據(jù)本發(fā)明實施例所述的人臉認證流程圖;
圖3為根據(jù)本發(fā)明實施例所述的樣本訓練流程示意圖;圖4為根據(jù)本發(fā)明實施例所述的人臉樣本的標定與采集示意圖;圖5為根據(jù)本發(fā)明實施例所述的人臉圖像非線性矯正示意圖;圖6為根據(jù)本發(fā)明實施例所述的非線性矯正原理示意圖;圖7為根據(jù)本發(fā)明實施例所述的人臉圖像光照處理結果示意圖;圖8為根據(jù)本發(fā)明實施例所述的基于AdaBoost的特征抽取方法流程圖;圖9為根據(jù)本發(fā)明實施例所述的支持向量機最優(yōu)分類面示意圖;圖10A、圖10B為根據(jù)本發(fā)明實施例所述的人臉認證輸出結果示意圖。
具體實施例方式
如圖1所示,為根據(jù)本發(fā)明實施例所述的基于人臉認證的屏幕保護方法流程圖一方面,由計算機正常執(zhí)行存儲的現(xiàn)有屏幕保護程序,如步驟107播放現(xiàn)有背景視頻文件。
步驟108對視頻文件進行音頻解碼與視頻解碼。
解碼后的音頻可以由音頻設備輸出。視頻可以作為與攝像頭采集的圖像進行合成。
另一方面步驟101首先由視頻捕捉設備(例如攝像頭)捕捉視頻圖像。
步驟102結合人臉模型庫,在捕捉的圖像基礎上進行人臉追蹤識別與認證。
步驟103將捕捉到的視頻圖像轉換成RGB24格式。
視頻捕獲設備捕獲到的原始視頻圖像,一般是RGB或者YUV2的格式。如果是YUV2或者RGB32格式,那么需要進行格式轉換,把它轉換成RGB24格式。
步驟104拆分視頻流。
視頻圖像的拆分與合成技術,現(xiàn)有技術中已經(jīng)提供,例如,Windows平臺的DirectX9.0技術開發(fā)的多媒體應用程序既可以實現(xiàn)。本發(fā)明的實施例把轉換后的RGB24格式的圖像通過Inifinite Pin Tee Filter把原始視頻圖像進行多路拆分,就是把一路視頻流按照一定的算法進行多路輸出,輸出后的視頻流輸入到視頻合成器。
步驟105合成視頻流。
背景視頻文件經(jīng)過視頻解碼后輸入到視頻合成器。
步驟106視頻合成器把輸入的多路視頻進行疊加、銳化等處理后輸出到視頻顯示設備上。
此外,本發(fā)明實施例中,還可以進一步對人臉認證設定啟動條件,例如,可以通過手動設置其為常開狀態(tài),也就是無條件認證,在整個屏幕保護期間都進行人臉認證,還可以設置為當視頻圖像中的人臉面積占據(jù)整幀圖像面積的一定比例時啟動,例如30%。因為人臉面積過小,說明使用者距離計算機過遠,并沒有開鎖屏幕保護的意愿。通過設置人臉認證開啟條件,可以更加靈活的運用本發(fā)明。
相應的,從裝置角度來說,本發(fā)明實施例還提供一種基于人臉認證的屏幕保護裝置,包括條件設定模塊,用于設定對從視頻捕捉設備捕捉到的視頻圖像啟動人臉認證的條件;背景播放模塊,用于播放背景視頻文件作為當前屏幕保護圖像的背景;編碼轉換模塊,用于將視頻捕獲設備捕捉到的視頻圖像進行編碼轉換。
視頻拆分模塊,用于將視頻捕獲設備捕捉到的、經(jīng)由所述編碼轉換模塊轉換成RGB24格式的視頻圖像拆分成多路視頻流;視頻合成模塊,用于將所述多路視頻流與所述背景視頻進行合成并顯示;
人臉認證模塊,用于檢測所述條件設定模塊設定的啟動條件是否滿足,如果滿足,則在所述由視頻捕獲設備捕捉到的視頻圖像中進行人臉識別,將識別出的人臉與數(shù)據(jù)庫中存儲的基礎模型進行比對認證,認證通過時開鎖屏幕保護。
同樣,所述條件設定模塊,設置的啟動條件,可以包括無條件啟動,或當視頻圖像中的人臉面積占據(jù)整幀圖像面積的一定比例時啟動。
實現(xiàn)本發(fā)明的屏幕保護裝置及方法,一方面的重點在于視頻拆分與合成技術,另一方面就在于人臉認證技術?,F(xiàn)有技術已經(jīng)提供有很多人臉識別認證的方法,本發(fā)明實施例提供一種基于Gabor特征和支持向量機的人臉認證方式,同樣適用于本發(fā)明。也可以說,本發(fā)明是這種人臉認證方法的實際運用。
如圖2所示,為根據(jù)本發(fā)明實施例所述的人臉認證流程圖,首先通過人臉樣本圖像,為每個需要認證的用戶訓練獲得一個一對多的支持向量機人臉模型(步驟201);采集攝像頭輸入的視頻圖像,搜索并檢測圖像中的正面人臉,并對其進行持續(xù)追蹤與驗證,確保追蹤的人臉是正面人臉(步驟202);自動標定正面人臉中的器官特征點,并據(jù)此對檢測到的人臉進行預處理(步驟203);然后計算經(jīng)過預處理后的人臉圖像的Gabor特征,從高維Gabor特征中挑選出分類能力最強的部分Gabor特征組成低維特征向量(步驟204);將挑選后的低維特征向量輸入到所述人臉模型中,進行人臉識別,返回與各人臉模型的相似度數(shù)據(jù)(步驟205);結合連續(xù)數(shù)幀圖像的相似度數(shù)值,輸出最終的人臉認證結果(步驟206)。
圖2中步驟201所述的訓練過程,可以采用多種方式進行訓練,如圖3所示,為本發(fā)明實施例采用的樣本訓練流程示意圖,首先針對每個需要認證的用戶,采集正樣本與反樣本人臉圖像(步驟301);對所有樣本人臉進行標定,確定人臉樣本中的人臉器官特征點位置(步驟302);根據(jù)標定結果,對所有樣本圖像進行預處理(步驟303);計算經(jīng)過預處理后的樣本圖像的Gabor特征,從高維Gabor特征中挑選出分類能力最強的部分Gabor特征組成低維特征向量(步驟304);利用所述低維特征向量,采用一對多支持向量機對不同認證用戶進行訓練,為每個用戶獲得一個一對多的支持向量機人臉模型(步驟305)。
圖2中步驟202所述的人臉追蹤,也可以通過多種方法實現(xiàn),例如中國專利申請200510135668.8中提供的一種視頻序列中人臉的實時檢測與持續(xù)追蹤的方法及系統(tǒng),該申請采用AdaBoost訓練算法訓練正面人臉的分層檢測模型,并分尺度搜索輸入的視頻圖像,確定圖像中多個人臉的位置;接著系統(tǒng)對檢測的人臉在后續(xù)幾幀進行驗證,驗證完畢再結合基于Mean shift和顏色直方圖的人臉跟蹤算法實現(xiàn)人臉的持續(xù)跟蹤;在跟蹤過程中可進行人臉的驗證,確定跟蹤結果的準確性。該系統(tǒng)已在多場景中對多個人臉進行了測試,測試結果表明本文的人臉檢測和跟蹤算法可以快速準確檢測不同表情、不同膚色、不同光照條件下的多個正面人臉,可以檢測-20°到20°深度旋轉、-20°到20°平面旋轉的人臉,可實時跟蹤任意姿態(tài)人臉,包括側面、旋轉人臉等。
圖2中步驟203所述的人臉器官特征點定位,也有很多種方法可以實現(xiàn),例如中國專利申請200610011673.2中提供的定位方法。根據(jù)本發(fā)明的實施例,可以通過以下步驟確定雙眼位置(1)在已獲人臉位置信息的基礎上,采用統(tǒng)計方式確定左眼搜索區(qū)域和右眼搜索區(qū)域,并確定左眼初選位置與右眼初選位置;(2)在所述左眼與右眼搜索區(qū)域內,分別采用左眼局部特征檢測器與右眼局部特征檢測器,對所有左眼初選位置和右眼初選位置進行判別,并為每個初選位置確定一個單眼相似度數(shù)值;(3)從所有左眼初選位置與右眼初選位置中,分別選擇相似度數(shù)值最大的前N1個位置作為左眼候選位置和右眼候選位置,并將所有左眼和右眼候選位置配成雙眼候選對,以每一個候選對為基準確定雙眼區(qū)域;(4)采用雙眼區(qū)域檢測器作為全局約束,對所述每一個雙眼區(qū)域進行判別,為其中每個雙眼候選對確定一個雙眼相似度數(shù)值;(5)選擇雙眼相似度數(shù)值最大的前M1個雙眼候選對,對其中的所有左眼候選位置與所有右眼候選位置分別計算平均值,作為左眼特征點位置與右眼特征點位置。
并可以通過以下步驟確定嘴巴位置(1)在已獲眼睛位置信息的基礎上,采用統(tǒng)計方式確定嘴巴位置搜索區(qū)域,并確定嘴巴初選位置;(2)在嘴巴位置搜索區(qū)域內,采用嘴巴局部特征檢測器對每一個嘴巴初選位置進行判別,并為之確定一個嘴巴局部相似度數(shù)值;(3)選擇嘴巴局部相似度數(shù)值最大的前N2個初選位置作為嘴巴候選位置,對于每個候選位置,以左眼特征點位置、右眼特征點位置、嘴巴候選位置為基準,確定臉部區(qū)域;(4)采用臉部區(qū)域檢測器作為全局約束,對每個所述確定的臉部區(qū)域進行判別,為其中的每個嘴巴候選位置確定一個嘴巴全局相似度數(shù)值;(5)選擇嘴巴全局相似度數(shù)值最大的前M2個候選位置,計算這些候選位置的平均值,作為嘴巴特征點位置。
圖2中步驟203所述的預處理步驟,以及圖3中步驟303所述的預處理步驟,過程都是相似的,下面主要以對樣本圖像的預處理為例來進一步說明。
在進行人臉識別前,必須對輸入人臉圖像的尺寸、位置和灰度進行預處理,使不同的人臉圖像的尺寸、灰度保持一致。另外,不同圖像中人臉的位置應該保持一致,這可通過眼睛、嘴巴定位的方法,使輸入圖像中人臉眼睛、嘴巴的位置基本固定,再對整幅圖像進行仿射變換或非線性矯正。只有經(jīng)過這些預處理后,同一個人的多個輸入人臉在某些特征上才會具有一定的相似性,而不同的人臉也才會具有一定的差異,此時才可以采用統(tǒng)計模式識別算法進行模型的訓練與識別。
參考圖3中的步驟301,由于本發(fā)明采用支持向量機(SVM)的方式實現(xiàn)人臉認證(對于支持向量機的算法描述,可以參見邊肇祺、張學工等人所著的《模式識別》,清華大學出版社,2000年),因此需要收集大量反樣本人臉,以提高人臉認證的準確度。這些反樣本最好應盡量覆蓋不同表情、不同膚色、不同年齡的人臉,包含-20°到20°深度旋轉的人臉,包含戴與不戴眼鏡人臉。
人臉認證的正樣本人臉是指待認證用戶的人臉樣本,這類數(shù)據(jù)需要在實際應用時由程序自動采集用戶的樣本,并自動對用戶樣本進行預處理和特征計算。
參考圖3中的步驟302,對所有反樣本,本發(fā)明可以通過手動標定所有反樣本人臉的關鍵特征點,為每個正樣本人臉標定了三個點兩眼中心、嘴巴中心。而對于待認證用戶的正樣本可以采取自動標定的方法,獲取三個點的坐標,如圖4所示。
接著,本發(fā)明根據(jù)這些標定點可以對各個人臉進行幾何歸一化,即將人臉圖像的主要器官位置矯正到標準位置,減小樣本間的尺度、平移和平面旋轉差異,然后根據(jù)器官位置剪裁出人臉區(qū)域成為人臉樣本,使人臉樣本盡量少地引入背景干擾,且不同人臉樣本的器官位置具有一致性。
本發(fā)明引入了一幅標準人臉圖像對各個人臉樣本進行幾何歸一化和人臉區(qū)域的裁剪。首先確定待識別人臉窗口的尺度wd×ht為44×48,即寬為44,高為48。接著獲取一幅標準的正面人臉圖像,標準圖像中兩眼的y坐標一致,人臉也完全對稱,如圖4中的4A所示,標定該圖像的三個關鍵特征點。根據(jù)該圖像中雙眼的距離和位置確定裁剪的正方形人臉區(qū)域的位置。設兩眼的距離為r,兩眼連線的中心點為(xcenter,ycenter),采集矩形的寬設為2r,即兩倍雙眼間距,則矩形裁剪區(qū)域的坐標(xleft,ytop,xright,ybottom)為xleftytopxrightybottom=xcenter-rytop-0.5rxcenter+rytop+ht]]>將裁剪的人臉區(qū)域歸一化到44×48的尺寸,如圖4中的4B,并獲取歸一化后三個標定點的坐標[xstad(i),ystad(i)],i=0,1,2,前兩個為眼睛中心點,最后一個為嘴唇中心點。
任意給定原始人臉樣本和標定的三個特征點[xlabel(i),ylabel(i)],i=0,1,2,如圖4中的4C,比較直接的裁剪方法是計算這三個點與標準圖像歸一化后三點坐標間的仿射變換系數(shù)。另外,仿射變換式中不能加入人臉各個方向的拉伸變換,我們僅考慮旋轉和整體縮放兩個變換。接著由仿射變換系數(shù)可以計算該裁剪圖像中任意一點到原始樣本中對應點坐標,進而獲取裁剪人臉中所有點的象素值,如圖4中的4D所示。
不過基于仿射變換的算法存在著比較明顯的缺陷。首先當人臉樣本帶表情或者輸入人臉非正面時,采用這種方法獲取的裁剪人臉的眼睛嘴唇中心點與標準圖像的眼睛嘴唇中心點偏差會比較大,特別是帶姿態(tài)樣本裁剪后的嘴唇中心點還不在圖像垂直中心軸上,眼睛位置也有差異,如圖5所示,5A是原始圖像和標定點,5B是裁剪圖像。因此對于同一人不同姿態(tài)表情的人臉,其裁剪圖像中人臉眼睛嘴唇位置差異較大,這一定程度會降低識別算法抗表情、姿態(tài)干擾的能力。
本發(fā)明的實施例采用了一種非線性矯正方法,即采用非線性的方法將輸入人臉三個中心點完全矯正到標準人臉三點的位置。首先僅考慮眼睛的兩個中心點,采用仿射變換算法在輸入人臉與標準人臉的標定點之間計算仿射變換系數(shù),此時同樣只考慮旋轉和整體縮放兩個變換。即xlabel(i)ylabel(i)=scosθ-ssinθssinθscosθxstad(i)ystad(i)+ab=c-dadcbxstad(i)ystad(i)1,i=0,1]]>上式中有四個未知數(shù),四個等式,只有唯一的一個解,設為(a,b,c,d),圖5中的5C是僅采用這四個系數(shù)獲取的裁剪結果。由這個仿射變換系數(shù)可以計算出輸入樣本中三個特征點在裁剪人臉中的對應點,設為[xtrans(i),ytrans(i)],i=0,1,2。前兩個變換坐標即眼睛的位置與標準臉的眼睛位置完全一致,但受姿態(tài)、表情等干擾,嘴巴位置差別可能比較大。為此我們需要將嘴巴位置矯正到標準位置。
如圖6所示,圖中A、B點是標準圖像中的中心點,D點是A、B的中央點,Cstad是標準嘴唇中央點,C是變換后的嘴唇點。非線性矯正過程分兩步進行,首先在y方向進行矯正,使矯正后嘴唇點的y坐標與Cstad一致,如圖6中的C′點。然后再進行x方向的矯正,我們將D與C′連接起來,DC′連線將人臉分為左右半邊,考慮水平方向的某條直線,設其y坐標為y1,其與DC′直線的交點坐標E為(x1,y1)。由于我們需要將(x1,y1)移至(xD,y1),其中xD為D的x坐標,因此需要對(xD,y1)左右兩邊的點分別進行線性變換,將E移至中軸線DCstad上??紤]某點(x,y1),對左邊的點x<x1,其矯正后點的坐標為(x·xD/x1,y1),對右邊的點x≥x1,其矯正后點的坐標為[2xD-xD·(2xD-x)/(2xD一x1),y1]??梢钥闯?,如果C′在Cstad的右側,則需要對左例的人臉進行壓縮,對右側人臉進行拉伸,這樣可以將DC′直線上所有點都矯正到人臉垂直中軸線DCstad上。
在獲取非線性矯正系數(shù)后,接著結合原始圖像獲取矯正后的人臉,設裁剪后的人臉圖像為I,該圖像尺寸為44×48,其中某點坐標為(x,y),根據(jù)非線性矯正系數(shù)獲取其矯正前的坐標(x′,y′),再由仿射變換系數(shù)獲取原始圖像中該點的坐標(xori,yori)xoriyori=c-dadcbx′y′1]]>為消除噪聲的影響,裁剪后的圖像中(x,y)的象素值設為對應點(xori,yori)鄰域范圍內所有點象素值的均值,如圖5中的5D所示。
此外,受外界光照、成像設備等因素干擾,人臉圖像亮度或對比度會出現(xiàn)異常,出現(xiàn)強陰影或反光等情況,另外不同人種的膚色間也存在這差異,因此需要對幾何歸一化和矯正后的人臉樣本進行灰度均衡化處理,改善其灰度分布,增強模式間的一致性。不過,人臉識別中的光照問題一直是比較困難但也是非常重要的問題。多年來已經(jīng)有了非常多的光照處理算法,但性能都比較一般,抗各種環(huán)境光干擾的能力都比較差。由于基于統(tǒng)計方法的人臉識別算法需要采集人臉的正樣本并進行訓練,但人臉正樣本的光照一般比較單一,即使對加入不同光照的正樣本,訓練數(shù)據(jù)也只能覆蓋少數(shù)幾種光照分布。而實際場景中光照是非常復雜的,而同樣的人臉但光照差別較大時灰度也會存在這明顯的差異,計算出的圖像特征也會存在這差別。另外,如果輸入人臉的光照不均勻,部分區(qū)域光照強,部分區(qū)域光照弱一些,此時即使對圖像進行全圖的歸一化、直方圖均衡等,都很難得到光照比較均勻的人臉數(shù)據(jù),這就會大大降低人臉識別的精度。
本發(fā)明實施例采用的光照處理算法可以分兩步進行,首先對圖像進行整體的灰度歸一化,接著結合標準圖像進行局部的灰度歸一化。
整體歸一化比較簡單,給定一幅標準人臉圖像,如圖4中的4B,計算標準人臉灰度的均值Ps和方差σs,接著計算輸入樣本灰度的均值P和方差σ,其任一象素值I(x,y)歸一化后的象素值為I′(x,y)=[I(x,y)-P]·σs/σ+Ps
設標準圖像某點(x,y)的象素值為S(x,y),輸入人臉灰度歸一化后該點值為I′(x,y)。由于這兩幅圖像中眼睛、嘴巴的位置已經(jīng)完全對應,因此樣本中各個器官的位置與標準人臉的器官位置差別也不會太大。也就是說兩幅圖像各個局部的灰度應該近似一致,如果灰度不一致,則可以認為是輸入人臉的光照不均勻,需要進行灰度的矯正,由此可以用標準人臉的灰度去矯正輸入人臉的灰度。
基于此考慮,本發(fā)明實施例對各個象素點分別進行處理,考慮其中某個點(x,y),抽取其鄰域范圍內所有象素點,鄰域長寬均為W,我們統(tǒng)計輸入樣本中(x,y)鄰域內W×W個點灰度的均值,設為AI(x,y),再統(tǒng)計標準樣本中(x,y)鄰域內W×W個點灰度的均值,設為AS(x,y)。AI(x,y)反映的當前鄰域內亮度的大小,AS(x,y)反映的是標準人臉局部光照的強度,如果兩者差異較大,則表示輸入人臉當前點附近光照不均勻,需要對該點的灰度進行矯正,又AS(x,y)與AI(x,y)的比值可以近似反映光照強度的比值,因此可以直接將該點的灰度值乘以這個比值,作為矯正結果,即(x,y)點處理后新的灰度值Ir(x,y)為Ir(x,y)=I′(x,y)·AS(x,y)/AI(x,y)W的選擇比較關鍵,W不能太大,否則灰度矯正沒有效果,W也不能太小,否則矯正后的人臉圖像與標準人臉比較接近,本文將W設為15,獲取最佳結果。如圖7所示,為光照處理前和光照處理后的結果對比示意圖,其中,7A為整體灰度歸一化后的人臉圖像;7B為根據(jù)本發(fā)明的實施例進行灰度矯正后的人臉圖像。
圖2中步驟204以及圖3中步驟304所述的特征抽取步驟,在人臉識別中是非常關鍵的環(huán)節(jié)。常用的特征有灰度特征、邊緣特征、小波特征、Gabor特征等。其中Gabor為人臉圖像提供多尺度、多方向的精細描述,表現(xiàn)出優(yōu)秀的時頻聚集性,具備很強的刻畫細節(jié)與局部結構的能力。它具有帶通濾波的性質,既能部分地抵抗慢變光照的影響,也能濾去一些高頻噪聲。同時,二維Gabor濾波器的沖激響應函數(shù)與哺乳動物的視皮層中簡單型細胞對圖像信號的響應非常相似,在理論上具備堅實的基礎。因此,本發(fā)明的實施例在實現(xiàn)人臉識別時選擇Gabor特征。
二維Gabor濾波器的沖激響應表示為ψj(x)=||kj||σ2exp(-||kj||·||x||2σ2)[exp(ikjx)-exp(-σ22)]]]>其中σ=2π,我們考慮了5個頻率ν=0,...,4,8個方向μ=0,...,7,則有 在人臉圖像的每個點,可以都計算5個頻率,8個方向,共40維Gabor特征,計算方式是將輸入圖像與各個頻率各個方向的沖激響應進行卷積,即Gj(x)=∫Ir(x′)ψj(x-x′)dx′為了提高Gabor特征的計算效率,可以采用FFT算法對這個卷積過程進行加速,先對Ir(x′)和ψj(x′)分別進行FFT變換,將變換后的結果相乘再進行反FFT變換,就可以得到圖像中所有點對于某個頻率某個方向的Gabor特征??偟腉abor特征數(shù)為5×8×44×48=84480,這個數(shù)據(jù)量是非常大的,直接采用分類算法對如此高維的特征進行訓練和識別是非常困難的,因此還需要進行特征的挑選,大幅度降低特征的維數(shù)。
每幅人臉Gabor特征的維數(shù)高達84480,而總的訓練樣本數(shù)有一萬多,而在分類器訓練時采用的是1對多的SVM算法,因此可以采用基于AdaBoost的特征挑選算法,結合1對多的分類方式和正反樣本數(shù)據(jù)從這些特征中挑選出分類能力最強的數(shù)千維特征如2000維特征出來,將挑選出的特征組成新的低維Gabor特征向量,特征選擇完畢后再采用一對多的支持向量機(SVM)算法對不同用戶進行訓練。這樣訓練算法的計算量和存儲的人臉模型的數(shù)據(jù)量都大大降低。在認證過程中,算法只需要計算出人臉的Gabor特征,結合已有的特征挑選結果挑選出低維特征,再對低維特征向量進行識別。
下面簡單介紹一下本發(fā)明實施例所采用的基于AdaBoost的特征抽取方法,如圖8所示步驟801給定兩類樣本,樣本數(shù)為L,正樣本數(shù)為Lp,反樣本數(shù)為Ln。
步驟802初始化,設置權重,正樣本為1/2Lp,反樣本為1/2Ln。
首先,為正反圖像樣本集設定權值,在一個具體的實施例中,可以將反圖像樣本集所占的權重設置為1/2,將所有正圖像樣本集所占的權重設置為1/2。當然,在其它的實施例中,也完全可以將所有反圖像樣本集所占的權重設置為2/5,將所有反圖像樣本集所占的權重設置為3/5。也就是說,可以根據(jù)需要為正反圖像樣本集設定權重。之后,要為每個正反圖像樣本設定權重,在一個具體的實施例中,可以設定每個正樣本的權重為正樣本集權重的1/Lp,設定每個反樣本的權重為反樣本集總權重的1/Ln。當然,也可以將重要的正反圖像樣本設定較高的權重。
步驟803設定迭代輪次t=1,2,...,T。
步驟804考慮所有從未入選的特征,利用單個特征訓練弱分類器,根據(jù)訓練樣本集的權值得到最優(yōu)的閾值參數(shù),使得所有樣本的加權錯誤率最小,這樣可以為每個弱分類器及其對應的特征獲取一個錯誤率。
采用第j個弱分類器hj(x)根據(jù)設定的閾值與每個圖像樣本的第j個特征Gj(x)去判斷各個樣本圖像是正樣本還是反樣本,由此可以統(tǒng)計出該弱分類器的加權錯誤率。
每個弱分類器都只處理對應的一個特征,其可表示為hj(x)=1,ifgj(x)>low_θjandgj(x)<high_θj0,otherwise]]>其中,low_θj是弱分類器hj(x)的低閾值,high_θj是弱分類器hj(x)的高閾值,如果當前圖像樣本的第j個特征Gj(x)的數(shù)值大于低閾值且低于高閾值時,所述弱分類器hj(x)輸出為1,其表示當前圖像樣本被判斷為正樣本;反之,所述弱分類器hj(x)輸出為0,其表示當前圖像樣本被判斷為反樣本。其中,弱分類器hj(x)的低閾值和高閾值是根據(jù)圖像樣本的權重設定。
關于弱分類器對圖像樣本的分類,具體來講就是,首先,第j個弱分類器hj(x)根據(jù)第1個圖像樣本第j個特征Gj(x)判斷第1個圖像樣本是正樣本還是反樣本,接下來,根據(jù)第2個圖像樣本第j個特征Gj(x)判斷第2個圖像樣本是正樣本還是反樣本,......,直到,第j個弱分類器hj(x)根據(jù)第L個圖像樣本第j個特征Gj(x)判斷第L個圖像樣本是正樣本還是反樣本。
步驟805統(tǒng)計出每個弱分類器hj(x)的錯誤率,選定錯誤率最小的預定數(shù)目個弱分類器并將其對應的特征作為當前輪的特征挑選結果。
每個弱分類器hj(x)都要對L個圖像樣本是正樣本還是反樣本進行判斷,其中必定有判斷錯的樣本,換句話說,弱分類器hj(x)可能將正樣本認定為反樣本,也可能將正樣本認定為反樣本。將該弱分類器統(tǒng)計錯誤的圖像樣本的權重求得,就可以得到這個弱分類器hj(x)的加權錯誤率。之后,將錯誤率最小的預定數(shù)目個弱分類器對應的特征作為當前輪的特征挑選結果。在一個實施例中,所述預定數(shù)目是1,也可以是,2或3等等,操作者可以根據(jù)實際情況設定這個數(shù)目。
步驟806減小選定的弱分類器判斷正確的圖像樣本的權重,增加選定的弱分類器判斷錯誤的圖像樣本的權重,并對更新后的圖像樣本的權重進行歸一化,使所有樣本的權重之和等于1,返回103,進入下一輪迭代,直至完成設定輪次,挑選出預定數(shù)目的特征。
上面的挑選方法針對的是兩類問題。對于多類問題,可以結合模式分類算法的實現(xiàn)架構設計挑選方法。如果模式分類算法采用的是一對多的架構,我們將特征挑選過程分解為多個兩類問題,每個兩類問題中其中一類是某類樣本,另一類則對應其他樣本。如果模式識別問題采用的是一對一的架構,即將多類模式識別問題分解為多個兩類一對一問題,每個兩類問題中的一類為任一類輸入樣本,第二類為另一類輸入樣本。這樣在特征挑選時需要考慮多個類似圖8的AdaBoost模塊流程,我們將各個AdaBoost模塊流程同步實現(xiàn),即將所有AdaBoost模塊的第t輪弱分類器返回的錯誤率加起來,將總的錯誤率最小的特征返回,作為該輪的特征挑選結果。各輪特征挑選完畢后再根據(jù)當前的各個AdaBoost模塊的錯誤率更新權重,挑選下一組特征。
圖2中步驟201以及圖3中步驟305所述支持向量機(SVM)是統(tǒng)計學習理論發(fā)展出的一種模式識別方法。該算法是從線性可分情況下的最優(yōu)分類面提出的??紤]圖9中所示的兩類線性可分情況,設樣本集(xi,yi),i=1,...,n,x∈Rd,y∈{+1,-1},其中yi是模式xi的類別標號,H:w·x+b=0為分類界面,H1、H2分別為平行于H且與H距離為1/‖w‖的兩平面,它們之間的距離叫做分類間隔(margin)。支持向量機的基本思想就是希望找到一個最優(yōu)線性分類面,使分類間隔盡量大,即‖w‖盡量小,并且在訓練集上分類錯誤盡量少。最優(yōu)分類面的求解問題實際上一個不等式約束下的二次函數(shù)極值問題,其最優(yōu)解為w=Σi=1nαiyixi]]>其中αi為權重。對多數(shù)樣本αi為零,少數(shù)不為零的αi對應的就是支持向量,即位于H1和H2兩平面上的樣本。最優(yōu)分類函數(shù)則為f(x)=sgn[(w·x)+b]=sgn[Σi=1nαiyi(xi·x)+b]]]>sgn()為符號函數(shù)。f(x)為1則表示識別為第一類樣本,即y=1,否則認為識別為第二類樣本。將上式中特征向量的點擊運算改為內積,且內積滿足Mercer條件,就可以將線性SVM擴展為廣義的非線性SVM,即f(x)=sgn[(w·x)+b]=sgn[Σi=1nαiyiK(xi,·x)+b]]]>采用不同的內積函數(shù)將導致不同的支持向量機算法,如多項式內積、S形函數(shù)、徑向核函數(shù)(RBF)等,與線性SVM相比,非線性SVM將最優(yōu)分類面擴展為非線性的,可以實現(xiàn)很多線性不可分情形的分類,因此分類準確率也得到提高。我們在實現(xiàn)人臉識別時,采用了基于RBF的SVM算法,即K(x,xi)=exp{-||x-xi||σ2}]]>SVM在用于多類人臉的識別時,有一對一和一對多兩種實現(xiàn)形式。一對一的SVM是在算法為任兩類樣本訓練SVM分類器,這樣如果有N類樣本,則需要訓練N×(N-1)/2個分類器。識別時將樣本依次輸入到各個SVM分類器中,每次判決都將淘汰一類樣本。當然如果某個分類器對應的兩個樣本均已淘汰,則跳過該分類器,所有判決完成后剩下的那個類別就是識別結果。一對一分類器的主要問題是訓練時只考慮了各類訓練樣本,大量的反樣本數(shù)據(jù)都浪費掉了,且這種分類器無法實現(xiàn)反樣本的拒識,因此無法應用于人臉認證算法。
一對多的SVM算法只需要為每個類別分別訓練一個分類器,每次訓練時正樣本就是該類別的訓練數(shù)據(jù),而反樣本則包含了其他各類數(shù)據(jù)及所有的反樣本數(shù)據(jù)。由于這個方法考慮了眾多的反樣本數(shù)據(jù),訓練完后得到的最優(yōu)分界面可以比較準確地將當前類別樣本與其他類別樣本分離開來,因此在實現(xiàn)多個人臉的自動認證時,一對多的SVM算法有非常好的應用價值。
一對多SVM的認證過程也比較簡單,將輸入樣本挑選后的特征輸入到N個SVM分類器中,如果所有分類器會拒識輸入特征,則認為輸入人臉與訓練庫中所有類別都不相似,算法輸出拒識的結果;反之,如果輸入特征僅通過了一個分類器,而被其他所有分類器拒識,則該分類器對應的類別就是人臉識別的結果;另一種特殊情況就是輸入特征通過了不止一個SVM分類器,算法認為其與多個類別相似,從我們實驗結果看,這種情形非常少見,因為我們在分類器訓練時各類樣本都互為其他類別的反樣本,但當不同類別的人臉比較相似時,這種情況也會出現(xiàn)。此時我們采取一種簡化方法解決這個問題,由于各個一對多SVM算法都會為每個樣本輸出一個判決數(shù)值J(x)=Σi=1nαiyiK(xi,x)+b,]]>這個數(shù)值在一定程度上也反映了輸入樣本與對應類別的接近程度,及與對應反樣本的差距大小。該數(shù)值越大,則表示輸入樣本與當前類別越相似,與其他類別差異越大。因此我們根據(jù)這個判決數(shù)值的大小處理這種特殊情況,即將未輸出拒識結果的SVM分類器返回的J(x)=Σi=1nαiyiK(xi,x)+b]]>進行排序,將最大數(shù)對應的類別作為人臉識別的結果。這盡管是一個近似的結果,但從實際結果看,這個方法的效果還是非常不錯的。
下面結合一對多SVM,對圖2中步驟205、206所述的相似度的計算進行說明。
基于一對多SVM的人臉認證算法會為每個輸入人臉輸出一個判決數(shù)據(jù)Jn(x),n=0,1,...,N-1,反映了當前人臉與對應類別的相似程度。我們將各個類別臉形數(shù)幀的判決數(shù)據(jù)組合起來,得到一個反映多幀識別信息的新的判決數(shù)Ln(x),n=0,1,...,N-1,我們將這個數(shù)作為各個類別的識別相似度。設在前面k-1幀我們求得一個相似度為Lnk-1(x),n=0,1,...,N-1,第k幀的SVM返回數(shù)為Jnk(x),n=0,1,...,N-1,則k幀的相似度計算式為Lnk(x)=min(max(Lnk-1(x)+Jnk,min_data),max_data)]]>即人臉的相似度是累加的,不過累加數(shù)需要限制最大和最小值。這樣當連續(xù)數(shù)幀某個類別的Jn(x)都大于零時,則總的相似度Ln(x)將逐漸增加;反之則逐漸減少。如果在第k幀所有類別的Lkn(x)都小于零,則拒識該人臉;如果有一個或者多個Lkn(x)大于零,則將數(shù)值最大Lkn(x)對應的類別作為人臉認證的結果。如圖10A所示,為一幀輸入人臉,圖10B是輸出結果,圖中各人的Lkn(x)用柱狀圖顯示,中間黑線是相似度判決閾值,本發(fā)明將這個閾值直接設為零。
綜上所述,本發(fā)明充分利用了多視頻合成和人臉識別技術,也就是把捕捉視頻設備捕捉到的視頻和背景視頻進行多方位的合成,形成了最終的屏幕保護程序。在這個過程中,增加了人臉識別技術,可以利用已經(jīng)采集的人臉數(shù)據(jù),對屏幕保護程序提供人臉驗證保護功能。
權利要求
1.一種基于人臉認證的屏幕保護方法,其特征在于,包括如下步驟(1)設定對從視頻捕捉設備捕捉到的視頻圖像啟動人臉認證的條件;(2)播放背景視頻文件作為當前屏幕保護圖像的背景;(3)將視頻捕獲設備捕捉到的視頻圖像拆分成多路視頻流;(4)將所述多路視頻流與所述背景視頻進行合成并顯示;(5)檢測步驟(1)設定的啟動條件是否滿足,如果滿足,則在所述由視頻捕獲設備捕捉到的視頻圖像中進行人臉識別,將識別出的人臉與數(shù)據(jù)庫中存儲的基礎模型進行比對認證,認證通過時開鎖屏幕保護。
2.如權利要求1所述的方法,其特征在于,所述步驟(1)中的啟動條件,包括無條件啟動,或當視頻圖像中的人臉面積占據(jù)整幀圖像面積的一定比例時啟動。
3.如權利要求1所述的方法,其特征在于,所述步驟(3)中,進一步包括將視頻捕獲設備捕捉到的視頻圖像進行編碼轉換。
4.如權利要求3所述的方法,其特征在于,所述步驟(3)中,將捕捉到的視頻圖像轉換成RGB24格式。
5.如權利要求1所述的方法,其特征在于,所述步驟(5),包括(51)通過人臉樣本圖像,為每個需要認證的用戶訓練獲得一個支持向量機人臉模型;(52)采集視頻捕獲設備輸入的視頻圖像,搜索并檢測圖像中的正面人臉,并對其進行持續(xù)追蹤與驗證,確保追蹤的人臉是正面人臉;(53)自動標定正面人臉中的器官特征點,并據(jù)此對檢測到的人臉進行預處理;(54)計算經(jīng)過預處理后的人臉圖像的Gabor特征,從高維Gabor特征中挑選出分類能力最強的部分Gabor特征組成低維特征向量;(55)將挑選后的低維特征向量輸入到所述人臉模型中,進行人臉識別,返回與各人臉模型的相似度數(shù)據(jù);(56)根據(jù)所述返回的相似度數(shù)據(jù),輸出最終的人臉認證結果。
6.如權利要求5所述的方法,其特征在于,所述步驟(56),是結合連續(xù)數(shù)幀圖像的相似度數(shù)值,輸出最終的人臉認證結果。
7.如權利要求5所述的方法,其特征在于,所述步驟(51)包括(1A)針對每個需要認證的用戶,采集正樣本與反樣本人臉圖像;(1B)對所有樣本人臉進行標定,確定人臉樣本中的人臉器官特征點位置;(1C)根據(jù)標定結果,對所有樣本圖像進行預處理;(1D)計算經(jīng)過預處理后的樣本圖像的Gabor特征,從高維Gabor特征中挑選出分類能力最強的部分Gabor特征組成低維特征向量;(1E)利用所述低維特征向量,采用支持向量機對不同認證用戶進行訓練,為每個用戶獲得一個的支持向量機人臉模型。
8.一種基于人臉認證的屏幕保護裝置,其特征在于,包括條件設定模塊,用于設定對從視頻捕捉設備捕捉到的視頻圖像啟動人臉認證的條件;背景播放模塊,用于播放背景視頻文件作為當前屏幕保護圖像的背景;視頻拆分模塊,用于將視頻捕獲設備捕捉到的視頻圖像拆分成多路視頻流;視頻合成模塊,用于將所述多路視頻流與所述背景視頻進行合成并顯示;人臉認證模塊,用于檢測所述條件設定模塊設定的啟動條件是否滿足,如果滿足,則在所述由視頻捕獲設備捕捉到的視頻圖像中進行人臉識別,將識別出的人臉與數(shù)據(jù)庫中存儲的基礎模型進行比對認證,認證通過時開鎖屏幕保護。
9.如權利要求8所述的裝置,其特征在于,所述條件設定模塊,設置的啟動條件,包括無條件啟動,或當視頻圖像中的人臉面積占據(jù)整幀圖像面積的一定比例時啟動。
10.如權利要求8所述的裝置,其特征在于,進一步包括編碼轉換模塊,用于將視頻捕獲設備捕捉到的視頻圖像進行編碼轉換。
11.如權利要求10所述的裝置,其特征在于,所述編碼轉換模塊,將捕捉到的視頻圖像轉換成RGB24格式。
全文摘要
本發(fā)明公開了一種基于人臉認證的屏幕保護方法及裝置,包括(1)播放背景視頻文件作為當前屏幕保護圖像的背景;(2)將視頻捕獲設備捕捉到的視頻圖像拆分成多路視頻流;(3)將所述多路視頻流與所述背景視頻進行合成并顯示;(4)在所述由視頻捕獲設備捕捉到的視頻圖像中進行人臉識別,將識別出的人臉與數(shù)據(jù)庫中存儲的基礎模型進行比對認證,符合條件時開鎖屏幕保護。本發(fā)明豐富了用戶對攝像頭設備的使用,讓用戶在使用屏幕保護的過程當中,體驗到人臉識別、背景視頻等技術給人們帶來的樂趣和安全保障,極大地豐富了人們的娛樂生活。
文檔編號G06K9/00GK1862487SQ20061001228
公開日2006年11月15日 申請日期2006年6月15日 優(yōu)先權日2006年6月15日
發(fā)明者劉凱, 黃英 申請人:北京中星微電子有限公司