掌桥专利:专业的专利平台
掌桥专利
首页

一种基于神经网络的目标检测方法、装置、机器可读介质及设备

文献发布时间:2023-06-19 09:29:07


一种基于神经网络的目标检测方法、装置、机器可读介质及设备

技术领域

本发明涉及图像处理领域,具体涉及一种基于神经网络的目标检测方法、装置、机器可读介质及设备。

背景技术

头肩检测技术存在很多应用场景比如人群计数、密度估计、客流统计,但是在实际应用场景中客户不仅对于头肩检测精度有着比较高的要求,同时对于头肩检测的实时性也有着非常高的要求。

传统的头肩检测方法通常是采用Hog特征提取以及SVM分类器或者采用haar特征提取加adaboost级联技术,但是这些传统方法通常需要人工设计来提取特征,容易受到光照、遮挡等因素的干扰和影响,造成头肩检测性能的下降,很难满足目前实际应用场景对于头肩检测性能的要求。

另一方面,虽然目前存在一些利用深度神经网络进行头肩检测的方法和技术,但是目前的头肩检测技术及方法很难在精度和实时性两者中达到平衡:既取得较高的精度又有很好的准确性。目前的头肩检测如果采用较大较深的深度神经网络可能会在检测精度表现较优,但是实时性很难保证。如果采用较小的深度神经网络可能会在实时性方面表现较优,但在检测精度上又很难保证。

发明内容

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于神经网络的目标检测方法方法、装置、机器可读介质及设备,用于解决现有技术存在的问题。

为实现上述目的及其他相关目的,本发明提供一种基于神经网络的目标检测方法,包括:

构建教师网络;

通过样本图像集训练所述教师网络;

构建学生网络,其中所述学生网络的参数量小于所述教师网络的参数量;

在采用知识蒸馏提取所述教师网络训练获得的知识并迁移到所述学生网络的过程中,通过样本图像集对所述学生网络进行训练;

通过训练后的学生网络,对输入的图像进行目标检测。

可选地,在知识蒸馏过程中,对教师网络输出的特征图进行知识蒸馏,并将蒸馏出的知识迁移到所述学生网络中。

可选地,所述教师网络包括依次连接的卷积单元、批量归一化单元、函数激活单元和池化单元;所述卷积单元包括依次连接的多个卷积子单元,每个卷积子单元输出一特征图;每个卷积子单元包括多个铺叠设置的卷积层。

可选地,所述对教师网络输出的特征图进行知识蒸馏包括:确定目标蒸馏区域,对所述目标蒸馏区域的特征图进行知识蒸馏,其中目标蒸馏区域的确定方法包括:

将样本图像中标注的目标框以不同的尺度分别映射到对应的卷积子单元输出的特征图上;

构建与特征图大小相同的矩阵;

判断所述特征图中是否存在目标框;

若所述特征图中存在目标框,则将所构建的矩阵的对应区域的值置为1,否则置为0,从而形成0-1蒸馏mask;蒸馏mask中值为1对应的特征区域即为目标蒸馏区域。

可选地,根据损失函数判断所述学生网络的收敛结果,所述损失函数为:

loss=loss

其中,loss

可选地,所述loss

其中,M

为实现上述目的及其他相关目的,本发明提供一种基于神经网络的目标检测装置,包括:

第一网络构建模块,用于构建教师网络;

第一训练模块,用于通过样本图像集训练所述教师网络;

第二网络构建模块,用于构建学生网络,其中所述学生网络的参数量小于所述教师网络的参数量;

第二训练模块,用于在采用知识蒸馏提取所述教师网络训练获得的知识并迁移到所述学生网络的过程中,通过样本图像集对所述学生网络进行训练;

目标检测模块,用于通过训练后的学生网络,对输入的图像进行目标检测。

可选地,在知识蒸馏过程中,对教师网络输出的特征图进行知识蒸馏,并将蒸馏出的知识迁移到所述学生网络中。

可选地,所述教师网络包括依次连接的卷积单元、批量归一化单元、函数激活单元和池化单元;所述卷积单元包括依次连接的多个卷积子单元,每个卷积子单元输出一特征图;每个卷积子单元包括多个铺叠设置的卷积层。

可选地,所述第二训练模块包括:

蒸馏区域确定子模块,用于确定目标蒸馏区域;

知识蒸馏子模块,用于对所述目标蒸馏区域的特征图进行知识蒸馏,其中目标区域确定子模块包括:

