阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

商家应用 + AR : 助力虚拟试妆引擎落地手淘(一)

  • 2019-12-20
  • 本文字数:1496 字

    阅读完需:约 5 分钟

商家应用 + AR : 助力虚拟试妆引擎落地手淘(一)

一句话概括全文:

现在,商家应用支持 AR 效果了!


AR 是什么?是一种现实增强技术(Augmented Reality),可以将虚拟效果应用到真实世界。AR 技能加身后,商家应用可以帮你给你的真实世界加点料。


今年双十一前夕,商家应用团队和欧莱雅集团深度合作,双方团队基于阿里统一小程序容器把 Modiface 试妆引擎在手淘上成功落地。目前已经支持了 YSL 和 Armani 两个顶级品牌的 AR 试妆应用在对应的官方旗舰店里上线。体验方式可以见文末。


Modiface 是欧莱雅集团旗下的美妆科技公司,Modiface 本次推出的 AR 试妆应用,专为手淘环境量身定制,利用小程序容器提供的基础设施能力,把自己的 AR 美妆引擎 “搬到“ 手淘上了。


那么,商家应用 + AR 是如何支撑 Modiface 试妆引擎落地的?下文将给大家分享我们双方在技术合作过程中一些心得。

链路概览

整体玩法链路是这样的,品牌方提供整体应用的设计和交互玩法,Modiface 试妆引擎基于商家应用提供的基础能力上实现自己的试妆引擎,然后统一输出给商家应用服务商,再装修到对应的品牌店铺上。



可以注意到,这个项目中涉及到多方协作,小程序容器提供的是非常基础的能力,AR 引擎负责的是能力的上层组合和自身算法能力的集成,商家应用服务商负责承接品牌的业务诉求并制作商家应用,再由品牌商的店铺装修同学把商家应用装修到对应的店铺上。


品牌方本身可以和 AR 引擎合作来定制自身的个性化需求,再把这种个性化的体验带给自家店铺的用户。

技术架构

为了支撑商家应用 AR 业务,我们在架构设计上以 API 和组件方式提供了非常多的标准原子化能力。


通过能力的组装和调用,AR 引擎可以快速验证自身的算法 &渲染能力,我们支持以 MNN 方式或者 TensorFlow.js 的方式来运行推理 AR 引擎的算法,我们支持标准的 WebGL 接口和 Canvas2D API 以供业务绘制。我们也支持摄像头数据的采集和相机帧的透出。除此之外,我们还提供了非常多的底层能力来供上层引擎调用。



基于这些小程序容器提供的基础能力,上层 AR 引擎服务商可以构建出丰富的应用场景,包括但不限于虚拟试妆,虚拟穿戴,虚拟家居等等。


那么,Modiface 试妆引擎究竟是如何在小程序容器里运作的,我们来一起看一下整个链路。


1.品牌试妆应用加载 Modiface 试妆插件,插件会调用小程序容器的 Camera 组件来打开相机并监听来自 Native 的相机帧数据,插件也会初始化一个 WebGL Canvas 组件来执行 TensorFlow.js。


2.Modiface 试妆引擎拥有两个人脸模型,分别是轮廓检测模型和 Landmark 检测模型,前者运行在 TensorFlow.js 环境中,后者使用 MNN 插件来运行推理。(后续将全部迁移至 MNN 实现)


3.轮廓模型检测到当前相机帧中存在人脸后,会切换至 Landmark 检测,此时会进行人脸精确点的采集推理。


4.同步会采集相机帧中的环境光线的强度以调整美颜算法。


5.提取要绘制的区域位置点阵,譬如人脸嘴唇位置,在 WebGL 的 shader 里开始渲染上妆,并把所有像素绘制 在 WebGL Canvas 组件上。


6.如当前检测不到人脸,则不执行渲染上妆逻辑。


整个试妆流程链路绝大部分运行在小程序容器的 JavaScript 环境里,并通过 JS binding 的方式和 Native 容器进行交互。



