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

模型自适应的目标检测的方法及装置与流程

2022-03-19 12:03:32 来源:中国专利 TAG:


1.本公开涉及人工智能领域,具体而言涉及一种模型自适应的目标检测的方法及装置。


背景技术:

2.工业生产和建设中,安全一直是永恒不变的主题。工作服和安全帽在安全事故的防范中起着举足轻重的作用,因此,按规定穿着工作服和佩戴安全帽是安全生产的必要措施。
3.结合ai技术在工厂部署智能检测系统,可以提高工厂中的工人的工服穿戴率,从而降低工厂安全事故发生率。
4.然而,现有检测技术存在以下问题:
5.现有技术的方案中模型部署方式单一,无法灵活地根据当前计算资源的使用率选择合适的模型以及对模型进行调整;
6.现有技术的方案中数据采集周期长,模型更新慢,存在滞后性,无法满足实际生产中业务需求变化;以及
7.现有技术的方案中用于模型训练的样本分布不平衡,背景和前景占比高,导致模型鲁棒性差。
8.因此,存在解决上述问题的需求,以改善检测的灵活性、响应速度和鲁棒性。


技术实现要素:

9.根据本公开的第一方面,提供了一种模型自适应的目标检测的方法,该方法在边缘端执行,包括:基于视频流得到第一数据集,并且将第一数据集发送到云端,第一数据集包括正样本和负样本,正样本为包括目标的样本,负样本为不包括目标的样本;接收经训练的模型,经训练的模型是在云端利用第一数据集进行训练得到的;利用rnn神经网络预测与模型的压缩相关联的参数;以及基于边缘端的可用资源,根据与模型的压缩相关联的参数对经训练的模型进行压缩,以得到经压缩的模型。
10.根据本公开的第二方面,提供了一种模型自适应的目标检测的装置,该装置被配置在边缘端,包括:视频流处理模块,被配置为基于视频流得到第一数据集,并且将第一数据集发送到云端,第一数据集包括正样本和负样本,正样本为包括目标的样本,负样本为不包括目标的样本;rnn预测模块,被配置为接收经训练的模型,并且利用rnn神经网络预测与模型的压缩相关联的参数,经训练的模型是在云端利用第一数据集进行训练得到的;压缩模块,被配置为基于边缘端的可用资源,根据与模型的压缩相关联的参数对经训练的模型进行压缩,以得到经压缩的模型。
11.根据本公开的第三方面,提供了一种用于模型自适应的目标检测的非瞬态计算机可读存储介质,其上存储有程序,其特征在于,当该程序由计算机执行时,使计算机执行根据本公开的第一方面所述的方法。
12.根据本公开的第四方面,提供了一种用于模型自适应的目标检测的计算装置,包括存储器和处理器,存储器与处理器通信耦合,该存储器中存储有程序,该程序当由处理器执行时,使得处理器执行根据本公开的第一方面所述的方法。
13.本公开提出的方法和装置可以动态获取边缘端硬件设备和资源使用情况,实现对模型的自适应压缩;采用云边协同训练数据的方法,提高模型的准确率,并且可以及时更新模型;采用基于改进focal loss和lsr多阶段工服检测模型,解决工厂采集数据不均衡问题,提高模型的鲁棒性。
14.通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得更为清楚。
附图说明
15.构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
16.参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
17.图1是根据本公开的实施例的模型自适应的目标检测系统的架构图。
18.图2是根据本公开的实施例的rnn预测的示意图。
19.图3是根据本公开的实施例的模型自适应的目标检测的方法的流程图。
20.图4是根据本公开的实施例的模型自适应的工服检测的系统的示意图。
21.图5是可以用于实现根据本公开的实施例的模型自适应的目标检测的方法的示例性计算设备的示意图。
22.为了便于理解,在附图等中所示的各结构的位置、尺寸及范围等有时不表示实际的位置、尺寸及范围等。因此,本公开并不限于附图等所公开的位置、尺寸及范围等。
具体实施方式
23.下面将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
24.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。也就是说,本文中的结构及方法是以示例性的方式示出,来说明本公开中的结构和方法的不同实施例。然而,本领域技术人员将会理解,它们仅仅说明可以用来实施的本公开的示例性方式,而不是穷尽的方式。此外,附图不必按比例绘制,一些特征可能被放大以示出具体组件的细节。
25.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
26.随着需要处理的数据量的不断增长,将所有数据都通过网络传到云计算中心进行处理变得越来越困难,并且存在响应速度慢、不灵活等诸多问题。对于实时性要求较高的应用场景,可以在靠近数据源头的边缘端对数据进行处理。
27.图1图示了根据本公开的实施例的模型自适应的目标检测系统100的架构图。如图1所示,该系统100可以被分为靠近现场(例如,实际进行检测的地点,诸如工厂)的边缘端和
远离现场的云端两个部分。其中,边缘端可以包括rnn(recurrent neural network,循环神经网络)预测模块101、控制模块102、压缩模块103、优化模块104、检测模块105、视频流处理模块106、计算资源107、存储资源108和摄像头109;云端可以包括web前端110、智能边缘云平台111、训练模块112和计算资源113。
28.rnn预测模块101可以被配置为基于边缘端的可用计算资源,利用rnn神经网络,预测与模型的压缩和优化有关的信息,并将其发送给控制模块102。
29.图2是根据本公开的实施例的rnn预测的示意图,其中,rnn预测模块101可以从边缘端的计算资源107获取显存的可利用率,从云端的训练模块112获取与经训练的模型相关联的参数,诸如,模型的大小、骨干网络(backbone)、精度(precise)和召回率(recall)等。rnn预测模块101基于上述参数利用rnn神经网络进行预测,以得到压缩指令,并将压缩指令发送给控制模块102。
30.在根据本公开的实施例中,rnn预测模块101可以从计算资源107动态地获取边缘端的当前可用的计算资源和硬件设备,从云端的智能边缘云平台111接收在云端进行训练的模型,以及基于边缘端的可用资源利用rnn神经网络预测与模型的压缩相关联的参数。
31.在根据本公开的实施例中,rnn预测模块101还可以被配置为基于边缘端的可用资源,利用rnn神经网络从多个经训练的模型中选择最优模型。
32.控制模块102可以被配置为将与模型的压缩相关联的信息发送给压缩模块103,以及将与模型的优化相关联的信息发送给优化模块104。在根据本公开的实施例中,控制模块102可以基于rnn预测模块101确定模型压缩方案,并将与模型压缩方案相关联的信息发送给压缩模块103。
33.在根据本公开的实施例中,控制模块102还可以基于视频流得到第二数据集,并且将第二数据集发送给优化模块104。第二数据集可以包括多个难以进行检测的困难样本。例如,在检测工人是否穿戴好工服时,困难样本可以是其中存在重叠的多个工人的图片。例如,可以利用检测模块105判定从摄像头109获取的视频流获取的图片的检测困难程度,并从图片中选取检测困难程度最高的若干张图片(例如,每小时选取5张),图片累计达到一定数量(例如,500张)后,将图片的集合作为第二数据集发送给优化模块104。在根据本公开的实施例中,可以利用该第二数据集进行多次迭代训练,以进一步对模型进行优化。
34.压缩模块103可以被配置为基于边缘端的可用资源,根据与模型的压缩相关联的参数对经训练的模型进行压缩,以得到经压缩的模型。例如,可以对经训练的模型进行网络剪枝和网络量化。在根据本公开的实施例中,压缩模块103可以对从云端获取的多个经训练的模型进行压缩。在根据本公开的实施例中,压缩模块103也可以基于边缘端的可用资源,根据与模型的压缩相关联的参数对最优模型进行压缩,以得到经压缩的模型,其中,最优模型是由rnn预测模块101从多个模型中选择的。
35.优化模块104可以被配置为基于边缘端的可用资源,利用第二数据集对经压缩的模型进行优化。其中,经压缩的模型可以是从压缩模块103获取的,第二数据集可以是从控制模块102获取的。例如,优化模块104可以在边缘端进行模型的微调(fine-tune),从而优化模型。
36.检测模块105可以被配置为获取视频流,并且利用经压缩和/或优化的模型从视频流中检测目标。在根据本公开的实施例中,检测模块105可以从视频流处理模块106获取视
频流,并且利用压缩模块103和/或优化模块104输出的经压缩和/或优化的模型从视频流中检测目标。在根据本公开的实施例中,检测模块105还可以判定从摄像头109获取的视频流获取的图片的检测困难程度,从而用于获得如前文所述的由多个难以进行检测的困难样本构成的第二数据集。在根据本公开的实施例中,检测模块105可以将结果推流给云端的web前端110。
37.视频流处理模块106可以被配置为利用边缘端的摄像头109,基于视频流得到数据集,以及获取视频流并将视频流发送到检测模块。在根据本公开的实施例中,视频流处理模块106可以基于视频流得到第一数据集,并且将第一数据集发送到云端。第一数据集可以包括正样本和负样本,正样本为包括目标的样本,负样本为不包括目标的样本。第一数据集可以被用于在云端训练模型。在根据本公开的实施例中,视频流处理模块106还可以将视频流发送到检测模块105,以用于得到由多个难以进行检测的困难样本构成的第二数据集。
38.web前端110可以被配置为展示检测的结果。在根据本公开的实施例中,web前端110可以从检测模块105接收检测的结果。
39.智能边缘云平台111可以被配置为将经训练的模型连同环境打包成镜像发送到边缘端。在根据本公开的实施例中,智能边缘云平台111可以将由训练模块112训练的模型和环境打包成镜像,并且发送到rnn预测模块101,其中,环境可以是与模型的运行相关联的软件,例如,ffmpeg、opencv等。
40.训练模块112可以被配置为利用如上文所述的第一集合在云端训练模型。由于数据集中正负样本、难易样本数量分布不平衡,采用基于改进focal loss和label smoothing regularization(lsr)的方法来训练检测模型model_1和model_2。
41.标准的focal loss函数如下:
42.l(p
t
)=-(1-p
t
)
γ
log(p
t
)
43.其中,l(p
t
)为损失函数,γ是控制调制系数,p
t
的定义如下:
[0044][0045]
其中,p表示预测样本y属于1的概率,y表示实际输出。
[0046]
如果γ=0,l(p
t
)则为普通的交叉熵损失函数;随着γ增加,调制系数也会增加,从而减少易分类样本的损失,使得模型更注重于困难的、错分的样本。
[0047]
用于model_1的改进focal loss函数在标准focal loss函数基础上引入超参数λ和α。改进的focal loss函数如下:
[0048][0049]
其中,fl(p
t
)为改进的损失函数,λ是控制难易样本对于损失函数的影响大小的参数,α是控制正负样本对于损失函数的影响大小的参数。
[0050]
对于第一数据集中的易于进行检测的简单样本,其损失对应的权重会较小,而对于第一数据集中的难以进行检测的困难样本,其对应的权重会增加,从而实现保留困难样本的损失值,同时减小甚至抛弃简单样本的损失值。通过在训练过程中增加对困难样本进行训练,提高了模型的精度。
[0051]
model_2是基于lsr训练得到的模型,对标签平滑化处理,以防止过拟合。
[0052]
在根据本公开的实施例中,model_1可以被配置为对目标进行检测,以确定目标是否存在;model_2可以被配置为对目标进行进一步的检测,以判断目标是否满足要求。例如,model_1可以被配置为检测工人是否穿戴好工服,model_2可以被配置为检测工人是否穿戴好工服的具体部分,例如是否戴好安全帽。在检测工人是否穿戴好安全帽的情况下,可以仅对图片的部分(例如,图片的上半部分或上1/3部分)进行分类检测。
[0053]
图3是根据本公开的实施例的模型自适应的目标检测的方法的流程图。
[0054]
在s301处,可以基于视频流得到第一数据集,并且将第一数据集发送到云端。边缘端处可以接收到云端的训练请求,视频流处理模块106开始采集数据,并且将数据集上传到云端。
[0055]
在s302处,可以接收经训练的模型,该经训练的模型是在云端利用第一数据集进行训练得到的。训练模块112可以基于来自边缘端的第一数据集来训练多个模型,例如上文所述的model_1、model_2,智能边缘云平台111可以将多个模型和运行环境打包好的镜像下发到边缘端。
[0056]
在s303处,可以利用rnn神经网络预测与模型的压缩相关联的参数。rnn预测模块可以根据当前计算资源、硬件资源和与经训练模块112训练的模型的参数,预测出模型压缩后的模型大小和推理时间等。推理时间可以是对预测所需的时间的预估。
[0057]
在s304处,可以基于边缘端的可用资源,根据与模型的压缩相关联的参数对经训练的模型进行压缩,以得到经压缩的模型。控制模块102可以将rnn预测的结果发送给压缩模块103,压缩模块103可以基于可用的计算资源,实现网络剪枝和模型量化,以得到经压缩的检测模型,例如,model_1_slim、model_2_slim。
[0058]
在根据本公开的实施例中,可以基于视频流得到第二数据集,该第二数据集包括多个难以进行检测的困难样本;以及基于边缘端的可用资源,利用第二数据集对经压缩的模型进行优化。
[0059]
在得到经压缩和/或优化的模型后,检测模块105可以基于视频流处理模块106的推流数据利用经压缩和/或优化的模型进行实时检测,并将输出结果发送到web前端110以进行展示。
[0060]
在根据本公开的实施例中,还可以利用更新的视频流来得到更新的经压缩的模型;以及利用更新的经压缩的模型从视频流中检测目标。
[0061]
图4是根据本公开的实施例的模型自适应的工服检测的系统的示意图。
[0062]
如图4中所示,视频处理阶段可以包括数据接入服务、视频流预处理和视频推流等多个部分。数据接入服务可以被用于从例如摄像头获取视频流。视频流预处理可以被用于对原始的视频流进行预处理。视频推流可以被用于将视频流上传到云端,以用于在云端训练模型。该视频处理阶段可以例如在视频流处理模块106中执行。
[0063]
多阶段工服检测阶段可以包括两个部分,即人体检测和帽子检测。人体检测可以在tiny-yolo v3中执行,其中,将基于视频流得到的图片进行处理,并输入经训练的神经网络,以得到检测结果。检测结果可以包括分数(scores)、预测结果(id)、检测框(box)等。帽子检测可以在mobilenet v2中执行,其中,将基于视频流得到的图片进行处理,并输入经训练的神经网络,以得到检测结果。检测结果可以包括与工帽的存在相关联的标签(hat_
label)。该多阶段工服检测阶段可以例如在检测模块105中完成。
[0064]
数据上传阶段可以包括数据结构化、pipe流附图、nginx流媒体服务器等多个部分。该阶段可以将检测的结果推流到web前端110以进行展示。
[0065]
图5示出了可以用于实现根据本公开的实施例的模型自适应的目标检测的方法的示例性计算设备。如图5所示,计算设备500可以包括一个或多个处理器502。一个或多个处理器502可以是任何种类的处理器,并且可以包括但不限于一个或多个通用处理器或专用处理器(诸如专用处理芯片)。
[0066]
计算设备500还可以包括或被连接至非暂态存储设备504,该非暂态存储设备504可以是任何非暂态的并且可以实现数据存储的存储设备,并且可以包括但不限于盘驱动器、光存储设备、固态存储器、软盘、柔性盘、硬盘、磁带或任何其他磁性介质、压缩盘或任何其他光学介质、缓存存储器和/或任何其他存储芯片或模块、和/或计算机可以从其中读取数据、指令和/或代码的其他任何介质。
[0067]
处理器502和/或存储设备504可以经由一个或多个接口与总线506连接或通信。总线506可以包括但不限于,工业标准架构(industry standard architecture,isa)总线、微通道架构(micro channel architecture,mca)总线、增强isa(eisa)总线、视频电子标准协会(vesa)局部总线、以及外设组件互连(pci)总线等。
[0068]
i/o设备508可以是使得用户能够与计算设备500交互的任何设备。i/o设备508的示例可以包括但不限于键盘、触控板、鼠标、操纵杆或其它指示设备、麦克风、扬声器以及显示器等。
[0069]
计算设备500还可包括网络接口510。网络接口510可以是能够启用与外部装置和/或网络通信的任何种类的设备或系统,并且可以包括但不限于调制解调器、网络卡、红外线通信设备、无线通信设备和/或芯片集(诸如蓝牙tm设备、wifi设备、wimax设备、蜂窝通信设施等)。
[0070]
i/o设备508和/或网络接口510也可以经由总线506与处理器502和/或存储设备504通信地耦合。
[0071]
可单独地或以任何组合方式来使用前述实施方案的各个方面、实施方案、具体实施或特征。可由软件、硬件或硬件与软件的组合来实现前述实施方案的各个方面。
[0072]
例如,前述实施方案可体现为计算机可读介质上的计算机可读代码。计算机可读介质为可存储数据的任何数据存储设备,数据其后可由计算机系统读取。计算机可读介质的示例包括只读存储器、随机存取存储器、cd-rom、dvd、磁带、硬盘驱动器、固态驱动器和光学数据存储设备。计算机可读介质还可分布在网络耦接的计算机系统中使得计算机可读代码以分布式方式来存储和执行。
[0073]
例如,前述实施方案可采用硬件电路的形式。硬件电路可以包括组合式逻辑电路、时钟存储设备(诸如软盘、触发器、锁存器等)、有限状态机、诸如静态随机存取存储器或嵌入式动态随机存取存储器的存储器、定制设计电路、可编程逻辑阵列等的任意组合。
[0074]
在一个实施方案中,可以通过用诸如verilog或vhdl的硬件描述语言(hdl)编码和设计一个或多个集成电路或者结合使用离散电路来实现根据本公开的硬件电路。
[0075]
与现有技术相比,本公开的优势包括:
[0076]
通过动态获取边缘端硬件设备和资源使用情况,实现对模型的自适应压缩,基于
rnn预测,采用最佳模型部署方案,提高了边缘端硬件设备使用率,为用户提供满足当前硬件设备的模型;
[0077]
提出云边协同训练模型,在边缘端采集数据,数据传送到云端,云端根据业务需求,更换不同的backbone,基于precision和recall两个指标选择最鲁棒的模型,在边缘端进行模型的fine-tune,为用户提供最优的方案;
[0078]
针对工厂数据采集过程中的样本不均衡问题,提出一种基于改进focal loss和label smoothing regularization的多阶段工服检测模型,实时识别工人工服穿戴情况,及时做出安全警告。
[0079]
综上所述,根据本公开的第一方面,提供了一种模型自适应的目标检测的方法,该方法在边缘端执行,包括:基于视频流得到第一数据集,并且将第一数据集发送到云端,第一数据集包括正样本和负样本,正样本为包括目标的样本,负样本为不包括目标的样本;接收经训练的模型,经训练的模型是在云端利用第一数据集进行训练得到的;利用rnn神经网络预测与模型的压缩相关联的参数;以及基于边缘端的可用资源,根据与模型的压缩相关联的参数对经训练的模型进行压缩,以得到经压缩的模型。
[0080]
在一些实施例中,经训练的模型包括多个模型。
[0081]
在一些实施例中,该方法还包括:基于边缘端的可用资源,利用rnn神经网络从多个模型中选择最优模型;以及基于边缘端的可用资源,根据与模型的压缩相关联的参数对最优模型进行压缩,以得到经压缩的模型。
[0082]
在一些实施例中,多个模型中的一个模型被配置为对目标进行检测,以确定目标是否存在;多个模型中的另一个模型被配置为对目标进行进一步的检测,以判断目标是否满足要求。
[0083]
在一些实施例中,在训练被配置为对目标进行检测的模型时,增大第一数据集中的难以进行检测的困难样本的权重,减小第一数据集中的易于进行检测的简单样本的权重。
[0084]
在一些实施例中,该方法还包括:基于视频流得到第二数据集,第二数据集包括多个难以进行检测的困难样本;以及基于边缘端的可用资源,利用第二数据集对经压缩的模型进行优化。
[0085]
在一些实施例中,该方法还包括:获取视频流;以及利用经压缩的模型从视频流中检测目标。
[0086]
在一些实施例中,该方法还包括:基于更新的视频流来得到更新的经压缩的模型;以及利用更新的经压缩的模型从视频流中检测目标。
[0087]
根据本公开的第二方面,提供了一种模型自适应的目标检测的装置,该装置被配置在边缘端,包括:视频流处理模块,被配置为基于视频流得到第一数据集,并且将第一数据集发送到云端,第一数据集包括正样本和负样本,正样本为包括目标的样本,负样本为不包括目标的样本;rnn预测模块,被配置为接收经训练的模型,并且利用rnn神经网络预测与模型的压缩相关联的参数,经训练的模型是在云端利用第一数据集进行训练得到的;压缩模块,被配置为基于边缘端的可用资源,根据与模型的压缩相关联的参数对经训练的模型进行压缩,以得到经压缩的模型。
[0088]
在一些实施例中,经训练的模型包括多个模型。
[0089]
在一些实施例中,rnn预测模块还被配置为基于边缘端的可用资源,利用rnn神经网络从多个模型中选择最优模型;以及压缩模块被配置为基于边缘端的可用资源,根据与模型的压缩相关联的参数对最优模型进行压缩,以得到经压缩的模型。
[0090]
在一些实施例中,多个模型中的一个模型被配置为对目标进行检测,以确定目标是否存在;多个模型中的另一个模型被配置为对目标进行进一步的检测,以判断目标是否满足要求。
[0091]
在一些实施例中,在训练被配置为对目标进行检测的模型时,增大第一数据集中的难以进行检测的困难样本的权重,减小第一数据集中的易于进行检测的简单样本的权重。
[0092]
在一些实施例中,该装置还包括:控制模块,被配置为基于视频流得到第二数据集,第二数据集包括多个难以进行检测的困难样本;以及优化模块,被配置为基于边缘端的可用资源,利用第二数据集对经压缩的模型进行优化。
[0093]
在一些实施例中,该装置还包括:检测模块,被配置为获取视频流,并且利用经压缩的模型从视频流中检测目标。
[0094]
根据本公开的第三方面,提供了一种用于模型自适应的目标检测的非瞬态计算机可读存储介质,其上存储有程序,其特征在于,当该程序由计算机执行时,使计算机执行根据本公开的第一方面所述的方法。
[0095]
根据本公开的第四方面,提供了一种用于模型自适应的目标检测的计算装置,包括存储器和处理器,存储器与处理器通信耦合,该存储器中存储有程序,该程序当由处理器执行时,使得处理器执行根据本公开的第一方面所述的方法。
[0096]
虽然已通过示例详细展示了本公开的一些具体实施例,但是本领域技术人员应当理解,上述示例仅意图是说明性的而不限制本公开的范围。应该认识到的是,前述方法中的一些步骤不一定按照图示的顺序执行,而是它们可以被同时、以不同顺序或以重叠方式执行。此外,本领域技术人员可以根据需要增加一些步骤或省略一些步骤。前述系统中的一些部件不是必须按照图示的布置,本领域技术人员可以根据需要增加一些部件或省略一些部件。本领域技术人员应该理解,上述实施例可以在不脱离本公开的范围和实质的情况下被修改。本公开的范围是通过所附的权利要求限定的。
再多了解一些

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

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

相关文献