掌桥专利:专业的专利平台
掌桥专利
首页

一种基于深度学习的机车工单信息智能识别方法及系统

文献发布时间:2024-04-18 20:00:50


一种基于深度学习的机车工单信息智能识别方法及系统

技术领域

本发明属于图像处理与人工智能技术领域,特别是涉及一种基于深度学习的机车工单信息智能识别方法及系统。

背景技术

近年来我国政府高度重视人工智能产业发展战略,持续从各方面支持与促进人工智能发展。其中机车工单作为机车检修、运行的重要安全保证,人们往往需要耗费大量的人力物力整理、阅读、以及信息录入。因此为了减少在工单上的耗费的资源成本,高精度地提取到机车工单的具体信息,辅助机车检修等后勤的高效运作,数字化机车工单和相关纸质记录是机车行业走向现代化和智能化的重要步骤,研究出一种可以实际应用的机车工单高精度提取算法具有重大意义。

机车工单信息智能识别存在其特定的技术难点,需要进行无模板工单表格重建、工单内容存在手写文字潦草、模糊、重叠、密集、细小文本等情况,机车工单图像数据采集场景复杂多样,颜色分布极度不均、部分存在严重扭曲。

现有的表格重建技术大多有表格的模板信息,此类技术为有模板重建表格技术。无模板重建表格技术在现有的方法中难以准确地捕捉表格单元格之间的关系,因此准确率低,重建失败率高,尽管现有的光学文字检测识别技术已经在文档的数字化领域取得了不小的成就,但在处理机车工单图像数据中的潦草、模糊、重叠、密集、细小中文手写文本时存在一定的挑战,存在识别不准确,文本检测偏移断框等等情况。相比通用的文字检测识别,机车工单图像数据采集场景复杂多样,需要特定的图像预处理方式和数据增强方式以提高工单数字化的准确性和模型的鲁棒性。

发明内容

(1)要解决的技术问题

本发明公开了一种基于深度学习的机车工单信息智能识别方法及系统,旨在解决难以准确地捕捉表格单元格之间的关系、捕捉准确率低、重建失败率高的问题,对机车工单图像数据中难识别的文本和文本检测偏移断框的问题得到进一步优化,同时,本发明具有特定的图像预处理方式和数据增强方式以提高工单数字化的准确性和模型的鲁棒性。

(2)技术方案

本发明公开了一种基于深度学习的机车工单信息智能识别方法包括以下步骤:

步骤1,获得机车工单图像数据;

步骤2,对机车工单图像数据进行图像预处理得到预处理后的图像数据;

步骤3,利用预处理后的图像数据进行文本检测和文本识别;

步骤4,利用机车工单图像数据以及文本检测和文本识别的结果进行表格无模板重建,获得机车工单图像的文本信息及文本之间的联系。

进一步地,步骤2中,对机车工单图像数据进行图像预处理得到预处理后的图像数据,对应方法包括以下步骤:

步骤211,利用二值化处理方法,对机车工单图像数据转灰度图以后作自适应二值化处理得到二值化图像;

步骤212,通过在二值化图像上寻找最大面积的轮廓的方法,作为工单轮廓;

步骤213,通过对工单轮廓的分析,将该轮廓的横坐标加纵坐标的最小值和最大值分别作为最小坐标即矩形的左上角点以及最大坐标即矩形的右下角点,以两个点为对角线构造一个新矩形;

步骤213,通过对新矩形的部分区域进行图像内容截取,完成机车工单的背景图像预消除;

步骤214,通过对上述轮廓进行四边形拟合,可以得到4个边角点,通过仿射变换把4个边角点映射到新矩形上即可完成机车工单图像数据的矫正和图像背景消除;

步骤215,利用文本方向分类器,对机车工单图像数据的文本方向进行预分类,若文本方向为纵向文本,则将文本区域逆时针旋转90°,若文本方向为横向文本,则保持文本区域不变;

步骤216,通过文本识别的置信度,判断机车工单图像数据方向是否正确,对机车工单图像数据进行方向再矫正。

进一步地,步骤3中,利用预处理后的图像数据进行文本检测和文本识别,对应方法包括以下步骤:

步骤311,利用文本检测网络提取标志牌图像中的文本区域;

步骤312,通过文本识别网络对每个文本区域进行OCR,将图片文本转为可编辑文本。

进一步地,步骤4中,利用机车工单图像数据以及文本检测和文本识别的结果进行表格无模板重建中的无模板表格重建采用HRNet网络框架进行关键点检测,利用扫描线法和连通域法进行表格重建;方法分为单通道方法和四通道方法重建表格,首先会进行四通道方法重建表格,当四通道方法重建失败时,将采用单通道方法重建表格。

进一步地,步骤215中的利用文本方向分类器,对机车工单图像数据的文本方向进行预分类,包括以下步骤:

首先,对机车工单图像数据进行初步的方向矫正,机车工单图像数据未处理前会有随机的四个方向,分别是旋转0°、90°、180°和270°。先将截取的图像送入文本检测网络,得到相应的文本检测结果,若文本方向为纵向文本,则将文本区域逆时针旋转90°,若文本方向为横向文本,则保持文本区域不变;通过设定短文本框数量的阈值,若较短文本框数量高于设定阈值,则将图像顺时针旋转90°;

其次,对机车工单图像数据进行图像方向的再矫正,具体方法为,按照文本检测的结果,选取其中一些长宽比较小的文本框,即文本行较长的文本图像,通过截取文本框中的图像送入文本识别模型,根据设定的置信度阈值,对图像进行旋转。具体地,若文本行置信度低于设定的阈值,则将图像顺时针旋转180°,若文本行置信度大于等于阈值,则保持原图像方向不变。

