百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

旋翼无人机运动场景及状态的视觉判定方法

toyiye 2024-06-21 12:01 9 浏览 0 评论


陈润泽1,郝向阳1,苗书锋2

(1.信息工程大学 地理空间信息学院,郑州 450001;

2.武汉科岛地理信息工程有限公司,武汉 430081)


摘 要 :针对视觉导航中相邻帧位姿估计方法使用不准确、估计不及时等问题,该文提出了一种基于视觉判定旋翼无人机运动场景及状态的方法。该方法通过计算基础矩阵和单应矩阵的匹配率、观察特征点分布情况和旋转角大小来判断旋翼无人机的运动场景及状态,并选择合适的位姿估计方法减小误差累积。最后,根据旋翼无人机在室内外采集的图像数据进行验证。实验结果表明,该文提出的方法能够准确地对旋翼无人机当前所处的运动场景及状态进行判定,为旋翼无人机的自主导航提供参考。

0 引言

近年来,随着旋翼无人机种类的丰富以及性能的提升,诸如航拍、植保、安防等众多领域都能看见其身影。但在未知的复杂环境中,旋翼无人机独立完成自主飞行仍存在许多难题。视觉导航作为一种可靠的自主导航模式,通过对获取的图像进行分析处理完成导航过程,并有效降低对于全球定位系统(global positioning system,GPS)的依赖性。此外,视觉信息还可以提供丰富的图像特征来感知周围的环境,有效提升导航的可靠性。目前,视觉导航常通过视觉里程计(visual odometry, VO)完成导航过程。VO常用的图像处理方法可以分为直接法和间接法。由于多数现实场景中的纹理特征能够满足间接法的需求,且间接法较直接法计算过程更为简便,故通常采用间接法处理图像序列。特征匹配过程一般分为描述子匹配和光流法跟踪两种模式。前者匹配精度较高,但计算较复杂,其中包含尺度不变特征变换(scale-invariant feature transform,SIFT)/加速稳健特征(speeded up robust features, SURF)、二进制鲁棒尺度不变关键点(binary robust invariant scalable keypoints, BRISK)以及有向FAST和旋转BRIEF(oriented FAST and rotated BRIEF, ORB)等。其中,SIFT/SURF精度最高,BRISK次之,ORB最低。相比匹配的方法,光流跟踪更容易实现,且计算量小、使用广泛,但容易受到光照变化的影响。研究表明,特征点提取与光流法跟踪结合是旋翼无人机视觉处理采用的主流方法。用于跟踪的高质量特征 (good feature to track, GFTT)较FAST具有更好的效果,该方法是在Harris的基础上改进得到,通过Shi-Tomasi分数来增加固定的点数。故本文选择GFTT提取和光流法跟踪作为视觉处理算法。该方法更贴合旋翼无人机的应用实际,能够有效地辅助其完成导航过程。

其次,视觉导航过程中存在不可避免的缺陷,如位姿估计不准确、误差不断累积以及单目相机的尺度缺失等问题。针对视觉导航的误差缓慢累积问题,一般可以采用局部优化的方法或是与其他传感器进行组合,单一传感器情况应考虑提升每一时刻的位姿估计精度,减少整体误差。文献对于视觉导航系统的评估进行比较全面的说明,导航中可能受到自身运动状态、场景复杂度、运行时间等因素的影响,导致很难有一个统一的评估标准。尤其是旋翼无人机的机动性较强,其所处的环境和自身的运动状态会在短时间内不断变化。因此,本文要先对旋翼无人机的运动场景及状态进行分析,再选择合适的方法去估计相对位姿,主要考虑旋翼无人机在完成悬停、伴飞和着降等任务时可能预见的场景与状态,如纯旋转或者多平面场景等常见情况。此类情况会导致基本矩阵退化,故利用基本矩阵求解进行位姿估计是不准确的,因此考虑使用单应矩阵进行替换,说明在不同情况下选择合适的方法可以有效提升视觉导航的精度。此外,大多数视觉导航算法在提取图像做处理时采用关键帧提取的方法,这样可以选择视差足够大的两帧来计算相对位姿信息,降低计算误差。但该方法无法实时获取位姿,同时忽略了旋翼无人机在任意两帧之间的运动变化。

