1 简介
本文针对多种不同的交通标识给出了一种基于SVM识别方法.该方法首先在分析训练集交通标识图片特点的基础上,提取它们的HOG特征向量并形成矩阵形式;然后提取测试集交通标识的HOG特征向量,最后对测试集利用SVM根据HOG特征对图像进行识别;仿真结果验证了算法的有效性.
1.1 HOG特征的SVM分类原理
本文的交通标志识别分类算法主要包括训练和测试两个过程。首先,根据要分类的交通标识,建立训练图像集合,然后对训练图像集合的HOG特征进行提取。接着使用SVM对提取到训练图像的HOG特征做训练,构成分类模型。最后输入测试交通标识图像进行测试,对测试图像集合提取图像的HOG特征,使用训练过程中得到的分类模型提取得到的测试图像HOG特征对交通标志图像来去识别分类。
1.1.1HOG特征提取
对于HOG 来说,它其实是一个向量,这个向量是用来空间形状的,使用HOG的第一步就是要把图像的边缘轮廓提取出来,接下来就是把提取的图像轮廓处理分层,在分层时,各个层都会把上一层的每一个小块依照高和宽再等分成更小的块,然后分别提取每一块轮廓点的梯度方向直方图,其图像的形状特征为金子塔。正是因为HOG的分层提取和金字塔形状特征的这些特点使得它抵抗旋转和抵抗噪声的性能都很强,基于HOG的这些优良的特性,现在已经广泛应用于图像的查询检索还有模式识别等,而且效果比较优秀和稳固。当图像尺寸固定时,HOG 要计算的是不一样尺度情况下的特征,然后把这些特征给拼连在一块就得到了HOG特征。
1.1.2 支持向量机
Vapnik等人在20世纪60年代提出了支持向量机的方法[8],该方法能够在样本的数目不是很多的情况下达到比较满意的分类效果。支持向量机方法是已经知道了训练点的类别,进而来求训练点和类别它们两个之间相应的联系,可以把训练集按照类别区别开来,或者是预先估计新的训练点的相对应类别。总体上说可以把训练集区别为线性可分和非线性可分两种。而支持向量机的主要作用,就是解决这些分类问题。若支持向量机要解决的问题为非线性问题,可以把非线性问题简化成线性问题,该方法分两步实现:第一步选用合适的函数把训练集进行某种非线性变换,把非线性问题映射到高维的特征空间中去。第二步,对于高维特征空间,要在其中找出最优的分类超平面,这个分类超平面其实是和最初的模式空间中的非线性分类面是相对应的。
2 部分代码
function [ normHOG ] = HOGnormalization(HOG)
%UNTITLED9 Summary of this function goes here
% Detailed explanation goes here
normHOG=zeros(size(HOG,1)-1,size(HOG,2)-1,4*size(HOG,3));
for i=1:size(normHOG,1)
for j=1:size(normHOG,2)
normHOG(i,j,1:size(HOG,3))=HOG(i,j,:);
normHOG(i,j,(size(HOG,3)+1):(2*size(HOG,3)))=HOG(i,j+1,:);
normHOG(i,j,(2*size(HOG,3)+1):(3*size(HOG,3)))=HOG(i+1,j,:);
normHOG(i,j,(3*size(HOG,3)+1):(4*size(HOG,3)))=HOG(i+1,j+1,:);
end
end
norm=0;
for i=1:size(normHOG,1)
for j=1:size(normHOG,2)
for k=1:size(normHOG,3)
norm=norm+normHOG(i,j,k)^2;
end
if norm~=0
normHOG(i,j,:)= normHOG(i,j,:)/sqrt(norm);
norm=0;
end
end
end
end
3 仿真结果
4 参考文献
[1]张丽艳, 张伟, 龙美芳. 一种基于PHOG特征的SVM的交通标志识别方法[J]. 电脑知识与技术:学术版, 2018(9X):2.