作者:一鸣
Pascal VOC 是计算机视觉领域的重要榜单和数据集,被用于评估目标检测算法的性能,其数据量小且不平衡,达到高性能难度较大。近日,阿里安全图灵实验室宣布,其开发的相关算法已在相关数据集上多次刷新 Pascal VOC 世界纪录。
目标检测是计算机视觉重要的一项任务,许多相关研究都在围绕提升检测的精确度和可识别图中的目标数量进行提升。截止发稿前,阿里安全图灵实验室提出的 ATLDETv2 算法依然霸占目标检测 comp4 榜单首位。
Pascal VOC 挑战赛是视觉对象分类识别和检测的基准测试比赛,是世界最权威的计算机视觉挑战赛之一。阿里安全图灵实验室之所以选择 Pascal VOC 挑战赛,是因为几大原因。首先,这一数据集已成为目标检测领域测评的权威数据集,很多论文以此作为模型的评估指标。其次,Pascal VOC 挑战赛是面向世界全球进行公平竞争的挑战赛,很多国内外科技巨头和研究机构都参与到了比赛中,有利于交流。最后,这一数据集提供的是通用的目标检测问题,可以很好地评价模型的基础能力。
目前在榜单上,已有多家研究机构和公司的队伍上榜,包括 UC 伯克利、多伦多大学、新加坡国立大学,以及谷歌、微软亚洲研究院、英特尔等。阿里巴巴 ATLDETv2 在近日的 comp4 上取得了 92.9 的综合得分。
榜单地址:http://host.robots.ox.ac.uk:8080/leaderboard/main_bootstrap.php
这样的成果是如何实现的,在阿里的哪些产品中实现了实际应用呢?根据图灵实验室提供的资料,机器之心详细了解了技术相关细节。
冠军网络结构怎么样?
在目标检测过程中,首先需要将骨干网络进行初始化,然后让图像通过骨干网络获取其中的特征。然后再在骨干网络后接续进行目标检测的网络。在阿里图灵实验室本次提出的模型上,研究者也采用了类似的策略。
如下图所示,在骨干网络的选择上,图灵实验室使用的网络架构为 ResNeXt152-32x8d。在接续的目标检测网络上,则采用了「二段式」的目标检测方法。
所谓的二段式目标检测方法,就是先让模型对需要检测的目标提出候选(proposal)边界框,然后再对选择的边界框中的目标进行图像分类和精确定位。虽然二段式的目标检测方法较一步到位的方法需要的计算量更大,且下游任务容易被边界框的划定影响,但其目标检测的准确性相对较高。
网络架构和其他方法结合后的总体流程图。
在接续的目标检测网络设计的过程中,图灵实验室对其进行了很多架构上的改进和优化,使它在检测框的回归预测和图像特征的捕捉上更为精确和完善。从模型角度来看,最大的亮点在于使用 Cascade Anchor Refinement 方法——利用多级回归的方式预测边界框位置,以及在通道和空间层面加入注意力层,以便更好地捕捉图像特征。
多级回归如何精确定位检测框
在目标对于骨干网络输出的特征图后,模型会使用 FPN 网络,从不同尺度的 feature map 上进行采样与融合操作。和预先设置锚点的 RPN 网络,以及不需要设置锚点的方法相比,Cascade 使得边界框能够更好地和目标匹配。
边界框适配的架构示意图。
Cascade 方法本身使用了多级结构,能够更好地调整边界框和实际目标的位置。目标检测中确定边界框位置实际上是一个回归问题,从本质上是在预测边界框和目标之间的偏移量。如果使用的是单级回归,则可能预测的边界框和目标会有偏差。而在多级回归上,每一级都能够从上一级的回归结果进行更精细的学习。
举例来说,假设第一层对于目标和边界框之间的 IoU 设定为 0.5,则多级回归能够让下一层进一步提升 IoU(如 0.6),再下一层则再次提升,通过逐级提升的方式,使检测框和目标的匹配变得更精细。同时,随着精细度的提升,背景中被误框的负样本则会随着层级的增加而逐渐被过滤掉。
提升不同特征的权重
考虑到在一般的目标检测过程中,从通道层面不同的通道对于目标检测结果的贡献不同,以及在图像空间上,不同的像素点对目标检测的过程也不尽相同,研究者在设计算法的过程中加入了注意力机制。给不同的通道和图像空间采样增加了新的学习量,使模型更有针对性地进行采样,并忽略无关的通道或采样位置。
相对应的,模型中加入了对应通道的注意力机制(Channel-wise Attention:SE)和对应空间的注意力机制(Space-wise Attention:DCN)。这两项技术共同赋予图像的关键特征更大的权重,从而使得边界框能够更好地匹配在目标上。
通道注意力机制是基于对数据进行可视化分析后提出的。研究者在实验中发现,在骨干网络(Backbone)的特征层中,同一层的不同通道分别捕捉着目标的不同局部特征,在最终响应检测的时候,不同的局部特征不一定会有同样的贡献程度。因此,需要一个参数,能够对不同通道产生的特征进行区分。
因此,对应通道的注意力机制应运而生。它可以被认为是一个位于通道上的参数,能够对贡献更多的通道给予更大的权重。
类似的,在空间上,图像的不同特征对目标检测的结果也是不同的,例如,背景中的特征和实际目标的特征应当已某种方式进行区分。因此,在设计卷积采样的过程中,通过对采样窗口增加学习量(偏移量)的方式,模型实现了对不同特征的注意力采样。
通过两种注意力方法对图像处理后,特征可视化集中于人附近的图像上。
最终,通过两种形式的注意力机制,模型在检测的过程中能够更好地区分正负样本,捕捉关键特征。
数据不够,自动增强来帮忙
由于 Pascal VOC 数据集较小,使用更多数据提升模型表现也十分重要。除了前文网络架构上的创新和调整,阿里图灵实验室也在数据处理方面采用了一些方法。
首先,Pascal VOC 各个类别数据不平衡,因此需要对训练集数据进行增强,以便于发挥模型最大的能力。
训练集中人类类别的图像非常多。
在这一工作中,研究者采用了实例平衡增强(Instance-Balanced Augmentation)技术。具体而言,研究者会对图像按照特定的尺度(如 1.5 倍和 2 倍大小)进行缩放操作,即定义了一批大小不同的「滑窗」。同时,他们也会定义滑窗的步长。定义后,使用滑动窗口在样本图像中滑动,产生滑动区域。在这些滑窗中,选择包含少量目标的最优数据加入到训练集中。
示例平衡增强方法示意图。
当然,在选择滑窗的过程有一定的规则。例如,滑窗在某个步长上和已有目标有界限重叠的滑窗目标不会被取用,同时滑窗目标的选择也会参考数据集已有的样本类别分布情况。当选择了一定的滑窗目标后,研究者会根据分辨率和尺度等进行一定的变化,加入一些随机扰动,使得选出的样本能够增强原有的数据集样本。
使用了这一方法后,数据集的类别分布发生了一定的变化。
数据集类别分布的变化情况。
此外,这项研究中还使用了一种名为「自动并行增强(Auto Affine Augmentation)」的方法。这项方法通过对原始训练集中的目标进行多种增强,以便增加训练集大小。具体而言,这些方法包括旋转边界框、白平衡、按照 x 轴或 y 轴进行截断等。
COCO 加持,数据分布更丰富
由于数据量依然不足的问题,为了提升模型表现,研究者考虑了使用外部数据进行骨干网络初始化的方法。在研究过程中,他们找到了一个理想的数据集——MSCOCO(下文称 COCO 数据集)。
COCO 数据集也是目标检测领域一个重要的数据集,是计算机视觉非常权威的目标识别和检测数据集,相比 Pascal VOC 具有更多的类别和更大的数据量。
阿里图灵实验室的研究者们发现,使用 ImageNet 进行初始化可能会带来一些问题。首先,ImageNet 的初始化只能初始化骨干网络,对于接续骨干网络后的目标检测网络则无能为力。其次,ImageNet 具有更多的类别和图像数量,总体的数据分布和 Pascal VOC 有一些区别。而 COCO 数据集和 Pascal VOC 则在通用目标检测表征上有更多的相似之处。
COCO 数据集和 Pascal VOC 数据集的类别分布有很大的重合。
因此,如果使用 COCO 数据集对整个网络进行初始化,其效果比 ImageNet 的初始化更为理想一些。于是,在利用数据进行初始化的过程中,研究者采用了这样的步骤:1)使用 ImageNet 初始化骨干网络;2)使用 COCO 数据集初始化;3)最终在 Pascal VOC 上进行进一步的训练。
然而,值得注意的是,进行这样的多级迁移,可能会导致模型出现「灾难性遗忘」。当最终进行 Pascal VOC 数据集上的训练时,模型可能会遗忘在 COCO 上学习到的特征。
为了解决这一问题,研究者采用了创新性的迁移学习方法。在每次迭代的过程中,从 COCO 上学习到的网络权重予以保留,而在 Pascal VOC 网络进行训练时,加入特征对齐这一约束机制。约束方法上包括 L2-distance 和余弦距离等,用于保留之前的 COCO 数据集学到的知识。
这样一来,在知识迁移的过程中,模型尽可能地保留了之前初始化学习到的知识,还能够根据 Pascal VOC 进行进一步的训练。
使用 COCO 数据集在模型上进行了初始化后再提取关键特征。
从效果来看,这一模型使用了多种数据增强方法和网络上的创新,从而在 Pascal VOC comp4 目标检测上取得了领先的水平。
以下为相关算法在 Pascal VOC 榜单上取得的成绩,说明了算法的有效性和性能:
2018.03.26 ATLSSD Comp3 得分 74.8,刷新世界纪录2018.08.13 ATLDET Comp4 得分 90.7,刷新世界纪录2019.10.18 ATLDETv2 Comp4 得分 92.9,刷新世界纪录
广泛应用,算法已成熟
据阿里安全图灵实验室透露,目前这一算法相关的技术已投入到了阿里的实际业务中。主要有以下几大领域:
首先,在知识产权保护方面,这一算法可以进行商品的侵权检测。系统也和商标网进行了打通,可以帮助检测商标注册侵权。另一方面,这一算法在内容审核场景下也得到了应用,如对色情图像进行识别,对于违法的出版物(非法地图、标语和旗帜)等都能够进行良好的检测。最终,这一算法也应用到了一些应用上,如阿里开发过的识别菜品应用等。
除了技术方面的问题,研究过程中也遇到的一些难点。除了前文提到的模型初始化等方面的问题外,图灵实验室也认为算法和实际工业结合进行应用也是一个较为困难的问题。
之所以在工业应用方面更为困难是因为,模型所基于的训练数据集和实际应用中的数据分布不匹配所导致的。模型所解决的是通用的检测问题,而实际的应用则更偏向于特定的领域,因此如何检测在训练过程中没有出现的目标(Zero-Shot),如何在仅有少量样本的前提下进行检测(Few-Shot),如何充分利用已经存在的结构化信息(Weakly-supervised)就更为重要。
以侵权商标检测为例,商标网上的商标信息是实时更新的,即使采用在线学习的方法,模型能否来得及学习未见商标的特征,数据集能否来得及进行标注,都会影响实际的效果,有时甚至需要借助一些检索的方法解决。另外存在的问题是跨域检测(Cross Domain Detection),例如,某些商标的图片可能是一个白描图像,数据特征和以往的特征检测完全不同。怎样捕捉这种类型的图像的特征就更为困难了。
总而言之,本次阿里再一次刷新目标检测 Pascal VOC 挑战赛世界纪录,并将算法应用于实际工业中,说明的不仅仅是这一科技巨头强悍的 AI 研发能力。同时也能够看到的是阿里根据实际的业务,借助高性能算法和实际的业务需求,发展优秀产品的综合实力。