精华内容
下载资源
问答
  • 如何描述一张数据表的基本信息
    万次阅读
    2015-04-10 16:26:57

    最近,我和一位同事合作设计数据库表。我们在设计好各个表之后,需要将表的基本信息记录下来,发给同项目组的同事参阅和评审。最开始,我们不是很清楚如何来描述每张表的信息。通过与大家商量之后,我们认为通过如下格式描述数据库表的基本信息比较恰当。本文可供有类似需求的开发人员参考。

    要比较完整地描述一张数据表,需要交代清楚这五个部分:总体说明、版本说明、表结构说明、建表脚本、初始化语句。以下以员工信息表为例加以说明:


    1. 总体说明(表存放数据说明,哪些模块使用)

    员工信息表tb_employeeinfo,通过此表可定义每个员工在数据库中存储的基本信息。

    使用模块:员工信息存储及处理模块。

     

    2. 版本说明(在哪个基线的哪个版本上增加,谁增加的)

    XXX在V1.01.01版本基础之上增加。

     

    3. 表结构说明(必须标明那个字段是主键)

                                                                   员工信息表tb_employeeinfo

    字段名称

    数据类型

    是否可空

    字段描述

    employeeno

    varchar2(20)

    N

    员工工号,在此字段上建立唯一索引

    employeename

    varchar2(50)

    N

    员工姓名

    employeeage

    int

    N

    员工年龄

    employeeaddr

    varchar2(100)

    Y

    员工地址

     

    4. 建表脚本(基于OEACLE数据库实现)

    begin
    execute immediate 'DROP TABLE tb_employeeinfo CASCADE CONSTRAINTS';
    EXCEPTION WHEN OTHERS THEN NULL;
    end;
    
    /
    create table tb_employeeinfo
    (
        employeeno   varchar2(20)     not null,     -- employee no
        employeename varchar2(50)     not null,     -- employee name
        employeeage  int              not null,     -- employee age
        employeeaddr varchar2(100)        null      -- employee address
    );
    create unique index idx1_tb_employeeinfo on tb_employeeinfo(employeeno);
    
    prompt 'create table tb_employeeinfo ok';
    commit;
    

    5. 初始化语句

    初始时只存储一个员工的信息,初始语句如下:

    insert into tb_employeeinfo(employeeno, employeename, employeeage, employeeaddr) values('20150410160500', 'ZhouXiong', 20, 'ChongQing, China');
    

     

    更多相关内容
  • 在本次调查中,我们根据他们如何将这个问题概念化的现有方法进行分类,即将描述作为生成问题或作为视觉或多模态表征空间上的检索问题的模型。 我们提供了现有模型的详细回顾,突出其优点和缺点。 此外,我们概述...

    摘要

    从自然图像生成自动描述是一个具有挑战性的问题,近来受到计算机视觉和自然语言处理社区的大量关注。 在本次调查中,我们根据他们如何将这个问题概念化的现有方法进行分类,即将描述作为生成问题或作为视觉或多模态表征空间上的检索问题的模型。 我们提供了对现有模型的详细回顾,突出其优点和缺点。 此外,我们概述了评估机器生成图像描述质量的基准图像数据集和评估措施。 最后,我们推断自动图像描述生成领域的未来方向。

    介绍

    在过去二十年中,自然语言处理(NLP)和计算机视觉(CV)领域在分析和生成文本以及理解图像和视频方面取得了巨大的进步。虽然这两个领域都有一套类似于人工智能和机器学习的方法,但它们在历史上是分开发展的,而且它们的科学界通常只有很少的交互作用。

    然而,近年来,对需要结合语言和视觉信息的问题兴趣激增。许多日常工作都属于这种性质,例如,在报纸文章的背景下解读照片,按照说明书结合图表或地图,在听讲座的同时理解幻灯片。除此之外,网络还提供了大量的语言和视觉信息相结合的数据:标签照片,报纸插图,带有字幕的视频以及社交媒体上的多模式信息。为了解决语言和视觉的综合任务,并利用大量的多模式数据,简历和NLP社区已经靠得更近了,例如,通过组织在CV和NLP会议上定期举办的语言和视觉研讨会几年。

    在这个新的语言视觉社区中,自动图像描述已经成为关键任务。这项任务涉及拍摄图像,分析其视觉内容,并生成文字描述(通常是一个句子),用语言表达图像最显着的方面。从CV的观点来看,这是具有挑战性的,因为描述原则上可以谈论图像的任何视觉方面:它可以提及对象及其属性,可以谈论场景的特征(例如,室内/室外),或者表达场景中的人物和物体如何相互作用。更具挑战性的是,描述甚至可以涉及没有描述的对象(例如,即使在列车因为尚未到达而不可见的情况下,它也可以谈论等待列车的人)并提供不能被派生的背景知识直接从图像(例如,描绘的人是蒙娜丽莎)。简而言之,好的图像描述需要全面的图像理解,因此描述任务对于计算机视觉系统来说是一个很好的测试平台,比普通的CV评估更全面,通常测试例如物体检测器的精度或场景分类器在一组有限的类上。

    形象的理解是必要的,但不足以产生一个好的描述。想象一下,我们应用一系列最先进的探测器对图像进行本地化(例如,Felzenszwalb,Girshick,McAllester,&Ramanan,2010; Girshick,Donahue,Darrell,&Malik,2014),确定属性,Lampert,Nickisch和Harmeling,2009; Berg,Berg,&Shih,2010; Parikh&Grauman,2011),计算场景属性(例如Oliva&Torralba,2001; Lazebnik,Schmid,&Ponce,2006)人与物体的相互作用(例如,Perst,Schmid和Ferrari,2012;姚飞飞,2010)。结果将是一个很长的,非结构化的标签列表(检测器输出),这些列表将不能用作图像描述。相比之下,好的图像描述必须是全面的,简明的(谈论所有图像中的重要事物),并且必须是形式上正确的,即由语法形式合理的句子组成。

    从NLP的角度来看,生成这样的描述是一个自然语言生成(NLG)问题。 NLG的任务是将非语言表达转化为人类可读的文本。通常,非语言表示是逻辑形式,数据库查询或一组数字。在图像描述中,输入是一个图像表示(例如,在前一段中列出的检测器输出),NLG模型必须变成句子。生成文本涉及一系列的步骤,传统上被称为NLP管道(Reiter&Dale,2006):我们需要决定哪些方面的输入要谈论(内容选择),然后我们需要组织内容(文本规划)和表述它(表面实现)。反过来,表面实现需要选择合适的词语(词汇化),如果合适的话使用代词(参考表达式生成),并将相关信息聚合在一起(聚合)。

    由于自动图像描述是一个有趣的任务,它是由成熟的CV和NLP方法的存在以及相关数据集的可用性所驱动的,过去五年来出现了大量的图像描述文献。本调查文章的目的是全面概述这些文献,包括模型,数据集和评估指标。

    我们根据所使用的图像描述模型将现有文献分为三类。第一组模型遵循上面所述的经典流水线:它们首先根据一组视觉特征根据对象,属性,场景类型和动作来检测或预测图像内容。然后,这些模型使用该内容信息来驱动输出图像描述的自然语言生成系统。我们将这些方法称为直接生成模型。

    第二组模型把这个问题作为一个检索问题。也就是说,为了创建新图像的描述,这些模型在数据库中搜索与新图像类似的图像。然后根据检索到的一组相似图像的描述,为新图像建立一个描述。通过简单地重新使用最相似的检索图像(转移)的描述来描述新的图像,或者通过基于对一组相似图像的描述来合成新的描述来描述新的图像。基于检索的模型可以根据他们用来表示图像和计算相似度的方法进一步细分。第一组模型使用可视空间来检索图像,而第二组使用共同表示图像和文本的多模式空间。有关本调查中将要审查的模型的概述,以及所涉及的类别,请参见表1。

    从视频中生成自然语言描述在基于图像的描述之上提出了独特的挑战,因为它还需要在时间维度上分析对象及其属性和操作。文献中已经提出了旨在解决视频描述生成的模型(例如Khan,Zhang和Gotoh,2011; Guadarrama,Krishnamoorthy,Malkarnenkar,Venugopalan,Mooney,Darrell和Saenko,2013; Krishnamoorthy,Malkarnenkar, Mooney,Saenko和Guadarrama,2013; Rohrbach,Qiu,Titov,Thater,Pinkal,&Schiele,2013; Thomason,Venugopalan,Guadar-rama,Saenko和Mooney,2014; Rohrbach,Rohrback,Tandon,&Schiele, Yao,Torabi,Cho,Ballas,Pal,Larochelle,&Courville,2015; Zhu,Kiros,Zemel,Salakhutdinov,Urtasun,Torralba,&Fidler,2015)。

    然而,大多数现有的描述生成工作都使用了静态图像,这就是我们在这次调查中将要关注的内容。在这篇调查文章中,我们首先将自动图像描述模型分为上述三类,并在第二部分对每个类别中的模型进行了全面的综述。然后,我们研究了可用于训练和测试描述生成模型的多模态图像数据集最后,在第4节中,我们讨论了未来的研究方向,包括与图像描述相关的可能的新任务,如视觉问题解答。

    2.图像描述模型
    从图像生成自动描述需要了解人类如何描述图像。图像描述可以在几个不同的维度进行分析(Shatford,1986; Jaimes&Chang,2000)。我们遵循Hodosh,Young和Hockenmaier(2013)的假设,并且假设这篇调查文章感兴趣的描述是描述图像中描述的视觉和概念信息的描述,即描述涉及所描述的实体及其属性关系以及它们所涉及的行为。在自动图像描述的范围之外的是非视觉描述,它们给出背景信息或引用图像中未描述的对象(例如,拍摄图像的位置或者谁拍了照片)。此外,与图像描述的标准方法不相关的是感知描述,其捕捉图像的全局低级视觉特征(例如,图像中的主色或者诸如照​​片,绘画,动画等媒体的类型)。 )。
    在下面的小节中,我们将对描述生成的最新方法进行全面的综述。表1提供了该领域的高层次总结,使用了介绍中概述的三类模型:直接生成模型,从视觉空间中检索模型,以及从多模态空间中检索模型。

    2.1从视觉输入生成描述
    这组研究的一般方法是首先通过分析其视觉内容来预测给定图像的最可能的意义,然后生成反映该意思的句子。此类别中的所有模型都使用以下通用管线架构来实现此目的:

    1.使用计算机视觉技术对场景类型进行分类,检测图像中存在的对象,预测它们之间的属性及其关系,并识别发生的行为。
    2.接下来是生成阶段,将检测器输出转换为单词或短语。然后使用自然语言生成技术(例如,模板,n元语法,语法规则)将这些结合在一起以产生图像的自然语言描述。

    本节回顾的方法执行从图像到描述的明确映射,这与第2.2和2.3节中描述的研究区分开来,这些研究包含隐式视觉和语言模型。图1显示了一个示例模型的示例。显式流水线架构针对当前的问题而定制,因为它依赖于预定义的场景,对象,属性和操作的语义类集合,因此会限制生成的描述。此外,这样的架构关键地假定每个语义类别的检测器的准确性,这在实践中并不总是被满足。

    这里写图片描述

    这里写图片描述

    描述生成的方法在两个主要方面有所不同:(a)它们从哪个图像表示中获得描述;(b)它们如何处理句子生成问题。在所使用的表示方面,现有的模型依靠空间关系(Farhadi et al。,2010),基于语料库的关系(Yang et al。,2011)或空间和视觉属性(Kulkarni等,2011)。另一组论文利用抽象的图像表示形式来表示图像的不同方面:检测到的对象,检测到的属性,它们之间的空间关系以及场景类型(Farhadi et al。,2010 ; Yang等,2011; Kulkarni等,2011; Li等,2011; Mitchell等,2012)。最近,Yatskar et al。 (2014)提出从密集标记的图像生成描述,其中包含对象,属性,动作和场景注释。 Fang et al。 (2015),它不依赖于事先标记的对象,属性等。相反,作者直接从图像及其相关描述使用多实例学习(弱监督方法培训物体检测器)。然后将这些检测器返回的单词输入语言模型以生成句子,然后重新排序。

    第一个明确表示图像结构如何与其描述结构相关的框架是Elliott和Keller(2013)提出的Visual Dependency Representations(VDR)方法。 VDR以依赖图的形式捕获图像中的对象之间的空间关系。然后,该图可以与图像描述的语法依赖树相关.3虽然使用VDR的初始工作依赖于用于训练的手动注释的VDR的语料库,但是更近期的方法基于物体检测器的输出自动地引起VDR (Elliott&de Vries,2015)或抽象场景中的标签(Ortiz等,2015).4 Lin等人提出了明确表示图像结构并将其用于描述生成的思想。 (2015)将图像解析成与VDR类似的场景图,表示场景中物体之间的关系。然后他们使用语义语法从场景图生成现有的方法也在第二个维度上变化,也就是他们如何处理句子生成问题。在规模的一端,有一些使用基于n-gram的语言模型的方法。例子包括Kulkarni等人的作品。 (2011)和Li等人(2011),它们都使用在 Wikipedia 子集上训练的n-gram语言模型生成描述。这些方法首先确定图像中的区域之间的属性和关系作为区域 - 介词 - 区域三元组。在语言模型给定的情况下,n-gram语言模型被用来组成一个流畅的图像描述。 Fang等人的方法(2015)是相似的,但是使用最大熵语言模型而不是n-gram模型来生成描述。这为作者提供了更大的灵活性来处理作为其模型核心的单词检测器的输出。

    最近使用递归神经网络(RNN)的图像描述也可以被认为是依赖于语言建模。经典的RNN是一种语言模型:它给出了到目前为止生成的单词在字符串中产生给定单词的概率。在图像描述设置中,RNN被训练以生成下一个字,不仅给出字符串,而且给出一组图像特征。在这种情况下,RNN不是纯粹的语言模型(例如n-gram模型的情况),但它是一个混合模型,它依赖于包含视觉和语言特征的表示。我们将在2.3节更详细地回到这个问题。

    第二组方法使用句子模板来生成描述。这些是(通常是手动的)预先定义的句子框架,其中开放时隙需要用对象,关系或属性的标签填充。例如,杨等人。
    (2011)通过基于隐马尔可夫模型选择可能的对象,动词,介词和场景类型来填充句子模板。通过在Gigaword外部语料库中找到最可能的对象标签配对来生成动词。 Elliott和Keller(2013)的生成模型将图像解析为VDR,然后遍历VDR以填充句子模板的槽。这种方法还通过在训练时间学习VDR和句法依赖树之间的关联来进行有限的内容选择;这些关联允许在测试时为描述选择最合适的动词。

    其他方法已经使用更多语言复杂的方法来生成。米切尔等。 (2012)过度生成句法结构完整的句子片段,然后使用树替换语法重新组合这些句子片段。库兹涅佐娃(Kuznetsova)等人采取了相关的方法。 (2014),从现有描述的训练集中学习树片段,然后将这些片段在测试时间组合以形成新的描述。最近Ortiz等人提出了另一种语言表达模型。 (2015年)。作者将图像描述建模为VDR句对上的机器翻译,并在语言约束下使用整数线性规划执行显式内容选择和表面实现。

    目前提出的系统旨在直接产生新颖的描述。然而,正如Hodosh等人所主张的那样。 (2013),将图像描述框架化为自然语言生成(NLG)任务使得难以客观地评价新颖描述的质量,因为它“引入了一些语言学上的困难,从而影响了基本的图像理解问题” (Hodosh等,2013)。同时,发电系统的评估是困难的(Reiter&Belz,2009)。霍多什等人。因此提出了一种方法,可以独立于生成方面评估图像和句子之间的映射关系。遵循这种方法的模型将图像描述概念化为检索问题:它们通过检索和排列具有候选描述的一组相似图像来将图像与描述相关联。然后可以直接使用这些候选描述(描述传送)或者可以从候选(描述生成)合成新的描述。

    图像的检索和其描述的排序可以通过两种方式来进行:从视觉空间或从文本和视觉信息空间相结合的多模式空间。在下面的小节中,我们将调查跟随这两种方法的工作。

    这里写图片描述

    2.2描述在视觉空间中的检索
    该组中的研究提出了通过检索与查询图像相似的图像(即,待描述的新图像)来自动生成图像的描述的问题。这在图2中示出。换句话说,这些系统利用视觉空间中的相似性来将描述转移到查询图像。与直接生成描述的模型(2.1节)相比,检索模型通常需要大量的训练数据才能提供相关描述。
    就其算法组件而言,视觉检索方法通常遵循三个主要步骤的流水线:

    1.通过特定的视觉特征来表示给定的查询图像。
    2.基于所使用的特征空间中的相似性度量从训练集中检索候选图像集合。
    3.通过进一步利用检索集中包含的视觉和/或文本信息重新排列候选图像的描述,或者根据特定的规则或方案组合候选描述的片段。

    遵循这种方法的第一个模型之一是Ordonez等人的Im2Text模型。 (2011年)。采用GIST(Oliva&Torralba,2001)和Tiny Image(Torralba,Fergus和Freeman,2008)描述符来表示查询图像,并在第一个检索步骤中确定视觉上相似的图像。大多数基于检索的模型都将此步骤的结果作为基准。对于重排步骤,首先将候选描述中提及的实体特定的一系列检测器(例如,对象,物体,行人,动作检测器)和场景分类器应用于图像以更好地捕捉其视觉内容,并且图像通过这些检测器和分类器响应来表示。最后,通过对这些语义特征进行训练的分类器进行重新排序。
    Kuznetsova等人提出的模型(2012)首先在查询图像上运行Im2Text模型的重排步骤中使用的检测器和分类器,以提取和表示其语义内容。

    然后,不像Im2Text模型那样通过组合这些检测器和分类器的响应来执行单个检索,而是对查询图像中存在的每个视觉实体执行单独的图像检索步骤,以从检索的描述中收集相关短语。例如,如果在给定图像中检测到狗,则检索过程返回引用训练集中视觉上相似的狗的短语。更具体地说,这个步骤是用来收集三种不同的短语。基于在训练图像中和在查询图像中检测到的对象区域之间的视觉相似性,从训练集合中的描述中提取名词和动词短语。类似地,通过基于查询的外观和几何布置来测量查询中的检测与训练图像之间的视觉相似度,来针对查询图像中的每个东西检测收集介词短语。通过测量查询和训练图像之间计算的全局场景相似度,为每个场景上下文检测额外收集介词短语。最后,通过整数线性规划(ILP)从这些收集的短语中为每个检测到的对象生成描述,其中考虑了诸如词序,冗余度等因素。

    Gupta等人的方法(2012)是另一种基于短语的方法。为了检索视觉上相似的图像,作者使用简单的RGB和HSV颜色直方图,Gabor和Haar描述符,GIST和SIFT(Lowe,2004)描述符作为图像特征。然后,不是使用视觉对象检测器或场景分类器,而仅仅依赖于视觉上相似图像的描述中的文本信息来提取输入图像的视觉内容。具体而言,将候选描述划分为(主语,动词),(主语,准备语,宾语),(动词,prep,宾语),(宾语,宾语)等某种类型的短语。描述输入图像是根据基于图像相似度和Google搜索计数的联合概率模型确定的,并且图像由形式为{((attribute1,object1),verb),(verb,prep) ,(attribute2,Object2的)),(object1,准备,Object2的)}。最后,使用基于固定模板的三个顶级三元组来生成描述。为了提高描述的质量,作者还在生成步骤之前应用句法聚合和一些主语谓词分组规则。

    Patterson等人(2014)是第一个在计算机视觉领域提出大型场景属性数据集。该数据集包括来自707个场景类别的14,340个图像,其被从与材料,表面属性,照明,可供件和空间布局相关的102个判别性属性列表中的某些属性注释。这允许他们从这个数据集中训练属性分类器。在他们的论文中,作者还表明,这些属性分类器的响应可以被用作全局图像描述符,它比标准全局图像描述符(如GIST)更好地捕获语义内容。作为一个应用,他们通过用自动提取的场景属性替换全局特征来扩展Im2Text的基线模型,给出更好的图像检索和描述结果。

    Mason和Charniak(2014)的描述生成方法与上面讨论的模型不同,它将描述生成描述为一个抽取摘要问题,它在最后的重新排序步骤中仅考虑文本信息来选择输出描述。具体而言,作者通过使用Patterson等人的场景属性描述符来表示图像。 (2014)。一旦从训练集中识别出视觉上相似的图像,在下一步中,通过使用检索图像的描述的非参数密度估计来估计在查询图像的描述中观察词的条件概率。然后使用两种不同的抽取摘要技术来确定最终的输出描述,一种取决于SumBasic模型(Nenkova&Vanderwende,2005),另一种基于查询的词分布与候选描述之间的Kullback-Leibler分歧。

    Yagcioglu等。 (2015)提出了基于组合分布式语义的平均查询扩展方法。为了表示图像,他们使用从最近提出的Visual Geometry Group卷积神经网络(VGG-CNN; Chatfield,Simonyan,Vedaldi和Zisserman,2014)提取的特征。这些特征是在ImageNet上训练的深层神经网络的最后一层的激活,已经被证明在许多计算机视觉问题中是有效的。然后,将原始查询扩展为检索到的描述的分布式表示的平均值,并通过与输入图像的相似性进行加权。

    Devlin等人的方法(2015)也将CNN激活用作全局图像描述符,并且执行k-最近邻居检索以确定来自训练集合的视觉上与查询图像相似的图像。然后,它就像Mason和Charniak(2014)和Yagcioglu等人的方法一样,从与检索图像相关的候选描述中选择最能描述与查询图像相似的图像的描述。 (2015年)。他们的方法在描述描述和他们如何选择整个集合中的最佳候选者之间的相似性方面是不同的。具体而言,他们提出基于描述之间的n-gram重叠F-score来计算描述相似度。他们建议通过找到与描述相对应的描述来选择输出描述,其中与通过n-gram相似性度量估计的其他候选描述(k-最近邻居质心描述)具有最高的平均n-gram重叠。

    2.3作为多模态空间检索的描述
    第三组研究再次将图像描述生成作为一个检索问题,但是从多模态空间(Hodosh et al。,2013; Socher et al。,2014; Karpathy et al。,2014)。图3说明了这些模型背后的直觉,总体方法可以表征如下:
    1.使用训练集的图像描述对,为视觉和文本数据学习一个共同的多模态空间。
    2.给定查询,使用联合表示空间执行跨模态(图像 - 句子)检索。

    与在视觉空间上工作的检索模型(第2.2节)相反,在单模式图像检索之后是检索描述的排序,这里图像和句子特征被投影到共同的多模式空间中。然后,多模态空间用于检索给定图像的描述。这种方法的优点是它允许双向模型,即公共空间也可以用于另一个方向,为查询语句检索最合适的图像。

    在本节中,我们首先讨论Hodosh等人的开创性论文。 (2013)进行描述检索,然后提出将检索方法与某种形式的自然语言生成相结合的更新方法。霍多什等人。 (2013)将图像和句子映射到共同的空间。联合空间可以用于图像搜索(找到给出一个句子的最合理的图像)和图像注释(找到描述图像的句子),见图3.在早期的研究中,作者提出要学习一个共同的含义(Farhadi et al。,2010),其形式为“对象,行动,场景”的三重表征。该表示因此限于一组预定义的离散插槽填充符,其作为训练信息给出。相反,霍多什等人。 (2013)使用CCA的核化版KCCA,典型相关分析(Hotelling,1936)来学习共同空间。 CCA将图像 - 句子对的训练数据集,即Dtrain = {⟨i,s⟩}从两个不同的特征空间输入,并将线性投影映射到新引入的公共空间。在KCCA中,核函数将原始项目映射到高阶空间,以便捕获将图像和文本关联所需的模式。 KCCA之前曾被证明可以成功地将图像(Hardoon,Szedmak,&Shawe- Taylor,2004)或图像区域(Socher&Fei-Fei,2010)与单个词或一组标签联系起来。

    霍多什等人。 (2013)将他们的KCCA方法与使用单峰文本和图像空间的最近邻(NN)基线进行比较,而不构建关节空间。 KCCA的缺点是它只适用于较小的数据集,因为它需要在训练期间将两个内核矩阵保存在内存中。对于非常大的数据集来说,这变得非常有限。

    已经做出一些尝试来规避KCCA的计算负担,例如通过采用线性模型(Hodosh&Hockenmaier,2013)。然而,最近在描述检索方面的工作改为使用神经网络来构建图像描述生成的联合空间。

    Socher等人(2014)使用神经网络来构建句子和图像矢量表示,然后将这些表示映射到一个共同的嵌入空间。他们的工作的一个新颖之处在于他们使用组合语句向量表示。首先,图像和文字的表现形式是以单一形式学习的,最终映射到一个共同的多模式空间。特别是,他们使用一个DT-RNN(依赖树递归神经网络)来组成语言向量来抽象语义上不相关的词序和句法差异。这导致了50维词嵌入。对于图像空间,作者使用一个在ImageNet数据上训练的九层神经网络,使用无监督的预训练。图像嵌入是通过取最后一层(4,096维)的输出而得出的。然后通过最大边缘目标函数将这两个空间投影到多模态空间中,直观地训练一对正确的图像和句子向量以获得高的内积。作者表明,他们的模型比以前使用的KCCA方法(如Hodosh和Hockenmaier(2013))要好。

    Karpathy等人(2014)扩展了以前的多模式嵌入模型。它们的模型不是直接将整个图像和句子映射到一个共同的嵌入空间,而是将更多的细粒度单元,即图像(对象)和句子(依存树片段)的片段嵌入共同的空间。他们的最终模型整合了全球(句子和图像层面)以及细粒度的信息,并且优于以前的方法,如DT-RNN(Socher et al。,2014)。 Pinheiro等人采用了类似的方法。 (2015),他们提出了一个双线性基于短语的模型,学习图像表示和句子之间的映射。然后使用受约束的语言模型从这个表示生成。 Ushiku等人提出了一个概念相关的方法。 (2015):作者使用一个公共的子空间模型,将与同一个短语相关的所有特征向量映射到空间的附近区域。为了生成,使用基于波束搜索的解码器或模板。

    描述生成系统难以评估,因此上述研究将该问题视为检索和排序任务(Hodosh et al。,2013; Socher et al。,2014)。虽然这种方法是有价值的,因为它可以进行比较评估,但检索和排名受到现有数据集和描述的可用性的限制。为了缓解这个问题,最近开发了多模态空间的扩展模型; (Chen&Zitnick,2015; Donahue等,2015; Karpathy&Fei-Fei,2015; Kiros等,2015; Lebret等,2015; Mao等人,2015a; Vinyals等人,2015; Xu等人,2015)。

    这里写图片描述

    Kiros等人(2015)引入了图像描述排序和生成的通用编码器 - 解码器框架,如图4所示。直观地,该方法工作如下。编码器首先构建联合多模态空间。这个空间可以用来排列图像和描述。第二阶段(解码器)然后使用共享的多模式表示来产生新颖的描述。他们的模型直接受到近期机器翻译的启发,使用长期短期记忆(LSTM)递归神经网络编码句子,使用深度卷积网络(CNN)编码图像特征。 LSTM是循环神经网络(RNN)的扩展,它集成了内置的内存来存储信息和利用远程上下文。在Kiros等人的(2015)编码器 - 解码器模型中,视觉空间被投影到LSTM隐藏状态的嵌入空间中;为了学习图像的排序及其描述,最小化成对排序损失。解码器,一个基于神经网络的语言模型,能够从这个多模态空间中产生新的描述。

    在Donahue等人的论文中描述了同时进行的与后者相似的工作。 (2015年)。作者提出了一个基于LSTM神经架构的模型。然而,模型不是将视觉空间投影到隐藏状态的嵌入空间中,而是将静态图像和前一个字的副本直接作为输入,然后馈送到四个LSTM的堆栈。 Jia等人提出了另一种基于LSTM的模型。 (2015),他们将语义图像信息作为附加输入添加到LSTM中。 Kiros等人的模型(2015)优于先前的DT-RNN模型(Socher et al。,2014);反过来,Donahue等。 (2015年)报告,他们跑赢Kiros等人。 (2015)对图像描述检索的任务。随后的工作包括Mao等人的RNN架构。 (2015a)和Vinyals等人(2015),他们与Kiros等人提出的非常相似。 (2015年),并在标准数据集上取得可比较的结果。 Mao,Wei,Yang,Wang,Huang和Yuille(2015b)提出了毛等人(2015a)学习新颖视觉概念的有趣扩展。
    Karpathy和Fei-Fei(2015)通过提出一个更简单的架构和目标函数的深度视觉 - 语义对齐模型来改进以前的模型。他们的关键洞察力是假定句子的部分是指图像中特定但未知的区域。他们的模型试图推断图像句子和区域之间的对齐,并且基于图像区域上的卷积神经网络,用在句子上的双向RNN 和使两种模式对齐的结构化目标。单词和图像区域被映射到通用的多模式嵌入。多模式递归神经网络结构使用推断的对准来学习并产生新的描述。这里,图像被用作递归神经网络中的第一状态的条件,然后产生图像描述。

    Chen和Zitnick(2015)提出了另一个可以产生新句子的模型。与之前的工作相比,他们的模型在生成描述时动态地构建场景的视觉表示。也就是说,一个词被读取或生成,并且视觉表示被更新以反映新的信息。他们用一个简单的RNN来完成这个任务。除了最近提出的深度视觉语义对比模型(Karpathy&Fei-Fei,2015)之外,该模型比大多数先前的研究取得了可比的或更好的结果。 Xu等人的模型。 (2015)是密切相关的,因为它也使用基于RNN的架构,其中视觉表示是动态更新的。 Xu等(2015)的模型结合了一个注意部分,该部分给出了确定图像中哪些区域显着的方法,并且可以将其描述集中在这些区域上。在提高描述准确性的同时,还可以通过可视化模型生成的每个单词期间所关注的区域来分析模型行为。

    Lebret等人也采用了一般的基于RNN的排序和生成方法。 (2015年)。在这里,主要的创新是在语言方面:他们使用双线性模型来学习图像特征和句法短语(名词短语,动词短语和介词短语)的共同空间。然后利用马尔可夫模型从这些短语嵌入生成句子。在视觉方面,使用基于CNN的标准功能。这产生了一个优雅的建模框架,其性能与现有技术水平大致相当。

    最后,两个较少探索的重要方向是:可移植性和弱监督学习。 Verma和Jawahar(2014)基于主题模型评估了双向模型的可移植性,表明性能显着下降。 他们强调了跨数据集图像描述检索评估的重要性。 另一个令人感兴趣的观察是,所有上述模型都需要训练集合的全注释图像 - 句子对。 但是,大量获取这些数据是非常昂贵的。 Gong et al。 (2014)提出了一种基于弱监督的方法,该方法从数百万个弱注释图像传输知识,以提高描述检索的准确性。

    2.4现有方法的比较
    前面小节中的讨论清楚地表明,每一种形象描述的方法都有其特殊的长处和短处。例如,将任务作为生成问题(第2.1节)的方法比其他类型的方法具有优势,因为它们可以生成新的句子来描述给定的图像。然而,他们的成功在很大程度上依赖于他们估计视觉内容的准确程度,以及他们能够表达这些内容的能力。特别是,他们明确地使用计算机视觉技术来预测给定图像的最可能的含义;这些方法在实践中的准确性有限,因此如果不能识别最重要的对象及其属性,则不能生成有效的描述。另一个困难在于最终描述生成步骤;复杂的自然语言生成对于保证生成句子的流畅性和语法正确性至关重要。这可能会导致相当大的算法复杂性。

    相反,将图像描述方法作为从视觉空间问题中提取的问题,并将检索到的描述转换为新颖的图像(2.2节),总是会产生语法正确的描述。这是由设计保证的,因为这些系统从视觉上相似的图像中获取人类生成的句子。这种方法的主要问题是它需要大量的图像和人工描述。也就是说,随着训练集的大小减小,描述的准确性(但不是语法性)降低。为了使基于视觉检索的方法产生适合于新颖测试图像的图像描述(Devlin等,2015),训练集也需要多样化(除了大)外。虽然这个问题可以通过重新合成一个新的描述(见第2.2节)来减轻。

    将图像描述投射为多模式空间问题(2.3节)的方法也具有生成类人描述的优势,因为它们能够从预定义的大型描述池中检索最合适的描述。然而,对这些描述进行排名需要一个跨模式的相似性度量来比较图像和句子。与在视觉空间上工作的检索模型所使用的单峰图像 - 图像相似性度量相比,这种度量难以定义。另外,为图像和句子训练一个共同的空间需要用人工生成的描述注释的大量训练集。另一方面,这种多模式嵌入空间也可以用于相反的问题,即用于为查询语句检索最合适的图像。这是基于生成的或基于视觉检索的方法所不具备的。

    3.数据集和评估

    有大量的数据集用于自动图像描述研究。这些数据集中的图像与文本描述相关联,并且在某些方面彼此不同,例如大小,描述的格式和描述如何收集。在这里,我们回顾了收集数据集的常用方法,数据集本身,以及将生成的描述与地面实况文本进行比较的评估措施。数据集总结在表2中,图像和描述的例子在图5中给出。读者还可以参考Ferraro,Mostafazadeh,Huang,Vanderwende,Devlin,Galley和Mitchell(2015)对数据集进行分析类似于我们的。它提供了一些现有的语言和视觉数据集的基本比较。它不仅限于自动图像描述,它还报告了一些简单的统计和质量指标,例如困惑度,句法复杂度,以及抽象的具体词比率等。

    这里写图片描述

    3.1图像描述数据集
    Pascal1K句子数据集(Rashtchian等,2010)是一个数据集,通常被用作评估描述生成系统质量的基准。这个中等规模的数据集包括从帕斯卡2008年物体识别数据集(Everingham,Van Gool,Williams,Winn和Zisserman,2010)中选择的1,000幅图像,并包括来自不同视觉类别的对象,如人类,动物,汽车。每张图片都与Amazon Mechanical Turk(AMT)服务上的人类生成的五个描述相关联。

    视觉和语言树库(VLT2K; Elliott&Keller,2013)使用来自Pascal 2010动作识别数据集的图像。它用三个,每个图像两个句子的描述来增强这些图像。这些描述是在AMT上收集的,具体的说明是描述图像中描绘的主要行为和所涉及的行动者(第一句),同时也提到最重要的背景对象(第二句)。对于视觉和语言树库的341个图像的子集,对象注释是可用的(以描述中提及的所有对象周围的多边形的形式)。对于这个子集,还包括了手动创建的可视相关性表示(参见2.1节)(每个图像三个VDR,即总共1023个)。

    Flickr8K数据集(Hodosh等,2013)及其扩展版本Flickr30K数据集(Young等,2014)包含来自Flickr的图像,分别包含约8,000和30,000幅图像。这两个数据集中的图像是通过针对特定对象和动作的用户查询来选择的。这些数据集包含五个描述,每个图像是从AMT工作人员采用类似于Pascal1K数据集的策略收集的。

    抽象场景数据集(Zitnick&Parikh,2013; Zitnick,Parikh,&Vanderwende,2013)由10,000个剪贴画图像及其描述组成。图像是通过AMT创建的,工作人员被要求将80个剪贴画对象的固定词汇放入他们选择的场景中。这些描述来源于这些工人创造的场景。作者以两种不同的形式提供了这些描述。虽然第一组包含每个图像的单个句子描述,但第二组包括每个图像的两个替代描述。这两个描述中的每一个由三​​个简单的句子组成,每个句子描述场景的不同方面。这个数据集的主要优点是它提供了探索图像描述生成而不需要自动对象识别的机会,从而避免了相关的噪声。 VQA数据集(Antol,Agrawal,Lu,Mitchell,Batra,Zitnick,&Parikh,2015)已​​经创建了这个数据集的更新版本作为视觉问答(VQA)数据集的一部分。它包含5万个不同的场景图像,更逼真的人体模型和5个单句描述。

    这里写图片描述

    Grubinger等人介绍的IAPR-TC12数据集(2006)是最早的多模态数据集之一,包含了20000个描述的图像。这些图像最初是通过Google,Bing和Yahoo等搜索引擎检索的,描述是以多种语言(主要是英文和德文)制作的。每个图像与一到五个描述相关联,其中每个描述在适用的情况下涉及图像的不同方面。数据集还包含完整的对象的像素级分割。

    MS COCO数据集(Lin et al。,2014)目前由123,287个图像组成,每个图像有五个不同的描述。此数据集中的图像被标注为80个对象类别,这意味着所有图像都可以使用这些类别中的所有实例的边界框。 MS COCO数据集已被广泛用于图像描述,这是最近可用的标准评估服务器所促成的。目前正在开发MS COCO的扩展,包括增加问题和答案(Antol等,2015)。

    一篇论文(Lin等人,2015)使用NYU数据集(Silberman,Kohli,Hoiem和Fergus,2012),该数据集包含具有3D对象分割的1,449个室内场景。 Lin等人对这个数据集进行了五个描述。

    3.2图像标题数据集
    图像描述描述图像中可以看到的内容,即它们指的是所描绘的对象,动作和属性,提及场景类型等。另一方面,标题通常是与图像相关联的文本,所述图像对不能在图像中看到。标题提供了形象的个人,文化或历史背景(Panofsky,1939)。通过社交网络或照片分享网站分享的图片可以附有说明或标题,或两种文字的混合物。报纸或博物馆中的图像通常会包含文化或历史文本,即标题而不是描述。

    英国广播公司新闻数据集(Feng&Lapata,2008)是最早收集的图像和共生文本之一。 Feng和Lapata(2008)从英国广播公司新闻网站收集了3361篇新闻文章,其中包含一个图像和一个标题。
    由Ordonez等人介绍的SBU1M标题数据集(2011)不同于以前的数据集,因为它是一个包含大约一百万个字幕图像的网络规模数据集。它是根据用户提供的图像描述在Flickr上提供的数据进行编译的。图像被下载并从Flickr中过滤,限制条件是图像在预定义的控制列表上包含至少一个名词和一个动词。生成的数据集作为URL的CSV文件提供。

    D ej图像标题数据集(Chen et al。,2015)包含4,000,000个图像,从Flickr收集到180,000个几乎相同的标题。在2013历年期间,使用一组693个名词作为查询从Flickr下载了7.6亿张图片。图像标题通过词法化和停用词去除来标准化,以创建近乎相同的文本的语料库。举例来说,蓝天飞翔的鸟语和一只飞入蓝天的鸟类被规范化为蓝天飞翔的鸟类(Chen et al。,2015)。如果标题由标准化形式的多个用户重复,则图像 - 标题对被保留。

    3.3收集数据集
    收集新的图像文本数据集通常通过众包或从网络收集数据来执行。这些数据集的图像来源于计算机视觉社区现有的任务–Pascal挑战(Everingham et al。,2010)被用于Pascal1K和VLT2K数据集 - 直接来自Flickr,Flickr8K / 30K ,MS COCO,SBU1M标题和D ej`图像标题数据集,或在Abstract Scenes数据集的情况下为众包。图像描述数据集中的文本通常来自Amazon Mechanical Turk或Crowdflower;而图像标题数据集中的文本是从照片共享网站(如Flickr)或新闻提供商那里收集的。字幕通常是在没有经济刺激的情况下收集的,因为它们是由分享自己形象的人写的,或者是由记者写的。

    群众采购图片的描述涉及到定义一个简单的任务,可以由未经培训的工作人员执行。 Hodosh等人使用的任务指南的例子(2013年)和Elliott和Keller(2013年)在图6中给出。在这两种情况下,谨慎地通知潜在的工作人员对任务的期望。特别是对如何撰写说明给出了明确的指示,并提供了良好案文的例子。另外,Hodosh等人提供了更广泛的例子来解释什么会构成不满意的文本。进一步的选择是可用来控制收集的文本的质量:工人的最低绩效率是一个普遍的选择;并且可以使用任务前选拔测验来确定工人是否对英语有足够的把握(Hodosh等,2013)。
    众包工人的薪酬问题是有争议的,高薪酬并不总是导致人群来源的质量更好(Mason&Watts,2009)。 Rashtchian等人(2010)支付$ 0.01 /描述,Elliott和Keller(2013)支付了0.04美元,平均67秒的工作产生一个两句话的描述。就我们所知,这些信息不适用于其他数据集。

    这里写图片描述

    3.4评估措施
    评估自然语言生成(NLG)系统的输出是一项根本性的难题(Dale&White,2007; Reiter&Belz,2009)。评估自动生成文本质量的最常见方法是由专家进行主观评估。 NLG生成的文本通常以语法和内容的方式进行判断,分别指示句法上的正确性和文本的相关性。生成的文本的流畅性有时也被测试,特别是在生成过程中涉及表面实现技术的时候。自动生成的图像描述可以使用相同的NLG技术进行评估。通常,在评估任务期间向评判员提供图像以及描述。机器生成的图像描述的主观人类评价经常在Mechanical Turk上借助于问题进行。到目前为止,已经使用了以下的Likert规模问题来测试各种规模的数据集和用户组。

    (Kulkarni等,2011; Li等,2011; Mitchell等,2012; Kuznetsova等,2012; Elliott&Keller,2013; Hodosh等,2013)。
    •描述在语法上是正确的(Yang et al。,2011; Mitchell et al。,2012; Kuznetsova et al。,2012; Elliott&Keller,2013等)。
    •描述没有不正确的信息(Mitchell et al。,2012)。
    •描述与此图像相关(Li等,2011; Yang等,2011)。
    •描述是创造性地构建的(Li et al。,2011)。
    •描述与人类相似(Mitchell et al。,2012)。

    自动测量的方法是使用自动测量,如BLEU(Papineni,Roukos,Ward,&Zhu,2002),ROUGE(Lin&Hovy, &Lavie,2014),翻译错误率(Feng&Lapata,2013),Meteor(Denkowski,2013)或CIDEr(Vedan tam,Lawrence Zitnick,&Parikh,2015)。这些措施最初是为了评估机器翻译引擎或文本摘要系统的输出而设计的,除了专门为图像描述评估开发的CIDEr之外。所有这些措施计算指示系统输出与一个或多个人类编写的参考文本(例如,地面实况翻译或摘要)之间的相似度的分数。这种评估方法受到了很多讨论和批评(Kulkarni等,2011; Hodosh等,2013; Elliott&Keller,2014)。 Kulkarni等人发现人类判断与Pascal 1K数据集上的单字BLEU(Pearson’sρ= -0.17和0.05)之间呈弱负相关或不相关。霍多什等人研究了Flickr8K数据库中专家人类判断和二值化单元BLEU的Cohen’sκ相关性和检索描述的单元ROUGE。当系统检索到与图像原始相关的句子时,他们发现人类与BLEU(κ= 0.72)或ROUGE(κ= 0.54)当只有一个引用句子可用时,或者当引用句子与提议句子不相交时,协议就会被删除。他们的结论是,这两种方法都不适合于图像描述评估,并且随后提出的图像 - 句子排名实验,在下面更详细地讨论。 Elliott和Keller分析了Flickr8K和VLT2K数据集中用于检索和系统生成的图像描述的人类判断和自动评估测量之间的相关性。他们表明,当时的句子级单位BLEU是图像描述评估事实上的标准尺度,与人的判断只有微弱的相关性。Meteor(Banerjee&Lavie,2005)是一种较少使用的翻译评估指标,与人类判断的相关性最高。然而,库兹涅佐娃等(2014)发现,BLEU与Meteor在图像标题生成方面与人类判断的相关性更强。

    第一次大规模的图像描述评估发生在MS COCO字幕挑战赛2015期间,15个队伍拥有123,716个训练图像和41,000个图像的数据集在一个隐藏的测试数据集中。每个测试图像的参考文本的数量是5或40,基于一些措施可能从更大的参考集中受益的见解(Vedantam等,2015)。当使用自动评估措施时,一些图像描述系统胜过了人类的上限,16是否提供了5或40个参考描述。然而,当使用判断启发任务时,没有任何系统胜过人类评估。Meteor 被认为是最强有力的测量方法,系统在一个和两个提交文件(这取决于参考文献的数量)上打败了人类文本。用CIDEr测量的系统超过人类七到五次;根据ROUGE和BLEU,该系统几乎总是胜过人类,进一步证实了这些评估措施的不适用性。

    这里写图片描述

    从跨模态检索角度来看待描述生成问题的模型(Hodosh和Hockenmaier,2013; Hodosh等,2013; Socher等,2014; Gong等,2014; Karpathy等, 2014; Verma&Jawahar,2014)也能够使用信息检索的方法,比如中位数(mRank),k(S @ k)的精确度或者k(R @ k)的回忆来评估描述除了上面报告的文本相似性度量外,他们还会返回。 Hodosh等人首先提出了这种评估范式,他们报告了基于图像句子的排序评估与人类判断的高度相关性。
    在表3中,我们总结了本次调查中讨论的所有图像描述方法,并列出了每种方法采用的数据集和评估方法。可以看出,最近的系统(从2014年开始)已经融合了大量描述数据集(Flickr8K / 30K,MS COCO)的使用,并采用与人类判断(Meteor,CIDEr)相关性较好的评估措施。然而,BLEU的使用尽管有其局限性,但仍然普遍存在。文献中也没有普遍使用人的评价。

    4.未来的方向
    正如本次调查所显示的那样,CV和NLP社区对自动图像描述系统的兴趣在不断上升。随着图像和文字深度学习模式的最新进展,自动生成的描述的质量得到了实质性的改善。尽管如此,图像描述研究仍面临一系列挑战。下面我们将讨论这一系列研究可能从中受益的未来方向。

    4.1数据集
    最早的图像描述工作使用的是相对较小的数据集(Farhadi et al。,2010; Kulkarni et al。,2011; Elliott&Keller,2013)。最近,Flickr30K,MS COCO和其他大型数据集的引入使得对神经网络等更复杂模型的训练成为可能。尽管如此,该地区可能会从拥有共同的,统一的,全面的词汇和更大的多样化的数据集中受益。 Vinyals等人(2015)认为数据集中的描述集合过程和质量对性能影响显着,数据集之间的传递学习效果不如预期。他们表明,从MS COCO学习模型并将其应用于不同设置(如SBU1M Captions或Pascal1K)中收集的数据集,会导致BLEU性能下降。这是令人惊讶的,因为MS COCO提供了比Pascal1K更多的训练数据。正如Vinyals等人把它,这很大程度上是由于词汇的差异和描述的质量。大多数学习方法都可能遭受这种情况。收集更大,更全面的数据集,并开发能够跨域自然描述的更通用的方法,因此是一个公开的挑战。
    虽然有监督的算法可能利用仔细收集的大型数据集,但是降低监督数量以交换获取更大的无监督数据也是未来研究的一个有趣的途径。利用无监督数据构建更丰富的表示和描述模型是另一个开放的研究挑战。

    4.2措施
    在图像描述领域,设计能够模仿人类判断来评估图像描述的自动化措施,可能是最迫切的需求(Elliott&Keller 2014)。在MS COCO挑战赛的最新评估结果中,这一需求可以被显着地观察到。根据现有的措施,包括最新的CIDEr措施(Vedantam等,2015),几种自动方法的性能优于人类上限(这个上限表明人类描述彼此相似)。这个结果的违反直觉的特征被这样的事实所证实:当人的判断用于评价时,即使是最好的系统的输出也被认为比大多数时候的人类描述更差(Fang et al 2015 )。然而,由于进行人的判断实验是昂贵的,所以主要需要改进与人类判断更高度相关的自动测量。图7绘制了Flickr8K数据集中每个主观判断的BLEU,Meteor,ROUGE和CIDEr得分的Epanechnikov概率密度估计(非参数最优估计)。人类的判断是从人类专家那里得到的(Hodosh et al 2013)。 BLEU再次被证实无法充分区分最低的三个人类判断,而Meteor和CIDEr则显示有迹象表明正在进行有用的分离。

    4.3多样性和创意
    当前的算法通常依赖于他们在训练时看到的描述的直接表示,使测试时生成的描述非常相似。这导致了许多重复,并限制了生成的描述的多样性,使得难以达到人的绩效水平。

    Devlin等人已经证明了这种情况。 (2015年),他们表明,他们最好的模式只能产生47.0%的独特描述。那些产生各种原始描述的系统,不仅仅是重复已经看到的东西,而且还会推断出潜在的语义,因此仍然是一个公开的挑战。 Chen和Zitnick(2015)及相关方法通过耦合描述和可视化表示生成来解决这些限制。

    这里写图片描述

    Jas和Parikh(2015)介绍了图像特异性的概念,认为图像描述的形式不统一,某些图像比其他图像更具体。由于人们倾向于从不同的角度描述非特定的场景,非特定图像的描述往往会有很大的差异。这个概念及其对描述系统和措施的影响应进一步详细研究。

    4.4进一步的任务
    另一个公开的挑战是视觉问答(VQA)。而基于文本的自然语言问题回答长期以来一直是NLP研究的重要目标(例如,Liang,Jordan和Klein,2012; Fader,Zettlemoyer和Etzioni,2013; Richard-son,Burges&Renshaw ,2013; Fader,Zettlemoyer,&Etzioni,2014),回答关于图像的问题是最近出现的一个任务。为了实现这一目标,Malinowski和Fritz(2014a)提出了一个贝叶斯框架,将自然语言问题解答与从图像部分提取的视觉信息相结合。最近,已经开发了基于神经网络的图像问题回答方法(Gao,Mao,Zhou,Huang,and Yuille,2015; Ren,Kiros和Zemel,2015; Malinowski,Rohrbach,&Fritz,2015; Ma,Lu, &Li,2016)。在这个工作之后,几个关于这个任务的数据集正在被发布:DAQUAR(Malinowski&Fritz,2014a)是从场景深度图像中编译的,主要集中在关于物体的类型,数量和颜色的问题; COCO-QA(Ren等人,2015)是通过将图像描述转换为来自MS COCO数据集的图像子集上的VQA格式来构建的; (Gao et al。,2015),Visual Madlibs数据集(Yu,Park,Berg,&Berg,2015)和VQA数据集(Antol等,2015) ,再次为MS COCO的图像而构建,但是这次问题 - 答案对是通过人类注释者以自由式范式收集的。这个新兴领域的研究很可能在近期蓬勃发展。 VQA的最终目标是构建能够通过(最近开发的)视觉图灵测试的系统,能够以与人类观察者相同的精度回答有关图像的任意问题(Malinowski&Fritz,2014b; Geman,Geman,Hallonquist, &Younes,2015)。
    拥有用于图像描述的多语言存储库是一个有趣的探索方向。目前,在可用的基准数据集中,只有IAPR-TC12数据集(Grubinger et al。,2006)具有多语言描述(英文和德文)。今后的工作应该研究在单一描述模型之间传递多模态特征是否导致与单语基线相比更好的描述。在多语种多模式环境中研究不同的模型和新任务将是有趣的,使用更大,更多的语法多样化的多语言描述语料库。
    总的来说,图像理解是计算机视觉的终极目标,而自然语言的生成是NLP最终目标之一。图像描述是这两个目标相互关联的地方,因此这个主题可能受益于这两个领域各自的进步。

    5。结论
    在这次调查中,我们讨论了自动图像描述的最新进展和密切相关的问题。我们通过强调现有研究的共同特点和差异来回顾和分析现有的大量工作。具体而言,我们将相关工作分为三类:(i)从图像生成直接描述,(i)从视觉空间中检索图像,以及(iii)从多模态(联合视觉和语言)空间中检索图像。此外,我们简要回顾了现有的语料库和自动评估措施,并讨论了未来的远景和语言研究方向。

    与传统的基于关键词的图像标注(使用对象识别,属性检测,场景标注等)相比,自动图像描述系统对视觉内容产生了更多的人性化的解释,提供了更加完整的场景图像。在这个领域的进步可能会导致更智能的人工视觉系统,它可以通过生成的基础图像描述来推断场景,从而以更自然的方式与其环境进行交互。它们也可以直接影响视觉障碍人士通过更易于访问的界面从中受益的技术应用。

    尽管近年来图像描述系统的数量显着增加,但实验结果表明系统性能仍然低于人类的性能。类似的挑战在于使用参考描述来自动评估系统。目前使用的措施和工具与人的判断并不完全相关,表明需要采取措施来充分处理图像描述问题的复杂性。

    展开全文
  • 利用Python进行描述性统计

    万次阅读 2018-01-22 12:44:50
    统计学分为描述统计学和推断统计学,描述统计学是使用特定的数字或图表来体现数据的集中程度或离散程度,如平均数、中位数、众数、方差、标准差... 利用Python进行描述性统计分析,需要用到numpy库和scipy库: fro

        统计学分为描述统计学和推断统计学,描述统计学是使用特定的数字或图表来体现数据的集中程度或离散程度,如平均数、中位数、众数、方差、标准差;推断统计学是根据样本数据来推断总体特征,如产品检查,一般采用抽检,根据所抽样本的质量合格率作为总体质量合格率的一个估计。

    一、均值、中位数、众数、极差、方差、标准差

        利用Python进行描述性统计分析,需要用到numpy库和scipy库:

    from numpy import mean,median,ptp,var,std
    from scipy.stats import mode
      首先使用list创造一组数据:

    #使用list创造一组数据
    data = [93,62,51,93,75,82,93,62,65,51]

      均值就是求数据的算数平均数,描述数据的平均水平:

    #均值
    a1 = mean(data)
    print '均值:'
    print a1
      中位数是将数据按大小排列后,位于正中间的数描述,描述中等水平:
    #中位数
    a2 = median(data)
    print '中位数:'
    print a2
      众数是在数据中出现次数最多的数,描述一般水平。在一组数据中,可能存在多个众数,如1,2,2,3,3,4,2和3均为众数;也可能不存在众数,如1,2,3,4。众数不仅适用于数值型数据,也适用于非数值型数据,如苹果,苹果,梨,香蕉,苹果为众数。
    #众数
    a3 = mode(data)
    print '众数:'
    print a3
      均值、中位数、众数都可以描述数据的集中或离散型程度,各其有利弊:   

     优点缺点
    均值充分利用所有数据,适用性强容易受极端值影响
    中位数不受极端值影响缺乏敏感性
    众数不受极端值影响;当数据具有明显的集中趋势时,代表性好缺乏唯一性

        根据数据的分布是否对称,数据分布可分为正态分布与偏态分布。偏态分布分为正偏态分布与负偏态分布。其中,若众数<中位数<平均数,则为正偏态分布,如图1所示;若平均数<中位数<众数,则属于负偏态分布,如图2所示。

    正偏态分布
    图1 正偏态分布                                         图2 负偏态分布

      极差为最大值-最小值,简单的描述数据范围大小:

    #极差
    a4 = ptp(data)
    print '极差:'
    print a4
      方差描述数据的离散程度,两组极差相同的数据可能有不同的方差:

    #方差
    a5 = var (data)
    print '方差:'
    print a5
       标准差也描述数据的离散程度,与方差相比,保持了数据单位的一致性:

    #标准差
    a6 = std(data)
    print '标准差:'
    print a6
    二、直方图、箱线图、茎叶图、 柱状图、饼图

        利用Python画图需要使用matplotlib库。

    import matplotlib.pyplot as plt

       创建一组数据,该数据为30美国NBA球员体重,其中‘\’表示换行接着写。

    weight = [225,232,232,245,235,245,270,225,240,240,\
              217,195,225,185,200,220,200,210,271,240,\
              220,230,215,252,225,220,206,185,227,236]

        直方图画法:(1)找出最大值与最小值,确定数据的范围;(2)整理数据,将数据分为几组(尽量使每组都有数据),计算频数分布表;(3)根据频数分布表,画出频数直方图。频数为纵坐标,分组类别为横坐标。通过直方图可以对数据分布有一个直观了解;(4)除了频数直方图,还有频率直方图。频率直方图的纵坐标为频率/组距。频率=频数/总数,组距是分组的极差。

    #创建频数分布直方图
    #weight为待绘制的定量数据,bins=5边表示将数据划分为5个区间
    #normed=False时为频数分布直方图
    plt.hist(weight,bins=5,normed=False)
    #x轴区间范围
    plt.xlabel('体重')
    plt.ylabel('频数')
    plt.title('美国NBA球员体重频数分布直方图')
    plt.show()

        图3所示为频数分布直方图:

    图3 频数分布直方图
    #创建频率分布直方图
    #weight为待绘制的定量数据,bins=5边表示将数据划分为5个区间
    #normed=Ture时为频率分布直方图
    plt.hist(weight,bins=5,normed=True)
    #x轴区间范围
    plt.xlabel('体重')
    plt.ylabel('频率/组距')
    plt.title('美国NBA球员体重频率分布直方图')
    plt.show()
    
        图4为频率分布直方图:

    图4 频率分布直方图
        也可以通过设置bins的值,自行设定分组组距,如bins=[179.5,199.5,219.5,239.5,259.5,279.5],如图4-1所示:
     
    图4-1 自定义(相同)组距

        也支持不相同的组距设置,bins=[179.5,210,219.5,240,279.5],如图4-2所示:
     
    图4-2 自定义(不同)组距
        箱线图(1)下四分位数Q1:将数据按升序排序,位于25%处的数据;(2)上四分位数Q3将数据按升序排序,位于75%处的数据;(3)四分位距IQR=Q3-Q1,是描述数据离散程度的一个统计量;(4)异常点是小于Q1-1.5IQR或大于Q3+1.5IQR的值;(5)下边缘是除异常点意外的数据中的最小值;(5)上边缘是 除异常点意外的数据中的最大值。

    #箱线图 
    plt.boxplot(weight,labels=['体重'])
    plt.title('美国NBA球员体重箱线图')
    plt.show()
        图5为箱线图:


    图5 箱线图

        茎叶图保留了数据的全部信息,能直观显示数据的分布状况,将茎叶图逆时针旋转90度后,就可以得到一个类似于频数直方图的图。在Python中不能直接调用函数来画茎叶图,在这里我们自己定义一个stem()函数来画,需要用到math库和itertools库:

    import math
    from itertools import groupby
    #茎叶图
    #参数data为数据集,n=10表示以个位数字为叶子
    #sorted(data)表示对data进行排序
    #lambda x为一个匿名函数,x表示sorted(data)中的元素
    #math.floor(x/n) 表示取x的百位和十位数作,并向下取整作为茎;lst中为数据的个位数,作为叶子
    def stem(data,n):
        for k,g in groupby(sorted(data),key = lambda x: math.floor(x/n)):
            lst = map(str, [d % n for d in list(g)])
            print k, '|', ' '.join(lst)
    #调用函数   
    stem(weight,10)

        对于sorted更详细的解释    https://www.cnblogs.com/zle1992/p/6271105.html 

        对于map更详细的解释 http://www.runoob.com/python/python-func-map.html

        对于join更详细的解释 https://www.cnblogs.com/jsplyy/p/5634640.html

        得到的茎叶图如图6所示:


    图6 茎叶图

         以下为某家庭月支出数据:     

    食品2500
    服装1000
    出行500
    教育800
    医疗400
    其他600
    合计5800
        导入数据:
            
    #绘制柱状图
    x = ['食品','服装','出行','教育','医疗','其他']
    y = [2500,1000,500,800,400,600]

         柱状图是显示一段时内的数据变化或显示各项之间的比较情况,与直方图相比:

     直方图柱形图
    横坐标同一个变量的分组划分不同组别之间
    作用显示一组数据的分布情况不同组别的数据差异

    #创建柱状图
    #第一个参数为柱的横坐标
    #第二个参数为柱的高度
    #参数align为柱的对齐方式,以第一个参数为参考标准
    plt.bar(range(len(x)),y,0.4,color = 'rbg',align = 'center')
    
    #设置柱的文字说明
    #第一个参数为文字说明的横坐标
    #第二个参数为文字说明的内容
    plt.xticks(range(len(x)),x)
    
    #设置横坐标的文字说明
    plt.xlabel('类别')
    #设置纵坐标的文字说明
    plt.ylabel('月支出')
    #设置标题
    plt.title('某家庭月支出柱形图')
    #绘图
    plt.show()
        图7为得到的柱形图。
     
    图7 柱状图
        饼图是根据各项所占比例决定在饼图中的扇形面积,简单且通俗易懂。
    #创建饼形图
    #第一个参数为扇形的面积
    #x参数为扇形的说明文字
    #autopct参数为扇形占比的显示格式
    plt.pie(y, labels=x, autopct='%1.1f%%')
    plt.title('某家庭月支出饼图')
    plt.show()
        图8为得到的饼图。
     
    图8 饼图

        


                          




     

     

    展开全文
  • 一、数据流图 ( DFD ) 简介 、 二、数据流图 ( DFD ) 概念符号 、 1、数据流 、 2、加工 ( 核心 ) 、 3、数据存储 4、外部实体 、 三、数据流图 ( DFD ) 分层 、 1、分层说明 、 2、顶层数据流图 、 3、中层数据流图...





    一、数据流图 ( DFD ) 简介



    数据流图 ( Data Flow Diagram ) :

    需求分析 阶段 , 使用的工具 , 在 “结构化分析” 中 , 数据流图 ( DFD ) 使用频率很高 ;

    数据流图涉及内容 : 基本概念符号 , 数据字典 , 数据平衡原则 ;





    二、数据流图 ( DFD ) 概念符号





    1、数据流


    数据流 : 数据流由 一组固定成分的数据 组成 , 表示 数据的流向 ;

    数据流命名 : 每个数据流都有一个 命名 , 该命名表达了 该数据流传输 数据的含义 ; 如在箭头上标注 “账号信息” , 表示该数据流是传输账号信息 的 , 表示 数据的内容 ;

    数据字典 : 数据流箭头上只标明了 “账号信息” , 没有具体的格式内容 , 是只有账号 , 还是有账号/密码/验证码等信息 , 这些数据详细格式 , 都在 数据字典中定义 ;

    符号表示 : 数据流 使用 箭头 表示 , 箭头所指的方向 , 代表了数据流向 ;
    在这里插入图片描述



    2、加工 ( 核心 )


    加工 : 描述 “输入数据流”“输出数据流” 之间的变换 , 即 对数据进行了什么样的处理 , 使得 “输入数据流” 变为 “输出数据流” ;

    主要操作 : 在程序中的体现是 处理 数据的过程 , 向 “加工” 中输入数据流后 , 将数据进行加工 , 处理 , 变换后 , 产生新的 “输出数据流” ;

    符号表示 : 使用 圆形 / 圆角矩形 表示加工 ;
    在这里插入图片描述



    3、数据存储


    数据存储 ( 文件 ) : 表示 暂时存储的数据 , 数据存储的粒度是以 表 为单位 ;

    文件名称 : 每个 数据存储 ( 文件 ) 都有 名字 ;

    方向 : 流向文件的数据流 表示 向文件内写入内容 , 从文件流出的数据流 表示 从文件读取内容 ;

    符号表示 : 使用 双横线 / 半框形矩形 表示
    在这里插入图片描述



    4、外部实体


    外部实体 : 软件系统之外的 人员 / 组织 ;

    符号表示 : 矩形 ;

    在这里插入图片描述





    三、数据流图 ( DFD ) 分层



    在这里插入图片描述



    1、分层说明


    数据流图分层 , 最上层是 顶层数据流图 , 第二层是 0 0 0 层数据流图 , ⋯ \cdots , 最底层是 底层数据流图 ,

    “顶层数据流图”“底层数据流图” 之间是若干 中层数据流图 ,

    中层数据流图 需要进行编号 , 0 0 0 开始编号 ;



    2、顶层数据流图


    顶层数据流图 : 中间的椭圆 是需要开发的 系统 , 周边的矩形 表示的是 外部实体人或组织 , 外部实体 与 系统 之间 , 有数据传输关系 ;

    一个形象的说明是 多个人吃火锅 , 外层周边是人 , 中心位置火锅是系统 ;


    顶层数据流图 能够表达的信息是非常有限的 , 其 将整个系统 , 使用一个节点表示 ,

    其可以体现出 系统与外界实体之间的交互 ,

    但是 系统内部的情况 , 系统内部模块之间的数据交换 是没有体现的 ;



    3、中层数据流图


    “顶层数据流图” 进行细化 , 细化后的 0 0 0 层数据流图 ,

    与 顶层数据流图 比较没有变化的部分 : 外部实体 , 外部实体与系统之间的数据流 , 是没有变化的 ;

    变化部分 : 有变化的部分是系统内部 , 系统内部进行了细化 , 原来系统是一个节点 , 在 中层数据流图 中 , 会将一个节点 拆分成 多个节点 , 这些节点就是系统中的数据处理部件 , 即 加工 ;

    这些数据处理部件 ( 加工 ) 之间会有数据流的交互 ,



    4、底层数据流图


    针对每个加工 节点 , 将其拆分 , 绘制其中的更详细的数据流转情况 ;

    数据流图 ( DFD ) 分层 , 是从 顶层 -> 中层 -> 底层 , 逐层进行分解 , 这种分解思路 , 与结构化的开发方法 , 是完全匹配的 ;

    因此 , 数据流图 是 结构化 开发方法中 , 最常用的工具 ;

    绘制数据流图时 , 要保证 上一层数据流图 与 下一层数据流图 保持平衡 , 这就是 数据流图平衡原则 ;

    展开全文
  • 本节中将利用SPSS Modeler18.0已经数据进行描述性统计分析与数据可视化,需要利用SPSS Modeler软件计算数据的集中趋势指标:平均数、中位数、众数;离散趋势指标:极差、方差与标准差;数据的分布形态:偏度、峰度...
  • 描述性分析流程的整理前言一、变量说明表二、统计量描述位置的度量变异程度的度量...本文整理了一份数据进行描述性分析的流程。 什么是描述性分析?很多人经常说不知道数据报告一开始该写些什么。个人理解,描述性分
  • 课程链接:《问卷与量表数据分析(SPSS+AMOS)》 笔记所用资料皆来自课程资料。 目录 1. 基本信息描述统计——频率分析 1.1 统计结果 1.2 操作步骤——方法1 1.3 分析步骤——方法2(推荐使用) 1.4 三线表...
  • 数据分析之数据预处理、分析建模、可视化

    万次阅读 多人点赞 2020-08-08 15:03:21
    概述:简介、思路、发展...数据分析方法:描述统计、假设检验、信度分析、相关分析、方差分析、回归分析、聚类分析、判别分析、主成分分析、因子分析、时间序列分析等; 数据可视化:Excel、PowerBI、Tableau、Python;
  • 描述数据的“三个维度”

    万次阅读 2018-01-24 00:00:00
    以下文章内容,来自草堂君的新书《人人都会数据分析-从生活实例学统计》。因为新书中增添和细化了很多知识点,所以草堂君会逐步将这些内容补充到统计基础导航页中来,...但是,如果有意识地这些无序的数据进行整理和
  • 数据库中数据字典的理解

    万次阅读 2019-06-03 20:26:48
    这下把我整懵了,本来学习数据库的时候就对数据字典的概念十分模糊,现在要整这么专业的东西,我菜鸟一枚都不知该如何入手。表我能建出来,关系也能理得清,E-R图都画出来了,数据字典这个到底需要怎么做,不是...
  • 一篇文章搞懂数据仓库:元数据分类、元数据管理

    万次阅读 多人点赞 2020-12-31 15:41:39
    描述数据”背后的业务含义 主题定义:每段 ETL、表背后的归属业务主题。 业务描述:每段代码实现的具体业务逻辑。 标准指标:类似于 BI 中的语义层、数仓中的一致性事实;将分析中的指标进行规范化。 标准...
  • 数据仓库之元数据管理

    万次阅读 2020-08-21 16:29:27
    数据数据仓库管理系统的重要组成部分,元数据管理是企业级数据仓库中的关键组件,贯穿了数据仓库的整个生命周期,使用元数据驱动数据仓库的开发,使数据仓库自动化,可视化。 构建数据仓库的主要步骤之一是 ...
  • R极简教程-9:描述性统计分析

    千次阅读 多人点赞 2017-06-26 16:50:08
    描述性统计是最基础但同时也是最重要的数据分析之一,这一步做不好,之后的高端复杂模型根本不用考虑的——连数据统计分布都分析不对,之后的复杂模型肯定是错的。
  • 数据字典介绍

    千次阅读 2021-10-11 17:39:34
    例如:省市区三级联动数据、民族数据、行业数据、学历数据等,由于该系统大量使用这种数据,所以我们要做一个数据字典方便管理系统的数据,一般系统基本都会做数据管理。 二页面效果 三表结构设计 parent_id:...
  • 最常用的四种大数据分析方法

    万次阅读 多人点赞 2017-09-19 09:32:13
    本文主要讲述数据挖掘分析领域中,最常用的四种数据分析方法:描述型分析、诊断型分析、预测型分析和指令型分析。
  • 描述性统计分析

    万次阅读 2018-06-07 10:56:17
    数据分析之前,需先明确变量的度量类型。变量的度量类型主要分三种:名义、等级、连续; 1、名义变量:如饮料类型; 1.1 描述名义变量的分布:频数表、... 3.1.1 需要变量进行分布探索,并了解以下情况:  ...
  • 数据流图

    万次阅读 2018-08-11 13:11:31
    数据流图(Data Flow Diagram,DFD)是描述系统中数据流的图形工具,是一种用来表示信息流和信息变换过程的图解方法,可以标识一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换为逻辑输出所需的加工处理。数据流图...
  • 数据质量评估方法

    万次阅读 2019-01-17 16:48:46
    数据质量评估方法数据质量评估方法数据质量评估具体检测的内容数据...依据以上指标,针对不同的信息系统做出定量的数据质量评估,也可根据实际情况,在评估执行中进行取舍。 数据质量评估具体检测的内容 数据完整性...
  • 数据字典

    千次阅读 2019-10-25 23:01:30
    数据字典是指对数据数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。简而言之,数据字典是描述数据信息集合,...
  • 数据流图——从软考真题中学画数据流图DFD

    万次阅读 多人点赞 2019-03-28 16:27:45
    某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:  1. 每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程...
  • 数据流图、数据字典的画法

    万次阅读 多人点赞 2020-10-30 14:40:50
    在网上找了一圈,感觉有的介绍的不够全面,我补充一下我认为的“重点” 什么是数据流图? 数据流图反映的是客观现实问题中的工作过程 它采用简单的图形妇好...顶层图:整个系统的抽象描述,只包括外部实体、加工和
  • 注:本文于2019年1月31日发表于微信公众号 谈数据(learning-bigdata) 在和一些客户、同事聊数据的时候,发现好多人...[GB/T 18391.1-2002,定义3.14] ,用一组属性描述定义、标识、表示和允许值的数据单元,数...
  • 使用powerdesign 生成表的描述信息

    万次阅读 2018-03-28 14:05:48
    然后,在右键菜单中选择Layout...,选择我们所需要显示的内容,Code表示列名称,一般用英文单词或拼音字母表示,Name一般用中文描述,Data Type 表示数据类型,Comment表示字段备注或字段说明等。  到此基本上已经...
  • 多传感器数据融合技术的基本原理就像人脑综合处理信息一样,充分利用多个传感器资源,通过多传感器及其观测信息的合理支配和使用,把多传感器在空间或时间上冗余或互补信息依据某种准则来进行组合,以获得被测对象...
  • 这是一个系列文章,沉淀了我在数据治理领域的一些实践和思考。共分为5篇。分别是: 一、大数据治理:那些年,我们一起踩过的坑 主要讲讲数据治理工作中常见的一些误区。 二、要打仗,你手里先得有张地图:数据...
  • 数据治理系列2:元数据管理—企业数据治理的基础

    万次阅读 多人点赞 2019-05-13 20:11:04
    导读:元数据管理是企业涉及的业务元数据、技术元数据、管理元数据进行盘点、集成和管理,按照科学、有效的机制数据进行管理,并面向开发人员、最终用户提供元数据服务,以满足用户的业务需求,企业业务系统...
  • 数据治理系列3:数据标准管理

    万次阅读 多人点赞 2019-05-30 16:39:48
    转载请注明,作者:石秀峰,公众号:learning-bigdata(谈数据) 导读:提到“标准”二字,我们第一时间能够想到的就是一系列的标准化文档,例如:产品设计标准、生产标准、质量检验标准、库房管理标准、安全环保...
  • 数据治理之元数据管理实践

    万次阅读 2019-03-02 16:04:44
    近年来,大家都在谈论数据逐步或已经成为企业的核心资产,数据驱动企业业务开展已经在不同的行业和企业中发挥着巨大的作用,那么作为企业的核心资产数据,如何进行管理是不同企业在进行全面数字化转型需要考虑的一个...
  • python数据分析——数据查看与选取(一)

    万次阅读 多人点赞 2018-08-08 21:49:33
    做到了这一步,就可以进行一些快速的描述性分析了! 要查看数据与选取数据,我们首先得了解python里数据存储的方式,然后才能进行数据查看、数据选择、数据清洗、数据分析、数据建模等。。 所以本文将分为: ...
  • 数据离散程度的衡量指标

    万次阅读 2020-12-12 14:32:17
    有些时候数据的离散程度能够让我们数据分析得出一些其他信息,理想情况下数据越集中那么效果越好。那么有没有指标来衡量?答案是有得,今天主要学习一下数据离散程度的衡量指标。1....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,795,418
精华内容 718,167
关键字:

对数据信息进行描述

友情链接: 24c02.rar