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.在利用上一次的目标检测模型对输入的图像进行检测时,根据符合预设结果的检测结果对应的图像确定标注的目标图像集合;
29.利用标注的目标图像集合对上一次的目标检测模型进行训练,得到本次的目标检测模型;其中所述本次的目标检测模型为非初次的目标检测模型。
30.作为一种可选的实施方式,通过如下方式得到所述本次的目标检测模型:
31.当确定所述标注的目标图像集合中的图像数量大于或等于数量阈值时,利用标注的目标图像集合对上一次的目标检测模型进行训练,得到所述本次的目标检测模型。
32.作为一种可选的实施方式,通过如下方式得到所述本次的目标检测模型:
33.若上一次的目标检测模型是对初次的目标检测模型进行多次迭代训练得到的,则确定迭代训练的次数;
34.当所述迭代训练的次数小于或等于次数阈值或所述上一次的目标检测模型是初次的目标检测模型时,利用标注的目标图像集合对上一次的目标检测模型进行训练,得到所述本次的目标检测模型。
35.作为一种可选的实施方式,通过如下方式得到所述本次的目标检测模型:
36.利用所述标注的目标图像集合对所述上一次的目标检测模型进行训练;
37.根据本次的输出结果、所述本次的输出结果对应的图像的标注标签以及检测结果,确定总损失函数;其中,所述检测结果是未标注的目标图像集合中的图像利用所述上一次的目标检测模型进行检测得到的;
38.当确定总损失函数值满足预设条件时,停止训练并得到本次的目标检测模型。
39.作为一种可选的实施方式,所述根据本次的输出结果、所述本次的输出结果对应的图像的标注标签以及检测结果,确定总损失函数,包括:
40.根据本次的输出结果、所述本次的输出结果对应的图像的标注标签,确定第一损失函数;
41.根据本次的输出结果和所述检测结果,确定第二损失函数;
42.根据所述第一损失函数和所述第二损失函数,确定所述总损失函数。
43.作为一种可选的实施方式,所述总损失函数还包括第三损失函数,通过如下方式确定所述第三损失函数:
44.根据所述上一次的目标检测模型中的模型参数的重要程度,确定所述第三损失函数。
45.作为一种可选的实施方式,所述根据所述上一次的目标检测模型中的模型参数的重要程度,确定所述第三损失函数,包括:
46.根据本次的目标检测模型中的模型参数、所述上一次的目标检测模型中的模型参数,以及所述上一次的目标检测模型中的模型参数对应的费希尔信息矩阵,确定所述第三损失函数。
47.作为一种可选的实施方式,
48.当所述本次的目标检测模型为初次的目标检测模型时,所述本次的目标检测模型是利用标注的训练样本图像进行训练得到的。
49.第三方面,本发明实施例还提供一种目标检测的设备,该设备包括处理器和存储器,所述存储器用于存储所述处理器可执行的程序,所述处理器用于读取所述存储器中的程序并执行如下步骤:
50.获取待检测图像;
51.将所述待检测图像输入到本次的目标检测模型,输出所述图像对应的检测结果;其中,所述本次的目标检测模型是利用标注的目标图像集合对上一次的目标检测模型进行训练得到的,所述标注的目标图像集合包括在利用所述上一次的目标检测模型对输入的图像进行检测时,符合预设结果的检测结果对应的图像;其中所述本次的目标检测模型为非初次的目标检测模型。
52.作为一种可选的实施方式,所述处理器具体被配置为通过如下方式得到所述本次的目标检测模型:
53.当确定所述标注的目标图像集合中的图像数量大于或等于数量阈值时,利用标注的目标图像集合对上一次的目标检测模型进行训练,得到所述本次的目标检测模型。
54.作为一种可选的实施方式,所述处理器具体被配置为通过如下方式得到所述本次的目标检测模型:
55.若上一次的目标检测模型是对初次的目标检测模型进行多次迭代训练得到的,则确定迭代训练的次数;
56.当所述迭代训练的次数小于或等于次数阈值或所述上一次的目标检测模型是初次的目标检测模型时,利用标注的目标图像集合对上一次的目标检测模型进行训练,得到所述本次的目标检测模型。
57.作为一种可选的实施方式,所述处理器具体被配置为通过如下方式得到所述本次的目标检测模型:
58.利用所述标注的目标图像集合对所述上一次的目标检测模型进行训练;
59.根据本次的输出结果、所述本次的输出结果对应的图像的标注标签以及检测结果,确定总损失函数;其中,所述检测结果是未标注的目标图像集合中的图像利用所述上一次的目标检测模型进行检测得到的;
60.当确定总损失函数值满足预设条件时,停止训练并得到本次的目标检测模型。
61.作为一种可选的实施方式,所述处理器具体被配置为执行:
62.根据本次的输出结果、所述本次的输出结果对应的图像的标注标签,确定第一损失函数;
63.根据本次的输出结果和所述检测结果,确定第二损失函数;
64.根据所述第一损失函数和所述第二损失函数,确定所述总损失函数。
65.作为一种可选的实施方式,所述总损失函数还包括第三损失函数,所述处理器具体被配置为通过如下方式确定所述第三损失函数:
66.根据所述上一次的目标检测模型中的模型参数的重要程度,确定所述第三损失函数。
67.作为一种可选的实施方式,所述处理器具体被配置为执行:
68.根据本次的目标检测模型中的模型参数、所述上一次的目标检测模型中的模型参数,以及所述上一次的目标检测模型中的模型参数对应的费希尔信息矩阵,确定所述第三损失函数。
69.作为一种可选的实施方式,
70.当所述本次的目标检测模型为初次的目标检测模型时,所述本次的目标检测模型是利用标注的训练样本图像进行训练得到的。
71.第四方面,本发明实施例还提供一种目标检测的装置,该装置包括:
72.获取图像单元,用于获取待检测图像;
73.图像检测单元,用于将所述待检测图像输入到本次的目标检测模型,输出所述图像对应的检测结果;其中,所述本次的目标检测模型是利用标注的目标图像集合对上一次的目标检测模型进行训练得到的,所述标注的目标图像集合包括在利用所述上一次的目标检测模型对输入的图像进行检测时,符合预设结果的检测结果对应的图像;其中所述本次的目标检测模型为非初次的目标检测模型。
74.作为一种可选的实施方式,所述图像检测单元具体用于通过如下方式得到所述本次的目标检测模型:
75.当确定所述标注的目标图像集合中的图像数量大于或等于数量阈值时,利用标注的目标图像集合对上一次的目标检测模型进行训练,得到所述本次的目标检测模型。
76.作为一种可选的实施方式,所述图像检测单元具体用于通过如下方式得到所述本次的目标检测模型:
77.若上一次的目标检测模型是对初次的目标检测模型进行多次迭代训练得到的,则确定迭代训练的次数;
78.当所述迭代训练的次数小于或等于次数阈值或所述上一次的目标检测模型是初次的目标检测模型时,利用标注的目标图像集合对上一次的目标检测模型进行训练,得到所述本次的目标检测模型。
79.作为一种可选的实施方式,所述图像检测单元具体用于通过如下方式得到所述本次的目标检测模型:
80.利用所述标注的目标图像集合对所述上一次的目标检测模型进行训练;
81.根据本次的输出结果、所述本次的输出结果对应的图像的标注标签以及检测结果,确定总损失函数;其中,所述检测结果是未标注的目标图像集合中的图像利用所述上一次的目标检测模型进行检测得到的;
82.当确定总损失函数值满足预设条件时,停止训练并得到本次的目标检测模型。
83.作为一种可选的实施方式,所述图像检测单元具体用于:
84.根据本次的输出结果、所述本次的输出结果对应的图像的标注标签,确定第一损失函数;
85.根据本次的输出结果和所述检测结果,确定第二损失函数;
86.根据所述第一损失函数和所述第二损失函数,确定所述总损失函数。
87.作为一种可选的实施方式,所述总损失函数还包括第三损失函数,所述图像检测单元具体用于通过如下方式确定所述第三损失函数:
88.根据所述上一次的目标检测模型中的模型参数的重要程度,确定所述第三损失函数。
89.作为一种可选的实施方式,所述图像检测单元具体用于:
90.根据本次的目标检测模型中的模型参数、所述上一次的目标检测模型中的模型参数,以及所述上一次的目标检测模型中的模型参数对应的费希尔信息矩阵,确定所述第三损失函数。
91.作为一种可选的实施方式,
92.当所述本次的目标检测模型为初次的目标检测模型时,所述本次的目标检测模型是利用标注的训练样本图像进行训练得到的。
93.第五方面,本发明实施例还提供计算机存储介质,其上存储有计算机程序,该程序被处理器执行时用于实现上述第一方面所述方法的步骤。
94.本技术的这些方面或其他方面在以下的实施例的描述中会更加简明易懂。
附图说明
95.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
96.图1为本发明实施例提供的一种目标检测的方法的实施流程图;
97.图2为本发明实施例提供的一种目标检测的方法实施流程图;
98.图3为本发明实施例提供的一种目标检测模型的训练方法实施流程图;
99.图4为本发明实施例提供的一种目标检测的设备示意图;
100.图5为本发明实施例提供的一种目标检测的装置示意图。
具体实施方式
101.为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
102.本发明实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
103.本发明实施例描述的应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。其中,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
104.实施例1、目标检测是计算机视觉领域最基本的问题之一,其目的是检测出图片上有哪些物体并判定物体的具体位置,具有极为广泛的应用。被应用在智能驾驶、智慧城市、智慧工农业、智慧物流等一系列场景中,深度学习技术的出现加速了目标检测问题的研究,出现了很多落地的应用场景,结合深度学习技术,训练一个鲁棒性好、精度高的目标检测模型变得极为重要。然而在很多情况下,训练一个好的目标检测模型需要大量的标注数据以及各种有经验的模型训练方法,并不断的扩充数据迭代模型。在实际场景中,训练的目标检测模型不可能涉及整个开放世界的数据,目标检测的精度不可能百分之百,针对一些误检以及漏检的图片,通常需要添加新的训练数据并结合之前旧的训练数据重新训练模型,不仅耗时耗力,而且对各种存储计算设备的性能要求较高,因此,如何在原检测模型上快速的迭代一个新的模型,从而有效的解决误检以及漏检,且不依赖或者很少依赖历史训练数据已经成为亟需解决的技术问;并且,在实际场景中,由于设备端对于内存和速度的要求,通常不能更改原模型的大小,即不能增加特征提取或者检测分支来辅助原始目标网络的检测,因此,解决网络模型不变,且有效的保持历史学习的知识,并能够根据新的训练数据,迭代模型,学习新的知识具有重要意义。
105.需要说明的是,本实施例提供的一种目标检测的方法,不涉及具体的目标检测算法,即目标检测模型包括但不限于yolo系列,ssd系列,rcnn系列,anchor free系列等,本实施例对此不作过多限定。
106.本实施例提供的一种目标检测方法,核心思想是在原目标检测模型的基础上,不依赖于历史训练数据,利用上一次目标检测模型输出的符合预设结果的检测结果对应的图像作为训练数据,对上一次的目标检测模型进行训练,本实施例中的目标检测模型能够在进行目标检测的过程中,不断迭代更新,无需改变模型的网络结构,且不依赖历史训练数据,当符合预设结果的检测结果对应的图像为上一次目标检测模型漏检或误检的图像时,能够利用上一次漏检或误检的图像对上一次的目标检测模型进行迭代训练,使得模型能够
不断学习到新的有关漏检和误检的知识,降低模型的漏检率和误检率。
107.如图1所示,本实施例提供的一种目标检测的方法的实施流程如下所示:
108.步骤100、获取待检测图像;
109.步骤101、将所述待检测图像输入到本次的目标检测模型,输出所述图像对应的检测结果;其中,所述本次的目标检测模型是利用标注的目标图像集合对上一次的目标检测模型进行训练得到的,所述标注的目标图像集合包括在利用所述上一次的目标检测模型对输入的图像进行检测时,符合预设结果的检测结果对应的图像;其中所述本次的目标检测模型为非初次的目标检测模型。
110.在一些实施例中,当所述本次的目标检测模型为初次的目标检测模型时,所述本次的目标检测模型是利用标注的训练样本图像进行训练得到的。
111.在一些实施例中,本实施例中初次的目标检测模型是利用标注的训练样本图像进行训练得到的,实施中,首先根据实际需求选取一种目标检测模型,采集训练样本图像并根据实际需求进行图像标注和图像划分,并进行目标检测模型的训练,获取在验证集中效果最好的模型参数,作为该初次的目标检测模型的模型参数,还可以将该目标检测模型认定为初始版本模型,即初次的目标检测模型。
112.在一些实施例中,本实施例中符合预设结果的检测结果包括但不限于误检和/或漏检的检测结果。本实施例中的目标图像集合中图像的数量是大于零的数量阈值m。
113.实施中,本实施例中的标注的目标图像集合是通过如下方式得到的:
114.首先,利用所述上一次的目标检测模型对输入的图像进行检测,其中输入的图像是实际情况中的待检测图像,当检测结果中存在误检和/或漏检的检测结果时,将误检和/或漏检的图像进行保存,得到目标图像集合;其次,得到目标图像集合之后,还需要对该目标图像集合中的误检和/或漏检的图像进行标注,例如由于目标图像集合中的图像数量较少,可以使用人工标注的方式对图像进行标注,最终得到标注的目标检测图像集合。
115.实施中,当保存的误检和/或漏检的图像的数量达到数量阈值m时,可以启动对目标检测模型的迭代训练。
116.在一些实施例中,通过如下方式得到所述本次的目标检测模型:
117.当确定所述标注的目标图像集合中的图像数量大于或等于数量阈值时,利用标注的目标图像集合对上一次的目标检测模型进行训练,得到所述本次的目标检测模型。
118.在一些实施例中,通过如下方式得到所述本次的目标检测模型:
119.若上一次的目标检测模型是对初次的目标检测模型进行多次迭代训练得到的,则确定迭代训练的次数;其中,此处的迭代训练是对目标检测模型整体的迭代训练,而不是对一个目标检测模型中模型参数的迭代训练,即此处的迭代训练是指对目标检测模型整体进行了一次或多次训练,每次训练都能得到一个训练好的目标检测模型进行实际应用;
120.当所述迭代训练的次数小于或等于次数阈值或所述上一次的目标检测模型是初次的目标检测模型时,利用标注的目标图像集合对上一次的目标检测模型进行训练,得到所述本次的目标检测模型。
121.实施中,当所述上一次的目标检测模型是初次的目标检测模型时,利用标注的目标图像集合对上一次的目标检测模型进行训练,得到所述本次的目标检测模型;或,
122.当所述迭代训练的次数小于或等于次数阈值时,利用标注的目标图像集合对上一
次的目标检测模型进行训练,得到所述本次的目标检测模型。
123.当所述迭代训练的次数大于或等于次数阈值时,说明此时的目标检测模型已经对学习到的历史知识的遗忘不断增加,因此结束对目标检测模型的迭代训练,需要重新采集训练样本,训练一个新的初次的目标检测模型。
124.在一些实施例中,通过如下方式得到所述本次的目标检测模型:
125.(1)利用所述标注的目标图像集合对所述上一次的目标检测模型进行训练;
126.对上一次的目标检测模型进行训练时,将标注的目标图像集合中的图像输入到上一次的目标检测模型,将本次的输出结果和图像的标注标签进行比对,对上一次的目标检测模型中的模型参数进行训练,得到本次的目标检测模型。
127.其中,将目标图像集合设定为xd{x1,x2,x3,
…
,xm},将图像的标注标签设定为yd{y1,y2,y3,
…
,ym},其中,xd和yd是一一对应的,即x1的标签为y1,x2的标签为y2,以此类推。
128.实施中,将xd、yd输入目标图像集合,将本次的输出结果和yd进行比对,根据比对结果,对上一次的目标检测模型中的模型参数进行训练,得到本次的目标检测模型。
129.(2)根据本次的输出结果、所述本次的输出结果对应的图像的标注标签以及检测结果,确定总损失函数;
130.其中,所述检测结果是未标注的目标图像集合中的图像利用所述上一次的目标检测模型进行检测得到的;例如将未标注的目标图像集合输入到上一次的目标检测模型进行目标检测,得到与该未标注的目标图像集合对应的检测结果,其中包括误检或漏检的检测结果,将该检测结果设定为y
′d{y
′1,y
′2,y
′3,
…
,y
′m},即将未标注的目标图像集合xd{x1,x2,x3,
…
,xm}输入到上一次的目标检测模型进行目标检测,得到y
′d{y
′1,y
′2,y
′3,
…
,y
′m}。
131.在一些实施例中,通过如下方式确定总损失函数:
132.(2a)根据本次的输出结果、所述本次的输出结果对应的图像的标注标签,确定第一损失函数;
133.实施中,将本次的输出结果设为od,本次的输出结果对应的图像的标注标签设为yd,则根据od和yd确定第一损失函数,其中将第一损失函数设定为l
ori
。
134.(2b)根据本次的输出结果和所述检测结果,确定第二损失函数;
135.实施中,将本次的输出结果设为od,将检测结果设定为y
′d,则根据od和y
′d确定第二损失函数,其中将第二损失函数设定为l1。其中,第二损失函数作为待训练网络参数对于训练数据集的惩罚项,具有不同的模式,主要用于监督模型参数,避免训练过程中对原来目标检测模型已经学习知识的遗忘。
136.(2c)根据所述第一损失函数和所述第二损失函数,确定所述总损失函数。
137.实施中,可以根据如下公式确定总损失函数:
138.l=λ
ori
l
ori
+λ1l1ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式(1);
139.其中,l
ori
表示第一损失函数,l1表示第二损失函数,λ
ori
和λ1均表示权重,λ
ori
和λ1均为预设值,l表示总损失函数。
140.在一些实施例中,所述总损失函数还包括第三损失函数,通过如下方式确定所述第三损失函数:
141.根据所述上一次的目标检测模型中的模型参数的重要程度,确定所述第三损失函数。
142.在一些实施例中,通过如下公式确定总损失函数:
143.l
′
=λ
ori
l
ori
+λ1l1+λ2l2ꢀꢀꢀꢀꢀꢀꢀꢀ
公式(2);
144.其中,l
ori
表示第一损失函数,l1表示第二损失函数,l2表示第三损失函数,λ
ori
、λ1、λ2均表示权重,λ
ori
、λ1、λ2均为预设值,l
′
表示总损失函数。其中,第三损失函数作为模型参数中对参数重要性的惩罚项,用于使得在模型迭代训练的过程中,对重要程度较高的模型参数尽可能改变的较小,使得目标检测模型在迭代训练的过程中,尽可能解决在训练反向传播中导致的初次的目标检测模型中重要的模型参数改变过大导致的模型灾难性遗忘的问题。
145.在一些实施例中,通过如下方式确定所述第三损失函数:
146.根据本次的目标检测模型中的模型参数、所述上一次的目标检测模型中的模型参数,以及所述上一次的目标检测模型中的模型参数对应的费希尔信息矩阵,确定所述第三损失函数。
147.在一些实施例中,通过如下公式确定所述第三损失函数:
[0148][0149]
其中,l2表示第三损失函数,θi为迭代训练过程中本次的目标检测模型中的第i个模型参数,为上一次的目标检测模型中的第i个模型参数,其中d表示不大于迭代训练的次数阈值的整数,f
d,i
为待训练的上一次的目标检测模型中的模型参数对应的费希尔信息矩阵的第i个对角线元素,n为目标检测模型的模型参数总个数,其中,本次的目标检测模型和上一次的目标检测模型的模型参数的总个数相同,即在迭代训练的过程中,并不改变模型参数的总个数。
[0150]
(3)当确定总损失函数值满足预设条件时,停止训练并得到本次的目标检测模型。
[0151]
如图2所示,本实施例还提供一种目标检测的方法,该方法的具体实施流程如下所示:
[0152]
步骤200、选取初始版本的目标检测模型,利用标注的训练样本图像对初始版本的目标检测模型进行训练,得到初次的目标检测模型;
[0153]
步骤201、获取待检测图像,将待检测图像输入到本次的目标检测模型,输出图像对应的检测结果;
[0154]
其中,本次的目标检测模型包括初次的目标检测模型。
[0155]
步骤202、将误检和/或漏检的检测结果对应的图像进行保存,并记录保存的图像的数量;
[0156]
步骤203、判断保存的图像的数量是否大于或等于数量阈值,若是执行步骤204,否则执行步骤201;
[0157]
步骤204、根据保存的图像确定标注的目标图像集合;
[0158]
其中,将保存的图像进行人工标注后,得到标注的目标图像集合。
[0159]
步骤205、利用标注的目标图像集合对本次的目标检测模型进行迭代训练,得到下一次的目标检测模型;
[0160]
步骤206、判断迭代训练的次数是否小于或等于次数阈值,若是执行步骤201,否则执行步骤207;
[0161]
步骤207、结束对目标检测模型的迭代训练。
[0162]
本实施例提供的一种目标检测的方法,在不改变原始目标检测网络结构的基础上使用增量学习方法,不使用或较少使用历史训练数据,结合初次的目标检测模型和新增加的误检和漏检图片快速的迭代训练出一个新的对历史知识遗忘少的且能够学习新的知识的目标检测模型,并采用多损失相互监督的学习方法尽可能解决在训练反向传播中导致的初次的目标检测模型中重要的模型参数改变过大导致的模型灾难性遗忘的问题。
[0163]
基于相同的发明构思,本发明实施例还提供了一种目标检测模型的训练方法,该模型为本发明实施例中的方法中的目标检测模型,如图所示,该训练方法具体实施流程如下所示:
[0164]
在一些实施例中,本实施例还提供一种目标检测模型的训练方法,如图3所述,该训练方法的具体实施例流程如下所示:
[0165]
步骤300、在利用上一次的目标检测模型对输入的图像进行检测时,根据符合预设结果的检测结果对应的图像确定标注的目标图像集合;
[0166]
步骤301、利用标注的目标图像集合对上一次的目标检测模型进行训练,得到本次的目标检测模型;其中所述本次的目标检测模型为非初次的目标检测模型。
[0167]
在一些实施例中,通过如下方式得到所述本次的目标检测模型:
[0168]
当确定所述标注的目标图像集合中的图像数量大于或等于数量阈值时,利用标注的目标图像集合对上一次的目标检测模型进行训练,得到所述本次的目标检测模型。
[0169]
在一些实施例中,通过如下方式得到所述本次的目标检测模型:
[0170]
若上一次的目标检测模型是对初次的目标检测模型进行多次迭代训练得到的,则确定迭代训练的次数;
[0171]
当所述迭代训练的次数小于或等于次数阈值或所述上一次的目标检测模型是初次的目标检测模型时,利用标注的目标图像集合对上一次的目标检测模型进行训练,得到所述本次的目标检测模型。
[0172]
在一些实施例中,通过如下方式得到所述本次的目标检测模型:
[0173]
利用所述标注的目标图像集合对所述上一次的目标检测模型进行训练;
[0174]
根据本次的输出结果、所述本次的输出结果对应的图像的标注标签以及检测结果,确定总损失函数;其中,所述检测结果是未标注的目标图像集合中的图像利用所述上一次的目标检测模型进行检测得到的;
[0175]
当确定总损失函数值满足预设条件时,停止训练并得到本次的目标检测模型。
[0176]
在一些实施例中,通过如下方式确定总损失函数:
[0177]
根据本次的输出结果、所述本次的输出结果对应的图像的标注标签,确定第一损失函数;
[0178]
根据本次的输出结果和所述检测结果,确定第二损失函数;
[0179]
根据所述第一损失函数和所述第二损失函数,确定所述总损失函数。
[0180]
在一些实施例中,所述总损失函数还包括第三损失函数,通过如下方式确定所述第三损失函数:
[0181]
根据所述上一次的目标检测模型中的模型参数的重要程度,确定所述第三损失函数。
[0182]
在一些实施例中,通过如下方式确定第三损失函数:
[0183]
根据本次的目标检测模型中的模型参数、所述上一次的目标检测模型中的模型参数,以及所述上一次的目标检测模型中的模型参数对应的费希尔信息矩阵,确定所述第三损失函数。
[0184]
在一些实施例中,当所述本次的目标检测模型为初次的目标检测模型时,所述本次的目标检测模型是利用标注的训练样本图像进行训练得到的。
[0185]
本实施例提供的一种目标检测模型的训练方法,采用批量式数据进行模型的迭代训练,有效减少了数据存储及加速模型的训练,采用结合式增量学习策略及多损失监督学习方法,有效解决模型的误检及漏检问题,基于循环迭代的方案,结合增量学习的优缺点,在模型总迭代次数达到一定次数后,停止继续迭代模型,尽可能解决在训练反向传播中导致的初次的目标检测模型中重要的模型参数改变过大导致的模型灾难性遗忘的问题。
[0186]
实施例2、基于相同的发明构思,本发明实施例还提供了一种目标检测的设备,由于该设备即是本发明实施例中的方法中的设备,并且该设备解决问题的原理与该方法相似,因此该设备的实施可以参见方法的实施,重复之处不再赘述。
[0187]
如图4所示,该设备包括处理器400和存储器401,所述存储器401用于存储所述处理器400可执行的程序,所述处理器400用于读取所述存储器401中的程序并执行如下步骤:
[0188]
获取待检测图像;
[0189]
将所述待检测图像输入到本次的目标检测模型,输出所述图像对应的检测结果;其中,所述本次的目标检测模型是利用标注的目标图像集合对上一次的目标检测模型进行训练得到的,所述标注的目标图像集合包括在利用所述上一次的目标检测模型对输入的图像进行检测时,符合预设结果的检测结果对应的图像;其中所述本次的目标检测模型为非初次的目标检测模型。
[0190]
作为一种可选的实施方式,所述处理器400具体被配置为通过如下方式得到所述本次的目标检测模型:
[0191]
当确定所述标注的目标图像集合中的图像数量大于或等于数量阈值时,利用标注的目标图像集合对上一次的目标检测模型进行训练,得到所述本次的目标检测模型。
[0192]
作为一种可选的实施方式,所述处理器400具体被配置为通过如下方式得到所述本次的目标检测模型:
[0193]
若上一次的目标检测模型是对初次的目标检测模型进行多次迭代训练得到的,则确定迭代训练的次数;
[0194]
当所述迭代训练的次数小于或等于次数阈值或所述上一次的目标检测模型是初次的目标检测模型时,利用标注的目标图像集合对上一次的目标检测模型进行训练,得到所述本次的目标检测模型。
[0195]
作为一种可选的实施方式,所述处理器400具体被配置为通过如下方式得到所述本次的目标检测模型:
[0196]
利用所述标注的目标图像集合对所述上一次的目标检测模型进行训练;
[0197]
根据本次的输出结果、所述本次的输出结果对应的图像的标注标签以及检测结果,确定总损失函数;其中,所述检测结果是未标注的目标图像集合中的图像利用所述上一次的目标检测模型进行检测得到的;
[0198]
当确定总损失函数值满足预设条件时,停止训练并得到本次的目标检测模型。
[0199]
作为一种可选的实施方式,所述处理器400具体被配置为执行:
[0200]
根据本次的输出结果、所述本次的输出结果对应的图像的标注标签,确定第一损失函数;
[0201]
根据本次的输出结果和所述检测结果,确定第二损失函数;
[0202]
根据所述第一损失函数和所述第二损失函数,确定所述总损失函数。
[0203]
作为一种可选的实施方式,所述总损失函数还包括第三损失函数,所述处理器400具体被配置为通过如下方式确定所述第三损失函数:
[0204]
根据所述上一次的目标检测模型中的模型参数的重要程度,确定所述第三损失函数。
[0205]
作为一种可选的实施方式,所述处理器400具体被配置为执行:
[0206]
根据本次的目标检测模型中的模型参数、所述上一次的目标检测模型中的模型参数,以及所述上一次的目标检测模型中的模型参数对应的费希尔信息矩阵,确定所述第三损失函数。
[0207]
作为一种可选的实施方式,
[0208]
当所述本次的目标检测模型为初次的目标检测模型时,所述本次的目标检测模型是利用标注的训练样本图像进行训练得到的。
[0209]
实施例3、基于相同的发明构思,本发明实施例还提供了一种目标检测的装置,由于该装置即是本发明实施例中的方法中的装置,并且该装置解决问题的原理与该方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
[0210]
如图5所示,该装置包括:
[0211]
获取图像单元500,用于获取待检测图像;
[0212]
图像检测单元501,用于将所述待检测图像输入到本次的目标检测模型,输出所述图像对应的检测结果;其中,所述本次的目标检测模型是利用标注的目标图像集合对上一次的目标检测模型进行训练得到的,所述标注的目标图像集合包括在利用所述上一次的目标检测模型对输入的图像进行检测时,符合预设结果的检测结果对应的图像;其中所述本次的目标检测模型为非初次的目标检测模型。
[0213]
作为一种可选的实施方式,所述图像检测单元501具体用于通过如下方式得到所述本次的目标检测模型:
[0214]
当确定所述标注的目标图像集合中的图像数量大于或等于数量阈值时,利用标注的目标图像集合对上一次的目标检测模型进行训练,得到所述本次的目标检测模型。
[0215]
作为一种可选的实施方式,所述图像检测单元501具体用于通过如下方式得到所述本次的目标检测模型:
[0216]
若上一次的目标检测模型是对初次的目标检测模型进行多次迭代训练得到的,则确定迭代训练的次数;
[0217]
当所述迭代训练的次数小于或等于次数阈值或所述上一次的目标检测模型是初次的目标检测模型时,利用标注的目标图像集合对上一次的目标检测模型进行训练,得到所述本次的目标检测模型。
[0218]
作为一种可选的实施方式,所述图像检测单元501具体用于通过如下方式得到所
述本次的目标检测模型:
[0219]
利用所述标注的目标图像集合对所述上一次的目标检测模型进行训练;
[0220]
根据本次的输出结果、所述本次的输出结果对应的图像的标注标签以及检测结果,确定总损失函数;其中,所述检测结果是未标注的目标图像集合中的图像利用所述上一次的目标检测模型进行检测得到的;
[0221]
当确定总损失函数值满足预设条件时,停止训练并得到本次的目标检测模型。
[0222]
作为一种可选的实施方式,所述图像检测单元501具体用于:
[0223]
根据本次的输出结果、所述本次的输出结果对应的图像的标注标签,确定第一损失函数;
[0224]
根据本次的输出结果和所述检测结果,确定第二损失函数;
[0225]
根据所述第一损失函数和所述第二损失函数,确定所述总损失函数。
[0226]
作为一种可选的实施方式,所述总损失函数还包括第三损失函数,所述图像检测单元具体用于通过如下方式确定所述第三损失函数:
[0227]
根据所述上一次的目标检测模型中的模型参数的重要程度,确定所述第三损失函数。
[0228]
作为一种可选的实施方式,所述图像检测单元501具体用于:
[0229]
根据本次的目标检测模型中的模型参数、所述上一次的目标检测模型中的模型参数,以及所述上一次的目标检测模型中的模型参数对应的费希尔信息矩阵,确定所述第三损失函数。
[0230]
作为一种可选的实施方式,
[0231]
当所述本次的目标检测模型为初次的目标检测模型时,所述本次的目标检测模型是利用标注的训练样本图像进行训练得到的。
[0232]
基于相同的发明构思,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如下步骤:
[0233]
获取待检测图像;
[0234]
将所述待检测图像输入到本次的目标检测模型,输出所述图像对应的检测结果;其中,所述本次的目标检测模型是利用标注的目标图像集合对上一次的目标检测模型进行训练得到的,所述标注的目标图像集合包括在利用所述上一次的目标检测模型对输入的图像进行检测时,符合预设结果的检测结果对应的图像;其中所述本次的目标检测模型为非初次的目标检测模型。
[0235]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0236]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产
生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
[0237]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0238]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0239]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
技术特征:1.一种目标检测的方法,其特征在于,该方法包括:获取待检测图像;将所述待检测图像输入到本次的目标检测模型,输出所述待检测图像对应的检测结果;其中,所述本次的目标检测模型是利用标注的目标图像集合对上一次的目标检测模型进行训练得到的,所述标注的目标图像集合包括在利用所述上一次的目标检测模型对输入的图像进行检测时,符合预设结果的检测结果对应的图像;其中所述本次的目标检测模型为非初次的目标检测模型。2.根据权利要求1所述的方法,其特征在于,通过如下方式得到所述本次的目标检测模型:当确定所述标注的目标图像集合中的图像数量大于或等于数量阈值时,利用标注的目标图像集合对上一次的目标检测模型进行训练,得到所述本次的目标检测模型。3.根据权利要求1所述的方法,其特征在于,通过如下方式得到所述本次的目标检测模型:若上一次的目标检测模型是对初次的目标检测模型进行多次迭代训练得到的,则确定迭代训练的次数;当所述迭代训练的次数小于或等于次数阈值或所述上一次的目标检测模型是初次的目标检测模型时,利用标注的目标图像集合对上一次的目标检测模型进行训练,得到所述本次的目标检测模型。4.根据权利要求1~3任一所述的方法,其特征在于,通过如下方式得到所述本次的目标检测模型:利用所述标注的目标图像集合对所述上一次的目标检测模型进行训练;根据本次的输出结果、所述本次的输出结果对应的图像的标注标签以及检测结果,确定总损失函数;其中,所述检测结果是未标注的目标图像集合中的图像利用所述上一次的目标检测模型进行检测得到的;当确定总损失函数值满足预设条件时,停止训练并得到本次的目标检测模型。5.根据权利要求4所述的方法,其特征在于,所述根据本次的输出结果、所述本次的输出结果对应的图像的标注标签以及检测结果,确定总损失函数,包括:根据本次的输出结果、所述本次的输出结果对应的图像的标注标签,确定第一损失函数;根据本次的输出结果和所述检测结果,确定第二损失函数;根据所述第一损失函数和所述第二损失函数,确定所述总损失函数。6.根据权利要求4所述的方法,其特征在于,所述总损失函数还包括第三损失函数,通过如下方式确定所述第三损失函数:根据所述上一次的目标检测模型中的模型参数的重要程度,确定所述第三损失函数。7.根据权利要求6所述的方法,其特征在于,所述根据所述上一次的目标检测模型中的模型参数的重要程度,确定所述第三损失函数,包括:根据本次的目标检测模型中的模型参数、所述上一次的目标检测模型中的模型参数,以及所述上一次的目标检测模型中的模型参数对应的费希尔信息矩阵,确定所述第三损失函数。
8.根据权利要求1所述的方法,其特征在于,当所述本次的目标检测模型为初次的目标检测模型时,所述本次的目标检测模型是利用标注的训练样本图像进行训练得到的。9.一种目标检测模型的训练方法,其特征在于,该方法包括:在利用上一次的目标检测模型对输入的图像进行检测时,根据符合预设结果的检测结果对应的图像确定标注的目标图像集合;利用标注的目标图像集合对上一次的目标检测模型进行训练,得到本次的目标检测模型;其中所述本次的目标检测模型为非初次的目标检测模型。10.一种目标检测的设备,其特征在于,该设备包括处理器和存储器,所述存储器用于存储所述处理器可执行的程序,所述处理器用于读取所述存储器中的程序并执行权利要求1~8或9任一所述方法的步骤。11.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~8或9任一所述方法的步骤。
技术总结本发明公开了一种目标检测的方法、模型训练方法及设备,用于在不依赖历史训练数据的情况下有效降低目标检测模型的误检率和漏检率。该方法包括:获取待检测图像;将所述待检测图像输入到本次的目标检测模型,输出所述图像对应的检测结果;其中,所述本次的目标检测模型是利用标注的目标图像集合对上一次的目标检测模型进行训练得到的,所述标注的目标图像集合包括在利用所述上一次的目标检测模型对输入的图像进行检测时,符合预设结果的检测结果对应的图像;其中所述本次的目标检测模型为非初次的目标检测模型。初次的目标检测模型。初次的目标检测模型。
技术研发人员:李志涵 蔡丹平 张朋 陈波扬 吴立 周祥明 殷俊
受保护的技术使用者:浙江大华技术股份有限公司
技术研发日:2022.07.12
技术公布日:2022/11/1