一种基于web的AR场景互动sdk制造技术

技术编号:34463132 阅读:15 留言:0更新日期:2022-08-10 08:34
本发明专利技术公开了一种基于web的AR场景互动sdk。该sdk提供了固定标记物识别、目标检测、屏幕录制、透明背景视频播放的能力。获取视频流数据,当出现标记物时触发固定标记物的回调函数,应用webgl方法构建模型,在用户界面中渲染模型;目标检测采用YOLO算法,利用tensorflow.js在前端完成目标检测;对纯色背景视频利用ffmpeg进行切帧,通过MediaRecorder获取视频流,由录制开始按钮触发事件。本发明专利技术构建可移植、组件化、低耦合的前端AR组件,并结合Tensorflow.js在前端构建深度学习网络,在前端实现目标检测需求,有效降低后台服务负载,在准确率和时效性之间取得平衡。衡。

【技术实现步骤摘要】
一种基于web的AR场景互动sdk


[0001]本专利技术涉及计算机
,具体涉及一种基于web的AR场景互动sdk。

技术介绍

[0002]现有的商用AR定制业务依赖于原生APP,以支付宝、QQ、手机百度等原生应用的扫一扫作为AR触发入口,在原生应用中进行AR的体验与交互。原生应用作为AR的唯一入口在实际应用场景中存在着局限性。在进行AR体验时需要在移动设备中下载并安装相应的应用、无法进行便利的分享,无法跨平台进行AR体验。

技术实现思路

[0003]针对现有技术中的不足,本专利技术的目的在于提供一种基于web的AR场景互动sdk,以方便跨平台进行AR体验的问题。
[0004]为实现上述目的,本专利技术采用了以下技术方案:
[0005]基于AR的场景互动前端系统基本功能分为:平面图片或固定标志物的识别追踪及触发,实体识别追踪及触发,3D模型、视频的渲染,场景互动中的复杂交互。通过构建通用功能组件以满足不同业务的需求。AR体验中的识别和触发是整个体验的第一步,在识别环节中分为静态2D图片、标记物识别和3D实体识别两种。
[0006]本专利技术的sdk提供了固定标记物识别、基于前端的目标检测、屏幕录制、透明背景视频播放的能力。
[0007]一种基于web的AR场景互动sdk,包括接入层、编辑运营层、应用服务层和基础服务层;所述基础服务层包括屏幕录制模块、固定目标物触发模型、透明背景视频播放模块和YOLO

v3目标检测模块;所述接入层为提供sdk的接入方式;所述编辑运营层提供sdk运行中的数据编辑、处理功能;所述应用服务层包括用户可开发使用的任务和功能;
[0008]所述固定目标物触发模型提供sdk的固定标记物识别、固定标记物跟踪、固定标记物屏幕坐标回调函数功能,所述固定目标物触发模型包括组件detection.js、组件model.js、组件Three.js,所述组件detection.js中封装有检测方法,所述组件model.js中封装有组件Three.js的实现模型;所述组件Three.js与固定标记物识别进行联系,当触发固定标记物回调函数时,在固定标记物检测界面利用组件Three.js渲染模型,对识别到的固定标记物进行跟踪并在对应识别区域渲染模型;
[0009]所述YOLO

v3目标检测模块是采用voc数据集格式,利用darknet在后端进行模型训练,将训练好的模型进行模型优化,得到目标检测模型,并将目标检测模型得到的静态pb文件转换为适合前端网络页面的加载文件;基于Tensorflow.js实现YOLO目标检测;将训练后的Tensorflow模型saved_model,将save_model转化为可以在Tensorflow构建的前端神经网络中直接加载的web_model模型;
[0010]所述屏幕录制模块提供sdk的屏幕录制功能,所述屏幕录制模块包括组件button.js、组件countdown.js、组件timer.js,所述组件button.js中封装有录屏开始按
钮、屏幕录制界面、触发事件及点击方法,开始录制和结束方法;所述组件countdown.js中封装有实现倒计时方法,所述组件timer.js中封装有录制时计时方法;
[0011]所述透明背景视频播放模块提供sdk的透明背景播放功能,所述透明背景视频播放模块包括组件canvid.js,所述组件canvid.js中封装有对纯色背景视频进行过滤裁剪处理的方法,通过导入canvid.js,在React生命周期函数componentWillMount()中进行挂载,实现透明背景播放功能。
[0012]进一步地,所述屏幕录制功能通过MediaRecorder获取视频流,由组件button.js中的录制开始按钮触发事件,在点击录制开始按钮后触发回调函数,开始获取视频流,在录制时由组件timer.js实现录制计时,由组件countdown.js实现倒计时,停止录制。
[0013]再进一步地,所述YOLO