因此,本文考虑在每一帧新图像来临时,首先对旋翼无人机的运动状态和场景进行判定,选择更适合此类情况的方法与计算相邻帧的位姿变化,同时进行运动状态估计,以帮助旋翼无人机在未知环境完成任务时更准确地把握自身状态,提升导航性能。

1 运动场景及状态的判定方法

旋翼无人机的飞行场景一般可分为室内和室外两种情况。室内飞行范围小,飞行高度受限,一般采用前视镜头,并且纹理结构不稳定易引起特征点分布不均的现象;室外通常飞行高度较高,采用俯视镜头,视场范围较大,有足够的特征信息。实际应用中旋翼无人机多用于执行户外任务,室内情况多用于实验和测试。针对旋翼无人机的运动特点和飞行过程中容易出现的场景,本文重点区分以下3种情况。一是旋翼无人机飞行通过包含大量平面结构的场景;二是旋翼无人机在空中悬停完成纯旋转运动时(主要考虑航偏角的转动);三是旋翼无人机在非平面场景中完成带有旋转、平移运动的过程,而后根据不同的飞行场景和状态选择不同的计算方法估计相邻帧位姿。

目前,对于特殊场景下视觉导航的分析和处理过程较少,主要有ORB-SLAM2中提出的判定方法。即将相邻帧的运动恢复分为基于单应矩阵H和基本矩阵F两种,并针对两种矩阵分别计算重投影误差,对误差在阈值内的进行记录并给予分值,最后通过H矩阵得分和总得分比值的大小来选择合适的位姿估计方法。虽然该方法能够区分一些特殊情况,但也只能判断当前载体所处场景或运动状态是否会导致基本矩阵退化,忽略了对特殊场景及运动状态的具体分析,不能实时反馈自身运动状态,同时辅助效果不够全面。受ORB-SLAM2的初始化算法启发并结合旋翼无人机的实际情况,本文提出了一种针对旋翼无人机运动场景及状态的判定方法。主要过程如图1所示,利用GFTT和光流法跟踪得到前后两帧图像的特征点信息。对于特征匹配成功的相邻图像,若判定选择F矩阵,则考虑是包含旋转、平移的非平面场景运动;若判定选择H矩阵,则考虑是纯旋转运动或平面场景下的运动。最后,再使用矩阵匹配率、特征点分布以及旋转角等判定方法对具体的场景和状态进行细化,实时获取旋翼无人机当前的飞行状态。

1.1 单应矩阵H及基本矩阵F的估计

在解算相对位姿的过程中,单应矩阵H可以理解为基础矩阵F的特殊形式,通常采用迭代选取最优的思想对其进行估计。首先,设置迭代次数为150次,每次使用随机抽样一致(random sample consensus, RANSAC)算法随机抽取8对特征点计算H矩阵,并利用迭代计算的H矩阵对所有特征点对进行两次重投影误差检测,选择匹配程度最高的一组点确定H矩阵。

1.2 运动场景及状态类别的细化

在上述类别区分的基础上,对平面场景与纯旋转的情况进行细化。由于单目相机缺失尺度信息,故平移量不作为主要判断内容,选择相邻图像之间的旋转量作为判断的主要依据。因此,本文通过特征点对与H矩阵的匹配率、检测特征点分布是否均匀以及3个方向上旋转角度变化情况等方法,来对不同的运动状态及场景进行细化。

对于H矩阵的匹配判定,将第一帧特征点带入H矩阵和第二帧特征点进行比较,同时将第二帧特征点带入H矩阵的逆矩阵和第一帧的特征点比较,若两次重投影误差均在阈值范围内则进行记录,并认为该特征点对和此H矩阵匹配,如果特征点对匹配数目占总体特征数目的85%以上时则考虑进行下一步分析。由于室外条件下特征点数量较多且匹配结果准确,故设定室外条件下的判定阈值为90%以上,这样更有利于区分平面场景运动和纯旋转过程。

