前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AI 技术讲座精选:在 Pinterest 上的视觉发现

AI 技术讲座精选:在 Pinterest 上的视觉发现

作者头像
AI科技大本营
发布2018-04-26 14:19:48
1K0
发布2018-04-26 14:19:48
举报
文章被收录于专栏:AI科技大本营的专栏

摘 要

在过去的三年中,Pinterest 已经针对几款视觉搜索和推荐服务做出了相关的实验,其中就包括 Related Pins (2014)、Similar Looks (2015)、Flashlight (2016)以及 Lens (2017)。本论文旨在对上述几款服务背后的视觉发现引擎做出简要的概述,同时对技术决策和产品决策背后的理论做出分析, 如物体检测和交互式用户界面的使用。最终我们得出以下结论:视觉发现引擎极大地提升了搜索和推荐任务的互动性。

关键词: 视觉搜索、推荐系统、卷积特征、物体检测

介 绍

如今,高速发展的线上图片和视频带动的新兴研究领域是视觉搜索和推荐服务,本论文将其统称为视觉发现。商业视觉搜索系统,如 Google Goggles 和 Amazon Flow 等都用于检索事物的对应图片,查询图像。但另一方面,推荐系统,如 Google Similar Images、Shopping 和 Image Swirl 等都能够在用户没有进行显式查询的情况下,根据查询图片提供一些看起来非常相似的图片。我们花了超过三年半的时间用 Pinterest 不同的视觉发现系统进行实验。最近,有两项技术不断发展并相互交汇,对我们有着相当大的帮助。其中一个是计算机视觉的发展,尤其是卷积网络的使用和 GPU 的发展,使图片分类和物体检测技术突飞猛进;另一个则是,有相当多的用户当下更加倾向于使用发现系统的浏览功能(寻找有启发性或者其他相关的内容),而不是搜索功能(寻找答案)。Pinterest 是个非常独特的平台,拥有数以千万的用户(经常浏览网页来寻找时尚、旅行、室内设计、食谱等等方面的信息),为用户们提供着各种不同的视觉发现体验。我们初期的工作成果表明,卷积特征和物体检测可以增加用户视觉搜索系统的互动性。接着,我们发布了 Pinterest Flashlight。Pinterest Flashlight 是一款交互视觉发现工具,主要用于帮助用户选择图片中的物体(如,灯、桌子、架子等),如图1所示。

如果系统确定了物体的位置,不管是通过自动物体定位还是协同过滤,Flashlight 都会在图片上面显示出一个可点击的“点”,使得接下来的操作更加便捷。如图2所示。

最近我们又发布了 Pinterest Lens,是一个可通过手机相机获得的视觉发现体验,如图3所示。

在本次发布的 Pinterest Lens 中,我们还将物体检测运用到了 Pinterest 数百万的图片当中,使得需查询物体可以和目录图片里的其它相似物进行匹配。本篇论文在为视觉发现系统提供架构概览的同时,也会为大家分享在 Pinterest 中将缩放和集成视觉特征放入产品中的相关经验。例如,我们事先对大众经常使用的分类网络执行检索任务的表现做出了调查,而后评估了二值化变化对提升这些分类特征的检索质量和效率是否有帮助。这种变化一方面能够使我们在进行大规模设置时提高结果的相关性,另一方面也能极大地降低检索延迟性。与此同时,本篇论文也会阐述把物体检测运用到多视觉发现体验的过程,包括如何在图像推荐系统和视觉搜索系统的查询规格化中利用检测作为特征。该论文其他部分结构如下:第二和第三部分会介绍 Pinterest 的图像集合对视觉发现体验和搜索相关内容的重要性。第四和第五部分会谈谈我们系统中的视觉特征和物体检测器。第六部分说的是视觉特征如何强化通用图像推荐系统。而第七和第八部分是关于我们发布 Pinterest Flashlight 和最新的 APP Pinterest Lens 的相关经验。

PINTEREST RELATEDPINS

Related Pins 是一个图钉推荐系统,在 Pinterest 大量人们自己设计的内容中,它能够通过查询图钉来推荐其他的个性化图钉。该系统常常用在图钉特写视图中,也叫 Related Pins feed,如图8所示。

