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

一种针对公共安全的中小目标物体的检查算法

2022-12-23 20:33:00 来源:中国专利 TAG:


1.本发明属于图像处理技术领域,具体涉及一种针对公共安全的中小目标物体的检查算法。


背景技术:

2.虽然我国如今的社会治安水平居于世界前列。尽管目前在各个大城市中监控摄像头数量较多,但是监控摄像头一般只能在案发后进行刑事追责,而很难能够起到及时报警的作用。并且在很多经济较落后、治安水平相对较弱的区域,高科技监控设备并不完善,所以针对在一些特殊的容易产生社会性聚集的场所没有能够自动发现安全事故并报警的装置,提出了相关的解决技术。
3.识别安全事故发生时穿戴特殊服饰的过程属于目标检测,目的是能够及时对事故发生地的人群进行初步分类,大概估计出涉及该事件的人数,从而可以进行合适的警力部署,同时也能通过对穿戴特殊服饰人群的检测实现人口分类管理。目前,开源和应用的目标检测算法和物种分类算法都属于深度学习领域。通过设计目标检测,并进行物种分类,从而达到检测的目的。


技术实现要素:

4.本发明要解决的技术问题是针对特殊场所中发生安全事故时,现有的监测设备无法实现及时的人口分类管理从而导致不能高效的实现保障特殊场所的安全问题。为了解决上述问题,提出了ssd算法与mobilenetv1网络结构相结合的思想,在此基础上又增加了一层先验框,该方法有着监测速度较快,检测精度高,能够检测小物体的优点。
5.为了实现上述目的,本发明公开了一种针对公共安全的中小目标物体的检查算法,包括以下步骤:
6.s1:构建一个基于ssd算法的卷积神经网络,并且对中小目标物品的数据集进行构建和标注;
7.s2:设定卷积神经网络中所需要的超参数,并且设定所需训练的次数;
8.s3:利用所构建的数据集对卷积神经网络进行训练,观察损失函数的收敛情况以及是否达到训练次数,最后得到权重文件,
9.s4:将训练好的权重文件放到训练完毕的卷积神经网络,向卷积神经网络中输入实时场景下的图片,将训练好的目标特征与图片中的特征信息进行比对,通过分类器完成目标的分类识别,从而实现对中小目标物体的检测。
10.作为优选,在步骤s1中,对所构建的ssd算法中的进行先验框的改变,获得不同数量的底层特征。
11.作为优选,在步骤s1中,还对ssd算法中的vgg16进行替换,采用 mobilenetv1网络模型进行处理。
12.作为优选,在步骤s1中,还需要对中小目标物品的参数信息进行收集,具体的过程
为:收集服装照片或图片,对照片或图片中的物体进行名称标注,构建含有中小目标物品的数据集。
13.作为优选,还需要对数据集进行增广,获得数据量更多的数集,具体的过程为:对数据集中的图片进行水平翻转增强,垂直翻转增强,镜像对称增强,仿射变化,旋转,高斯加噪,对比度变化,尺度变换,平移来增广数据集。
14.作为优选,在步骤s3中,首先设定损失函数为图片批次进行卷积网络提取特征,并分类所得结果与数据集本身预测结果差值的平方,并且利用该损失函数对网络参数进行梯度下降更新。
15.作为优选,训练集的损失函数一直在逐渐减小,当验证集的损失函数有增大的趋势时,结束训练;如果验证集的损失函数一直时减小的趋势,只要达到设定的训练事件次数,就结束训练;最终得到训练模型后的权重文件。
16.作为优选,在步骤s4中,通过soft-max分类器完成目标的分类识别,并且判定分类结果是否含有中小目标物体,如果含有上述物品,则发送报警指令,否则继续向测试模型中输入实时场景下的图像。
17.本发明的有益之处是:与现有的ssd算法建立的卷积神经网络相比,本技术在两个方面对现有的ssd算法进行改进,从而解决了现有的ssd算法的网络结构对一些远距离下的危险物品检测效果较差,不能达到准确的问题;一方面是改变先验框的尺寸大小,从底层特征开始提取输入图像中小物体先验框的数量就增多,使得检测小物体的效果会更好,检测出的物体精确度更高;另一方面是将将原始ssd算法中的vgg16网络模型换成mobilenetv1结构,这样的好处就在能够有效解决在整个ssd算法的处理过程中,前期降维过多从而数据丢失或出现偏差,从而确保了最终结果的稳定性。
附图说明
18.图1为本发明的总体步骤流程图;
19.图2为本发明的详细步骤流程图;
20.图3为现有ssd算法框架示意图;
具体实施方式
21.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下获得的所有其他实施例,都属于本发明保护的范围。
22.本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义两个
或两个以上,除非另有明确具体的限定。
23.在申请中,“示例性”一词用来表示“用作例子、例证或说明”。本技术中被描述为示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对已知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本技术所公开的原理的最广范围相一致。
24.请参阅图1至图3,本发明公开了一种针对公共安全的中小目标物体的检查算法,包括以下步骤:s1:构建一个基于ssd算法的改进型卷积神经网络,并且对中小目标物品的数据集进行收集和标注;s2:设定各个超参数所需图片的批次和学习速率,并且设定所需训练的事件次数;s3:通过所构建的数据集对卷积神经网络进行训练,观察损失函数的收敛情况以及是否达到训练次数,最后得到权重文件,s4:将训练好的权重文件放到测试模型中,向测试模型中输入实时场景下的图片,将训练好的目标特征与图片中的特征信息进行比对,通过分类器完成目标的分类识别,从而实现对中小目标物体的检测。在本实施例中,本技术基于现有的ssd算法,通过利用该算法构建卷积神经网络,生成网络模型,然后收集现有中下目标物品的参数信息,将其代入至网络模型内,从而对是否是中小目标物品进行有效检测,在一些重要的场所,例如车站、机场等,设置含有该检测模型的装置,就能对通行人员进行有效检测,确保公众安全。
25.请参阅图3,通过查询相关的资料,对于现有技术中采用的ssd网络结构,主要设计思想是特征分层提取,并依此进行边框回归和分类,由ssd的网络结构可以毫无疑义得知ssd的网络分为6个stage,每个stage能学习到一个特征图,然后在每个特征图上进行边框回归和分类。ssd使用vgg-16-atrous作为基础网络(conv4_3,fc_7),随后在vgg-16基础网络上添加的特征提取层(conv8_2, conv9_2,conv10_2,conv11_2)。
26.为了保证网络对小目标有很好检测效果,ssd除了在最终特征图上做目标检测之外,还在之前选取的5个特征图上进行预测。ssd网络以vgg16的前5层卷积网络作为第1个stage,然后将vgg16中的fc6和fc7两个全连接层转化为两个卷积层并将fc_7作为网络的第2个stage,接着在此基础上,ssd网络继续增加了conv8、conv9、conv10和conv11四层网络,用来提取更高层次的语义信息同时作为第3、4、5、6个stage。
27.根据公式featuremap_h=((image_h 2*pad_h

kernel_h)/stride_h) 1 和featuremap_w=((image_w 2*pad_w

kernel_w)/stride_w) 1我们可以了解卷积层和池化层输出图像大小的计算,其中featuremap_h:卷积或池化操作后输出特征图的高度featuremap_w:卷积或池化操作后输出特征图的宽度; image_h:输入图像的高度;image_w:输入图像的宽度;pad_h:在输入图像的高度方向两边各增加pad_h个单位长度(因为有两边,所以乘以2);pad_w:在输入图像的宽度方向两边各增加pad_w个单位长度(因为有两边,所以乘以2); kernel_h:卷积核的高度;kernel_w:卷积核的宽度;stride_h:高度方向的滑动步长stride_w:宽度方向的滑动步长,根据网络结构中每一个卷积层的参数可以得对应每一层feature map的大小,例如:输入图像大小为300*300*3,vgg16 中第一个卷积层中设置了64个大小为3*3*3的卷积核,同时在输入图像的上下作用各填充一行数据即pading=
1,卷积核滑动步长为1。因此,第一个卷积层featuremap大小为300*300*64。之后的pooling层:2*2*64s=2即步长为2,feature map 变为150*150*64。因此,第1个stage对应feature map为38*38*512,第2个stage 对应feature map为19*19*1024,第3个为10*10*512,第4个为5*5*256,第5 个为3*3*256,第6个stage对应feature map为1*1*256。
28.为了实现上述目的,在步骤s1中,对所构建的ssd算法中的先验框的的改变,获得更多的数据量;具体的实施过程中,原始的基于ssd算法的网络结构在获取图像中含有目标物体的先验框是从第四层38x38x512开始的,由于检测图像中小物体的特征层是从底层开始,所以在基于ssd算法的mobilenetv1网络结构模型中,获取图像特征的先验框从第三层的75x75x256开始,这样的话从底层特征开始提取输入图像中小物体先验框的数量就增多了,所以检测小物体的效果会更好。
29.在步骤s1中,还对ssd算法中的vgg16进行替换,采用mobilenetv1网络模型进行处理,从而减少计算量和参数量;更为具体的是,mobilenetv1网络结构采用深度可分离卷积的思想,将普通卷积分为3x3的逐通道卷积和1x1的逐点卷积。因此,在mobilenetv1中出现的卷积层都是逐通道卷积和逐点卷积,而vgg16 和mobilenetv1网络结构除了卷积层的方式不同外,还有不一样的点在于:第一点是vgg16的网络先用3x3x3x64的过滤器与输入图像进行普通卷积,然后用最大池化层进行降维操作。mobilenetv1的网络先用3x3x3x32的过滤器与输入图像进行普通卷积,并且步长s为2,直接进行降维操作;第二点为vgg16网络结构中的第五层19x19x512-》19x19x512采用了三次普通卷积操作,而 mobilenetv1网络结构中的19x19x512-》19x19x512采用了五次深度可分离卷积操作,原因就是前面降维太快了,后面缓冲一下,就能有效避免前期降维过多从而数据丢失或出现偏差,从而确保了最终结果的稳定性;在这需要说明的是,由于模型训练过程中参数和数据分布会不断的更新,例如:第二层的输入,是由输入数据和第一层参数得到的,而第一层的参数随着训练一直变化,这样一定会引起第二层输入数据的改变,而采用归一化处理可以有效地缓解这个问题。随着网络层数的加深,偏移量与标签的差别会逐渐扩大,导致模型需要更多时间来学习调整样本分布,这导致训练效率低下。利用相关的函数对数据进行标准化,可以缓解内部协变量偏移的问题从而增加训练速度。归一化除了可以避免梯度弥散和梯度爆炸的问题,同时也可以避免在后续过程中采用的relu激活函数数据死亡的问题,从而使得整个模型能够被准确建立。
30.为了实现上述目的,在步骤s1中,还需要对中小目标物品的参数信息进行收集,具体的过程为:收集服装照片图片,对图片中的物体进行名称标注,构建含有中小目标物品的数据集。还需要对数据集进行增广,获得数据量更多的数集,具体的过程为:对数据集中的图片进行水平翻转增强,垂直翻转增强,镜像对称增强,仿射变化,旋转,高斯加噪,对比度变化,尺度变换,平移来增广数据集。在本实施里中,为了更好对中小目标物品进行有效的检测识别,就需要对中小目标物品的参数信息进行收集,从而是的最终在识别的过程中,只需利用某一个参数信息就能识别该物品是否为中小目标物品,同时也能避免识别错误的发生,提高识别的准确性,因此就需要对中小目标物品的的数据集进行增广,而各种增广的处理方式,从而能有效适用不同的中小目标物品。
31.在步骤s2中,设定各个超参数所需的图片批次(使用训练集中的一小部分样本对模型权重进行一次反向传播的参数更新,简称:batch)和学习速率 (learning-rate)时,需
要设定所需训练的事件次数,在这里超参数是指更新一次参数(权重和偏移量),而事件次数,为epoch次数,在卷积神经网络中,当一个完整的数据集通过了神经网络一次并且返回了一次,这个过程称为一次epoch;在卷积神经网络中传递完整的数据集一次是不够的,而且我们需要将完整的数据集在同样的神经网络中传递多次;但是使用的是有限的数据集,并且使用一个迭代过程即梯度下降来优化学习过程;因此仅仅更新一次或者说使用一个epoch 是不够的,而且随着epoch数量增加,神经网络中的权重的更新次数也在增加,曲线从欠拟合变得过拟合。在具体实施过程中,假设有5万张训练图片,1万张测试图片,图片批次为256对模型进行训练,则训练集中具有batch个数为 50000/256=195 1=196,每个epoch需要完成的batch的个数和具有的iteration(使用一个batch数据对模型进行一次参数更新的过程,被称为“一次训练”)均为 196,且每个epoch中发生模型权重更新的次数为196,训练10代后,模型权重的更新的次数为196*10=1960;不同代的训练,其实用的是同一个训练集的数据。第1代和第10代虽然用的都是训练集的5万张图片,但是对模型的权重更新值却是完全不同的;因为不同代的模型处于代价函数空间上的不同位置,模型的训练代越靠后,越接近谷底,其代价越小。
32.正如前文所述,本技术需要进行多次epoch,因此在步骤s3中,通过所构建的数据集对卷积神经网络进行训练,观察损失函数的收敛情况以及是否达到训练次数,最后得到权重文件。在正常情况下,训练集的损失函数一直在逐渐减小,当验证集的损失函数有增大的趋势时,结束训练;如果验证集的损失函数一直时减小的趋势,只要达到设定的训练事件次数,就结束训练;最终得到训练模型后的权重文件。在本实施里中,损失函数(loss function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数,在训练的过程中,训练集的损失函数一直在慢慢减小,但是验证集的损失函数不一定一直在减小。如果验证集的损失函数有增大的趋势,这时网络模型将自动启动早停机制,结束训练,如果验证集的损失一直是减小的趋势,只要达到设定的训练次数epoch,就结束训练。将训练模型后的权重.h5文件保存用于测试。
33.更为具体的是,将训练好的权重文件放到测试模型中,向测试模型中输入实时场景下的图片,通过基于ssd算法的mobilentv1神经网络对特征进行提取和分类识别,从而实现对中小目标物体的检测。并判定分类结果中是否含有中小目标物体,如果含有则发送报警指令,否则继续向测试模型中输入实时场景下的图像。
34.本技术的工作流程是:首先基于ssd算法构建一个卷积神经网络模型,设定超参数,并且构建目标的数据集,对数据集进行训练得到权重文件,将权重文件保存在网络模型中,得到完整的计算模型,然后输入特定场景下的图片,通过基于ssd算法的mobilenetv1神经网络对图片进行特征提取,将所提取的特征输入值分类器中,得出每一个特征的分类结果,最后根据分类结果来判断是属于何种服饰。
35.上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本技术的限定。虽然此处并没有明确说明,本领域技术人员可能会对本技术进行各种修改、改进和修正。该类修改、改进和修正在本技术中被建议,所以该类修改、改进、修正仍属于本技术示范实施例的精神和范围。
36.同时,本技术使用了特定词语来描述本技术的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本技术至少一个实施例相关的某一特征、结构或特点。因
此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本技术的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
37.同理,应当注意的是,为了简化本技术披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本技术实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本技术对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
38.一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明数字允许有
±
20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本技术一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
39.针对本技术引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本技术作为参考,但与本技术内容不一致或产生冲突的申请历史文件除外,对本技术权利要求最广范围有限制的文件(当前或之后附加于本技术中的)也除外。需要说明的是,如果本技术附属材料中的描述、定义、和/或术语的使用与本技术内容有不一致或冲突的地方,以本技术的描述、定义和/或术语的使用为准。
40.本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献