一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于计算机视觉的目标检测方法和装置与流程

2022-03-02 00:26:49 来源:中国专利 TAG:


1.本技术涉及港口作业区安防监控技术领域,尤其涉及一种基于计算机视觉的目标检测方法和装置。


背景技术:

2.港口作业区是包括港池、锚地、进港航道、泊位等水域以及货运站、堆场、码头前沿、办公生活区域等陆域范围的能够容纳完整的集装箱装卸操作过程的具有明确界限的场所。它是水陆联运的枢纽站,是集装箱货物在转换运输方式时的缓冲地,也是货物的交接点,在整个集装箱运输过程中占有重要地位。
3.由于港口作业区的重要地位,其安全性能与秩序的要求高,因此,需要在港口作业区配备系统严密的安保系统。最重要的安保系统为视频监控系统。传统的视频监控系统可以24小时对港口作业区的所有位置进行监控。然而,由于传统的监控系统并不具备复杂的视频分析能力,以及监控点位繁多,安保人员精力有限等原因,使用现有的视频监控系统无法及时对违规行为进行反应。由此,基于计算机视觉的目标检测算法引入视频监控系统,实时检测港口工作区里的人员、车辆、作业机械等物体,并以此监控港口作业区的违规行为。
4.传统的计算机视觉目标检测算法,是基于物体的边缘等传统数字图像特征进行检测。由于港口作业区场景复杂,采用传统的数字图像特征进行检测,存在误检测严重的问题;由于港口作业区时长极为广阔,横向距离为300米以上,导致港口作业区内物体的相对尺寸过小,采用传统的数字图像特征进行检测,存在微小物体难以检测的问题。
5.近些年来,深度学习技术应用到计算机视觉技术中,展现了其强大的功能。深度学习技术通过多层处理,逐渐从图片的低层特征表示中,提取出高层语义特征。根据高层语义特征,深度学习技术可以准确对数字图像里的目标进行识别。现有方法通过搭建摄像头采集图像,得到用于训练的训练集、用于验证的验证集以及用于测试的测试集并标注各图片集数据。同时,对数据集标注结果使用k-means,得到预选框的尺寸。之后使用yolo-tiny框架结合遗传算法进行模型训练并进行目标检测。
6.现有的深度学习检测方法中,存在以下问题:
7.1、需要专门搭建摄像机采集图像,然而在港口作业区,其安防监控摄像机均已安装完毕,且摄像机点位众多,无法在每一个监控点位都获取理想的图像信息。
8.2、yolo-tiny的backbone网络深度,网络宽度小,导致算法无法获取足够的语义信息,继而导致对微小物体的检测准确度不高。


技术实现要素:

