基于深度学习的低功耗快速检测图像目标方法转让专利

申请号 : CN201810013809.6

文献号 : CN108280453B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 宋彬吴广伟郭洁梁大卫

申请人 : 西安电子科技大学

摘要 :

本发明公开了一种基于深度学习的低功耗快速检测图像目标方法,克服了现有技术中计算复杂度过高、神经网络模型占据较大磁盘空间的问题。本发明实现步骤为:(1)输入一幅300×300个像素的图像;(2)构建卷积神经网络;(3)第一次训练卷积神经网络;(4)第二次训练卷积神经网络;(5)计算卷积神经网络中与批量化层相邻卷积层权重系数和偏移值;(6)删除卷积神经网络中批量化层和比例缩放层;(7)输出目标检测坐标。由于本发明检测单张图像速度快、神经网络模型占据磁盘空间小,使得本发明具有可以部署在低功耗嵌入式设备上的优点。

权利要求 :

1.一种基于深度学习的低功耗快速检测图像目标方法,其特征在于,包括如下步骤:(1)输入一幅300×300个像素的图像;

(2)构建卷积神经网络:

构建一个含有主干神经网络、分类以及回归神经网络、输出网络三部分共189层的卷积神经网络;

(3)第一次训练卷积神经网络:

(3a)将300×300个像素的图像输入到卷积神经网络,计算卷积神经网络输出值与真实值之间的误差值;

(3b)利用反向传播算法训练卷积神经网络;

(3c)判断卷积神经网络输出值与真实值之间的误差值是否大于0.9,若是,则执行步骤(3a),否则,得到第一次训练好的卷积神经网络,执行步骤(4);

(4)第二次训练卷积神经网络:

(4a)将300×300个像素的图像调整为尺寸为224×224像素的图像;

(4b)将尺寸为224×224像素的图像输入到卷积神经网络,计算卷积神经网络输出值与真实值之间的误差值;

(4c)利用反向传播算法训练卷积神经网络;

(4d)判断卷积神经网络输出值与真实值之间的误差值是否大于0.9,若是,则执行步骤(4b),否则,得到第二次训练好的卷积神经网络,执行步骤(5);

(5)计算卷积神经网络中与批量化层相邻卷积层权重系数和偏移值:(5a)计算卷积神经网络中与批量化层相邻卷积层的权重系数;

(5b)计算卷积神经网络中与批量化层相邻卷积层的偏移值;

(6)删除卷积神经网络中批量化层和比例缩放层;

(7)输出目标检测坐标:

将尺寸为224×224像素的图像输入到卷积神经网络中,将网络输出层中每个神经元的输出值组成一组特征向量,特征向量表示卷积神经网络检测到的目标在该图像中的坐标值。

2.根据权利要求1所述基于深度学习的低功耗快速检测图像目标方法,其特征在于,步骤(3a)、步骤(4b)中所述卷积神经网络输出值与真实值之间误差值的计算公式如下:其中,L(x,c)表示卷积神经网络预测值与真实值之间的误差值,M表示训练过程中前景回归框的数量,N表示训练过程中回归框的总数量,xi表示卷积神经网络预测的第i个回归框与真实回归框的偏差,cj表示卷积神经网络对第j个回归框中所包含物体的预测概率。

3.根据权利要求1所述基于深度学习的低功耗快速检测图像目标方法,其特征在于,步骤(5a)中所述的卷积神经网络中与批量化层相邻卷积层的权重系数是由下式计算得到的:其中, 表示卷积神经网络中与批量化层相邻卷积层的权重系数,W表示卷积神经网络中与比例缩放层相邻卷积层的权重系数,W的取值范围是[-1,1],λ表示取值为0.0001的系数,δ、S1分别表示卷积神经网络中批量化层中的方差值与尺缩系数,δ的取值范围是[-2,

2],S1的取值范围是[-5,5],S2表示卷积神经网络中比例缩放层中的缩放因子,S2的取值范围是[-5,5]。

4.根据权利要求3所述基于深度学习的低功耗快速检测图像目标方法,其特征在于,步骤(5b)中所述的卷积神经网络中与批量化层相邻卷积层的偏移值是由下式计算得到的:其中,表示神经网络中与批量化层相邻卷积层的偏移值,b表示卷积神经网络中与比例缩放层相邻卷积层的偏移值,b的取值范围是[-1,1],μ表示卷积神经网络中批量化层中的均值系数,μ取值范围是[-1,1],b1表示卷积神经网络中比例缩放层中的偏移值,b1的取值范围是[-1,1]。

