物体识别Object Recognition—VR及AR开发高级教程(5)

发表于:2017-3-23 11:00

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:吴亚峰、刘亚志、于复    来源:51Testing软件测试网原创

  2.10  物体识别--Object Recognition
  前面章节中向读者介绍了标记框架、扫描图片、多目标等技术,细心的读者会发现这些技术都是基于图片实现的。但是现实生活中有很多3D物体,比如玩具车、电子产品以及生活用品等,Vuforia也提供了一套技术来实现与3D物体的交互。本节中,笔者将详细讲解该技术。
  2.10.1 可识别物体
  官方提供了一款扫描App,利用该软件可以将3D物体的物理特性扫描成数字信息,该App所识别的3D物体是不透明、不变形的,并且其表面应该有明显的特征信息,这样有利于App去收集目标表面的特性信息。例如电子器件和玩具车,如图2-30和图2-31所示。图片目标与3D物体的对比如表2-2所列。
  
  2.10.2 下载Vuforia扫描仪
  前面笔者提到官方有一款App(以下简称Vuforia扫描仪)可以扫描并收集3D物体表面的物理信息,将扫描的数据上传至官网并打包下载到Unity编译器即可,这样就完成了3D物体的扫描。进入Vuforia Developer Portal官网,在Downloads下的Tools页面中有一个Download APK字样,如图2-32所示。
  在下载到的压缩包中,将其解压到任意文件夹中,在Media文件夹中有两个pdf文件,将其复制到和APK同一目录下,如图2-33所示。官网上提示该APK只支持Samsung Galaxy S5和Google Nexus 5,但是笔者在测试之后发现其他部分手机也可以安装并扫描成功。
 
  2.10.3 扫描3D物体步骤
  下载并安装Vuforia扫描仪后,就可以利用该App对3D物体进行扫描,扫描完成后会产生一个*.od文件,该文件包含了3D物体表面的物理信息。将其上传至官网打包下载数据源即可。下面笔者将详细讲解扫描3D物体的步骤。
  (1)为了更好地对3D物体进行扫描,首先应搭建扫描环境。官网上建议将整个环境设置成灰色最为适宜,所以笔者搭建了一个箱子专门用来扫描3D物体,如图2-34和图2-35所示。将其放置于明亮的环境中,确保3D物体表面都被均匀照射。
 
  (2)在开始扫描物体目标之前,需要将APK压缩包中附带的Object Scanning Target.pdf文件打印出来,如图2-36所示。将3D物体放置在该图片右上角的空白区域,并且与图中的坐标轴对齐。该图纸的作用是用来确定物体的精准位置和姿势。
  (3)准备工作完成后,就可以开始3D物体的扫描。笔者采用的3D物体是一个无线鼠标。单击Vuforia扫描仪图标进入应用程序,如图2-37所示。单击"+"图标创建新的扫描会话,当物体位置摆放正确时,会出现一个矩形区域将物体包裹,如图2-38所示。
  (4)这里需要提醒读者的是,如果只将鼠标的一部分放在空白区域,Vuforia扫描仪就只会扫描收集位于空白区域的鼠标部分表面的数据信息,如图2-39所示。单击红色按钮开始对物体进行扫描,在扫描过程中不要移动3D物体,而是通过移动摄像机来对整个物体进行扫描。
  
  (5)当一个表面区域被成功捕捉后,该区域会由白色变成绿色,如图2-40所示。可以适当改变摄像机和3D物体间的距离来对部分区域进行捕捉。当捕捉到大部分的表面信息后即大部分变为绿色时,再次单击录制按钮停止扫描。
  (6)输入一个扫描结果名称"shubiao",保存后会出现一个信息摘要,如图2-41所示。在界面底部会出现Test和Cont Scan两个按钮。可以通过单击Test按钮对扫描结果进行测试,测试结果如图2-42所示。若对扫描结果不满意可以单击Cont Scan继续对物体进行扫描。
  (7)单击"+"旁边的设置按钮可以进行数据分享,将其分享到PC端会发现其是一个*.od文件,如图2-43所示。将其上传至官网,具体步骤将在后面章节中详细介绍。官网会对*.od文件信息进行处理,下载的DateBase数据包会缩小很多,开发人员无须担心*.od文件影响APK包的大小。
 
  2.11  本章小结
  本章初步介绍了Vuforia的几项核心功能,学习完本章读者能够对Vuforia的相关功能有一个初步了解,包括扫描图片、圆柱体识别、多目标识别、文字识别、云识别、物体识别等。本章对核心功能的介绍较为简单,具体的案例将在下一章中进行详细介绍。
  2.12  习题
  1.简述选择被扫描图片时的注意事项。
  2.在圆柱体识别过程中,如何获取实际物体的具体参数?
  3.简述多目标识别的原理。
  4.云识别的两种管理方式是什么?
  5.智能地形的工作原理是什么?
  6.请自行尝试进行3D物体的扫描。
本文选自《VR及AR开发高级教程—基于Unity》第二章,本站经人民邮电出版社和作者的授权。
版权声明:51Testing软件测试网获清华大学出版社和作者授权连载本书部分章节。任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
Vuforia核心功能介绍—VR及AR开发高级教程(4)
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号