另外,Related Pins 推荐系统如今已经和 Pinterest 的某些部分相互合并了,包括 home feed、未认证访客的 pin page、邮件以及某些自己设置的图钉集合(如浏览标签等)。如果存在以下行为,则表明用户在 Pinterest 上有所交互。用户在图钉上的详细信息,可以通过点击的方式查看到更多的内容。接下来,用户还可以点击查看相关的链接;如果在某一网站的停留时间较长,那么我们就将其称之为长点击事件。最后,用户可以把图钉保存在订板里。我们对“相关图钉保存倾向”很感兴趣,其结果是由浏览 Related Pins 推荐图钉的人数除以收藏推荐图钉的人数得到的。D.C.Liu 等人向我们展现了相关图钉特征的详细架构和演化过程。该部分主要讨论的是卷积特征以及物体探测提高 Related Pins 互动性的过程。

推荐系统的卷积特征

Related Pins 基于协同过滤机制(图像板共生)得到备选图片和常用的 Rank-SVM,以此学到将输入的特征计算出分数用于重新排序的功能。为了进行该实验,我们设计了一系列的 A/B 实验,在 Pinterest 上选取了500万个流行的 Pins 作为查询条件,并且用不同的特征对它们的推荐进行重新排序。对照组用现有特征集的线性模型对 Related Pins 进行了重新排序。实验组使用微调 VGG fc6 和 fc8 视觉相似特征和指标变量(除了在控制组使用的那些特征)进行了重新排序。在 5M 的查询 Pins 中,实验组的互动率(点击和重订)达到3.2%。而当将 5M 扩大到 100M 的查询 Pins 时,我们发现 Related Pins 的互动率净增了4%。随后,我们把该模型投入到了产品当中。而基于微调的 AlexNet 模型的实验结果则不太理想(互动率只增加了0.8%),与视觉特征呈现的线下评估的预期相一致。

在图片分类后,我们注意到视觉分类的互动率增长幅度强劲,如艺术类的增幅为8.8%,纹身类的为8.0%,插画为7.9%,设计为7.7%;而文本类别的增幅则比较少,如引用的增幅是2.0%,健身计划的是0.2%。鉴于分类不同而产生的互动差异,我们接着又做了另外一个实验,在查询的类别向量和标量 fc6 视觉相似特征(在查询和备选之间)之间引入了一个交叉特征,用于捕捉线性模型中分类和视觉特征有用性之间的依赖关系。我们把把32个新特征引入到了模型中,并且将每个特征引入到一个站点范围类别中(因为 Pinterest 类别向量将大多数值的阈值设置为0,所以这些特征很稀疏)。该试验的结果是,除了此前视觉分类模型带来的增长外,还有额外的1.2%的互动增长率。

物体检测推荐

为了确认产品中的检测系统是否有效,我们首先要进行的其中一个实验就是要进一步提升 Related Pins 中视觉特征的使用率(请参见上一部分)。我们发现,用户有时感兴趣的是 Pin 图片中的某些物体,而非整个图片。因此我们推测物体检测可以帮助我们计算目标视觉相似特征。在接下来的实验中,我们主要把时尚查询作为该试验中唯一有效的微调时尚 Faster R-CNN 模型。

表四: 2015年10月在视觉相似特征中加入交叉特征和物体检测,历时7天得出的互动结果。

将非极大值抑制运用到 FasterR-CNN 得出的区域后,我们要么考虑查询 Pin 图片中采样率达到25%以上的那一部分,要么考虑区域采样置信度阀值超过0.9的那一部分。我们认为这些图片包含一个主要的视觉物体,并把它们归为一类。我们将上一部分的得到微调 VGG 分类变量作为对照组,用下面的实验组进行实验:

  • 变量A:如果在查询 Pin 上检测出了主要视觉物体,那么我们就计算那个物体上面的视觉特征(VGG fc6)。
  • 变量B:和变量A相同,但是我们人为调整排序模型,把视觉相似重量提高1/5。该变量后的直觉指的是,当一个主要的视觉物体出现时,视觉相似对于推荐质量来说则会变得更加重要。
  • 变量C:对照组和实验组有相同的视觉特征。如果查询包含一个主要视觉物体,那么我们就把视觉相似特征增加1/5,与变量B一样。在这一变量中,我们假设视觉相似对于本次被检测的视觉物体的查询更为重要,如包、鞋子等。

