首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

自动驾驶关键技术之目标识别

版权声明:本文为IND4汽车人版权所有,未经网站官方许可严禁转载

目标识别是自动驾驶技术中非常重要的一个环节,下图是特斯拉早些时间放出的一组视频中的一幕,可以看到,特斯拉通过三个角度的摄像机同时传输着视频图像,并通过识别算法实时地对周围环境中的物体进行着识别,图例中可以发现特斯拉对车辆、行人及道路中线都完成了识别。目标识别一直都是无数专家学者研究的一大问题,传统的目标识别方法已经取得了不俗的成绩,深度学习进入该领域后又是不断创造着更好的记录。

基于计算机视觉技术的目标识别主要目的是识别出图像中有什么物体,并报告出这个物体在图像表示的场景中的位置和方向。对一个给定的图片进行目标识别,首先要判断目标有没有,如果目标没有,则检测和识别结束,如果有目标,就要进一步判断有几个目标,目标分别所在的位置,然后对目标进行分割,判断哪些像素点属于该目标。传统的目标识别算法的主要流程如下图所示。

传统的目标识别算法主要围绕特征选择和提取展开,通过设计人工特征算子,对输入图片进行特征提取。好的特征算子会使得物体类内之间的特征差距很小,而类间差距巨大,从而方便分类器将物体区分开来,实现计算机对不同目标的识别。深度学习进入该领域后,正是通过利用随机梯度下降法来不断更新神经元,而每一个神经元又是一个特征算子,从而不断训练出好的特征算子,提高分类能力。

此次,我们就来讲讲目标识别深度学习历程碑上重要的一环——RCNN。Region CNN(RCNN)可以说是利用深度学习进行目标检测的开山之作。作者Ross Girshick多次在PASCAL VOC的目标检测竞赛中折桂,2010年更带领团队获得终身成就奖。

RCNN算法分为4个步骤:首先对一张图像生成1K~2K个候选区域,其次对每个候选区域使用深度网络提取特征,随后将特征送入每一类的SVM 分类器进行判别,最后使用回归器精细修正候选框位置。

RCNN的第一步,采用selective search的方法提取候选区域。Selective search是基于图论的一种图像分割及合并的方法,实际上这里可以采用不同的方法来提取候选区域。当取得候选区域后,RCNN将所有的候选区域统一化尺寸为227*227。

RCNN采用的网络结构采用的是Alexnet,并且初始的网络参数也是完全采用了Alexnet的训练参数。在数据训练的时候,使用了ILVCR2012的全部训练数据,对1000类物体做出分辨。在后续的finetune阶段,将原本的1000类调整到21类,再使用PASCAL VOC 2017的数据进行训练,从而实现了对20类目标的识别分类。

如图所示,此时的RCNN会对一幅图片中的许多物体进行判别,产生了大量大小不均匀的方框(region proposal),这显然不能满足我们的需要。因此,RCNN的最后一步是修正候选框的位置。

RCNN将区域块的特征向量分别放入每一个SVM分类器中进行二值分类,并输出对每一个region proposal的得分。(这里的详细过程为:当我们提取2000个候选框,可以得到2000*4096这样的特征向量矩阵,然后我们只需要把这样的一个矩阵与SVM权值矩阵4096*N矩阵乘,得到2000*N的矩阵,就是每一个类对2000个候选框的打分,N为分类类别数目,就可以得到结果了)最后将得到所有region proposals的对于每一类的分数,再使用非极大值抑制方法对每一个SVM分类器类去除相交的多余的框。

非极大值抑制,顾名思义就是抑制不是极大值的元素,搜索局部的极大值。这个局部代表的是一个邻域,邻域有两个参数可变,一是邻域的维数,二是邻域的大小。例如在上图的车辆检测中,提取特征经分类器分类识别后,每个窗口都会得到一个分数。用极大值抑制的方法来选取这些窗口里分数最高(是熊的概率最大),并且抑制那些分数低的窗口。最后得到一个比较好的窗口,不多不少地框出我们所要识别的目标。

你以为就这样结束了吗?当然还没有!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171227G02II600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券