写点什么

淘宝新发布的躺平如何做 3D 场景化导购?

  • 2019-11-05
  • 本文字数:3750 字

    阅读完需:约 12 分钟

淘宝新发布的躺平如何做3D场景化导购?

场景化导购


2012 年市场上开始出现导购,主要以单品形式做个性化推荐。虽然现在来看是非常普通的,但在 2012、2013 年是非常新的方式。随后在内容导购方面尝试新的突破,主要以图文、短视频、直播作为导购的载体。



随着 3D 技术日渐成熟,3D 自动理解、自动创作和渲染技术可以进一步把物理世界和虚拟世界结合起来,形成新的用户场景。我们开发了一个新的导购产品——躺平,大家可以在淘宝的搜索框搜索「躺平」,来体验 3D 场景化导购的初步效果。(躺平是淘宝近期发布的覆盖大家居行业生产供给、设计生态、设计师工具、场景化导购平台,更多细节关注文章底部内容推荐阅读)


为什么说 3D 导购值得关注?让我们先回到内容导购场景中,我们拍一些图片,在上面编辑文字,或者录制视频,这些更接近数字世界通常的做法。文字是一维的,图片是二维的,视频增加了时间维。而 3D 是三维的,和我们生活的物理世界更加一致。

3D 场景生成


通过 3D 技术把产品形态升级一个维度,极有可能发展新的商业机会。让我们重新回到导购场景。在传统的线下场景,顾客通过导购员的介绍,看到橱窗商品,会产生买欲望。与之类似,线上用户对线上的商品作为单品感知,相比商场导购的体验要单薄很多。因此我们需要给用户打造一个场景,让用户在场景里去理解这个商品,并推荐更多的相关产品。这样用户的感知会有更丰富的层次。


比如用户对一个桌子感兴趣,当看到桌上摆放的茶壶等物品,就把用户带入了一个场景中。或许用户也对这些东西感兴趣,对需求不再是单点的激发方式,而是通过网状、多角度的激发方式,激发出用户更多的需求,这就是导购的价值。


在导购中,3D 能解决什么问题?首先能想到的是尺寸大小和视觉问题。用户总会关心商品的尺寸问题和视觉问题。从尺寸和视觉来看,用户对 3D 肯定是有需求的。用户购买服装需要尺寸和视觉体验,即使是标准化的东西冰箱、洗衣机也都需要 3D 来感知商品。


买什么商品对尺寸有要求?比如我们去买家具可能需要到线下,会去家装商城看颜色、风格、尺寸是否匹配,有味没味道。现在这些在 3D 里通过虚拟化技术都可以实现,所见即所得。也可以和 AR 结合,形成更流畅的用户体验。


从可实现性来说,模拟一个人穿上衣服的感觉是有很大的难度的,电影大制作那种做视频动画,用设计师去画,成本非常高,不可能用这样的成本去支持 3D 导购项目。我们选择的场景一定是在内容制作方面技术更为成熟的,在落地上是比较可控的,家装行业是一个不错的选择。


导购最重要的是两个部分,一个性化,二是内容的生产。以抖音为例,它核心的创新之一就是可以让用户以简单的操作去生成高品质的内容。对我们来说,通过机器自动生成海量导购内容,然后用个性化推荐技术形成精准的需求匹配。

3D 场景内容优化


为了生成场景,首先要有一套搭配算法。我们通过算法搭配,结合设计师的知识图谱,把两个东西结合起来,形成高品质的搭配结果。设计师的专业输入怎样在算法中流畅丰富地表达?是其中一个很值得研究的问题。


通过搭配专家的支持,结合机器学到的模型,我们就可以在一个大的 3D 商品模型池中生成内容。用搭配的结果在 3D 场景背景中布局,布局之后渲染,再把商品的锚点打到上面,用户就可以通过点击这些锚点去购物。生成的 3D 场景化内容,可以在推荐流或搜索场景中为用户透出。


按照之前的项目经验,只是站在大数据或从推荐角度来说,搭配是很难做的事情,准确性是一个难以逾越的鸿沟。在更加丰富和庞大的数据中,我们怎么做?虽然我们有用户数据,但用户数据并不是万能的,还需要结合其他数据,才能把搭配做精准。在这个过程中,我们引入了 3 种主要的数据。


第一是用户行为:用户买了什么,购买过程中的先后顺序,挑选过程,都可以在应用行为体现。这个数据量很大,缺点是噪声也很大。用户并不会沿着设计的逻辑去购买商品,而是根据实际需求,而实际需求有非常复杂的背景,难以精确建模。


