写点什么

移动 AI 系列 - 百度智能小程序与 VR+N 的跨界实践

  • 2020-12-28
  • 本文字数:2627 字

    阅读完需:约 9 分钟

移动AI系列-百度智能小程序与VR+N的跨界实践

一、百度智能小程序及 VR 小程序组件介绍


小程序以其开发成本低,触手可及,即扫即用,用完即走,自带推广等优势获得了普遍认可;近几年,虚拟现实(Virtual Reality,VR)技术发展迅猛,商业化、市场化和产品化的趋势日益明显,百度在 VR 方面也做了一些探索,目前实现架构如下:



百度 VR 提供多种接入方式,支持多种平台;本文主要介绍方便易用的 VR 小程序组件,让开发者更易接入,用户更易使用。


1.1 认识百度智能小程序


打开手机百度 APP,进入推荐页面,会发现如下图一的左边页面有一行标示“智能小程序”,点击进入该小程序 ,如图一右边所示:



可以观察到,百度智能小程序通常由常规的网页内容(html/css/js),自定义组件(页面内功能模块的一种抽象,提升代码复用度)构成。


百度智能小程序采用自研渲染架构,在启动速度和运行性能上具有接近原生的体验,同时还提供了一些丰富易用的智能组件,包含语音组件 ,


视觉组件,自然语言组件,AR 组件,VR 组件等;


百度自定义智能小程序组件由以下文件组成:



下面是一个简单的 view 自定义组件的实现方法:



1.2 开发自定义的百度智能小程序


开发者基于手机百度 APP 平台,开发自定义智能小程序,流程如下图:



开发者首先通过百度提供的小程序开发工具编写自定义的小程序,小程序开发完成后,点击开发者工具上的发布;这时小程序会被打包上传到服务器的 B 端,工作人员会对上传的小程序进行审核预览,如果没有问题继续发布到服务器的 C 端,如果有用户点击该小程序,会从服务器 C 端加密传输并下载到用户的设备端,并通过手百进行渲染,最终显示给用户;开发者开发百度智能小程序时,时常会使用到百度提供的智能小程序组件,该组件往往是以动态库形式封装的,下面是使用步骤:


A  引入动态库   B 配置动态库  C 使用动态库



1.3 VR 小程序组件


百度 VR 小程序组件为开发者提供了 4 种功能:全景视频(组件名:vrvideo)、全景图(组件名: panoviewer)、3D 环物(组件名:spintileviewer)、3D 模型(组件名:modelviewer)。


1.3.1 全景视频



全景视频组主要应用在在 VR 直播,游戏等场景,使用方法如下:


i 在项目中引用动态库



app.json:"dynamicLib": { "myDynamicLib": { "provider": "vrvideo" } },
复制代码


ii 配置动态库


xxx.json:{ "usingSwanComponents": { "vrvideo": "dynamicLib://myDynamicLib/vrvideo" } }
复制代码


iii 使用动态库


xxx.swan:<vrvideo src="{{ src }}" style="width: 100%; height: 100%; display: block"></vrvideo>
复制代码


通过 src 设置相应的属性项,目前支持的属性如下:


支持 VR 视频类型(投影模式):球形、左右/上下立体、穹形 180 度/230 度;• 支持视频播放属性:播放、暂停、全屏、静音、循环播放、自动播放;• 支持交互模式:手势,陀螺仪,手势+陀螺仪;• 支持解码方式;软解和硬解;• 支持的显示模式:单目、双目;


1.3.2 全景图



全景图组件主要应用在 VR 看房,VR 地图,VR 游戏等场景;全景图使用方法如下:


i 在项目中引用动态库



app.json: “dynamicLib”: { “myDynamicLib”: { “provider”: “panoviewer” } },
复制代码


ii 配置动态库


xxx.json :