进一步地,步骤311中的文本检测网络采用改进的增强细小文本区域响应的DBNet框架,其模型设计了针对细小文本区域特征提取模块,并通过后处理的过滤算法和增强算法适应工单文本检测,文本检测网络算法流程包括以下步骤:

步骤31101,输入预处理后的图像数据经过金字塔结构的带形变卷积DCN的ResNet50骨干网络即DCNResNet50骨干网络,增强对细小文本区域特征的响应,根据采样次数输出相应次数的特征,如采样4次即输出4种不同尺度的特征图

其中,

步骤31102,将4种不同尺度的特征图上采样至同一尺寸后进行拼接,得到融合特征

其中,

步骤31103,通过对融合特征

其中,

步骤31104,对概率图与阈值图进行可微二值化操作,得到文本区域的二值图

其中,k1表示预设的比例因子;

步骤31105,通过改进后的后处理算法,过滤无效的文本区域、增强对细小文本的检测响应。

进一步地,步骤312中的文本识别网络采用DCNResNet50骨干网络,并在文本识别网络的训练过程中引入正则项,防止网络过置信;DCNResNet50骨干网络算法包括以下步骤:

步骤31201,输入预处理后的图像数据通过DCNResNet50骨干网络提取图像特征

其中,

步骤31202,图像特征通过三层残差连接的LSTM进行编码,得到编码特征

步骤31203,编码特征分别通过CTC解码器和Attention解码器解码文本。CTC解码寻找文本序列最优序列输出路径作为文本序列输出,Attention解码出预测字符的概率向量(置信度),取概率最大处的位置作为字符编号输出;

步骤31204,通过改进序列置信度计算,使其接近识别准确率,提高人工复检效率;

步骤31205,通过比较二者的置信度大小,置信度较大的作为最终输出的文本序列。

进一步地,步骤31101中的DCN包括以下步骤:

首先输入特征图,利用传统的卷积提取图像特征;

其中

其次再通过一层卷积层,学习形变卷积的偏移量

其中

最后使卷积在平面的x,y方向上进行偏移后进行卷积操作;

其中,

进一步地,步骤31105中的改进后的后处理算法包括以下步骤:

首先对二值图

表示轮廓查找操作,具体地利用了OpenCV(跨平台计算机视觉库)中的/>

其次,对于

再次,通过对

然后对外扩处理后的所有矩形框

然后对二值图

表示图片膨胀操作,具体地,利用了OpenCV(跨平台计算机视觉库)中的

接着,通过对处理前的二值图,和经过上述处理后的二值图进行与或运算,得到新的二值图,具体的操作如下:

其中,

然后对新二值图

然后通过设定的轮廓周长阈值,设定不同的收缩系数r对文本区域进行收缩;

其中,

然后根据输出的轮廓,和收缩偏移量,输出近似的多边形顶点坐标;

其中,

然后计算文本框相应的分数,如果分数小于预先设定阈值则筛除该文本框;

其中

最后计算上述近似多边形的外接矩形的最短边,如果最小外接矩形的最短边小于预先设定值,则筛除该文本框。

进一步地,步骤31203中的Attention解码包括以下步骤:

设输入Attention模块的编码特征

初始化尺寸均为

将编码特征

将编码特征

重复上述操作,直到输出

进一步地,步骤31204中的改进序列置信度计算方法如下:

其中,

进一步地,步骤312中的引入正则项方法如下:

其中

其中,

进一步地,步骤4中的四通道方法重建表格,包括以下步骤:

步骤411,输入机车工单图像数据以及文本检测和文本识别结果;

步骤412,采用HRNet-4关键点检测网络进行检测,得到关键点的类别以及包含所有关键点位置的高斯热图;

步骤413,将高斯热图缩放至和输入表格图像尺寸一致,并通过轮廓中心矩算法得到所有关键点的坐标位置;

具体地,缩放采用OpenCV(跨平台计算机视觉库)中的resize()算法方法实现,并采用双线性内插;

步骤414,使用扫描线法,解析关键点在表格中的结构和位置关系;

步骤415,根据关键点之间的结构位置关系和关键点类别重构出表格中所有的单元格,并转换为需要的标记语言描述;

具体地,根据关键点之间的结构位置关系和关键点类别重构出表格中所有的单元格的步骤如下:

根据五个规则,先找到关键点中所有的左上角点,然后再找到每一个左上角点相对应的右下角点,从而重构出所有的单元格;

具体地,五个规则如下:

规则一,每个点最多只能是一个单元格的左上角点,也最多只能是一个单元格的右下角点;

规则二,当相邻关键点不存在连接关系时,若不存在纵向连接关系,则位于上方的关键点不是左上角点且位于下方的关键点不是右下角点;若不存在横向连接关系,则位于左方的关键点不是左上角点且位于右方的关键点不是右下角点;

规则三,一个单元格的左上角点对应的右下角点所处的列表格线位于该单元格右相邻的单元格的左上角点所处的列表格线的同一列或左方,若没有右相邻的单元格,则该单元格的左上角点对应的右下角点所处的列位于最后一条列表格线的同一列或左方;

规则四,一个单元格的左上角点对应的右下角点所处的列表格线位于该单元格的左上角点所处的列表格线的右方;

规则五,一个单元格的左上角点对应的右下角点为符合规则三、四的点中距离其最近的;

具体地,重构出所有的单元格的步骤如下:

把所有类别为左上角点和十字交叉点关键点构成的集合作为候选左上角点集合,同时也把所有右下角点和十字交叉点关键点构成的集合作为候选右下角点集合;

