百科问答小站 logo
百科问答小站 font logo



目标检测算法中Two-stage算法速度慢,到底在哪里? 第1页

  

user avatar   baiyangharen 网友的相关建议: 
      

这么讲吧,two-stage比one-stage真正的损耗在于two-stage必须保证input image的resolution,拿以前的Pascal来说,two-stage的FRCN默认setting最短边缩放到600,最长边不超过1000,COCO的默认setting最短边缩放到800,最长边不超过1333,;而one-stage的SSD包括yolo,512*512甚至416*416就可以达到相近的performance,你们算算这里差多少。用低resolution我也跑过two-stage,直接血崩,但是速度和one-stage差距很小。

很多答案说two-stage有RPN,有ROI Pooling,还有后面region-wise的head计算所以慢,其实在RPN提出之后这些计算损耗相比backbone而言我认为是可以忽略不计的了(以前SS的时候2000个proposal确实是很高的损耗,RPN之后300个proposal计算非常小。还有RFCN的PSROI Pooling并没有比ROI Pooling快到哪里去),关键在于(i) input resolution; (ii)特别设计过的那些轻量但是performance不错的darknet 系列。

我个人认为,two-stage由于需要显式的计算region中的feature,所以对于resolution的要求更高,同样对于不同问题的robust更强;而one-stage是非常隐式的用统一的卷积去学习feature进行预测,所以对于resolution的需求不高,同样的robust相比也弱一些,反正我是很讨厌yolo那套东西,放在不同问题上需要精细调参才可以work。

我记得大概19年除了好多bridging one-stage & two-stage的文章,不知道有没有做过那low resolution input的实验。不过意义也不大了,现在的重点不纠结于这一块。


user avatar   bu-zhi-zhe-17-95 网友的相关建议: 
      

刚一只脚入门,一点愚见。

Two-stage方法是先生成region proposal再将其喂给detect head。detect head 只是一个将二维图的部分区域对应的region feature通过Fully-connected layers 输出softmax结果(分类)和box regressor结果(位置)。这一部分的速度基本上和图像检测这一细分类别没有直接关系,而是由FC layers 处理feature向量的速度所影响的。

那么主要的问题就出现在生成region proposal的过程中。在R-CNN中使用的是selective search 算法,非常耗时。到了Fast R-CNN中不再直接根据图片选择region,而是先让图片经过CNN得到一个convolutional feature map,再利用RoI pooling对feature map筛选region proposals。这相对于R-CNN已经快很多了,单张图片的检测处理速度达到了2.3s(相比较于R-CNN的49s)。但是,Fast R-CNN花费了大约2s的平均时间在生成region proposals这一步。因此,Faster R-CNN正是为了优化这一部分的时间,也就是生成region proposal的过程。Faster 提出了一个新的网络模型Region Proposal Networks(RPN)来选择regions,再将其投影到原本的feature map上,从而进行feature-related proposal的筛选。至此单张图片的检测时间降至198ms(0.2s)。

不得不提的是,这三篇开山之作都是出自Facebook的FAIR组,Ross Grishick & Kaiming He大佬等人。不知道什么时候才可以望其项背:-I




更/

眼一花才看清问题是进一步问faster rcnn的速度慢在哪,权当我的梳理文吧见笑了。关于原问题的回答以后有余力再补充




  

相关话题

  美团公开外卖订单分配算法,详解算法如何判断一个骑手的时间宽裕程度和顺路程度,有哪些值得关注的信息? 
  假如我穿越到2017年第一个提出了Transformer、BERT等模型,我可以保送到清华北大吗? 
  CV方向多模态融合有哪些好的paper? 
  一张图片怎么用matlab 把颜色反相,就是红的部分变成绿的,蓝的部分变成黄的? 
  GPU 与 CPU 比较,为什么说 GPU 更适合深度学习? 
  如何看待Geoffrey Hinton的言论,深度学习要另起炉灶,彻底抛弃反向传播? 
  如何通俗易懂地讲解 Photoshop 中的「通道」概念? 
  为什么 BERT 的 intermediate_size 这么大? 
  1000桶水,其中一桶有毒,猪喝毒水后会在15分钟内死去,想用一个小时找到这桶毒水,至少需要几头猪? 
  深度学习attention机制中的Q,K,V分别是从哪来的? 

前一个讨论
基于对比学习(Contrastive Learning)的文本表示模型【为什么】能学到语义【相似】度?
下一个讨论
2020年,多标签学习(multi-label)有了哪些新的进展?





© 2024-05-20 - tinynew.org. All Rights Reserved.
© 2024-05-20 - tinynew.org. 保留所有权利