您好,欢迎来到爱够旅游网。
搜索
您的当前位置:首页一种基于卷积神经网络的目标检测方法及系统[发明专利]

一种基于卷积神经网络的目标检测方法及系统[发明专利]

来源:爱够旅游网
(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)申请公布号 CN 110188720 A(43)申请公布日 2019.08.30

(21)申请号 201910483258.4(22)申请日 2019.06.05

(71)申请人 上海云绅智能科技有限公司

地址 200000 上海市浦东新区泥城镇云汉

路979号2楼(72)发明人 王珏 邵嘉葳 孟令波 

(74)专利代理机构 上海硕力知识产权代理事务

所(普通合伙) 31251

代理人 刘秋香(51)Int.Cl.

G06K 9/00(2006.01)G06K 9/62(2006.01)G06N 3/04(2006.01)

权利要求书3页 说明书11页 附图5页

()发明名称

一种基于卷积神经网络的目标检测方法及系统

(57)摘要

本发明公开了基于卷积神经网络的目标检测方法及系统,其方法包括:构建被检测目标的数据集;将被检测目标的数据集中的图像数据按照预设的比例划分为训练集、测试集、和验证集,并对其中的图像进行标注;构建卷积神经网络模型的网络结构,所述卷积神经网络模型采用不同的特征尺度来预测物体;在卷积神经网络模型中载入训练集进行训练;在训练过程中,加载验证集,通过多重验证的方法,优化卷积神经网络模型的参数;通过测试集对卷积神经网络模型进行性能测试,检测其泛化能力;采用泛化能力满足要求的卷积神经网络模型进行目标识别。通过本发明训练获得的卷积神经网络模型可快速准确识别商场中的小目标、紧凑密集或高度重叠目标。

CN 110188720 ACN 110188720 A

权 利 要 求 书

1/3页

1.一种基于卷积神经网络的目标检测方法,其特征在于,包括:构建被检测目标的数据集,所述被检测目标的数据集中包含被检测目标的图像数据;将所述被检测目标的数据集中的图像数据按照预设的比例划分至所述被检测目标的训练集、测试集、和验证集;

对所述训练集、测试集和验证集的所有图像数据中的目标物体进行标注;构建卷积神经网络模型的网络结构;所述卷积神经网络模型采用不同的特征尺度来预测物体;

在所述卷积神经网络模型中载入所述训练集进行训练;在所述卷积神经网络模型进行训练过程中,加载所述验证集,通过多重验证的方法,优化所述卷积神经网络模型的参数;

通过所述测试集对所述卷积神经网络模型进行性能测试,检测所述卷积神经网络模型的泛化能力;

采用泛化能力满足要求的卷积神经网络模型进行目标识别。

2.根据权利要求1所述的一种基于卷积神经网络的目标检测方法,其特征在于,所述在所述卷积神经网络模型中载入所述训练集进行训练包括:

设置训练参数;所述训练参数包括初始学习率,权重衰减率,最大迭代次数;

将所述训练集中的图像数据输入到所述卷积神经网络模型中进行循环迭代训练;训练结束后,提取训练结果。

3.根据权利要求1所述的一种基于卷积神经网络的目标检测方法,其特征在于,在训练所述卷积神经网络模型中,采用的损失函数计算公式如下:

lossfunction=bool*(2-areaPred)*bce+bool*(2-areaPred)*(whtrue-whpred)2+bool*bce+(1-bool)*bce*ignore+bool*bce

其中:bool为置信度;bce为二值交叉熵;areaPred为预测框范围;whtrue为被检测目标在图像中的长宽真实值;whpred为被检测目标在图像中的长宽预测值;ignore为交并比低于一定阈值的物体的忽略点位。

4.根据权利要求1所述的一种基于卷积神经网络的目标检测方法,其特征在于,所述在所述卷积神经网络模型进行训练过程中,加载所述验证集,通过多重验证的方法,优化所述卷积神经网络模型的参数包括:

在所述卷积神经网络模型训练过程中,加载所述验证集;使用多重验证的方法,对所述卷积神经网络模型训练过程中的损失函数值进行记录;根据所述损失函数值,调整所述神经网络模型中各神经元之间的连接权重;判断当前训练是否满足预设的训练结束条件;当当前训练不满足预设的训练结束条件时,继续对所述神经网络模型进行训练;当当前训练满足预设的训练结束条件时,停止对所述卷积神经网络模型的训练,保存训练后的所述卷积神经网络模型的各参数。

5.根据权利要求4所述的一种基于卷积神经网络的目标检测方法,其特征在于,所述预设的训练结束条件为:

所述损失函数值达到预设的损失函数阈值或训练次数达到预设的最大迭代次数。6.根据权利要求1-5任一项所述的一种基于卷积神经网络的目标检测方法,其特征在

2

CN 110188720 A

权 利 要 求 书

2/3页

于,

所述卷积神经网络的0-95层为深度卷积层,由卷积块和单层卷积层构成;所述卷积块包含两个卷积层和一个残差层;每若干卷积块之后插入一单层卷积层;

所述卷积神经网络的96-126层为特征交互层,包含三个尺度,每个尺度内通过卷积核的方式实现局部的特征交互。

