一种基于关键点以及骨架的飞机姿态估计方法及系统转让专利

申请号 : CN202010919546.2

文献号 : CN112037282B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 魏振忠樊润泽许庭兵

申请人 : 北京航空航天大学

摘要 :

本发明涉及一种基于关键点以及骨架的飞机姿态估计方法及系统。该方法包括获取数据集;根据所述数据集训练卷积神经网络;所述卷积神经网络以单幅RGB图像为输入,以位置概率分布图为输出;根据所述位置概率分布图确定关键点位置、关键点置信概率、骨架位置以及骨架置信概率;根据所述关键点位置、所述关键点置信概率、所述骨架位置以及所述骨架置信概率,采用姿态求解算法确定飞机姿态。本发明所提供的一种基于关键点以及骨架的飞机姿态估计方法及系统,对光照、大气抖动、雾霾有着很强的鲁棒性,能在恶略天气下快速、准确的估计飞机姿态。

权利要求 :

1.一种基于关键点以及骨架的飞机姿态估计方法,其特征在于,包括:获取数据集;所述数据集包括:真实数据集以及虚拟数据集;所述真实数据集包括:在不同姿态、光照、背景、天气条件下的飞机飞行图像及对应的标注数据;所述虚拟数据集包括:通过OpenGL渲染得到虚拟图像以及通过算法计算得到的标注数据;所述标注数据包括:相机的焦距、像元大小、飞机的二维检测框、飞机相对于相机的姿态、飞机三维检测框在图像上投影点坐标、飞机关键点在图像上投影点坐标以及飞机骨架在图像上投影位置;

根据所述数据集训练卷积神经网络;所述卷积神经网络以单幅RGB图像为输入,以位置概率分布图为输出;所述位置概率分布图包括:骨架位置概率分布图和关键点位置概率分布图;

根据所述位置概率分布图确定关键点位置、关键点置信概率、骨架位置以及骨架置信概率;

所述根据所述位置概率分布图确定关键点位置、关键点置信概率、骨架位置以及骨架置信概率,具体包括:

遍历所述关键点位置概率分布图,将最大概率值的位置确定为所述关键点位置;

将所述最大概率值确定为所述关键点置信概率;

遍历所述骨架位置概率分布图,将概率值大于设定阈值的位置确定为骨架待选位置;

根据所述骨架待选位置,采用最小二乘法进行拟合,确定所述骨架位置;

将所述骨架待选位置到所述骨架位置的平均距离的倒数作为所述骨架置信概率;

根据所述关键点位置、所述关键点置信概率、所述骨架位置以及所述骨架置信概率,采用姿态求解算法确定飞机姿态;

所述根据所述关键点位置、所述关键点置信概率、所述骨架位置以及所述骨架置信概率,采用姿态求解算法确定飞机姿态,具体包括:根据所述关键点置信概率和所述关键点位置以及关键点的相机成像模型,计算关键点位置以及重投影点位置误差;

根据所述关键点位置以及重投影点位置误差构建关键点损失函数;

根据所述骨架位置以及所述骨架置信概率以及骨架的相机成像模型,计算骨架以及重投影骨架位置误差;

根据所述骨架以及重投影骨架位置误差构建骨架损失函数;

根据所述关键点损失函数和所述骨架损失函数确定姿态优化函数;

采用姿态求解算法对姿态优化函数进行求解,确定所述飞机姿态。

2.根据权利要求1所述的一种基于关键点以及骨架的飞机姿态估计方法,其特征在于,所述根据所述数据集训练卷积神经网络,具体包括:利用所述数据集,采用随机梯度下降算法对所述卷积神经网络进行训练。

3.根据权利要求1所述的一种基于关键点以及骨架的飞机姿态估计方法,其特征在于,所述根据所述位置概率分布图确定关键点位置、关键点置信概率、骨架位置以及骨架置信概率,之前还包括:

通过检测网络YOLO V3检测图像中的飞机目标区域。

4.一种基于关键点以及骨架的飞机姿态估计系统,其特征在于,包括:数据集获取模块,用于获取数据集;所述数据集包括:真实数据集以及虚拟数据集;所述真实数据集包括:在不同姿态、光照、背景、天气条件下的飞机飞行图像及对应的标注数据;所述虚拟数据集包括:通过OpenGL渲染得到虚拟图像以及通过算法计算得到的标注数据;所述标注数据包括:相机的焦距、像元大小、飞机的二维检测框、飞机相对于相机的姿态、飞机三维检测框在图像上投影点坐标、飞机关键点在图像上投影点坐标以及飞机骨架在图像上投影位置;