映射单元,用于将样本图像中标注的目标框以不同的尺度分别映射到对应的特征图上;

矩阵构建单元,用于构建与特征图大小相同的矩阵;

目标框单元,用于判断所述特征图中是否存在目标框;若所述特征图中存在目标,则将所构建的矩阵的对应区域的值置为1,否则置为0,从而形成0-1蒸馏mask;蒸馏mask中值为1对应的特征区域即为目标蒸馏区域。

可选地,根据损失函数判断所述学生网络的收敛结果,所述损失函数为:

loss=loss

其中,loss

可选地,所述loss

其中,M

为实现上述目的及其他相关目的,本发明还提供一种设备,包括:

一个或多个处理器;和

其上存储有指令的一个或多个机器可读介质,当所述一个或多个处理器执行时,使得所述设备执行前述的一个或多个所述的方法。

为实现上述目的及其他相关目的,本发明还提供一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得设备执行前述的一个或多个所述的方法。

如上所述,本发明提供的一种基于神经网络的目标检测方法、装置、机器可读介质及设备、装置、机器可读介质及设备,具有以下有益效果:

本发明的一种基于神经网络的目标检测方法,包括:构建教师网络;通过样本图像集训练所述教师网络;构建学生网络,其中所述学生网络的参数量小于所述教师网络的参数量;在采用知识蒸馏提取所述教师网络训练获得的知识并迁移到所述学生网络的过程中,通过样本图像集对所述学生网络进行训练;通过训练后的学生网络,对输入的图像进行目标检测。本发明通过深度神经网络自动提取目标所需特征,避免了人工设计提取低层次抽象特征的问题。通过知识蒸馏,使得小网络在检测精度接近于大网络的同时保证了较高的检测速度,从而满足了目标检测中对于准确性和实时性的双重要求。

附图说明

图1为本发明一实施例一种基于神经网络的目标检测方法的流程图;

图2为本发明一实施例基于神经网络的目标检测方法示意图;

图3为本发明知识蒸馏过程的示意图;

图4为本发明一实施例确定蒸馏区域方法的流程图;

图5为本发明一实施例一种基于神经网络的目标检测装置结构示意图;

图6为本发明一实施例中终端设备的硬件结构示意图;

图7为本发明一实施例中终端设备的硬件结构示意图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

如图1所示,一种目标检测模型构建方法,包括:

S11构建教师网络;

S12通过样本图像集训练所述教师网络;

S13构建学生网络,其中所述学生网络的参数量小于所述教师网络的参数量;

S14在采用知识蒸馏提取所述教师网络训练获得的知识并迁移到所述学生网络的过程中,通过样本图像集对所述学生网络进行训练;

S15通过训练后的学生网络,对输入的图像进行目标检测。

本发明通过深度神经网络自动提取目标所需特征,避免了传统测方法中人工设计提取低层次抽象特征的问题。通过知识蒸馏,使得小网络(学生网络)在检测精度接近于大网络(教师网络)的同时保证了较高的检测速度,从而满足了目标检测中对于准确性和实时性的双重要求。

如图2所示,其中的一个神经网络可以包括骨干网(backbone)、颈部网(neck)、头部网(head)。每一个网络均由卷积、批量归一化、函数激活、池化等操作组成。其中骨干网采用一个较大较深的神经网络,在本实施例中,所述教师网络可以采用如图2的骨干网,通过样本图像集训练所述教师网络。当然在另一实施例中,教师网络可以是一个完整的神经网络,该教师网络经过训练后可以直接用于目标检测。

在步骤S14中,所述的知识蒸馏是知识的提取,可以将一个神经网络学习到的知识转移到另外一个神经网络。其中,知识蒸馏的过程可以如图3所示,其中,中间矩形框表示的是知识,Data表示的是数据,Input layer为输入层,Hint layers为隐含层,out layer为输出层.,Teacher Model为教师模型。在知识蒸馏中,知识在不同的任务任务场景中具有不同定义,没有一个严格的定义。知识包括基于关系的知识Relation-Based Knowledge、基于特征的知识Feature-Based Knowledge、基于响应的知识Response-Based Knowledge。在本实施例中,指的是基于特征的知识。