根据规则二,根据所有相邻关键点之间的连接关系,当相邻关键点不存在纵向连接关系时,则将位于上方的关键点从候选左上角点集合中去掉,同时也将位于下方的关键点从候选右下角点集合中去掉,当相邻关键点不存在横向连接关系时,则将位于左方的关键点从候选左上角点集合中去掉,同时也将位于右方的关键点从候选右下角点集合中去掉,最终得到正式的所有左上角点集合和所有右下角点集合;

根据规则一,由于每个点最多只能是一个单元格的左上角点,也最多只能是一个单元格的右下角点,因此左上角点集合中的左上角点和右下角点集合中的右下角点是一一对应的,接下来只要为所有左上角点集合中的左上角点找到相对应的右下角点,即可重构出所有单元格;

根据规则三,依次取出所有左上角点集合中的一个左上角点,称其为左上角点A,找到与左上角点A位于同一行表格线上的多个左上角点,这些左上角点中位于左上角点A右方且距离左上角点A最近的一个即为左上角点A所处的单元格的右相邻的单元格的左上角点,称其为左上角点B,接下来对所有右下角点的集合进行第一次筛选,去掉位于左上角点B所在的列表格线右方的右下角点,若左上角点A位于表格中的最后一条列表格线上,则不需要进行第一次筛选;

根据规则四,对所有右下角点的集合进行第二次筛选,去掉其中所有不满足所处的列表格线位于左上角点A所处的列表格线的右方的右下角点;

根据规则五,经过两次筛选后剩下的所有右下角点中找到距离左上角点A最近的一个,该右下角点即为左上角点A对应的右下角点,成对的左上角点和右下角点构成一个单元格;

依次找到所有左上角点集合中的左上角点对应的右下角点,即可重构出所有的单元格;

步骤416,根据文本检测和文本识别的结果,填写表格内容,完成无模板重建表格。

进一步地,步骤4中的单通道方法重建表格,包括以下步骤:

步骤421,输入机车工单图像数据以及文本检测和文本识别结果;

步骤422,采用HRNet-1关键点检测网络进行检测,得到一幅包括所有关键点位置信息的高斯热图;

步骤423,将高斯热图缩放至和输入表格图像尺寸一致,并通过步骤413中的轮廓中心矩算法得到所有关键点的坐标位置;

步骤424,使用步骤414中的扫描线法,解析关键点在表格中的结构和位置关系;

步骤425,使用连通域法检测相邻关键点在表格中的结构位置关系;

步骤426,根据关键点之间的结构位置关系和连接关系重构出表格中所有的单元格,并转换为需要的标记语言描述;

具体地,根据关键点之间的结构位置关系和连接关系重构出表格中所有的单元格的步骤如下:

根据五个规则,先找到关键点中所有的左上角点,然后再找到每一个左上角点相对应的右下角点,从而重构出所有的单元格;

具体地,重构出所有的单元格的步骤如下:

把所有关键点构成的集合作为候选左上角点集合,同时也把所有关键点构成的集合作为候选右下角点集合;

根据规则二,根据所有相邻关键点之间的连接关系,当相邻关键点不存在纵向连接关系时,则将位于上方的关键点从候选左上角点集合中去掉,同时也将位于下方的关键点从候选右下角点集合中去掉,当相邻关键点不存在横向连接关系时,则将位于左方的关键点从候选左上角点集合中去掉,同时也将位于右方的关键点从候选右下角点集合中去掉,最终得到正式的所有左上角点集合和所有右下角点集合;

根据规则一,由于每个点最多只能是一个单元格的左上角点,也最多只能是一个单元格的右下角点,因此左上角点集合中的左上角点和右下角点集合中的右下角点是一一对应的,接下来只要为所有左上角点集合中的左上角点找到相对应的右下角点,即可重构出所有单元格;

根据规则三,依次取出所有左上角点集合中的一个左上角点,称其为左上角点A,找到与左上角点A位于同一行表格线上的多个左上角点,这些左上角点中位于左上角点A右方且距离左上角点A最近的一个即为左上角点A所处的单元格的右相邻的单元格的左上角点,称其为左上角点B,接下来对所有右下角点的集合进行第一次筛选,去掉位于左上角点B所在的列表格线右方的右下角点,若左上角点A位于表格中的最后一条列表格线上,则不需要进行第一次筛选;

根据规则四,对所有右下角点的集合进行第二次筛选,去掉其中所有不满足所处的列表格线位于左上角点A所处的列表格线的右方的右下角点;

根据规则五,经过两次筛选后剩下的所有右下角点中找到距离左上角点A最近的一个,该右下角点即为左上角点A对应的右下角点,成对的左上角点和右下角点构成一个单元格;

依次找到所有左上角点集合中的左上角点对应的右下角点,即可重构出所有的单元格;

步骤427,根据文本检测和文本识别的结果,填写表格内容,完成无模板重建表格。

进一步地,轮廓中心距算法,包括以下步骤:

对高斯热图采用高斯模糊算法,以减少热图中轮廓边沿出现的噪点;

然后对高斯热图进行二值化操作,得到二值化图;

对二值化图通过轮廓检测算法进行轮廓检测,得到所有关键点的轮廓;

具体地,轮廓检测算法采用OpenCV(跨平台计算机视觉库)中的findContour()方法实现;

对每一个关键点的轮廓计算其中心距,该中心距即为上述的关键点的坐标位置;

具体地,用轮廓中心矩算法计算关键点

其中,

公式中

进一步地,步骤425中的连通域法包括以下步骤:

