四旋翼飞行器自主巡线图像快速检测算法研究

2021-09-09 07:36冯新宇王贺磊蒋洪波
现代计算机 2021年19期
关键词:巡线数据量灰度

冯新宇,王贺磊,蒋洪波

(黑龙江科技大学电气与控制工程学院,哈尔滨 150022)

0 引言

四旋翼无人飞行器测量方位采用惯导器件实现,而室外测量通常采用GPS的方法,激光雷达和超声波器件用于避障。在城市的狭小空间或者敌对环境下这种方式是不可靠的[1-3]。引入计算机视觉技术来实现更复杂的任务是无人机技术的发展趋势,如目标跟踪、军事侦查、电力巡检等[4]。目前小型四旋翼飞行器的自主飞行通过自驾仪模块实现,半自主飞行一般通过遥控器实现[5]。飞行器在飞行过程中,空间的绝对位置获取是飞行安全的重要指标之一[6]。目前利用计算机视觉和惯性导航器件相结合以准确估计无人机位置和方位已成为发展的主流。视觉实现部分自主飞行的算法包括:跟踪FAST算法[7]、SIFT算法[8]、SURF算法[9]、Harris检测算法[10]等。这些算法不是专用的巡线算法,在小型四旋翼飞控运行响应时间较长,响应时间超过100ms。在特定的领域应用,兼顾图像处理和飞行控制是小型四旋翼飞行器主要面临的问题。本文在设计了基于STM32F407微控制器的四旋翼飞行器基础之上,分析几种经典图像处理算法的基础上,提出一种自主巡线图像快速检测算法,满足小型微控制器的处理要求,能快速感知路径的信息,按规定的路线完成飞行任务。

1 控制原理

四旋翼飞行器飞行的参照飞行目标设定为深色黑线。图像处理的核心就是短时间快速识别这条路线,保证飞行器在高速飞行过程中快速响应,保证正常的飞行姿态。本文针对传统图像处理算法并不能完全满足一些特定场合的飞行需求,提出一种图像融合处理算法控制四旋翼按指定路径飞行,原理如图1所示。

系统上电后完成初始化摄像头,进入图像数据准备就绪状态,通过STM32F407微控制器获取图像数据。在不影响图像质量的前提下,为了保证信息处理实时性,本文处理黑白图像,以减少数据量提高运行的速度。利用采集处理的数据融合PID算法实现对四旋翼飞行器的空间绝对位置的控制。

图1 图像处理流程

2 图像融合PID算法实现

2.1 算法思想

算法核心思想是减少图像的数据量的同时,快速检测路径。图像融合算法首先处理摄像头采集的图像数据的椒盐噪声即噪声处理。然后,在去噪图像基础上识别出路径的边缘,同时变成黑白效果。为了进一步减少图像处理的数据量,对图像进行细化,用骨架来表示图像,通过拟合实现需要的图像。融合处理后的图像数据量较小,在飞行器快速飞行过程中结合PID算法,能有效地识别路径,提高飞行器姿态的控制精度。

2.2 算法实现

(1)去噪处理

在图像采集后传输的过程中受到干扰后形成椒盐噪声,椒盐噪声会影响图像的边缘轮廓和细节,对图像进行去噪处理后的像素值为:

g(x,y)=mendian{f(x-i,y-j) };(i,j)∈S

(1)

式中,f(x,y)为原始图像在(i,j)出的像素值;g(x,y)为处理后的图像在(i,j)出的像素值;S为模板,采用3×3矩阵。

(2)路径边缘的获取

图像的边缘部分一般像素灰度变化较大,形成了阶跃信号。因此可通过对阶跃变化信号的检测获取路径边缘信息,我们采用卷积的计算方法实现,将式(1)分别在水平方向和垂直方向求导。

水平方向求导:

(2)

垂直方向求导:

(3)

根据公式(2)和(3)可得到近似梯度值:

(4)

(3)图像灰度和骨架的提取

可根据图像的二值化获取图像的灰度及骨架信息。图像二值化就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果,再进一步获取图像骨架。根据式(4)可得:

(5)

式中,G(x,y)为原始图像素值,T(x,y)为灰度处理后像素值。

(4)图像拟合

四旋翼飞行器绝对位置控制以黑色的直线为参照物,本文采用霍夫变换拟合方法拟合图像检测过程中的黑色直线。T(x,y)为图像轮廓上任意一点。采用极坐标(ρ,θ)表示。它们的关系用(x,y)表示为:

ρ=xcosθ+ysinθ

(6)

把(ρ,θ)看成一个二维平面,经过累加之后就是某个方向点的数量。该步骤最终可以计算直线图像的起点和终点坐标,进而计算出直线的斜率。斜率数据可以使用PID算法对飞行器的飞行平面进行位置控制,进而实现了图像数据和PID算法的融合。

(5)位置式PID融合

