图8-1 图像描述生成的较早期研究[3]
早在21世纪初,人们就开始了从图像中获取语义信息,并将其表达为自然语言的探索性研究,但由于受到当时技术条件的制约,仅能在有限条件下给出简单的描述,不能满足实际应用需求。直到2010年以后,图像描述生成的研究才开始面向更有普遍意义的图像。具有开创性的研究工作包括:Ali Farhadi等人(2010)构建了描述图像的〈目标、动作、场景〉三元组,通过定量地评估从图像到三元组的映射和从标注的描述语句到三元组的映射之间的相似性,在图像和描述语句之间建立连接,从而证实了计算机能够自动生成包含更丰富图像内容的语句。如图8-1所示,Ali Farhadi等给出对自然图像预测的结果,包括〈目标,动作,场景〉三元组和最终生成的描述语句,不过他们认为自己所使用的语句模型过于简单。另一项代表性工作中,Kulkarni等人(2011)认为自动生成描述图像的语句与目标检测、语义分割、场景分类等计算机视觉任务相比,不限于仅仅识别图像场景及场景内包含的目标,而是生成完整的语句表达图像中目标的位置信息以及目标之间的相互关系;为了使语句流畅,需要生成合适的修饰词以及介词短语。Kulkarni等人(2011)将这种基于模板的图像描述生成思路应用于PASCAL自然图像集,实验结果表明,针对图像集中大多数图像能够获得令人满意的效果,如图8-2(a)所示。不过,他们也承认在一些图像上会存在包括漏检、检测不正确、属性不正确、数量计算困难、全部不正确等情况,如图8-2(b)所示。
(www.xing528.com)
图8-2 图像描述生成的较早期研究[4]
综合而言,在较早期的研究中,图像理解主要基于传统方法,例如使用人工设计的特征,如LBP、SIFT、HOG等特征描述子提取图像特征,然后采用SVM等分类器进行类别判定,得到图像中的目标及属性;再根据图像的目标和属性信息,利用基于模板填充或基于检索的方法生成具有语义和句法的语句。其中,基于模板填充的方法首先预先定义模板,然后将提取出的图像特征(如目标、属性、关系、动作等)填入预设的模板,从而生成对一幅图像的简单语句;这类方法实现起来简单易行,能够保证语义和句法正确性,缺点是固定的模板无法产生多样性的输出、句式刻板固定、表达能力有限。基于检索的方法旨在基于相似图像集合及相应的描述生成对查询图像的描述语句,虽然生成的描述语句句式相对灵活和多样,但是这类方法的性能在很大程度上依赖于检索性能,无法保证语义的正确性。总之,传统方法生成描述语句的表现力非常有限。
随着深度学习推动的人工智能浪潮在各个研究领域的渗透,也极大地影响和推动了图像描述生成的发展。一方面,深度学习极大地促进了计算机视觉的发展,提供了一种从训练数据中自动学习特征的端到端机制,克服了人工设计特征在特征表达方面的局限性,在图像描述生成任务中使用深度卷积神经网络(如AlexNet、VGG、GoogLeNet、ResNet等)作为图像特征编码器已经成为研究主流;另一方面,在描述语言自动生成方面,人们开始研究通过训练深度循环神经网络将词汇自动解译为自然语言,从而生成更加灵活和富有创造性的语句。
基于深度学习的图像描述生成的开创性工作是2014年百度研究院提出的m-RNN(multimodal recurrent neural network)模型和2015年谷歌公司提出的NIC(neural image caption generator)模型。他们提出的结合了深度卷积神经网络和循环神经网络/长短记忆网络的基本编-解码架构(encoder-decoder architecture),以其优越的句法正确性、语义准确性和对新图像的泛化能力,奠定了基于深度学习的图像描述生成研究的地位,使其逐渐取代传统的基于模板和基于检索的方法,成为自然语言处理研究和发展的主流架构。在后续的研究中,人们在基本编-解码架构的基础上做了多种改进,以适应各种不同的任务需求。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。