9.鉴于上述的分析,本技术实施例旨在提供一种基于计算机视觉的目标检测方法和装置,用以解决现有训练数据相对有限以及微小物体的检测准确度低的问题。
10.一方面,本技术实施例提供了一种基于计算机视觉的目标检测方法,包括:对港口作业区的历史监控视频进行运动信息检测,并根据所述运动信息进行截图并对目标进行标
注以制作数据集;建立神经网络yolov5x,利用所述数据集中的一部分对所述神经网络yolov5x进行初步训练以获取目标检测模型;使用所述目标检测模型对所述数据集中的另一部分进行目标检测以分析误检目标和漏检目标;基于所述误检目标和/或所述漏检目标,通过数据增广更新所述数据集,并利用更新的数据集对所述目标检测模型进行强化训练;以及每隔预定时间对所述港口作业区的当前监控视频进行截图以获得待检测图片并利用强化的目标检测模型对所述待检测图片进行目标检测。
11.上述技术方案的有益效果如下:基于误检目标和/或漏检目标,通过数据增广更新数据集以获取足够的港口作业区训练数据,并利用更新的数据集对目标检测模型进行强化训练以提升目标检测模型的鲁棒性。利用强化的目标检测模型对待检测图片进行目标检测,设计港口作业区小目标检测网络,提升小目标的检测准确率。
12.基于上述方法的进一步改进,对港口作业区的历史监控视频进行运动信息检测,并根据所述运动信息进行截图并对目标进行标注以制作数据集进一步包括:从数据库中获取所述港口作业区的历史监控视频;根据所述历史监控视频的图片帧间信息使用高斯混合模型将所述历史监控视频分类为静止像素和运动像素以判断出所述历史监控视频中的运动像素区域;以及对所述历史监控视频中存在运动像素区域的图片进行截图并且对所述运动像素区域中的目标进行标注以生成所述数据集。
13.基于上述方法的进一步改进,所述目标包括要检测的尺寸相对较大的大目标和尺寸相对较小的小目标,在利用所述数据集对所述神经网络yolov5x进行训练以获取目标检测模型之前,还包括:根据所述港口作业区的所述历史监控视频和所述当前监控视频中的小目标的尺寸,确定所述数据集中的每个图片帧的输入尺寸。
14.基于上述方法的进一步改进,建立神经网络yolov5x还包括:所述神经网络yolov5x的基网使用csp网络架构;以及在所述神经网络yolov5x的移动步长为8、16和32的金字塔特征图的基础上,增加移动步长为4的金字塔特征图以检测所述小目标。
15.基于上述方法的进一步改进,分析误检目标和漏检目标进一步包括:将使用所述目标检测模型检测到的目标与所述数据集的对应的图片中的标注目标进行比较,以确定所述误检目标和所述漏检目标,其中,将所述对应的被标注的第一图片中本来没有目标,而使用所述目标检测模型检测到的目标确定为所述误检目标;以及将所述对应的被标注的第二图片中具有目标,而使用所述目标检测模型没有检测到的目标确定为所述漏检目标。
16.基于上述方法的进一步改进,基于所述误检目标,通过数据增广更新所述数据集,其中,利用更新的数据集提升所述目标检测模型的鲁棒性进一步包括:当所述误检目标是稳定的误检目标时,将检测到所述误检目标的所述第一图片进行正确标注并添加至所述数据集;从所述第一图片中随机剪裁所述误检目标作为负样本的图片进行数据增广以更新所述数据集;以及将具有不同相对尺寸的目标的图片与所述负样本的图片输入所述目标检测模型,使得所述目标检测模型识别出所述目标与所述误检目标之间的区别。
17.基于上述方法的进一步改进,基于所述漏检目标,通过数据增广更新所述数据集,其中,利用更新的数据集提升所述目标检测模型的鲁棒性进一步包括:通过改变所述第二图片的亮度和对比度进行数据增广和/或通过从所述第二图片中随机抠出所述漏检目标并将所述漏检目标粘贴到所述第二图片的其他位置处进行数据增广,以更新所述数据集,其中,所述第二图片中具有漏检目标;将粘贴有所述漏检目标的第二图片输入所述目标检测
模型,使得所述目标检测模型能够检测出所述漏检目标。
18.基于上述方法的进一步改进,所述大目标包括港口作业机械;所述小目标包括港口人员;所述误检目标包括摄像机;以及所述漏检目标包括下蹲人员。
19.另一方面,本技术实施例提供了一种基于计算机视觉的目标检测装置,包括:数据集生成模块,用于对港口作业区的历史监控视频进行运动信息检测,并根据所述运动信息进行截图并对目标进行标注以制作数据集;模型建立模块,用于建立神经网络yolov5x,利用所述数据集中的一部分对所述神经网络yolov5x进行初步训练以获取目标检测模型;目标分析模块,用于使用所述目标检测模型对所述数据集中的另一部分进行目标检测以分析误检目标和漏检目标;数据集更新模块,用于基于所述误检目标和/或所述漏检目标,通过数据增广更新所述数据集;强化训练模块,用于利用更新的数据集对所述目标检测模型进行强化训练;以及目标检测模块,用于每隔预定时间对所述港口作业区的当前监控视频进行截图以获得待检测图片并利用强化的目标检测模型对所述待检测图片进行目标检测。
20.基于上述装置的进一步改进,所述数据集生成模块用于:从数据库中获取所述港口作业区的历史监控视频;根据所述历史监控视频的图片帧间信息使用高斯混合模型将所述历史监控视频分类为静止像素和运动像素以判断出所述历史监控视频中的运动像素区域;以及对所述历史监控视频中存在运动像素区域的图片进行截图并且对所述运动像素区域中的目标进行标注以生成所述数据集。
21.基于上述装置的进一步改进,基于计算机视觉的目标检测方法还包括输入尺寸确定模块,用于根据所述港口作业区的所述历史监控视频和所述当前监控视频中的小目标的尺寸,确定所述数据集中的每个图片帧的输入尺寸。
22.基于上述装置的进一步改进,所述模型建立模块还用于:所述神经网络yolov5x的基网使用csp网络架构;以及在所述神经网络yolov5x的移动步长为8、16和32的金字塔特征图的基础上,增加移动步长为4的金字塔特征图以检测所述小目标。
23.基于上述装置的进一步改进,所述目标分析模块用于将使用所述目标检测模型检测到的目标与所述数据集的对应的图片中的标注目标进行比较,以确定所述误检目标和所述漏检目标,其中,所述检测分析模块包括误检目标分析子模块和漏检目标分析子模块,所述误检目标分析子模块,用于将所述对应的被标注的第一图片中本来没有目标,而使用所述目标检测模型检测到的目标确定为所述误检目标;以及所述漏检目标分析子模块,用于将所述对应的被标注的第二图片中具有目标,而使用所述目标检测模型没有检测到的目标确定为所述漏检目标。
24.基于上述装置的进一步改进,所述数据集更新模块用于:当所述误检目标是稳定的误检目标时,将检测到所述误检目标的所述第一图片进行正确标注并添加至所述数据集;从所述第一图片中随机剪裁所述误检目标作为负样本的图片进行数据增广以更新所述数据集;以及将具有不同相对尺寸的目标的图片与所述负样本的图片输入所述目标检测模型,使得所述目标检测模型识别出所述目标与所述误检目标之间的区别。
25.基于上述装置的进一步改进,所述数据集更新模块用于:通过改变所述第二图片的亮度和对比度进行数据增广和/或通过从所述第二图片中随机抠出所述漏检目标并将所述漏检目标粘贴到所述第二图片的其他位置处进行数据增广,以更新所述数据集,其中,所述第二图片中具有漏检目标;将粘贴有所述漏检目标的第二图片输入所述目标检测模型,
使得所述目标检测模型能够检测出所述漏检目标。
26.基于上述装置的进一步改进,所述大目标包括港口作业机械;所述小目标包括港口人员;所述误检目标包括摄像机;以及所述漏检目标包括下蹲人员。
27.与现有技术相比,本技术至少可实现如下有益效果之一:
28.1、基于误检目标和/或漏检目标,通过数据增广更新数据集以获取足够的港口作业区训练数据,并利用更新的数据集对目标检测模型进行强化训练以提升目标检测模型的鲁棒性。利用强化的目标检测模型对待检测图片进行目标检测,设计港口作业区小目标检测网络,提升小目标的检测准确率。
29.2、通过重新设计yolov5x的网络结构,提升了港口作业区小目标物体的检测能力。通过系统设计监测模型输入尺寸以及添加步长为4的金字塔特征图,将检测模型对港口人员的检测准确率由yolo-tiny的90%提升到92%。
30.3、使用运动检测算法,有效获取港口作业区实时监控数据集。准确获取港口作业区实时监控视频中有物体运动的图片数据,而将物体静止(前后帧保持不变)、没有物体的视频帧过滤掉,提升了获取监控数据集的效率。
31.4、根据检测的具体情况,有针对性的进行数据增广,提升港口作业区小目标物体的检测能力。根据检测具体情况,针对性进行数据增广,不仅可以尽量减少无用的训练量,还可以将识别的准确率由原先的92%提升到现在的95%。
32.本技术中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本技术的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
附图说明
33.附图仅用于示出具体实施例的目的,而并不认为是对本技术的限制,在整个附图中,相同的参考符号表示相同的部件。
34.图1为根据本技术实施例的基于计算机视觉的目标检测方法的流程图。
35.图2为根据本技术实施例的用于预测不同尺度的目标的金字塔特征图的示图。
36.图3为根据本技术实施例的使用高斯混合模型检测视频的运行物体的检测结果示图。
37.图4为根据本技术实施例的港口作业区的视频中截取的图片示图。
38.图5为根据本技术实施例的在使用目标检测模型进行目标检测时,存在误检目标的示图。
39.图6为根据本技术实施例的在使用目标检测模型进行目标检测时,存在漏检目标的示图。
40.图7a和图7b分别为根据本技术实施例的漏检目标的原图及其随机抠图。
41.图8a和图8b分别为根据本技术实施例的原图和调节对比度后的示图。
42.图9a和图9b分别为根据本技术实施例的原图和添加漏检人员后的示图。
43.图10为根据本技术实施例的基于计算机视觉的目标检测装置的框图。
具体实施方式
44.下面结合附图来具体描述本技术的优选实施例,其中,附图构成本技术一部分,并与本技术的实施例一起用于阐释本技术的原理,并非用于限定本技术的范围。
45.本技术的一个具体实施例,公开了一种基于计算机视觉的目标检测方法。参考图1,基于计算机视觉的目标检测方法,包括:在步骤s102中,对港口作业区的历史监控视频进行运动信息检测,并根据运动信息进行截图并对目标进行标注以制作数据集;在步骤s104中,建立神经网络yolov5x,利用数据集中的一部分对神经网络yolov5x进行初步训练以获取目标检测模型;在步骤s106中,使用目标检测模型对数据集中的另一部分进行目标检测以分析误检目标和漏检目标;在步骤s108中,基于误检目标和/或漏检目标,通过数据增广更新数据集,并利用更新的数据集对目标检测模型进行强化训练;以及在步骤s110中,每隔预定时间对港口作业区的当前监控视频进行截图以获得待检测图片并利用强化的目标检测模型对待检测图片进行目标检测。
46.与现有技术相比,本实施例提供的基于计算机视觉的目标检测方法中,基于误检目标和/或漏检目标,通过数据增广更新数据集以获取足够的港口作业区训练数据,并利用更新的数据集对目标检测模型进行强化训练以提升目标检测模型的鲁棒性。利用强化的目标检测模型对待检测图片进行目标检测,设计港口作业区小目标检测网络,提升小目标的检测准确率。
47.下文中,参考图1,对根据本技术实施例的基于计算机视觉的目标检测方法的步骤s102至s110进行详细描述。
48.在步骤s102中,对港口作业区的历史监控视频进行运动信息检测,并根据运动信息进行截图并对目标进行标注以制作数据集。例如,目标包括人员、车辆、作业机械等物体。具体地,对港口作业区的历史监控视频进行运动信息检测,并根据运动信息进行截图并对目标进行标注以制作数据集进一步包括:从数据库中获取港口作业区的历史监控视频;根据历史监控视频的图片帧间信息使用高斯混合模型将历史监控视频分类为静止像素和运动像素以判断出历史监控视频中的运动像素区域;以及对历史监控视频中存在运动像素区域的图片进行截图并且对运动像素区域中的目标进行标注以生成数据集。
49.然后,根据港口作业区的历史监控视频和当前监控视频中的小目标的尺寸,确定数据集中的每个图片帧的输入尺寸。具体地,为了稳定检测到微小物体,我们规定物体在步长为16的特征图上至少为1
×
1像素。
50.在步骤s104中,建立神经网络yolov5x,利用数据集中的一部分对神经网络yolov5x进行初步训练以获取目标检测模型。具体地,建立神经网络yolov5x还包括:神经网络yolov5x的基网使用csp网络架构;以及在神经网络yolov5x的移动步长为8、16和32的金字塔特征图的基础上,增加移动步长为4的金字塔特征图以检测小目标。利用特征金字塔网络高效提取各维度特征,使得从所述特征金字塔网络的顶层获取高语义化、低空间尺度的特征并进行升采样,并将升采样的特征与所述特征金字塔网络中的低语义化、高空间尺度的特征进行融合以获得抑制目标信息并凸显目标信息。例如,大目标为港口作业机械;小目标包括港口人员或者出现在监控视频中的其他人员。
51.在步骤s106中,使用目标检测模型对数据集中的另一部分进行目标检测以分析误检目标和漏检目标。例如,误检目标包括摄像机;漏检目标包括下蹲人员。具体地,分析误检
目标和漏检目标进一步包括:将使用目标检测模型检测到的目标与数据集的对应的图片中的标注目标进行比较,以确定误检目标和漏检目标,其中,将对应的被标注的第一图片中本来没有目标,而使用目标检测模型检测到的目标确定为误检目标;以及将对应的被标注的第二图片中具有目标,而使用目标检测模型没有检测到的目标确定为漏检目标。
52.在步骤s108中,基于误检目标和/或漏检目标,通过数据增广更新数据集,以提升目标检测模型的鲁棒性,并利用更新的数据集对目标检测模型进行强化训练。具体地,基于误检目标,通过数据增广更新数据集进一步包括:当误检目标是稳定的误检目标时,将检测到误检目标的第一图片进行正确标注并添加至数据集;从第一图片中随机剪裁误检目标作为负样本的图片进行数据增广以更新数据集;以及将具有不同相对尺寸的目标的图片与负样本的图片输入目标检测模型,使得目标检测模型识别出目标与误检目标之间的区别。基于漏检目标,通过数据增广更新数据集进一步包括:通过改变第二图片的亮度和对比度进行数据增广和/或通过从第二图片中随机抠出漏检目标并将漏检目标粘贴到第二图片的其他位置处进行数据增广,以更新数据集,其中,第二图片中具有漏检目标;将粘贴有漏检目标的第二图片输入目标检测模型,使得目标检测模型能够检测出漏检目标。
53.在步骤s110中,每隔预定时间对港口作业区的当前监控视频进行截图以获得待检测图片并利用强化的目标检测模型对待检测图片进行目标检测。例如,监控摄像机拍摄的视频通常为25至30帧/秒,每2至3张图片中截取一张图片,即,每隔一张或两张图片进行截图。例如,当监控摄像机拍摄的视频通常为25帧/秒,预定时间为0.004秒或者0.006秒。
54.本技术的另一个具体实施例,公开了一种基于计算机视觉的目标检测装置。参考图10,基于计算机视觉的目标检测装置包括:数据集生成模块1002、输入尺寸确定模块、模型建立模块1004、目标分析模块1006、数据集更新模块1008、强化训练模块1010和目标检测模块1012。
55.数据集生成模块1002,用于对港口作业区的历史监控视频进行运动信息检测,并根据运动信息进行截图并对目标进行标注以制作数据集。数据集生成模块1002从数据库中获取港口作业区的历史监控视频,具体地,由摄像机拍摄监控视频并存储在数据库中;根据历史监控视频的图片帧间信息使用高斯混合模型将历史监控视频分类为静止像素和运动像素以判断出历史监控视频中的运动像素区域;以及对历史监控视频中存在运动像素区域的图片进行截图并且对运动像素区域中的目标进行标注以生成数据集,并将数据集存储在存储服务器的数据库中。
56.输入尺寸确定模块根据港口作业区的历史监控视频和当前监控视频中的小目标的尺寸,确定数据集中的每个图片帧的输入尺寸。
57.模型建立模块1004,用于建立神经网络yolov5x,利用数据集中的一部分对神经网络yolov5x进行初步训练以获取目标检测模型。模型建立模块还用于:神经网络yolov5x的基网使用csp网络架构;以及在神经网络yolov5x的移动步长为8、16和32的金字塔特征图的基础上,增加移动步长为4的金字塔特征图以检测小目标。利用特征金字塔网络高效提取各维度特征,使得从所述特征金字塔网络的顶层获取高语义化、低空间尺度的特征并进行升采样,并将升采样的特征与所述特征金字塔网络中的低语义化、高空间尺度的特征进行融合以获得抑制目标信息并突显目标信息。大目标包括港口作业机械。小目标包括港口人员。
58.目标分析模块1006,用于使用目标检测模型对数据集中的另一部分进行目标检测
以分析误检目标和漏检目标。目标分析模块1006用于将使用目标检测模型检测到的目标与数据集的对应的图片中的标注目标进行比较,以确定误检目标和漏检目标。例如,误检目标包括摄像机;以及漏检目标包括下蹲人员。检测分析模块包括误检目标分析子模块和漏检目标分析子模块。误检目标分析子模块,用于将对应的被标注的第一图片中本来没有目标,而使用目标检测模型检测到的目标确定为误检目标。漏检目标分析子模块,用于将对应的被标注的第二图片中具有目标,而使用目标检测模型没有检测到的目标确定为漏检目标。
59.数据集更新模块1008,用于基于误检目标和/或漏检目标,通过数据增广更新数据集。数据集更新模块用于:当误检目标是稳定的误检目标时,将检测到误检目标的第一图片进行正确标注并添加至数据集;从第一图片中随机剪裁误检目标作为负样本的图片进行数据增广以更新数据集。数据集更新模块用于:通过改变第二图片的亮度和对比度进行数据增广和/或通过从第二图片中随机抠出漏检目标并将漏检目标粘贴到第二图片的其他位置处进行数据增广,以更新数据集,其中,第二图片中具有漏检目标。
60.强化训练模块1010,用于利用更新的数据集对目标检测模型进行强化训练。将具有不同相对尺寸的目标的图片与负样本的图片输入目标检测模型,使得目标检测模型识别出目标与误检目标之间的区别。将粘贴有漏检目标的第二图片输入目标检测模型,使得目标检测模型能够检测出漏检目标。
61.目标检测模块1012,用于每隔预定时间对港口作业区的当前监控视频进行截图以获得待检测图片并利用强化的目标检测模型对待检测图片进行目标检测。具体地,在显示器上显示利用目标检测模型实时检测到的目标,其中,目标包括人员、车辆和作业机械等物体,并实时显示港口作业区的违规行为。另外,通过扬声器将目标的违规行为通知安保人员。违规行为包括人员未带安全帽和/或没有穿工作服、人员下蹲等;车辆超速、逆行等。
62.下文中,以具体实例的方式对基于计算机视觉的目标检测方法进行详细描述。
63.本技术提出的港口作业区小目标检测算法是以最新的单阶段检测神经网络yolov5为原型进行改进的算法。首先,通过增大网络输入尺寸并修正输入尺寸比例,将输入图像的细节信息进行分析同时,提升检测网络的工作效率;之后,基于yolov5原来的金字塔形图像特征,添加更浅层的特征图作为检测输出,提升微小物体检测性能;随后,初步训练一版网络后,根据新数据的检测情况,针对性使用多种数据增广方法,在图片数据有限的前提下,增广数据,进行迭代训练,提升检测网络的鲁棒性。数据增广是深度学习中常用的技巧之一,主要用于增加训练数据集,让数据集尽可能的多样化,使得训练的模型具有更强的泛化能力。
64.本技术方法是通过下述技术方案实现的:
65.步骤一:基于小目标检测需求,初步选择yolov5x网络为港口作业区小目标检测网络。
66.使用yolov5x作为检测网络原因如下:
67.1、相比于yolo-tiny的基网使用的resnet架构,yolov5x的基网使用了csp架构,可以在准确率略微提升的前提下,减小运算量。
68.表1:现有方法与yolov5x的性能比
69.methodbackbonesizefps#parameterap
50
ap
75
apsyolov3darknet536083062.3m57.934.418.3
yolov3(spp)darknet536083062.9m60.638.220.6panet(ssp)cspresnext506083556.9m60.641.622.1
70.2、相比于yolo-tiny的1024层通道,yolov5的通道层为1280,更多的通道数意味着更复杂的语义表达能力,即可以在浅层特征图获取更精准的检测能力,提升检测的准确率。
71.3、相比于yolo-tiny的两层金字塔特征,yolov5为三层金字塔特征,可以满足更多尺度物体的检测能力。
72.步骤二:根据现场小目标检测的实际需求,确定小目标检测网络的输入尺寸。
73.选择尺寸的方法为:
74.1、确定视频的分辨率w
origin
×worigin
(如果分辨率为长方形,则w
origin
为视频宽高的较长边)需要检测物体的最小尺寸w
min
×wmin

