APP下载

基于ArUco标志的农机翻地移动增强现实系统设计

2021-05-26袁志浩刘桂阳陈国太

江苏农业科学 2021年8期
关键词:三维建模

袁志浩 刘桂阳 陈国太

摘要:针对传统农机翻地作业季节时令性强且不易观察的问题,以水稻本田作业农机为研究对象,设计了一种基于ArUco标志码的农机翻地移动增强现实仿真系统。通过对手机视频流进行自适应阈值处理、轮廓查找以及比特位比对等操作,识别空间中的ArUco标志;使用张正友标定法对手机相机镜头进行标定,通过ArUco标志的角点对手机相机进行位姿估计并通过坐标空间转换实现AR的定位与追踪。利用3DS Max设计本田作业农机具三维虚拟模型,对模型主体作业部分进行拆分,重新定向各部分的模型轴心。结合Unity 3D引擎对农机翻地作业过程进行仿真设计,并移植到手机移动端。通过手机移动端扫描地板上的ArUco标志,便可以在真实物理空间中还原水稻本田农机翻地作业环境,实现对虚拟农机翻地过程的仿真模拟与交互控制。在谷歌Pixcel XL手机上对仿真系统进行真机测试,结果表明:系统在手机移动端运行帧率稳定在46 fps以上,且AR识别速度快、准确率高,为其他农业仿真应用提供了新的技术参考。

关键词:ArUco标志;移动增强现实;农机翻地模拟;三维建模;农业仿真

中图分类号:TP391 文献标志码: A

文章编号:1002-1302(2021)08-0189-07

收稿日期:2021-03-04

基金项目:黑龙江省农垦总局科技攻关项目(编号:HNK125B-04-06);全国大学生创新创业比赛项目(编号:201810223015)。

作者简介:袁志浩(1995—),男,山东聊城人,硕士研究生,研究方向为增强现实技术与计算机视觉。E-mail:499920072@qq.com。

水稻本田的农机翻地作业过程一直都是水稻智慧旅游的重点。由于农机作业过程受到季节时令等问题的影响,在实际旅游时难以随时随地对其进行参观,因此农机翻地作业的可视化仿真一直是亟待解决的问题。传统水稻本田农机的作业过程是通过虚拟现实技术进行模拟仿真的,这种方式只是在个人计算机(PC)端建立农机作业的虚拟仿真程序,跟真实世界没有任何联系,系统交互性差,沉浸感不强,难以在水稻田旅游业中推广应用。

目前增强现实(augmented reality,AR)的表现形式有很多种,比如张力新等利用微软Hololens AR眼镜进行脑-机接口研究[1],李乾等通过局部不变性进行无标志增强现实方法的研究[2],郭晓敏等使用正的温度系数(positive temperature coefficient,PTC)的Vuforia增强现实引擎进行AR导览系统的研究[3],此外还有市场上流行的ARkit与ARcore等增强现实开发组件。上述AR开发工具虽然可以实现对图像、平面进行AR识别与定位,但对于特征点较少的地板很难进行稳定的识别与定位。因此,笔者提出一种基于ArUco标志的移动增强现实技术(mobile argument reality,MAR)[4-6]仿真方案。该方案通过放置在地板上ArUco标志码即可实现AR的识别与定位,在真实空间中生成虚拟仿真环境,使用手机移动端就可以对虚拟仿真环境进行全方位观察与交互。该方案不仅解决了原有AR开发组件对光滑地板难以识别定位的问题,通过ArUco标志码还能够稳定地生成翻地作业三维AR仿真环境,解决了季节时令性强而导致的难以观察的问题,为水稻旅游业的可视化仿真提供新的解决方案。

1 系统整体方案设计

水稻本田作业农机翻地仿真系统主要包括基于ArUco标志码的AR系统的搭建和在Unity 3D引擎中设计农机翻地的虚拟作业环境。这2个部分的功能设计如图1所示。

1.1 系统仿真效果

通过使用手机移动端扫描地板上放置的ArUco标志码,系统会在该地板区域生成1块固定大小的虚拟水稻田以及与翻地作业相关的农机具模型。用户可以通过手机对翻地作业以及农机的行进和转向等过程进行360°的AR观察与交互,如同在真实水稻田中进行参观,从而带来更强的体验感。图2为手机端农机翻地作业的仿真效果。

1.2 ArUco的识别与定位设计

