2018-04-03 李翔 携程技术中心
李翔,携程数据智能部信息科学组图像技术负责人,专注于计算机视觉和机器学习的研究和应用,现阶段致力于酒店图像智能化,在包括ICCV和CVPR在内的学术会议和国际期刊上发表10余篇论文。
携程作为OTA行业的领跑者,拥有全球百万家酒店数以亿计的酒店图像,酒店图像数量还在以每天数十万的速度增长。面对海量酒店图像,如何完成智能处理与挖掘,大幅减少图像的人工干预,又如何实现智能应用,改善用户获取酒店信息的速度、准确性和完整性,提高用户满意度,这些都成为急需解决的问题。
相比学术界追求的模型创新性,我们更加关注技术实践在落地场景的效果,力求以简单而有效的方法来解决实际业务问题。为解决上述问题,我们从0到1,围绕酒店图像智能化进行了一系列研究和探索。当前酒店图像智能化的整体架构如下图所示。
其中,通过图像智能处理与挖掘,能够节省大量人工处理图像的成本,挖掘丰富的图像信息,在此基础上,通过图像智能应用可以进一步有效地为用户和酒店创造巨大价值。下面我们将围绕这两个部分展开,从多个具体实践出发,分享携程酒店图像智能化从0到1的建设之路。
图像智能处理与挖掘是酒店图像智能化的基础,包括图像预审核、图像质量提升和图像信息挖掘三个环节。
1图像预审核
图像预审核是整个酒店图像智能化的第一步,旨在通过一系列图像技术,辅助人工高效地完成海量图像的审核工作,减少人力成本的投入,当前包括相似图像自动去重、水印/广告等视觉可见的不合规图像的预检测等等。下面介绍其中一些实践。
相似图像去重
酒店图像之间的相同/相似主要表现为1)尺寸形变;2)裁剪残缺;3)色彩变化;4)旋转变化;5)拍摄视角移动等多种情况,如下图所示。
相似图像去重一般分为1)图像特征表达的提取和2)图像之间相似度计算两个主要步骤。对于图像特征表达的提取,常见的手工设计特征有颜色、纹理、HOG、SIFT和SURF等;此外基于深度学习的深层特征表达也经常被使用。对于图像之间相似度计算,常见的无监督距离度量方法有欧式距离、曼哈顿距离和余弦距离等;常见的有监督距离度量方法有LMNN、KISSME、LFDA和MFA等。然而这些方法基于浮点特征计算相似度,计算速度普遍较慢,因此通过哈希学习方法将图像特征转换为二元编码,再利用汉明距离进行相似度的快速计算更加符合工业界对图像数据处理速度的要求。
对于相同/相似的酒店图像,大部分全局特征(比如颜色、纹理和HOG)不能很好地解决图像裁剪残缺和旋转变化等问题;一些局部特征(比如SIFT和SURF)与基于深度学习的特征虽然表达效果较好,但是由于特征提取复杂,计算速度过于缓慢。
针对以上特征提取方法存在的缺陷,我们采用一种快速特征点提取和描述算法ORB作为图像的特征表达,并使用汉明距离完成相似度计算。ORB特征具有以下优点:1)特征提取速度快;2)在大多数情况下,去重效果能够与SIFT/SURF持平;3)提取的特征直接是二元编码形式,无需使用哈希学习方法就可以直接利用汉明距离快速计算相似度。
在真实应用中,我们还对其进一步优化,从而弥补ORB特征不具有尺度不变性的不足,也降低了形变和模糊等因素对ORB特征的影响,在保证性能的同时,提升了图像去重的准确率。
图像水印检测
水印在图像中的视觉显著性很低,具有面积小,颜色浅,透明度高等特点,带水印图像与未带水印图像之间的差异往往很小,区分度较低。
我们将图像水印检测问题转化为一种特殊的单目标检测任务。在深度学习兴起前,可变形部件模型(DPM)一直是流行的目标检测方法。深度学习出现后,以R-CNN、SPPNet、FastR-CNN、FasterR-CNN、SSD、YOLO/YOLO2等为代表的一系列基于深度卷积神经网络的目标检测方法成为主流。
一个鲁棒的目标检测网络,需要大量的标签数据来支撑,然而收集和标记一个大规模水印目标检测数据集是一件十分耗时耗力的工作。为了解决该问题,我们设计了一套训练数据自动生成和自动标记的数据集制作系统,以较小的人力投入建立了一个多元化的大规模水印目标检测数据集。
在该数据集上,我们进一步对比FasterR-CNN、SSD和YOLO2三种主流的目标检测方法。通过对性能和效果的综合评估,我们选择在YOLO2的基础上进行改进,使其更加适应水印单目标检测任务,从而实现最终的水印图像检测器。基于该检测器,我们实现对数据集中常见上百种水印的完美检测,对数据集中未出现的水印也展现出很好的检测效果。
2图像质量提升
图像质量提升旨在通过一系列图像技术,改善酒店图像的质量,进一步减少人工对图像的处理成本,当前包括图像去模糊、小图放大和图像智能美化等等。下面主要分享我们在酒店小图放大中的一些实践。
酒店小图放大
酒店如果存在低分辨率图像通常会被转为高分辨率图像展示给用户,从而使用户获取更多图像细节,更好地增加对浏览酒店的了解。然而,低分辨率图像直接放大,图像会显得模糊,图像细节信息很难恢复。
为了令低分辨率图像放大后变得更加清晰,我们引入图像超分辨率技术。最简单的图像超分辨率方法是图像插值,但插值后的图像很容易形成锯齿边缘,细节恢复效果较差。传统的图像超分辨率方法一般采用稀疏表示和字典学习的方式来实现,利用大量高-低分辨率样本对作为先验信息进行图像细节恢复,常见的方法有SR、ANR、SF和A+等。随着深度学习的发展,通过全卷积神经网络学习低分辨率图像到高分辨率图像的端到端映射函数成为主流方法,其中以SRCNN、DRCN、VDSR、SRResNet、SRGAN和SRDenseNet等方法为典型代表。
在真实的小图放大场景中,我们选择VDSR来构建超分辨率网络,结构如上图所示。具体地,我们组合多种倍数的图像样本进行混合训练,令一个模型能够同时适应多种不同倍数的超分辨率。
然而,在实际应用中我们还遇到一些问题:1)超分辨率网络使用的损失函数一般是最小均方误差(MSE),该函数使重建结果有较高的信噪比,但是缺少高频信息,会使图像出现过度平滑的纹理。2)真实的低分辨率酒店图像往往存在有损压缩,图像本身具有块效应,直接使用超分辨率网络恢复细节,会使图像的块效应更加严重。
为了进一步提升图像超分辨率的效果,我们在VDSR基础上,针对上述问题做了一系列改进,在保证网络输出的图像更加自然的同时,也大幅降低了块效应的影响。利用上述模型,低分辨率图像的高分辨率重建能够被高效地实现,酒店图像质量得到明显提升,人工处理图像的成本大幅减少。
3图像信息挖掘
图像信息挖掘旨在通过一系列图像技术,自动快速地挖掘出图像中蕴含的丰富内容,为每张酒店图像都建立一个信息档案,为下一步图像智能应用打下坚实的基础,当前包括图像内容分类、图像多目标检测和图像质量评价等等。下面对其中的一些实践做简单介绍。
图像内容分类
酒店图像是对酒店各方面信息的直观展示,因为我们需要尽可能地帮助用户方便快捷地发现他们想要浏览的图像内容,所以酒店图像的内容分类显得尤为重要。
随着深度学习的出现,尤其是卷积神经网络的兴起,利用大量已经标注类别的酒店图像样本直接训练一个深度卷积神经网络,比如常用的AlexNet、VGGNet、ResNet、DenseNet和基于Inception的一系列网络等,就可以实现对酒店图像的分类。然而,如果通过人工标注大量训练样本代价极大,如果训练样本不足则会导致网络过拟合。为了能够实现在标注少量酒店图像的情况下达到良好的分类效果,我们利用深度网络有效的迁移学习能力,对在大规模数据集上已经预训练的网络权重进行微调。
在实际应用中,我们没有借助应用最为广泛的ImageNet数据集,因为该数据集图像的内容和酒店图像差异过大,影响了网络迁移学习的效果。为了尽可能的提升网络的迁移能力,我们借助与酒店图像内容最为接近的自然场景图像数据集上预训练的VGGNet作为初始设置。同时,我们进一步利用水平翻转、随机裁剪和色彩抖动等方式对标注的小规模酒店图像数据集进行数据增强。
基于以上的方法,我们实现了酒店图像内容十余个类别的准确区分,为之后图像智能应用做好了准备。
图像质量评价
在上一节中,我们介绍了通过酒店图像分类模型来挖掘图像的类别信息。接下来我们需要更进一步对所有酒店图像进行质量评价,为每张酒店图像计算质量分数来表征其质量的高低。
起初我们选择清晰度这一客观指标作为图像质量评价的标准,然而我们发现仅以清晰度作为图像质量评价的标准存在不足,清晰度高但内容不好看的图像为数不少。因此我们更希望能够从美学角度来对图像质量进行评价。
图像美感度是一个非常主观的概念,很难有一个统一的标准去量化,为了能够尽可能准确地量化图像的美感度分数,我们选择深度学习的方法来实现美感度评价。具体地,我们把计算分数的回归问题转化为判断图像好看与否的分类问题,为了把模型的判断结果转化为美感度分数,我们在模型的最后一层输出图像被判断为好看的概率,作为图像的美感度分数。通过这种方法可以很直观地把一个二元分类器的输出结果转化成打分的结果。
在实际应用中,我们又再次遇到了同样的问题,缺少大量标注了好看/不好看标签的训练图像。由于在酒店图像分类中,我们利用卷积神经网络强大的迁移学习能力取得了成功,所以我们决定继续沿用这种方法。由于酒店图像的美观度受到内容、色彩和构图等多方面的影响,所以我们不再像酒店图像分类那样只借助内容单一的场景图像数据集,而是将包罗万象的ImageNet数据集和场景图像数据集混合进行ResNet模型的预训练,力求让尽可能多的图像参与层数更多的ResNet模型的学习,令更深的网络能够记住更多图像的内容,对图像内不同区域之间关系的理解更加深入,从而进一步提高网络在美感度评价上的迁移能力。
在数据集标注的过程中,由于图像好看与否主观性依赖很强,所以我们综合了多人评判结果作为每张酒店图像好看与否的标注。由于图像经过翻转、裁剪或色彩抖动都会令图像的美感度发生变化,所以我们未对数据集进行数据增强。为了防止直接微调网络出现过拟合,我们转而利用特征迁移,在ResNet的深层特征表达基础上,训练支持向量机实现酒店图像好看/不好看的二元分类模型,模型结构如上图所示。通过图像质量评价,我们获取了酒店图像的质量分数,为后续图像智能应用提供了重要依据。
图像智能应用能够为用户和酒店创造巨大价值,是图像智能化的重要组成部分,当前包括图像智能展示、图文智能结合和酒店视频等应用场景。
1图像智能展示
酒店和房型的首图如何挑选才能提升用户的满意度,酒店图像如何排序才能使用户快速获取想要的酒店信息。我们针对这些问题,对图像进行一系列智能展示,在包括酒店/房型的首图优选、酒店图像分类展示和质量/个性化排序等方面做了诸多尝试,努力提升用户体验。
酒店/房型的首图是用户对酒店/房型的初始印象,除了商家或运营人工指定首图外,绝大部分酒店和房型的首图都是由机器进行挑选。为此,我们基于图像智能挖掘获取的图像分辨率、内容类型、清晰度/美感度分数,设计了完整的首图优选模型,力求把图像多种不同信息自适应融合起来,为酒店挑选最优的酒店图像展示给用户。
通过我们的首图优选模型,酒店和房型的首图质量大大提高,对比效果如上图所示(左为原版,右为新版)。更优质的酒店和房型首图使得用户预订转化率显著上升,在提高用户满意度的同时,也给酒店带来了价值。
2图文智能结合
在图像单一展示的基础上,我们还进行了一些图像和文本智能结合的探索,包括图像自动添加描述和酒店图文介绍自动生成等工作。
我们尝试对酒店图像自动添加描述,使用户在浏览图像的过程中能够浏览文字,加深其对图像内容的了解。然而,利用基于深度学习的ImageCaption模型从图像得到的描述性文字显得生硬而平淡,直接展示给用户很不自然。我们在此基础上进行改进,进一步结合海量用户点评数据,利用真实用户的评论内容来描述酒店图像。
点评不仅流畅而且自带情感,用户在浏览图像的同时可以看到其他用户对该图像内容的真实评价,方便快捷地提升了用户获取酒店信息的丰富度和可靠性,用户浏览费力度也得到显著下降。下图展示了图像浏览中结合点评描述的应用场景。
3从图像到视频
随着移动通信的发展和WIFI的普及,用户已经不再满足于只浏览静态图像,视频的观看需求日益增长。我们在这方面也做了一些实践,通过视频播放形式对酒店信息进行连续展示,使用户观看酒店视频就可以对酒店信息进行更全面的了解,减少用户的浏览费力度,提升用户体验。
为每家酒店拍摄视频需要投入大量人力物力,为了快速获取酒店高质量精美视频,我们利用酒店图像来自动生成酒店视频。具体地,我们借助图像挖掘中获取的丰富的图像信息,设计了一个智能选图系统,实现视频图像的自动挑选。同时,我们通过酒店的文本信息自动匹配相应的字幕。下图展示了一个酒店视频包含的部分图像和字幕。
酒店视频上线后,取得了很好的反响,用户通过观看酒店视频加深了对酒店的了解。现在酒店视频日均观看数万次,用户预订转化率和间夜量显著上升,用户和酒店实现了双赢。我们还在继续对酒店视频不断优化和迭代,力求为用户和酒店创造出更大价值。
我们通过介绍携程多个真实的图像智能化案例,分享了从0到1的图像智能化建设之路,但计算机视觉和机器学习对于携程图像智能化的价值远远不限于此。接下来我们将继续在多个图像应用场景进行深入挖掘,力求为携程图像智能化贡献更多的力量。
http://mp.weixin.qq.com/s/fJUQXnVwTlfOC37Go0lLUg
最新评论: