R-CNN究竟做了什么?是否就像使用CNN提取的功能来检测指定窗口区域中的类一样? 是否有任何tensorflow实现?
答案 0 :(得分:6)
R-CNN是所有提到的算法的爸爸算法,它确实为研究人员提供了在其上构建更复杂和更好的算法的途径。我试图解释R-CNN及其他变种。
R-CNN包含3个简单步骤:
快速R-CNN立即跟随R-CNN。快速R-CNN通过以下几点更快更好:
直观地说,删除2000转换层并使用一次卷积并在其上方制作盒子是非常有意义的。
快速R-CNN的一个缺点是选择性搜索速度慢,而快速R-CNN引入了一种叫做区域提议网络(RPN)的东西。
以下是RPN的工作原理:
在初始CNN的最后一层,3x3滑动窗口在特征地图上移动并将其映射到较低维度(例如256-d)对于每个滑动窗口位置,它基于k固定生成多个可能的区域-ratio锚箱(默认边界框)
每个地区提案都包含:
对于每个框,我们输出我们是否认为它包含一个对象,以及该框的坐标是什么。这就是在一个滑动窗口位置看起来的样子:
2k分数表示每个k个边界框在“对象”上的softmax概率。请注意,虽然RPN输出边界框坐标,但它不会尝试对任何潜在对象进行分类:其唯一的工作仍然是提议对象区域。如果锚箱的“对象性”得分高于某个阈值,则该框的坐标将作为区域提案传递。
一旦我们收到了我们的地区提案,我们就会将它们直接送到基本上是快速R-CNN的地方。我们添加了一个池化层,一些完全连接的层,最后是一个softmax分类层和边界框回归器。从某种意义上说,更快的R-CNN = RPN +快速R-CNN。
关联部分Tensorflow实施:
https://github.com/smallcorgi/Faster-RCNN_TF
https://github.com/CharlesShang/FastMaskRCNN
你可以找到很多Github的实现。
<强> P.S。我从Joyce Xu Medium博客那里借了很多材料。
答案 1 :(得分:5)
R-CNN正在使用以下算法:
有更多高级算法可以像快速R-CNN和更快的R-CNN一样构建。
快速-R-CNN:
更快的R-CNN:
在tensorflow中有很多植入专门用于更快的R-CNN,这是最近的变种只是谷歌更快的R-CNN张量流。
祝你好运