(武漢大學(xué) 數(shù)學(xué)與統(tǒng)計(jì)學(xué)院, 武漢 430072)
虹膜識(shí)別是較為精確的一種生物識(shí)別技術(shù),被廣泛認(rèn)為是21世紀(jì)最具有發(fā)展前途的生物識(shí)別技術(shù)[1]。未來的安防、國(guó)防、電子商務(wù)等多種領(lǐng)域的應(yīng)用,也必然的會(huì)以虹膜識(shí)別技術(shù)為重點(diǎn)。然而在虹膜識(shí)別的實(shí)際應(yīng)用中,采集條件多樣化,使用者在采集虹膜圖像的過程中,每次會(huì)采集多張眼圖(30~100張)[2],該過程中(耗時(shí)0.01~1 m)可能出現(xiàn)眨眼,瞇眼,導(dǎo)致部分采集的眼圖虹膜區(qū)域過小,不足以進(jìn)行特征提取,或者會(huì)誤將眼皮、眼瞼和睫毛區(qū)域加入特征提取區(qū)域[3-4]。
如何正確的確定特征提取的區(qū)域,成為虹膜識(shí)別技術(shù)中的一項(xiàng)重要任務(wù)[5-6]。本文設(shè)計(jì)的算法能夠確定眼瞼的位置能夠確定眼圖中眼睛閉合程度,進(jìn)而從使用者采集的眼圖中選出適合特征提取的眼圖,從而提高虹膜識(shí)別的準(zhǔn)確率[7-8]。
本文基于Andreas Uhl and Peter Wild[2]的開源分割算法,進(jìn)行了優(yōu)化和改進(jìn),訓(xùn)練得到較為穩(wěn)健的分割算法。分割算法先將采集的圖片轉(zhuǎn)換為灰度圖,再去除亮斑,用x和y方向的Sobel濾波器探測(cè)邊界,并且設(shè)置閾值去除睫毛。用加權(quán)的hough變換找到圓心,并以圓心為原點(diǎn)從12點(diǎn)方向?qū)⑷コ涟吆蟮膱D片進(jìn)行極坐標(biāo)展開[9-10]。
再對(duì)極坐標(biāo)圖像進(jìn)行g(shù)abor濾波,并從濾波后的圖像中查找初始邊界,再以初始邊界向內(nèi)外分別查找兩條邊界。用假設(shè)檢驗(yàn)的方法從三條候選邊界中找出虹膜內(nèi)邊界和虹膜外邊界(即瞳孔邊界)。
圖1 分割算法流程圖
本文通過采集設(shè)備采集不同條件的虹膜圖片,便于驗(yàn)證眼瞼檢測(cè)的魯棒性:
1) 常規(guī)眼圖測(cè)試集:中科院的開源庫(kù)CASIA-Iris-Lamp庫(kù)(分辨率:640*480,格式:jpg)(圖2(a))和團(tuán)隊(duì)采集的ZY_IRIS庫(kù)[5](分辨率:640*512,格式:bmp)。
2) 特殊眼圖測(cè)試集:包含單眼皮、雙眼皮、佩戴隱形眼鏡(圖2(b))、佩戴美瞳(圖2(c))、化妝(圖2(d))等多種情形的圖像;灰度值分布不同的眼圖測(cè)試集(見圖2(e)~(h))。
圖2 測(cè)試圖庫(kù)
獲取分割后的眼圖,在眼部圖片中劃分出上眼瞼檢測(cè)區(qū)域和下眼瞼檢測(cè)區(qū)域。
下面以一個(gè)具體的劃分方法進(jìn)行說明:
S1:在眼部圖片中劃分出虹膜內(nèi)邊界和外邊界,虹膜內(nèi)邊界以內(nèi)區(qū)域稱為瞳孔區(qū)域,內(nèi)邊界和外邊界之間的環(huán)形區(qū)域稱為虹膜區(qū)域,找出外邊界橢圓的上(A)下(B)左(C)右(D)頂點(diǎn)坐標(biāo);以及內(nèi)邊界上(E)下(F)兩個(gè)頂點(diǎn)和內(nèi)邊界的圓心(O)坐標(biāo),參見圖3所示。
圖3 眼圖區(qū)域示意圖
S2:分別計(jì)算出A、B、C、D到圓心的距離a,b,c,d;計(jì)算E,F(xiàn)兩點(diǎn)間距離e;
S3:線段a以點(diǎn)O向點(diǎn)A擴(kuò)大為原來的r1(r1∈[1,2])倍,得到點(diǎn)A';c與d分別以點(diǎn)O向點(diǎn)C與D擴(kuò)大為原來的r2(r2∈[1,2])倍,得到點(diǎn)C'與D';在線段OF上取點(diǎn)F'使得OF'=0.25*e。在眼部圖片中劃分一個(gè)過A'、C'、D'、F'的矩形區(qū)域作為上眼瞼區(qū)域,參見圖4(a)所示。
線段b以點(diǎn)O向點(diǎn)B擴(kuò)大為原來的r3(r3∈[1,2])倍,得到點(diǎn)B'';c與d分別以點(diǎn)O向點(diǎn)C與D擴(kuò)大為原來的r4(r4∈[1,2])倍,得到點(diǎn)C″與D″;在眼部圖片中劃分一個(gè)過B″、C″、D″、O的矩形區(qū)域作為下眼瞼區(qū)域,參見圖4(b)所示。
本文取r1=1.41,r2=1.05,r3=1.4,r4=1.6。
以分割得到的虹膜邊界為參考進(jìn)行劃分,能夠?qū)⒂杏玫难鄄€部分包含在檢測(cè)區(qū)域內(nèi)。劃分上下眼瞼檢測(cè)區(qū)域有以下優(yōu)點(diǎn):可以減少檢測(cè)范圍,從而減少檢測(cè)空間復(fù)雜度,從而減少檢測(cè)時(shí)間;同時(shí)可以減少眉毛和眼皮褶皺等因素的干擾;上下眼瞼都呈現(xiàn)線性特征,而上下眼瞼兩側(cè)的灰度分布特征不同,上下眼瞼使用不同的算法進(jìn)行檢測(cè),不僅可以防止相互干擾,還能使算法具有更強(qiáng)的魯棒性。
圖4 上下眼瞼劃分區(qū)域示意圖
由于睫毛在眼圖中呈現(xiàn)明顯的線性特征,在邊緣檢測(cè)中容易出現(xiàn)高響應(yīng),因此睫毛對(duì)眼瞼檢測(cè)影響十分大。下面去除上下眼瞼檢測(cè)區(qū)域的睫毛,以減少睫毛對(duì)眼瞼檢測(cè)的干擾。
上眼瞼檢測(cè)區(qū)域可能出現(xiàn)單根睫毛和重疊睫毛等多種睫毛情形,本文設(shè)計(jì)了的水平等級(jí)濾波器,并選取次大值作為濾波結(jié)果,能夠在去除睫毛的同時(shí)避免眼皮亮斑的干擾。
對(duì)于下眼瞼,睫毛一般以單根的形式出現(xiàn),本文先設(shè)計(jì)了水平方向和垂直方向的邊緣濾波器將睫毛檢測(cè)出來并對(duì)睫毛區(qū)域進(jìn)行膨脹,再將下眼瞼檢測(cè)區(qū)域的睫毛去除。
圖5 濾波器及檢測(cè)效果圖
圖5中,(a)為檢測(cè)上眼瞼使用的5*1水平等級(jí)濾波器;(b)和(c)分別為檢測(cè)下眼瞼7*1水平邊緣濾波器和1*7垂直邊緣濾波器。
上眼瞼檢測(cè)中(d)為上眼瞼檢測(cè)區(qū)域原圖;(e)為去除睫毛后的上眼瞼檢測(cè)區(qū)域;(f)為對(duì)上眼瞼檢測(cè)區(qū)域原圖的眼瞼檢測(cè)結(jié)果;(g)為對(duì)去除睫毛后的上眼瞼檢測(cè)區(qū)域的眼瞼檢測(cè)結(jié)果??梢娙コ廾?,上眼瞼檢測(cè)的效果得到了很大的提升。
下眼瞼檢測(cè)中(h)為檢測(cè)的下眼瞼檢測(cè)區(qū)域中的睫毛掩碼圖,其中白色為檢測(cè)出來的睫毛;(i)為直接利用掩碼圖(h)去除睫毛后的下眼瞼檢測(cè)區(qū)域;(j)為將(h)中睫毛區(qū)域膨脹后的睫毛掩碼圖;(k)為利用掩碼圖(j)去除睫毛的下眼瞼檢測(cè)區(qū)域??梢娕蛎浤軌蚴沟孟卵鄄€檢測(cè)區(qū)域中的睫毛去除的更加干凈;(l)為對(duì)下眼瞼檢測(cè)區(qū)域原圖的眼瞼檢測(cè)效果;(m)為對(duì)去除睫毛后的下眼瞼檢測(cè)區(qū)域的眼瞼檢測(cè)效果,明顯去除睫毛可以使得下眼瞼檢測(cè)更加準(zhǔn)確。
gabor濾波器是一種加窗的傅里葉變換,適合表達(dá)圖像的紋理特征,非常適合用于眼瞼分布特征的表達(dá)。對(duì)上眼瞼區(qū)域和下眼瞼區(qū)域分別進(jìn)行濾波,得到上眼瞼梯度圖和下眼瞼梯度圖。
具體地,本文使用9*9gabor濾波器虛部對(duì)上眼瞼區(qū)域進(jìn)行濾波操作:
g(x,y;λ,θ,ψ,σ,γ)=
其中對(duì)每個(gè)像素點(diǎn)做如下旋轉(zhuǎn)操作:
下眼瞼區(qū)域使用改進(jìn)的15*15gabor濾波器的實(shí)部進(jìn)行濾波:
g(x,y;λ,θ,ψ,σ,γ)=
圖6 進(jìn)過濾波后的圖像
選取上眼瞼檢測(cè)區(qū)域梯度圖和下眼瞼檢測(cè)區(qū)域梯度圖每列像素中具有最大能量值的像素點(diǎn)作為初始候選點(diǎn),并基于此分別獲得上眼瞼候選點(diǎn)和下眼瞼候選點(diǎn);
進(jìn)一步細(xì)化,獲取上眼瞼候選點(diǎn)包括如下步驟:
S1:為了避免光斑以及瞳孔邊界對(duì)上眼瞼檢測(cè)的干擾。對(duì)上眼瞼檢測(cè)區(qū)域進(jìn)行二值化處理:將瞳孔區(qū)域各像素點(diǎn)取值為1,其余區(qū)域取值為0,得到上眼瞼二值圖,對(duì)上眼瞼二值圖的瞳孔區(qū)域進(jìn)行膨脹處理,形成第一掩碼圖,其中取值為1的部分稱為掩碼區(qū)域,參見圖7所示(圖中白色部分為掩碼區(qū)域);
圖7 第一掩碼圖
S2:搜索上眼瞼梯度圖每列像素中具有最大能量值的像素點(diǎn),得到上眼瞼待選點(diǎn),剔除上眼瞼待選點(diǎn)中位于第一掩碼區(qū)域的像素點(diǎn),得到上眼瞼初始候選點(diǎn)和候選點(diǎn)空缺列集合;
上眼瞼梯度圖是由多列的像素點(diǎn)組成的,將上眼瞼待選點(diǎn)位于第一掩碼區(qū)域中的像素點(diǎn)剔除之后,這些被剔除的像素點(diǎn)所在的列便缺少了上眼瞼待選點(diǎn),這些缺少上眼瞼待選點(diǎn)的列稱之為候選點(diǎn)空缺列集合。
S3:對(duì)候選點(diǎn)空缺列集合進(jìn)行拋物線插值,獲得插值候選點(diǎn),插值候選點(diǎn)不在第一掩碼區(qū)域內(nèi);
其中,對(duì)候選點(diǎn)空缺列集合進(jìn)行拋物線插值是按照如下方式進(jìn)行:選取與候選點(diǎn)空缺列集合中位于外側(cè)的兩列分別相鄰的兩個(gè)上眼瞼初始候選點(diǎn)作為插值基準(zhǔn)點(diǎn),記為G(xG,yG)和H(xH,yH),利用G(xG,yG)和H(xH,yH)對(duì)候選點(diǎn)空缺列集合進(jìn)行拋物線模板進(jìn)行插值操作;
插值模板由二次函數(shù)構(gòu)成:
y=ax2+bx+c,
S4:上眼瞼初始候選點(diǎn)與插值候選點(diǎn)共同組成上眼瞼候選點(diǎn),確保上眼瞼梯度圖每列像素中只有一個(gè)上眼瞼候選點(diǎn)。
S5:基于上眼瞼候選點(diǎn),獲取上眼瞼候選線段,并根據(jù)上眼瞼候選線段,獲取上眼瞼有效點(diǎn),參見圖8(a)所示。
圖8 上下眼瞼檢測(cè)效果
進(jìn)一步細(xì)化,為了獲取上眼瞼候選線段,我們定義:位于相鄰兩列像素中的兩個(gè)上眼瞼候選點(diǎn)縱坐標(biāo)之差小于T1up個(gè)像素,則這兩個(gè)上眼瞼候選點(diǎn)稱之為上眼瞼連續(xù)點(diǎn);具有超過T2up個(gè)上眼瞼連續(xù)點(diǎn)的線段定義為上眼瞼連續(xù)線段,否則,組成該線段的所有上眼瞼候選點(diǎn)稱之為跳躍點(diǎn)。
獲取上眼瞼候選線段包括如下步驟:
S501:基于上眼瞼候選點(diǎn),獲取上眼瞼連續(xù)線段;
S502:判斷上眼瞼連續(xù)線段的數(shù)量是否大于1,若不大于1,則轉(zhuǎn)入S507,若大于1,則轉(zhuǎn)入S503;
S503:自上眼瞼區(qū)域一側(cè)向另一側(cè),依次判斷相鄰的兩個(gè)上眼瞼連續(xù)線段之間是否存在跳躍點(diǎn),若不存在跳躍點(diǎn),則轉(zhuǎn)入S506;若存在跳躍點(diǎn),則轉(zhuǎn)入S504;
S504:判斷兩上眼瞼連續(xù)線段相近的兩個(gè)端點(diǎn)縱坐標(biāo)之差是否大于T1up,若大于預(yù)設(shè)像素值,則轉(zhuǎn)入S506,若小于預(yù)設(shè)像素值,則轉(zhuǎn)入S505;
S505:將兩上眼瞼連續(xù)線段連接為新的上眼瞼連續(xù)線段,并轉(zhuǎn)入S502;
S506:將兩上眼瞼連續(xù)線段認(rèn)定為上眼瞼候選線段;
S507:將該上眼瞼連續(xù)線段認(rèn)定為上眼瞼候選線段。
本文中,將兩上眼瞼連續(xù)線段連接為新的上眼瞼連續(xù)線段采用如下方法:將兩端點(diǎn)縱坐標(biāo)的平均值作為跳躍點(diǎn)的縱坐標(biāo)。
圖9 去除跳躍點(diǎn)效果對(duì)比
圖9由可見去除跳躍點(diǎn)能夠減少眼皮的干擾。
進(jìn)一步細(xì)化,獲取上眼瞼有效點(diǎn)包括如下步驟:
1)在所有的上眼瞼候選線段中,搜索最長(zhǎng)的上眼瞼候選線段,判斷其長(zhǎng)度是否小于圖片總寬度的a%,若是,則轉(zhuǎn)入2),若否,則轉(zhuǎn)入5);
2) 搜索第二長(zhǎng)的上眼瞼候選線段,判斷其長(zhǎng)度是否大于圖片總寬度的b%,若是,則轉(zhuǎn)入3),若否,則轉(zhuǎn)入5);
3)判斷最長(zhǎng)和第二長(zhǎng)的上眼瞼候選線段長(zhǎng)度之和是否小于圖片總寬度的c%,若是,則轉(zhuǎn)入4),若否,則轉(zhuǎn)入6);
4)搜索第三長(zhǎng)的上眼瞼候選線段,判斷其長(zhǎng)度是否大于圖片總寬度的d%,若是,則轉(zhuǎn)入7);若否,則轉(zhuǎn)入6);
5)將最長(zhǎng)的上眼瞼候選線段上的像素點(diǎn)作為上眼瞼有效點(diǎn),轉(zhuǎn)入8);
6)將最長(zhǎng)和第二長(zhǎng)的上眼瞼候選線段上的像素點(diǎn)作為上眼瞼有效點(diǎn),轉(zhuǎn)入8);
7)將最長(zhǎng)、第二長(zhǎng)和第三長(zhǎng)的上眼瞼候選線段上的像素點(diǎn)作為上眼瞼有效點(diǎn),轉(zhuǎn)入8);
8)將得到的上眼瞼有效點(diǎn)中位于第一掩碼區(qū)域的像素點(diǎn)剔除,得到最終的上眼瞼有效點(diǎn)。
本文取T1up= 10,T2up= 8,a=45、b=10、c=33、d=10。
圖10 獲取有效點(diǎn)過程
圖10中進(jìn)一步細(xì)化,獲取下眼瞼候選點(diǎn)包括如下步驟:
S1:對(duì)下眼瞼區(qū)域進(jìn)行二值化處理,將瞳孔區(qū)域和虹膜外邊界各像素點(diǎn)取值為1,其余區(qū)域取值為0,得到下眼瞼二值圖,對(duì)下眼瞼二值圖的瞳孔區(qū)域和虹膜外邊界分別進(jìn)行膨脹處理,形成第二掩碼區(qū)域和第三掩碼區(qū)域,分別參見圖11(a)和圖11(b)(圖中白色部分)所示。
圖11 掩碼圖
S2:搜索下眼瞼梯度圖每列像素中具有最大能量值的像素點(diǎn),得到下眼瞼待選點(diǎn),剔除下眼瞼待選點(diǎn)中位于第二掩碼區(qū)域和第三掩碼區(qū)域的像素點(diǎn),得到下眼瞼候選點(diǎn)。利用第二掩碼區(qū)域和第三掩碼區(qū)域進(jìn)行像素點(diǎn)的剔除,可以有效減小瞳孔區(qū)域亮斑邊界和虹膜區(qū)域外邊界對(duì)下眼瞼候選點(diǎn)檢測(cè)的干擾。
S3:基于下眼瞼候選點(diǎn),獲取下眼瞼候選線段,并根據(jù)下眼瞼候選線段,獲取下眼瞼有效點(diǎn),參見圖9(b)所示。
進(jìn)一步細(xì)化,我們定義:如果位于相鄰兩列像素中的兩個(gè)下眼瞼候選點(diǎn)縱坐標(biāo)之差小于T1down個(gè)像素,則這兩個(gè)下眼瞼候選點(diǎn)稱之為下眼瞼連續(xù)點(diǎn),由至少兩個(gè)下眼瞼連續(xù)點(diǎn)形成的線段稱之為下眼瞼連續(xù)線段。本文取T1down= 2。
獲取下眼瞼有效點(diǎn)包括如下步驟:
S301:基于下眼瞼候選點(diǎn),獲取最長(zhǎng)的下眼瞼連續(xù)線段;
S303:搜索該搜索對(duì)象內(nèi)具有最大能量值的像素點(diǎn),將該像素點(diǎn)與最長(zhǎng)的下眼瞼連續(xù)線段連接為新的最長(zhǎng)的下眼瞼連續(xù)線段,并返回S302;
S304:將最長(zhǎng)的下眼瞼連續(xù)線段上的像素點(diǎn)作為下眼瞼有效點(diǎn)。
在步驟S302中,還包括如下剔除步驟:
1)在下眼瞼區(qū)域的瞳孔區(qū)域 ,以通過該預(yù)設(shè)點(diǎn)的分隔線將下眼瞼區(qū)域分為上下布置的兩個(gè)矩形單元;
2)對(duì)兩矩形單元進(jìn)行二值化處理,將虹膜外邊界各像素點(diǎn)取值為1,其余區(qū)域取值為0,得到兩個(gè)矩形單元二值圖,對(duì)兩矩形單元二值圖的虹膜外邊界分別進(jìn)行膨脹處理,形成第四掩碼區(qū)域(圖中白色部分),參見圖12,本文中,由于虹膜區(qū)域外邊界呈現(xiàn)漸變的形態(tài),因此,在第四掩碼區(qū)域中,上部分的膨脹系數(shù)大,可更好的減少虹膜區(qū)域外邊界的干擾;而下部分膨脹系數(shù)過大會(huì)過多遮擋下眼瞼區(qū)域,干擾下眼瞼有效點(diǎn)的二次查找,因此下部分采用較小的膨脹系數(shù);
圖12 第四掩碼圖
3) 如果搜索對(duì)象中存在位于第四掩碼區(qū)域的像素點(diǎn),則將這些位于第四掩碼區(qū)域的像素點(diǎn)從搜索對(duì)象中剔除掉。
圖13 減少各種干擾效果
圖13中,(a)為未加入去除瞳孔干擾功能,可見上眼瞼部分候選點(diǎn)受到瞳孔邊界的干擾;(b)為將落入掩碼1的候選點(diǎn)所在部分用拋物線插值的效果;(c)為未加入去除光斑干擾功能,可見部分候選點(diǎn)受到光斑的干擾;(d)為將落入掩碼1的候選點(diǎn)所在部分用拋物線插值;(e)為未加入去除瞳孔干擾功能,可見下眼瞼部分候選點(diǎn)受到瞳孔邊界的干擾;(f)為下眼除加入去除瞳孔干擾功能最終檢測(cè)效果;(g)為下眼瞼未加入去除虹膜外邊界干擾功能檢測(cè)效果;(h)為下眼瞼加入去除虹膜外邊界干擾功能檢測(cè)效果;(i)為未將落入掩碼的候選點(diǎn)所在部分用拋物線插值,而是僅阻止候選點(diǎn)落入掩碼1中,導(dǎo)致強(qiáng)制搜索的候選點(diǎn)偏離眼瞼;(j)為將落入掩碼的候選點(diǎn)所在部分用拋物線插值。
對(duì)上眼瞼有效點(diǎn)和下眼瞼有效點(diǎn)分別進(jìn)行二次多項(xiàng)式擬合,獲得上眼瞼擬合曲線和下眼瞼擬合曲線。
具體地,上眼瞼有效點(diǎn)和下眼瞼有效點(diǎn)均通過如下方法分別進(jìn)行擬合:記有上眼瞼有效點(diǎn)(或下眼瞼有效點(diǎn))個(gè)數(shù)為n,上眼瞼有效點(diǎn)(或下眼瞼有效點(diǎn))構(gòu)成的曲線為f(x),上眼瞼有效點(diǎn)(或下眼瞼有效點(diǎn))記為(xi,f(xi)),i=1,2...n。采用最小二乘法對(duì)上眼瞼有效點(diǎn)(或下眼瞼有效點(diǎn))進(jìn)行二次多項(xiàng)式擬合,擬合方程為:
φ(x)=a0+a1x+a2x2,
計(jì)算平方誤差為:
為使R(a1,a2,a3)達(dá)到最小,應(yīng)滿足:
即
記:
采取LU分解法解方程:
XA=Y。
獲得矩陣A即獲得了二次多項(xiàng)式擬合曲線方程的參數(shù),即可獲得眼瞼的擬合曲線。如圖14所示。
圖14 眼瞼檢測(cè)效果圖
為評(píng)價(jià)本算法檢測(cè)結(jié)果的準(zhǔn)確率,本團(tuán)隊(duì)采集人工標(biāo)記數(shù)據(jù)集,包含如下數(shù)據(jù):1) CASIA-Iris-Lamp庫(kù)中選取400人每人左右眼各5張共計(jì)4 000張眼圖的上下眼瞼標(biāo)記數(shù)據(jù);2) ZY_IRIS庫(kù)中選取900人每人左右眼兩次采集各5張共計(jì)18 000張眼圖的上下眼瞼標(biāo)記數(shù)據(jù)。設(shè)計(jì)人工標(biāo)注工具如下。
圖15 人工標(biāo)記工具
針對(duì)不同數(shù)據(jù)庫(kù),檢測(cè)結(jié)果如圖16所示。
圖16 眼瞼檢測(cè)結(jié)果
圖16中,(a)是本團(tuán)隊(duì)數(shù)據(jù)庫(kù),(b)是CASIA-Iris-Lamp數(shù)據(jù)庫(kù)。
定義上下眼瞼中間的虹膜區(qū)域?yàn)橛行Ш缒^(qū)域,將人工檢測(cè)作為ground truth,計(jì)算檢測(cè)的mIoU,以及測(cè)試時(shí)間。測(cè)試結(jié)果如表1所示。
表1
虹膜識(shí)別技術(shù)迅速發(fā)展,提高算法精度和適用性能夠提高用戶體驗(yàn)。本文設(shè)計(jì)的眼瞼檢測(cè)算法能夠識(shí)別識(shí)別眼瞼的位置從而協(xié)助虹膜識(shí)別判斷虹膜可用區(qū)域,提高虹膜識(shí)別精度。