7.一种基于卷积神经网络的目标检测系统,其特征在于,包括:数据集构建模块,用于构建被检测目标的数据集,所述被检测目标的数据集中包含被检测目标的图像数据;

数据集划分模块,用于将所述被检测目标的数据集中的图像数据按照预设的比例划分至所述被检测目标的训练集、测试集、和验证集;

标注模块,用于对所述训练集、测试集和验证集的所有图像数据中的目标物体进行标注;

模型构建模块,用于构建卷积神经网络模型的网络结构;所述卷积神经网络模型采用不同的特征尺度来预测物体;

训练模块,用于在所述卷积神经网络模型中载入所述训练集进行训练;验证优化模块,用于在所述卷积神经网络模型进行训练过程中,加载所述验证集,通过多重验证的方法,优化所述卷积神经网络模型的参数;

测试模块,用于通过所述测试集对所述卷积神经网络模型进行性能测试,检测所述卷积神经网络模型的泛化能力;

目标识别模块,用于通过泛化能力满足要求的卷积神经网络模型来进行目标识别。8.根据权利要求7所述的一种基于卷积神经网络的目标检测系统,其特征在于,所述训练模块包括:

参数设置子模块,用于设置训练参数;所述训练参数包括初始学习率,权重衰减率,最大迭代次数;

训练子模块,用于将所述训练集中的图像数据输入到所述卷积神经网络模型中进行循环迭代训练;

结果提取模块,用于训练结束后,提取训练结果。

9.根据权利要求7所述的一种基于卷积神经网络的目标检测系统,其特征在于,所述验证优化模块包括:

加载子模块,用于在所述卷积神经网络模型训练过程中,加载所述验证集;验证子模块,用于使用多重验证的方法,对所述卷积神经网络模型训练过程中的损失函数值进行记录;

权重调整子模块,用于根据所述损失函数值,调整所述神经网络模型中各神经元之间的连接权重;

判断子模块,用于判断当前训练是否满足预设的训练结束条件;当当前训练不满足预设的训练结束条件时,所述训练模块继续对所述神经网络模型进行训练;

参数存储子模块,用于当当前训练满足预设的训练结束条件时,所述训练模块停止对所述卷积神经网络模型的训练,保存训练后的所述卷积神经网络模型的各参数。

10.根据权利要求7-9任一项所述的一种基于卷积神经网络的目标检测系统,其特征在

3

CN 110188720 A

权 利 要 求 书

3/3页

于,

所述卷积神经网络的0-95层为深度卷积层,由卷积块和单层卷积层构成;所述卷积块包含两个卷积层和一个残差层;每若干卷积块之后插入一单层卷积层;

所述卷积神经网络的96-126层为特征交互层,包含三个尺度,每个尺度内通过卷积核的方式实现局部的特征交互。

4

CN 110188720 A

说 明 书

一种基于卷积神经网络的目标检测方法及系统

1/11页

技术领域

[0001]本发明涉及目标识别领域,尤其涉及一种基于卷积神经网络的目标检测方法及系统。

背景技术

[0002]近几年随着人工智能技术深度学习的发展,尤其是提出了卷积神经网络技术后,目标检测的方法得到了持续性更新,检测效果也得到了质的飞跃。[0003]鉴于现有的目标检测技术的飞速发展,因此在大型商场中也有了广泛的应用。例如,商场中需要进行无人零售识别商品类别,在入口处进行人脸识别匹配,等等。因此在大型商场中,目标检测技术有非常好的发展前景。在现有的技术中,给定输入图像后,可以快速地检测出一张图像中的某一物体,或多个大型物体并标注出物体的位置与种类。可以快速的实现一个端到端的目标检测与识别。[0004]在现有的目标检测技术中,检测速度已经可以大致满足需求,但是准确率与识别效果还存在较大的缺陷。现有的目标检测技术中对于单个物体的检测效果较好,但如果需要检测紧凑密集或者高度重叠目标多个目标时,或者被检测物体在图中所占整体比例较小时均无法准确快速的达到期望的目标检测效果。这一缺陷在大型商场的场景应用中尤其严重,商品大小不一,且摆放密集,流动人群庞大,现有的图像检测技术无法满足在这一场景中的应用。并且现有的目标检测技术泛化能力较弱,对物体分类的不能达到期望的效果。若同一类物体出现的新的不常见的长宽比和其他情况时,也无法完成理想的检测效果。发明内容

[0005]为解决上述技术问题,本发明提供一种基于卷积神经网络的目标检测方法及系统,具体的,本发明的技术方案如下:[0006]一方面,本发明公开了一种基于卷积神经网络的目标检测方法,包括:构建被检测目标的数据集,所述被检测目标的数据集中包含被检测目标的图像数据;将所述被检测目标的数据集中的图像数据按照预设的比例划分至所述被检测目标的训练集、测试集、和验证集;对所述训练集、测试集和验证集的所有图像数据中的目标物体进行标注;构建卷积神经网络模型的网络结构;所述卷积神经网络模型采用不同的特征尺度来预测物体;在所述卷积神经网络模型中载入所述训练集进行训练;在所述卷积神经网络模型进行训练过程中,加载所述验证集,通过多重验证的方法,优化所述卷积神经网络模型的参数;通过所述测试集对所述卷积神经网络模型进行性能测试,检测所述卷积神经网络模型的泛化能力;采用泛化能力满足要求的卷积神经网络模型进行目标识别。[0007]优选地,所述在所述卷积神经网络模型中载入所述训练集进行训练包括:设置训练参数;所述训练参数包括初始学习率,权重衰减率,最大迭代次数;将所述训练集中的图像数据输入到所述卷积神经网络模型中进行循环迭代训练;训练结束后,提取训练结果。[0008]优选地,在训练所述卷积神经网络模型中,采用的损失函数计算公式如下:

5

CN 110188720 A

说 明 书

2/11页

lossfunction=bool*(2-areaPred)*bce+bool*(2-areaPred)[0009]*(whtrue-whpred)2+bool*bce+(1-bool)*bce*ignore[0010]+bool*bce[0011]其中:bool为置信度;bce为二值交叉熵;areaPred为预测框范围;whtrue为被检测目标在图像中的长宽真实值;whpred为被检测目标在图像中的长宽预测值;ignore为交并比(IOU)低于一定阈值的物体的忽略点位。[0012]优选地,所述在所述卷积神经网络模型进行训练过程中,加载所述验证集,通过多重验证的方法,优化所述卷积神经网络模型的参数包括:在所述卷积神经网络模型训练过程中,加载所述验证集;使用多重验证的方法,对所述卷积神经网络模型训练过程中的损失函数值进行记录;根据所述损失函数值,调整所述神经网络模型中各神经元之间的连接权重;判断当前训练是否满足预设的训练结束条件;当当前训练不满足预设的训练结束条件时,继续对所述神经网络模型进行训练;当当前训练满足预设的训练结束条件时,停止对所述卷积神经网络模型的训练,保存训练后的所述卷积神经网络模型的各参数。[0013]优选地,所述预设的训练结束条件为:所述损失函数值达到预设的损失函数阈值或训练次数达到预设的最大迭代次数。[0014]优选地,所述卷积神经网络的0-95层为深度卷积层,由卷积块和单层卷积层构成;所述卷积块包含两个卷积层和一个残差层;每若干卷积块之后插入一单层卷积层;所述卷积神经网络的96-126层为特征交互层,包含三个尺度,每个尺度内通过卷积核的方式实现局部的特征交互。[0015]另一方面,本发明还公开了一种基于卷积神经网络的目标检测系统,包括:数据集构建模块,用于构建被检测目标的数据集,所述被检测目标的数据集中包含被检测目标的图像数据;数据集划分模块,用于将所述被检测目标的数据集中的图像数据按照预设的比例划分至所述被检测目标的训练集、测试集、和验证集;标注模块,用于对所述训练集、测试集和验证集的所有图像数据中的目标物体进行标注;模型构建模块,用于构建卷积神经网络模型的网络结构;所述卷积神经网络模型采用不同的特征尺度来预测物体;训练模块,用于在所述卷积神经网络模型中载入所述训练集进行训练;验证优化模块,用于在所述卷积神经网络模型进行训练过程中,加载所述验证集,通过多重验证的方法,优化所述卷积神经网络模型的参数;测试模块,用于通过所述测试集对所述卷积神经网络模型进行性能测试,检测所述卷积神经网络模型的泛化能力;目标识别模块,用于通过泛化能力满足要求的卷积神经网络模型来进行目标识别。[0016]优选地,所述训练模块包括:参数设置子模块,用于设置训练参数;所述训练参数包括初始学习率,权重衰减率,最大迭代次数;训练子模块,用于将所述训练集中的图像数据输入到所述卷积神经网络模型中进行循环迭代训练;结果提取模块,用于训练结束后,提取训练结果。

[0017]优选地,所述验证优化模块包括:加载子模块,用于在所述卷积神经网络模型训练过程中,加载所述验证集;验证子模块,用于使用多重验证的方法,对所述卷积神经网络模型训练过程中的损失函数值进行记录;权重调整子模块,用于根据所述损失函数值,调整所述神经网络模型中各神经元之间的连接权重;判断子模块,用于判断当前训练是否满足预设的训练结束条件;当当前训练不满足预设的训练结束条件时,所述训练模块继续对所述

6

CN 110188720 A

说 明 书

3/11页

神经网络模型进行训练;参数存储子模块,用于当当前训练满足预设的训练结束条件时,所述训练模块停止对所述卷积神经网络模型的训练,保存训练后的所述卷积神经网络模型的各参数。

[0018]优选地,所述卷积神经网络的0-95层为深度卷积层,由卷积块和单层卷积层构成;所述卷积块包含两个卷积层和一个残差层;每若干卷积块之后插入一单层卷积层;所述卷积神经网络的96-126层为特征交互层,包含三个尺度,每个尺度内通过卷积核的方式实现局部的特征交互。

[0019]本发明改进了整体的卷积神经网络结构,运用多层卷积层进行运算,并增加了网络的特征交互层数,采用多尺度卷积运算实现,提高了图像特征提取精度,提高了运算精度,对小目标、紧凑密集或者高度重叠目标多个目标的检测效果均有大幅度提高。附图说明

[0020]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

