-----------------持续更新-----------------
CVPR2019整理:https://github.com/extreme-assistant/cvpr2019
《Bounding Box Regression with Uncertainty for Accurate Object Detection》
对目标检测中不确定性边界框问题,在这篇论文中提出了一中新的边界框回归损失算法,提高了各种检测体系的目标定位精度。
《Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regression》
原文:https://arxiv.org/abs/1902.09630
参考:https://zhuanlan.zhihu.com/p/57863810
https://blog.youkuaiyun.com/Extremevision/article/details/88060581
个人总结:
对于bounding box的回归,目前主要是用L1、L2 loss进行损失度量,并且目前对网络效果提高很少针对这些loss进行改进。这个文章就是基于改进的IoU提出一个loss,在YOLO、faster RCNN、SSD上面使用这个新的loss,实验发现,在YOLO上面有比较大的效果提升,另外两个有一点点提升,这是因为后两者的boxs比较多,新loss发挥的空间不多。
对于L1、L2 loss,有时候并不能太好的反应predict box和gt的距离,例如说有时候loss相同的情况下,回归的效果并不是接近的,如下图,就是说loss没有很好的体现出回归的效果。而IoU是在不同的回归情况下,有不同是数值,更能反应出回归的效果。
由上面可知,如果使用基于IoU的loss,效果会好些,相应的,损失函数可以为:
但直接使用IoU的loss的话,也是存在问题的:
1.当IoU=0时:不能反映两者的距离大小(重合度)。同时因为loss=0,没有梯度回传,无法进行学习训练。
2.IoU不能准确反映两者的重合的理想程度。如下图所示,三种情况IoU都相等,但看得出来他们重合理想程度不一样,左边的图回归的效果最好,右边的最差。
因此提出一个新的指标:GIoU(generalized IoU)。这个指标的计算方式也是比较简单的:
1.正常计算两box的IoU;
2.计算两个box一起的最小外接矩形,计算外接矩形内的非box区域面积;
3.区域面积与外接矩形形成一个比值A,GIoU=IoU-A ;
可得出这个新指标对应的loss为:
对于GIoU,有以下的一些特性:
1.与IoU相似,GIoU也是一种距离度量,作为损失函数的话,满足损失函数的基本要求;
2.GIoU对尺度不敏感
3.GIoU永远小于对于IoU,在两个框无线重合的情况下,IoU=GIoU;
4.IoU取值[0,1],但GIoU有对称区间,取值范围[-1,1]。在两者重合的时候取最大值1,在两者无交集且无限远的时候取最小值-1,因此GIoU是一个非常好的距离度量指标。
上述两点结合,就是下图的表现:
5.与IoU只关注重叠区域不同,GIoU不仅关注重叠区域,还关注其他的非重合区域,能更好的反映两者的重合度。
文中的实验:选取了Faster R-CNN、Mask R-CNN和YOLO v3 三个方法验证GIoU loss的效果。实验在Pascal VOC和MS COCO数据集上进行。
在YOLO上面有比较大的效果提升,另外两个有一点点提升,这是因为后两者的boxs比较多,新loss发挥的空间不多。
《ScratchDet: Exploring to Train Single-Shot Object Detectors from Scratch》
原文:https://arxiv.org/abs/1810.08425v3
参考:http://www.ijiandao.com/2b/baijia/233577.html
Ps:对于新论文的直接,知乎一般会很快出来,但在电脑浏览器上B乎总是显示8了图片,我佛了。
个人总结:
论文从BatchNorm 是如何帮助随机初始化训练一阶段检测器 SSD切入,通过SSD300+VOC进行试验,加入BN和随机初始化,对比与原始的SSD300(包括有预训练模型的SSD),表明随机初始化的策略是准确率高于预训练模型的。
论文分析,使用随机初始化还可以让我们更加自由的改变网络模型的结构,而不用受限于目前有的预训练模型的结构框架,方便我们将各个网络的优点结合起来,形成更好的网络,下文会对此进行进一步的实验分析。
(个人分析:预训练模型一般是从另外的检测任务或者另外的数据集训练而来,对于当前需要检测的数据集来说,之前数据集所得到的模型,在经过 fine-tune之后模型可能是综合了之前的和现在的数据集的特征,而随机初始化而得到的是专门针对当前数据集的,所以效果可能更好更有针对性)
接下来对VGG和ResNet的SSD网络进行对比试验,使用的是不同的输入尺寸(500+和300+)和不同的数据集(VOC、coco)。两个不同的基础网络,并不是一边倒的表现得谁好谁差,而是在不同的条件下,有不同的好坏表现,论文在这个试验之后指出了VGG和ResNet的特点:
跟 VGG-16 相比,ResNet-101 的优点是分类能力强,缺点是对小物体识别能力较差,因为第一个卷积层的 stride=2,在初始输入的图片上就进行下采样,会损失某些原图信息,尤其是小物体的信息。
1) 在 VOC_300 时,ResNet-101 的缺点>优点,输入图片较小,图片中小物体数目变多,缺点被放大;且类别只有 20 类,不能发挥 ResNet 强大的分类能力,在 SSD 上结果低于 VGG-16。
2) 在 VOC_512 时,ResNet-101 的缺点< 优点,输入图片变大,图片中小物体数目变少,缺点被缩小,在 SSD 上结果高于 VGG-16。
3) 在 COCO 上时,ResNet-101 的缺点< 优点,任务类别有 80 类,是 VOC 的 4 倍,ResNet-101 能充分发挥分类能力,所以无论输入 300x300 或者 512x512,在 SSD 上结果均高于 VGG-16。
以此为参考,对ResNet为基础网络的模型进行试验,经过如下:
(a) 原 ResNet-18: 结果为 73.1 mAP。
(b) ResNet-18-A: 去掉了 ResNet-18 的 max-pooling 层,即取消第二个下采样操作,结果为 75.3 mAP。
(c) ResNet-18-B: 将 ResNet-18 的第一个卷积层的 stride=2 改为 1,即取消第一个下采样操作,结果为 77.6 mAP。
(d) Root-ResNet-18: 将 ResNet-18-B 的第一个 7x7 卷积核替换成 3 个 3x3 卷积,结果为 78.5mAP。
将ResNet的下采样取消,SSD网络的效果会变得更好,这是因为保留住了更多的细微特征,包括后面的7*7改为3个3*3,也是保留了更多的细微特征,并有一定的冗余。这是一篇试验和分析为主的CVPR文章。
以下引用:https://blog.youkuaiyun.com/qq_33824968/article/details/92760731
AdaCos: Adaptively Scaling Cosine Logits for Effectively
提出一个loss AdaCos,无超参自动训练优化网络,值得一读
Boosting Local Shape Matching for Dense 3D Face Correspondence
两张人脸模型匹配
Automatic Face Aging in Videos via Deep Reinforcement Learning
使用深度强化学习,在视频中检测人年龄。
Joint Face Detection and Facial Motion Retargeting for Multiple Faces
一图多张人脸检测人脸关键点定位
Speech2Face: Learning the Face Behind a Voice
妈的,听到这个题目我就震惊了,通过声音来生成人脸,我怀疑这篇论文造假,但是我没有证据