在本实施例中,所述的一个神经网络可以是教师网络,另一个神经网络提的是学生网络。一般来说,教师网络具有强大的能力和表现,而学生网络则更为紧凑。那么通过知识蒸馏,希望学生网络能尽可能逼近亦或是超过教师网络,从而用更少的复杂度来获得类似的预测效果。这里的教师网络往往是一个模型尺寸较大、结构较复杂、运算量较高但性能较好的网络,例如,教师网络可以采用包括但不限于ResNet-152、DenseNet-264、Darknet-53等网络结构。这里的学生网络是一个网络尺寸较小、结构较简单、运算量较低但性能较差的网络,例如,学生网络可以采用包括但不限于ResNet-18,因此,通过知识蒸馏可以在教师网络与学生网络之间进行知识迁移,使得学生网络学习教师网络的监督信息。在学生网络学习到教师网络的监督信息的同时,利用样本图像集对学生网络进行训练。

在一实施例中,所述教师网络包括依次连接的卷积单元、批量归一化单元、函数激活单元和池化单元。在训练教师网络的过程中,选取一个较大较深的深度学习网络作为教师网络提取图像中的特征信息,在由样本图像组成的训练集上训练,以获得具有较高检测准确度的教师网络。在教师网络中,所述卷积单元包括依次连接多个卷积子单元,每个卷积子单元输出一特征图;每个卷积子单元包括多个铺叠设置的卷积层。比如,若卷积单元包括20层卷积层,那个可以把1~5卷积层作为一个卷积单元,6~15卷积层作为一个卷积单元,16~20卷积层作为一个卷积单元,每个卷积单元输出一个特征图。

在一实施例中,所述学生网络包括依次连接的卷积单元、批量归一化单元、函数激活单元和池化单元。在学生网络中,所述卷积单元包括依次连接多个卷积子单元,每个卷积子单元输出一特征图;每个卷积子单元包括多个铺叠设置的卷积层。比如,若卷积单元包括10层卷积层,那个可以把1~3卷积层作为一个卷积单元,4~7卷积层作为一个卷积单元,8~10卷积层作为一个卷积单元,每个卷积单元输出一个特征图。需要说明的是,学生网络每个卷积单元输出的特征图的大小与教师网络每个卷积单元输出的特征图的大小相同,其具有一一对应的关系,即学生网络第一个卷积单元输出的特征图的大小与教师网络第一个卷积单元输出的特征图的大小相同,学生网络第二个卷积单元输出的特征图的大小与教师网络第二个卷积单元输出的特征图的大小相同,学生网络第三个卷积单元输出的特征图的大小与教师网络第三个卷积单元输出的特征图的大小相同。

需要说明的是,在知识蒸馏过程中,通过对教师网络输出的特征图进行知识蒸馏,并将蒸馏出的知识迁移到所述学生网络中。

在对教师网络输出的特征图进行知识蒸馏的过程中,图像中不会只存在目标区域,还会存在目标区域以外的区域,可以理解为干扰区域,因此,为了减小计算量,在进行知识蒸馏时,可以只对目标区域的特征进行学习。目标区域相应的被叫作目标蒸馏区域,通过对该目标蒸馏区域进行蒸馏,一方面可以降低对全特征图进行蒸馏带来的噪声信息,这些噪声信息可能会掩盖学生网络对于教师网络监督信息的提取,另一方面可以避免对所有区域进行蒸馏以减少计算量。

具体地,如图4所示,在知识蒸馏过程中,目标蒸馏区域的确定方法包括:

S41将样本图像中标注的目标框以不同的尺度分别映射到对应的卷积子单元输出的特征图上;

其中,目标框以不同的尺度可以理解为,在样本图像中对目标进行标注会形成一个目标框,将这个目标框进行不同尺度的变换,比如,0.5x,1.0x,1.5x等等。其中,每个尺度对应教师网络中每个卷积单元输出的一个特征图。尺度最大的目标框对应由低层的卷积层输出的特征图,尺度最小的目标框对应由高层的卷积层输出的特征图.例如1.5x的目标框对应1~5卷积层构成的卷积单元输出的特征图,1.0x的目标框对应6~15卷积层构成的卷积单元输出的特征图,0.5x的目标框对应17~20卷积层构成的卷积单元输出的特征图。

S42构建与特征图大小相同的矩阵;

S43判断所述特征图中是否存在目标框;

若所述特征图中存在目标框,则将所构建的矩阵的对应区域的值置为1,否则置为0,从而形成0-1蒸馏mask;蒸馏mask中值为1对应的特征区域即为目标蒸馏区域。

在一实施例中,根据损失函数判断所述学生网络的收敛结果,所述损失函数为:

loss=loss

其中,loss

所述loss