说明书 :

基于深度学习的低功耗快速检测图像目标方法

技术领域

[0001] 本发明属于图像处理技术领域,更进一步涉及目标检测技术领域中的一种基于深度学习的低功耗快速检测图像目标方法。本发明基于卷积神经网络技术,利用低功耗嵌入式设备对任意尺寸的自然图像进行目标检测与识别。

背景技术

[0002] 基于深度学习技术的图像目标检测与识别方法具有识别精度高、易于训练等特点,不受图像尺寸和光照强度的影响。随着自然图像目标检测与识别技术逐渐成熟,被广泛应用于军事和民用的等领域。由于深度学习技术计算复杂度过高,不可避免的只能运行在大型服务器上,极大地影响了深度学习技术在低功耗嵌入式设备的应用。
[0003] 目前,基于自然图像目标检测与定位方法主要有两阶段神经网络目标检测方法(Faster R-CNN)。两阶段神经网络检测方法是最近提出的一种新的图像目标检测与定位方法,该方法基于卷积神经网络,通过卷积神经网络提取图像中特征来实现对图像中目标进行分类以及区域定位。
[0004] Shao Ren,Kaiming He,Ross Girshick,Jian Sun在其发表的论文“Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Network”(Computer Vision and Pattern Recognition,CVPR,January 6,2016)中提出一种两阶段的基于自然图像的目标检测与定位方法。该方法首先通过区域建议网络(Region Proposal Network,RPN)生成建议图像区域,其中每张图像生成300个建议区域,把300个建议区域映射在最后一层神经网络中,通过建议区域池化层(ROI Pooling)生成固定尺寸的特征图,利用分类概率(Softmax)将特征图进行分类,然后通过边框回归(Bounding Box Regression)对目标进行定位。该方法可以实现对自然图像的定位,但是,该方法仍然存在的不足之处是,该方法计算复杂度过高,并且该方法使用的神经网络模型占用磁盘空间较大,导致Faster R-CNN算法不能部署在低功耗嵌入式设备上。
[0005] 博康智能网络科技股份有限公司拥有的专利技术“一种基于支持向量机的出租车识别方法”(专利申请号:201210356432.7,授权公告号:CN102902983B)中提出了一种基于支持向量机的目标检测方法。该专利技术采用面向梯度的直方图(Hog)特征提取算法对图像进行特征提取,将提取的特征通过支持向量机分类器(SVM),从而把图像分类为目标图像和非目标图像。该方法虽然能以较快速度识别出图像中的目标,但是,该方法仍然存在的不足之处是,该方法仅仅针对于图像的边缘特征、线性特征、中心环绕特征等特征,对于包含有噪音或者目标遮挡的图像,该方法检测效果较差。

发明内容