这样四旋翼飞行器在飞行过程中倾角小于10度,近似看成在平面运动。四旋翼飞行系沿着图像拟合后的斜率直线飞行,设定起点偏航角参数。根据当前的图像融合后的直线斜率作为输入,PID的输出对应的是计算后的偏航角,当斜率变化时,对应改变偏航角,达到修正直线斜率的作用。即实现了根据线路飞行。

位置式PID离散化后的数学表达式为:

(7)

其中,y(k)为第k个采样时刻的控制,Kp比例放大系数,实际编程控制取值为0.05;Ki积分放大系数,取值为0.01;Kd为微分放大系数,取值为6。e(k)=x(k)-x(k-1),沿着这一点遍历整条直线,得到最终控制的值。

3 实验结果及分析

本次实验四旋翼飞行器的主要参数为,处理器采用STM32F407单片机搭载μC/OS-III操作系统。在2米×5米的白纸上粘有黑色直线与黑色直角弯的地面上进行实验。摄像头安装位置为垂直地面,即镜头与地面呈90度角。具体参数如表1所示。

表1 四旋翼飞行器主要参数

根据这些参数,采用北航可靠飞行控制组研制开源在线评测系统,飞行器飞行最大速度5.1m/s。其他评测参数如图2所示。

图2 在线评测数据

3.1 去燥处理结果及分析

根据公式(1)对采集到的图像进行去燥处理,结果如图3所示。图3(a)为摄像头读取的原始灰度图像和图3(b)为经过滤波后的灰度图像。

图3 去燥处理结果

通过图3(a)可以明显地看出原始图像数据的背景有很多污点可以看作椒盐噪声,而经过滤波处理后的图像这些噪声大部分被去除前景与背景可以轻易地区分出来。

3.2 路径边缘获取结果及分析

根据公式(2)、(3)和(4),在3(b) X轴与Y轴卷积之后得到路径边缘获取的结果如图4所示。对于灰度图像来说其边缘变为白色前景,而原图中灰度数值变化不明显的区域则变为黑色背景。

3.3 图像灰度和骨架的提取

图4的图像已经可以清楚地观测到我们需要检测的直线,但是每条线的像素点较多。为了进一步减少图像数据量,进行图像的灰度和骨架提取。图5为提取后的结果。处理后的图像数据量降低了很多,同时也满足飞行要求。与传统的Roberts、Prewitt、LOG的边缘提取算子比较,减少了噪声。

图4 路径边缘处理结果

图5 灰度骨架数据

3.4 图像拟合结果及分析

图5中共有三条直线,左侧两条距离较近可以通过后期软件处理进行合并,右侧的一条直线是无关数据,可通过在霍夫变换算法中添加直线有效长度来去除。最终获取的控制信息,再由PID算法对四旋翼飞行器的X轴、Y轴及偏航进行控制。

3.5 绝对位置控制结果及分析

根据图PID算法式(7)实现了四旋翼飞行器的绝对位置控制通过了实际飞行测试验证,结果如图6和图7所示。图6为四旋翼飞行器通过算法确定X轴方向的位置信息而在X轴方向上固定顺着Y轴方向飞行;图7位四旋翼飞行器通过算法确定X轴与Y轴两个方向的位置信息从而在一个固定的点飞行。

图6 X轴方向的位置信息

图7 X轴与Y轴两个方向的位置信息

在实验中图像算法运行飞行器最大飞行速度5.1m/s,飞行器能稳定按预定路径飞行。满足了位置稳定的要求。通过图像算法与控制算法可以实现在平面空间对四旋翼飞行器进行精确的巡线跟踪控制飞行,增强了四旋翼飞行器的控制能力与灵活性。

4 结语

笔者提出了巡线图像的快速检测算法,结合飞行器的姿态数据,给出了一种四旋翼飞行器自主巡线定位的控制策略。采用MPU9250惯性单元,获取飞行器的姿态和角速度信息,摄像头获取图像信息。利用图像融合算法对飞行线路实时采样,经测试连续两帧图像时间间隔50ms,适用于小型四旋翼飞控,特别是对于处理器能力较弱的飞控。实现有效时间的参数调整,改善了飞行器飞行偏差,可根据位置偏差及时调整飞行路径,实现了飞行器空间巡线的实现。

猜你喜欢
巡线数据量灰度
基于二值化灰度图像的大豆蛋白液喷雾相对雾化程度的研究
基于共振磁耦合供电及电磁传感定位的无人机智能巡线技术与应用
基于移动互联网的智能化巡线管理系统的建设与应用
天津港智慧工作平台灰度发布系统和流程设计
高刷新率不容易显示器需求与接口标准带宽
Arduino小车巡线程序的灰度阈值优化方案
无人机为仁化高山电网线路“把脉”
让机器人巡线不脱线
AMAC
电力营销数据分析中的数据集成技术研究