一种yolov3铁路关键作业流程自动鉴别方法与系统
技术领域
1.本发明涉及计算机视觉领域,特别在是一种结合目标检测和目标识别的改进yolov3网络结构的铁路关键作业流程自动鉴别的方法与系统。
背景技术:2.yolov3网络由三部分组成,分别是darknet53构成主干部分,fpn构成加强特征提取网络,yolo_head构成特征融合网络,利用卷积方式对目标特征进行多尺度融合,相比传统的机器学习领域,yolov3在目标检测领域对物体的检测精度和检测速度方面进行了提升,但对于较小的物体和关键特征的识别精度仍无法满足列车安全检查中的要求。
[0003][0004]
基于此类情况,提出一种yolov3铁路关键作业流程自动鉴别方法是有必要的。对于改进的yolov3网络,主要是在网络结构、检测分支等角度进行优化和扩展,提高列车安全检查中小目标的关键特征的精度。
[0005]
发明专利cn113706815a中采用的yolov3网络模型对数据集进行训练,结合光流法实现了火灾识别,但对于微型火焰识别精度不够,没有对yolo_head模块中的检测分支进行扩展,只有等待有明显火焰迹象时才可检测到,从而导致检测不及时、火灾情况加剧的潜在风险。
[0006]
发明专利cn109727428a通过改进yolov3算法,对缺陷图像识别分类,判断相同位置和报警类型的抑制状态来实现对重复报警的抑制。该发明将前三层残差网络与对应输出层进行级联,但实际上扩展后的yolov3网络无需全部用到23层残差网络,该发明专利未对残差网络进行简化,过多的残差单元增加了网络结构的复杂程度,训练时间较长,冗余分量较多,从而降低了模型质量。
[0007]
发明专利cn112307984a通过改进yolov3骨干网络,增加可爱卷积和双注意力机制处理,实现了基于神经网络的安全帽检测方法和装置。但是,误检漏检的情况仍有存在,例如工人距离检测装置较远时或有部分物体遮挡住工人头部时,且该发明针对残差网络进行了改进,忽略了过度层的设计,简单的过渡层使得下采样时浅层信息有所丢失,不利于特征信息的平滑提取。
技术实现要素:[0008]
针对上述问题,本发明提出一种yolov3铁路关键作业流程自动鉴别方法与系统,优化列车安全检查中关键点的识别,提升传统部分对列车安全检查中小目标的关键特征的精度,去除冗余分量,解决人工审查难度大的问题,形成人工作业视频分析全覆盖的目的。
[0009]
本发明提供如下技术方案:一种yolov3铁路关键作业流程自动鉴别方法,包括如下步骤,步骤1:通过人工作业视频,对包含关键点的部分进行逐帧提取,获得铁路作业流程中的关键特征的图像信息;
步骤2:基于步骤1所述的图像,采用labelimg软件对图像打标签,标注图像内关键特征的矩形包围框,获取矩形包围框在原图像的位置、宽高和类别信息,并生成对应的标签存储信息,搭建数据集;步骤3:基于步骤2所述的数据集,将图像输入darknet53网络,利用残差网络residual使主干的输入与输出结合,进行特征提取,通过下采样操作,获取特征图并利用yolo_head模块将特征图划分为低频和高频特征图,通过池化层使低频特征图压缩,减少分量冗余,传入特征提取网络;步骤4:基于步骤3所述的yolov3网络,将所述的yolov3网络进行改进,过渡层替换成1
×
1和3
×
3/2的卷积层并交替使用,对残差网络的层次进行修改,原始yolov3残差网络层次分别为1、2、8、8、4,改造后层次为2、6、6、4、2,然后扩展多尺度yolo_head模块,将原有的3个yolo_head模块扩展为4个,增添104
×
104的yolo_head模块;步骤5:基于步骤3所述的darknet53网络,将扩展后的四个有效特征层在加强特征网络fpn中进行特征融合,同时对原有的3个yolo_head模块进行上采样,添加输出为52
×
52的上采样过程,并实现和104
×
104特征层级联,结合不同尺度的特征信息,从而获取加强过的有效特征层;步骤6:基于步骤5所述的加强过的有效特征层,传入分类器与回归器,预测特征点对应物体的情况,通过梯度下降法计算关键点对应的置信度损失、类别损失以及位置损失;步骤7:基于步骤4所述的改进的yolov3网络,进行冻结以及解冻训练,调整图像格式为rgb,大小为416
×
416,在改进的残差网络中提取关键特征,采用原有的3种卷积特征层和新增添的卷积特征层预测目标坐标和位置,保存每个epoch的结果以及tensorboard的结果,输出最终的模型权重;步骤8:基于步骤7所述的模型权重,利用损失值最低的权重文件对作业流程进行分析,判断视频中是否包含了列车中关键点的检查,降低人工检查成本,提高作业视频分析速度,达到作业视频分析全覆盖,从而形成完整的闭环工作的目的。
[0010]
步骤2中,首先会将图像转换成rgb形式,进行不失真的尺寸调整;其次对输入的图像进行归一化,并添加batch_size维度;最后采用k-means聚类方法,对归一化的图像宽高进行聚类,获取先验框的宽高。
[0011]
步骤3中,初始化yolov3网络中的参数,其中,yolov3网络中的参数有冻结阶段迭代次数freeze epoch、冻结阶段学习率freeze lr、冻结阶段输入图像数量freeze_batch_size、解冻阶段迭代次数unfreeze epoch、解冻阶段学习率unfreeze lr、解冻阶段图像输入数量unfreeze_batch_size;对冻结阶段迭代训练次数进行设置,并进行迭代训练计算;其中,第一次进行迭代训练时freeze epoch=1;判断当前训练次数是否小于解冻阶段迭代训练次数;若所述当前训练次数小于所述解冻阶段迭代训练次数,利用多尺度模块将特征图划分为低频和高频特征图;若所述当前训练次数不小于所述解冻阶段迭代训练次数,则结束迭代训练。
[0012]
步骤4中,对于原本的yolov3网络进行了改进,删除了yolov3检测层前的两组卷积层,为预防下采样过程中特征信息的丢失,过渡层将1
×
1和3
×
3/2的卷积层交替使用,然后扩展多尺度检测yolo_head模块,原有网络检测尺度为3个,扩展后的检测尺度为4个,分支结构提升至4个,增添104
×
104的yolo_head模块。
[0013]
步骤5中,改进后的yolov3网络提取多特征层,实现目标检测,共提取4个特征层。4个特征层分别位于主干部分darknet53的中上层,中间层,中下层以及底层,四个特征层为(104,104,128)、(52,52,256)、(26,26,512)以及(13,13,1024),残差网络中提取到的特征对4个yolo_head模块共同开放,同时对原有的3个yolo_head模块进行上采样,添加输出为52
×
52的上采样过程,并实现和104
×
104特征层级联,在4个yolo_head模块上分别对大、中、小、极小的物体进行独立检测,使得特征提取相对平滑,从而有助于提取浅层特征信息,提高小物体检测效果。
[0014]
步骤6中,利用1
×
1的卷积调整通道数,利用3
×
3的卷积进行特征整合,分别处理改进后的yolov3网络得到的4个特征层,在此数据集中关键点有3种,故种类数为3类,输出层的维度分别为(13,13,24)、(26,26,24)、(52,52,24)、(104,104,24),其中因为数据集是基于人工作业流程的,yolov3针对四个特征层的每一个特征点,均包含3个先验框,故预测结果的通道数为3
×
(4+1+3),4为每一个先验框的调整参数,1是判断先验框内部是否包含物体,3是判断先验框内物体的种类,故最后一个维度为24。
[0015]
步骤7中,在冻结阶段,模型权重的主干被冻结,此时模型的特征提取网络不发生改变,由于训练参数较少,模型占用的显存较小,仅对网络进行微调,此时设置的学习率为1e-3,帮助模型跳出局部最优解。在解冻阶段,此时模型的主干不被冻结,特征提取网络会发生改变,由于训练参数较多,占用的显存较大,整个模型都会发生改变,因此设置batch_size为8,设置学习率为1e-4,以便保证训练模型的稳定性。结合(13,13,24)、(26,26,24)、(52,52,24)、(104,104,24)的4种不同尺度的特征层,通过resnet残差网络进行特征提取,预测出列车安全检查中关键点的类型、坐标和位置信息。
[0016]
步骤8中,采用了损失值最低的模型,通过非极大抑制,滤除了置信度小于0.5的框,不仅提高了目标检测的速度,还节约了人力,且准确率较高。
[0017]
一种用于上述方法的yolov3铁路关键作业流程自动鉴别系统,包括:关键特征获取模块,主要作用为通过人工作业视频,对包含关键点的部分进行提取,获得关键特征的图像信息;高频特征图与低频特征图区分模块,主要作用为利用yolo_head模块将特征图划分为低频和高频特征图,通过池化层使低频特征图压缩,减少分量冗余;预训练模块,主要作用为利用改进后的yolov3对列车安全检查中的关键特征数据集进行训练,将采集到的关键特征信息传送至改进后的yolo_head模块进行预测;模型输出模块,主要作用为通过梯度下降法计算关键点对应的置信度损失、类别损失以及位置损失,确认三种损失和最低的权重,输出最终模型;识别检测模块,主要作用为通过输入人工作业的视频,识别列车中相关安全检查的关键特征是否被检查,降低审查成本;数据记录模块,主要作用为保存检测到的关键特征信息,直观的反应出每个视频中每个时间段关键点出现频率,判断是否进行了安全检查。
[0018]
本方案中包括了多个部分,改进yolov3网络是由darknet53、fpn和yolo_head搭建,所述darknet53结构搭建网络主干部分,相比原始yolov3结构,将23层残差网络减少到20层,过渡层结合1
×
1、3
×
3/2卷积层,有助于特征平滑提取,所述fpn结构搭建加强特征提取网络部分,通过上采样操作与卷积层进行拼接,同时与浅特征层进行级联,所述yolo_head结构搭建特征融合网络,输出层包括(13,13,24)、(26,26,24)、(52,52,24)、(104,104,24)四种不同尺度的检测分支,每个区域进行独立的检测。
附图说明
[0019]
图1为改进yolov3网络的结构图。
[0020]
图2为基于改进yolov3的铁路关键作业流程自动鉴别方法的流程图。
[0021]
图3为基于改进yolov3的铁路关键作业流程自动鉴别系统结构示意图。
具体实施方式
[0022]
下面将结合本发明具体实施方式中的附图,对本发明具体实施方式中的技术方案进行清楚、完整地描述,显然,所描述的具体实施方式仅仅是本发明一种具体实施方式,而不是全部的具体实施方式。基于本发明中的具体实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他具体实施方式,都属于本发明保护的范围。
[0023]
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0024]
通过附图可以看出,本发明改进yolov3的铁路关键作业流程自动鉴别方法,包括如下步骤,步骤1:通过人工作业视频,对包含关键点的部分进行逐帧提取,获得铁路作业流程中的关键特征的图像信息;步骤2:基于步骤1所述的图像,采用labelimg软件对图片打标签,标注图像内关键特征的矩形包围框,获取矩形包围框在原图像的位置、宽高和类别信息,并生成对应的标签存储信息即xml文件,搭建数据集;步骤3:基于步骤2所述的数据集,将图像输入darknet53网络,利用残差网络residual使主干的输入与输出结合,进行特征提取,通过下采样操作,获取特征图并利用yolo_head模块将特征图划分为低频和高频特征图,通过池化层使低频特征图压缩,减少分量冗余,传入特征提取网络;步骤4:基于步骤3所述的yolov3网络,将所述的yolov3网络进行改进,过渡层替换成1
×
1和3
×
3/2的卷积层并交替使用,对残差网络的层次进行修改,原始yolov3残差网络层次分别为1、2、8、8、4,改造后层次为2、6、6、4、2,然后扩展多尺度yolo_head模块,将原有的3个yolo_head模块扩展为4个,增添104
×
104的yolo_head模块;步骤5:基于步骤3所述的darknet53网络,将扩展后的四个有效特征层在加强特征网络fpn中进行特征融合,同时对原有的3个yolo_head模块进行上采样,添加输出为52
×
52的上采样过程,并实现和104
×
104特征层级联,结合不同尺度的特征信息,从而获取加强过的有效特征层;步骤6:基于步骤5所述的加强过的有效特征层,传入分类器与回归器,预测特征点对应物体的情况,通过梯度下降法计算关键点对应的置信度损失、类别损失以及位置损失;步骤7:基于步骤4所述的改进的yolov3网络,进行冻结以及解冻训练,调整图像格式为rgb,大小为416
×
416,在改进的残差网络中提取关键特征,采用原有的3种卷积特征层和新增添的卷积特征层预测目标坐标和位置,保存每个epoch的结果以及tensorboard的结果,输出最终的模型权重;步骤8:基于步骤7所述的模型权重,利用损失值最低的权重文件对作业流程进行分析,判断视频中是否包含了列车中关键点的检查,降低人工检查成本,提高作业视频分析速度,达到作业视频分析全覆盖,从而形成完整的闭环工作的目的。
[0025]
步骤2中,首先会将图像转换成rgb形式,进行不失真的尺寸调整;其次对输入的图像进行归一化,并添加batch_size维度;最后采用k-means聚类方法,对归一化的图像宽高
进行聚类,获取先验框的宽高。步骤3中,初始化yolov3网络中的参数,其中,yolov3网络中的参数有冻结阶段迭代次数freeze epoch、冻结阶段学习率freeze lr、冻结阶段输入图像数量freeze_batch_size、解冻阶段迭代次数unfreeze epoch、解冻阶段学习率unfreeze lr、解冻阶段图像输入数量unfreeze_batch_size;对冻结阶段迭代训练次数进行设置,并进行迭代训练计算;其中,第一次进行迭代训练时freeze epoch=1;判断当前训练次数是否小于解冻阶段迭代训练次数;若所述当前训练次数小于所述解冻阶段迭代训练次数,利用多尺度模块将特征图划分为低频和高频特征图;若所述当前训练次数不小于所述解冻阶段迭代训练次数,则结束迭代训练。步骤4中,对于原本的yolov3网络进行了改进,删除了yolov3检测层前的两组卷积层,为预防下采样过程中特征信息的丢失,过渡层将1
×
1和3
×
3/2的卷积层交替使用,然后扩展多尺度检测yolo_head模块,原有网络检测尺度为3个,扩展后的检测尺度为4个,分支结构提升至4个,增添104
×
104的yolo_head模块。步骤5中,改进后的yolov3网络提取多特征层,实现目标检测,共提取4个特征层。4个特征层分别位于主干部分darknet53的中上层,中间层,中下层以及底层,四个特征层为(104,104,128)、(52,52,256)、(26,26,512)以及(13,13,1024),残差网络中提取到的特征对4个yolo_head模块共同开放,同时对原有的3个yolo_head模块进行上采样,添加输出为52
×
52的上采样过程,并实现和104
×
104特征层级联,在4个yolo_head模块上分别对大、中、小、极小的物体进行独立检测,使得特征提取相对平滑,有助于提取浅层特征信息,提高小物体检测效果。步骤6中,利用1
×
1的卷积调整通道数,利用3
×
3的卷积进行特征整合,分别处理改进后的网络得到的4个特征层,在此数据集中关键点有3种,故种类数为3类,输出层的维度,分别为(13,13,24)、(26,26,24)、(52,52,24)、(104,104,24),其中因为数据集是基于人工作业流程的,yolov3针对四个特征层的每一个特征点,均包含3个先验框,故预测结果的通道数为3
×
(4+1+3),4为每一个先验框的调整参数,1是判断先验框内部是否包含物体,3是判断先验框内物体的种类,故最后一个维度为24;步骤7中,在冻结阶段,模型权重的主干被冻结,此时模型的特征提取网络不发生改变,由于训练参数较少,模型占用的显存较小,仅对网络进行微调,此时设置的学习率为1e-3,帮助模型跳出局部最优解。在解冻阶段,此时模型的主干不被冻结,特征提取网络会发生改变,由于训练参数较多,占用的显存较大,整个模型都会发生改变,因此设置batch_size为8,设置学习率为1e-4,以便保证训练模型的稳定性。结合(13,13,24)、(26,26,24)、(52,52,24)、(104,104,24)的4种不同尺度的特征层,通过resnet残差网络进行特征提取,预测出列车安全检查中关键点的类型、坐标和位置信息;步骤8中,采用了损失值最低的模型,通过非极大抑制,滤除了置信度小于0.5的框,不仅提高了目标检测的速度,还节约了人力,且准确率较高。
[0026]
请参阅图3,本发明还提出一种yolov3铁路关键作业流程自动鉴别系统,其中,所述系统包括:关键特征获取模块,主要作用为通过人工作业视频,对包含关键点的部分进行提取,获得关键特征的图像信息;高频特征图与低频特征图区分模块,主要作用为利用yolo_head模块将特征图划分为低频和高频特征图,通过池化层使低频特征图压缩,减少分量冗余;预训练模块,主要作用为利用改进后的yolov3对列车安全检查中的关键特征数据集进行训练,将采集到的关键特征信息传送至改进后的yolo_head模块进行预测;
模型输出模块,主要作用为通过梯度下降法计算关键点对应的置信度损失、类别损失以及位置损失,确认三种损失和最低的权重,输出最终模型;识别检测模块,主要作用为通过输入人工作业的视频,识别列车中相关安全检查的关键特征是否被检查,降低审查成本。
[0027]
数据记录模块,主要作用为保存检测到的关键特征信息,直观的反应出每个视频中每个时间段关键点出现频率,判断是否进行了安全检查。
[0028]
本发明采用gpu配置环境,利用(13,13,24),(26,26,24),(52,52,24),(104,104,24)的检测分支检测大型连接器、中型连接器以及列车电箱锁,其中(104,104,24)的检测分支在对列车电箱锁的检测上取得了较大突破;在6000张图片的训练过程中,所用时间为41分钟,大型连接器和中型连接器map分别为0.96与0.95,小型关键特征点(列车电箱上的锁)map为0.86,总计map为0.92;相比改进前的yolov3网络的训练时间、三种map以及总计map的72分钟、0.95、0.93、0.69以及0.86而言,在训练时间上和检测精度上取得了较大的突破。
[0029]
本发明提供的基于改进yolov3铁路关键作业流程自动鉴别的方法,优化了darknet53部分,删除了3层残差网络,简化了残差结构,从而减少了计算量,使得训练时间和检测时长有所降低;过渡层在原有的基础上引入了1
×
1的卷积层,使得浅层特征信息的提取相对平滑,有效降低了下采样过程中特征信息的丢失现象;划分了特征图的高频特性和低频特性,使得冗余程度有所下降;扩展了维度为(104,104,24)的检测模块,提高了对于铁路安全检查中较小关键点的检测精度;增加了52
×
52特征层上采样的过程,结合特征金字塔的多尺度融合,实现了与104
×
104特征层拼接,提高了此方法在铁路作业流程安全检查场景中的使用性。与其他的神经网络、目标检测和深度学习的方法相对比,本发明改进的算法对关键特征进行识别和检测的时候,在保证大型物体和中型物体检测精度的同时,不仅提高了小物体检测精度,还降低了损耗时间。
[0030]
尽管已经示出和描述了本发明的具体实施方式,对于本领域的普通技术人员而言,可以理解在不脱离发明的原理和精神的情况下可以对这些具体实施方式进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。