APP下载

基于精确背景运动补偿的机器人运动目标检测与跟踪

2023-02-28马东刘超杰王立玲王洪瑞

机床与液压 2023年3期
关键词:背景机器人特征

马东,刘超杰,王立玲,王洪瑞

(1.河北大学电子信息工程学院,河北保定 071002;2.河北大学机器人技术研究中心,河北保定 071002)

0 前言

近几年来,随着机器人自主导航、无人驾驶和智能监控等技术的不断发展[1],普遍将摄像机作为机器视觉领域中重要的视觉传感器来获取周围环境中的相关信息,为下一步判断与决策提供关键依据。因此,机器人视觉中的运动目标检测[2]和目标跟踪[3]技术成为了热点研究方向。目标检测是该技术的核心[4],为下一步进行目标跟踪提供重要保障。根据机器人的状态,可以将其视觉背景分为静态和动态2种类型。由于相机与背景发生相对运动,实现动态背景下的运动目标检测与跟踪具有一定挑战,虽然静态背景下的目标检测[5]与跟踪技术已经相对成熟,但不能直接应用于动态背景。所以,研究动态背景下的运动目标检测与跟踪方法有着重要的应用价值。

常用于动态环境下的运动目标检测方法主要有:光流法[6]、目标模板匹配法[7]和背景补偿法。光流法虽然检测到的目标完整度高,但存在计算复杂、易受光照变化影响的缺点,在工程应用中不具备实时检测的优势。模板匹配法通过目标模板与场景中的物体进行匹配完成目标检测,计算量较小,但不能够检测未知的运动目标。背景补偿法主要通过求解全局运动参数计算背景运动量,将运动背景转换为静态背景,适用于相机平移、缩放、旋转等视觉场景。文献[8]提出一种多尺度SIFT特征的目标检测算法,取得了较好的检测效果,但算法计算量大,不能满足实时性。文献[9]采用基于ORB特征匹配的运动目标检测算法,虽然保证了算法的实时性,但利用RANSAC[10-11]算法去除误匹配的效果不佳,检测结果存在边缘缺失以及严重空洞问题。文献[12]提出一种基于子块运动补偿的运动目标检测方法,消除了误匹配点对求解运动参数的影响,但算法执行速度较慢,抗干扰能力较差。

针对上述问题,本文作者提出一种适用于动态场景下机器人运动目标检测与跟踪方法。通过改进的ORB特征匹配方法精确地进行背景运动补偿[13]完成运动目标检测,在运动目标跟踪过程中,为避免目标受遮挡干扰导致跟踪失败,采用基于Kalman滤波扩展的KCF算法[14-15]对其进行稳定跟踪。

1 改进的ORB特征提取与匹配

1.1 特征提取

传统ORB特征提取算法是对FAST特征点检测算法[16]与BRIEF特征描述子算法[17]的一种结合与改进,具有计算量小和检测速度快的优势。虽然ORB算法具有较好的实时性,但仍存在以下缺陷:

(1)当图像发生亮度变化或尺度变化时,容易导致特征点匹配精度大幅下降。

(2)提取的特征点较少并且分布不均匀,容易出现团簇现象。

(3)ORB算法利用图像金子塔实现特征点的尺度不变性,由于金字塔层数有限,只能在一定范围保证尺度的不变性,拥有很大的局限性。

文中采用一种改进的特征提取方法,通过图像增强算法及小波变换对图像进行特征点检测预处理,然后提取SURF特征点并生成ORB描述符。

1.1.1 特征点检测预处理

为解决传统ORB算法提取的特征点较少、易出现团簇现象以及低亮度条件下匹配效果不佳对全局运动参数影响较大的问题,文中改进方法在检测特征点之前对图像进行预处理。首先,采用基于拉普拉斯(Laplacian)算子的图像增强算法,提高低亮度条件下的匹配精度。由于背景噪声和图像边缘一般属于高频部分,因此采用小波分辨率分析的方法提前消除高频部分保证SURF算子性能,避免边缘处特征点的干扰。然后,利用小波变换的方法将图像划分为不同分辨率的图像层,采用图像分块处理将属于低分辨率的图像分成5×5的图像块并检测特征点。设置点数阈值ε,若图像块中特征点数量超过ε时则停止检测,若低于ε时,通过检测高一层分辨率图像的特征点加以补充,直至满足点数阈值。这种方法保证机器人无论处于复杂场景还是简单场景都能提取足够数量的特征点,同时解决了特征点分布聚集的问题。

1.1.2 特征点检测与描述