[0021]图1为本发明基于卷积神经网络的目标检测方法实施例的流程图;[0022]图2为本发明基于卷积神经网络的目标检测方法另一实施例的流程图;[0023]图3为本发明中卷积神经网络模型的网络架构示意图;[0024]图4为卷积层内部结构示意图;[0025]图5为残差层内部结构示意图;

[0026]图6为本发明基于卷积神经网络的目标检测系统实施例的结构框图;[0027]图7为本发明基于卷积神经网络的目标检测系统另一实施例的结构框图。[0028]附图标记:

[0029]A--深度卷积层;B--特征交互层;100--数据集构建模块;200--数据集划分模块;300--标注模块;400--模型构建模块;500--训练模块;600--验证优化模块;700--测试模块;800--目标识别模块;510--参数设置子模块;520--训练子模块;530--结果提取子模块;610--加载子模块;620--验证子模块;630--权重调整子模块;0--判断子模块;650--参数存储子模块。

具体实施方式

[0030]以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。[0031]应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所述描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素、组件和/或集合的存在或添加。[0032]为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表

7

CN 110188720 A

说 明 书

4/11页

其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘出了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。[0033]还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。[0034]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。

[0035]本发明公开了一种基于卷积神经网络的目标检测方法,实施例1如图1所示,包括:[0036]S101,构建被检测目标的数据集,所述被检测目标的数据集中包含被检测目标的图像数据;[0037]训练卷积神经网络模型需要很多训练样本,因此,首先需要采集含有被检测目标的图像数据,比如如果想要该卷积神经网络模型可以识别到笔,那么就需要构建一个笔的数据集,里面含有大量的各种各样的笔的图片。卷积神经网络模型后续通过大量的笔的图片的学习,会从这些图片中提取笔的特征,从而可以在后期应用中识别各种场景中的笔。[0038]创建被检测目标的数据集。比如本实施例使用的数据集是从ImagNet数据库中根据所需检测的目标类别选取的图像,例如:茶杯,椅子,人等等。(ImagNet是一个用于视觉对象识别软件研究的大型可视化数据库,是世界上图像识别最大的数据库)。[0039]S102,将所述被检测目标的数据集中的图像数据按照预设的比例划分至所述被检测目标的训练集、测试集、和验证集;[0040]具体的,在构建好数据集之后,再将该数据集中的图片进行划分,划分的比例可根据需要进行预设,一般的训练集大约占80%,测试集和验证集各站10%左右的图像数据。较佳的,本实施例中,可将被检测目标的数据集中的78%的图像数据划分至训练集中;将10%的图像数据划分至测试集中,将12%的图像数据划分至验证集中。[0041]S103,对所述训练集、测试集和验证集的所有图像数据中的目标物体进行标注;[0042]具体的,要想让卷积神经网络可以准确识别出目标物体,那么我们必须先告诉他图片中哪些是目标物体,尤其是应用与各个商场中的目标物体的识别检测,其采集的各种商场图片中可能包含了各种各样的物品,那么在该图片中需要检测的目标物品叫什么名字,在图片中的哪个位置区域等都需要标注出来。也就是说,本步骤中对图像数据中的目标物体进行标注包括标注该图像数据中的目标物体名称及所处的位置区域。[0043]一般的,对所有的图像数据中需要被检测的目标进行标注工作,需要使用标注软件。主要目的是为了收集图像中被检测目标的位置坐标信息(x,y,w,h)。(x,y)是被检测目标的中心点在图中的位置坐标,(w,h)是被检测目标在图像中的长和宽。[0044]S104,构建卷积神经网络模型的网络结构;所述卷积神经网络模型采用不同的特征尺度来预测物体;[0045]具体的,为了可以识别出各种小目标物体,稠密物体,甚至是重叠部分的目标物体,则就对卷积神经网络模型的网络构架有更高的要求。

[0046]本实施例采用的是基于深度学习的端到端的目标检测算法。具体的,将目标区域

8

CN 110188720 A

说 明 书

5/11页

预测和目标类别预测整合于单个神经网络模型中,实现在准确率较高的情况下实时快速目标检测与识别。采用本实施例中的卷积神经网络模型(训练后)可以将整张图作为网络的输入,直接在输出层回归boundingbox的位置和boundingbox的类别。

