本發(fā)明屬于圖像識別領(lǐng)域,特別涉及一種基于自啟發(fā)式策略的自然場景文字檢測方法及系統(tǒng)。
背景技術(shù):
文字作為一種極其重要的信息載體在人類文明進程中發(fā)揮著極大的促進作用,作為人類語言的可視化載體,文字廣泛存在于人類社會的各個方面。近年來,隨著計算機視覺技術(shù)的快速發(fā)展,人類設(shè)法使得計算機能夠模擬人類的視覺理解機制,對所捕獲的圖像進行分析并自主理解圖像內(nèi)容、從而獲取圖像中的重要線索;自然場景中包括了各種場景內(nèi)容,文字作為一種重要的場景內(nèi)容具有抽象的描述能力與高度的概括能力。對圖像中的文字進行檢測與識別將有助于理解圖像內(nèi)容,并獲取重要的信息線索。近年來,自然場景文字檢測已成為了計算機視覺與模式識別領(lǐng)域中的一個重要研究內(nèi)容。該技術(shù)旨在從所捕獲的自然場景圖像中自動檢測文字區(qū)域,從而為后續(xù)文字識別與語義理解提供技術(shù)支持。該技術(shù)在自然場景圖像理解、視障人輔助閱讀、機器人自主導(dǎo)航、海量視頻檢索、以及便攜式設(shè)備文字檢測與翻譯等方面有著廣泛的應(yīng)用前景。
自然場景文字檢測是實現(xiàn)后續(xù)文字識別與語義理解的第一步,是整個文字識別系統(tǒng)中的重要組成部分,該技術(shù)性能的好壞將直接影響到整個系統(tǒng)識別率的高低。盡管傳統(tǒng)的光學(xué)字符識別技術(shù)(opticalcharacterrecognition,ocr)已日趨成熟,然而該技術(shù)對自然場景文字檢測與識別的性能卻遠未達到實用水平。自然場景圖像中的復(fù)雜背景、文字字體種類、字體大小、字體排列方向、字體顏色、光照條件以及拍攝角度等因素影響直接導(dǎo)致了難以魯棒地檢測自然場景文字。
基于自然場景文字檢測技術(shù)的廣泛應(yīng)用前景以及其重要的理論研究價值,該技術(shù)引起了國內(nèi)外學(xué)者的廣泛關(guān)注,文檔分析與識別國際會議(internationalconferenceondocumentanalysisandrecognition,icdar)定期舉行自然場景文字檢測競賽,評估現(xiàn)有技術(shù)水平并分析其優(yōu)劣性。目前,自然場景文字檢測方法主要沿用三條技術(shù)路線:基于連通組件分析的自然場景文字檢測方法、基于紋理特征的自然場景文字檢測方法、以及基于連通組件與紋理特征的自然場景文字檢測方法。
基于連通組件分析的自然場景文字檢測方法,其核心內(nèi)容是設(shè)計快速、有效的連通組件分析器。該方法能快速地實施文字檢測,但在處理背景復(fù)雜、噪聲干擾、光照變化以及顏色多變等情況時缺乏魯棒性?;诩y理特征的自然場景文字檢測方法通常以滑動檢測窗口的方式多尺度遍歷圖像,從而影響了文字檢測效率,但該方法能較好地應(yīng)對復(fù)雜背景中的自然場景文字檢測問題;基于連通組件與紋理特征的自然場景文字檢測方法,該方法通常首先對連通組件進行分析以獲得文字候選區(qū)域,然后利用文字候選區(qū)域的紋理特征采用訓(xùn)練好的分類器進行判別處理,該方法相對于單純地采用連通組件分析的自然場景文字檢測方法更能有效地解決復(fù)雜自然場景中的文字檢測問題,相對于單純地采用紋理特征的自然場景文字檢測方法在檢測效率上有所提高。如前述分析可知,諸多方面因素的影響導(dǎo)致了該技術(shù)距實用水平有較大的差距??紤]到自然場景文字檢測問題的特殊性與復(fù)雜性,如何快速、準確地在復(fù)雜自然場景中檢測文字是噩待解決的技術(shù)難題。
技術(shù)實現(xiàn)要素:
本發(fā)明提供了一種基于自啟發(fā)式策略的自然場景文字檢測方法及系統(tǒng),其目的在于,克服現(xiàn)有技術(shù)中自然場景中文字檢測的檢測率不高以及復(fù)雜度較高的問題。
一種基于自啟發(fā)式策略的自然場景文字檢測方法,包括以下步驟:
步驟1:將待檢測的彩色自然場景圖像進行灰度轉(zhuǎn)換,得到灰度自然場景圖像;
步驟2:對灰度自然場景圖像分別進行正面、反面二值化處理,獲得對應(yīng)的兩幅初始二值圖像;
步驟3:分別從步驟2獲得的兩幅初始二值圖像中標記出所有的連通組件,并將各連通組件的最小外接矩形所包含的文字區(qū)域視為文字初步候選區(qū)域,并依據(jù)文字先驗信息對文字初步候選區(qū)域進行初步篩選,得到文字候選區(qū)域;
步驟4:根據(jù)連通組件結(jié)構(gòu)特點,分別在經(jīng)過步驟3篩選后得到的兩幅二值化圖像中對具有相同空間坐標位置的圖像區(qū)域進行融合處理,并得到融合二值圖像;
考慮到文字區(qū)域在灰度自然場景圖像中表現(xiàn)出暗底淺字或者淺底暗字兩種模式,根據(jù)連通組件結(jié)構(gòu)特點分別在所述兩幅二值化圖像中對具有相同空間坐標位置的圖像區(qū)域中的文字對比度類型進行判斷,根據(jù)判斷結(jié)果將所述對應(yīng)的二幅二值圖像融合成為一幅二值圖像,從而實現(xiàn)將二值圖像中的文字統(tǒng)一為前景,非文字區(qū)域則為背景;得到融合二值圖像后,大大降低了后續(xù)過程的計算量;
步驟5:召回漏檢文字區(qū)域;
步驟5.1:將步驟4處理后的文字視為種子文字;
步驟5.2:以種子文字的大小、傾斜度以及相鄰文字的間隔距離構(gòu)建自啟發(fā)式搜索策略,確定檢測窗口位置和大?。?/p>
步驟5.3:視檢測窗口所覆蓋的灰度自然場景圖像區(qū)域為文字候選區(qū)域,采用深度神經(jīng)網(wǎng)絡(luò)對文字候選區(qū)域進行識別,并依據(jù)該文字候選區(qū)域的分類置信度來確定其類別:
1)設(shè)置二級分類閾值,包括文字區(qū)域分類置信度高閾值與文字區(qū)域分類置信度低閾值;
2)若文字候選區(qū)域的分類置信度低于設(shè)定的文字區(qū)域分類置信度低閾值,則該文字候選區(qū)域為偽文字區(qū)域,予以剔除,進入步驟5.4;
3)若文字候選區(qū)域的分類置信度高于設(shè)定的文字區(qū)域分類置信度高閾值,則該文字候選區(qū)域為文字區(qū)域,將該文字候選區(qū)域作為新的種子文字,返回步驟5.2,獲取新的檢測窗口;
4)若文字候選區(qū)域的分類置信度高于設(shè)定的文字區(qū)域分類置信度低閾值且低于設(shè)定的文字區(qū)域分類置信度高閾值,則該文字候選區(qū)域為可疑文字區(qū)域;
將可疑文字候選區(qū)域?qū)?yīng)的檢測窗口在其鄰近區(qū)域滑動,得到一組新的檢測窗口:若所有新的檢測窗口對應(yīng)文字候選區(qū)域的分類置信度的最大值高于設(shè)定的文字區(qū)域分類置信度高閾值,則將最大分類置信度對應(yīng)的文字候選區(qū)域視為文字區(qū)域,同時將具有最大分類置信度的文字候選區(qū)域作為新的種子文字,返回步驟5.2,獲取新的檢測窗口;反之則該文字候選區(qū)域為偽文字區(qū)域,予以剔除,進入步驟5.4;
步驟5.4:若每個種子文字對應(yīng)的檢測窗口區(qū)域均已識別完畢,則完成漏檢文字的召回,否則,返回步驟5.3繼續(xù)識別下一個種子文字對應(yīng)的檢測窗口區(qū)域;
所述啟發(fā)式搜索策略確定的檢測窗口如下:
其中,xwindow、ywindow、wwindow、hwindow分別表示所述檢測窗口的左頂點橫坐標、縱坐標、檢測窗口寬度以及檢測窗口高度,xseed、yseed、wseed、hseed分別表示種子文字區(qū)域的左頂點橫坐標、左頂點縱坐標、檢測窗口寬度以及檢測窗口高度;iw、ih分別表示輸入圖像的寬度與高度,kwx、
構(gòu)建自啟發(fā)式搜索策略來檢測漏檢文字,通過利用種子文字的信息來設(shè)定檢測窗口的大小與位置,從而可以減少文字候選區(qū)域的搜索區(qū)域,進而提高了檢測效率。
采用訓(xùn)練好的深度神經(jīng)網(wǎng)絡(luò)對檢測窗口下的待處理文字候選區(qū)域進行分類,進而減少虛警并提高了本發(fā)明的文字檢測召回率能力。
步驟6:以步驟4中的融合二值圖像的文字區(qū)域和經(jīng)步驟5召回的文字區(qū)域作為最終的真實文字,在最終的真實文字中,將符合一定條件的相鄰文字形成文字行;
步驟7:對經(jīng)所述步驟6處理后所得到的所述文字行中的相鄰文字間距進行統(tǒng)計,若相鄰文字之間的間距小于所設(shè)置的間距閾值,則表明所述相鄰文字同屬于一個單詞,反之則將所述相鄰文字分割開以實現(xiàn)所述文字行中以單詞為單元的文字分割。
進一步地,在兩幅二值化圖像中對具有相同空間坐標位置的圖像區(qū)域進行文字前景和偽文字前景的判斷,步驟如下:
步驟4.1:統(tǒng)計所述兩幅二值化圖像中所有連通組件中大于所設(shè)定的筆畫寬度閾值的邊緣像素數(shù)目;
步驟4.2:對于每一個連通組件,若經(jīng)步驟4.1統(tǒng)計得到的符合設(shè)定條件邊緣像素數(shù)目超過設(shè)定的像素數(shù)目閾值,則判斷該連通組件為文字前景,反之則為背景;
對每個連通組件中大于所設(shè)定的筆畫寬度閾值的邊緣像素數(shù)目的統(tǒng)計過程如下:
步驟4.1.1:采用canny算子對連通組件進行邊緣提取,依據(jù)所提取的邊緣像素依次統(tǒng)計連通組件的平均筆畫寬度,并基于平均筆畫寬度設(shè)置間隔閾值;
步驟4.1.2:分別沿著水平方向、垂直方向、45度斜對角方向、145度反斜對角方向在所述兩幅二值化圖像中設(shè)置掃描線,并提取掃描線上的邊緣像素;
所述掃描線包括3條水平方向掃描線、3條垂直方向掃描線、1條45度斜對角方向掃描線以及1條145度反斜對角方向掃描線;
位于3條水平方向掃描線上的像素依次設(shè)定為ie(round(i_h/4),j)、ie(round(i_h/2),j)、ie(round(3×i_h/4),j),j∈[1,i_w];
位于3條垂直方向掃描線上的像素依次設(shè)定為ie(i,round(i_w/4))、ie(i,round(i_w/2))、ie(i,round(3×i_w/4)),i∈[1,i_h];
位于45度斜對角方向掃描線上的像素依次設(shè)定為ie(1,i_w)、ie(max(1,round(i_h-j×(i_h/i_w))),j)、ie(i_h,1),j∈[1,i_w];
位于145度反斜對角方向掃描線上的像素依次設(shè)定為ie(1,1)、ie(max(1,round(j×(i_h/i_w))),j)、ie(i_h,i_w),j∈[1,i_w];
其中,ie表示提取的邊緣圖像,i、j分別表示邊緣圖像中像素的橫坐標、縱坐標,i_h、i_w分別表示提取的邊緣圖像的高和寬,round()為取整函數(shù),max()表示為取最大值函數(shù);
步驟4.1.3:若同一掃描線上的相鄰像素之間的距離大于設(shè)定的筆畫寬度閾值,即:
dist(ie(i,j),ie(m,n))>γ×swt_ave
則將符合設(shè)定條件的邊緣像素數(shù)目加1,否則,對下一對相鄰像素進行判斷,直到所有掃描線上所有相鄰像素全部判斷完畢,完成每個連通組件中大于所設(shè)定的筆畫寬度閾值的邊緣像素數(shù)目的統(tǒng)計;
其中,ie(i,j)、ie(m,n)為沿著所述某個方向掃描線上的兩相鄰的邊緣像素,swt_ave為當前連通組件的平均筆畫寬度,dist()為計算沿著某一條掃描線上的相鄰像素之間距離的函數(shù);γ為筆畫寬度閾值權(quán)重系數(shù),通過經(jīng)驗取值的方式而獲得。
進一步地,對步驟4中得到的融合二值圖像中的文字候選區(qū)域,結(jié)合上下文信息,利用訓(xùn)練好的深度神經(jīng)網(wǎng)絡(luò)對其進行分類處理,將分類為偽文字區(qū)域的文字候選區(qū)域予以剔除后,再用于步驟6形成文字行,具體過程如下:
步驟a:以文字候選區(qū)域為中心設(shè)置當前文字候選區(qū)域的影響區(qū)域aroi:
aroi=[max(1,round(i-hseed/λh)),max(1,round(j-λh×wseed)),......
min(img_w,round(λw×wseed)),min(img_h,round(λh×hseed))]
其中,max(1,round(i-hseed/λh))、max(1,round(j-λh×wseed))分別表示影響區(qū)域aroi在融合二值圖像中的左頂點橫坐標與左頂點縱坐標;min(img_w,round(λw×wseed))、min(img_h,round(λh×hseed))分別表示影響區(qū)域aroi的寬度與高度;img_w、img_h表示融合二值圖像的寬度與高度,i、j分別表示文字候選區(qū)域在所述二值圖像中的左頂點橫坐標與左頂點縱坐標,hseed、wseed分別表示文字候選區(qū)域的高度與寬度;λh、λw均為影響區(qū)域權(quán)重系數(shù),通過經(jīng)驗取值的方式而獲得;
步驟b:將所述影響區(qū)域中的所有文字候選區(qū)域作為待分類目標依次輸入已預(yù)先訓(xùn)練好的深度神經(jīng)網(wǎng)絡(luò)中進行識別,將輸出的識別結(jié)果視為待分類的文字候選區(qū)域的置信度值,記為該文字候選區(qū)域的初始分類置信度值;
步驟c:設(shè)置分類置信度評價函數(shù),利用分類置信度評價函數(shù)值作為文字候選區(qū)域的最終分類置信度值;
所述分類置信度評價函數(shù)如下述:
其中,cchar(o(k))和cfinal(o(k))分別表示文字候選區(qū)域o(k)的初始分類置信度值和最終分類置信度值;o(k)表示融合二值圖像中的第k個文字候選區(qū)域,n(i)表示文字候選區(qū)域o(k)所對應(yīng)的影響區(qū)域中的第i個相鄰文字候選區(qū)域,n為文字候選區(qū)域o(k)所對應(yīng)的影響區(qū)域中除文字候選區(qū)域o(k)以外的文字候選區(qū)域總數(shù)目;d(n(i),o(k))、hchar(n(i),o(k))tchar(n(i),o(k))依次表示文字候選區(qū)域o(k)與其對應(yīng)的影響區(qū)域中的文字候選區(qū)域n(i)之間的上下文置信度權(quán)值、高度相似度和顏色相似度;cα、cβ、cγ分別為鄰近文字候選區(qū)域n(i)的置信度權(quán)重系數(shù)、文字候選區(qū)域o(k)與其鄰近文字候選區(qū)域n(i)之間的高度相似度權(quán)重系數(shù)以及顏色相似度權(quán)重系數(shù),通過對訓(xùn)練樣本進行學(xué)習而獲得;
ph(o(k))、ps(o(k))、pi(o(k))分別表示文字候選區(qū)域o(k)的色度直方圖、色飽和度直方圖以及亮度直方圖;ph(n(i))、ps(n(i))、pi(n(i))分別表示文字候選區(qū)域o(k)所對應(yīng)的影響區(qū)域中的文字候選區(qū)域n(i)的色度直方圖、色飽和度直方圖以及亮度直方圖;
h(o(k))、h(n(i))分別表示文字候選區(qū)域o(k)以及文字候選區(qū)域o(k)所對應(yīng)的影響區(qū)域中的文字候選區(qū)域n(i)的高度;cdistance(n(i),o(k))表示文字候選區(qū)域o(k)與所對應(yīng)的影響區(qū)域中的文字候選區(qū)域n(i)之間的中心距離;adiagonal(o(k))表示文字候選區(qū)域o(k)所對應(yīng)的影響區(qū)域的對角線長度,abs()表示取絕對值函數(shù);
步驟d:設(shè)置分類置信度閾值cthreshod,將融合二值圖像中的每一個文字候選區(qū)域的最終分類置信度值與設(shè)置的分類置信度閾值按以下公式進行判斷,并將分別滿足下述條件的文字候選區(qū)域視為真實文字或者偽文字;
其中,分類置信度閾值cthreshod通過對訓(xùn)練樣本進行學(xué)習而獲得。
利用了深度神經(jīng)網(wǎng)絡(luò)對文字候選區(qū)域進行了分類處理,與此同時,還引入待處理文字候選區(qū)域與其相鄰文字候選區(qū)域之間的上下文信息,從而能有效地處理復(fù)雜自然場景情況,進而增強了文字候選區(qū)域分類結(jié)果的魯棒性。
進一步地,所述步驟6形成文字行時,采用基于同一文字行內(nèi)的文字的高度、筆畫寬度、顏色、文字排列方向、相鄰文字間間隔具有關(guān)聯(lián)的視覺上下文信息,采用模擬“蛇”進食后成長的自然規(guī)律,將符合一定條件的相鄰文字形成文字行,具體步驟如下:
從融合二值圖像中任意選取一個真實文字作為初始貪吃蛇,初始貪吃蛇選取符合設(shè)定的相似性合并條件的真實文字,在其周圍區(qū)域不斷地合并文字并成長,直至無符合所述條件的真實文字的出現(xiàn);
相似性合并條件如下:
所述相似性包括顏色相似度、高度相似度、筆畫寬度相似度、文字排列方向相似度以及相鄰文字間間隔;
其中,
“初始貪吃蛇”記為
筆畫寬度相似度:
文字排列方向相似度:
相鄰文字間間隔:
其中,f(k)表示第k個真實文字,
tchar_threshod為顏色相似度閾值,hchar_threshod為高度相似度閾值;
cswc_threshod為筆畫寬度相似度閾值,cswc(f(k))、
i_min為最小間隔距離,i_α為間隔距離權(quán)重系數(shù),
模擬“蛇”進食后成長的自然規(guī)律設(shè)計文字行生長算法,通過不斷更新文字行信息來生成新的文字行,從而提高了文字行生成過程中的自適應(yīng)性。
進一步地,對經(jīng)所述步驟6提取的文字行中的相鄰文字間距進行統(tǒng)計,若相鄰文字之間的間距小于單詞間距閾值,則表明所述相鄰文字同屬于一個單詞,反之,則將所述相鄰文字分割開以實現(xiàn)所述文字行中以單詞為單元的文字分割;
步驟7.1:按以下公式計算每一個文字行中相鄰文字的平均間隔距離cinterval(oc(k)):
cinterval(oc(k))=abs(crtbmy(oc(k))-crtbmy(oc(k-1)))+abs(crtbmx(oc(k))-crtbmx(oc(k-1)))
其中,oc(k)表示當前文字行中的第k個文字,oc(k-1)表示當前文字行中的第k-1個文字,cinterval(oc(k))表示當前文字行中的文字oc(k)與其相鄰的文字oc(k-1)之間的間隔距離;
crtbmy(oc(k))、crtbmx(oc(k))分別表示當前文字行中的第k個文字oc(k)的右下頂點縱坐標與右下頂點橫坐標,crtbmy(oc(k-1))、crtbmx(oc(k-1))分別表示當前文字行中的第k-1個文字oc(k-1)的右下頂點縱坐標與右下頂點橫坐標,ainterval表示當前文字行中的所有相鄰文字之間平均間距;
步驟7.2:依據(jù)文字行中相鄰文字的平均間隔距離判斷文字行中的相鄰文字是否屬于同一個單詞:
其中,α_threshod為平均間隔距離權(quán)重,所述距離權(quán)重α_threshod的取值是通過對訓(xùn)練樣本的學(xué)習而得到;
步驟7.3:將屬于同一單詞的文字分割為一個整體,完成對每個文字行中的單詞劃分。
進一步地,所述步驟2中進行二值化處理的過程如下:
步驟2.1:采用niblack方法對灰度自然場景圖像進行局部二值化處理得到初始二值化結(jié)果;
步驟2.2:建立能量函數(shù)并對所述能量函數(shù)采用圖割方法求解其全局最優(yōu)解以修正所述二值化初始結(jié)果,其中,所構(gòu)建的能量函數(shù)公式為:
e(f|i,n)=elocal(f|i,n)+esmooth(f|i)
其中,elocal(f|i,n)用來評價灰度自然場景圖像的最終二值化結(jié)果與初始二值化結(jié)果之間的差異;
elocal(f|i,n)=∑p(i)elocal(p(i))
其中,elocal(p(i))表示像素p(i)的平滑度,esmooth(f|i)根據(jù)相鄰像素的相似度來評價平滑程度;
esmooth(f|i)=λ∑(p(i),p(j))∈mesmooth(p(i),p(j))
其中,i表示灰度自然場景圖像,
進一步地,根據(jù)彩色自然場景圖像中的文字先驗信息設(shè)置文字區(qū)域判決條件,對文字初步候選區(qū)域進行篩選,將不符合文字區(qū)域判決條件的文字初步候選區(qū)域剔除;文字區(qū)域判決條件為:
(thw=max(h(xi),w(xi)))∈[thw_min,α×max(iwidth,iheight)]
(rhw=max(h(xi)/w(xi),w(xi)/h(xi)))<rhw_max
a(xi)∈(a_min,β×(iwidth×iheight))
其中,xi表示第i個連通組件,連通組件xi的高度、寬度分別標記為h(xi)、w(xi),連通組件xi的高度、寬度兩者之間的最大值標記為thw,iwidth、iheight為灰度自然場景圖像的寬度與高度,其最小閾值為thw_min,最大閾值占圖像寬度、高度的最大值的比例為α;
rhw為連通組件xi的寬高比和高寬比的最大值,rhw_max為最大閾值;
a(xi)為連通組件xi的面積,最小閾值為a_min,最大閾值占圖像面積的比例為β,α、β、thw_min、rhw_max、a_min是通過對訓(xùn)練樣本進行學(xué)習而獲得。
一種基于自啟發(fā)式策略的自然場景文字檢測系統(tǒng),包括:
圖像采集和預(yù)處理模塊:采集待檢測圖像,并將采集的彩色自然場景圖像轉(zhuǎn)換為灰度自然場景圖像;
二值處理模塊:對經(jīng)過圖像預(yù)處理后的灰度自然場景圖像進行二值化處理以得到對應(yīng)的二值圖像,標記所述二值圖像中的所有連通組件,并將各連通組件最小外接矩形所包含的區(qū)域視為文字初步候選區(qū)域;
融合模塊:對灰度自然場景圖像分別進行正面、反面二值化處理后,基于連通組件對圖像區(qū)域中的文字對比度類型進行判斷,將二值圖像中的文字統(tǒng)一為前景,非文字區(qū)域統(tǒng)一為背景,得到融合二值圖像;
漏檢文字召回模塊:將融合二值圖像中所有的文字候選區(qū)域視為種子文字,根據(jù)種子文字的大小、傾斜度、以及相鄰文字間隔距離信息構(gòu)建自啟發(fā)式搜索策略,結(jié)合所述訓(xùn)練好的深度神經(jīng)網(wǎng)絡(luò)采用滑動檢測窗口的方式在種子文字的附近區(qū)域召回漏檢文字;
文字行生成模塊:對經(jīng)過前述步驟處理后保留下來的所有真實文字進行分析,將符合一定條件的相鄰文字形成文字行;
單詞為單元分割模塊,對所述文字行中的相鄰文字間距進行統(tǒng)計,若相鄰文字之間的間距小于單詞間距閾值,則表明所述相鄰文字屬于同一個單詞,反之,則將所述相鄰文字分割開,以實現(xiàn)所述文字行中以單詞為單元的文字分割;
所述漏檢文字召回模塊采用上述的方法進行漏檢文字召回處理。
進一步地,所述文字行生成模塊采用基于同一文字行內(nèi)的文字的高度、筆畫寬度、顏色、文字排列方向、相鄰文字間間隔具有關(guān)聯(lián)的視覺上下文信息,采用模擬“蛇”進食后成長的自然規(guī)律,將符合一定條件的相鄰文字形成文字行;
具體過程為采用上述的方法實現(xiàn)。
進一步地,還包括文字候選區(qū)域篩選模塊,分為文字候選區(qū)域初次篩選模塊和文字候選區(qū)域深度篩選模塊;
所述文字候選區(qū)域初次篩選模塊:根據(jù)彩色自然場景圖像中的文字先驗信息設(shè)置文字區(qū)域判決條件,對圖像中的每一個文字候選區(qū)域進行分析,將符合所述文字區(qū)域判決條件的文字候選區(qū)域予以保留,反之則作為偽文字區(qū)域予以剔除;
所述文字候選區(qū)域深度篩選模塊:對經(jīng)融合模塊處理后的融合二值圖像中所有的文字候選區(qū)域,結(jié)合文字上下文信息,利用訓(xùn)練好的深度神經(jīng)網(wǎng)絡(luò)進行進一步分類處理,將判斷為偽文字的文字候選區(qū)域予以剔除,反之,則視為真實文字區(qū)域予以保留。
有益效果
本發(fā)明提供了一種基于自啟發(fā)式策略的自然場景文字檢測方法及系統(tǒng),綜合運用了連通組件分析與紋理特征分類方法對自然場景圖像中的文字區(qū)域進行檢測,該方案能有效地從自然場景圖像中檢測出文字區(qū)域,通過本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下有益效果:
1.通過引入對所述兩幅二值化圖像中具有相同空間坐標位置的圖像區(qū)域中的文字對比度類型進行判斷,根據(jù)判斷結(jié)果將所述對應(yīng)的二幅二值圖像融合成為一幅二值圖像,從而實現(xiàn)將二值圖像中的文字統(tǒng)一為前景,非文字區(qū)域則為背景,進而減少后續(xù)計算量,克服現(xiàn)有技術(shù)中分別實施正面、反面二值化處理導(dǎo)致出現(xiàn)大量的虛警。
2.本技術(shù)方案將通過連通組件分析以及深度神經(jīng)網(wǎng)絡(luò)判別處理后得到的所有文字視為種子文字。根據(jù)種子文字的大小、傾斜度、以及相鄰文字間隔距離信息構(gòu)建自啟發(fā)式搜索策略,結(jié)合所述訓(xùn)練好的深度神經(jīng)網(wǎng)絡(luò)采用滑動檢測窗口的方式在種子文字的周邊區(qū)域重新檢測漏檢文字,將分類置信度最高、且分類置信度大于一定閾值的文字候選區(qū)域視為真實文字,并將其添加至種子文字列表,進而提高了文字檢測召回率;本發(fā)明構(gòu)建自啟發(fā)式搜索策略來檢測漏檢文字,通過利用種子文字的信息來設(shè)定檢測窗口的大小與位置,從而可以減少文字候選區(qū)域的搜索區(qū)域,進而提高了檢測效率。另外,在此基礎(chǔ)上,采用訓(xùn)練好的深度神經(jīng)網(wǎng)絡(luò)對檢測窗口下的待處理文字候選區(qū)域進行分類,進而減少虛警并提高了本發(fā)明的文字檢測召回率。
3.采取多輪融合的方式,在每一輪融合過程中,任意選取一個文字作為“初始貪吃蛇”,然后利用“初始貪吃蛇”與其相鄰文字之間的視覺上下文信息,模擬“蛇”進食后成長的自然規(guī)律,設(shè)計一種“貪吃蛇”算法,將符合一定條件的相鄰文字形成文字行。本技術(shù)方案設(shè)計“貪吃蛇”算法來形成文字行,在形成文字行的過程中不斷地更新融合條件,從而增強了文字行形成過程中的自適應(yīng)性,進而提高了本發(fā)明的文字行生成結(jié)果的魯棒性。
本發(fā)明為自然場景文字識別系統(tǒng)提供良好的文字檢測結(jié)果,進而能有效地提高自然場景文字識別系統(tǒng)的識別性能,對加快實現(xiàn)自然場景文字語義理解與分析的自動化與智能化具有很高的實用價值,且在機器人自主導(dǎo)航、便攜式設(shè)備自然場景文字翻譯、海量視頻檢索、視障人輔助閱讀等方面有廣泛的應(yīng)用前景。
附圖說明
圖1為本發(fā)明所述方法的流程示意圖。
具體實施方式
下面將結(jié)合附圖和實施例對本發(fā)明做進一步地說明。
如圖1所示,一種基于自啟發(fā)式策略的自然場景文字檢測方法,具體包括以下步驟:
步驟1:將輸入的彩色自然場景圖像轉(zhuǎn)換為灰度自然場景圖像;
在本發(fā)明實施例中,輸入彩色自然場景圖像的分辨率為1280×960,本發(fā)明實施例所采用的彩色圖像轉(zhuǎn)換灰度自然場景圖像的公式為:
igray(i,j)=0.2989×ir(i,j)+0.5870×ig(i,j)+0.1140×ib(i,j)
其中,ir(i,j)表示彩色自然場景圖像中坐標位置為(i,j)像素點的紅色分量值,ig(i,j)表示彩色自然場景圖像中坐標位置為(i,j)像素點的綠色分量值,ib(i,j)表示彩色自然場景圖像中坐標位置為(i,j)像素點的藍色分量值,igray(i,j)表示彩色自然場景圖像中坐標位置為(i,j)像素點轉(zhuǎn)換后所對應(yīng)的灰度值。
步驟2:根據(jù)文字筆畫之間具有連通性的特點,通過檢測圖像中的連通組件的方式來獲得文字候選區(qū)域;通過采用圖割方法對所述灰度自然場景圖像進行二值化處理以獲得連通組件,具體過程如下:
步驟2.1:首先采用niblack方法對所述灰度自然場景圖像進行局部二值化處理得到二值化初始結(jié)果,本發(fā)明實施例中所選擇的局部窗口尺寸為10×10;
步驟2.2:由于文字邊緣區(qū)域中的像素灰度對比度較高,對所述該圖像區(qū)域進行二值化處理時能獲得更加準確的二值化結(jié)果;此外,根據(jù)同一文字區(qū)域內(nèi)相鄰筆畫之間也往往具有相似的灰度值、顏色等特點;基于上述兩種原因,建立能量函數(shù)并對所述能量函數(shù)采用graphcut方法求解其全局最優(yōu)解以修正所述二值化初始結(jié)果,本發(fā)明實施例所構(gòu)建的所述能量函數(shù)為:
e(f|i,n)=elocal(f|i,n)+esmooth(f|i)
其中,elocal(f|i,n)用來評價經(jīng)過所述步驟1處理后所得到的灰度自然場景圖像的最終二值化結(jié)果與所述二值化初始結(jié)果之間的差異;
elocal(f|i,n)=∑p(i)elocal(p(i))
其中,elocal(p(i))表示像素p(i)的平滑度,esmooth(f|i)根據(jù)相鄰像素的相似度來評價平滑程度;
esmooth(f|i)=λ∑(p(i),p(j))∈mesmooth(p(i),p(j))
其中,i表示經(jīng)過所述步驟1處理后所得到的灰度自然場景圖像,
步驟2.3:對所述灰度自然場景圖像按照淺底暗字與暗底淺字兩種模式分別進行二值化處理,對處理后得到的所述二值圖像中的所有連通組件進行標記,并將各連通組件最小外接矩形區(qū)域視為文字初步候選區(qū)域。
本發(fā)明實施例對圖像進行二值化處理時,具體實施方法是:首先對灰度自然場景圖像按照上述方法進行二值化處理以獲得對應(yīng)的二值圖像,然后對灰度自然場景圖像進行灰度值反轉(zhuǎn)變換以獲得反轉(zhuǎn)后的灰度自然場景圖像,進而對所述反轉(zhuǎn)后的灰度自然場景圖像進行上述二值化處理獲得相應(yīng)的二值圖像。
步驟3:根據(jù)文字在圖像中的先驗知識,基于所述步驟2處理后所獲得的連通組件進行分析,分別從連通組件的高度、寬度、寬高比、高寬比以及連通組件面積等方面進行判斷,進而快速地剔除偽文字區(qū)域,本發(fā)明實施例設(shè)置的文字區(qū)域判決條件具體包括:
(thw=max(h(xi),w(xi)))∈[thw_min,α×max(iwidth,iheight)]
其中,xi表示第i個連通組件,所述連通組件xi的高度、寬度分別標記為h(xi)、w(xi),所述高度、寬度的最大值標記為thw,iwidth、iheight為所述灰度自然場景圖像的寬度與高度,其最小閾值為thw_min,最大閾值占圖像寬度、高度的最大值的比例為α,在本發(fā)明實施例中,取thw_min=10、α=0.9;
(rhw=max(h(xi)/w(xi),w(xi)/h(xi)))<rhw_max
其中,rhw為所述連通組件xi的寬高比和高寬比的最大值,rhw_max為最大閾值;在本發(fā)明實施例中,取rhw_max=0.85;
a(xi)∈(a_min,λ×(iwidth×iheight))
其中,a(xi)為所述連通組件xi的面積,最小閾值為a_min,最大閾值占圖像面積的比例為β;在本發(fā)明實施例中,取a_min=50、β=0.65;
步驟4:考慮到文字區(qū)域在灰度自然場景圖像中表現(xiàn)出暗底淺字或者淺底暗字兩種模式,為了獲得以文字為前景的二值化圖像,因此需要對灰度自然場景圖像分別進行正面、反面二值化處理;事實上,在進行正面、反面二值化處理時將引入大量的虛警,從而對后續(xù)文字檢測結(jié)果產(chǎn)生不良影響。為了減少虛警,本發(fā)明實施例在所述二幅二值化圖像中首先根據(jù)空間坐標位置定義同一個圖像區(qū)域,然后對該圖像區(qū)域中的連通組件進行分析,統(tǒng)計所述連通組件中大于所設(shè)定的筆畫寬度閾值的邊緣像素數(shù)目,最后根據(jù)所述距離大于一定閾值的像素數(shù)目進行文字區(qū)域類型的判斷。
本發(fā)明實施例所采取的具體操作方法如下述:
步驟4.1:統(tǒng)計所述兩幅二值化圖像中所有連通組件中大于所設(shè)定的筆畫寬度閾值的邊緣像素數(shù)目;
對于每一個連通組件,若其邊緣圖像中沿所述各掃描線上的相鄰像素之間的距離大于一定閾值的像素數(shù)目超過預(yù)先設(shè)定的像素數(shù)目閾值,則判斷該連通組件為文字,反之則為背景;相應(yīng)地,該連通組件所在的圖像區(qū)域為所述暗底淺字或者淺底暗字類型。
步驟4.2:對于每一個連通組件,若經(jīng)步驟4.1統(tǒng)計得到的符合設(shè)定條件邊緣像素數(shù)目超過設(shè)定的像素數(shù)目閾值,則判斷該連通組件為文字前景,反之則為背景;
對每個連通組件中大于所設(shè)定的筆畫寬度閾值的邊緣像素數(shù)目的統(tǒng)計過程如下:
步驟4.1.1:采用canny算子對連通組件進行邊緣提取,依據(jù)所提取的邊緣像素依次統(tǒng)計連通組件的平均筆畫寬度,并基于平均筆畫寬度設(shè)置間隔閾值;
步驟4.1.2:分別沿著水平方向、垂直方向、45度斜對角方向、145度反斜對角方向在所述兩幅二值化圖像中設(shè)置掃描線,并提取掃描線上的邊緣像素;
所述掃描線包括3條水平方向掃描線、3條垂直方向掃描線、1條45度斜對角方向掃描線以及1條145度反斜對角方向掃描線;
位于3條水平方向掃描線上的像素依次設(shè)定為ie(round(i_h/4),j)、ie(round(i_h/2),j)、ie(round(3×i_h/4),j),j∈[1,i_w];
位于3條垂直方向掃描線上的像素依次設(shè)定為ie(i,round(i_w/4))、ie(i,round(i_w/2))、ie(i,round(3×i_w/4)),i∈[1,i_h];
位于45度斜對角方向掃描線上的像素依次設(shè)定為ie(1,i_w)、ie(max(1,round(i_h-j×(i_h/i_w))),j)、ie(i_h,1),j∈[1,i_w];
位于145度反斜對角方向掃描線上的像素依次設(shè)定為ie(1,1)、ie(max(1,round(j×(i_h/i_w))),j)、ie(i_h,i_w),j∈[1,i_w];
其中,ie表示提取的邊緣圖像,i、j分別表示邊緣圖像中像素的橫坐標、縱坐標,i_h、i_w分別表示提取的邊緣圖像的高和寬,round()為取整函數(shù),max()表示為取最大值函數(shù);
步驟4.1.3:若同一掃描線上的相鄰像素之間的距離大于設(shè)定的筆畫寬度閾值,即:
dist(ie(i,j),ie(m,n))>γ×swt_ave
則將符合設(shè)定條件的邊緣像素數(shù)目加1,否則,對下一對相鄰像素進行判斷,直到所有掃描線上所有相鄰像素全部判斷完畢,完成每個連通組件中大于所設(shè)定的筆畫寬度閾值的邊緣像素數(shù)目的統(tǒng)計;
其中,ie(i,j)、ie(m,n)為沿著所述某個方向掃描線上的兩相鄰的邊緣像素,swt_ave為當前連通組件的平均筆畫寬度,dist()為計算沿著某一條掃描線上的相鄰像素之間距離的函數(shù);γ為筆畫寬度閾值權(quán)重系數(shù),通過經(jīng)驗取值的方式而獲得,在本發(fā)明實施例中γ=0.45;
通過將連通組件中距離大于一定閾值的邊緣像素數(shù)目與所設(shè)定的像素數(shù)目閾值進行比較,從而實現(xiàn)對圖像區(qū)域?qū)Ρ榷阮愋偷呐袛?,進而降低虛警。
步驟5:考慮到采用連通組件分析方法很難有效地甄別文字區(qū)域與背景區(qū)域,因此本發(fā)明實施例利用所述深度神經(jīng)網(wǎng)絡(luò)對前述步驟處理后所保留的文字候選區(qū)域進行進一步的判別,具體處理過程主要包括下述子步驟:
步驟5.1首先以所述文字候選區(qū)域為中心設(shè)置所述文字候選區(qū)域的影響區(qū)域,本發(fā)明實施例中,所述文字影響區(qū)域按照以下方式進行設(shè)置;
aroi=[max(1,round(i-hseed/λh)),max(1,round(j-λh×wseed)),......
min(img_w,round(λw×wseed)),min(img_h,round(λh×hseed))]
其中,max(1,round(i-hseed/λh))、max(1,round(j-λh×wseed))分別表示所述文字候選區(qū)域的影響區(qū)域在所述二值圖像中的左頂點橫坐標與左頂點縱坐標,
min(img_w,round(λw×wseed)),min(img_h,round(λh×hseed))分別表示所述文字候選區(qū)域的影響區(qū)域的寬度與高度,img_w、img_h表示所述二值圖像的寬度與高度,i、j分別表示所述文字候選區(qū)域在所述二值圖像中的左頂點橫坐標與左頂點縱坐標,hseed、wseed分別表示所述文字候選區(qū)域的高度與寬度,max(),min(),round()分別表示所述取最大值函數(shù)、取最小值函數(shù)以及取整數(shù)函數(shù),λh、λw均為權(quán)重系數(shù),在本發(fā)明實施例中,λh=2、λw=5;
步驟5.2本發(fā)明實施例將所述影響區(qū)域中的所有文字候選區(qū)域作為待分類目標依次送入到預(yù)先已訓(xùn)練好的深度神經(jīng)網(wǎng)絡(luò)進行識別,并輸出每一個文字候選區(qū)域的置信度值,記為該文字候選區(qū)域的初始分類置信度值;考慮到相鄰自然場景文字之間具有特定的視覺上下文信息,本發(fā)明實施例對所述二值圖像中的每一個待分類文字候選區(qū)域,綜合利用該文字候選區(qū)域其初始分類置信度值,以及所述該文字候選區(qū)域與其影響區(qū)域內(nèi)的其他相鄰文字候選區(qū)域之間的相似性信息,設(shè)置一個分類置信度評價函數(shù),將所述分類置信度評價函數(shù)值作為該文字候選區(qū)域的最終分類置信度值,本發(fā)明實施例所定義的最終分類置信度評價函數(shù)如下述:
其中,o(k)表示圖像中的第k個文字候選區(qū)域,n(i)表示文字候選區(qū)域o(k)所對應(yīng)的影響區(qū)域中的第i個相鄰文字候選區(qū)域,n為文字候選區(qū)域o(k)所對應(yīng)的影響區(qū)域中除文字候選區(qū)域o(k)以外的文字候選區(qū)域總數(shù)目,cchar(o(k))表示采用所述深度神經(jīng)網(wǎng)絡(luò)對所述文字候選區(qū)域o(k)進行分類評價時所輸出的初始置信度值,cchar(n(i))表示采用所述深度神經(jīng)網(wǎng)絡(luò)對所述文字候選區(qū)域n(i)進行分類評價時所輸出的初始置信度值,cfinal(o(k))表示引入所述文字候選區(qū)域o(k)與其影響區(qū)域內(nèi)其它相鄰文字候選區(qū)域之間的相似性信息后所獲得的最終分類置信度值,d(n(i),o(k))表示所述文字候選區(qū)域o(k)與其對應(yīng)的影響區(qū)域中的文字候選區(qū)域n(i)之間的上下文置信度權(quán)值,hchar(n(i),o(k))表示所述文字候選區(qū)域o(k)與其對應(yīng)的影響區(qū)域中的文字候選區(qū)域n(i)之間的高度相似度,tchar(n(i),o(k))表示所述文字候選區(qū)域o(k)與其對應(yīng)的影響區(qū)域中的文字候選區(qū)域n(i)之間的顏色相似度,ph(o(k))、ps(o(k))、pi(o(k))分別表示文字候選區(qū)域o(k)的色度直方圖、色飽和度直方圖以及亮度直方圖,ph(n(i))、ps(n(i))、pi(n(i))分別表示所述文字候選區(qū)域o(k)所對應(yīng)的影響區(qū)域中的文字候選區(qū)域n(i)的色度直方圖、色飽和度直方圖以及亮度直方圖,h(o(k))、h(n(i))分別表示所述文字候選區(qū)域o(k)以及文字候選區(qū)域o(k)所對應(yīng)的影響區(qū)域中的文字候選區(qū)域n(i)的高度,cdistance(n(i),o(k))表示所述文字候選區(qū)域o(k)與其對應(yīng)的影響區(qū)域中的文字候選區(qū)域n(i)之間的中心距離,adiagonal(o(k))表示所述文字候選區(qū)域o(k)所對應(yīng)的影響區(qū)域的對角線長度,abs()表示取絕對值函數(shù),max()、min()函數(shù)的定義如前所述,函數(shù)功能分別表示取最大值和取最小值,cα、cβ、cγ分別為鄰近文字候選區(qū)域n(i)的置信度權(quán)重系數(shù)、文字候選區(qū)域o(k)與其鄰近文字候選區(qū)域n(i)之間的高度相似度權(quán)重系數(shù)以及顏色相似度權(quán)重系數(shù),本發(fā)明實施例中,cα=0.5、cβ=0.25、cγ=0.25;
步驟5.3為了有效地分類真實文字與偽文字,本發(fā)明實施例設(shè)置分類置信度閾值,將圖像中的每一個文字候選區(qū)域分別通過前述步驟處理,將得到的所述文字分類最終置信度與所述分類置信度閾值按照下述判斷公式進行比較;
其中,cthreshod為所述分類置信度閾值,本發(fā)明實施例中,cthreshod=0.25。
利用了深度神經(jīng)網(wǎng)絡(luò)對文字候選區(qū)域進行了分類處理,與此同時,還引入待處理文字候選區(qū)域與其相鄰文字候選區(qū)域之間的上下文信息,從而能有效地處理復(fù)雜自然場景情況,進而增強了文字候選區(qū)域分類結(jié)果的魯棒性。
步驟6:為了重新檢測前述步驟處理后的漏檢文字,采用一種基于種子文字的自啟發(fā)式文字檢測策略,采用所述深度神經(jīng)網(wǎng)絡(luò)按照所述自啟發(fā)式文字檢測策略以多尺度滑動窗口的方式進行檢測,以期提高文字檢測召回率。所述處理過程主要包括以下幾個子步驟:
步驟6.1將步驟5處理后所得到的文字視為種子文字,并基于所述種子文字按照步驟5.1所述方式設(shè)置其相應(yīng)的影響區(qū)域;
步驟6.2根據(jù)種子文字的大小、傾斜度、以及相鄰文字間隔距離先驗信息,設(shè)計一種基于種子文字的自啟發(fā)式文字檢測策略,所述自啟發(fā)式文字檢測策略具體描述如下:
其中,xwindow、ywindow、wwindow、hwindow分別表示所述檢測窗口的左頂點橫坐標、縱坐標、檢測窗口寬度以及檢測窗口高度,xseed、yseed、wseed、hseed分別表示所述種子文字區(qū)域的左頂點橫坐標、左頂點縱坐標、檢測窗口寬度以及檢測窗口高度,iw、ih分別表示輸入圖像的寬度與高度,kwx、
kwh∈[-0.15,-0.1,0,0,1,0.15]、θ∈[0,10,...,350,360];
步驟6.3:視檢測窗口所覆蓋的灰度自然場景圖像區(qū)域為文字候選區(qū)域,采用深度神經(jīng)網(wǎng)絡(luò)對文字候選區(qū)域進行識別,并依據(jù)該文字候選區(qū)域的分類置信度來確定其類別:
1)設(shè)置二級分類閾值,包括文字區(qū)域分類置信度高閾值與文字區(qū)域分類置信度低閾值,本發(fā)明實施例中:文字區(qū)域分類置信度高閾值取值為0.75,文字區(qū)域分類置信度低閾值取值為0.15;
2)若文字候選區(qū)域的分類置信度低于設(shè)定的文字區(qū)域分類置信度低閾值,則該文字候選區(qū)域為偽文字區(qū)域,予以剔除;
3)若文字候選區(qū)域的分類置信度高于設(shè)定的文字區(qū)域分類置信度高閾值,則該文字候選區(qū)域為文字區(qū)域,將該文字候選區(qū)域作為新的種子文字;
4)若文字候選區(qū)域的分類置信度高于設(shè)定的文字區(qū)域分類置信度低閾值且低于設(shè)定的文字區(qū)域分類置信度高閾值,則該文字候選區(qū)域為可疑文字區(qū)域;
將可疑文字候選區(qū)域?qū)?yīng)的檢測窗口在其鄰近區(qū)域滑動,得到一組新的檢測窗口:若所有新的檢測窗口對應(yīng)文字候選區(qū)域的分類置信度的最大值高于設(shè)定的文字區(qū)域分類置信度高閾值,則將最大分類置信度對應(yīng)的文字候選區(qū)域視為文字區(qū)域,同時將具有最大分類置信度的文字候選區(qū)域作為新的種子文字;反之,則該文字候選區(qū)域為偽文字區(qū)域,予以剔除;
步驟6.4:若每個種子文字對應(yīng)的檢測窗口區(qū)域均已識別完畢,則完成漏檢文字的召回,否則,返回步驟6.3繼續(xù)識別下一個種子文字對應(yīng)的檢測窗口區(qū)域;
依據(jù)已檢測得到的文字區(qū)域設(shè)置自啟發(fā)式文字檢測策略,可以減少文字候選區(qū)域搜索區(qū)域,進而提高文字檢測效率;在此基礎(chǔ)上,結(jié)合深度神經(jīng)網(wǎng)絡(luò)實施對漏檢文字進行重新檢測,從而提高了文字檢測召回率。
對步驟5與步驟6中所述深度神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練時,首先基于人工標注的文字與非文字構(gòu)建訓(xùn)練數(shù)據(jù)庫,然后對卷積神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,在本發(fā)明實施例中,訓(xùn)練得到的卷積神經(jīng)網(wǎng)絡(luò)共包含了4個隱含層,共計1000個隱含層節(jié)點,輸出層節(jié)點為63個;
步驟7:為了將前述步驟處理后所得到的文字形成文字行,本發(fā)明實施例對經(jīng)過所述步驟2至步驟6處理后保留下來的所有真實文字區(qū)域進行分析。本發(fā)明實施例考慮到同一個文字行內(nèi)的文字的高度、筆畫寬度、顏色、文字排列方向、相鄰文字間隔等方面具有特定的視覺上下文信息,模擬“蛇”進食后成長的自然規(guī)律,設(shè)計一種“貪吃蛇”算法將符合一定條件的相鄰文字形成文字行,所述方法主要包括下述子步驟:
從融合二值圖像中任意選取一個真實文字作為初始貪吃蛇,初始貪吃蛇選取符合設(shè)定的相似性合并條件的真實文字,在其周圍區(qū)域不斷地合并文字并成長,直至無符合所述條件的真實文字的出現(xiàn);
相似性合并條件如下:
所述相似性包括顏色相似度、高度相似度、筆畫寬度相似度、文字排列方向相似度以及相鄰文字間間隔;
其中,
“初始貪吃蛇”記為
筆畫寬度相似度:
文字排列方向相似度:
相鄰文字間間隔:
其中,f(k)表示第k個真實文字,
tchar_threshod為顏色相似度閾值,hchar_threshod為高度相似度閾值;
cswc_threshod為筆畫寬度相似度閾值,cswc(f(k))、
i_min為最小間隔距離,i_α為間隔距離權(quán)重系數(shù);
模擬“蛇”進食后成長的自然規(guī)律設(shè)計文字行生長算法,通過不斷更新文字行信息來生成新的文字行,從而提高了文字行生成過程中的自適應(yīng)性。
步驟8:為了獲得以單詞為單元的檢測結(jié)果,本發(fā)明實施例對經(jīng)所述步驟7處理后所得到的所述文字行中的相鄰文字間距進行統(tǒng)計,若相鄰文字之間的間距小于單詞間距閾值,則表明所述相鄰文字屬于同一個單詞,反之,則將所述相鄰文字分割開以實現(xiàn)所述文字行中以單詞為單元的文字分割,本發(fā)明實施例所采用的處理方法主要包括下述子步驟:
步驟8.1計算所述文字行中相鄰文字的平均間隔距離,本發(fā)明實施例所采用的計算方法如下述:
cinterval(oc(k))=abs(crtbmy(oc(k))-crtbmy(oc(k-1)))+abs(crtbmx(oc(k))-crtbmx(oc(k-1)))
其中,oc(k)表示文字行中的第k個文字,oc(k-1)表示文字行中的第k-1個文字,cinterval(oc(k))表示文字行中的文字oc(k)與其相鄰的文字oc(k-1)之間的間隔距離,crtbmy(oc(k))、crtbmx(oc(k))分別表示所述文字行中的文字oc(k)的右下頂點縱坐標與右下頂點橫坐標,crtbmy(oc(k-1))、crtbmx(oc(k-1))分別表示所述文字行中的文字oc(k-1)的右下頂點縱坐標與右下頂點橫坐標,ainterval表示文字行中的相鄰文字之間平均間距。
步驟8.2判斷文字行中的相鄰文字屬于同一個單詞還是不同的單詞,本發(fā)明實施例所采用的判斷方法如下述:
其中,α_threshod為平均間隔距離權(quán)重,在本發(fā)明實施例中,α_threshod=0.75;
上述步驟8完成后,將按照以單詞為分割單元的原則,將文字從自然場景圖像中分割出來并輸出結(jié)果。
本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。