第二是设计师作品:具有一定艺术价值,通过设计师作品可以提升我们的设计感,而不仅仅是功能设计。设计师数据的缺点是数据量比较小,优点是精度很高,且有美学价值。


第三是使用公开搭配图片公开数据集,抓一些搭配图片,在图片上提取搭配信息。


在以上数据的基础上,综合使用可解释性的逻辑和和深度学习技术构建算法。可解释性中很关键的是提取语义标签,包括品类、风格,颜色等。此外在视觉方面提取隐式特征向量,最后用深度学习建模,将形成整个算法方案。


风格非常重要。大家平时看到的很多现代、简约风,但在整个家居市场中有很多风格,风格彼此之间是不能乱搭配的,比如把美式和欧式、简约搭配在一起是不可以的。


为了精准地提取风格,需要有一套方法,从零到一,没人告诉我们家居是什么风格的,要把这个体系建起来。用数据结合算法、人工输入,逐渐丰富标签体系。甚至必要的情况下还会扩充一些细化的标签,这里会有人和机器结合的循环过程。



以上图为例,看上去像柜子一样的这件家具,有很多表示风格的元素,但这个元素必须要由机器学习的方法抓出来,这里有很多细节上的工作。



直接在 3D 上提取风格非常复杂,而 2D 图像积累了很多成熟的技术。先把 3D 模型从不同视角渲染成图片,预测这个图所表示出来的到底是什么风格。然而风格在细微之处,并不仅仅在一个整体上,也就是整体不能完全反映出商品的风格。在细微之处需要引入 Attention 机制。我们可以观察这这些 Attention 出现在能表明商品风格的地方,比如说这个家居底下的腿型,还有顶部的装饰,这些最能反映它的风格。相应的,我们通过多个 Attention 部分匹配的方式建立出对应的网络。


为什么一定要用多个部分的风格特征来匹配,而不采用一个部分来匹配?在很多部分上分别进行匹配,统计上彼此校验增强,才能提取出准确的风格标签。



有了这个风格之后,最后生成搭配。这是一个类似于推荐技术的过程,先粗选再细选。搭配是一个迭代的过程,上图分别是候选模型和已选模型,逐步评估候选模型中的商品,并将合适的候选商品选入已选商品集合中。


涉及到视觉方面,深度学习是标配。通过一个轻量级的网络提取出相应的视觉特征,针对当前商品提取 attention 特征,形成精准的搭配质量评分模型。


整体上看,搭配是比较困难的,不仅要相似,还要有一定的区别。什么和什么搭,这里面既要有相似,又要有互补的关系,而互补关系需要引入新的信息视角。



有了搭配结果后,进入到下一个步骤——布局。在布局之前要有一个空间把这个东西布上,这个空间需要体现场景的美感和品味,不能把这个搭配布在特别土的地方。这个空间就是背景,描述的是某一种场景,比如开会的会场,生活背景、自然背景等等。


根据这些搭配的结果,我们去算出这些配件的空间关系,这个关系要有弹性,不能硬碰硬。为了形成更柔韧的布局能力,通过一个概率图组合搭配的逻辑,生成一个关系的概率。算法提供了给卧室、用餐区、厨房等场景的布局能力。


布局的关键是舒适度,看到布局结构会不会让人感觉到舒服,要做舒适度分析。舒适度分析需要机器学习技术,我们甚至还引入了 GPU 去优化它的舒适度分析的结果。



在 3D 转换到 2D 图片方面,我们在构图的时候要选择取景的视角。有正对的视角、侧对的视角,总有更适合场景的视角。再加上一些规则防止选的空间过于深、空旷或拥挤,在视觉上看上去比较舒适,都和我们后面的效果评估有很大关系。



上图是通过我们搭配出来的结果,可以看到场景不能只干巴巴的放一张桌子、椅子,还要有一些表示场景本身的物件,这些物件更为小型,比如花、小笔记本。这些东西视觉上也能点缀场景,也对场景也有说明作用。我们会把小物件摆放在上面,形成最终的搭配结果。



布局完成以后最后会产出一张 2D 图片,上图是 3D 场景直接生成的。最后一步视觉体验的关键——光,可以对比一下,同样的场景,左图是没有自动布光的,右图是通过优化布光的算法,视觉上右边看起来比左边更漂亮一些。



建立在海量内容基础上的导购,最终决定一个内容质量的还是用户的行为反馈。生成一个内容,内容经过投放以后,会产生点击率,通过点击率判断用户感不感兴趣,有的专家认为漂亮、很有用,但用户也许会有不同的看法,我们必须依靠用户的反馈来判断这个内容的价值。