遍历所有的相邻关键点,以关键点的位置为圆心,先作一个半径为r的圆,然后得到一个包含这两个相邻关键点为圆心的圆的最小外接矩形作为裁剪区域,接着从表格图像裁剪出相邻关键点所在的局部区域图;

把局部区域图转换为灰度图后,使用高斯低通滤波器进行平滑操作,并使用闭运算把连通域中的缝隙填充,然后使用自适应阈值算法转化为二值图像,接着找到第二大的连通域(最大的连通域为背景,而不是前景);

取局部区域图的高度和宽度中的最大值为

最后设置一个阈值threshold,当

存在连接关系可以分为存在纵向连接关系和存在横向连接关系,若局部区域图的高度大于宽度,则为存在纵向连接关系;若局部区域图的高度小于宽度,则为存在横向连接关系;

不存在连接关系可以分为不存在纵向连接关系和不存在横向连接关系,若局部区域图的高度大于宽度,则为不存在纵向连接关系;若局部区域图的高度小于宽度,则为不存在横向连接关系。

进一步地,扫描线法包括以下步骤:

把表格图像缩放到相同的高度和宽度;

设置一条初始的直线作为行扫描线,并从上往下地在表格图像中垂直移动,每次移动固定的距离

每次移动1个距离

当连续移动人工预设好的

根据行分隔线把所有关键点按行分开,从而得到关键点属于第几条行表格线;

设置一条初始的直线作为列扫描线,并从左往右地在表格图像中水平移动,每次移动固定的距离

每次移动1个距离

当连续移动人工预设好的

根据列分隔线把所有关键点按列分开,从而得到关键点属于第几条列表格线;

优选地,当遇到倾斜的表格,初始的行扫描线斜率需要矫正;首先设置初始的行扫描线为水平直线,进行第一次扫描线法得到位于第一条行表格线的点,接着根据这些点使用最小二乘法求出近似斜率,把该斜率应用在初始的行扫描线上作为矫正的初始行扫描线;

优选地,当遇到倾斜的表格,初始的列扫描线斜率需要矫正;首先设置初始的列扫描线为垂直直线,进行第一次扫描线法得到位于第一条列表格线的点,接着根据这些点的坐标使用最小二乘法求出近似斜率,把该斜率应用在初始的列扫描线上作为矫正的初始列扫描线;

其中,最小二乘法求出近似斜率,计算如下:

表示矫正的扫描线的行/列近似斜率,/>

其中,

具体地,相邻的关键点,指的是属于同一条行表格线,且属于相邻的列表格线上的两个关键点,或属于同一条列表格线,且属于相邻的行表格线上的两个关键点。

进一步地,在步骤3的文本识别中,使用基于困难样本挖掘的半自动数据标注流程,在进一步提升文本识别模型性能上,极大减少了标注成本。

基于困难样本挖掘的半自动数据标注流程,包括以下步骤:

首先,在步骤312中,使用文本识别网络模型对整个训练集(机车工单图像数据)进行数据识别标注,并同时输出CTC解码器和Attention解码器的文本识别结果;

其次,判断CTC解码器和Attention解码器的识别结果是否一致;

当CTC解码器和Attention解码器的识别结果一致时,把相应的结果当作该图像文本的正确标注;

当CTC解码器和Attention解码器的识别结果不一致时,则将该机车工单图像数据定义为困难样本,并需要对困难样本进行人工标注,再将人工标注后的困难样本重新送入步骤312中的文本识别网络进行训练,从而进一步提升文本识别模型性能。

进一步地,在步骤3的文本识别中,采用基于标注的数据和困难样本挖掘的合成方式,通过将真实机车工单图像数据背景、字频出现较低的字符和多种手写字体项结合,能获得贴近真实场景的广阔的工单文本行数据;

基于标注的数据和困难样本挖掘合成,算法如下:

首先,根据机车工单的文本标注和表格位置信息标注,获取所有文字区域的位置信息,避开文本和表格线区域,截取相应的机车工单纸质背景图像信息;

其次,根据机车工单文本行字频较低的标注信息的语料,在提高上述数据标注方案中困难样本语料采样比例的基础上,采样语料信息;

然后,根据语料信息的字符数,确定合成文本行图像的宽度,并通过复制拓展背景图像,得到符合视觉感受和长宽比合适的机车工单纸质背景图像;

最后,选用各种手写字体,在机车工单纸质背景图像上结合字体和语料合成图像。

本发明公开了一种基于深度学习的机车工单信息识别系统包括:机车工单图像数据获取模块、图像预处理模块、图像数据文本检测和文本识别模块、无模板表格重建和文本信息输出模块;机车工单图像数据获取模块,用于获得机车工单图像数据,图像预处理模块,用于述机车工单图像数据进行图像背景消除、图像方向矫正、文本方向进行预分类;图像文本检测和文本识别模块,用于获取文本区域和文本信息;无模板表格重建和文本信息输出模块,用于获得机车工单图像的文本信息及文本之间的联系。

有益效果

与现有技术相比,本发明的有益效果在于:

本发明提出一种基于深度学习的机车工单信息智能识别方法及系统,本发明以机车工单图像数据作为识别对象,通过图像预处理方式、文本检测模型、文本识别模型、采用特定的数据增强的方式,提升了对机车工单信息智能识别的识别精度;通过改进的表格重建算法,实现了机车工单复杂表格的无模板重建;特别在机车工单多类别的识别场景,都能满足机车维修等后勤工作对机车工单识别的高精度性能需求,能够高效识别出各种机车工单的文本信息和通过表格构建的文本之间的联系。

附图说明

图1为本发明流程图;

图2为本发明中步骤215中的文本方向预分类流程图;

图3为本发明中步骤311中的文本检测流程图;

