R-CNN,快速R-CNN,更快的R-CNN和YOLO之间的区别如下: (1)相同图像集的精度 (2)给定相同的图像大小,运行时间 (3)支持android移植
考虑这三个标准是最好的对象定位技术吗?
答案 0 :(得分:5)
R-CNN是所有提到的算法的爸爸算法,它确实为研究人员提供了在其上构建更复杂和更好的算法的途径。
R-CNN包含3个简单步骤:
快速R-CNN立即跟随R-CNN。快速R-CNN通过以下几点更快更好:
直观地说,删除2000转换层并使用一次卷积并在其上方制作盒子是非常有意义的。
快速R-CNN的一个缺点是选择性搜索速度慢,而快速R-CNN引入了一种叫做区域提议网络(RPN)的东西。
以下是RPN的工作原理:
在初始CNN的最后一层,3x3滑动窗口在特征地图上移动并将其映射到较低维度(例如256-d) 对于每个滑动窗口位置,它基于k个固定比率锚定框(默认边界框)生成多个可能的区域
每个地区提案都包含:
换句话说,我们会查看上一个特征图中的每个位置,并考虑以它为中心的k个不同的框:一个高框,一个宽框,一个大框等。对于每个框,我们输出是否或我们不认为它包含一个对象,以及该框的坐标是什么。这就是在一个滑动窗口位置看起来的样子:
2k分数表示每个k个边界框在“对象”上的softmax概率。请注意,虽然RPN输出边界框坐标,但它不会尝试对任何潜在对象进行分类:其唯一的工作仍然是提议对象区域。如果锚箱的“对象性”得分高于某个阈值,则该框的坐标将作为区域提案传递。
一旦我们收到了我们的地区提案,我们就会将它们直接送到基本上是快速R-CNN的地方。我们添加了一个池化层,一些完全连接的层,最后是一个softmax分类层和边界框回归器。从某种意义上说,更快的R-CNN = RPN +快速R-CNN。
YOLO使用单个CNN网络进行分类并使用边界框对对象进行本地化。这是YOLO的架构:
最后你将有一个1470的张量,即7 * 7 * 30,CNN输出的结构将是:
1470向量输出分为三个部分,给出概率,置信度和框坐标。这三个部分中的每一个还被进一步划分为49个小区域,对应于形成原始图像的49个单元的预测。
在后处理步骤中,我们从网络中获取此1470向量输出,以生成概率高于特定阈值的框。
我希望您能够了解这些网络,回答有关这些网络性能差异的问题:
鉴于相同的图像尺寸,运行时间:更快的R-CNN实现了更好的速度和最先进的精度。值得注意的是,虽然未来的模型在提高检测速度方面做了很多工作,但很少有模型能够以更高的优势超越更快的R-CNN。更快的R-CNN可能不是最简单或最快的物体检测方法,但它仍然是性能最佳的方法之一。然而,研究人员使用YOLO进行视频分割,到目前为止,它在视频分割方面是最好和最快的。
支持Android移植:据我所知,Tensorflow有一些Android API可以移植到android但是我不确定这些网络将如何执行,甚至你能不能移植它。这再次受到硬件和data_size的影响。您能否提供硬件和尺寸,以便我能够清楚地回答。
由@A_Piro标记的youtube视频也给出了一个很好的解释。
<强> P.S。我从Joyce Xu Medium博客那里借了很多材料。
答案 1 :(得分:1)
如果您对这些算法感兴趣,您应该查看本课程,该课程将通过您命名的算法https://www.youtube.com/watch?v=GxZrEKZfW2o。
PS:如果我记得哈哈,还有一个快速的YOLO!
答案 2 :(得分:0)
我已经与YOLO和FRCNN进行了大量合作。对我来说,YOLO具有最佳的准确性和速度,但是如果您要进行图像处理研究,我会建议FRCNN,因为许多以前的工作都是使用它完成的,并且您确实希望保持一致。
答案 3 :(得分:0)
对于对象检测,我正在尝试 SSD+ Mobilenet。它具有准确性和速度的平衡,因此也可以轻松地以良好的 fps 移植到 android 设备。
与更快的 rcnn 相比,它的准确度较低,但比其他算法更快。
对安卓移植也有很好的支持。