卷积神经网络训练模块,用于根据所述数据集训练卷积神经网络;所述卷积神经网络以单幅RGB图像为输入,以位置概率分布图为输出;所述位置概率分布图包括:骨架位置概率分布图和关键点位置概率分布图;

位置及置信概率确定模块,用于根据所述位置概率分布图确定关键点位置、关键点置信概率、骨架位置以及骨架置信概率;

所述位置及置信概率确定模块具体包括:关键点位置确定单元,用于遍历所述关键点位置概率分布图,将最大概率值的位置确定为所述关键点位置;

关键点置信概率确定单元,用于将所述最大概率值确定为所述关键点置信概率;

骨架待选位置确定单元,用于遍历所述骨架位置概率分布图,将概率值大于设定阈值的位置确定为骨架待选位置;

骨架位置确定单元,用于根据所述骨架待选位置,采用最小二乘法进行拟合,确定所述骨架位置;

骨架置信概率确定单元,用于将所述骨架待选位置到所述骨架位置的平均距离的倒数作为所述骨架置信概率;

飞机姿态确定模块,用于根据所述关键点位置、所述关键点置信概率、所述骨架位置以及所述骨架置信概率,采用姿态求解算法确定飞机姿态;

所述飞机姿态确定模块具体包括:关键点位置以及重投影点位置误差确定单元,用于根据所述关键点置信概率和所述关键点位置以及关键点的相机成像模型,计算关键点位置以及重投影点位置误差;

关键点损失函数确定单元,用于根据所述关键点位置以及重投影点位置误差构建关键点损失函数;

骨架以及重投影骨架位置误差确定单元,用于根据所述骨架位置以及所述骨架置信概率以及骨架的相机成像模型,计算骨架以及重投影骨架位置误差;

骨架损失函数确定单元,用于根据所述骨架以及重投影骨架位置误差构建骨架损失函数;

姿态优化函数确定单元,用于根据所述关键点损失函数和所述骨架损失函数确定姿态优化函数;

飞机姿态确定单元,用于采用姿态求解算法对姿态优化函数进行求解,确定所述飞机姿态。

5.根据权利要求4所述的一种基于关键点以及骨架的飞机姿态估计系统,其特征在于,所述卷积神经网络训练模块具体包括:训练单元,用于利用所述数据集,采用随机梯度下降算法对所述卷积神经网络进行训练。

6.根据权利要求4所述的一种基于关键点以及骨架的飞机姿态估计系统,其特征在于,还包括:

飞机目标区域确定模块,用于通过检测网络YOLO V3检测图像中的飞机目标区域。

说明书 :

一种基于关键点以及骨架的飞机姿态估计方法及系统

技术领域

[0001] 本发明涉及计算机视觉中基于图像的飞机姿态估计领域,特别是涉及一种基于关键点以及骨架的飞机姿态估计方法及系统。

背景技术

[0002] 基于视觉的物体姿态估计问题是计算机视觉领域中一个富有挑战性的课题,近年来研究人员针对不同的应用场景如机器人操控、虚拟现实、增强现实等设计了不同的物体
姿态估计算法并取得了很好的效果。随着航空领域的发展,越来越多的人将注意力集中到
飞机姿态估计上,即:通过单幅图像估计飞机在飞行过程中相对于相机的姿态,即旋转矩阵
与平移矢量。考虑到飞机在飞行过程中可能遇到的复杂的天气条件、光照变化、大气抖动、
湍流等情况,基于视觉的飞机目标姿态估计问题是极具挑战性的。
[0003] 现有的飞机姿态方法大抵可以分为两类:传统算法以及基于深度学习的算法。
[0004] 传统的飞机姿态估计方法通过2D‑3D特征匹配的方法来估计姿态,但这种方法严重依赖于手工特征的鲁棒性;或者通过模板匹配的来估计飞机的姿态,但在遮挡情况下效
果并不好。
[0005] 基于深度学习的方法通过直接或间接方式来估计飞机的姿态。
[0006] 直接估计飞机姿态的方法训练一个端到端的网络通过回归或分类的方法直接估计物体的姿态,如姿态角、四元数。然而,这种物体姿态估计的方法除了要求网络学习如何
提取姿态相关的特征之外还强迫网络学习复杂的透视几何关系以从提取的特征上恢复出
物体的姿态,因此精度与泛化性得不到很好的保证。
[0007] 间接估计物体姿态的方法首先通过卷积神经网络估计物体关键点的位置,之后根据估计的关键点的位置通过PnP算法提取姿态。这种方法以物体的关键点作为中间变量间
接估计物体姿态,使得网络能够专注于学习如何从网络中提取与关键点位置相关的特征,
而不用再去考虑复杂的透视几何关系,大大的减轻了网络的学习难度。
[0008] 然而,在飞机飞行过程中,常会遇到各种极端天气情况:严重的雾霾导致图像中飞机目标无法清晰可见;大气抖动导致飞机在相面上成像模糊,关键点在图像中无法精确定
位;此外,光照剧烈变化使得飞机表面的纹理特征发生巨大改变甚至导致纹理信息的缺失
也给关键点检测带来了很大的难度。因此,在这些极端的天气条件下,以关键点作为中间变
量间接估计物体姿态的方法的精度得不到保证。
[0009] 综上所述,现有的飞机姿态估计算法仅仅适用于良好天气情况下的飞机姿态估计,当天气条件恶略时,局部特征提取精度的不到保证,算法无法准确估计飞机姿态参数。

