目前的分类网络等设计基本都是人工设计结构,比如ResNet,ResNext等等,这些人工设计的结构在性能上不一定能达到最优,因此出现了一些模型希望来“通过神经网络生成神经网络”,其中典型的算法就是NAS(Network Archtecture Search),这种方法通过RNN来生成网络的连接结构,但是由于搜索空间过大,难以执行,因此本文希望能够减小网络的搜索空间,把搜索空间限定到Cell的搜索上,找到一个在小数据集上最优的Cell,迁移到大数据集上。
本文的贡献主要有以下几点:
非极大值抑制是物体检测众多方法(包括但不限于深度学习方法)中的一个很重要的步骤,通常在模型训练结束以后,使用模型对输入图片进行预测,会预测出大量的框,这些框中很大一部分是重复的,但在置信度上有所不同,非极大值抑制的主要任务就是将重复的方框去掉,同一个物体只留下置信度最高的框。
物体检测领域(Object Detection)领域是计算机视觉的经典问题,其目标是在输入图像中寻找特定类别的物体,并使用矩形框将物体包括在内,并预测出该框的类别。深度学习在物体检测领域已经取得了相比于传统视觉方法质的提升,其中很重要原因就是单阶段检测方法(One-Stage Method)和两阶段检测方法(Two-Stage Method)的出现,本篇博客将就物体检测Two Stage检测经典方法Faster RCNN做一些简单的总结,结合一些源码给出个人的理解。
在Detection任务中现在主要分为one stage和two stage两种方法,其中典型的方法分别是Faster-RCNN和SSD,两种方法各有优缺点,对于Faster-RCNN这一族的主要缺点就是比较慢,原因在前几篇文章中都提到了,Faster-RCNN使用了RPN来加速Selective Search的过程,并且使网络实现了End to End。R-FCN重点解决了FasterRCNN头(header)比较重的问题,利用本文中提出的PS-ROIPooling,使RPN提出的每一个ROI,都在Backbone网络的顶层特征图上提取一次,而不再次经过特征提取,从而加速的Faster RCNN的训练和测试速度。
参考代码: https://github.com/princewang1994/R-FCN.pytorch
文章地址 arXiv:1803.08494
Group Normalization是今年何凯明大神的新作,抽时间拜读了一下,收获良多,也给了我在normalization和group conv上的一些新的理解,由于篇幅原因,在这篇博客中没有添加分组卷积的内容,如果有需要以后会继续补充。
文章地址Context Encoding for Semantic Segmentation
语义分割的目标是逐像素分类,对图像中的某一个点进行分类,早期的语义分割任务基于阈值法(自适应阈值OTSU也算是阈值法)效果不好,自Jonathan Long等人提出FCN网络,通过使用没有FC层等需要固定输入大小的网络结构,采用一个几乎通体都是卷积层的网络结构学习输入图像,最后输出一个与输入图像大小一致(或比输入图像稍小)的特征图,最后通过1x1的卷积层来对像素点进行分类。这种FCN结构对整个语义分割任务来说,是一个质的飞越,神经网络也在语义分割这个任务上达到了最好的结果。
不过深度学习用在语义分割上还存在着不少难以解决的问题,如多尺度图像问题,或是上下文信息的利用问题等,后来的U-Net,Deeplab,RefineNet,PSPNet都各自使用了不同的结构与方法来解决这些问题,本文的立足点是利用Context上下文信息增强语义分割效果,主要贡献有以下几点: