电话+V:159999-78052,欢迎咨询关于开发ar小程序的项目书,[小程序设计与开发],[小程序投流与推广],[小程序后台搭建],[小程序整套源码打包],[为个体及小微企业助力],[电商新零售模式],[小程序运营推广及维护]
WebAR,这个革命性的技术,正引发三个关键焦点:Web应用的创新、沉浸式AR体验以及行业的无限可能。微信小程序的AR功能为其广泛应用提供了新舞台,前端开发者们正利用WebAR技术,推动着其在各行各业中的普及。让我们一起探索WebAR的定义、发展历程以及其核心技术的应用。
WebAR,即在Web浏览器中集成增强现实,得益于WebRTC、WebGL和传感器API的融合。2009年,FLARToolKit的诞生象征着WebAR的起点,然而,Flash的局限性让手机AR一度占据主导。随着HTML5的兴起,尤其是WebGL和WebRTC的引入,WebAR开始崭露头角,进入全新的发展时期。
WebRTC,这个实时通信的WebAPI,对于AR体验至关重要,它提供了视频处理的强大支持。2013年,Chrome和Firefox率先支持WebRTC,使得WebAR无需依赖外部应用,实现了跨平台的3D效果和交互。然而,统一标准、性能和隐私问题也随之而来,FLARToolKit曾是FlashAR的主力,但逐渐被现代轻量级库AR.js取代。
AR.js,作为现代的AR开发框架,基于ARToolKit,支持标记和位置增强现实,兼容WebGL和WebRTC。它在iOS11+和Android设备上表现优异,封装了WebRTCJS、ARToolKit和Three.js等关键库。AR.js2.0进一步引入了基于位置的AR功能,充分利用了手机传感器技术。
AR.js与JSARToolKit是ARToolKit的Web版,前者在浏览器中实现AR追踪,推荐使用320x240或640x480的帧大小,以处理多个标记。JSARToolKit的性能优化和资源链接可以参考1至6。同时,A-Frame、argon.js、awe.js等其他AR库也在各自的领域中大放异彩。
WebAR的核心步骤包括图像识别、实时跟踪和3D渲染,众多开源工具为开发者提供了丰富的可能性。AR在处理大量3D内容和实时跟踪上虽有挑战,但A-Frame等WebVR框架的出现,如Google和Microsoft等大公司的支持,使得WebAR开发更加便捷,易学且强大。
半岛电视台、华盛顿邮报和NASA等知名品牌已经展示了WebAR的潜力,而A-Frame和Three.js等工具则提供了丰富的开发资源。WebAR的未来,如8thWall的云平台,提供了端到端的实时AR解决方案,以及ARQuickLook,使得高质量3D内容的展示更加便捷。
WebRTC在iOS11+设备上支持HTTPS,需要WebGL2.0或WebGL3DCanvas图形,而WebAR在广告营销领域的应用更是如虎添翼。对于WebAR的探讨和实践,我们期待您的关注和分享,一同见证这一技术的飞速发展。想要深入学习,不妨关注我们的AIRX社区,专研AI/AR/VR的世界。
微信小程序实现WebAR的基础API在2019年7月5日由微信公开课公众号宣布。此API可实时从摄像头获取每帧图像,但缺少图像识别和人脸检测功能。为解决此问题,我们引入了Tacking.js,一个轻量级计算机视觉库,具备颜色跟踪、人脸检测等能力。同时,JSFeat提供类似OpenCV的图像算法,丰富了开发工具箱。
在GitHub上,我们分享了演示项目的源代码,地址请查阅文章末尾。
为了使用此小程序,首先在微信开发者工具中导入源代码,点击“预览”按钮。若此按钮为灰色不可点击,则需填写小程序测试ID。微信小程序会请求使用摄像头权限,选择“允许”。
若选择“拒绝”,请在小程序右上角的设置按钮中重新打开权限。鉴于新API特性,iOS版微信需要7.0.4版,Android版需要7.0.5版。对于大多数未更新的用户,可选择“takeaphoto”模式体验,无需新API支持,因此可在任何版本的微信中使用。
通过扫描图片或周围红色、黄色、蓝色物品,小程序即可开始工作。成功后,将呈现特定效果。在“takeaphoto”模式下,点击按钮拍照,再次点击“retry”可重新尝试。而在“accessacamera”模式下,小程序会自动检测摄像头画面中是否存在指定颜色,无需手动操作。
颜色跟踪功能虽不能精确判断物体,但可在同色物体中区分特定物体。与轮廓分析等技术相比,颜色分析速度快,但准确度较低。此功能适用于对准确度要求不高的场合。
小程序还支持人脸检测,扫描人脸或图片后,人脸会显示方框,并标注眉毛、眼睛、鼻子、嘴巴等31个特征点。点击“changecameradirection”可切换前后摄像头。
2019年8月1日,我们实现了透视变换的人脸检测,当人脸特征点不准确时,2D贴纸的位置也会受到影响。调整人脸识别参数后,特征点更贴近人脸,贴纸位置更准确。
图像识别分为两部分:识别图片和实时获取的图片。在拍照或摄像头图像中,需计算出被识别图片的位置、大小、旋转等变换。被识别图片示例包括旋转、斜切和缩放的图片。通过计算,期望结果为半透明黑色遮罩层覆盖图片。
此外,我们实现了对象跟踪功能,显示方框,但此功能速度慢、准确度差。此功能是Tacking.js的一个例子。
在开发过程中,我们遇到了技术问题,如原生组件camera和canvas叠加时,如何为二者设置CSS的z-index属性以解决遮挡问题。对于实时获取摄像头图像的问题,将frame.data值从ArrayBuffer转换为图像数据的方法是创建Uint8ClampedArray实例。当将tracking.js库移植到微信小程序时,需替换window和navigator对象,并将摄像头图像数据传递给该库。实时获取摄像头图像的停止侦听问题通过使用定时器解决,因为context.onCameraFrame的stop()方法无法停止侦听。微信小程序中无法使用requestAnimationFrame方法,但canvas.requestAnimationFrame已支持。
为优化图像识别,我们采用计时器记录方法耗时,避免无预期效果。通过减少图像尺寸,提高识别速度。预处理方法如灰度化、模糊化、边缘检测等并未显著提高识别速度。在图像尺寸固定时,tracking.js库中人脸检测的initialScale值和颜色检测的minDimension值越大,识别速度越快但精度较低。两个值越小,识别速度慢而精度高。在图像尺寸发生变化时,调整initialScale值和minDimension值以匹配图像尺寸。
在选择优化方案时,需权衡识别精度和速度。例如,在用户拍照场景中,可设置较高精度;而在实时摄像头获取图像场景中,为提高速度可牺牲部分精度。微信小程序无法利用WASM加速或直接使用硬件加速,且存在2MB的大小限制。
为了优化人脸检测演示,我们将原始大小为4MB、包含4层模型的人脸训练模型(Regressor.js)改为了1层模型,以符合微信小程序的大小限制。
IT之家11月12日消息,Meta发布了一段短视频,展示了其OrionAR眼镜原型的操作系统界面。
OrionAR眼镜原型于9月在MetaConnect2024上亮相,尽管Meta承认Orion本身无法实现大规模量产,但该公司计划未来发布一款“基于Orion研发成果”的AR眼镜,不过视场角会更窄一些。
作为Orion项目的一部分,Meta表示,他们开发了一个原型操作系统,包括用户界面和关键应用程序,新视频展示了这个界面以及其中的一些应用程序。
开发者AlexCoulombe称,该视频并非概念视频。“对于那些想知道的人,这不是概念视频,这实际上就是它的样子和感觉,”Alex在X上说。
IT之家注意到,尽管时长不到20秒,Meta的新视频似乎展示了至少六个不同的应用程序启动器主菜单界面。这可能表明其中一些是概念,或者该公司只是在尝试多种设计方案。
电话+V: 159999-78052
专注于小程序推广配套流程服务方案。为企业及个人客户提供了高性价比的运营方案,解决小微企业和个体拓展客户的问题