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