75.2、由于yolov5的检测坐标是通过金字塔形特征图确定的(金字塔特征图原理在步骤三中详解),根据尺度不变性,如果一个物体能够检测到,该物体需要在对应的尺度的特征图的对应位置有显著的特征,因此需要物体在对应特征图上的尺寸至少为1
×
1像素。
76.3、为了稳定检测到微小物体,我们规定物体在步长为16的特征图上至少为1
×
1像素。如果我们设模型的输入尺寸为w
input
×winput
,输入尺寸所满足的条件即如下图所示:
[0077][0078]
推导后可得
[0079][0080]
由于一般视频帧图片不是正方形,如果检测模型设置为正方形的输入尺寸w
input
,上下均会有一个区域无法被有效利用,这样会导致运算的浪费。因此,我们将输入尺寸比例尽量贴近视频帧图片的比例。
[0081]
步骤三:在原有的移动步长为8,16,32的金字塔特征图基础上,添加了移动步长为4的金字塔特征图。
[0082]
特征金字塔网络定义与引进步长为4的特征图的原因:特征金字塔网络是一种利用常规卷积神经网络模型来高效提取图片中各维度特征的方法。其工作原理为:首先进行神经网络前向运算,在网络顶层获取高语义化程度,低空间尺度的特征;获取前述的特征后,将该特征升采样,并和神经网络中浅层特征(低语义化,高空间尺度特征)融合,融合后的特征既有较高的语义性,也有较高的分辨率;将前两步获取的不同尺度特征图分别用于预测不同尺度的物体(参考图2)。
[0083]
由于按照步骤二设计的网络,微小尺寸物体在空间尺寸最大的特征图(步长为8的特征图)上也只有2
×
2的大小,这个尺寸的特征对物体的判断难度还是比较大的。因此,需要添加一个空间尺度更大的金字塔特征图,即步长为4的特征图。
[0084]
步骤四:使用部分监控视频,根据运动信息进行截图标注,制作数据集。
[0085]
使用运动信息截图的原因与方法:
[0086]
由于获取的港口作业区监控视频为现场实际作业视频,现场特点为人员出现数量少,人员出现时间短,因此现场硬盘录像机获取的港口作业区监控视频有效时长极少(5%
左右)。如果隔特定时间内进行截取,不仅会截取到大量无效图片(即没有待检测物体),也会错过人员出现时的一系列重要信息。同时,由于没有物体时,现场背景随时间变化不明显;物体出现时,物体大体上是运动的。因此,截图时需要根据运动信息截图,即当视频中有区域进行运动时,截取当时的视频帧。
[0087]
使用高斯混合模型(gmm,全称为gaussian mixture model)来进行视频的运动检测,根据检测结果参考图3,判断是否截取特定视频。高斯混合模型是由多个高斯分布模型(及正态分布)组合而成的模型,其公式如下所示:
[0088][0089]
其中,θ表示要被估计的参数,样本集x={x1,x2,

xn},xj为样本集x中的样本数据,从分布是p(x|θ)的总体样本中抽取到n个样本的概率,也就是样本集x中各个样本xj的联合概率。
[0090]
根据视频帧间信息特征使用混合高斯进行归类,判断出视频中哪些像素是运动的,哪些像素是静止的。从而判断出视频中运动的像素位置。
[0091]
混合高斯模型的参数需要根据视频的运动情况实时进行更新,参数更新使用em(expectation maximization)算法,em算法的步骤如下:
[0092]
1、初始化参数θ
[0093]
2、e-step:依据当前参数,计算每个数据j来自子模型k的可能性r
jk