图4为本发明中步骤312中的文本识别流程图;

图5为本发明中步骤4中的四通道重构流程图;

图6为本发明中步骤4中的单通道重构流程图;

图7为本发明中困难样本挖掘的半自动数据标注流程图;

图8为本发明中基于标注的数据和困难样本挖掘合成算法流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了引用和清楚起见,下文中使用的技术名词、简写或缩写总结解释如下:

ResNet:残差神经网络。

DBNet:一种文本检测网络。

OCR:光学字符识别,指将图片文字翻译成计算机可编辑文字的过程。

Linear:神经网络中的全连接层。

Softmax:归一化指数函数。

GRU:神经网络中的门控循环单元。

Concat:一种向量拼接组合操作。

Tanh:双曲正切激活函数。

:神经网络中的反卷积操作

DCN:形变卷积

DCNResNet:带形变卷积地残差神经网络

OpenCV(跨平台计算机视觉库):跨平台计算机视觉和机器学习软件库,包含了图像处理和计算机视觉方面的多种通用算法。

本发明的第一目的,提出一种基于深度学习的机车工单信息智能识别方法。

参考图1;

一种基于深度学习的机车工单信息智能识别方法,包括以下步骤:

步骤1,获得机车工单图像数据;

步骤2,对机车工单图像数据进行图像预处理,包括图像背景消除、图像方向矫正、文本方向进行预分类得到预处理后的图像数据;

步骤3,利用预处理后的图像数据进行文本检测和文本识别;

步骤4,利用机车工单图像数据以及文本检测和文本识别的结果进行表格无模板重建,获得机车工单图像的文本信息及文本之间的联系。

具体的,表格重建的现有方法大多是用基于有固定模板的表格重建,而本发明使用的方法不需要固定的表格模板就可以进行表格重建,即表格无模板重建。

下面结合实例具体说明基于深度学习的机车工单信息智能识别过程。

步骤1,获得机车工单图像数据,具体地,其可接收由采集设备采集,经上游算法处理后得到的单张机车工单图像数据。

步骤2,对机车工单图像数据进行图像预处理,包括图像背景消除、图像方向矫正、文本方向进行预分类得到预处理后的图像数据,对应方法包括以下步骤:

步骤211,利用二值化处理方法,对机车工单图像数据转灰度图以后作自适应二值化处理得到二值化图像;

步骤212,通过在二值化图像上寻找最大面积的轮廓的方法,作为工单轮廓;

步骤213,通过对工单轮廓的分析,将该轮廓的横坐标加纵坐标的最小值和最大值分别作为最小坐标即矩形的左上角点以及最大坐标即矩形的右下角点,以两个点为对角线构造一个新矩形;

步骤213,通过对新矩形的部分区域进行图像内容截取,完成机车工单的背景图像预消除;

步骤214,通过对上述轮廓进行四边形拟合,可以得到4个边角点,通过仿射变换把4个边角点映射到新矩形上即可完成机车工单图像数据的矫正和图像背景消除;

步骤215,利用文本方向分类器,对机车工单图像数据的文本方向进行预分类,若文本方向为纵向文本,则将文本区域逆时针旋转90°,若文本方向为横向文本,则保持文本区域不变;

参考图2;

具体地,如图2所示,在步骤215中,利用文本方向分类器,对机车工单图像数据的文本方向进行预分类,包括以下步骤:

首先,对机车工单图像数据进行初步的方向矫正,机车工单图像数据未处理前会有随机的四个方向,分别是旋转0°、90°、180°和270°。先将截取的图像送入文本检测网络,得到相应的文本检测结果,若文本方向为纵向文本,则将文本区域逆时针旋转90°,若文本方向为横向文本,则保持文本区域不变;通过设定短文本框数量的阈值,若较短文本框数量高于设定阈值,则将图像顺时针旋转90°;

其次,对机车工单图像数据进行图像方向的再矫正,具体方法为,按照文本检测的结果,选取其中一些长宽比较小的文本框,即文本行较长的文本图像,通过截取文本框中的图像送入文本识别模型,根据设定的置信度阈值,对图像进行旋转。具体地,若文本行置信度低于设定的阈值,则将图像顺时针旋转180°,若文本行置信度大于等于阈值,则保持原图像方向不变。

步骤216,通过文本识别的置信度,判断机车工单图像数据方向是否正确,对机车工单图像数据进行方向再矫正。

步骤3,利用预处理后的图像数据进行文本检测和文本识别,对应方法包括以下步骤:

步骤311,利用文本检测网络提取标志牌图像中的文本区域;

步骤312,通过文本识别网络对每个文本区域进行OCR,将图片文本转为可编辑文本信息。

参考图3;

具体地,如图3所示,步骤311中的文本检测网络采用改进的增强细小文本区域响应的DBNet框架,其模型设计了针对细小文本区域特征提取模块,并通过后处理的过滤算法和增强算法适应工单文本检测。

文本检测网络算法流程包括以下步骤:

步骤31101,输入预处理后的图像数据经过金字塔结构的带形变卷积DCN的ResNet50骨干网络即DCNResNet50骨干网络,增强对细小文本区域特征的响应,根据采样次数输出相应次数的特征,如采样4次即输出4种不同尺度的特征图

其中,

具体地,步骤31101中DCN包括以下步骤:

首先输入特征图,利用传统的卷积提取图像特征;

其中

其次再通过一层卷积层,学习形变卷积的偏移量

其中

最后使卷积在平面的x,y方向上进行偏移后进行卷积操作;

其中,

步骤31102,将4种不同尺度的特征图上采样至同一尺寸后进行拼接,得到融合特征

