李红燕
(西北民族大学 电气工程学院,甘肃 兰州 730124)
以无人炮台装甲车为蓝本进行修改制作,这一想法多用于军事领域,并且有可以装配到不同的机械装置上,如:装甲车,无人机,以至于枪械器材等,应用多样化,并且在现代化的今天。已实现四合一化,即火力、火力指挥控制、电源供给,自行化四合一。具有很大的发展价值,即使是今天也在不断的探索改进中。本文以开源的计算机视觉处理框架(Opencv)为算法核心,结合Python语言实现的,其特色如下:使用廉价的芯片实现复杂的功能;通过计算机视觉算法对目标进行捕捉;利用经典的PID算法控制相应的机械对捕捉到的目标进行物理跟踪;基于前两点可以实现对运动的目标进行物理打击利用物联网的思想,将多个嵌入式设备组合起来,通过分摊闲置的运算资源,使廉价的芯片也能实现复杂的功能,这在将来嵌入式发展成型之后,绝大多数的物体被物联网植入芯片之后,能够对有效的利用批量的闲置芯片做出探究。
(1)计算机视觉库的使用。将OpenCV库(跨平台计算机视觉库)和python语言结合运用,利用闲置芯片进行分摊运算,完成了对摄像头所采集到的图像和计算机视觉方面的协同运算,实现了目标的识别和追踪。
(2)经典PID控制算法。使用经典的离散型PID控制算法对目标进行了跟踪捕捉,在Opencv计算机视觉处理库将目标物的质心运算出来后,交由PID控制器进行控制。根据目标物的质心与系统的坐标中心的偏移程度来进行PID修正,以此实现的控制器,其数学模型简单,算法复杂度低,所带来的运算量也相对较少。
(3)机械硬件部分。机械部分的设计及为简单,正如绪论中所述,利用物联网的技术,利用廉价的处理器实现复杂运算。其部分为做物理机构主控恩智浦K60芯片一块,180度转向金属舵机两个,基于物理势能的机械发射装置,摄像头一个,其中K60所需要实现的功能仅是接收另一处理器给入的通信数据,并依据此来控制舵机的打角和机械发射装置来实现跟踪和对跟踪目标的打击。
(4)Python编程。Python 进来使用极为广泛的编程语言,其具有良好的“胶水性”,可以很好的粘合两种不同的语言,同时因其极为清爽的书写风格和特色的空行缩进代替段落的方式受到开发者的偏爱,正是如此,Python才被选用为树莓派中广泛流行的编程开发语言
(5)协处理部分。使系统中的一块树莓派充当协处理器功能,利用多线程来给下属的运算机构树莓派分配任务,同时有序的回收任务。其中采用队列的数据结构形式,来将得到的视频流分割,之后更具时间戳来给截取得到的图像场标号,之后丢入线程堆中,线程堆满足后入先出的原则,在这里使用线程堆是为了提高图像处理的实时性,对受外界不稳定因素导致不能有效分配的陈旧图像压入堆底,在实在无法处理的情况下及时抛弃,不干扰后来图像的处理。
(1)功能梗概。本文所要实现的功能由表像上看是利用计算机视觉处理技术对目标物体进行跟踪,其中所要实现的是探究多个嵌入式设备协同工作的可行性,利用多个嵌入式设备的闲置运算资源来分担复杂的运算量,类似目前电脑广泛使用的协处理器,利用网络来代替金属导线。
(2)指标。本文的指标在于对目标跟踪的准确度与响应度,在本文中机械部件对待跟踪目标的跟踪准确度为基本的性能指标,而响应度为考量设备运算力的基本指标,由于对实时图像的分析需要极大的运算能力,因此,如何使用算法优化运算量来提高,本系统的响应度是本项目的难点之一。
在本文中使用计算机视觉算法中的模板匹配算法,即利用给定的模板来对一场图像中的每个区域块进行比对,之后选取出配对程度最高的一块区域来做下一步运算,在本文主控中,使用python来调用Opencv库实现模板匹配算法。具体过程如下:
首先,根据树莓派出厂商提供的用户使用手册,根据树莓派的特性和其系统的摄像头文件接口编写摄像头驱动程序,利用驱动程序对摄像头进行驱动调用,得到视频流,之后对流进行截取得到一场一场的图像,在这其中,应用多线程的方式,对每一场图像进行数据处理,将多场图像标号后同步发送给多个树莓派,以此来进行协同运算,加快运算的效率,提高整个系统的响应度,在得到图像后,将图像转换到HSV空间,对其进行如下操作,构建掩膜,腐蚀操作,膨胀操作,其中先腐蚀再膨胀的效果是开运算,用以去除噪点。在对图像完成基础处理之后,对其轮廓进行检测,找出图像中的圆形轮廓的质心,这时候如果不对图像进行任何处理,由于,图像中会存在大量的圆形轮廓,因此,需要对图像中的圆形轮廓进行过滤,首先根据其圆面积排序筛选,过滤去小面积的圆,留下最大圆,再对这部分的图像做轮廓的外接圆,计算矩之后计算质心,经过试验测试之后确定,当半径大于10个单位(图像中单位)时能够有效地找到目标,在该场图像中找到目标之后,依据将图像发送给充当协处理器的树莓派,其依据标号,将多场图像还原成视频流,得到连续的目标。找到目标之后,根据经典的自动化控制算法比例-微分-积分控制器来计算出舵机的打角量,之后通过串口通信协议转发给恩智浦K60芯片之后控制机械部件完成对目标的物理跟踪,当装置能准确跟踪目标后,即装置能连续跟踪目标一秒,发射装置发射,击打目标。
本文介绍通过采用协处理的方式加快运算量,以开源的计算机视觉处理框架为算法核心,结合Python语言实现的,提升整个系统的响应度,来完成通过摄像头采集图像来对移动的目标进行实时的跟踪。通过实际的测试,验证了设计的合理性。实现了计算机视觉算法对目标进行捕捉和PID算法控制机械对目标进行跟踪,然后利用物联网技术对目标进行击打,有效使用了闲置芯片。文中协处理传输图像部分需进一步完善,如何有效的标定图像顺序而不受各个处理器的处理快慢和网络传输环境的干扰是后续将要解决的问题,同时,对图像的识别精确度也需要进一步的提升,从而使其更加成熟。
[1]王智,潘强,邢涛.面向物联网的实体实时搜索服务综述[D].上海:中国科学院上海微系统与信息技术研究所. 2009.
[2]赵晓霞.计算机视觉技术在农业中的应用[J].科技情报开发与经济.2004,(4).
[3]张启元.无人机航测技术在高寒地区基本农田测绘中的应用[J].青海大学学报(自然科学版),2014,(2).
[4]曲从善,夏克寒,许化龙,等.导弹快速自瞄准方法及仿真研究[J].兵工学报,2009,30(4):467-470.
[5]陈希林,傅裕松,尉洵楷.机载光电瞄准系统的现状及发展[J].红外技术. 2004,(2).
[6]肖正林,钱培贤.捷联惯性制导导弹自对准方法[J].导弹与航天运载技术. 2006,(2).