一种基于无人机的目标检测和三维定位方法和系统
文献发布时间:2023-06-19 13:26:15
技术领域
本发明涉及的是图像处理领域,特别涉及一种基于无人机的目标检测和三维定位方法和系统。
背景技术
在计算机视觉中,目标检测和目标的深度估计均是基础性问题。目标检测从传统方法到基于神经网络的方法,已经取得了卓有成效的成果。目前,深度学习模型已广泛应用于计算机视觉的整个领域,包括通用目标检测和特定领域目标检测。大多数最先进的物体检测器利用深度学习网络作为其骨干和检测网络,分别从输入图像(或视频)中提取特征,进行分类和定位。目标检测作为场景理解的重要组成部分,广泛应用于现代生活的许多领域,如安全领域、军事领域、交通领域、医疗领域和生活领域。但对于小型无人机而言,系统资源的不足使得网络的运行速度较慢,完成实时快速有效的目标检测是对这一任务的考验。
针对目标深度估计任务。在传统方法中,基于立体视觉的深度估计通过在多张图片上、匹配手工提取的特征来解决。尽管进行了广泛的研究,这些传统方法仍然受复杂纹理区域、较大的难以区别的区域以及遮挡的影响。是一个长期存在的不适定问题,其在很多领域都有应用,比如机器人、自动驾驶、物体识别、场景理解、3D建模和动画、增强现实、工业控制以及医疗诊断。这个问题已经被广泛研究了数十年。其中立体匹配是传统上研究最多的一种,因为它与人类的双目有着紧密联系。由于使用深度学习解决基于立体视觉的深度估计问题的方法在解决各种2D和3D视觉问题上获得的成功,使用深度学习解决基于立体视觉的深度估计问题的方法受到了广泛的关注,在2014年-2019年之间,该领域发表了150多篇论文。但由于需要消耗巨大的资源,使用深度学习并不能有效在移动式设备中实现有效应用。传统双目定位算法中,受限于基线,无法实现远距离的目标定位。其次,无人机在运行过程中存在着稳定和控制的影响。因此,无人机的目标三维定位必须在受到无人机稳定性,资源等因素的干扰下正常工作,具有极大的技术挑战。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于无人机的目标检测和三维定位方法和系统。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
.一种基于无人机的目标检测和实时三维定位方法,包括:
S100.预设无人机云台倾角,在确定经纬度位置和高度的条件下,通过无人机记录当前多幅图像,根据所获得图像进行目标物的提取,并对目标进行排序和分类;
S200.根据S100中的获得的有效输出,包括危险类别和目标的像素位置,计算出某一确定目标在图像中的中心位置以及类别;
S300.通过已知飞行高度,无人机云台位姿,借助三维世界的三维坐标系计算图像中心在世界坐标系的准确位置;
S400.根据图像对应的摄像头自身的缩放比例以及相机物理参数,获得S300中的目标在相机坐标系下的三维坐标,并利用多项式优化完成对数据的修正;
S500.通过无人机所在地理位置和无人机相对于摄像机的位姿,获得最终各个感兴趣目标在真实世界坐标系下的经纬度,达到高空无人机对目标的三维定位目的。
进一步地,S100中,无人机记录记录当前多幅图像,根据所获得图像进行目标物的提取,并对目标进行排序和分类的方法具体为:通过无人机摄像头的实时采集工作,将图像实时传回到后台运行的CNN网络中。
进一步地,S100中,进行图像的有效检测,采用多帧图像的稳定输出为判断标准,若无法获得稳定图像,则返回S100,将相机进行缩放,重新获取图像,在持续的多帧目标确定后,以多次的输出结果作为有效输出。
进一步地,S300中,计算图像中心在世界坐标系的准确位置方法为:利用世界坐标系与无人机坐标系的外参矩阵(R
P
P
其中,P
进一步地,世界坐标系和无人机坐标系平移矩阵T
进一步地,S300中,还需要获得图像像素中心与机载相机原点的距离,计算获得图像像素中心与机载相机原点的距离公式为:
其中,h
进一步地,S400实现方法为:预设图像中心坐标为(u
dx=pixel×(u-u
dy=pixel×(v-v
其中dx,dy代表的是目标像素与中心像素之间的实际物理距离。
进一步地,计算实际位置之后可根据相机的内参矩阵获得目标像素在机载相机坐标系下的位置,包括:获得目标像素的方位角和俯仰角后,即可重新计算机载相机坐标系到无人机坐标系的旋转矩阵R'
Tar=R'
其中,Tar为目标像素在无人机坐标系下的实际坐标,R'
进一步地,S500具体方法为:在S300中定义的世界坐标系中目标物体的世界坐标后,将世界坐标中的Z轴坐标进行去除,通过世界坐标系中x轴与y轴获取实际距离,通过距离与经纬度的转换可获得目标物体在现实世界中的定位。
本发明还公开了一种基于无人机的目标检测和实时三维定位系统,包括:目标提取模块、图像中心点坐标获取模块、世界坐标系坐标转换模块、相机坐标系转换模块、三维定位模块;其中:
目标提取模块,用于通过无人机记录当前多幅图像,根据所获得图像进行目标物的提取,并对目标进行排序和分类;
图像中心点坐标获取模块,用于根据目标提取模块获得的有效输出,包括危险类别和目标的像素位置,计算出某一确定目标在图像中的中心位置以及类别;
世界坐标系坐标转换模块,用于通过已知飞行高度,无人机云台位姿,借助三维世界的三维坐标系计算图像中心在世界坐标系的准确位置;
相机坐标系转换模块,用于根据图像对应的摄像头自身的缩放比例以及相机物理参数,获得目标在相机坐标系下的三维坐标,并利用多项式优化完成对数据的修正;
三维定位模块,用于通过无人机所在地理位置和无人机相对于摄像机的位姿,获得最终各个感兴趣目标在真实世界坐标系下的经纬度,达到高空无人机对目标的三维定位目的。
本发明实施例提供的上述技术方案的有益效果至少包括:
本发明公开了一种基于单目无人机图像的目标检测和三维世界的具体目标定位方法。在目标检测部分,利用快速高效的方式完成具体目标的检测,在避免图像的全局深度估计的情况下,本发明仅对具体目标进行深度估计,由于无人机在高空中飞行时,地面目标相对于无人机而言,其小部分的高度差并无较大影响。其次,正对地面拍摄视角与无人机云台偏移下的视角有较大差别,本发明通过无人机的姿态位置调整图像。并根据真实世界的三维几何解算来获得二维图像中的具体点在三维世界下的准确位置。解决了现有技术中,传统双目定位算法中,受限于基线,无法实现远距离的目标定位和无人机在运行过程中存在着稳定和控制的影响的问题。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例1中一种基于无人机的目标检测和三维定位方法的流程图;
图2为本发明实施例1中,生成预训练神经网络模型流程图;
图3为本发明实施例2中,无人机坐标和世界坐标转换示意图;
图4为本发明实施例2中,坐标系旋转顺序与角度示意图;
图5为本发明实施例2中,基于相机-世界旋转矩阵的目标距离判断示意图;
图6为本发明实施例2中,相机光心-中心像素方向x
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了解决现有技术中存在的问题,本发明实施例提供一种基于无人机的目标检测和三维定位方法和系统。
实施例1
本实施例公开了一种基于无人机的目标检测和实时三维定位方法,如图1,包括:
S100.预设无人机云台倾角,在确定经纬度位置和高度的条件下,通过无人机记录当前多幅图像,根据所获得图像进行目标物的提取,并对目标进行排序和分类。在本实施例中,S100具体包括:通过无人机摄像头的实时采集工作,将图像实时传回到后台运行的CNN网络中。本实施例还会对图像进行有效检测,采用多帧图像的稳定输出为判断标准,若无法获得稳定图像,则返回S100,将相机进行缩放,重新获取图像,在持续的多帧目标确定后,以多次的输出结果作为有效输出。
具体的,在无人机正常飞行过程中,设置其飞行的速度v,云台三轴以固定角速度ωrad/s周期性运转,并同时启动目标检测神经网络,目标检测部分以one-stage方法中的yoloV4算法作为基准。利用CSPDarknet53作为骨干网络基准,SPP作为Neck的附加模块,PANet作为Neck的特征融合模块,速度极快。但由于无人机的飞行高度较高和目标物体较小的问题,在检测过程中可能出现断续,同时会受到光照的影响。这种情况下,目标检测任务需要寻求更高清晰度的输入,本发明通过在检测前期任务中出现的断续检测结果作为可疑目标ST
S200.根据S100中的获得的有效输出,包括危险类别和目标的像素位置,计算出某一确定目标在图像中的中心位置以及类别;具体的,通过在S100获得的有效输出。包括危险类别和目标的像素位置(x,y,width,height),其中,(x,y)为目标的左上角像素坐标,(width,height)为目标的长宽,计算出某一确定危险目标在图像中的中心位置以及类别,设置为label(x
S300.通过已知飞行高度,无人机云台位姿,借助三维世界的三维坐标系计算图像中心在世界坐标系的准确位置。
具体的,在计算目标物体在世界坐标系下的位置,需要一些先验信息作为保证,我们定义以下已知信息:世界坐标系P
在本实施例中,具体转换方式如下:利用世界坐标系与无人机坐标系的外参矩阵(R
世界坐标系P
由于世界坐标系是人为定义的,本发明将世界坐标系与无人机坐标系原点重合,从而简化无人机坐标系与世界坐标系的转换,即平移矩阵T
至此完成世界坐标系与无人机坐标系的有效转换,在讨论无人机在世界中的位置时,已经将经纬度对应关系添加到了位置计算中,且无人机相对于世界坐标系的三轴(x
P
其中R
由于距离不存在负值,需要对正弦值进行绝对值处理,而无人机自身记载的是相对于海平面高度,飞行相对地面的实际高度则需要通过提前记录地面相对于海平面高度。参见图5,我们可以知道此处距离即为相机坐标系中的x
S400.根据图像对应的摄像头自身的缩放比例以及相机物理参数,获得S300中的目标在相机坐标系下的三维坐标,并利用多项式优化完成对数据的修正。
在实际实践中,目标不会恰好出现在正中心位置,此时则需要计算图像中任意位置在机载相机坐标系下的实际坐标,从而获得目标物的实际三维世界坐标,即经纬度值。为有效计算图像中位于任意位置像素的目标在相机坐标系下的位置,需要已知一些实际内容,本步骤中需要了解的信息包括相机未放大时的内参(f
参见图6,此处成像平面并非实际中的地面,而是以距离distance为准的前提下平行于实际成像平面的一个虚平面。此虚平面垂直于光心法线,与实际地面的角度恰好为俯仰角(90°-β),需将地面做成像投影,从而获得成像平面中的像素与地面真正所代表的位置的对应关系。假定图像中心坐标为(u
其中dx,dy参见图6右侧中的内容,其所代表的是目标像素与中心像素之间的实际物理距离。计算之后可根据相机的内参矩阵获得目标像素在机载相机坐标系下。具体方式如下:
由于成像平面内图像中心像素相对于相机在三轴上均不存在旋转角度,但在任意位置可能出现的目标在成像平面上的位置相对于相机光心则有俯仰角和方位角的偏移,其中,我们定义目标像素相对于中心像素在无人机坐标系下的方位角为Δα
α'
其中Δα
同理,相机光心-目标像素到无人机坐标系的新方位角β'
获得目标像素的方位角和俯仰角后,即可重新计算机载相机坐标系到无人机坐标系的旋转矩阵R'
Tar=R'
在进行下一步骤转换前,本文需要对现有坐标做进一步优化,本文中所设定的世界坐标系中xoy平面与地面平行,即z轴上坐标为无人机的实际飞行高度,在进行上述有效转换后,通过无人机的飞行实际高度和计算结果进行多次比较后,根据差异性进行优化,在多次实验中,本文引入了多项式优化,有效提高了坐标值的精确。
S500.通过无人机所在地理位置和无人机相对于摄像机的位姿,获得最终各个感兴趣目标在真实世界坐标系下的经纬度,达到高空无人机对目标的三维定位目的。在获得步骤3中定义的世界坐标系中目标物体的世界坐标后,由于经纬度均仅在二维平面内表示实际位置,这里的z轴数据可忽略,仅代表无人机的飞行高度,由于世界坐标系中x轴与y轴相应与经纬度平行。坐标值即为实际中的距离,通过距离与经纬度的转换可获得目标物体在现实世界中的定位。至此,完成本发明的整体流程。
本实施例还公开了一种基于无人机的目标检测和实时三维定位系统,包括:目标提取模块、图像中心点坐标获取模块、世界坐标系坐标转换模块、相机坐标系转换模块、三维定位模块;其中:
目标提取模块,用于通过无人机记录当前多幅图像,根据所获得图像进行目标物的提取,并对目标进行排序和分类;
图像中心点坐标获取模块,用于根据目标提取模块获得的有效输出,包括危险类别和目标的像素位置,计算出某一确定目标在图像中的中心位置以及类别;
世界坐标系坐标转换模块,用于通过已知飞行高度,无人机云台位姿,借助三维世界的三维坐标系计算图像中心在世界坐标系的准确位置;
相机坐标系转换模块,用于根据图像对应的摄像头自身的缩放比例以及相机物理参数,获得目标在相机坐标系下的三维坐标,并利用多项式优化完成对数据的修正;
三维定位模块,用于通过无人机所在地理位置和无人机相对于摄像机的位姿,获得最终各个感兴趣目标在真实世界坐标系下的经纬度,达到高空无人机对目标的三维定位目的。
本实施例公开了一种基于无人机的目标检测和实时三维定位方法和系统。在目标检测部分,利用快速高效的方式完成具体目标的检测,在避免图像的全局深度估计的情况下,本发明仅对具体目标进行深度估计,由于无人机在高空中飞行时,地面目标相对于无人机而言,其小部分的高度差并无较大影响。其次,正对地面拍摄视角与无人机云台偏移下的视角有较大差别,本发明通过无人机的姿态位置调整图像。并根据真实世界的三维几何解算来获得二维图像中的具体点在三维世界下的准确位置。解决了现有技术中,传统双目定位算法中,受限于基线,无法实现远距离的目标定位和无人机在运行过程中存在着稳定和控制的影响的问题。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
结合本文的实施例所描述的方法或者算法的步骤可直接体现为硬件、由处理器执行的软件模块或其组合。软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动磁盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质连接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。该ASIC可以位于用户终端中。当然,处理器和存储介质也可以作为分立组件存在于用户终端中。
对于软件实现,本申请中描述的技术可用执行本申请所述功能的模块(例如,过程、函数等)来实现。这些软件代码可以存储在存储器单元并由处理器执行。存储器单元可以实现在处理器内,也可以实现在处理器外,在后一种情况下,它经由各种手段以通信方式耦合到处理器,这些都是本领域中所公知的。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
- 一种基于无人机的目标检测和三维定位方法和系统
- 一种复杂背景下无人机载小目标检测定位方法及系统