其中,

步骤31103,通过对融合特征

其中,

步骤31104,对概率图与阈值图进行可微二值化操作,得到文本区域的二值图

其中,k1表示预设的比例因子。

步骤31105,通过改进后的后处理算法,过滤无效的文本区域、增强对细小文本的检测响应。

具体地,在步骤31105中,改进后的后处理算法包括以下步骤:

首先对二值图

表示轮廓查找操作,具体地利用了OpenCV(跨平台计算机视觉库)中的/>

其次,对于

再次,通过对

然后对外扩处理后的所有矩形框

然后对二值图

表示图片膨胀操作,具体地,利用了OpenCV(跨平台计算机视觉库)中的

接着,通过对处理前的二值图,和经过上述处理后的二值图进行与或运算,得到新的二值图,具体的操作如下:

其中,

然后对新二值图

然后通过设定的轮廓周长阈值,设定不同的收缩系数r对文本区域进行收缩;

其中,

然后根据输出的轮廓,和收缩偏移量,输出近似的多边形顶点坐标;

/>

其中,

然后计算文本框相应的分数,如果分数小于预先设定阈值则筛除该文本框;

其中

最后计算上述近似多边形的外接矩形的最短边,如果最小外接矩形的最短边小于预先设定值,则筛除该文本框。

参考图4;

具体地,如图4所示,步骤312中,文本识别网络采用DCNResNet50骨干网络,并在文本识别网络的训练过程中引入正则项,防止网络过置信;具体DCNResNet50骨干网络算法包括以下步骤:

步骤31201,输入预处理后的图像数据通过DCNResNet50骨干网络提取图像特征

其中,

步骤31202,图像特征通过三层残差连接的LSTM进行编码,得到编码特征

步骤31203,编码特征分别通过CTC解码器和Attention解码器解码文本。CTC解码寻找文本序列最优序列输出路径作为文本序列输出,Attention解码出预测字符的概率向量(置信度),取概率最大处的位置作为字符编号输出。

具体的,Attention解码包括以下步骤:

设输入Attention模块的编码特征

初始化尺寸均为

将编码特征

将编码特征

重复上述操作,直到输出

步骤31204,通过改进序列置信度计算,使其接近识别准确率,提高人工复检效率,具体地,计算置信度的方法如下;

其中,

步骤31205,通过比较二者的置信度大小,置信度较大的作为最终输出的文本序列。

更进一步地,步骤312中,在文本识别网络的训练过程中引入正则项,防止网络过置信;

其中

其中,

步骤4,利用机车工单图像数据以及文本检测和文本识别的结果进行表格无模板重建,无模板表格重建采用HRNet网络框架进行关键点检测,利用扫描线法和连通域法进行表格重建;方法分为单通道方法和四通道方法重建表格,首先会进行四通道方法重建表格,当四通道方法重建失败时,将采用单通道方法重建表格。

参考图5;

具体的,如图5所示,采用四通道方法重建表格,包括以下步骤:

步骤411,输入机车工单图像数据以及文本检测和文本识别结果;

步骤412,采用HRNet-4关键点检测网络进行检测,得到关键点的类别以及包含所有关键点位置的高斯热图;

步骤413,将高斯热图缩放至和输入表格图像尺寸一致,并通过轮廓中心矩算法得到所有关键点的坐标位置;

具体地,缩放采用OpenCV(跨平台计算机视觉库)中的resize()算法方法实现,并采用双线性内插。

具体地,轮廓中心距算法包括以下步骤:

对高斯热图采用高斯模糊算法,以减少热图中轮廓边沿出现的噪点;

然后对高斯热图进行二值化操作,得到二值化图;

对二值化图通过轮廓检测算法进行轮廓检测,得到所有关键点的轮廓;

具体地,轮廓检测算法采用OpenCV(跨平台计算机视觉库)中的findContour()方法实现。

对每一个关键点的轮廓计算其中心距,该中心距即为上述的关键点的坐标位置;

具体地,用轮廓中心矩算法计算关键点

其中,

公式中

步骤414,使用扫描线法,解析关键点在表格中的结构和位置关系;

具体地,关键点在表格中的结构和位置,即关键点属于第几条行表格线以及第几条列表格线。

具体地,扫描线法包括以下步骤:

把表格图像缩放到相同的高度和宽度。

设置一条初始的直线作为行扫描线,并从上往下地在表格图像中垂直移动,每次移动固定的距离

每次移动1个距离

当连续移动人工预设好的

根据行分隔线把所有关键点按行分开,从而得到关键点属于第几条行表格线;

设置一条初始的直线作为列扫描线,并从左往右地在表格图像中水平移动,每次移动固定的距离

每次移动1个距离

当连续移动人工预设好的

根据列分隔线把所有关键点按列分开,从而得到关键点属于第几条列表格线;

优选地,当遇到倾斜的表格,初始的行扫描线斜率需要矫正;首先设置初始的行扫描线为水平直线,进行第一次扫描线法得到位于第一条行表格线的点,接着根据这些点使用最小二乘法求出近似斜率,把该斜率应用在初始的行扫描线上作为矫正的初始行扫描线。

优选地,当遇到倾斜的表格,初始的列扫描线斜率需要矫正;首先设置初始的列扫描线为垂直直线,进行第一次扫描线法得到位于第一条列表格线的点,接着根据这些点的坐标使用最小二乘法求出近似斜率,把该斜率应用在初始的列扫描线上作为矫正的初始列扫描线。

其中,最小二乘法求出近似斜率,计算如下:

表示矫正的扫描线的行/列近似斜率,/>

其中,