[0047]本实施例中采用的卷积神经网络采用不同的特征尺度来预测物体,增加了网络的特征交互层数,通过在传统卷积神经网络的基础上改进整体的卷积神经网络结构,运用多层卷积层进行运算,采用多尺度卷积运算实现,提高了图像特征提取精度,提高了运算精度,对小目标、紧凑密集或者高度重叠目标多个目标的检测效果均有大幅度提高。[0048]S105,在所述卷积神经网络模型中载入所述训练集进行训练;[0049]构建好卷积神经网络模型的架构后,再将训练集加载到该模型中进行训练。[0050]S106,在所述卷积神经网络模型进行训练过程中,加载所述验证集,通过多重验证的方法,优化所述卷积神经网络模型的参数;[0051]具体的,在训练过程中,还需要结合验证集来对训练的卷积神经网络模型的参数进行调整。采用多重验证的方法,在训练过程中,比如训练了一定次数后,载入验证集来验证,计算现阶段的损失函数值为多少,再根据计算获得损失函数值反过来调整卷积神经网络的参数。然后继续训练,再验证,再调整、再训练,如此循环往复,通过多重验证的方式,一步步优化卷积神经网络模型的参数。[0052]S107,通过所述测试集对所述卷积神经网络模型进行性能测试,检测所述卷积神经网络模型的泛化能力;[0053]训练结束后,再通过测试集中的图像数据来检测训练后的卷积神经网络模型的性能,检测其泛化能力。泛化能力(generalization ability)是指机器学习算法对新鲜样本的适应能力。学习的目的是学到隐含在数据背后的规律,对具有同一规律的学习集以外的数据,经过训练的网络也能给出合适的输出,该能力称为泛化能力。[00]S108,采用泛化能力满足要求的卷积神经网络模型进行目标识别。[0055]具体的,如果检测到该卷积神经网络模型的泛化能力满足要求了,那么就可以保存该卷积神经网络模型的各参数,通过该卷积神经网络模型来进行小目标、密集目标等识别。

[0056]本实施例中,准备好已经完成分类和标注的数据集(包含训练集、验证集和测试集),将训练集加载入在构建好的卷积神经网络模型进行训练,训练过程中加载验证集进行验证。完成训练后加载训练结果数据。在测试程序中导入测试集图片进行测试,得到测试结果。本发明对于小目标和紧凑型目标有较好的识别度。[0057]上述实施例中,步骤S105在所述卷积神经网络模型中载入所述训练集进行训练包括:

[0058]S1051,设置训练参数;所述训练参数包括初始学习率,权重衰减率,最大迭代次数;

[0059]具体的,在训练开始之前,需要先对模型进行初始设置,一般的,需要先设置初始学习效率,比如,设置初始学习率0.1,每次下降4倍,到0.0005时终止;此外,还要设置权重衰减率及最大迭代次数等一系列训练参数。[0060]S1052,将所述训练集中的图像数据输入到所述卷积神经网络模型中进行循环迭代训练;

9

CN 110188720 A[0061]

说 明 书

6/11页

S1053,训练结束后,提取训练结果。

[0062]具体的,训练结束后,提取训练后的卷积神经网络模型的权重等参数,获得训练后的卷积神经网络模型。[0063]较佳的,在训练所述卷积神经网络模型中,损失函数同样发挥着举足轻重的作用。通过计算损失函数的大小,是学习过程中的主要依据也是学习后判断算法优劣的重要判据。常用的损失函数有均方误差(MSE),该计算方式是最经典也是最简单的损失函数,几乎万能,但是不太准确。本发明采用的损失函数由被检测目标的中心坐标的损失、被检测目标在图像中的长宽回归值损失、前背景置信度损失及类别损失这四个损失构成。[00]具体的,比如某图像中被检测目标的位置坐标信息(x,y,w,h)。其中,(x,y)是被检测目标的中心点在图中的位置坐标,(w,h)是被检测目标在图像中的长和宽。各损失计算如下:[0065](1)xy(物体中心坐标)的损失:xyloss=bool*(2-areaPred)*bce,其中,bool是置信度,其中bce是xy值的二值交叉熵损失,这个值越小整个损失值越小。[0066](2)计算wh(anchor长宽回归值)的损失:

[0067]whloss=bool*(2-areaPred)*(whtrue-whpred)2,在确保置信度(bool)的情况下,areaPred需要越大,wh需要尽可能靠近真实值wh。[0068](3)计算置信度损失(前背景)损失:bool*bce+(1-bool)*bce*ignore,其中bool为置信度,bce为预测值和实际置信度的二值交叉熵,ignore表示iou低于一定阈值的但确实存在的物体,是忽略的。在确保置信度(bool)的情况下,预测值需要尽可能靠近真实值,同时没有物体的部分需要尽可能靠近背景真实值,同时乘以相应的需要忽略点位。[0069](4)计算类别损失:bool*bce,置信度乘上个多分类的交叉熵。[0070]综上,对以上四项损失求和,即可得本发明采用的损失函数,具体的计算公式如下:

[0071]lossfunction=bool*(2-areaPred)*bce+bool*(2-areaPred)[0072]*(whtrue-whpred)2+bool*bce+(1-bool)*bce*ignore[0073]+bool*bce[0074]其中:bool为置信度;bce为二值交叉熵;areaPred为预测框范围;whtrue为被检测目标在图像中的长宽真实值;whpred为被检测目标在图像中的长宽预测值;ignore为交并比低于一定阈值的物体的忽略点位。[0075]本发明方法的另一实施例,如图2所示,包括:[0076]S201,构建被检测目标的数据集,所述被检测目标的数据集中包含被检测目标的图像数据;[0077]S202,将所述被检测目标的数据集中的图像数据按照预设的比例划分至所述被检测目标的训练集、测试集、和验证集;[0078]S203,对所述训练集、测试集和验证集的所有图像数据中的目标物体进行标注;[0079]S204,构建卷积神经网络模型的网络结构;所述卷积神经网络模型采用不同的特征尺度来预测物体;[0080]S205,在所述卷积神经网络模型中载入所述训练集进行训练;[0081]具体的,在训练开始之前,先设置初始学习率,权重衰减率,最大迭代次数等一系

