NEIL: Extracting Visual Knowledge from Web Data 论文笔记

Neil:Never ending image learner

NEIL: Extracting Visual Knowledge from Web Data
by: Xinlei Chen, Abhinav Shrivastava, Abhinav Gupta
Carnegie Mellon University
www.neil-kb.com
NEIL(Never Ending Image Learner),这是一个每周 7 天、每天 24 小时运行的计算机程序,用于从互联网数据中自动提取视觉知识。 NEIL 使用半监督学习算法(SSL semi-supervised learning) ,发现常识关系,并标记给定视觉类别的实例。它试图以最少的人工标注工作量开发世界上最大的可视化结构化知识库。截至 2013 年 10 月 10 日,NEIL 已在 200 个核心集群(超过 350K CPU 小时)上连续运行 2.5 个月,拥有 1152 个对象类别、1034 个场景类别和 87 个属性的本体。在此期间,NEIL 发现了 1700 多个关系,并标记了 400K 多个视觉实例。

Motivation

计算机视觉最近的成功主要归因于视觉知识在场景、对象、动作、属性的标记实例以及它们之间的上下文关系方面不断增加的规模。但随我们如何大规模收集这种结构化的视觉知识? ImageNet和 Visipedia最近试图利用人类智能来完成这项任务。然而,在提交时,ImageNet 中只有 7% 的数据具有边界框,并且仍然通过 Wordnet 提取关系。在本文中,我们考虑了一种从互联网规模数据中自动提取视觉知识的替代方法。从图像和视频中自动提取知识的可行性本身将取决于计算机视觉的最新技术。

NEIL

所做贡献:

  • 语义上理解网络上的图像;
  • 使用这种语义理解通过新的标记实例和常识关系来扩充其知识库
  • 使用这个数据集和这些关系来构建更好的分类器和检测器,这反过来又有助于提高语义理解。

具体产出数据:

  • 带有边界框的对象类别的标记示例;
  • 有标签的场景示例;
  • 标记的属性示例;
  • 对象类别的视觉子类;
  • 关于场景、对象和属性的常识关系,例如“卡罗拉是一种/看起来类似于汽车”、“轮子是汽车的一部分”等。

作者在文中提出三个概念:

  • 宏观视觉:我们使用术语“微观视觉”来指代传统范式,其中输入是图像,输出是从该图像中提取的一些信息。 “宏观视觉”其输入是大量图像,输出是在视觉数据中提取重要或有趣的模式(例如,在赛道上经常检测到汽车)。这些模式帮助我们提取常识关系。请注意,关键在于宏观视觉不需要我们理解语料库中的每个图像并提取所有可能的模式。相反,它依赖于对一些图像的理解,并在统计上结合这些证据来构建我们的视觉知识。
  • 视觉世界的结构:通过检测和分类构建全局约束,这些类与类之间的全局约束用常识关系表示。大多数先前的工作使用手动定义的关系或在监督设置中学习关系。我们的主要见解是,在一个联合半监督学习框架中,可以同时标记视觉实例并提取常识关系。
  • 语义驱动的知识获取:我们根据语义类别对视觉数据进行分组,并开发语义类别之间的关系。这使我们能够利用基于文本的索引工具(例如 Google 图像搜索)来初始化我们的视觉知识库学习。

虽然 NEIL 的核心 SSL 算法使用固定的词汇表,但我们也使用 NELL 本体中的名词短语来增加我们的词汇量。

Related Work

构建数据集最常用的方法之一是使用有动力的团队或人群的力量使用手动注释。为了尽量减少人力,最近的工作也集中在主动学习上,它选择信息量最大的标签请求。然而,这两个方向都有一个主要限制:注释成本高、容易出错、有偏差且无法缩放。
自动创建数据集的一种常见方法是使用图像搜索结果并通过视觉分类器或文本和视觉空间中的某种形式的联合聚类,对它们进行重新排序。另一种方法是使用半监督框架。大多数这些自动方法的最大问题是少量标记的示例或图像搜索结果不能为学习鲁棒的视觉分类器提供足够的约束。因此,这些方法存在语义漂移。避免语义漂移的一种方法是利用基于我们的视觉数据结构的额外约束。
研究人员利用了各种约束,例如基于视觉相似性、语义相似性或多个特征空间的约束。【这里引用了很多方法】然而,这些约束中的大多数本质上都很弱:例如,视觉相似性仅对视觉相似图像应该接收相同标签的约束进行建模。我们需要一种方法来捕捉我们视觉世界的丰富结构,并在半监督学习中利用这种结构。
通过上下文关系对我们视觉世界的丰富结构进行建模已经取得了巨大的进步。其中一些关系包括:SceneObject [38]、Object-Object [31]、Object-Attribute [12、22、28]、Scene-Attribute [29]。【这里引用了很多方法】所有这些关系都可以提供一组丰富的约束,可以帮助我们改进 SSL。然而,我们需要获得的视觉知识是如此明显,以至于没有人会花时间把它写下来并放到网上。
我们将视觉知识定义为可用于改进视觉任务(例如图像理解和对象/场景识别)的任何信息。一种形式的视觉知识是被标记为不同类别的示例或标记的片段/边界。标记示例帮助我们学习分类器或检测器并提高图像理解。

