利用深度学习自动评价数百万张酒店图像

简介: ​德国比价网站idealo.de训练了两个深度神经网络来评估图像的美学质量和技术质量。

雷锋网(公众号:雷锋网)按:本文由「图普科技」编译自Using Deep Learning to automatically rank millions of hotel images

德国比价网站idealo.de训练了两个深度神经网络来评估图像的美学质量和技术质量。

TB1PwdyyhuTBuNkHFNRXXc9qpXa.jpg

基于训练模型的美感可视化(美观性按从左到右的顺序逐渐增加)

idealo.de是欧洲领先的价格比较网站,也是德国最大的电商门户网站之一,可提供市场上最好的酒店价格比较。对于每家酒店,我们都会收到数十张图片,我们需在的优惠对比页面上为每个优惠项选择“最具吸引力”的图片,这是一项具有挑战性的工作,因为照片和评论一样对顾客是否预订有着举足轻重的影响。我们拥有全球百万家酒店的近亿张酒店图像,需要对其进行“吸引力”评估。

我们基于谷歌发布的研究论文“NIMA:神经图像评估”,通过进行美学和技术质量分类来自动评估图像质量。NIMA由两个卷积神经网络(CNN)组成,旨在分别预测图像的美学质量和技术质量。我们通过迁移学习来训练模型,其中ImageNet预训练的CNN会针对每个质量分类任务进行微调。

在本文中,我们将介绍我们在整个过程中使用的训练方法和一些见解。然后,我们将尝试通过可视化我们训练模型的卷积滤波器权重和输出节点来阐明训练模型习得的内容。

我们在GitHub上发布了训练模型和代码。提供的代码支持人们使用Keras中任何预训练的CNN,因此我们希望为探索利用其他CNN进行图像质量评估的作出贡献 。

训练

美学和技术分类器通过迁移学习方法进行训练。我们将MobileNet架构与ImageNet权重相结合,并将MobileNet中的最后一个密集层替换为输出为10个类(分数为1到10)的密集层。

Earth Mover损失函数

NIMA的一个特点是使用Earth Mover损失(EML)作为损失函数,与分类交叉熵(CCE)损失相反,该函数通常应用于深度学习分类任务。EML可以理解为使两个概率分布相等需要移动的“泥土”的量。该损失函数的一个有用属性是它可以捕获类的固有顺序。 在我们的图像质量等级评估中,得分为4,5和6比得分为1,5和10的相关性更高,即在真实得分为10时,我们对得分为4的预测的惩罚比真实得分为5时更多。CCE无法获得这种关系,并且在目标分类任务中通常不需要使用CCE。(例如,将树错误分类为狗与将其归类为猫同样糟糕)。

为了使用EML,我们需要每个图像在所有十个分数类别中的分布概率。对于用于训练美学质量分类的AVA数据集,可以使用这些分布概率。对于用于技术质量分类的TID2013数据集,我们根据为每个图像给出的平均分数推断出其分布。有关我们的分布推断的更多详细信息,请查看我们的GitHub repo。

微调阶段

我们的模型训练分为两个阶段:

1.我们首先训练具有较高学习速率的最后一个密集层,以确保将新添加的随机权重调整为ImageNet卷积权重。如果没有这个老化期,你可能会在训练开始时需要兼顾卷积权重,从而拖慢整个训练过程。

2.在老化期之后,我们训练学习速率较低的CNN中的所有权重。

TB17_OYyfuSBuNkHFqDXXXfhVXa.jpg TB1ExYZGv5TBuNjSspmXXaDRVXa.jpg

对于美学和技术模型,训练损失和验证损失曲线分别在第5和第25个时间段后变平。这是一个很好的指标,说明新增加的权重已经学会尽可能好地分类不同美学和技术质量的图像,并且是时候开始训练所有权重了。

对于美学分类器,一旦我们也开始训练卷积权重,损失会显著下降(如左图中的虚线),这表明我们正在调整美学质量分类任务的卷积权重。对于技术分类器,损失的下降幅度较小,这首先是反直觉的,因为图像技术质量应该是对象不可知的,但ImageNet权重被优化以便识别对象。小幅下降可能是由于规范小型TID2013数据集训练所需的学习速率很低。

您可以在我们的GitHub repo中找到用于训练的所有超参数

结果

TB1fMhyyhuTBuNkHFNRXXc9qpXa.jpg

MobileNet美学预测

TB1fTnLGruWBuNjSszgXXb8jVXa.jpg

MobileNet技术预测

上述预测表明,美学分类器正确地将图像按照美观性进行了排列,从非常美观(最左边的日落图像)到最不美观(最右边的无聊的酒店房间)。类似地,对于技术质量分类,分类器预测的未失真图像(左起第一和第四张图像)比进行了jpeg压缩(第二和第五张)或模糊(第三和第六张)的图像分数更高。

可视化

为了更好地理解CNN如何评估图像的美学质量,我们使用了Lucid包来显示Aesthetic MobileNet中的习得卷积滤波器权重和输出节点。特征可视化这篇博客文章提供了最先进的CNN可视化技术的精彩互动概述。

TB15ppcXzfguuRjy1zeXXb0KFXa.jpg

第23层滤波器可视化(顶行是ImageNet MobileNet,底行是Aesthetic MobileNet)

较早的卷积层通常与更简单的结构相关联,例如边缘,波形图案和网格。上图显示了与MobileNet第23层中的六个滤波器相关联的图案 - 顶行中的六张图像是由原始的MobileNet ImageNet权重(ImageNet MobileNet)生成的,而底行图像是由根据美学质量评级的AVA数据集微调的MobileNet权重(Aesthetic MobileNet)生成的。从滤波器可视化中我们可以看到,较早的卷积滤波器在整个微调过程中受到的影响不大,因为它们与原始图像非常相似。

TB1iKDfGv9TBuNjy0FcXXbeiFXa.jpg

第51层滤波器可视化(顶行是ImageNet MobileNet,底行是Aesthetic MobileNet)

对于处于第51层的中间卷积滤波器,其所学习的形状更复杂,类似于毛发或有扣眼的网格等交织结构。即使在这种程度,Aesthetic MobileNet滤波器也非常类似于ImageNet MobileNet滤波器。

TB1cQ4bXy6guuRkSnb4XXbu4XXa.jpg

第79层滤波器可视化(顶行是ImageNet MobileNet,底行是Aesthetic MobileNet)

后来的卷积层呈现出更复杂的结构,类似于动物和树木的形状。 我们可以看到,Aesthetic MobileNet的滤波器与ImageNet的滤波器有很大不同,因为它们似乎不太关注目标,例如 左起第四个滤波器中没有动物形状。

我们还可以将Aesthetic MobileNet的输出节点可视化,来表示分数1到10的概率。因此,可视化显示与每个分数相关联的“代表性”图像。

TB1PgjZGACWBuNjy0FaXXXUlXXa.jpg

输出节点可视化Aesthetic MobileNet(按升序排列,从左上角到右下角分数为1到10)

输出节点的可视化很难解释,就像很难定义美观性一样。若有任何不同的话,较低分数的图像的可视化似乎不那么多姿多彩,而较高的分数则与更多的色彩和丰富的形状相关联。 得分为10的图像看起来类似于具有天空背景的景观,通常被认为具有高度美感。

总结

在本文中,我们介绍了自动评估图像质量的挑战。经过训练的美学和技术模型根据美学和技术质量成功地对图像进行排序。我们通过可视化卷积滤波器和输出节点进一步探索了美学模型的习得CNN权重,并得出结论,微调主要影响后来的卷积权重。

微调深度神经网络是解决企业面临的许多计算机视觉问题的一种良好策略。然而,这些模型的分类及其数百万个参数通常很难解释,我们希望通过可视化分析能使人们对这个黑盒子有所了解。

相关文章:

图普科技 CEO 李明强:如何用图像识别云服务,建立商业闭环 丨CCF-GAIR 2018

Google工程师:教你用树莓派+Arduino+TensorFlow搭建图像识别小车

从原理到代码:大牛教你如何用 TensorFlow 亲手搭建一套图像识别模块 | AI 研习社

雷锋网版权文章,未经授权禁止转载。详情见转载须知。

