发明内容
为解决上述技术问题,本发明的目的在于:提供一种不依赖预训练模型且精度好的基于深度学习的目标检测方法和***。
本发明所采取的第一种技术方案是:
一种基于深度学习的目标检测方法,包括以下步骤:
获取待处理图像;
对待处理图像进行预处理,得到第一图像;
将第一图像输入到卷积神经网络进行特征提取,得到第一特征图,以第一特征图作为第一组输入数据;
执行n次设定操作,得到第二至第n+1组输入数据;
根据第一至第n+1组输入数据对待处理图像所包含的目标的种类以及每个目标所在的位置进行预测,得到预测结果;
所述设定操作具体包括:
将第i特征图进行卷积操作,得到第i+1特征图;
将第i特征图进行池化卷积操作,然后将对第i特征图进行池化卷积操作得到的结果与第i+1特征图进行组合,得到第i+1组输入数据。
进一步,所述执行n次设定操作,得到第二至第n+1组输入数据具体包括:
将第一特征图进行卷积操作,得到第二特征图;
将第一特征图进行池化卷积操作,然后将对第一特征图进行池化卷积操作得到的结果与第二特征图进行组合,得到第二组输入数据;
将第二特征图进行卷积操作,得到第三特征图;
将第二特征图进行池化卷积操作,然后将对第二特征图进行池化卷积操作得到的结果与第三特征图进行组合,得到第三组输入数据;
将第三特征图进行卷积操作,得到第四特征图;
将第三特征图进行池化卷积操作,然后将对第三特征图进行池化卷积操作得到的结果与第四特征图进行组合,得到第四组输入数据;
将第四特征图进行卷积操作,得到第五特征图;
将第四特征图进行池化卷积操作,然后将对第四特征图进行池化卷积操作得到的结果与第五特征图进行组合,得到第五组输入数据;
将第五特征图进行卷积操作,得到第六特征图;
将第五特征图进行池化卷积操作,然后将对第五特征图进行池化卷积操作得到的结果与第六特征图进行组合,得到第六组输入数据。
进一步,所述卷积神经网络为ResNet101卷积神经网络。
进一步,所述对待处理图像进行预处理,得到第一图像,其具体包括:
对待处理图像进行亮度和对比度的增强处理、旋转处理以及缩放处理,得到第一图像。
进一步,所述卷积操作包括一次1*1卷积和一次步长为2的3*3卷积。
进一步,所述池化卷积操作包括一次步长为2的2*2池化和一次1*1卷积。
进一步,所述预测结果为置信度最大的预测结果。
本发明所采取的第二种技术方案是:
一种基于深度学习的目标检测***,包括:
输入模块,用于获取待处理图像;
预处理模块,用于对待处理图像进行预处理,得到第一图像;
特征提取模块,用于将第一图像输入到卷积神经网络进行特征提取,得到第一特征图,以第一特征图作为第一组输入数据;
第一卷积模块,用于将第一特征图进行卷积操作,得到第二特征图;
第一下采样模块,用于将第一特征图进行池化卷积操作,然后将对第一特征图进行池化卷积操作得到的结果与第二特征图进行组合,得到第二组输入数据;
第二卷积模块,用于将第二特征图进行卷积操作,得到第三特征图;
第二下采样模块,用于将第二特征图进行池化卷积操作,然后将对第二特征图进行池化卷积操作得到的结果与第三特征图进行组合,得到第三组输入数据;
第三卷积模块,用于将第三特征图进行卷积操作,得到第四特征图;
第三下采样模块,用于将第三特征图进行池化卷积操作,然后将对第三特征图进行池化卷积操作得到的结果与第四特征图进行组合,得到第四组输入数据;
第四卷积模块,用于将第四特征图进行卷积操作,得到第五特征图;
第四下采样模块,用于将第四特征图进行池化卷积操作,然后将对第四特征图进行池化卷积操作得到的结果与第五特征图进行组合,得到第五组输入数据;
第五卷积模块,用于将第五特征图进行卷积操作,得到第六特征图;
第五下采样模块,用于将第五特征图进行池化卷积操作,然后将对第五特征图进行池化卷积操作得到的结果与第六特征图进行组合,得到第六组输入数据;
预测模块,用于根据第一组输入数据、第二组输入数据、第三组输入数据、第四组输入数据、第五组输入数据和第六组输入数据对待处理图像所包含的目标的种类以及每个目标所在的位置进行预测,得到预测结果。
进一步,所述卷积操作包括一次1*1卷积和一次步长为2的3*3卷积。
进一步,所述池化卷积操作包括一次步长为2的2*2池化和一次1*1卷积。
进一步,所述卷积神经网络为ResNet101卷积神经网络。
本发明的有益效果是:本发明的每次卷积操作的输入是前面所有卷积操作的输出的组合,因而本发明将不同尺度的特征图进行了融合,同时也减少了参数量,此时利用多个尺寸的特征图进行预测,可以在保证本发明检测效果的同时实现网络模型的精简,也就是说本发明能够在提升检测准确率的同时控制模型的复杂度,摆脱对预训练模型的依赖,使本发明具有更好的鲁棒性。
具体实施方式
名词解释:
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。
优选地,卷积神经网络可以采用ResNet101卷积神经网络实现,ResNet101卷积神经网络相对于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卷积。
作为优选的实施例,所述卷积神经网络为ResNet101卷积神经网络。
对于上述方法实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。