Unity 3D增强现实开发实战
上QQ阅读APP看书,第一时间看更新

2.1 识别方式

增强现实是把虚拟图像叠加到现实环境中,用来补充现实环境。那么虚拟图像要叠加到哪里?哪些地方会被叠加?哪些地方不会被叠加?以一个简单的3D模型叠加为例,现在有一张画着恐龙的卡片,当用户使用手机扫描这张卡片时,在用户手机中的卡片图像上就会叠加上一个3D恐龙模型。这里扫描的卡片就是识别的目标,只有识别了目标后才会叠加上模型。模型的位置相对于识别目标是固定的,就像在现实世界真实所处的位置一样,不会随着摄像头的位置改变而改变。这也是AR的一大特点。

上面的例子中,AR的识别方式是图片识别,这只是AR众多识别方式中的一种,还有3D物体识别、自然识别等。

图片识别最简单,也最常用。图片识别的识别目标是一幅平面图像,AR程序通过摄像头收集到的图像与事先注册好的识别目标比对,比对成功后进行模型的渲染。而自然识别就比图像识别复杂得多,自然识别的目标是不固定的。程序通过大量的机器学习来认识摄像头内的事物,如微软识花App,使用这款App在路上拍摄看到的花朵并进行增强现实处理后,App会告诉用户这是什么花。显然,同一种花,在不同角度、不同地方,相机拍到的图像都是不一样的,但是程序依然能识别,这就是自然识别。3D物体识别,顾名思义,识别的是3D物体,而不是平面图像。还有一种识别方式是体感识别,摄像头通过捕捉人体的动作,来判断这个人是在挥手还是在跳跃。其最为典型的产品是Kinect。最早这款设备用于玩体感游戏,随着近年来AR的火热,目前也有了结合Kinect进行的AR开发。本书接下来将以图片识别为主,介绍AR是如何实现的。