SURF是一种高鲁棒性的局部特征点检测器,该算子在保持SIFT算子[18]优良性能特点的基础上,同时还具有较高的计算效率。SURF算法采用近似的Hessian矩阵行列式的局部最大值来寻找感兴趣点位置。给定图像中的一个点(x,y),其Hessian矩阵定义为

(1)

其中:Lxx(x,σ)表示高斯二阶偏导∂2g(σ)/∂x2与图像函数的卷积,Lxy(x,σ)和Lyy(x,σ)同理。

根据矩阵H(x,σ)行列式值的符号确定该点是否为极值点;对式(1)的行列式近似简化可得:

Δ(H)=DxxDyy-(0.9Dxy)2

(2)

若行列式的结果符号为负,则特征值符号为异号,不属于局部极值点;若符号为正,则该点属于极值点。

在极值点周围使用3×3×3的模板在3维尺度空间比较各特征值的大小,若某一极值点比周围26个点的特征值都大,则选定该点为特征点。

提取SURF特征点后,使用ORB描述符来描述每个特征点,采用rBRIEF算法在特征点邻域建立特征描述符。在特征点p附近选择n个点对,然后把各个点对的灰度值进行比较,由准则函数:

(3)

可以得到一个长度为n的二进制特征符:

(4)

Sθ=RθS

(5)

此时,得到加上方向后的rBRIEF描述子为

gn=(p,θ)=fn(p)|(xi,yi)∈Sθ

(6)

最后,采用贪婪搜索算法找出方差最大、相关性较低的256个点对进行特征描述。

采用SURF算法提取的特征点拥有较强的尺度不变性、数量多、高稳定性的优点,解决了ORB特征点数量少以及尺度不变性存在较大局限性的问题。

1.2 特征匹配

1.2.1 传统的特征匹配法

传统的特征匹配法是通过特征描述子之间的汉明距离建立两帧相邻图像中特征点的对应关系。用V1和V2分别代表第k-1帧和第k帧图像的特征描述子,D(V1,V2)表示它们之间的汉明距离,若D(V1,V2)的值越小,表示2个特征点越相似,D(V1,V2)值最小的2个特征点匹配成功。对相邻的两帧图像采用改进的ORB特征提取方法检测特征点,传统特征匹配法的匹配效果如图1所示。

图1 传统特征匹配法匹配效果

1.2.2 改进的特征匹配法

从图1可以看出:传统的基于汉明距离特征匹配法对相邻两帧图像进行特征点匹配时,容易出现大量误匹配的问题。若在背景运动补偿中求解全局运动参数时采用了错误的匹配点对,则会造成严重的误差,从而对运动目标检测的准确度产生影响。为提高特征点匹配的准确率,去除误匹配点对,提出一种基于KNN匹配与对称约束相结合的特征匹配改进算法。首先采用KNN算法进行粗略匹配,然后采用对称约束的方法消除错误的匹配点对,匹配效果如图2所示。

图2 改进特征匹配法匹配效果

改进的特征匹配法具体步骤如下:

(1) 搜寻最近邻和次近邻特征点。采用改进的ORB特征提取方法检测特征点并生成特征描述子,以特征向量的汉明距离作为度量。取第k-1帧图像中的特征点p1,采用KNN算法在第k帧中寻找与特征点p1汉明距离最近特征点pa和次近特征点pb,将p1和pa、pb的汉明距离分别用D(p1,pa)和D(p1,pb)表示。

(2) 匹配特征点对。设定阈值r,当D(p1,pa)/D(p1,pb)

(3) 采用对称约束去除误匹配。通过上述两步可得到一组粗略的匹配点对。所谓对称约束,即对于第k-1帧中的特征点pi,其在第k帧中的最佳匹配点为qi;反之,对于第k帧中的特征点qi,其在第k-1帧中的最佳匹配点也是pi。即引入反向匹配策略去除误匹配对,得到最佳匹配集。

2 基于改进ORB算法的运动目标检测

2.1 全局运动参数估计

由于机器人运动会导致其装载的摄像头发生运动,所以机器人的视觉图像会产生平移、旋转和缩放等变换。因此,文中采用六参数仿射变换模型求解全局运动参数进行背景运动补偿,其矩阵形式如下:

(7)

2.2 自适应外点滤除法

采用特征点匹配对求解全局运动参数时,通常将前景目标中的特征点称为外点,背景中的特征点称为内点。外点的存在往往使参数求解出现很大的偏差,因此,文中提出了一种改进RANSAC的自适应外点滤除法,主要思想是通过计算特征点在相邻两帧图像间运动矢量的方差调控迭代次数进行外点的消除,只通过背景点求解全局运动参数,提高背景补偿的精度,为准确检测运动目标做准备。