在投放一段时间后,知道不同内容的点击率是什么,通过模型可以知道这个内容好不好。比如一个新的内容出来后,如果点击率比较低用户不接受就需要淘汰这个内容,点击率比较高则会选入到库里。



我们生成内容的丰富度还是很高的,办公桌、饭厅、卧室、会议室、吧台,这些东西都可以生成。

总结


3D 和机器学习结合还是比较新的话题, 3D 场景生成、 3D 搭配推荐、机器学习、深度学习这些模块已经都涉及到了。


顺带指出,3D 建模是非常关键的,它是第一环。在这上面的 3D 搭配紧随其后。目前 3D 搜索还没有涉及, AR、VR、MR 也有想象空间。这些工业界亟待解决的问题,也给科研工作提供了很多有启发价值的广阔场景。


作者介绍


赵斌强(乐田)——阿里巴巴资深算法专家,现任淘系技术部算法负责人,在内容推荐、商品导购、机器学习等方向有很多深入的工作。


本文转载自公众号淘系技术(ID:AlibabaMTT)


原文链接


https://mp.weixin.qq.com/s?__biz=MzAxNDEwNjk5OQ==&mid=2650404394&idx=1&sn=6f691a3976ddf73a336f0dd2b9b2c761&chksm=83953e32b4e2b724b3988943c276c9c1538b74eaa30c77b37f54cbce99a4a5845ad452951b9c&scene=27#wechat_redirect


2019-11-05 08:001728

评论

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

【Flutter 专题】78 图解 Android Native 集成 FlutterBoost 小尝试 (一)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 8月日更

容器云平台和Kubernetes之间不得不说的那些事

用友BIP

Kubernetes 容器

2021最值得加入的互联网公司有哪些

策划Java工程师

Java 程序员 后端

2021最新Java开发者学习路线

策划Java工程师

Java 程序员 后端

kubernetes入门:简介与基础操作命令

小鲍侃java

8月日更

积极重夺制造霸主地位,英特尔不玩“纳米游戏”了

E科讯

企业需要拥有自己特色的DevOps

用友BIP

Docker 容器 DevOps 微服务

用微服务架构方式交付云服务产品

用友BIP

容器 微服务 专属云

百度第25季黑客马拉松再秀“技术基因”,累计产生创意超7000个

科技热闻

CodeDay#8:支付宝都在用的容器技术了解一下

蚂蚁集团移动开发平台 mPaaS

小程序 支付宝小程序 支付宝 移动开发 mPaaS

架构实战营毕业设计

eoeoeo

架构实战营

2021我的Java路要怎么走

策划Java工程师

Java 程序员 后端

软件架构模式之微服务架构

架构精进之路

架构 微服务 8月日更

如何在渲染之前等待 Axios 数据?

吴脑的键客

大前端 React axios

取经之旅第 55 天,Python OpenCV 透视变换前置知识轮廓坐标点

梦想橡皮擦

8月日更

上K8s,研发团队如何从容一点?

行云创新

容器 k8s

2021最新Java中级面试题目汇总解答

策划Java工程师

Java 程序员 后端

极客-大数据-作业4 Hive

西伯利亚鼯鼠

netty系列之:netty中的ByteBuf详解

程序那些事

Java Netty nio 程序那些事

springcloud 微服务日志写入kafka

Rubble

kafka Spring Cloud 8月日更

【LeetCode】有效三角形的个数Java题解

Albert

算法 LeetCode 8月日更

面试官:展开说说,Spring中Bean对象是如何通过注解注入的?

小傅哥

spring 小傅哥 注解注入

华为云UGO:醒醒!你的异构数据库迁移难题有救了

华为云开发者联盟

数据库 迁移 华为云 异构数据库 UGO

手撸二叉树之二叉搜索树的最近公共祖先

HelloWorld杰少

数据结构与算法 8月日更

ToastUtil实用封装

Changing Lin

8月日更

SLB 负载均衡实践

若尘

负载均衡 阿里云 弹性负载均衡 8月日更

JVM

ltc

JVM

混合基础设施下,服务网格(Service Mesh)如何对应用进行统一管理

韩陆

一次Http Get请求健壮性问题的排查过程

liuzhen007

8月日更

手撕环形队列系列三:多生产者并行写入

实力程序员

程序员 数据结构 C语言 编程开发 环形队列

十大排序算法--希尔排序

Ayue、

排序算法 8月日更

淘宝新发布的躺平如何做3D场景化导购?_文化 & 方法_赵斌强_InfoQ精选文章