TB1CL6sXjfguuRjSspkXXXchpXa.jpg
目录
相关文章
|
3月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
深度学习中的图像风格迁移
【9月更文挑战第26天】本文将探讨如何利用深度学习技术,实现图像风格的转换。我们将从基础的理论出发,然后逐步深入到具体的实现过程,最后通过代码实例来展示这一技术的实际应用。无论你是初学者还是有经验的开发者,都能在这篇文章中找到有价值的信息。让我们一起探索深度学习的奥秘吧!
|
2月前
|
机器学习/深度学习 人工智能 TensorFlow
利用深度学习实现图像风格迁移
【8月更文挑战第73天】本文通过深入浅出的方式,介绍了一种使用深度学习技术进行图像风格迁移的方法。我们将探讨如何将一张普通照片转化为具有著名画作风格的艺术作品。文章不仅解释了背后的技术原理,还提供了一个实际的代码示例,帮助读者理解如何实现这一过程。
|
1月前
|
机器学习/深度学习 编解码 算法
什么是超分辨率?浅谈一下基于深度学习的图像超分辨率技术
超分辨率技术旨在提升图像或视频的清晰度,通过增加单位长度内的采样点数量来提高空间分辨率。基于深度学习的方法,如SRCNN、VDSR、SRResNet等,通过卷积神经网络和残差学习等技术,显著提升了图像重建的质量。此外,基于参考图像的超分辨率技术通过利用高分辨率参考图像,进一步提高了重建图像的真实感和细节。
|
1月前
|
机器学习/深度学习 人工智能 自动驾驶
深度学习的奇迹:如何用神经网络识别图像
【10月更文挑战第33天】在这篇文章中,我们将探索深度学习的奇妙世界,特别是卷积神经网络(CNN)在图像识别中的应用。我们将通过一个简单的代码示例,展示如何使用Python和Keras库构建一个能够识别手写数字的神经网络。这不仅是对深度学习概念的直观介绍,也是对技术实践的一次尝试。让我们一起踏上这段探索之旅,看看数据、模型和代码是如何交织在一起,创造出令人惊叹的结果。
33 0
|
3月前
|
机器学习/深度学习 并行计算 PyTorch
图像检测【YOLOv5】——深度学习
Anaconda的安装配置:(Anaconda是一个开源的Python发行版本,包括Conda、Python以及很多安装好的工具包,比如:numpy,pandas等,其中conda是一个开源包和环境管理器,可以用于在同一个电脑上安装不同版本的软件包,并且可以在不同环境之间切换,是深度学习的必备平台。) 一.Anaconda安装配置. 1.首先进入官网:https://repo.anaconda.com,选择View All Installers. 2.打开看到的界面是Anaconda的所以安装包版本,Anaconda3就代表是Python3版本,后面跟的是发行日期,我选择了最近的2022
78 28
|
2月前
|
机器学习/深度学习 数据挖掘 数据处理
深度学习之卫星图像中的环境监测
基于深度学习的卫星图像环境监测是指通过使用深度学习模型处理和分析来自卫星的遥感数据,以实现对地球环境的自动化监测和分析。这项技术极大提升了环境监测的效率、精度和规模,应用于气候变化研究、生态保护、自然灾害监测、城市扩张评估等多个领域。
140 0
|
3月前
|
机器学习/深度学习 算法 搜索推荐
利用深度学习实现图像风格迁移
【9月更文挑战第21天】本文将介绍一种使用深度学习技术,特别是卷积神经网络(CNN)和生成对抗网络(GAN)来实现图像风格迁移的方法。我们将探索如何将这些技术应用于艺术创作,以及它们如何影响现代视觉艺术的发展。
|
3月前
|
机器学习/深度学习 自然语言处理 计算机视觉
深度学习之文本引导的图像编辑
基于深度学习的文本引导的图像编辑(Text-Guided Image Editing)是一种通过自然语言文本指令对图像进行编辑或修改的技术。
66 8
|
3月前
|
机器学习/深度学习 自然语言处理 并行计算
深度学习之图像描述生成
基于深度学习的图像描述生成(Image Captioning)是一种将计算机视觉与自然语言处理结合的任务,其目标是通过自动生成自然语言来描述输入的图像。该技术能够理解图像中的视觉内容,并生成相应的文本描述,广泛应用于视觉问答、辅助盲人、自动视频字幕生成等领域。
178 7
|
2月前
|
机器学习/深度学习 PyTorch API
深度学习入门:卷积神经网络 | CNN概述,图像基础知识,卷积层,池化层(超详解!!!)
深度学习入门:卷积神经网络 | CNN概述,图像基础知识,卷积层,池化层(超详解!!!)
下一篇
DataWorks