具体地,相邻的关键点,指的是属于同一条行表格线,且属于相邻的列表格线上的两个关键点,或属于同一条列表格线,且属于相邻的行表格线上的两个关键点。

步骤415,根据关键点之间的结构位置关系和关键点类别重构出表格中所有的单元格,并转换为需要的标记语言描述;

具体地,根据关键点之间的结构位置关系和关键点类别重构出表格中所有的单元格的步骤如下:

根据五个规则,先找到关键点中所有的左上角点,然后再找到每一个左上角点相对应的右下角点,从而重构出所有的单元格;

具体地,五个规则如下:

规则一,每个点最多只能是一个单元格的左上角点,也最多只能是一个单元格的右下角点;

规则二,当相邻关键点不存在连接关系时,若不存在纵向连接关系,则位于上方的关键点不是左上角点且位于下方的关键点不是右下角点;若不存在横向连接关系,则位于左方的关键点不是左上角点且位于右方的关键点不是右下角点;

规则三,一个单元格的左上角点对应的右下角点所处的列表格线位于该单元格右相邻的单元格的左上角点所处的列表格线的同一列或左方,若没有右相邻的单元格,则该单元格的左上角点对应的右下角点所处的列位于最后一条列表格线的同一列或左方;

规则四,一个单元格的左上角点对应的右下角点所处的列表格线位于该单元格的左上角点所处的列表格线的右方;

规则五,一个单元格的左上角点对应的右下角点为符合规则三、四的点中距离其最近的;

具体地,重构出所有的单元格的步骤如下:

把所有类别为左上角点和十字交叉点关键点构成的集合作为候选左上角点集合,同时也把所有右下角点和十字交叉点关键点构成的集合作为候选右下角点集合;

根据规则二,根据所有相邻关键点之间的连接关系,当相邻关键点不存在纵向连接关系时,则将位于上方的关键点从候选左上角点集合中去掉,同时也将位于下方的关键点从候选右下角点集合中去掉,当相邻关键点不存在横向连接关系时,则将位于左方的关键点从候选左上角点集合中去掉,同时也将位于右方的关键点从候选右下角点集合中去掉,最终得到正式的所有左上角点集合和所有右下角点集合;

根据规则一,由于每个点最多只能是一个单元格的左上角点,也最多只能是一个单元格的右下角点,因此左上角点集合中的左上角点和右下角点集合中的右下角点是一一对应的,接下来只要为所有左上角点集合中的左上角点找到相对应的右下角点,即可重构出所有单元格;

根据规则三,依次取出所有左上角点集合中的一个左上角点,称其为左上角点A。找到与左上角点A位于同一行表格线上的多个左上角点,这些左上角点中位于左上角点A右方且距离左上角点A最近的一个即为左上角点A所处的单元格的右相邻的单元格的左上角点,称其为左上角点B。接下来对所有右下角点的集合进行第一次筛选,去掉位于左上角点B所在的列表格线右方的右下角点。若左上角点A位于表格中的最后一条列表格线上,则不需要进行第一次筛选;

根据规则四,对所有右下角点的集合进行第二次筛选,去掉其中所有不满足所处的列表格线位于左上角点A所处的列表格线的右方的右下角点;

根据规则五,经过两次筛选后剩下的所有右下角点中找到距离左上角点A最近的一个,该右下角点即为左上角点A对应的右下角点,成对的左上角点和右下角点构成一个单元格;

依次找到所有左上角点集合中的左上角点对应的右下角点,即可重构出所有的单元格。

步骤416,根据文本检测和文本识别的结果,填写表格内容,完成无模板重建表格。

当四通道方法重建失败时,将采用单通道方法重建表格;

参考图6;

具体的,如图6所示,单通道方法重建表格,包括以下步骤:

步骤421,输入机车工单图像数据以及文本检测和文本识别结果;

步骤422,采用HRNet-1关键点检测网络进行检测,得到一幅包括所有关键点位置信息的高斯热图;

步骤423,将高斯热图缩放至和输入表格图像尺寸一致,并通过步骤413中的轮廓中心矩算法得到所有关键点的坐标位置;

步骤424,使用步骤414中的扫描线法,解析关键点在表格中的结构和位置关系;

步骤425,使用连通域法检测相邻关键点在表格中的结构位置关系;

具体地,连通域法包括以下步骤:

遍历所有的相邻关键点,以关键点的位置为圆心,先作一个半径为r的圆,然后得到一个包含这两个相邻关键点为圆心的圆的最小外接矩形作为裁剪区域,接着从表格图像裁剪出相邻关键点所在的局部区域图;

把局部区域图转换为灰度图后,使用高斯低通滤波器进行平滑操作,并使用闭运算把连通域中的缝隙填充,然后使用自适应阈值算法转化为二值图像,接着找到第二大的连通域(最大的连通域为背景,而不是前景);

取局部区域图的高度和宽度中的最大值为

最后设置一个阈值threshold,当

存在连接关系可以分为存在纵向连接关系和存在横向连接关系,若局部区域图的高度大于宽度,则为存在纵向连接关系;若局部区域图的高度小于宽度,则为存在横向连接关系;

不存在连接关系可以分为不存在纵向连接关系和不存在横向连接关系,若局部区域图的高度大于宽度,则为不存在纵向连接关系;若局部区域图的高度小于宽度,则为不存在横向连接关系;

步骤426,根据关键点之间的结构位置关系和连接关系重构出表格中所有的单元格,并转换为需要的标记语言描述;

具体地,根据关键点之间的结构位置关系和连接关系重构出表格中所有的单元格的步骤如下:

根据步骤415中的五个规则,先找到关键点中所有的左上角点,然后再找到每一个左上角点相对应的右下角点,从而重构出所有的单元格;