ArUco是一种二进制平方黑白标志码,结果如图3所示。其最外侧黑色边框帮助检索算法可以在复杂的检测背景中快速找到待识别的标志码,内部不规则排列的黑白区域构成二维矩阵,用于确定每个检测码的唯一身份标志,并固定自身4个外围角点的排列顺序。ArUco检测库现已集成到OpenCV开源计算机视觉处理库中,被广泛用于增强现实、机器人导航等领域。

1.2.1 自适应阈值处理 阈值处理是指将灰度图像中小于阈值的像素点全部设置为0,大于阈值的像素点设置为255,实现从灰度图到二值图像的转换,降低图像处理的复杂度,提高计算效率。自适应阈值处理是图像二值化的一种常用方式,它属于局部阈值处理的范畴,常被用于光照强度分布不均的图像二值化操作。即光照强度较高的部分阈值较大,光照强度较低的部分阈值较小[7]。

自适应阈值的重点在于局部阈值的确定,常用的方式有:计算某领域的像素平均值,计算某领域的像素中值,计算某领域的像素高斯加权平均值等。笔者采用计算某领域的像素点高斯加权平均值作为局部阈值(即通过高斯内核与二阶高斯分布函数进行卷积),对视频图像进行阈值处理。二阶高斯分布函数为:

G(x,y)=12∏σ2e-x2+y22σ2(1)

式(1)中σ決定了高斯分布函数的宽度。

取3×3的高斯内核与二阶高斯分布函数相卷积,得出每个像素邻域的最佳局部阈值,完成自适应阈值处理,处理结果如图4所示。

1.2.2 ArUco识别 ArUco标志码的检测需要预先指定标志码字典的规格,不同规格字典的选择会导致不同的检测结果。如“DICT_4×4_50”表示从视频流中检测内部二维矩阵为4×4,唯一身份id取值为[0,50),左闭右开区间内共50类ArUco检测码。通过对阈值处理后的源图像进行轮廓查找,找到图像中类似ArUco标志的方形轮廓,通过对轮廓中的ArUco标志按照预设字典的规模进行比特位提取,确定检测对象的唯一身份id(图5)。若id存在于当前字典中,则该ArUco标志码识别成功。图6为不同规格字典中ArUco标志码的检测结果。

将地形点高度图抽象成如图12-b所示的地形点网格,使像素点与网格顶点一一对应。若地形面積较大或程序运行卡顿,应减少网格顶点的数量,以保证程序运行流畅。

数据地形使用二维数组对网格顶点进行存储,设Terrain[m,n]为储存地形点网格的二维数组,其中m、n分别为地形点网格x、z轴方向网格点数量。由于网格顶点与像素点是一一对应的,所以Terrain[m,n]数组的索引值用来表示高度图中对应

的像素点。地形点的高度值由高度图中像素点的灰度值表示,Terrain[m,n]数组中每个索引值对应的数组元素尚未存储任何数值,因此可以用来存储对应像素点的灰度值。

通过数组索引定位到高度图中对应像素点的具体位置,该像素点的灰度值再通过数组索引存储到二维数组中,完成二维地形点数组与高度图映射。通过动态改变数组中存储的索引值进而改变地形点高度值,实现地形动态起伏效果。

2.2.2 翻地仿真 稻田秋翻地是指牵引农机牵引翻地犁进行翻地作业的过程,结果如图13所示。

秋翻的实际翻地区域为图13中阴影翻地区域的总和,但实际利用二维数组设置地形点高度时设置二维数组中所有的数据,对未进行翻地的空白区域也同样进行地形点高度设置,从而导致仿真结果偏差。因此,需要去除二维数组中左上三角区地形点数据。其具体方法如图14所示。

最后根据牵引农机的行进速度,逐帧改变每个翻地齿对应的数据地形中的地形点高度,完成整个稻田秋翻地仿真模拟过程。最终的仿真效果如图15所示。

2.2.3 农机机械运动状态模拟 牵引农机的机械运动主要包括行进与转向2个状态, 其中农机的转向控制是设计的重点与难点。牵引农机转向原理如图16所示。

水稻本田作业的牵引农机是前轮转向方式,由前轮转向机动车的转向约束[15-16]可求得牵引农机两转向轮之间的差速方程:

n2n1=2L+B(sin β)2L-B(sin β)。(7)

其中:n1为内侧转向轮的转速;n2为外侧转向轮的转速。由公式(7)可以求得牵引农机转向时前转向轮的转速关系,根据转速关系设计农机转向时转向轮的转动速度,实现差速转动。

牵引农机的行进状态比较单一,4个行进轮的转速由轮胎半径与行进速度决定。其转速表达式为:

