1.一种基于自启发式策略的自然场景文字检测方法,其特征在于,包括以下步骤:步骤1:将待检测的彩色自然场景图像进行灰度转换,得到灰度自然场景图像;
步骤2:对灰度自然场景图像分别进行正面、反面二值化处理,获得对应的两幅初始二值图像;
步骤3:分别从步骤2获得的两幅初始二值图像中标记出所有的连通组件,并将各连通组件的最小外接矩形所包含的文字区域视为文字初步候选区域,并依据文字先验信息对文字初步候选区域进行初步筛选,得到文字候选区域;
步骤4:根据连通组件结构特点,分别在经过步骤3筛选后得到的两幅二值化图像中对具有相同空间坐标位置的图像区域进行融合处理,并得到融合二值图像;
步骤5:召回漏检文字区域;
步骤5.1:将步骤4处理后的文字视为种子文字;
步骤5.2:以种子文字的大小、倾斜度以及相邻文字的间隔距离构建自启发式搜索策略,确定检测窗口位置和大小;
步骤5.3:视检测窗口所覆盖的灰度自然场景图像区域为文字候选区域,采用深度神经网络对文字候选区域进行识别,并依据该文字候选区域的分类置信度来确定其类别:
1)设置二级分类阈值,包括文字区域分类置信度高阈值与文字区域分类置信度低阈值;
2)若文字候选区域的分类置信度低于设定的文字区域分类置信度低阈值,则该文字候选区域为伪文字区域,予以剔除,进入步骤5.4;
3)若文字候选区域的分类置信度高于设定的文字区域分类置信度高阈值,则该文字候选区域为文字区域,将该文字候选区域作为新的种子文字,返回步骤5.2,获取新的检测窗口;
4)若文字候选区域的分类置信度高于设定的文字区域分类置信度低阈值且低于设定的文字区域分类置信度高阈值,则该文字候选区域为可疑文字区域;
将可疑文字候选区域对应的检测窗口在其邻近区域滑动,得到一组新的检测窗口:若所有新的检测窗口对应文字候选区域的分类置信度的最大值高于设定的文字区域分类置信度高阈值,则将最大分类置信度对应的文字候选区域视为文字区域,同时将具有最大分类置信度的文字候选区域作为新的种子文字,返回步骤5.2,获取新的检测窗口;反之则该文字候选区域为伪文字区域,予以剔除,进入步骤5.4;
步骤5.4:若每个种子文字对应的检测窗口区域均已识别完毕,则完成漏检文字的召回,否则,返回步骤5.3继续识别下一个种子文字对应的检测窗口区域;
所述启发式搜索策略确定的检测窗口如下:
其中,Xwindow、Ywindow、Wwindow、Hwindow分别表示所述检测窗口的左顶点横坐标、纵坐标、检测窗口宽度以及检测窗口高度,Xseed、Yseed、Wseed、Hseed分别表示种子文字区域的左顶点横坐标、左顶点纵坐标、检测窗口宽度以及检测窗口高度;IW、IH分别表示输入图像的宽度与高度,kWx、 kWw、kWh分别表示检测窗口左顶点横坐标变化量权值、左顶点纵坐标变化量权值、检测窗口宽度变化量权值以及检测窗口高度变化量权值,θ为角度取样值,kWx、kWw、kWh、θ的取值是通过采用经验取值的方式而获得;
步骤6:以步骤4中的融合二值图像的文字区域和经步骤5召回的文字区域作为最终的真实文字,在最终的真实文字中,将符合一定条件的相邻文字形成文字行;
步骤7:对经所述步骤6处理后所得到的所述文字行中的相邻文字间距进行统计,若相邻文字之间的间距小于所设置的间距阈值,则表明所述相邻文字同属于一个单词,反之则将所述相邻文字分割开以实现所述文字行中以单词为单元的文字分割。
2.根据权利要求1所述的方法,其特征在于,在两幅二值化图像中对具有相同空间坐标位置的图像区域进行文字前景和伪文字前景的判断,步骤如下:步骤4.1:统计所述两幅二值化图像中所有连通组件中大于所设定的笔画宽度阈值的边缘像素数目;
步骤4.2:对于每一个连通组件,若经步骤4.1统计得到的符合设定条件边缘像素数目超过设定的像素数目阈值,则判断该连通组件为文字前景,反之则为背景;
对每个连通组件中大于所设定的笔画宽度阈值的边缘像素数目的统计过程如下:步骤4.1.1:采用Canny算子对连通组件进行边缘提取,依据所提取的边缘像素依次统计连通组件的平均笔画宽度,并基于平均笔画宽度设置间隔阈值;
步骤4.1.2:分别沿着水平方向、垂直方向、45度斜对角方向、145度反斜对角方向在所述两幅二值化图像中设置扫描线,并提取扫描线上的边缘像素;
所述扫描线包括3条水平方向扫描线、3条垂直方向扫描线、1条45度斜对角方向扫描线以及1条145度反斜对角方向扫描线;
位于3条水平方向扫描线上的像素依次设定为IE(round(I_h/4),j)、IE(round(I_h/2),j)、IE(round(3×I_h/4),j),j∈[1,I_w];
位于3条垂直方向扫描线上的像素依次设定为IE(i,round(I_w/4))、IE(i,round(I_w/
2))、IE(i,round(3×I_w/4)),i∈[1,I_h];
位于45度斜对角方向扫描线上的像素依次设定为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度反斜对角方向扫描线上的像素依次设定为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()为取整函数,max()表示为取最大值函数;
步骤4.1.3:若同一扫描线上的相邻像素之间的距离大于设定的笔画宽度阈值,即:Dist(IE(i,j),IE(m,n))>γ×Swt_ave则将符合设定条件的边缘像素数目加1,否则,对下一对相邻像素进行判断,直到所有扫描线上所有相邻像素全部判断完毕,完成每个连通组件中大于所设定的笔画宽度阈值的边缘像素数目的统计;
其中,IE(i,j)、IE(m,n)为沿着所述某个方向扫描线上的两相邻的边缘像素,Swt_ave为当前连通组件的平均笔画宽度,Dist()为计算沿着某一条扫描线上的相邻像素之间距离的函数;γ为笔画宽度阈值权重系数,通过经验取值的方式而获得。
3.根据权利要求2所述的方法,其特征在于,对步骤4中得到的融合二值图像中的文字候选区域,结合上下文信息,利用训练好的深度神经网络对其进行分类处理,将分类为伪文字区域的文字候选区域予以剔除后,再用于步骤6形成文字行,具体过程如下:步骤A:以文字候选区域为中心设置当前文字候选区域的影响区域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))分别表示影响区域Aroi在融合二值图像中的左顶点横坐标与左顶点纵坐标;min(Img_w,round(λw×WSeed))、min(Img_h,round(λh×HSeed))分别表示影响区域Aroi的宽度与高度;Img_w、Img_h表示融合二值图像的宽度与高度,i、j分别表示文字候选区域在所述二值图像中的左顶点横坐标与左顶点纵坐标,HSeed、WSeed分别表示文字候选区域的高度与宽度;λh、λw均为影响区域权重系数,通过经验取值的方式而获得;
步骤B:将所述影响区域中的所有文字候选区域作为待分类目标依次输入已预先训练好的深度神经网络中进行识别,将输出的识别结果视为待分类的文字候选区域的置信度值,记为该文字候选区域的初始分类置信度值;
步骤C:设置分类置信度评价函数,利用分类置信度评价函数值作为文字候选区域的最终分类置信度值;
所述分类置信度评价函数如下述:
其中,Cchar(O(k))和Cfinal(O(k))分别表示文字候选区域O(k)的初始分类置信度值和最终分类置信度值;O(k)表示融合二值图像中的第k个文字候选区域,N(i)表示文字候选区域O(k)所对应的影响区域中的第i个相邻文字候选区域,N为文字候选区域O(k)所对应的影响区域中除文字候选区域O(k)以外的文字候选区域总数目;D(N(i),O(k))、Hchar(N(i),O(k))Tchar(N(i),O(k))依次表示文字候选区域O(k)与其对应的影响区域中的文字候选区域N(i)之间的上下文置信度权值、高度相似度和颜色相似度;Cα、Cβ、Cγ分别为邻近文字候选区域N(i)的置信度权重系数、文字候选区域O(k)与其邻近文字候选区域N(i)之间的高度相似度权重系数以及颜色相似度权重系数,通过对训练样本进行学习而获得;
PH(O(k))、PS(O(k))、PI(O(k))分别表示文字候选区域O(k)的色度直方图、色饱和度直方图以及亮度直方图;PH(N(i))、PS(N(i))、PI(N(i))分别表示文字候选区域O(k)所对应的影响区域中的文字候选区域N(i)的色度直方图、色饱和度直方图以及亮度直方图;
H(O(k))、H(N(i))分别表示文字候选区域O(k)以及文字候选区域O(k)所对应的影响区域中的文字候选区域N(i)的高度;Cdistance(N(i),O(k))表示文字候选区域O(k)与所对应的影响区域中的文字候选区域N(i)之间的中心距离;Adiagonal(O(k))表示文字候选区域O(k)所对应的影响区域的对角线长度,abs()表示取绝对值函数;
步骤D:设置分类置信度阈值Cthreshod,将融合二值图像中的每一个文字候选区域的最终分类置信度值与设置的分类置信度阈值按以下公式进行判断,并将分别满足下述条件的文字候选区域视为真实文字或者伪文字;
其中,分类置信度阈值Cthreshod通过对训练样本进行学习而获得。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述步骤6形成文字行时,采用基于同一文字行内的文字的高度、笔画宽度、颜色、文字排列方向、相邻文字间间隔具有关联的视觉上下文信息,采用模拟“蛇”进食后成长的自然规律,将符合一定条件的相邻文字形成文字行,具体步骤如下:从融合二值图像中任意选取一个真实文字作为初始贪吃蛇,初始贪吃蛇选取符合设定的相似性合并条件的真实文字,在其周围区域不断地合并文字并成长,直至无符合所述条件的真实文字的出现;
相似性合并条件如下:
所述相似性包括颜色相似度、高度相似度、笔画宽度相似度、文字排列方向相似度以及相邻文字间间隔;
其中, 分别为 和F(k)之
间的颜色相似度、高度相似度和笔画宽度相似度;
F(k))表示“贪吃蛇” 与第k-1个真实文字F(k-1)的倾斜角与表示“贪吃蛇” 与图像中真实文字F(k)的倾斜角之间的差值;
表示“贪吃蛇” 与第k-1个真实文字F(k-1)的间隔距离,为“贪吃蛇” 与其相邻的第k-1个真实文字F(k-1)间隔距离阈值;
表示“贪吃蛇” 与第k个真实文字F(k)的间隔距离,
为“贪吃蛇” 与其相邻的第k个真实文字F(k)间隔距离阈值;
“初始贪吃蛇”记为 初始贪吃蛇第一次进食后所生长得到的“贪吃蛇”记为 所述“初始贪吃蛇”第k次进食后所生长得到的“贪吃蛇”记为
笔画宽度相似度:
文字排列方向相似度:
相邻文字间间隔:
其中,F(k)表示第k个真实文字, 表示所选定的“初始贪吃蛇”, 表示“初始贪吃蛇”在合并k-1个真实文字后生长得到的“贪吃蛇”;
Tchar_Threshod为颜色相似度阈值,Hchar_Threshod为高度相似度阈值;Cswc_Threshod为笔画宽度相似度阈值,Cswc(F(k))、 分别表示第k个真实文字F(k)的平均笔画宽度与“贪吃蛇” 的平均笔画宽度;
表示“贪吃蛇” 与第k-1个真实文字F(k-1)之间的倾斜角,Dangle_Threshod为文字排列方向相似度阈值;
CYcenter(F(k-1))、CYcenter(F(k))分别表示“贪吃蛇”的中心区域的纵坐标、“贪吃蛇” 的中心区域的纵坐标、第k-1个真实文字F(k-1)的纵坐标、第k个真实文字F(k)的纵坐标, CXcenter(F(k-1))、CXcenter(F(k))分别表示“贪吃蛇” 的中心区域的横坐标、“贪吃蛇” 的中心区域的横坐标、第k-1个真实文字F(k-1)的中心区域的横坐标、第k个真实文字F(k)的中心区域的横坐标;
I_min为最小间隔距离,I_α为间隔距离权重系数; CRtBmY(F(k-1))、CRtBmY(F(k))分别表示“贪吃蛇” 的中心区域右下顶点的纵坐标、“贪吃蛇”的中心区域右下顶点的纵坐标、第k-1个真实文字F(k-1)右下顶点的纵坐标、第k个真实文字F(k)右下顶点的纵坐标;abs()为取绝对值函数,arctan()为反正切函数,max()和min()分别为取最大值和取最小值函数,Tchar_Threshod、Hchar_Threshod、Cswc_Threshod、Dangle_Threshod、I_min、I_α的取值是通过采用经验取值的方式得到。
5.根据权利要求4所述的方法,其特征在于,对经所述步骤6提取的文字行中的相邻文字间距进行统计,若相邻文字之间的间距小于单词间距阈值,则表明所述相邻文字同属于一个单词,反之,则将所述相邻文字分割开以实现所述文字行中以单词为单元的文字分割;
步骤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:依据文字行中相邻文字的平均间隔距离判断文字行中的相邻文字是否属于同一个单词:
其中,α_threshod为平均间隔距离权重,所述距离权重α_threshod的取值是通过对训练样本的学习而得到;
步骤7.3:将属于同一单词的文字分割为一个整体,完成对每个文字行中的单词划分。
6.根据权利要求5所述的方法,其特征在于,所述步骤2中进行二值化处理的过程如下:步骤2.1:采用Niblack方法对灰度自然场景图像进行局部二值化处理得到初始二值化结果;
步骤2.2:建立能量函数并对所述能量函数采用图割方法求解其全局最优解以修正所述二值化初始结果,其中,所构建的能量函数公式为:
E(f|I,n)=Elocal(f|I,n)+Esmooth(f|I)其中,Elocal(f|I,n)用来评价灰度自然场景图像的最终二值化结果与初始二值化结果之间的差异;
Elocal(f|I,n)=∑p(i)elocal(p(i))其中,elocal(p(i))表示像素p(i)的平滑度,Esmooth(f|I)根据相邻像素的相似度来评价平滑程度;
Esmooth(f|I)=λ∑(p(i),p(j))∈Mesmooth(p(i),p(j))其中,I表示灰度自然场景图像, 和 分别表示灰度
自然场景图像中像素的最终二值化结果和初始二值化结果;p(i)、p(j)表示灰度自然场景图像中的第i个像素和第j个像素,Nt表示灰度自然场景图像中的像素数目, 表示灰度自然场景图像进行拉普拉斯变换并取绝对值后的归一化值,M表示邻域数,x表示像素坐标位置,c表示RGB颜色,σg和σc表示归一化常数,λ表示平滑系数,M、σg、σc、λ是采用经验取值的方式获得。
7.根据权利要求6所述的方法,其特征在于,根据彩色自然场景图像中的文字先验信息设置文字区域判决条件,对文字初步候选区域进行筛选,将不符合文字区域判决条件的文字初步候选区域剔除;文字区域判决条件为:(Thw=max(H(xi),W(xi)))∈[Thw_min,α×max(Iwidth,Iheight)](Rhw=max(H(xi)/W(xi),W(xi)/H(xi)))
Rhw为连通组件xi的宽高比和高宽比的最大值,Rhw_max为最大阈值;
A(xi)为连通组件xi的面积,最小阈值为A_min,最大阈值占图像面积的比例为β,α、β、Thw_min、Rhw_max、A_min是通过对训练样本进行学习而获得。
8.一种基于自启发式策略的自然场景文字检测系统,其特征在于,包括:图像采集和预处理模块:采集待检测图像,并将采集的彩色自然场景图像转换为灰度自然场景图像;
二值处理模块:对经过图像预处理后的灰度自然场景图像进行二值化处理以得到对应的二值图像,标记所述二值图像中的所有连通组件,并将各连通组件最小外接矩形所包含的区域视为文字初步候选区域;
融合模块:对灰度自然场景图像分别进行正面、反面二值化处理后,基于连通组件对图像区域中的文字对比度类型进行判断,将二值图像中的文字统一为前景,非文字区域统一为背景,得到融合二值图像;
漏检文字召回模块:将融合二值图像中所有的文字候选区域视为种子文字,根据种子文字的大小、倾斜度、以及相邻文字间隔距离信息构建自启发式搜索策略,结合所述训练好的深度神经网络采用滑动检测窗口的方式在种子文字的附近区域召回漏检文字;
文字行生成模块:对经过前述步骤处理后保留下来的所有真实文字进行分析,将符合一定条件的相邻文字形成文字行;
单词为单元分割模块,对所述文字行中的相邻文字间距进行统计,若相邻文字之间的间距小于单词间距阈值,则表明所述相邻文字属于同一个单词,反之,则将所述相邻文字分割开,以实现所述文字行中以单词为单元的文字分割;
所述漏检文字召回模块采用权利要求1-3任一项所述的方法进行漏检文字召回处理。
9.根据权利要求8所述的系统,其特征在于,所述文字行生成模块采用基于同一文字行内的文字的高度、笔画宽度、颜色、文字排列方向、相邻文字间间隔具有关联的视觉上下文信息,采用模拟“蛇”进食后成长的自然规律,将符合一定条件的相邻文字形成文字行;
具体过程为采用权利要求4所述的方法实现。
10.根据权利要求9所述的系统,其特征在于,还包括文字候选区域筛选模块,分为文字候选区域初次筛选模块和文字候选区域深度筛选模块;
所述文字候选区域初次筛选模块:根据彩色自然场景图像中的文字先验信息设置文字区域判决条件,对图像中的每一个文字候选区域进行分析,将符合所述文字区域判决条件的文字候选区域予以保留,反之则作为伪文字区域予以剔除;
所述文字候选区域深度筛选模块:对经融合模块处理后的融合二值图像中所有的文字候选区域,结合文字上下文信息,利用训练好的深度神经网络进行进一步分类处理,将判断为伪文字的文字候选区域予以剔除,反之,则视为真实文字区域予以保留。