发明内容
本申请的目的在于提供一种图像文本检测方法及其系统,可以解决光照变化给文本检测带来的不利影响。
为了解决上述问题,本申请公开了一种图像文本检测方法,包括:
对获取的原始图像进行边缘检测;
对检测得到的边缘图像进行轮廓检测,并计算检测出的每个轮廓的最小外接矩形;
将该外接矩形进行按约定顺序排列;
按照该排列后的顺序,根据每一个该外接矩形的位置,从该原始图像获取对应位置的子图像进行字符识别。
在一优选例中,该对获取的原始图像进行边缘检测的步骤中:
使用Canny算子对获取的原始图像进行边缘检测。
在一优选例中,该计算检测出的每个轮廓的最小外接矩形的步骤之后还包括:
根据预先设定的长宽比范围去除长宽比不在该范围之内的外接矩形。
在一优选例中,该将该外接矩形进行按约定顺序排列的步骤进一步包括:
计算每一个外接矩形的高度,将高度值按大小排序,取高度值序列的中间部分的平均值作为基准值,以获得图像中字符的平均高度;
将该外接矩形按在图像中的空间位置,从左到右,从上到下依次排列;
根据各个该外接矩形的中心位置和平均高度,分割出各字符行。
在一优选例中,该将该外接矩形进行按约定顺序排列的步骤之后,还包括:
根据该外接矩形的长宽比,对该外接矩形进行合并和/或分割。
在一优选例中,该将该外接矩形进行按约定顺序排列的步骤之后,还包括:
根据该字符的平均高度设置面积阈值;
去除面积小于该面积阈值的外接矩形。
在一优选例中,该将该外接矩形进行按约定顺序排列的步骤之后,还包括:
根据每一个该外接矩形的位置,从该原始图像获取对应位置的子图像,将所获取的子图像使用训练好的卷积神经网络模型分类器进行分类,进一步排除不包含文本的外接矩形。
在一优选例中,该获取的原始图像是课堂录播图像。
本申请还公开了一种图像文本检测系统,包括:
边缘检测模块,用于对获取的原始图像进行边缘检测;
轮廓检测模块,用于对检测得到的边缘图像进行轮廓检测,并计算检测出的每个轮廓的最小外接矩形;
排列模块,用于将该外接矩形进行按约定顺序排列;
识别模块,用于按照该排列后的顺序,根据每一个该外接矩形的位置,从该原始图像获取对应位置的子图像进行字符识别。
本申请还公开了一种图像文本检测系统,包括:
存储器,用于存储计算机可执行指令;以及,
处理器,用于在执行该计算机可执行指令时实现如前文描述的方法中的步骤。
本申请还公开了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现如前文描述的方法中的步骤。
本申请实施方式中,先对原始图像进行边缘检测,再获取边缘图像的轮廓,得到每个轮廓的最小外接矩形,对各外接矩形进行排序后,截取原始图像中对应于每个外接矩形的位置的子图像,再对各个子图像进行OCR,由此得到的文本对于光照条件有良好的鲁棒性,文本识别的准确率高。
本申请的说明书中记载了大量的技术特征,分布在各个技术方案中,如果要罗列出本申请所有可能的技术特征的组合(即技术方案)的话,会使得说明书过于冗长。为了避免这个问题,本申请上述发明内容中公开的各个技术特征、在下文各个实施方式和例子中公开的各技术特征、以及附图中公开的各个技术特征,都可以自由地互相组合,从而构成各种新的技术方案(这些技术方案均因视为在本说明书中已经记载),除非这种技术特征的组合在技术上是不可行的。例如,在一个例子中公开了特征A+B+C,在另一个例子中公开了特征A+B+D+E,而特征C和D是起到相同作用的等同技术手段,技术上只要择一使用即可,不可能同时采用,特征E技术上可以与特征C相组合,则,A+B+C+D的方案因技术不可行而应当不被视为已经记载,而A+B+C+E的方案应当视为已经被记载。
具体实施方式
在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。
本发明第一实施方式涉及一种图像文本检测方法。图1是该图像文本检测方法的流程示意图。该图像文本检测方法包括:
在步骤101中,对获取的原始图像进行边缘检测。在本申请了一个实施例中,获取的原始图像是课堂录播图像。课堂录播图像往往会受到光照的影响比较大,例如在黑板上会有部分区域被阳光照射,或者因为窗户、灯光等原因可能有局部的反光,本申请的技术方案在课堂录播图像的文本检测方面效果尤为显著。但这并不意味着本申请的技术方案只能用于这个领域,只要有可能会受到比较复杂的光照条件的影响,在整个图像上可能会有亮一块暗一块的情况,都可以使用本申请的技术方案大大提高文本检测的准确率。
此后进入步骤102,对检测得到的边缘图像进行轮廓检测,并计算检测出的每个轮廓的最小外接矩形。
此后进入步骤103,根据预先设定的长宽比范围去除长宽比不在该范围之内的外接矩形。本步骤为可选步骤。由于中文、英文以及数字字符都具有一定的长宽比,因而根据步骤102中的最小外接矩形的长宽比,可以去除一些狭长的非文本框矩形
此后进入步骤104,将步骤103执行之后剩余的外接矩形按约定顺序排列。可选地,本步骤在对外接矩形排列是可以同时获得外接矩形的长宽比和字符平均高度(即外接矩形的平均高度)等信息,从而有助于之后的其他处理。
此后进入步骤105,根据外接矩形的长宽比,对外接矩形进行合并。本步骤为可选步骤。本步骤可以根据长宽比使过分的字符合并,从而进一步提高文本识别的准确率。
此后进入步骤106,根据外接矩形的长宽比,对外接矩形进行分割。本步骤为可选步骤。步骤105和步骤106的顺序可互换。本步骤可以根据长宽比使粘连的字符分割,从而进一步提高文本识别的准确率。
此后进入步骤107,根据字符的平均高度设置面积阈值,去除面积小于面积阈值的外接矩形。本步骤为可选步骤。本步骤可以根据字符平均高度设置相关面积阈值,排除较小的干扰矩形框,有效减少非文本内容被误判为文本字符的情况。
此后进入步骤108,根据每一个外接矩形的位置,从原始图像获取对应位置的子图像,将所获取的子图像使用训练好的卷积神经网络模型分类器进行分类,进一步排除不包含文本的外接矩形(即非文本区域)。本步骤为可选步骤。
此后进入步骤109,按照排列后的顺序,根据每一个外接矩形的位置,从原始图像获取对应位置的子图像进行字符识别。在一个实施例,按照从上到下、从左到右的顺序,逐一地获取每一个外接矩形的位置,根据所获取的矩形位置,从原始图像获取该外接矩形位置所对应的子图像,(换句话说,该子图像也是一个矩形,在原始图像的坐标系中,子图像的四个顶点的坐标与该外接矩形四个顶点的坐标是一样的,该子图像的面积大小和该外接矩形也是一样的),然后对按照顺序读取的各个子图像逐一进行OCR识别,一般一个子图像是一个字符,最终将这个字符按照外接矩形的顺序依次排列,从而得到文字序列。在其它实施例中,也可以按照其他顺序,例如对于古汉语文本识别时可以按照从右到左,从上到下的顺序。
本实施方式中,先对原始图像进行边缘检测,再获取边缘图像的轮廓,得到每个轮廓的最小外接矩形,对各外接矩形进行排序后,截取原始图像中对应于每个外接矩形的位置的子图像,再对各个子图像进行OCR,由此得到的文本对于光照条件有良好的鲁棒性,文本识别的准确率高。
下面具体说明本实施方式的一些实现的细节。
在步骤101中对原始图像进行边缘检测的方法可以是多种多样的。优选地,使用Canny算子对获取的原始图像进行边缘检测,其中课堂录播视频帧图像是由教室内摄像头实时抓取得到,为RGB彩色图像;Canny算子采用双阈值检测边缘并进行非极大值抑制,效果要比Sobel等算子强。可选地,使用Sobel算子进行边缘检测。可选地,使用Isotropic Sobel算子进行边缘检测。可选地,使用Roberts算子进行边缘检测。可选地,使用Prewitt算子进行边缘检测。可选地,使用Laplacian算子进行边缘检测。
可选地,步骤104进一步包括以下子步骤:
计算每一个外接矩形的高度,将高度值按大小排序(形成一个高度值序列),取高度值序列的中间部分的平均值作为基准值(例如取,高度值序列中间的百分之五十或七十的数据取平均),以获得图像中字符的平均高度。这便于后续字符分行处理以及一些干扰处理
将外接矩形按在图像中的空间位置,从左到右,从上到下依次排列。
根据各个外接矩形的中心位置和平均高度,分割出各字符行。
当然,本领域的技术人员可以理解,步骤104也可以用其他的方式来实现,例如可以按照从右到左从上到下的顺序排列各外接矩形,又如可以用各外接矩形高度的中位数作为图像中字符的平均高度。
步骤108也有多种实现方式,一个例子如下:
1、在通过边缘+轮廓检测之后,获取到文字的区域之后,将区域对应位置放置到原图中,截图出对应图像区域块;
2、对图像区域块进行先进行灰度处理,然后进行二值化处理,然后在放入文本非文本的二分类器中进行分类,可采用神经网络分类器,也可以采用其他分类器,例如更为简单的SVM(支持向量机)分类器来处理。在一个例子中,使用的是HOG(梯度方向直方图)。
根据实际测试,相对于直接使用外接矩形中的轮廓图像来进行分类训练测试和识别,本申请实施例所采用的的通过截取原图中的位置上对应于各个外接矩形的子图像进行分类训练和识别,可以更好地把不包含文本内容的把外接矩形排除掉,取得了比较好的实际效果。
本实施方式取得了显著地效果,具体地说:
图3是课堂录播图像的灰度图,该图的左侧可以看到一大块明显的亮斑。对该灰度图进行二值化处理后得到图4所示的结果,对该灰度图进行用Canny算子进行边缘检测后得到图5所示的结果。使用本实施方式的技术方案进行处理后,在步骤108后可以得到图6所示的结果,而根据现有技术对原始图像二值化后进行文本检测的结果如图7所示。对比图6和图7,可以看到图6基本上把所有的文字都框出来了,光斑的影响几乎没有,而图7则对光斑非常敏感,图像左侧有大块区域无法正常识别。将图6和图7的结果分别进行OCR,图6的文本识别效果远远好于图7。
本发明第二实施方式涉及一种图像文本检测系统。图2是该图像文本检测系统的结构示意图。该图像文本检测系统包括:
边缘检测模块,用于对获取的原始图像进行边缘检测。
轮廓检测模块,用于对检测得到的边缘图像进行轮廓检测,并计算检测出的每个轮廓的最小外接矩形。
排列模块,用于将外接矩形按约定顺序排列。
识别模块,用于按照排列后的顺序,根据每一个外接矩形的位置,从原始图像获取对应位置的子图像进行字符识别。
第一排除模块,用于对轮廓检测模块输出的各个外接矩形,根据预先设定的长宽比范围去除长宽比不在该范围之内的外接矩形。此模块是可选的。
第二排除模块,用于对排列模块输出的各个外接矩形,根据外接矩形的长宽比,对外接矩形进行合并和/或分割。此模块是可选的。
第三排除模块,用于对排列模块输出的各个外接矩形,根据字符的平均高度设置面积阈值,去除面积小于面积阈值的外接矩形。此模块是可选的。
第四排除模块,用于对排列模块输出的各个外接矩形,根据每一个外接矩形的位置,从原始图像获取对应位置的子图像,将所获取的子图像使用训练好的卷积神经网络模型分类器进行分类,进一步排除不包含文本的外接矩形。此模块是可选的。
第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
需要说明的是,本领域技术人员应当理解,上述图像文本检测系统的实施方式中所示的各模块的实现功能可参照前述图像文本检测方法的相关描述而理解。上述图像文本检测系统的实施方式中所示的各模块的功能可通过运行于处理器上的程序(可执行指令)而实现,也可通过具体的逻辑电路而实现。本发明实施方式上述用户设备如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施方式的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施方式所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施方式不限制于任何特定的硬件和软件结合。
相应地,本发明实施方式还提供一种计算机存储介质,其中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现本发明的各方法实施方式。
此外,本发明实施方式还提供一种图像文本检测系统,其中包括用于存储计算机可执行指令的存储器,以及,处理器;该处理器用于在执行该存储器中的计算机可执行指令时实现上述各方法实施方式中的步骤。
为了能够更好的理解本申请的技术方案,下面提供一个具体的实施例,该实施例仅便于理解,并不作为对本申请保护范围的限定。
(1)将教室场景中摄像头抓取的视频帧图像进行Canny边缘检测,得到边缘图像cannyImg;
(2)获取边缘检测图像cannyImg的轮廓,并计算对每个轮廓的最小外接矩形,得到外接矩形集合boundRects;
(3)根据字符常规性长宽比,设置长宽比阈值H_W_Ratio,在实现过程中,主要采用长宽比大于6或者小于1/6,来去除一些狭长的非文本框外接矩形,得到更新后的boundRects外接矩形集合;
(4)将剩余的外接矩形按行排列,具体如下:
1.计算boundRects中所有外接矩形高度,选取中间部分外接矩形的高度的平均值meanVal作为基准高度,中间部分所占比例选为60%;
2.根据中心位置,将boundRects所有外接矩形按在图像中的空间位置从左到右,从上倒下排列;
3.根据各个外接矩形的中心位置,以meanVal的两倍为阈值,分隔出字符行;
(5)在字符行内,设置长宽比阈值highThres,一般设置为0.6-0.8,现采用0.6,高于highThres的外接矩形与邻近合并;
(6)在字符行内,设置长宽比阈值lowThres,一般设置为1.5-2之间,现采用2,低于lowThres的外接矩形以平均分割的方式分割成多个外接矩形;
(7)将每行中一些面积较小的外接矩形框排除,通过步骤(4)中获取的字符平均高度设置相关面积阈值areaThres,排除较小的干扰外接矩形框;
(8)采用训练好的卷积神经网络模型分类器,进一步排除非文本区域,提高检测文本字符的正确率,具体如下:
1).采用两层卷积层和两层池化层以及一个全连接层构建分类器网络,采用一些字符边缘图像和非字符边缘图像进行二分类训练,训练图像尺度大小统一缩放到64*64;
2).将候选外接矩形框区域图像输入分类器网络中,输出预测结果得分score,如score大于0.7,则判定其是文字字符,否则剔除;
(9)按照排列后的顺序,根据每一个外接矩形的位置,从原始图像获取对应位置的子图像进行OCR识别,得到文本集合。
需要说明的是,在本专利的申请文件中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本专利的申请文件中,如果提到根据某要素执行某行为,则是指至少根据该要素执行该行为的意思,其中包括了两种情况:仅根据该要素执行该行为、和根据该要素和其它要素执行该行为。多个、多次、多种等表达包括2个、2次、2种以及2个以上、2次以上、2种以上。
在本申请提及的所有文献都在本申请中引用作为参考,就如同每一篇文献被单独引用作为参考那样。此外应理解,在阅读了本申请的上述讲授内容之后,本领域技术人员可以对本申请作各种改动或修改,这些等价形式同样落于本申请所要求保护的范围。