廖敏瑜,謝睿誠(chéng),余聲宇
(汕頭大學(xué)理學(xué)院數(shù)學(xué)系,廣東 汕頭 515063)
破碎文件的拼接在司法物證復(fù)原、歷史文獻(xiàn)修復(fù)以及軍事情報(bào)獲取等領(lǐng)域都有著重要的應(yīng)用.傳統(tǒng)上,拼接復(fù)原工作過(guò)分依賴人為干涉,當(dāng)碎片數(shù)量巨大,內(nèi)容復(fù)雜時(shí),不但耗費(fèi)大量的時(shí)間及人力,還可能對(duì)紙張信息造成損害.若紙張信息隱秘,還可能人為泄密造成不可估量的危害.因此,全自動(dòng)拼接碎紙片的技術(shù)是十分必要的.
文獻(xiàn)[1]和文獻(xiàn)[2]研究了通過(guò)碎中文紙片內(nèi)的文字行特征和表格特征來(lái)進(jìn)行拼接,這種方法提高了拼接效率和降低了拼接難度,但是仍需要較多的人工干預(yù)進(jìn)行拼接.文獻(xiàn)[3]研究的算法正確率高,但是僅適用于中文碎紙片的拼接不適用于英文碎紙片的拼接.文獻(xiàn)[4]是研究英文碎紙片的拼接,但是其摻雜了較多人工干預(yù),而且各操作之間的連帶作用強(qiáng),即前面操作錯(cuò)誤就會(huì)導(dǎo)致后面的錯(cuò)誤.文獻(xiàn)[5]通過(guò)聚類(lèi)將碎紙片進(jìn)行行分類(lèi),能夠不受人工干預(yù)就實(shí)現(xiàn)碎紙片的拼接,這種方法能夠?qū)⒆帜感形恢孟嗖蠲黠@的碎紙片進(jìn)行聚類(lèi),但是卻不能將字母行位置相差較小乃至無(wú)差距的碎紙片進(jìn)行聚類(lèi),因此不能普遍解決碎紙片拼接問(wèn)題.文獻(xiàn)[6]研究雙面英文碎紙片的拼接,提出一種運(yùn)用聚類(lèi)分析、MATLAB搜索算法和人工干預(yù)等相結(jié)合的方法,但其加入太多的人為干預(yù).
為了得到無(wú)人工干預(yù)且適用性廣的碎紙片拼接方案,本文提出一種基于改進(jìn)的遺傳算法(GA)及光學(xué)字符識(shí)別技術(shù)(OCR)的自動(dòng)化拼接算法.針對(duì)英文文檔,通過(guò)研究碎紙片英文字母所在行的幾何特征信息及消除同行字母高度不同的干擾,對(duì)碎紙片進(jìn)行分類(lèi);該分類(lèi)是通過(guò)英文字母所在標(biāo)準(zhǔn)四格線的中部下基線的位置來(lái)構(gòu)建的.將分類(lèi)后的碎紙片間的拼接問(wèn)題轉(zhuǎn)化為旅行商問(wèn)題,采用改進(jìn)的GA算法和OCR技術(shù)處理問(wèn)題.通過(guò)字母中部下基線的位置及以貪婪算法為輔,處理組行成頁(yè)的問(wèn)題.最后,本文還將對(duì)英文碎紙片拼接的方案推廣,結(jié)合中文文字的特點(diǎn),將算法改裝為能夠處理中文碎紙片拼接問(wèn)題.
本文采用2013年全國(guó)大學(xué)生數(shù)學(xué)建模競(jìng)賽B題[8]209個(gè)英文碎紙片和209個(gè)中文碎紙片圖像(分別由一個(gè)A4大小的英文文檔碎紙片經(jīng)橫縱切成11×19,大小都為row×col的規(guī)則碎紙片)作為仿真數(shù)據(jù).
通過(guò)觀察,英文字母與中文漢字具有不同的結(jié)構(gòu)特征.在中文文檔中,同行文字的高度基本一致,而英文文檔中,同行英文字母高度一般不統(tǒng)一.將印刷字母放置于四線格上,可將其分為四線格的上、中、下3部(記為上部,中部,下部)由印刷字母的特點(diǎn)及英文文章中各字母出現(xiàn)的頻率統(tǒng)計(jì)結(jié)果可知,所有大寫(xiě)字母都占上中部,有9個(gè)小寫(xiě)字母(b,d,f,h,i,j,k,l,t)是有占上部,占比約為 28.95%,有 5 個(gè)小寫(xiě)字母(g,j,p,q,y)是有占下部,占比約為6.17%,所有的小寫(xiě)字母都有占中部.由上面的分析可知,英文字母中部能有效提供行分類(lèi)的信息,而上下部則會(huì)對(duì)行分類(lèi)產(chǎn)生干擾,且下部對(duì)行分類(lèi)的干擾較少.為此,記英文字母中部和下部之間的分界線為下基線,如圖1所示.
圖1 英文基線位置
如果碎紙片處于同一行中,則它們的部分下基線的位置基本相同.本文將最小下基線位置基本相同的碎紙片歸為一類(lèi),得到的類(lèi)別有兩種情形:
(1)單行混合:當(dāng)一行碎紙片的最小下基線與其他行的區(qū)別較大時(shí),可將這一行碎紙片可歸為一類(lèi),得到單行混合的情況.
(2)多行混合:當(dāng)一行碎紙片的最小下基線與其他部分行的區(qū)別較小乃至沒(méi)有區(qū)別時(shí),可將其歸為一類(lèi),得到多行混合的情況.
分類(lèi)后,每一類(lèi)碎紙片中行首和行尾碎紙片個(gè)數(shù)與其組合行數(shù)一樣.由于文檔存在頁(yè)邊距,如圖2所示,所以本文通過(guò)處于行首碎紙片的左端和處于行尾碎紙片的右端存在較多空白,分別確定處于行首和行尾的碎紙片.
圖2 邊界位置
由于各碎紙片的縱向長(zhǎng)度較小,如果依次匹配邊界不匹配距離最小的碎紙片,會(huì)造成很大的偏差.根據(jù)文獻(xiàn)[3],本文類(lèi)比旅行商問(wèn)題設(shè)計(jì)問(wèn)題:將各個(gè)碎紙片作為訪問(wèn)點(diǎn),定義碎紙片之間的距離,從行首碎紙片出發(fā),經(jīng)過(guò)其它碎紙片各一次,最后回到行尾碎紙片.將行內(nèi)碎紙片的最佳排列問(wèn)題轉(zhuǎn)化為相應(yīng)的旅行商問(wèn)題的最優(yōu)解.
針對(duì)1.1的情形(1)中碎紙片的拼接:由于訪問(wèn)點(diǎn)個(gè)數(shù)較少,將行首碎紙片和行尾碎紙片分別固定在第一個(gè)位置和最后一個(gè)位置,將尋找全局最小的不匹配問(wèn)題轉(zhuǎn)化為旅行商問(wèn)題,運(yùn)用改進(jìn)的遺傳算法進(jìn)行求解.
針對(duì)1.1的情形(2)中碎紙片的拼接:由于訪問(wèn)點(diǎn)個(gè)數(shù)是情形(1)的碎紙片個(gè)數(shù)的至少兩倍,如果直接采用遺傳算法進(jìn)行求解會(huì)造成很大的偏差.為了減少計(jì)算復(fù)雜度并得到最優(yōu)解,本文將旅行商問(wèn)題進(jìn)行推廣,不僅采用遺傳算法先求初步求解,還設(shè)計(jì)了一種光學(xué)字符識(shí)別(OCR)技術(shù)檢驗(yàn)初步解的拼接情況.以兩行混合成類(lèi)的碎紙片拼接為例,這兩行碎紙片分別含有兩個(gè)行首碎紙片(記為行首1,行首2)和兩個(gè)行尾碎紙片(記為行尾1,行尾2).在第1,19,20,38位置依次固定行首1,行尾1,行首2及行尾2碎紙片(或行首1,行尾2,行首2及行尾1碎紙片),共有2種組合.我們對(duì)這兩種組合用改進(jìn)的遺傳算法迭代一定的次數(shù),然后挑選出迭代后距離較短的一種情況保留下來(lái),作為初始拼接情況.采用OCR技術(shù)篩選初始拼接的狀況,再次用遺傳算法對(duì)拼接錯(cuò)誤處進(jìn)行求解.
當(dāng)文檔完成所有行內(nèi)拼接后,每行碎紙片看成一個(gè)新的碎紙條,先通過(guò)上端和下端較多的空白來(lái)確定行首碎紙條和行尾碎紙條.根據(jù)上下兩個(gè)碎紙條的下基線間的高度基本為間距行高和四線格高度之和的整數(shù)倍這一準(zhǔn)則,得到碎紙條的排列,完成碎紙片的拼接.
將碎紙片圖像轉(zhuǎn)化為灰度值矩陣A(k),k=1,2,…,209,由于文字的邊緣輪廓是灰色的,避免這部分元素對(duì)確定行距高度等產(chǎn)生干擾,運(yùn)用公式(1)對(duì)A(k)的元素進(jìn)行二值化處理得到,那么由構(gòu)成的矩陣B(k)的元素僅為0和1,即碎紙片圖像僅含黑白二色.
先尋找碎紙片的下基線,從而實(shí)現(xiàn)文檔分類(lèi),具體步驟如下:Step1:設(shè)一個(gè)維度為row的列向量α(k)的第i個(gè)元素值是大小為row×col的二值矩陣B(k)第i行中經(jīng)過(guò)的墨跡數(shù),其計(jì)算如公式(2)所示
其中
Step2:設(shè)一個(gè)維度為row的列向量β(k)的第i個(gè)元素為C(k)的第i個(gè)元素的等級(jí)劃分,如圖3所示,其計(jì)算如公式(3)所示
圖3 像素等級(jí)劃分
Step3:記四格線的上、中、下部和間距的像素點(diǎn)高度分別為highup,highmid,highlow和highgap.利用游程思想,計(jì)算出β(k),k=1,2,…,209的局部分量全為 0,全為 1,全為 2的長(zhǎng)度,再取各長(zhǎng)度的眾數(shù)分別作為highgap,highup(highlow)和highmid的值.四格線高度及間距高度之和記為hightotal,其計(jì)算如公式(4)所示
Step4:從上往下搜索β(k)向量,直到其局部向量元素全為2且長(zhǎng)度至少為highmid判斷出其表示中部,取其下界作為下基線的位置base(k).針對(duì)少部分β(k)向量沒(méi)有局部向量元素全為2且長(zhǎng)度至少為highmid的情況,同樣從上往下搜索β(k)向量,直到其局部分量全為1且長(zhǎng)度至少為highmid,若其長(zhǎng)度近似為highmid,取其下界作為下基線的位置base(k);若其長(zhǎng)度近似為highmid+highup且其上部分比下部分的值小,取其下界作為下基線的位置base(k);若其長(zhǎng)度近似為highmid+highup且其下部分比上部分的值小,取其highmid對(duì)應(yīng)的位置作為下基線的位置base(k);記最小下基線的位置為base(k)min,其計(jì)算如公式(5)所示
Step5:利用同行碎紙片下基線基本相同的原理及每一行固定的碎紙片數(shù)目的整數(shù)倍進(jìn)行分類(lèi).例如,下基線位置為19的碎紙片個(gè)數(shù)為18,而位置為20的碎紙片個(gè)數(shù)為1,則它們處于同一類(lèi);下基線位置為40的碎紙片個(gè)數(shù)為17,位置為41的碎紙片個(gè)數(shù)為19,位置為42的碎紙片個(gè)數(shù)為2,則它們處于同一類(lèi).
根據(jù)頁(yè)邊距尋找出行首和行尾碎紙片,具體步驟如下:
Step1:設(shè)一個(gè)維度為col的行向量γ(k)的第j個(gè)元素為大小為row×col的二值矩陣B(k)第j列有無(wú)墨跡的情況,其計(jì)算如公式(6)所示
Step2:先確定每一類(lèi)中碎紙片的行數(shù)n,然后挑選出E(k)左端向量0元素最多的n個(gè)碎紙片作為行首碎紙片,挑選出E(k)右端向量0元素最多的n個(gè)碎紙片最為行尾碎紙片.
記第i個(gè)碎紙片和第j個(gè)碎紙片之間的有向不匹配距離為Dmisij,其計(jì)算如式(8)所示:
遺傳算法是一種求解最短路的算法,為了使之能夠處理碎紙片拼接轉(zhuǎn)化為的旅行商問(wèn)題,基于文獻(xiàn)[8],本文對(duì)傳統(tǒng)的遺傳算法的交叉,變異,內(nèi)部交換中做了改進(jìn),改進(jìn)的如下:
1)交叉操作
采用部分映射雜交,確定交叉操作的父代,將父代樣本兩兩分組,每組重復(fù)以下過(guò)程(方便起見(jiàn)假定單行碎片數(shù)為10):
a.產(chǎn)生兩個(gè)隨機(jī)整數(shù)r1,r2∈[2,9]確定兩個(gè)位置,對(duì)兩個(gè)位置間中間元素進(jìn)行交叉,如 r1=4,r2=7:
交叉為:
b.交叉后同一條染色體中有重復(fù)碎片編號(hào)的,不重復(fù)的編號(hào)進(jìn)行保留,有沖突的數(shù)字(&位置)采用部分映射來(lái)消除沖突,即利用中間段的對(duì)應(yīng)關(guān)系進(jìn)行映射,結(jié)果為:
2)變異操作
變異操作采取隨機(jī)選取r1,r2∈[2,9]中的兩個(gè)位置,將其中的元素對(duì)換.如隨機(jī)選取位點(diǎn) r1=4,r2=7:
變異后為:
3)內(nèi)部交換操作
隨機(jī)選取 r1,r2,r3∈[2,9],3個(gè)位點(diǎn),將r1與 r2之間的元素和 r2與 r3之間的元素對(duì)換,例如隨機(jī)選取 r1=2,r2=5,r3=8:
內(nèi)部交換后的結(jié)果為:
光學(xué)字符識(shí)別是一種能夠識(shí)別出圖像文本內(nèi)容的技術(shù).為了減少計(jì)算復(fù)雜度并得到最優(yōu)解,本文自制OCR技術(shù)檢驗(yàn)拼接口處字母是否完整正確,從而判斷碎紙片是否拼接正確.實(shí)現(xiàn)OCR技術(shù)的步驟如下:
1)制作字典
首先對(duì)文字進(jìn)行自動(dòng)化切割.切割時(shí)采用先橫切,后縱切,再橫切去除空白的流程進(jìn)行操作,使得每個(gè)字母都處于最小的矩形中,一個(gè)切割的例子如圖4所示.切割獲取現(xiàn)有的完整字母,提取不同字母制成字典.為了減少計(jì)算復(fù)雜度并得到最優(yōu)解,引入光學(xué)字符識(shí)別(OCR)技術(shù)來(lái)對(duì)連接處的正確狀況進(jìn)行判斷.
圖4 文字切割流程
2)建立模型
由于切割后即便相同的字母也并不完全相同,所以考慮字母圖像像素點(diǎn)的凈相似率f1和形狀相似度f(wàn)2,其計(jì)算分別如公式(9),(10)所示:
其中d為切割后字母的像素點(diǎn)寬度,h為像素點(diǎn)高度,p為墨跡像素點(diǎn)總個(gè)數(shù).假設(shè)拼接處有三行文字,設(shè)iscorrect表示是否通過(guò)OCR檢驗(yàn)的檢驗(yàn)量,則評(píng)價(jià)規(guī)則為:
當(dāng)iscorrect>0時(shí),通過(guò)檢驗(yàn),則判斷拼接處正確;
當(dāng)iscorrect=0時(shí),不通過(guò)檢驗(yàn),則判斷拼接處錯(cuò)誤.
針對(duì)一行碎紙片混合的拼接問(wèn)題,本文將其轉(zhuǎn)化為旅行商問(wèn)題,然后采用遺傳算法求解.在改進(jìn)的遺傳算法中,固定第一個(gè)位置為行首碎紙片,最后一個(gè)為行尾碎紙片.由于不匹配距離收斂速率比余弦距離收斂速率大,因此采用不匹配距離作為遺傳算法中的距離,迭代300次,尋找余下碎紙片的全局最優(yōu)排列.
針對(duì)多行碎紙片混合的拼接問(wèn)題,本文將其轉(zhuǎn)化為廣義上的旅行商問(wèn)題,不但固定第一個(gè)(行首)和最后一個(gè)紙片(行尾),還在中間固定余下的行首和行尾.然后采用改進(jìn)的遺傳算法先求初始解,再用OCR技術(shù)檢驗(yàn)拼接處,將不通過(guò)的拼接處再次切開(kāi),再以余弦距離為遺傳算法中的距離進(jìn)行迭代得到最終的結(jié)果.
在本例中針對(duì)兩行混合的碎紙片,需要拼接的紙片一行有38個(gè)碎片,因此我們固定的為第1,19,20,38號(hào)位置.在兩行混合的紙片中,行首和行尾共有2種組合,本文分別使用兩種組合進(jìn)行拼接,分別迭代5000次后,最后選取距離最小的組合保留下來(lái)作為初步解.本文再采用OCR技術(shù)檢驗(yàn)出初步解的情況,把認(rèn)為錯(cuò)誤處再切割開(kāi)并將認(rèn)為正確的連接合并成塊,例如圖5所示.再采用遺傳算法,以余弦距離作為距離迭代50次,得到最終解.
圖5 OCR結(jié)果
當(dāng)文檔完成所有行內(nèi)拼接后,每行可看成一個(gè)新的碎紙條,通過(guò)上端和下端較多的空白來(lái)確定行首碎紙條和行尾碎紙條.
下面是排列除行首碎紙條和行尾碎紙條剩余的碎紙條的算法:
1)設(shè)第i個(gè)碎紙條的最小下基線的位置為baseline(i)min第j個(gè)碎紙條的最小下基線的位置為baseline(j)min,第j個(gè)碎紙片要與第i個(gè)碎紙片之間字母行數(shù)n的數(shù)學(xué)表達(dá)式如下:
圖6 基線距離
其中round表示四舍五入運(yùn)算法.
2)第j個(gè)碎紙片要與第i個(gè)碎紙片匹配時(shí),baselinej應(yīng)該滿足:
取值最小.其中row是碎紙條對(duì)應(yīng)二值矩陣的行數(shù).
3)如果滿足與第i個(gè)碎紙片匹配的碎紙條j有多個(gè)時(shí),定義gi,j為第i個(gè)碎紙條下邊界和第j個(gè)碎紙條上邊界的不匹配距離,即:
其中n為每一行碎紙片含有碎紙片的個(gè)數(shù).
選取與第i個(gè)碎紙片不匹配距離最小的第j個(gè)碎紙片.
最后從拼接結(jié)果看,英文文檔碎紙片在行分類(lèi)時(shí)由于處于不同行的碎紙片下基線相近,所以有部分分類(lèi)中含有兩行碎紙片混搭的.針對(duì)這類(lèi)問(wèn)題,本文不僅將原來(lái)改進(jìn)的遺傳算法進(jìn)行拓展,還設(shè)計(jì)了適用于檢測(cè)邊緣字母是否正常的OCR技術(shù),來(lái)挑選拼接錯(cuò)誤的碎紙片.由于本文設(shè)計(jì)的OCR較為嚴(yán)格,會(huì)將少量拼接正確的碎紙片誤認(rèn)為錯(cuò)誤的,但是其能夠?qū)⑺衅唇渝e(cuò)誤的碎紙片尋找出來(lái),因此不會(huì)影響拼接結(jié)果.在組行成頁(yè)步驟中,由于較多是橫切到行距的,所以采用貪婪算法及遺傳算法都得不到好結(jié)果,所以采用基于基線的算法是行之有效的.從試驗(yàn)結(jié)果看,本文設(shè)計(jì)來(lái)解決英文碎紙片拼接的算法是有效的.
中文文字的高度基本一致,文字中間水平的線的差異較小.本文定義中心線為文字中間水平的線,如圖5所示.根據(jù)同行文字的中心線基本一致,建立基于最小中心線確定碎紙片行分類(lèi)的算法.再用改進(jìn)的遺傳算法,采用有向余弦距離,求解有中文碎紙片作為訪問(wèn)點(diǎn)的旅行商問(wèn)題.在組行成頁(yè)中,為了減少誤差,利用中文文字的高度基本一致這一準(zhǔn)則,把碎紙片拼接分成兩種類(lèi)型:
(1)針對(duì)橫切到文字的碎紙條,根據(jù)上邊碎紙條被切字體余下高度和下邊碎紙條被切字體余下高度之和基本等于字體高度的準(zhǔn)則,如圖8所示,設(shè)第i個(gè)碎紙條最下部分黑色像素高為,第j個(gè)碎紙條最上邊黑色像素高為,第i個(gè)碎紙條要與第j個(gè)碎紙條匹配時(shí),需要滿足以下式子:
取值最小,其中l(wèi)ethigh表示文字像素高.
(2)針對(duì)橫切到空白間隔的碎紙條,根據(jù)上邊碎紙條被切空白間隔剩余的高度和下邊碎紙條被切空白間隔剩余的高度之和基本等于字體高度的準(zhǔn)則,如圖9所示,設(shè)第i個(gè)碎紙條最下部分黑色像素高為last(i)white,第j個(gè)碎紙條最上邊白色像素高為first(j)white,第j個(gè)碎紙條要與第i個(gè)碎紙條匹配時(shí),first(j)white需要滿足式子(16):
取值最小,其中spahigh表示行距像素高.
圖7 中心線
圖8 文字高度
圖9 間距特征
由于中文文檔各行碎紙片的中心線不同,所以能夠?qū)崿F(xiàn)行分類(lèi),即每一類(lèi)中含每一行混合的碎紙片.本文在遺傳算法中分別采用余弦距離和不匹配距離作為距離求解旅行商問(wèn)題.對(duì)比發(fā)現(xiàn),以不匹配距離為距離求解出來(lái)的最優(yōu)解不一定是最佳解,即求解出來(lái)的最短距離經(jīng)過(guò)的點(diǎn)的順序?qū)?yīng)的碎紙片序號(hào)拼接是不正確的;余弦距離作為距離求解出來(lái)的最優(yōu)解是最佳解.在最后為了減少中心線間隔較遠(yuǎn)帶來(lái)的誤差,本文利用字高和間距基本不變的原理實(shí)現(xiàn)組行成頁(yè).試驗(yàn)結(jié)果表明,本文設(shè)計(jì)的算法針對(duì)中文文檔碎紙片拼接也是有效的.
本文消除了英文碎紙片中字母高度不同的干擾,找出了碎紙片的最小下基線,合理地利用最小下基線對(duì)碎紙片進(jìn)行分類(lèi);將分類(lèi)結(jié)果的拼接問(wèn)題轉(zhuǎn)化為旅行商問(wèn)題,采用改進(jìn)的遺傳算法和自制的OCR技術(shù)對(duì)其進(jìn)行求解;最后再次利用下基線,且以貪婪算法為輔,對(duì)碎紙條進(jìn)行拼接.在文章最后進(jìn)行仿真分析,采用本文提出的算法對(duì)209張英文碎紙片進(jìn)行全自動(dòng)拼接,無(wú)需人為干預(yù).再結(jié)合中文文字的特點(diǎn),對(duì)適用于英文碎紙片拼接的算法進(jìn)行修改:在分類(lèi)中采用中心線,而行內(nèi)拼接中由于中文邊界信息量較大所以無(wú)需OCR技術(shù),在組行成頁(yè)中利用字高及間距進(jìn)行拼接得到適用于中文碎紙片拼接的算法,同樣可對(duì)209張中文碎紙片進(jìn)行全自動(dòng)拼接,無(wú)需人為干預(yù).本文設(shè)計(jì)的算法僅對(duì)規(guī)則碎紙片的拼接有效,對(duì)于一些不規(guī)則的碎紙片,本文還是需要對(duì)算法進(jìn)行修改,這是進(jìn)一步研究的問(wèn)題.
致謝:感謝李健老師的悉心指導(dǎo).
[1]羅智中.基于文字特征的文檔碎紙片半自動(dòng)拼接[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(5):207-210.
[2]劉鐵.基于數(shù)字圖像的碎紙復(fù)原模型與算法——2013年全國(guó)大學(xué)生數(shù)學(xué)建模B題碎紙片的拼接復(fù)原問(wèn)題[J].重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,27(3):83-88.
[3]馬俊明,賴楚廷,卜尚明,等.基于文字特征的規(guī)則碎紙片自動(dòng)拼接[J].汕頭大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,29(2):4-10.
[4]金明婭,孫丹蕾,趙艷,等.單面英文碎紙片的拼接復(fù)原及算法實(shí)現(xiàn)[J].延安大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,34(1):14-18.
[5]周一凡,王松靜,黃永斌.英文字母特征的雙面碎紙拼接[J].中國(guó)圖象圖形學(xué)報(bào),2015,20(1):85-94.
[6]張亮.基于聚類(lèi)優(yōu)化模型的碎紙自動(dòng)拼接方法研究[J].計(jì)算機(jī)應(yīng)用與軟件,2015,32(12):218-221.
[7]2013年全國(guó)大學(xué)生數(shù)學(xué)建模競(jìng)賽B題附件3和附件4的數(shù)據(jù)[EB/OL].(2013-09-13)[2017-02-25].http://www.mcm.edu.cn/problem/2013/2013.html.
[8]郁磊,史峰,王輝,等.MATLAB智能算法30個(gè)案例分析[M].北京:北京航空航天大學(xué)出版社,2011.