本次写文章,是希望宣传我们最近放在 arXiv 上,并且开源的文章《按需视觉识别》。这是我个人比较看重的一个工作,因为它讨论了视觉识别中的评价指标问题;而我越来越坚定地认为,在计算机视觉进入瓶颈期的当下,定义合理的评价指标,比刷新现有评价指标上的 SOTA,要更重要一些。
当然,限于水平原因,文章只揭示了很肤浅的问题,并且提供了非常初步的解决方案。我们希望能够以此为契机,抛砖引玉,引发大家对这些重要问题的思考,进而促进更优方案的诞生。
文章的第一作者是唐楚峰 @chufengt 同学,文章的合作者也包括我的同事张晓鹏博士、清华大学胡晓林教授以及我的导师田奇教授。除此以外,我还要特别感谢我的同事魏龙辉和彭君然博士,他们都给文章提出了非常宝贵的建议。
声明:所有内容均只代表作者本人观点,均有可能被推翻,二次转载务必连同声明一起转载。谢谢!

论文标题:

Visual Recognition by Request

论文作者:

Chufeng Tang, Lingxi Xie, Xiaopeng Zhang, Xiaolin Hu, Qi Tian

论文链接:

https://arxiv.org/abs/2207.14227

代码链接:

https://github.com/chufengt/Visual-Recognition-by-Request

 

背景和研究动机

这个工作的动机,来源于我对于视觉识别局限性的思考。我先简单地做一些铺垫。这些铺垫和这个工作没有直接联系,读者可以跳过直接看正文。 

众所周知,当前基于深度学习的计算机视觉算法,与人类的学习方式具有本质不同。其根本性原因在于:人类是在一个真实的三维世界中,以任务为驱动,进行交互式学习,而计算机只能通过标注数据来学习各种分散的任务。为什么会有这样大的区别?其实早在上个世纪 70 年代,计算机视觉的先驱之一 David Marr(Marr 奖的纪念对象)就表达过他的观点:计算机视觉算法的根本目的,是建立环境的三维模型,并且在交互过程中进行学习。然而,将近半个世纪过去,人们还是没有实现这个愿景。这里的主要原因,是三维模型难以构建,例如下面的两套方案: 

  1. 将真实世界建模为虚拟环境,以训练智能体。这种方式的困难之处在于,人类目前还无法构建起足够真实的虚拟环境(从虚拟环境向真实环境迁移时,通常会遇到比较大的 domain gap,以致于诞生了 unsupervised domain adaptation 等专门的领域);即使真实性得到了解决,也无法在虚拟环境中模拟真实智能体的行为,导致无法以任务来驱动学习。在这条路上走得比较远的,是一些简单的环境,比如棋类游戏和 Atari 游戏等,但是它们的复杂度和真实世界相比,有非常大的差距。 
  2. 将智能体放置于真实环境中进行学习。这种方式的困难之处在于,智能体在真实环境中的不可控性,将产生巨大的试错成本,包括对环境产生的危险性(如自动驾驶)和其他智能体(主要是人)与它们交互的人力成本。在这条路上走得比较远的,是一些机器人相关的研究,但是它们只能在受限环境中完成行走、抓取等相对简单的任务。 

由于无法对世界建模,人们就只能退而求其次,对世界采样,并且从样本中学习。这就是为什么人们要构建、标注越来越大的图像数据集:数据集的规模越大,采样的精度就越高,就越能反映真实世界的规律。然而,这种方式是极其低效的。一方面,随着数据集的规模不断增大,上述方案产生了明显的边际效应,使得学习方法的性价比不断降低;另一方面,随着视觉概念的不断增加和细化,视觉标签的歧义性不断上升,使得评价指标的不确定性显著增加。

这里所谓视觉标签的歧义性是说,随着标签种类数的增加,一个物体究竟属于什么类,哪些部分属于这个类,就会变得不确定起来——前者可以参照 ImageNet,不少物体细粒度标签存在歧义性;后者参照各种 part-based 数据集,一只狗的头部和躯干的边界究竟在什么地方,其实是很难定义的,遑论更加细粒度的 part 了。 

更重要的是,人类并不需要基于分类来认知世界。举一个直观的例子。在 ImageNet 中,存在着“家具”和“电器”两个大类;显然“椅子”属于“家具”,而“电视机”属于“家电”,但是“按摩椅”属于“家具”还是“家电”,就很难说了。然而,人类并不纠结于这件事:一个人到商场里买东西,不管商场把“按摩椅”放在“家具”区还是“家电”区,人类都可以通过简单的指引,快速找到“按摩椅”所在的区域。 

综上所述,随着视觉识别的不断细化,基于分类的识别任务终将遇到不可逾越的瓶颈。这里基于分类的识别任务,包括分类、检测、分割等一切需要给目标打上明确标签的任务,因为基于分类的标注无法满足视觉信号具有的近乎无限细粒度的特性。换句话说,只要人类愿意,就可以从一张图像中识别出越来越细粒度的语义信息(如图 1 所示);而这些信息,很难通过有限而规范的标注,形成语义上完整的数据集,供算法学习。我在去年年中写了一篇 opinion paper,整理了这些观点(见下)。经过一年的思考,我们终于在 opinion paper 的基础上迈出了一小步。

怎样的视觉识别算法才是完整的?

https://zhuanlan.zhihu.com/p/376145664

 

▲ 图1. 现有数据集(如MS-COCO)距离完整地识别所有语义信息,还相差甚远。其中下划线和红色字体标出的部分,都是未在数据集中呈现,而人类能够轻易识别或描述的语义内容。