所述loss

其中,M

在经过前述步骤得到学生网络,还需要对学生网络进行训练,具体地,将学生网络在含有样本图像中的训练集中进行训练,在不过拟合的情况下,在所述的损失函数loss达到最小值,即获得训练后的学生网络。通过训练后的学生网络,对输入的图像进行目标检测。

在一实施例中,将待检测图像输入到训练后的学生网络进行检测,获得目标的预测框以及每一个框对应的置信度得分。根据应用场景设定指定的阈值,将预测框中对应的置信度得分小于指定阈值的框丢弃,保留置信度得分大于阈值的预测框,即获得目标。

在另一实施例中,将如图2所示神经网络中的教师网络替换成训练后的学生网络,形成所述目标检测模型。通过所述神经网络模型对输入的图像进行目标检测。

在一实施例中,在利用样本图像对教师网络进行训练之前,需要对样本图像进行预处理;这里的样本图像可以是一个或多个识别对象的多帧图像,如头肩图像、人脸图像、植物图像、建筑图像、汽车图像等;其中,预处理的方法为:

将图像进行不同程度的亮度动态调整,对比度动态调整、亮度动态调节、饱和度动态调整、随机旋转以及模糊处理等以实现在线增强方式和离线增强方式相结合。从最大程度上避免光线、模糊、遮挡等因素带来的干扰影响。

如图5所示,一种目标检测模型构建装置,包括:

第一网络构建模块51,用于构建教师网络;

第一训练模块52,用于通过样本图像集训练所述教师网络;

第二网络构建模块53,用于构建学生网络,其中所述学生网络的参数量小于所述教师网络的参数量;

第二训练模块54,用于在采用知识蒸馏提取所述教师网络训练获得的知识并迁移到所述学生网络的过程中,通过样本图像集对所述学生网络进行训练;

目标检测模块55,用于通过训练后的学生网络,对输入的图像进行目标检测。

在一实施例中,在知识蒸馏过程中,对教师网络输出的特征图进行知识蒸馏,并将蒸馏出的知识迁移到所述学生网络中。

在一实施例中,所述教师网络包括依次连接的卷积单元、批量归一化单元、函数激活单元和池化单元;所述卷积单元包括依次连接的多个卷积子单元,每个卷积子单元输出一特征图;每个卷积子单元包括多个铺叠设置的卷积层。

在一实施例中,所述第二训练模块包括:

蒸馏区域确定子模块,用于确定目标蒸馏区域;

知识蒸馏子模块,用于对所述目标蒸馏区域的特征图进行知识蒸馏,其中目标区域确定子模块包括:

映射单元,用于将样本图像中标注的目标框以不同的尺度分别映射到对应的特征图上;

矩阵构建单元,用于构建与特征图大小相同的矩阵;

目标框单元,用于判断所述特征图中是否存在目标框;若所述特征图中存在目标,则将所构建的矩阵的对应区域的值置为1,否则置为0,从而形成0-1蒸馏mask;蒸馏mask中值为1对应的特征区域即为目标蒸馏区域。

在一实施例中,根据损失函数判断所述学生网络的收敛结果,所述损失函数为:

loss=loss

其中,loss

在一实施例中,所述loss

其中,M

在本实施例中,该装置实施例与前述的方法实施例相对应,具体功能和技术效果参照上述实施例即可,此处不再赘述。

本申请实施例还提供了一种设备,该设备可以包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述设备执行图1所述的方法。在实际应用中,该设备可以作为终端设备,也可以作为服务器,终端设备的例子可以包括:智能手机、平板电脑、电子书阅读器、MP3(动态影像专家压缩标准语音层面3,Moving Picture Experts GroupAudio Layer III)播放器、MP4(动态影像专家压缩标准语音层面4,Moving Picture Experts Group Audio Layer IV)播放器、膝上型便携计算机、车载电脑、台式计算机、机顶盒、智能电视机、可穿戴设备等等,本申请实施例对于具体的设备不加以限制。

本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本申请实施例的图1中方法所包含步骤的指令(instructions)。

图6为本申请一实施例提供的终端设备的硬件结构示意图。如图所示,该终端设备可以包括:输入设备1100、第一处理器1101、输出设备1102、第一存储器1103和至少一个通信总线1104。通信总线1104用于实现元件之间的通信连接。第一存储器1103可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,第一存储器1103中可以存储各种程序,用于完成各种处理功能以及实现本实施例的方法步骤。

