
本發(fā)明涉及人臉識(shí)別的方法,特別涉及一種視頻中動(dòng)態(tài)人臉識(shí)別方法。
背景技術(shù):
:當(dāng)前,人類的視覺對(duì)于觀測(cè)的而言越來越有限,當(dāng)有物體快速閃過或物體過于小等一些情況的時(shí)候,人類的眼睛有時(shí)候是無法正確認(rèn)知到這些東西的,這和人眼睛的自身構(gòu)造和其自身的特性有關(guān),但人們又希望對(duì)這些信息進(jìn)行了解和用肉眼看到,從而我們通過計(jì)算機(jī)來代替我們的眼睛對(duì)事物進(jìn)行觀測(cè)。視頻的物體標(biāo)記和跟蹤這方面對(duì)于計(jì)算機(jī)視覺研究領(lǐng)域而言不是一個(gè)陌生的概念,近年來對(duì)物體的識(shí)別和對(duì)物體的實(shí)時(shí)跟蹤的技術(shù)越來越受大家關(guān)注,我們不滿足于記錄數(shù)據(jù),也不滿足于提取信息,希望在視頻中挖掘規(guī)律性的內(nèi)容,比如,通過一個(gè)人的姿勢(shì)就可以看出這是一個(gè)好人,還是一個(gè)在那兒徘徊等待作案時(shí)機(jī)的壞人,這需要我們做人臉的視頻識(shí)別。物體的識(shí)別屬于圖像識(shí)別的方面,對(duì)于圖像方面而言,它經(jīng)歷過3個(gè)發(fā)展階段:文字識(shí)別、數(shù)字圖像處理和識(shí)別和物體標(biāo)記。文字識(shí)別是從1950開始研究的,之后的由于數(shù)字圖像的強(qiáng)大的存儲(chǔ)能力,方便性,不易失真等有著巨大優(yōu)勢(shì),從而大家對(duì)于數(shù)字圖像處理和識(shí)別在1965年開始研究。物體的識(shí)別主要指的是對(duì)三維世界的客體及環(huán)境的感知和認(rèn)識(shí),屬于高級(jí)的計(jì)算機(jī)視覺范疇。在對(duì)于圖像識(shí)別模式而言,在其發(fā)展過程中主要有3種方式用來識(shí)別,分別是統(tǒng)計(jì)模式識(shí)別、結(jié)構(gòu)模式識(shí)別和模糊模式識(shí)別。在近10年來它一直是眾多研究人員的研究對(duì)象的核心。雖然圖像識(shí)別技術(shù)在國(guó)內(nèi)外都發(fā)展的很快,但是對(duì)于物體標(biāo)記這塊的研究并不很成熟,多數(shù)的研究都是在不是很復(fù)雜的或特定的場(chǎng)景進(jìn)行采集和分析,要做到在非特定或者是隨機(jī)場(chǎng)景還是有一定的難度的,也就是自適應(yīng)性能差,一旦目標(biāo)圖像被較強(qiáng)的噪聲污染或是目標(biāo)圖像有較大殘缺往往就得不出理想的結(jié)果。技術(shù)實(shí)現(xiàn)要素:本發(fā)明目的在于克服現(xiàn)有技術(shù)的不足,提出一種視頻中動(dòng)態(tài)人臉識(shí)別方法,先對(duì)視頻進(jìn)行處理,包括對(duì)其進(jìn)行截取,每一幀存放為圖片;之后通過對(duì)比當(dāng)前幀和上一幀,進(jìn)行相識(shí)度比對(duì),圖像相似度通過直方圖匹配算法來返回一個(gè)巴氏系數(shù),從而來確定是否出現(xiàn)快速運(yùn)動(dòng)的物體;然后對(duì)有物體出現(xiàn)的圖片進(jìn)行處理,先通過幀間差分法對(duì)整個(gè)視頻進(jìn)行處理,從而取出背景,再對(duì)物體出現(xiàn)的圖片和背景圖像進(jìn)行差分,取出物體在圖片中的位置,然后通過分析對(duì)圖片相應(yīng)區(qū)域標(biāo)記出物體的位置并進(jìn)行判斷物體為何物;之后進(jìn)行人臉的識(shí)別和膚色提取。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:一種視頻中動(dòng)態(tài)人臉識(shí)別方法,包括:對(duì)視頻進(jìn)行處理,把視頻中相應(yīng)的秒或幀轉(zhuǎn)化成圖片輸出;使用直方圖匹配法依次比較相鄰兩張圖片的相識(shí)度,當(dāng)相識(shí)度大于預(yù)設(shè)值時(shí),過濾掉沒有物體出現(xiàn)的圖片;對(duì)于有物體出現(xiàn)的圖片,通過幀間差分法對(duì)整個(gè)視頻進(jìn)行處理,取出實(shí)時(shí)更新的背景圖像;對(duì)于有物體出現(xiàn)的圖片,和實(shí)時(shí)更新的背景圖像進(jìn)行差分,標(biāo)記出相應(yīng)的區(qū)域處并顯示出來,完成物體標(biāo)記;對(duì)標(biāo)記出的物體進(jìn)行人臉識(shí)別。使用直方圖匹配法依次比較相鄰兩張圖片的相識(shí)度,包括:對(duì)相鄰兩張圖片分別進(jìn)行灰度化處理并計(jì)算相鄰兩張圖片的巴氏系數(shù)。進(jìn)行灰度化處理的方法為:對(duì)圖片rgb三個(gè)分量進(jìn)行加權(quán)平均得到最重的灰度值,使用公式gray=0.11b+0.59g+0.3r計(jì)算;其中g(shù)ray表示處理后的灰度值。計(jì)算相鄰兩張圖片的巴氏系數(shù)的公式為:bhattacharyya=∑{i=1|n}√(∑ai·∑bi)其中,a和b表示相鄰兩張圖片,n是分塊數(shù),ai表示在a中第i部分的成員數(shù),bi表示在b中第i部分的成員數(shù)。對(duì)于有物體出現(xiàn)的圖片,和實(shí)時(shí)更新的背景圖像進(jìn)行差分,標(biāo)記出相應(yīng)的區(qū)域處并顯示出來,完成物體標(biāo)記,具體包括:對(duì)當(dāng)前圖片與實(shí)時(shí)更新的背景圖做差處理;對(duì)做差的結(jié)果圖進(jìn)行二值化,二值化所使用的方法為迭代法;對(duì)通過二值化的圖中的信息進(jìn)行提取,把提取的結(jié)果反饋到當(dāng)前圖片上進(jìn)行顯示,完成標(biāo)記。對(duì)標(biāo)記出的物體進(jìn)行人臉識(shí)別,具體包括:使用face++對(duì)相應(yīng)的圖片進(jìn)行識(shí)別處理;接收face++返回的json數(shù)據(jù)中人臉個(gè)數(shù),判斷人臉個(gè)數(shù)是否為0,如果不為0,在圖片上輸出人臉識(shí)別的結(jié)果;如果返回的人臉個(gè)數(shù)為0,判斷上一時(shí)刻識(shí)別的結(jié)果;如果上一時(shí)刻沒有人臉出現(xiàn),輸出當(dāng)前時(shí)刻的原圖片;如果上一時(shí)刻有人臉出現(xiàn),對(duì)當(dāng)前時(shí)刻左右的幀圖片進(jìn)行識(shí)別;如果有人臉出現(xiàn),輸出相應(yīng)幀的圖片,并在當(dāng)前時(shí)刻圖片上顯示結(jié)果;如果沒有人臉出現(xiàn),輸出當(dāng)前時(shí)刻的原圖片。與現(xiàn)有技術(shù)相比,本發(fā)明具有如下有益效果:本發(fā)明提出一種視頻中動(dòng)態(tài)人臉識(shí)別方法,先對(duì)視頻進(jìn)行處理,包括對(duì)其進(jìn)行截取,每一幀存放為圖片;之后通過對(duì)比當(dāng)前幀和上一幀,進(jìn)行相識(shí)度比對(duì),圖像相似度通過直方圖匹配算法來返回一個(gè)巴氏系數(shù),從而來確定是否出現(xiàn)快速運(yùn)動(dòng)的物體;然后對(duì)有物體出現(xiàn)的圖片進(jìn)行處理,先通過幀間差分法對(duì)整個(gè)視頻進(jìn)行處理,從而取出背景,再對(duì)物體出現(xiàn)的圖片和背景圖像進(jìn)行差分,取出物體在圖片中的位置,然后通過分析對(duì)圖片相應(yīng)區(qū)域標(biāo)記出物體的位置并進(jìn)行判斷物體為何物;之后進(jìn)行人臉的識(shí)別。本發(fā)明方法能夠?qū)σ曨l中的動(dòng)態(tài)人臉進(jìn)行快速的標(biāo)記和識(shí)別,識(shí)別效率和準(zhǔn)確率較高。附圖說明圖1是本發(fā)明方法的流程圖;圖2是本發(fā)明方法的對(duì)一視頻以秒為單位的展示圖;圖3是本發(fā)明方法的對(duì)圖2所示圖片過濾后的展示圖;圖4是本發(fā)明方法的對(duì)圖3所示圖片進(jìn)行物體標(biāo)記后的展示圖;圖5是本發(fā)明方法的人臉識(shí)別流程圖;圖6是本發(fā)明方法的人臉識(shí)別最終效果圖。具體實(shí)施方式一種視頻中動(dòng)態(tài)人臉識(shí)別方法,主要是通過matlab編程語言實(shí)現(xiàn),參見圖1所示,所述方法包括:步驟101,對(duì)視頻進(jìn)行處理,把視頻中相應(yīng)的秒或幀轉(zhuǎn)化成圖片輸出。具體的,在對(duì)視頻中物體進(jìn)行識(shí)別時(shí),首先需要先對(duì)視頻進(jìn)行處理,把視頻中相應(yīng)的幀轉(zhuǎn)化成圖片輸出,才能通過圖像處理和識(shí)別進(jìn)行了解。本實(shí)施例中,使用matlab提供的庫函數(shù)來對(duì)視頻中的幀進(jìn)行處理,并輸出圖片的jpg格式:imwrite(read(mov,i*mov.framerate),strcat(num2str(i),’.jpg’),’jpg’)如圖2所示為使用上述方法對(duì)一視頻以秒為單位的展示圖。步驟102,使用直方圖匹配法依次比較相鄰兩張圖片的相識(shí)度,當(dāng)相識(shí)度大于預(yù)設(shè)值時(shí),過濾掉沒有物體出現(xiàn)的圖片。在把視頻中的每一幀都轉(zhuǎn)化成圖片后,由于物體不一定都會(huì)一直出現(xiàn)在視頻中,從而在檢測(cè)圖片是否出現(xiàn)物體時(shí),會(huì)出現(xiàn)許多沒有物體出現(xiàn)也會(huì)被列入檢測(cè)隊(duì)列,如果在一段20多s的視頻中只有1s左右有物體出現(xiàn)的話,那么這樣的話就會(huì)有許多不需要進(jìn)行檢測(cè)幀圖片,從而會(huì)讓運(yùn)行的時(shí)間加長(zhǎng),效率低。為了解決上述的問題,本實(shí)施例通過使用直方圖匹配法比較幀于幀之間圖像相識(shí)度,來過濾掉些沒用的幀圖片。直方圖匹配法是一種先進(jìn)行灰度化,之后把其灰度直方圖改成自己希望的直方圖。在使用直方圖匹配來比較圖像相識(shí)度時(shí),一般會(huì)計(jì)算其巴氏距離(bhattacharyyadistance)和巴氏系數(shù)(bhattacharyyacoefficient)。其中巴氏距離是用于測(cè)量?jī)呻x散概率分布,巴氏系數(shù)是對(duì)兩個(gè)統(tǒng)計(jì)樣本的重疊量的近視計(jì)算。計(jì)算巴氏距離和系數(shù)來進(jìn)行圖像相似度的處理,其對(duì)圖像相識(shí)度的結(jié)果的效果是最好的。以下列出巴氏距離和巴氏系數(shù)的數(shù)學(xué)上的公式。巴氏距離公式:db(p,q)=-ln(bc(p,q))其中,q、p是分別指x數(shù)域上的兩個(gè)離散概率分布,bc是指巴氏系數(shù)。巴氏系數(shù):bhattacharyya=∑{i=1|n}√(∑ai·∑bi)其中,a和b表示相鄰兩張圖片,n是分塊數(shù),ai表示在a中第i部分的成員數(shù),bi表示在b中第i部分的成員數(shù)。通過上述的介紹我們開始基于直方圖匹配的方式來比較圖片的相識(shí)度。在此先要對(duì)圖片進(jìn)行灰度化處理,通過i=rgb2gray(m)函數(shù)來進(jìn)行轉(zhuǎn)化,其中m是指要進(jìn)行成灰度圖的圖像,i是指m的灰度圖像。然后通過[count,x]=imhist(i),來讀出灰度圖中圖像中的直方圖信息,其中count和x分別為圖片灰度圖的直方圖數(shù)據(jù)向量和相應(yīng)的彩色向量。之后通過上述的公式進(jìn)行對(duì)巴氏距離和巴氏系數(shù)計(jì)算。對(duì)于圖像灰度化也可以通過不直接調(diào)用matlab的方式來進(jìn)行:對(duì)于圖像進(jìn)行灰度化,實(shí)際上是通過對(duì)圖像rgb三個(gè)分量進(jìn)行加權(quán)平均得到最重的灰度值,如下計(jì)算公式:gray=0.11b+0.59g+0.3r。使用直方圖匹配法依次比較相鄰兩張圖片的相識(shí)度,數(shù)值如表1所示:表1圖像相識(shí)度當(dāng)前時(shí)刻(視頻中第幾秒)上一時(shí)刻(視頻中第幾秒)巴氏系數(shù)(圖像相識(shí)度)210.975782320.973902430.970653540.902657650.927859760.951648870.906080980.9262401090.96624111100.95521712110.96784013120.93339814130.93597715140.927042本實(shí)施例中,當(dāng)相識(shí)度大于預(yù)設(shè)值0.97時(shí),過濾掉沒有物體出現(xiàn)的圖片,如圖3所示。步驟103,對(duì)于有物體出現(xiàn)的圖片,通過幀間差分法對(duì)整個(gè)視頻進(jìn)行處理,取出實(shí)時(shí)更新的背景圖像。具體的,本實(shí)施例使用幀間差分法來實(shí)現(xiàn)。對(duì)于視頻中背景的處理的方式是通過對(duì)圖片進(jìn)行“相加”之后求“平均值”的方式。假設(shè)截取的幀的圖片同一命名為picture(n),其中n是指視頻中的第n幀。具體的執(zhí)行方式如下:但是,處理時(shí)要求背景的實(shí)時(shí)性,則我們對(duì)視頻的背景進(jìn)行實(shí)時(shí)的處理提取,方式如下:通過上述的方式可以對(duì)視頻中背景提取進(jìn)行實(shí)時(shí)的更新。步驟104,對(duì)于有物體出現(xiàn)的圖片,和實(shí)時(shí)更新的背景圖像進(jìn)行差分,標(biāo)記出相應(yīng)的區(qū)域處并顯示出來,完成物體標(biāo)記。具體的,本實(shí)施例進(jìn)行的物體標(biāo)記就是要確定出兩張圖片的不同處,從而確認(rèn)出物體,通過“差”的方式來求。即:c=picture(n)-backg;之后對(duì)相減的結(jié)果圖進(jìn)行二值化,二值化的方法用的是迭代法,迭代法時(shí)基于逼近的思想,先求出圖像的最大灰度值和最小灰度值,分別記為rmax和rmin,之后令閾值t=(rmax+rmin)/2;之后根據(jù)閾值將圖像的平均灰度分成兩組r1和r2,分別求出兩組的平均灰度值μ1和μ2,最后求出新的閾值t=(μ1+μ2)/2。設(shè)f(x,y)是輸入的灰度圖像函數(shù),g(x,y)是輸出后二值圖像函數(shù):通過上述的方式來完成圖像的二值化,之后對(duì)通過二值化的圖,對(duì)它里面的信息進(jìn)行提取,把提取的結(jié)果反饋到picture(n)上進(jìn)行顯示,如圖4所示。步驟105,對(duì)標(biāo)記出的物體進(jìn)行人臉識(shí)別。通過上述的步驟,已經(jīng)可以成功的從視頻中發(fā)現(xiàn)物體并進(jìn)行標(biāo)記,從而現(xiàn)在開始要對(duì)物品進(jìn)行識(shí)別。由于每個(gè)物體都有自己的基本特征而且對(duì)于同一個(gè)事物而言又有不同的形態(tài),對(duì)于此次的物體標(biāo)記,以人臉識(shí)別為主。具體的,對(duì)標(biāo)記出的物體進(jìn)行人臉識(shí)別具體包括首先使用face++對(duì)相應(yīng)的圖片進(jìn)行識(shí)別處理;然后,如圖5所示,接收face++返回的json數(shù)據(jù)中人臉個(gè)數(shù),判斷人臉個(gè)數(shù)是否為0,如果不為0,在圖片上輸出人臉識(shí)別的結(jié)果;如果返回的人臉個(gè)數(shù)為0,判斷上一時(shí)刻識(shí)別的結(jié)果;如果上一時(shí)刻沒有人臉出現(xiàn),輸出當(dāng)前時(shí)刻的原圖片;如果上一時(shí)刻有人臉出現(xiàn),對(duì)當(dāng)前時(shí)刻左右的幀圖片進(jìn)行識(shí)別;如果有人臉出現(xiàn),輸出相應(yīng)幀的圖片,并在當(dāng)前時(shí)刻圖片上顯示結(jié)果;如果沒有人臉出現(xiàn),輸出當(dāng)前時(shí)刻的原圖片。face++識(shí)別處理和加上后期處理的最終效果圖如圖6所示。以上所述,僅是本發(fā)明較佳實(shí)施例而已,并非對(duì)本發(fā)明的技術(shù)范圍作任何限制,故凡是依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施例所作的任何細(xì)微修改、等同變化與修飾,均仍屬于本發(fā)明技術(shù)方案的范圍內(nèi)。當(dāng)前第1頁12