物体检测模型处理方法、装置、设备及存储介质与流程

文档序号:29575307发布日期:2022-04-09 06:06阅读:124来源:国知局
物体检测模型处理方法、装置、设备及存储介质与流程

1.本技术涉及数据处理技术领域,尤其涉及一种物体检测模型处理方法、装置、设备及存储介质。


背景技术:

2.当前边缘计算已经成为新兴的任务处理方式,由于边缘计算的计算资源更靠近计算任务的产生地点,所以可以更快速的对计算任务做出反应,同时由于边缘计算可以由边缘设备处理,所以还可以节省网络带宽。物体检测作为常见的计算任务,也可以使用边缘计算的方式实现。
3.目前,可以将物体检测模型部署在边缘设备,以使边缘设备具有物体检测能力。
4.但是,当物体检测模型部署于边缘设备后,由于边缘设备处理物体检测任务时得到的数据与物体检测模型训练时的训练数据有较大区别,所以边缘设备在使用边缘计算的方式处理物体检测任务时会出现准确性较低的问题。


技术实现要素:

5.本技术提供一种物体检测模型处理方法、装置、设备及存储介质,用以解决边缘设备处理物体检测任务时准确性较低的问题。
6.第一方面,本技术提供一种物体检测模型处理方法,包括:
7.获取待检测数据,并将待检测数据输入初始物体检测模型,得到模型检测结果,其中待检测数据为视频;基于视频流对模型检测结果进行难例挖掘,得到难例数据;将得到的难例数据上传至服务器,以使服务器在接收到的难例数据的数量达到预设标准时,根据难例数据和基础数据创建数据集,其中基础数据为服务器预先获取的数据,并采用数据集进行模型训练,得到训练好的物体检测模型;接收服务器发送的训练好的物体检测模型。
8.在一种可能的实现方式中,基于视频流对模型检测结果进行难例挖掘,得到难例数据,包括:基于视频流提取模型检测结果的视频中各帧的检测框;对模型检测结果中各帧进行目标追踪,以对各帧的检测框添加标识,得到追踪结果;对追踪结果进行难例挖掘,得到难例数据。
9.在一种可能的实现方式中,对追踪结果进行难例挖掘,得到难例数据,包括:若检测到追踪结果中任一帧的前后第一预设数量的帧均含有相同标识对应的检测框,且任一帧不含有相同标识对应的检测框,则将任一帧确定为待确定漏检难例帧;将待确定漏检难例帧前后第二预设数量帧中的所有的检测框求并集,得到待映射检测框;将待映射检测框映射至待确定漏检难例帧,得到待确定漏检难例帧的漏检难例候选区;提取漏检难例候选区内图像的第一图像特征点;提取待确定漏检难例帧前后第三预设数量帧中各帧检测框内图像的图像特征点;将第一图像特征点与待确定漏检难例帧前后第三预设数量帧中所有帧检测框内图像的图像特征点做匹配,确定多个第一匹配项;若多个第一匹配项的数量均大于第四预设数量或大于第一预设比例,则根据第一图像特征点确定第一外接矩形,其中第一
外接矩形是第一图像特征点的外接矩形;将第一外接矩形对应的图像内容和第一外接矩形的属性确定为漏检难例,其中外接矩形的属性为外接矩形内物体的类别。
10.在一种可能的实现方式中,对追踪结果进行难例挖掘,得到难例数据,包括:若检测到追踪结果中任一帧含有任一标识对应的检测框,且任一帧的前后第五预设数量的帧均不含有任一标识对应的检测框,则将任一帧确定为待确定误检难例帧;将待确定误检难例帧中的检测框扩大预设倍,得到误检难例候选区;将误检难例候选区映射至待确定误检难例帧的前后第六预设数量帧中,得到多个对比区;提取误检难例候选区内图像的第二图像特征点;提取待确定误检难例帧的前后第六预设数量帧中各帧的多个对比区内图像的图像特征点;将第二图像特征点与待确定误检难例帧的第六预设数量帧中每帧的图像特征点做匹配,得到多个第二匹配项;若多个第二匹配项的数量均大于第七预设数量或大于第二预设比例,则根据第二图像特征点确定第二外接矩形,其中第二外接矩形是第二图像特征点的外接矩形;将第二外接矩形对应的图像内容和第二外接矩形的属性确定为误检难例,其中外接矩形的属性为外接矩形内物体的类别。
11.第二方面,本技术提供一种物体检测模型处理方法,包括:
12.接收边缘设备发送的难例数据;当接收到的难例数据的数量达到预设标准时,根据难例数据和基础数据创建数据集,其中基础数据为服务器预先获取的数据;采用数据集进行模型训练,得到训练好的物体检测模型;将训练好的物体检测模型发送至边缘设备。
13.在一种可能的实现方式中,当接收到的难例数据的数量达到预设标准时,根据难例数据和基础数据创建数据集,包括:当接收到的难例数据的数据量达到预设值,或难例数据的数量与基础数据的数量的比例达到第三预设比例时,将难例数据和基础数据混合后划分为训练集和测试集,其中训练集和测试集组成数据集。
14.在一种可能的实现方式中,采用数据集进行模型训练,得到训练好的物体检测模型,包括:基于训练集,采用迁移学习和/或早停策略对初始物体检测模型进行训练,得到待验证的物体检测模型;基于测试集,计算待验证的物体检测模型的性能指标,若性能指标达到预设标准则将待验证的物体检测模型确定为训练好的模型。
15.在一种可能的实现方式中,采用数据集进行模型训练,得到训练好的物体检测模型之后,还包括:采用网络剪枝和/或量化技术将训练好的物体检测模型简化,得到简化后的物体检测模型;相应地,将训练好的物体检测模型发送至边缘设备,还包括:将简化后的物体检测模型发送至边缘设备。
16.第三方面,本技术提供一种物体检测模型处理装置,包括:
17.检测结果获得模块,用于获取待检测数据,并将待检测数据输入初始物体检测模型,得到模型检测结果,其中待检测数据为视频;难例数据获得模块,用于基于视频流对模型检测结果进行难例挖掘,得到难例数据;难例数据上传模块,用于将得到的难例数据上传至服务器,以使服务器在接收到的难例数据的数量达到预设标准时,根据难例数据和基础数据创建数据集,其中基础数据为服务器预先获取的数据,并采用数据集进行模型训练,得到训练好的物体检测模型;检测模型接收模块,用于接收服务器发送的训练好的物体检测模型。
18.第四方面,本技术提供一种物体检测模型处理装置,包括:
19.难例数据接收模块,用于接收边缘设备发送的难例数据;数据集创建模块,用于当
接收到的难例数据的数量达到预设标准时,根据难例数据和基础数据创建数据集,其中基础数据为服务器预先获取的数据;检测模型获取模块,用于采用数据集进行模型训练,得到训练好的物体检测模型;检测模型发送模块,用于将训练好的物体检测模型发送至边缘设备。
20.第五方面,本技术提供一种电子设备,包括:处理器,以及与处理器通信连接的存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,以实现如第一方面描述的物体检测模型处理方法。
21.第六方面,本技术提供一种电子设备,包括:处理器,以及与处理器通信连接的存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,以实现如第二方面描述的物体检测模型处理方法。
22.第七方面,本技术提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如第一方面描述的物体检测模型处理方法。
23.第八方面,本技术提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如第二方面描述的物体检测模型处理方法。
24.第九方面,本技术提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面描述的物体检测模型处理方法。
25.第十方面,本技术提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面描述的物体检测模型处理方法。
26.本技术提供的物体检测模型处理方法、装置、设备及存储介质,通过在边缘设备进行数据监测并在检测结果中获得难例数据完成了难例数据的挖掘,将难例数据发送至服务器并接收服务器发送的训练好的物体检测模型手段,实现了模型的更新,达到了提高边缘设备在检测物体时的准确性效果。
附图说明
27.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
28.图1为本技术实施例提供的物体检测模型处理方法的应用场景示意图;
29.图2为本技术实施例提供的物体检测模型处理方法的流程示意图一;
30.图3为本技术实施例提供的物体检测模型处理方法的流程示意图二;
31.图4为本技术实施例提供的物体检测模型处理方法的交互流程示意图;
32.图5为本技术实施例提供的一种物体检测模型处理装置示意图一;
33.图6为本技术实施例提供的一种物体检测模型处理装置示意图二;
34.图7为本技术实施例提供的一种物体检测模型处理装置示意图三;
35.图8为本技术实施例提供的一种电子设备的结构示意图。
36.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
37.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
38.当前边缘设备进行物体的检测已经成为了日常,从日常的检测花草品种、购物检测商品到智能驾驶检测路面标识等,传统的检测方式是将图像或视频频上传至服务器,服务器在图片或视频中检测出物体后,再将检测结果发送至边缘的智能设备。
39.使用传统的检测方式会减少边缘的运算量,但是需要更大的网络支持,占用更多的带宽,目前,随着边缘设备计算能力的提升,可以让检测任务直接在边缘设备进行,即在边缘设备部署物体检测模型,使边缘设备具有物体检测能力。但是边缘设备面对的实际使用情况更为复杂,边缘设备检测的物体很可能是边缘设备含有模型无法检测的,这是由于模型训练过程中没有遇到过相似的情况,这会造成物体检测准确性较低。
40.针对上述技术问题,本技术提出如下技术构思,通过边缘设备获取数据,并直接在边缘设备找到在数据中的难例数据,即较容易误检测或漏检测的数据,再将难例数据上传至服务器,使服务器采用难例数据对模型进行优化后再下发至边缘设备的方式完成对边缘设备模型的更新,提升边缘设备在执行物体检测任务时的准确性。
41.本技术应用于对物体检测模型处理的场景中。本技术的技术方案中,所涉及的数据的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
42.图1为本技术实施例提供的物体检测模型处理方法的应用场景示意图。如图1,该场景中,包括:边缘设备101以及服务器102。
43.边缘设备101,可以包括手机、平板、掌上电脑(personal digital assistant,pda)、计算机、智能汽车、以及笔记本等,它们可以进行影像数据的输入以及模型的部署。
44.服务器102,可以利用具有更强大处理能力和更高安全性的一个服务器或多个服务器组成的集群来实现,在可能的情况下,还可以使用计算能力较强的计算机、笔记本电脑等进行替代。
45.边缘设备101和服务器102之间的连接方式可以是通过有线连接也可以通过无线网络连接,其中无线网络连接使用的网络可以包括各种类型的有线和无线网络,例如但不局限于:互联网、局域网、无线保真(wireless fidelity,wifi)、无线局域网(wireless local area networks,wlan)、蜂窝通信网络(通用分组无线服务技术(general packet radio service,gprs)、码分多址(code division multiple access,cdma)、2g/3g/4g/5g蜂窝网络)、卫星通信网络等等。
46.在具体实现过程中,边缘设备101用于获取待检测的数据,并对待检测的数据进行检测,并对检测得到的结果进行难例挖掘,得到难例数据,将难例数据发送至服务器102,最终接收服务器102发送的训练好的物体检测模型。
47.服务器102,用于接收边缘设备101发送的难例数据,并基于难例数据和预先获取的基础数据建立数据集,采用数据集对初始的物体检测模型进行训练,得到训练好的物体检测模型,最后将训练好的物体检测模型发送至边缘设备101。
48.可以理解的是,本技术实施例示意的结构并不构成对物体检测模型处理的具体限
定。在本技术另一些可行的实施方式中,上述架构可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置,具体可根据实际应用场景确定,在此不做限制。图1所示的部件可以以硬件,软件,或软件与硬件的组合实现。
49.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
50.图2为本技术实施例提供的物体检测模型处理方法的流程示意图一。本技术实施例的执行主体可以是图1中的边缘设备101。如图2所示,该方法包括:
51.s201:获取待检测数据,并将待检测数据输入初始物体检测模型,得到模型检测结果,其中待检测数据为视频。
52.在本步骤中,获取待检测数据可以是使用上述边缘设备101自带的或连接的摄像头获取,也可以是从网络中获取,本技术对此不作限制。上述视频可以看做是多幅图像拼接而成。模型检测结果包括每帧图像中物体的检测框、检测框相应的置信度以及检测框对应的分类概率。
53.例如,当前视频中有狗、猫以及人三个不同的物体,则检测结果为三个物体相应的检测框,狗在狗的检测框中,狗的检测框有相应的置信度,检测框对应的分类为狗的概率以及分类为其他物体的概率。猫在猫的检测框中,猫的检测框也有相应的置信度,猫的检测框有对应的分类为猫的概率以及分类为其他物体的概率。
54.s202:基于视频流对模型检测结果进行难例挖掘,得到难例数据。
55.在本步骤中,难例挖掘可以包括对漏检难例的挖掘,以及对误检难例的挖掘。
56.其中,漏检难例即待检测数据中难以检测到的物体,误检难例即待检测数据中容易检测错误的物体。
57.s203:将得到的难例数据上传至服务器,以使服务器在接收到的难例数据的数量达到预设标准时,根据难例数据和基础数据创建数据集,其中基础数据为服务器预先获取的数据,并采用数据集进行模型训练,得到训练好的物体检测模型。
58.在本步骤中,将得到的难例数据上传至服务器,可以是将难例数据对应的图片内容、是漏检难例还是误检难例的标注、难例数据对应的标识以及难例对应的物体是什么上传至服务器。
59.具体例如,若难例数据的内容为一只猫,且为漏检难例,则将这只猫对应的图片内容、漏检难例的标注、“猫1”标识以及难例为猫上传至服务器。
60.s204:接收服务器发送的训练好的物体检测模型。
61.在本步骤中,接收训练好的物体检测模型可以是通过网络下载服务器发送的训练好的物体检测模型,还可以是先接收服务器发送的训练好的物体检测模型下载地址,再根据下载地址拉取述训练好的物体检测模型。本步骤中的训练好的物体检测模型当再次执行上述步骤s201时,可以看做是初始物体检测模型。
62.从上述实施例的描述可知,本技术实施例通过在边缘设备进行数据监测并在检测结果中获得难例数据完成了难例数据的挖掘,将难例数据发送至服务器并接收服务器发送的训练好的物体检测模型,实现了模型的更新,提高边缘设备在检测物体时的准确性。
63.在一种可能的实现方式中,上述步骤s202中,基于视频流对模型检测结果进行难
例挖掘,得到难例数据,包括:
64.s2021:基于视频流提取模型检测结果的视频中各帧的检测框。
65.在本步骤中,提取模型检测结果的视频中各帧的检测框,即找到模型检测中的所有检测框。
66.具体的,获取检测框可以是获取检测框的对角顶点,以得到每个检测框的位置。
67.例如,视频第一帧中猫在左侧,狗在中间,人在右侧,他们各有一个检测框,视频第二帧上述猫、狗以及人的位置有可能变化,相应的检测框的位置也会变化或增减,本步骤将会找到所有帧中的所有检测框。
68.s2022:对模型检测结果中各帧进行目标追踪,以对各帧的检测框添加标识,得到追踪结果。
69.在本步骤中,目标追踪的方法可以是采用多目标跟踪算法(mot,multiple objective track)对各帧进行目标追踪。追踪的内容可以是各帧的检测框,也可以是各帧的检测框中的物体。
70.具体例如,在步骤s2021中,猫在第二帧至第五帧从左侧移动到了右侧,狗和人的位置没有变化,则追踪可以确定在第二帧至第五帧中猫还是第一帧中的猫,并对第一至第五帧的猫对应的检测框都添加“猫1”标识。追踪结果就包括了检测框和相应的标识。
71.在一种可能的实现方式中,追踪结果还包括上述检测框相应的置信度以及检测框对应的分类概率。
72.s2023:对追踪结果进行难例挖掘,得到难例数据。
73.在本步骤中,难例挖掘可以通过在视频中对任一帧或任意连续的几帧前后帧的追踪结果分析得到。
74.从上述实施例的描述可知,本技术实施例通过先对模型检测结果进行追踪,可以更准确的找到难例数据,为边缘设备找到难例数据提供更准确的方法,从而进一步提升最终得到的训练好的物体检测模型的准确性。
75.在一种可能的实现方式中,上述步骤s2023中,对追踪结果进行难例挖掘,得到难例数据,包括:
76.s20231a:若检测到追踪结果中任一帧的前后第一预设数量的帧均含有相同标识对应的检测框,且任一帧不含有相同标识对应的检测框,则将任一帧确定为待确定漏检难例帧。
77.在本步骤中,物体可能由于被遮挡或移动速度过快导致无法被检测到或追踪的丢失,从而在某帧没有出现对应的检测框,当物体再次出现,说明该物体并未从实际情景中消失,该帧可能包含应该检测到但没有检测到的物体,所以将该确定为待确定漏检难例帧。
78.具体的,第一预设数量通常可以为1,但也可以为2等其他数值,不宜过多,过多则会出现物体经过一段时间又移动回画面,实际检测正确但处理时却将物体在画面外的帧确定为待确定漏检难例帧的情况。
79.s20232a:将待确定漏检难例帧前后第二预设数量帧中的所有的检测框求并集,得到待映射检测框。
80.在本步骤中,求并集可以是将待确定漏检难例帧前后第二预设数量帧中的所有的检测框依据在图像中的位置叠加,还可以是在叠加后再将叠加得到的图形求最小外接矩
形。
81.具体的,若叠加方式是叠加后再将叠加得到的图形求最小外接矩形,则叠加得到的最小外接矩形的位置同样可以由对角点坐标表示。
82.s20233a:将待映射检测框映射至待确定漏检难例帧,得到待确定漏检难例帧的漏检难例候选区。
83.在本步骤中,将待映射检测框映射至待确定漏检难例帧,即将得到的待映射检测框以同样的位置设置在待确定漏检难例帧中。
84.s20234a:提取漏检难例候选区内图像的第一图像特征点。
85.在本步骤中,提取第一图像哪个特征点可以是使用sift(scale-invariant feature transform,尺度不变特征转换)算法、harris角点提取算法、surf(speeded up robust features,加速稳健特征)算法、fast(features from accelerated segment test,加速分段测试的特征)算法、brief算法以及orb(oriented fast and rotated brief,加速特征点提取和描述)算法中的一种或多种。其中harris算法可用于检测角点,sift算法可用于检测斑点,surf算法可用于检测角点,fast算法可用于检测角点,brief算法可用于检测斑点,orb算法代表带方向的fast算法与具有旋转不变性的brief算法。
86.s20235a:提取待确定漏检难例帧前后第三预设数量帧中各帧检测框内图像的图像特征点。
87.在本步骤中,本步骤使用的图像特征点提取方法与s20234类似,在这里不再赘述。第三预设数量可以为1,也可以为2、3等更大的值。
88.s20236a:将第一图像特征点与待确定漏检难例帧前后第三预设数量帧中所有帧检测框内图像的图像特征点做匹配,确定多个第一匹配项。
89.在本步骤中,将图像特征点做匹配,可以是使用蛮力匹配(brute force matching)方法进行匹配,还可以是使用快速最近邻(fast library for approximate nearest neighbors,flann)方法进行匹配。若有特征点匹配成功,则将匹配成功的特征点作为一个第一匹配项,最终得到多个第一匹配项。
90.s20237a:若多个第一匹配项的数量均大于第四预设数量或大于第一预设比例,则根据第一图像特征点确定第一外接矩形,其中第一外接矩形是第一图像特征点的外接矩形。
91.在本步骤中,第一匹配项的数量即第一匹配项的总数,本技术对第四数量和第一预设比例的具体数值不作限制,第一外接矩形可以由所有第一图像特征点的位置确定,第一外接矩形需要能使所有第一图像特征点在自身之内。
92.在一种可能的实现方式中,第一外接矩形是第一图像特征点的最小外接矩形。
93.s20238a:将第一外接矩形对应的图像内容和第一外接矩形的属性确定为漏检难例,其中外接矩形的属性为外接矩形内物体的类别。
94.在本步骤中,第一外接矩形对应的图像内容即第一外接矩形内的图像。外接矩形内物体的类别可以包括物体类别的置信度以及分类概率。
95.从上述实施例的描述可知,本技术实施例进一步给出了漏检难例的挖掘方法,通过将待确定漏检难例帧前后预设数量帧的检测框求并集并映射可以得到上述任一帧的漏检难例候选区,再使用图像特征点匹配得到的匹配项进一步缩小漏检难例候选区,得到第
一外接矩形,使得最终得到的漏检难例更加准确。
96.在一种可能的实现方式中,上述步骤s2023a中的任一帧可以为任几帧。即不只一帧的前后第一预设数量的帧均含有相同标识对应的检测框,且这几帧不含有相同标识对应的检测框,则将这几帧确定为待确定漏检难例帧。
97.相应地,在步骤s20232a中,可将这几帧中最前面一帧之前第二预设数量帧和这几帧中最后面一帧之后的第二预设数量帧的所有的检测框求并集,得到这几帧的待映射检测框。
98.相应地,上述步骤s20233a可以是:将待映射检测框映射至这几帧待确定漏检难例帧,得到这几帧待确定漏检难例帧的多个漏检难例候选区。
99.相应地,上述步骤s20234a可以是:提取多个漏检难例候选区内图像的多个第一图像特征点。
100.相应地,上述步骤s20235a可以是:提取多个待确定漏检难例帧前后第三预设数量帧中各帧检测框内图像的图像特征点。
101.相应地,上述步骤s20236a可以是:将多个第一图像特征点中每一个第一图像特征点与待确定漏检难例帧前后第三预设数量帧中所有帧检测框内图像的图像特征点做匹配,确定每一个第一图像特征点对应的多个第一匹配项。
102.相应地,上述步骤s20237a可以是:若第一图像特征点对应的多个第一匹配项的数量均大于第四预设数量或大于第一预设比例,则根据第一图像特征点确定第一外接矩形,其中第一外接矩形是第一图像特征点的外接矩形。
103.具体的,本步骤可以得到这几帧待确定漏检难例帧中每一帧的第一图像特征点的外接矩形。
104.相应地,上述步骤s20238a可以是:将所有第一外接矩形对应的图像内容和第一外接矩形的属性确定为漏检难例,其中外接矩形的属性为外接矩形内物体的类别。
105.在一种可能的实现方式中,上述步骤s2023中对追踪结果进行难例挖掘,得到难例数据,包括:
106.s20231b:若检测到追踪结果中任一帧含有任一标识对应的检测框,且任一帧的前后第五预设数量的帧均不含有任一标识对应的检测框,则将任一帧确定为待确定误检难例帧。
107.在本步骤中,若模型检测结果中单独的一帧出现了一个前后帧都没有的检测框,则这单独的一帧的这个独立的检测框可能是误检产生的,即将没有出现的物体作为了出现的物体。
108.s20232b:将待确定误检难例帧中的检测框扩大预设倍,得到误检难例候选区。
109.在本步骤中,本技术实施例对预设倍的具体数值不作限制,但是一般在检测框扩大后不超出本帧图片范围,即难例候选区在本帧对应图像范围内。
110.s20233b:将误检难例候选区映射至待确定误检难例帧的前后第六预设数量帧中,得到多个对比区。
111.在本步骤中,映射的方式与上述步骤s20233a相似,在这里不再赘述。
112.s20234b:提取误检难例候选区内图像的第二图像特征点。
113.在本步骤中,第二图像特征点的提取方式与上述步骤s20234a中第一图像特征点
的提取方式类似,在这里不再赘述。
114.s20235b:提取待确定误检难例帧的前后第六预设数量帧中各帧的多个对比区内图像的图像特征点。
115.在本步骤中,图像特征点的提取方法可以是采用上述步骤s20234a中的提取方法。
116.s20236b:将第二图像特征点与待确定误检难例帧的第六预设数量帧中每帧的图像特征点做匹配,得到多个第二匹配项。
117.在本步骤中,图像特征点的匹配方法可以采用上述步骤s20236a中的匹配方式。
118.s20237b:若多个第二匹配项的数量均大于第七预设数量或大于第二预设比例,则根据第二图像特征点确定第二外接矩形,其中第二外接矩形是第二图像特征点的外接矩形。
119.在本步骤中,第二外接矩形可以是第二图像特征点的最小外接矩形。
120.s20238b:将第二外接矩形对应的图像内容和第二外接矩形的属性确定为误检难例,其中外接矩形的属性为外接矩形内物体的类别。
121.本步骤与上述步骤s20238a类似,在这里不再赘述。
122.从上述实施例的描述可知,本技术实施例提供了误检难例的挖掘方法,通过对误检难例的挖掘,可以在后续训练过程中加入对误检难例的训练,提升后续训练好的物体检测模型的准确性。
123.图3为本技术实施例提供的物体检测模型处理方法的流程示意图二。本技术实施例的执行主体可以是图1中的服务器102。如图3所示,该方法包括:
124.s301:接收边缘设备发送的难例数据。
125.在本步骤中,难例数据的描述见上述步骤s202及步骤s20238a的相关描述,在此不再赘述。
126.s302:当接收到的难例数据的数量达到预设标准时,根据难例数据和基础数据创建数据集,其中基础数据为服务器预先获取的数据。
127.在本步骤中,预设标准可以是一个预设数量或一个预设比例。根据难例数据和基础数据创建数据集可以是将难例数据与基础数据混合,并在混合后按比例划分为训练集与测试集。基础数据可以是预先获得的,用于训练得到初始物体检测模型的数据。
128.s303:采用数据集进行模型训练,得到训练好的物体检测模型。
129.在本步骤中,本技术对模型训练所采用的训练方式不作限制。
130.s304:将训练好的物体检测模型发送至边缘设备。
131.在本步骤中,发送的过程可以是向边缘设备发送训练好的物体检测模型下载地址,以使边缘设备根据下载地址拉取述训练好的物体检测模型。
132.从上述实施例的描述可知,本技术该实施例通过接收难例数据并结合基础数据完成了物体检测模型的训练、更新以及发送,通过只接收难例数据节省了带宽,并且通过更新边缘设备的物体检测模型让边缘设备在检测物体时更加准确。
133.在一种可能的实现方式中,上述步骤s302中,当接收到的难例数据的数量达到预设标准时,根据难例数据和基础数据创建数据集,包括:
134.当接收到的难例数据的数据量达到预设值,或难例数据的数量与基础数据的数量的比例达到第三预设比例时,将难例数据和基础数据混合后划分为训练集和测试集,其中
训练集和测试集组成数据集。
135.其中,将难例数据和基础数据混合,可以是按比例将难例数据和基础数据混合,同时,在混合时还可以设置难例数据中漏检难例和误检难例的比例。划分为训练集和测试集同样可以以一种预设比例划分,通常训练集占比较多。
136.具体例如,将难例数据和基础数据混合可以是1:1混合、1:2混合以及1:4混合等。漏检难例和误检难例的比例可以是1:1:2:3以及2:2等。训练集与测试集的比例可以是7:3、8:2以及6:4等。本技术对混合时的各种混合比例和划分时的划分比例不作特殊限制。
137.从上述实施例的描述可知,本技术实施例提供了数据集的的创建方法,合理的数据集可以使训练得到的训练好的物体检测模型更加准确,从而使边缘设备进行物体检测时更加准确。
138.在一种可能的实现方式中,上述步骤s303中,采用数据集进行模型训练,得到训练好的物体检测模型,包括:
139.s3031:基于训练集,采用迁移学习和/或早停策略对初始物体检测模型进行训练,得到待验证的物体检测模型。
140.在本步骤中,早停策略即将在训练过程中得到的表现较好的模型作为待验证的物体检测模型。
141.在一种可能的实现方式中,可以是使用backbone替换训练方法进行模型训练,以减少得到的模型的内存占用量。
142.s3032:基于上述测试集,计算待验证的物体检测模型的性能指标,若性能指标达到预设标准则将待验证的物体检测模型确定为训练好的模型。
143.在本步骤中,基于上述测试集,计算待验证的物体检测模型的性能指标即将测试集输入待验证的物体检测模型,得到相应的结果,再使用相应的结果计算模型的性能指标。
144.其中,性能指标包括map(mean average precision,均值平均精度)值,精准率、召回率、f1-score(f1分数)以及推理时延等。预设标准可以是预设值,也可以是初始物体检测模型当前的表现数值。若性能指标未达到预设值或初始物体检测模型当前的表现数值,则可以重新进行上述步骤s302和步骤303。
145.其中,精准率的计算方法为:
146.precisionk=tp/(tp+fp)
147.其中precisionk为单类别下的精准率,tp为单类别下的分类正确的数量,fp为单类别下的错将其他类分类为本类的数量。
148.召回率的计算方法为:
149.recallk=tp/(tp+fn)
150.其中,recallk为单类别下的召回率,tp为单类别下的分类正确的数量,fn为单类别下的本类分类为其他类的数量。
151.单个类别下的f1-score的计算方式为:
[0152][0153]
其中,flk为单类别下的f1-score,precisionk为单类别下的精准率,recallk为单
类别下的召回率。
[0154]
最终的f1-score的计算方式为:
[0155][0156]
其中,score为最终的f1-score,n为类别数量,f1k为单类别下的f1-score。
[0157]
上述推理时延即每一帧的计算需要的时间。
[0158]
从上述实施例的描述可知,本技术实施例通过在模型训练过程中采用迁移学习和早停策略可以减少模型训练的时间,并且通过计算待验证的物体检测模型的性能指标,即可判断得到的待验证的物体检测模型是否能够达到更好的检测效果,实现对训练得到的模型的质检。
[0159]
在一种可能的实现方式中,上述步骤s303采用数据集进行模型训练,得到训练好的物体检测模型之后,还包括:
[0160]
s303a:采用网络剪枝和/或量化技术将训练好的物体检测模型简化,得到简化后的物体检测模型。
[0161]
在本步骤中,网络剪枝可以是将模型中的部分网络中的连接、链路去除或将卷积核数量减少。量化是将存储和计算的浮点数精度降低。
[0162]
相应地,上述步骤s304将训练好的物体检测模型发送至边缘设备,还包括:
[0163]
s304a:将简化后的物体检测模型发送至边缘设备。
[0164]
本步骤与上述步骤s304相似,在此不再赘述。
[0165]
从上述实施例的描述可知,本技术实施例通过将模型简化,可以减少模型占用内现存量减小,使得模型能够适应边缘设备较小的内存容量。
[0166]
图4为本技术实施例提供的物体检测模型处理方法的交互流程示意图。本实施例对边缘设备和服务器的交互过程进行描述,如图4所示,该方法包括:
[0167]
s401:边缘设备获取待检测数据,并将待检测数据输入初始物体检测模型,得到模型检测结果,其中待检测数据为视频。
[0168]
s402:边缘设备基于视频流对模型检测结果进行难例挖掘,得到难例数据。
[0169]
s403:边缘设备将得到的难例数据上传至服务器。
[0170]
s404:服务器在接收到的难例数据的数量达到预设标准时,根据难例数据和基础数据创建数据集,其中基础数据为服务器预先获取的数据。
[0171]
s405:服务器并采用数据集进行模型训练,得到训练好的物体检测模型。
[0172]
s406:服务器将训练好的物体检测模型发送至边缘设备。
[0173]
图5为本技术实施例提供的一种物体检测模型处理装置示意图一。如图5所示,物体检测模型处理装置500,包括:检测结果获得模块501、难例数据获得模块502、难例数据上传模块503以及检测模型接收模块504。
[0174]
检测结果获得模块501,用于获取待检测数据,并将待检测数据输入初始物体检测模型,得到模型检测结果,其中待检测数据为视频。
[0175]
难例数据获得模块502,用于基于视频流对模型检测结果进行难例挖掘,得到难例数据。
[0176]
难例数据上传模块503,用于将得到的难例数据上传至服务器,以使服务器在接收到的难例数据的数量达到预设标准时,根据难例数据和基础数据创建数据集,其中基础数据为服务器预先获取的数据,并采用数据集进行模型训练,得到训练好的物体检测模型。
[0177]
检测模型接收模块504,用于接收服务器发送的训练好的物体检测模型。
[0178]
在一种可能的实现方式中,上述难例数据获得模块502,具体用于:基于视频流提取模型检测结果的视频中各帧的检测框。对模型检测结果中各帧进行目标追踪,以对各帧的检测框添加标识,得到追踪结果。对追踪结果进行难例挖掘,得到难例数据。
[0179]
在一种可能的实现方式中,上述难例数据获得模块502,具体用于:若检测到追踪结果中任一帧的前后第一预设数量的帧均含有相同标识对应的检测框,且任一帧不含有相同标识对应的检测框,则将任一帧确定为待确定漏检难例帧。将待确定漏检难例帧前后第二预设数量帧中的所有的检测框求并集,得到待映射检测框。将待映射检测框映射至待确定漏检难例帧,得到待确定漏检难例帧的漏检难例候选区。提取漏检难例候选区内图像的第一图像特征点。提取待确定漏检难例帧前后第三预设数量帧中各帧检测框内图像的图像特征点。将第一图像特征点与待确定漏检难例帧前后第三预设数量帧中所有帧检测框内图像的图像特征点做匹配,确定多个第一匹配项。若多个第一匹配项的数量均大于第四预设数量或大于第一预设比例,则根据第一图像特征点确定第一外接矩形,其中第一外接矩形是第一图像特征点的外接矩形。将第一外接矩形对应的图像内容和第一外接矩形的属性确定为漏检难例,其中外接矩形的属性为外接矩形内物体的类别。
[0180]
在一种可能的实现方式中,上述难例数据获得模块502,具体用于:若检测到追踪结果中任一帧含有任一标识对应的检测框,且任一帧的前后第五预设数量的帧均不含有任一标识对应的检测框,则将任一帧确定为待确定误检难例帧。将待确定误检难例帧中的检测框扩大预设倍,得到误检难例候选区。将误检难例候选区映射至待确定误检难例帧的前后第六预设数量帧中,得到多个对比区。提取误检难例候选区内图像的第二图像特征点。提取待确定误检难例帧的前后第六预设数量帧中各帧的多个对比区内图像的图像特征点。将第二图像特征点与待确定误检难例帧的第六预设数量帧中每帧的图像特征点做匹配,得到多个第二匹配项。若多个第二匹配项的数量均大于第七预设数量或大于第二预设比例,则根据第二图像特征点确定第二外接矩形,其中第二外接矩形是第二图像特征点的外接矩形。将第二外接矩形对应的图像内容和第二外接矩形的属性确定为误检难例,其中外接矩形的属性为外接矩形内物体的类别。
[0181]
图6为本技术实施例提供的一种物体检测模型处理装置示意图二。如图6所示,物体检测模型处理装置600,包括:难例数据接收模块601、数据集创建模块602、检测模型获取模块603以及检测模型发送模块604。
[0182]
难例数据接收模块601,用于接收边缘设备发送的难例数据。
[0183]
数据集创建模块602,用于当接收到的难例数据的数量达到预设标准时,根据难例数据和基础数据创建数据集,其中基础数据为服务器预先获取的数据。
[0184]
检测模型获取模块603,用于采用数据集进行模型训练,得到训练好的物体检测模型。
[0185]
检测模型发送模块604,用于将训练好的物体检测模型发送至边缘设备。
[0186]
在一种可能的实现方式中,数据集创建模块602,具体用于:当接收到的难例数据
的数据量达到预设值,或难例数据的数量与基础数据的数量的比例达到第三预设比例时,将难例数据和基础数据混合后划分为训练集和测试集,其中训练集和测试集组成数据集。
[0187]
在一种可能的实现方式中,数据集创建模块602,具体用于:基于训练集,采用迁移学习和/或早停策略对初始物体检测模型进行训练,得到待验证的物体检测模型。基于测试集,计算待验证的物体检测模型的性能指标,若性能指标达到预设标准则将待验证的物体检测模型确定为训练好的模型。
[0188]
图7为本技术实施例提供的一种物体检测模型处理装置示意图三。如图7所示,物体检测模型处理装置600,还包括:
[0189]
简化模型获得模块605,用于采用网络剪枝和/或量化技术将训练好的物体检测模型简化,得到简化后的物体检测模型;
[0190]
简化模型发送模块606,用于将简化后的物体检测模型发送至边缘设备。
[0191]
图8为本技术实施例提供的一种电子设备的结构示意图。示例的,请参见图8所示,该电子设备800可以包括处理器801,以及与处理器801通信连接的存储器802。
[0192]
存储器802存储计算机执行指令。
[0193]
处理器801执行存储器802存储的计算机执行指令,以实现如上述任一实施例提供的物体检测模型处理方法。
[0194]
可选地,存储器802既可以是独立的,也可以跟处理器801集成在一起。当存储器802是独立于处理器801之外的器件时,电子设备还可以包括:总线,用于连接存储器802和处理器801。
[0195]
本技术还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现上述任一实施例中的物体检测模型处理方法的技术方案,其实现原理以及有益效果与物体检测模型处理方法的实现原理及有益效果类似,可参见物体检测模型处理方法的实现原理及有益效果,此处不再进行赘述。
[0196]
本技术还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现上述任一实施例中的物体检测模型处理方法的技术方案,其实现原理以及有益效果与物体检测模型处理方法的实现原理及有益效果类似,可参见物体检测模型处理方法的实现原理及有益效果,此处不再进行赘述。
[0197]
在本技术所有实施例中第几预设值只是代表一个数值大小,本技术对数值大小不作具体限制,第几只是用于区分数值,不分先后顺序。
[0198]
本技术所有实施例中外接矩形和最小外接矩形都可以是与图像方向相同的外接矩形,即外接矩形的边可以与帧的边平行。
[0199]
在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0200]
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络
单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案。
[0201]
另外,在本技术各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0202]
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本技术各个实施例方法的部分步骤。
[0203]
应理解,上述处理器可以是中央处理单元(central processing unit,简称cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0204]
存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。
[0205]
总线可以是工业标准体系结构(industry standard architecture,简称isa)总线、外部设备互连(peripheral component interconnect,简称pci)总线或扩展工业标准体系结构(extended industry standard architecture,简称eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
[0206]
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0207]
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuits,简称asic)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
[0208]
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0209]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求书指出。
[0210]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求书来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1