高冰钰 王洪源
摘 要:采用Unity3D开发引擎搭建了一个模拟训练系统场景,利用高斯拉普拉斯(Laplace of Gaussian,LoG)算子检测定位技术,检测射击屏幕上激光光斑信号并确定光斑的位置,以Raspberry Pi作为主处理器,Raspberry Pi摄像机确定射击目标和激光光斑上图像,使用Open CV在嵌入式系统上执行图像处理任务,将识别的位置坐标信息通过socket无线网络通信发送到模拟训练系统中,与平台对接实现信息交互, 将场景逻辑与模拟训练的概念结合。结果表明,激光射击位置坐标数据可以实时传递到3D模拟场景中,可以有效對真实射击环境进行仿真。
关键词:模拟射击训练系统 Raspberry Pi 激光光斑Unity3D
中图分类号:G64 文献标识码:A 文章编号:1674-098X(2019)05(c)-0010-02
激光技术在日常军事训练中得到越来越广泛的应用,常见的就是激光模拟射击技术[1]。本射击模拟系统采用Unity3D开发引擎搭建了一个模拟训练系统场景,由多媒体大屏幕显示,射击者向目标屏幕发射激光束,Raspberry Pi摄像机在捕获激光光斑后图像后,在嵌入式系统上对图像进行预处理、滤除噪噪声和图像校正等操作,再采用高斯拉普拉斯定位算法检测激光图像光斑中心。同时通过无线协议将弹着点信息实时发送至模拟训练系统中显示。该系统采用激光模拟射击技术,实现了枪靶的完全分离,体积小、重量轻,不仅方便准确而且造价低,更适用于日常军事训练。
1 激光模拟射击训练系统设计
激光模拟射击训练系统是主要由射击目标模块、武器系统摄像头模块、计算机显示系统模块、无线模块等部分组成。图1说明了系统的体系结构。射击目标模块由一个目标屏幕组成,图像是由LCD投影仪投射在上面的。武器系统摄像头模块由五个部件组成, 即单板计算机系统装备的枪 (人造枪)、Raspberry Pi摄像头、激光指示器、无线模块和电池。计算机显示器模块是用来监视和计算射击位置的个人计算机显示器。无线模块为武器系统摄像头模块与计算机显示器系统之间提供无线通信。
当枪手把枪对准目标时, 枪上安装的树莓派摄像头开始捕捉射击目标图像。一旦开枪射击, 激光光束从枪发射到目标。所捕获的图像由单板计算机处理, 然后将检测到的目标坐标无线发送到计算机。
个人计算机通过采用单应矩阵变换法对摄像机坐标与图像坐标进行转换,把物体从成像平面到三维世界各坐标点的关系一一对应起来,从而定位激光命中点。
2 算法实验及Unity3D接口测试公式(1)、公式(2)是利用高斯拉普拉斯算子来检测激光射击点位置。
微分运算对图像的噪声十分敏感,是一个线性操作,因此要对图像进行高斯平滑滤波,再使用Laplace算子进行边缘检测,来消除噪声的影响[3]。由于高斯函数是圆对称的,因此LoG算子可以有效地实现极值点或局部极值区域的检测。
在实际对激光斑点检测时,使用白色背景作为检测对象来进行试验,将4个圆形反光纸粘贴在4个角作为标志点。激光射向标志点区域内时可检测到坐标位置,射击实验结果如图2所示。
3 结语
本文在Unity3D中设计一个目标检测定位界面,当有激光射向目标区域时,程序可以检测到激光点所在的具体位置,并以坐标的形式给出。测试表明,基于Raspberry Pi的模拟射击训练系统能有效地检测出相机与激光指针之间微小位移的射击目标和激光光斑,且成功率高、目标检测误差小,大部分激光点定位准确。系统可供部队人员日常训练使用,能够提高综合训练效率。
参考文献
[1] 张希首.浅析激光模拟射击技术在军事训练中的应用[J].才智,2018(18):221-222.
[2] 王施阳,王洪源.基于Arduino接口的模拟训练系统设计[J].科技创新导报,2018(8):161-162.
[3] 王洪源.Unity3D人工智能编程精粹[M].北京:清华大学出版社,2014.