全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 数据分析与数据挖掘
991 0
2020-09-17
R-CNN,快速R-CNN,快速R-CNN,YOLO —对象检测算法
介绍
自从CNN以来,计算机视觉是一个跨学科领域,近年来受到了广泛的关注,并且自动驾驶汽车已成为焦点。计算机视觉的另一个组成部分是对象检测。对象检测有助于姿势估计,车辆检测,监视等。对象检测算法与分类算法之间的区别在于,在检测算法中,我们尝试在感兴趣的对象周围绘制边界框以将其定位在图像中。同样,在对象检测情况下,您不一定只绘制一个边界框,在图像中可能有许多边界框代表不同的感兴趣对象,并且您可能事先不知道有多少个边界框。
您不能通过建立标准的卷积网络以及完全连接的层来解决此问题的主要原因是,输出层的长度是可变的-不是恒定的,这是因为感兴趣的对象的出现次数是不固定。解决该问题的幼稚方法是从图像中获取不同的感兴趣区域,并使用CNN对该对象在该区域内的存在进行分类。这种方法的问题在于,感兴趣的对象可能在图像中具有不同的空间位置和不同的纵横比。因此,您将不得不选择大量的区域,这可能会导致计算爆炸。因此,已经开发了诸如R-CNN,YOLO等算法来发现这些事件并快速找到它们。
神经网络
为了绕过选择大量区域的问题,Ross Girshick等人。提出了一种使用选择性搜索从图像中仅提取2000个区域的方法,他将其称为区域建议。因此,现在,您可以尝试使用2000个区域,而不必尝试对大量区域进行分类。
将这2000个候选区域建议扭曲成一个正方形,并馈入一个卷积神经网络,该卷积神经网络生成4096维特征向量作为输出。CNN用作特征提取器,输出密集层由从图像中提取的特征组成,并将提取的特征输入到SVM中以对候选区域提议中对象的存在进行分类。除了预测区域提议中对象的存在之外,该算法还预测四个值,这些值是偏移值,以提高边界框的精度。例如,给定一个区域提议,该算法将预测一个人的存在,但是该人在该区域提议中的面孔可以被切成两半。因此,
R-CNN的问题
训练网络仍然需要大量时间,因为您必须为每个图像分类2000个区域建议。
由于每个测试图像大约需要47秒,因此无法实时实现。
选择性搜索算法是固定算法。因此,在那个阶段没有学习发生。这可能导致生成不良的候选区域建议。
快速R-CNN
先前论文的同一作者(R-CNN)解决了R-CNN的一些缺点,以构建一种更快的对象检测算法,该算法被称为Fast R-CNN。该方法类似于R-CNN算法。但是,我们将输入图像提供给CNN来生成卷积特征图,而不是将区域提议提供给CNN。从卷积特征图中,我们确定建议的区域并将其扭曲为正方形,并使用RoI合并层将其重塑为固定大小,以便可以将其输入到完全连接的层中。根据RoI特征向量,我们使用softmax层来预测拟议区域的类别以及边界框的偏移值。
“快速R-CNN”比R-CNN更快的原因是,您不必每次都向卷积神经网络提供2000个区域建议。取而代之的是,每个图像仅进行一次卷积操作,并从中生成特征图。

关注 CDA人工智能学院 ,回复“录播”获取更多人工智能精选直播视频!


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群