一種碎片圖像計(jì)算機(jī)自動(dòng)拼接方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及不規(guī)則物體二維圖像碎片拼接技術(shù)。
【背景技術(shù)】
[0002] 眾多領(lǐng)域都會(huì)遇到碎片拼接問題,比如在考古研宄中,破碎的文物因碎片數(shù)量繁 多、原始形狀未知,采取人工方式恢復(fù)原貌會(huì)十分困難,甚至無法完成。因此碎片的自動(dòng)拼 接問題的研宄具有十分重要的意義。
[0003] 近二十年來,國內(nèi)外學(xué)者對碎片拼接問題進(jìn)行了一系列的研宄,并提出了一些有 效的方法。一般地,實(shí)現(xiàn)碎片自動(dòng)拼接主要分兩步:第一步,利用碎片的色彩、紋理或輪廓等 信息找出在原始物體中毗鄰的所有碎片對(又稱為匹配對);第二步,實(shí)現(xiàn)局部拼接和全局 拼接。其中,正確實(shí)現(xiàn)碎片匹配和局部拼接是順利完成全局拼接的前提。目前,針對碎片的 局部匹配主要有兩類方法:一類是基于碎片內(nèi)容的匹配算法,另一類是基于碎片輪廓的匹 配算法。其中,前一類方法雖然時(shí)間復(fù)雜度低,但很容易受碎片色彩信息影響,穩(wěn)定性較差, 準(zhǔn)確性偏低,此類算法目前通常作為預(yù)匹配使用。后一類方法利用從碎片輪廓中提取的信 息來確定匹配對象,進(jìn)而實(shí)現(xiàn)碎片拼接。如,B. Kimia等人利用最小化彈性勢能提出的碎片 匹配算法即屬于此類方法,該算法的優(yōu)勢在于能夠準(zhǔn)確找到所有匹配對。然而,該算法對于 輪廓的提取和采樣要求較高,難于在實(shí)際中應(yīng)用。又如,Wolfson等人利用子串拼湊思想提 出的碎片匹配算法計(jì)算簡單、穩(wěn)定,但是該方法因不能給出碎片匹配的準(zhǔn)確信息容易導(dǎo)致 產(chǎn)生誤匹配;Leitao等通過不斷細(xì)化取樣尺度來尋找碎片局部匹配的算法有效穩(wěn)定,但時(shí) 間復(fù)雜度太大。
【發(fā)明內(nèi)容】
[0004] 為了減少碎片匹配中的誤匹配和減少匹配耗時(shí),本發(fā)明提出了一種基于輪廓曲率 的碎片匹配新方法。該方法一方面利用碎片輪廓角點(diǎn)界定匹配曲線段查找范圍,以此減少 查找匹配輪廓的時(shí)間,大大降低算法的時(shí)間復(fù)雜度;另一方面,通過剔除曲率恒定的規(guī)則碎 片邊界減少誤匹配,提高算法的準(zhǔn)確性。
[0005] 本發(fā)明的技術(shù)方案如下:
[0006] 一種基于輪廓曲率的碎片匹配方法,主要步驟如下:首先對碎片進(jìn)行預(yù)處理操 作,獲得每個(gè)碎片的輪廓曲線的曲率串,然后利用改進(jìn)的角點(diǎn)檢測算法查找輪廓角點(diǎn)并將 閉合輪廓曲線分割成曲線邊,并剔除規(guī)則曲線邊,最后使用最長公共子序列算法(Longest Common Subsequence,LCS算法)找出碎片輪廓間最長匹配曲線段并完成拼接。
[0007] 步驟1 :碎片預(yù)處理
[0008] 包括碎片二值圖像的生成、二值圖像中孤立點(diǎn)和氣泡點(diǎn)的去除,以及碎片輪廓曲 線的提??;
[0009] I. 1首先將碎片轉(zhuǎn)換成2D的數(shù)字圖像信息,將彩色圖像轉(zhuǎn)化為灰度圖像,得到碎 片二值化圖像,米用的算法可以是OTSU閾值算法、Kittler算法、Abutaleb算法或其它算 法;
[0010] I. 2對圖像分別施加開操作和閉操作,消除碎片圖像的孤立點(diǎn)和氣泡點(diǎn);
[0011] 1. 3先使用輪廓跟蹤算法進(jìn)行碎片輪廓曲線。然后對提取的輪廓曲線進(jìn)行重新采 樣:依次提取位于第奇數(shù)個(gè)位置的像素點(diǎn),舍棄輪廓曲線上面的第偶數(shù)個(gè)位置像素點(diǎn),并繪 制成新的碎片輪廓曲線;
[0012] 步驟2 :獲得每個(gè)碎片的輪廓曲線的曲率串
[0013] 采用曲率來描述輪廓曲線的特征:
[0014] 輪廓曲線的參數(shù)方程為
【主權(quán)項(xiàng)】
1. 一種基于輪廓曲率的碎片匹配方法,首先對碎片進(jìn)行預(yù)處理操作,獲得每個(gè)碎片的 輪廓曲線的曲率串,然后利用輪廓角點(diǎn)將閉合輪廓曲線分割成曲線邊,并剔除規(guī)則碎片邊 界,最后使用最長公共子序列算法(LCS算法)找出輪廓間最長匹配曲線段并完成拼接。 步驟1 :碎片預(yù)處理 包括碎片二值圖像的生成、二值圖像中孤立點(diǎn)和氣泡點(diǎn)的去除,以及碎片輪廓曲線的 提取; I. 1首先將碎片轉(zhuǎn)換成2D的數(shù)字圖像信息,將彩色圖像轉(zhuǎn)化為灰度圖像,得到碎片二 值化圖像; 1. 2對圖像分別施加開操作和閉操作運(yùn)算,消除碎片圖像的孤立點(diǎn)和氣泡點(diǎn); 1. 3先使用輪廓跟蹤算法進(jìn)行碎片輪廓曲線,然后對提取的輪廓曲線進(jìn)行重新采樣: 依次提取位于第奇數(shù)個(gè)位置的像素點(diǎn),舍棄輪廓曲線上面的第偶數(shù)個(gè)位置的像素點(diǎn),并繪 制成新的碎片輪廓曲線; 步驟2 :獲得每個(gè)碎片的輪廓曲線的曲率串 采用曲率來描述輪廓曲線的特征: 輪廓曲線的參數(shù)方程為|x = ^,該輪廓曲線的曲率K可使用如下公式計(jì)算 Ij = v(〇
其中(xn-2,yn-2),(xn-i,y n-i),(xn,yn),(xn+i,yn+i),(x n+2,yn+2)分別為輪廓曲線上相鄰的六 個(gè)像素點(diǎn)的坐標(biāo); 把首次檢測到的邊緣輪廓點(diǎn)記為輪廓曲線的起點(diǎn),利用式(1)分別計(jì)算出每個(gè)碎片預(yù) 處理后的閉合輪廓曲線上所有像素點(diǎn)的曲率值,并將其按照順時(shí)針方向存儲(chǔ)為曲率串c = {Cl,C2,…,C1J,以便后續(xù)輪廓曲線間的匹配查找; 步驟3:劃分閉合輪廓曲線 采用改進(jìn)的Harris角點(diǎn)檢測算法: 首先,令E (u, V)為圖像窗口灰度改變的大小,計(jì)算公式為 E{u, v) = ^ w(u,v)[I{x + ιι, v + v) - /(x,.r)]2 > (2) 這里I (x, y)表示像素點(diǎn)的灰度值,w(u, v)為高斯濾波函數(shù),w(u, v) = exp(-p/2 〇 2), 其中p =UW,為了便于計(jì)算,把式(2)按泰勒公式展開并整理,可得
簡化,近似計(jì)算得
由二次型相關(guān)理論知,當(dāng)I I (u, V) I I = 1時(shí),E (u, V)取得的最大值為矩陣M的最大特 征值;令α,β分別表示矩陣M的兩個(gè)特征值,則當(dāng)α,β取得最大值時(shí),E(u,V)也可以取 得大值,由此給出像素點(diǎn)的窗口灰度變化響應(yīng)函數(shù): R = Det (M) K-Tr (M), (3) 這里 Tr (M) = α + β,Det (M) = α β ; 利用式(3)求出輪廓圖像每個(gè)像素點(diǎn)的窗口灰度變化響應(yīng)函數(shù)值構(gòu)成R值矩陣,并按 下述方法遍歷該矩陣:將小于threshold的R值置為零,然后查找R值最大的像素點(diǎn)(若有 多個(gè),則任選其一),則該點(diǎn)判斷為角點(diǎn),并設(shè)置其鄰域內(nèi)的所有像素點(diǎn)的R值為零(鄰域半 徑r設(shè)置為10);重復(fù)查找R值最大的像素點(diǎn),完成上述操作,直到所有像素點(diǎn)的R值均為 零; 步驟4:剔除規(guī)則輪廓曲線 對步驟3得到的曲線邊進(jìn)行如下遍歷操作:如果該曲線邊中曲率落入?yún)^(qū)間Θ的像素點(diǎn) 個(gè)數(shù)占像素點(diǎn)總數(shù)的比例大于閾值t,則認(rèn)為該曲線邊是直線邊,并把該直線邊從曲線邊集 合中刪除。否則認(rèn)為不是規(guī)則曲線,并保留; 步驟5 :使用LCS算法尋找碎片輪廓的匹配段 選取位于不同碎片的兩條曲線邊對應(yīng)的曲率串,將其中一個(gè)邊對應(yīng)的曲率串按相反方 向存儲(chǔ),即A= {a^av'aj和B= 〇311,1311_1,~,131},這里3 1和13」分別表示兩條曲線邊的 第i個(gè)和第j個(gè)像素點(diǎn)處的曲率(i = l,2~,m;j = 1,2,···,η); 用LCS算法計(jì)算兩條子輪廓曲線的最長公共子序列,然后對所有的最長公共子序列進(jìn) 行檢測。
2.根據(jù)權(quán)利要求1所述的基于輪廓曲率的碎片匹配方法,其特征在于:用LCS算法計(jì) 算兩條子輪廓曲線的最長公共子序列的具體算法如下: 首先創(chuàng)建二維數(shù)組Q[m,η]和P[m,n],Q用來記錄兩曲率串像素點(diǎn)間的匹配結(jié)果,P用 來記錄匹配像素點(diǎn)的方向關(guān)系,其中m、n分別為曲率串A和B的長度,并初始化二維數(shù)組Q 中所有元素都為0 ; 循環(huán)遍歷兩條曲率串,設(shè)參數(shù)i和j分別從0循環(huán)到i = = m,j = = η :如果曲率串A 中i處的曲率值和曲率串B中j處的曲率值的差的絕對值小于一個(gè)閾值ε,則設(shè)Q[i,j]= Q[i-1,j-l]+l,P[i,j] = 'ul',否則,如果 Q[i-1,j]>Q[i,j-1],做 Q[i,j] = Q[i-1,j],且 P[i,j] = 'up' ;做 Q[i, j] = Q[i, j-1],且 P[i, j] = 'left' ; 上述循環(huán)結(jié)束后,記得到了兩曲率串間匹配的所有可能,并求得匹配曲線段的長為 Q[m,n],下面通過逆向便利二維數(shù)組Q來確定匹配序列的像素點(diǎn)坐標(biāo),循環(huán)中止條件為i = =〇或者j = = 〇 :如果P[i, j] = 'ul',做i = i+1,j = j+Ι,將像素點(diǎn)i存入匹配序列內(nèi); 如果 P[i,j] = 'up',則 i = i-1,j = j,否則,i = i,j = j-1。
【專利摘要】本發(fā)明提出一種基于輪廓曲率的碎片匹配方法,首先對碎片進(jìn)行預(yù)處理操作,獲得每個(gè)碎片的輪廓曲線的曲率串,然后利用輪廓角點(diǎn)將閉合輪廓曲線分割成曲線邊,并剔除規(guī)則碎片邊界,最后使用最長公共子序列算法(LCS算法)找出輪廓間最長匹配曲線段并完成拼接。該方法一方面利用碎片輪廓角點(diǎn)界定匹配曲線段查找范圍,以此減少查找匹配輪廓的時(shí)間,大大降低算法的時(shí)間復(fù)雜度;另一方面,通過剔除曲率恒定的規(guī)則碎片邊界減少誤匹配,提高算法的準(zhǔn)確性。
【IPC分類】G06T5-50
【公開號】CN104657964
【申請?zhí)枴緾N201510102236
【發(fā)明人】胡學(xué)剛, 王統(tǒng)昕
【申請人】重慶郵電大學(xué)
【公開日】2015年5月27日
【申請日】2015年3月9日