{ “usingSwanComponents”: { “panoviewer”: “dynamicLib://myDynamicLib/panoviewer” } }
复制代码


iii 使用动态库


   xxx.swan :


<panoviewer options="{{ options }}" style="width: 100%; height: 100%; display: block"></panoviewer>
复制代码


全景图支持的属性如下:


投影模式:球形、等柱状体(equirectangular)、立方体、等角度立方体( EAC ),分级分块等;


交互模式:手势,陀螺仪,手势+陀螺仪;•旋转角度:支持 360 度,720 度自动旋转;


1.3.3 3D 环物



3D 环物组件主要应用在营销,产品展示等场景;环物组件的使用步骤和全景图组件类似:使用方法如下:


<spintileviewer options="{{ options }}" style="width: 100%; height: 100%; display: block"></spintileviewer>
复制代码


支持的属性:


•环物角度:360 度、720 度;•支持分级分块;•支持热点,细节查看;


1.3.4 3D 模型



3D 模型主要应用在教育和游戏等场景;3D 模型使用方法:


<modelviewer option="{{ option }}" style="width: 100%; height: 500px; display: block"></modelviewer>
复制代码


3D 模型支持的属性:


•模型格式:gltf、fbx、obj;•支持模型跳转;•支持动画播放,跳转;•支持热点;


基于以上四种功能,百度 VR 落地了直播,教育和营销三种场景,下面分别介绍。


二 、VR + 直播实践


VR 与直播技术的结合提升了直播观看体验,并使得观众从被动观看转换为主动参与,更加融入到现场,打破了空间与距离的隔阂;VR 直播主要有两大分类,


一类是专业生产内容(PGC),如体育赛事、综艺节目、新闻事件的直播;另一类直播是用户生产内容(UGC),如网红直播,户外直播等。目前百度 VR 在 2020 年初举行的全国二会直播上有过一些尝试,下面是百度 VR 直播架构实现图:



VR 音视频采集端需用专门的 VR 摄像机,目前能支持 180 度和 360 度拍摄,最大能支持 4k2K@30f/s 视频采集;


以下是 180VR 相机采集的的画面:



三 、VR + 教育实践


百度 VR 教室是百度针对教育领域研发的一套 VR 教室解决方案,让 VR 进入学校教学,为学校带来全新的教学工具,丰富教师的教学手段,学生可以身临其境体验和学习。


百度 VR 教室支持 PC VR 和一体机两种 VR 设备,提供两套硬件解决方案,同时提供先进的软件解决方案(包括教学管理系统、VR 课程体系)和完善配套服务,让学校有充分的选择空间,并能快速落地,开展教学。



下图是 VR 教室实际使用场景:



四 、VR + 营销实践


VR 以其沉浸交互式特点在营销内容呈现上具有独特的优势,在产品营销上具有极大的商业价值。百度 VR 在营销上的实践主要通过百度 VR 营销平台实现的,如下图所示:



整个平台分为采集,处理,展示三大环节,支持 3D 环物,全景图片/视频采集,3D 模型采集;



五 、结语


虽然 VR 技术近几年得到了迅速发展和推广使用,但是由于 VR 内容生产制作比较繁琐,成本相对较高,目前的的应用场景主要是面向 PGC 多一点,而面向 UGC 场景的直播,由于成本和带宽的限制,VR 采集到的视频分辨率低往往较低,一般会低于 4K,即使 4K 分辨率码率也只能达到 8Mbit/s,用户体验存在画面不清晰、眩晕的感受,一定程度限制了其发展。


相信随着千兆带宽和 5G 网络普及,设备端硬件性能的提升,有更好的体验的 8K 分辨率 VR,定会得到更大范围普及,百度 VR 小程序也将助各位开发者闯出一番天地。



头图:Unsplash

作者:gaoyuanfei

原文https://mp.weixin.qq.com/s/v5cLcce3jY-qixcRfbK9oA

来源:百度 App 技术 - 微信公众号 [ID:gh_59f5931152fe]

转载:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2020-12-28 23:172557

评论

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

大模型应用开发实战营第 5 期 - 毕业总结

铁血杰克

【论文速读】|MEDFUZZ:探索大语言模型在医学问题回答中的鲁棒性

云起无垠

GitHub爆赞!终于有大佬把《Python学习手册》学习笔记分享出来了

我再BUG界嘎嘎乱杀

Python 编程 入门 开发语言 零基础

SD-WAN在海外网络加速中的应用和优势

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

​​给【AI硬件】创业者的论文、开源项目和产品整理

奇绩创坛

人工智能 创业 资料 大模型 AI硬件

低代码开发:数字孪生城市,引领未来城市智慧新纪元

EquatorCoco

低代码 数字孪生

4K Image Compressor Pro for Mac(4K图片压缩优化工具)

Mac相关知识分享

图片压缩软件

低代码开发平台:人人都可以开发应用

不在线第一只蜗牛

低代码

2024-06-26:用go语言,给定一个长度为n的数组nums和一个正整数k, 找到数组中所有相差绝对值恰好为k的子数组, 并返回这些子数组中元素之和的最大值。 如果找不到这样的子数组,返回0。 输

福大大架构师每日一题

福大大架构师每日一题

玩转数据库索引

快乐非自愿限量之名

数据库 JVM 索引

MATLAB R2023b for Mac(数值计算和科学编程软件)

Mac相关知识分享

科学计算软件

【YashanDB知识库】YAC修改参数后关闭数据库夯住

YashanDB

6月28日PolarDB开源社区长沙站,NineData联合创始人周振兴将带来《数据库DevOps最佳实践》主题分享

NineData

数据库 DevOps polarDB NineData 周振兴

低代码:释放企业创新力的钥匙

高端章鱼哥

MYSQL中怎么查询LONGBLOB类型数据的大小

不在线第一只蜗牛

MySQL 数据库 sql

BWB 是什么以及未来走势分析

加密眼界

AI降本新选择,火山引擎第三代云服务器全面升级!

新消费日报

新Bios更新 !保持出厂游戏性能!

E科讯

低代码开发平台赋能智慧警务管理:创新引领下的安全新篇章

快乐非自愿限量之名

低代码 智慧警务平台搭建 智慧警务

工业4.0时代,如何提升工业生产中的异常检测准确性和效益?

Altair RapidMiner

机器学习 数据分析 制造业 异常监控 数据检测

【YashanDB知识库】YAS-00220, utf8 sequence is wrong

YashanDB

yashandb 崖山数据库

1688商品详情API返回值全面剖析:阿里巴巴中国站数据驱动的库存管理

技术冰糖葫芦

api 网关 API Explorer api 货币化 API 文档

TG Pro for mac(Mac硬件温度检测工具) v2.89版

Mac相关知识分享

Mac软件 mac下载

【YashanDB知识库】YAS-00103 no free block in dictionary cache

YashanDB

yashandb 崖山数据库

010 Editor for Mac(文本和十六进制编辑器)

Mac相关知识分享

Mac软件

Carbon Copy Cloner for Mac(磁盘克隆/同步/备份软件)

Mac相关知识分享

Mac软件 磁盘软件

基于阿里云 OpenAPI 插件,让 Grafana 轻松实现云上数据可视化

阿里巴巴云原生

阿里云 云原生 Grafana

移动AI系列-百度智能小程序与VR+N的跨界实践_AI&大模型_百度App技术_InfoQ精选文章