在基于深度学习算法的目标检测算法主要分两类:One-Stage与Two-Stage。One-Stage与Two-Stage是两种不同的思路,其各有各的优缺点,本文做一个简单的讲述。
1、思路简述
One-Stage
主要思路:直接通过卷积神经网络提取特征,预测目标的分类与定位;
Two-Stage
主要思路:先进行区域生成,即生成候选区域(Region Proposal),在通过卷积神经网络预测目标的分类与定位;
2、优缺点
优缺点 | One-Stage | Two-Stage |
---|---|---|
优点 | 速度快;避免背景错误产生false positives; 学到物体的泛化特征 | 精度高(定位、检出率);Anchor机制;共享计算量 |
缺点 | 精度低(定位、检出率);小物体的检测效果不好 | 速度慢;训练时间长;误报相对高 |
从目前看,在移动端一般使用 One-Stage算法。现在很难说,精度和准确率的问题,因为影响因素不仅仅取决于算法,还跟数据集大小、图像标注质量、训练参数等有很大的关系。
3、主要算法
One-Stage:YOLO系列(v1-v5),SSD系列(R-SSD、DSSD、FSSD等),Retina-Net,DetectNet,SqueezeDet。
Two-Stage:RCNN系列(Fast-RCNN、Faster-RCNN、Mask-RCNN),SPPNet,R-FCN。
目前为止,在One-Stage方面,自己感觉应用最多的是YOLO系列,每个版本出现后都会引起围观,SSD系列应用相对较少。在Two-Stage方面,RCNN系列中的鼻祖RCNN基本已经没有人用了,SPPNet用的人也很少了,Faster-RCNN和Mask-RCNN应用相对较多。
版权声明:本文为CSDN博主「gz7seven」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/guzhao9901/article/details/120669281
暂无评论