在本文中,视觉知识被表示为:

  1. 语义类别的标记示例
    • 对象(例如,汽车、卡罗拉)
    • 场景(如胡同、教堂)
    • 属性(例如,蓝色、现代)。请注意,对于物体,我们学习检测器,对于场景,我们构建分类器;
  2. 这些类别之间的关系
    • Object-Object(例如,Wheel 是 Car 的一部分)
    • Object-Attribute(例如,Sheep is/has White)
    • Scene-Object(例如,Car is found in Raceway)
    • SceneAttribute(例如,Alley is/has Narrow)。

Technical Approach

整体流程如下图所示:
在这里插入图片描述
步骤为:

  1. 使用Google Image Search为每个object、scene、attribute类别下载数千张图片
  2. 使用迭代方法以半监督的方式清理标签并训练检测器/分类器
    • 使用基于样本的聚类方法,发现潜在的视觉子类别和这些子类别的边界框
    • 使用聚类和定位结果为一个概念训练多个检测器(每个子类别一个)
  3. 一旦我们有了关系,我们将它们与我们的分类器和检测器结合使用来标记大量嘈杂的图像
  4. 最有信心标记的图像被添加到标记数据池中并用于重新训练模型,并且该过程会自行重复。

Seeding Classifiers via Google Image Search

使用基于文本的图像检索系统。
对于场景和属性分类器,我们直接使用这些检索到的图像作为正数据。
数据方面的问题,这种方法无法用于训练对象和属性检测器,主要因为以下四个原因:

  1. 异常值:由于基于文本的图像检索的不完善,下载的图像通常有不相关的图像/异常值;
  2. 多义性:在许多情况下,语义类别可能会被重载,单个语义类别可能具有多种意义(例如,苹果既可以表示公司,也可以表示水果);
  3. 视觉多样性:由于视点、光照等不同,检索到的图像可能具有较高的类内变化;
  4. 定位:在许多情况下,检索到的图像可能是没有边界框的场景,因此需要在训练检测器之前对概念进行定位

聚类方法上的问题,大多数当前方法通过聚类来处理这些问题。使用 K-means 进行聚类有两个问题: (1) 高维:我们使用 Color HOG (CHOG)表示,而标准距离度量在这样的高维中效果不佳; (2) 可扩展性:大多数聚类方法倾向于划分完整的特征空间,然而互联网找到的图片会包含很多无关像素(图像外沿)。
论文提出的方法:

  1. 利用exemplar-LDA算法创建windows
  2. 利用the standard affinity propagation算法检测得到分类器和原型图片

聚类后​​,我们使用集群中四分之三的图像为每个集群/子类别训练一个检测器。剩余的四分之一用作校准的验证集。

Extracting Relationships

一旦我们初始化了对象检测器、属性检测器、属性分类器和场景分类器,我们就可以使用它们从数据中自动提取关系。有以下四种关系:

  1. object-object
    • 分体关系(Partonomy):眼睛是婴儿的一部分
    • 分类关系(Taxonomy):BMW320是一种车
    • 相似关系(Similarity):天鹅看起来像鹅
      1. 构建co-detection矩阵
      1. 归一化
      1. 对某对物品的某个特定关系,学习相对位置的平均值/方差, 相对纵横比,相对分数,相对大小
      1. 关系主要分为两个语义类别(分体,分类/相似)
  2. object-attribute
    • object有某属性值: “Pizza has Round Shape”, ” Sunflower is Yellow”
    • 采用与object-object同等策略(co-detection)
  3. scene-object
    • object在某scene中: “Bus is found in Bus depot” and “Monitor is found in Control room”.
      1. 对不同类别的场景图像,选取随机样本进行object detect
      1. 创建归一化co-presence矩阵
  4. scene-attribute
    • scene具有某attribute: “Ocean is Blue”, “Alleys are Narrow”
      1. 计算co-classification矩阵,取最大值

Retraining via Labeling New Instances

这里用了加权评分,但是应该是向量吧?不然特征值不是都平均化了?需要再研究一下这部分,包括具体怎么生成co-matrix的部分

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值