專利名稱:結合活動形狀模型和快速活動外觀模型的特征點定位方法
技術領域:
本發明涉及的是一種圖像處理技術領域的方法,具體是一種結合活動形狀模型和快速活動外觀模型的特征點定位方法。
背景技術:
人臉領域的研究近年來受到越來越多的科研工作者的關注,而人臉特征點定位是整個人臉研究領域的關鍵環節,人臉特征點定位的精確性直接影響著后續人臉研究的各個方面。
經對現有技術文獻的檢索發現,T.F.Cootes等在《計算機視覺與圖像理解》(1995年第一期第38頁)上發表的“活動形狀模型-其訓練與應用”,該文提出的ASM(活動形狀模型)方法,該方法中,當進行特征點新位置搜索時,在垂直于前后兩個特征點連線的方向上的一維輪廓上找到使馬氏距離最小的子輪廓的中心并設定該中心位置為當前特征點的新位置,但是該方法對特征點的初始位置非常敏感,如果當前特征點的初始位置靠近其目標位置時,搜索精度較高,而當初始位置遠離目標位置時,搜索精度會急劇下降,因此該方法的局部搜索精度高,而全局搜索精度較低。同時Iain Matthews等在《計算機視覺國際期刊》(2004年第2期第135頁)上發表的“活動外觀模型回顧”,該文提出了一種利用圖像對齊方法原理進行AAM搜索的快速人臉特征點定位方法,該方法具有非常好的全局搜索效果,即使初始特征點遠離目標位置,該方法也能搜索到目標位置附近。但是該方法的局部搜索效果不如ASM方法,在多數情況下,該方法也不能完全精確地定位該特征點。
發明內容
本發明針對現有技術的不足,提出一種結合ASM和Lucas AAM的人臉特征點定位方法,使其將ASM和Lucas AAM(快速活動外觀模型)兩個方法結合在一起進行人臉特征點定位,這樣ASM全局搜索精度低的缺點可以由Lucas AAM全局搜索效果好的優點得到補償,與此同時,Lucas AAM局部搜索差的特點也可以由ASM局部搜索效果好的優點得到補償,因此把這兩者結合在一起可以互相取長補短,這樣搜索的特征點位置會非常精確。同時,由于Lucas AAM方法相對較慢,融入了ASM方法后也可以大大提高整個特征點搜索的速度。
本發明是通過以下技術方案實現的,包括如下步驟(1)建立Lucas AAM模型、計算初始參數、給出模型的初始位置;(2)建立ASM模型以及特征點的局部紋理;(3)以步驟(1)得到的模型的初始位置并用Lucas AAM方法搜索人臉特征點;(4)以Lucas AAM模型搜索到的特征點作為初始位置,用ASM方法搜索特征點。
所述的步驟(1)中,建立Lucas AAM模型,是指首先在訓練集的每一個訓練樣本圖像上選擇k個人臉的主要特征點,這k個特征點組成的形狀可以由一個向量x(i)=[x1,x2,...,xk,y1,y2,...,yk]來表示,具有相同編號的特征點在不同的圖像中代表了相同的特征,n個訓練樣本圖像就對應有n個形狀向量,然后校準這n個向量從而使得它們所表示的形狀在大小、方向和位置上最為接近。然后對n個校準后的形狀向量進行PCA(主元分析)處理,最終任何一個形狀都可以表示為x=x+Pb,其中b=PT·(x-x),b代表了前t個最大的模式的變化情況,這樣就建立了Lucas AAM形狀模型。然后用分段線性仿射變形方法建立訓練樣本圖像的特征點位置與平均形狀x之間的映射關系,并用此關系把訓練樣本圖像變形到平均形狀x,并把變形后的平均形狀內的每個象素點的灰度值拉成一個向量,即該訓練樣本圖像的紋理,該紋理的長度即為平均形狀x內部象素點的個數,n個訓練樣本圖像就對應有n個紋理向量,然后對n個紋理向量進行主元分析處理,最終任何一個紋理都可以表示為A(x)=A0(x)+Σi=1mλiAi(x),∀x∈x‾,]]>這樣就建立了Lucas AAM紋理模型。
所述的步驟(1)中,計算初始參數,是指計算梯度下降圖像 其中A0是平均紋理的梯度,而 是分段線性仿射變形的雅可比行列式。根據H=Σx[▿A0∂W∂p]T[▿A0∂W∂p]]]>計算Hessian(一種雅可比矩陣)矩陣H。
所述的步驟(1)中,計算模型的初始位置,是指在人臉圖像上用方差投影函數找到兩眼位置,并設定兩眼中點坐標為[X1,Y1]。對上述求得的平均形狀模型x,分別計算左右眼球周圍的四個特征點的中心作為左右眼睛位置,從而得到兩眼的中點坐標[X2,Y2],然后把整個平均形狀模型x平移[X1-X2,Y1-Y2],這樣就得到模型的初始位置,從而可以用于搜索。
所述的步驟(2),是指對于ASM模型的建立與上一步中形狀模型的建立一樣。對于訓練樣本圖像中每個特征點還需要建立其局部紋理,即在垂直于當前特征點的前后兩個特征點連線方向上以當前特征點為中心兩邊各選擇m個像素,計算這(2m+1)個像素的灰度值導數并歸一化從而得到一個profile(由象素的灰度值的導數構成的向量)。記第i個形狀向量中第j個特征點的profile為gij,則第j個特征點profile的平均,gj‾=1nΣi=1ngij,]]>其方差為Cj=1nΣi=1n(gij-gj‾)·(gij-gj‾)T,]]>對k個特征點都計算其profile的平均和方差,從而就得到了k個特征點的局部紋理。
所述的步驟(3),是指以步驟(1)得到的模型的初始位置用Lucas AAM方法進行搜索,具體步驟如下a)由當前p根據x=x+Pb計算特征點位置,用分段線形仿射變形方法把當前特征點位置包圍的紋理變形到x,并得到一個紋理向量I(W(x;p))。
b)計算差值圖像I(W(x;p))-A0(x)。
c)計算Σx[▿A0∂W∂p]T[I(W(x;p))-A0(x)].]]>d)計算Δp=H-1Σx[▿A0∂W∂p]T[I(W(x;p))-A0(x)].]]>e)由公式W(x;p)←W(x;p)οW(x;Δp)-1更新得到新的P值。
反復迭代后,由公式x=x+Pb得到新的形狀,即特征點的位置。
所述的步驟(4),是指用上一步中得到的搜索結果作為初始位置,并利用ASM搜索方法在圖像中進行特征點搜索,該搜索過程主要是通過仿射變換和參數b的變化來實現。具體通過反復迭代如下兩步來實現a)計算每個特征點的新位置首先把初始ASM模型覆蓋在圖像上,對于模型中第j個特征點,在垂直于其前后兩個特征點連線方向上以其為中心兩邊各選擇l(l大于m)個像素,然后計算這l個像素的灰度值導數并歸一化從而得到一個profile,在這個新profile中取長度為(2*m+1)的sub-profile記為temp(P),定義一個能量函數fj(p)=(temp(P)-gj‾)·Cj-1·(temp(P)-gj‾)T,]]>用此能量函數評判當前sub-profile與 之間的相似性,選擇使fj(p)最小的位置作為該特征點的新位置,并計算其變化dXj,對每個特征點都進行這樣的計算就得到k個位置變化dXi,i=1,2,...,k,并組成一個向量dX=(dX1,dX2,...,dXk)。
b)仿射變換中的參數和b的更新由式X=M(s,θ)[x]+Xc得M(s(1+ds),(θ+dθ))[x+dx]+(Xc+dXc)=(X+dX),M(s(1+ds),(θ+dθ))[x+dx]=M(s,θ)[x]+dX+Xc-(Xc+dXc),由式x=x+Pb,現希望找到db使得x+dx=x+P(b+db),由式x=x+Pb可得db=P-1dx,這樣就可以對參數作如下更新Xc=Xc+wtdXc,Yc=Yc+wtdYc,θ=θ+wθdθ,b=b+Wbdb,式中wt,wθ,ws,Wb是用于控制參數變化的權值,這樣由式x=x+Pb可得到新的形狀。
本發明提出的結合ASM和Lucas AAM這兩種方法的人臉特征點定位方法具有非常高的精度。由于一開始使用Lucas AAM方法進行特征點的粗搜索,這能找到特征點的大致位置,然后再用ASM方法以前面搜索到的位置作為初始位置進行特征點的精搜索,在這種前提下搜索精度非常高,而且還不易陷入局部最小值。用拍攝的人臉庫對比本發明提出的結合ASM和Lucas AAM這兩種方法的人臉特征點定位方法和原始ASM方法,前后兩者的特征點定位的平均誤差分別是2.1個像素和4.5個像素。實驗表明本發明提出的方法比其它特征點定位方法精確。同時在后續搜索中用ASM方法代替Lucas AAM方法,其速度也得到了很大的提高。
圖1為標有特征點的人臉圖像。
圖2為眼睛定位的結果。
圖3為特征點的初始位置。
圖4為Lucas AAM搜索后得到的結果。
圖5為ASM搜索后得到的結果。
具體實施例方式
以下結合一個具體的實施例對本發明的技術方案作進一步詳細的描述。
實施例采用的圖像來自拍攝的人臉圖像庫。整個實現過程如下1.從人臉庫中選擇500個標好特征點的人臉圖像建立ASM模型。標好特征點的人臉圖像,如圖1所示。對相應的500個形狀向量和紋理向量分別作主元分析處理即完成了Lucas AAM模型的建立。這樣任何一個形狀都可以表示為x=x+Pb,同時任何一個紋理都可以表示為A(x)=A0(x)+Σi=1mλiAi(x),∀x∈x‾.]]>計算初始參數計算梯度下降圖像 其中A0是平均紋理的梯度,而 是分段線形仿射變形的雅可比行列式。根據H=Σx[▿A0∂W∂p]T[▿A0∂W∂p]]]>計算Hessian矩陣H。
計算模型的初始位置在人臉圖像上用方差投影函數找到左右兩眼位置,它們分別是[274,229]和[371,228],如圖2所示,從而可以得到兩眼中點坐標[322.5,228.5]。對上述求得的平均形狀模型x,分別計算左右眼球周圍的四個特征點的中心作為左右眼睛位置,它們分別是[-52.79,-48.76]和[52.03,-49.22],從而得到兩眼的中點坐標[-0.37,-48.99],然后把整個平均形狀模型x平移[322.5-(-0.37),228.5-(-48.99)],這樣就得到模型的初始位置,如圖3所示。
2.對于ASM模型的建立與上一步中形狀模型的建立一樣。對于訓練樣本圖像中每個特征點還需要建立其局部紋理,即在垂直于當前特征點的前后兩個特征點連線方向上以當前特征點為中心兩邊各選擇5個像素,計算這11(2*5+1)個像素的灰度值導數并歸一化從而得到一個profile。記第i個形狀向量中第j個特征點的profile為gij,則第j個特征點profile的平均,gj‾=1nΣi=1ngij,]]>其方差為Cj=1nΣi=1n(gij-gj‾)·(gij-gj‾)T,]]>對60個特征點都計算其profile的平均和方差,從而就得到了60個特征點的局部紋理。
3.以第一步中所得到的初始位置作為起始位置,用Lucas AAM方法進行搜索,總共迭代30次,搜索結果如圖4所示。
4.用上一步中得到的搜索結果作為初始位置,并利用ASM搜索方法在圖像中進行特征點搜索。經過5步迭代就可以最終定位60個特征點,如圖5所示。
通過實驗,可以發現本發明所提出的方法在精度和速度上都比原來的兩種方法有了很大的提高。
權利要求
1.一種結合活動形狀模型和快速活動外觀模型的特征點定位方法,其特征在于,包括如下步驟(1)建立Lucas AAM模型、計算初始參數、給出模型的初始位置;(2)建立ASM模型以及特征點的局部紋理;(3)以步驟(1)得到的模型的初始位置并用Lucas AAM方法搜索人臉特征點;(4)以Lucas AAM模型搜索到的特征點作為初始位置,用ASM方法搜索特征點。
2.根據權利要求1所述的結合活動形狀模型和快速活動外觀模型的特征點定位方法,其特征是,所述的步驟(1)中,建立Lucas AAM模型,是指首先在訓練集的每一個樣本圖像上選擇k個人臉主要特征點,這k個特征點組成的形狀由一個向量x(i)=[x1,x2,...,xk,y1,y2,...,yk]來表示,相同編號的特征點在不同的圖像中代表了相同的特征,n個樣本圖像就對應有n個形狀向量,校準這n個向量使得它們所表示的形狀在大小、方向和位置上最為接近,對n個校準后的形狀向量進行主元分析處理,任何一個形狀都表示為x=x+Pb,其中b=PT.(x-x),b代表了前t個最大模式的變化情況,這就建立了Lucas AAM形狀模型;用分段線性仿射變形方法建立樣本圖像的特征點與x之間的映射關系,并用此關系把樣本圖像變形到平均形狀x,并把變形后的平均形狀內的每個象素點的灰度值拉成一個向量,即該訓練樣本圖像的紋理,該紋理的長度即為平均形狀x內部象素點的個數,n個訓練樣本圖像就對應有n個紋理向量,然后對n個紋理向量進行主元分析處理,最終任何一個紋理都表示為A(x)=A0(x)+Σi=1mλiAi(x),∀x∈x-,]]>這樣就建立了Lucas AAM紋理模型。
3.根據權利要求1所述的結合活動形狀模型和快速活動外觀模型的特征點定位方法,其特征是,所述的步驟(1)中,計算初始參數,是指計算梯度下降圖像 A0是平均紋理梯度, 是分段線性仿射變形的雅可比行列式,由H=Σx[▿A0∂W∂p]T[▿A0∂W∂p]]]>計算Hessian矩陣。
4.根據權利要求1所述的結合活動形狀模型和快速活動外觀模型的特征點定位方法,其特征是,所述的步驟(1)中,計算模型的初始位置,是指用方差投影函數找到兩眼位置,并設定兩眼中點坐標為[X1,Y1],對上述求得的平均形狀模型x,分別計算左右眼球周圍的四個特征點的中心作為左右眼睛位置,從而得到兩眼的中點坐標[X2,Y2],然后把整個平均形狀模型x平移[X1-X2,Y1-Y2],這樣就得到模型的初始位置。
5.根據權利要求1所述的結合活動形狀模型和快速活動外觀模型的特征點定位方法,其特征是,所述的步驟(2),是指對于ASM模型的建立與上一步中形狀模型的建立一樣,對于訓練樣本圖像中每個特征點還需要建立其局部紋理,即在垂直于當前特征點的前后兩個特征點連線方向上以當前特征點為中心兩邊各選擇m個像素,計算這2m+1個像素的灰度值導數并歸一化從而得到一個profile,記第i個形狀向量中第j個特征點的profile為gij,則第j個特征點profile的平均,gj‾=1nΣi=1ngij,]]>其方差為Cj=1nΣi=1n(gij-gj‾)·(gij-gj‾)T,]]>對k個特征點都計算其profile的平均和方差,從而就得到了k個特征點的局部紋理。
6.根據權利要求1所述的結合活動形狀模型和快速活動外觀模型的特征點定位方法,其特征是,所述的步驟(3),是指以模型的初始位置用Lucas AAM方法進行搜索,具體步驟如下a)由當前p根據x=x+Pb計算當前特征點位置,用分段線形仿射變形方法把當前特征點包圍的紋理變形到x,得到一個紋理向量I(W(x;p));b)計算差值圖像I(W(x;p))-A0(x);c)計算Σx[▿A0∂W∂p]T[I(W(x;p))-A0(x)];]]>d)計算Δp=H-1Σx[▿A0∂W∂p]T[I(W(x;p))-A0(x)];]]>e)由公式W(x;p)←W(x;p)оW(x;Δp)-1更新得到新的P值;反復迭代后,由公式x=x+Pb得到新的形狀,即特征點的位置。
7.根據權利要求1所述的結合活動形狀模型和快速活動外觀模型的特征點定位方法,其特征是,所述的步驟(4),是指用Lucas AAM搜索到的結果作為初始位置,并利用ASM搜索方法在圖像中進行特征點搜索,該搜索過程主要是通過仿射變換和參數b的變化來實現,具體通過反復迭代如下兩步來實現a)計算每個特征點的新位置對于模型中第j個特征點,在垂直于其前后兩個特征點連線方向上以其為中心兩邊各選擇1個像素,1大于m,然后計算這1個像素的灰度值導數并歸一化從而得到一個profile,在這個新profile中取長度為(2*m+1)的sub-profile記為temp(P),定義一個能量函數fj(p)=(temp(P)-gj‾)·Cj-1·(temp(P)-gj‾)T,]]>用此能量函數評判當前sub-profile與 之間的相似性,選擇使fj(p)最小的位置作為該特征點的新位置,并計算其變化dXj,對每個特征點都進行這樣的計算就得到k個位置變化dXi,i=1,2,...,k,并組成一個向量dX=(dX1,dX2,...,dXk);b)仿射變換中的參數和b的更新由式X=M(s,θ)[x]+Xc得M(s(1+ds),(θ+dθ))[x+dx]+(Xc+dXc)=(X+dX),M(s(1+ds),(θ+dθ))[x+dx]=M(s,θ)[x]+dX+Xc-(Xc+dXc),由式x=x+Pb,現希望找到db使得x+dx=x+P(b+db),由式x=x+Pb得db=P-1dx,這樣就能對參數作如下更新Xc=Xc+wtdXc,Yc=Yc+wtdYc,θ=θ+wθdθ,b=b+Wbdb,式中wt,wθ,ws,Wb是用于控制參數變化的權值,由式x=x+Pb得新的形狀。
全文摘要
一種圖像處理技術領域的結合活動形狀模型和快速活動外觀模型的特征點定位方法,包括以下步驟(1)建立Lucas AAM模型、計算初始參數、給出模型的初始位置;(2)建立ASM模型;(3)以步驟(1)得到的模型的初始位置并用LucasAAM方法搜索人臉特征點;(4)以Lucas AAM模型搜索到的人臉特征點作為初始位置,用ASM方法搜索特征點的新位置。本發明將ASM和Lucas AAM兩個方法結合在一起進行人臉特征點定位,這樣ASM全局搜索精度低的缺點可以由LucasAAM全局搜索效果好的優點得到補償,與此同時,Lucas AAM局部搜索差的特點也可以由ASM局部搜索效果好的優點得到補償。同時,由于Lucas AAM方法相對較慢,融入了ASM方法后也可以大大提高整個特征點搜索的速度。
文檔編號G06K9/00GK1866272SQ20061002797
公開日2006年11月22日 申請日期2006年6月22日 優先權日2006年6月22日
發明者杜春華, 楊杰, 吳證 申請人:上海交通大學