最近,我们推出了 Lens BETA ,这是一种新的体验,可以让你直接使用你的手机相机来发现你周围的物体和想法。只需点击 Pinterest 应用程序中的 Lens 图标,将镜头对准任何东西,然后 Lens 就会返回视觉上相似的物体、相关的想法、整个项目或周围的物体。Lens 能让你超越手机相机的传统使用场景,不光能自拍或者把场景保存成图片,它还可以让其变成一个强大的发现系统。它把 Pinterest 的魔力带入现实世界,所以你看到的任何东西都能在 Pinterest 上产生一个相关的想法。现在,我们将分享我们如何构建 Lens,以及我们克服的主要技术挑战。
背景
在 2015 年,我们推出了我们的第一个视觉搜索产品,它使人们可以精确定位图像的某些部分,并获得类似的结果。通过视觉搜索,我们获得了一个平台来推进我们的技术,并且通过优化相关的和有趣的结果来逐步改进系统。Pinner(这里代指Pinterest 的用户)对这些改进有着积极的反应,现在Pinner 每月会创造超过2.5 亿次的不同视觉搜索。
作为视觉搜索的下一个发展方向,我们引入了实时的目标检测。这不仅使视觉搜索更加易于使用,而且随着人们保存和选择不同物体,我们也稳步地获得了一个物体数据集。自推出以来,我们在短短六个月的时间内就产生了数十亿物体数据,并且利用这些数据来构建新技术,例如Lens 和目标搜索。
如果你有兴趣更加深入地了解我们如何将我们的视觉搜索技术扩展到数以十亿计的图像,并将其应用于Pinterest,请查看我们的论文 Visual Discovery at Pinterest ,这篇论文即将在今年的 World Wide Web(WWW) 会议上发布。
Lens 的架构
一个单独的 Pin 就可以带给你一系列相关的灵感,让你从世界各地的 1.5 亿用户中发现高质量的内容。当我们开发 Lens 的时候,我们想要复制这种体验,所以一个真实世界的相机图像就可以将你与 Pinterest 上 1000 亿个想法连接起来。
Lens 将我们对图像和物体的理解与我们的发现技术相结合,为 Pinner 提供了多样化的结果。例如,如果你拍一张蓝莓的照片,Lens 不仅仅会返回蓝莓,它还会带给你更多的结果,比如蓝莓烤饼和冰沙的食谱、蓝莓的一些美容功效或者自己种植蓝莓的一些建议。
为此,Lens 的整体架构分为两个逻辑部分。
- 第一部分是我们的查询理解层,我们在这一层获取关于给定输入图像的信息。这里我们计算一些视觉特征(比如检测目标),计算颜色特征和检测光照和图像质量条件。使用这些视觉特征的同时,我们还计算语义特征,比如注释和类别。
- 第二部分是我们的混合器,因为 Lens 返回的结果来自多个源。我们使用我们的视觉搜索技术来返回视觉上相似的结果,目标搜索技术则返回包含视觉上相似的物体(更多的是此类)的场景或项目,而图像搜索则使用派生的注释返回语义上(而不是视觉上)与输入图像相关的个性化文本搜索结果。混合器的工作就是基于查询理解层获取的信息来动态调整混合比例和结果的来源。例如,如果注释的可信度很低,那么就不会触发图像搜索,并且如果没有检测到相关目标的话,目标搜索也不会触发。
如上图所示,Lens 得到的结果在视觉上并非严格相似,它们来自多个源,其中一些结果仅在语义上与输入图像相关。 Lens 可以说是一种新型的视觉发现工具,可以将真实世界的相机照片连接到 Pinterest 风格的图片,通过给予用户视觉相似的结果以外的结果。
目标搜索
有时候你会看到一些你喜欢的东西,比如一个很酷的时钟或者一双运动鞋,但是你不知道鞋子的风格跟自己搭不搭,或者这个时钟在房间里看起来到底怎么样。目标搜索(Object Search)是 Lens 的核心部分,也是我们为解决上述问题而开发的一项新技术。
随着深度学习的进步而带来的一些技术的发展,比如改进的图像表示和目标检测,我们对图像的理解达到了前所未有的程度。
传统上的视觉搜索系统是将整张图像作为处理单元。这些系统将全局图像表示作为索引,来返回跟给定输入图像整体相似的图像。由于深度学习的进步带来的更好的图像表示,视觉搜索系统达到了前所未有的准确度。然而,我们想推动视觉搜索技术的发展,使其不仅仅将整张图像作为处理单元。通过利用我们的数十亿物体的语料库,结合我们的实时目标检测器,我们可以在更细的水平上理解图像。现在,我们能够知道我们图像语料库中数十亿个物体的位置信息和语义。
目标搜索是将目标物体作为单位的视觉搜索系统。给定输入图像,我们可以在几分之一秒内从数十亿个图像中找出视觉上最相似的物体,将这些物体映射到原始图像,并返回包含类似物体的场景。
视觉发现系统的未来
Lens 的 BETA 版本的推出真的只是视觉发现的开始。我们正在继续改进我们的视觉技术来更好地理解图像,因为我们面临的挑战中图像是唯一可用的信号,我们必须了解用户的意图。这一点对于现实世界中的相机图像是特别困难的,因为人们在各种不同的照明条件下拍摄图片,得到的图片质量不同,拍照方向也不同。
让我们感到兴奋的是,目标和视觉搜索可能会带来一种新的方式来利用我们大规模的物体和图像去为世界各地的 Pinner 创造视觉发现产品,我们也正在继续探索。
如果你有兴趣解决这些计算机视觉方面的挑战,并为 Pinner 开发一些了不起的产品,请加入我们!
查看英文原文: Building Pinterest Lens: a real world visual discovery system
感谢薛命灯对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论