本發(fā)明涉及深度學(xué)習(xí)目標(biāo)檢測,尤其涉及一種基于unet算法的面向文本線段檢測方法。
背景技術(shù):
1、隨著文本處理技術(shù)的不斷發(fā)展和深化,文本線段檢測在文檔數(shù)字化、圖文信息提取、印刷排版檢查等領(lǐng)域發(fā)揮著關(guān)鍵的作用。專業(yè)的文檔掃描儀或高分辨率圖像采集設(shè)備能夠獲取大量的文本圖像數(shù)據(jù),這些豐富的數(shù)據(jù)不僅可以用于文字識別,還能夠輔助進行復(fù)雜的文檔結(jié)構(gòu)分析任務(wù),這使得文本線段檢測在文檔處理流程中的必要性愈發(fā)突出。
2、目前,基于計算機視覺技術(shù)的文本線段檢測方法在效率上已經(jīng)顯著優(yōu)于傳統(tǒng)的手動標(biāo)注方法,根據(jù)檢測原理的不同,這些方法可以分為基于邊緣檢測的文本線段檢測和基于深度學(xué)習(xí)的文本線段檢測。盡管基于邊緣檢測的文本線段檢測在準(zhǔn)確性上稍低于基于深度學(xué)習(xí)的文本線段檢測,但其計算復(fù)雜度更低,這一特性使得它更容易被整合到一些對資源要求較低的文檔處理軟件中,適用于大規(guī)模文檔圖像的初步線段檢測。但文本圖像中的線段具有形態(tài)多樣、長度不一、與文字和其他圖形元素相互交織(文本線段格式多樣、有文字中間的劃線、文字下方的下劃線、斜線以及表格線,長短不一、并且容易和文字或文本中其他內(nèi)容粘連導(dǎo)致檢測不精確)并且受圖像噪聲干擾較大等特點,導(dǎo)致檢測精度難以進一步提升。同時,文檔處理往往需要在短時間內(nèi)精確地提取線段信息,因此對檢測精度提出了較高的要求。
3、綜上所述,文本線段檢測仍存在檢測精度低、易出現(xiàn)漏檢、錯檢的問題,難以同時實現(xiàn)高精度的線段檢測。因此,本發(fā)明提出一種基于unet算法的面向文本線段檢測方法,以提升模型的檢測性能。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的是克服上述背景中的不足,提供一種基于unet算法的面向文本線段檢測方法。該方法通過采集到的帶線段文本進行標(biāo)注,并對線段進行擴充,根據(jù)擴充后的線段位置信息生成二值化圖結(jié)合原圖作為訓(xùn)練數(shù)據(jù),利用unet算法進行檢測。此外,本發(fā)明中引入transformer結(jié)構(gòu)于unet的encoder中,將unet的skip?connection替換為res?path,使得損失更加敏感于對象的尺寸和位置,提高文本線段檢測性能。
2、本發(fā)明解決所述技術(shù)問題所采用的技術(shù)方案如下:
3、第一方面,本發(fā)明提供一種基于unet算法的面向文本線段檢測方法,所述檢測方法的過程是:
4、s1、獲取帶線段文本圖像數(shù)據(jù);
5、s2、對采集的圖像進行尺寸歸一化處理,利用標(biāo)注工具labelme對圖像進行人工標(biāo)注,獲取線段位置,再根據(jù)線段位置信息確定線段的長度方向,以長度為中軸線沿垂直于線段的長度方向擴充為寬度為兩個像素點的矩形,獲取矩形四點的坐標(biāo),再對圖像進行二值化處理,生成二值化標(biāo)簽圖像,得到目標(biāo)檢測數(shù)據(jù)集;目標(biāo)檢測數(shù)據(jù)集中的每個數(shù)據(jù)樣本由一張原始圖像和對應(yīng)的二值化標(biāo)簽圖像組成;二值化標(biāo)簽圖像中標(biāo)注原始圖像中所有線段所在位置;
6、s3、基于unet算法構(gòu)建線段檢測網(wǎng)絡(luò)模型,以目標(biāo)檢測數(shù)據(jù)集訓(xùn)練線段檢測網(wǎng)絡(luò)模型,以訓(xùn)練好的線段檢測網(wǎng)絡(luò)模型對文本圖像中線段進行預(yù)測,輸出模型預(yù)測圖;
7、s4、對模型預(yù)測圖進行后處理,提取文本圖像中橫向線段、縱向線段、斜向線段的位置,實現(xiàn)在文本圖像中線段的檢測。
8、進一步地,尺寸歸一化處理后圖像分辨率為1024×1024。
9、進一步地,所述步驟s4的具體過程是:
10、所述模型預(yù)測圖中背景的像素值為0,目標(biāo)區(qū)域的像素值為1;
11、s41利用連通域檢測,對像素值為1的區(qū)域進行標(biāo)記,標(biāo)記像素值為1的點圍成的區(qū)域為目標(biāo)連通域,消除像素點小于32個的連通域;
12、s42利用縱向腐蝕核(2,20)對步驟s41處理后的圖像進行腐蝕操作,濾除圖像中的橫線連通域,獲取豎線連通域,并且對小于15個像素點的連通域進行濾除,消除干擾縱線,獲得真實的縱線;利用膨脹復(fù)原被縱向腐蝕核腐蝕過的縱線,再對豎線連通域進行閉運算,優(yōu)化斷續(xù)線段,所述閉運算的具體過程:利用(2,7)的膨脹核對圖像進行膨脹操作,再利用(2,5)的腐蝕核對圖像進行腐蝕操作,連接斷續(xù)線條,獲得縱向線段圖;
13、將采集到的縱向線段圖利用最小矩形框,采集可包圍各個縱向線段圖的最小矩形,獲取矩形框的中心點以及高度寬度,并轉(zhuǎn)換為線段坐標(biāo),進而獲得縱向線段坐標(biāo);
14、s43利用橫向腐蝕核(20,2)對步驟s41處理后的圖像進行腐蝕操作,濾除圖像中的縱線連通域,獲取橫線連通域,對小于15個像素點的橫線連通域進行濾除,消除干擾橫線,獲得真實的橫線;
15、利用膨脹復(fù)原被橫向腐蝕核腐蝕過的橫線,再對橫線連通域進行閉運算,優(yōu)化斷續(xù)線段,所述閉運算的具體過程:利用(7,2)的膨脹核對圖像進行膨脹操作,再利用(5,2)的腐蝕核對圖像進行腐蝕操作,連接斷續(xù)線條,獲得橫向線段圖;
16、將采集到的橫向線段圖利用最小矩形框,采集可包圍各個橫向線段圖的最小矩形,獲取矩形框的中心點以及高度寬度,并轉(zhuǎn)換為線段坐標(biāo),進而獲得橫向線段坐標(biāo);
17、s44將步驟s42中獲得的真實的縱線的圖像與步驟s43中獲得的真實的橫線的圖像進行相加獲取橫豎線合并圖;再利用s41處理后的圖像所述對橫豎線合并圖采取相減操作,獲取斜向線段圖;
18、s45對步驟s44獲得的斜向線段圖過濾掉像素點數(shù)量小于25個的連通域,再利用霍夫變換檢測,提取圖像中可能存在的線段,霍夫檢測的線段能把斷續(xù)的斜線輪廓連接成整體,有利于整體輪廓檢測,但由于霍夫變換檢測可能會在相同位置生成多個線條,故將霍夫變換檢測后的線段復(fù)原至霍夫變換檢測前的圖像中;
19、再利用連通域提取,對圖像中的斜線目標(biāo)進行標(biāo)記提取,并利用最小矩形框包圍各個連通域,獲取每個連通域周圍的最小矩形框,利用矩形框的中心點以及高度、寬度和角度,獲取斜向線段坐標(biāo);
20、s46將步驟s42獲得的縱向線段坐標(biāo)、步驟s43獲得的橫向線段坐標(biāo)和步驟s45中獲得的斜向線段坐標(biāo)合在一起,并恢復(fù)至原始圖像中,實現(xiàn)在帶線段文本圖像中線段的檢測。
21、進一步地,所述線段檢測網(wǎng)絡(luò)模型為tr-unet網(wǎng)絡(luò),所述tr-unet網(wǎng)絡(luò)包括cnn和transformer結(jié)構(gòu)組成的編碼器、以及解碼器;所述cnn包括依次連接的多層卷積和線性層,多層卷積輸出的隱藏特征hidden?feature經(jīng)過線性層輸入transformer結(jié)構(gòu)中,所述transformer結(jié)構(gòu)包括堆疊的若干層transformer層,transformer結(jié)構(gòu)的輸出通過重塑操作reshape、3*3卷積和relu函數(shù)、上采樣upsample處理后獲得第一特征f1;
22、cnn每層卷積輸出的特征經(jīng)過至少一個殘差塊組成的殘差路徑res?path處理后與解碼器中的相應(yīng)層的輸入進行特征拼接;cnn每次卷積處理后的結(jié)果,不再直接與解碼器中對應(yīng)的層級直接相加,而是進行深層次的殘差路徑后再與解碼器部分結(jié)合,殘差路徑中的殘差塊個數(shù)取決于當(dāng)前特征深度,特征深度越深,殘差塊的數(shù)量越少。
23、進一步地,所述cnn中卷積的數(shù)量為三個,卷積核大小均為3*3;所述transformer結(jié)構(gòu)中transformer層的數(shù)量為12層。
24、進一步地,所述殘差塊為cnn的第一層卷積后串聯(lián)三個殘差塊,第二層卷積串聯(lián)兩個殘差塊,第三層卷積串聯(lián)一個殘差塊;所述殘差塊包括并聯(lián)的3*3卷積核的第一卷積和1*1卷積核的第二卷積,第一卷積和第二卷積的輸出相加為殘差塊的輸出。
25、第二方面,本發(fā)明提供一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,該程序被處理器執(zhí)行時可實現(xiàn)所述檢測方法的步驟。
26、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
27、現(xiàn)有技術(shù)在針對文本目標(biāo)檢測時,往往采用基礎(chǔ)的圖形學(xué)來實現(xiàn),比如采用連通域結(jié)合腐蝕膨脹等操作來檢測相關(guān)的目標(biāo),亦或是利用像素點之間的關(guān)系來獲取目標(biāo)位置。本發(fā)明利用一種擴充的方法將線段的兩點標(biāo)注轉(zhuǎn)換為四點標(biāo)注,使其存在面積來計算iou,并對檢測后的結(jié)果進行腐蝕操作恢復(fù)線段,提高了文本線段的檢測精度,將原本用于分割的unet網(wǎng)絡(luò)能夠用于線段檢測。
28、本發(fā)明線段檢測網(wǎng)絡(luò)模型tr-unet,對基線網(wǎng)絡(luò)unet進行優(yōu)化,將transformer結(jié)構(gòu)嵌入unet的encoder結(jié)構(gòu)中,利用res?path替換傳統(tǒng)unet中的簡單的skip?connection,優(yōu)化全局特征提取,實現(xiàn)更加精確地定位,提高收斂速度的同時優(yōu)化定位效果,進一步提高了線段檢測的精度。相較于unet基線模型,優(yōu)化后的模型tr-unet在精確度上在96.5%的基礎(chǔ)上上升了2.2個百分點、召回率在93.1%的基礎(chǔ)上上升了3.3個百分點,f值在94.8%的基礎(chǔ)上上升了2.7個百分點。