CN117036989A - 基于计算机视觉的微型无人机目标识别与跟踪控制方法 - Google Patents
基于计算机视觉的微型无人机目标识别与跟踪控制方法 Download PDFInfo
- Publication number
- CN117036989A CN117036989A CN202310603409.1A CN202310603409A CN117036989A CN 117036989 A CN117036989 A CN 117036989A CN 202310603409 A CN202310603409 A CN 202310603409A CN 117036989 A CN117036989 A CN 117036989A
- Authority
- CN
- China
- Prior art keywords
- target
- tracking
- unmanned aerial
- aerial vehicle
- uav
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
- G06V20/17—Terrestrial scenes taken from planes or by drones
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/277—Analysis of motion involving stochastic approaches, e.g. using Kalman filters
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
Abstract
本文提供了一种基于计算机视觉的微型无人机目标识别与跟踪控制方法,通过获取无人机实时采集的视频流;提取所述视频流中的视频帧图像,并对每个视频帧图像进行处理以得到输入图像;将所述输入图像输入至预先训练完成的YOLOv5神经网络模型中,以得到所述输入图像中的目标边界框信息,所述目标边界框信息包括目标类型和置信度;根据所述目标边界框信息以及用户提前确定的跟踪目标,对当前视频帧图像中的目标与前一视频帧图像中的跟踪目标进行匹配,确定无人机的跟踪轨迹更新数据;根据所述无人机的跟踪轨迹更新数据,对所述无人机进行跟踪控制,本文可以提高无人机对选定目标的精准且高效的识别和跟踪。
Description
技术领域
本文属于无人机技术领域,具体涉及一种基于计算机视觉的微型无人机目标识别与跟踪控制方法。
背景技术
无人机是一种有动力、可控制、能携带多种任务设备、执行多种任务并能重复使用的飞行器。能够利用无线遥控设备和自身的控制装置进行控制的不载人飞行器,例如无人直升机、无人固定翼机、无人伞翼机、多旋翼无人机等等。该无人机可以用于挂载拍摄装置,用于航拍、测绘、侦查等等。
目标跟踪是计算机视觉的一个重要研究方向,是在视频序列中准确找到感兴趣目标的位置及运动轨迹等信息,将目标跟踪技术应用到无人机有助于提升其智能化水平。而在实际跟踪应用中,感兴趣的目标区域往往会受到一些环境因素的影响,比如在GPS信号失效或通信拒止复杂环境下,导致算法计算结果不准确,无法稳定跟踪目标,最终导致目标丢失。
发明内容
针对现有技术的上述问题,本文的目的在于,提供一种基于计算机视觉的微型无人机目标识别与跟踪控制方法,提高了无人机对选定目标的精准且高效的识别和跟踪。
为了解决上述技术问题,本文的具体技术方案如下:
一方面,本文提供一种基于计算机视觉的微型无人机目标识别与跟踪控制方法,所述方法包括:
获取无人机实时采集的视频流;
提取所述视频流中的视频帧图像,并对每个视频帧图像进行处理以得到输入图像;
将所述输入图像输入至预先训练完成的YOLOv5神经网络模型中,以得到所述输入图像中的目标边界框信息,所述目标边界框信息包括目标类型和置信度;
根据所述目标边界框信息以及用户提前确定的跟踪目标,对当前视频帧图像中的目标与前一视频帧图像中的跟踪目标进行匹配,确定无人机的跟踪轨迹更新数据;
根据所述无人机的跟踪轨迹更新数据,对所述无人机进行跟踪控制。
进一步地,获取无人机实时采集的视频流包括:
建立与无人机之间的数据通信协议;
根据所述数据通信协议,获取从所述无人机发送的多个数据包;
对每个数据包进行视频帧提取,并将所述视频帧进行重新构建,以得到所述无人机的视频流。
进一步地,所述预先训练完成的YOLOv5神经网络模型通过如下步骤训练得到:
获取带有标注的训练数据集,所述训练数据集中对象和所述无人机的跟踪对象类型一致;
根据所述训练数据集和预设损失函数,对初始YOLOv5神经网络模型进行训练,以得到训练收敛的YOLOv5神经网络模型。
进一步地,所述YOLOv5神经网络模型包括主干网络、检测头网络,预测层和锚框;
所述主干网络为多层级结构,用于提取输入图像的多层级图像特征;
所述检测头网络用于根据所述多层级图像特征,提取目标参数信息,所述目标参数信息至少包括目标位置、类别以及置信度信息;
所述预测层根据检测头网络的输出生成目标边界框和置信度,并根据所述置信度进行目标排序,以生成不同尺度的特征图;
所述锚框用于对每个特征图进行目标预测,并利用利用非极大值抑制对预测结果进行筛选和合并,以得到目标边界框信息。
进一步地,所述主干网络中设有特征金字塔网络和路径聚合网络;
所述特征金字塔网络连接所述主干网络的多层级结构,通过横向连接和上采样操作,将不同层级的图像特征进行融合;
所述路径聚合网络通过级联连接不同层级的特征金字塔网络,将浅层和深层的特征信息进行融合。
进一步地,所述根据所述目标边界框信息以及用户提前确定的跟踪目标,对当前视频帧图像中的目标与前一视频帧图像中的跟踪目标进行匹配,确定无人机的跟踪轨迹更新数据,包括:
利用卡尔曼滤波算法,对所述目标边界框信息进行处理,得到每个视频帧图像中目标的运动状态变量,所述状态变量包括中心坐标和速度;
根据连续的视频帧图像中目标的运动状态变量,利用匈牙利算法将当前视频帧中的目标和前一视频帧中的跟踪目标进行匹配,确定无人机的跟踪轨迹更新数据。
进一步地,根据所述无人机的跟踪轨迹更新数据,对所述无人机进行跟踪控制,包括:
根据所述无人机的跟踪轨迹更新数据,确定所述无人机的跟踪对象;
根据所述跟踪对象对应的边界框信息,确定所述跟踪对象的目标框面积是否超过第一阈值;
若所述目标框面积超过第一阈值,则计算所述无人机的运动控制量;
根据所述无人机的运动控制量,控制无人机进行跟踪控制,并实时判断所述跟踪对象的目标框是否接近输入图像的边缘;
若所述跟踪对象的目标框没有接近输入图像的边缘,则根据跟踪对象的目标框面积调整无人机的俯仰角度;
若所述跟踪对象的目标框接近输入图像的边缘,则保持水平控制;
若所述目标框面积不超过第一阈值,则调整所述无人机的视频采集角度,以重新确定跟踪对象。
进一步地,根据跟踪对象的目标框面积调整无人机的俯仰角度,包括:
判断所述跟踪对象的目标框面积与输入图像面积的比例是否超过预设比例;
若是,则控制所述无人机按照预设倾斜角度飞行;
若否,则控制所述无人机保持原先状态飞行。
另一方面,本文还提供一种基于计算机视觉的微型无人机目标识别与跟踪控制装置,所述装置包括:
视频流获取模块,用于获取无人机实时采集的视频流;
处理模块,用于提取所述视频流中的视频帧图像,并对每个视频帧图像进行处理以得到输入图像;
特征提取模块,用于将所述输入图像输入至预先训练完成的YOLOv5神经网络模型中,以得到所述输入图像中的目标边界框信息,所述目标边界框信息包括目标类型和置信度;
匹配模块,用于根据所述目标边界框信息以及用户提前确定的跟踪目标,对当前视频帧图像中的目标与前一视频帧图像中的跟踪目标进行匹配,确定无人机的跟踪轨迹更新数据;
控制模块,用于根据所述无人机的跟踪轨迹更新数据,对所述无人机进行跟踪控制。
最后,本文还提供一种无人机控制系统,所述系统包括:
无人机;
控制终端,所述控制终端与所述无人机通信连接,用于根据上述所述的方法控制所述无人机飞行。
采用上述技术方案,本文所述的一种基于计算机视觉的微型无人机目标识别与跟踪控制方法,通过获取无人机实时采集的视频流;提取所述视频流中的视频帧图像,并对每个视频帧图像进行处理以得到输入图像;将所述输入图像输入至预先训练完成的YOLOv5神经网络模型中,以得到所述输入图像中的目标边界框信息,所述目标边界框信息包括目标类型和置信度;根据所述目标边界框信息以及用户提前确定的跟踪目标,对当前视频帧图像中的目标与前一视频帧图像中的跟踪目标进行匹配,确定无人机的跟踪轨迹更新数据;根据所述无人机的跟踪轨迹更新数据,对所述无人机进行跟踪控制,本文可以提高无人机对选定目标的精准且高效的识别和跟踪。
为让本文的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本文实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本文的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本文实施例提供的无人机控制系统的框架图;
图2示出了本文实施例提供的基于计算机视觉的微型无人机目标识别与跟踪控制方法的步骤示意图;
图3示出了本文实施例中F1置信区间曲线;
图4示出了本文实施例中俯视平面无人机目标跟踪的状态图;
图5示出了本文实施例中相机坐标系与物理坐标系的映射关系示意图;
图6示出了本文实施例提供的具体示例工作流程示意图;
图7示出了本文实施例中图像识别以及多目标追踪示意图;
图8示出了本文实施例中处理连续帧实现目标的持续跟踪和追踪控制流程图;
图9示出了本文实施例中控制整体框架:
图10示出了本文实施例中具体示例中实现结果组图;
图11示出了本文实施例提供的基于计算机视觉的微型无人机目标识别与跟踪控制装置的结构示意图;
图12示出了本文实施例提供的计算机设备的结构示意图。
附图符号说明:
101、无人机、102、控制终端;1101、视频流获取模块;1102、处理模块;1103、特征提取模块;1104、匹配模块;1105、控制模块。
具体实施方式
下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。
需要说明的是,本文的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本文的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
基于计算机视觉的无人机跟踪技术是目前研究的热点,主要是在视频序列中准确找到感兴趣目标的位置及运动轨迹等信息,将目标跟踪技术应用到无人机有助于提升其智能化水平。而在实际跟踪应用中,感兴趣的目标区域往往会受到一些环境因素的影响,比如在GPS信号失效或通信拒止复杂环境下,导致算法计算结果不准确,无法稳定跟踪目标,最终导致目标丢失。
为了解决上述问题,本说明书实施例提供一种无人机控制系统,如图1所示,所述系统包括无人机101和控制终端102,所述无人机101与所述控制终端102无线通信连接,所述无人机101上设有摄像头等用于采集图片或视频的采集设备,进一步地,该采集设备的采集方向为无人机机头的向前的朝向,所述无人机101将采集到的图片或视频数据发送至所述控制终端102,该控制终端102为无人机的操作者所控制,比如可以为控制手柄、无人机平台,或后端的控制平台,该控制平台可以为后台服务器,即无人机101将采集数据直接上传至服务器,服务器可以执行对采集数据的分析以及生成无人机相关的控制飞行指令,以实现对跟踪对象的跟踪飞行,具体地,该控制终端102可以执行如下步骤:获取无人机实时采集的视频流;提取所述视频流中的视频帧图像,并对每个视频帧图像进行处理以得到输入图像;将所述输入图像输入至预先训练完成的YOLOv5神经网络模型中,以得到所述输入图像中的目标边界框信息,所述目标边界框信息包括目标类型和置信度;根据所述目标边界框信息以及用户提前确定的跟踪目标,对当前视频帧图像中的目标与前一视频帧图像中的跟踪目标进行匹配,确定无人机的跟踪轨迹更新数据;根据所述无人机的跟踪轨迹更新数据,对所述无人机进行跟踪控制。本文利用计算机视觉技术和无人机平台,解决了在GPS信号失效或通信拒止复杂环境下,目标智能检测与识别、目标自主跟踪控制、自动跟拍与图像回传等问题,以实现微型无人机对选定目标的精准且高效的识别、跟踪、打击。该方法不需要额外增加传感设备,方法简单便捷,计算量小,易维护、造价低、实用性好。
在上述提供的系统的基础上,本文实施例提供了一种基于计算机视觉的微型无人机目标识别与跟踪控制方法,能够提高无人机对选定目标的精准且高效的识别和跟踪。图2是本文实施例提供的一种基于计算机视觉的微型无人机目标识别与跟踪控制方法的步骤示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。具体的如图2所示,所述方法可以包括:
S201:获取无人机实时采集的视频流;
S202:提取所述视频流中的视频帧图像,并对每个视频帧图像进行处理以得到输入图像;
S203:将所述输入图像输入至预先训练完成的YOLOv5神经网络模型中,以得到所述输入图像中的目标边界框信息,所述目标边界框信息包括目标类型和置信度;
S204:根据所述目标边界框信息以及用户提前确定的跟踪目标,对当前视频帧图像中的目标与前一视频帧图像中的跟踪目标进行匹配,确定无人机的跟踪轨迹更新数据;
S205:根据所述无人机的跟踪轨迹更新数据,对所述无人机进行跟踪控制。
可以理解为,本说明书实施例的执行主体可以为上述的控制终端,该控制终端保存有提前训练完成的YOLOv5神经网络模型,用于对从无人机接收到的视频流进行特征提取,然后在对提取的特征进行目标匹配,以确定无人机的跟踪对象及轨迹,进而生成无人机的控制指令,将该控制指令发送至无人机,实现无人机的跟踪控制,本文基于无人机机载视觉传感器和计算机视觉技术,实现目标智能检测与识别、目标自主跟踪控制、自动跟拍与图像回传等功能,进行目标识别与跟踪算法验证。
在本说明书实施例中,所述无人机可以为微型多旋翼无人机。
在无人机自动追踪目标领域中,目标检测技术是不可或缺的一环。目标检测可以让无人机通过识别和跟踪目标物体实现自主飞行,从而增强其在军事、民用等领域的应用效果。而YOLOv5作为一种高效、准确的基于深度学习的目标检测算法,已经被广泛应用于无人机自动追踪目标的场景中。在这个过程中,无人机通过采集图像或视频,并将其传输到计算机端进行处理和识别。在识别过程中,YOLOv5可以快速地对图像中的目标进行定位和分类,从而指引无人机对目标进行精确追踪。
在本说明书实施例中,获取无人机实时采集的视频流包括:
建立与无人机之间的数据通信协议;
根据所述数据通信协议,获取从所述无人机发送的多个数据包;
对每个数据包进行视频帧提取,并将所述视频帧进行重新构建,以得到所述无人机的视频流。
示例性地,控制终端连接无人机内置wifi,确保与微型无人机连接成功,利用UDP数据传输协议来获取实时视频流。微型无人机将实时视频流分割为多个数据包,并使用UDP协议通过WiFi网络传输给连接到它的设备,将每个数据包中的视频帧提取出来并重新构建视频流,最终返回一个生成器对象。在这里,每次迭代生成器时,它都会从Tello获取最新的视频帧。最后,通过循环不断调用生成器对象来获取每一帧的视频流数据,并进行进一步的处理或展示。
需要说明的是,对获取到的视频帧进行预处理,从而使得得到的输入图像以适应后续模型的输入要求,需要调整视频帧至适应模型的步长、输入图片大小、深度学习框架等参数。
在本说明书实施例中,所述预先训练完成的YOLOv5神经网络模型通过如下步骤训练得到:
获取带有标注的训练数据集,所述训练数据集中对象和所述无人机的跟踪对象类型一致;
根据所述训练数据集和预设损失函数,对初始YOLOv5神经网络模型进行训练,以得到训练收敛的YOLOv5神经网络模型。
可以理解为,所述训练数据集中对象和所述无人机的跟踪对象类型一致是为了提高训练模型的预测准确性和可靠性,比如跟踪对象类型为人类,则训练集中对象类型也可以为人类;跟踪对象类型为动物,则训练集中对象类型也可以为动物;跟踪对象类型为移动工具,比如汽车、电动车、自行车等,则训练集中对象类型也可以为移动工作。
在Yolov5神经网络架构构建目标检测模型的基础上,采用特定的数据集,建立多特征融合的行人目标检测模型:比如,提供803张行人数据,其中训练图像中目标特征多样化较高(行人的体型等),包括图像和对应的标注框信息,作为训练数据集。相比于yolov5自带的coco128数据集,增加了样本数量和识别目标的针对性,从而提高后续过程识别的准确性与稳定性。
具体训练过程如下:
1.搜集不同种类行人数据集,在每一张图像进行标注得到对应的标签文件,所有标签文件组成标签文件集;标签文件包括无人机巡检图像中目标的类别和目标框坐标。
2.对标签文件集进行处理,将每一个标签文件转换为文本文件,并将其中的目标框坐标归一化得到归一化框坐标,所有的归一化框坐标组成归一化坐标集合。
3.利用训练集进行模型的训练,优化模型的参数。利用验证集对训练的模型进行评估,计算模型的指标,例如准确率(Precision)、召回率(Recall)、mAP,F1分数等。从而得到预测模型。最终模型F1分数在置信度为0.365时达到0.93,附图3所示。
注:F1分数(F1-score)是分类问题的一个衡量指标。一些多分类问题的机器学习竞赛,常常将F1-score作为最终测评的方法。它是精确率和召回率的调和平均数,最大为1,最小为0。
对于某个分类,综合了Precision和Recall的一个判断指标,F1-Score的值是从0到1的,1是最好,0是最差。
具体公式如下:
在本说明书实施例中,所述YOLOv5神经网络模型包括主干网络、检测头网络,预测层和锚框;
所述主干网络为多层级结构,用于提取输入图像的多层级图像特征;
所述检测头网络用于根据所述多层级图像特征,提取目标参数信息,所述目标参数信息至少包括目标位置、类别以及置信度信息;
所述预测层根据检测头网络的输出生成目标边界框和置信度,并根据所述置信度进行目标排序,以生成不同尺度的特征图;
所述锚框用于对每个特征图进行目标预测,并利用利用非极大值抑制对预测结果进行筛选和合并,以得到目标边界框信息。
进一步实施例中,所述主干网络中设有特征金字塔网络和路径聚合网络;
所述特征金字塔网络连接所述主干网络的多层级结构,通过横向连接和上采样操作,将不同层级的图像特征进行融合;
所述路径聚合网络通过级联连接不同层级的特征金字塔网络,将浅层和深层的特征信息进行融合。
可以理解为,YOLOv5神经网络模型使用了多个网络结构,包括锚框(anchors)、主干(backbone)网络和检测头(head)网络来进行目标检测,YOLOv5神经网络模型的工作流程如下:
1.首先,输入图像会经过预处理步骤,例如尺寸调整、归一化等,以适应网络的输入要求。
2.输入图像可以经过CSPDarknet53网络,该网络是YOLOv5中的主干网络,CSPDarknet53由一系列卷积层、残差块和下采样层组成,逐渐提取出图像的低级到高级的特征,这些特征包含了图像的细节和语义信息。
3.在CSPDarknet53的不同层级上,引入了特征金字塔网络(FPN)来获得多尺度的特征金字塔。FPN通过横向连接和上采样操作,将不同层级的特征进行融合,以获取丰富的语义信息。这使得网络能够同时处理不同尺度的目标,提高目标检测的效果。
4.YOLOv5还引入了路径聚合网络(PANet)来进一步改进特征金字塔网络。PANet通过级联连接不同层级的特征金字塔,将浅层和深层的特征信息进行融合,以更好地检测小尺寸目标。这提高了目标检测模型对各种目标尺度的感知能力。
5.在"backbone"网络架构的基础上,YOLOv5还添加了检测头和预测层。检测头负责从特征金字塔中提取目标的位置、类别和置信度信息。预测层根据检测头的输出生成目标的边界框和置信度分数。
6.模型的输出经过后处理步骤,例如非极大值抑制(NMS),以过滤和合并重叠的边界框,并根据置信度对目标进行排序。由此得到了一系列不同尺度的特征图。
7.其次,对于每个特征图,使用锚框进行目标预测。通过对每个锚框进行类别和边界框回归的预测,得到目标的位置和类别概率。在原始yolov5的结构下,为出现在检测结果的每个图像框中添加如下参数:
目标id号:
id≥0
id目标进入视频流的次序。
中心点坐标:
C=(Cx,Cy)
其中,Cx,Cy分别为识别目标图像框中心点的横坐标、纵坐标。为卡尔曼滤波追踪提供校准方位。
8.最后,将不同尺度的预测结果进行合并和筛选,利用非极大值抑制(NMS)来去除重叠的边界框,并根据置信度对目标进行排序。
YOLOv5能够在图像中高效地检测出目标的位置和类别。通过使用锚框、backbone网络和head网络结构的组合,实现了高效的目标检测能力,适用于不同尺度和复杂度的场景。
在本说明书实施例中,所述根据所述目标边界框信息以及用户提前确定的跟踪目标,对当前视频帧图像中的目标与前一视频帧图像中的跟踪目标进行匹配,确定无人机的跟踪轨迹更新数据,包括:
利用卡尔曼滤波算法,对所述目标边界框信息进行处理,得到每个视频帧图像中目标的运动状态变量,所述状态变量包括中心坐标和速度;
根据连续的视频帧图像中目标的运动状态变量,利用匈牙利算法将当前视频帧中的目标和前一视频帧中的跟踪目标进行匹配,确定无人机的跟踪轨迹更新数据。
可以理解为,YOLOv5检测算法使用神经网络模型对输入图像进行处理,并生成包含目标边界框、类别和置信度等信息的检测结果。这些检测结果通常用于标识图像中的目标物体。为了实现对目标物体进行跟踪,可以通过卡尔曼滤波算法对目标物体的运动状态变量进行预测和更新,以及通过匈牙利算法对目标物体进行匹配,以确定后续的跟踪轨迹,所述跟踪轨迹可以为根据跟踪对象确定的跟踪路径,该跟踪路径表征无人机的控制过程,比如俯仰角的变化,高度的变化等。
在本说明书中,卡尔曼滤波算法本身并不直接使用图像数据,而是使用YOLOv5提供的目标边界框信息作为测量输入。因为卡尔曼滤波算法是一种基于状态空间模型的数学滤波算法,主要用于对状态变量的预测和更新,而不直接处理图像数据。目标检测和卡尔曼滤波算法是配合使用的,通过传递目标边界框信息来实现目标的跟踪和预测。
卡尔曼滤波算法利用YOLOv5提供的目标边界框信息作为测量输入,结合系统的动态模型对目标的位置进行预测和更新,通过融合检测结果和动态模型的估计,可以提供平滑和准确的目标位置估计。
示例性地,下面对基于卡尔曼滤波的位置估计进行说明:
1、构建系统的状态变量、过程模型和观测模型。
状态变量:
其中,vk为待测三维速度,zk为飞行器z轴方向的高度值,ba为三维加速度偏移。
过程模型:
xk=Axk-1+uk-1+wk
其中,为系统转移矩阵,为控制输入,为系统噪声,表征系统模型的不确定性,它们有如下表达式:
其中,ax,ay,az分别为加速度计读数。噪声wk假设为高斯白噪声,其噪声方差阵为为对角阵。
观测模型:
zk=Hxk+vk
其中,观测量包括步骤三中通过视觉信息得到的水平速度以及高度传感器测得的高度。为观测转移矩阵,为观测噪声,表征观测量的不确定性,假设vk为高斯白噪声,其噪声方差阵为它们的表达式如下:
2、滤波初始化
令状态初值为:
x0=[vc dsonar cosθcosφ 03×1]T
其中,vc=[vx vy vz]T为公式中给出的初始视觉速度,高度初值由高度传感器给出,其中dsonar为高度传感器读数,加速度偏移初值设为零。
令状态估计误差协方差初值为对角矩阵:
令k=0,P0|0=P0。
3、状态一步预测
4、误差协方差一步预测
Pk|k-1=APk-1|k-1AT+Qk-1
5、卡尔曼滤波增益更新
Kk=Pk|k-1HT(HPk|k-1HT+Rk)-1
6、状态更新校正
7、误差协方差更新校正
Pk|k=(I7-KkH)Pk|k-1
8、k=k+1,返回第3步继续运行。
由此得到了目标的坐标的中心坐标和速度等状态变量。
之后使用匈牙利算法,匈牙利算法能够在目标检测任务中实现跟踪目标与检测结果的关联,通过最大权匹配的原则,将当前帧中的检测结果与前一帧中的跟踪目标进行匹配,实现目标的连续跟踪和轨迹的维护。
通过卡尔曼滤波和匈牙利算法对目标进行跟踪和匹配后,得到了目标的目标的中心点和轨迹信息,这些信息可以作为视觉伺服的输入量,用于控制机器人或无人机的运动。
在本说明书实施例中,根据所述无人机的跟踪轨迹更新数据,对所述无人机进行跟踪控制,包括:
根据所述无人机的跟踪轨迹更新数据,确定所述无人机的跟踪对象;
根据所述跟踪对象对应的边界框信息,确定所述跟踪对象的目标框面积是否超过第一阈值;
若所述目标框面积超过第一阈值,则计算所述无人机的运动控制量,所述运动控制量即为无人机的飞行控制指令,比如可以按照当前状态飞行;
根据所述无人机的运动控制量,控制无人机进行跟踪控制,并实时判断所述跟踪对象的目标框是否接近输入图像的边缘。通过判断跟踪对象是否接近图像边缘,相当于判断无人机是否靠近跟踪对象,由于摄像头采集视野随着距离的增加也变大,当跟踪对象与无人机距离和采集角度适当时,跟踪对象的目标框在输入图像的位置也是适当的,这里将跟踪对象的目标框接近输入图像的边缘区域作为适当的条件;
若所述跟踪对象的目标框没有接近输入图像的边缘,则根据跟踪对象的目标框面积调整无人机的俯仰角度,以调整无人机与跟踪对象之间的距离和采集角度;
若所述跟踪对象的目标框接近输入图像的边缘,则保持水平控制;
若所述目标框面积不超过第一阈值,则调整所述无人机的视频采集角度,以重新确定跟踪对象。
进一步地,根据跟踪对象的目标框面积调整无人机的俯仰角度,包括:
判断所述跟踪对象的目标框面积与输入图像面积的比例是否超过预设比例;
若是,则控制所述无人机按照预设倾斜角度飞行;
若否,则控制所述无人机保持原先状态飞行。
为了实现无人机的准确控制,还需要建立无人机三维相机坐标系和二维图像坐标系之间的关联,这样还可以基于采集的图像以及相应的控制指令控制无人机飞机,所述无人机三维相机坐标系和二维图像坐标系之间的关联通过如下步骤建立:
1、首先建立以下的多旋翼无人机视觉伺服模型:
1)多旋翼无人机飞行控制刚体模型
为了简便,在对多旋翼无人机建模时,假设多旋翼无人机是刚体,多旋翼只受重力和螺旋桨拉力,多旋翼的质量与转动惯量不变。多旋翼几何中心与重心一致。那么,多旋翼飞行控制刚体模型欧拉角表示:
其中,e是地面坐标系的基本向量,m是无人机的质量,为多旋翼的重心坐标,表示多旋翼的速度,表示螺旋桨总拉力的大小,为重力加速度,表示陀螺力矩,表示螺旋桨在机体轴上产生的力矩,表示多旋翼的转动惯量, 表示机体的角速度,⊙表示姿态角,W是机体旋转角速度到姿态变化率的转换矩阵;表示从机体坐标系到世界坐标系的旋转矩阵。
在多旋翼无人机飞行控制模型中,同时涉及了地球坐标系和机体坐标系。一方面,希望在地球坐标系下表示多旋翼的位置和速度,方便飞控手更好地确定飞行位置和飞行速度,而且这种表示与GPS的测量时一致的;另一方面,在机体坐标系下,拉力与力矩的表示非常直观,而且传感器的测量也是在机体坐标系下表示。这两种坐标系的存在便于不同场景下的计算与应用。多旋翼飞行控制刚体模型的显著特点表现在意味着方向始终和Obzb轴负方向一致。
将多旋翼飞行刚体控制使用数学表达出来,利于后续对多旋翼控制算法的设计、编写和实现。
2)视觉成像模型
如图4所示,为俯视平面无人机目标跟踪的状态图,其中灰块为目标,Om是多旋翼无人机的重心,Oc是相机的重心,d是两者的间距,η是视场角,空间一点pe在图像平面的成像位置可以用针孔成像模型近似表示,即点pe在图像平面中的投影位置pc,为光心O与空间点pe的连线与图像平面的交点。因而世界坐标系下pe点坐标(xe,ye,ze)T与投影点pc的像素坐标(u,v)T之间的关系可以描述如下:
其中,αx为u轴上的尺度因子,αy为v轴上的尺度因子,且(f为焦距,dx和dy分别为u轴和v轴方向的像素尺寸);(u0,v0)是摄像机光轴与图像平面的交点,称为主点坐标。αx,αy,u0,v0只与摄像机内部参数有关,称为相机的内参数。分别为相机坐标系与世界坐标系的旋转矩阵和平移向量,称为摄像机的外部参数。
视觉成像原理阐明飞行器所携带的摄像头的拍摄机理,让飞行器所携带的摄像头所采集的三维数据=映射到二维图像平面,是建立视觉伺服模型的基础。
3)视觉伺服模型
视觉伺服指的是利用计算机视觉信息控制机器人的运动。所有基于视觉伺服的方案,目的都是减小误差e(t())。
摄像头速度和的关系:
并且Le=Ls,Ls∈Rk*6称为雅阁比矩阵,vc=(ω,v)表示摄像头的瞬时线速度,将作为输入量,如果雅阁比矩阵已知,就可以得到输出vc,求出雅阁比矩阵:
其中,摄像头坐标系下的3-D点坐标为(xe,ye,ze)T,对应在2-D像平面上的坐标为p=(x,y)。视觉伺服的目的在于减小目标当前图像坐标与期望目标图像坐标之间的差,视觉伺服的意义在于通过雅阁比矩阵,让机器人对目标的跟踪更加精准,是多旋翼视觉伺服模型中的核心模块。
4)多旋翼视觉伺服模型
基于前述的多旋翼无人机刚体模型和视觉成像原理,利用视觉伺服方法,设计如下的多旋翼视觉伺服模型。
在纵向通道,定义x=[ey vy vz θ]T,u=[f ωx]T,可以得到
y(t)=[1 0 0 0]x(t)
其中,是竖直分解后在相机系下的速度,x=[ey vy vz θ]T是在y方向的分速度,x=[ey vy vz θ]T是在z方向的分速度,u=[f ωx]T是拉力,u=[f ωx]T是x方向的分角速度。
在横侧向通道上,将多旋翼横侧向模型变换到相机坐标系:
x=[ex vx vz ψ]T,
u=[ωy ωz]T
y(t)=[1 0 0 0]x(t)
其中,x=[ex vx vz ψ]T是水平分解后在相机系下的速度,x=[ex vx vz ψ]T是在x方向的分速度,x=[ex vx vz ψ]T是在z方向的分速度,u=[f ωx]T是拉力,u=[ωy ωz]T是z方向的分角速度。x(t)表示坐标随时间变化表达式。
建立多旋翼非线性的飞行控制刚体模型,作为多旋翼控制的基础;然后以针孔模型为例,介绍了视觉成像的数学表达;最后介绍视觉伺服的概念和公式表达,并推导出雅阁比矩阵,建立三维相机坐标系和二维图像坐标系之间的关联。
如图5所示,为本文实施例中相机坐标系与物理坐标系的映射关系示意图,其中。O表示摄像机光心,OI表示图像坐标系原点。(u,v)表示图像坐标系的坐标轴,(Xc,Yc,Zc)表示摄像机坐标系的坐标轴。pe(xe,ye,ze)表示三维点在摄像机坐标系下的坐标,pc(u,v)表示点pe(xe,ye,ze)在图像上的投影。
示例性地,在上述模型建立的基础上,本说明书实施例提供的方法可以包括如下步骤:
1、安装程序运行所需要的一系列库,包括openCV、av和tellopy等。
2、使用tellopy库实现tello无人机的操控,并利用opencv实现对视频流中图片数据的处理。
3、连接无人机,并获取视频流,视频流尝试3次连接直至成功。
4、无人机起飞,并订阅相关航行日志数据。
5、获取数据图片,并获取图片的尺寸(h,w),即高度和宽度。
6、通过目标宽度和高度与图像尺寸的比例,判断目标是否足够大以进行跟随。如果目标足够大,则使用偏航角系数和伺服中心点将偏航角转换为无人机需要旋转的角度,并使用高度控制系数和伺服中心点将高度误差转换为无人机需要改变的高度。
7、根据目标与图像边界的距离判断是否需要前进或后退。如果目标太远,则使无人机向前飞行以趋近于目标;如果目标太近,则使无人机向后飞行以保持距离。
8、根据目标面积与图像尺寸的比例,判断无人机是否需要上升或下降,调整俯仰角度,最终实现对目标的跟踪。
本说明书实施例提供了一种基于计算机视觉无人机目标识别与跟踪控制方法,该方法不需要额外增加传感设备,算法计算量小,算法鲁棒性高等优点。方法简单便捷,易维护、造价低、实用性好。
本说明书实施例提出了基于计算机视觉的微型无人机目标识别与跟踪控制方法,并以大疆公司的tello无人机进行真实实验,如图6所示,为该实验中具体工作流程示意图。
首先,进行无人机的视觉检测,流程如下;
1、根据以下的开源代码链接下载好代码:https://github.com/hanyazou/TelloPy。在YOLOv5神经网络架构构建目标检测模型的基础上,采用自己的数据集,按照步骤一中的详细过程训练数据集。
2、在Python中调用YOLOv5模型进行目标检测,打开tello侧向的开关,连接tello内置wifi,等待黄灯闪烁,确保与微型无人机连接成功。利用UDP数据传输协议来获取实时视频流,并进行迭代更新。每次迭代生成器时,它都会从tello获取最新的视频帧。最后,通过循环不断调用生成器对象来获取每一帧的视频流数据。
3、对于tello摄像头获取的每一帧图像,需要进行预处理以便于模型检测。预处理包括调整图像大小、归一化、缩放、裁剪等操作,以适应模型的输入要求。
4、使用YOLOv5模型进行目标检测。由于后续打击过程中需要确定中心点坐标以及tello打击的目标id,所以需要对识别到的目标进行编号赋值以及编写一个GUI交互界面便于用户操作选取无人机跟踪目标。获取中心点坐标流程:开源代码中YOLOv5可以获得以下信息:目标物体的类别、位置(左上角坐标、右下角坐标、宽度、高度)以及置信度。可以根据位置信息通过简单的代数运算获得中心点坐标,并且在界面上标出,如图7所示,为本文实施例中图像识别以及多目标追踪示意图。
5、获取id号的思想为:在多目标追踪的过程中会得到的一个编号,且id编号按照识别出的目标的顺序给出。假如目标一直在视野范围之内并且可以始终得到匹配,那么这个id就不会改变;如果目标丢失后重新识别或者识别到了新的目标,都会重新给出一个id。id的数值会随着识别新目标依次增加,不会重复。
运行过程中计算机会输出检测框,其中包含的信息有:目标的类别、置信度以及中心点,不同物体的id值。在控制面板中输入需要跟踪打击的id号实现目标选择。目标边界框、类别和置信度等结果通常用于标识图像中的目标物体。然后,将这些检测结果作为输入传递给卡尔曼滤波算法。
6、其次,通过步骤三中卡尔曼滤波算法预测跟踪目标在当前帧中的位置,生成预测的目标位置信息。这些预测的位置信息由目标的坐标的中心坐标和速度等状态变量组成。卡尔曼滤波算法根据目标的运动模型和观测数据,对目标的位置进行预测和更新。之后将两组目标位置信息,一组是卡尔曼滤波算法输出的预测的目标位置,另一组是目标检测算法输出的当前帧中检测到的目标位置,作为匈牙利算法的输入,将当前帧中的检测结果与前一帧中的跟踪目标进行匹配。匈牙利算法在本专利方法中的具体实施流程如下:
1.初始化追踪器:在初始化过程中,定义了追踪器数量、最大跟踪帧数、距离阈值等参数,以及每个追踪器的状态信息(如位置,跳过帧数等)。
2.对于当前的目标检测结果,计算匹配矩阵:将检测到的目标与当前所有追踪器进行距离计算,并将距离矩阵传递给匈牙利算法,求出最小距离对应的追踪器与目标匹配关系。
3.根据匹配结果,更新追踪器状态:如果一个目标没有被匹配到任何追踪器,说明这是一个新的目标,需要新建一个追踪器;如果一个追踪器没有被匹配到任何目标,说明目标已经离开视野,需要将该追踪器删除;如果匹配的距离大于距离阈值,也需要将其删除,表示距离太远无法匹配。
4.根据未匹配目标的数量,新建追踪器或者忽略掉这些目标。
7、之后,通过卡尔曼滤波和匈牙利算法对目标进行跟踪和匹配后,得到了目标的位置和轨迹信息,这些信息可以作为视觉伺服的输入量。
处理连续帧实现目标的持续跟踪和追踪控制,如图8和图9所示,流程如下:
1、获取视频流中的一帧图像,以及该图像的高和宽。
2、使用YOLOv5模型检测该帧图像中的目标对象,通过上述一系列操作获取目标对象的中心坐标横坐标和纵坐标,以及目标对象的宽和高。
3、实例化对象,将传递的Tello对象赋值给该变量,用于与无人机进行通信和控制。初始化变量:偏航角的控制系数设为0.001;推力值的控制系数设为-0.005;俯仰角的控制值设为0.45;目标检测结果的最小面积与图像总面积的比例设为0;目标检测结果的最大面积与图像总面积的比例设为1;X轴上的舵机中心位置比例设为0.4;Y轴上的舵机中心位置比例设为0.5;用于检查目标是否位于图像边界附近的范围比例设为0.1;用于判断目标是否位于Y轴中心位置附近的阈值设为30;向下飞行时推力值的调整因子设为0.5;向上飞行时推力值的调整因子设为0.5。
4、根据目标对象的大小判断是否需要对无人机进行运动控制。如果目标对象的面积超过了阈值,则进行运动控制;否则不进行控制。
5、如果需要进行控制,则计算出无人机的偏航运动和升降运动的控制量。
6、判断目标对象是否在画面的边缘区域,如果是,则将无人机的俯仰角度设为0,即保持水平。否则,根据目标对象的面积大小调整无人机的俯仰角度,使其向目标对象靠近或远离。具体来说,如果目标对象的面积小于阈值,则将俯仰角度设为之前初始化的值,否则将俯仰角度设为0。
7、如果目标跟踪失败,则将无人机进行简单的运动控制,以便重新搜索目标。具体来说,将无人机向左旋转一定角度,将无人机的高度保持不变,将无人机的俯仰角度保持不变。
8、重复上述步骤,实现目标的持续跟踪和追踪控制。
9、最后,通过以上步骤实现tello无人机的跟踪。实现结果如图10所示。
在上述提供的方法的基础上,本说明书实施例还提供一种基于计算机视觉的微型无人机目标识别与跟踪控制装置,如图11所示,所述装置包括:
视频流获取模块1101,用于获取无人机实时采集的视频流;
处理模块1102,用于提取所述视频流中的视频帧图像,并对每个视频帧图像进行处理以得到输入图像;
特征提取模块1103,用于将所述输入图像输入至预先训练完成的YOLOv5神经网络模型中,以得到所述输入图像中的目标边界框信息,所述目标边界框信息包括目标类型和置信度;
匹配模块1104,用于根据所述目标边界框信息以及用户提前确定的跟踪目标,对当前视频帧图像中的目标与前一视频帧图像中的跟踪目标进行匹配,确定无人机的跟踪轨迹更新数据;
控制模块1105,用于根据所述无人机的跟踪轨迹更新数据,对所述无人机进行跟踪控制。
通过上述装置所取得的有益效果和上述方法所取得的有益效果一致,本说明书实施例不做赘述。
本实施例提供一种计算机设备,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种计算机设备行驶面覆盖物识别方法。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
还应理解,在本文实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本文的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本文所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本文实施例方案的目的。
本文中应用了具体实施例对本文的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本文的方法及其核心思想;同时,对于本领域的一般技术人员,依据本文的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本文的限制。
Claims (10)
1.一种基于计算机视觉的微型无人机目标识别与跟踪控制方法,其特征在于,所述方法包括:
获取无人机实时采集的视频流;
提取所述视频流中的视频帧图像,并对每个视频帧图像进行处理以得到输入图像;
将所述输入图像输入至预先训练完成的YOLOv5神经网络模型中,以得到所述输入图像中的目标边界框信息,所述目标边界框信息包括目标类型和置信度;
根据所述目标边界框信息以及用户提前确定的跟踪目标,对当前视频帧图像中的目标与前一视频帧图像中的跟踪目标进行匹配,确定无人机的跟踪轨迹更新数据;
根据所述无人机的跟踪轨迹更新数据,对所述无人机进行跟踪控制。
2.根据权利要求1所述的方法,其特征在于,获取无人机实时采集的视频流包括:
建立与无人机之间的数据通信协议;
根据所述数据通信协议,获取从所述无人机发送的多个数据包;
对每个数据包进行视频帧提取,并将所述视频帧进行重新构建,以得到所述无人机的视频流。
3.根据权利要求1所述的方法,其特征在于,所述预先训练完成的YOLOv5神经网络模型通过如下步骤训练得到:
获取带有标注的训练数据集,所述训练数据集中对象和所述无人机的跟踪对象类型一致;
根据所述训练数据集和预设损失函数,对初始YOLOv5神经网络模型进行训练,以得到训练收敛的YOLOv5神经网络模型。
4.根据权利要求1所述的方法,其特征在于,所述YOLOv5神经网络模型包括主干网络、检测头网络,预测层和锚框;
所述主干网络为多层级结构,用于提取输入图像的多层级图像特征;
所述检测头网络用于根据所述多层级图像特征,提取目标参数信息,所述目标参数信息至少包括目标位置、类别以及置信度信息;
所述预测层根据检测头网络的输出生成目标边界框和置信度,并根据所述置信度进行目标排序,以生成不同尺度的特征图;
所述锚框用于对每个特征图进行目标预测,并利用利用非极大值抑制对预测结果进行筛选和合并,以得到目标边界框信息。
5.根据权利要求4所述的方法,其特征在于,所述主干网络中设有特征金字塔网络和路径聚合网络;
所述特征金字塔网络连接所述主干网络的多层级结构,通过横向连接和上采样操作,将不同层级的图像特征进行融合;
所述路径聚合网络通过级联连接不同层级的特征金字塔网络,将浅层和深层的特征信息进行融合。
6.根据权利要求1所述的方法,其特征在于,所述根据所述目标边界框信息以及用户提前确定的跟踪目标,对当前视频帧图像中的目标与前一视频帧图像中的跟踪目标进行匹配,确定无人机的跟踪轨迹更新数据,包括:
利用卡尔曼滤波算法,对所述目标边界框信息进行处理,得到每个视频帧图像中目标的运动状态变量,所述状态变量包括中心坐标和速度;
根据连续的视频帧图像中目标的运动状态变量,利用匈牙利算法将当前视频帧中的目标和前一视频帧中的跟踪目标进行匹配,确定无人机的跟踪轨迹更新数据。
7.根据权利要求4所述的方法,其特征在于,根据所述无人机的跟踪轨迹更新数据,对所述无人机进行跟踪控制,包括:
根据所述无人机的跟踪轨迹更新数据,确定所述无人机的跟踪对象;
根据所述跟踪对象对应的边界框信息,确定所述跟踪对象的目标框面积是否超过第一阈值;
若所述目标框面积超过第一阈值,则计算所述无人机的运动控制量;
根据所述无人机的运动控制量,控制无人机进行跟踪控制,并实时判断所述跟踪对象的目标框是否接近输入图像的边缘;
若所述跟踪对象的目标框接近输入图像的边缘,则保持水平控制;
若所述跟踪对象的目标框没有接近输入图像的边缘,则根据跟踪对象的目标框面积调整无人机的俯仰角度;
若所述目标框面积不超过第一阈值,则调整所述无人机的视频采集角度,以重新确定跟踪对象。
8.根据权利要求7所述的方法,其特征在于,根据跟踪对象的目标框面积调整无人机的俯仰角度,包括:
判断所述跟踪对象的目标框面积与输入图像面积的比例是否超过预设比例;
若是,则控制所述无人机按照预设倾斜角度飞行;
若否,则控制所述无人机保持原先状态飞行。
9.一种基于计算机视觉的微型无人机目标识别与跟踪控制装置,其特征在于,所述装置包括:
视频流获取模块,用于获取无人机实时采集的视频流;
处理模块,用于提取所述视频流中的视频帧图像,并对每个视频帧图像进行处理以得到输入图像;
特征提取模块,用于将所述输入图像输入至预先训练完成的YOLOv5神经网络模型中,以得到所述输入图像中的目标边界框信息,所述目标边界框信息包括目标类型和置信度;
匹配模块,用于根据所述目标边界框信息以及用户提前确定的跟踪目标,对当前视频帧图像中的目标与前一视频帧图像中的跟踪目标进行匹配,确定无人机的跟踪轨迹更新数据;
控制模块,用于根据所述无人机的跟踪轨迹更新数据,对所述无人机进行跟踪控制。
10.一种无人机控制系统,其特征在于,所述系统包括:
无人机;
控制终端,所述控制终端与所述无人机通信连接,用于根据权利要求1至8任一项所述的方法控制所述无人机飞行。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310603409.1A CN117036989A (zh) | 2023-05-25 | 2023-05-25 | 基于计算机视觉的微型无人机目标识别与跟踪控制方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310603409.1A CN117036989A (zh) | 2023-05-25 | 2023-05-25 | 基于计算机视觉的微型无人机目标识别与跟踪控制方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN117036989A true CN117036989A (zh) | 2023-11-10 |
Family
ID=88621461
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202310603409.1A Pending CN117036989A (zh) | 2023-05-25 | 2023-05-25 | 基于计算机视觉的微型无人机目标识别与跟踪控制方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN117036989A (zh) |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117788302A (zh) * | 2024-02-26 | 2024-03-29 | 山东全维地信科技有限公司 | 一种测绘图形处理系统 |
| CN117830592A (zh) * | 2023-12-04 | 2024-04-05 | 广州成至智能机器科技有限公司 | 一种基于图像的无人机夜间照明方法、系统、设备及介质 |
| CN118413561A (zh) * | 2024-07-02 | 2024-07-30 | 舟山中远海运重工有限公司 | 基于深度智能学习算法的无人机巡视系统和数据处理方法 |
| CN118426461A (zh) * | 2024-03-29 | 2024-08-02 | 北京科技大学 | 基于视觉信息的仿生四足机器人人员感知跟随方法和系统 |
| CN118940325A (zh) * | 2024-10-15 | 2024-11-12 | 数字丝路新疆产业投资集团有限公司 | 基于区块链的数据协同处理系统及方法 |
| CN119152335A (zh) * | 2024-11-18 | 2024-12-17 | 深圳天鹰兄弟无人机创新有限公司 | 无人机视觉识别方法及装置 |
| CN119596975A (zh) * | 2024-11-28 | 2025-03-11 | 广东电网有限责任公司 | 一种无人机的追踪定位方法及追踪定位装置 |
| CN119693819A (zh) * | 2024-10-24 | 2025-03-25 | 广州成至智能机器科技有限公司 | 一种无人机自动闯入巡检方法、系统及存储介质 |
| CN120219997A (zh) * | 2025-03-17 | 2025-06-27 | 四川云图世景智慧科技有限公司 | 基于神经网络的无人机视觉跟踪方法及系统 |
| CN120997833A (zh) * | 2025-10-22 | 2025-11-21 | 苏州元脑智能科技有限公司 | 模型训练样本的标注方法和电子设备、存储介质 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2017143589A1 (en) * | 2016-02-26 | 2017-08-31 | SZ DJI Technology Co., Ltd. | Systems and methods for visual target tracking |
| CN107729808A (zh) * | 2017-09-08 | 2018-02-23 | 国网山东省电力公司电力科学研究院 | 一种用于输电线路无人机巡检的图像智能采集系统及方法 |
| CN108107920A (zh) * | 2017-12-19 | 2018-06-01 | 天津工业大学 | 一种微小型双轴视觉稳定云台目标探测跟踪系统 |
-
2023
- 2023-05-25 CN CN202310603409.1A patent/CN117036989A/zh active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2017143589A1 (en) * | 2016-02-26 | 2017-08-31 | SZ DJI Technology Co., Ltd. | Systems and methods for visual target tracking |
| CN107729808A (zh) * | 2017-09-08 | 2018-02-23 | 国网山东省电力公司电力科学研究院 | 一种用于输电线路无人机巡检的图像智能采集系统及方法 |
| CN108107920A (zh) * | 2017-12-19 | 2018-06-01 | 天津工业大学 | 一种微小型双轴视觉稳定云台目标探测跟踪系统 |
Non-Patent Citations (1)
| Title |
|---|
| 程浩: "基于无人机视角的多目标检测及跟踪算法研究", 《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》, no. 2022, 15 February 2022 (2022-02-15), pages 031 - 191 * |
Cited By (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117830592A (zh) * | 2023-12-04 | 2024-04-05 | 广州成至智能机器科技有限公司 | 一种基于图像的无人机夜间照明方法、系统、设备及介质 |
| CN117830592B (zh) * | 2023-12-04 | 2024-07-12 | 广州成至智能机器科技有限公司 | 一种基于图像的无人机夜间照明方法、系统、设备及介质 |
| CN117788302B (zh) * | 2024-02-26 | 2024-05-14 | 山东全维地信科技有限公司 | 一种测绘图形处理系统 |
| CN117788302A (zh) * | 2024-02-26 | 2024-03-29 | 山东全维地信科技有限公司 | 一种测绘图形处理系统 |
| CN118426461A (zh) * | 2024-03-29 | 2024-08-02 | 北京科技大学 | 基于视觉信息的仿生四足机器人人员感知跟随方法和系统 |
| CN118413561B (zh) * | 2024-07-02 | 2024-09-20 | 舟山中远海运重工有限公司 | 基于深度智能学习算法的无人机巡视系统 |
| CN118413561A (zh) * | 2024-07-02 | 2024-07-30 | 舟山中远海运重工有限公司 | 基于深度智能学习算法的无人机巡视系统和数据处理方法 |
| CN118940325A (zh) * | 2024-10-15 | 2024-11-12 | 数字丝路新疆产业投资集团有限公司 | 基于区块链的数据协同处理系统及方法 |
| CN119693819A (zh) * | 2024-10-24 | 2025-03-25 | 广州成至智能机器科技有限公司 | 一种无人机自动闯入巡检方法、系统及存储介质 |
| CN119693819B (zh) * | 2024-10-24 | 2025-10-31 | 广州成至智能机器科技有限公司 | 一种无人机自动闯入巡检方法、系统及存储介质 |
| CN119152335A (zh) * | 2024-11-18 | 2024-12-17 | 深圳天鹰兄弟无人机创新有限公司 | 无人机视觉识别方法及装置 |
| CN119152335B (zh) * | 2024-11-18 | 2025-01-17 | 深圳天鹰兄弟无人机创新有限公司 | 无人机视觉识别方法及装置 |
| CN119596975A (zh) * | 2024-11-28 | 2025-03-11 | 广东电网有限责任公司 | 一种无人机的追踪定位方法及追踪定位装置 |
| CN120219997A (zh) * | 2025-03-17 | 2025-06-27 | 四川云图世景智慧科技有限公司 | 基于神经网络的无人机视觉跟踪方法及系统 |
| CN120997833A (zh) * | 2025-10-22 | 2025-11-21 | 苏州元脑智能科技有限公司 | 模型训练样本的标注方法和电子设备、存储介质 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN117036989A (zh) | 基于计算机视觉的微型无人机目标识别与跟踪控制方法 | |
| Leira et al. | Object detection, recognition, and tracking from UAVs using a thermal camera | |
| Zhao et al. | Detection, tracking, and geolocation of moving vehicle from uav using monocular camera | |
| CN110136199B (zh) | 一种基于摄像头的车辆定位、建图的方法和装置 | |
| CN112567201B (zh) | 距离测量方法以及设备 | |
| CN110047108B (zh) | 无人机位姿确定方法、装置、计算机设备及存储介质 | |
| CN113269098A (zh) | 一种基于无人机的多目标跟踪定位与运动状态估计方法 | |
| CN110047142A (zh) | 无人机三维地图构建方法、装置、计算机设备及存储介质 | |
| US20190220019A1 (en) | Autonomously-controlled inspection platform with model-based active adaptive data collection | |
| CN115861860B (zh) | 一种无人机的目标跟踪定位方法和系统 | |
| JP2022520019A (ja) | 画像処理方法、装置、移動可能なプラットフォーム、プログラム | |
| CN106529538A (zh) | 一种飞行器的定位方法和装置 | |
| CN110770791A (zh) | 一种基于点云地图的图像边界获取方法、设备及飞行器 | |
| CN105955308A (zh) | 一种飞行器的控制方法和装置 | |
| WO2020103108A1 (zh) | 一种语义生成方法、设备、飞行器及存储介质 | |
| CN110799983A (zh) | 一种地图生成方法、设备、飞行器及存储介质 | |
| Baldini et al. | Learning pose estimation for UAV autonomous navigation and landing using visual-inertial sensor data | |
| CN118279770A (zh) | 一种基于slam算法的无人机跟拍方法 | |
| CN116185049A (zh) | 基于视觉引导的无人直升机自主着舰方法 | |
| Chen et al. | Emergency uav landing on unknown field using depth-enhanced graph structure | |
| Basit et al. | Joint localization of pursuit quadcopters and target using monocular cues | |
| Rilanto Trilaksono et al. | Hardware‐in‐the‐loop simulation for visual target tracking of octorotor UAV | |
| Koumis et al. | Estimating metric scale visual odometry from videos using 3D convolutional networks | |
| Baldini et al. | Learning pose estimation for uav autonomous navigation andlanding using visual-inertial sensor data | |
| CN117130383A (zh) | 无人机视觉跟踪方法、系统、无人机及可读存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination |