本發(fā)明涉及數(shù)據(jù)處理方法,特別是涉及用于圖像比對和圖像拼接的數(shù)據(jù)處理方法。
背景技術(shù):
為實現(xiàn)圖像比對,以及根據(jù)圖像比對結(jié)果進(jìn)行圖像拼接,現(xiàn)有技術(shù)將圖像比對的基礎(chǔ)圖像作為模板圖像,將用于比對的圖像作為待測試圖像,模板圖像和待測試圖像特征點(diǎn)的描述符經(jīng)過漢明hamming匹配以及空間去偽之后得到若干粗匹配點(diǎn)對,運(yùn)用英文簡寫為ransac的隨機(jī)取樣一致randomsamplingconsensus算法去除誤匹配和計算旋轉(zhuǎn)平移變換矩陣。傳統(tǒng)隨機(jī)取樣一致ransac思路是通過在粗匹配點(diǎn)對集合中任意選擇三對點(diǎn)估算h矩陣,然后使用估算出來的h矩陣對兩個點(diǎn)集當(dāng)中的所有點(diǎn)對進(jìn)行一致集consensusset判斷,把一個點(diǎn)集當(dāng)中的點(diǎn)經(jīng)過h矩陣映射之后判斷跟另外一個點(diǎn)集當(dāng)中對應(yīng)點(diǎn)之間的歐氏距離小于一定的閾值,則認(rèn)為這些點(diǎn)對屬于這個h矩陣的一致集,最后選取包含點(diǎn)對的數(shù)量最多的一致集為最終的精確匹配點(diǎn)對,對應(yīng)的h矩陣為最終的旋轉(zhuǎn)平移變換矩陣。
傳統(tǒng)隨機(jī)取樣一致ransac算法因為每次都是隨機(jī)選取點(diǎn)對來估算h矩陣,隨機(jī)性比較強(qiáng)、運(yùn)算量較大、效率較低、需要重復(fù)迭代很多次才能找到合適的h矩陣,尤其是當(dāng)輸入隨機(jī)取樣一致ransac算法的兩個匹配點(diǎn)集合當(dāng)中錯誤點(diǎn)對的數(shù)量越多而且占比越大,則需要的重復(fù)迭代次數(shù)越大,否則有可能找不到h矩陣,但是重復(fù)迭代次數(shù)越大則運(yùn)算時間和存儲量將會正比地增加,而且每次隨機(jī)取樣一致ransac算法之后計算出來的h矩陣和一致集都不完全一樣。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題在于避免現(xiàn)有技術(shù)的不足之處而提出一種基于投票決策和最小二乘法的圖像識別隨機(jī)取樣一致算法,引入了投票決策方式找出最有可能正確的點(diǎn)對,采用最小二乘法原理計算旋轉(zhuǎn)平移變換矩陣,設(shè)計了新的隨機(jī)取樣一致ransac算法以解決上述問題。本發(fā)明在模板圖像和待測試圖像特征點(diǎn)的描述符經(jīng)過漢明hamming匹配以及空間去偽之后得到兩個粗匹配的點(diǎn)集,分別是模板圖像粗匹配點(diǎn)集referenceset,英文簡寫refset,以及測試圖像粗匹配點(diǎn)集testset,每個點(diǎn)在點(diǎn)集當(dāng)中都有順序標(biāo)號index,這兩個點(diǎn)集當(dāng)中的粗匹配點(diǎn)對是一一對應(yīng)的,但是粗匹配的正確性需要進(jìn)一步驗證,即通過本發(fā)明的隨機(jī)取樣一致ransac算法去偽。
本發(fā)明解決所述技術(shù)問題可以通過采用以下技術(shù)方案來實現(xiàn):
實施一種基于投票決策和最小二乘法的圖像識別隨機(jī)取樣一致算法,以存儲的圖像模板中的一個為模板圖像,以輸入的圖像為測試圖像,通過測試圖像的特征點(diǎn)信息與各模板圖像的特征點(diǎn)信息的比對甄別測試圖像是否與模板圖像匹配。尤其是,測試圖像的特征點(diǎn)信息分別與各模板圖像的特征點(diǎn)信息都進(jìn)行如下步驟處理:
a.在測試圖像內(nèi)選取特征點(diǎn)組成測試圖像特征點(diǎn)集,在模板圖像內(nèi)選取特征點(diǎn)組成模板圖像特征點(diǎn)集;
對測試圖像的每個特征點(diǎn)在模板圖像特征點(diǎn)集內(nèi)找出粗匹配點(diǎn),從而分屬測試圖像特征點(diǎn)集和模板圖像特征點(diǎn)集的、互相對應(yīng)的兩個粗匹配點(diǎn)成為粗匹配點(diǎn)對;
如果粗匹配點(diǎn)對的數(shù)量大于設(shè)定的粗匹配閾值,進(jìn)行步驟b;否則進(jìn)行步驟i;
b.粗匹配點(diǎn)對中屬于測試圖像特征點(diǎn)集的粗匹配點(diǎn)組成測試圖像粗匹配點(diǎn)集,屬于模板圖像特征點(diǎn)集的粗匹配點(diǎn)組成模板圖像粗匹配點(diǎn)集;
c.用投票決策方法在測試圖像粗匹配點(diǎn)集和模板圖像粗匹配點(diǎn)集內(nèi)分別找到得票最高的、互相對應(yīng)的兩對點(diǎn)并構(gòu)成兩個最佳點(diǎn)對;
d.基于最小二乘法原理用所述測試圖像粗匹配點(diǎn)集和模板圖像粗匹配點(diǎn)集構(gòu)成的兩個最佳點(diǎn)對計算旋轉(zhuǎn)平移變換矩陣;
e.借助旋轉(zhuǎn)平移變換矩陣從測試圖像粗匹配點(diǎn)集和模板圖像粗匹配點(diǎn)集篩選點(diǎn)對構(gòu)成一致集;
如果一致集內(nèi)點(diǎn)對數(shù)量大于設(shè)定的一致點(diǎn)對數(shù)量閾值,進(jìn)行步驟f;否則進(jìn)行步驟i;
f.判斷測試圖像與模板圖像匹配;
j.算法結(jié)束。
本發(fā)明還在上述隨機(jī)取樣一致ransac算法基礎(chǔ)上提出圖像拼接方法,以進(jìn)一步提高圖像比對精度,擴(kuò)大模板圖像范圍,在上述步驟f與步驟j之間加入如下步驟,
g.基于最小二乘法原理使用一致集內(nèi)的點(diǎn)對計算更新的旋轉(zhuǎn)平移變換矩陣;
i.借助更新的旋轉(zhuǎn)平移變換矩陣,將測試圖像特征點(diǎn)集內(nèi)的點(diǎn)映射為更新的拼接特征點(diǎn),將所述更新的拼接特征點(diǎn)加入到模板圖像特征點(diǎn)集內(nèi)。
上述投票決策方法可采用的一種方案是,所述步驟c包括如下分步驟:
c11.為模板圖像粗匹配點(diǎn)集的m個點(diǎn)設(shè)置序號,按順序設(shè)置m行m列的點(diǎn)對距離投票矩陣,矩陣內(nèi)非主對角線的元素是投票元素;
c12.獲取模板圖像粗匹配點(diǎn)集內(nèi)任一點(diǎn)與其它點(diǎn)的模板粗配點(diǎn)距離,以及測試圖像粗匹配點(diǎn)集內(nèi)任一點(diǎn)與其它點(diǎn)的測試粗配點(diǎn)距離,按照模板圖像粗匹配點(diǎn)集與測試圖像粗匹配點(diǎn)集各粗匹配點(diǎn)的序號對應(yīng)關(guān)系,使各個模板粗配點(diǎn)距離與測試粗配點(diǎn)距離一一對應(yīng);
c13.逐個判斷對應(yīng)的模板粗配點(diǎn)距離與測試粗配點(diǎn)距離的差值是否小于設(shè)定的粗配距離差閾值,如果是,即在所述點(diǎn)對距離投票矩陣中的以該模板粗配點(diǎn)距離對應(yīng)的兩個點(diǎn)的序號互為行號和列號的兩元素置位為投票標(biāo)志;如果不是,即在所述點(diǎn)對距離投票矩陣中的以該兩點(diǎn)序號互為行號和列號的兩元素置位為不投票標(biāo)志;
c14.選取投票標(biāo)志數(shù)量排在前兩位的兩行的序號的模板圖像的點(diǎn),并與對應(yīng)測試圖像的點(diǎn)構(gòu)成兩對最佳點(diǎn)對;
所述投票標(biāo)志是1,不投票標(biāo)志是0;或者,所述投票標(biāo)志是0,不投票標(biāo)志是1。
上述投票決策方法在基于上述分步驟c11至c14的基礎(chǔ)上進(jìn)一步衍生的方案是,所述步驟c包括如下分步驟:
c21.為模板圖像粗匹配點(diǎn)集的m個點(diǎn)設(shè)置序號,按順序設(shè)置m行m列的點(diǎn)對距離投票矩陣,矩陣內(nèi)非主對角線的元素是投票元素;
c22.獲取模板圖像粗匹配點(diǎn)集內(nèi)任一點(diǎn)與其它點(diǎn)的模板粗配點(diǎn)距離,以及測試圖像粗匹配點(diǎn)集內(nèi)任一點(diǎn)與其它點(diǎn)的測試粗配點(diǎn)距離,按照模板圖像粗匹配點(diǎn)集與測試圖像粗匹配點(diǎn)集各粗匹配點(diǎn)的序號對應(yīng)關(guān)系,使各個模板粗配點(diǎn)距離與測試粗配點(diǎn)距離一一對應(yīng);
c23.逐個判斷對應(yīng)的模板粗配點(diǎn)距離與測試粗配點(diǎn)距離的差值是否小于設(shè)定的粗配距離差閾值,如果是,即在所述點(diǎn)對距離投票矩陣中的以該模板粗配點(diǎn)距離對應(yīng)的兩個點(diǎn)的序號互為行號和列號的兩元素置位為投票標(biāo)志;如果不是,即在所述點(diǎn)對距離投票矩陣中的以該兩點(diǎn)序號互為行號和列號的兩元素置位為不投票標(biāo)志;
c24.在點(diǎn)對距離投票矩陣選取投票標(biāo)志數(shù)量的排在前z位的z行的行序號所代表的z個點(diǎn)組成模板圖像初判點(diǎn)集,該模板圖像初判點(diǎn)集在測試圖像粗匹配點(diǎn)集對應(yīng)的z個點(diǎn)組成測試圖像初判點(diǎn)集,z是不小于2的自然數(shù);
c25.獲取模板圖像初判點(diǎn)集內(nèi)任意兩點(diǎn)之間的向量,組成具有y個向量的模板向量集,y是從z個點(diǎn)中取出兩個點(diǎn)的組合數(shù),相應(yīng)地,獲取測試圖像初判點(diǎn)集內(nèi)任意兩點(diǎn)之間的向量,組成具有y個向量的測試向量集,按照模板圖像初判點(diǎn)集與測試圖像初判點(diǎn)集之間各點(diǎn)的對應(yīng)關(guān)系,使模板向量與測試向量一一對應(yīng);
c26.為模板向量集的y個向量設(shè)置序號,按順序設(shè)置構(gòu)建y行y列的向量夾角投票矩陣,矩陣內(nèi)非主對角線的元素是投票元素;
c27.計算模板向量集內(nèi)任意兩個向量之間的夾角,相應(yīng)地,計算測試向量集內(nèi)任意兩個向量之間的夾角,判斷模板向量集內(nèi)的夾角和相同序號的測試向量集內(nèi)的夾角的差值是否小于設(shè)定的向量夾角差閾值,如果是,即在所述向量夾角投票矩陣中的以該兩向量序號互為行號和列號的兩元素置位為投票標(biāo)志;如果不是,即在所述向量投票矩陣中的以該兩向量序號互為行號和列號的兩元素置位為不投票標(biāo)志;
c28.選取向量夾角投票矩陣中投票標(biāo)志最多的一行的行序號所代表的模板向量,從而找出形成該模板向量的兩點(diǎn),該兩點(diǎn)與測試圖像的對應(yīng)兩點(diǎn)構(gòu)成兩最佳點(diǎn)對;
所述投票標(biāo)志是1,不投票標(biāo)志是0;或者,所述投票標(biāo)志是0,不投票標(biāo)志是1。
具體而言,所述z是不小于2的自然數(shù),且不超過模板圖像粗匹配點(diǎn)集內(nèi)點(diǎn)數(shù)的十分之一。
上述投票決策方法可采用的另一種方案是,所述步驟c包括如下分步驟:
c31.獲取模板圖像粗匹配點(diǎn)集內(nèi)任意兩點(diǎn)之間的向量,組成具有x個向量的模板向量集,x是從模板圖像粗匹配點(diǎn)集的點(diǎn)數(shù)中取出兩個點(diǎn)的組合數(shù),相應(yīng)地,獲取測試圖像粗匹配點(diǎn)集內(nèi)任意兩點(diǎn)之間的向量,組成具有x個向量的測試向量集,按照模板圖像粗匹配點(diǎn)集與測試圖像粗匹配點(diǎn)集之間各點(diǎn)的對應(yīng)關(guān)系,使模板向量與測試向量對應(yīng);
c32.為模板向量集的x個向量設(shè)置序號,按順序設(shè)置構(gòu)建x行x列的向量夾角投票矩陣,矩陣內(nèi)非主對角線的元素是投票元素;
c33.計算模板向量集內(nèi)任意兩個向量之間的夾角,相應(yīng)地,計算測試向量集內(nèi)任意兩個向量之間的夾角,判斷模板向量集內(nèi)的夾角和相同序號的測試向量集內(nèi)的夾角的差值是否小于設(shè)定的向量夾角差閾值,如果是,即在所述向量夾角投票矩陣中的以該兩向量序號互為行號和列號的兩元素置位為投票標(biāo)志;如果不是,即在所述向量投票矩陣中的以該兩向量序號互為行號和列號的兩元素置位為不投票標(biāo)志;
c34.選取向量夾角投票矩陣中投票標(biāo)志最多的一行的行序號所代表的模板向量,從而找出形成該模板向量的兩點(diǎn),該兩點(diǎn)與測試圖像的對應(yīng)兩點(diǎn)構(gòu)成兩最佳點(diǎn)對;
所述投票標(biāo)志是1,不投票標(biāo)志是0;或者,所述投票標(biāo)志是0,不投票標(biāo)志是1。
上述投票決策方法在基于上述分步驟c31至c34的基礎(chǔ)上進(jìn)一步衍生的方案是,所述步驟c包括如下分步驟:
c41.獲取模板圖像粗匹配點(diǎn)集內(nèi)任意兩點(diǎn)之間的向量,組成具有x個向量的模板向量集,x是從模板圖像粗匹配點(diǎn)集的點(diǎn)數(shù)中取出兩個點(diǎn)的組合數(shù),相應(yīng)地,獲取測試圖像粗匹配點(diǎn)集內(nèi)任意兩點(diǎn)之間的向量,組成具有x個向量的測試向量集,按照模板圖像粗匹配點(diǎn)集與測試圖像粗匹配點(diǎn)集之間各點(diǎn)的對應(yīng)關(guān)系,使模板向量與測試向量對應(yīng);
c42.為模板向量集的x個向量設(shè)置序號,按順序設(shè)置構(gòu)建x行x列的向量夾角投票矩陣,矩陣內(nèi)非主對角線的元素是投票元素;
c43.計算模板向量集內(nèi)任意兩個向量之間的夾角,相應(yīng)地,計算測試向量集內(nèi)任意兩個向量之間的夾角,判斷模板向量集內(nèi)的夾角和相同序號的測試向量集內(nèi)的夾角的差值是否小于設(shè)定的向量夾角差閾值,如果是,即在所述向量夾角投票矩陣中的以該兩向量序號互為行號和列號的兩元素置位為投票標(biāo)志;如果不是,即在所述向量夾角投票矩陣中的以該兩向量序號互為行號和列號的兩元素置位為不投票標(biāo)志;
c44.在向量夾角投票矩陣當(dāng)中選取投票標(biāo)志數(shù)量的排在前w位的w行的行序號所代表的w個向量的端點(diǎn)為模板圖像初判點(diǎn)集,該模板圖像初判點(diǎn)集在測試圖像粗匹配點(diǎn)集對應(yīng)的w個向量的端點(diǎn)組成測試圖像初判點(diǎn)集,w是不小于2的自然數(shù);
c45.為模板圖像初判點(diǎn)集的n個點(diǎn)設(shè)置序號,n小于或者等于2×w,按順序設(shè)置n行n列的點(diǎn)對距離投票矩陣,矩陣內(nèi)非主對角線的元素是投票元素;
c46.獲取包括n個點(diǎn)的模板圖像初判點(diǎn)集內(nèi)任一點(diǎn)與其它點(diǎn)的模板初判點(diǎn)距離,以及包括n個點(diǎn)的測試圖像初判點(diǎn)集內(nèi)任一點(diǎn)與其它點(diǎn)的測試初判點(diǎn)距離,按照模板圖像初判點(diǎn)集與測試圖像初判點(diǎn)集各點(diǎn)的序號對應(yīng)關(guān)系,使各個模板初判點(diǎn)距離與測試初判點(diǎn)距離一一對應(yīng);
c47.逐個判斷對應(yīng)的模板初判點(diǎn)距離與測試初判點(diǎn)距離的差值是否小于設(shè)定的初判距離差閾值,如果是,即在所述點(diǎn)對距離投票矩陣中的以該模板初判點(diǎn)距離對應(yīng)的兩個點(diǎn)的序號互為行號和列號的兩元素置位為投票標(biāo)志;如果不是,即在所述點(diǎn)對距離投票矩陣中的以該兩點(diǎn)序號互為行號和列號的兩元素置位為不投票標(biāo)志;
c48.選取投票標(biāo)志數(shù)量排在前兩位的兩行的序號的模板圖像的點(diǎn),并與對應(yīng)測試圖像的點(diǎn)構(gòu)成兩對最佳點(diǎn)對。
所述投票標(biāo)志是1,不投票標(biāo)志是0;或者,所述投票標(biāo)志是0,不投票標(biāo)志是1。
具體地,以上分步驟中所述模板向量集和測試向量集內(nèi)各個向量的方向為從序號較小的點(diǎn)指向序號較大的點(diǎn)。
具體而言,在所述步驟d中,設(shè)通過步驟c找到的模板圖像點(diǎn)集內(nèi)兩個最佳點(diǎn)坐標(biāo)是(xr0,yr0)和(xr1,yr1),測試圖像點(diǎn)集內(nèi)對應(yīng)的兩個最佳點(diǎn)坐標(biāo)是(xt0,yt0)和(xt1,yt1);
那么,旋轉(zhuǎn)平移變換矩陣是
當(dāng)
上述步驟e構(gòu)成一致集及判斷圖像匹配的具體方案是,所述步驟e包括如下分步驟,
e1.對測試圖像粗匹配點(diǎn)集內(nèi)所有點(diǎn)逐個執(zhí)行以下步驟,
e11.將當(dāng)前點(diǎn)的坐標(biāo)通過旋轉(zhuǎn)平移變換矩陣映射為映射點(diǎn)坐標(biāo),
計算當(dāng)前點(diǎn)在模板圖像粗匹配點(diǎn)集內(nèi)的對應(yīng)點(diǎn)坐標(biāo)與映射點(diǎn)坐標(biāo)的偏差絕對值之和作為點(diǎn)對偏差值,
e12.如果所述點(diǎn)對偏差值小于設(shè)定的一致集閾值,將該點(diǎn)以及與該點(diǎn)對應(yīng)的模板圖像粗匹配點(diǎn)集內(nèi)的點(diǎn)作為一對點(diǎn)對加入一致集;否則,不加入一致集;
e2.對于經(jīng)過上述分步驟e1得到的一致集,如果一致集內(nèi)點(diǎn)對數(shù)量大于設(shè)定的一致點(diǎn)對數(shù)量閾值,進(jìn)行步驟f;否則進(jìn)行步驟i。
為了獲取更新的旋轉(zhuǎn)平移變換矩陣以實現(xiàn)圖像拼接,設(shè)一致集內(nèi)的屬于測試圖像粗匹配點(diǎn)集的各點(diǎn)的坐標(biāo)是(xt0,yt0)、(xt1,yt1)、……、(xtn,ytn),那么它們在模板圖像粗匹配點(diǎn)集內(nèi)對應(yīng)的各點(diǎn)的坐標(biāo)是(xr0,yr0)、(xr1,yr1)、……、(xrn,yrn),也就是一致集內(nèi)的匹配點(diǎn)對數(shù)量是n+1;
那么步驟g中更新的旋轉(zhuǎn)平移變換矩陣是
同現(xiàn)有技術(shù)相比較,本發(fā)明“基于投票決策和最小二乘法的圖像識別隨機(jī)取樣一致算法”的技術(shù)效果在于:
本發(fā)明計算出的旋轉(zhuǎn)平移變換矩陣不僅比較準(zhǔn)確,速度較快,而且很穩(wěn)定,每次計算結(jié)果不會隨機(jī)波動;本發(fā)明不僅優(yōu)化了圖像比對方法,而且有助于數(shù)據(jù)處理芯片后續(xù)的學(xué)習(xí)功能,即不斷增加模板圖像的特征信息,從而有效改善拒真率,使數(shù)據(jù)處理芯片更加智能;本發(fā)明還通過不斷更新的旋轉(zhuǎn)平移變換矩陣,更為高效、準(zhǔn)確地實現(xiàn)圖像拼接。
附圖說明
圖1是本發(fā)明“基于投票決策和最小二乘法的圖像識別隨機(jī)取樣一致算法”優(yōu)選實施例的流程示意圖。
具體實施方式
以下結(jié)合附圖所示優(yōu)選實施例作進(jìn)一步詳述。
本發(fā)明提出一種基于投票決策和最小二乘法的圖像識別隨機(jī)取樣一致算法,本發(fā)明優(yōu)選實施例以應(yīng)用于設(shè)備解鎖的指紋識別過程為例具體說明本發(fā)明方案。本發(fā)明圖像識別隨機(jī)取樣一致ransac算法基于包括存儲器、數(shù)據(jù)處理器和輸入裝置的硬件設(shè)備。如圖1所示步驟101,在存儲器內(nèi)預(yù)先錄入可解鎖硬件設(shè)備的指紋模板,從輸入裝置輸入指紋,將指紋分別用以下詳細(xì)說明的圖像識別隨機(jī)取樣一致ransac算法與指紋模板逐一比對,當(dāng)判斷指紋與指紋模板匹配時,硬件設(shè)備解鎖,否則待測試的指紋圖像無法解鎖硬件設(shè)備。所述指紋模板就是本發(fā)明所述存儲的圖像模板,錄入指紋模板的過程就是存儲模板圖像reference的圖像特征點(diǎn)的過程。用于進(jìn)行比對的指紋圖像就是以存儲的圖像模板中的一個為模板圖像reference。如圖1步驟102所示,從輸入裝置輸入的指紋以圖像形式作為測試test圖像,測試test圖像以特征點(diǎn)作為數(shù)據(jù)表達(dá)方式。通過測試test圖像數(shù)據(jù)與各模板圖像reference數(shù)據(jù)的比對甄別測試test圖像是否與模板reference圖像匹配,即通過輸入指紋與指紋模板內(nèi)的指紋圖像比對,甄別輸入指紋是否與指紋模板內(nèi)的指紋圖像匹配。測試test圖像數(shù)據(jù)分別與各模板reference圖像數(shù)據(jù)都進(jìn)行如下處理過程:
a.如圖1步驟101和102所示,在作為測試test圖像的輸入的指紋圖像內(nèi)選取特征點(diǎn)組成測試test圖像特征點(diǎn)集,在模板reference圖像內(nèi)選取特征點(diǎn)組成模板reference圖像特征點(diǎn)集。
如圖1所示步驟103,對測試test圖像的每個特征點(diǎn)在模板reference圖像特征點(diǎn)集內(nèi)找出粗匹配點(diǎn),從而分屬測試test圖像特征點(diǎn)集和模板reference圖像特征點(diǎn)集的、互相對應(yīng)的兩粗匹配點(diǎn)成為粗匹配點(diǎn)對;
本發(fā)明優(yōu)選實施例使用featuresfromacceleratedsegmenttest高速特征檢測算法,簡稱fast算法提取特征點(diǎn),找出每個特征點(diǎn)的x、y坐標(biāo)和主方向以及128位、16個字節(jié)的超短二進(jìn)制ultrashortbinary描述符,簡稱usb描述符。特征點(diǎn)及其坐標(biāo)主方向和usb描述符的求法是程序擬定好的。對于測試test圖像中的每個特征點(diǎn),在模板reference圖像特征點(diǎn)集內(nèi)尋找與之相對應(yīng)的匹配點(diǎn),即測試test圖像中的每個特征點(diǎn)分別與模板reference圖像中的所有特征點(diǎn)進(jìn)行128位usb描述符判別漢明hamming距離尋找與之匹配的點(diǎn)。根據(jù)設(shè)定好的程序篩選出最終的匹配點(diǎn)對。但是如上所述這個過程得到的匹配點(diǎn)對為粗匹配點(diǎn)對,存在一些誤匹配點(diǎn),而且往往無法預(yù)知匹配點(diǎn)對的正確性,所以有必要通過本發(fā)明提出的圖像識別隨機(jī)取樣一致ransac算法進(jìn)行精匹配去偽存真。
如圖1所示,如果粗匹配點(diǎn)對的數(shù)量大于設(shè)定的粗匹配閾值,進(jìn)行步驟b;否則進(jìn)行步驟i。
本發(fā)明優(yōu)選實施例設(shè)定粗匹配閾值為20對,如果粗匹配點(diǎn)對數(shù)量不小于20對,則認(rèn)為兩幅圖像不匹配,則不能指紋解鎖。如果匹配點(diǎn)對數(shù)量超過20對,繼續(xù)進(jìn)行后續(xù)步驟,對粗匹配點(diǎn)對進(jìn)行去偽存真。通常88×88像素的來源于同一個手指的兩幅圖像粗匹配點(diǎn)對數(shù)量可達(dá)150到500甚至更多。
b.如圖1步驟104所示,粗匹配點(diǎn)對中屬于測試test圖像特征點(diǎn)集的粗匹配點(diǎn)組成測試圖像粗匹配點(diǎn)集testset,屬于模板reference圖像特征點(diǎn)集的粗匹配點(diǎn)組成模板圖像粗匹配點(diǎn)集referenceset。
基于88×88像素的兩幅圖像,且referenceset和testset來自同一手指時,進(jìn)入后續(xù)步驟的粗匹配點(diǎn)對數(shù)量通??蛇_(dá)150到500甚至更多。各粗匹配點(diǎn)的坐標(biāo)(x,y,θ)已在提取階段得知。
c.如圖1步驟105所示,用投票決策方法在測試圖像粗匹配點(diǎn)集和模板圖像粗匹配點(diǎn)集內(nèi)分別找到得票最高的、互相對應(yīng)的最佳點(diǎn)并構(gòu)成最佳點(diǎn)對。所述點(diǎn)對是由測試圖像粗匹配點(diǎn)集內(nèi)的點(diǎn)和模板圖像粗匹配點(diǎn)集內(nèi)的點(diǎn)組成。
投票決策方法可以采用距離投票方法,向量夾角投票方法或者采用距離投票和向量夾角投票相結(jié)合的方式。對于距離投票和向量夾角投票相結(jié)合的方式,原則上對它們的先后順序不限制。本發(fā)明優(yōu)選實施例以距離投票和向量夾角投票相結(jié)合的方式,先進(jìn)行距離投票再進(jìn)行向量夾角投票為例詳細(xì)說明距離投票和向量夾角投票,而單獨(dú)采用它們中的任何一種,采用先向量夾角投票后距離投票,以及兩者之間的銜接的變通方案,通過本發(fā)明優(yōu)選實施例的詳細(xì)說明,對于本領(lǐng)域普通技術(shù)人員都應(yīng)當(dāng)是顯而易見的。
采用距離投票方法,所述步驟c包括如下分步驟:
c11.為模板圖像粗匹配點(diǎn)集的m個點(diǎn)設(shè)置序號,按順序設(shè)置m行m列的點(diǎn)對距離投票矩陣,矩陣內(nèi)非主對角線的元素是投票元素;
c12.獲取模板圖像粗匹配點(diǎn)集內(nèi)任一點(diǎn)與其它點(diǎn)的模板粗配點(diǎn)距離,以及測試圖像粗匹配點(diǎn)集內(nèi)任一點(diǎn)與其它點(diǎn)的測試粗配點(diǎn)距離,按照模板圖像粗匹配點(diǎn)集與測試圖像粗匹配點(diǎn)集各粗匹配點(diǎn)的序號對應(yīng)關(guān)系,使各個模板粗配點(diǎn)距離與測試粗配點(diǎn)距離一一對應(yīng);
c13.逐個判斷對應(yīng)的模板粗配點(diǎn)距離與測試粗配點(diǎn)距離的差值是否小于設(shè)定的粗配距離差閾值,如果是,即在所述點(diǎn)對距離投票矩陣中的以該模板粗配點(diǎn)距離對應(yīng)的兩個點(diǎn)的序號互為行號和列號的兩元素置位為投票標(biāo)志;如果不是,即在所述點(diǎn)對距離投票矩陣中的以該兩點(diǎn)序號互為行號和列號的兩元素置位為不投票標(biāo)志;
c14.選取投票標(biāo)志數(shù)量排在前兩位的兩行的序號對應(yīng)的模板圖像特征點(diǎn)集內(nèi)的點(diǎn),并與對應(yīng)測試圖像特征點(diǎn)集內(nèi)的點(diǎn)構(gòu)成兩對最佳點(diǎn)對;
所述投票標(biāo)志是1,不投票標(biāo)志是0;或者,所述投票標(biāo)志是0,不投票標(biāo)志是1。
本發(fā)明優(yōu)選實施例,找出輸入圖像識別隨機(jī)取樣一致ransac算法的模板圖像粗匹配點(diǎn)集referenceset(簡稱refset)和測試圖像粗匹配點(diǎn)集testset當(dāng)中的每個點(diǎn)對的重要性ptimportance,這個重要性通過投票決策方法求取。referenceset后文簡寫為refset。對于每一個點(diǎn)對都與其他所有點(diǎn)對分別依次進(jìn)行歐氏距離判斷,每次判斷這四個點(diǎn)的空間位置的歐氏距離是否吻合,如果refset當(dāng)中的兩個點(diǎn)歐式距離與testset當(dāng)中兩個點(diǎn)的歐氏距離的差值小于某個設(shè)定的粗配距離差閾值ransac_dist就“投票”,本發(fā)明優(yōu)選實施例中設(shè)置粗配距離差閾值ransac_dist為2。該“投票”在一個構(gòu)造出來的根據(jù)distance衡量重要性的矩陣,即后文稱為d矩陣的點(diǎn)對距離投票矩陣的對應(yīng)位置標(biāo)1,矩陣行號和列號分別是這兩個點(diǎn)對的標(biāo)號index。
例如:refset當(dāng)中的第i點(diǎn)和第j點(diǎn)的距離為distance1,testset當(dāng)中的第i點(diǎn)和第j點(diǎn)的距離為distance2,如果distance1減去distance2小于閾值2,則把d矩陣的第i行第j列以及第j行第i列元素設(shè)為1,否則設(shè)為0。遍歷各個點(diǎn)對之后得到一個d(distance)矩陣,把d矩陣第i行當(dāng)中包含1的個數(shù)用ptimportance[i]表示,即代表第i個點(diǎn)對的重要性。
在本發(fā)明優(yōu)選實施例由此得到的d矩陣的分布如下,n為輸入圖像識別隨機(jī)取樣一致ransac算法的點(diǎn)集refset和testset當(dāng)中的匹配點(diǎn)對的對數(shù),該矩陣是關(guān)于主對角線對稱的矩陣,主對角線位置的元素不取值。本發(fā)明優(yōu)選實施例,矩陣元素取值為0或者1的含義為,投票標(biāo)志是1,不投票標(biāo)志是0。
點(diǎn)對序號
d矩陣
這個矩陣的第i行當(dāng)中的1的個數(shù)越大,即ptimportance[i]數(shù)值越大,說明第i個點(diǎn)對與更多的點(diǎn)對滿足基本歐氏距離條件,即認(rèn)為第i個點(diǎn)對越重要,更有可能是正確的點(diǎn)對,即給它投贊成票的人數(shù)越多則它越重要,越有可能是正確點(diǎn)。這就是距離投票方法,即以上分步驟c11至c14的方案。ptimportance[i]數(shù)值排在前兩位的兩行的序號對應(yīng)的模板圖像的兩點(diǎn),以及與對應(yīng)測試圖像的兩點(diǎn)構(gòu)成兩對最佳點(diǎn)對。
但是實際指紋識別過程中點(diǎn)對的重要性,ptimportance數(shù)值,并沒有呈現(xiàn)出兩極分化,而且考慮到指紋圖像特征點(diǎn)的旋轉(zhuǎn)等因素,只用歐氏距離去判斷點(diǎn)對的重要性還不夠,即只用距離投票方法還不夠,需要在此基礎(chǔ)上增加一個a(angle)矩陣,根據(jù)兩個向量之間的夾角angle衡量重要性的矩陣,即增加向量夾角投票方法。
采用距離投票和角度投票相結(jié)合的方式,所述步驟c包括如下分步驟:
c21.為模板圖像粗匹配點(diǎn)集的m個點(diǎn)設(shè)置序號,按順序設(shè)置m行m列的點(diǎn)對距離投票矩陣,矩陣內(nèi)非主對角線的元素是投票元素;
c22.獲取模板圖像粗匹配點(diǎn)集內(nèi)任一點(diǎn)與其它點(diǎn)的模板粗配點(diǎn)距離,以及測試圖像粗匹配點(diǎn)集內(nèi)任一點(diǎn)與其它點(diǎn)的測試粗配點(diǎn)距離,按照模板圖像粗匹配點(diǎn)集與測試圖像粗匹配點(diǎn)集各粗匹配點(diǎn)的序號對應(yīng)關(guān)系,使各個模板粗配點(diǎn)距離與測試粗配點(diǎn)距離一一對應(yīng);
c23.逐個判斷對應(yīng)的模板粗配點(diǎn)距離與測試粗配點(diǎn)距離的差值是否小于設(shè)定的粗配距離差閾值,如果是,即在所述點(diǎn)對距離投票矩陣中的以該模板粗配點(diǎn)距離對應(yīng)的兩個點(diǎn)的序號互為行號和列號的兩元素置位為投票標(biāo)志;如果不是,即在所述點(diǎn)對距離投票矩陣中的以該兩點(diǎn)序號互為行號和列號的兩元素置位為不投票標(biāo)志;
c24.在點(diǎn)對距離投票矩陣選取投票標(biāo)志數(shù)量的排在前z位的z行的行序號所代表的模板圖像粗匹配點(diǎn)集內(nèi)的z個點(diǎn)組成模板圖像初判點(diǎn)集,該模板圖像初判點(diǎn)集在測試圖像粗匹配點(diǎn)集對應(yīng)的z個點(diǎn)組成測試圖像初判點(diǎn)集,z是不小于2的自然數(shù);
c25.獲取模板圖像初判點(diǎn)集內(nèi)任意兩點(diǎn)之間的向量,組成具有y個向量的模板向量集,y是從z個點(diǎn)中取出兩個點(diǎn)的組合數(shù),相應(yīng)地,獲取測試圖像初判點(diǎn)集內(nèi)任意兩點(diǎn)之間的向量,組成具有y個向量的測試向量集,按照模板圖像初判點(diǎn)集與測試圖像初判點(diǎn)集之間各點(diǎn)的對應(yīng)關(guān)系,使模板向量與測試向量一一對應(yīng);
c26.為模板向量集的y個向量設(shè)置序號,按順序設(shè)置構(gòu)建y行y列的向量夾角投票矩陣,矩陣內(nèi)非主對角線的元素是投票元素;
c27.計算模板向量集內(nèi)任意兩個向量之間的夾角,相應(yīng)地,計算測試向量集內(nèi)任意兩個向量之間的夾角,判斷模板向量集內(nèi)的夾角和相同序號的測試向量集內(nèi)的夾角的差值是否小于設(shè)定的向量夾角差閾值,如果是,即在所述向量夾角投票矩陣中的以該兩向量序號互為行號和列號的兩元素置位為投票標(biāo)志;如果不是,即在所述向量投票矩陣中的以該兩向量序號互為行號和列號的兩元素置位為不投票標(biāo)志;
c28.選取向量夾角投票矩陣中投票標(biāo)志最多的一行的行序號所代表的模板向量,從而找出形成該模板向量的兩點(diǎn),該兩點(diǎn)與測試圖像的對應(yīng)兩點(diǎn)構(gòu)成兩最佳點(diǎn)對;
所述投票標(biāo)志是1,不投票標(biāo)志是0;或者,所述投票標(biāo)志是0,不投票標(biāo)志是1。
所述分步驟c21至c24的過程是距離投票方法,分步驟c25至c28的過程是向量夾角投票方法。
以上已經(jīng)詳細(xì)說明用d矩陣找出ptimportance[i]較大點(diǎn)對的方法,即距離投票方法,在此方法基礎(chǔ)上,找出由d矩陣算出來的各行當(dāng)中包含投票標(biāo)志1的個數(shù)ptimportance[i]數(shù)值較大的前10個點(diǎn)對再進(jìn)一步用a矩陣判斷重要性,即分步驟c21至c28中的z=10。所述z是不小于2的自然數(shù),且不超過模板圖像粗匹配點(diǎn)集內(nèi)點(diǎn)數(shù)的十分之一。取出ptimportance[i]數(shù)值較大的前10個點(diǎn)對重新構(gòu)成兩個點(diǎn)集,模板圖像初判點(diǎn)集refset2含10個點(diǎn),測試圖像初判點(diǎn)集testset2含10個點(diǎn),把refset2當(dāng)中的10個點(diǎn)兩兩構(gòu)成一個向量,向量的方向規(guī)定為由index較小的點(diǎn)指向index較大的點(diǎn),得到45個向量,即從10當(dāng)中取出2的組合數(shù)是向量個數(shù),即分步驟c21至c28中的y=45。同理testset2也得到對應(yīng)的45個向量,與refset2當(dāng)中的一一對應(yīng)。對于每一對向量都與其他所有向量對分別依次進(jìn)行夾角判斷,每次判斷這四個向量的空間位置的角度關(guān)系是否吻合,如果refset2當(dāng)中的兩個向量的夾角與testset2當(dāng)中兩個向量的夾角的差值小于某個設(shè)定的向量夾角差閾值ransac_angle就“投票”,本發(fā)明優(yōu)選實施例,向量夾角差閾值ransac_angle設(shè)為2度。在一個構(gòu)造出來根據(jù)angle衡量重要性的向量夾角投票矩陣,即a矩陣,a矩陣的行號和列號分別是這兩對向量的順序標(biāo)號index_vector。例如:refset2當(dāng)中的第i個向量和第j個向量的夾角為angle1,testset2當(dāng)中的第i個向量和第j個向量的夾角為angle2,如果angle1減去angle2所得的差小于向量夾角差閾值2(角度值),則把a(bǔ)矩陣的第i行第j列以及第j行第i列元素設(shè)為1,否則設(shè)為0。遍歷各對向量之后得到一個a矩陣,把a(bǔ)矩陣第i行當(dāng)中包含1的個數(shù)用vectorimportance[i]表示,即代表第i對向量的重要性。
由此得到的a矩陣可能的分布如下,n=45為上述構(gòu)造出來的向量對的對數(shù),該矩陣是關(guān)于主對角線對稱的矩陣,主對角線位置的元素不取值。本發(fā)明優(yōu)選實施例,矩陣元素取值為0或者1的含義為,投票標(biāo)志是1,不投票標(biāo)志是0。
點(diǎn)對序號
a矩陣
找出vectorimportance數(shù)組當(dāng)中最大的元素vectorimportance[i]對應(yīng)的一對向量(對應(yīng)refset2當(dāng)中的兩個點(diǎn)和testset2當(dāng)中的兩個點(diǎn)),用來計算出的h矩陣就是理論上的最佳旋轉(zhuǎn)平移變換矩陣,即
顯然,投票決策方法也可以單獨(dú)采用向量夾角投票方法,以及先向量夾角投票后距離投票的方法。
投票決策方法單獨(dú)采用向量夾角投票方法,所述步驟c包括如下分步驟:
c31.獲取模板圖像粗匹配點(diǎn)集內(nèi)任意兩點(diǎn)之間的向量,組成具有x個向量的模板向量集,x是從模板圖像粗匹配點(diǎn)集的點(diǎn)數(shù)中取出兩個點(diǎn)的組合數(shù),相應(yīng)地,獲取測試圖像粗匹配點(diǎn)集內(nèi)任意兩點(diǎn)之間的向量,組成具有x個向量的測試向量集,按照模板圖像粗匹配點(diǎn)集與測試圖像粗匹配點(diǎn)集之間各點(diǎn)的對應(yīng)關(guān)系,使模板向量與測試向量對應(yīng);
c32.為模板向量集的x個向量設(shè)置序號,按順序設(shè)置構(gòu)建x行x列的向量夾角投票矩陣,矩陣內(nèi)非主對角線的元素是投票元素;
c33.計算模板向量集內(nèi)任意兩個向量之間的夾角,相應(yīng)地,計算測試向量集內(nèi)任意兩個向量之間的夾角,判斷模板向量集內(nèi)的夾角和相同序號的測試向量集內(nèi)的夾角的差值是否小于設(shè)定的向量夾角差閾值,如果是,即在所述向量夾角投票矩陣中的以該兩向量序號互為行號和列號的兩元素置位為投票標(biāo)志;如果不是,即在所述向量夾角投票矩陣中的以該兩向量序號互為行號和列號的兩元素置位為不投票標(biāo)志;
c34.選取向量夾角投票矩陣中投票標(biāo)志最多的一行的行序號所代表的模板向量,從而找出形成該模板向量的兩點(diǎn),該兩點(diǎn)與測試圖像的對應(yīng)兩點(diǎn)構(gòu)成兩最佳點(diǎn)對;
所述投票標(biāo)志是1,不投票標(biāo)志是0;或者,所述投票標(biāo)志是0,不投票標(biāo)志是1。
投票決策方法采用先向量夾角投票后距離投票方法,所述步驟c包括如下分步驟:
c41.獲取模板圖像粗匹配點(diǎn)集內(nèi)任意兩點(diǎn)之間的向量,組成具有x個向量的模板向量集,x是從模板圖像粗匹配點(diǎn)集的點(diǎn)數(shù)中取出兩個點(diǎn)的組合數(shù),相應(yīng)地,獲取測試圖像粗匹配點(diǎn)集內(nèi)任意兩點(diǎn)之間的向量,組成具有x個向量的測試向量集,按照模板圖像粗匹配點(diǎn)集與測試圖像粗匹配點(diǎn)集之間各點(diǎn)的對應(yīng)關(guān)系,使模板向量與測試向量對應(yīng);
c42.為模板向量集的x個向量設(shè)置序號,按順序設(shè)置構(gòu)建x行x列的向量夾角投票矩陣,矩陣內(nèi)非主對角線的元素是投票元素;
c43.計算模板向量集內(nèi)任意兩個向量之間的夾角,相應(yīng)地,計算測試向量集內(nèi)任意兩個向量之間的夾角,判斷模板向量集內(nèi)的夾角和相同序號的測試向量集內(nèi)的夾角的差值是否小于設(shè)定的向量夾角差閾值,如果是,即在所述向量夾角投票矩陣中的以該兩向量序號互為行號和列號的兩元素置位為投票標(biāo)志;如果不是,即在所述向量夾角投票矩陣中的以該兩向量序號互為行號和列號的兩元素置位為不投票標(biāo)志;
c44.在向量夾角投票矩陣當(dāng)中選取投票標(biāo)志數(shù)量的排在前w位的w行的行序號所代表的w個向量的端點(diǎn)為模板圖像初判點(diǎn)集,該模板圖像初判點(diǎn)集在測試圖像粗匹配點(diǎn)集對應(yīng)的w個向量的端點(diǎn)組成測試圖像初判點(diǎn)集,w是不小于2的自然數(shù);
c45.為模板圖像初判點(diǎn)集的n個點(diǎn)設(shè)置序號,因為各個向量的端點(diǎn)有可能重合,所以n小于或者等于2×w,按順序設(shè)置n行n列的點(diǎn)對距離投票矩陣,矩陣內(nèi)非主對角線的元素是投票元素;
c46.獲取包括n個點(diǎn)的模板圖像初判點(diǎn)集內(nèi)任一點(diǎn)與其它點(diǎn)的模板初判點(diǎn)距離,以及包括n個點(diǎn)的測試圖像初判點(diǎn)集內(nèi)任一點(diǎn)與其它點(diǎn)的測試初判點(diǎn)距離,按照模板圖像初判點(diǎn)集與測試圖像初判點(diǎn)集各點(diǎn)的序號對應(yīng)關(guān)系,使各個模板初判點(diǎn)距離與測試初判點(diǎn)距離一一對應(yīng);
c47.逐個判斷對應(yīng)的模板初判點(diǎn)距離與測試初判點(diǎn)距離的差值是否小于設(shè)定的初判距離差閾值,如果是,即在所述點(diǎn)對距離投票矩陣中的以該模板初判點(diǎn)距離對應(yīng)的兩個點(diǎn)的序號互為行號和列號的兩元素置位為投票標(biāo)志;如果不是,即在所述點(diǎn)對距離投票矩陣中的以該兩點(diǎn)序號互為行號和列號的兩元素置位為不投票標(biāo)志;
c48.選取投票標(biāo)志數(shù)量排在前兩位的兩行的序號的模板圖像的點(diǎn),并與對應(yīng)測試圖像的點(diǎn)構(gòu)成兩對最佳點(diǎn)對。
所述投票標(biāo)志是1,不投票標(biāo)志是0;或者,所述投票標(biāo)志是0,不投票標(biāo)志是1。
以上所述模板向量集和測試向量集內(nèi)各個向量的方向為從序號較小的點(diǎn)指向序號較大的點(diǎn)。
通過投票決策找到最佳點(diǎn)對后,就需要通過最佳點(diǎn)對獲得旋轉(zhuǎn)平移變換矩陣h,即步驟d:
d.基于最小二乘法原理用所述測試圖像點(diǎn)集和模板圖像點(diǎn)集相對應(yīng)的最佳點(diǎn)對計算旋轉(zhuǎn)平移變換矩陣。
本發(fā)明優(yōu)選實施例,用找到的最佳的兩個點(diǎn)對計算h矩陣,該兩個點(diǎn)對,即四個點(diǎn)的坐標(biāo)分別為:(xr0,yr0)、(xr1,yr1)、(xt0,yt0)和(xt1,yt1)。利用最小二乘法原理計算旋轉(zhuǎn)平移變換矩陣h,需要求h矩陣的3個未知數(shù):旋轉(zhuǎn)角度θ和平移量dx、dy,把testset當(dāng)中的兩個點(diǎn)(xt0,yt0)和(xt1,yt1)經(jīng)過h矩陣做旋轉(zhuǎn)和平移變換之后得到對應(yīng)的映射點(diǎn)
為了使經(jīng)過h矩陣旋轉(zhuǎn)平移之后的兩個映射點(diǎn)
error=(xt0·cosθ-yt0·sinθ+dx-xr0)2+(xt0·sinθ+yt0·cosθ+dy-yr0)2+(xt1·cosθ-yt1·sinθ+dx-xr1)2+(xt1·sinθ+yt1·cosθ+dy-yr1)2
由
解得
由
解得
由
把dx和dy表達(dá)式代入得,
(2xt0·cosθ-2yt0·sinθ-xt0·cosθ+yt0·sinθ+xr1-xt1·cosθ+yt1·sinθ-xr0)·(-xt0·sinθ-yt0·cosθ)++(2xt0·sinθ+2yt0·cosθ-xt0·sinθ-yt0·cosθ+yr1-xt1·sinθ-yt1·cosθ-yr0)·(xt0·cosθ-yt0·sinθ)++(2xt1·cosθ-2yt1·sinθ+xr0-xt0·cosθ+yt0·sinθ-xt1·cosθ+yt1·sinθ-xr1)·(-xt1·sinθ-yt1·cosθ)++(2xt1·sinθ+2yt1·cosθ+yr0-xt0·sinθ-yt0·cosθ-xt1·sinθ-yt1·cosθ-yr1)·(xt1·cosθ-yt1·sinθ)=0
化簡得
[sinθ·(yt1-yt0)+cosθ·(xt0-xt1)+(xr1-xr0)]·(-xt0·sinθ-yt0·cosθ)++[sinθ·(xt0-xt1)+cosθ·(yt0-yt1)+(yr1-yr0)]·(xt0·cosθ-yt0·sinθ)++[sinθ·(yt0-yt1)+cosθ·(xt1-xt0)+(xr0-xr1)]·(-xt1·sinθ-yt1·cosθ)++[sinθ·(xt1-xt0)+cosθ·(yt1-yt0)+(yr0-yr1)]·(xt1·cosθ-yt1·sinθ)=0
合并化簡以及利用sin2θ+cos2θ=1得
(xr1-xr0)·(-xt0·sinθ-yt0·cosθ)+(yr1-yr0)·(xt0·cosθ-yt0·sinθ)++(xr0-xr1)·(-xt1·sinθ-yt1·cosθ)+(yr0-yr1)·(xt1·cosθ-yt1·sinθ)=0
整理得
即
特例是①當(dāng)
獲取旋轉(zhuǎn)平移變換矩陣就能夠通過以下步驟e構(gòu)成一致集。
e.如圖1所示步驟106,借助旋轉(zhuǎn)平移變換矩陣從測試圖像粗匹配點(diǎn)集和模板圖像粗匹配點(diǎn)集篩選點(diǎn)對構(gòu)成一致集;
如果一致集內(nèi)點(diǎn)對數(shù)量不小于設(shè)定的一致點(diǎn)對數(shù)量閾值,進(jìn)行步驟f;否則進(jìn)行步驟i;
本發(fā)明優(yōu)選實施例,步驟e構(gòu)成一致集及判斷圖像匹配的具體方案是,所述步驟e包括如下分步驟,
e1.對測試圖像粗匹配點(diǎn)集內(nèi)所有點(diǎn)逐個執(zhí)行以下步驟,
e11.將當(dāng)前點(diǎn)的坐標(biāo)通過旋轉(zhuǎn)平移變換矩陣映射為映射點(diǎn)坐標(biāo),
計算當(dāng)前點(diǎn)在模板圖像粗匹配點(diǎn)集內(nèi)的對應(yīng)點(diǎn)坐標(biāo)與映射點(diǎn)坐標(biāo)的偏差絕對值之和作為點(diǎn)對偏差值,
e12.如果所述點(diǎn)對偏差值小于設(shè)定的一致集閾值,將該點(diǎn)以及與該點(diǎn)對應(yīng)的模板圖像粗匹配點(diǎn)集內(nèi)的點(diǎn)作為一對點(diǎn)對加入一致集;否則,不加入一致集;
當(dāng)測試圖像粗匹配點(diǎn)集內(nèi)所有點(diǎn)都經(jīng)過分步驟e11至e12之后,就獲得一致集以進(jìn)行分步驟e2,
e2.對于經(jīng)過上述分步驟e1得到的一致集,如果一致集內(nèi)點(diǎn)對數(shù)量大于設(shè)定的一致點(diǎn)對數(shù)量閾值,進(jìn)行步驟f;否則進(jìn)行步驟i。
本發(fā)明優(yōu)選實施例,根據(jù)已經(jīng)計算出來的旋轉(zhuǎn)平移變換矩陣h矩陣尋找一致集consensusset。對于已經(jīng)匹配上的refset和testset當(dāng)中的點(diǎn)對,即粗匹配得到的點(diǎn)對,把每個點(diǎn)對的testset上的點(diǎn)使用h矩陣映射之后的坐標(biāo)與refset上對應(yīng)的點(diǎn)的坐標(biāo)的偏差的絕對值之和,得到err=|xri-xti·cosθ+yti·sinθ-dx|+|yri-xti·sinθ-yti·cosθ-dy|。
設(shè)置一致集閾值為4,即當(dāng)?shù)趇個點(diǎn)對的err<4的時候則第i個點(diǎn)對就加入一致集當(dāng)中。
通過獲取的一致集即可判斷圖像是否匹配,對于本發(fā)明優(yōu)選實施例,就是判斷指紋是否吻合,即以下步驟f,
f.如圖1所示步驟107,判斷測試圖像與模板圖像匹配。
本發(fā)明圖像識別隨機(jī)取樣一致ransac算法的終結(jié)點(diǎn)是如下步驟j,
j.如圖1所示步驟110,算法結(jié)束。
上述圖像識別隨機(jī)取樣一致ransac算法已經(jīng)完成粗匹配點(diǎn)去偽存真,即圖像比對甄別過程。作為拓展,為了實現(xiàn)圖像拼接,增加旋轉(zhuǎn)平移變換矩陣的準(zhǔn)確度,再使用一致集當(dāng)中的所有點(diǎn)對重新更新所求出來的旋轉(zhuǎn)平移變換矩陣,即h′矩陣,使用該更新的旋轉(zhuǎn)平移變換矩陣,h′矩陣進(jìn)一步提高圖像比對精度,實現(xiàn)圖像拼接,擴(kuò)大模板圖像范圍。因而如圖1所示,在上述步驟f與步驟j之間還可以加入如下步驟,
g.如圖1所示步驟108,使用一致集內(nèi)的點(diǎn)對計算更新的旋轉(zhuǎn)平移變換矩陣。
本發(fā)明優(yōu)選實施例,使用一致集當(dāng)中的所有點(diǎn)對重新計算更新的旋轉(zhuǎn)平移變換矩陣,即h′矩陣。設(shè)一致集consensusset當(dāng)中匹配點(diǎn)對的對數(shù)為n+1,即點(diǎn)對的下標(biāo)分別從0到n。
為了使經(jīng)過h′矩陣旋轉(zhuǎn)平移之后的n+1個映射點(diǎn)
error=(xt0·cosθ-yt0·sinθ+dx-xr0)2+(xt0·sinθ+yt0·cosθ+dy-yr0)2+(xt1·cosθ-yt1·sinθ+dx-xr1)2+(xt1·sinθ+yt1·cosθ+dy-yr1)2+………+(xtn·cosθ-ytn·sinθ+dx-xrn)2+(xtn·sinθ+ytn·cosθ+dy-yrn)2,
由
解得,
即,
由
解得,
即,
由
把dx′和dy′表達(dá)式代入得,
合并化簡以及利用sin2θ+cos2θ=1得,
整理合并同類項得,
等式左右兩邊同時乘以一致集當(dāng)中的點(diǎn)對數(shù)量n+1,整理得,
將包含sin函數(shù)的多項式放在等號左側(cè),包含cos函數(shù)的多項式放在等號右側(cè),等號左側(cè)的sin函數(shù)的系數(shù)為,
等號右側(cè)cos函數(shù)的系數(shù)為,
令
sin和cos函數(shù)的系數(shù)a、a1、b、b1可以使用兩個for循環(huán)實現(xiàn),其中a1和b1在里面的for循環(huán)(對k從0到n循環(huán))之內(nèi)累加計算,a和b在外面的for循環(huán)(對i從0到n循環(huán))之內(nèi)和里面的for循環(huán)之外累加計算。
即
結(jié)合前面計算出的平移量dx′和dy′,構(gòu)造出更新的旋轉(zhuǎn)平移變換h′矩陣,
運(yùn)用更新的旋轉(zhuǎn)平移變換h′矩陣能夠?qū)崿F(xiàn)圖像拼接,即以下步驟i,
i.借助更新的旋轉(zhuǎn)平移變換矩陣,將測試圖像特征點(diǎn)集內(nèi)的點(diǎn)映射為更新的拼接特征點(diǎn),將拼接的特征點(diǎn)加入到模板圖像特征點(diǎn)集內(nèi)。
本發(fā)明優(yōu)選實施例,如圖1所示步驟109,把待測試的指紋圖像當(dāng)中的特征點(diǎn)經(jīng)過如下旋轉(zhuǎn)平移變換即可拼接到模板指紋圖像中。
對于待測試圖像中的特征點(diǎn)經(jīng)過更新的旋轉(zhuǎn)平移變換h′矩陣映射過去之后的坐標(biāo)與匹配點(diǎn)之間的偏差小于一定閾值的這些點(diǎn)對不做拼接。
當(dāng)今手機(jī)市場上需求的指紋識別芯片很多是小面積的,每次錄入模板里的指紋信息往往只占手指的一小部分,在兩幅圖像進(jìn)行匹配之后,如果匹配得分很高,即本算法當(dāng)中的一致集consensusset里面的匹配點(diǎn)對的對數(shù)n+1數(shù)值很大,則可認(rèn)為這兩幅圖像來源于同一個真實手指,使用計算出來的更新的旋轉(zhuǎn)平移變換h′矩陣可以把兩幅圖像拼接在一起成為一幅比較大的含有真實手指的更多特征點(diǎn)的指紋圖像做為模板。同時,本發(fā)明也有助于指紋識別芯片后續(xù)的學(xué)習(xí)功能,即不斷增加真實手指的指紋信息以及根據(jù)冬季夏季手指濕潤干燥的細(xì)微變化使用手指的最新狀態(tài)信息更新替換舊信息,從而有效改善拒真率,使芯片更加智能。
在android系統(tǒng)中實驗表明:五百個以內(nèi)的匹配點(diǎn)對中去偽存真精確求取h矩陣的時間小于兩毫秒,并且實驗表明,本發(fā)明圖像識別隨機(jī)取樣一致ransac算法計算出的旋轉(zhuǎn)平移變換h矩陣不僅比較準(zhǔn)確、速度較快,而且很穩(wěn)定,每次計算結(jié)果不會隨機(jī)波動。