v3目标检测模块中的web_model模型包括json格式的权重文件,通过Tensorflowjs转换工具,将save_model转化为可以在Tensorflow构建的前端神经网络中直接加载的web_model模型,并且以shard形式进行分割;获取设备摄像头权限;通过调用浏览器的MediaRecorder接口,将设备摄像头所获取的视频流传入YOLO

v3目标检测模型,实时对目标物体通过Anchor Boxes标注出;当目标物从视频流消失时,将Anchor Boxes从canvas中移除。
[0014]更进一步地,所述组件canvid.js中封装有对纯色背景视频进行过滤裁剪处理的方法,该方法是对纯色背景视频按帧切分为png或jpg,利用ffmpeg工具可对视频进行按帧切分,同时对切分图片的帧数和大小进行控制;通过cv方案,区域增长算法将纯色区域从数据集中去除,将透明背景的png图像通过montage工具组合为完整的Sprite文件;通过canvas实现在前端用户界面按帧数播放sprite文件。
[0015]与现有技术相比,本专利技术具有以下有益效果:
[0016]通过对在前端构建AR增强现实体验的研究,构建可移植、组件化、低耦合的前端AR组件,并结合Tensorflow.js在前端构建深度学习网络,在前端实现目标检测需求,实现“一次加载,多次检测”,从而有效降低后台服务负载,在准确率和时效性之间取得平衡。
附图说明
[0017]图1为本专利技术的系统架构图。
[0018]图2为本专利技术屏幕录制模块的工作时序图。
[0019]图3为本专利技术固定目标物触发模型的工作时序图。
[0020]图4为本专利技术YOLO

v3目标检测模块的工作时序图。
具体实施方式
[0021]下面通过具体实施例来进一步说明本专利技术的技术方案。本领域技术人员应该明了,所述具体实施方式仅仅是帮助理解本专利技术,不应视为对本专利技术的具体限制。
[0022]如图1

4所示:一种基于web的AR场景互动sdk,包括接入层、编辑运营层、应用服务层和基础服务层;所述基础服务层包括屏幕录制模块、固定目标物触发模型、透明背景视频播放模块和YOLO

v3目标检测模块;
[0023]在W3C(万维网联盟)发布了新标准包括MediaRecorder(多媒体录制接口)这一API,这一接口使得web开发者可以获取设备摄像头权限并对设备摄像头所获取的视频流进
行操作,屏幕录制功能的实现主要基于这一功能性API,时序图如图2所示。
[0024]屏幕录制模块:所述屏幕录制模块提供sdk的屏幕录制功能,所述屏幕录制模块包括组件button.js、组件countdown.js、件timer.js,通过MediaRecorder获取视频流,由录制开本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于web的AR场景互动sdk,其特征在于:包括接入层、编辑运营层、应用服务层和基础服务层;所述基础服务层包括固定目标物触发模型、YOLO

v3目标检测模块、屏幕录制模块和透明背景视频播放模块;所述接入层提供sdk的接入方式;所述编辑运营层提供sdk运行中的数据编辑、处理功能;所述应用服务层包括用户可开发使用的任务和功能;所述固定目标物触发模型提供sdk的固定标记物识别、固定标记物跟踪、固定标记物屏幕坐标回调函数功能,所述固定目标物触发模型包括组件detection.js、组件model.js、组件Three.js,所述组件detection.js中封装有检测方法,所述组件model.js中封装有组件Three.js的实现模型;所述组件Three.js与固定标记物识别进行联系,当触发固定标记物回调函数时,在固定标记物检测界面利用组件Three.js渲染模型,对识别到的固定标记物进行跟踪并在对应识别区域渲染模型;所述YOLO

v3目标检测模块是采用voc数据集格式,利用darknet在后端进行模型训练,将训练好的模型进行模型优化,得到目标检测模型,并将目标检测模型得到的静态pb文件转换为适合前端网络页面的加载文件;基于Tensorflow.js实现YOLO目标检测;将训练后的Tensorflow模型saved_model,将save_model转化为可以在Tensorflow构建的前端神经网络中直接加载的web_model模型;所述屏幕录制模块提供sdk的屏幕录制功能,所述屏幕录制模块包括组件button.js、组件countdown.js、组件timer.js,所述组件button.js中封装有录屏开始按钮、屏幕录制界面、触发事件及点击方法,开始录制和结束方法;所述组件countdown.js中封装有实现倒计时方法,所述组件timer.js中封装有录制时计时方法;所述透明背景视频播放模块提供sdk的透明背...

【专利技术属性】
技术研发人员:高佩文
申请(专利权)人:山西云芯新一代信息技术研究院有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1