基于深度学习的图片敏感文字检测方法及装置
文献发布时间:2023-06-19 12:07:15
技术领域
本申请属于人工智能技术领域,具体涉及一种基于深度学习的图片敏 感文字检测方法及装置。
背景技术
随着互联网监管的加强,普通文本形式的非法信息已经很难传播,许 多组织和个人改用图片的方式散播敏感信息。当前,图片方式已成为互联 网敏感信息传播的主要途径之一,图片敏感文字检测是确保网络中传递的 信息合法的必要手段。现有从图像中识别文字研究主要包括基于连通域、 基于纹理和基于边缘的方法,基于连通域方法利用图片中的颜色特征来确 定连通区域,再根据几何特征对确定了的连通区域进行鉴别,最后对鉴别后的连通区域合并得到文字区域,之后对文字区域中的全部文字进行敏感 文字检测;基于纹理方法将文本区域看作是一种特殊纹理,它将图片分成 若干块,对每个块进行纹理特征提取,再用纹理分析方法对文字区域进行 确认,之后对文字区域中的全部文字进行敏感文字检测;基于边缘的方法 根据图片中文字与图片背景的对比度来完成定位文字区域,之后对文字区 域中的全部文字进行敏感文字检测。
上述方法存在文字区域定位效率慢问题,并且都是直接对文字区域中 的全部文字进行敏感文字检测,计算复杂程度高且正确率低。
发明内容
为至少在一定程度上克服现有从图像中识别文字方法存在文字区域定 位效率慢,并且都是直接对文字区域中的全部文字进行敏感文字检测,计 算复杂程度高且正确率低的问题,本申请提供一种基于深度学习的图片敏 感文字检测方法及装置。
第一方面,本申请提供一种基于深度学习的图片敏感文字检测方法, 包括:
获取待检测图片;
对所述待检测图片进行连通域标记得到连通区域标记图片;
提取所述连通区域标记图片中的文字区域;
对文字区域中的文字进行分割获取单个字符区域;
将单个字符区域输入敏感文字检测模型输出分类结果,以根据分类结 果识别待检测图片是否包含敏感文字。
进一步的,所述对所述待检测图片进行连通域标记得到连通区域标记 图片,包括:
对待检测图片进行灰度二值化处理得到灰度图片;
对灰度图片利用游程编码方法和递归方法进行连通区域标记;
对标记的连通区域对应到原始图片的相应位置并将其从原始图片中分 割出来以得到连通区域标记图片。
进一步的,所述提取所述连通区域标记图片中的文字区域,包括:
将连通区域标记图片输入训练完成的限制玻尔兹曼机;
将训练完成的限制玻尔兹曼机的输出结果输入第一softmax分类器进 行输出分类标记以获取文字区域。
进一步的,还包括:
使用梯度下降法训练含有两层结构的限制玻尔兹曼机,所述两层结构 包括可视层和隐含层;
利用最小化损失函数求解获得可视层节点与隐含层节点的连接权值得 到训练完成的限制玻尔兹曼机。
进一步的,所述对文字区域中的文字进行分割获取单个字符区域包括:
将文字区域中的文字之外的背景信息去除以得到无冗余文字区域;
利用水平投影对无冗余文字区域进行文本行分割;
利用区域生成方法对文本行进行行内文字分割以获取单个字符区域。
进一步的,所述将单个字符区域输入敏感文字检测模型输出分类结果, 包括:
建立基于BP算法和深信度网络算法的敏感文字检测模型;
将单个字符区域输入到训练完成的基于BP算法和深信度网络算法的 敏感文字检测模型输出各个字符的特征参数;
将各个字符的特征参数输入第二softmax分类器,第二softmax分 类器根据特征参数对应到相应的输出节点得到分类结果。
进一步的,还包括:
训练基于BP算法和深信度网络算法的敏感文字检测模型,具体包括:
建立词汇训练集,词汇训练集包括带有标签数据敏感词汇和非敏感词 汇;
将词汇训练集中的词汇输入到深信度网络算法的可视层中,经过训练 学习得到权值参数;
利用BP算法对权值参数进行优化得到训练完成的基于BP算法和深信 度网络算法的敏感文字检测模型。
第二方面,本申请提供一种基于深度学习的图片敏感文字检测装置, 包括:
获取模块,用于获取待检测图片;
标记模块,用于对所述待检测图片进行连通域标记得到连通区域标记 图片;
提取模块,用于提取所述连通区域标记图片中的文字区域;
分割模块,用于对文字区域中的文字进行分割获取单个字符区域;
识别模块,用于将单个字符区域输入敏感文字检测模型输出分类结果, 以根据分类结果识别待检测图片是否包含敏感文字。
本申请的实施例提供的技术方案可以包括以下有益效果:
本发明实施例提供的基于深度学习的图片敏感文字检测方法及装置, 通过获取待检测图片,对待检测图片进行连通域标记得到连通区域标记图 片,提取连通区域标记图片中的文字区域,对文字区域中的文字进行分割 获取单个字符区域,将单个字符区域输入敏感文字检测模型输出分类结果, 以根据分类结果识别待检测图片是否包含敏感文字,不仅可以快速准确地 定位到文字区域,并且对文字区域分割成单个字符区域后再进行敏感文字 检测,计算复杂程度降低的同时提高识别正确率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释 性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申 请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请一个实施例提供的一种基于深度学习的图片敏感文字检 测方法的流程图。
图2为本申请另一个实施例提供的一种基于深度学习的图片敏感文字 检测方法的流程图。
图3为本申请一个实施例提供的一种待检测图片。
图4为本申请一个实施例提供的一种连通区域标记图片。
图5为本申请一个实施例提供的一种限制玻尔兹曼机结构图。
图6为本申请一个实施例提供的一种训练集中图片。
图7为本申请一个实施例提供的一种文字区域输出结果图。
图8为本申请一个实施例提供的一种字符分割结果图。
图9-1为本申请一个实施例提供的一种敏感文字检测结果图。
图9-2为本申请一个实施例提供的另一种敏感文字检测结果图。
图10为本申请一个实施例提供的一种部分训练样本特征数据图。
图11为本申请一个实施例提供的一种基于深度学习的图片敏感文字 检测装置的功能结构图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技 术方案进行详细的描述。显然,所描述的实施例仅仅是本申请一部分实施 例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员 在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申 请所保护的范围。
图1为本申请一个实施例提供的基于深度学习的图片敏感文字检测方 法的流程图,如图1所示,该基于深度学习的图片敏感文字检测方法,包 括:
S11:获取待检测图片;
S12:对待检测图片进行连通域标记得到连通区域标记图片;
S13:提取连通区域标记图片中的文字区域;
S14:对文字区域中的文字进行分割获取单个字符区域;
S15:将单个字符区域输入敏感文字检测模型输出分类结果,以根据分 类结果识别待检测图片是否包含敏感文字。
现有从图像中识别文字研究主要包括基于连通域、基于纹理和基于边 缘的方法,基于连通域方法利用图片中的颜色特征来确定连通区域,再根 据几何特征对确定了的连通区域进行鉴别,最后对鉴别后的连通区域合并 得到文字区域,之后对文字区域中的全部文字进行敏感文字检测;基于纹 理方法将文本区域看作是一种特殊纹理,它将图片分成若干块,对每个块 进行纹理特征提取,再用纹理分析方法对文字区域进行确认,之后对文字区域中的全部文字进行敏感文字检测;基于边缘的方法根据图片中文字与 图片背景的对比度来完成定位文字区域,之后对文字区域中的全部文字进 行敏感文字检测。这些方法存在文字区域定位效率慢问题,并且都是直接 对文字区域中的全部文字进行敏感文字检测,计算复杂程度高且正确率低。
本实施例中,通过获取待检测图片,对待检测图片进行连通域标记得 到连通区域标记图片,提取连通区域标记图片中的文字区域,对文字区域 中的文字进行分割获取单个字符区域,将单个字符区域输入敏感文字检测 模型输出分类结果,以根据分类结果识别待检测图片是否包含敏感文字, 不仅可以快速准确地定位到文字区域,并且对文字区域分割成单个字符区 域后再进行敏感文字检测,计算复杂程度降低的同时提高识别正确率。
图2为本申请另一个实施例提供的一种基于深度学习的图片敏感文字 检测方法的流程图,如图2所示,该基于深度学习的图片敏感文字检测方 法,包括:
S201:获取待检测图片;
待检测图片如图3所示;
S202:对待检测图片进行灰度二值化处理得到灰度图片;
S203:对灰度图片利用游程编码方法和递归方法进行连通区域标记;
S204:对标记的连通区域对应到原始图片的相应位置并将其从原始图 片中分割出来以得到连通区域标记图片。
连通区域标记图片如图4所示;
S205:将连通区域标记图片输入训练完成的限制玻尔兹曼机;
限制玻尔兹曼机(Restricted Boltzmann Machine,RBM)结构图如图5 所示;两层限制玻尔兹曼机较于单层限制玻尔兹曼机而言,增加了节点的 权重,提高了泛化能力和分类精度。
S206:将训练完成的限制玻尔兹曼机的输出结果输入第一softmax分 类器进行输出分类标记以获取文字区域。
采用有监督的特征学习,给定一个图片训练集,在图片训练集中包含 三种图片样式,分别为仅有文字的图片、无文件的图片和有文字有图画的 图片,如图6所示。通过两层限制玻尔兹曼机处理,将图片文字区域进行 判别提取,然后利用softmax分类器将其输出并标记为文字结果,输出结 果如图7所示。
一些实施例中,还包括:
使用梯度下降法训练含有两层结构的限制玻尔兹曼机,所述两层结构 包括可视层和隐含层;
利用最小化损失函数求解获得可视层节点与隐含层节点的连接权值得 到训练完成的限制玻尔兹曼机。
限制玻尔兹曼机能够很好地对神经网络的权重进行初始化,使用梯度 下降法训练限制玻尔兹曼机能够尽可能地避免局部最小的情况。
S207:将文字区域中的文字之外的背景信息去除以得到无冗余文字区 域;
S208:利用水平投影对无冗余文字区域进行文本行分割;
S209:利用区域生成方法对文本行进行行内文字分割以获取单个字符 区域。
文字分割是把文字区域中的文字之外的背景信息去除只得到其中的文 字信息,并把文字区域分割成以单个字符为单位的小区域的过程。将提取 出来的文字区域采用投影法和区域生成方法对字符进行分割得到单个字符 区域如图8所示。
S210:将单个字符区域输入敏感文字检测模型输出分类结果,以根据 分类结果识别待检测图片是否包含敏感文字。
一些实施例中,将单个字符区域输入敏感文字检测模型输出分类结果, 包括:
S2101:建立基于BP算法和深信度网络算法的敏感文字检测模型;
S2102:将单个字符区域输入到训练完成的基于BP算法和深信度网络 算法的敏感文字检测模型输出各个字符的特征参数;
S2103:将各个字符的特征参数输入第二softmax分类器,第二 softmax分类器根据特征参数对应到相应的输出节点得到分类结果。
一些实施例中,还包括:
训练基于BP算法和深信度网络算法的敏感文字检测模型,具体包括:
建立词汇训练集,词汇训练集包括带有标签数据敏感词汇和非敏感词 汇;
将词汇训练集中的词汇输入到深信度网络算法的可视层中,经过训练 学习得到权值参数;
利用BP算法对权值参数进行优化得到训练完成的基于BP算法和深信 度网络算法的敏感文字检测模型。
将BP(back propagation,后反馈神经网络)算法与深信度网络(Deep BeliefNetwork,DBN)算法相结合,BP算法可以起到对DBN的权值进行 优化的作用,DBN在利用非监督贪婪逐层方法获取它的生成性权值之后, 通过BP算法根据带标签数据去对判别性能做调整。BP对DBN训练仅仅是 完成局部参数空间搜索,加快训练和收敛时间。
采用有监督的学习,人为地对词汇训练集中的敏感词和非敏感词进行 标记。词汇训练集中包括网络中可能会出现的大量敏感词汇以及非敏感词 汇并分别各自带有标签数据0和1,0表示非敏感词汇,1代表敏感词汇。 将词汇训练集输入到DBN可视层中,经过训练学习得到权值参数。然后利 用BP算法对得到的权值参数进行优化。最后顶层采用softmax分类器, 根据特征参数对应到相应的输出节点进行输出。最后标签数据为1的输出 节点中的样本便是含有敏感文字信息的样本,本文对两张图片进行敏感文 字检测的结果如图9-1、图9-2所示(假设“培训”二字为敏感文字)。
为了验证我们提出的算法有效性,在Microsoft Visual Studio 2010 环境下,基于C++语言编程进行敏感文字检测实验。
首先对实验图片中的文字区域进行字符分割处理,将得到的字符数据 放入训练集文件夹,并将这些分割出来的字符图片像素点分布数据作为特 征数据依次放入.txt文本文档中,其中每一行代表一个字符图片(如图 10所示)。将.txt里的数据导入到第一层RBM的可视层中,进行有监督 的学习,获得各个字符的特征参数,将敏感文字和非敏感文字输出到各自 的输出节点中。
检测过程,测试集中含有1000个测试样本(该样本中的字符已经在学 习过程中得到学习),根据学习过程得到的各个字符特征参数,对测试样 本进行敏感性判断,将判断得到的结果输出到各自的输出节点中。
实验结果:实验步骤中学习5383个字符特征参数所花时间为140s, 而对1000个字符敏感文字检测的时间仅为3s。本实验测试敏感文字结果 与一层RBM和支持向量机(SVM)对贬义词的检测结果进行比较,得到结果 如表1所示。
表1本申请研究方法与一层RBM、SVM算法的比较
表1中对1000个样本进行识别,正确识别率达到了93.7%,而采用RBM 和SVM对1000个样本进行识别的正确识别率分别为82.3%和79.4%。由实 验可以看出,采用本申请的方法的识别正确率明显高于使用一层RBM和使 用支持向量机(SVM)方法的识别正确率,从而说明本申请方法在敏感文字 检测方面更稳定,更高效。
本实施例中,引入基于玻尔兹曼机原理的方法来对图片中的文字区域 进行判别和提提高文字区域定位的速度和准确度,利用BP神经网络算法和 深信度网络算法结合对敏感文字进行检测弥补现有方法在图像中敏感文字 直接检测的不足,以期获得图像中敏感文字快速检测的方法。不仅对图片 敏感文字的检测具有很好的鲁棒性,而且提高了检测速率和效率。
本发明实施例提供一种基于深度学习的图片敏感文字检测装置,如图 11所示的功能结构图,该基于深度学习的图片敏感文字检测装置包括:
获取模块111,用于获取待检测图片;
标记模块112,用于对待检测图片进行连通域标记得到连通区域标记 图片;
提取模块113,用于提取连通区域标记图片中的文字区域;
分割模块114,用于对文字区域中的文字进行分割获取单个字符区域;
识别模块115,用于将单个字符区域输入敏感文字检测模型输出分类 结果,以根据分类结果识别待检测图片是否包含敏感文字。
本实施例中,通过获取模块获取待检测图片,标记模块对待检测图片 进行连通域标记得到连通区域标记图片,提取模块提取所述连通区域标记 图片中的文字区域,分割模块对文字区域中的文字进行分割获取单个字符 区域。识别模块将单个字符区域输入敏感文字检测模型输出分类结果,以 根据分类结果识别待检测图片是否包含敏感文字,不仅可以快速准确地定 位到文字区域,并且对文字区域分割成单个字符区域后再进行敏感文字检 测,计算复杂程度降低的同时提高识别正确率。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一 些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用 于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描 述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解 为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行 指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括 另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能 按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例 所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来 实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合 适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现, 和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们 的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻 辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部 或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储 于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤 之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块 中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一 个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功 能组件的形式实现。所述集成的模块如果以软件功能组件的形式实现并作为 独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示 例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描 述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例 中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或 示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多 个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施 例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申 请的范围内可以对上述实施例进行变化、修改、替换和变型。
需要说明的是,本发明不局限于上述最佳实施方式,本领域技术人员在 本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作 任何变化,凡是具有与本申请相同或相近似的技术方案,均落在本发明的保 护范围之内。
- 基于深度学习的图片敏感文字检测方法及装置
- 一种基于深度学习的文字检测方法及装置