[0006] 本发明的目的在于克服上述现有技术的不足,提出一种基于深度学习的低功耗快速检测图像目标方法。
[0007] 实现本发明目的的思路是,该方法首先对卷积神经网络模型使用模型压缩技术来减少计算量,然后利用单指令多数据汇编技术进一步加快卷积神经网络在低功耗嵌入式设备上的运算速度。该方法不仅有效减少运行时间,同时很好的保持了目标检测与识别精度。
[0008] 为实现上述目的,本发明的具体步骤如下:
[0009] (1)输入一幅300×300个像素的图像;
[0010] (2)构建卷积神经网络:
[0011] 构建一个含有主干神经网络、分类以及回归神经网络、输出网络三部分共189层的卷积神经网络;
[0012] (3)第一次训练卷积神经网络:
[0013] (3a)将300×300个像素的图像输入到卷积神经网络,计算卷积神经网络输出值与真实值之间的误差值;
[0014] (3b)利用反向传播算法训练卷积神经网络;
[0015] (3c)判断卷积神经网络输出值与真实值之间的误差值是否大于0.9,若是,则执行步骤(3a),否则,得到第一次训练好的卷积神经网络,执行步骤(4);
[0016] (4)第二次训练卷积神经网络:
[0017] (4a)将300×300个像素的图像调整为尺寸为224×224像素的图像;
[0018] (4b)将尺寸为224×224像素的图像输入到卷积神经网络,计算卷积神经网络输出值与真实值之间的误差值;
[0019] (4c)利用反向传播算法训练卷积神经网络;
[0020] (4d)判断卷积神经网络输出值与真实值之间的误差值是否大于0.9,若是,则执行步骤(4b),否则,得到第二次训练好的卷积神经网络,执行步骤(5);
[0021] (5)计算卷积神经网络中与批量化层相邻卷积层权重系数和偏移值:
[0022] (5a)计算卷积神经网络中与批量化层相邻卷积层的权重系数;
[0023] (5b)计算卷积神经网络中与批量化层相邻卷积层的偏移值;
[0024] (6)删除卷积神经网络中批量化层和比例缩放层;
[0025] (7)输出目标检测坐标:
[0026] 将尺寸为224×224像素的图像输入到卷积神经网络中,将网络输出层中每个神经元的输出值组成一组特征向量,特征向量表示卷积神经网络检测到的目标在该图像中的坐标值。
[0027] 本发明与现有的技术相比具有以下优点:
[0028] 第一,由于本发明构建了包含主干神经网络、分类以及回归神经网络、输出网络三部分的189层卷积神经,通过卷积神经网络中的自学习特性,可以学习到图像的边缘特征、线性特征、中心环绕特征、纹理特征、空间关系特征和角点特征,克服了现有技术中仅仅提取图像的边缘特征、线性特征、中心环绕特征,而无法抑制图像中噪音的问题,使得本发明具有抑制图像中噪声的优点。
[0029] 第二,由于本发明删除了卷积神经网络中的比例缩放层,减少了卷积神经网络模型占据的磁盘空间,克服了现有技术中神经网络模型,占用较大磁盘空间不足,使得本发明具有可以部署在低功耗嵌入式设备上的优点。
[0030] 第三,由于本发明删除了卷积神经网络中的批量化层,去除了卷积神经网络中对批量化层的计算,克服了现有技术中计算复杂度过高的不足,使得本发明具有运行速度快的优点。

附图说明

[0031] 图1为本发明的流程图;
[0032] 图2为本发明在仿真实验中待检测的单目标测试图像;
[0033] 图3为本发明在仿真实验中待检测的多目标测试图像;
[0034] 图4为本发明在仿真实验获得的单目标检测图像;
[0035] 图5为本发明在仿真实验获得的多目标检测图像。

具体实施方式

