本申請(qǐng)涉及終端技術(shù)領(lǐng)域,尤其涉及一種虹膜識(shí)別方法和終端。
背景技術(shù):
目前,終端可通過虹膜識(shí)別對(duì)用戶的身份進(jìn)行驗(yàn)證。對(duì)于虹膜識(shí)別,主要應(yīng)用于理想場(chǎng)景下,對(duì)于用戶的配合度有較高的依賴性,要求用戶在識(shí)別過程中對(duì)于采集設(shè)備高度配合,在靜止條件下按照要求注視攝像頭進(jìn)行圖像采集。隨著終端的廣泛應(yīng)用,用戶迫切希望能夠在較為隨意的姿態(tài)和多變的實(shí)際環(huán)境中方便地進(jìn)行身份認(rèn)證。在這種情況下,采集到的圖像質(zhì)量顯著下降,存在旋轉(zhuǎn)、斜視和光照變化顯著以及運(yùn)動(dòng)模糊、圖像失焦等干擾,這些對(duì)于虹膜分割、特征提取和識(shí)別都提出了新的挑戰(zhàn)。
在非理想場(chǎng)景下,適用于終端的虹膜識(shí)別技術(shù)的難點(diǎn)在于如何在質(zhì)量較低的虹膜圖像中很好的進(jìn)行分割、如何設(shè)計(jì)算法提取虹膜紋理特征以及如何在移動(dòng)設(shè)備資源受限的情況下既保證性能又能提高速度。由于采集設(shè)備和采集條件的限制,以及用戶采集姿態(tài)的隨意,采集到的圖像質(zhì)量較低,虹膜紋理清晰度降低,虹膜邊緣變模糊,也引入了眼瞼遮擋、眼睛斜視、睫毛干擾以及眼鏡干擾等諸多噪聲,使得虹膜分割非常困難,而虹膜特征提取是建立在良好的虹膜分割效果基礎(chǔ)上的,這樣對(duì)之后的特征提取和匹配都造成了很大的困難。因此,亟需一種準(zhǔn)確性大、魯棒性高的虹膜識(shí)別系統(tǒng)。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)實(shí)施例提供一種虹膜識(shí)別方法和終端,能夠提升虹膜識(shí)別的準(zhǔn)確性和魯棒性。
第一方面,提供一種虹膜識(shí)別方法,包括:終端對(duì)眼睛的虹膜區(qū)域進(jìn)行內(nèi)輪廓檢測(cè),根據(jù)得到的內(nèi)輪廓的位置確定外輪廓的位置,通過眼睛的瞳孔間的連線與水平方向的角度確定雙眼的旋轉(zhuǎn)角度,并基于旋轉(zhuǎn)角度和外輪廓的位置對(duì)眼睛的眼瞼進(jìn)行檢測(cè),以得到眼瞼的拋物線;根據(jù)外輪廓的位置和眼瞼的拋物線去除虹膜區(qū)域中的眼瞼區(qū)域,并對(duì)去除眼瞼區(qū)域以外的虹膜區(qū)域進(jìn)行睫毛檢測(cè)和高亮干擾檢測(cè),以去除虹膜區(qū)域中的睫毛區(qū)域和高亮點(diǎn),得到虹膜圖像;根據(jù)虹膜圖像生成掩膜圖像,并展開虹膜圖像得到虹膜展開圖像,以及展開掩膜圖像得到掩膜展開圖像;根據(jù)虹膜展開圖像提取局部加權(quán)直方圖特征,對(duì)局部加權(quán)直方圖特征計(jì)算外積張量序特征,將外積張量序特征作為虹膜圖像的虹膜紋理;根據(jù)建模得到的虹膜紋理和掩膜展開圖像進(jìn)行特征匹配,以確定虹膜匹配結(jié)果。在本申請(qǐng)中,進(jìn)行虹膜識(shí)別時(shí)考慮到了多種因素下的自然場(chǎng)景,例如眼睛的旋轉(zhuǎn)、戴眼鏡和睫毛干擾等,能夠適用于室內(nèi)場(chǎng)景下直視手機(jī)的情況,也可以適用于眼睛旋轉(zhuǎn)例如斜視等情況,對(duì)圖像中眼瞼遮擋、高亮、眼睛旋轉(zhuǎn)等場(chǎng)景具有很強(qiáng)的魯棒性。
在一種可能的設(shè)計(jì)中,終端對(duì)眼睛的虹膜區(qū)域進(jìn)行內(nèi)輪廓檢測(cè),根據(jù)得到的內(nèi)輪廓的位置確定外輪廓的位置包括:終端利用虹膜檢測(cè)器獲取眼睛的虹膜區(qū)域;終端對(duì)虹膜區(qū)域進(jìn)行邊緣檢測(cè)并進(jìn)行篩選,以剔除虹膜區(qū)域的干擾點(diǎn),確定內(nèi)輪廓的圓心位置和半徑;終端利用內(nèi)輪廓的圓心和半徑確定檢測(cè)外輪廓所用的子圖像,在子圖像上確定外輪廓的圓心位置和半徑。這種基于邊緣檢測(cè)圖像邊緣點(diǎn)并利用圓形輪廓邊緣的特點(diǎn)進(jìn)行邊緣點(diǎn)篩選可以減少虹膜區(qū)域輪廓檢測(cè)的噪聲點(diǎn)干擾。
在一種可能的設(shè)計(jì)中,基于旋轉(zhuǎn)角度和外輪廓的位置對(duì)眼睛的眼瞼進(jìn)行檢測(cè),以得到眼瞼的拋物線包括:若終端確定連線與水平方向的角度大于預(yù)設(shè)閾值,則終端確定角度為旋轉(zhuǎn)角度,并將虹膜區(qū)域按照旋轉(zhuǎn)角度反向旋轉(zhuǎn),得到反向旋轉(zhuǎn)后的虹膜區(qū)域;終端根據(jù)反向旋轉(zhuǎn)后的虹膜區(qū)域的外輪廓位置確定眼瞼的上眼瞼檢測(cè)候選區(qū)域,濾除候選區(qū)域的睫毛區(qū)域,利用邊緣檢測(cè)得到上眼瞼的邊緣點(diǎn)并基于拋物線的霍夫變換得到上眼瞼的候選拋物線,通過比較各候選拋物線覆蓋的所有像素點(diǎn)的灰度值與灰度值均值的大小關(guān)系得到上眼瞼的拋物線;終端截取眼瞼的下眼瞼檢測(cè)子圖像,利用排序?yàn)V波器對(duì)下眼瞼的子圖像濾波,再對(duì)濾波后的子圖像進(jìn)行邊緣檢測(cè)和邊緣點(diǎn)篩選,并對(duì)篩選后的邊緣點(diǎn)進(jìn)行霍夫變換得到下眼瞼的拋物線。這樣,在眼瞼檢測(cè)時(shí)加入針對(duì)旋轉(zhuǎn)圖像的處理,不僅可以適用于直視終端的情況,也可以適用于斜視終端的情況,
在一種可能的設(shè)計(jì)中,對(duì)去除眼瞼區(qū)域以外的虹膜區(qū)域進(jìn)行睫毛檢測(cè)包括:終端根據(jù)外輪廓的位置確定睫毛候選區(qū)域,生成上眼瞼以下、外輪廓以內(nèi)、內(nèi)輪廓以外的睫毛區(qū)域掩膜;終端對(duì)睫毛區(qū)域掩膜進(jìn)行預(yù)設(shè)角度的濾波并計(jì)算梯度幅值,將小于幅值閾值的梯度值以及非睫毛區(qū)域的梯度值置零,生成新的睫毛區(qū)域掩膜;終端根據(jù)新的睫毛區(qū)域掩膜中每個(gè)像素點(diǎn)的梯度值和上眼瞼睫毛的延伸特性確定預(yù)設(shè)角度方向上的睫毛區(qū)域。這樣,將進(jìn)行輪廓分割和眼瞼分割后的圖像進(jìn)行睫毛檢測(cè),可以防止睫毛在最后生成的展開圖像中對(duì)特征提取和匹配造成不利影響。這里檢測(cè)睫毛可以有多個(gè)方向的檢測(cè),例如90度、60度和120度。
在一種可能的設(shè)計(jì)中,對(duì)去除眼瞼區(qū)域以外的虹膜區(qū)域進(jìn)行高亮干擾檢測(cè)包括:終端獲取虹膜區(qū)域的子圖像,虹膜區(qū)域的子圖像包括以虹膜圓心為中心的正方形區(qū)域,正方向區(qū)域大于外輪廓的區(qū)域;終端獲取虹膜區(qū)域的子圖像的灰度直方圖并進(jìn)行高斯濾波,將灰度直方圖中大于高亮閾值的像素點(diǎn)周圍預(yù)設(shè)范圍內(nèi)標(biāo)記為高亮區(qū)域。這樣,對(duì)于非理想場(chǎng)景下,尤其是對(duì)于用戶佩戴眼鏡的情況,可能會(huì)造成虹膜區(qū)域出現(xiàn)高亮鏡面反射的情況,因此,該設(shè)計(jì)可以去除高亮干擾,便于生成用于提取特征的展開圖像。
在一種可能的設(shè)計(jì)中,展開虹膜圖像得到虹膜展開圖像,以及展開掩膜圖像得到掩膜展開圖像包括:終端采用彈性變換的方式將虹膜圖像由笛卡爾坐標(biāo)系變換為極坐標(biāo)系,獲取極坐標(biāo)系中的每個(gè)坐標(biāo)的灰度值,以得到虹膜展開圖像;終端采用彈性變換的方式將掩膜圖像由笛卡爾坐標(biāo)系變換為極坐標(biāo)系,獲取極坐標(biāo)系中的每個(gè)坐標(biāo)的灰度值,以得到掩膜展開圖像。這樣,可以便于在虹膜展開圖像中計(jì)算局部加權(quán)直方圖特征,與注冊(cè)圖像的特征進(jìn)行特征匹配,并利用掩膜展開圖像進(jìn)行匹配時(shí)的有效判斷。
在一種可能的設(shè)計(jì)中,終端根據(jù)虹膜展開圖像提取局部加權(quán)直方圖特征包括:終端對(duì)虹膜展開圖像中每個(gè)像素點(diǎn)求取梯度幅值和梯度方向,將梯度方向劃分為n個(gè)角度區(qū)間,計(jì)算每個(gè)像素點(diǎn)對(duì)應(yīng)的梯度方向與n個(gè)角度區(qū)間的相似性,得到包括n個(gè)相似性數(shù)值的向量,將向量與每個(gè)像素點(diǎn)的梯度幅值相乘,得到每個(gè)像素點(diǎn)的加權(quán)梯度;終端以采樣點(diǎn)為中心將虹膜展開圖像劃分為第一預(yù)設(shè)大小的區(qū)塊,再將每個(gè)區(qū)塊劃分為第二預(yù)設(shè)大小的宮格,將第一宮格中每個(gè)像素點(diǎn)的加權(quán)梯度相加并除以第一宮格中的總像素點(diǎn)數(shù)得到第一宮格的加權(quán)直方圖特征,將各個(gè)宮格的加權(quán)直方圖首尾相連得到虹膜展開圖像的局部加權(quán)直方圖特征。
在一種可能的設(shè)計(jì)中,對(duì)局部加權(quán)直方圖特征計(jì)算外積張量序特征,根據(jù)外積張量序特征對(duì)虹膜紋理建模包括:終端根據(jù)局部加權(quán)直方圖特征計(jì)算虹膜展開圖像中每個(gè)像素點(diǎn)的外積張量向量,利用均值池化計(jì)算外積張量向量的聚合信息;終端根據(jù)外積張量向量的聚合信息獲取虹膜展開圖像的外積張量序特征,外積張量序特征為二進(jìn)制編碼矩陣。
在一種可能的設(shè)計(jì)中,終端根據(jù)建模得到的虹膜紋理和掩膜展開圖像進(jìn)行特征匹配,以確定匹配結(jié)果包括:終端根據(jù)外積張量序特征與虹膜數(shù)據(jù)庫中注冊(cè)圖像的特征之間的距離進(jìn)行特征匹配,并根據(jù)掩膜展開圖像計(jì)算特征匹配時(shí)的權(quán)重,根據(jù)權(quán)重表征的有效程度確定虹膜圖像所屬的用戶是否為注冊(cè)用戶。其中,該距離可以為漢明距離,也可以為其他的距離定義,本申請(qǐng)不做限定。
另一方面,提供一種終端,包括:輪廓檢測(cè)單元,用于對(duì)眼睛的虹膜區(qū)域進(jìn)行內(nèi)輪廓檢測(cè),根據(jù)得到的內(nèi)輪廓的位置確定外輪廓的位置;眼瞼檢測(cè)單元,用于通過眼睛的瞳孔間的連線與水平方向的角度確定雙眼的旋轉(zhuǎn)角度,并基于旋轉(zhuǎn)角度和外輪廓的位置對(duì)眼睛的眼瞼進(jìn)行檢測(cè),以得到眼瞼的拋物線;睫毛和高亮檢測(cè)單元,用于根據(jù)外輪廓的位置和眼瞼的拋物線去除虹膜區(qū)域中的眼瞼區(qū)域,并對(duì)去除眼瞼區(qū)域以外的虹膜區(qū)域進(jìn)行睫毛檢測(cè)和高亮干擾檢測(cè),以去除虹膜區(qū)域中的睫毛區(qū)域和高亮點(diǎn),得到虹膜圖像;掩膜生成單元,用于根據(jù)虹膜圖像生成掩膜圖像,并展開虹膜圖像得到虹膜展開圖像,以及展開掩膜圖像得到掩膜展開圖像;紋理獲取單元,用于根據(jù)虹膜展開圖像提取局部加權(quán)直方圖特征,對(duì)局部加權(quán)直方圖特征計(jì)算外積張量序特征,將外積張量序特征作為虹膜圖像的虹膜紋理;特征匹配單元,用于根據(jù)建模得到的虹膜紋理和掩膜展開圖像進(jìn)行特征匹配,以確定虹膜匹配結(jié)果。
在一種可能的設(shè)計(jì)中,輪廓檢測(cè)單元用于:利用虹膜檢測(cè)器獲取眼睛的虹膜區(qū)域;對(duì)虹膜區(qū)域進(jìn)行邊緣檢測(cè)并進(jìn)行篩選,以剔除虹膜區(qū)域的干擾點(diǎn),確定內(nèi)輪廓的圓心位置和半徑;利用內(nèi)輪廓的圓心和半徑確定檢測(cè)外輪廓所用的子圖像,在子圖像上確定外輪廓的圓心位置和半徑。
在一種可能的設(shè)計(jì)中,眼瞼檢測(cè)單元用于:若終端確定連線與水平方向的角度大于預(yù)設(shè)閾值,則確定角度為旋轉(zhuǎn)角度,并將虹膜區(qū)域按照旋轉(zhuǎn)角度反向旋轉(zhuǎn),得到反向旋轉(zhuǎn)后的虹膜區(qū)域;根據(jù)反向旋轉(zhuǎn)后的虹膜區(qū)域的外輪廓位置確定眼瞼的上眼瞼檢測(cè)候選區(qū)域,濾除候選區(qū)域的睫毛區(qū)域,利用邊緣檢測(cè)得到上眼瞼的邊緣點(diǎn)并基于拋物線的霍夫變換得到上眼瞼的候選拋物線,通過比較各候選拋物線覆蓋的所有像素點(diǎn)的灰度值與灰度值均值的大小關(guān)系得到上眼瞼的拋物線;截取眼瞼的下眼瞼檢測(cè)子圖像,利用排序?yàn)V波器對(duì)下眼瞼的子圖像濾波,再對(duì)濾波后的子圖像進(jìn)行邊緣檢測(cè)和邊緣點(diǎn)篩選,并對(duì)篩選后的邊緣點(diǎn)進(jìn)行霍夫變換得到下眼瞼的拋物線。
在一種可能的設(shè)計(jì)中,睫毛和高亮檢測(cè)單元用于:根據(jù)外輪廓的位置確定睫毛候選區(qū)域,生成上眼瞼以下、外輪廓以內(nèi)、內(nèi)輪廓以外的睫毛區(qū)域掩膜;對(duì)睫毛區(qū)域掩膜進(jìn)行預(yù)設(shè)角度的濾波并計(jì)算梯度幅值,將小于幅值閾值的梯度值以及非睫毛區(qū)域的梯度值置零,生成新的睫毛區(qū)域掩膜;根據(jù)新的睫毛區(qū)域掩膜中每個(gè)像素點(diǎn)的梯度值和上眼瞼睫毛的延伸特性確定預(yù)設(shè)角度方向上的睫毛區(qū)域。
在一種可能的設(shè)計(jì)中,睫毛和高亮檢測(cè)單元用于:獲取虹膜區(qū)域的子圖像,虹膜區(qū)域的子圖像包括以虹膜圓心為中心的正方形區(qū)域,正方向區(qū)域大于外輪廓的區(qū)域;獲取虹膜區(qū)域的子圖像的灰度直方圖并進(jìn)行高斯濾波,將灰度直方圖中大于高亮閾值的像素點(diǎn)周圍預(yù)設(shè)范圍內(nèi)標(biāo)記為高亮區(qū)域。
在一種可能的設(shè)計(jì)中,掩膜生成單元用于:采用彈性變換的方式將虹膜圖像由笛卡爾坐標(biāo)系變換為極坐標(biāo)系,獲取極坐標(biāo)系中的每個(gè)坐標(biāo)的灰度值,以得到虹膜展開圖像;采用彈性變換的方式將掩膜圖像由笛卡爾坐標(biāo)系變換為極坐標(biāo)系,獲取極坐標(biāo)系中的每個(gè)坐標(biāo)的灰度值,以得到掩膜展開圖像。
在一種可能的設(shè)計(jì)中,紋理獲取單元用于:對(duì)虹膜展開圖像中每個(gè)像素點(diǎn)求取梯度幅值和梯度方向,將梯度方向劃分為n個(gè)角度區(qū)間,計(jì)算每個(gè)像素點(diǎn)對(duì)應(yīng)的梯度方向與n個(gè)角度區(qū)間的相似性,得到包括n個(gè)相似性數(shù)值的向量,將向量與每個(gè)像素點(diǎn)的梯度幅值相乘,得到每個(gè)像素點(diǎn)的加權(quán)梯度;以采樣點(diǎn)為中心將虹膜展開圖像劃分為第一預(yù)設(shè)大小的區(qū)塊,再將每個(gè)區(qū)塊劃分為第二預(yù)設(shè)大小的宮格,將第一宮格中每個(gè)像素點(diǎn)的加權(quán)梯度相加并除以第一宮格中的總像素點(diǎn)數(shù)得到第一宮格的加權(quán)直方圖特征,將每個(gè)宮格的梯度直方圖首尾相連得到虹膜展開圖像的局部加權(quán)直方圖特征。
在一種可能的設(shè)計(jì)中,紋理獲取單元用于:根據(jù)局部加權(quán)直方圖特征計(jì)算虹膜展開圖像中每個(gè)像素點(diǎn)的外積張量向量,利用均值池化計(jì)算外積張量向量的聚合信息;根據(jù)外積張量向量的聚合信息獲取虹膜展開圖像的外積張量序特征,外積張量序特征為二進(jìn)制編碼矩陣。
在一種可能的設(shè)計(jì)中,特征匹配單元用于:根據(jù)外積張量序特征與虹膜數(shù)據(jù)庫中注冊(cè)圖像的特征之間的距離進(jìn)行特征匹配,并根據(jù)掩膜展開圖像計(jì)算特征匹配時(shí)的權(quán)重,根據(jù)權(quán)重表征的有效程度確定虹膜圖像所屬的用戶是否為注冊(cè)用戶。
又一方面,本申請(qǐng)實(shí)施例提供了一種計(jì)算機(jī)存儲(chǔ)介質(zhì),用于儲(chǔ)存為上述終端所用的計(jì)算機(jī)軟件指令,其包含用于執(zhí)行上述方面所設(shè)計(jì)的程序。
又一方面,本申請(qǐng)實(shí)施例提供了一種包含指令的計(jì)算機(jī)程序產(chǎn)品,當(dāng)其在計(jì)算機(jī)上運(yùn)行時(shí),使得計(jì)算機(jī)執(zhí)行上述各方面所述的方法。
附圖說明
圖1為本申請(qǐng)實(shí)施例提供的一種終端的結(jié)構(gòu)示意圖;
圖2為本申請(qǐng)實(shí)施例提供的一種虹膜識(shí)別方法的流程示意圖;
圖3為本申請(qǐng)實(shí)施例提供的一種虹膜區(qū)域檢測(cè)和眼瞼檢測(cè)的示意圖;
圖4為本申請(qǐng)實(shí)施例提供的一種睫毛檢測(cè)的示意圖;
圖5為本申請(qǐng)實(shí)施例提供的一種高亮檢測(cè)的示意圖;
圖6為本申請(qǐng)實(shí)施例提供的一種得到虹膜展開圖像的示意圖;
圖7為本申請(qǐng)實(shí)施例提供的一種調(diào)整虹膜展開圖像的示意圖;
圖8為本申請(qǐng)實(shí)施例提供的一種得到虹膜紋理的計(jì)算示意圖;
圖9為本申請(qǐng)實(shí)施例提供的一種終端的結(jié)構(gòu)示意圖;
圖10為本申請(qǐng)實(shí)施例提供的一種終端的結(jié)構(gòu)示意圖;
圖11為本申請(qǐng)實(shí)施例提供的一種終端的結(jié)構(gòu)示意圖。
具體實(shí)施方式
本申請(qǐng)實(shí)施例可以適用于室內(nèi)場(chǎng)景下用戶直視終端的情況,也可以適用于戶外自然場(chǎng)景、斜視場(chǎng)景和戴眼鏡場(chǎng)景下,能夠提升圖像中存在遮擋、高亮、旋轉(zhuǎn)和模糊等情況時(shí)的魯棒性。
圖1為本申請(qǐng)實(shí)施例提供的一種終端的結(jié)構(gòu)示意圖,本申請(qǐng)實(shí)施例提供的終端可以用于實(shí)施本申請(qǐng)各實(shí)施例實(shí)現(xiàn)的方法,為了便于說明,僅示出了與本申請(qǐng)實(shí)施例相關(guān)的部分,具體技術(shù)細(xì)節(jié)未揭示的,請(qǐng)參照本申請(qǐng)各實(shí)施例。
該終端可以為手機(jī)、平板電腦、筆記本電腦、umpc(ultra-mobilepersonalcomputer,超級(jí)移動(dòng)個(gè)人計(jì)算機(jī))、上網(wǎng)本、pda(personaldigitalassistant,個(gè)人數(shù)字助理)等終端設(shè)備,本申請(qǐng)實(shí)施例以終端為手機(jī)為例進(jìn)行說明,圖1示出的是與本申請(qǐng)各實(shí)施例相關(guān)的手機(jī)100的部分結(jié)構(gòu)的框圖。
如圖1所示,手機(jī)100包括:rf(radiofrequency,射頻)電路120、存儲(chǔ)器130、輸入單元140、顯示單元150、攝像頭160、音頻電路170、處理器180、以及電源190等部件。本領(lǐng)域技術(shù)人員可以理解,圖1中示出的手機(jī)結(jié)構(gòu)并不構(gòu)成對(duì)手機(jī)的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
下面結(jié)合圖1對(duì)手機(jī)100的各個(gè)構(gòu)成部件進(jìn)行具體的介紹:
rf電路120可用于收發(fā)信息或通話過程中,信號(hào)的接收和發(fā)送;
存儲(chǔ)器130可用于存儲(chǔ)軟件程序以及模塊,處理器180通過運(yùn)行存儲(chǔ)在存儲(chǔ)器130的軟件程序以及模塊,從而執(zhí)行手機(jī)100的各種功能應(yīng)用以及數(shù)據(jù)處理。存儲(chǔ)器130可主要包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)手機(jī)100的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、圖像數(shù)據(jù)、電話本等)等。此外,存儲(chǔ)器130可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤存儲(chǔ)器件、閃存器件、或其他易失性固態(tài)存儲(chǔ)器件。在本申請(qǐng)實(shí)施例中,存儲(chǔ)器130可以用于存儲(chǔ)虹膜識(shí)別方法中各個(gè)步驟對(duì)應(yīng)的軟件程序,處理器180可以用于調(diào)用該軟件程序執(zhí)行本申請(qǐng)的虹膜識(shí)別方法。
輸入單元140可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與手機(jī)100的用戶設(shè)置以及功能控制有關(guān)的鍵信號(hào)輸入。
顯示單元150可用于顯示由用戶輸入的信息或提供給用戶的信息以及手機(jī)100的各種菜單。
攝像頭160,可以用于獲取攝像頭拍攝范圍內(nèi)的圖像信息。在本申請(qǐng)實(shí)施例中,攝像頭160可以用于獲取用戶的眼睛部位的圖像信息以及眼鏡周圍的圖像信息。
手機(jī)100還可以包括其它傳感器,比如光傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近光傳感器。其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來調(diào)節(jié)顯示面板141的亮度;接近光傳感器可以檢測(cè)是否有物體靠近或接觸手機(jī),可在手機(jī)100移動(dòng)到耳邊時(shí),關(guān)閉顯示面板141和/或背光。手機(jī)100還可配置的陀螺儀、氣壓計(jì)、濕度計(jì)、溫度計(jì)、紅外線傳感器等其他傳感器,在此不再贅述。
音頻電路170、揚(yáng)聲器171、麥克風(fēng)172可提供用戶與手機(jī)100之間的音頻接口。音頻電路170可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換后的電信號(hào),傳輸?shù)綋P(yáng)聲器171,由揚(yáng)聲器171轉(zhuǎn)換為聲音信號(hào)輸出;另一方面,麥克風(fēng)172將收集的聲音信號(hào)轉(zhuǎn)換為電信號(hào),由音頻電路170接收后轉(zhuǎn)換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出至rf電路120以發(fā)送給比如另一手機(jī),或者將音頻數(shù)據(jù)輸出至存儲(chǔ)器130以便進(jìn)一步處理。
處理器180是手機(jī)100的控制中心,利用各種接口和線路連接整個(gè)手機(jī)的各個(gè)部分,通過運(yùn)行或執(zhí)行存儲(chǔ)在存儲(chǔ)器130內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲(chǔ)在存儲(chǔ)器130內(nèi)的數(shù)據(jù),執(zhí)行手機(jī)100的各種功能和處理數(shù)據(jù),從而對(duì)手機(jī)進(jìn)行整體監(jiān)控??蛇x的,處理器180可包括一個(gè)或多個(gè)處理單元;優(yōu)選的,處理器180可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無線通信??梢岳斫獾氖?,上述調(diào)制解調(diào)處理器也可以不集成到處理器180中。
手機(jī)100還包括給各個(gè)部件供電的電源190(比如電池),優(yōu)選的,電源可以通過電源管理系統(tǒng)與處理器180邏輯相連,從而通過電源管理系統(tǒng)實(shí)現(xiàn)管理充電、放電、以及功耗管理等功能。
盡管未示出,手機(jī)100還可以包括wifi(wirelessfidelity,無線保真)模塊、藍(lán)牙模塊等,在此不再贅述。
本申請(qǐng)實(shí)施例是針對(duì)非理想場(chǎng)景下適用于終端的快速有效的虹膜識(shí)別方法,該方法包括虹膜圖像預(yù)處理模塊、虹膜圖像特征表達(dá)模塊和模式匹配模塊三個(gè)主要模塊,主要解決在用戶自然使用終端情況下的身份認(rèn)證問題。首先對(duì)于虹膜圖像預(yù)處理模塊,對(duì)輸入的雙眼圖像用分類器進(jìn)行虹膜檢測(cè),該分類器可以為自適應(yīng)增強(qiáng)級(jí)聯(lián)分類器、深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)分類器等,本申請(qǐng)不做限定,而后根據(jù)檢測(cè)結(jié)果將輸入圖像分成左、右眼子圖像,之后的步驟分別針對(duì)每個(gè)子圖像進(jìn)行處理。在檢測(cè)虹膜內(nèi)外輪廓時(shí),通過先定位瞳孔輪廓再定位虹膜輪廓的方式進(jìn)行:基于canny邊緣檢測(cè)算子檢測(cè)圖像邊緣點(diǎn)并利圓形輪廓邊緣的特點(diǎn)進(jìn)行邊緣點(diǎn)篩選以減少噪聲點(diǎn)干擾,之后將霍夫變換結(jié)果的通過候選輪廓再判斷以提高檢測(cè)結(jié)果的準(zhǔn)確性;在眼瞼檢測(cè)時(shí)加入針對(duì)旋轉(zhuǎn)圖像的處理,提出了基于方向?yàn)V波器的睫毛檢測(cè)以及基于自適應(yīng)閾值確定的去除高亮區(qū)域的方法。為了提高在非理想場(chǎng)景下提取特征的魯棒性并提高計(jì)算速度,本發(fā)明提出了高維的局部加權(quán)直方圖作為原始特征,并進(jìn)一步通過計(jì)算原始特征的外積序關(guān)系得到最后的特征表達(dá)即二進(jìn)制編碼矩陣。本申請(qǐng)?zhí)岢隽死脠D像特征之間的距離進(jìn)行特征匹配的方法,例如漢明距離,也可以為其他定義的距離,本申請(qǐng)不做限定,其中使用掩模圖像值作為該距離的有效權(quán)重,最后將左右眼的加權(quán)距離進(jìn)行融合得到最終的匹配結(jié)果。
本申請(qǐng)實(shí)施例提供一種虹膜識(shí)別方法,如圖2所示,包括如下步驟:
201、終端對(duì)眼睛的虹膜區(qū)域進(jìn)行內(nèi)輪廓檢測(cè),根據(jù)得到的內(nèi)輪廓的位置確定外輪廓的位置。
由于攝像頭采集的圖像中虹膜區(qū)域只占整幅圖像中很小一部分,為了提高后續(xù)處理的準(zhǔn)確性和效率,可以訓(xùn)練虹膜檢測(cè)器進(jìn)行準(zhǔn)確定位。虹膜檢測(cè)器是一個(gè)自適應(yīng)增強(qiáng)級(jí)聯(lián)分類器,可以將多層通過訓(xùn)練得到的弱的分類器通過級(jí)聯(lián)形成的一個(gè)能夠?qū)缒みM(jìn)行準(zhǔn)確定位的檢測(cè)器,也即級(jí)聯(lián)分類器對(duì)于訓(xùn)練的各層有不同的檢測(cè)準(zhǔn)確性要求,對(duì)于較低層檢測(cè)準(zhǔn)確度較低,隨著層數(shù)增加檢測(cè)準(zhǔn)確度要求不斷提升,分類器復(fù)雜程度加大。本申請(qǐng)可以訓(xùn)練得到10層的自適應(yīng)增強(qiáng)級(jí)聯(lián)分類器。本申請(qǐng)不限于使用自適應(yīng)增強(qiáng)級(jí)聯(lián)分類器,也可以是深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)分類器等,本申請(qǐng)不做限定。
本申請(qǐng)可以利用虹膜檢測(cè)器對(duì)得到的虹膜區(qū)域進(jìn)行內(nèi)外輪廓檢測(cè),完成內(nèi)外輪廓分割。由于輸入的圖像是雙眼圖像,因此虹膜檢測(cè)器在對(duì)虹膜區(qū)域進(jìn)行檢測(cè)時(shí)是在雙眼圖像上進(jìn)行的,分別得到左、右虹膜的候選矩形區(qū)域?yàn)楹缒^(qū)域,在之后的步驟中,將左右眼圖像分開處理,所有的操作均是在單眼圖像上進(jìn)行的。
該步驟201可以包括三個(gè)子步驟:
(1)檢測(cè)虹膜區(qū)域。對(duì)于采集到的虹膜圖像,使用虹膜檢測(cè)器對(duì)圖像中的虹膜區(qū)域進(jìn)行檢測(cè)。
(2)內(nèi)輪廓檢測(cè)。虹膜為瞳孔外部的一個(gè)環(huán)狀區(qū)域,一般情況下,采集到的圖像中虹膜與瞳孔的邊緣都可以認(rèn)為是圓形。實(shí)現(xiàn)虹膜的輪廓檢測(cè)需要標(biāo)記環(huán)狀邊緣位置,由于瞳孔區(qū)域灰度值較低,內(nèi)輪廓相比外輪廓明顯且易分割,因此先進(jìn)行內(nèi)輪廓檢測(cè)。其具體可以為:在前述的虹膜區(qū)域內(nèi)搜索虹膜內(nèi)輪廓,即瞳孔輪廓,為了減少虹膜紋理和外邊緣對(duì)內(nèi)輪廓檢測(cè)的影響,可以利用子圖像灰度均值大于像素均值的點(diǎn)作為內(nèi)輪廓的邊緣點(diǎn),利用canny邊緣檢測(cè)算法檢測(cè)邊緣點(diǎn)并計(jì)算其梯度幅值和方向,由于上眼瞼邊緣處的梯度方向與豎直方向較接近,根據(jù)這一特點(diǎn)可以剔除部分干擾點(diǎn),在進(jìn)行邊緣點(diǎn)篩選后,可以利用圓的霍夫變換確定內(nèi)圓的參數(shù)來標(biāo)記虹膜內(nèi)輪廓,該參數(shù)可以包括內(nèi)輪廓的圓心坐標(biāo)和半徑大小,即瞳孔圓心坐標(biāo)和半徑大小。而后檢測(cè)內(nèi)輪廓是否有效。這里檢測(cè)用到的閾值可以由三個(gè),包括內(nèi)輪廓的環(huán)形區(qū)域的邊緣點(diǎn)的個(gè)數(shù)閾值,例如可以為35,內(nèi)輪廓邊緣內(nèi)外灰度值之差colordif,例如取值為3,子圖像中有效灰度值的比例ratio,例如取值為0.7,只有左右眼內(nèi)輪廓的參數(shù)中這三個(gè)參數(shù)均大于相應(yīng)的閾值,才可以進(jìn)行后續(xù)的步驟,否則判定內(nèi)輪廓分割無效,拋棄該虹膜圖像,繼續(xù)獲取下一副輸入的虹膜圖像重新進(jìn)行處理。
(3)外輪廓檢測(cè)??梢岳脙?nèi)輪廓參數(shù)確定外輪廓檢測(cè)所用到的子圖像,在該子圖像上確定虹膜外輪廓的圓心位置和半徑。也即,在內(nèi)輪廓參數(shù)基礎(chǔ)上確定外輪廓參數(shù)的搜索范圍,并截取搜索的子圖像。為了避免眼瞼干擾,外輪廓的子圖像寬度較小,并不需要將整個(gè)虹膜包含進(jìn)去。而后,對(duì)該子圖像進(jìn)行高斯低通濾波之后,利用canny邊緣檢測(cè)算法檢測(cè)子圖像邊緣點(diǎn),由于虹膜內(nèi)輪廓更為清晰,虹膜區(qū)域內(nèi)外邊緣近似同心圓,因此可以用內(nèi)圓圓心近似外圓圓心,根據(jù)圓心邊緣點(diǎn)處灰度值梯度方向應(yīng)與圓心到該點(diǎn)方向一致的特點(diǎn)進(jìn)行邊緣點(diǎn)篩選,之后在基于圓的霍夫變換結(jié)果中選擇n個(gè)候選結(jié)果并進(jìn)行排序,最后在這些候選圓中利用虹膜區(qū)域灰度值大于鞏膜區(qū)域灰度值的特點(diǎn)確定出最合適的外輪廓圓,以獲得外輪廓的圓心和半徑。
202、終端通過眼睛的瞳孔間的連線與水平方向的角度確定雙眼的旋轉(zhuǎn)角度,并基于旋轉(zhuǎn)角度和外輪廓的位置對(duì)眼睛的眼瞼進(jìn)行檢測(cè),以得到眼瞼的拋物線。
該步驟202的目的是在步驟201得到的虹膜內(nèi)輪廓和外輪廓確定的環(huán)形區(qū)域基礎(chǔ)上,定位上下眼瞼,進(jìn)一步去除上下眼瞼對(duì)虹膜區(qū)域的影響。
在眼瞼檢測(cè)之前,需要先考慮實(shí)際圖像中眼睛的旋轉(zhuǎn)問題。由于采集到的圖像可能出現(xiàn)旋轉(zhuǎn)的情況,因此在進(jìn)行眼瞼檢測(cè)之前對(duì)旋轉(zhuǎn)情況進(jìn)行判斷。如果雙眼瞳孔圓心的連線與水平方向的夾角大于預(yù)設(shè)閾值,則認(rèn)為圖像是旋轉(zhuǎn)圖像。例如該預(yù)設(shè)閾值可以為0.2(弧度)。對(duì)于這類圖像,需要將虹膜區(qū)域圖像反向旋轉(zhuǎn)相同的角度使其水平,得到反向旋轉(zhuǎn)后的虹膜區(qū)域,在此基礎(chǔ)上進(jìn)行眼瞼檢測(cè),最后將檢測(cè)結(jié)果變換到原始的圖像中并確定出眼瞼的分割結(jié)果。
(1)首先進(jìn)行上眼瞼檢測(cè)。利用外輪廓所在的位置確定上眼瞼檢測(cè)候選區(qū)域,利用拋物線擬合出上眼瞼的位置。示例性的,根據(jù)步驟201中的外輪廓位置確定出上眼瞼檢測(cè)候選區(qū)域,其候選區(qū)域的寬度略小于虹膜直徑,利用排序?yàn)V波器濾除候選區(qū)域的睫毛區(qū)域,這里由三個(gè)排序?yàn)V波器組成,分別濾除向下生長、向左下方生長和向右下方生長的睫毛,水平濾波器濾除豎直向下生長的睫毛,-45度方向?yàn)V波器濾除向左下方生長的睫毛,45度方向?yàn)V波器濾除向右下方生長的睫毛,然后利用canny邊緣檢測(cè)算法在候選區(qū)域上檢測(cè)邊緣點(diǎn),得到上眼瞼的邊緣點(diǎn)并進(jìn)行邊緣點(diǎn)篩選,篩選是由于眼瞼處灰度值梯度方向近似豎直方向,剔除所有邊緣點(diǎn)中梯度方向與豎直方向夾角大于閾值的點(diǎn),并去除內(nèi)輪廓產(chǎn)生的邊緣點(diǎn),而后,基于拋物線的霍夫變換保留排名前n的參數(shù)作為眼瞼的候選拋物線,最后,由于眼瞼覆蓋在虹膜上部,會(huì)在虹膜區(qū)域上產(chǎn)生陰影致使灰度值較低,可以通過比較各候選拋物線覆蓋的所有像素點(diǎn)灰度值與灰度值均值的大小關(guān)系得到上眼瞼的最佳拋物線。這里可以使用up_valid表示檢測(cè)到的眼瞼是否滿足這一條件,只有滿足這一條件的眼瞼拋物線才是有效拋物線,否則,認(rèn)為眼瞼拋物線無效,拋棄該圖像,繼續(xù)處理下一幅圖像。如圖3所示為步驟201和步驟202的虹膜區(qū)域檢測(cè)和眼瞼檢測(cè)的示意圖。
(2)下眼瞼檢測(cè)。下眼瞼的檢測(cè)流程和上眼瞼的檢測(cè)流程大致相同。由于下眼瞼對(duì)虹膜區(qū)域遮擋較少,因此相比上眼瞼檢測(cè)較為簡單。首先截取下眼瞼檢測(cè)的子圖像,利用排序?yàn)V波器對(duì)子圖像濾波,再對(duì)濾波后的子圖像進(jìn)行canny邊緣檢測(cè)和邊緣點(diǎn)篩選,在最后一步對(duì)對(duì)篩選后的邊緣點(diǎn)進(jìn)行霍夫變換就可以直接得出下眼瞼的拋物線,并判斷下眼瞼的拋物線是否有效。
203、終端根據(jù)外輪廓的位置和眼瞼的拋物線去除虹膜區(qū)域中的眼瞼區(qū)域。
204、終端對(duì)去除眼瞼區(qū)域以外的虹膜區(qū)域進(jìn)行睫毛檢測(cè),以去除虹膜區(qū)域中的睫毛區(qū)域。
在得到步驟201至步驟203中的輪廓分割和眼瞼分割后的虹膜圖像后,還可以繼續(xù)去除睫毛干擾,以防止睫毛在最后生成的展開圖像中對(duì)特征提取和匹配造成不利影響。基于睫毛本身存在的方向特性,步驟204可以進(jìn)行多個(gè)方向的睫毛檢測(cè),不限定進(jìn)行睫毛檢測(cè)的方向,本申請(qǐng)以三個(gè)方向的睫毛檢測(cè)為例進(jìn)行說明,分別是90度、60度和120度的睫毛檢測(cè),首先進(jìn)行90度的睫毛檢測(cè)并去除誤檢區(qū)域,之后將濾波器旋轉(zhuǎn)完成60度和120度的睫毛檢測(cè)。
示例性的,根據(jù)虹膜外輪廓的位置確定睫毛候選區(qū)域,為了確定更精細(xì)的睫毛區(qū)域掩膜,生成一個(gè)上眼瞼以下n個(gè)像素區(qū)域、虹膜外輪廓以內(nèi)、內(nèi)輪廓以外的睫毛區(qū)域掩膜,之后對(duì)裁剪出的睫毛區(qū)域掩膜進(jìn)行90度濾波,此處采用的濾波器可以為:
f1_90=[1,1,0,-1,-1;1,1,0,-1,-1;1,1,0,-1,-1;1,1,0,-1,-1;1,1,0,-1,-1;1,1,0,-1,-1;1,1,0,-1,-1;]/14。
濾波之后,可以計(jì)算梯度幅值,通過設(shè)定一個(gè)幅值門限,將小于幅值門限的梯度值置零,同時(shí)利用之前確定的睫毛區(qū)域掩膜將非睫毛區(qū)域也置零,生成新的睫毛區(qū)域掩膜。其中,睫毛區(qū)域可以在得到濾波之后圖像后,對(duì)于每個(gè)像素點(diǎn)統(tǒng)計(jì)其周圍一個(gè)小區(qū)域的梯度幅值平均值,若任一像素點(diǎn)的梯度幅值平均值大于設(shè)定的幅值門限,則認(rèn)為該像素點(diǎn)為睫毛。而后,根據(jù)睫毛是從上眼瞼延伸下來的特性,在梯度圖像上逐列從下向上累計(jì)求和,然后對(duì)每列單獨(dú)從上眼瞼所在像素點(diǎn)向下累計(jì)求和,如果上面連續(xù)區(qū)域累積和比下面區(qū)域累積大于某個(gè)閾值(例如閾值為1.1),則認(rèn)為該區(qū)域?yàn)榻廾?,從而區(qū)域誤檢,至此垂直方向的睫毛檢測(cè)完成。如圖4所示為90度睫毛檢測(cè)的示意圖。
對(duì)于60度或120度方向的睫毛檢測(cè),可以將90度睫毛檢測(cè)濾波器向左(右)旋轉(zhuǎn)30度,其他操作相同。在最后去除誤檢區(qū)域時(shí),將圖像和上眼瞼所在點(diǎn)進(jìn)行相同角度的旋轉(zhuǎn),然后仍然在垂直方向生成睫毛區(qū)域掩膜,去除誤檢區(qū)域之后再將睫毛區(qū)域掩膜旋轉(zhuǎn)回原來的方向。
205、終端對(duì)去除睫毛檢測(cè)之后的虹膜區(qū)域進(jìn)行高亮干擾檢測(cè),以去除虹膜區(qū)域的高亮點(diǎn),得到虹膜圖像。
對(duì)于非理想場(chǎng)景,尤其是對(duì)于用戶佩戴眼鏡的情況,會(huì)造成虹膜區(qū)域出現(xiàn)高亮鏡面反射的情況。因此步驟205的目的是對(duì)步驟201-204最后得到的分割后的圖像去除高亮干擾,以便生成用于提取特征的展開圖像。
示例性的,可以利用高亮區(qū)域灰度值特點(diǎn)在虹膜子圖像中確定判決門限,如果子圖像中的像素點(diǎn)的灰度值小于判決門限,則判定該像素點(diǎn)有效,否則判定為高亮點(diǎn),從而去除高亮點(diǎn)。
具體可以為:1)截取虹膜區(qū)域的子圖像,可以包括以虹膜圓心為中心的正方形區(qū)域,該正方形區(qū)域略大于虹膜外輪廓的區(qū)域;2)獲取虹膜區(qū)域的子圖像的灰度直方圖并進(jìn)行高斯濾波。由于高亮區(qū)域灰度值較大,可以自適應(yīng)地確定直方圖從右至左的第一個(gè)極小值點(diǎn)為高亮閾值。3)對(duì)于子圖像中灰度值大于高亮閾值的像素點(diǎn),其像素點(diǎn)周圍小鄰域范圍內(nèi)可以標(biāo)記為高亮區(qū)域,以進(jìn)一步減少高亮影響,得到虹膜圖像。如圖5所示為高亮檢測(cè)的示意圖。
206、終端根據(jù)虹膜圖像生成掩膜圖像,并展開虹膜圖像得到虹膜展開圖像,以及展開掩膜圖像得到掩膜展開圖像。
該步驟206的目的是對(duì)前述步驟得到的分割后的環(huán)形圖像進(jìn)行展開,將不同尺寸不同形狀的虹膜區(qū)域展開成固定尺寸大小(例如64×256)的矩形區(qū)域。示例性的,可以使用彈性變換的方式將虹膜圖像由笛卡爾坐標(biāo)系變換為極坐標(biāo)系,獲取極坐標(biāo)系中每個(gè)坐標(biāo)的灰度值,以得到虹膜展開圖像。再使用相同的方法處理掩膜圖像,得到與虹膜展開圖像同樣尺寸的掩膜展開圖像。
具體實(shí)施方案可以為:
1)虹膜圖像展開采用一種彈性變換的方式將虹膜圖像由笛卡爾坐標(biāo)系變換為極坐標(biāo)系??紤]到虹膜內(nèi)輪廓和外輪廓圓心可能不一致,因此如圖6所示,對(duì)于虹膜圖像上某一點(diǎn)p,對(duì)應(yīng)的角度若標(biāo)記為θ,該點(diǎn)到內(nèi)輪廓圓心的距離為:
opp=rp+(oppi-rp)r
其中rp為瞳孔的半徑(內(nèi)輪廓的半徑),oppi為對(duì)應(yīng)角度θ的瞳孔圓心op(內(nèi)輪廓圓心)到虹膜外圓(外輪廓)上的點(diǎn)pi的距離,0≤r≤1表示r占該角度處虹膜寬度的比例。oppi的計(jì)算公式如下:
其中△x,△y為內(nèi)外圓圓心橫縱坐標(biāo)差的絕對(duì)值,ri為虹膜外圓半徑。
2)這樣,對(duì)于虹膜展開圖像中每一點(diǎn)都可以找到它在原始的虹膜圖像中的對(duì)應(yīng)點(diǎn)坐標(biāo)。通過該坐標(biāo)周圍四個(gè)點(diǎn)的雙線性差值得到該坐標(biāo)位置的對(duì)應(yīng)灰度值。
3)考慮到圖像旋轉(zhuǎn)的影響,對(duì)于每幅虹膜圖像,其虹膜展開圖像也可以對(duì)應(yīng)的做調(diào)整,將旋轉(zhuǎn)角度所占的比例大小作為虹膜展開圖像循環(huán)移動(dòng)的比例大小,如圖7所示。對(duì)于掩膜圖像使用相同的方法進(jìn)行展開得到與虹膜展開圖像同樣尺寸的掩膜展開圖像。
4)根據(jù)掩膜圖像的灰度值,判斷虹膜圖像無效區(qū)域面積是否小于0.5,當(dāng)有效面積大于0.5時(shí),繼續(xù)進(jìn)行之后的操作,否則,認(rèn)為得到的虹膜展開圖像無效,拋棄該虹膜圖像,繼續(xù)處理下一幅虹膜圖像。這里的無效區(qū)域包括上述步驟中檢測(cè)出的眼瞼區(qū)域、睫毛區(qū)域以及高亮區(qū)域。
207、終端根據(jù)虹膜展開圖像提取局部加權(quán)直方圖特征。
對(duì)于一幅虹膜圖像,步驟207使用前述步驟對(duì)虹膜圖像進(jìn)行處理后得到的固定尺寸的矩形虹膜展開圖像以及掩膜圖像上繼續(xù)進(jìn)行處理。步驟207采用24維的局部加權(quán)直方圖作為原始特征建模虹膜紋理,其優(yōu)點(diǎn)在于對(duì)位姿變化的人臉圖像具有很強(qiáng)的不變形和魯棒性,同時(shí)具有較快的計(jì)算速度。
在虹膜展開圖像中計(jì)算局部加權(quán)直方圖特征提取的具體步驟可以如下:
1)對(duì)于虹膜展開圖像中每個(gè)像素點(diǎn)求取其x方向和y方向的梯度值ix和iy,得到梯度幅度imag和梯度方向itheta,其中:
2)將梯度方向劃分為n個(gè)角度區(qū)間,例如平均劃分為6個(gè)角度區(qū)間,計(jì)算每個(gè)像素點(diǎn)對(duì)應(yīng)的梯度方向與各個(gè)角度區(qū)間的相似性,得到包含n個(gè)相似性數(shù)值的向量[s1,s2,…,sn],相似性的計(jì)算公式可以為:
si=(cosithetacosii+sinithetasinii)9
其中,si表示任一像素點(diǎn)的梯度方向與第i個(gè)角度區(qū)間中心方向的相似性,ii為第i個(gè)角度區(qū)間中心方向角度。
3)將上述向量與每個(gè)像素點(diǎn)對(duì)應(yīng)的梯度幅值相乘,得到每個(gè)像素點(diǎn)的加權(quán)梯度,任一像素點(diǎn)的加權(quán)梯度記為g時(shí),g可以表示為:
g=imag[s1,s2,…,sn],imag表示任一像素點(diǎn)的梯度幅值,[s1,s2,…,sn]表示該任一像素點(diǎn)對(duì)應(yīng)的梯度方向與各個(gè)角度區(qū)間的相似性。
4)在提取局部加權(quán)直方圖特征時(shí),以采樣點(diǎn)為中心密集地在虹膜展開圖像中將每個(gè)像素點(diǎn)劃分為第一預(yù)設(shè)大小的區(qū)塊,例如為8×8區(qū)塊,將每個(gè)區(qū)塊劃分成第二預(yù)設(shè)大小的宮格,例如為2×2的宮格,然后在每個(gè)2×2的宮格中計(jì)算梯度直方圖信息,這樣,對(duì)于虹膜展開圖像中的某一采樣點(diǎn),可以得到2×2×6=24維的局部加權(quán)直方圖特征。其中在計(jì)算每個(gè)宮格(例如m1*m2宮格)的梯度直方圖特征時(shí),將每個(gè)宮格中各個(gè)像素點(diǎn)的加權(quán)梯度求平均值,得到每個(gè)宮格對(duì)應(yīng)的加權(quán)直方圖特征,將每個(gè)宮格的加權(quán)直方圖首尾相連就可以形成一個(gè)m1*m2*n個(gè)元素的向量。平均值可以是宮格中每個(gè)像素點(diǎn)的加權(quán)梯度相加并除以宮格中的總像素點(diǎn)數(shù)得到宮格的加權(quán)直方圖特征。
208、終端對(duì)局部加權(quán)直方圖特征計(jì)算外積張量序特征,將外積張量序特征作為虹膜圖像的虹膜紋理。
對(duì)于預(yù)一幅虹膜圖像,使用前述步驟對(duì)虹膜圖像進(jìn)行預(yù)處理并得到局部加權(quán)直方圖特征之后,可以計(jì)算外積張量序特征,具體步驟可以為:
1)計(jì)算外積張量向量
可以令局部加權(quán)直方圖特征為f(z)∈rn×1,其中z表示空間坐標(biāo),r表示實(shí)數(shù)集,n表示元素的個(gè)數(shù),可以等于上述m1*m2*n,f(z)是一個(gè)含有n個(gè)元素的實(shí)數(shù)向量,則外積張量f(z)可以表示為:f(z)=f(z)f(z)t,其中,f(z)是一個(gè)n×n矩陣,保留上三角部分并進(jìn)行向量化操作得到外積張量向量
2)利用均值池化計(jì)算外積張量向量的高階聚合信息
令
其中|η(z)|表示區(qū)域η(z)中像素點(diǎn)個(gè)數(shù)。
3)計(jì)算外積張量序特征,即對(duì)高階聚合信息取序得到二進(jìn)制(0-1)編碼矩陣
對(duì)于存在固定位移的兩個(gè)區(qū)域b(z)和b(z+t),其中b(z)表示以z為中心高為h寬為w的圖像區(qū)域,b(z+t)表示相對(duì)z位移坐標(biāo)t的另一塊與b(z)尺寸相同的圖像區(qū)域,這里兩個(gè)區(qū)域位移向量t=[4,2]t。外積張量序特征為二進(jìn)制序特征時(shí)可以表示為:
其中bi(z)表示外積張量向量b(z)的第i個(gè)編碼,g(z)表示外積張量向量p(z)聚合后的向量表示形式。b(z)在選取的時(shí)候是重疊的,步長為2個(gè)像素,這樣就得到了整幅圖像的外積張量序特征編碼。
步驟208實(shí)施的示意圖可以如圖8所示。
最后,將得到的外積張量序特征作為虹膜圖像的虹膜紋理。
209、終端根據(jù)建模得到的虹膜紋理進(jìn)行特征匹配,以確定匹配結(jié)果。
特征匹配屬于虹膜識(shí)別中的最后環(huán)節(jié),將虹膜紋理(圖像特征)與虹膜數(shù)據(jù)庫內(nèi)注冊(cè)圖像的特征按照特定方式進(jìn)行比對(duì),根據(jù)比對(duì)結(jié)果判斷虹膜所屬的人是否為系統(tǒng)內(nèi)的注冊(cè)用戶。具體可以使用漢明距離對(duì)虹膜圖像的二進(jìn)制編碼矩陣進(jìn)行匹配,在匹配過程中通過掩膜展開圖像考慮對(duì)應(yīng)特征點(diǎn)的有效性權(quán)重,得到單眼的匹配結(jié)果,從而判斷注冊(cè)用戶和待識(shí)別用戶為同一個(gè)人或不是同一個(gè)人,具體可以為:
1)根據(jù)外積張量序特征與數(shù)據(jù)庫內(nèi)注冊(cè)圖像的特征的漢明距離進(jìn)行特征匹配
由于圖像采集時(shí)用戶姿態(tài)未必端正,很難使匹配的兩幅虹膜圖像中的特征點(diǎn)完全對(duì)應(yīng),因此,需要在匹配過程中考慮到特征點(diǎn)發(fā)生位移的情況。
設(shè)zi為虹膜圖像i中的某一點(diǎn),ξi為虹膜圖像i′中與虹膜圖像i中zi位置相同的一點(diǎn)。由于位姿變化以及分割誤差兩幅圖中相同位置的zi和ξi未必對(duì)應(yīng)著相同的虹膜紋理,實(shí)際上與zi具有相同紋理的點(diǎn)為ξi某個(gè)鄰域內(nèi)的點(diǎn)
其中ri′(zi)表示圖像i′中以zi為中心的一個(gè)鄰域,h表示兩個(gè)外積張量序特征之間的漢明距離,
2)由于在生成用于匹配的虹膜展開圖像的同時(shí)也生成了對(duì)應(yīng)的掩膜展開圖像,該掩膜展開圖像用于在特征匹配時(shí)計(jì)算對(duì)應(yīng)特征匹配的權(quán)重。在掩膜展開圖像中,某像素點(diǎn)處值m為0表示是有效部分,m的值越大表示該像素點(diǎn)的權(quán)重為1-m,表示該點(diǎn)求得匹配距離的有效程度。因此兩幅圖像i與i′之間的相似性s(i,i′)定義為:
其中ηi表示bi(zi)和bi′(ξi)分別對(duì)應(yīng)的有效權(quán)重的較小值,m表示掩膜展開圖像中像素點(diǎn)的個(gè)數(shù),ηj表示在m個(gè)數(shù)據(jù)中第bi(zi)和bi′(ξi)分別對(duì)應(yīng)的有效權(quán)重的較小值。
3)由于輸入的是雙眼圖像,因此在分別得到左右眼的匹配結(jié)果后,將兩個(gè)匹配結(jié)果融合得到最終的匹配結(jié)果,融合方式可以為:s=w·sl+(1-w)·sr
其中sl為兩幅圖像i與i′左眼之間的相似性,sr為兩幅圖像i與i′右眼之間的相似性,w為兩個(gè)匹配結(jié)果之間的權(quán)重(這里取0.6)。
根據(jù)最終的匹配結(jié)果s的值確定注冊(cè)用戶和待識(shí)別用戶為同一個(gè)人或不是同一個(gè)人,例如將s的值與最終的閾值進(jìn)行比較確定。
因此,本申請(qǐng)實(shí)施例提供一種虹膜識(shí)別方法,終端對(duì)眼睛的虹膜區(qū)域進(jìn)行內(nèi)輪廓檢測(cè),根據(jù)得到的內(nèi)輪廓的位置確定外輪廓的位置,通過眼睛的瞳孔間的連線與水平方向的角度確定雙眼的旋轉(zhuǎn)角度,并基于旋轉(zhuǎn)角度和外輪廓的位置對(duì)眼睛的眼瞼進(jìn)行檢測(cè),以得到眼瞼的拋物線;根據(jù)外輪廓的位置和眼瞼的拋物線去除虹膜區(qū)域中的眼瞼區(qū)域,并對(duì)去除眼瞼區(qū)域以外的虹膜區(qū)域進(jìn)行睫毛檢測(cè)和高亮干擾檢測(cè),以去除虹膜區(qū)域中的睫毛區(qū)域和高亮點(diǎn),得到虹膜圖像;根據(jù)虹膜圖像生成掩膜圖像,并展開虹膜圖像得到虹膜展開圖像,以及展開掩膜圖像得到掩膜展開圖像;根據(jù)虹膜展開圖像提取局部加權(quán)直方圖特征,對(duì)局部加權(quán)直方圖特征計(jì)算外積張量序特征,將外積張量序特征作為虹膜圖像的虹膜紋理;根據(jù)建模得到的虹膜紋理和掩膜展開圖像進(jìn)行特征匹配,以確定虹膜匹配結(jié)果。在本申請(qǐng)中,進(jìn)行虹膜識(shí)別時(shí)考慮到了多種因素下的自然場(chǎng)景,例如眼睛的旋轉(zhuǎn)、戴眼鏡和睫毛干擾等,能夠適用于室內(nèi)場(chǎng)景下直視手機(jī)的情況,也可以適用于眼睛旋轉(zhuǎn)例如斜視等情況,對(duì)圖像中眼瞼遮擋、高亮、眼睛旋轉(zhuǎn)等場(chǎng)景具有很強(qiáng)的魯棒性。
上述主要從終端的角度對(duì)本申請(qǐng)實(shí)施例提供的方案進(jìn)行了介紹。可以理解的是,終端為了實(shí)現(xiàn)上述功能,其包含了執(zhí)行各個(gè)功能相應(yīng)的硬件結(jié)構(gòu)和/或軟件模塊。本領(lǐng)域技術(shù)人員應(yīng)該很容易意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,本申請(qǐng)能夠以硬件或硬件和計(jì)算機(jī)軟件的結(jié)合形式來實(shí)現(xiàn)。某個(gè)功能究竟以硬件還是計(jì)算機(jī)軟件驅(qū)動(dòng)硬件的方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本申請(qǐng)的范圍。
本申請(qǐng)實(shí)施例可以根據(jù)上述方法示例對(duì)終端進(jìn)行功能模塊的劃分,例如,可以對(duì)應(yīng)各個(gè)功能劃分各個(gè)功能模塊,也可以將兩個(gè)或兩個(gè)以上的功能集成在一個(gè)處理模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。需要說明的是,本申請(qǐng)實(shí)施例中對(duì)模塊的劃分是示意性的,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式。
在采用對(duì)應(yīng)各個(gè)功能劃分各個(gè)功能模塊的情況下,圖9示出了上述實(shí)施例中所涉及的終端的一種可能的結(jié)構(gòu)示意圖,終端90包括:輪廓檢測(cè)單元901,眼瞼檢測(cè)單元902,睫毛和高亮檢測(cè)單元903、掩膜生成單元904、紋理獲取單元905以及特征匹配單元906。輪廓檢測(cè)單元901用于支持終端執(zhí)行圖2中的過程201,眼瞼檢測(cè)單元902用于支持終端執(zhí)行圖2中的過程202和203,睫毛和高亮檢測(cè)單元903用于支持終端執(zhí)行圖2中的過程204和205,掩膜生成單元904用于支持終端執(zhí)行圖2中的過程206,紋理獲取單元905用于支持終端執(zhí)行圖2中的過程207和208,特征匹配單元906用于支持終端執(zhí)行圖2中的過程209。其中,上述方法實(shí)施例涉及的各步驟的所有相關(guān)內(nèi)容均可以援引到對(duì)應(yīng)功能模塊的功能描述,在此不再贅述。
在采用集成的單元的情況下,圖10示出了上述實(shí)施例中所涉及的終端的一種可能的結(jié)構(gòu)示意圖。終端100包括:處理模塊1001、存儲(chǔ)模塊1002和通信模塊1003。處理模塊1001用于對(duì)終端的動(dòng)作進(jìn)行控制管理,處理模塊1001用于支持終端執(zhí)行圖2中的過程201至209,和/或用于本文所描述的技術(shù)的其它過程。通信模塊1003用于支持終端與其他網(wǎng)絡(luò)實(shí)體的通信,例如與基站等網(wǎng)絡(luò)設(shè)備的功能模塊或網(wǎng)絡(luò)實(shí)體之間的通信。存儲(chǔ)模塊1002,用于存儲(chǔ)終端的程序代碼和數(shù)據(jù),例如存儲(chǔ)用于執(zhí)行上述方法實(shí)施例的方法步驟的程序和數(shù)據(jù)。
其中,處理模塊1001可以是處理器或控制器,例如可以是中央處理器(centralprocessingunit,cpu),通用處理器,數(shù)字信號(hào)處理器(digitalsignalprocessor,dsp),專用集成電路(application-specificintegratedcircuit,asic),現(xiàn)場(chǎng)可編程門陣列(fieldprogrammablegatearray,fpga)或者其他可編程邏輯器件、晶體管邏輯器件、硬件部件或者其任意組合。其可以實(shí)現(xiàn)或執(zhí)行結(jié)合本申請(qǐng)公開內(nèi)容所描述的各種示例性的邏輯方框,模塊和電路。所述處理器也可以是實(shí)現(xiàn)計(jì)算功能的組合,例如包含一個(gè)或多個(gè)微處理器組合,dsp和微處理器的組合等等。通信模塊1003可以是收發(fā)器、收發(fā)電路或通信接口等。存儲(chǔ)模塊1002可以是存儲(chǔ)器。
當(dāng)處理模塊1001為處理器,通信模塊1003為收發(fā)器,存儲(chǔ)模塊1002為存儲(chǔ)器時(shí),本申請(qǐng)實(shí)施例所涉及的終端可以為圖11所示的終端。
參閱圖11所示,該第終端110包括:處理器1112、收發(fā)器1113、存儲(chǔ)器1111以及總線1114。其中,收發(fā)器1113、處理器1112以及存儲(chǔ)器1111通過總線1114相互連接;總線1114可以是外設(shè)部件互連標(biāo)準(zhǔn)(peripheralcomponentinterconnect,pci)總線或擴(kuò)展工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(extendedindustrystandardarchitecture,eisa)總線等。所述總線可以分為地址總線、數(shù)據(jù)總線、控制總線等。為便于表示,圖11中僅用一條粗線表示,但并不表示僅有一根總線或一種類型的總線。
結(jié)合本申請(qǐng)公開內(nèi)容所描述的方法或者算法的步驟可以硬件的方式來實(shí)現(xiàn),也可以是由處理器執(zhí)行軟件指令的方式來實(shí)現(xiàn)。軟件指令可以由相應(yīng)的軟件模塊組成,軟件模塊可以被存放于隨機(jī)存取存儲(chǔ)器(randomaccessmemory,ram)、閃存、只讀存儲(chǔ)器(readonlymemory,rom)、可擦除可編程只讀存儲(chǔ)器(erasableprogrammablerom,eprom)、電可擦可編程只讀存儲(chǔ)器(electricallyeprom,eeprom)、寄存器、硬盤、移動(dòng)硬盤、只讀光盤(cd-rom)或者本領(lǐng)域熟知的任何其它形式的存儲(chǔ)介質(zhì)中。一種示例性的存儲(chǔ)介質(zhì)耦合至處理器,從而使處理器能夠從該存儲(chǔ)介質(zhì)讀取信息,且可向該存儲(chǔ)介質(zhì)寫入信息。當(dāng)然,存儲(chǔ)介質(zhì)也可以是處理器的組成部分。處理器和存儲(chǔ)介質(zhì)可以位于asic中。另外,該asic可以位于核心網(wǎng)接口設(shè)備中。當(dāng)然,處理器和存儲(chǔ)介質(zhì)也可以作為分立組件存在于核心網(wǎng)接口設(shè)備中。
本領(lǐng)域技術(shù)人員應(yīng)該可以意識(shí)到,在上述一個(gè)或多個(gè)示例中,本申請(qǐng)所描述的功能可以用硬件、軟件、固件或它們的任意組合來實(shí)現(xiàn)。當(dāng)使用軟件實(shí)現(xiàn)時(shí),可以將這些功能存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中或者作為計(jì)算機(jī)可讀介質(zhì)上的一個(gè)或多個(gè)指令或代碼進(jìn)行傳輸。計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì),其中通信介質(zhì)包括便于從一個(gè)地方向另一個(gè)地方傳送計(jì)算機(jī)程序的任何介質(zhì)。存儲(chǔ)介質(zhì)可以是通用或?qū)S糜?jì)算機(jī)能夠存取的任何可用介質(zhì)。
以上所述的具體實(shí)施方式,對(duì)本申請(qǐng)的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本申請(qǐng)的具體實(shí)施方式而已,并不用于限定本申請(qǐng)的保護(hù)范圍,凡在本申請(qǐng)的技術(shù)方案的基礎(chǔ)之上,所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包括在本申請(qǐng)的保護(hù)范圍之內(nèi)。