看了一些文章了,在这里做一些小结,不然会忘记。
提速
检测框架
one stage的检测算法,相比two stage省去了候选框的获取阶段,直接回归坐标和分类结果,从结构上来看,相当于two stage中多分类的RPN,相比two stage的检测速度提升明显,但是精度通常不如two stage。而one stage的框架也在不断改进,关于提速的改进一般是利用设计好的快速的卷积结构,进行适当的加速,例如ssdlite,pelee等,对检测框架没有做出多大的改动。
two stage的检测算法,相比one stage一般是准而慢,因为ROI-wise部分的计算量过大,所以two stage对速度的改进会从结构上入手,R-FCN就是在faster RCNN的基础上,设计位置敏感ROI pooling,降低了head计算量;Light Head RCNN又在R-FCN的基础上进一步降低计算量,进一步加速。backbone
这个对速度的影响特别明显,要是有速度快精度高的backbone谁不喜欢呢。
Light Head RCNN中将backbone从resnet101变成xception设计的轻量级网络后,速度提升惊人。
还有MobileNet v2,PeleeNet在ssd中的应用,也明显提速了,但是精度较原来的vgg也下降了。
squeezedet中的backbone是squeezenet,一种结构比较简单的轻量级网络。
yolo系列中用的darknet19是仿googlenet结构,darknet53又引入了resnet的残差结构,tiny-yolo也是将backbon