可选的,上述第一处理器1101例如可以为中央处理器(Central ProcessingUnit,简称CPU)、应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,该第一处理器1101通过有线或无线连接耦合到上述输入设备1100和输出设备1102。

可选的,上述输入设备1100可以包括多种输入设备,例如可以包括面向用户的用户接口、面向设备的设备接口、软件的可编程接口、摄像头、传感器中至少一种。可选的,该面向设备的设备接口可以是用于设备与设备之间进行数据传输的有线接口、还可以是用于设备与设备之间进行数据传输的硬件插入接口(例如USB接口、串口等);可选的,该面向用户的用户接口例如可以是面向用户的控制按键、用于接收语音输入的语音输入设备以及用户接收用户触摸输入的触摸感知设备(例如具有触摸感应功能的触摸屏、触控板等);可选的,上述软件的可编程接口例如可以是供用户编辑或者修改程序的入口,例如芯片的输入引脚接口或者输入接口等;输出设备1102可以包括显示器、音响等输出设备。

在本实施例中,该终端设备的处理器包括用于执行各设备中各模块的功能,具体功能和技术效果参照上述实施例即可,此处不再赘述。

图7为本申请的一个实施例提供的终端设备的硬件结构示意图。图7是对图6在实现过程中的一个具体的实施例。如图所示,本实施例的终端设备可以包括第二处理器1201以及第二存储器1202。

第二处理器1201执行第二存储器1202所存放的计算机程序代码,实现上述实施例中图1所述方法。

第二存储器1202被配置为存储各种类型的数据以支持在终端设备的操作。这些数据的示例包括用于在终端设备上操作的任何应用程序或方法的指令,例如消息,图片,视频等。第二存储器1202可能包含随机存取存储器(random access memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。

可选地,第二处理器1201设置在处理组件1200中。该终端设备还可以包括:通信组件1203,电源组件1204,多媒体组件1205,语音组件1206,输入/输出接口1207和/或传感器组件1208。终端设备具体所包含的组件等依据实际需求设定,本实施例对此不作限定。

处理组件1200通常控制终端设备的整体操作。处理组件1200可以包括一个或多个第二处理器1201来执行指令,以完成上述数据处理方法中的全部或部分步骤。此外,处理组件1200可以包括一个或多个模块,便于处理组件1200和其他组件之间的交互。例如,处理组件1200可以包括多媒体模块,以方便多媒体组件1205和处理组件1200之间的交互。

电源组件1204为终端设备的各种组件提供电力。电源组件1204可以包括电源管理系统,一个或多个电源,及其他与为终端设备生成、管理和分配电力相关联的组件。

多媒体组件1205包括在终端设备和用户之间的提供一个输出接口的显示屏。在一些实施例中,显示屏可以包括液晶显示器(LCD)和触摸面板(TP)。如果显示屏包括触摸面板,显示屏可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。

语音组件1206被配置为输出和/或输入语音信号。例如,语音组件1206包括一个麦克风(MIC),当终端设备处于操作模式,如语音识别模式时,麦克风被配置为接收外部语音信号。所接收的语音信号可以被进一步存储在第二存储器1202或经由通信组件1203发送。在一些实施例中,语音组件1206还包括一个扬声器,用于输出语音信号。

输入/输出接口1207为处理组件1200和外围接口模块之间提供接口,上述外围接口模块可以是点击轮,按钮等。这些按钮可包括但不限于:音量按钮、启动按钮和锁定按钮。

传感器组件1208包括一个或多个传感器,用于为终端设备提供各个方面的状态评估。例如,传感器组件1208可以检测到终端设备的打开/关闭状态,组件的相对定位,用户与终端设备接触的存在或不存在。传感器组件1208可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在,包括检测用户与终端设备间的距离。在一些实施例中,该传感器组件1208还可以包括摄像头等。

通信组件1203被配置为便于终端设备和其他设备之间有线或无线方式的通信。终端设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个实施例中,该终端设备中可以包括SIM卡插槽,该SIM卡插槽用于插入SIM卡,使得终端设备可以登录GPRS网络,通过互联网与服务器建立通信。

由上可知,在图7实施例中所涉及的通信组件1203、语音组件1206以及输入/输出接口1207、传感器组件1208均可以作为图6实施例中的输入设备的实现方式。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

相关技术
  • 一种基于神经网络的目标检测方法、装置、机器可读介质及设备
  • 一种目标检测方法、装置、机器可读介质及设备
技术分类

06120112188131