这些变量的实验结果如表4所示。物体检测实验中的A、B变量表明,从物体边界框中直接计算出的视觉特征会稍稍提升互动性。该实验表现不甚理想的一个猜想是,当我们把查询物体和整个图片备选相匹配时,我们的检测模型会回到紧密边界框,导致没有足够的上下文提供给图片呈现模型。变量C的互动比 VGG 相似特征控制更多,超出了4.9%,表明视觉相似重量更大。之前的实验结果非常可喜,而接着现在的物体检测系统也在飞速发展中,我们也将其运用到了 Flashlight 中以增加互动,详见下一部分。

PINTEREST FLASHLIGHT

如图9所示,Falshlight 是一个视觉搜索工具,帮助用户搜索 Pinterest 图片中的所有物体。其支持多个APP,包括2017年发布的 Shop-the-Look,如图10所示。

Falshlight 的输入是区域采样,可以运用第5部分提到的检测特征得到,或者用户也可以直接进行图片裁剪,如图9所示。接着第四部分描述的检索特征会启动该物体的视觉搜索,生成轻视觉重量排序的备选,并且会把原图的元数据作为上下文。同时,Flashlight 会反馈图片结果和可点击的 tf-idf 加权注释,帮助用户缩小查找范围。这些注释是集合图片结果注释得到的。

我们把 Flashlight 作为 Similar Looks 的迭代产品,Similar Look 在我们之前的论文中提到过,是一款时尚的视觉搜索工具。从 Similar Look 中我们了解到,如果能在一张图片中找到相似的物体可以增加用户的互动性。但是,经过实验,我们发现要想发布 Similar Look 产品还面临着诸多的挑战。首先,我们早期基于部件的检测流水线不具备线上属性,这就给物体选择范围带来了局限性。每天只有2.4%的用户会看看检测物体,用户调查也表明有些图片中有物体,而有些则没有,缺乏一致性,让用户很困惑,而用户们希望在每张图片上都有交互点,包括新内容。

剪裁机制是我们解决这一问题的办法,它可以让用户能更加灵活地选择图片上的所有物体,并且得到所选物体的实时视觉相似结果。不限制用户的剪裁范围,使得用户可以想搜索什么就搜索什么。在初次发布的几个月后,我们把物体检测加入到了 Flashlight 中,生成点击点以简化用户界面。在 APP 上线时,超过10亿的物体被检测出来并呈现给了用户。

检索的卷积特征

早期发布的 Flashlight 不包括自动物体检测。我们在 Pin 图片的右上角引入了一个半透明搜索图标,这样用户点击就可以使用剪裁机制。当用户操作剪裁边框时,实时视觉搜索结果和注释便会生成。发布这个 APP 后,我们发现2%的用户在看 Pin 特写时会按搜索键,这和每天大约400万的视觉搜索量相对应。每张图片经过裁剪后才会生成搜索,因此检索视觉相似结果时,因为我们没有裁剪的元数据,备选检索操作之后的重新排序功能非常弱。因此,在深度学习中,视觉搜索结果的反馈大部分是由初期最近邻检索所决定的。因为上下文大部分基于深度学习,驱动着新的特征,文本索引中的互动率才能达到2/3。如今该产品已经上线,并且其性能在近几年中一直在不断地提高。

检索的物体探测

Flashlight 一个最重要的进步就是基于 Faster R-CNN 的实时物体检测,这为该产品提供了很多优势。首先,我们能简化用户的界面,在我们检测的类别上放置预定的物体点,这样用户就可以直接点击这些点,而不用手动操作裁剪边框。第二,任何检索系统的目标都是建立起用户集合互动的信号,以增加已知查询的互动结果。这样的集合在我们早期的版本中无法实现,因为大部分查询都是用户手动裁剪的。