商家应用 + AR 的前提是 AR 引擎动态化,相对以往手淘 AR Case 最大的变化是:


1.整个 AR 引擎全部运行在小程序容器的 JavaScript 环境里,在不依赖手淘发版的情况下可以大量快速复制给不同的品牌,并且支持动态定制效果。


2.商家应用 + AR 支持各种不同的行业引擎接入,AR 引擎层和业务层是分离的,通过架构的解耦来支撑各种行业场景。容器底层专注于垂直能力的建设,上层业务快速迭代发展。


本文转载自淘系技术公众号。


原文链接:https://mp.weixin.qq.com/s/wVPinp4CCEnqavqowB5ghg


2019-12-20 14:20748

评论

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

认识ThreadPoolExecutor

zarmnosaj

7月月更

Java实现单例模式

lambochen

单例模式

2022-Java后端工程师面试指南-(Java基础篇)

自然

Java’ 7月月更

【Docker 那些事儿】容器为什么傲娇?全靠Hub撑腰

Albert Edison

7月月更

LLVM之父Chris Lattner:为什么我们要重建AI基础设施软件

OneFlow

人工智能 软件系统

Vuex(三)

小恺

7月日更

后CentOS时代的操作系统漫谈

冯骐

centos 开源 openEuler 国产化 Anolis

算法入门很简单:链表题套路及精选题目

宇宙之一粟

链表 7月月更

OpenHarmony资源管理详解

坚果

HarmonyOS OpenHarmony 6月月更

【算法社区】训练准备和复杂度分析

小明Java问道之路

数据结构 算法 LeetCode 7月月更 算法社区

leetcode 72. Edit Distance 编辑距离(中等)

okokabcd

LeetCode 动态规划 算法与数据结构

关于栈区、堆区、全局区、文字常量区、程序代码区

NewBoy

前端 移动端 iOS 知识体系 7月月更

质量体系建设之路的分分合合

声网

创业讲堂 生态专栏

HPDC智能基座人才发展峰会随笔

乌龟哥哥

7月月更

什么是数据治理?为何华为愿意200万年薪聘数据治理专家?

雨果

数据治理 DaaS数据即服务

如何用一个插件解决 Serverless 灰度发布难题?

阿里巴巴云原生

阿里云 Serverless 云原生 插件 灰度发布

繁华落尽、物是人非:个人站长该何去何从

石头IT视角

服务线上治理

阿泽🧸

微服务 7月月更

蓝队攻防演练中的三段作战

穿过生命散发芬芳

攻防演练 7月月更

图解网络:什么是网关负载均衡协议GLBP?

wljslmz

网络协议 7月月更 GLBP 图解网络 网关负载均衡协议

Qemu Linux

贾献华

7月日更 7月月更

官宣!第三届云原生编程挑战赛正式启动!

阿里巴巴云原生

阿里云 Serverless 边缘计算 ACK 云原生编程挑战赛

玩转gRPC—深入概念与原理

海风极客

gRPC 网络协议 后端开发

牛客java选择题每日打卡Day6

京与旧铺

7月月更

浅聊一下中间件

为自己带盐

中间件 7月月更 dotnetcore

可观测|时序数据降采样在Prometheus实践复盘

阿里巴巴云原生

阿里云 云原生 Prometheus 可观测

跨域请求

Jason199

跨域 7月月更

TLA+ 入门教程(1):形式化方法简介

多颗糖

分布式系统 TLA+

【愚公系列】2022年7月 Go教学课程 003-IDE的安装和基本使用

愚公搬代码

7月月更

C语言中sizeof操作符的坑

Albert Edison

c++ C语言 7月月更 sizeof

线上故障突突突?如何紧急诊断、排查与恢复

阿里巴巴云原生

阿里云 微服务 云原生 故障恢复 诊断

商家应用 + AR : 助力虚拟试妆引擎落地手淘(一)_文化 & 方法_淘系技术_InfoQ精选文章