CN113392833B - 一种工业射线底片图像铅字编号识别方法 - Google Patents
一种工业射线底片图像铅字编号识别方法 Download PDFInfo
- Publication number
- CN113392833B CN113392833B CN202110649764.3A CN202110649764A CN113392833B CN 113392833 B CN113392833 B CN 113392833B CN 202110649764 A CN202110649764 A CN 202110649764A CN 113392833 B CN113392833 B CN 113392833B
- Authority
- CN
- China
- Prior art keywords
- image
- detection
- value
- algorithm
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000001514 detection method Methods 0.000 claims abstract description 95
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 54
- 238000012545 processing Methods 0.000 claims abstract description 24
- 238000003708 edge detection Methods 0.000 claims abstract description 6
- 238000007781 pre-processing Methods 0.000 claims abstract description 5
- 238000012549 training Methods 0.000 claims description 42
- 230000011218 segmentation Effects 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 11
- 238000002372 labelling Methods 0.000 claims description 9
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 238000011478 gradient descent method Methods 0.000 claims description 4
- 230000009286 beneficial effect Effects 0.000 claims description 3
- 230000000295 complement effect Effects 0.000 claims description 3
- 230000001133 acceleration Effects 0.000 claims description 2
- 238000013145 classification model Methods 0.000 claims description 2
- 230000000877 morphologic effect Effects 0.000 claims description 2
- 238000013519 translation Methods 0.000 claims description 2
- 238000012795 verification Methods 0.000 claims description 2
- 238000013135 deep learning Methods 0.000 abstract description 9
- 230000008859 change Effects 0.000 abstract description 3
- 230000004927 fusion Effects 0.000 abstract description 3
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 230000000694 effects Effects 0.000 description 9
- 238000013480 data collection Methods 0.000 description 4
- 238000012015 optical character recognition Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- CWYNVVGOOAEACU-UHFFFAOYSA-N Fe2+ Chemical compound [Fe+2] CWYNVVGOOAEACU-UHFFFAOYSA-N 0.000 description 1
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 239000000956 alloy Substances 0.000 description 1
- 229910045601 alloy Inorganic materials 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
Abstract
本发明涉及底片字符识别和人工智能技术领域,具体涉及一种工业射线底片图像铅字编号识别方法,基于深度学习和边缘特征,包括数据收集模块、图像检测模块和字符处理模块。本发明采用了包括传统边缘检测和深度学习方法在内的融合算法,可以有效的提高识别准确率。为了确保检测出的铅字编号的有效性,算法在识别前需要获知待检测铅字编号的开头部分,从而确定检测起点。在结束处,算法中加入了大量的逻辑判断,来确定铅字编号的合法结束点。考虑到底片铅字形态变化大,铅字位置存在一定的偏移,算法中对应作出了相应的处理,保证算法对于原始图像的宽容度。考虑到实际底片的图像特征,采用了多种手段进行图像预处理,避免了图像质量对算法的影响。
Description
技术领域
本发明涉及底片字符识别和人工智能技术领域,具体涉及一种工业射线底片图像铅字编号识别方法。
背景技术
光学字符识别是一种重要的识别技术,可将图像中的文字提取为计算机文本,便于后续的保存、处理和利用。工业X射线底片广泛用于黑色金属有色金属及其合金或其它衰变系数较小的材料制作的器件型材零件或焊缝的非破坏性X射线探伤。数字化后的工业底片图像中包含大量的信息,如图像编号、图像拍摄日期、管道尺寸等,有必要采取一种检测技术来提取这些信息,辅助后续的底片数字化、智能化、图像处理等任务。
目前已有的检测技术包括:传统光学字符识别、机器学习算法、基于深度学习的目标检测算法等。其中,传统光学字符识别提出最早,应用也最为广泛,有着模型轻量化程度高、计算速度快等优势。近年来,随着硬件设备的逐渐进步,尤其是GPU计算能力的大幅提升,硬件算力不再构成算法的使用瓶颈,基于大数据与深度学习的检测算法发展迅猛,先后提出了Faster R-CNN、SSD、Yolo等一系列检测算法,其检测效果好、精度高、适用性强,被广泛应用到工业、互联网、公共服务等多个行业。
通过查阅文献学习,以往的光学字符识别多集中在文档识别、证件识别及车牌识别等领域,这些领域中字符形态变化小、字符排列整齐、字符边界清晰,因此识别难度较低。然工业领域底片由于实际拍摄环境的原因,铅字种类繁多、亮暗不一、形态复杂、排列不规律,且无法单独根据图像特征确定编号起始点和终止点,极大的提高了检测难度。而深度学习方法则对数据集提出了要求,模型只有在完备的数据集上充分训练,才能达到较好的效果。受实际条件影响,工业底片铅字图像采集存在困难,导致无法收集大量的、完备的数据集。因此,基于上述限制条件,有必要根据工业底片图像独特性,来采用一种全新的、合适的、高效的方法识别底片铅字编号,在保证较高的检测精度、准确度的同时,降低误检、错检,提高算法运算效率。
发明内容
为解决上述技术问题,本发明提供了一种工业射线底片图像铅字编号识别方法
具体技术方案如下:
一种工业射线底片图像铅字编号识别方法,基于深度学习和边缘特征,包括数据收集模块、图像检测模块和字符处理模块;
所述数据收集模块采集高质量数字化底片图像,将其转换为合适的格式,传送给图像检测模块;所述数据收集模块与图像检测模块相连接,所述图像检测模块与字符处理模块相连接;
所述图像检测模块包括铅字编号开头检测子模块和铅字编号主体检测子模块;所述铅字编号开头检测子模块用于确定底片图像中铅字编号起始的位置,传送给后续铅字编号主体检测子模块,同时得到起始处铅字编号的内容;所述铅字编号主体检测子模块,可提取出其余铅字编号的准确位置,并给出铅字编号的具体内容;
所述字符处理模块用于将图像检测模块给出的数据进行处理与计算,包括铅字编号结束点判断、铅字编号中删除无用信息、去除异常字符等,并将得出的结果规范化之后返回给系统。
所述数据收集模块,根据实际图像尺寸及采集设备来确定。
工业射线底片图像铅字编号识别方法,包括如下步骤:
步骤1:采集图像数据
所述数据包括:图像原始dicom数据、图像数据;
根据原始图像dicom数据,取出其中的像素数据,根据其数据位数,将其转为无符号8位整数类型,得到待检测图像数据;
步骤2:铅字编号开头部分检测
步骤2.1:数据集标注
以每种编号开头作为一个类别,如XQⅡ,在原始图像中使用矩形框标注出铅字编号开头部分,生成矩形框标注及标签;原始标注中包含(xmin,ymin,xmax,ymax),分别为x较小值、y较小值、x较大值、y较大值;标签内容为预先设定好,能够反应标注内容的简单文本;
步骤2.2:图像随机切片
图像使用灰度方式读取,原始图像数据的尺寸为m×n,根据大量的数据统计,可得出对于每一张原始图像,图像的尺寸远大于深度网络可以接受的输入尺寸,因此须将原始图像切片为尺寸更小的图像;Yolov5可以接收任意尺寸的图像输入,但其会将其尺寸变换为正方形再输入到网络中,因此为了避免特征丢失,将切片后的图像形状调整为正方形;
为了增加训练数据集数量,提高特征分布丰富程度,同时保证标注区域完整,切分时采取随机切分策略,让标注框随机分布在切分后的小图中;设切分后小图左上角点坐标为(x,y),原始大图右下角点坐标为(X,Y),图像标注区域坐标为(xmin,ymin,xmax,ymax),则x应满足
max(xmax,0)-w<x<min(xmin,x) (1)
其中w为小图宽度,x在满足上述条件的情况下随机取值;
步骤2.3:模型训练
使用处理后的图像和标签送入Yolov5训练,训练前调整数据增强方式,降低Mixup、Mosaic增强参数,使图像标注框保持完整性;调整其余增强手段,如平移、翻转、HSV-Hue、HSV-Saturation、HSV-Value等,提高训练精度,提高训练及推理效率,同时降低训练难度,防止过拟合;
算法使用轻量化的yolov5s模型,模型大小仅为14MB左右;网络backbone部分包含4层Conv层,将图像通道层扩展至1024,并使用3层CSP层增加网络深度,进行前向传播运算,生成多个Bounding box,每个Bounding box包括如下元素:
(x,y,w,h,conf0,conf1,...) (2)
其中,xy为Bounding box中心点坐标,wh为Bounding box宽度和高度,confn为第n类的置信度;对模型输出的检测框进行NMS处理,并对置信度取全局最大值,即为模型输出结果;
使用上述数据集训练,硬件使用NVIDIA GPU,模型mAP@.5:.95为75.4;
AP=∫p(r)dr mAP=mean(∑AP) (3)
其中,p(r):Precision-Recall曲线,AP:同一类别下,P-R曲线下的面积,mAP:所有类别AP值的平均;
步骤2.4:模型推理
使用训练好的模型进行推理,推理前,将原始图像切分为小图,切分时相邻图像之间保留一定长度的重叠,重叠长度略大于训练数据集中标注框平均宽度,这样可确保切分后图像中至少有一张,包含完整的待检测铅字;
推理后,将所得结果进行合并,即得出编号开头部分检测结果Rs,
步骤3:铅字编号其余字符检测
步骤3.1:图像预处理
读取图像灰度图,获取图像尺寸大小;使用算法去掉底片图像左右两侧白色边缘,去掉上下两侧近似白色边缘;
经大量数据统计,底片全局对比度、亮度始终分布在特定区间,其中部分底片存在对比度、亮度异常,影响后续算法检测效果,有必要对其进行修正;算法中采用标准差、均值求和作为待检测值,当其出现异常时,采用如下计算方法修正:
v=v×(S/s) (4)
其中v为像素值,S为标准差基准值,s为图像标准差值;
v=v+(M-m) (5)
其中M为均值基准值,m为图像均值,v取值范围为[0,255];
步骤3.2:检测铅字区域
对原始图像进行形态学处理,提高其边缘锐利程度,并去除孤立区域,使用经典Canny边缘检测算法,获取图像中的边缘信息,并通过闭合边缘,提取闭合检测区域,作为候选的铅字区域;
由于底片铅字信息独有的特性,我们想要获取的编号信息往往分布在图像垂直方向的一侧,而另一侧则不包含该信息,且包含编号信息的那一侧铅字分布较为集中;使用检测框水平方向的方差值来判断编号信息所在的位置,在图像中寻找可将全部检测区域线性分开的直线,直线两侧方差值较低的一侧即为所求区域,另一侧的检测框则被丢弃;
获取的铅字区域之间会出现重叠,造成重复检测;当R0,R1重叠时,我们将其合并成一个矩形框,即可以完全覆盖R的最小矩形框,作为出现重叠的矩形框的替代,避免重复检测;
R=R0∪R1 (6)
其次,对于任意一个矩形检测框,其需要满足一定的条件,如:最大宽度、最小宽度、最大高度、最小高度、最大面积、最小面积、最大宽高比等;通过对上述指标设置阈值,来过滤掉不符合要求的检测框,从而提高检测精确度、降低无用计算;
步骤3.3:训练前处理
然后将字符图像切分出来,送入字符分类模型处理,处理前对图像进行OTSU二值化处理和标准化处理;OTSU算法利用最大类间方差原理,将图像分为前景、背景两部分;与原始图像相比,二值图像去除了无用的灰度信息,更利于模型训练;
σ2=p1(m1-mg)2+p2(m2-mg)2 (7)
其中,p1、p2为前景概率、背景概率,m1、m2为前景均值、背景均值,mg为全局均值;前景背景以灰度值k作为区分,使上式最大化的k即为OTSU所求阈值;
二值图像像素值相差较大,因此我们对二值图像进行标准化处理,令其数据分布区间从[0,255]变换为[-1,1);有利于模型加速收敛,避免出现梯度不稳定;
步骤3.4模型训练
字符提取问题实际上是对检测框中的图像进行分类的问题,将处理后的图像与one-hot编码后的label,按批次送入模型训练,模型使用InceptionV3,多轮迭代后,模型在验证集中表现良好,mAP值已达0.9,具备识别图像的能力;
步骤3.5模型推理
将上述步骤3.2得到的检测区域切成子图,批量送入训练好的网络进行推理,推理前图像同样需要经过OTSU二值化、标准化处理,模型会给出该子图包含的字符内容,以及对应的置信度;使用阈值法标记出不可信的结果,这样就得到了原始图像中所有检测区域的字符内容;
步骤4:铅字编号提取
根据步骤2得到的编号开头部分检测结果Rs,在步骤3得到的检测铅字区域中搜索满足如下条件的检测区域R:
(3)IoU(Rs,R)>IoUt;
(4)不存在满足条件(1)的R0,且R的x值小于R0;
R即为铅字编号开头部分的最后一个字符所在的区域,且根据Rs,也同时确定了底片编号的开头信息;
根据已经确定的区域R,我们向后分段循环提取编号字符Rn,以出现连接符为分段标志,连接符包含在前一段内,由于铅字编号之间互相无水平方向重叠,为避免检测区域中的误检影响编号提取,提取Rn时需要满足如下要求:
(3)Rn的x值大于R,且在其余候选区域内为最小值;
(4)Rn的y值与R的差小于阈值,且在与其有水平方向重叠的候选区域内为最小值;
提取Rn后,需要对余下的候选区域做如下处理:移除与Rn的y值的差小于阈值,且与其在水平方向有重叠的候选区域;
提取时,算法规定了一些需要忽略的无效字符,还规定了越界、异常等提取终止点;
步骤5:铅字编号处理
算法对上述步骤得到的字符串进行处理,主要包括以下内容:
(3)去除多余字符:由于步骤4提取字符时并未判断终止处字符内容,因此我们需要去掉字符串结尾处的多余字符;除编号外,底片铅字信息中还包括日期、管径、尺寸等,这些信息都有可能被提取出;根据不同信息的格式及特征,算法将这些信息从字符串中一一去除;同时,为了确保准确性,算法统计出字符间平均水平距离Dm,当字符间距明显大于Dm时,且不位于分段处、后续字符不为字母时,去除后续所有字符;
(4)利用台账信息补全:台账中包含铅字编号中部分信息,当算法识别字符有误时,利用台账中已有的信息,补全编号开头后的字母,可以快速提高算法准确率。
步骤2所述的铅字编号开头部分检测所用的深度神经网络,模型训练和预测方法如下:
将标注完成的数据,分批次送入神经网络;网络训练方式使用SGD,即随机梯度下降法;损失函数由3部分组成:lbox,lobj,lcls,其中lbox为定位损失,lobj为目标置信度损失,lcls为分类损失;lr设定为0.01;模型训练250个epoch;
预测时,将子图及其预测结果合并,预测结果需要在原始图像中标注出来,然后根据NMS算法,将非最大置信度,且IoU满足条件的预测框去除;完成后再取最大置信度的检测框作为最终结果。
步骤3所述的铅字编号其余字符检测所用的深度神经网络,模型训练和预测方法如下:
网络训练方式使用SGD,即随机梯度下降法;网络输出各类别的置信度,损失函数使用CE,模型训练100个Epoch;
预测时,将图像预处理后输入网络,经过softmax处理后,得出各类别的logistic值;取出其中的最大值,如其大于设定阈值,则将其归入该类,该字符内容随即被确定。
与现有技术相比,本发明具有如下有益技术效果:
本发明区别于以往的单一检测方法,本发明采用了包括传统边缘检测和深度学习方法在内的融合算法,其中深度学习算法又包括检测算法Yolov5和分类算法InceptionV3。使用这样一种融合算法,可以有效的提高识别准确率。此外,为了确保检测出的铅字编号的有效性,算法在识别前需要获知待检测铅字编号的开头部分,从而确定检测起点。在结束处,算法中加入了大量的逻辑判断,来确定铅字编号的合法结束点。考虑到底片铅字形态变化大,铅字位置存在一定的偏移,算法中对应作出了相应的处理,保证算法对于原始图像的宽容度。考虑到实际底片的图像特征,本发明采用了多种手段进行图像预处理,避免了图像质量对算法的影响。
本发明检测铅字区域时,使用经典Canny边缘检测算法,获取图像中的边缘信息,并通过闭合边缘,提取闭合检测区域,作为候选的铅字区域,使用Canny边缘检测算法的优势在于:执行速度快,检测效果好,相比于深度学习算法,Canny支持任意尺寸的图像输入,且无须使用事先标注的图像,对模型进行训练。底片铅字种类繁多,Canny可以对任意铅字进行检测,适用性强。
本发明各个模块之间耦合程度低,便于后续升级、维护,使得本算法更具有实际工程应用价值
附图说明
图1为本发明检测模型训练、测试相关曲线;
图2为本发明检测模型测试效果;
图3为本发明检测模型F1曲线;
图4为本发明字符区域检测效果;
图5为本发明字符识别效果;
图6为本发明最终输出结果;
图7为本发明工业射线底片图像铅字编号识别方法流程图。
具体实施方式
下面结合附图对本发明进行详细说明,但本发明的保护范围不受实施例所限。
实施例1:
步骤1:提取图像铅字编号开头部分。
步骤1.1:数据集标注。所有样本来源于真实的工业底片,经过扫描变成计算机图像。专业人员使用标注软件对数据集进行标注,生成标签文件,每个图像对应一个标签文件。
步骤1.2:图像随机切片与标注格式转换。
步骤1.2.1:图像随机切片。
随机次数设定为5,即每个标注图像生成5个小图,随机步长设置为100。当可随机数小于随机次数时,将随机次数设置为可随机数。
步骤1.2.2:标注格式转换。
Yolov5规定了输入的标注格式,每个标注框包括:class,x_center,y_center,width,height,分别指代:样本标签、标注框中心点x坐标、标注框中心点y坐标、标注框宽度、标注框高度。
图像切片后,以新图像左上角为坐标原点,生成x_center,y_center值。上述标注信除标签外,其余值均需归一化处理,处理时按照切片后的图像作为基准。每个包含标注的图像均需对应一个标注信息。
步骤1.3:编号开头检测模型
步骤1.3.1:模型训练。模型训练时Batch-Size设置为32,训练150个Epoch,直至模型收敛。随着训练Epoch的增加,模型mAP@0.5:0.95逐渐增加。
步骤1.3.2:模型推理。将切分后图像送入模型检测,得到检测结果。结果中包含多个检测区域及对应的置信度,将小图的检测结果合并成原始图像,如检测框有重合,使用非极大值抑制算法(NMS)合并检测框:检测框重叠时,计算IoU值,当其大于IoU阈值时,删除置信度不为最大值的检测框。最后得到多个无重叠的检测框。将检测框按照置信度从高到低排序,取最大值为最终的检测区域,即铅字编号开头部分。
步骤2:检测底片铅字。对于任意一张底片图像,本发明能够实现对其中字符区域的提取。
步骤2.1:数据预处理。移除像素数据全为255的行或列,移除平均像素值大于180,且分布在上下两侧的行。对比度、亮度调整时,S取45,M取40。
步骤2.2:检测铅字区域。Canny算法的阈值设定为(50,90),梯度类型使用L2梯度。检测框最小面积为120,最大面积为8500,最大宽度为100,最大宽高比为10。以上参数设置经过大量数据实验,效果较好。
步骤2.3:获取检测字符。
步骤2.3.1:模型训练。模型使用InceptionV3网络进行训练,使用时取InceptionV3前两个Block,后面的被丢弃。这样可以显著提高计算速度,降低训练难度。损失函数使用Cross Entropy,Epoch取150。
步骤2.3.2:模型推理与应用。推理时,模型置信度阈值设定为0.94,低于该值判定为负样本,最终字符输出问号。
步骤3:铅字编号提取。
步骤3.1:编号定位及开头信息提取。IoUt设置为0.9,大于该值的被认定为符合要求的字符。我们找出满足阈值条件的,位于最右侧的检测框,即获取了铅字编号的起始位置。
步骤3.2:其余编号的提取。按照算法规定,逐个向后提取,注意将重叠的检测区域去除。
步骤4:铅字编号处理。
根据底片信息的特征,去除编号中的中文字符、无用字符、尺寸信息、距离异常增大等后续字符,并读取台账表格中信息,补全至检测结果。
Claims (3)
1.一种工业射线底片图像铅字编号识别方法,其特征在于,包括如下步骤:
步骤1:采集图像数据
所述数据包括:图像原始dicom数据、图像数据;
根据原始图像dicom数据,取出其中的像素数据,根据其数据位数,将其转为无符号8位整数类型,得到待检测图像数据;
步骤2:铅字编号开头部分检测
步骤2.1:数据集标注
以每种编号开头作为一个类别,在原始图像中使用矩形框标注出铅字编号开头部分,生成矩形框标注及标签;原始标注中包含(xmin,ymin,xmax,ymax),分别为x较小值、y较小值、x较大值、y较大值;标签内容为预先设定好,能够反应标注内容的简单文本;
步骤2.2:图像随机切片
图像使用灰度方式读取,原始图像数据的尺寸为m×n,将原始图像切片为尺寸更小的图像;Yolov5可以接收任意尺寸的图像输入,但其会将其尺寸变换为正方形再输入到网络中,将切片后的图像形状调整为正方形;
为了增加训练数据集数量,提高特征分布丰富程度,同时保证标注区域完整,切分时采取随机切分策略,让标注框随机分布在切分后的小图中;设切分后小图左上角点坐标为(x,y),原始大图右下角点坐标为(X,Y),图像标注区域坐标为(xmin,ymin,xmax,ymax),则x应满足
max(xmax,0)-w<x<min(xmin,x) (1)
其中w为小图宽度,x在满足上述条件的情况下随机取值;
步骤2.3:模型训练
使用处理后的图像和标签送入Yolov5训练,训练前调整数据增强方式,降低Mixup、Mosaic增强参数,使图像标注框保持完整性;调整其余增强手段,平移、翻转、HSV-Hue、HSV-Saturation、HSV-Value,提高训练精度,提高训练及推理效率,同时降低训练难度,防止过拟合;
算法使用轻量化的yolov5s模型,模型大小仅为14MB;网络backbone部分包含4层Conv层,将图像通道层扩展至1024,并使用3层CSP层增加网络深度,进行前向传播运算,生成多个Bounding box,每个Bounding box包括如下元素:
(x,y,w,h,conf0,conf1,...)(2)
其中,xy为Bounding box中心点坐标,wh为Bounding box宽度和高度,confn为第n类的置信度;对模型输出的检测框进行NMS处理,并对置信度取全局最大值,即为模型输出结果;
使用上述数据集训练,硬件使用NVIDIA GPU,模型mAP@.5:.95为75.4;
AP=∫p(r)dr mAP=mean(∑AP) (3)
其中,p(r):Precision-Recall曲线,AP:同一类别下,P-R曲线下的面积,mAP:所有类别AP值的平均;
步骤2.4:模型推理
使用训练好的模型进行推理,推理前,将原始图像切分为小图,切分时相邻图像之间保留一定长度的重叠,重叠长度大于训练数据集中标注框平均宽度,这样可确保切分后图像中至少有一张,包含完整的待检测铅字;
推理后,将所得结果进行合并,即得出编号开头部分检测结果Rs,步骤3:铅字编号其余字符检测
步骤3.1:图像预处理
读取图像灰度图,获取图像尺寸大小;使用算法去掉底片图像左右两侧白色边缘,去掉上下两侧白色边缘;
算法中采用标准差、均值求和作为待检测值,当其出现异常时,采用如下计算方法修正:
v=v×(S/s) (4)
其中v为像素值,S为标准差基准值,s为图像标准差值;
v=v+(M-m) (5)
其中M为均值基准值,m为图像均值,v取值范围为[0,255];
步骤3.2:检测铅字区域
对原始图像进行形态学处理,提高其边缘锐利程度,并去除孤立区域,使用经典Canny边缘检测算法,获取图像中的边缘信息,并通过闭合边缘,提取闭合检测区域,作为候选的铅字区域;
使用检测框水平方向的方差值来判断编号信息所在的位置,在图像中寻找可将全部检测区域线性分开的直线,直线两侧方差值较低的一侧即为所求区域,另一侧的检测框则被丢弃;
获取的铅字区域之间会出现重叠,造成重复检测;当R0,R1重叠时,将其合并成一个矩形框,即可以完全覆盖R的最小矩形框,作为出现重叠的矩形框的替代,避免重复检测;
R=R0∪R1 (6)
其次,对于任意一个矩形检测框,其需要满足一定的条件:最大宽度、最小宽度、最大高度、最小高度、最大面积、最小面积、最大宽高比;通过对上述指标设置阈值,来过滤掉不符合要求的检测框,从而提高检测精确度、降低无用计算;
步骤3.3:训练前处理
然后将字符图像切分出来,送入字符分类模型处理,处理前对图像进行OTSU二值化处理和标准化处理;OTSU算法利用最大类间方差原理,将图像分为前景、背景两部分;与原始图像相比,二值图像去除了无用的灰度信息,更利于模型训练;
σ2=p1(m1-mg)2+p2(m2-mg)2 (7)
其中,p1、p2为前景概率、背景概率,m1、m2为前景均值、背景均值,mg为全局均值;前景背景以灰度值k作为区分,使上式最大化的k即为OTSU所求阈值;
二值图像像素值相差较大,因此对二值图像进行标准化处理,令其数据分布区间从[0,255]变换为[-1,1);有利于模型加速收敛,避免出现梯度不稳定;
步骤3.4模型训练
字符提取问题实际上是对检测框中的图像进行分类的问题,将处理后的图像与one-hot编码后的label,按批次送入模型训练,模型使用InceptionV3,多轮迭代后,模型在验证集中表现良好,mAP值已达0.9,具备识别图像的能力;
步骤3.5模型推理
将上述步骤3.2得到的检测区域切成子图,批量送入训练好的网络进行推理,推理前图像同样需要经过OTSU二值化、标准化处理,模型会给出该子图包含的字符内容,以及对应的置信度;使用阈值法标记出不可信的结果,得到了原始图像中所有检测区域的字符内容;
步骤4:铅字编号提取
根据步骤2得到的编号开头部分检测结果Rs,在步骤3得到的检测铅字区域中搜索满足如下条件的检测区域R:
(1) IoU(Rs,R)>IoUt;
(2)不存在满足条件(1)的R0,且R的x值小于R0;
R即为铅字编号开头部分的最后一个字符所在的区域,且根据Rs,也同时确定了底片编号的开头信息;
根据已经确定的区域R,向后分段循环提取编号字符Rn,以出现连接符为分段标志,连接符包含在前一段内,由于铅字编号之间互相无水平方向重叠,为避免检测区域中的误检影响编号提取,提取Rn时需要满足如下要求:
(1)Rn的x值大于R,且在其余候选区域内为最小值;
(2)Rn的y值与R的差小于阈值,且在与其有水平方向重叠的候选区域内为最小值;
提取Rn后,需要对余下的候选区域做如下处理:移除与Rn的y值的差小于阈值,且与其在水平方向有重叠的候选区域;
提取时,算法规定了一些需要忽略的无效字符,还规定了越界、异常提取终止点;
步骤5:铅字编号处理
算法对上述步骤得到的字符串进行处理,主要包括以下内容:
(1)去除多余字符:除编号外,底片铅字信息中还包括日期、管径、尺寸;根据不同信息的格式及特征,算法将这些信息从字符串中一一去除;同时,为了确保准确性,算法统计出字符间平均水平距离Dm,当字符间距明显大于Dm时,且不位于分段处、后续字符不为字母时,去除后续所有字符;
(2)利用台账信息补全:台账中包含铅字编号中部分信息,当算法识别字符有误时,利用台账中已有的信息,补全编号开头后的字母。
2.根据权利要求1所述的工业射线底片图像铅字编号识别方法,其特征在于:步骤2所述的铅字编号开头部分检测所用的深度神经网络,模型训练和预测方法如下:
将标注完成的数据,分批次送入神经网络;网络训练方式使用SGD,即随机梯度下降法;损失函数由3部分组成:lbox,lobj,lcls,其中lbox为定位损失,lobj为目标置信度损失,lcls为分类损失;lr设定为0.01;模型训练250个epoch;
预测时,将子图及其预测结果合并,预测结果需要在原始图像中标注出来,然后根据NMS算法,将非最大置信度,且IoU满足条件的预测框去除;完成后再取最大置信度的检测框作为最终结果。
3.根据权利要求1所述的工业射线底片图像铅字编号识别方法,其特征在于:步骤3所述的铅字编号其余字符检测所用的深度神经网络,模型训练和预测方法如下:
网络训练方式使用SGD,即随机梯度下降法;网络输出各类别的置信度,损失函数使用CE,模型训练100个Epoch;
预测时,将图像预处理后输入网络,经过softmax处理后,得出各类别的logistic值;取出其中的最大值,其大于设定阈值,则将其归入该类,该字符内容随即被确定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110649764.3A CN113392833B (zh) | 2021-06-10 | 一种工业射线底片图像铅字编号识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110649764.3A CN113392833B (zh) | 2021-06-10 | 一种工业射线底片图像铅字编号识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113392833A CN113392833A (zh) | 2021-09-14 |
CN113392833B true CN113392833B (zh) | 2024-06-28 |
Family
ID=
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273896A (zh) * | 2017-06-15 | 2017-10-20 | 浙江南自智能科技股份有限公司 | 一种基于图像识别的车牌检测识别方法 |
CN110097547A (zh) * | 2019-05-06 | 2019-08-06 | 河南大学 | 一种基于深度学习的焊缝底片造假的自动检测方法 |
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273896A (zh) * | 2017-06-15 | 2017-10-20 | 浙江南自智能科技股份有限公司 | 一种基于图像识别的车牌检测识别方法 |
CN110097547A (zh) * | 2019-05-06 | 2019-08-06 | 河南大学 | 一种基于深度学习的焊缝底片造假的自动检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10817741B2 (en) | Word segmentation system, method and device | |
WO2019169532A1 (zh) | 车牌识别方法及云系统 | |
WO2019000653A1 (zh) | 一种图像目标识别方法及装置 | |
CN111460927B (zh) | 对房产证图像进行结构化信息提取的方法 | |
WO2018233038A1 (zh) | 基于深度学习的车牌识别方法、装置、设备及存储介质 | |
CN109670494B (zh) | 一种附带识别置信度的文本检测方法及系统 | |
CN111461133B (zh) | 快递面单品名识别方法、装置、设备及存储介质 | |
CN111340130A (zh) | 一种基于深度学习和影像组学的泌尿结石检测分类方法 | |
CN112686258A (zh) | 体检报告信息结构化方法、装置、可读存储介质和终端 | |
CN116092179A (zh) | 一种改进的yolox跌倒检测系统 | |
CN113139535A (zh) | 一种ocr文档识别方法 | |
CN116385374A (zh) | 基于卷积神经网络的细胞计数方法 | |
CN115359264A (zh) | 一种密集型分布的粘连细胞深度学习识别方法 | |
CN115171138A (zh) | 一种身份证图片文本检测方法、系统及设备 | |
CN113392833B (zh) | 一种工业射线底片图像铅字编号识别方法 | |
CN109460768B (zh) | 一种用于组织病理学显微图像的文本检测与去除方法 | |
CN116824608A (zh) | 基于目标检测技术的答题卡版面分析方法 | |
CN111163332A (zh) | 视频色情度检测方法、终端及介质 | |
CN107330470B (zh) | 识别图片的方法和装置 | |
CN111914706B (zh) | 一种文字检测输出结果质量检测和控制的方法与装置 | |
CN113392833A (zh) | 一种工业射线底片图像铅字编号识别方法 | |
Sarkar et al. | Text line extraction from handwritten document pages based on line contour estimation | |
CN113627442A (zh) | 医疗信息的录入方法、装置、设备及存储介质 | |
CN109086769B (zh) | 一种断裂粘连激光印刷数字串识别方法 | |
CN112069995A (zh) | 一种深度域人脸稠密特征提取方法、系统和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |