最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

多姿態(tài)人臉檢測與追蹤系統(tǒng)及方法

文檔序號:6560908閱讀:243來源:國知局
專利名稱:多姿態(tài)人臉檢測與追蹤系統(tǒng)及方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種人臉檢測與追蹤系統(tǒng)及其方法,尤其涉及一種多姿態(tài)人臉檢測與追蹤方法。
背景技術(shù)
人臉是計算機視覺系統(tǒng)中人機交互最便捷的方式之一。人臉檢測就是在圖像或圖像序列中確定所有人臉的位置、大小等信息,而人臉跟蹤則是持續(xù)跟蹤視頻序列中的一個或多個檢測人臉。人臉檢測與跟蹤技術(shù)不僅是人臉識別、表情識別、人臉合成等技術(shù)的必要前提,而且其在智能人機交互、視頻會議、智能監(jiān)控、視頻檢索等領(lǐng)域有著廣泛的應(yīng)用價值。
本系統(tǒng)針對的圖像是視頻攝像頭輸入的視頻序列。之前,本申請人已經(jīng)提出了一種視頻序列中人臉的實時檢測與持續(xù)追蹤的方法及系統(tǒng),中國專利申請?zhí)枮?00510135668.8,以下簡稱文獻1,該申請在此被整體結(jié)合參考。該申請?zhí)岢龅姆椒ㄅc系統(tǒng)采用了基于AdaBoost統(tǒng)計分層分類器的人臉檢測方法,實現(xiàn)正面直立人臉的實時檢測,并結(jié)合基于Mean shift和直方圖特征的人臉跟蹤方法,實現(xiàn)了人臉的實時跟蹤系統(tǒng)。從實驗結(jié)果看,該系統(tǒng)可檢測-20到20度深度旋轉(zhuǎn)、-20到20度平面旋轉(zhuǎn)的人臉,可檢測不同膚色的人臉、不同光照條件下的人臉、戴眼睛的人臉等。人臉的跟蹤通過膚色實現(xiàn),跟蹤算法不受人臉姿態(tài)的影響,側(cè)面、旋轉(zhuǎn)人臉同樣可以跟蹤。
然而,上述專利申請中的算法也存在著一定的局限性。首先,該算法僅訓練了正面人臉的檢測模型,無法檢測偏側(cè)面人臉,這就意味這人臉的檢測和驗證都只能針對正面人臉,大大限制了算法的應(yīng)用范圍;其次,該算法僅通過膚色直方圖跟蹤人臉,而人臉的膚色特征非常容易受到其他膚色區(qū)域如脖子、手或者類似膚色區(qū)域如黃色衣服的干擾,反映在跟蹤結(jié)果上就是跟蹤區(qū)域有時會跳到手、脖子或黃衣服上;再次,原來的算法獲取的跟蹤區(qū)域的大小和位置變化比較劇烈,即使人臉保持不動,跟蹤結(jié)果也會發(fā)生明顯的抖動;還有就是該算法無法獲取人臉更進一步的姿態(tài)信息,如人臉的旋轉(zhuǎn)角度、當前大致姿態(tài)等。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于提供一種多姿態(tài)人臉檢測與追蹤系統(tǒng)及方法,追蹤檢測多姿態(tài)的人臉,且能克服受到與人臉膚色相近的非人臉區(qū)域干擾的缺點,并能確保多姿態(tài)人臉的持續(xù)跟蹤和檢測算法的穩(wěn)定性,并獲取人臉的旋轉(zhuǎn)角度,輸出人臉的準確尺寸。
為了解決上述技術(shù)問題,本發(fā)明提供了一種多姿態(tài)人臉檢測與追蹤方法,包括(1)通過人臉樣本訓練,分別獲得人臉正面與半側(cè)面檢測模型,并確定AAM人臉模型;(2)利用所述人臉正面與半側(cè)面檢測模型,對輸入視頻圖像進行人臉檢測,確定一幀圖像中是否存在人臉;(3)如果在某幀圖像中檢測到人臉,則在后續(xù)幀中追蹤并驗證該人臉,包括步驟(31)追蹤前一幀圖像中的人臉位置,獲得當前幀中人臉的初步位置;(32)將所述獲得的初步位置作為初值,利用當前幀與前一幀圖像的色度差異,計算人臉的平移速度;(33)根據(jù)所述平移速度,估算出當前幀中人臉的大概位置,并利用所述人臉正面模型與半側(cè)面檢測模型,在該位置附近進行檢測,以驗證該人臉;(34)如果在該位置附近檢測到人臉,則驗證通過,并采用所述的AAM人臉模型計算當前人臉的仿射變換系數(shù),獲取當前幀人臉的特征參數(shù)。
其中,所述步驟(3)進一步包括(35)將當前幀與前一幀圖像人臉的關(guān)鍵點進行匹配,根據(jù)匹配結(jié)果進一步修正所述計算出來的人臉平移速度,以及當前幀人臉的特征參數(shù)。
其中,所述步驟(3)進一步包括(36)更新當前幀人臉的特征參數(shù),利用這些參數(shù)用于下一幀圖像的追蹤驗證。
其中,所述步驟(34)進一步包括如果在該位置附近未檢測到人臉,則驗證不通過,而在下一幀中進行追蹤驗證。
其中,所述步驟(34)進一步包括如果在后續(xù)數(shù)幀中人臉驗證仍未通過,則停止追蹤。
其中,進一步包括步驟(4)前一個追蹤目標停止追蹤后,在后續(xù)圖像中重新從步驟(2)開始檢測,直到找到新的人臉后繼續(xù)進行追蹤。
其中,步驟(1)所述通過人臉樣本訓練分別獲得人臉正面與半側(cè)面檢測模型的步驟,包括首先使用所有姿態(tài)的人臉樣本訓練多層檢測模型,再對正面、左側(cè)面、右側(cè)面姿態(tài)的人臉樣本分別進行訓練,得到三個姿態(tài)的檢測模型。
其中,步驟(2)所述人臉檢測步驟,包括首先采用所有姿態(tài)的檢測模型對圖像進行搜索,淘汰大部分搜索窗口,然后將剩下的窗口分別輸入到三個姿態(tài)的檢測模型中,根據(jù)檢測結(jié)果確定人臉大致姿態(tài)。
為了解決上述技術(shù)問題,本發(fā)明進而提供了一種多姿態(tài)人臉檢測與追蹤系統(tǒng),包括訓練模塊,用于通過人臉樣本訓練,分別獲得人臉正面與半側(cè)面檢測模型,并確定AAM人臉模型;檢測模塊,用于根據(jù)所述人臉正面與半側(cè)面檢測模型,對輸入視頻圖像進行人臉檢測,確定一幀圖像中是否存在人臉;追蹤模塊,用于在某幀圖像中檢測到人臉后,在后續(xù)幀中追蹤并驗證該人臉,包括用于追蹤前一幀圖像中的人臉位置,獲得當前幀中人臉的初步位置的單元;用于將所述獲得的初步位置作為初值,利用當前幀與前一幀圖像的色度差異,計算人臉的平移速度的單元;用于根據(jù)所述平移速度,估算出當前幀中人臉的大概位置,并利用所述人臉正面模型與半側(cè)面檢測模型,在該位置附近進行檢測,以驗證該人臉的單元;用于在該位置附近檢測到人臉后,采用所述的AAM人臉模型計算當前人臉的仿射變換系數(shù),獲取當前幀人臉的特征參數(shù)的單元。
其中,所述追蹤模塊進一步包括用于將當前幀與前一幀圖像人臉的關(guān)鍵點進行匹配,根據(jù)匹配結(jié)果進一步修正所述計算出來的人臉平移速度,以及當前幀人臉的特征參數(shù)的單元。
其中,所述訓練模塊,通過使用所有姿態(tài)的人臉樣本訓練多層檢測模型,并對正面、左側(cè)面、右側(cè)面姿態(tài)的人臉樣本分別進行訓練,得到三個姿態(tài)的檢測模型。
其中,所述檢測模塊,通過采用所有姿態(tài)的檢測模型對圖像進行搜索,淘汰大部分搜索窗口,并將剩下的窗口分別輸入到三個姿態(tài)的檢測模型中,根據(jù)檢測結(jié)果確定人臉大致姿態(tài)。
本發(fā)明所述的一種多姿態(tài)人臉檢測與追蹤系統(tǒng)及方法,可以追蹤檢測多姿態(tài)的人臉,且能克服受到與人臉膚色相近的非人臉區(qū)域如脖子、人手或黃衣服等干擾的缺點,并能確保多姿態(tài)人臉的持續(xù)跟蹤和檢測算法的穩(wěn)定性,并獲取人臉的旋轉(zhuǎn)角度,輸出人臉的準確尺寸。