具体方法如下所示:

(1) 计算初始仿射变换矩阵。将已完成匹配的特征点对作为初始的匹配点集,采用最小二乘法求得仿射变换模型的初始矩阵T1;

(4) 滤除外点。整体离散数据相对均值的偏移程度通过方差∂来描述,因此采用δabs(d-μ)<∂来控制迭代次数。若δabs(d-μ)<∂,则认为匹配点对为内点并将其保留;否则,将认为此匹配点对为外点并将其剔除,获得新的内点匹配点集;

(5) 获得最优的仿射变换矩阵。由内点匹配点集,重新利用最小二乘法估算全局运动参数。通过n次迭代不断消除外点以提高全局运动参数估算精度,当满足迭代终止条件后,输出最优的仿射变换矩阵T。

2.3 运动目标提取

(8)

将差分图像dk(x,y)进行阈值二值化处理:

(9)

δ=w0×w1×(μ0-μ1)2

(10)

寻找使类间方差δ值达到最大时的阈值作为差分图像二值化的最佳分割阈值。

最后,将二值图像bk(x,y)通过形态学处理的方法消除残存的孤立噪点,获得完整的运动目标。运动目标检测算法的整体流程如图3所示。

图3 运动目标检测算法流程Fig.3 Moving target detection algorithm flow

3 基于Kalman滤波扩展的KCF运动目标跟踪算法

传统的核相关滤波(Kernel Correlation Filter,KCF)算法是一种鉴别式目标跟踪方法,通过视频当前帧样本训练一个分类器,再采用训练好的分类器在后续帧中预判目标的位置。在进行运动目标跟踪任务时,由于传统的KCF算法需要手动设置跟踪窗口,并且当目标出现遮挡或丢失时容易出现跟踪失败的情况,因此提出一种通过Kalman滤波扩展的KCF运动目标跟踪改进算法。首先采用文中改进的运动目标检测算法检测出运动目标并初始化KCF跟踪窗口,解决传统KCF算法手动初始化的问题;然后,当跟踪目标出现遮挡或丢失时,采用Kalman滤波器预测目标位置,实现目标再次出现时继续稳定跟踪运动目标。改进KCF算法流程如图4所示。

图4 改进KCF算法流程Fig.4 The improved KCF algorithm flow

改进算法具体实现流程如下:

(1) 读取摄像机传感器的视频图像序列;

(2) 当摄像机视野中出现运动目标时,启动目标检测算法提取出运动目标的位置,并采用矩形框标记出来;

(3) 通过目标的标记结果初始化KCF跟踪器;

(4) 根据KCF算法计算目标位置,同时初始化Kalman预测器并预测目标位置;

(5) 判断目标遮挡或丢失条件。利用巴氏系数计算跟踪框内图像的相似程度,若目标未被遮挡,在连续帧的跟踪框内图像的相似度较高;若目标被遮挡,相似度会大大降低。因为视频相邻两帧间的差别较小,图像相似度下降缓慢,无法准确判断目标是否发生遮挡。综合分析,采用相隔3帧的方法计算跟踪框内图像的相似度,如式(11)所示:

(11)

其中:Hk-3和Hk分别为第k-3帧和第k帧的LBP特征向量;取第k-3帧到第k帧巴氏系数的平均值作为第k帧遮挡检测阈值Ty。

(6) 若d(Hk-3,Hk)≤Ty,表示目标未被遮挡,则采用上一帧的跟踪结果,更新KCF跟踪器及Kalman预测器并继续跟踪运动目标,输出其图像坐标。

(7) 若d(Hk-3,Hk)>Ty,说明跟踪目标出现遮挡或丢失的问题,此时利用Kalman预测器预测目标在下一帧图像中可能出现的位置,并且根据Kalman预测位置更新KCF跟踪器和Kalman预测器,同时输出其图像坐标。

(8) 判断跟踪是否结束,若没有结束返回步骤(4)继续跟踪任务。

4 实验设计与分析

4.1 实验操作平台

实验硬件平台为NAO机器人,如图5所示。在机器人头部有2个单目摄像机传感器,其中一个位于额头处,用于采集周围远景的视觉信息;另一个位于下颌处,用于采集近景信息,2个摄像机不能同时启用。文中选用机器人额头处的单目摄像机并保证运动目标出现在视野内,调用NAOqi系统的ALVideoDevice视频管理模块,将实时视频数据发送到远程PC端进行处理。

图5 NAO机器人平台Fig.5 NAO robot platform

4.2 运动目标检测实验设计与分析

