基于深度学习的车型识别
2019-02-11刘冬琦
刘冬琦
河北衡水中学 河北 衡水 053000
一、选题的目的与意义
21世纪随着我们科技的高速发展,智能交通也飞速发展,车辆型号的识别受到越来越广泛的关注,它能够为个人,企业和政府的车辆使用以及监管提供诸多便利面对着日益复杂的交通问题,智能交通系统受到了越来越多的关注。传统的车型识别主要依靠工作人员调取监控视频来人为识别,但随着汽车行业的蓬勃发展,汽车数量越来越多,人工识别显然不适用于面对大量的汽车逐一识别,而运用人工智能来智能识别车型,不仅速度快,准确率也大幅度提高,因此智能化车型识别,也就是基于深度学习的车型识别是各国研发人员的一大开发热点。
1.1 研究的主要内容
(1)简单介绍了自己前期做的准备,自学了有关卷积神经网络方面的知识,对在相邻网络连接层的系统误差的理解,阐述了研究车辆型号识别的目的和意义,提出车辆分类算法新思路。
(2)对车型图像特征提取,边缘检测,基于分层结构的信息提取,卷积层和池化层(自己在紧张的课后基于兴趣自学的)然后分析了每类算法的优点和缺点,我们从中可以对比不同算法应用的不同场景。
(3)介绍了车型识别算法。我们使用SIFT特征匹配算法进行车型识别。
(4)使用计算机进行仿真。我们采用大量的实测图片作为基准,运用相关算法进行系统仿真。最后,我们校准了这两种方法的仿真结果。
二、前期准备
首先我们先要了解一下神经网络的基本概念。简单而言:受生物神经系统启发,结合算法,一种可以进行智能模式识别的数学系模型。假设一个多类问题,类别数为c一共有N个训练样本,选取平方误差作为代价函数,则系统误差计算如下:
相邻的网络层关系为:
我们使用各个元素一次相乘。Simulink网络更新传输模块对各层连接层的权重,最终训练得到神经网络。
接下来了解深度学习算法,在车型识别中,深度学习可以提取样本特性,并给出分类。针对图像识别,深度学习拥有大量经典算法,经过大量的实验研究,这些算法都有实践性和有效性。因此,深度学习可以应用于车型识别。基于神经网络对图像分割,对像素进行批处理,可以通过一次forward处理对其进行分类。数据集是必不可少的,自己所在的中学处于闹市区,每天车流量巨大,因此在一个合适的角度安放一个高清度摄像头采取数据集进行后期的数据训练。还要学习监督学习和无监督学习相关的知识,以便更好地掌握深度学习深处的奥妙。
三、SIFT特征匹配识别算法
具体而言,SIFT特征匹配算法有如下特点:
1.SIFT特征是图像的局部特征,稳定性好,其对平移旋转、图像的缩小或放大、亮度的变亮或变暗具有稳定性。
2.相比于粒子滤波算法,SIFT算法可以建立自适应综合特征词表无歧义性。
SIFT算法的相关数学运算:
有了以上数学表达式,我们对神经网络算法有了更深一步的了解。另外,在SIFT特征识别算法中,当输入数据是图像时,卷积层以3维的数据形式接收输入数据,并以相同方式输入至下一层,将这个结果保存在相应位置,就可以得到卷积运算的输出。
所以说,运用SIFT算法在车型识别中至关重要,目标检测,语义分割等都需要用到。
四、车辆特征提取
1.数据集。车辆数据集来自于本市的高清卡口车辆图像库,原始图片尺寸为2048*1536像素,大小容量为145 KB至290KB,其中很多图像来自各个路段的高清卡口,拍摄环境、时间、角度都有所不同,所以该数据集能很好的模拟实际场景下的识别情况,能很好的测试识别算法的性能。此处指的数据是原始的图片,没有经过预处理的。
2.特征提取。特征提取是车型识别的关键,采用某种聚类方式对提取到的车型特征进行聚类,特征提取到向量量化,用“词包”模型表示车型特征,然后找到处理后图像横坐标最大的像素和横坐标最小的像素,将两者横坐标最大的像素和横坐标最小的像素,横坐标相减,便可以得到车辆长度。自己选用的数据集也运用到了国际比较权威的KTH数据库,和自己收集的数据库相结合更具有可靠性。
3.系统仿真与结果
车型轮廓提取代码如下:
szuida=max(max(s));
szuixiao=min(min(s));
tk=(szuida+szuixiao)/2;
bcal=1;
Sdaxiao=size(s);
while(bcal)
ifore=0;
iback=0;
isum=0;
backsum=0;
for i=1:Sdaxiao(1)
for j=1:Sdaxiao(2)
tmp=s(i,j);
if(tmp>=tk)
ifore=ifore+1;
isum=isum+double(tmp);
else
iback=iback+1;
backsum=backsum+double(tmp);
end
end
end
so=isum/ifore;
sb=backsum/iback;
tktmp=uint8((so+sb)/2);
if(tktmp==tk)
bcal=0;
else
tk=tktmp;
end
end
s1=im2bw(s,double(tk)/255);
figure,imshow(s1);
s2=medfilt2(s1,[7,7]);
s3=bwareaopen(s2,200);
figure,imshow(s3);
基于SIFT特征匹配的车型识别
采用SIFT特征匹配算法后,不同车型识别准确率如下图所示
五、心得体会
随着深度学习理论的不断发展,在很多领域中有着广泛的应用。本文主要探索了深度学习在车型识别问题上的研究,提出了车型识别系统的算法流程,并深入地研究了基于深度卷积神经网络的车型识别算法。实验表明,这种方法有较好的识别率,运用到车型识别问题上,具有很好的应用前景。论文的主要亮点工作如下:
综述现有的车型识别和深度学习的国内外研究现状,介绍了深度学习基本理论,分析了深度学习与人工智能、机器学习三者之间的关系。针对车型识别的问题,结合深度卷积神经网络,提出了车型识别的具体算法流程,并对其中的车型识别模块进行了主要阐述。