本發(fā)明屬于計算機視覺技術(shù)領(lǐng)域,具體涉及自然場景圖像文字檢測方法,可用于自動提取圖像中的文字。
背景技術(shù):
隨著移動互聯(lián)網(wǎng)的飛速發(fā)展及智能手機等移動電子設備的普及,自然場景圖像的獲取和傳輸變得越來越便捷。自然場景圖像中的文字包含了豐富的信息,人們期待計算機能代替人類自動地檢測并提取圖像的文字信息,并將這項技術(shù)走向產(chǎn)業(yè)化發(fā)展,投向日常的生產(chǎn)和生活中,如將文字識別技術(shù)應用于無人駕駛汽車、盲人導航、工業(yè)自動化、互聯(lián)網(wǎng)信息挖掘、電商打假、品牌曝光率調(diào)研等領(lǐng)域。
與傳統(tǒng)的光學字符識別不同,自然場景中的文字信息提取難點在于待檢測和識別的文字處于復雜的自然場景中,如真實的街道和商場場景等,因此圖像具有復雜性和多變性的特點,且存在噪聲、模糊以及角度傾斜、文字字體多變等問題。近年來,面向自然場景的文字識別研究雖然取得了一定的成果,但是與實際應用要求還存在較大的差距。因此,面向自然場景的文字識別方法的研究不僅具有重要的理論研究意義,而且具有廣闊的應用前景。
自然場景文字識別主要包含了兩個子問題:文字檢測和字符識別。其中最受關(guān)注的是文字檢測問題。文字檢測是指對圖像中是否存在文字信息進行確認,若存在文字信息則需要對文字進行定位及分割。因此,如何準確的提取出文字區(qū)域?qū)ψ匀粓鼍拔淖肿R別有重要的意義。
目前,在提取文字區(qū)域方法中,最常用的是最大極值穩(wěn)定區(qū)域算子MSER。MSER是一種經(jīng)典的連通區(qū)域檢測算子。MSER算子具有非常強的魯棒性,可以檢測到低質(zhì)量的文字,例如低對比度、低分辨率和模糊退化。同時因為在自然場景中有很多類似文字的場景元素的存在,如門窗、欄桿、樹葉網(wǎng)孔、燈柱等,而且這些非文字元素在形狀和顏色上與文字非常的相似,所以檢測到了許多不是文字的MSER連通區(qū)域,導致文字檢測的準確率下降。這是基于最大極值穩(wěn)定區(qū)域進行文字定位的最主要挑戰(zhàn)之一。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于針對上述已有技術(shù)的不足,提出一種基于連通域的自然場景圖像文字檢測的方法,以保證檢測速度,提高文字檢測的準確率。
本發(fā)明的思路是:直接對自然場景圖像進行灰度變換,利用連通域檢測算子MSER提取字符候選區(qū)域,根據(jù)字符的基本幾何特性以及筆畫寬度特性來濾掉一些非字符區(qū)域,將剩余字符區(qū)域合并為文本行后,依次輸入到訓練好的卷積神經(jīng)網(wǎng)絡CNN字符檢測器中進行檢測,過濾掉沒有字符的區(qū)域,得到最終的文字區(qū)域。其技術(shù)方案包括如下步驟:
1)輸入原始圖像I,并對其進行灰度變換得到灰度圖像IG;
2)對灰度圖像IG,利用最大穩(wěn)定極值區(qū)域算子MSER提取字符候選區(qū)域,得到字符候選區(qū)域圖像Im;
3)根據(jù)字符區(qū)域的基本幾何特性過濾掉Im中一些不含有字符的候選區(qū)域,得到初步過濾后的字符候選區(qū)域圖像I1;
3a)計算Im每一個字符候選區(qū)域的外接矩形邊界框;
3b)計算每個外接矩形邊界框的長寬比,將長寬比大于10的字符候選區(qū)域去除;
3c)計算剩余字符候選區(qū)域的歐拉數(shù),將歐拉數(shù)小于-4的字符候選區(qū)域去除;
3d)計算與剩余字符候選區(qū)域具有相同標準二階中心矩的橢圓離心率,將離心率大于0.995的候選區(qū)域去除;
3e)計算剩余字符候選區(qū)域的固靠性程度值,將該值小于0.3的候選區(qū)域去除,得到初步過濾后的字符候選區(qū)域圖像I1;
4)根據(jù)字符筆畫寬度特性進一步過濾掉I1中一些不含有字符的候選區(qū)域,得到最終的過濾后字符區(qū)域候選圖像I2;
4a)分別計算出I1中每個字符候選區(qū)域的筆畫寬度均值和筆畫寬度標準偏差;
4b)計算出筆畫寬度均值與標準偏差的比值,將比值大于0.5的字符候選區(qū)域去掉,得到再次過濾后字符候選區(qū)域圖像I2;
5)將I2中剩余的字符候選區(qū)域合并為文本行區(qū)域;
5a)將I2中剩余的字符候選區(qū)域用邊界框標定;
5b)分別計算每一對相鄰的邊界框的重疊區(qū)域面積值Sr和這兩個重疊區(qū)域的總面積值Sa,獲得這兩個面積的比值;
5c)依次將比值為非零的字符候選區(qū)域進行連接,合并成文本行區(qū)域;
6)將文本行區(qū)域依次輸入到卷積神經(jīng)網(wǎng)絡CNN文字檢測器中,去除掉不含有文字的文本行區(qū)域,得到最終含有文字的文本行區(qū)域。
本發(fā)明由于對輸入的自然場景圖像進行灰度變換后,利用最大極值穩(wěn)定區(qū)域算子MSER提取字符候選區(qū)域,并通過所述的三個步驟過濾掉不含有文字的候選區(qū)域,從而準確的檢測出自然場景圖像中的文字。與現(xiàn)有的技術(shù)相比,在保證檢測速度的同時,極大的提高了文字檢測的準確率。
附圖說明
圖1是本發(fā)明的實現(xiàn)流程圖;
圖2是用本發(fā)明對谷歌街景圖像庫中的自然場景圖像進行文字檢測的結(jié)果圖;
圖3是用本發(fā)明對谷歌街景圖像庫中的字體傾斜的圖像進行文字檢測的結(jié)果圖;
圖4是用本發(fā)明對ICDAR 2011圖像庫中的含有商店標題的圖像進行文字檢測的結(jié)果圖;
圖5是用本發(fā)明對ICDAR 2011圖像庫中的有遮擋的圖像進行文字檢測的結(jié)果圖。
具體實施方式
參照圖1,本發(fā)明基于連通域的自然場景圖像文字檢測的方法,包括如下步驟:
步驟1:獲取灰度圖像IG。
輸入原始圖像I,對原始圖像進行灰度變換,得到該圖像的灰度圖像IG。
步驟2:獲取字符候選區(qū)域圖像Im。
利用連通區(qū)域檢測算子MSER對灰度圖像IG進行區(qū)域檢測,得到包含有文字和非文的連通區(qū)域,將這些連通區(qū)域作為字符候選區(qū)域,并將這些字符候選區(qū)域在圖像IG上以彩色形式顯示出來,得到字符候選區(qū)域圖像Im。
步驟3:過濾掉字符候選區(qū)域圖像Im中一些不含有文字的候選區(qū)域,得到初步過濾后的字符候選區(qū)域圖像I1。
3a)依次計算字符候選區(qū)域圖像Im中每個字符候選區(qū)域的最上邊的像素點坐標(xu,yu)、最下邊的像素點坐標(xd,yd)、最右邊的像素點坐標(xr,yr)、最左邊的像素點坐標(xl,yl),其中xu、xd、xr、xl分別代表最上邊、最下邊、最右邊、最左邊的像素點橫坐標,yu、yd、yr、yl分別代表最上邊、最下邊、最右邊、最左邊的像素點縱坐標;
3b)根據(jù)如下公式計算出每個候選區(qū)域的中心坐標(xc,yc):
xc=(xr+xl)/2
yc=(yu+yd)/2
其中xc代表區(qū)域中心的橫坐標,yc代表區(qū)域中心的縱坐標;
3c)計算每個字符候選區(qū)域?qū)耐饨泳匦蔚膶抴和長l:
w=xr-xl,l=y(tǒng)u-yd;
3d)依次以點(xc,yc)為中心繪制寬為w,長為l的矩形邊界框;
3e)計算w和l的比值,將比值大于10的字符候選區(qū)域去除;
3f)依次統(tǒng)計剩余的每個字符候選區(qū)域的連接體數(shù)C和孔洞數(shù)H;
3g)計算候選區(qū)域歐拉數(shù)的值E:E=C-H;
3h)將E小于-4的字符候選區(qū)域去除;
3I)計算與剩余字符候選區(qū)域具有相同標準二階中心矩的橢圓離心率e,即通過調(diào)用Matlab中的regionprops函數(shù)求解得到橢圓離心率e:
e=regionprops(L,'eccentricity')
其中,e代表離心率的值,L代表待檢測的字符候選區(qū)域,eccentricity代表離心率參數(shù);
3J)將e大于0.995的字符候選區(qū)域去除;
3k)計算剩余字符候選區(qū)域的固靠性程度值s,即通過調(diào)用Matlab中的regionprops函數(shù)求解得到固靠性程度值s:
s=regionprops(L,'solidity')
其中,s代表固靠性程度值,L代表待檢測的字符候選區(qū)域,solidity代表固靠性程度值參數(shù)。
3l)將s小于0.3的候選區(qū)域去除,得到初步過濾后的字符候選區(qū)域圖像I1。
步驟4:對初步過濾后的字符候選區(qū)域圖像I1中的不含有文字的候選區(qū)域進一步過濾,得到最終過濾后的字符區(qū)域候選圖像I2。
4a)通過調(diào)用Matlab中的距離變換bwdist函數(shù)求得初步過濾后的字符候選區(qū)域圖像I1中的每個字符候選區(qū)域的筆畫寬度矩陣S:
S=bwdist(L)
其中L代表待檢測的字符候選區(qū)域;
4b)通過調(diào)用Matlab中的mean函數(shù)求得S對應的筆畫寬度均值Y:
Y=mean(S)
4c)通過調(diào)用Matlab中的std函數(shù)求得S對應的筆畫寬度方差δ:δ=std(S);
4d)計算Y與δ的比值,將比值大于0.5的字符候選區(qū)域去掉,得到最終過濾后字符候選區(qū)域圖像I2;
步驟5:將剩余的字符候選區(qū)域合并為文本行區(qū)域。
5a)將I2中剩余的字符候選區(qū)域用邊界框標定;
5b)分別計算每一對相鄰的邊界框的重疊區(qū)域面積值Sr和這兩個重疊區(qū)域的總面積值Sa,獲得這兩個面積的比值;
5c)依次將比值為非零的字符候選區(qū)域進行連接,合并成文本行區(qū)域。
步驟6:將文本行區(qū)域依次輸入到卷積神經(jīng)網(wǎng)絡CNN文字檢測器中,過濾掉不含有文字的文本行區(qū)域,得到最終含有文字的文本行區(qū)域。
本發(fā)明的效果可通過以下仿真實驗進一步說明:
1、仿真實驗條件
本發(fā)明的仿真在windows 7,CPU Intel(R)core(TM)i5-2400,基本頻率3.20GHz,軟件平臺為Matlab 2015b運行。
仿真實驗數(shù)據(jù)來自谷歌街景圖像庫和ICDAR 2011圖像庫。
2、仿真內(nèi)容與結(jié)果
仿真一,用本發(fā)明對谷歌街景圖像庫中的自然場景圖像進行文字檢測,結(jié)果如圖2。
從圖2可以看出,本發(fā)明能夠準確的檢測出自然場景圖像中的文字。
仿真二,用本發(fā)明對谷歌街景圖像庫中的字體傾斜的圖像進行文字檢測,結(jié)果如圖3。
從圖3可以看出,在拍攝角度傾斜的情況下,本發(fā)明能夠準確的檢測出字體傾斜的圖像中的文字。
仿真三,用本發(fā)明對ICDAR 2011圖像庫中的含有商店標題的圖像進行文字檢測,結(jié)果如圖4。
從圖4可以看出,本發(fā)明能夠準確的檢測出含有商店標題的圖像中的文字。
仿真四,用本發(fā)明對ICDAR 2011圖像庫中的有遮擋的圖像進行文字檢測,結(jié)果如圖5。
從圖5可以看出,在有遮擋的情況下,本發(fā)明能夠準確的檢測出有遮擋的圖像中的文字。