一种基于深度学习的目标检测方法和系统
技术领域
本发明涉及人工智能领域,尤其是一种基于深度学习的目标检测方法和系统。
背景技术
目标检测作为计算机视觉领域的基础问题,一直备受关注,并且在无人驾驶、视频监控、视频分析等领域有着广泛应用。在深度学习出现之前,传统的目标检测方法一般分为三步:首先进行区域选择,然后对目标区域提取特征,最后对预测结果进行分类回归,其中具有代表性的方法有:背景减除法,光流法等。传统的算法不可避免存在两个缺点:一是区域选择的策略效果差,时间复杂度高;二是手工提取的特征鲁棒性较差;深度学习技术的出现革新了目标检测的模式,提升了目标检测的精度和鲁棒性。
目前,基于深度学习的目标检测方法主要分为两类:基于区域提议和基于边框回归的模型。基于区域提议的目标检测主要分为两步:首先生成可能区域(Region Proposal)并通过卷积神经网络(CNN)提取特征,然后放入分类器分类并修正位置。基于边框回归的目标检测算法的思想在于直接对预测的目标物体进行边框回归,具体做法是首先将图片变换到固定尺寸并划分成一个S*S的网格,然后通过卷积神经网络提取每个网格的特征,最后在分类器上直接输出预测结果。基于区域提议的目标检测算法由于在提取感兴趣区域的过程中耗时严重,并不适合于实时检测。
而基于边框回归的算法的检测实时性相对更好,但是其也存在过于依赖预训练模型和检测精度不够高等问题,需要改进。
发明内容
为解决上述技术问题,本发明的目的在于:提供一种不依赖预训练模型且精度好的基于深度学习的目标检测方法和系统。
本发明所采取的第一种技术方案是:
一种基于深度学习的目标检测方法,包括以下步骤:
获取待处理图像;
对待处理图像进行预处理,得到第一图像;
将第一图像输入到卷积神经网络进行特征提取,得到第一特征图,以第一特征图作为第一组输入数据;
执行n次设定操作,得到第二至第n+1组输入数据;
根据第一至第n+1组输入数据对待处理图像所包含的目标的种类以及每个目标所在的位置进行预测,得到预测结果;
所述设定操作具体包括:
将第i特征图进行卷积操作,得到第i+1特征图;
将第i特征图进行池化卷积操作,然后将对第i特征图进行池化卷积操作得到的结果与第i+1特征图进行组合,得到第i+1组输入数据。
进一步,所述执行n次设定操作,得到第二至第n+1组输入数据具体包括:
将第一特征图进行卷积操作,得到第二特征图;
将第一特征图进行池化卷积操作,然后将对第一特征图进行池化卷积操作得到的结果与第二特征图进行组合,得到第二组输入数据;
将第二特征图进行卷积操作,得到第三特征图;
将第二特征图进行池化卷积操作,然后将对第二特征图进行池化卷积操作得到的结果与第三特征图进行组合,得到第三组输入数据;
将第三特征图进行卷积操作,得到第四特征图;
将第三特征图进行池化卷积操作,然后将对第三特征图进行池化卷积操作得到的结果与第四特征图进行组合,得到第四组输入数据;
将第四特征图进行卷积操作,得到第五特征图;
将第四特征图进行池化卷积操作,然后将对第四特征图进行池化卷积操作得到的结果与第五特征图进行组合,得到第五组输入数据;
将第五特征图进行卷积操作,得到第六特征图;
将第五特征图进行池化卷积操作,然后将对第五特征图进行池化卷积操作得到的结果与第六特征图进行组合,得到第六组输入数据。
进一步,所述卷积神经网络为RseNet101卷积神经网络。
进一步,所述对待处理图像进行预处理,得到第一图像,其具体包括:
对待处理图像进行亮度和对比度的增强处理、旋转处理以及缩放处理,得到第一图像。
进一步,所述卷积操作包括一次1*1卷积和一次步长为2的3*3卷积。
进一步,所述池化卷积操作包括一次步长为2的2*2池化和一次1*1卷积。
进一步,所述预测结果为置信度最大的预测结果。
本发明所采取的第二种技术方案是:
一种基于深度学习的目标检测系统,包括:
输入模块,用于获取待处理图像;
预处理模块,用于对待处理图像进行预处理,得到第一图像;
特征提取模块,用于将第一图像输入到卷积神经网络进行特征提取,得到第一特征图,以第一特征图作为第一组输入数据;
第一卷积模块,用于将第一特征图进行卷积操作,得到第二特征图;
第一下采样模块,用于将第一特征图进行池化卷积操作,然后将对第一特征图进行池化卷积操作得到的结果与第二特征图进行组合,得到第二组输入数据;
第二卷积模块,用于将第二特征图进行卷积操作,得到第三特征图;
第二下采样模块,用于将第二特征图进行池化卷积操作,然后将对第二特征图进行池化卷积操作得到的结果与第三特征图进行组合,得到第三组输入数据;
第三卷积模块,用于将第三特征图进行卷积操作,得到第四特征图;
第三下采样模块,用于将第三特征图进行池化卷积操作,然后将对第三特征图进行池化卷积操作得到的结果与第四特征图进行组合,得到第四组输入数据;
第四卷积模块,用于将第四特征图进行卷积操作,得到第五特征图;
第四下采样模块,用于将第四特征图进行池化卷积操作,然后将对第四特征图进行池化卷积操作得到的结果与第五特征图进行组合,得到第五组输入数据;
第五卷积模块,用于将第五特征图进行卷积操作,得到第六特征图;
第五下采样模块,用于将第五特征图进行池化卷积操作,然后将对第五特征图进行池化卷积操作得到的结果与第六特征图进行组合,得到第六组输入数据;
预测模块,用于根据第一组输入数据、第二组输入数据、第三组输入数据、第四组输入数据、第五组输入数据和第六组输入数据对待处理图像所包含的目标的种类以及每个目标所在的位置进行预测,得到预测结果。
进一步,所述卷积操作包括一次1*1卷积和一次步长为2的3*3卷积。
进一步,所述池化卷积操作包括一次步长为2的2*2池化和一次1*1卷积。
进一步,所述卷积神经网络为RseNet101卷积神经网络。
本发明的有益效果是:本发明的每次卷积操作的输入是前面所有卷积操作的输出的组合,因而本发明将不同尺度的特征图进行了融合,同时也减少了参数量,此时利用多个尺寸的特征图进行预测,可以在保证本发明检测效果的同时实现网络模型的精简,也就是说本发明能够在提升检测准确率的同时控制模型的复杂度,摆脱对预训练模型的依赖,使本发明具有更好的鲁棒性。
附图说明
图1为本发明一种具体实施例的基于深度学习的目标检测方法的流程图;
图2为本发明一种具体实施例的基于深度学习的目标检测系统的模块框图。
具体实施方式
名词解释:
CNN(Convolutional Neural Network):卷积神经网络。
ResNet101(Residual Neural Network):残差网络,一种更深的,准确率更高的卷积神经网络。
VGG16(Visual Geometry Group Network):视觉几何群网络,一种基础的卷积神经网络。
下面结合说明书附图和具体的实施例对本发明进行进一步的说明。
参照图1,本实施例公开了一种基于深度学习的目标检测方法,其包括以下步骤:
S101、获取待处理图像;
S102、对待处理图像进行预处理,得到第一图像;
S103、将第一图像输入到卷积神经网络进行特征提取,得到第一特征图,以第一特征图作为第一组输入数据;
S104、执行n次设定操作,得到第二至第n+1组输入数据;
S105、根据第一至第n+1组输入数据对待处理图像所包含的目标的种类以及每个目标所在的位置进行预测,得到预测结果;
所述设定操作具体包括:
将第i特征图进行卷积操作,得到第i+1特征图;
将第i特征图进行池化卷积操作,然后将对第i特征图进行池化卷积操作得到的结果与第i+1特征图进行组合,得到第i+1组输入数据。
具体地,所述n次设定操作中,i的取值均从1开始,每次取值加1。
例如,第一次设定操作中,i取值为1,即第一设定操作为:将第一特征图进行卷积操作,得到第二特征图;将第一特征图进行池化卷积操作,然后将对第一特征图进行池化卷积操作得到的结果与第二特征图进行组合,得到第二组输入数据;
第二次设定操作中,i取值为2,即第二次设定操作为:将第二特征图进行卷积操作,得到第三特征图;将第二特征图进行池化卷积操作,然后将对第二特征图进行池化卷积操作得到的结果与第三特征图进行组合,得到第三组输入数据。以此类推,第n次操作,i取值为n。
本实施例公开了一种基于深度学习的目标检测方法,该方法中执行了5次设定操作,其包括以下步骤:
S201、获取待处理图像;
所述待处理图像可能是视频监控的图像帧、也可能是一个电子海报、或者是一张照片,所述待处理图像在本实施例中的尺寸为1920*1080。当然,待处理图像也可以是其他规格的图像,如720p等。
S202、对待处理图像进行预处理,得到第一图像。
在本实施例中,预处理主要的目的是将图像缩放成本方法所需要的尺寸,在本实施例中,第一图像的尺寸为300*300。
S203、将第一图像输入到卷积神经网络进行特征提取,得到第一特征图,以第一特征图作为第一组输入数据。在本实施例中,经过卷积神经网络进行特征提取后得到的第一特征图的尺寸为38*38。
优选地,卷积神经网络可以采用RseNet101卷积神经网络实现,RseNet101卷积神经网络相对于VGG16卷进神经网络增加了网络深度同时保证收敛,从而大大提升了卷积神经网络的特征提取能力。
S204、将第一特征图进行卷积操作,得到第二特征图;
在本实施例中,所述卷积操作包括一次1*1卷积和一次步长为2的3*3卷积,其实质是两次卷积的组合操作。
经过卷积操作后,第一特征图从38*38的尺寸变成了第二特征图19*19的尺寸。
S205、将第一特征图进行池化卷积操作,然后将对第一特征图进行池化卷积操作得到的结果与第二特征图进行组合,得到第二组输入数据。
本实施例中,所述池化卷积操作为一次2*2的池化和一次1*1的卷积的组合操作。对第一特征图进行池化卷积操作后,得到的结果的尺寸也是19*19的特征图,将第二特征图与池化卷积操作后得到的结果进行组合,因此第二组输入数据为一张19*19的组合特征图。所述组合是相加求平均的运算。
S206、将第二特征图进行卷积操作,得到第三特征图。
在本实施例中,对尺寸为19*19的第二特征图进行卷积操作,得到尺寸为10*10的第三特征图。
S207、将第二特征图进行池化卷积操作,然后将对第二特征图进行池化卷积操作得到的结果与第三特征图进行组合,得到第三组输入数据。
同理,本步骤对第二特征图进行池化卷积操作后,得到的结果为10*10的特征图,所述第三组输入数据为一张尺寸为10*10的组合特征图。
S208、将第三特征图进行卷积操作,得到第四特征图。
在本步骤对第三特征图进行卷积操作,得到尺寸为5*5的第四特征图。
S209、将第三特征图进行池化卷积操作,然后将对第三特征图进行池化卷积操作得到的结果与第四特征图进行组合,得到第四组输入数据;
所述第四数据为尺寸为5*5的组合特征图。
S2010、将第四特征图进行卷积操作,得到第五特征图。
所述第五特征图的尺寸为3*3。
S2011、将第四特征图进行池化卷积操作,然后将对第四特征图进行池化卷积操作得到的结果与第五特征图进行组合,得到第五组输入数据。
所述第五组输入数据的尺寸为3*3。
S2012、将第五特征图进行卷积操作,得到第六特征图。
所述第六特征图的尺寸为1*1。
S2013、将第五特征图进行池化卷积操作,然后将对第五特征图进行池化卷积操作得到的结果与第六特征图进行组合,得到第六组输入数据;
最终第六组输入数据的尺寸为1*1。
S2014、根据第一组输入数据、第二组输入数据、第三组输入数据、第四组输入数据、第五组输入数据和第六组输入数据对待处理图像所包含的目标的种类以及每个目标所在的位置进行预测,得到预测结果。
在本实施例中,仅保留可能性最大的5种预测结果,然后将置信度最高的预测结果作为最终的预测结果。
作为优选的实施例,所述对待处理图像进行预处理,得到第一图像,其具体包括:
对待处理图像进行亮度和对比度的增强处理、旋转处理以及缩放处理,得到第一图像。其中,旋转处理包括顺时针和逆时针5°的旋转。旋转处理、亮度和对比度的处理可以采用现有的图像处理引擎实现。
参照图2,本实施例公开了用于实现上述方法实施例的一种基于深度学习的目标检测系统,其包括:
输入模块,用于获取待处理图像;
预处理模块,用于对待处理图像进行预处理,得到第一图像;
特征提取模块,用于将第一图像输入到卷积神经网络进行特征提取,得到第一特征图,以第一特征图作为第一组输入数据;
第一卷积模块,用于将第一特征图进行卷积操作,得到第二特征图;
第一下采样模块,用于将第一特征图进行池化卷积操作,然后将对第一特征图进行池化卷积操作得到的结果与第二特征图进行组合,得到第二组输入数据;
第二卷积模块,用于将第二特征图进行卷积操作,得到第三特征图;
第二下采样模块,用于将第二特征图进行池化卷积操作,然后将对第二特征图进行池化卷积操作得到的结果与第三特征图进行组合,得到第三组输入数据;
第三卷积模块,用于将第三特征图进行卷积操作,得到第四特征图;
第三下采样模块,用于将第三特征图进行池化卷积操作,然后将对第三特征图进行池化卷积操作得到的结果与第四特征图进行组合,得到第四组输入数据;
第四卷积模块,用于将第四特征图进行卷积操作,得到第五特征图;
第四下采样模块,用于将第四特征图进行池化卷积操作,然后将对第四特征图进行池化卷积操作得到的结果与第五特征图进行组合,得到第五组输入数据;
第五卷积模块,用于将第五特征图进行卷积操作,得到第六特征图;
第五下采样模块,用于将第五特征图进行池化卷积操作,然后将对第五特征图进行池化卷积操作得到的结果与第六特征图进行组合,得到第六组输入数据;
预测模块,用于根据第一组输入数据、第二组输入数据、第三组输入数据、第四组输入数据、第五组输入数据和第六组输入数据对待处理图像所包含的目标的种类以及每个目标所在的位置进行预测,得到预测结果。
作为优选的实施例,所述卷积操作包括一次1*1卷积和一次步长为2的3*3卷积。
作为优选的实施例,所述池化卷积操作包括一次步长为2的2*2池化和一次1*1卷积。
作为优选的实施例,所述卷积神经网络为RseNet101卷积神经网络。
对于上述方法实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。