虽然直观上来说,物体检测似乎只是简单地提高了 Flashlight 的互动性,因为它使得用户的界面更加简单。但A/B实验告诉我们,事实并非如此。起初,在物体检测实验发布后,对照组用于展示边界框的缺失,实验组则展示每个检测物体上的点击点(如图2所示),我们发现互动度量在减少(我们对“Flashlight 保存倾向”很感兴趣,其和之前的 Related Pins 度量相似)。我们调查了减少的原因,发现两个重要的问题,如图11所示:(a)物体检测效果差(定位质量低或者物体“幻觉”,左边例子),(b)无关检索结果,可能是检测效果差的影响(右边例子),也可能是个体原因(中间例子)。

要解决这些问题,我们用视觉搜索系统置信度研发出了一个方法来个检测物体排行,我们发现单单只靠检测置信度不足以抑制不理想的检测结果,尤其是当我们仔细研究了视觉搜索系统反馈的3个信号后。视觉搜索系统反馈的3个信号分别是:最高结果(来自我们4096个维度的二进制卷积特征)的视觉汉明距离、视觉搜索系统反馈的最高注释分值(视觉搜索结果得到的 tf-idf 集合打分注释)和类别一致性(标签为同类的视觉搜索结果的最大部分)。我们把结果列在了表5中,并且给每个信号标上了最小阀值。

我们得到的最好反馈是 Flashlight 中用户互动增长了4.9%。要想检测物体,保持 Flashlight 中类别一致尤为重要。如果类别一致的分值较低,则意味着搜索结果无关,我们就将其作为代理同时抑制图11中的两种错误类型。

PINTEREST LENS

如图12所示,Pinterest Lens 是一种基于手机相机的全新探索体验。

和 Flashlight 不同,Lens 不是优化视觉相似结果,而查询语义相关的多种结果。例如,通过一张蓝莓的图片,既能得到视觉相似的蓝莓图片,还能得到蓝莓甜点的食谱。在这一部分,我们会对 Lens 中运用的技术做出探讨,在以后的论文中会对各度量数据做出说明,因为在撰写本论文时产品才刚发布不久。

如图13所示,Lens 的架构概述可以分为两个部分。第一部分是查询理解层,在这一层我们会回归到一系列输入图片的视觉和语义特征上,比如注释、物体和突出的颜色。第二部分为结果混合,因为 Lens 结果的来源不同。视觉相似结果来自 Flashlight;语义相似结果是通过计算而得出的,利用注释调用 Pinterest 的图片搜索功能;而上下文结果(如用户利用照相机拍下的照片中的客厅里有椅子)则来自我们下面即将讨论到的物体搜索系统。每次请求中,不是所有的资源都被启动。基于我们在查询理解层面的导出特征,混合了比率和内容来源后得到的结果会大不一样。例如,如果我们的注释置信度较低,那么图片搜索功能就不会得以启动。

物体搜索

物体搜索是一个视觉搜索系统,不仅能够像传统系统那样索引整个图片,还能索引图片中的物体。该系统的其中一个使用案例就是检索包含某个查询对象的结果。例如,如图3所示,一个用户拍了一张罗马数字时钟的照片,他们也许对能够和时钟搭配的家具或客厅设计感兴趣。为了建立起一个这样的系统,我们使用了 SSD 物体探测器(详见第5部分),把数百万张图片中的物体抽离出来用于 Pinterest 上进行索引,这就使得一个语料库包含数了百万个对象。查询时,SSD 依旧在输入图片上运行,因为只有当查询图片包含某个物体时,物体搜索才会启动。指定一个查询物体,我们就会计算视觉相似物体,然后把这些物体重新回归它们的原图(场景),继而反馈给用户。图14展示的就是流水线的端到端视图。

将查询和物体相匹配的概念之前在 [17] [3]中探索过;据我们所知,这是目前首个能够支持推荐分类的产品系统。

总 结

本篇论文对 Pinterest 上视觉发现引擎驱动的多种视觉发现体验做出了简要的叙述,同时也对技术和产品决策背后的理论做出了相关的说明,如二进制特征、物体检测和交互用户界面等。通过分享我们的经验,我们希望视觉搜索能够和现在的商业 APP 有更多结合。

本文由 AI100 编译,转载需得到本公众号同意。


编译:AI100

原文链接:https://arxiv.org/pdf/1702.04680.pdf


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-02-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技大本营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档