对象计数模型的训练方法、装置、设备以及存储介质与流程

文档序号:31708529发布日期:2022-10-01 13:19阅读:51来源:国知局
对象计数模型的训练方法、装置、设备以及存储介质与流程

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.图1是本技术实施例提供的一种对象计数模型的训练方法的实施环境的示意图;
44.图2是本技术实施例提供的一种对象计数模型的训练方法的流程图;
45.图3是本技术实施例提供的另一种对象计数模型的训练方法流程图;
46.图4是本技术实施例提供的一种对象计数模型的结构示意图;
47.图5是本技术实施例提供的又一种对象计数模型的训练方法流程图;
48.图6是本技术实施例提供的再一种对象计数模型的训练方法流程图;
49.图7是本技术实施例提供的再一种对象计数模型的训练方法流程图;
50.图8是本技术实施例提供的一种使用对象计数模型进行计数的方法流程图;
51.图9是本技术实施例提供的一种对象计数模型的训练装置的结构示意图;
52.图10是本技术实施例提供的一种终端的结构示意图;
53.图11是本技术实施例提供的一种服务器的结构示意图。
具体实施方式
54.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式做进一步的详细描述。
55.本技术中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
56.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
57.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
58.机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识子模型使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
59.语义特征:用于表示文本所表达语义的特征,不同的文本可以对应于相同的语义特征,例如文本“今天天气怎么样”和文本“今天天气如何”可以对应于同一个语义特征。计算机设备可以将文本中的字符映射为字符向量,根据字符之间的关系,对字符向量进行组合和运算,得到文本的语义特征。例如计算机设备可以采用编解码器的双向编码器表示(bidirectional encoder representations from transformers,bert)。
60.归一化:将取值范围不同的数列映射到(0,1)区间上,便于数据的处理。在一些情况下,归一化后的数值可以直接被实现为概率。
61.学习率(learning rate):用于控制模型的学习进度,学习率可以指导模型在梯度下降法中,如何使用损失函数的梯度调整网络权重。学习率如果过大,可能会使损失函数直接越过全局最优点,此时表现为损失过大;学习率如果过小,损失函数的变化速度很慢,会大大增加网络的收敛复杂度,并且很容易被困在局部最小值或者鞍点。
62.嵌入编码(embedded coding):嵌入编码在数学上表示一个对应关系,即通过一个函数f将x空间上的数据映射到y空间上,其中该函数f是单射函数,映射的结果是结构保存,单射函数表示映射后的数据与映射前的数据唯一对应,结构保存表示映射前数据的大小关系后映射后数据的大小关系相同,例如映射前存在数据x1以及x2,映射后得到x1对应的y1以及x2对应的y2。若映射前的数据x1>x2,那么相应地,映射后的数据y1大于y2。对于词语来说,就是将词语映射到另外一个空间,便于后续的机器学习和处理。
63.注意力权重:可以表示训练或预测过程中某个数据的重要性,重要性表示输入的数据对输出数据影响的大小。重要性高的数据其对应的注意力权重的值较高,重要性低的数据其对应的注意力权重的值较低。在不同的场景下,数据的重要性并不相同,模型的训练注意力权重的过程也即是确定数据重要性的过程。
64.小样本学习:在训练阶段,对象计数模型可获得样本图像、样本图像中所有样本对象的位置标注以及样本图像中若干包围样本对象的边界框,从而进行计数学习。
65.在测试阶段,对象计数模型仅可以获得测试图像及其对应的若干目标对象的边界框,从而确定测试图像中目标对象的数量。
66.需要注意的是,测试阶段进行计数的目标对象是全新的类别,亦即对象计数模型在训练阶段完全没有学习过的类别,也即是目标对象与样本对象为不同类型的对象。因此,对于在该任务定义下训练完成的对象计数模型来说,其可以在各种有全新类别的图像上在仅需给定若干所需类别对象的边界框的条件下,即进行该类别所有对象总个数的预测,具
有很广泛的实际应用价值。
67.需要说明的是,本技术所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
68.图1是本技术实施例提供的一种对象计数模型的训练方法的实施环境示意图,参见图1,该实施环境中可以包括终端110和服务器140。
69.终端110通过无线网络或有线网络与服务器140相连。可选地,终端110是车载终端、智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端110安装和运行有支持对象计数的应用程序。
70.服务器140是独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式系统,或者是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器140为终端110上运行的应用程序提供后台服务,比如,服务器140能够训练终端110上运行的应用程序所使用的对象计数模型。
71.可选地,终端110和服务器140的数量不受限制。
72.在介绍完本技术实施例的实施环境之后,下面将结合上述实施环境对本技术实施例的应用场景进行介绍,在下述说明过程中,终端也即是上述实施环境中的终端110,服务器也即是上述实施环境中的服务器140。
73.本技术实施例提供的对象计数模型的训练方法能够应用在对多种类型的对象进行计数的场景下。比如,应用在对工业产品上的某种缺陷进行计数的场景下,或者应用在对生态环境图像上的某种动物进行计数的场景下,或者应用在对生物组织图像中的某种细胞进行计数的场景下,或者应用在对交通环境图像上的某种车辆进行计数的场景下。
74.以本技术实施例提供的计数方案应用在对工业产品上的某种缺陷进行计数的场景下为例,服务器采用本技术实施例提供的对象计数模型的训练方法训练一个对象计数模型,在需要对工业产品上的某种缺陷进行计数时,技术人员通过终端生成该工业产品的图像,该工业产品的图像包括少量包围该种缺陷的边界框,在一些实施例中,少量边界框是指一个边界框。终端将该工业产品的图像上传至服务器,由服务器将该工业产品的图像输入训练完成的对象计数模型,该对象计数模型能够输出该工业产品的图像中该种缺陷的数量。在一些实施例中,该工业产品为扳手,该种缺陷为扳手上的裂纹。
75.以本技术实施例提供的计数方案应用在对生态环境图像上的某种动物进行计数的场景下为例,服务器采用本技术实施例提供的对象计数模型的训练方法训练一个对象计数模型,在需要对生态环境图像上的某种动物进行计数时,技术人员通过终端生成该生态环境图像的图像,该生态环境图像的图像包括少量包围该种动物的边界框,在一些实施例中,少量边界框是指一个边界框。终端将该生态环境图像的图像上传至服务器,由服务器将该生态环境图像的图像输入训练完成的对象计数模型,该对象计数模型能够输出该生态环境图像的图像中该种动物的数量。在一些实施例中,该种动物为大熊猫。
76.以本技术实施例提供的计数方案应用在对生物组织图像上的某种细胞进行计数的场景下为例,服务器采用本技术实施例提供的对象计数模型的训练方法训练一个对象计
数模型,在需要对生物组织图像上的某种细胞进行计数时,技术人员通过终端生成该生物组织图像的图像,该生物组织图像的图像包括少量包围该种细胞的边界框,在一些实施例中,少量边界框是指一个边界框。终端将该生物组织图像的图像上传至服务器,由服务器将该生物组织图像的图像输入训练完成的对象计数模型,该对象计数模型能够输出该生物组织图像的图像中该种细胞的数量。
77.以本技术实施例提供的计数方案应用在对交通环境图像上的某种车辆进行计数的场景下为例,服务器采用本技术实施例提供的对象计数模型的训练方法训练一个对象计数模型,在需要对交通环境图像上的某种车辆进行计数时,技术人员通过终端生成该交通环境图像的图像,该交通环境图像的图像包括少量包围该种车辆的边界框,在一些实施例中,少量边界框是指一个边界框。终端将该交通环境图像的图像上传至服务器,由服务器将该交通环境图像的图像输入训练完成的对象计数模型,该对象计数模型能够输出该交通环境图像的图像中该种车辆的数量。
78.需要说明的是,在上述对应用场景进行说明的过程中,是以服务器训练该对象计数模型。终端获取图像,将图像上传至服务器,由服务器对图像中的对象进行计数为例进行说明的,在其他可能的实施方式中,终端获取图像之后,也能够直接对图像中的对象进行计数,无需将目标图像上传至服务器,本技术实施例对此不做限定。
79.此外,本技术实施例提供的对象计数模型的训练方法除了能够应用在上述几个应用场景之外,还能够应用在其他计数场景下,本技术实施例对此不做限定。
80.在介绍完本技术实施例的实施环境和应用场景之后,下面对本技术实施例提供的技术方案进行介绍。参见图2,本技术实施例提供的技术方案可以由终端或服务器执行,也可以由终端和服务器共同执行,在本技术实施例中,以执行主体为服务器为例进行说明,方法包括下述步骤。
81.201、服务器将第一样本图像输入对象计数模型,该第一样本图像为上一轮模型训练时使用的样本图像,该第一样本图像包括多个样本对象以及包围该样本对象的至少一个参考边界框。
82.其中,第一样本图像包括多个样本对象,参考边界框包围样本对象,也即是参考边界框能够表示样本对象在样本图像上的位置,其中,参考边界框包围样本对象是指,一个参考边界框包围一个样本对象,在使用该对象计数模型进行计数时,统计边界框的数量即可。参考边界框的数量小于或等于数量阈值,数量阈值由技术人员根据实际情况进行设置,在极端情况下,参考边界框的数量为1,本技术实施例对此不做限定。在一些实施例中,样本图像也被称为支撑图像(support image)或者参考图像(reference image)。
83.202、服务器通过该对象计数模型,基于该第一样本图像生成第二样本图像,该第二样本图像包括该至少一个参考边界框以及至少一个预测边界框,该预测边界框包围的区域为存在该样本对象的置信度符合第一置信度条件的区域。
84.其中,预测边界框是服务器通过该对象计数模型,基于该第一样本图像得到的,也即是基于第一样本图像上的参考边界框预测得到的。该第二样本图像中的预测边界框是该对象计数模型在没有监督的情况下得到的,相当于是服务器通过该对象计数模型对第一样本图像上的参考边界框进行进一步挖掘得到的。参考编辑框所包围的区域为可能存在样本对象的区域,也即是存在样本对象的置信度符合第一置信度条件的区域。
85.203、服务器将该第二样本图像输入该对象计数模型,通过该对象计数模型,对该第二样本图像进行处理,得到该第二样本图像的预测密度图像,该第二样本图像的预测密度图像用于表示该第二样本图像中该样本对象的预测分布情况。
86.其中,密度图像用于表示第二样本图像中该样本对象的预测分布情况,预测分布情况也即是该对象计数模型基于参考边界框预测的样本对象的分布情况。
87.204、服务器基于该第二样本图像的预测密度图像与参考密度图像之间的第一差异信息,对该对象计数模型进行一轮训练,该参考密度图像用于表示该第二样本图像中该样本对象的实际分布情况。
88.其中,参考密度图像可以视作该第二样本图像的标注,该参考密度图像能够反映样本对象在该第二样本图像中的实际的分布情况。由于第二样本图像的预测密度图像是服务器通过该对象计数模型进行预测得到的,那么基于该第一差异信息对该对象计数模型进行训练,能够使得该对象计数模型输出的密度图像与该参考密度图像尽可能接近,从而提高该对象计数模型在计数时的准确性。
89.通过本技术实施例提供的技术方案,在对该对象计数模型进行训练时,对上一轮模型训练时使用的第一样本图像进行处理,得到第二样本图像,这个过程相当于是对第一样本图像上的信息进行进一步挖掘,得到的第二样本图像既包括第一样本图像上的参考边界框,也包括挖掘得到的预测边界框。将第二样本图像输入对象计数模型,通过对象计数模型对该第二样本图像进行处理,得到该第二样本图像的预测密度图像,后续基于第二样本图像的预测密度图像和参考密度图像之间的第一差异信息对该对象计数模型进行训练,这个过程也即是采用对第一样本图像进一步挖掘得到的第二样本图像来对该对象计数模型进行训练,训练过程不完全依赖于标注,通过自挖掘的形式能够扩展已有标注,从而使得对象计数模型学习到多个对象的特征,提高该对象计数模型最终的计数效果。
90.需要说明的是,上述步骤201-204是对本技术实施例提供的技术方案的简单说明,下面将结合一些例子,对本技术实施例提供的技术方案进行更加详细的说明,参见图3,本技术实施例提供的技术方案可以由终端或服务器执行,也可以由终端和服务器共同执行,在下述说明中,以技术方案由服务器执行为例进行说明。为了对本技术实施例提供的技术方案进行更加清楚的说明,下面将分别对第一轮模型训练和其他轮模型训练进行说明,其中,步骤301-304是对第一轮模型训练进行的说明,步骤601-605是对其他轮模型训练进行的说明。
91.301、服务器获取样本图像集,该样本图像集包括多个初始样本图像。
92.其中,该多个初始样本图像所包括的样本对象可以是同一类型的样本对象,也可以是不同类型的样本对象,本技术实施例对此不做限定。在对对象计数模型进行训练时,采用一个初始样本图像就能够实现多轮训练,也即是,可以将一个初始样本图像视作一个批次(batch),另一个初始样本图像可以视作另一个批次。
93.在一种可能的实施方式中,响应于对样本图像集的操作,终端向服务器发送该样本图像集,服务器获取该样本图像集。在这种实施方式下,视频制作人员能够通过对该样本图像集的操作来控制终端向服务器发送该样本图像集,视频制作人员能够自行选择样本图像集,人机交互的效率较高。
94.举例来说,终端显示图像集选择页面,该图像集选择页面包括多个候选图像集。响
应于对该多个候选图像集中样本图像集的点击操作,终端向服务器发送该样本图像集,服务器获取该样本图像集。在这种情况下,该多个候选图像集为存储在终端上的图像集。在该多个候选图像集为存储在服务器上的图像集的情况下,响应于在图像集选择页面上对样本图像集的点击操作,终端向服务器发送图像集选择指令,该图像集选择指令携带该样本图像集的标识。服务器接收到该图像集选择指令之后,从该图像集选择指令中获取该样本图像集的标识。服务器基于该样本图像集的标识进行查询,获取该样本图像集。
95.在一些实施例中,服务器在获取样本图像集之后,还能够获取验证图像集以及测试图像集,验证图像集包括多个验证图像,每个验证图像包括多个样本对象以及包围该样本对象的至少一个参考边界框。测试图像集包括多个测试图像,每个测试图像包括多个样本对象以及包围该样本对象的至少一个参考边界框。样本图像集用于对对象计数模型进行训练,验证图像集用于确定该对象计数模型的超参数,测试图像集用于对该对象计数模型的效果进行测试。
96.302、服务器从该样本图像集中获取任一初始样本图像,将该初始样本图像输入对象计数模型,该初始样本图像包括多个样本对象以及包围该样本对象的至少一个参考边界框。
97.其中,该对象计数模型用于确定图像中的对象的数量,这里的所说的图像中的对象是指图像中指定的对象,该对象的指定由技术人员根据实际需求进行。以本技术实施例提供的计数方案应用在对工业产品上的某种缺陷进行计数的场景下为例,图像也即是该工业产品的图像,该对象为指定的缺陷,比如为工业产品上的裂纹。在图像上指定对象的方式是在该图像上添加包围该对象的边界框。将添加边界框的图像输入训练完成的该对象计数模型之后,该对象计数模型就能够输出该对象在该图像中的数量。在一些实施例中,样本对象也被称为样例,包围样本对象的参考边界框也被称为样例目标边界框。在一些实施例中,该对象计数模型也被称为小样本计数模型,小样本是指样本图像中标注的参考边界框的数量较少,数量较少是指参考边界框的数量小于或等于数量阈值,数量阈值由技术人员根据实际情况进行设置,比如为1或者2等。
98.该初始样本图像用于启动对该对象计数模型的训练,也即是基于该初始样本图像能够对该对象计数模型进行k轮训练,每轮训练使用的样本图像均是基于该初始样本图像得到的,k为正整数。
99.在一些实施例中,服务器以样本图像集、样本对象位置集以及参考边界框集的形式来存储样本图像、样本图像中样本对象的位置以及样本图像中参考边界框的位置。比如,样本图像集为x
train
={x1,x2,...xn},参考边界框集和样本对象位置集分别为和其中,表示样本图像集中的第i张样本图像,hi和wi分别为其空间维度的高和宽,hi和wi可能相同,也可能不相同,本技术实施例对此不做限定。和中的0表示未迭代时的参考边界框集以及样本对象位置集,其中,参考边界框集存储了多个参考边界框在样本图像上的位置,样本对象位置集存储了多个样本对象在样本图像上的位置,随着迭代次数的增加,0会随之增加。表示样本图像xi对应的ai个
参考边界框的集合,表示样本图像xi对应的bi个样本对象的位置的集合(ai<<bi)。
100.在一些实施例中,验证图像集以及测试图像集分别记作x
val
和x
test
,验证图像集x
val
对应的参考边界框集以及样本对象位置集分别记作和测试图像集x
test
对应的参考边界框集以及样本对象位置集分别记作和
101.303、服务器通过该对象计数模型,基于该初始样本图像生成该初始样本图像的预测密度图像,该初始样本图像的预测密度图像用于表示该初始样本图像中该样本对象的预测分布情况。
102.在一些实施例中,该初始样本图像的预测密度图像中多个像素点的像素值为对应像素点存在样本对象的置信度,通过该预测密度图像中多个像素点的像素值就能够得到该初始样本图像中该样本对象的预测分布情况。
103.在一种可能的实施方式中,服务器通过该对象计数模型,对该初始样本图像进行特征提取,得到该初始样本图像的特征图。服务器通过该对象计数模型,基于该初始样本图像的特征图上的目标特征区域与其他特征区域之间的相似度,生成该初始样本图像的预测密度图像,该目标特征区域为该初始样本图像上参考边界框所在的区域。
104.其中,上述实施方式中的其他特征区域是指,该初始样本图像的特征图上,出该目标特征区域以外的区域。
105.在这种实施方式下,在生成该初始样本图像的预测密度图像时,利用了目标特征区域内的特征,由于目标特征区域对应于参考边界框所在的区域,而参考边界框包围样本对象,那么目标特征区域也就对应于样本对象的特征。确定目标特征区域与其他特征区域之间的相似度,就能够确定在其他特征区域中存在该样本对象的置信度,从而基于在其他特征区域中存在该样本对象的置信度,生成该初始样本图像的预测密度图像。
106.为了对上述实施方式进行更加清楚的说明,下面将分为两个部分对上述实施方式进行说明。
107.第一部分、服务器通过该对象计数模型,对该初始样本图像进行特征提取,得到该初始样本图像的特征图。
108.在一种可能的实施方式中,服务器通过该对象计数模型的卷积层对该初始样本图像进行卷积,得到该初始样本图像的特征图。
109.在这种实施方式下,服务器能够通过对象计数模型的卷积层来对该初始样本图像进行特征提取,由于卷积运算的速度较快,采用这种方式来获取该初始样本图像的特征图的效率较高。
110.举例来说,该对象计数模型包括特征提取单元,服务器将该初始样本图像输入该对象计数模型的特征提取单元。服务器通过该特征提取单元的卷积层对该初始样本图像进行卷积,也即是采用该特征提取单元的卷积层上的卷积核在该初始样本图像中进行滑动,卷积核在滑动过程中与该初始样本图像中被该卷积核覆盖的区域进行卷积,得到该初始样本图像的特征图,其中,该特征提取单元的卷积层上卷积核的数量为一个或者多个,本技术实施例对此不做限定。在该初始样本图像包括多个颜色通道的情况下,该特征提取单元的卷积层上卷积核的数量也为多个,多个卷积核用于对该初始样本图像的多个颜色通道进行
特征提取,得到该各个颜色通道的颜色特征图。服务器通过该特征提取单元,将多个颜色通道的颜色特征图进行融合,得到该初始样本图像的特征图,在一些实施例中,服务器通过该特征提取单元,将多个颜色通道的颜色特征图进行融合,得到该初始样本图像的特征图时,可以采用加权求和的方式来进行。在一些实施例中,该特征提取单元为基于卷积神经网络(convolutional neural networks,cnn)的特征提取器,比如为采用大规模开源数据集imagenet(图网)上预训练的神经网络resnet-50(残差网络50)。
111.在一种可能的实施方式中,服务器通过该对象计数模型,基于注意力机制对该初始样本图像进行编码,得到该初始样本图像的特征图。
112.在这种实施方式下,服务器能够通过该对象计数模型,基于注意力机制来进行特征提取,注意力机制的引入使得对象计数模型能够关注于该初始样本图像中重要程度较高的区域,得到的特征图更够较为准确地反映该初始样本图像的特征。
113.举例来说,该对象计数模型包括特征提取单元,服务器将该初始样本图像输入该对象计数模型的特征提取单元。服务器通过该特征提取单元,基于注意力机制对该初始样本图像的多个部分进行编码,得到该初始样本图像的特征图。比如,服务器将该初始样本图像输入该特征提取单元,通过该特征提取单元,对该初始样本图像的多个部分进行嵌入编码,得到多个嵌入向量,一个嵌入向量对应于该初始样本图像的一个部分,嵌入向量用于表示各个部分在该初始样本图像中的位置以及各个部分的内容。服务器将多个嵌入向量输入特征提取单元,通过特征提取单元的三个线性变换矩阵,对多个嵌入向量进行线性变换,得到该初始样本图像的每个部分对应的查询(query)向量、键(key)向量以及值(value)向量。服务器通过特征提取单元,基于该初始样本图像的多个部分对应的查询向量以及键向量,获取初始样本图像的多个部分的注意力权重。服务器通过特征提取单元,基于该初始样本图像的各个部分的注意力权重和该初始样本图像的各个部分的值向量,获取该初始样本图像的各个部分的注意力编码向量。将该初始样本图像的各个部分的注意力编码向量按照各个部分在初始样本图像中的位置进行组合,得到该初始样本图像的特征图。
114.在一种可能的实施方式中,服务器通过该对象计数模型的全连接层对该初始样本图像进行全连接,得到该初始样本图像的特征图。在这种实施方式下,服务器通过该对象计数模型对该初始样本图像进行全连接就能够得到该初始样本图像的特征图,全连接能够从整体上提取该初始样本图像的特征,得到的特征图也就能够从整体上反映该初始样本图像的特征。
115.举例来说,该对象计数模型包括特征提取单元,服务器将该初始样本图像输入该对象计数模型的特征提取单元。服务器通过该特征提取单元的全连接层对该初始样本图像进行全连接,得到该初始样本图像的特征图。在一些实施例中,该特征提取模型为基于深度神经网络(deep neural networks,dnn)的特征提取器。
116.需要说明的是,服务器能够通过上述任一种方式来获取该初始样本图像的特征图,或者采用vit(vision transformer,视觉转换器)以及其他传统图像特征提取器来对初始样本图像进行特征提取,当然,随着科学技术的发展,服务器还能够采用其他方式来获取特征图,本技术实施例对此不做限定。
117.第二部分、服务器通过该对象计数模型,基于该初始样本图像的特征图上的目标特征区域与其他特征区域之间的相似度,生成该初始样本图像的预测密度图像。
118.其中,目标特征区域与其他特征区域之间的相似度也就表示其他特征区域存在样本对象的置信度。
119.在一种可能的实施方式中,服务器通过该对象计数模型,从该初始样本图像的特征图中获取目标子特征图,该目标子特征图为该初始样本图像的特征图上该目标特征区域对应的部分,也即是该初始样本图像上参考边界框对应的部分。服务器通过该对象计数模型,基于该目标子特征图,确定该目标特征区域与其他特征区域之间的相似度。比如,服务器通过该对象计数模型,采用该目标子特征图在该初始样本图像的特征图上进行滑动,确定该目标特征区域与其他特征区域之间的相似度,其他特征区域也即是该目标子特征图在滑动过程中覆盖的区域。服务器基于该目标特征区域与其他特征区域之间的相似度,生成该初始样本图像的密度图预测特征。服务器通过该对象计数模型,对该初始样本图像的密度图预测特征进行卷积,得到该初始样本图像的预测密度图像。其中,确定该目标特征区域与其他特征区域之间的相似度时,也即是对该目标特征区域与其他特征区域进行相关性运算,以得到该目标特征区域与其他特征区域之间的相似度,比如,服务器将该目标特征区域与其他特征区域通过合并连接的方式来进行相关性运算。
120.举例来说,该对象计数模型包括局部特征获取单元、匹配单元以及密度图生成单元。服务器通过该对象计数模型,从该初始样本图像的特征图中获取初始子特征图,该初始子特征图为该初始样本图像的特征图上该初始特征区域对应的部分,也即是该初始样本图像上参考边界框对应的部分。服务器通过该局部特征获取单元,对该初始子特征图进行池化,得到目标尺寸的目标子特征图,其中,对该初始子特征图进行池化的目的是将该初始子特征图调整到该目标尺寸,该目标尺寸由技术人员根据实际情况进行设置,本技术实施例对此不做限定。服务器将该目标子特征图和该初始样本图像的特征图输入匹配单元,通过该匹配单元确定该目标特征区域与其他特征区域之间的相似度,也即是控制该目标子特征图在该初始样本图像的特征图上进行滑动,确定该目标特征区域与其他特征区域之间的相似度,输出该初始样本图像的密度图预测特征,该密度图预测特征为一个张量。服务器将该初始样本图像的密度图预测特征输入该密度图生成单元,通过该密度图生成单元的卷积层对该初始样本图像的密度图预测特征进行卷积,输出该初始样本图像的预测密度图像。在一些实施例中,上述获取初始样本图像的预测密度图像的过程可以通过下述公式(1)来表示。
[0121][0122]
其中,为该初始样本图像的预测密度图像,m0为第一次模型训练时的对象计数模型,x
train
为样本图像集,为第一次模型训练时的参考边界框集。
[0123]
在一些实施例中,参见图4,提供了一种对象计数模型的结构示意图,该对象计数模型400包括特征提取单元401、局部特征获取单元402、匹配单元403以及密度图生成单元404。需要说明的是,图4提供的对象计数模型的结构仅仅是一种示例,在其他可能的实施方式中,该对象计数模型可以为其他结构,本技术实施例对此不做限定。
[0124]
304、服务器基于该初始样本图像的预测密度图像与参考密度图像之间的差异信息,对该对象计数模型进行第一轮训练,该参考密度图像用于表示该初始样本图像中该样
本对象的实际分布情况。
[0125]
其中,参考密度图像可以视作对该对象计数模型进行训练的监督,对该对象计数模型进行训练的目的是使得该对象计数模型输出的预测密度图与该参考密度图尽可能接近,也即是预测密度图像与参考密度图像之间的差异信息尽可能小。
[0126]
为了对上述实施方式进行更加清楚的说明,下面对服务器生成该参考密度图像的方法进行说明,需要说明的是,服务器生成该参考密度图像在步骤304之前,比如在步骤301之前,本技术实施例对此不做限定。
[0127]
在一种可能的实施方式中,服务器基于初始样本图像的标注信息,生成该初始样本图像的位置图像,该初始样本图像为第一轮模型训练时使用的样本图像,该标注信息包括该样本对象在该初始样本图像上的位置。服务器对该初始样本图像的位置图像进行卷积,得到该参考密度图像。
[0128]
其中,该初始样本图像的标注信息包括该样本对象在该初始样本图像上的位置,在一些实施例中,样本对象在该初始样本图像上的位置通过该样本对象在该初始样本图像上的坐标来表示。
[0129]
举例来说,服务器基于该初始样本图像的标注信息,对该初始样本图像进行二值化,得到该初始样本图像的位置图像,其中,二值化的目的是,将该初始样本图像中,对应于样本对象的像素点赋予第一数值作为像素值;不对应于样本对象的像素点赋予第二数值作为像素值,这样得到的位置图像就能够通过像素点的数值来表示样本对象在该初始样本图像上的实际分布情况。服务器对该位置图像进行卷积,得到该初始样本图像的参考密度图像。
[0130]
比如,服务器基于该初始样本图像的标注信息,基于下述公式(2)对该初始样本图像进行二值化,得到该初始样本图像的位置图像。
[0131][0132]
其中,为该位置图像上像素点的像素值,p为初始样本图像i上的像素点的坐标,ci为该初始样本图像i的标注信息。
[0133]
服务器通过下述公式(3),采用高斯核对该位置图像进行卷积,得到该初始样本图像的参考密度图像。
[0134][0135]
其中,di为初始样本图像i的参考密度图像,fi为初始样本图像i的位置图像,为卷积操作,g
σ
为高斯核。
[0136]
需要说明的是,上述是对服务器获取一个初始样本图像的参考密度图像为例进行说明的,服务器获取其他初始样本图像的方法与获取该初始样本图像的参考密度图像的方法属于同一发明构思,实现过程不再赘述。比如,样本图像集为x
train
={x1,x2,...xn},那么服务器能够得到参考密度图像集d
train
={d1,d2,...dn},在训练该对象计数模型时,该参考密度图像集d
train
可以用于计算模型损失。
[0137]
在介绍完服务器生成该参考密度图像的方法之后,下面对上述步骤304进行说明。
[0138]
在一种可能的实施方式中,服务器将该初始样本图像的预测密度图像与参考密度
图像之间的差异信息代入目标损失函数,采用梯度下降法来对该对象计数模型的模型参数进行调整,从而完成对该对象计数模型的第一轮训练。
[0139]
上述所有可选技术方案,可以采用任意结合形成本技术的可选实施例,在此不再一一赘述。
[0140]
上述步骤301-304是对第一轮模型训练进行的说明,下面通过步骤501-505是对其他轮模型训练进行说明,参见图5,还是以执行主体为服务器为例,方法包括下述步骤。
[0141]
501、服务器将第一样本图像输入对象计数模型,该第一样本图像为上一轮模型训练时使用的样本图像,该第一样本图像包括多个样本对象以及包围该样本对象的至少一个参考边界框。
[0142]
其中,第一样本图像为上述步骤301-304中的初始样本图像,或者为基于该初始样本图像对该对象计数模型进行多轮模型训练得到的样本图像,本技术实施例对此不做限定。在该第一样本图像为上述步骤301-304中的初始样本图像的情况下,该第一样本图像上的参考边界框为该初始样本图像的参考边界框,也即是在该初始样本图像上标注的边界框。在该第一样本图像为基于该初始样本图像对该对象计数模型进行多轮模型训练得到的样本图像,那么该第一样本图像的参考边界框既包括该初始样本图像的参考边界框,还包括在模型训练过程中得到的预测边界框,预测边界框的生成方法参见下述步骤502相关说明。
[0143]
为了便于理解,在下述说明过程中,以该第一样本图像为上述步骤301-304中的初始样本图像为例进行说明。
[0144]
502、服务器通过该对象计数模型,基于该第一样本图像生成第二样本图像,该第二样本图像包括该至少一个参考边界框以及至少一个预测边界框,该预测边界框包围的区域为存在该样本对象的置信度符合第一置信度条件的区域。
[0145]
其中,置信度符合第一置信度条件是指,置信度大于或等于第一置信度阈值,或者是指,置信度为相互重合的两个边界框中置信度较大的边界框,其中,判定两个边界框是否重合是基于两个边界框的重合度确定的,在一些实施例中,在两个边界框的重合度大于或等于重合度阈值的情况下,确定这两个边界框重合;在这两个边界框的重合度小于重合度阈值的情况下,确定这两个边界框不重合,其中,该重合度阈值由技术人员根据实际情况进行设置,本技术实施例对此不做限定。
[0146]
在一种可能的实施方式中,服务器通过该对象计数模型,对该第一样本图像进行处理,得到该第一样本图像的预测密度图像,该第一样本图像的预测密度图像用于表示该第一样本图像中该样本对象的预测分布情况。服务器通过该对象计数模型,基于该第一样本图像的预测密度图像,生成该第二样本图像。
[0147]
其中,在该第一样本图像为上述步骤301-304中的初始样本图像的情况下,该第一样本图像的预测密度图像与上述步骤301-304中初始样本图像的预测密度图像也可能是不同的,这是由于通过上述步骤301-304,已经对该对象计数模型进行了一轮模型训练,该对象计数模型的模型参数已经进行了变化,即使在该第一样本图像为该初始样本图像的情况下,得到的预测密度图像也可能是不同的。在一些实施例中,为了对该对象计数模型进行区分,可以将上述步骤301-304中的对象计数模型称为第一对象计数模型,将步骤501-505中的对象计数模型称为第二对象计数模型,第一对象计数模型和第二对象计数模型具有相同
的模型结构,是基于初始样本图像在不同模型训练轮次后得到的对象计数模型。
[0148]
为了对上述实施方式进行更加清楚的说明,下面将分为两个部分对上述实施方式进行说明。
[0149]
第一部分、服务器通过该对象计数模型,对该第一样本图像进行处理,得到该第一样本图像的预测密度图像。
[0150]
在一种可能的实施方式中,服务器通过该对象计数模型,对该第一样本图像进行特征提取,得到该第一样本图像的第一特征图。服务器通过该对象计数模型,基于该第一特征图上的第一目标特征区域与其他特征区域之间的相似度,生成该第一样本图像的预测密度图像,该第一目标特征区域为该参考边界框所在的区域。
[0151]
为了对上述实施方式进行更加清楚的说明,下面将再分为两个部分对上述实施方式进行说明。
[0152]
a、服务器通过该对象计数模型,对该第一样本图像进行特征提取,得到该第一样本图像的第一特征图。
[0153]
在一种可能的实施方式中,服务器通过该对象计数模型的卷积层对该第一样本图像进行卷积,得到该第一样本图像的特征图。
[0154]
在这种实施方式下,服务器能够通过对象计数模型的卷积层来对该第一样本图像进行特征提取,由于卷积运算的速度较快,采用这种方式来获取该第一样本图像的特征图的效率较高。
[0155]
举例来说,该对象计数模型包括特征提取单元,服务器将该第一样本图像输入该对象计数模型的特征提取单元。服务器通过该特征提取单元的卷积层对该第一样本图像进行卷积,也即是采用该特征提取单元的卷积层上的卷积核在该第一样本图像中进行滑动,卷积核在滑动过程中与该第一样本图像中被该卷积核覆盖的区域进行卷积,得到该第一样本图像的特征图,其中,该特征提取单元的卷积层上卷积核的数量为一个或者多个,本技术实施例对此不做限定。在该第一样本图像包括多个颜色通道的情况下,该特征提取单元的卷积层上卷积核的数量也为多个,多个卷积核用于对该第一样本图像的多个颜色通道进行特征提取,得到该各个颜色通道的颜色特征图。服务器通过该特征提取单元,将多个颜色通道的颜色特征图进行融合,得到该第一样本图像的特征图,在一些实施例中,服务器通过该特征提取单元,将多个颜色通道的颜色特征图进行融合,得到该第一样本图像的特征图时,可以采用加权求和的方式来进行。在一些实施例中,该特征提取单元为基于卷积神经网络(convolutional neural networks,cnn)的特征提取器。
[0156]
在一种可能的实施方式中,服务器通过该对象计数模型,基于注意力机制对该第一样本图像进行编码,得到该第一样本图像的特征图。
[0157]
在这种实施方式下,服务器能够通过该对象计数模型,基于注意力机制来进行特征提取,注意力机制的引入使得对象计数模型能够关注于该第一样本图像中重要程度较高的区域,得到的特征图更够较为准确地反映该第一样本图像的特征。
[0158]
举例来说,该对象计数模型包括特征提取单元,服务器将该第一样本图像输入该对象计数模型的特征提取单元。服务器通过该特征提取单元,基于注意力机制对该第一样本图像的多个部分进行编码,得到该第一样本图像的特征图。比如,服务器将该第一样本图像输入该特征提取单元,通过该特征提取单元,对该第一样本图像的多个部分进行嵌入编
码,得到多个嵌入向量,一个嵌入向量对应于该第一样本图像的一个部分,嵌入向量用于表示各个部分在该第一样本图像中的位置以及各个部分的内容。服务器将多个嵌入向量输入特征提取单元,通过特征提取单元的三个线性变换矩阵,对多个嵌入向量进行线性变换,得到该第一样本图像的每个部分对应的查询(query)向量、键(key)向量以及值(value)向量。服务器通过特征提取单元,基于该第一样本图像的多个部分对应的查询向量以及键向量,获取第一样本图像的多个部分的注意力权重。服务器通过特征提取单元,基于该第一样本图像的各个部分的注意力权重和该第一样本图像的各个部分的值向量,获取该第一样本图像的各个部分的注意力编码向量。将该第一样本图像的各个部分的注意力编码向量按照各个部分在第一样本图像中的位置进行组合,得到该第一样本图像的特征图。
[0159]
在一种可能的实施方式中,服务器通过该对象计数模型的全连接层对该第一样本图像进行全连接,得到该第一样本图像的特征图。在这种实施方式下,服务器通过该对象计数模型对该第一样本图像进行全连接就能够得到该第一样本图像的特征图,全连接能够从整体上提取该第一样本图像的特征,得到的特征图也就能够从整体上反映该第一样本图像的特征。
[0160]
举例来说,该对象计数模型包括特征提取单元,服务器将该第一样本图像输入该对象计数模型的特征提取单元。服务器通过该特征提取单元的全连接层对该第一样本图像进行全连接,得到该第一样本图像的特征图。在一些实施例中,该特征提取模型为基于深度神经网络(deep neural networks,dnn)的特征提取器。
[0161]
需要说明的是,服务器能够通过上述任一种方式来获取该第一样本图像的特征图,或者采用vit(vision transformer,视觉转换器)以及其他传统图像特征提取器来对第一样本图像进行特征提取,当然,随着科学技术的发展,服务器还能够采用其他方式来获取特征图,本技术实施例对此不做限定。
[0162]
b、服务器通过该对象计数模型,基于该第一特征图上的第一目标特征区域与其他特征区域之间的相似度,生成该第一样本图像的预测密度图像。
[0163]
其中,该第一样本图像的特征图的尺寸与该第一样本图像相同,第一目标特征区域与其他特征区域之间的相似度也就表示其他特征区域存在样本对象的置信度。
[0164]
在一种可能的实施方式中,服务器通过该对象计数模型,从该第一样本图像的特征图中获取目标子特征图,该目标子特征图为该第一样本图像的特征图上该第一目标特征区域对应的部分,也即是该第一样本图像上参考边界框对应的部分。服务器通过该对象计数模型,基于该目标子特征图,确定该第一目标特征区域与其他特征区域之间的相似度。比如,服务器通过该对象计数模型,采用该目标子特征图在该第一样本图像的特征图上进行滑动,确定该第一目标特征区域与其他特征区域之间的相似度,其他特征区域也即是该目标子特征图在滑动过程中覆盖的区域。服务器基于该第一目标特征区域与其他特征区域之间的相似度,生成该第一样本图像的密度图预测特征。服务器通过该对象计数模型,对该第一样本图像的密度图预测特征进行卷积,得到该第一样本图像的预测密度图像。其中,确定该第一目标特征区域与其他特征区域之间的相似度时,也即是对该第一目标特征区域与其他特征区域进行相关性运算,以得到该第一目标特征区域与其他特征区域之间的相似度,比如,服务器将该第一目标特征区域与其他特征区域通过合并连接的方式来进行相关性运算。
[0165]
举例来说,该对象计数模型包括局部特征获取单元、匹配单元以及密度图生成单元。服务器通过该对象计数模型,从该第一样本图像的特征图中获取初始子特征图,该初始子特征图为该第一样本图像的特征图上该初始特征区域对应的部分,也即是该第一样本图像上参考边界框对应的部分。服务器通过该局部特征获取单元,对该初始子特征图进行池化,得到目标尺寸的目标子特征图,其中,对该初始子特征图进行池化的目的是将该初始子特征图调整到该目标尺寸,该目标尺寸由技术人员根据实际情况进行设置,本技术实施例对此不做限定。服务器将该目标子特征图和该第一样本图像的特征图输入匹配单元,通过该匹配单元确定该第一目标特征区域与其他特征区域之间的相似度,也即是控制该目标子特征图在该第一样本图像的特征图上进行滑动,确定该第一目标特征区域与其他特征区域之间的相似度,输出该第一样本图像的密度图预测特征,该密度图预测特征为一个张量。服务器将该第一样本图像的密度图预测特征输入该密度图生成单元,通过该密度图生成单元的卷积层对该第一样本图像的密度图预测特征进行卷积,输出该第一样本图像的预测密度图像。
[0166]
在一些实施例中,上述获取第一样本图像的预测密度图像的过程可以通过下述公式(4)来表示。
[0167][0168]
其中,为该第一样本图像的预测密度图像,m1为本次模型训练时的对象计数模型,x
train
为样本图像集,为本次模型训练时的参考边界框集,在该第一样本图像为初始样本图像的情况下,为第一次模型训练时的参考边界框集。
[0169]
第二部分、服务器通过该对象计数模型,基于该第一样本图像的预测密度图像,生成该第二样本图像。
[0170]
其中,置信度符合第二置信度条件是指,置信度大于或等于第二置信度阈值,该第二置信度阈值由技术人员根据实际情况进行设置,比如设置为0.8或者0.85等,本技术实施例对此不做限定。
[0171]
在一种可能的实施方式中,服务器通过该对象计数模型,对该第一样本图像的预测密度图像进行均值滤波,得到第一滤波图像。服务器通过该对象计数模型,对该第一滤波图像进行局部最大值提取,得到该第一滤波图像中的至少一个候选位置,该候选位置为存在该样本对象的置信度符合第二置信度条件的位置。服务器通过该对象计数模型,基于该第一滤波图像中的至少一个候选位置和该至少一个参考边界框,生成该第二样本图像。在一些实施例中,候选位置的置信度小于目标数值,比如0.9,目标数值由技术人员根据实际情况进行设置,本技术实施例对此不做限定。相应地,在本技术实施例中,初始样本图像中参考边界框的置信度为1.0,而候选位置的置信度小于目标数值,目的是保证经过非极大值抑制之后,初始样本图像中参考边界框一定能够得到保留。在一些实施例中,上述两个值可以替换为其他值,只需保证参考边界框的置信度值比候选位置的置信度最大值更高即可。
[0172]
在这种实施方式下,服务器通过均值滤波以及局部最大值提取等方式来确定候选位置,能够提高确定出的候选位置的准确性,该候选位置也即是可能存在该样本对象的位置。
[0173]
举例来说,服务器通过该对象计数模型,基于该第一样本图像的预测密度图像中多个像素点的平均像素值,对该第一样本图像的预测密度图像中多个像素点的像素值进行均值滤波,也即是将第一样本图像的预测密度图像中多个像素点的像素值减去该多个像素点的平均像素值,从而过滤掉该第一样本图像的预测密度图像中一些噪声,得到该第一滤波图像。服务器通过该对象计数模型,将该第一滤波图像划分为多个区域,在一些实施例中,该多个区域没有重合部分,其中,该多个区域的数量由技术人员根据实际情况进行设置,本技术实施例对此不做限定,该第一滤波图像上的每个区域可以视作该第一滤波图像的一个“局部”。服务器在该多个区域进行局部最大值提取来确定候选位置,也即是将每个区域中像素值最大的像素点确定为一个候选位置,通过多个区域得到该至少一个候选位置。服务器通过该对象计数模型,基于该至少一个候选位置,在该第一滤波图像中生成至少一个候选边界框,该候选边界框的尺寸与该至少一个参考边界框的尺寸正相关。服务器通过该对象计数模型,将该至少一个候选边界框进行融合,得到该至少一个预测边界框。服务器通过该对象计数模型,将该至少一个预测边界框合成至该第一样本图像,得到该第二样本图像。
[0174]
其中,该候选边界框的尺寸与该至少一个参考边界框的尺寸正相关包括两种情况,第一种是在仅存在一个参考边界框的情况下,该候选边界框的尺寸与该参考边界框的尺寸相同,也即是该参考边界框的尺寸越大,那么该候选边界框的尺寸也就越大。第二种是在存在多个(大于一个)参考边界框的情况下,该候选边界框的尺寸与该多个参考边界框的平均尺寸正相关,也即是该多个参考边界框的平均尺寸越大,则该候选边界框的尺寸越大。在基于候选位置生成候选边界框时,是以该候选位置为中心生成的,候选边界框的中心为对应的候选位置。将预测边界框合成至该第一样本图像是指,在该第一样本图像上添加该预测边界框,或者将该预测边界框的位置信息与该第一样本图像进行绑定存储。
[0175]
比如,服务器通过下述公式(5)来基于该第一样本图像的预测密度图像中多个像素点的平均像素值,对该第一样本图像的预测密度图像中多个像素点的像素值进行均值滤波,得到该第一滤波图像。服务器通过该对象计数模型,将该第一滤波图像划分为多个区域,在该多个区域进行局部最大值提取来确定候选位置的集合。服务器将该至少一个候选边界框和该至少一个参考边界框进行拼接,得到拼接边界框集,这一过程参见公式(6),拼接过程为求并集的过程,也即是融合该至少一个参考边界框的过程。服务器在该拼接边界框集中进行非极大值抑制,得到至少一个预测边界框,这一过程参见公式(7)。
[0176][0177]
其中,为第一样本图像i的预测密度图像中像素点的像素值,为第一样本图像i的第一滤波图像中像素点的像素值,mean()为求均值的函数。
[0178][0179]
其中,为本次模型训练得到的拼接边界框集,为本次模型训练时的候选边界框集,为本次模型训练时的参考边界框集,union()为求并集的函数。
[0180]
[0181]
其中,为预测边界框集,nms()为非极大值抑制的函数,其中,非极大值抑制的原理是比较两个相互重叠的边界框的置信度,在这两个边界框的重合度符合目标重合度条件的情况下,将置信度低的边界框删除,其中,边界框的置信度也即是边界框对应的候选位置的置信度,重合度符合目标重合度是指重合度大于或等于重合度阈值,该重合度阈值由技术人员根据实际情况进行设置,本技术实施例对此不做限定,需要说明的是,初始样本图像中参考边界框的置信度为1。
[0182]
503、服务器将该第二样本图像输入该对象计数模型,通过该对象计数模型,基于该第二样本图像生成该第二样本图像的预测密度图像,该第二样本图像的预测密度图像用于表示该第二样本图像中该样本对象的预测分布情况。
[0183]
在一种可能的实施方式中,服务器将该第二样本图像输入该对象计数模型,通过该对象计数模型,对该第二样本图像进行特征提取,得到该第二样本图像的第二特征图。服务器通过该对象计数模型,基于该第二特征图上的第二目标特征区域与其他特征区域之间的相似度,生成该第二样本图像的预测密度图像,该第二目标特征区域为该参考边界框和该预测边界框所在的区域。
[0184]
为了对上述实施方式进行更加清楚的说明,下面将分为两个部分对上述实施方式进行说明。
[0185]
第一部分、服务器通过该对象计数模型,对该第二样本图像进行特征提取,得到该第二样本图像的第一特征图。
[0186]
在一种可能的实施方式中,服务器通过该对象计数模型的卷积层对该第二样本图像进行卷积,得到该第二样本图像的特征图。
[0187]
在这种实施方式下,服务器能够通过对象计数模型的卷积层来对该第二样本图像进行特征提取,由于卷积运算的速度较快,采用这种方式来获取该第二样本图像的特征图的效率较高。
[0188]
举例来说,该对象计数模型包括特征提取单元,服务器将该第二样本图像输入该对象计数模型的特征提取单元。服务器通过该特征提取单元的卷积层对该第二样本图像进行卷积,也即是采用该特征提取单元的卷积层上的卷积核在该第二样本图像中进行滑动,卷积核在滑动过程中与该第二样本图像中被该卷积核覆盖的区域进行卷积,得到该第二样本图像的特征图,其中,该特征提取单元的卷积层上卷积核的数量为一个或者多个,本技术实施例对此不做限定。在该第二样本图像包括多个颜色通道的情况下,该特征提取单元的卷积层上卷积核的数量也为多个,多个卷积核用于对该第二样本图像的多个颜色通道进行特征提取,得到该各个颜色通道的颜色特征图。服务器通过该特征提取单元,将多个颜色通道的颜色特征图进行融合,得到该第二样本图像的特征图,在一些实施例中,服务器通过该特征提取单元,将多个颜色通道的颜色特征图进行融合,得到该第二样本图像的特征图时,可以采用加权求和的方式来进行。在一些实施例中,该特征提取单元为基于卷积神经网络(convolutional neural networks,cnn)的特征提取器。
[0189]
在一种可能的实施方式中,服务器通过该对象计数模型,基于注意力机制对该第二样本图像进行编码,得到该第二样本图像的特征图。
[0190]
在这种实施方式下,服务器能够通过该对象计数模型,基于注意力机制来进行特征提取,注意力机制的引入使得对象计数模型能够关注于该第二样本图像中重要程度较高
的区域,得到的特征图更够较为准确地反映该第二样本图像的特征。
[0191]
举例来说,该对象计数模型包括特征提取单元,服务器将该第二样本图像输入该对象计数模型的特征提取单元。服务器通过该特征提取单元,基于注意力机制对该第二样本图像的多个部分进行编码,得到该第二样本图像的特征图。比如,服务器将该第二样本图像输入该特征提取单元,通过该特征提取单元,对该第二样本图像的多个部分进行嵌入编码,得到多个嵌入向量,一个嵌入向量对应于该第二样本图像的一个部分,嵌入向量用于表示各个部分在该第二样本图像中的位置以及各个部分的内容。服务器将多个嵌入向量输入特征提取单元,通过特征提取单元的三个线性变换矩阵,对多个嵌入向量进行线性变换,得到该第二样本图像的每个部分对应的查询(query)向量、键(key)向量以及值(value)向量。服务器通过特征提取单元,基于该第二样本图像的多个部分对应的查询向量以及键向量,获取第二样本图像的多个部分的注意力权重。服务器通过特征提取单元,基于该第二样本图像的各个部分的注意力权重和该第二样本图像的各个部分的值向量,获取该第二样本图像的各个部分的注意力编码向量。将该第二样本图像的各个部分的注意力编码向量按照各个部分在第二样本图像中的位置进行组合,得到该第二样本图像的特征图。
[0192]
在一种可能的实施方式中,服务器通过该对象计数模型的全连接层对该第二样本图像进行全连接,得到该第二样本图像的特征图。在这种实施方式下,服务器通过该对象计数模型对该第二样本图像进行全连接就能够得到该第二样本图像的特征图,全连接能够从整体上提取该第二样本图像的特征,得到的特征图也就能够从整体上反映该第二样本图像的特征。
[0193]
举例来说,该对象计数模型包括特征提取单元,服务器将该第二样本图像输入该对象计数模型的特征提取单元。服务器通过该特征提取单元的全连接层对该第二样本图像进行全连接,得到该第二样本图像的特征图。在一些实施例中,该特征提取模型为基于深度神经网络(deep neural networks,dnn)的特征提取器。
[0194]
需要说明的是,服务器能够通过上述任一种方式来获取该第二样本图像的特征图,或者采用vit(vision transformer,视觉转换器)以及其他传统图像特征提取器来对第二样本图像进行特征提取,当然,随着科学技术的发展,服务器还能够采用其他方式来获取特征图,本技术实施例对此不做限定。
[0195]
第二部分、服务器通过该对象计数模型,基于该第一特征图上的第一目标特征区域与其他特征区域之间的相似度,生成该第二样本图像的预测密度图像。
[0196]
其中,该第二样本图像的特征图的尺寸与该第二样本图像相同,第一目标特征区域与其他特征区域之间的相似度也就表示其他特征区域存在样本对象的置信度。
[0197]
在一种可能的实施方式中,服务器通过该对象计数模型,从该第二样本图像的特征图中获取目标子特征图,该目标子特征图为该第二样本图像的特征图上该第一目标特征区域对应的部分,也即是该第二样本图像上参考边界框对应的部分。服务器通过该对象计数模型,基于该目标子特征图,确定该第一目标特征区域与其他特征区域之间的相似度。比如,服务器通过该对象计数模型,采用该目标子特征图在该第二样本图像的特征图上进行滑动,确定该第一目标特征区域与其他特征区域之间的相似度,其他特征区域也即是该目标子特征图在滑动过程中覆盖的区域。服务器基于该第一目标特征区域与其他特征区域之间的相似度,生成该第二样本图像的密度图预测特征。服务器通过该对象计数模型,对该第
二样本图像的密度图预测特征进行卷积,得到该第二样本图像的预测密度图像。其中,确定该第一目标特征区域与其他特征区域之间的相似度时,也即是对该第一目标特征区域与其他特征区域进行相关性运算,以得到该第一目标特征区域与其他特征区域之间的相似度,比如,服务器将该第一目标特征区域与其他特征区域通过合并连接的方式来进行相关性运算。
[0198]
举例来说,该对象计数模型包括局部特征获取单元、匹配单元以及密度图生成单元。服务器通过该对象计数模型,从该第二样本图像的特征图中获取初始子特征图,该初始子特征图为该第二样本图像的特征图上该初始特征区域对应的部分,也即是该第二样本图像上参考边界框对应的部分。服务器通过该局部特征获取单元,对该初始子特征图进行池化,得到目标尺寸的目标子特征图,其中,对该初始子特征图进行池化的目的是将该初始子特征图调整到该目标尺寸,该目标尺寸由技术人员根据实际情况进行设置,本技术实施例对此不做限定。服务器将该目标子特征图和该第二样本图像的特征图输入匹配单元,通过该匹配单元确定该第一目标特征区域与其他特征区域之间的相似度,也即是控制该目标子特征图在该第二样本图像的特征图上进行滑动,确定该第一目标特征区域与其他特征区域之间的相似度,输出该第二样本图像的密度图预测特征,该密度图预测特征为一个张量。服务器将该第二样本图像的密度图预测特征输入该密度图生成单元,通过该密度图生成单元的卷积层对该第二样本图像的密度图预测特征进行卷积,输出该第二样本图像的预测密度图像。
[0199]
504、服务器基于该第二样本图像的预测密度图像与参考密度图像之间的第一差异信息,对该对象计数模型进行训练,该参考密度图像用于表示该第二样本图像中该样本对象的实际分布情况。
[0200]
在一种可能的实施方式中,服务器将该第二样本图像的预测密度图像与参考密度图像之间的差异信息带入目标损失函数,采用梯度下降法来对该对象计数模型的模型参数进行调整,从而完成对该对象计数模型的一轮训练。
[0201]
下面将结合图6、上述步骤301-304以及501-504,对本技术实施例提供的技术方案进行说明。
[0202]
参见图6,服务器获取初始样本图像601,该初始样本图像601包括至少一个参考边界框6011,该初始样本图像601属于样本图像集602。服务器将该初始样本图像601输入对象计数模型603,由该对象计数模型603输出该初始样本图像601的预测密度图像604。服务器对该初始样本图像601的预测密度图像604进行均值滤波以及局部最大值提取,生成至少一个候选边界框。对至少一个候选边界框进行非极大值抑制,得到至少一个预测边界框。将该至少一个预测边界框605合成至样本图像606上,该样本图像606也即是下一轮模型训练时使用的样本图像。
[0203]
可选地,在步骤504之后,服务器还能够通过下述步骤505来调整该对象计数模型的超参数。
[0204]
505、服务器基于验证图像调整该对象计数模型的超参数。
[0205]
其中,该对象计数模型的超参数包括该对象计数模型的学习率、模型参数、模型节点数量以及模型迭代次数等,超参数会影响该对象计数模型的训练效果。
[0206]
在一种可能的实施方式中,服务器将验证图像输入该对象计数模型,该验证图像
包括多个验证对象以及包围该验证对象的至少一个验证边界框。服务器通过该对象计数模型对该验证图像进行处理,得到该验证图像的密度图像。服务器通过该对象计数模型,基于该验证图像的密度图像进行多轮迭代,输出该验证图像中该验证对象的预测数量。服务器基于该验证图像中该验证对象的预测数量与该验证图像中该验证对象的实际数量之间的第二差异信息,对训练该对象计数模型的超参数进行调整。
[0207]
在一些实施例中,基于第二差异信息,对训练该对象计数模型的超参数进行调整时,可以基于网格搜索或者随机搜索的方式来进行,其中,网格搜索是采用不同超参数组合来训练对象计数模型,根据第二差异信息从多个超参数组中选择合适的超参数。随机搜索是指随机生成超参数组,并基于第二差异信息来选择最佳的超参数组。或者,技术人员也能够根据经验来对超参数进行调整,本技术实施例对此不做限定。
[0208]
需要说明的是,上述步骤501-505是对该对象计数模型进行一轮模型训练为例进行说明的,在训练该对象计数模型时,往往需要通过k轮训练,其中,上述步骤301-304是第一轮训练,步骤501-505是第k轮训练,1<k≤k,k和k均为正整数,k由技术人员根据实际情况进行设置,本技术实施例对此不做限定。
[0209]
将上述步骤301-304提供的技术方案总结如下:在首轮时,利用已有的初始样本图像、真实标注的样本对象和真实标注的参考边界框进行对象计数模型的训练,并利用训好的对象计数模型进行推理,从而进行边界框的挖掘扩张,得到包括预测边界框的样本图像,并将包括预测边界框的样本图像作为下一轮的补充输入。
[0210]
将上述步骤501-505提供的技术方案总结如下:在其他轮时,利用真实标注的样本对象和上轮得到的预测边界框,迭代进行对象计数模型的训练和推理。通过这种迭代训练-推理的方式,提升该对象计数模型的最终性能。
[0211]
可选地,对该对象计数模型进行k轮训练之后,服务器还能够通过测试图像来对该对象计数模型的效果进行验证,方法如下:
[0212]
在一种可能的实施方式中,服务器将测试图像输入该对象计数模型,该测试图像包括多个测试对象以及包围该测试对象的至少一个测试边界框。服务器通过该对象计数模型对该测试图像进行处理,得到该测试图像的密度图像。服务器通过该对象计数模型,基于该测试图像的密度图像进行多轮迭代,输出该测试图像中该测试对象的预测数量。需要说明的是,基于测试图像对该对象计数模型进行测试时,无需更新该对象计数模型的网络参数。
[0213]
在一些实施例中,测试对象与样本对象为不同类型的对象。也就是说,测试阶段进行计数的测试对象是全新类型的对象,即对象计数模型在训练阶段完全没有学习过的对象。
[0214]
举例来说,服务器将测试图像输入该对象计数模型。服务器通过该对象计数模型,对该测试图像进行特征提取,得到该测试图像的特征图。服务器通过该对象计数模型,通过多轮迭代过程,生成该测试图像的预测密度图像集。服务器通过该对象计数模型,基于该测试图像的预测密度图像集,输出测试图像中测试对象的数量。
[0215]
比如,服务器通过下述公式(8)来生成该测试图像的预测密度图像集,通过下述公式(9)来得到测试对象的数量。
[0216][0217]
其中,为该测试图像的预测密度图像,mk为通过k轮训练得到的对象计数模型,x
test
为测试图像集,为第k轮迭代得到的参考边界框集。
[0218][0219]
其中,为测试对象的数量,sum()为求和操作,求和的过程是将对应的每个元素的数值相加。
[0220]
在一些实施例中,服务器可以只在首轮在样本图像上进行对象计数模型的训练(步骤301-304),而在接下来的迭代中仅在测试图像上进行迭代,从而提升测试图像上的计数性能。
[0221]
下面将结合图7以及上述各个可选地实施方式,对本技术实施例提供的技术方案进行说明。
[0222]
参见图7,方法包括训练和测试两个部分,在训练过程中,输入对象计数模型701的数据包括样本图像702、样本图像中样本对象的位置703以及样本图像中参考边界框的位置704。在测试过程中,输入训练完成的对象计数模型705的数据包括测试图像706以及测试图像中参考边界框的位置707,训练完成的对象计数模型705输出计数结果,也即是测试图像中测试对象的数量。
[0223]
上述所有可选技术方案,可以采用任意结合形成本技术的可选实施例,在此不再一一赘述。
[0224]
在实验过程中,在小样本计数-147(few-shot counting-147,fsc-147)数据集上对本技术实施例提供的技术方案进行验证。实验时,本技术实施例提供的技术方案设定了极端的小样本计数条件,即在样本图像和测试图像上都只给定一个参考边界框(相比之下,原始的fsc-147数据集在样本图像和测试图像上都给定了三个参考边界框),其他条件则与fsc-147数据集中的任务设定条件相同。经过实验测试发现,通过本技术实施例提供的技术方案可以在只给定一个参考边界框的条件下,取得与未使用本技术实施例提供的技术方案,且给定了三个参考边界框几乎相当的计数mae(mean absolute error,平均绝对误差)指标。由此可见,本技术实施例提供的技术方案能够有效地解决极端小样本计数(本实验中指仅给定一个参考边界框)的问题,能够一定程度上进一步降低小样本计数任务中的参考边界框标注成本。
[0225]
通过本技术实施例提供的技术方案,在对该对象计数模型进行训练时,对上一轮模型训练时使用的第一样本图像进行处理,得到第二样本图像,这个过程相当于是对第一样本图像上的信息进行进一步挖掘,得到的第二样本图像既包括第一样本图像上的参考边界框,也包括挖掘得到的预测边界框。将第二样本图像输入对象计数模型,通过对象计数模型对该第二样本图像进行处理,得到该第二样本图像的预测密度图像,后续基于第二样本图像的预测密度图像和参考密度图像之间的第一差异信息对该对象计数模型进行训练,这个过程也即是采用对第一样本图像进一步挖掘得到的第二样本图像来对该对象计数模型进行训练,训练过程不完全依赖于标注,通过自挖掘的形式能够扩展已有标注(参考边界
框),从而使得对象计数模型学习到多个对象的特征,提高该对象计数模型最终的计数效果。
[0226]
通过申请实施例提供的技术方案,基于给定的极少数目标对象的边界框,能够进行其他更多对象的自动预测和补充,从而实现对象特征的自动挖掘和扩张,获取更多的关于对象的特征信息,最终实现更为准确的总数量预测。
[0227]
本技术实施例还提供了一种使用该对象计数模型进行计数的技术方案,参见图8,以执行主体为服务器为例,方法包括下述步骤。
[0228]
801、服务器将目标图像输入该对象计数模型,该目标图像包括多个目标对象以及包围该目标对象的至少一个目标边界框。
[0229]
其中,步骤801中的对象计数模型为训练完成的对象计数模型,比如为经过上述k轮迭代训练得到的对象计数模型。
[0230]
在一些实施例中,目标对象与样本对象为不同类型的对象。在一些实施例中,目标对象与样本对象为不同类型的对象。也就是说,使用阶段进行计数的目标对象是全新类型的对象,亦对象计数模型在训练阶段完全没有学习过的对象。因此,对于在该任务定义下训练完成的对象计数模型来说,其可以在各种有全新类别的图像上在仅需给定若干所需类别的目标对象的目标边界框的条件下,即进行该类别所有目标对象总个数的预测,具有很广泛的实际应用价值。
[0231]
在一些实施例中,目标图像也被称为查询图像(query image)。
[0232]
802、服务器通过该对象计数模型对该目标图像进行处理,得到该目标图像的密度图像。
[0233]
其中,服务器获取该目标图像的密度图像的方法与上述步骤303中获取初始样本图像的密度图像的方法属于同一发明构思,实现过程参见上述步骤303的相关描述,在此不再赘述。
[0234]
803、服务器通过该对象计数模型,基于该目标图像的密度图像进行多轮迭代,输出该目标图像中该目标对象的预测数量。
[0235]
在一种可能的实施方式中,服务器通过该对象计数模型,通过多轮迭代过程,生成该目标图像的预测密度图像集。服务器通过该对象计数模型,基于该目标图像的预测密度图像集,输出目标图像中目标对象的数量。
[0236]
通过上述步骤801-803,服务器能够通过该对象计数模型输出图像中对象的数量,效率较高。
[0237]
图9是本技术实施例提供的一种对象计数模型的训练装置的结构示意图,参见图9,装置包括:输入模块901、样本图像生成模块902、密度图像生成模块903以及训练模块904。
[0238]
输入模块901,用于将第一样本图像输入对象计数模型,该第一样本图像为上一轮模型训练时使用的样本图像,该第一样本图像包括多个样本对象以及包围该样本对象的至少一个参考边界框。
[0239]
样本图像生成模块902,用于通过该对象计数模型,基于该第一样本图像生成第二样本图像,该第二样本图像包括该至少一个参考边界框以及至少一个预测边界框,该预测边界框包围的区域为存在该样本对象的置信度符合第一置信度条件的区域。
[0240]
密度图像生成模块903,用于将该第二样本图像输入该对象计数模型,通过该对象计数模型,基于该第二样本图像生成该第二样本图像的预测密度图像,该第二样本图像的预测密度图像用于表示该第二样本图像中该样本对象的预测分布情况。
[0241]
训练模块904,用于基于该第二样本图像的预测密度图像与参考密度图像之间的第一差异信息,对该对象计数模型进行训练,该参考密度图像用于表示该第二样本图像中该样本对象的实际分布情况。
[0242]
在一种可能的实施方式中,该样本图像生成模块902,用于对该第一样本图像进行处理,得到该第一样本图像的预测密度图像,该第一样本图像的预测密度图像用于表示该第一样本图像中该样本对象的预测分布情况。基于该第一样本图像的预测密度图像,生成该第二样本图像。
[0243]
在一种可能的实施方式中,该样本图像生成模块902,用于对该第一样本图像进行特征提取,得到该第一样本图像的第一特征图。基于该第一特征图上的第一目标特征区域与其他特征区域之间的相似度,生成该第一样本图像的预测密度图像,该第一目标特征区域为该参考边界框所在的区域。
[0244]
在一种可能的实施方式中,该样本图像生成模块902,用于对该第一样本图像的预测密度图像进行均值滤波,得到第一滤波图像。对该第一滤波图像进行局部最大值提取,得到该第一滤波图像中的至少一个候选位置,该候选位置为存在该样本对象的置信度符合第二置信度条件的位置。基于该第一滤波图像中的至少一个候选位置和该至少一个参考边界框,生成该第二样本图像。
[0245]
在一种可能的实施方式中,该样本图像生成模块902,用于基于该至少一个候选位置,在该第一滤波图像中生成至少一个候选边界框,该候选边界框的尺寸与该至少一个参考边界框的尺寸正相关。将该至少一个候选边界框进行融合,得到该至少一个预测边界框。将该至少一个预测边界框合成至该第一样本图像,得到该第二样本图像。
[0246]
在一种可能的实施方式中,该密度图像生成模块903,用于对该第二样本图像进行特征提取,得到该第二样本图像的第二特征图。基于该第二特征图上的第二目标特征区域与其他特征区域之间的相似度,生成该第二样本图像的预测密度图像,该第二目标特征区域为该参考边界框和该预测边界框所在的区域。
[0247]
在一种可能的实施方式中,该装置还包括:
[0248]
参考密度图像生成模块903,用于基于初始样本图像的标注信息,生成该初始样本图像的位置图像,该初始样本图像为第一轮模型训练时使用的样本图像,该标注信息包括该样本对象在该初始样本图像上的位置。对该初始样本图像的位置图像进行卷积,得到该参考密度图像。
[0249]
在一种可能的实施方式中,该装置还包括:
[0250]
超参数调整模块,用于将验证图像输入该对象计数模型,该验证图像包括多个验证对象以及包围该验证对象的至少一个验证边界框。通过该对象计数模型对该验证图像进行处理,得到该验证图像的密度图像。通过该对象计数模型,基于该验证图像的密度图像进行多轮迭代,输出该验证图像中该验证对象的预测数量。基于该验证图像中该验证对象的预测数量与该验证图像中该验证对象的实际数量之间的第二差异信息,对训练该对象计数模型的超参数进行调整。
[0251]
在一种可能的实施方式中,该装置还包括:
[0252]
计数模块,用于将目标图像输入该对象计数模型,该目标图像包括多个目标对象以及包围该目标对象的至少一个目标边界框。通过该对象计数模型对该目标图像进行处理,得到该目标图像的密度图像。通过该对象计数模型,基于该目标图像的密度图像进行多轮迭代,输出该目标图像中该目标对象的预测数量。
[0253]
需要说明的是:上述实施例提供的对象计数模型的训练装置在训练对象计数模型时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的对象计数模型的训练装置与对象计数模型的训练方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0254]
通过本技术实施例提供的技术方案,在对该对象计数模型进行训练时,对上一轮模型训练时使用的第一样本图像进行处理,得到第二样本图像,这个过程相当于是对第一样本图像上的信息进行进一步挖掘,得到的第二样本图像既包括第一样本图像上的参考边界框,也包括挖掘得到的预测边界框。将第二样本图像输入对象计数模型,通过对象计数模型对该第二样本图像进行处理,得到该第二样本图像的预测密度图像,后续基于第二样本图像的预测密度图像和参考密度图像之间的第一差异信息对该对象计数模型进行训练,这个过程也即是采用对第一样本图像进一步挖掘得到的第二样本图像来对该对象计数模型进行训练,训练过程不完全依赖于标注,通过自挖掘的形式能够扩展已有标注,从而使得对象计数模型学习到多个对象的特征,提高该对象计数模型最终的计数效果。
[0255]
本技术实施例提供了一种计算机设备,用于执行上述方法,该计算机设备可以实现为终端或者服务器,下面先对终端的结构进行介绍:
[0256]
图10是本技术实施例提供的一种终端的结构示意图。
[0257]
通常,终端1000包括有:一个或多个处理器1001和一个或多个存储器1002。
[0258]
处理器1001可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1001可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1001也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1001可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1001还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0259]
存储器1002可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1002还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1002中的非暂态的计算机可读存储介质用于存储至少一个计算机程序,该至少一个计算机程序用于被处理器1001所执行以实现本技术中方法实施例提供的对象计数模型的训练方法。
[0260]
在一些实施例中,终端1000还可选包括有:外围设备接口1003和至少一个外围设
备。处理器1001、存储器1002和外围设备接口1003之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1003相连。具体地,外围设备包括:射频电路1004、显示屏1005、摄像头组件1006、音频电路1007和电源1008中的至少一种。
[0261]
外围设备接口1003可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1001和存储器1002。在一些实施例中,处理器1001、存储器1002和外围设备接口1003被集成在同一芯片或电路板上;在一些其他实施例中,处理器1001、存储器1002和外围设备接口1003中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0262]
射频电路1004用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路1004通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1004将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1004包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。
[0263]
显示屏1005用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1005是触摸显示屏时,显示屏1005还具有采集在显示屏1005的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1001进行处理。此时,显示屏1005还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。
[0264]
摄像头组件1006用于采集图像或视频。可选地,摄像头组件1006包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。
[0265]
音频电路1007可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1001进行处理,或者输入至射频电路1004以实现语音通信。
[0266]
电源1008用于为终端1000中的各个组件进行供电。电源1008可以是交流电、直流电、一次性电池或可充电电池。
[0267]
在一些实施例中,终端1000还包括有一个或多个传感器1009。该一个或多个传感器1009包括但不限于:加速度传感器1100、陀螺仪传感器1011、压力传感器1012、光学传感器1013以及接近传感器1014。
[0268]
加速度传感器1100可以检测以终端1000建立的坐标系的三个坐标轴上的加速度大小。
[0269]
陀螺仪传感器1011可以终端1000的机体方向及转动角度,陀螺仪传感器1011可以与加速度传感器1100协同采集用户对终端1000的3d动作。
[0270]
压力传感器1012可以设置在终端1000的侧边框和/或显示屏1005的下层。当压力传感器1012设置在终端1000的侧边框时,可以检测用户对终端1000的握持信号,由处理器1001根据压力传感器1012采集的握持信号进行左右手识别或快捷操作。当压力传感器1012设置在显示屏1005的下层时,由处理器1001根据用户对显示屏1005的压力操作,实现对ui界面上的可操作性控件进行控制。
[0271]
光学传感器1013用于采集环境光强度。在一个实施例中,处理器1001可以根据光学传感器1013采集的环境光强度,控制显示屏1005的显示亮度。
[0272]
接近传感器1014用于采集用户与终端1000的正面之间的距离。
[0273]
本领域技术人员可以理解,图10中示出的结构并不构成对终端1000的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0274]
上述计算机设备还可以实现为服务器,下面对服务器的结构进行介绍:
[0275]
图11是本技术实施例提供的一种服务器的结构示意图,该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(central processing units,cpu)1101和一个或多个的存储器1102,其中,该一个或多个存储器1102中存储有至少一条计算机程序,该至少一条计算机程序由该一个或多个处理器1101加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器1100还可以包括其他用于实现设备功能的部件,在此不做赘述。
[0276]
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括计算机程序的存储器,上述计算机程序可由处理器执行以完成上述实施例中的对象计数模型的训练方法。例如,该计算机可读存储介质可以是只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、只读光盘(compact disc read-only memory,cd-rom)、磁带、软盘和光数据存储设备等。
[0277]
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括程序代码,该程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该程序代码,处理器执行该程序代码,使得该计算机设备执行上述对象计数模型的训练方法。
[0278]
在一些实施例中,本技术实施例所涉及的计算机程序可被部署在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链系统。
[0279]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0280]
上述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1