你算个什么鸟?
面对上面这两张图,一个AI发出了灵魂拷问。
左边桃面牡丹鹦鹉,右边费氏牡丹鹦鹉。
一眼识破的它早就看到左边的鸟的喙部和眼圈与右边的不一样。
不行,再来!再来看这组。(文末揭晓答案)
好,我放弃了。
这个来自浙大计算机学院和阿里安全的“找茬”选手,识别准确率达到了91.3%,已经是业内最优水平。研究成果已被多媒体国际顶会ACM MM 2021收录。
不光鸟,阿猫阿狗也能行,甚至花草植物也能行。
看看这连两张照片,吉娃娃还是英国玩具梗?
再来看这一波,羊驼还是美洲驼?驴还是骡?玫瑰还是羽衣甘蓝?
AI好眼力!那到底是如何练成的?
实际上,这涉及到计算机视觉领域一个经典问题——细粒度图像识别,让AI一眼锁定类别之间的细微差异。
看起来简单,实际不简,就比如下面左边这俩。
对于AI来说,区域注意力的定位和放大是保证识别准确率一个重要因素,此前大量基于CNN的探索发现,CNN的感受野有限,且缺乏全局依赖关系的建模能力。
感受野:网络内部的不同位置的神经元对原图像的感受范围
研究人员认为,与CNN相比,图像序列化是一种全新的方式。
他们把目光转向了最近在CV领域取得了非常多研究进展的视觉Transformer(ViT)。
一开始,研究人员引入了ViT中的自注意力机制,提取图像中的长距离依赖关系。
不过ViT的感受野大小相对固定,对图像中的每个patch的关注程度没有产生区分,也就给细粒度图像识别带来了性能局限。
既然如此,那该如何让AI找准“重点”呢?
研究人员决定使用注意力权重的强度来衡量对应于原始图像的patch重要性,提出了多尺度循环注意力的Transformer(RAMS-Trans)。
它利用Transformer的自注意力机制,以多尺度的方式循环地学习判别性区域注意力。
团队成员之一,阿里安全图灵实验室算法专家炫谦介绍道:
我们方法的核心是动态patch建议模块 (DPPM)引导区域放大,以完成多尺度图像patch块的集成。
DPPM从全局图像开始,迭代放大区域注意力,以每个尺度上产生的注意力权重的强度为指标,从全局到局部生成新的patch块。
具体来说,首先提取ViT每层的自注意力机制,并进行归一化,然后采取累乘的方式对自注意力整合。
然后,得到了整合后的自注意力均值分布矩阵,由于细粒度图像识别任务的关键因素在于局部注意力,其往往存在于图像的局部区域,如鸟的尾部、喙和蛙类的头部等。
因此研究者需要通过设定阈值的方式来“过滤”不需要的部位,增强对局部判别性区域的识别能力。
最后,研究者通过插值算法将选定的patch块放大到原图像的尺寸,通过共享参数的模型,重新进行训练,整体结构对应于文章所提的多尺度循环机制。
下图为RAMS-Trans在识别鸟类时根据注意力权重生成的注意图(attention map)。
扩展到更多动物身上的效果:
RAMS-Trans只需要ViT本身附带的注意力权重,就可以很容易地进行端到端的训练。
实验表明,除了高效的CNN模型外,RAMS-Trans的表现比同期进行的工作更好,分别在CUB-200-2011(鸟类识别)、Stanford Dogs(狗类识别)、iNaturalist2017(动植物识别)获得SOTA。
分别达到91.3%、68.5%、92.4%的识别准确率。
在不同种类动植物的细粒度判别时,RAMS-Trans可以聚焦到类别的独特特征区域。
针对不同类别识别准确率不同,甚至还有较大的区别,一作浙大博士胡云青解释道,主要有两方面的因素。
一是因为Stanford Dogs本身的类别数比其他两个数据集都要小。只有120分类(CUB是200,而iNaturaList更是达到了5089)。
类别数越多,通常意味着该数据集的细粒度问题越严重,因此RAMS-Trans在更细粒度的数据集上取得的提升相对明显。
二则因为在某个类别上大部分样本具有相似的特征,而不同种类间的狗也具有明显的判别性特征。
比如大部分博美都有相似的毛色和头型;德牧和金毛之间,人眼就可以做到明显区分。
通过消融实验发现,当分辨率为320、阈值为1.3、patch方案为DPPM、patch块大小为16×16时,模型效果最好。
接下来,团队还将在两个方面进行优化:
- 提高定位能力。
目前,RAMS-Trans在原图上以patch为最小单位进行判别性区域定位和放大的过程,对于细粒度图像识别来说,这个较为“精细”的任务来说还是相当粗旷。
- 动态网络的引入,包括动态训练和动态推理等。
另外,已经有了可预见的应用场景,比如野生动物保护治理、山寨商标的识别。
这项研究主要由浙江大学计算机学院、阿里安全图灵实验室共同完成。
其中第一作者胡云青,目前浙江大学计算机学院DMAC实验室博士在读,师从张寅教授。此外还是阿里安全图灵实验室实习生。
论文链接:
https://arxiv.org/abs/2107.08192
“