From: NeurIPS 2019 编译:T.R.
本文为将门好声音第28 期,也是NeurlPS 2019系列分享第·7·期。
本文作者是来自将门机器学习主题社群、中国科学院大学的张小松
,本次将分享其团队发表在今年NeurlPS上的工作——FreeAnchor可学习锚框机制。如果你也想与广大群友分享自己的研究工作、文章观点、出坑经验,点击“阅读原文”或联系将门小姐姐!只要内容合适,我"门"送你头条出道!
本文一作张小松来自于中国科学院大学电子电气与通信工程学院模式识别与智能系统开发实验室,研究主要集中于计算机视觉、机器学习,特别是视觉目标检测与特征学习方面。
个人主页:
https://zhangxiaosong18.github.io/XiaosongZhang.htm
![国科大提出新型锚框匹配机制,基于学习配准的灵活方法大幅提升目标检测性能 | 将门好声音](http://p2.ttnews.xyz/loading.gif)
随着技术的飞速发展,锚机制已经成为了目标检测算法中重要的手段。通过将物体分配给特定的锚框使得后续的特征提取和分类定位变得更加高效而准确。但当遇到比较细长或者代表性特征偏离中心时,先前固定的锚框模式就无法获取物体足够的特征从而造成性能下降。
为了解决这一问题,来自国科大、厦门大学和鹏城实验室的研究人员们系统地探索了不同情况下物体与锚的匹配关系,提出了一种名为FreeAnchor的可学习锚框机制,并通过极大似然估计的机制来训练锚框匹配过程。这种更为自由的匹配机制打破了IoU匹配机制的限制,提高了物体锚框匹配的灵活性。同时基于似然优化的实现方法可以便捷地集成到多种CNN检测器中,在COCO数据集上的实验也证明了这种机制对于目标检测性能提升的有效性。
基于手工规则进行锚框分配的局限
在目标检测过程中,算法需要为图像中的物体预测出在图像中的位置框及其对应的分类。随着SSD,YOLO等算法的成功,锚框机制开始成为了目标检测算法中的重要手段。通过手工设计的IoU规则为每个物体分配锚框,使得物体匹配到合适的特征,同时也对检测框的回归进行了良好的初始化。随后通过与基准框的比较,锚框被归为背景或目标区域。
尽管这种方法取得了良好的效果,但在某些情况下却限制了目标检测器的性能。一方面对于主要特征不在中心的物体来说,手工设计的锚框分配机制会错过物体最具代表性的特征;另一方面,当图像中存在大量的物体时,利用IoU机制来为每一个物体匹配合适的锚框也是不现实的。
为如此丰富多样的场景目标设计出通用的锚匹配机制十分困难,研究人员们渐渐开始探索各种锚框/特征分配规则以及锚框的优化方法。虽然目前针对锚框出现了一系列基于学习机制的探索,但却还缺乏对于锚与目标间匹配机制进行系统性的分析研究工作,在实现可学习的锚框匹配机制过程中,不可避免的需要进行特征选择与特征学习的优化研究。
在这篇文章中,研究人员从三个角度探讨了目标检测中实现可学习的匹配机制。首先为了达到较高的召回率,检测器需要保证对于每一个物体至少有一个锚的预测结果与基准值接近;其次为了达到较高的精度,检测器需要将定位较差的锚框归到背景中去;最后锚框的预测机制应该与非极大值抑制(
non-maximum suppression, NMS) 相兼容,例如更高的分类精度也要对应着更准确的定位精度。否则具有很高定位精度但分类精度较低的锚也会被NMS归类为背景。为了满足这些条件,研究人员将目标与锚框匹配的过程转换为了极大似然估计(maximum likelihood estimation,MLE) 问题,针对每一个物体将从“锚袋”中选取最具表示能力的锚;同时将“锚袋”的似然概率定义为其中锚最大置信度,最大化这一似然保证了至少存在一个锚同时具有较高的分类精度与定位精度;此外还将具有较大分类误差或定位误差的锚归为背景。在训练过程中将似然概率转换为了损失函数的一部分,使得模型可以学会如何实现有效地目标-锚框匹配机制。下面让我一起来看看算法的具体实现过程。
FreeAnchor
与先前基于IoU的锚框匹配机制不同,FreeAnchor中提出了“锚袋”的概念,训练算法从中为目标寻找最具表示能力的锚。
先前的手工锚框和本文提出可学习的锚框匹配机制进行对比。可点击放大查看大图
为了让检测器学会如何匹配目标与锚,研究人员首先引入了极大似然估计的方法来处理这一问题。
我们首先从基于CNN的单阶段检测器出发,在训练过程中基于IoU的人工指标决定了锚框是否与物体匹配。如果锚框aj与基准框bi之间的IoU大于阈值,那么bi就与aj相匹配,对应的匹配矩阵Cij=1,否则Cij为0。如果有多个物体的IoU大于阈值,则保留最大IoU对应的物体以保证每个锚最多对应一个物体。目标检测过程中的损失函数从而可以定义为三个部分的和,包含了分类损失、定位损失以及背景分类损失:
其中A+和A-代表了匹配物体和被归为背景锚框的集合,而B则代表了基准框的集合。在此基础上,可以将损失函数转换为似然的表达形式:
三个部分的损失分别被转换为了目标及背景的分类置信度、定位置信度,最小化损失函数L(theta)就意味着最大化上面的似然函数。这个式子严格地从似然函数的角度定义了定位与分类的训练过程。但最主要的问题是如何学习有效的匹配矩阵Cij呢?现有的方法直接利用IoU的评价手段来进行手工分配,而忽视了锚与目标间匹配的优化机制。为了对这一匹配机制进行更好的优化,研究人员针对目标检测任务对似然函数进行了改造。
为目标检测量身定做似然函数
目标检测中的似然函数不仅需要满足召回率与准确率的条件,同时还要与非极大值抑制的方法相兼容。为了实现这一目标,针对每个物体bi将其对应IoU最大的n个锚框抽取出来构成“锚袋”,而后学习出如何在最大化似然的情况下匹配最好的锚框。
针对召回率需要保证每一个物体至少有一个锚框的预测结果与基准值接近,将前面公示中的分类与定位置信度连立起来构建了下面的公式,最大化以实现较高的召回率:
针对精度提升,需要将定位不良的锚归为背景,精度的公式用下式表示,其中锚被归为背景的概率P{aj E A-} = 1-maxiP{aj-bj},意味着剔除了最为准确的预测框,剩下的都被归为背景。
最后还需要与非极大值抑制相匹配。这里提出了一个分段函数来满足随IoU单调递增、有上下阈值边界条件,用于计算P{aj->bj}的值,下图也展示了分段函数的趋势:
经过改造的目标检测似然函数就可以表示为前面精度与召回率的乘积:
通过最大化这一似然函数,可以同时最大化召回率与精度 ,同时保证了与非极大值抑制的兼容,打破了锚框匹配机制的限制,实现更为灵活的匹配。在似然函数的基础上就可以整合到检测器的训练过程中,让检测器学习如何更好地进行锚框匹配了。
锚框匹配学习机制
将上面经过改造的目标检测似然函数转化为损失函数,可以得到下面的表达式,其中的max用来选择最佳的匹配框:
训练过程中,最佳的锚被从“锚袋”中选取出来,随后用于更新网络参数。但在训练过程中还有一些问题需要处理。
在训练的早期阶段,所有锚的置信度都会很小,使用最大置信度的锚并不有利于训练过程,所以研究人员提出了平均最大函数的概念来解决这一问题。下图中显示了在训练不充分时,几乎所有的锚都参与训练,而随着训练的深入越来越接近最大值,使得最好的锚被筛选出来用于训练。
最终通过改进的最大值公示和约化调整,上面的损失函数被改写为了下面的形式,其中Xi表示锚分类与定位置信度的乘积:
算法的流程如下所示,主要包含了前传计算锚的特征参数、构建锚袋、筛选锚、计算损失、更新参数等过程:
实 验
实验结果展示了这种基于学习的锚框匹配方法带来的优势,与手工方法相比这种方法可以更为有效的选择出锚框来表示物体特征,针对非中心物体、细长物体和拥挤的多物体情况都有良好的表现。下图展示了对于笔记本电脑,手工方法和学习方法选择锚框的不同。
与RetinaNet的比较中也展示了这种方法的有效性,这是由于前面的机制保证了每个物体至少有一个有效锚框,包含物体用于分类和定位最具代表性的特征,同时学习机制能够更灵活地为物体选取更为适合的锚框。
从指标上也可以明显看到这种方法为基准RetinaNet模型带来的性能提升:
与多个先进的算法相比FreeAnchor加持下的锚框分配机制都具有明显了优势,在ResNeXt-101的主干网络上取得了47.3的AP。
FreeAnchor方法对针对检测问题改造的似然函数进行极大似然估计,加强了检测器对有利于分类与定位的卷积特征进行学习,为目标检测的训练方法和锚框匹配机制提供了新的思路,如果想了解更多理论细节和训练实验过程请参看论文:
https://arxiv.org/pdf/1909.02466.pdf
如果想上手试试,可以在下面的地址找到代码:
https://github.com/zhangxiaosong18/FreeAnchor
将门好声音·NeurlPS系列
<table><tbody>1
看AI玩桌游,如何调兵遣将,合纵连横
2
牛津大学研究人员提出3D-BoNet—3D点云实例分割新框架
3
普林斯顿高研院, 浙大, CMU和MIT联合提出图核函数与图神经网络的融合方法
将门是一家以专注于发掘、加速及投资技术驱动型创业公司的新型
创投机构,旗下涵盖将门创新服务、将门技术社群以及将门创投基金。将门成立于2015年底,创始团队由微软创投在中国的创始团队原班人马构建而成,曾为微软优选和深度孵化了126家创新的技术型创业公司。将门创新服务
专注于使创新的技术落地于真正的应用场景,激活和实现全新的商业价值,服务于行业领先企业和技术创新型创业公司。将门技术社群
专注于帮助技术创新型的创业公司提供来自产、学、研、创领域的核心技术专家的技术分享和学习内容,使创新成为持续的核心竞争力。
专注于投资通过技术创新激活商业场景,实现商业价值的初创企业,关注技术领域包括
机器智能、物联网、自然人机交互、企业计算。在近四年的时间里,将门创投基金已经投资了包括量化派、码隆科技、禾赛科技、宽拓科技、杉数科技、迪英加科技等数十家具有高成长潜力的技术型创业公司。
如果您是技术领域的初创企业,不仅想获得投资,还希望获得一系列持续性、有价值的投后服务,欢迎发送或者推荐项目给我“门”: [email protected]閱讀更多 將門創投 的文章