基于HOG特征和自编码器的目标检测方法与流程

文档序号:17742418发布日期:2019-05-24 20:17阅读:717来源:国知局
基于HOG特征和自编码器的目标检测方法与流程

本发明属于人工智能的目标检测和识别技术领域,具体涉及一种基于hog特征和自编码器的目标检测方法。



背景技术:

在基于机器视觉的目标检测方法中,最为常见的有两类:基于统计学习的特征提取+分类器设计算法和深度学习算法。其中深度学习算法在近几年得到广泛关注,但深度学习算法的计算量大、对硬件资源要求高,目前难以在嵌入式平台广泛应用。特征提取+分类器设计的方法以其计算量低、实时性好,且目标检测能力较强的优势目前被广泛应用于军事、交通、安防监控等各个领域。

目前特征提取+分类器设计的目标检测算法中,hog特征+svm分类器、haar特征+adaboost分类器、sift特征+svm方法等是较为成熟和主流的算法。其中hog特征+svm分类器具有较强的目标判别能力,典型应用于成像场景中行人检测识别;haar特征+adaboost分类器特点是计算速度快,采用弱分类器级联的方法保证计算速度的同时具有强分类器的检测性能,典型应用于人脸识别领域;sift特征以其平移、旋转、尺度不变性,广泛应用于军事目标识别领域。

在特征提取+分类器设计的方法中,特征提取决定了算法表征被检测目标特性能力的强弱,直接影响算法的检测性能。分析发现,典型的特征提取算法对目标进行特征计算后,特征向量的维度均较大。以上面典型的三种算法为例,对一个64×40大小的图像提取特征,hog维度大于500,sift特征超过600维,haar特征维度与级联分类器个数线性相关。分析可知,分类器对高维度的特征向量进行分类时,特征向量间的线性相关性会影响分类器的判别能力,降低算法的检测精度。



技术实现要素:

(一)要解决的技术问题

本发明要解决的技术问题是:在目标高度大于32个像素时,如何获得较高的检测率和较低的虚警率。

(二)技术方案

为解决现有技术问题,本发明提供一种基于hog特征和自编码器的目标检测方法,该方法包括:

步骤1:归一化输入图像,对目标图像提取hog特征;

步骤2:使用hog特征训练自编码器,得到多层自编码器和多次编码后的特征;

步骤3:使用编码后的特征和图像对应的标签有监督地训练softmax分类器;

步骤4:将自编码器组合成堆栈自编码器,并与softmax串联构成算法模型;

步骤5:使用输入图像的hog特征及其对应的图像标签对算法模型进行微调。

其中,所述步骤2包括:

a)训练第一个编码器;使用hog特征无监督地训练第一个自编码器,得到第一次编码后的特征;

b)训练第二个编码器;使用第一次编码后的特征训练第二个自编码器,得到第二次编码后的特征;

c)重复b)得到第n个自编码器和第n次编码后的特征。

(三)有益效果

本发明提出将hog特征和自编码器结合用于目标分类。本发明针对在特征提取+分类器设计方法中,特征提取后向量维度高、特征向量之间存在非线性,从而影响其线性可分性的问题,使用深度学习算法中自编码器方法,去除输入特征的线性相关性,得到其本质特征后,再使用分类器进行分类判别。通过本发明可以在目标高度大于32个像素时具有较高的检测率和较低的虚警率。

附图说明

图1为本发明技术方案原理图。

具体实施方式

为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。

自编码器是深度学习中用于解决神经网络算法在误差逆向传播时,误差逐层递减、导致其不能传递到前层网络的一种方法。自编码器是一种具有对称结构的神经网络模型,旨在训练一个恒等函数,使得输入与输出相同,限制其对称轴的隐层神经元数量,实现对数据的稀疏压缩表示。自编码器能够使得神经网络中每层神经元均包含原始输入数据的有用信息,使得多层深度网络的训练成为可能。

为解决现有技术问题,本发明提供一种基于hog特征和自编码器的目标检测方法,该方法包括:

步骤1:归一化输入图像,对目标图像提取hog特征;

步骤2:使用hog特征训练自编码器,得到多层自编码器和多次编码后的特征;