[0036] 下面结合附图对本发明做进一步的描述。
[0037] 参照附图1,本发明的具体步骤如下:
[0038] 步骤1,输入一幅300×300个像素的图像。
[0039] 步骤2,构建卷积神经网络。
[0040] 构建一个含有主干神经网络、分类以及回归神经网络、输出网络三部分共189层的卷积神经网络。
[0041] 步骤3,第一次训练卷积神经网络。
[0042] 将300×300个像素的图像输入到卷积神经网络,计算卷积神经网络输出值与真实值之间的误差值。
[0043] 按照下式,计算卷积神经网络输出值与真实值之间误差值:
[0044]
[0045] 其中,L(x,c)表示卷积神经网络预测值与真实值之间的误差值,M表示训练过程中前景回归框的数量,N表示训练过程中回归框的总数量,xi表示卷积神经网络预测的第i个回归框与真实回归框的偏差,cj表示卷积神经网络对第j个回归框中所包含物体的预测概率。
[0046] 利用反向传播算法训练卷积神经网络。
[0047] 重复执行上述步骤,直到卷积神经网络输出值与真实值之间误差值小于等于0.9,得到训练好的卷积神经网络。
[0048] 步骤4,第二次训练卷积神经网络。
[0049] 将300×300个像素的图像调整为尺寸为224×224像素的图像。
[0050] 将尺寸为224×224像素的图像输入到卷积神经网络,计算卷积神经网络输出值与真实值之间的误差值。
[0051] 按照下式,计算卷积神经网络输出值与真实值之间误差值:
[0052]
[0053] 利用反向传播算法训练卷积神经网络。
[0054] 重复执行上述步骤,直到卷积神经网络输出值与真实值之间误差值小于等于0.9,得到训练好的卷积神经网络。
[0055] 步骤5,计算卷积神经网络中与批量化层相邻卷积层权重系数与偏移值。
[0056] 按照下式,计算卷积神经网络中与批量化层相邻卷积层的权重系数。
[0057]
[0058] 其中, 表示卷积神经网络中与批量化层相邻卷积层的权重系数,W表示卷积神经网络中与比例缩放层相邻卷积层的权重系数,W的取值范围是[-1,1],λ表示取值为0.0001的系数,δ、S1分别表示卷积神经网络中批量化层中的方差值与尺缩系数,δ的取值范围是[-2,2],S1的取值范围是[-5,5],S2表示卷积神经网络中比例缩放层中的缩放因子,S2的取值范围是[-5,5]。
[0059] 按照下式,计算卷积神经网络中与批量化层相邻卷积层的偏移值。
[0060]
[0061] 其中,表示神经网络中与批量化层相邻卷积层的偏移值,b表示卷积神经网络中与比例缩放层相邻卷积层的偏移值,b的取值范围是[-1,1],μ表示卷积神经网络中批量化层中的均值系数,μ取值范围是[-1,1],b1表示卷积神经网络中比例缩放层中的偏移值,b1的取值范围是[-1,1]。
[0062] 步骤6,删除卷积神经网络中批量化层和比例缩放层。
[0063] 步骤7,输出目标检测坐标。
[0064] 将尺寸为224×224像素的图像输入到卷积神经网络中,将网络输出层中每个神经元的输出值组成一组特征向量,特征向量表示卷积神经网络检测到的目标在该图像中的坐标值。
[0065] 下面结合仿真实验对本发明的效果做进一步说明。
[0066] 1.仿真实验条件:
[0067] 本发明使用了两个测试平台:
[0068] 第一个硬件测试平台是:处理器为Intel Xeon(R)CPU E5-2630,主频为2.30GHz,内存32GB,第一个软件平台为:Ubuntu 14.04LTS操作系统和Ipython 2.7。
[0069] 第二个硬件测试平台是:处理器为三星A9八核S5P6818,主频为1.4GHz,内存为2GB,第二个软件平台为Android 5.0操作系统和Android Studio2.2。本发明的输入图像分别为附图2、附图3,格式均为JPG。
[0070] 2.仿真内容:
[0071] 本发明的仿真实验具体分为三个仿真实验:
[0072] 仿真实验1是在第一个测试平台上测试本发明、现有技术的两阶段目标检测方法和单阶段目标检测方法分别处理一幅图像所消耗的时间。其中现有技术分别为,Shao Ren等人在文献“Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Network,Computer Vision and Pattern Recognition,CVPR,January 6,2016”中提到的图像目标检测方法,简称两阶段目标检测方法。Wei Liu等人在文献“SSD:Single Shot MultiBox Detector,Computer Vision and Pattern Recognition,CVPR,December 29,2016”中提到的图像目标检测方法,简称单阶段目标检测方法。
[0073] 本发明与现有技术处理一幅图像消耗时间对比如表1所示:
[0074] 表1本发明与现有技术处理一幅图像消耗时间
[0075] 本发明 两阶段目标检测方法 单阶段目标检测方法95毫秒 5900毫秒 1100毫秒
[0076] 仿真实验2是在第二个测试平台上,该平台为低功耗嵌入式设备,利用本发明对单目标图像进行图像目标检测与分类。其中,附图2作为输入的单目标图像,该图像来源于标准卡口图像库。附图4为本发明对附图2经过卷积神经网络计算得到的图像。其中附图4中的矩形框为目标在图像中的区域范围,附图4中“卡车”两字代表在矩形区域内检测到的目标为卡车。
[0077] 仿真实验3是在第二个测试平台上,该平台为低功耗嵌入式设备,利用本发明对多目标图像进行图像目标检测与分类。其中,附图3为输入的多目标图像,该图像来源于标准卡口图像库。附图5为本发明对附图3经过卷积神经网络运算得到的图像。图5中的两个矩形框为目标在图像中的区域范围,图5中的“卡车”两字表示左侧矩形框内检测到的目标为卡车,图5中的“私家车”三个字表示右侧矩形框内检测到的目标为私家车。
[0078] 3.仿真实验结果分析:
[0079] 从表1中可以看出,本发明方法对一张图像处理时间为95毫秒,两阶段目标检测方法对一张图像处理的时间为5900毫秒,单阶段目标检测方法对一张图像的处理时间为1100毫秒,由此可见,本发明比两阶段目标检测方法在处理一张图像消耗的时间减少了大约62倍,比单阶段目标检测方法在处理一张图像消耗的时间减少了大约11倍。
[0080] 从附图4、附图5可以看出,本发明得到的目标检测结果中目标坐标偏差较小,说明本发明可以在低功耗嵌入式设备上对单目标以及多目标图像进行目标检测。