[0094][0095]
其中,αk是各高斯分布的权重,φ是各高斯子模型概率函数,其模型参数为θk。
[0096]
3、m-step:计算新一轮迭代的模型参数
[0097][0098][0099][0100]
4、重复计算e-step和m-step直至收敛(||θ
i 1-θi||<ε,其中ε是一个很小的正数,表示经过一次迭代之后参数变化非常小)。
[0101]
步骤五:使用步骤四制作的数据集初步训练一个改进版的小目标检测模型。
[0102]
步骤六:使用步骤五训练的小目标检测模型,对尚未训练的港口作业区视频进行
检测,分析误检、漏检情况。
[0103]
误检情况:本来没有物体的区域,经过检测网络分析,认为是某种物体。
[0104]
漏检情况:本来图片中有若干物体,没有被检测神经网络检测出。步骤七:基于误检、漏检情况,进行更新数据、数据增广等方法,进行强化学习,提升检测模型的鲁棒性。
[0105]
更新数据的步骤:
[0106]
1、对于步骤六的误检情况,需要分析误检情况是否稳定,如果稳定,可以添加多个时段的该场景图片,作为负样本加入数据集。如果只是偶发情况,可以不用作为负样本添加进训练集。
[0107]
2、对于步骤六的漏检情况,如果漏检的人员尺度不满足之前设定的微小尺寸人员标准或人员周围环境过于复杂,则该人员不作为训练数据加入;否则将漏检人员所在图片进行标注,并放入检测数据集中。
[0108]
由于采集的样本视频数据量过少,现有的检测网络训练集较难以完全针对港口的各种环境进行稳定检测,鲁棒性不高,需要对训练数据进行数据增广。针对港口作业区监控视频的实际情况,确定如下增广数据方法:
[0109]
随机裁剪:即随机扣取图片的某些部分进行检测,这种方法可以使得物体的相对尺寸改变,模型可以在不同相对尺度的物体中提取到该物体的特征,使得该类型物体检测准确度提升。
[0110]
随机水平翻转:即将图片沿水平方向翻转。由于物体在监控中不会垂直方向对称(即上下颠倒),因此水平翻转可以成为增加训练数据的方法。
[0111]
随机调节亮度、对比度、饱和度:由于港口作业区获取监控视频,无法涵盖现场各种自然条件情况,例如阴天、逆光、阴影遮挡等情况。如果出现上述天气情况,可能会导致训练的模型检测不稳定。因此需要通过随机调节图片的亮度、对比度、饱和度来提升训练模型鲁棒性。
[0112]
港口作业区的视频监测的实施例
[0113]
步骤一:选择yolov5x检测网络为港口作业区小目标检测网络。
[0114]
步骤二:根据现场小目标检测的实际需求,确定小目标检测网络的输入尺寸。
[0115]
基于方案里步骤二的输入尺寸判断方法,我们可以计算一下检测模型的最终输入尺寸。在这里,我们确定微小物体在监控视频里的最小尺寸w
min
为32,监控视频尺寸w
origin
为1920(原始尺寸为1920
×
1080),根据方案中步骤二的模型输入尺寸计算公式
[0116][0117]
我们可以计算出:w
input
>960,这里,取大于960的2m数字,即1024。另外,根据方案中的输入尺寸比例与实际视频帧契合的要求,模型的输入尺寸被确定为1024
×
576。
[0118]
步骤三:通过修改yolov5x的模型配置文件,在原有的移动步长为8,16,32的金字塔特征图基础上,添加了移动步长为4的金字塔特征图(尺寸为256
×
144)。
[0119]
步骤四:使用部分监控视频,根据运动信息进行截图标注,制作数据集。
[0120]
以一段视频举例,进行数据集制作(参考图4)。
[0121]
本段视频的时长为1分钟,其中有人视频的时长为20秒。如果按照平常的每隔特定帧截一张图,则67%的视频帧都是没有人或前后重复的视频帧。这些视频帧就是无效的视
频帧,无法放入训练数据集中。为此,我们使用了opencv自带的混合高斯模型(opencv的函数名为createbackgroundsubtractormog2)判断视频运动情况,通过运动情况判断是否截取视频帧。使用该方法,截取的视频帧不仅确保有物体,而且可以确保截取的物体是运动变化的。
[0122]
使用该方法截取了需要的视频帧,并制作训练检测网络所需的训练、验证、测试数据集。
[0123]
步骤五:使用步骤四制作的数据集初步训练一个改进版的小目标检测模型。
[0124]
步骤六:使用步骤五训练的小目标检测模型,对尚未训练的港口作业区视频进行检测,分析误检、漏检情况。
[0125]
误检情况示例:
[0126]
如图5所示,训练的检测网络准确地检测到了视频中央的一个人和一台港口机械。然而,该网络将轨道吊上架设的监控摄像机球机误检测为人员。由于模型训练时并未将该视频放入数据集,可以推测得出检测网络对该复杂环境尚未完全适应,需要之后将其添加进训练集进行适应性训练;另外,由于摄像机与人在相对尺度较小的位置十分相似,需要将该摄像机作为负样本,训练提取能分辨其与人之间区别的特征。
[0127]
漏检情况示例:
[0128]
如图6所示,视频右下角有四个人,其中一个人无法通过训练的网络检测到。通过分析可以推断出漏检的原因:人员背光,导致人员特征不明显;人员处于下蹲状态,与正常人员的特征不同。针对背光问题,训练时可以通过改变图片亮度、对比度等方式增广数据;针对处于下蹲状态检测不稳定的问题,可以通过随机抠图、扣出下蹲人员并粘贴到训练集其他图片等方式,让网络学习到下蹲人员特征。
[0129]
步骤七:基于误检、漏检情况,进行更新数据、数据增广等方法,进行强化学习,提升检测模型的鲁棒性。
[0130]
针对误检情况:
[0131]
以步骤六的误检示例图为例,根据之前的分析,需要将该视频帧正确标注后放入数据集。同时随机扣取图片中轨道吊的摄像机作为负样本。通过输入不同相对尺度的样本与负样本,检测网络能够学习出人与摄像机的区别(下图7a为原图,图7b为随机扣的图片)
[0132]
针对漏检情况:
[0133]
以步骤六的漏检示例图为例,根据之前的分析,可以进行两种数据增广思路:通过改变图片亮度、对比度增广;通过随机抠图、扣出下蹲人员并粘贴到训练集其他图片度增广。
[0134]
图8a和图8b是第一种增广方式效果(以更改对比度为例,图8a为原图,图8b为调节对比度图)。
[0135]
图9a和图9b为第二种增广方式效果(图9a为原图,图9b将漏检人员添加到图像的其他位置)。
[0136]
与现有技术相比,本技术至少可实现如下有益效果之一:
[0137]
1、本技术通过重新设计yolov5x的网络结构,提升了港口作业区小目标物体的检测能力。通过系统设计监测模型输入尺寸以及添加步长为4的金字塔特征图,将检测模型对港口人员的检测准确率由yolo-tiny的90%提升到95%。与此同时,引进的yolov5x网络,在
华为atlas-300加速卡上运行,同尺寸下运行时间由原来的120ms,减少到现在的50ms。
[0138]
2、本技术使用运动检测算法,有效获取港口作业区实时监控数据集。准确获取港口作业区实时监控视频中有物体运动的图片数据,而将物体静止(前后帧保持不变)、没有物体的视频帧过滤掉,提升了获取监控数据集的效率。
[0139]
3、根据检测的具体情况,有针对性的进行数据增广,提升港口作业区小目标物体的检测能力。根据检测具体情况,针对性进行数据增广,不仅可以尽量减少无用的训练量,还可以将识别的准确率由原先的92%提升到现在的95%。
[0140]
术语“目标检测装置”包括用于处理数据的各种装置、设备和机器,例如目标检测装置包括可编程处理器、计算机、多个处理器或多个计算机等。除了硬件之外,该装置还可以包括创建用于所讨论的计算机程序的执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或运行环境、或者其一个或多个组合的代码。
[0141]
本说明书中描述的方法和逻辑流程可以由一个或多个可编程处理器来执行,其中,可编程处理器执行一个或多个计算机程序,以通过对监控视频进行操作并且生成目标检测结果来执行这些功能。
[0142]
通常地,计算机还包括用于存储历史视频数据和数据集的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),或者与一个或多个大容量存储设备可操作地耦合,以从大容量存储设备接收数据或者向该大容量存储设备传输数据,或者这两者。适用于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储设备,举例来说包括:半导体存储设备,例如eprom(可擦可编程只读存储器)、eeprom(电可擦可编程只读存储器)和闪存设备;磁盘,例如内部硬盘或可移动硬盘;磁光盘;以及cd-rom光盘和dvd-rom光盘。
[0143]
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
[0144]
以上所述,仅为本技术较佳的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献