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

模型的训练方法、装置、设备、存储介质及图像检测方法与流程

2022-02-20 05:44:37 来源:中国专利 TAG:


1.本公开涉及人工智能领域,具体涉及计算机视觉和深度学习领域,可应用于智能机器人和自动驾驶场景下。


背景技术:

2.单目3d检测主要通过增设深度检测模块来增加网络对于输入图片的处理能力,从而提升3d检测的精度;或者,引入深度信息来增加网络对于空间距离的表征能力,进一步提高3d检测的精度。
3.相关技术中,主要依赖于额外的深度估计网络来提高最终的定位精度,这种复杂的网络对于计算资源的要求非常庞大,并且需要训练额外的网络,不方便部署到服务中去。


技术实现要素:

4.本公开提供了一种模型的训练方法、装置、设备、存储介质及图像检测方法。
5.根据本公开的一方面,提供了一种模型的训练方法,包括:
6.将第一输入对象输入预先训练的教师网络,得到第一预测框;以及,将第二输入对象输入待训练的学生网络,得到第二预测框;
7.根据第一预测框和第二预测框之间的差异,调整学生网络的参数,得到目标检测模型;
8.其中,目标检测模型用于识别待检测图像中的3d物体信息。
9.根据本公开的另一方面,提供了一种图像的检测方法,包括:
10.将待检测图像输入目标检测模型;
11.接收目标检测模型输出的待检测图像中的3d物体信息;
12.其中,目标检测模型采用根据本公开上述实施例的模型训练方法得到。
13.根据本公开的另一方面,提供了一种模型的训练装置,包括:
14.第一预测框获取模块,用于将第一输入对象输入预先训练的教师网络,得到第一预测框;
15.第二预测框获取模块,用于将第二输入对象输入待训练的学生网络,得到第二预测框;
16.参数调整模块,用于根据第一预测框和第二预测框之间的差异,调整学生网络的参数,得到目标检测模型;
17.其中,目标检测模型用于识别待检测图像中的3d物体信息。
18.根据本公开的另一方面,提供了一种图像的检测装置,包括:
19.输入模块,用于将待检测图像输入目标检测模型;
20.接收模块,用于接收目标检测模型输出的待检测图像中的3d物体信息;
21.其中,目标检测模型采用根据本公开上述实施例的模型的训练装置得到。
22.根据本公开实施例的模型的训练方法,可以有效的利用蒸馏机制,来挖掘教师网
络中可学习的知识,并蒸馏给学生模型。这样,简单结构的学生网络可以达到跟复杂结构的教师网络相似的检测精度,减少了部署成本,提高了推断速度,具有极高的推广应用潜力。
23.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
24.附图用于更好地理解本方案,不构成对本公开的限定。其中:
25.图1示出根据本公开实施例的模型的训练方法的流程图;
26.图2示出根据本公开实施例的模型的训练方法的调整学生网络参数的具体流程图;
27.图3示出根据本公开实施例的模型的训练方法的初始蒸馏的具体流程图;
28.图4示出根据本公开实施例的图像的检测方法的流程图;
29.图5示出根据本公开实施例的模型的训练装置的框图;
30.图6示出根据本公开实施例的图像的检测装置的框图;
31.图7是用来实现本公开实施例的模型的训练方法和/或图像的检测方法的电子设备的框图;
32.图8是可以实现本公开实施例的模型的训练方法的场景图。
具体实施方式
33.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
34.下面参照图1至图7描述根据本公开实施例的模型的训练方法。
35.如图1所示,根据本公开实施例的模型的训练方法,包括:
36.s101:将第一输入对象输入预先训练的教师网络,得到第一预测框;以及,将第二输入对象输入待训练的学生网络,得到第二预测框;
37.s102:根据第一预测框和第二预测框之间的差异,调整学生网络的参数,得到目标检测模型;
38.其中,目标检测模型用于识别待检测图像中的3d物体信息。
39.根据本公开实施例的方法可以基于知识蒸馏技术得到。知识蒸馏是一种将已经训练好的模型包含的知识蒸馏到另一个模型里面去,以此来将复杂的模型知识传递给相对轻量的模型。其中,两个网络可以是同构或者异构。具体而言,先训练一个教师网络,然后使用这个教师网络的输出和数据的真实标签去训练学生网络。知识蒸馏可以用来将网络从大网络转化成一个小网络,并保留接近于大网络的性能;也可以将多个网络的学到的知识转移到一个网络中,使得单个网络的性能接近多个网络相结合的性能。
40.在本公开实施例中,教师网络可以为经过预先训练的各种3d目标检测模型,例如可以为端到端的单目3d目标检测模型。
41.示例性地,在步骤s101之前,可以利用教师网络对学生网络进行初始蒸馏,以对学
生网络进行初步的学习,使学生网络的特征提取层的性能接近教师网络的特征提取层的性能。
42.示例性地,在步骤s101中,第一输入对象和第二输入对象可以是基于对同一个样本图像经过相应的预处理分别得到的不同格式的图像,也可以是基于对同一个样本图像经过相应的预处理得到的相同格式的图像。
43.其中,样本图像可以为利用单目视觉传感器采集到的单目视觉图像,以使对学生网络进行训练所得到的目标检测网络具备对单目视觉图像进行3d物体检测的功能。
44.教师网络的输出层根据特征提取层提取到的高维抽象特征,输出第一预测框。同理,学生网络的输出层根据特征提取层提取到的高维抽象特征,输出第二预测框。
45.示例性地,在步骤s102中,第一预测框与第二预测框之间的差异,可以理解为以教师网络的输出为参照,学生网络的输出误差。二者之间的差异具体可以通过预先构建的第一损失函数确定。其中,第一损失函数是以学生网络的参数为自变量的函数。通过利用第一损失函数,对学生网络的参数不断调整,以使第一预测框和第二预测框之间的差异逐渐缩小,直至满足预设条件,从而得到与教师网络的输出结果大致相同的学生网络,进而得到目标检测模型。
46.在一个具体示例中,教师网络包括特征提取层、2d头部分支网络、3d头部分支网络和输出层。特征提取层用于对输入的第一输入对象进行特征提取,且经过特征提取层的多个卷积层的卷积处理后输出高维抽象特征。2d头部分支网络基于高维抽象特征输出分类信息和关键点信息,3d头部网络基于高维抽象特征输出三维坐标信息、角度信息等。输出层根据2d头部分支网络和3d头部分支网络输出的信息,输出预测框,其中,预测框用于表征第一输入对象中的目标物。
47.在一个应用示例中,本公开实施例的模型的训练方法可以应用于智能机器人或者自动驾驶等涉及3d物体检测的场景中。
48.例如,在自动驾驶场景中,利用自动驾驶车辆的单目视觉传感器采集到目标区域的单目视觉图像,将单目视觉图像输入经过本公开实施例的模型的训练方法训练得到的目标检测模型,可以得到单目视觉图像中例如车辆、行人、道路标识等目标物的3d物体信息,基于上述目标物的3d物体信息,实现自动驾驶车辆的自动驾功能。
49.根据本公开实施例的模型的训练方法,可以有效的利用蒸馏机制,来挖掘教师网络中可学习的知识,并蒸馏给学生模型。这样,简单结构的学生网络可以达到跟复杂结构的教师网络相似的检测精度,减少了部署成本,提高了推断速度,具有极高的推广应用潜力。
50.如图2所示,在一种实施方式中,第一预测框和第二预测框之间的差异包括交并比,第二预测框为多个;步骤s102包括:
51.s201:根据各第二预测框与对应的第一预测框之间的交并比,从多个第二预测框中确定出至少一个相似预测框;其中,相似预测框与对应的第一预测框之间的交并比大于交并比阈值;
52.s202:根据各相似预测框对应的交并比,按照从大到小的顺序依次调整学生网络的参数。
53.示例性地,第一预测框和第二预测框之间的差异,可以通过计算第二第二预测框与第一预测框之间的交并比进行确定。可以理解的是,交并比可以通过分别计算第二预测
框与第一预测框的交集与并集,然后计算交集与并集之间的比值得到,即交并比用于表征二者之间的重叠度。
54.其中,交并比越大,则第二预测框与第一预测框的重叠度越高,二者之间的差异越小;交并比越小,则第二预测框与第一预测框之间的重叠度越低,二者之间的差异越大。
55.可以理解的是,教师网络针对第一输入对象输出的第一预测框的数量与学生网络针对第二输入对象输出的第二预测框的数量相同,且二者是一一对应的,从而针对每一个第二预测框,都有与其对应的第一预测框,进而通过计算得到每一个第二预测框与其相应的第一预测框之间的交并比。
56.根据上述实施方式,通过从多个第二预测框中选取满足阈值条件的第二预测框作为相似预测框,并根据各相似预测框对应的交并比按照从大到小的顺序进行排序,并按照上述排序依次针对各第二预测框对学生网络的参数进行调整,可以实现对学生网络的深度蒸馏,由此,可以对学生网络和教师网络对于预测框的生成中较为相似的特征进行特别注意并方进行蒸馏,以此来校正学生网络生成的第二预测框不够精准的部分,从而提高对学生网络的输出层的蒸馏效果。
57.如图3所示,在一种实施方式中,在步骤s102之前,还包括:
58.s301:利用教师网络的特征提取层提取第一输入对象的第一特征;
59.以及,在步骤s102之后,还包括:
60.s302:利用学生网络的特征提取层提取第二输入对象的第二特征;
61.s303:根据第一特征和第二特征之间的差异,调整学生网络的特征提取层的参数。
62.示例性地,如图8所示,教师网络的特征提取层可以包括预设数量个特征提取模块。例如,特征提取模块的数量可以为五个,每个特征提取模块用于分别对第一输入对象的特征进行层层提取。其中,各特征提取模块可以采用vgg(visual geometry group)网络,vgg网络包含16个卷积层。其中,第一特征可以包含各特征提取模块的中间层特征,即s={s1,s2,s3,s4,s5}。
63.相应地,学生网络可以包括五个特征提取模块,每个特征提取模块用于对第二输入对象的特征进行层层提取,其中,各特征提取模块可以同样采用vgg(visual geometry group)网络,学生网络的vgg网络包含的卷积层的数量小于教师网络的vgg网络包含的卷积层的数量。第二特征可以包含各特征提取模块的中间层特征,即t={t1,t2,t3,t4,t5}。
64.在步骤s303中,第一特征和第二特征之间的差异可以通过预先构建的第二损失函数进行计算。
65.通过上述实施方式,根据第二损失函数得到第一特征和第二特征的差异后,根据差异对学生网络的特征提取层的参数进行不断调整,以使学生网络的特征提取层提取到的第二特征不断逼近教师网络的特征提取层提取到的第一特征,从而使学生网络的提取到的高维抽象特征的精度不断提高,直至达到教师网络的特征提取层的提取精度。
66.在一种实施方式中,第一特征和第二特征之间的差异包括余弦距离。
67.示例性地,第一特征和第二特征之间的差异di,可以通过计算两个特征所包含的一一对应的特征提取模块的中间层特征之间的余弦距离得到,即:
68.69.可以理解的是,当第一特征和第二特征之间的相似度较高时,二者之间的余弦距离也相应增大。基于此,计算第一特征和第二特征之间差异的第二损失函数可以定义为:
70.si=1-di。
71.通过上述实施方式,第一特征和第二特征之间差异的计算较为简便,且得出的差异的精准度较高。
72.在一种实施方式中,第一输入对象为样本图像的深度图;第二输入对象为样本图像的rgb(red green blue,红绿蓝)图。
73.示例性地,第一输入对象和第二输入对象可以基于同一个样本图像分别进行图像预处理得到。其中,第一输入对象可以通过提取样本图像的深度值信息,以得到样本图像的深度图;rgb图可以利用单目图像传感器所采集到的样本图像直接得到。
74.需要说明的是,样本图像的rgb图相较于深度图的获取方式更为简单直接,在学生网络的训练过程中,通过向教师网络和学生网络分别输入深度图和rgb图,可以在初始蒸馏过程中将学生网络的特征提取层提取到的特征的精度趋近于教师网络的特征提取层提取到的特征的精度,即使学生网络具备可以对rgb进行精度较高的特征提取能力。
75.通过上述实施方式,可以有效的利用蒸馏机制,来挖掘深度图中可学习的部分,并蒸馏给学生模型。由此,结构简单的学生网络可以达到跟结构复杂的教师网络相似的精度,以使学生网络不用深度图只用rgb图作为输入也能达到高精度的3d定位。
76.在一种实施方式中,在对学生网络进行步骤s102和步骤s303的同时,即对学生网络进行初始蒸馏和深度蒸馏的同时,还可以对学生网络进行有监督训练。
77.具体而言,可以将预先标注的有监督数据输入学生网络,并从学生网络接收输出的预测结果。根据预测结果和标注信息之间的差异,对学生网络的参数进行调整,直至学生网络达到预设收敛条件。其中,预测结果和标注信息之间的差异可以通过预先构建的第三损失函数计算得到。
78.通过上述实施方式,可以在初始蒸馏和深度蒸馏的基础上,进一步对学生网络进行有监督训练,从而进一步提高学生网络的3d定位精度。
79.根据本公开的另一方面,还提供了一种图像的检测方法。
80.如图4所示,该图像的检测方法包括:
81.s401:将待检测图像输入目标检测模型;
82.s402:接收目标检测模型输出的待检测图像中的3d物体信息;
83.其中,目标检测模型采用本公开上述实施例的模型训练方法得到。
84.示例性地,本公开实施例的图像的检测方法可以应用于智能机器人或自动驾驶技术领域,用于对目标区域的待检测图像进行3d物体检测。
85.更为具体地,本公开实施例的待检测图像可以为利用单目视觉传感器采集到的单目视觉图像,目标检测模型可以用于对单目视觉图像中的3d物体进行检测。
86.根据本公开实施例的图像的检测方法,通过利用根据本公开上述实施例的模型的训练方法训练得到的目标检测模型,可以实现对图像中包含的3d物体信息的高精度检测,且目标检测模型具有部署成本低和部署效率高的有点,且适用范围较广。
87.在一种实施方式中,3d物体信息包括分类信息、位置信息、尺寸信息以及角度信息中的至少一项。
88.在一个具体示例中,目标检测模型包括特征提取层、2d头部检测网络和3d头部检测网络。其中,2d头部检测网络用于根据特征提取层提取到的高层语义特征,输出待检测图像中目标物的预测框以及与预测框相关的分类信息和位置信息;3d头部检测网络用于根据特征提取层提取到的高层语义特征,输出与预测框相关的尺寸信息和角度信息。
89.通过上述实施方式,可以输出关于图像中的目标物的多维化信息,针对图像中的3d物体可以有效地提升定位精度。
90.根据本公开的另一方面,还提供了一种模型的训练装置。
91.如图5所示,该模型的训练装置包括:
92.第一预测框获取模块501,用于将第一输入对象输入预先训练的教师网络,得到第一预测框;
93.第二预测框获取模块502,用于将第二输入对象输入待训练的学生网络,得到第二预测框;
94.参数调整模块503,用于根据第一预测框和第二预测框之间的差异,调整学生网络的参数,得到目标检测模型;
95.其中,目标检测模型用于识别待检测图像中的3d物体信息。
96.在一种实施方式中,第一预测框和第二预测框之间的差异包括交并比,第二预测框为多个;
97.参数调整模块503包括:
98.相似预测框确定单元,根据各第二预测框与对应的第一预测框之间的交并比,从多个第二预测框中确定出至少一个相似预测框;其中,相似预测框与对应的第一预测框之间的交并比大于交并比阈值;
99.参数调整单元,用于根据各相似预测框对应的交并比,按照从大到小的顺序依次调整学生网络的参数。
100.在一种实施方式中,模型的训练装置还包括:
101.第一特征提取模块,用于利用教师网络的特征提取层提取第一输入对象的第一特征;
102.第二特征提取模块,用于利用学生网络的特征提取层提取第二输入对象的第二特征;
103.特征提取层参数调整模块,用于根据第一特征和第二特征之间的差异,调整学生网络的特征提取层的参数。
104.在一种实施方式中,第一特征和第二特征之间的差异包括余弦距离。
105.在一种实施方式中,第一输入对象为样本图像的深度图;第二输入对象为样本图像的rgb图。
106.根据本公开的另一方面,还提供了一种图像的检测装置。
107.如图6所示,该图像的检测装置包括:
108.输入模块601,用于将待检测图像输入目标检测模型;
109.接收模块602,用于接收目标检测模型输出的待检测图像中的3d物体信息;
110.其中,目标检测模型采用根据本公开上述实施例的模型的训练装置得到。
111.在一种实施方式中,3d物体信息包括分类信息、位置信息、尺寸信息以及角度信息
中的至少一项。
112.本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
113.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
114.图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
115.如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(rom)702中的计算机程序或者从存储单元708加载到随机访问存储器(ram)703中的计算机程序,来执行各种适当的动作和处理。在ram703中,还可存储设备700操作所需的各种程序和数据。计算单元701、rom 702以及ram 703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。
116.设备700中的多个部件连接至i/o接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
117.计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如模型的训练方法和/或图像的检测方法。例如,在一些实施例中,模型的训练方法和/或图像的检测方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由rom 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到ram 703并由计算单元701执行时,可以执行上文描述的模型的训练方法和/或图像的检测方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行模型的训练方法和/或图像的检测方法。
118.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
119.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
120.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
121.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
122.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
123.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
124.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
125.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

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

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

相关文献