11 月 19 - 20 日 Apache Pulsar 社区年度盛会来啦,立即报名! 了解详情
写点什么

Pinterest Lens:真实场景下的视觉发现系统

  • 2017-04-11
  • 本文字数:2181 字

    阅读完需:约 7 分钟

最近,我们推出了 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 的整体架构分为两个逻辑部分。

  1. 第一部分是我们的查询理解层,我们在这一层获取关于给定输入图像的信息。这里我们计算一些视觉特征(比如检测目标),计算颜色特征和检测光照和图像质量条件。使用这些视觉特征的同时,我们还计算语义特征,比如注释和类别。
  2. 第二部分是我们的混合器,因为 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 )关注我们。

2017-04-11 17:511343

评论

发布
暂无评论
发现更多内容

面试官都被搞懵了,阿里P7亲自讲解

Java 程序员 后端

面试竟然被这31道Java基础题难倒了,被阿里面试官征服了

Java 程序员 后端

面试被问Tomcat整体架构设计,深入浅出Java开发

Java 程序员 后端

2021南京国际智慧工地装备展览会

南京专业智博会

智博会 智慧工地展览会 智慧工地论坛会

华为大神用前半生经验所写的SpringBoot全优笔记,现无偿与大家分享!

Java 华为 程序员 面试 计算机

恒源云(GpuShare)_GPU租用保姆级教程,助力深度学习训练!

恒源云

研发工具链介绍

百度开发者中心

学习 最佳实践 方法论 研发工具

架构实战营 - 模块三作业

Geek_de900a

Apache APISIX 为 KubeSphere 提供更好用的网关及 K8S Ingress Controller

Apache APISIX 中文社区

Apache 开源 API网关 APISIX KubeSphere

物联世界2021南京物联网展览会

南京专业智博会

物联网展览会 物联网论坛会 物联网智博会

模块三作业:学生管理系统架构设计文档

apple

webrtc simulcast 开启

webrtc developer

webrtc、 simulcast,

直播预告丨走进云溪数据库之高可用方案

浪潮云

云计算

不会 Lua?Python 助你快速上手 Apache APISIX 插件开发

Apache APISIX 中文社区

Python Apache 开源 API网关 APISIX

阿里大佬怒写“Java初学者宝典”,让你就业没压力

Java 阿里巴巴 程序员 面试 计算机

(AL智博会)2021南京国际人工智能主题展

南京专业智博会

人工智能展览会 人工智能论坛会 人工智能智博会

JavaScript 进阶(二)下

Augus

JavaScript 9月日更

Serverless 工程实践 | Serverless 应用开发观念的转变

阿里巴巴云原生

Serverless Serverless架构

面试官手里那些秀你一脸的求质数大法,疯狂复习半个月

Java 程序员 后端

学生管理系统整理架构设计

小智

架构训练营

Vite + Vue3 + OpenLayers 手动控制缩放级别

德育处主任

大前端 地图 vite openlayers Vue 3

南京主题展2021国际大数据产业展会/论坛会

南京专业智博会

大数据 智博会 南京智博会

2021年第十四届南京智慧城市展览会

南京专业智博会

智博会 智慧城市展览会 智慧城市论坛会

《中国梦》打造数亿中产阶级!疯了,疯了,全涨疯了!!

CECBC

Alibaba船新制作“Java架构核心宝典”,全是流行技术,限时开放

Java 程序员 架构 面试 计算机

【Vuex 源码学习】第四篇 - Vuex 中 Getters 的实现

Brave

源码 vuex 9月日更

区块链“牵手”金融 面临诸多挑战

CECBC

面试官问的那些Java原理你都懂吗,Java面试手写代码题目

Java 程序员 后端

面试讲不清MySQL索引底层,Java面试

Java 程序员 后端

雪花算法,什么情况下发生 ID 冲突?

Java 架构 分布式 算法

Pinterest Lens:真实场景下的视觉发现系统_语言 & 开发_Andrew Zhai_InfoQ精选文章