真实物体识别 Real object detection in Augmented Reality using ARfoundation in Unity

下载本教程工程文件(Github)

从我最早开始接触增强现实以来,有三种核心识别方式:

图像识别

可以通过图像在空间内布置虚拟物品

平面检测

可以转换任意墙面或地板成为虚拟世界的一部分

物体识别

从2017年Vuforia开始便具备这一功能,包括EasyAR也是很早具备此功能的,但由于其操作流程极其受限,我一直没有试着去尝试,直到ARKit在2019年给出了非常轻便的方法 ARReferenceObject,这篇教程记录基于此,有兴趣可以点击查阅官方文档。通过本教程,可以实现如下效果:

请添加图片描述

① 扫描真实物体,获得扫描参数

设备要求

iPhone 6s或更新,系统iOS 12或更高;

iPad五代或更新,系统iOS 12或更高。

安装扫描App

下载官方提供的工程文件“ScanningAndDetecting3DObjects”,通过Xcode安装到设备中,详情可看官方文档;

在设备中,扫描App名称为:ARKit Scanner。

布置扫描环境

确保被扫描物体非透明、非高反射度(如镜面)、表面尽可能粗糙(更多识别点),最小长度不小于1厘米,最大长度不大于5米;

扫描环境处于自然光中最佳,确保被扫描物体光照均匀,如使用人造光则日光灯最佳(色温6500k);

被扫描物体以外,中性色且无反光。

开始扫描

1.打开ARKit Scanner,镜头对准被扫描物体,直至有点云和黄框立方体出现,点击“Next”进行框定;

在这里插入图片描述

2.双指在屏幕上移动或缩小黄框立方体,直至正好框住被扫描物体,点击“Scan”进行扫描;

在这里插入图片描述

3.绕着被扫描物体,直至“上左右前后”五个面都出现黄色透明面,并且在App的标题部分显示“100%”,黄框立方体将自动出现3轴坐标轴;

在这里插入图片描述

4.点击“Test”,将被扫描物体放置在不同环境中测试识别准确度(若光线不足,可点击“Light On”打开设备闪光灯);

在这里插入图片描述

5.若在第四步的识别准确度测试中效果不佳,可以点击左上角“Merge Scans>Merge New Scan”增加扫描数据;

在这里插入图片描述

6.点击“Test”,检查识别准确度是否提高,在本例中,可以看到识别点云大幅度增加了;

在这里插入图片描述

7.点击“Share”导出识别数据文件arobject(请勿通过QQ、微信等通讯软件进行传输,文件将发生损坏)。

② 在Unity中搭建

1.确保布置好ARFoundation开发环境(基本操作,此处不详述);

2.将上一章节中创建的arobject拖入Assets中,其应该如下图显示,如果没有图片,说明文件损坏,原因上一章已说;

在这里插入图片描述

3.在Project中右键,Create>XR>ReferenceObjectLibrary,将arobject文件拖拽入Reference Object Assets,并输入Name;

在这里插入图片描述

4.在Inspector中,AR Session Origin>Add Component,添加AR Tracked Object Manager;

5.将ReferenceObjectLibrary拖拽入AR Tracked Object Manager>Reference Library中;

6.将识别模型(确保位置在0位置,尺寸已根据物体的真实大小做了调整,且已制成Prefab)拖拽入AR Tracked Object Manager>Tracked Object Prefab。

在这里插入图片描述

③ 更进一步

在案例中,我只使用了视频作为识别对象,教程可看 AR transparent video playback in Unity 第三章。

关于物体识别,我更考虑在空间内的与空间发生关系的物品,如家具等,作为混合现实空间体验的标记物,这可能是物体识别最大的价值所在(当下,图像识别稳定度比物体识别稳定度高多了)。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yüuuuu.net

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值