具体地,重构出所有的单元格的步骤如下:

把所有关键点构成的集合作为候选左上角点集合,同时也把所有关键点构成的集合作为候选右下角点集合;

根据规则二,根据所有相邻关键点之间的连接关系,当相邻关键点不存在纵向连接关系时,则将位于上方的关键点从候选左上角点集合中去掉,同时也将位于下方的关键点从候选右下角点集合中去掉,当相邻关键点不存在横向连接关系时,则将位于左方的关键点从候选左上角点集合中去掉,同时也将位于右方的关键点从候选右下角点集合中去掉,最终得到正式的所有左上角点集合和所有右下角点集合;

根据规则一,由于每个点最多只能是一个单元格的左上角点,也最多只能是一个单元格的右下角点,因此左上角点集合中的左上角点和右下角点集合中的右下角点是一一对应的,接下来只要为所有左上角点集合中的左上角点找到相对应的右下角点,即可重构出所有单元格;

根据规则三,依次取出所有左上角点集合中的一个左上角点,称其为左上角点A。找到与左上角点A位于同一行表格线上的多个左上角点,这些左上角点中位于左上角点A右方且距离左上角点A最近的一个即为左上角点A所处的单元格的右相邻的单元格的左上角点,称其为左上角点B。接下来对所有右下角点的集合进行第一次筛选,去掉位于左上角点B所在的列表格线右方的右下角点。若左上角点A位于表格中的最后一条列表格线上,则不需要进行第一次筛选;

根据规则四,对所有右下角点的集合进行第二次筛选,去掉其中所有不满足所处的列表格线位于左上角点A所处的列表格线的右方的右下角点;

根据规则五,经过两次筛选后剩下的所有右下角点中找到距离左上角点A最近的一个,该右下角点即为左上角点A对应的右下角点,成对的左上角点和右下角点构成一个单元格;

依次找到所有左上角点集合中的左上角点对应的右下角点,即可重构出所有的单元格。

步骤427,根据文本检测和文本识别的结果,填写表格内容,完成无模板重建表格。

本发明的第二目的,提出一种基于深度学习的机车工单信息识别系统,包括:机车工单图像数据获取模块、图像预处理模块、图像数据文本检测和文本识别模块、无模板表格重建和文本信息输出模块。机车工单图像数据获取模块,用于获得机车工单图像数据;图像预处理模块,用于对机车工单图像数据进行图像背景消除、图像方向矫正、文本方向进行预分类;图像文本检测和文本识别模块,用于获取文本区域和文本信息;无模板表格重建和文本信息输出模块,用于获得机车工单图像的文本信息及文本之间的联系。

在数据增强方面,针对工单文字与背景的颜色多样,引入颜色抖动增强方案提高模型鲁棒性;针对机车工单图像数据采集时复杂光照环境,引入亮度抖动增强方案增强对低对比度工单的鲁棒性。

在数据标注方面,现有的数据标注方式,需要耗费大量的人力物力,在文本识别模型得到训练后再想进一步提升模型性能,需要标注大量的数据,本发明提出的基于困难样本挖掘的半自动数据标注流程,在进一步提升文本识别模型性能上,极大减少了标注成本。

参考图7;

具体地,如图7所示,基于困难样本挖掘的半自动数据标注流程的方法包括以下步骤:

首先,在步骤312中,使用文本识别网络模型对整个训练集(机车工单图像数据)进行数据识别标注,并同时输出CTC解码器和Attention解码器的文本识别结果;

其次,判断CTC解码器和Attention解码器的识别结果是否一致;

当CTC解码器和Attention解码器的识别结果一致时,把相应的结果当作该图像文本的正确标注;

当CTC解码器和Attention解码器的识别结果不一致时,则将该机车工单图像数据定义为困难样本,并需要对困难样本进行人工标注,再将人工标注后的困难样本重新送入步骤312中的文本识别网络进行训练,从而进一步提升文本识别模型性能。

参考图8;

具体地,如图8所示,

在数据合成方面,现有的数据合成方式合成的数据与真实数据的分布差异较大,仅能用于预训练阶段,并不能用于直接训练,对模型最终的性能提升有限。本发明采用基于标注的数据和困难样本挖掘的合成方式,通过将真实机车工单图像数据背景、字频出现较低的字符和多种手写字体项结合,能获得贴近真实场景的广阔的工单文本行数据。

具体的,基于标注的数据和困难样本挖掘合成算法如下:

首先,根据机车工单的文本标注和表格位置信息标注,获取所有文字区域的位置信息,避开文本和表格线区域,截取相应的机车工单纸质背景图像信息;

其次,根据机车工单文本行字频较低的标注信息的语料,在提高上述数据标注方案中困难样本语料采样比例的基础上,采样语料信息;

然后,根据语料信息的字符数,确定合成文本行图像的宽度,并通过复制拓展背景图像,得到符合视觉感受和长宽比合适的机车工单纸质背景图像;

最后,选用各种手写字体,在机车工单纸质背景图像上结合字体和语料合成图像。

上述数据增强方案,应用于基于深度学习的机车工单信息智能识别全流程,包括文本检测、文本识别和无模板表格重建;上述数据标注和数据合成方法,主要应用于文本识别模型。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上实施例的各技术特征可以进行任意的组合,同时,每个步骤的标号,并不是用于约束步骤之间的先后顺序,只要步骤之间不存在严格的先后约束,其顺序是允许调整变换的。为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

相关技术
  • 一种装配式桥梁抗震基础
  • 一种装配式桥梁抗震基础
技术分类

06120116544205