发明内容

[0010] 本发明的目的是提供一种基于关键点以及骨架的飞机姿态估计方法及系统,对光照、大气抖动、雾霾有着很强的鲁棒性,能在恶略天气下快速、准确的估计飞机姿态。
[0011] 为实现上述目的,本发明提供了如下方案:
[0012] 一种基于关键点以及骨架的飞机姿态估计方法,包括:
[0013] 获取数据集;所述数据集包括:真实数据集以及虚拟数据集;所述真实数据集包括:在不同姿态、光照、背景、天气条件下的飞机飞行图像及对应的标注数据;所述虚拟数据
集包括:通过OpenGL渲染得到虚拟图像以及通过算法计算得到的标注数据;所述标注数据
包括:相机的焦距、像元大小、飞机的二维检测框、飞机相对于相机的姿态、飞机三维检测框
在图像上投影点坐标、飞机关键点在图像上投影点坐标以及飞机骨架在图像上投影位置;
[0014] 根据所述数据集训练卷积神经网络;所述卷积神经网络以单幅RGB图像为输入,以位置概率分布图为输出;所述位置概率分布图包括:骨架位置概率分布图和关键点位置概
率分布图;
[0015] 根据所述位置概率分布图确定关键点位置、关键点置信概率、骨架位置以及骨架置信概率;
[0016] 根据所述关键点位置、所述关键点置信概率、所述骨架位置以及所述骨架置信概率,采用姿态求解算法确定飞机姿态。
[0017] 可选的,所述根据所述数据集训练卷积神经网络,具体包括:
[0018] 利用所述数据集,采用随机梯度下降算法对所述卷积神经网络进行训练。
[0019] 可选的,所述根据所述位置概率分布图确定关键点位置、关键点置信概率、骨架位置以及骨架置信概率,之前还包括:
[0020] 通过检测网络YOLO V3检测图像中的飞机目标区域。
[0021] 可选的,所述根据所述位置概率分布图确定关键点位置、关键点置信概率、骨架位置以及骨架置信概率,具体包括:
[0022] 遍历所述关键点位置概率分布图,将最大概率值的位置确定为所述关键点位置;
[0023] 将所述最大概率值确定为所述关键点置信概率;
[0024] 遍历所述骨架位置概率分布图,将概率值大于设定阈值的位置确定为骨架待选位置;
[0025] 根据所述骨架待选位置,采用最小二乘法进行拟合,确定所述骨架位置;
[0026] 将所述骨架待选位置到所述骨架位置的平均距离的倒数作为所述骨架置信概率。
[0027] 可选的,所述根据所述关键点位置、所述关键点置信概率、所述骨架位置以及所述骨架置信概率,采用姿态求解算法确定飞机姿态,具体包括:
[0028] 根据所述关键点置信概率和所述关键点位置以及关键点的相机成像模型,计算关键点位置以及重投影点位置误差;
[0029] 根据所述关键点位置以及重投影点位置误差构建关键点损失函数;
[0030] 根据所述骨架位置以及所述骨架置信概率以及骨架的相机成像模型,计算骨架以及重投影骨架位置误差;
[0031] 根据所述骨架以及重投影骨架位置误差构建骨架损失函数;
[0032] 根据所述关键点损失函数和所述骨架损失函数确定姿态优化函数;
[0033] 采用姿态求解算法对姿态优化函数进行求解,确定所述飞机姿态。
[0034] 一种基于关键点以及骨架的飞机姿态估计系统,包括:
[0035] 数据集获取模块,用于获取数据集;所述数据集包括:真实数据集以及虚拟数据集;所述真实数据集包括:在不同姿态、光照、背景、天气条件下的飞机飞行图像及对应的标
注数据;所述虚拟数据集包括:通过OpenGL渲染得到虚拟图像以及通过算法计算得到的标
注数据;所述标注数据包括:相机的焦距、像元大小、飞机的二维检测框、飞机相对于相机的
姿态、飞机三维检测框在图像上投影点坐标、飞机关键点在图像上投影点坐标以及飞机骨
架在图像上投影位置;
[0036] 卷积神经网络训练模块,用于根据所述数据集训练卷积神经网络;所述卷积神经网络以单幅RGB图像为输入,以位置概率分布图为输出;所述位置概率分布图包括:骨架位
置概率分布图和关键点位置概率分布图;
[0037] 位置及置信概率确定模块,用于根据所述位置概率分布图确定关键点位置、关键点置信概率、骨架位置以及骨架置信概率;
[0038] 飞机姿态确定模块,用于根据所述关键点位置、所述关键点置信概率、所述骨架位置以及所述骨架置信概率,采用姿态求解算法确定飞机姿态。
[0039] 可选的,所述卷积神经网络训练模块具体包括:
[0040] 训练单元,用于利用所述数据集,采用随机梯度下降算法对所述卷积神经网络进行训练;
[0041] 可选的,还包括:
[0042] 飞机目标区域确定模块,用于通过检测网络YOLO V3检测图像中的飞机目标区域。
[0043] 可选的,所述位置及置信概率确定模块具体包括:
[0044] 关键点位置确定单元,用于遍历所述关键点位置概率分布图,将最大概率值的位置确定为所述关键点位置;
[0045] 关键点置信概率确定单元,用于将所述最大概率值确定为所述关键点置信概率;
[0046] 骨架待选位置确定单元,用于遍历所述骨架位置概率分布图,将概率值大于设定阈值的位置确定为骨架待选位置;
[0047] 骨架位置确定单元,用于根据所述骨架待选位置,采用最小二乘法进行拟合,确定所述骨架位置;
[0048] 骨架置信概率确定单元,用于将所述骨架待选位置到所述骨架位置的平均距离的倒数作为所述骨架置信概率。
[0049] 可选的,所述飞机姿态确定模块具体包括:
[0050] 关键点位置以及重投影点位置误差确定单元,用于根据所述关键点置信概率和所述关键点位置以及关键点的相机成像模型,计算关键点位置以及重投影点位置误差;
[0051] 关键点损失函数确定单元,用于根据所述关键点位置以及重投影点位置误差构建关键点损失函数;
[0052] 骨架以及重投影骨架位置误差确定单元,用于根据所述骨架位置以及所述骨架置信概率以及骨架的相机成像模型,计算骨架以及重投影骨架位置误差;
[0053] 骨架损失函数确定单元,用于根据所述骨架以及重投影骨架位置误差构建骨架损失函数;
[0054] 姿态优化函数确定单元,用于根据所述关键点损失函数和所述骨架损失函数确定姿态优化函数;
[0055] 飞机姿态确定单元,用于采用姿态求解算法对姿态优化函数进行求解,确定所述飞机姿态。
[0056] 根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0057] 本发明所提供的一种基于关键点以及骨架的飞机姿态估计方法及系统,根据数据集中数据,训练用于提取关键点以及骨架位置的卷积神经网络;通过卷积神经网络预测关
键点位置概率分布图以及骨架位置概率分布图;通过概率分布图得到关键点的位置及其置
信概率以及骨架的位置及其置信概率;根据预测的关键点位置及其置信概率以及骨架位置
及其置信概率,通过姿态求解算法求解飞机姿态参数。本发明无论在良好天气条件还是恶
略天气条件下均可准确估计飞机的姿态参数,具有很好的精度以及鲁棒性。