步骤3:使用编码后的特征和图像对应的标签有监督地训练softmax分类器;

步骤4:将自编码器组合成堆栈自编码器,并与softmax串联构成算法模型;

步骤5:使用输入图像的hog特征及其对应的图像标签对算法模型进行微调。

其中,所述步骤2包括:

a)训练第一个编码器;使用hog特征无监督地训练第一个自编码器,得到第一次编码后的特征;

b)训练第二个编码器;使用第一次编码后的特征训练第二个自编码器,得到第二次编码后的特征;

c)重复b)得到第n个自编码器和第n次编码后的特征。

实施例1

本实施例中,

1、归一化输入图像,对目标图像提取hog特征。

机器学习中,对目标检测算法进行训练和测试需要构造一个训练集合和一个测试集合,使用训练集确定算法模型参数,然后在测试集上测试算法的检测性能。在训练集和测试集中,正负样本的比例尽可能相同,且需满足比例介于1:2~1:4之间。

基于hog和自编码器的检测方法首先对图像进行归一化,使用双线性变换方法将图像缩放至固定大小,便于对输入图像计算hog特征。hog特征计算涉及到hog特征参数的选择,参数包括块区域的大小、细胞单元的大小、方向直方图的份数等,不同的参数对目标检测的性能影响不同,需要根据实际应用对参数进行调整。

以行人检测应用为例,如图1所示,缩放行人图像至64×40像素大小,选取块区域大小为8×8像素大小,使用有符号的18个方向通道和无符号9个方向通道两种方法统计每个细胞单元内的梯度方向直方图,并对每个细胞单元内直方图信息与周围4个方向邻域做归一化,从而得到行人图形的hog特征。

2、使用hog特征训练自编码器,得到多层自编码器和多次编码后的特征。

自编码器的设计需要确定自编码器的层数、每层网络的神经元个数、自编码器的稀疏系数和惩罚因子等参数。在自编码器层数设置方面,层数越多,堆栈组合后编码器的计算量越大。检测时影响堆栈自编码器计算量的因素为编码器层数和每层的神经元个数,在行人检测算法的实验以及深度学习的应用中发现,自编码器层数的加深编码效果优于每层神经元个数的扩宽。编码器参数的选取需要考虑到算法的计算能力以及应用平台的处理能力。

对自编码器采用逐层贪婪的无监督训练方法。逐层贪婪训练是对每一层网络相对独立训练,每次只处理一层网络,训练第k层时保证前面的(k-1)层网络结构参数不变,训练使得该层编码效果达到最优,这样保证了每层编码器的压缩编码效率,引入深层网络后不会对浅层网络产生影响。最后将每层自编码器堆栈组合成堆栈稀疏自编码器,进行误差逆向微调使得整个网络达到收敛。

算法得到检测目标的hog特征后,首先训练第一层自编码器,使得自编码器神经网络的输出与hog特征尽可能保持相同,训练停止条件为输出向量与输入向量差别在设定的误差范围内,或训练次数达到设定上限。自编码器网络中隐层神经元个数决定了第一层自编码器的输出编码特征向量的维度。训练完成后得到第一层自编码器和经过一次编码后的特征向量,使用编码特征训练第二层自编码器。同样,训练使得网络输出与一次编码后的特征尽可能保持相同,由此得到第二层自编码器和二次编码后的特征向量。以此类推,可得到第n个自编码器和经过n次编码后的特征。

3、有监督地训练softmax分类器。

使用softmax分类器对编码后的特征进行分类,判别输入特征的分类结果。使用编码特征和该特征所对应图像的标签进行训练,使之能够正确分类测试样本。

4、将自编码器和softmax分类器堆栈组成算法模型,并对模型进行有监督地微调。

将每层自编码器和softmax分类器堆栈组成算法模型,使用目标图像的hog特征及其对应的标签对模型进行误差逆向微调,将分类误差叠加到算法模型的参数上,进一步提升算法模型的检测性能。误差逆向微调可以解决自编码器在逐层贪婪训练时导致的局部最优问题,通过微调,可求得整个模型在解决hog特征编码和分类问题的全局最优解。微调结束后,得到基于hog和自编码器的目标检测方法模型,模型结构如图1所示。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1