百科问答小站 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的速度慢在哪,权当我的梳理文吧见笑了。关于原问题的回答以后有余力再补充




  

相关话题

  马上计算机研一,想问一下机器学习、深度学习…大家都是怎么入门的? 
  请问这个式子有没有简便算法(写法)? 
  如何看待软件工程师觉得学习算法没用? 
  为什么 MobileNet、ShuffleNet 在理论上速度很快,工程上并没有特别大的提升? 
  如何看待阿里巴巴提出的 FashionAI 比赛? 
  是否存在仅由1和2组成的长度为2^n的序列,可以做到在这个序列中取出所有含1和2的长度为n的序列? 
  NLP文本分类的本质是不是其实是找相似,对于要分类的句子,在训练集里找最相似的句子? 
  以目前的计算机视觉技术能否对一张二维的人体全身照进行3D重建? 
  NLP文本分类的本质是不是其实是找相似,对于要分类的句子,在训练集里找最相似的句子? 
  2019年NeurIPS有哪些糟糕的论文? 

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





© 2024-11-25 - tinynew.org. All Rights Reserved.
© 2024-11-25 - tinynew.org. 保留所有权利