10

CN 110188720 A

说 明 书

7/11页

列训练参数。然后再开始训练。[0082]S206,在所述卷积神经网络模型训练过程中,加载所述验证集;[0083]训练过程中还通过验证集来进行训练阶段的验证,因此,等待训练结束,提取训练结果(训练结束时卷积神经网络模型的各参数,比如各神经元权重、学习率等)。[0084]S207,使用多重验证的方法,对所述卷积神经网络模型训练过程中的损失函数值进行记录;[0085]S208,根据所述损失函数值,调整所述神经网络模型中各神经元之间的连接权重;[0086]S209,判断当前训练是否满足预设的训练结束条件;若是,进入步骤S210;否则,返回步骤S205继续对所述神经网络模型进行训练;[0087]具体的,预设的训练结束条件可自行设定,比如可以是损失函数值达到预设的损失函数阈值;或者训练次数达到预设的最大迭代次数等。[0088]S210,停止对所述卷积神经网络模型的训练,保存训练后的所述卷积神经网络模型的各参数;[00]S211,通过所述测试集对所述卷积神经网络模型进行性能测试,检测所述卷积神经网络模型的泛化能力;[0090]采用测试集测试:将训练结束后的训练结果(比如,训练结束后卷积神经网络模型当前各神经元的权重)加载入训练模型中,在测试代码中加载测试集数据进行性能测试并检测模型的泛化能力,得到测试结果。[0091]S212,采用泛化能力满足要求的卷积神经网络模型进行目标识别。[0092]本实施例中,在训练卷积神经网络模型的时候,还会对当前的训练情况进行验证,具体的,计算并保存当前训练模型的损失函数值,然后根据当前的损失函数值反过来调整训练模型的各神经元的权重,从而起到优化该训练模型的参数的作用,使得该训练模型输出的结果越来越正确,误差越来越小。当验证优化模块检测到当前训练模型的损失函数值已经达到预设的损失函数阈值的时候,则会先停止训练,保存当前的训练结果(各参数),然后再通过测试模块来对该训练模型进行测试,检测其泛化能力,通过这种方式训练出来的卷积神经网络模型对于小目标和紧凑型目标有较好的识别度。[0093]上述任一实施例中,所述卷积神经网络模型的网络架构具体如图3所示,该卷积神经网络模型的0-95层为深度卷积层(图中A部分);具体的,卷积神经网络模型的深度卷积层由卷积残差块(2*conv+1*res)和单层卷积层(conv)构成;所述卷积残差块包含两个卷积层和一个残差层;每若干卷积残差块之后插入一单层卷积层。卷积层和残差层内的具体结构如图4、图5所示。较佳的,本实施例中,深度卷积层总共68个卷积层,其余为残差层(residual)。

[0094]每个卷积层后都会有一个BN层(BatchNormalization)(进行批量标准化)和一个ReLU(激活函数)。具体的,在本实施例中每个卷积层有32个卷积核(filter),每个卷积核大小为3*3,步长为1。输入像素416*416*3的图片,经过卷积运算后输出得到416*416*32的feature map。Residual层不影响输入输出结果,即输入输出一般保持一致,主要作用是减小损失,控制梯度的传播。

[0095]78-109层是网络的特征交互层(图3中B部分)。由上层运算可得三个分支输出做出预测,输出特征图的大小分别为13*13,26*26,52*52三个尺度,每个尺度内,通过卷积核的

11

CN 110188720 A

说 明 书

8/11页

方式实现局部的特征交互,通过3*3和1*1的卷积运算方式实现feature map之间的局部特征交互。其中:13*13的特征图使用(116×90);(156×198);(373×326)这3个anchor;26*26的特征图使用(30×61);(62×45);(59×119)这3个anchor;52*52的特征图使用(10×13);(16×30);(33×23)这3个anchor。

[0096]本发明改进了整体的卷积神经网络结构,运用多层卷积层进行运算,并增加了网络的特征交互层数,采用多尺度卷积运算实现,提高了图像特征提取精度,提高了运算精度,对小目标、紧凑密集或者高度重叠目标多个目标的检测效果均有大幅度提高。[0097]另一方面,本发明还公开了一种基于卷积神经网络的目标检测系统,该目标检测系统可采用本发明的基于卷积神经网络的目标检测方法来检测目标物体,具体的,本实施的基于卷积神经网络的目标检测系统,如图6所示,包括:[0098]数据集构建模块100,用于构建被检测目标的数据集,所述被检测目标的数据集中包含被检测目标的图像数据;创建所需的图像数据集。具体的,比如本实施例使用的数据集是从ImagNet数据库中根据所需检测的目标类别选取的图像,例如:茶杯,椅子,人等等(ImagNet是一个用于视觉对象识别软件研究的大型可视化数据库,是世界上图像识别最大的数据库)。