特征点分布的检测方面,首先获取原图像的尺寸大小并按比例进行区域划分。根据一般情况下旋翼无人机获取图像的分辨率大小,本文设定图像的网格划分情况如表1所示。

表1 原始图像区域划分情况

图2以室内的图像数据为例,根据数据集中图像大小选择4×3分区的模式。如果特征点总数小于20或者多个区域内的特征点数量为0,则认为该图像有大范围的平面结构或严重遮挡情况,判断其特征点分布不均匀;反之,则判断特征分布指数是否在相应的阈值范围内。室外图像特征分布的检测与上述过程类似,区别为旋翼无人机在室外采集的图像有丰富的特征信息且遮挡情况少,特征点提取效果明显优于室内环境。因此,需要对各阶段判定的阈值进行调整,缩小特征分布指数的阈值,并提升对于特征点总数量的要求。

分析3个方向旋转角时,将已经分解得到的旋转矩阵转化为旋转角,且不考虑旋翼无人机在多个方向同时进行旋转的情况。从相邻帧图像的变化来看,若3个角度中任意一个角度明显大于其他两个,且两个小角度接近0,则认为旋翼无人机进行了一次纯旋转运动。阈值由多次纯旋转实验中的角度变化确定,角度转动过小的时候认为其处于悬停状态。故设定阈值为两个小角小于0.1°且大角大于1°。其中,微小的角度偏差可以认为是旋翼无人机在进行纯旋转运动时由于机身晃动引起的误差。此外,当旋翼无人机在室外飞行时,该方法可以有效地将垂直降落与纯旋转进行区分。

1.3 不同情况下的位姿估计方法

通过上述分析,在纯旋转的情况下,利用H矩阵以及内参矩阵K可以直接计算出相邻帧的旋转矩阵,并且认为平移量为0。而在平面场景下的一般运动,则要考虑平移量,在通过H矩阵和内参矩阵计算后再进行分解,即可得到两帧对应的旋转和平移信息。

2 实验与结果分析

2.1 特殊情况下室内数据集实验

根据旋翼无人机在室内获取的图像数据,在多种情况下进行测试,选择3种具有代表性的情况进行展示,并利用真值信息对判定结果进行验证。图3是3种不同情况的相邻帧图像特征点提取和跟踪的情况。

图3 旋翼无人机室内运动图像变化

针对上述3种情况,采用本文的判定方法,对不同阶段的计算结果进行分析。表2记录了3种情况下两种矩阵得分比率、H矩阵的匹配率、特征分布以及3个方向的旋转角度等信息,并和数据集中的真值进行比较。结果表明,3个方向的旋转角估计误差都较小,一般在0.05°以内,且真实的平移量与判定的运动场景及状态相符,说明该方法能够有效地判断旋翼无人机的运动场景及状态,并准确估计其位姿变化。

但是,室内条件下高质量特征点的提取依旧困难,且容易产生特征点过少或误匹配较多的情况。主要由于室内物体分布不均匀、平面结构较多的问题,当旋翼无人机近距离拍摄时造成类似遮挡的效果,不利于图像分析和情况判断。此类问题可以在室外环境下得到明显的改善。

表2 室内环境下旋翼无人机状态判定结果

2.2 特殊情况下室外数据实验

为减小特征匹配和位姿估计中的误差,本文考虑设定飞行高度为100 m,该飞行高度下能获取丰富的特征信息且不容易受到目标变化的影响。在进行室外图像采集前,需要先对无人机自身携带的相机进行标定,得到内参矩阵K

在旋翼无人机飞行过程中选择3种不同场景及状态下的图像进行判别,结果表明本文提出的方法能够准确判断情况。图4给出了3种场景及状态的具体变化过程。