附图说明

[0058] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施
例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图
获得其他的附图。
[0059] 图1为本发明所提供的一种基于关键点以及骨架的飞机姿态估计方法流程示意图;
[0060] 图2为本发明所提供的飞机目标姿态估计的数据集示意图;
[0061] 图3为本发明所提供的卷积神经网络架构示意图;
[0062] 图4为本发明所提供的卷积神经网络中沙漏块架构示意图;
[0063] 图5为本发明所提供的姿态求解算法示意图;
[0064] 图6为飞机姿态估计结果示意图;
[0065] 图7为本发明所提供的一种基于关键点以及骨架的飞机姿态估计系统结构示意图。

具体实施方式

[0066] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本发明保护的范围。
[0067] 本发明的目的是提供一种基于关键点以及骨架的飞机姿态估计方法及系统,对光照、大气抖动、雾霾有着很强的鲁棒性,能在恶略天气下快速、准确的估计飞机姿态。
[0068] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0069] 图1为本发明所提供的一种基于关键点以及骨架的飞机姿态估计方法流程示意图,如图1所示,本发明所提供的一种基于关键点以及骨架的飞机姿态估计方法,包括:
[0070] S101,获取数据集;所述数据集包括:真实数据集以及虚拟数据集;所述真实数据集包括:在不同姿态、光照、背景、天气条件下的飞机飞行图像及对应的标注数据;所述虚拟
数据集包括:通过OpenGL渲染得到虚拟图像以及通过算法计算得到的标注数据;所述标注
数据包括:相机的焦距、像元大小、飞机的二维检测框、飞机相对于相机的姿态、飞机三维检
测框在图像上投影点坐标、飞机关键点在图像上投影点坐标以及飞机骨架在图像上投影位
置。
[0071] 作为一个具体的实施例,数据集的获取过程充分考虑了飞机起飞、降落、盘旋、滑行等不同姿态条件以及光照、背景、大气抖动、云、雾等不同环境条件,数据集中的标注信息
由人工标注获得。数据集包含了飞机飞行过程中可能遇到的各种极端情况,可以有效的对
飞机目标姿态估计方法的鲁棒性进行评估。真实数据集包含3681张图像,部分真实数据如
图2所示。
[0072] 在标注真实数据的基础上通过OpenGL对飞机模型进行渲染以获得大量的虚拟数据来提高模型的泛化能力。为提高虚拟数据的多样性以及复杂性,生成虚拟数据所用背景
为人工拍摄的不同天气条件下的天空图像以及从KITTI数据集中获取的道路图像。虚拟数
据集中标注的数据与真实数据集中相同,这些标注数据是通过算法计算得到的。虚拟数据
集中包含216000张图像。
[0073] S102,根据所述数据集训练卷积神经网络;所述卷积神经网络以单幅RGB图像为输入,以位置概率分布图为输出;所述位置概率分布图包括:骨架位置概率分布图和关键点位
置概率分布图。卷积神经网络架构如图3所示。
[0074] 卷积神经网络特殊的网络架构,具体架构如下:
[0075] (1)沙漏块架构:整体网络由两个沙漏块组成,每个沙漏块首先通过卷积层以及池化层对图像进行降采样以提取不同尺度的特征,当达到最低分辨率之后,网络再通过一系
列的最近邻上采样提高分辨率,将之前提取的低层特征以及高层特征相融合以更好的对结
果进行预测。当达到沙漏块的输入分辨率之后,网络通过残差块以及一个1x1大小的卷积块
提取特征,之后再通过一个1x1的卷积块预测位置概率分布图。
[0076] (2)堆叠式的网络架构:整体网络由两个沙漏块堆叠而成,第二个沙漏块的输入由三部分组成,分别是第一个沙漏块的输入,第一个沙漏块提取的特征,以及第一个沙漏块的
输出。网络的最终输出为第二个沙漏块预测的关键点以及骨架的位置概率分布图。其中,沙
漏块架构如图4所示。
[0077] S102具体包括:
[0078] 利用所述数据集,采用随机梯度下降算法对所述卷积神经网络进行训练。
[0079] 即由于网络复杂度较高,仅仅在真实数据集上进行训练网络易过拟合,导致网络泛化性较差,因此本发明首先通过虚拟数据集对网络进行训练,使得网络能够精确的提取
用于姿态估计的几何特征,之后再在真实数据集上对网络进行训练,使得网络针对真实图
像能有很好的预测效果。
[0080] S103,根据所述位置概率分布图确定关键点位置、关键点置信概率、骨架位置以及骨架置信概率;
[0081] S103之前还包括:
[0082] 通过检测网络YOLO V3检测图像中的飞机目标区域。进而将飞机目标区域图像输入到卷积神经网络中。
[0083] S103具体包括:
[0084] 遍历所述关键点位置概率分布图,将最大概率值的位置确定为所述关键点位置。
[0085] 将所述最大概率值确定为所述关键点置信概率。
[0086] 遍历所述骨架位置概率分布图,将概率值大于设定阈值的位置确定为骨架待选位置。
[0087] 根据所述骨架待选位置,采用最小二乘法进行拟合,确定所述骨架位置。
[0088] 将所述骨架待选位置到所述骨架位置的平均距离的倒数作为所述骨架置信概率。
[0089] S104,根据所述关键点位置、所述关键点置信概率、所述骨架位置以及所述骨架置信概率,采用姿态求解算法确定飞机姿态。
[0090] S104具体包括:
[0091] 根据所述关键点置信概率和所述关键点位置以及关键点的相机成像模型,计算关键点位置以及重投影点位置误差。
[0092] 根据所述关键点位置以及重投影点位置误差构建关键点损失函数。
[0093] 根据所述骨架位置以及所述骨架置信概率以及骨架的相机成像模型,计算骨架以及重投影骨架位置误差。
[0094] 根据所述骨架以及重投影骨架位置误差构建骨架损失函数。
[0095] 根据所述关键点损失函数和所述骨架损失函数确定姿态优化函数。
[0096] 采用姿态求解算法对姿态优化函数进行求解,确定所述飞机姿态。
[0097] 作为一个具体的实施例,卷积神经网络具体的训练过程为:
[0098] 首先通过标注的2D检测框将飞机所在区域图像裁剪出来,之后再将裁剪出的飞机区域图像作为网络的输入图像。为了在推断时尽量降低检测误差对姿态估计的影响,对标
注的检测框也进行了数据增强,对检测的中心进行了随机平移,随机范围为标注检测框大
小的10%。此外,还对检测框大小进行了随机化,随机范围为原始检测框大小的0.9‑1.1倍。
在对检测框进行数据增强时,保证飞机目标一定包含在数据增强后的检测框内。在对检测
框进行数据增强之后,对裁剪出的图像进行了数据增强,包括平移、旋转、缩放、图像HSV变
换,数据增强中并不包含水平图像翻转。
[0099] 对于训练时所用的真实位置概率分布图,假设关键点以及骨架位置分布服从高斯分布,即:
[0100]
[0101] 其中,e为位置概率分布图中每个像素位置,p(e)为位置概率分布函数,DT(e)为像素e到关键点或骨架的欧氏距离,其中σ为高斯分布的方差,将其设置为1个像素。
[0102] 训练时,网络的损失函数为MSE损失,即计算预测位置概率分布图与真实位置概率分布图之间的均方误差。对于关键点,损失函数可以表示为:
[0103]
[0104] 其中,x为训练数据,yi为第i个关键点对应的真值位置概率分布图,K为关键点个2
数,fi(x)为第i个关键点对应的预测位置概率分布图,||y‑f(x)||表示两个位置概率分布
图之间的MSE损失。
[0105] gi(x)为第i个骨架对应的预测位置概率分布图,S为骨架个数。
[0106] 整体损失函数为:
[0107] Ltotal=Lkpts+Lsts。
[0108] 具体训练过程中,输入图像经过图像增强之后裁剪至512*512大小,每次训练数据量大小为32张图像,网络首先通过虚拟数据集进行训练,总共训练了675000次训练,初始学
习率设为0.001,每10000次训练学习率乘以0.1。之后在真实数据集上进行训练,此时将网
络中沙漏块的参数冻结,仅仅训练后续的关键点以及拓扑骨架预测部分,总共进行了16000
次训练,初始学习率设为0.00025,每4000次训练学习率乘0.1。
[0109] 姿态求解步骤:
[0110] 根据预测的关键点以及骨架位置,通过姿态求解算法求解飞机姿态参数。姿态求解算法的核心思想在于最小化关键点以及骨架的重投影误差。
[0111] 对于关键点,最小化重投影误差得到的优化函数为:
[0112]
[0113]
[0114] 其中μk表示提取的特征点,Xk表示μk对应的物体模型点, 表示投影点,π表示投影函数。因此,最佳的姿态参数为使得上述重投影函数最小化的旋转矩阵以及平移矢量。
[0115] 对于骨架L,我们用骨架的方向d以及骨架上一点P来对其进行表示,即:
[0116] L=[d,P]。
[0117] 如图5所示,Lc=[dc,Pc]表示相机坐标系下的骨架,ω表示相机光心与骨架构成的平面,l为骨架在像平面上的投影。假设νc为平面ω的法向量,当内参矩阵M已知时,平面ω
可以表示为:
[0118] ω=MTl。
[0119] 法向量νc可以由平面ω方程求出求出,简化表示为:
[0120] υc=λst(l)。
[0121] 又νc与Lc正交,即:
[0122] υcTLc=0。
[0123] 根据物体坐标系与相机坐标系之间的刚体变换关系:
[0124] Lc=[dc,Pc]=τ(R,T,Lo)=[Rdo,RPo+T]。
[0125] 其中τ表示物体坐标系到相机坐标系的刚体变换,Lo=[do,Po]表示Lc对应的物体坐标系下的骨架,从而得到:
[0126]
[0127] 因此,重投影误差函数为:
[0128]
[0129]
[0130]
[0131] 最佳的姿态参数为使得上述重投影函数最小化的旋转矩阵以及平移矢量。
[0132] 此外,考虑到在不同图像质量下,提取特征的准确度不同,算法还将提取特征的不确定度考虑在内,因此整体的优化函数如下:
[0133]
[0134] 其中,c为特征提取的不确定度。
[0135] 本发明提供一具体的实施例用于验证本法明的结果。所有的试验在一台装有i9‑9900X CPU@3.50Ghz以及NVIDIA Geforce RTX 2080Ti GPU的计算机上运行。
[0136] 本实施例采用当前最常用的三种评价指标来进行质量评价。2D重投影误差(2D reprojection metric),该指标计算飞机三维模型点在估计的姿态值下的投影点坐标与真
实点坐标之间的平均距离,阈值设为20像素,当重投影误差小于该阈值时则认为姿态估计
正确。平均3D模型距离误差(ADD metric),该指标按照真实姿态与估计的姿态将飞机模型
进行刚体变换,计算在变换后模型的3D平均距离,阈值设为模型大小的10%,当平均距离误
差小于该阈值时则认为姿态估计正确。角度误差(ΔR metric),该指标计算真实姿态值与
估计姿态值之间的误差,阈值设为5°,当角度误差小于阈值时则认为姿态估计正确。
[0137] 为了证明本方法是一种有效的飞机姿态估计方法,采用BB‑8方法与Tekin方法与本发明方法进行比较,最近几年来姿态估计领域极具影响力的优秀算法。为了公平比较,用
同样的训练策略,在数据集上对这两种方法进行了训练。
[0138] 表1展示了本发明方法与上述提到的BB‑8以及Tekin方法在飞机姿态估计数据集上的姿态估计结果,评价指标为2D重投影误差。可以看到,相对于BB‑8以及Tekin方法,提出
的方法在良好天气条件下精度有了一定的提升。而在天气条件较差的情况下,无论是BB‑8
还是Tekin方法其姿态估计精度有了明显下降,尤其是在雾霾天气以及大气抖动情况下。分
析原因在于当处于雾霾天气或大气抖动情况时,图像上飞机目标较为模糊,飞机关键点定
位误差较大,对于BB‑8以及Tekin方法,二者仅仅依靠带有较大误差的关键点来精确求解姿
态是不现实的。而本发明在考虑关键点的同时考虑了骨架这种对天气有较强鲁棒性的几何
特征,因此在天气较差条件下仍能保持较好的姿态估计精度,虽然相较于良好天气条件下
姿态估计精度有所下降,但是姿态估计效果仍然是极好的。
[0139] 表1
[0140]
[0141]
[0142] 表2展示了本发明方法与上述提到的BB‑8以及Tekin方法在飞机姿态估计数据集上的姿态估计结果,评价指标为平均3D模型距离误差。无论是在良好天气条件下还是在恶
略天气条件下,我们的算法相较于BB‑8以及Tekin方法都取得了很好的效果。
[0143] 表2
[0144]
[0145] 此外,为了充分评价姿态估计的精度,忽略焦距造成的T估计误差较大的影响,我们通过角度误差来评估我们的算法以及BB‑8与Tekin方法,如表3所示。可以看出,无论是在
良好天气条件下还是在恶略天气条件下,我们的算法相较于BB‑8以及Tekin方法都取得了
很好的效果。
[0146] 表3
[0147] Delta‑R(5度) BB‑8 Real‑time OURS良好天气条件 85.4 92.9 98.2
雾霾天气 75.2 84.2 90.7
大气抖动 70.7 79.6 89.2
极端光照 82.2 89.1 95.3
总计 81.2 89.1 95.2
[0148] 其中,具体的飞机姿态结果如图6所示。
[0149] 总之,本发明无论在良好天气条件还是恶略天气条件下均可准确估计飞机的姿态参数,相较于传统的飞机姿态估计方法,具有更好的精度以及鲁棒性。
[0150] 图7为本发明所提供的一种基于关键点以及骨架的飞机姿态估计系统结构示意图,如图7所示,本发明所提供的一种基于关键点以及骨架的飞机姿态估计系统,包括:数据
集获取模块701、卷积神经网络训练模块702、位置及置信概率确定模块703和飞机姿态确定
模块704。
[0151] 数据集获取模块701用于获取数据集;所述数据集包括:真实数据集以及虚拟数据集;所述真实数据集包括:在不同姿态、光照、背景、天气条件下的飞机飞行图像及对应的标
注数据;所述虚拟数据集包括:通过OpenGL渲染得到虚拟图像以及通过算法计算得到的标
注数据;所述标注数据包括:相机的焦距、像元大小、飞机的二维检测框、飞机相对于相机的
姿态、飞机三维检测框在图像上投影点坐标、飞机关键点在图像上投影点坐标以及飞机骨
架在图像上投影位置;
[0152] 卷积神经网络训练模块702用于根据所述数据集训练卷积神经网络;所述卷积神经网络以单幅RGB图像为输入,以位置概率分布图为输出;所述位置概率分布图包括:骨架
位置概率分布图和关键点位置概率分布图;
[0153] 位置及置信概率确定模块703用于根据所述位置概率分布图确定关键点位置、关键点置信概率、骨架位置以及骨架置信概率;
[0154] 飞机姿态确定模块704用于根据所述关键点位置、所述关键点置信概率、所述骨架位置以及所述骨架置信概率,采用姿态求解算法确定飞机姿态。
[0155] 本发明所提供的一种基于关键点以及骨架的飞机姿态估计系统,卷积神经网络训练模块702具体包括:训练单元。
[0156] 训练单元用于利用所述数据集,采用随机梯度下降算法对所述卷积神经网络进行训练。
[0157] 本发明所提供的一种基于关键点以及骨架的飞机姿态估计系统,还包括:飞机目标区域确定模块。
[0158] 飞机目标区域确定模块用于通过检测网络YOLO V3检测图像中的飞机目标区域。
[0159] 所述位置及置信概率确定模块703具体包括:关键点位置确定单元、关键点置信概率确定单元、骨架待选位置确定单元、骨架位置确定单元和骨架置信概率确定单元。
[0160] 关键点位置确定单元用于遍历所述关键点位置概率分布图,将最大概率值的位置确定为所述关键点位置;
[0161] 关键点置信概率确定单元用于将所述最大概率值确定为所述关键点置信概率;
[0162] 骨架待选位置确定单元用于遍历所述骨架位置概率分布图,将概率值大于设定阈值的位置确定为骨架待选位置;
[0163] 骨架位置确定单元用于根据所述骨架待选位置,采用最小二乘法进行拟合,确定所述骨架位置;
[0164] 骨架置信概率确定单元用于将所述骨架待选位置到所述骨架位置的平均距离的倒数作为所述骨架置信概率。
[0165] 所述飞机姿态确定模块704具体包括:关键点位置以及重投影点位置误差确定单元、关键点损失函数确定单元、骨架以及重投影骨架位置误差确定单元、骨架损失函数确定
单元、姿态优化函数确定单元和飞机姿态确定单元。
[0166] 关键点位置以及重投影点位置误差确定单元用于根据所述关键点置信概率和所述关键点位置以及关键点的相机成像模型,计算关键点位置以及重投影点位置误差;
[0167] 关键点损失函数确定单元用于根据所述关键点位置以及重投影点位置误差构建关键点损失函数;
[0168] 骨架以及重投影骨架位置误差确定单元用于根据所述骨架位置以及所述骨架置信概率以及骨架的相机成像模型,计算骨架以及重投影骨架位置误差;
[0169] 骨架损失函数确定单元用于根据所述骨架以及重投影骨架位置误差构建骨架损失函数;
[0170] 姿态优化函数确定单元用于根据所述关键点损失函数和所述骨架损失函数确定姿态优化函数;
[0171] 飞机姿态确定单元用于采用姿态求解算法对姿态优化函数进行求解,确定所述飞机姿态。
[0172] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统
而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说
明即可。
[0173] 本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据
本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不
应理解为对本发明的限制。