[0099]数据集划分模块200,用于将所述被检测目标的数据集中的图像数据按照预设的比例划分至所述被检测目标的训练集、测试集、和验证集;具体的,数据集划分模块200对从ImageNet数据库中下载的图像数据进行分类,分为三类分布为训练集、测试集、验证集。划分比例可以提前预设,一般训练集所占比例较大,大约可以达到80%,测试集和验证集比例相近,大概各站10%左右,当然,在此基础上,可再进行细微调整,比如,本实施例中,训练集、测试集、验证集所占总体数据集的比例分别为(78%、10%、12%)。[0100]标注模块300,用于对所述训练集、测试集和验证集的所有图像数据中的目标物体进行标注;标注模块300对所有图像数据中需要被检测的目标进行标注工作,需要使用标注软件。主要目的是为了收集图像中被检测目标的位置坐标信息(x,y,w,h)。(x,y)是被检测目标的中心点在图中的位置坐标,(w,h)是被检测目标在图像中的长和宽。[0101]模型构建模块400,用于构建卷积神经网络模型的网络结构;所述卷积神经网络模型采用不同的特征尺度来预测物体;具体的,为了可以识别出各种小目标物体,稠密物体,甚至是重叠部分的目标物体,则就对卷积神经网络模型的网络构架有更高的要求。本实施例则是在传统卷积神经网络的基础上进行了改进,使得该卷积神经网络模型可以采用不同的特征尺度来预测物体。

[0102]本实施例改进了整体的卷积神经网络结构,运用多层卷积层进行运算,并增加了网络的特征交互层数,采用多尺度卷积运算实现,提高了图像特征提取精度,提高了运算精度,对小目标、紧凑密集或者高度重叠目标多个目标的检测效果均有大幅度提高[0103]训练模块500,用于在所述卷积神经网络模型中载入所述训练集进行训练;[0104]验证优化模块600,用于在所述卷积神经网络模型进行训练过程中,加载所述验证集,通过多重验证的方法,优化所述卷积神经网络模型的参数;[0105]具体的,在训练过程中,还需要结合验证集来对训练的卷积神经网络模型的参数进行调整。采用多重验证的方法,在训练过程中,比如训练了一定次数后,载入验证集来验证,计算现阶段的损失函数值为多少,再根据计算获得损失函数值反过来调整卷积神经网

12

CN 110188720 A

说 明 书

9/11页

络的参数。然后继续训练,再验证,再调整、再训练,如此循环往复,通过多重验证的方式,一步步优化卷积神经网络模型的参数。[0106]测试模块700,用于通过所述测试集对所述卷积神经网络模型进行性能测试,检测所述卷积神经网络模型的泛化能力;训练结束后,再通过测试集中的图像数据来检测训练后的卷积神经网络模型的性能,检测其泛化能力。[0107]目标识别模块800,用于通过泛化能力满足要求的卷积神经网络模型来进行目标识别。如果检测到该卷积神经网络模型的泛化能力满足要求了,那么就可以保存该卷积神经网络模型的各参数,后期可加载保存的卷积神经网络模型的各参数来进行小目标、密集目标等识别。[0108]较佳的,在上述系统实施例的基础上,如图7所示,所述训练模块500包括:[0109]参数设置子模块510,用于设置训练参数;所述训练参数包括初始学习率,权重衰减率,最大迭代次数;具体的,在训练开始之前,需要先对模型进行初始设置,一般的,需要先设置初始学习效率,比如,设置初始学习率0.1;此外,还要设置权重衰减率及最大迭代次数等一系列训练参数。[0110]训练子模块520,用于将所述训练集中的图像数据输入到所述卷积神经网络模型中进行循环迭代训练;

[0111]结果提取模块530,用于训练结束后,提取训练结果。具体的,训练结束后,提取(保存)训练后的卷积神经网络模型的权重等参数,获得训练后的卷积神经网络模型。[0112]较佳的,在训练所述卷积神经网络模型中,损失函数同样发挥着举足轻重的作用。通过计算损失函数的大小,是学习过程中的主要依据也是学习后判断算法优劣的重要判据。常用的损失函数有均方误差(MSE),该计算方式是最经典也是最简单的损失函数,几乎万能,但是不太准确。本发明采用的损失函数由被检测目标的中心坐标的损失、被检测目标在图像中的长宽回归值损失、前背景置信度损失及类别损失这四个损失构成。[0113]具体的,比如某图像中被检测目标的位置坐标信息(x,y,w,h)。其中,(x,y)是被检测目标的中心点在图中的位置坐标,(w,h)是被检测目标在图像中的长和宽。各损失计算如下:[0114](1)xy(物体中心坐标)的损失:xyloss=bool*(2-areaPred)*bce,其中,bool是置信度,其中bce是xy值的二值交叉熵损失,这个值越小整个损失值越小。[0115](2)计算wh(anchor长宽回归值)的损失:

[0116]whloss=bool*(2-areaPred)*(whtrue-whpred)2,在确保置信度(bool)的情况下,areaPred需要越大,wh需要尽可能靠近真实值wh。[0117](3)计算置信度损失(前背景)损失:bool*bce+(1-bool)*bce*ignore,其中bool为置信度,bce为预测值和实际置信度的二值交叉熵,ignore表示iou低于一定阈值的但确实存在的物体,是忽略的。在确保置信度(bool)的情况下,预测值需要尽可能靠近真实值,同时没有物体的部分需要尽可能靠近背景真实值,同时乘以相应的需要忽略点位。[0118](4)计算类别损失:bool*bce,置信度乘上个多分类的交叉熵。[0119]综上,对以上四项损失求和,即可得本发明采用的损失函数,具体的计算公式如下:

[0120]lossfunction=bool*(2-areaPred)*bce+bool*(2-areaPred)

13

CN 110188720 A[0121]

说 明 书

10/11页

*(whtrue-whpred)2+bool*bce+(1-bool)*bce*ignore

[0122]+bool*bce[0123]其中:bool为置信度;bce为二值交叉熵;areaPred为预测框范围;whtrue为被检测目标在图像中的长宽真实值;whpred为被检测目标在图像中的长宽预测值;ignore为交并比低于一定阈值的物体的忽略点位。[0124]采用本发明的损失函数,更加有利于对小目标物体识别模型的训练。[0125]上述实施例中,所述验证优化模块600包括:[0126]加载子模块610,用于在所述卷积神经网络模型训练过程中,加载所述验证集;[0127]验证子模块620,用于使用多重验证的方法,对所述卷积神经网络模型训练过程中的损失函数值进行记录;

[0128]权重调整子模块630,用于根据所述损失函数值,调整所述神经网络模型中各神经元之间的连接权重;[0129]判断子模块0,用于判断当前训练是否满足预设的训练结束条件;当当前训练不满足预设的训练结束条件时,所述训练模块500继续对所述神经网络模型进行训练;比如,预设的训练结束条件为:所述损失函数值达到预设的损失函数阈值或训练次数达到预设的最大迭代次数。那么只要验证子模块620验证到当前卷积神经网络模型的损失函数值达到预设的损失函数值或者训练的次数达到了之前预设的最大迭代次数就会结束训练。[0130]参数存储子模块650,用于当当前训练满足预设的训练结束条件时,所述训练模块500停止对所述卷积神经网络模型的训练,保存训练后的所述卷积神经网络模型的各参数。训练结束后,参数存储子模块650便会保存当前模型的各参数,后期测试模块700通过测试集测试时将之前保存的训练结果(保存的训练模型的各参数)加载入训练模型中,在测试代码中加载测试集数据进行性能测试并检测模型的泛化能力,如果检测到该模型的泛化能力满足要求,那么就可以采用该训练好的卷积神经网络模型来进行目标识别,尤其是商场中各类小目标、密集目标等的识别。如果泛化能力不满足要求,那么就会返回再对卷积神经网络模型模型进行训练,直到其泛华能力满足要求,通过充分的训练最终获得满足要求的卷积神经网络模型,保存其最终的训练结果(该训练好的卷积神经网络模型的各参数)。[0131]本发明中采用的卷积神经网络模型的网络架构如图3所示,所述卷积神经网络的0-95层为深度卷积层(图中A所示),卷积神经网络模型的深度卷积层由卷积块和单层卷积层构成;所述卷积块包含两个卷积层和一个残差层;每若干卷积块之后插入一单层卷积层。本实施例中的深度卷积层包含68个卷积层,其余为残差层。

[0132]每个卷积层后都会有一个BN层(BatchNormalization)(进行批量标准化)和一个ReLU(激活函数)。每个卷积层有32个卷积核(filter),每个卷积核大小为3*3,步长为1。输入像素416*416*3的图片,经过卷积运算后输出得到416*416*32的feature map。Residual层不影响输入输出结果,即输入输出一般保持一致,主要作用是减小损失,控制梯度的传播。

[0133]所述卷积神经网络的96-126层为特征交互层(图3中B所示),包含三个尺度,每个尺度内通过卷积核的方式实现局部的特征交互。由上层运算可得三个分支输出做出预测,输出特征图的大小分别为13*13,26*26,52*52三个尺度,每个尺度内,通过卷积核的方式实现局部的特征交互,通过3*3和1*1的卷积运算方式实现feature map之间的局部特征交互。

14

CN 110188720 A

说 明 书

11/11页

其中:13*13的特征图使用(116×90);(156×198);(373×326)这3个anchor;26*26的特征图使用(30×61);(62×45);(59×119)这3个anchor;52*52的特征图使用(10×13);(16×30);(33×23)这3个anchor。

[0134]本实施例的基于卷积神经网络的目标检测系统,改进了整体的卷积神经网络结构,运用多层卷积层进行运算,并增加了网络的特征交互层数,采用多尺度卷积运算实现,提高了图像特征提取精度,提高了运算精度,对小目标、紧凑密集或者高度重叠目标多个目标的检测效果均有大幅度提高。

[0135]本发明的装置实施例与本发明的方法实施例对应,本发明的基于卷积神经网络的目标检测方法的技术细节同样适用于本发明的基于卷积神经网络的目标检测装置,为减少重复,不再赘述。

[0136]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0137]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

[0138]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

[0139]尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。[0140]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

15

CN 110188720 A

说 明 书 附 图

1/5页

图1

16

CN 110188720 A

说 明 书 附 图

2/5页

图2

17

CN 110188720 A

说 明 书 附 图

3/5页

图3

图4

18

CN 110188720 A

说 明 书 附 图

4/5页

图5

图6

19

CN 110188720 A

说 明 书 附 图

5/5页

图7

20

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务