采用本文方法对上述3种情况进行判定,并分析不同阶段的计算结果。表3记录了3种情况下矩阵得分比率、H矩阵的匹配率、特征分布以及3个方向的旋转角度等信息,并与实际的飞行情况进行比较。其中,真值为控制旋翼无人机进行相关运动的参数信息。结果表明,通过多次判断可以准确地得到旋翼无人机的运动场景及状态。此外,该方法在室外条件下的旋转角度估计误差不超过0.1°,比室内情况下的估计误差稍大,主要由于旋翼无人机在室外运动更灵活且环境复杂度更高。在位移变化上,虽然纯视觉估计缺少尺度信息,但是3个方向的位移量变化比例与实际情况相符,能够作为辅助条件进行判断。其次,场景图4(c)的特征点分布判定为均匀分布,由于室外高空条件下拍摄的图像物体分布均匀,多数情况下都能得到丰富的特征点。故在室外环境下的判定过程主要依靠H矩阵的匹配率以及旋转角度变化,以特征点分布为辅助条件进行判定。

另外,实验表明旋翼无人机在单独进行平面场景垂直起降或纯旋转时均能得到很高的H矩阵匹配率,但两者都存在时匹配率会明显降低。因此,对于这两类情况需要特别关注,利用3个方向旋转角估计的具体情况进行分析,并辅以平移量的估计值。若是垂直的平移运动,平移估计值的z方向应有较其他两个方向明显的变化,反之则3个值相近,由此得到更细致的判定结果。

表3 室外环境下旋翼无人机状态判定结果

2.3 连续的图像序列实验

根据euroc数据集中旋翼无人机获取的图像序列,按照时间戳的顺序选择连续的9张关键帧图像(8组图像对匹配),即有较为明显且完整的旋翼无人机运动过程。如图5所示,所选图像序列在亮度较暗的环境下,特征信息比较匮乏,同时该过程包含多种场景和运动状态的变化。将实验结果与真值对比后能够说明本文算法的持续运行效果,并体现算法的有效性和鲁棒性。

图5 旋翼无人机连续图像

连续图像的判定结果与位姿的真实值如表4所示。由于本实验由单目相机进行验证,故主要考虑的是机体姿态的误差情况,位移数据作为辅助信息用于判断结果的参考内容。结果表明与单个图像对的误差一致,3个方向旋转角度误差均在0.05°左右。同时,通过本文算法对场景及运动状态的判定,旋翼无人机先后完成了平面场景下的旋转平移、一般情况下的旋转平移以及平面场景的纯旋转等过程,与位姿真实值恢复的运动情况保持一致。由此,本文所提的针对旋翼无人机运动场景及状态的判定方法具有一定的鲁棒性,能够在多种场景下实时地反馈自身的状态。

表4 旋翼无人机连续图像序列的状态判定结果

3 结束语

为了提升旋翼无人机在视觉导航中位姿估计的精度、保证实时获取位置姿态,本文提出了一种飞行过程中判定其运动场景及状态的方法。该方法能辅助旋翼无人机在未知环境中及时掌握自身的处境,并根据现实情况选择合适的方法进行位姿估计,从而更准确地得到每一帧图像对应的位姿信息。通过室内外实验研究,本文所提方法能够在多种情况下辅助旋翼无人机判断自身所处场景及运动状态,整体鲁棒性好。此外,本文还较为详细地分析、解决了不同情况下的位姿估计问题,为减小视觉导航过程中位姿的误差累积提供参考。

针对特征点分布的检测,下一步考虑细化图像网格,再对每个小空间内的特征点数进行统计分析,判定结果会更加准确。此外,室外条件下利用本文所提方法对旋翼无人机的飞行场景和状态信息进行判定,而后估计出平面场景的大致范围,并有效地辅助其完成悬停、着降等各类任务,具有较强的应用价值。


(原文有删减)

END


作者简介陈润泽(1994),男,陕西西安人,硕士研究生,主要研究方向为计算机视觉、无人机控制、组合导航。

引文格式:陈润泽,郝向阳,苗书锋. 旋 翼 无 人 机 运 动 场 景 及 状 态 的 视 觉 判 定 方 法 [J]. 测 绘 科 学,2022,47(6):135142

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码