252 工程科学学报,第42卷,第2期 ·PX,Y,Z) 表1视觉检测各部分耗时表 Table 1 Time cost of visual detection 环节 耗时/ms 图像采集 4.16 高斯滤波 1.94 HSV变换 1.95 p 图像分制 1.73 ,中心横线 取最大轮廓 0.03 计算质心 0.02 成像平面 动状态预测当前时刻运动状态,并结合当前时刻 的观测值得出最优估计值,消除噪声 扑翼飞行器在单个采样周期内近似做匀速运 图4单目相机成像原理图 动,假设其运动状态向量为X(①= x(t) (t) ,x()为时 Fig.4 Imaging principle of the monocular camera 刻扑翼飞行器标记点在图像上的纵坐标,()为时 用范围更广.视觉检测流程如图5所示,单目相机 刻标记点纵坐标的移动速度,运动方程的矩阵表 采集到的图像经过高斯滤波去除噪声,之后转换 示如下: 为HSV色彩空间图,设置颜色阈值进行二值化, 分割出蓝色区域.为了排除其他反光物体造成的 ]=[0-w] (1) 干扰,对分割图进行轮廓检测,并计算每块轮廓的 式中,△1为采样时间,则卡尔曼系统状态方程和观 面积,采用面积最大的轮廓作为蓝色LED灯的轮 测方程如下: 廓,计算该轮廓质心坐标作为LED灯在图像上的 X(t)=AX(t-1)+W(t) (2) 坐标 z(t)=HX(t)+v(t) 图像预处理 式中,A= 1△t 01 为状态转移矩阵,W①为系统噪 图像采集 高斯滤波 HSV变换 声,设定为高斯白噪声.)为标记点在图像上的 纵坐标观测值,H=[1,0为观测矩阵,v()为观测噪 计算质心 取最大轮廓 图像分制 声,设定为高斯白噪声。利用系统的过程模型,可 图5视觉检测流程图 以根据1-时刻的状态预测时刻的状态和协方差: Fig.5 Flowchart of visual detection X(t-1)=AX(t-1t-1) (3) 本文对视觉检测各环节的耗时进行了测试, P(lt-1)=AP(t-1lt-1)AT+0 测试环境为:120Hz高速摄像头,图像分辨率为 式中,X(t-1)是根据t-1时刻最优值Xt-1t-1)得 640像素×480像素,电脑CPU型号为i5-4210U,主 出的时刻预测值,Pt-1)和P(t-1t-1)分别对应 频1.7GHz,4G内存,Windows10操作系统.运行 X(t-1)和X(t-1t-1)的协方差.Q为系统过程的协 耗时如表1所示,平均每帧耗时12ms.考虑到卡 方差矩阵 尔曼滤波、单神经元PID控制系统、地面站界面 结合当前时刻的预测值和观测值,可以得到 更新、串口发送数据等环节都会消耗时间,本文将 当前时刻的最优估计值X()和协方差P(r): 图像采样周期设置为33ms,既能满足控制需求, X(t)=X(t-1)+K(t)(at)-HX(t-1) (4) 又能避免图像检测部分耗时过多而导致地面站运 P(tlt)=(I-K(t)H)P(tlt-1) 行卡顿的现象 式中,I为单位矩阵,K()为卡尔曼增益(Kalman 3.3卡尔曼滤波 gain): 由于环境因素(如光线)的干扰以及扑翼飞行 K(t)=P(tt-1)HT/(HP(t-1)H+R) (5) 器姿态的变化,标记点的检测结果具有一定的噪 式中,R为观测噪声的方差 声.卡尔曼滤波可以根据运动目标上一时刻的运 此外,利用单目相机检测运动物体可能会出用范围更广. 视觉检测流程如图 5 所示,单目相机 采集到的图像经过高斯滤波去除噪声,之后转换 为 HSV 色彩空间图,设置颜色阈值进行二值化, 分割出蓝色区域. 为了排除其他反光物体造成的 干扰,对分割图进行轮廓检测,并计算每块轮廓的 面积,采用面积最大的轮廓作为蓝色 LED 灯的轮 廓,计算该轮廓质心坐标作为 LED 灯在图像上的 坐标. 本文对视觉检测各环节的耗时进行了测试, 测试环境为: 120 Hz 高速摄像头,图像分辨率为 640 像素×480 像素,电脑 CPU 型号为 i5-4210U,主 频 1.7 GHz,4 G 内存,Windows 10 操作系统. 运行 耗时如表 1 所示,平均每帧耗时 12 ms. 考虑到卡 尔曼滤波、单神经元 PID 控制系统、地面站界面 更新、串口发送数据等环节都会消耗时间,本文将 图像采样周期设置为 33 ms,既能满足控制需求, 又能避免图像检测部分耗时过多而导致地面站运 行卡顿的现象. 3.3 卡尔曼滤波 由于环境因素(如光线)的干扰以及扑翼飞行 器姿态的变化,标记点的检测结果具有一定的噪 声. 卡尔曼滤波可以根据运动目标上一时刻的运 动状态预测当前时刻运动状态,并结合当前时刻 的观测值得出最优估计值,消除噪声. X(t) = [ x(t) x˙(t) ] x(t) t x˙(t) t 扑翼飞行器在单个采样周期内近似做匀速运 动,假设其运动状态向量为 , 为 时 刻扑翼飞行器标记点在图像上的纵坐标, 为 时 刻标记点纵坐标的移动速度,运动方程的矩阵表 示如下: [ x(t) x˙(t) ] = [ 1 ∆t 0 1 ] [ x(t−1) x˙(t−1) ] (1) 式中, ∆t 为采样时间,则卡尔曼系统状态方程和观 测方程如下: { X(t) = AX(t−1)+W(t) z(t) = HX(t)+v(t) (2) A = [ 1 ∆t 0 1 ] W(t) z(t) H = [1,0] v (t) t−1 t 式中, 为状态转移矩阵, 为系统噪 声,设定为高斯白噪声. 为标记点在图像上的 纵坐标观测值, 为观测矩阵, 为观测噪 声,设定为高斯白噪声. 利用系统的过程模型,可 以根据 时刻的状态预测 时刻的状态和协方差: { X(t|t−1) = AX(t−1|t−1) P(t|t−1) = AP(t−1|t−1)A T +Q (3) X(t|t−1) t−1 X(t−1|t−1) t P(t|t−1) P(t−1|t−1) X(t|t−1) X(t−1|t−1) Q 式中, 是根据 时刻最优值 得 出的 时刻预测值, 和 分别对应 和 的协方差. 为系统过程的协 方差矩阵. X(t|t) P(t|t) 结合当前时刻的预测值和观测值,可以得到 当前时刻的最优估计值 和协方差 : { X(t|t) = X(t|t−1)+ K(t)(z(t)− HX(t|t−1)) P(t|t) = (I− K(t)H)P(t|t−1) (4) 式中 , I 为单位矩阵 , K(t) 为卡尔曼增益( Kalman gain): K(t) = P(t|t−1)H T / ( HP(t|t−1)H T + R ) (5) 式中, R 为观测噪声的方差. 此外,利用单目相机检测运动物体可能会出 表 1 视觉检测各部分耗时表 Table 1 Time cost of visual detection 环节 耗时/ms 图像采集 4.16 高斯滤波 1.94 HSV变换 1.95 图像分割 1.73 取最大轮廓 0.03 计算质心 0.02 Yw Zw Xw Zc Yc Xc P(Xc , Yc , Zc ) O p 中心横线 u v 成像平面 O0 O 图 4 单目相机成像原理图 Fig.4 Imaging principle of the monocular camera 取最大轮廓 图像分割 图像采集 计算质心 高斯滤波 HSV 变换 图像预处理 图 5 视觉检测流程图 Fig.5 Flowchart of visual detection · 252 · 工程科学学报,第 42 卷,第 2 期