为验证文中提出的基于改进ORB的背景补偿运动目标检测算法的有效性,分别设计了室内环境下单运动目标检测实验和室外环境下多运动目标检测实验。将文中改进算法分别与直接帧差法和基于传统ORB的运动目标检测算法进行对比,并对文中改进算法检测结果采用矩形框进行标记。

实验一:室内环境下单运动目标检测。分别选取视频序列中的第78、84、90帧原图像,不同算法检测结果对比如图6所示。当机器人运动时,导致获得的视频背景也会随之发生运动,此时采用直接帧差法检测视觉中的运动目标,容易将背景误检为前景,不适用于机器人运动背景下的目标检测。采用传统ORB方法进行背景补偿检测运动目标,由于其在特征提取与匹配阶段检测到的特征点分布不均匀以及存在大量误匹配的问题,导致求解全局运动参数时存在较大误差,检测运动目标时容易将背景像素点误判为前景,并且得到的目标“空洞”现象明显。文中改进的运动目标检测算法能够精确地进行背景运动补偿,有效克服了机器人运动时导致背景移动的问题,检测到的运动目标轮廓清晰、完整度高。

图6 第78、 84、90帧单目标检测结果对比

实验二:室外环境下多运动目标检测。选取第135、160、185帧原图像,不同算法检测结果对比如图7所示。直接帧差法将背景和前景运动目标同时检测出来,导致检测到的目标图像受背景噪声影响。利用传统ORB方法进行背景补偿检测运动目标时,检测到的运动目标完整度低,并且目标轮廓严重缺失,检测结果中依然存在背景噪声干扰。文中改进算法几乎完全消除背景运动的干扰,能够更加清晰地检测出目标,对多个运动目标也有较理想的检测效果。

图7 第135、160、185帧多目标检测结果

表1和表2分别表示实验一与实验二采用不同匹配算法进行特征匹配的结果。表3是3种算法分别对单运动目标和多运动目标平均单帧检测耗时的比较情况。从表1和表2可以看出:传统ORB方法只采用基于汉明距离的特征匹配方法容易产生大量的误匹配对,匹配正确率较低,导致估计全局运动参数时出现较大误差,影响运动目标检测效果;文中改进ORB方法采用基于KNN匹配与对称约束相结合的特征匹配方法,匹配正确率有明显提升,能够准确地进行背景补偿,提高目标检测的准确度。从表3中可以看出:直接帧差法单帧检测时间最短,但检测存在严重背景噪声干扰;文中改进方法因引入了对称约束和外点滤除方法,影响了算法运行效率,虽然相较于传统ORB方法单帧检测时间有所增加,但在提高目标检测完整度的同时仍能满足实时处理的需求。

表1 实验一不同算法平均单帧匹配对数目对比

表2 实验二不同算法平均单帧匹配对数目对比

表3 3种算法平均单帧检测耗时对比 单位:ms

4.3 运动目标跟踪实验设计与分析

为验证改进的KCF运动目标跟踪算法的有效性,设计目标存在遮挡干扰的实验场景,并将改进算法与传统KCF算法进行对比。图8和图9分别选取视频序列中的第124、142、160、178、185、196帧作为对比帧。传统KCF算法的跟踪效果如图8所示,当目标被遮挡时,跟踪窗口停留在遮挡区域,在目标受遮挡重新出现在机器人视野中后,传统KCF算法无法继续跟踪目标,导致跟踪失败。

改进KCF算法的跟踪效果如图9所示,当目标出现遮挡情况时,启用Kalman预测器预测目标位置,使跟踪窗口能够继续跟踪运动目标,同时利用预测结果更新KCF跟踪器,实现目标重新出现时继续对目标稳定跟踪。

图9 改进KCF算法跟踪效果

图10 目标跟踪误差

5 结论

文中提出一种适用于机器人平台动态场景下,基于精确背景补偿的运动目标检测与跟踪方法。通过改进ORB算法有效提高了特征匹配正确率,从而获得最优的全局运动参数,提高背景补偿的精度;同时结合帧差法完成运动目标检测,采用Kalman滤波扩展的KCF算法对目标进行跟踪。以NAO机器人为研究平台设计了3组实验对算法性能进行验证,可以看出文中改进方法能够快速准确地检测出运动目标,有效解决了传统ORB算法以及直接帧差法对动态场景下运动目标检测准确率低的问题,并实现了目标在遮挡干扰情况下的稳定跟踪。

猜你喜欢

背景机器人特征
根据方程特征选解法
“新四化”背景下汽车NVH的发展趋势
《论持久战》的写作背景
不忠诚的四个特征
抓住特征巧观察
晚清外语翻译人才培养的背景
机器人来帮你
认识机器人
机器人来啦
抓特征 猜成语