本發(fā)明涉及機(jī)器視覺中的一種耳廓檢測(cè)技術(shù),尤其是涉及了一種基于ASM算法和Lazy Snapping算法相結(jié)合的耳廓檢測(cè)方法。
背景技術(shù):
近年來,隨著計(jì)算機(jī)科學(xué)技術(shù)的蓬勃發(fā)展,機(jī)器視覺技術(shù)迅速普及于生產(chǎn)生活當(dāng)中。耳廓檢測(cè)在圖像信息提取,生物特征識(shí)別以及三維重建等領(lǐng)域都有著十分重要的應(yīng)用?;贖aar特征構(gòu)建分類器來實(shí)現(xiàn)物體檢測(cè)的方法被有效地應(yīng)用于人臉檢測(cè),然而其只能夠識(shí)別目標(biāo)物體所在的矩形區(qū)域,并不能進(jìn)行相關(guān)幾何形狀特征的提取。ASM主動(dòng)形狀模型是一種基于統(tǒng)計(jì)學(xué)的檢測(cè)方法,可以實(shí)現(xiàn)對(duì)目標(biāo)物體上特征點(diǎn)的有效檢測(cè),精確度高。采用ASM算法進(jìn)行耳廓檢測(cè),需要對(duì)訓(xùn)練數(shù)據(jù)集中的每一張圖片進(jìn)行所有耳廓特征點(diǎn)的人工標(biāo)定。數(shù)據(jù)集較大,特征點(diǎn)較多,這使得訓(xùn)練數(shù)據(jù)的構(gòu)建十分困難。其次,最終耳廓檢測(cè)的效果直接依賴于訓(xùn)練數(shù)據(jù)的好壞,這對(duì)于訓(xùn)練階段提出了更為嚴(yán)格的要求,這是限制ASM算法應(yīng)用的一個(gè)重要因素。Lazy Snapping算法主要應(yīng)用于圖像中前景和背景的分割,必須在手動(dòng)標(biāo)記前景區(qū)域和背景區(qū)域之后才能進(jìn)行圖像分割操作,不具有自動(dòng)性??梢詫SM算法和Lazy Snapping算法相結(jié)合,采用簡(jiǎn)化的ASM模型標(biāo)記耳廓上的關(guān)鍵特征點(diǎn),以此為基礎(chǔ)自動(dòng)生成前景和背景標(biāo)記作為L(zhǎng)azy Snapping算法的輸入,從而實(shí)現(xiàn)耳廓的高效檢測(cè)。ASM算法可以參考文獻(xiàn)“Cootes,T.F.,Taylor,C.J.,Cooper,D.H.and Graham,J.,1995.Active shape models-their training and application.Computer vision and image understanding,61(1),pp.38-59.”,Lazy Snapping算法可以參考文獻(xiàn)“Li,Yin,et al."Lazy snapping."ACM Transactions on Graphics(ToG).Vol.23.No.3.ACM,2004.”。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于針對(duì)現(xiàn)有技術(shù)的不足,提供了一種基于ASM算法和Lazy Snapping算法相結(jié)合的耳廓檢測(cè)方法,本發(fā)明實(shí)現(xiàn)了耳廓的高效檢測(cè)。
本發(fā)明的目的是通過以下技術(shù)方案來實(shí)現(xiàn)的:一種基于ASM算法和Lazy Snapping算法相結(jié)合的耳廓檢測(cè)方法,包括以下步驟:
(1)使用Haar特征結(jié)合Adaboost算法構(gòu)建耳朵檢測(cè)器,檢測(cè)出圖片中耳朵所在的矩形區(qū)域,整個(gè)耳廓位于該區(qū)域之內(nèi),稱之為耳朵矩形。
(2)構(gòu)建簡(jiǎn)單的耳廓特征點(diǎn)模型,采用ASM算法檢測(cè)出圖片中上耳根點(diǎn)和下耳根點(diǎn)所在的位置。
(3)計(jì)算耳朵矩形距離上耳根點(diǎn)和下耳根點(diǎn)連線最遠(yuǎn)的頂點(diǎn)。上耳根點(diǎn)和下耳根點(diǎn)連成一條直線,耳廓位于這條直線的一側(cè),稱其為耳朵分割線。分別計(jì)算耳朵矩形四個(gè)頂點(diǎn)到耳朵分割線的距離,選取距離最遠(yuǎn)的頂點(diǎn),稱其為耳側(cè)點(diǎn)。
(4)采用耳朵矩形設(shè)置圖片的感興趣區(qū)域ROI,并且將上耳根點(diǎn),下耳根點(diǎn)和耳側(cè)點(diǎn)的坐標(biāo)轉(zhuǎn)換到該感興趣區(qū)域中。此后對(duì)圖片的所有操作均在該感興趣區(qū)域內(nèi)進(jìn)行。
(5)生成前景標(biāo)記線和背景標(biāo)記線。將上耳根點(diǎn)和下耳根點(diǎn)的中點(diǎn)記為耳根中點(diǎn)。將上耳根點(diǎn)和下耳根點(diǎn)之間的距離記為耳根距離。將耳根中點(diǎn)作為坐標(biāo)系原點(diǎn),將耳朵分割線作為q軸,正方向?yàn)閺纳隙c(diǎn)指向下耳根點(diǎn)。將過坐標(biāo)系原點(diǎn)并且垂直于耳朵分割線的直線作為p軸,正方向從坐標(biāo)系原點(diǎn)指向耳廓。從坐標(biāo)系原點(diǎn)出發(fā)沿著p軸正方向作線段,長(zhǎng)度為0.5倍的耳根距離。從坐標(biāo)系原點(diǎn)出發(fā)沿著p軸正反向偏向q軸正方向45度作線段,長(zhǎng)度為0.5倍的耳根距離。從坐標(biāo)系原點(diǎn)出發(fā)沿著p軸正反向偏向q軸負(fù)方向45度作線段,長(zhǎng)度為0.5倍的耳根距離。這三條線線段連同上耳根點(diǎn)和下耳根點(diǎn)之間的線段為前景標(biāo)記線。耳朵矩形的四條邊為背景標(biāo)記線。
(6)采用Lazy Snapping算法進(jìn)行前景和背景分割。將生成的前景標(biāo)記線和背景標(biāo)記線作為輸入,運(yùn)行Lazy Snapping算法,得到耳朵分割區(qū)域,耳廓為該區(qū)域的邊界線。
(7)耳朵分割區(qū)域邊緣檢測(cè)及裁剪。尋找耳朵分割區(qū)域最長(zhǎng)的外邊緣。以耳朵分割線為邊界,截取僅僅保留該邊緣位于耳側(cè)點(diǎn)一側(cè)的部分,即為耳廓邊緣,是非封閉的。
(8)耳廓曲線擬合。耳廓邊緣由一系列的散點(diǎn)組成,為了消除噪聲干擾,需要對(duì)這些散點(diǎn)進(jìn)行曲線擬合處理。首先進(jìn)行坐標(biāo)系變換,將耳朵分割線作為v軸,正方向?yàn)閺纳隙c(diǎn)指向下耳根點(diǎn)。計(jì)算耳廓邊緣上所有點(diǎn)到耳朵分割線的距離,將距離最遠(yuǎn)的點(diǎn)記為耳廓最遠(yuǎn)點(diǎn)。u軸與v軸垂直并通過耳廓最遠(yuǎn)點(diǎn),正方向指向耳廓最遠(yuǎn)點(diǎn)。將耳廓邊緣上所有點(diǎn)的坐標(biāo)轉(zhuǎn)換到新構(gòu)建的坐標(biāo)系中,對(duì)u軸上半部分的點(diǎn)和下半部分的點(diǎn)分別進(jìn)行多項(xiàng)式曲線擬合,得到兩條擬合后的曲線方程。
(9)耳廓點(diǎn)生成。針對(duì)擬合后的兩條曲線,分別在u正半軸到v負(fù)半軸區(qū)間和u正半軸到v正半軸區(qū)間內(nèi),以u(píng)軸和v軸的交點(diǎn)為原點(diǎn),等角度作射線,計(jì)算每條射線與曲線的交點(diǎn),這樣就可以構(gòu)成耳廓點(diǎn)。之后,將得到的耳廓點(diǎn)從以u(píng)軸和v軸為基礎(chǔ)的新坐標(biāo)系轉(zhuǎn)換到感興趣區(qū)域的坐標(biāo)系,此時(shí)耳廓點(diǎn)的坐標(biāo)為在耳朵矩形中的坐標(biāo)。最后根據(jù)耳朵矩形對(duì)耳廓點(diǎn)進(jìn)行平移操作,將其轉(zhuǎn)換到原始圖像的坐標(biāo)系中,從而實(shí)現(xiàn)了對(duì)耳廓的有效檢測(cè)。
本發(fā)明的有益效果是:本發(fā)明利用Haar特征構(gòu)建耳朵檢測(cè)器,檢測(cè)出耳朵所在的矩形區(qū)域,只有僅僅對(duì)該區(qū)域進(jìn)行圖像處理操作,大大加快了運(yùn)行速度。本發(fā)明使用簡(jiǎn)單低精度的耳朵模型來訓(xùn)練ASM檢測(cè)器,進(jìn)而對(duì)耳廓上的少數(shù)關(guān)鍵特征點(diǎn)進(jìn)行檢測(cè),訓(xùn)練成本較低,ASM算法的檢測(cè)效果對(duì)訓(xùn)練數(shù)據(jù)集的敏感性較低,可以很容易地進(jìn)行操作。本發(fā)明使用Lazy Snapping算法實(shí)現(xiàn)對(duì)耳廓地有效分割,并且使用坐標(biāo)系變換和曲線擬合技術(shù)來提高耳廓檢測(cè)結(jié)果的精確度。本發(fā)明所提出的耳廓檢測(cè)技術(shù)運(yùn)算速度快,可靠性高,容易實(shí)施,成本較低,可以有效地實(shí)現(xiàn)耳廓的檢測(cè)。
附圖說明
圖1為耳廓檢測(cè)示意圖,圖中,ET為待檢測(cè)的耳廓,EA為耳朵矩形,ER0為上耳根點(diǎn),ER1為下耳根點(diǎn),EL為耳朵分割線,ES為耳側(cè)點(diǎn)。
圖2為標(biāo)記線示意圖,圖中,ERD為上下耳根點(diǎn)之間的距離,MB為背景標(biāo)記線,MF為前景標(biāo)記線。
圖3為耳廓曲線擬合坐標(biāo)系變換示意圖,圖中,v軸正反向?yàn)閺纳隙c(diǎn)指向下耳根點(diǎn)。EF為耳廓最遠(yuǎn)點(diǎn)。u軸與v軸垂直,正反向指向耳廓最遠(yuǎn)點(diǎn)。
圖4是本發(fā)明進(jìn)行耳廓檢測(cè)的處理流程圖。
具體實(shí)施方式
下面結(jié)合附圖以及具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步說明。
如圖4所示,本發(fā)明基于ASM算法和Lazy Snapping算法的耳廓檢測(cè)方法,包括以下步驟:
1、使用Haar特征結(jié)合Adaboost算法構(gòu)建耳朵檢測(cè)器,檢測(cè)出圖片中耳朵所在的矩形區(qū)域,整個(gè)耳廓位于該區(qū)域之內(nèi),稱之為耳朵矩形。
采用Haar-like特征來表示灰度差異作為弱分類器,并且采用積分圖的形式來表示輸入的圖像,以便有效地計(jì)算它們。用AdaBoost算法選出最好的弱分類器,然后將它們組合成強(qiáng)分類器。最后,將分類器級(jí)聯(lián)起來建立最終的檢測(cè)器,只有上一級(jí)的分類器接受輸入的圖像窗口時(shí),才進(jìn)入下一級(jí)的分類器。被所有分類器都接受的圖片窗口為耳朵區(qū)域。
2、構(gòu)建簡(jiǎn)單的耳廓特征點(diǎn)模型,采用ASM算法檢測(cè)出圖片中上耳根點(diǎn)和下耳根點(diǎn)所在的位置。
ASM算法分為訓(xùn)練和搜索兩步。訓(xùn)練時(shí)建立各個(gè)特征點(diǎn)的位置約束,構(gòu)建各個(gè)特定點(diǎn)的局部特征。首先搜集多個(gè)訓(xùn)練樣本并且手動(dòng)標(biāo)記人耳特征點(diǎn),訓(xùn)練集中特征點(diǎn)的坐標(biāo)組成一個(gè)特征向量。對(duì)形狀進(jìn)行歸一化并且采用Procrustes方法對(duì)形狀進(jìn)行對(duì)齊。對(duì)對(duì)齊后的形狀特征做PCA處理。接著,為每個(gè)特征點(diǎn)構(gòu)建局部特征。目的是在每次迭代搜索過程中每個(gè)特征點(diǎn)可以尋找新的位置。局部特征一般用梯度特征,以防光照變化。搜索時(shí),迭代進(jìn)行的匹配。首先用訓(xùn)練出來的平均人耳形狀對(duì)齊圖片上的人耳,接著采用馬氏距離在對(duì)齊后的各個(gè)點(diǎn)附近搜索,匹配每個(gè)局部特征點(diǎn),得到初步形狀,并且使用統(tǒng)計(jì)形狀模型修正匹配結(jié)果。一直跌代至收斂即可。
3、計(jì)算耳朵矩形距離上耳根點(diǎn)和下耳根點(diǎn)連線最遠(yuǎn)的頂點(diǎn)。上耳根點(diǎn)和下耳根點(diǎn)連成一條直線,耳廓位于這條直線的一側(cè),稱其為耳朵分割線。分別計(jì)算耳朵矩形四個(gè)頂點(diǎn)到耳朵分割線的距離,選取距離最遠(yuǎn)的頂點(diǎn),稱其為耳側(cè)點(diǎn)。
如圖1所示,利用Haar特征訓(xùn)練的耳朵檢測(cè)器識(shí)別輸入圖像中的耳朵矩形EA。之后采用ASM模型,識(shí)別出上耳根點(diǎn)ER0和下耳根點(diǎn)ER1。ER0與ER1的連線為耳朵分割線EL。分別計(jì)算耳朵矩形EA四個(gè)頂點(diǎn)到耳朵分割線EL的距離,最遠(yuǎn)的頂點(diǎn)為耳側(cè)點(diǎn)ES。
4、采用耳朵矩形設(shè)置圖片的感興趣區(qū)域ROI,并且將上耳根點(diǎn),下耳根點(diǎn)和耳側(cè)點(diǎn)的坐標(biāo)轉(zhuǎn)換到該感興趣區(qū)域中。此后對(duì)圖片的所有操作均在該感興趣區(qū)域內(nèi)進(jìn)行。
如圖1所示,根據(jù)耳朵矩形EA設(shè)置圖像的感興趣區(qū)域ROI。
5、生成前景標(biāo)記線和背景標(biāo)記線。
為了采用Lazy Snapping算法實(shí)現(xiàn)對(duì)耳廓區(qū)域的分割,需要自動(dòng)生成前景標(biāo)記線和背景標(biāo)記線,如圖2所示。上耳根點(diǎn)和下耳根點(diǎn)的中點(diǎn)為耳根中點(diǎn),上耳根點(diǎn)和下耳根點(diǎn)之間的距離為耳根距離ERD。將耳朵分割線作為q軸,正方向?yàn)閺纳隙c(diǎn)指向下耳根點(diǎn)。將過坐標(biāo)系原點(diǎn)并且垂直于耳朵分割線的直線作為p軸,正方向從坐標(biāo)系原點(diǎn)指向耳廓。從坐標(biāo)系原點(diǎn)出發(fā)沿著p軸正方向作線段,為前景標(biāo)記線MF。從坐標(biāo)系原點(diǎn)出發(fā)沿著p軸正反向偏向q軸正方向45度作線段,為前景標(biāo)記線MF。從坐標(biāo)系原點(diǎn)出發(fā)沿著p軸正反向偏向q軸負(fù)方向45度作線段,為前景標(biāo)記線MF。這三條前景標(biāo)記線的長(zhǎng)度均為0.5倍的耳根距離ERD。上耳根點(diǎn)和下耳根點(diǎn)之間的線段為最后一條前景標(biāo)記線。耳朵矩形EA的四條邊為背景標(biāo)記線MB。
6、采用Lazy Snapping算法進(jìn)行前景和背景分割。將生成的前景標(biāo)記線和背景標(biāo)記線作為輸入。
根據(jù)4條前景標(biāo)記線和4條背景標(biāo)記線運(yùn)行Lazy Snapping算法,得到耳朵分割區(qū)域,耳廓為該區(qū)域的邊界線。首先對(duì)圖片應(yīng)用分水嶺算法,所得到的每一個(gè)區(qū)域?yàn)橐粋€(gè)節(jié)點(diǎn),這樣就可以構(gòu)成一幅無向圖。4條前景標(biāo)記線所經(jīng)過的節(jié)點(diǎn)記為源結(jié)點(diǎn),4條背景標(biāo)記線所經(jīng)過的節(jié)點(diǎn)為漏結(jié)點(diǎn),采用最大流最小切割算法進(jìn)行優(yōu)化,即可以將所有節(jié)點(diǎn)分割為兩部分。這樣在圖像中就實(shí)現(xiàn)了前景和背景的分割。前景區(qū)域即為耳朵分割區(qū)域。
7、耳朵分割區(qū)域邊緣檢測(cè)及裁剪。尋找耳朵分割區(qū)域最長(zhǎng)的外邊緣。
待檢測(cè)的耳廓即位于該邊緣之中。以耳朵分割線EL為邊界對(duì)該最長(zhǎng)外邊緣進(jìn)行截取,僅保留該邊緣位于耳側(cè)點(diǎn)和耳朵分割線EL之間的部分,得到一條非閉合邊緣,即為耳廓邊緣。
8、耳廓曲線擬合。
耳廓邊緣由一系列的散點(diǎn)組成。由于Lazy Snapping算法對(duì)圖像的色彩、對(duì)比度、邊緣等信息較為敏感,因此上面得到的耳廓邊緣存在很大的噪聲干擾,并不能夠很好的匹配真實(shí)耳廓的形狀。因此,需要對(duì)上述耳廓邊緣上的點(diǎn)進(jìn)行曲線擬合處理。首先對(duì)所有耳廓邊緣上的點(diǎn)進(jìn)行坐標(biāo)系變換,如圖3所示。記圖像坐標(biāo)系為x-y坐標(biāo)系,變換后得坐標(biāo)系為u-v坐標(biāo)系。將耳朵分割線作為v軸,正方向?yàn)閺纳隙c(diǎn)指向下耳根點(diǎn)。計(jì)算耳廓邊緣上所有點(diǎn)到耳朵分割線的距離,距離最遠(yuǎn)的點(diǎn)為耳廓最遠(yuǎn)點(diǎn)EF。坐標(biāo)系u軸與v軸垂直并通過耳廓最遠(yuǎn)點(diǎn),正方向指向耳廓最遠(yuǎn)點(diǎn)EF。將所有耳廓邊緣上點(diǎn)由x-y坐標(biāo)系轉(zhuǎn)換到u-v坐標(biāo)系,然后分別對(duì)u軸上半部分的點(diǎn)和u軸下半部分的點(diǎn)進(jìn)行4次多項(xiàng)式曲線擬合,得到兩條曲線方程。多項(xiàng)式擬合采用最小二乘算法。
9、耳廓點(diǎn)生成。針對(duì)擬合后的兩條曲線,
以u(píng)軸和v軸的交點(diǎn)為原點(diǎn),在負(fù)90度到正90度的范圍內(nèi),按照等角度間隔作多條射線,求解這些射線與兩條擬合曲線的交點(diǎn)坐標(biāo),此為耳廓點(diǎn)在u-v坐標(biāo)系下的坐標(biāo)。最后將所有求得耳廓點(diǎn)得坐標(biāo)從u-v坐標(biāo)系轉(zhuǎn)換到x-y坐標(biāo)系,再根據(jù)耳朵矩形EA對(duì)耳廓點(diǎn)進(jìn)行相應(yīng)的偏移,即可得到耳廓點(diǎn)在原始圖像中相對(duì)于原始圖像坐標(biāo)原點(diǎn)得相應(yīng)位置。這樣,就可以實(shí)現(xiàn)對(duì)耳廓點(diǎn)的高效精確檢測(cè)。