圖1是根據(jù)本發(fā)明實施例所述的一種多姿態(tài)人臉檢測與追蹤系統(tǒng)的結(jié)構(gòu)示意圖;圖2是根據(jù)本發(fā)明實施例所述的一種多姿態(tài)人臉檢測與追蹤方法的流程示意圖;圖3是根據(jù)本發(fā)明實施例所述的一種多姿態(tài)人臉檢測與追蹤方法中人臉檢測與跟蹤結(jié)果的示意圖;圖4是根據(jù)本發(fā)明實施例所述的一種多姿態(tài)人臉檢測與追蹤方法中人臉檢測算法選擇的七組微特征的示意圖;圖5是根據(jù)本發(fā)明實施例所述的一種多姿態(tài)人臉檢測與追蹤方法中人臉樣本的標定與采集;圖6是根據(jù)本發(fā)明實施例所述的一種多姿態(tài)人臉檢測與追蹤方法中4組多姿態(tài)人臉檢測結(jié)果的示意圖;圖7是根據(jù)本發(fā)明實施例所述的一種多姿態(tài)人臉檢測與追蹤方法中人臉驗證模塊的流程示意圖;圖8是根據(jù)本發(fā)明實施例所述的一種多姿態(tài)人臉檢測與追蹤方法中通過第一級驗證的人臉驗證結(jié)果的示意圖;圖9是根據(jù)本發(fā)明實施例所述的一種多姿態(tài)人臉檢測與追蹤方法中通過第二級驗證的人臉驗證結(jié)果的示意圖;圖10是根據(jù)本發(fā)明實施例所述的一種多姿態(tài)人臉檢測與追蹤方法中AAM算法仿射系數(shù)計算結(jié)果的示例示意圖;圖11是根據(jù)本發(fā)明實施例所述的一種多姿態(tài)人臉檢測與追蹤方法中基于AAM的人臉跟蹤結(jié)果的示意圖;圖12是根據(jù)本發(fā)明實施例所述的一種多姿態(tài)人臉檢測與追蹤方法中關(guān)鍵點選取及跟蹤結(jié)果的示意圖;圖13是根據(jù)本發(fā)明實施例所述的一種多姿態(tài)人臉檢測與追蹤方法中人臉檢測與跟蹤結(jié)果的示例示意圖。
具體實施例方式
參見圖1,本發(fā)明首先提供一種多姿態(tài)人臉檢測與追蹤系統(tǒng),包括訓練模塊100、檢測模塊200,以及追蹤模塊(圖中未示)。其中訓練模塊100用于通過人臉樣本訓練,分別獲得人臉正面與半側(cè)面檢測模型(包括右側(cè)姿態(tài)、左側(cè)姿態(tài)),并確定AAM(Active Appearance Models)人臉模型;檢測模塊200用于根據(jù)所述人臉正面與半側(cè)面檢測模型,對輸入視頻圖像進行人臉檢測,確定一幀圖像中是否存在人臉;追蹤模塊用于在某幀圖像中檢測到人臉后,在后續(xù)幀中追蹤并驗證該人臉,包括用于追蹤前一幀圖像中的人臉位置,獲得當前幀中人臉的初步位置的單元;用于將所述獲得的初步位置作為初值,利用當前幀與前一幀圖像的顏色差異,計算人臉的平移速度的單元;用于根據(jù)所述平移速度,估算出當前幀中人臉的大概位置,并利用所述人臉正面模型與半側(cè)面檢測模型,在該位置附近進行檢測,以驗證該人臉的單元;用于在該位置附近檢測到人臉后,采用所述的AAM人臉模型計算當前人臉的仿射變換系數(shù),獲取當前幀人臉的特征參數(shù)的單元;以及用于將當前幀與前一幀圖像人臉的關(guān)鍵點進行匹配,根據(jù)匹配結(jié)果進一步修正所述計算出來的人臉平移速度,以及當前幀人臉的特征參數(shù)的單元。
根據(jù)圖1所示實施例,參考訓練模塊100,首先需要進行兩組模型的訓練,一是正面與半側(cè)面人臉檢測模型,二是AAM人臉模型(圖中未示出)。人臉的檢測模型的訓練算法可以采用基于AdaBoost算法的多級分類器,由多個正面和半側(cè)面人臉樣本訓練多級分類器,抽取的人臉大小為12×12。另外,為了保證算法可以識別人臉的左側(cè)、正面、右側(cè)三個姿態(tài),在本實施例中,訓練出了左側(cè)姿態(tài)人臉檢測模型,右側(cè)姿態(tài)人臉檢測模型和正面姿態(tài)人臉檢測模型,其中左側(cè)姿態(tài)人臉檢測模型和右側(cè)姿態(tài)人臉檢測模型可以被統(tǒng)稱為半側(cè)面人臉檢測模型,其中右側(cè)姿態(tài)人臉檢測模型是經(jīng)過左側(cè)姿態(tài)人臉檢測模型鏡像處理后獲得。此外,為了加速檢測速度,本實施例還采用所有姿態(tài)的人臉樣本訓練15層的所有姿態(tài)人臉檢測模型,被稱為第一級檢測模型,用來對輸入圖像進行初步檢測以粗略獲得人臉位置。
訓練模塊100中,訓練AAM人臉模型的目的是在已知輸入人臉的大概位置、大致尺寸的前提下計算該人臉相對標準人臉的仿射變換系數(shù),獲取其較精確的位置、尺寸和旋轉(zhuǎn)角度,這個算法采用主元分析方法(PrincipalComponent Analysis,簡稱PCA)對大量的人臉樣本進行訓練,獲取一個平均人臉及多個正交向量,在應(yīng)用時再采用迭代處理方法將輸入人臉的灰度與訓練模型進行比較,計算人臉的仿射變換系數(shù)。
參考檢測模塊200,在進行人臉檢測時,本實施例首先采用所有姿態(tài)的檢測模型對輸入圖像進行搜索,淘汰大部分搜索窗口,接著將剩下的窗口分別輸入到三個姿態(tài)的檢測模型中,返回最后的檢測候選框,并根據(jù)檢測結(jié)果為每個候選框計算一個權(quán)重。一般說來,每個姿態(tài)的檢測模型都會返回一些候選框,將鄰近的候選框合并,并統(tǒng)計各個姿態(tài)返回的候選框的權(quán)重。如果某個合并框中正面人臉的權(quán)重比較大,則說明該檢測人臉應(yīng)該是正面人臉;而如果左側(cè)人臉的權(quán)重較大,就可判斷該檢測人臉大致是左側(cè)人臉,由此即可確定人臉的大概姿態(tài)。
現(xiàn)在參見圖2,為本發(fā)明實施例所述的多姿態(tài)人臉檢測與追蹤方法流程示意圖。
步驟201從視頻攝像頭輸入一幀圖像,在未獲取跟蹤目標前,每幀搜索圖像,檢測人臉的存在;圖3中的301給出了人臉檢測的結(jié)果,其中的框為檢測人臉框。
步驟202判斷前一幀是否已經(jīng)追蹤到人臉;步驟203在前一幀沒有追蹤到人臉時,對當前幀圖像進行多姿態(tài)人臉檢測,如果在當前幀圖像中找到一個或多個人臉,進行步驟204,否則在后續(xù)圖像中繼續(xù)進行人臉檢測;步驟204在接下來的兩幀圖像中跟蹤前一幀檢測的人臉,并對跟蹤人臉進行驗證,只有某個人臉連續(xù)兩幀都通過驗證后,算法才認為該人臉是真實存在的,如多個人臉通過驗證,則挑選出最大的人臉開始跟蹤。這里人臉驗證就是重新對跟蹤人臉所在區(qū)域通過參考檢測模塊200進行再次檢測,判斷是否是真的人臉;步驟205驗證通過后開始追蹤;
在確定追蹤到人臉后,在后續(xù)幀中持續(xù)跟蹤該人臉,跟蹤過程包括數(shù)個步驟步驟206采用基于Mean Shift和直方圖的人臉跟蹤算法跟蹤前一幀人臉,獲取當前人臉的初步位置;步驟207上一步的跟蹤算法獲取的人臉位置并不準確,很容易受其他與膚色較接近的區(qū)域的干擾,如脖子、手等,因此還需要利用當前幀與前一幀圖像的色度信息獲取人臉的平移速度,此時本發(fā)明將上一步的跟蹤結(jié)果作為初值,采用Lucas-Kanade反算算法獲取人臉比較準確的平移速度;步驟208通過計算的平移速度估計人臉的大概位置,采用人臉檢測模型進行人臉驗證,也就是,在這個位置附近進行搜索,判斷該區(qū)域是否有人臉存在,此處的人臉驗證方法與步驟205所述的人臉驗證方法一致;步驟209判斷人臉是否通過驗證;如果當前區(qū)域人臉存在,人臉驗證通過,則包括如下步驟步驟210采用AAM算法計算當前人臉的仿射變換系數(shù),獲取人臉的包括準確位置、旋轉(zhuǎn)角度和尺寸在內(nèi)的特征參數(shù);步驟211對當前幀與前一幀圖像人臉的關(guān)鍵點進行匹配,獲取兩幀圖像中兩幅人臉比較準確的平移速度、尺度變換、旋轉(zhuǎn)系數(shù)等,進而得到當前幀人臉的準確特征參數(shù)。這一步的另一個目的則是保持跟蹤結(jié)果的穩(wěn)定,使跟蹤區(qū)域不會出現(xiàn)明顯抖動。參考圖3中的302表示通過驗證的人臉追蹤結(jié)果;步驟212更新當前幀人臉的特征參數(shù),利用這些特征參數(shù)繼續(xù)處理下一幀圖像;如果步驟209中,在跟蹤區(qū)域內(nèi)未搜索到人臉,即人臉驗證不通過,這說明當前跟蹤區(qū)域不包含人臉或者人臉姿態(tài)變化過大,在后續(xù)幀中繼續(xù)跟蹤該人臉,繼續(xù)進行驗證,包括如下步驟步驟213判斷連續(xù)數(shù)幀是否仍未通過驗證;步驟214如果通過驗證,則更新特征參數(shù),繼續(xù)追蹤;
步驟215如果在后續(xù)數(shù)幀中人臉驗證仍不通過,則認為當前跟蹤目標可能不是人臉,或者人臉姿態(tài)變化過大,跟蹤價值不高,停止跟蹤。參考圖3中的303表示未通過驗證的人臉追蹤結(jié)果的例子。
前一個跟蹤目標停止跟蹤后,在后續(xù)圖像中重新進行人臉檢測,直到找到新的人臉,再重新進行跟蹤。
下面對本發(fā)明處理過程中的一些關(guān)鍵技術(shù)點分別進行重點說明。
第一,對本發(fā)明步驟203中所述的人臉檢測算法作進一步的詳細描述。
本發(fā)明所述的人臉檢測算法與文獻1的原理基本一致,采用基于AdaBoost統(tǒng)計分層分類器的人臉檢測方法,正如之前的文獻1所述,基于AdaBoost的人臉檢測算法(P.Viola,and M.Jones,Rapid object detection usinga boosted cascade of simple features.Proc.on Computer Vision PatternRecognition,2001,以下簡稱文獻2),首先由大量“人臉”和“非人臉”樣本訓練一個“人臉/非人臉”二類分類器,該分類器可以確定某個尺度的矩形窗口是否是人臉,設(shè)矩形長為m,寬為n,則人臉檢測的流程就是先按照一定比例連續(xù)放縮圖像,在得到的系列圖像中窮舉搜索和判別所有大小m×n象素窗口,將各個窗口輸入到“人臉/非人臉”分類器中,留下識別為人臉的候選窗口,再采用后處理算法合并相鄰位置的候選,輸出所有檢測到的人臉的位置、大小等信息。
文獻1只考慮了正面人臉的檢測,參考圖5中501所示的標準人臉圖像及502所示的裁剪后的標準人臉結(jié)果,而本發(fā)明還需要實現(xiàn)偏側(cè)面人臉的檢測,以確保多姿態(tài)人臉的持續(xù)跟蹤和檢測算法的穩(wěn)定性。本發(fā)明仍舊采用圖4中所示的七組微特征抽取人臉特征,但不同姿態(tài)人臉的圖像差別非常大,導致不同姿態(tài)人臉相同位置的微特征差別非常大,這意味著如果仍舊采用文獻1中所述的算法為所有的正樣本訓練一個AdaBoost強分類器,則訓練算法很難得到收斂的結(jié)果,即使各級弱分類器挑選了非常多的微特征,但反樣本的虛警率仍舊會比較高。為此,要將多姿態(tài)人臉的檢測分兩步完成,首先采用所有姿態(tài)的人臉樣本訓練15層檢測模型,接著再對三個姿態(tài)的樣本分別進行訓練,為每個姿態(tài)訓練一個檢測模型。
在本發(fā)明中共收集了約4500幅人臉圖像,其中正面人臉圖像約2500幅,左側(cè)人臉約1000幅,右側(cè)人臉約1000幅。結(jié)合文獻1中所提到的標準人臉及裁剪方式,對人臉樣本進行仿射變換、裁剪分割,參考圖5中503所示的人臉樣本和標定點及504所示的裁剪結(jié)果,并將所有人臉區(qū)域歸一化到12×12大小。設(shè)兩眼的距離為r,兩眼連線的中心點為(xcenter,ycenter),采集矩形的長寬設(shè)為2r,即兩倍雙眼間距,則矩形裁剪區(qū)域的坐標(xleft,ytop,xright,ybottom)為xleftytopxrightybottom=xcenter-rycenter-0.5rxcenter+rycenter+1.5r---(1)]]>為增強分類器對人臉一定角度的旋轉(zhuǎn)和尺寸變化的檢測魯棒性,同樣對每個樣本進行鏡像變換、旋轉(zhuǎn)±20°角度、尺寸放大1.1倍,這樣每個樣本擴充為五個樣本,如此總共得到了約22500個正樣本。反樣本圖像就是大量不包含人臉的圖像,包括風景圖像、動物、文字等,共有5400幅。各層AdaBoost分類器訓練過程中反樣本特征的獲取方法與文獻1中所述也完全一致,先隨機挑選一幅反樣本圖像,并隨機確定反樣本在圖像中的尺寸和位置,接著到該圖像中裁剪出對應(yīng)的區(qū)域,將裁剪圖像歸一化到12×12的尺寸,得到一個反樣本。
所有模型訓練完畢后,第一級檢測模型有15層,虛警率為0.0022,訓練正樣本的分類錯誤率為4.8%,正樣本錯誤率偏高,虛警率仍舊超過了0.1%,這表明了不同姿態(tài)樣本的特征數(shù)據(jù)差別較大,AdaBoost訓練過程中模型收斂較慢,這也就是需要為不同姿態(tài)分別訓練模型的原因所在。正面姿態(tài)的檢測模型有18層,總的虛警率為2.6e-6,對通過了第一級檢測的訓練樣本的分類錯誤率為4.1%。左側(cè)姿態(tài)的檢測模型有16層,總的虛警率為3.8e-7,對通過了第一級檢測的訓練樣本的分類錯誤率為0.42%。為節(jié)省訓練時間,又考慮到左側(cè)人臉與右側(cè)人臉的灰度分布是完全對稱的,便沒有再訓練右側(cè)姿態(tài)的檢測模型,而是對左側(cè)姿態(tài)的檢測模型進行鏡像處理,即可得到右側(cè)姿態(tài)人臉的檢測模型。訓練樣本中正面樣本比較多,且不少樣本干擾比較大,因此分類錯誤率高一些,而側(cè)面樣本比較少,干擾也非常小,因此分類錯誤率非常低。
在進行人臉檢測時,本發(fā)明首先在多個尺度上縮小圖像,例如對于160×120圖像,考慮了9個尺度,圖像的縮小倍數(shù)分別為1.5、1.88、2.34、2.93、3.66、4.56、5.72、7.15、8.94,對應(yīng)的原始圖像中人臉框最小為18×18,最大為107×107,然后采用第一級檢測模型對各幅縮小圖像進行搜索,淘汰大部分搜索窗口,接著將剩下的窗口分別輸入到三個姿態(tài)的人臉檢測模型中,返回最后的檢測候選框,并根據(jù)檢測結(jié)果為每個候選框計算一個權(quán)重。一般說來,每個姿態(tài)的人臉檢測模型都會返回一些候選框,將鄰近的候選框合并,并統(tǒng)計各個姿態(tài)返回的候選框的權(quán)重。如果某個合并框中正面人臉的權(quán)重比較大,則說明該檢測人臉應(yīng)該是正面人臉;而如果左側(cè)人臉的權(quán)重較大,就可認為該檢測人臉是左側(cè)人臉,由此即可確定人臉的大概姿態(tài)。參考圖6,為幾組多姿態(tài)人臉檢測結(jié)果的示意圖,不同姿態(tài)的檢測結(jié)果已用不同灰度的方框進行了標注。
第二,對本發(fā)明步驟206中所述的基于Mean Shift的人臉跟蹤算法作進一步詳細的描述多姿態(tài)人臉檢測算法可以檢測正面和偏側(cè)面人臉,但無法檢測平面旋轉(zhuǎn)角度過大的人臉,此外,人臉檢測算法是非常耗時的,一般需要數(shù)十毫秒時間才能完成一幅320×240圖像中所有人臉的檢測,因此就不可以對實時輸入的視頻序列的每幀圖像都進行人臉檢測,而是對檢測人臉通過進行跟蹤和驗證的方法大大提高算法的效率,且確保算法不會跟蹤到其他非人臉目標。
本發(fā)明的人臉跟蹤算法首先在多姿態(tài)人臉檢測的基礎(chǔ)上,同樣采用文獻1及Comaniciu等人在文獻3(D.Comaniciu,V.Ramesh,and P.Meer.Kernel-Based Object Tracking.IEEE Trans.Pattern Analysis and MachineIntelligence,May 2003,25(5)564-577,簡稱文獻3)中提到的基于Mean shift和直方圖特征的物體跟蹤算法對檢測人臉進行跟蹤,由前一幀的人臉的位置大小、人臉的長短期兩組局部直方圖特征到當前幀圖像中搜索人臉的位置,獲取人臉區(qū)域中心點的坐標。這個算法的優(yōu)點是效率非常高,不受人臉旋轉(zhuǎn)、姿態(tài)變化的影響,當人臉在視頻中快速平移時該算法也可以粗略獲取人臉中心的位置。但其缺陷也比較明顯,算法的跟蹤精度不高,盡管可以很快地獲取人臉的位置,但獲取的中心點坐標不夠精確,即使人臉固定不動,受噪聲干擾等影響,中心點也會不停的抖動。另外,該算法采用膚色作為跟蹤的特征,這意味著算法也有可能跟蹤到手、脖子等膚色區(qū)域上。
基于這個跟蹤算法的優(yōu)缺點,在基于Mean Shift的跟蹤結(jié)果的基礎(chǔ)上加入了人臉平移的精確估算、人臉圖像的不斷驗證以及人臉尺度姿態(tài)的估算,確保算法可一直跟蹤到人臉區(qū)域,且使跟蹤區(qū)域精度更高,并可獲取人臉的精確尺寸、旋轉(zhuǎn)角度等。
第三,對本發(fā)明步驟207中所述的平移估算作出詳細的描述基于Mean Shift的人臉跟蹤算法能快速獲取當前幀人臉中心點的粗略位置,而所述平移估算的目的就是在這個粗略位置的基礎(chǔ)上結(jié)合人臉色度分布特征和Lucas-Kanade反算算法(I.Matthews and S.Baker.ActiveAppearance Models Revisited.International Journal of Computer Vision,Vol.60,No.2,November,2004,pp.135-164,以下簡稱文獻4)精確估算出相鄰幀人臉的平移矢量,確定人臉中心點的精確位置。
Lucas-Kanade算法可以快速計算連續(xù)圖像序列中某點的平移速度。給定其中某點A,坐標為xA,I(xA,tk)為第k幀圖像中該點的亮度,設(shè)相鄰兩幀中A的平移速度為u=(u,v),則有I(x-uδt,tk)=I(x,tk-1),δt=tk-tk-1(2)在很多情況下知道A的速度初值,設(shè)為u0,如連續(xù)圖像序列中前面一幀該點的平移速度可設(shè)為其速度的初值,則有u=u0+Δu,且Δu一般比較小。考慮A點鄰域范圍內(nèi)的點,這些點的平移速度可以認為與u非常接近,由此可以計算相鄰兩幀中鄰域范圍N內(nèi)所有點象素差值的均方和E=Σx∈N[I(x-u0δt-Δuδt,tk)-I(x,tk-1)]2---(3)]]>
使上式最小的u就可作為A的平移速度的估算值。如果Δu很小,則可將上式對δt進行泰勒級數(shù)展開,并去除高于一級的導數(shù)項,有E=Σx∈N[(∂I(x-u0δt,tk)∂x)TΔu+I(x,tk-1)-I(x-u0δt,tk)δt]2---(4)]]>接著將展開式對Δu求導,使導數(shù)等于零,求解方程,得到Δu=H-1Σx∈N[(∂I(x-u0δt,tk)∂x)T(I(x-u0δt,tk)-I(x,tk-1)δt)]---(5)]]>其中,H是Hessian矩陣H=Σx∈N[(∂I(x-u0δt,tk)∂x)T(∂I(x-u0δt,tk)∂x)]---(6)]]>以上所述的速度估算公式僅能適應(yīng)Δu很小的情形,因為采用了近似的一級泰勒級數(shù)展開。為了保證算法可以估算比較大的平移速度,需要進行多次迭代處理,前一次迭代估算的平移速度作為新的迭代步驟的初值,每次迭代估算一個新的平移速度,并與原來的平移速度進行迭加,即un=un-1+Δun(7)其中un是第n次迭代后總的速度,Δun第n次迭代求得的速度。另外,還需要在多個分辨率上進行處理,先在較低分辨率上估算平移速度,將此速度作為高的分辨率估算算法的初值,然后計算更精確的速度。
根據(jù)式(7),每次迭代過程的初值是前一幀的計算值,因此每次迭代時都必須重新計算 H矩陣及其逆矩陣,這是非常耗時的,為此本發(fā)明采用Lucas-Kanade反算算法提高算法的效率。
以第n次迭代為例I(x-unδ,tk)=I(x,tk-1)=I(x-un-1δt-Δunδt,tk) (8)將上式中的Δun換個位置,變?yōu)?
I(x-un-1δt,tk)=I(x+Δunδt,tk-1)(9)由此可以求得Δun的計算式為Δun=H-1Σx∈N[(∂I(x,tk-1)∂x)T(I(x-un-1δt,tk)-I(x,tk-1)δt)]---(10)]]>其中,H是Hessian矩陣H=Σx∈N[(∂I(x,tk-1)∂x)T(∂I(x,tk-1)∂x)]---(11)]]>上式中H矩陣在整個迭代過程中是固定不變的,可以在迭代開始前先計算其逆矩陣,然后就不需要再計算。這樣在迭代時只需要不斷計算I(x-un-1δt,tk)-I(x,tk-1)δt]]>和Δun,使計算量大大減少。
視頻序列中人臉的尺寸變化非常劇烈,為保證估算算法在人臉尺寸非常大時仍舊可以快速計算出平移速度,首先對不同尺度的人臉進行了歸一化,將人臉都縮放到同一尺寸。根據(jù)前一幀跟蹤的人臉尺寸對當前幀圖像進行縮放,使人臉區(qū)域的尺寸近似為16×16。接著又以基于Mean shift算法估算的速度作為反算算法的初值,在縮小后的兩幀圖像間計算平移速度,先對圖像進行多分辨率處理,將圖像再縮小一倍,人臉尺寸近似為8×8,人臉中心點的鄰域N就是這8×8鄰域,采用上面的反算算法估算平移速度;將估算的速度翻倍,在16×16人臉區(qū)域上再估算平移速度。最后將總的速度還原為原始視頻上人臉中心點的平移速度。
在實現(xiàn)平移估算時不僅要考慮灰度信息,還要充分考慮人臉的膚色信息,將輸入圖像的RGB三個分量轉(zhuǎn)化為YUV空間,將這三個分量分別送入速度估算公式中。另外,為了減少人臉光照變化的影響,還將所有的亮度值除以一個比較大的數(shù),以降低了亮度Y的權(quán)重,強調(diào)了UV兩個色度分量的作用,從實際效果看這個處理方式明顯提高了人臉快速運動時速度估算的準確性。
第四,對本發(fā)明步驟205和步驟208中所述的人臉驗證作出詳細的描述在之前提到的文獻1中,由于人臉檢測算法只能檢測正面直立人臉,而跟蹤算法只能獲取人臉的區(qū)域,無法知道人臉的旋轉(zhuǎn)角度姿態(tài)等,因此在進行人臉驗證操作時,只有連續(xù)數(shù)百幀都跟蹤到目標,但在跟蹤區(qū)域都沒有檢測到正面人臉,才認為目標不一定是人臉,停止跟蹤。這樣做的缺點就是如果跟蹤到非人臉目標如脖子、手等,系統(tǒng)需要數(shù)十秒時間才能反應(yīng)過來,這也極大地影響了系統(tǒng)的性能。
本發(fā)明所述的人臉驗證模塊解決了原有系統(tǒng)的缺陷,由于新的人臉檢測可以檢測正面、側(cè)面直立人臉,而后續(xù)的基于AAM的人臉仿射系數(shù)估計算法可以獲取人臉的旋轉(zhuǎn)角度等,由此就可以實現(xiàn)跟蹤人臉的持續(xù)驗證,即每幀都判別跟蹤區(qū)域是否是人臉,如果是非人臉,則輸出非人臉跟蹤結(jié)果,另外,如果連續(xù)數(shù)幀驗證不通過,則停止跟蹤。這樣系統(tǒng)在跟蹤到非人臉區(qū)域時,可在1秒內(nèi)反應(yīng)過來,并停止跟蹤該目標。
參考圖7,為人臉驗證模塊的詳細流程圖。具體過程為步驟701將前一幀人臉的尺度、旋轉(zhuǎn)角度以及前面計算的平移參數(shù),還有當前幀的輸入圖像進行結(jié)合。
步驟702粗略確定當前幀人臉的位置、尺寸和旋轉(zhuǎn)角度。
步驟703裁剪并歸一化人臉區(qū)域,獲取12×12的圖像。
由這些參數(shù)對當前幀圖像進行仿射變換,并進行裁剪和尺寸歸一化處理,獲取12×12的圖像。
步驟704將該幅圖像輸入多姿態(tài)人臉檢測模型中,判斷是否為真人臉,若是,進入步驟705,若不是,進入步驟706。將得到的圖像送入多姿態(tài)人臉檢測模型中,計算各姿態(tài)檢測模型的返回權(quán)重,并可將權(quán)重最大的檢測器所對應(yīng)的姿態(tài)作為當前人臉的姿態(tài),而如果各姿態(tài)檢測器的權(quán)重均為零,則認為輸入圖像不是人臉,則還需要對當前幀人臉位置的鄰域進行搜索。
步驟705驗證通過,返回人臉姿態(tài)。
步驟706在比較小的領(lǐng)域范圍和尺度范圍內(nèi)再次搜索人臉。結(jié)合人臉已知的尺寸和旋轉(zhuǎn)角度在比較小的尺度內(nèi)進行搜索,將通過所有姿態(tài)檢測器的候選人臉框合并,并將最大權(quán)重對應(yīng)姿態(tài)作為當前幀人臉的姿態(tài)。如果找到任何候選人臉框,進入步驟707,如果沒有找到,進入步驟708。
步驟707合并候選人臉,返回原始圖像中人臉新的位置、尺度和姿態(tài)。
步驟708驗證未通過。當前搜索區(qū)域不包含人臉或者人臉姿態(tài)變化過大,人臉驗證沒有通過。
下面給出人臉驗證的兩個例子,用具體圖像來說明。
參考圖8,為通過第一級驗證的人臉驗證結(jié)果的示意圖。圖8中所示的801表示的是前一幀圖像及追蹤結(jié)果,802表示的是當前幀圖像,而803則是裁剪后的12×12圖像。該圖像盡管不是完全的正面人臉,但通過了所有人臉檢測器,且姿態(tài)識別為正面,這是由于此種算法可以檢測一定角度范圍的平面旋轉(zhuǎn)的人臉。
參考圖9,為通過第二級驗證的人臉驗證結(jié)果的示意圖。圖9中所示的901表示的是前一幀圖像及追蹤結(jié)果,902表示的是當前幀圖像,903表示的是歸一化的人臉,而904表示的是第二級驗證的結(jié)果。該圖表示的是第一級驗證不通過、第二級驗證通過的例子,該例中平移速度估算有偏差,因此歸一化圖像與真實人臉相比要偏左,第一級驗證不通過,而在第二級驗證中,同樣對輸入圖像進行仿射變換和裁剪處理,但裁剪的區(qū)域比第一級驗證的區(qū)域要大一些,搜索這個區(qū)域中的人臉,并合并候選結(jié)果,得到的檢測人臉框圖如904所示。
第五,對本發(fā)明步驟210中所述的基于AAM的人臉仿射系數(shù)估計作進一步的詳細描述。
前面所述的人臉驗證算法輸出的人臉框可以將各個器官包括在內(nèi),但尺度、旋轉(zhuǎn)角度仍舊沿用前一幀結(jié)果,導致旋轉(zhuǎn)角度過大的人臉無法通過人臉驗證,算法無法處理人臉的平面旋轉(zhuǎn)動作。為保證本發(fā)明所述算法可以跟蹤任意角度旋轉(zhuǎn)的人臉,又提出基于簡化了的AAM的仿射變換系數(shù)估算算法,獲取當前幀人臉的旋轉(zhuǎn)、平移、縮放系數(shù)等。
AAM,是一個基于主元分析方法(PCA)、目標形狀特征和顏色分布特征的參數(shù)模型,目的是由一個事先訓練好的模型獲取目標區(qū)域的形狀、仿射變換系數(shù)等。AAM在人臉建模、人臉定位領(lǐng)域應(yīng)用非常廣泛,如文獻4采用AAM算法獲取人臉的各個器官的輪廓信息。
本發(fā)明中基于AAM的人臉仿射系數(shù)估計的目的就是為了獲取跟蹤人臉的尺寸和旋轉(zhuǎn)角度,也就是計算出四個仿射變換系數(shù)a={ai},i=0,1,2,3,只包含了平移、縮放、旋轉(zhuǎn)三個變換,即xnewynew=scosθ-ssinθssinθscosθxy+a2a3=a0-a1a2a1a0a3xy1---(12)]]>由此式可知,本發(fā)明并不需要知道人臉各個器官的輪廓信息。因此可以對文獻4中的AAM模型進行簡化,只需要為人臉灰度特征訓練灰度PCA模型,并采用只包含灰度模型的AAM搜索輸入人臉,計算出人臉的仿射變換系數(shù)。
另外,不同姿態(tài)人臉的象素分布是不一樣,為此,為三個姿態(tài)分別訓練AAM。首先對人臉檢測中的人臉樣本進行裁剪、尺度歸一化和灰度歸一化處理,得到幾千幅16×16的人臉圖像,裁剪方式與人臉檢測中的裁剪方式一致,其中正面人臉兩千多幅,左側(cè)約1000幅,右側(cè)也有1000幅。下面就以正面人臉為例,說明AAM的訓練和定位過程。
設(shè)一幅人臉圖像為A(x),其中x表示16×16圖像中的一點。對所有訓練樣本進行PCA變換,獲取均值人臉A0、m個最大的特征值及對應(yīng)的m個特征向量Ai,i=1,2,...,m,將任意的正面人臉圖像近似表示為A0與Ai,i=1,2,...,m的線性求和A(x)=A0(x)+Σi=1mλiAi(x)---(13)]]>其中,λi是A(x)的線性加權(quán)系數(shù)。
設(shè)輸入到AAM定位算法的人臉圖像為I(x),這個圖像由人臉驗證算法返回的人臉中心點位置、人臉尺寸、前一幀人臉的旋轉(zhuǎn)角度求得,需要計算合適的λi和仿射變換系數(shù)a={ai},i=0,1,2,3,使I(x)與訓練的AAM匹配,使下式最小E=Σx[A0(x)+Σi=1mλiAi(x)-I(x,a)]2---(14)]]>其中,I(x,a)是對I(x)作仿射變換后得到的圖像,同樣采用迭代處理和Lucas-Kanade反算算法獲取a。每次迭代求得Δa,即為E=Σx[A0(x)+Σi=1mλiAi(x)-I(x,a+Δa)]2---(15)]]>由文獻4中所述,采用了一種空間投影的技術(shù)先剔除上式中的λi,簡化最小化迭代處理的計算量。將矢量Ai張成的空間記為sub(Ai),Ai的正交空間記為sub(Ai)⊥,那么上式可以寫為||A0(x)+Σi=1mλiAi(x)-I(x,a+Δa)||sub(Ai)⊥2+||A0(x)+Σi=1mλiAi(x)-I(x,a+Δa)||sub(Ai)2---(16)]]>其中,第一項是在sub(Ai)⊥上來計算,包含Ai的所有項都可以被省掉,因為它們在sub(Ai)⊥空間上投影都為零,即||A0(x)-I(x,a+Δa)||sub(Ai)⊥2+||A0(x)+Σi=1mλiAi(x)-I(x,a+Δa)||sub(Ai)2---(17)]]>上式中第一項與λi無關(guān),由此可以先對第一項計算最小值,獲取合適的仿射系數(shù),接著在對第二項計算最小值,計算λiλi=ΣxAi(x)·[I(x,a+Δa)-A0(x)]---(18)]]>第一項的最小化過程可以通過Lucas-Kanade反算算法實現(xiàn)
||A0(x)-I(x,a+Δa)||sub(Ai)⊥2=||A0(x,-Δa)-I(x,a)||sub(Ai)⊥2=||A0(x)-∂A∂aΔa-I(x,a)||sub(Ai)⊥2---(19)]]>其中∂A0∂a=▿A0∂x∂a,]]>則有Δa=H-1Σx[▿A0∂x∂a]sub(Ai)⊥T[A0(x)-I(x,a)]---(20)]]>其中Hessian矩陣H為H=Σx[▿A0∂x∂a]sub(Ai)⊥T[▿A0∂x∂a]sub(Ai)⊥---(21)]]>其中,[▿A0∂x∂aj]sub(Ai)⊥]]>為[▿A0∂x∂aj]sub(Ai)⊥=▿A0∂x∂aj-Σi=1m[Σx(Ai(x)·▿A0∂x∂aj)]Ai(x)---(22)]]>x對訪射變化系數(shù)a的偏導數(shù)分別為∂x∂a0=x,∂y∂a0=y,∂x∂a1=-y,∂y∂a1=x,∂x∂a2=1,∂y∂a2=0,∂x∂a3=0,∂y∂a3=1---(23)]]>上式中[▿A0∂x∂aj]sub(Ai)⊥]]>完全由AAM中訓練的均值圖像及16×16圖像中各點坐標決定,可以事先計算,因此H的逆矩陣也可以事先計算。在迭代過程中只需要不斷更新I(x,a)和a,這樣算法的效率可大大提高。
整個AAM定位算法的步驟為預先計算(1)計算訓練的均值圖像的梯度A0;(2)計算16×16圖像中各點的
(3)計算矩陣[▿A0∂x∂aj]sub(Ai)⊥;]]>(4)計算Hessian矩陣及其逆矩陣;迭代處理(5)根據(jù)前一幀的a計算I(x,a);(6)計算圖像差值A(chǔ)0(x)-I(x,a)和Δa;(7)計算新的仿射變換系數(shù)a+Δa;后續(xù)計算(8)由迭代完畢后計算的a返回去計算線性系數(shù)λi。
同時也為左側(cè)和右側(cè)人臉各訓練了一個AAM。參考圖10,為AAM算法仿射系數(shù)計算結(jié)果的示例示意圖。圖中給出了AAM算法的定位結(jié)果,其中的黑色方框為人臉檢測算法確定的人臉框,如圖10中所示的1001輸入為正面人臉,1002為左側(cè)人臉,1003為右側(cè)人臉,白框為仿射變換后求得方框,為方便查看,還由式(1)和白色線條框的位置反算出兩眼睛的位置,用+表示。參考圖11,為基于AAM的人臉跟蹤結(jié)果示意圖,該圖則示出一段序列中的三幅圖像,圖像中人臉旋轉(zhuǎn)角度很大,可是跟蹤算法仍舊可以跟蹤這些旋轉(zhuǎn)的人臉,且準確反映其角度。
第六,對本發(fā)明步驟211中所述的人臉關(guān)鍵點的跟蹤作進一步詳細描述。
前面的平移速度估算、人臉驗證和仿射系數(shù)計算都是在比較低的人臉分辨率上實現(xiàn),這樣可以提高算法的效率,但也會降低求得的人臉參數(shù)的精度,因為原始圖像的分辨率要高得多。因此輸出結(jié)果中人臉位置、尺度、角度等數(shù)據(jù)與真實數(shù)據(jù)仍存在著微小的偏差。從結(jié)果來看,即使一段序列中人臉固定不動,前述模塊獲取的人臉位置、大小、角度都會發(fā)生明顯的抖動。為解決這個問題,在系統(tǒng)最后加入了人臉關(guān)鍵點的跟蹤模塊,仍采用與所述的基于Mean Shift的人臉跟蹤算法一致的基于Lucas-Kanade反算算法的平移估算方法,利用每個關(guān)鍵點的鄰域象素點的顏色信息,由AAM定位結(jié)果設(shè)置初始平移速度,接著在相鄰幀輸入圖像間為各個關(guān)鍵點分別計算出平移速度,確定人臉最終的位置等參數(shù)。
參考圖12,為關(guān)鍵點選取及跟蹤結(jié)果的示意圖。其中,關(guān)鍵點的確定方式如圖12中所示的1201,圖中前一幀的方框為人臉框,ABCDE五個點為關(guān)鍵點,A是中心點,BCDE為A與人臉框四個頂點連線的中心點。圖12中所示的1202為當前幀圖像及由AAM確定的人臉框,對應(yīng)的五個關(guān)鍵點分別為A′B′C′D′E′,以這幾個點的坐標作為平移估算的初值,每個點考慮了其5×5鄰域范圍內(nèi)的象素點,計算各個關(guān)鍵點的平移速度,得到新的點A″B″C″D″E″,如圖12中所示的1203。如果相鄰幀人臉存在著明顯的旋轉(zhuǎn),單由關(guān)鍵點的平移速度確定人臉位置的方法有可能不能反映人臉的快速旋轉(zhuǎn)變化,因為對應(yīng)關(guān)鍵點的鄰域像素分布不再滿足平移的關(guān)系式(2),平移估算精度會降低,圖1203中A″的估算速度就不夠準。為此采取了折衷的方法,將A′B′C′D′E′與A″B″C″D″E″的坐標進行加權(quán)求和,得到新的點ABCDE,如圖12中所示的1204,并由這些點最終確定人臉的位置、外框、旋轉(zhuǎn)角度、尺寸等。圖1204中所示正方形框是人臉框,所示四條線段是系統(tǒng)最終的輸出結(jié)果,線段延長線的交點為方框的中心點,設(shè)方框的邊長為len,則各線段兩端點到中心點的距離分別為len/2和len。
由以上所述,整個多姿態(tài)人臉的檢測與跟蹤系統(tǒng)已在多場景多場合進行了演示,并與人臉識別、三維人臉合成等程序相結(jié)合,實現(xiàn)了多個演示程序。從多方面的測試結(jié)果看,本發(fā)明提出的人臉檢測方法可檢測-50°到50°深度旋轉(zhuǎn)、-20°到20°度平面旋轉(zhuǎn)的人臉,可檢測0°到30°的抬頭人臉,可以檢測0°到30°的低頭人臉,可檢測不同膚色的人臉、不同光照條件下的人臉、戴眼鏡的人臉等,可以跟蹤正面與半側(cè)面人臉,跟蹤任意角度的平面旋轉(zhuǎn)人臉,跟蹤算法非常穩(wěn)定,不會受與人臉膚色類似的非人臉區(qū)域如脖子、人手等的干擾,且可以獲取人臉的旋轉(zhuǎn)角度,輸出人臉的準確尺寸。
本發(fā)明所述算法的效率非常高,根據(jù)測試結(jié)果,算法在P42.8GHz計算機上跟蹤320×240圖像的人臉時每幀處理時間為8ms-15ms,處理幀率為10fps的320×240視頻圖像時CPU占有率不超過12%,在處理幀率為10fps的640×480視頻圖像時CPU占有率不超過18%。如圖13所示,為一組人臉檢測與跟蹤結(jié)果的示例示意圖,其中,第一幅圖是人臉檢測結(jié)果,最后一幅圖是驗證不通過的例子,用四條黑色線段表示。
本發(fā)明針對原來算法的局限性,提出多種改進思路,解決了原有算法的這些缺陷,實現(xiàn)了更加穩(wěn)定可靠的跟蹤結(jié)果,并保持了非常高的運行效率。該方法可實時檢測拍攝場景中的多個正面與半側(cè)面直立人臉,挑選其中最大的人臉,采用基于Mean Shift的跟蹤算法和Lucas-Kanade反算算法對該人臉進行持續(xù)跟蹤,采用基于AAM的人臉模型計算跟蹤人臉與訓練好的人臉模型的仿射變換系數(shù),由此確定跟蹤人臉的尺寸與旋轉(zhuǎn)角度,本發(fā)明還采用多姿態(tài)人臉檢測模型對跟蹤人臉進行持續(xù)的驗證,判斷跟蹤區(qū)域是否是一個真的人臉,確保人臉跟蹤的穩(wěn)定性。
權(quán)利要求
1.一種多姿態(tài)人臉檢測與追蹤方法,其特征在于,包括(1)通過人臉樣本訓練,分別獲得人臉正面與半側(cè)面檢測模型,并確定AAM人臉模型;(2)利用所述人臉正面與半側(cè)面檢測模型,對輸入視頻圖像進行人臉檢測,確定一幀圖像中是否存在人臉;(3)如果在某幀圖像中檢測到人臉,則在后續(xù)幀中追蹤并驗證該人臉,包括步驟(31)追蹤前一幀圖像中的人臉位置,獲得當前幀中人臉的初步位置;(32)將所述獲得的初步位置作為初值,利用當前幀與前一幀圖像的色度差異,計算人臉的平移速度;(33)根據(jù)所述平移速度,估算出當前幀中人臉的大概位置,并利用所述人臉正面模型與半側(cè)面檢測模型,在該位置附近進行檢測,以驗證該人臉;(34)如果在該位置附近檢測到人臉,則驗證通過,并采用所述的AAM人臉模型計算當前人臉的仿射變換系數(shù),獲取當前幀人臉的特征參數(shù)。
2.如權(quán)利要求1所述的方法,其特征在于,所述步驟(3)進一步包括(35)將當前幀與前一幀圖像人臉的關(guān)鍵點進行匹配,根據(jù)匹配結(jié)果進一步修正所述計算出來的人臉平移速度,以及當前幀人臉的特征參數(shù)。
3.如權(quán)利要求2所述的方法,其特征在于,所述步驟(3)進一步包括(36)更新當前幀人臉的特征參數(shù),利用這些參數(shù)用于下一幀圖像的追蹤驗證。
4.如權(quán)利要求1所述的方法,其特征在于,所述步驟(34)進一步包括如果在該位置附近未檢測到人臉,則驗證不通過,而在下一幀中進行追蹤驗證。
5.如權(quán)利要求4所述的方法,其特征在于,所述步驟(34)進一步包括如果在后續(xù)數(shù)幀中人臉驗證仍未通過,則停止追蹤。
6.如權(quán)利要求5所述的方法,其特征在于,進一步包括步驟(4)前一個追蹤目標停止追蹤后,在后續(xù)圖像中重新從步驟(2)開始檢測,直到找到新的人臉后繼續(xù)進行追蹤。
7.如權(quán)利要求1所述的方法,其特征在于,步驟(1)所述通過人臉樣本訓練分別獲得人臉正面與半側(cè)面檢測模型的步驟,包括首先使用所有姿態(tài)的人臉樣本訓練多層檢測模型,再對正面、左側(cè)面、右側(cè)面姿態(tài)的人臉樣本分別進行訓練,得到三個姿態(tài)的檢測模型。
8.如權(quán)利要求1所述的方法,其特征在于,步驟(2)所述人臉檢測步驟,包括首先采用所有姿態(tài)的檢測模型對圖像進行搜索,淘汰大部分搜索窗口,然后將剩下的窗口分別輸入到三個姿態(tài)的檢測模型中,根據(jù)檢測結(jié)果確定人臉大致姿態(tài)。
9.一種多姿態(tài)人臉檢測與追蹤系統(tǒng),其特征在于,包括訓練模塊,用于通過人臉樣本訓練,分別獲得人臉正面與半側(cè)面檢測模型,并確定AAM人臉模型;檢測模塊,用于根據(jù)所述人臉正面與半側(cè)面檢測模型,對輸入視頻圖像進行人臉檢測,確定一幀圖像中是否存在人臉;追蹤模塊,用于在某幀圖像中檢測到人臉后,在后續(xù)幀中追蹤并驗證該人臉,包括用于追蹤前一幀圖像中的人臉位置,獲得當前幀中人臉的初步位置的單元;用于將所述獲得的初步位置作為初值,利用當前幀與前一幀圖像的色度差異,計算人臉的平移速度的單元;用于根據(jù)所述平移速度,估算出當前幀中人臉的大概位置,并利用所述人臉正面模型與半側(cè)面檢測模型,在該位置附近進行檢測,以驗證該人臉的單元;用于在該位置附近檢測到人臉后,采用所述的AAM人臉模型計算當前人臉的仿射變換系數(shù),獲取當前幀人臉的特征參數(shù)的單元。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述追蹤模塊進一步包括用于將當前幀與前一幀圖像人臉的關(guān)鍵點進行匹配,根據(jù)匹配結(jié)果進一步修正所述計算出來的人臉平移速度,以及當前幀人臉的特征參數(shù)的單元。
11.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述訓練模塊,通過使用所有姿態(tài)的人臉樣本訓練多層檢測模型,并對正面、左側(cè)面、右側(cè)面姿態(tài)的人臉樣本分別進行訓練,得到三個姿態(tài)的檢測模型。
12.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述檢測模塊,通過采用所有姿態(tài)的檢測模型對圖像進行搜索,淘汰大部分搜索窗口,并將剩下的窗口分別輸入到三個姿態(tài)的檢測模型中,根據(jù)檢測結(jié)果確定人臉大致姿態(tài)。
全文摘要
本發(fā)明公開了一種多姿態(tài)人臉檢測與追蹤系統(tǒng)及方法,可實時檢測視頻序列中多個姿態(tài)的人臉,并在后續(xù)圖像中對檢測人臉進行持續(xù)跟蹤。該方法首先通過人臉樣本訓練,分別獲得人臉正面與半側(cè)面檢測模型,并確定AAM人臉模型;利用所述人臉正面與半側(cè)面檢測模型,對輸入視頻圖像進行人臉檢測,確定一幀圖像中是否存在人臉;如果在某幀圖像中檢測到人臉,則在后續(xù)幀中追蹤并驗證該人臉。應(yīng)用本發(fā)明所述的方法,可以追蹤檢測多姿態(tài)的人臉,且能克服受到與人臉膚色相近的非人臉區(qū)域干擾的缺點,并能確保多姿態(tài)人臉的持續(xù)跟蹤和檢測算法的穩(wěn)定性,并獲取人臉的平面旋轉(zhuǎn)角度,輸出人臉的準確尺寸。
文檔編號G06K9/00GK1924894SQ20061011342
公開日2007年3月7日 申請日期2006年9月27日 優(yōu)先權(quán)日2006年9月27日
發(fā)明者黃英, 謝東海, 王浩 申請人:北京中星微電子有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1