n=V作2πr轮。(8)

式中:n为行进轮的转速;V作为农机作业时的行进速度;r轮为轮胎的半径。通过公式(8)可以得出牵引农机行进时每个轮胎的转速。

3 讨论与结论

打开手机移动端的农机翻地仿真APP,扫描放置在地板上的ArUco标志,扫描成功会在手机屏幕中加载农机翻地仿真环境,笔者对农机的AR观察、农机的行进与转型控制以及农机翻地等过程分别进行移动端的性能测试与分析,分析结果如图17所示。

图17-a为农机的AR观察与农机行进与转型控制操作时中央处理器(CPU)的性能开销示意,可以看出此时CPU消耗较小,系统主循环仅为 8.15 ms,帧率稳定在60 fps以上。由于翻地模拟需要动态更改地形点的高度,系统主循环耗时为 22.18 ms,耗时明显增加,此时系统帧率为46 fps,运行流畅,满足农业仿真的需求(图17-b)。翻地结果测试表明,用于AR仿真的虚拟地形尺寸不宜过大,在不影响仿真效果的前提下,应尽量降低地形系统的解析度。

笔者通过移动增强现实技术实现水稻本田作业农机翻地作业的模拟设计,解决传统水稻本田作业季节时令性强、农机作业过程不易观察等问题。通过手机移动端扫描ArUco标志码,就可以在真实物理空间中生成水稻本田农机翻地作业虚拟环境,解决了传统VR仿真程序沉浸感不足的问题。随着智能穿戴设备的发展,未来可将该模拟系统移植到AR智能眼镜设备中,摆脱移动设备的束缚,进一步提高系统的仿真效果。

参考文献:

[1]张力新,张裕坤,柯余峰,等. 基于Hololens的增强现实脑-机接口研究[J]. 中国生物医学工程学报,2019,38(1):54-61.

[2]李 乾,高尚兵,潘志庚,等. 基于无标记识别的增强现实方法研究[J]. 系统仿真学报,2018,30(7):2608-2614.

[3]郭晓敏,申闫春. 基于Unity/Vuforia的AR导览系统研究[J]. 计算机仿真,2019,36(8):165-169.

[4]宋燕燕,曹效业,周 灵. 移动增强现实技术在互动展示中的应用研究[J]. 计算机技术与发展,2016,26(9):83-86.

[5]孙 源,陈 靖. 智能手机的移动增强现实技术研究[J]. 计算机科学,2012,39(S1):493-498.

[6]李 丹,程耕国. 基于Android平台的移动增强现实的应用与研究[J]. 计算机应用与软件,2015,32(1):16-19,23.

[7]程淑红,尚果超. 基于视觉的答题卡自动判分系统设计[J]. 计量学报,2018,39(6):804-810.

[8]夏仁波,刘伟军,赵吉宾,等. 基于圆形标志点的全自动相机标定方法[J]. 仪器仪表学报,2009,30(2):368-373.

[9]Zhang Z Y. A flexible new technique for camera calibration[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(11):1330-1334.

[10]王世安,王向军,阴 雷. 基于扩展正交迭代的快速加权的相机位姿估计[J]. 红外技术,2020,42(3):205-212.

[11]阎晓东,张永生. 基于3DS MAX环境的3维场景重建工具[J]. 测绘学院学报,2002,19(2):109-112.

[12]许捍卫,房晓亮,任家勇,等. 基于SketchUp的城市三维建模技术[J]. 测绘科学,2011,36(1):213-214.

[13]蒋充剑,韩海良,翟永翠. 基于Unity 3D的推土机模拟训练平台设计[J]. 中国工程机械学报,2017,15(6):517-521.

[14]黄敏儿,杜志强,朱 庆,等. 利用像素高度图的三维建筑物屋顶和立面提取方法[J]. 武汉大学学报(信息科学版),2014,39(10):1221-1224.

[15]瞿济伟,郭康权,宋树杰,等. 农用柔性底盘偏置轴转向机构联动耦合控制策略及试验[J]. 农业工程学报,2019,35(23):55-65.

[16]贾 全,张小超,苑严伟,等. 拖拉机自动驾驶系统上线轨迹规划方法[J]. 农业机械学报,2018,49(4):36-44.

猜你喜欢

三维建模
maya教学中存在的问题及解决对策
3D虚拟仿真技术在体育馆购票系统开发中的应用研究
农用风力发电机叶片设计
数控仿真系统三维建模技术研究