无人机航向确定方法、装置、无人机及存储介质
技术领域
本发明涉及无人机自动驾驶技术领域,特别是涉及一种无人机航向确定方法、装置、无人机及存储介质。
背景技术
近年来,无人机在城市的应用越来越广泛,例如,环境检测、新闻报道、农林植保等领域均有无人机的参与,无人机在执行任务的过程中,通常需要采用无人机航向确定方法来确定无人机的航向角,以获取无人机的航向信息。
目前,无人机航向确定方法主要为:检测无人机所处位置的地球磁场,得到无人机的地磁参数;利用所得到的地磁参数,计算无人机的航向角。这种方法的缺点是:由于无人机在城市上空飞行时,无人机所处位置的地球磁场容易受到建筑物的磁场干扰,因此,检测到的地磁参数不准确,导致计算得到的无人机航向角也不准确。
发明内容
本发明实施例的目的在于提供一种无人机航向确定方法、装置、无人机及存储介质,以降低磁场干扰对航向角准确性的影响。具体技术方案如下:
第一方面,本发明实施例提供了一种无人机航向确定方法,无人机设置有摄像机,所述方法包括:
获得所述摄像机采集的道路图像和所述无人机的位置,其中,所述道路图像中包含车辆;
确定所述道路图像中车流的车流方向;
根据所述无人机的位置和预设的电子地图,确定所述道路图像中车辆行驶的车道,并通过所述电子地图获得所确定车道的车道方向;
根据所述车流方向和所述车道方向,计算所述无人机的航向角。
可选的,所述确定所述道路图像中车流的车流方向,包括:
在所述道路图像中进行车辆检测,并从检测到的车辆中确定各目标车辆;
确定每一目标车辆的行驶方向;
根据每一目标车辆的行驶方向,确定所述道路图像中车流的车流方向。
可选的,所述确定每一目标车辆的行驶方向,包括:
针对每一目标车辆,获得该目标车辆在道路图像序列的各图像中的位置,其中,所述道路图像序列由所述摄像机所采集的道路图像形成;利用所获得的各个位置确定该目标车辆在图像坐标系下的运动矢量;将所述运动矢量指示的方向,确定为该目标车辆的行驶方向。
可选的,所述根据每一目标车辆的行驶方向,确定所述道路图像中车流的车流方向,包括:
获得每一目标车辆的行驶方向与图像坐标系中水平坐标轴之间的夹角;
计算所获得各个夹角的平均值;
将目标矢量所指示的方向,确定为所述道路图像中车流的车流方向,其中,所述目标矢量为:经过图像坐标系原点与所述水平坐标轴之间夹角为所述平均值的矢量。
可选的,所述根据所述无人机的位置和预设的电子地图,确定所述道路图像中车辆行驶的车道,并通过所述电子地图获得所确定车道的车道方向,包括:
确定所述无人机的位置在预设的电子地图中对应的位置,作为目标位置;
将所述电子地图中距离所述目标位置最近的车道,确定为所述道路图像中车辆行驶的车道;
利用所述电子地图中预设的车道与车道方向的对应关系,得到所确定车道的车道方向。
可选的,所述无人机的位置为:所述无人机在所述摄像机采集所述道路图像过程中的位置;
所述无人机的航向角为:所述无人机在所述摄像机采集所述道路图像过程中的航向角。
可选的,所述根据所述车流方向、车道方向,计算所述无人机的航向角,包括:
获得所述车流方向与图像坐标系中水平坐标轴之间的夹角,作为车流方向角,获得所述车道方向与地理坐标系正北方向的夹角,作为车道方向角;
根据所述车流方向角、所述车道方向角,计算所述无人机的航向角。
可选的,所述根据所述车流方向角、所述车道方向角,计算所述无人机的航向角,包括:
根据以下表达式,计算所述无人机的航向角:
θ=γ-α
其中,θ表示所述无人机的航向角,γ表示所述车道方向角,α表示所述车流方向角。
可选的,所述摄像机与所述无人机间具有相对航向角;
所述根据所述车流方向角、所述车道方向角,计算所述无人机的航向角,包括:
根据所述车流方向角、所述车道方向角和所述相对航向角,计算所述无人机的航向角。
可选的,所述相对航向角为:
预先设置的所述摄像机相对于所述无人机的航向角;或者,
所述摄像机检测到的所述摄像机相对于所述无人机的航向角。
可选的,所述根据所述车流方向角、所述车道方向角和所述相对航向角,计算所述无人机的航向角,包括:
根据以下表达式,计算所述无人机的航向角:
θ=γ-(α+β)
其中,θ表示所述无人机的航向角,γ表示所述车道方向角,α表示所述车流方向角,β表示所述相对航向角。
第二方面,本发明实施例提供了一种无人机航向确定装置,无人机设置有摄像机,所述装置包括:
获得模块,用于获得所述摄像机采集的道路图像和所述无人机的位置,其中,所述道路图像中包含车辆;
第一确定模块,用于确定所述道路图像中车流的车流方向;
第二确定模块,用于根据所述无人机的位置和预设的电子地图,确定所述道路图像中车辆行驶的车道,并通过所述电子地图获得所确定车道的车道方向;
计算模块,用于根据所述车流方向和所述车道方向,计算所述无人机的航向角。
可选的,所述第一确定模块,包括:
检测子模块,用于在所述道路图像中进行车辆检测,并从检测到的车辆中确定各目标车辆;
第一确定子模块,用于确定每一目标车辆的行驶方向;
第二确定子模块,用于根据每一目标车辆的行驶方向,确定所述道路图像中车流的车流方向。
可选的,所述第一确定子模块,具体用于:
针对每一目标车辆,获得该目标车辆在所述道路图像序列的各图像中的位置,其中,所述道路图像序列由所述摄像机所采集的道路图像形成;利用所获得的各个位置确定该目标车辆在图像坐标系下的运动矢量;将所述运动矢量指示的方向,确定为该目标车辆的行驶方向。
可选的,所述第二确定子模块,包括:
获得单元,用于获得每一目标车辆的行驶方向与图像坐标系中水平坐标轴之间的夹角;
计算单元,用于计算所获得各个夹角的平均值;
确定单元,用于将目标矢量所指示的方向,确定为所述道路图像中车流的车流方向,其中,所述目标矢量为:经过图像坐标系原点与所述水平坐标轴之间夹角为所述平均值的矢量。
可选的,所述第二确定模块,包括:
第三确定子模块,用于确定所述无人机的位置在预设的电子地图中对应的位置,作为目标位置;
第四确定子模块,用于将所述电子地图中距离所述目标位置最近的车道,确定为所述道路图像中车辆行驶的车道;
得到模块,用于利用所述电子地图中预设的车道与车道方向的对应关系,得到所确定车道的车道方向。
可选的,所述无人机的位置为:所述无人机在所述摄像机采集所述道路图像过程中的位置;
所述无人机的航向角为:所述无人机在所述摄像机采集所述道路图像过程中的航向角。
可选的,所述计算模块,包括:
获得子模块,用于获得所述车流方向与图像坐标系中水平坐标轴之间的夹角,作为车流方向角,获得所述车道方向与地理坐标系正北方向的夹角,作为车道方向角;
计算子模块,用于根据所述车流方向角、所述车道方向角,计算所述无人机的航向角。
可选的,所述计算子模块,具体用于:
根据以下表达式,计算所述无人机的航向角:
θ=γ-α
其中,θ表示所述无人机的航向角,γ表示所述车道方向角,α表示所述车流方向角。
可选的,所述摄像机与所述无人机间具有相对航向角;
所述计算子模块,具体用于:
根据所述车流方向角、所述车道方向角和所述相对航向角,计算所述无人机的航向角。
可选的,所述相对航向角为:
预先设置的所述摄像机相对于所述无人机的航向角;或者,
所述摄像机检测到的所述摄像机相对于所述无人机的航向角。
可选的,所述计算子模块,具体用于:
根据以下表达式,计算所述无人机的航向角:
θ=γ-(α+β)
其中,θ表示所述无人机的航向角,γ表示所述车道方向角,α表示所述车流方向角,β表示所述相对航向角。
第三方面,本发明实施例提供了一种无人机,包括处理器、存储器,其中,
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的无人机航向确定方法的方法步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的无人机航向确定方法的方法步骤。
应用本发明实施例提供的方案,无人机通过其所设置的摄像机采集道路图像,并确定道路图像中的车流方向以及车道方向,根据车流方向、车道方向和摄像机,计算无人机的航向角。在无人机航向角的计算过程中,无需利用无人机的地磁参数,从而避免了无人机在飞行过程中由于检测到的地磁参数不准确导致的无人机航向角不准确的情况,降低了磁场干扰对航向角准确性的影响,提高了无人机航向角的计算准确度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的无人机航向确定方法的一种流程示意图;
图2为本发明实施例提供的道路图像序列的车辆检测结果示意图;
图3为本发明实施例提供的车辆跟踪结果示意图;
图4本发明实施例提供的无人机航向确定方法的另一种流程示意图;
图5本发明实施例提供的无人机航向确定装置的一种结构示意图;
图6为本发明实施例提供的一种无人机的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了提高无人机航向角的计算准确度,本发明实施例提供了一种无人机航向确定方法、装置、无人机及计算机可读存储介质。
一种实现方式中,上述无人机航向确定方法,包括:获得摄像机采集的道路图像和无人机的位置,其中,道路图像中包含车辆;确定道路图像中车流的车流方向;根据无人机的位置和预设的电子地图,确定道路图像中车辆行驶的车道,并通过电子地图获得所确定车道的车道方向;根据车流方向、车道方向,计算无人机的航向角。
应用本发明实施例提供的方案,无人机通过其所设置的摄像机采集道路图像并确定道路图像中的车流方向以及车道方向,根据车流方向、车道方向,计算无人机的航向角。在无人机航向角的计算过程中,无需利用无人机的地磁参数,从而避免了无人机在飞行过程中由于检测到的地磁参数不准确导致的无人机航向角不准确的情况,降低了磁场干扰对航向角准确性的影响,提高了无人机航向角的计算准确度。
下面对本发明实施例提供的一种无人机航向确定方法进行详细介绍。
需要说明的是,本发明实施例所提供的一种无人机航向确定方法可以应用于无人机。另外,实现本发明实施例所提供的一种无人机航向确定方法的功能软件可以为专门的无人机航向确定软件,也可以为现有无人机航向确定软件或其他具有无人机航向确定功能的软件中的插件。
参见图1,本发明实施例提供了一种无人机航向确定方法,无人机安装有摄像机,包括如下步骤:
S101,获得摄像机采集的道路图像和无人机的位置。
其中,道路图像中包含车辆。
摄像机可以安装于无人机的下方或者前方,当无人机在空中飞行或悬停时,摄像机可以实时采集道路图像,进而,无人机可以获得道路图像。
无人机还可以安装GNSS(Global Navigation Satellite System,全球导航卫星系统)设备,GNSS设备可以实时检测无人机的位置,故,无人机可以通过GNSS设备获得无人机的位置。
另外,在一种实现方式中,无人机还可以安装具有定位功能的设备,例如,GPS(Global Positioning System,全球定位系统)定位器,进而,无人机可以通过GPS定位器获得无人机的位置。当然,无人机还可以采用其他方式获得无人机的位置,本发明实施例对此不做限定。
S102,确定道路图像中车流的车流方向。
可以理解的,车流是指众多车辆在车道上行驶的一种状态,车辆行驶时的行驶方向可以作为车流方向,因此可以根据道路图像中的车辆的行驶方向确定车流方向。例如,可以根据道路图像中某一车辆的车身后部指向车身前部的方向作为该车辆的行驶方向,再由该车辆的行驶方向确定道路图像中车流的车流方向。
在一种实现方式中,可以首先在道路图像中进行车辆检测,并从检测到的车辆中确定各目标车辆,然后确定每一目标车辆的行驶方向,再根据每一目标车辆的行驶方向,确定道路图像中车流的车流方向。根据多个车辆的行驶方向确定车流方向,可以减小误差,使得确定的车流方向更准确。
其中,可以采用车辆检测算法在道路图像中进行车辆检测,本发明实施例对具体采用的车辆检测算法不做限定。例如,采用的车辆检测算法可以为背景差法和帧差法等车辆检测算法的一种或组合。
上述确定每一目标车辆的行驶方向,可以为:针对每一目标车辆,获得该目标车辆在道路图像序列的各图像中的位置,其中,道路图像序列由摄像机所采集的道路图像形成;利用所获得的各个位置确定该目标车辆在图像坐标系下的运动矢量;将所述运动矢量指示的方向,确定为该目标车辆的行驶方向。
可以理解的,道路图像序列中包含至少两张图像,对于每一目标车辆,可以利用车辆跟踪算法对该目标车辆进行跟踪,进而,可以获得该目标车辆在道路图像序列的各图像中的位置。需要说明的是,车辆形状的几何中心点所在位置可以表征车辆的位置。另外,本发明实施例对具体采用的车辆跟踪算法不做限定,例如,可以为:压缩感知跟踪算法、光流跟踪算法等等。
在获得各个位置后,可以得到各个位置在图像坐标系下的坐标,进一步的,可以获得起始坐标和终止坐标,得到由起始坐标指向终止坐标形成方向向量,并将该方向向量作为目标车辆在图像坐标系下的运动矢量。
其中,起始坐标可以为:目标车辆在起始图像中的位置在图像坐标系下的坐标,终止坐标可以为:目标车辆在终止图像中的位置在图像坐标系下的坐标,起始图像为:包含目标车辆的所有图像中采集时刻最早的图像,终止图像为:包含目标车辆的所有图像中采集时刻最晚的图像。
示例性的,道路图像序列包括两张图像,采集时刻分别为T1时刻和T2时刻,且T1时刻早于T2时刻,无人机在道路图像中进行车辆检测,可以得到如图2所示的检测结果,也就是,T1时刻的图像中的车辆包括:a、b、c和d,T2时刻的图像中的车辆包括:a、b和c,进而,可以将c作为目标车辆,并对其进行跟踪,得到如图3所示的跟踪结果,也就是,c在TI时刻和T2时刻的位置在图像坐标系下的坐标分别为:m1和m2,进而,可以利用m1和m2确定出c在图像坐标系下的方向向量S1,作为c在图像坐标系下的运动矢量。
另外,利用所获得的各个位置确定目标车辆在图像坐标系下的运动矢量,还可以为:获得各个位置在图像坐标系下的坐标,利用各个坐标,确定一条直线,并给所确定的直线加入方向,将加入方向后的直线作为目标车辆在图像坐标系下的运动矢量。具体的,直线的方向可以为:由起始点指向终止点形成的方向,其中,起始点为:上述起始坐标到直线的垂线与直线的交点,终止点为:上述终止坐标到直线的垂线与直线的交点。
为了提高确定车流方向的可靠性,在一种实现方式中,根据每一目标车辆的行驶方向,确定道路图像中车流的车流方向,可以包括以下步骤:
步骤B1,获得每一目标车辆的行驶方向与图像坐标系中水平坐标轴之间的夹角;
由于目标车辆的行驶方向为:目标车辆在图像坐标系下的运动矢量指示的方向,故,获得每一目标车辆的行驶方向与图像坐标系中水平坐标轴(X轴)之间的夹角可以为:直接计算每一目标车辆在图像坐标系下的运动矢量与图像坐标系X轴之间的夹角,或者,计算每一目标车辆在图像坐标系下的运动矢量与图像坐标系中竖直坐标轴(Y轴)之间的夹角,然后用90°减去计算出的夹角,得到每一目标车辆的行驶方向与图像坐标系中水平坐标轴之间的夹角。
由于夹角包括顺时针夹角和逆时针夹角,为了区分顺时针夹角和逆时针夹角,以更准确的确定运动矢量在图像坐标系中的位置,可以规定运动矢量相对于图像坐标系X轴正方向的顺时针夹角为正,逆时针夹角为负。在计算出每一目标车辆的运动矢量与图像坐标系中水平坐标轴之间的夹角后,可以按照上述规定,得到夹角的符号,进而,可以利用获得的每一目标车辆的运动矢量与图像坐标系中水平坐标轴之间的夹角,更准确的确定运动矢量在图像坐标系中的位置。
例如,目标车辆包括:a、b和c,相应的运动矢量分别为:L1、L2和L3,L1、L2和L3相对于图像坐标系中水平坐标轴正方向的顺时针夹角分别为30°、35°和40°,则可以认为L1、L2和L3与图像坐标系中水平坐标轴之间的夹角分别为+30°、+35°和+40°。
步骤B2,计算所获得各个夹角的平均值;
步骤B3,将目标矢量所指示的方向,确定为道路图像中车流的车流方向。其中,目标矢量为:经过图像坐标系原点与水平坐标轴之间夹角为平均值的矢量。
可以理解的是,当平均值的符号为正时,水平坐标轴绕图像坐标系原点沿逆时针方向旋转平均值角度后,可以得到目标矢量;当平均值的符号为负时,水平坐标轴绕图像坐标系原点沿顺时针方向旋转平均值角度后,可以得到目标矢量。车流方向用于反映道路图像中车辆的整体行驶方向。
示例性的,目标车辆包括:a、b和c,相应的运动矢量分别为:L1、L2和L3,且L1、L2和L3与图像坐标系中水平坐标轴之间的夹角分别为:+30°、+35°和+40°,则计算所获得各个夹角的平均值为:(30°+35°+40°)/3=35°,目标矢量为:经过图像坐标系原点与水平坐标轴之间夹角为+35°的矢量,也就是,水平坐标轴绕图像坐标系原点沿逆时针方向旋转35°后,可以得到目标矢量。
可以理解的是,对于有多辆目标车辆的情况,可以获得多个运动矢量,进而,可以获得每个运动矢量与图像坐标系中水平坐标轴之间的夹角,为了反映夹角的一般取值,可以计算各个夹角的平均值,进而可以得到目标矢量,提高了确定车流方向的可靠性。
S103,根据无人机的位置和预设的电子地图,确定道路图像中车辆行驶的车道,并通过电子地图获得所确定车道的车道方向。
可以理解的,无人机预先存储有电子地图,电子地图是利用计算机技术,以数字方式存储和查阅的地图,对于现实世界的任何位置,通常都能在电子地图中确定出与其对应的位置。因此,根据无人机的位置和预设的电子地图,可以确定无人机位置附近的车道,也就是道路图像中的车道,进而通过电子地图获得所确定车道的车道方向。
在一种实现方式中,可以首先确定无人机的位置在预设的电子地图中对应的位置,作为目标位置,然后将电子地图中距离目标位置最近的车道,确定为道路图像中车辆行驶的车道,再利用电子地图中预设的车道与车道方向的对应关系,得到所确定车道的车道方向。
无人机确定目标位置的具体过程可以为:GNSS设备可以检测无人机在摄像机采集道路图像过程中的位置,并计算出该位置在地理坐标系下的坐标,故,无人机可以将自身在地理坐标系下的坐标作为自身在电子地图中的坐标,得到电子地图中的坐标对应的位置,作为目标位置。
例如,无人机在地理坐标系下的坐标为(10,20,10),则可以将电子地图中坐标为(10,20,10)对应的位置,作为目标位置。
可以理解的,无人机可以在车道上方飞行,无人机的下方可以固定安装摄像机,在这种情况下,可以认为摄像机采集的道路图像中车辆行驶的车道是:现实世界中距离无人机的位置最近的车道,也可以理解为,电子地图中距离目标位置最近的车道。
一般而言,对于现实世界中的每一车道,均可以在电子地图中找到与其对应的车道,并且电子地图中可以预设车道与车道方向的对应关系,进而,可以利用该对应关系,得到电子地图中距离目标位置最近的车道的车道方向,作为所确定车道的车道方向,可以理解的是,所确定车道是指道路图像中车辆行驶的车道。在电子地图中,车道方向也就是车道与正北方向的夹角。
示例性的,电子地图中距离目标位置最近的车道为F,且电子地图中预设的车道与车道方向的对应关系包括:车道F对应的车道方向为F1,则所确定车道的车道方向为F1。
S104,根据车流方向、车道方向,计算无人机的航向角。
可以理解的,需要计算的无人机的航向角为地理坐标系下的方向,而上述确定的车道方向为地理坐标系下的方向,车流方向是图像坐标系下的方向,也就是无人机的航向角与车道方向的相对方向。因此可以根据车流方向、车道方向来计算无人机的航向角。
在一种实现方式中,根据车流方向、车道方向,计算无人机的航向角,可以包括:获得车流方向与图像坐标系中水平坐标轴之间的夹角,作为车流方向角,获得车道方向与地理坐标系正北方向的夹角,作为车道方向角;根据车流方向角、车道方向角,计算无人机的航向角。
可以认为,车流方向相对于图像坐标系中水平坐标轴正方向的顺时针夹角为正,逆时针夹角为负,车道方向相对于地理坐标系正北方向的顺时针夹角为正,逆时针夹角为负,按照该方式,可以获得带有符号的车流方向角和车道方向角,进而根据车流方向角和车道方向角,计算计算无人机的航向角。
为了实现对无人机航向角的实时计算,上述无人机的位置可以为:无人机在摄像机采集道路图像过程中的位置;相应的,无人机的航向角为:无人机在摄像机采集道路图像过程中的航向角。
在一种实现方式中,可以根据以下表达式,计算无人机的航向角:
θ=γ-α
其中,θ表示无人机的航向角,γ表示车道方向角,α表示车流方向角。
示例性的,车道方向角、车流方向角分别为:45°、10°,则无人机的航向角为:45°-10°=30°。
在另一种实现方式中,摄像机与无人机间还可以具有相对航向角,具体的相对航向角可以为:预先设置的摄像机相对于无人机的航向角;或者,摄像机检测到的摄像机相对于无人机的航向角。
这种情况下,根据车流方向角、车道方向角,计算无人机的航向角,可以为:根据车流方向角、车道方向角和相对航向角,计算无人机的航向角。
可以理解的是,当摄像机固定安装于无人机时,设计人员可以事先测量摄像机相对于无人机的航向角,并将测量所得的航向角存储于无人机,从而,无人机可以获得相对航向角。
另外,当摄像机非固定安装于无人机时,也就是,摄像机相对于无人机的航向角可以发生变化,这种情况下,摄像机还可以安装角度传感器,角度传感器可以实时检测摄像机相对于无人机的航向角,从而,无人机可以获得相对航向角。
在一种实现方式中,根据车流方向角、车道方向角和相对航向角,计算无人机的航向角,可以包括:根据以下表达式,计算无人机的航向角:
θ=γ-(α+β)
其中,θ表示无人机的航向角,γ表示车道方向角,α表示车流方向角,β表示相对航向角。
示例性的,车道方向角、车流方向角和相对航向角分别为:45°、10°和5°,则无人机在采集道路图像过程中的航向角为:45°-(10°+5°)=30°。
可见,应用本发明实施例提供的方案,在无人机航向角的计算过程中,无需利用无人机的地磁参数,从而避免了无人机在飞行过程中由于检测到的地磁参数不准确导致的无人机航向角不准确的情况,降低了磁场干扰对航向角准确性的影响,提高了无人机航向角的计算准确度。
下面通过一个具体实例来对本发明实施例进行简单介绍。
将本发明实施例提供的无人机航向确定方法应用于某个无人机,则该无人机航向确定方法的流程图如图4所示,具体如下:
S401,获得摄像机采集的道路图像序列;
S402,在道路图像序列中进行车辆检测,将检测结果中的至少一辆车辆,作为目标车辆;并通过以下方式获得每一目标车辆的行驶方向:获得目标车辆在道路图像序列的各图像中的位置;利用所获得的各个位置确定目标车辆在图像坐标系下的运动矢量;将运动矢量指示的方向,确定为目标车辆的行驶方向;
S403,获得每一目标车辆的行驶方向与图像坐标系中水平坐标轴之间的夹角;计算所获得各个夹角的平均值;将目标矢量所指示的方向,确定为道路图像序列中车流的车流方向,其中,目标矢量为:经过图像坐标系原点与水平坐标轴之间夹角为平均值的矢量;
S404,获得无人机在摄像机采集道路图像序列过程中的位置;
S405,确定所获得的位置在预设的电子地图中对应的位置,作为目标位置;将电子地图中距离目标位置最近的车道,确定为道路图像序列中车辆行驶的车道;
S406,利用电子地图中预设的车道与车道方向的对应关系,得到所确定车道的车道方向;
S407,根据车流方向、车道方向和摄像机与无人机间的相对航向角,计算无人机在采集道路图像序列过程中的航向角。
可见,应用本发明实施例提供的方案,在无人机航向角的计算过程中,无需利用无人机的地磁参数,从而避免了无人机在飞行过程中由于检测到的地磁参数不准确导致的无人机航向角不准确的情况,降低了磁场干扰对航向角准确性的影响,提高了航向角的计算准确度。
相应于上述无人机航向确定方法实施例,本发明实施例提供了一种无人机航向确定装置,无人机设置有摄像机,参见图5所示,装置包括:
获得模块501,用于获得所述摄像机采集的道路图像和所述无人机的位置,其中,所述道路图像中包含车辆;
第一确定模块502,用于确定所述道路图像中车流的车流方向;
第二确定模块503,用于根据所述无人机的位置和预设的电子地图,确定所述道路图像中车辆行驶的车道,并通过所述电子地图获得所确定车道的车道方向;
计算模块504,用于根据所述车流方向和所述车道方向,计算所述无人机的航向角。
可见,应用本发明实施例提供的方案,无人机通过其所设置的摄像机采集道路图像,并确定道路图像中的车流方向以及车道方向,根据车流方向、车道方向和摄像机,计算无人机的航向角。在无人机航向角的计算过程中,无需利用无人机的地磁参数,从而避免了无人机在飞行过程中由于检测到的地磁参数不准确导致的无人机航向角不准确的情况,降低了磁场干扰对航向角准确性的影响,提高了无人机航向角的计算准确度。
可选的,所述第一确定模块502,可以包括:
检测子模块,用于在所述道路图像中进行车辆检测,并从检测到的车辆中确定各目标车辆;
第一确定子模块,用于确定每一目标车辆的行驶方向;
第二确定子模块,用于根据每一目标车辆的行驶方向,确定所述道路图像中车流的车流方向。
可选的,所述第一确定子模块,具体可以用于:
针对每一目标车辆,获得该目标车辆在所述道路图像序列的各图像中的位置,其中,所述道路图像序列由所述摄像机所采集的道路图像形成;利用所获得的各个位置确定该目标车辆在图像坐标系下的运动矢量;将所述运动矢量指示的方向,确定为该目标车辆的行驶方向。
可选的,所述第二确定子模块,可以包括:
获得单元,用于获得每一目标车辆的行驶方向与图像坐标系中水平坐标轴之间的夹角;
计算单元,用于计算所获得各个夹角的平均值;
确定单元,用于将目标矢量所指示的方向,确定为所述道路图像中车流的车流方向,其中,所述目标矢量为:经过图像坐标系原点与所述水平坐标轴之间夹角为所述平均值的矢量。
可选的,所述第二确定模块503,可以包括:
第三确定子模块,用于确定所述无人机的位置在预设的电子地图中对应的位置,作为目标位置;
第四确定子模块,用于将所述电子地图中距离所述目标位置最近的车道,确定为所述道路图像中车辆行驶的车道;
得到模块,用于利用所述电子地图中预设的车道与车道方向的对应关系,得到所确定车道的车道方向。
可选的,所述无人机的位置可以为:所述无人机在所述摄像机采集所述道路图像过程中的位置;
相应的,所述无人机的航向角可以为:所述无人机在所述摄像机采集所述道路图像过程中的航向角。
可选的,所述计算模块504,可以包括:
获得子模块,用于获得所述车流方向与图像坐标系中水平坐标轴之间的夹角,作为车流方向角,获得所述车道方向与地理坐标系正北方向的夹角,作为车道方向角;
计算子模块,用于根据所述车流方向角、所述车道方向角,计算所述无人机的航向角。可选的,所述计算子模块,具体可以用于:
根据以下表达式,计算所述无人机的航向角:
θ=γ-α
其中,θ表示所述无人机的航向角,γ表示所述车道方向角,α表示所述车流方向角。
可选的,所述摄像机与所述无人机间具有相对航向角;
相应的,所述计算子模块,具体可以用于:
根据所述车流方向角、所述车道方向角和所述相对航向角,计算所述无人机的航向角。
可选的,所述相对航向角可以为:
预先设置的所述摄像机相对于所述无人机的航向角;或者,
所述摄像机检测到的所述摄像机相对于所述无人机的航向角。
可选的,所述计算子模块,具体可以用于:
根据以下表达式,计算所述无人机的航向角:
θ=γ-(α+β)
其中,θ表示所述无人机的航向角,γ表示所述车道方向角,α表示所述车流方向角,β表示所述相对航向角。
本发明实施例还提供了一种无人机,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
获得所述摄像机采集的道路图像和所述无人机的位置,其中,所述道路图像中包含车辆;
确定所述道路图像中车流的车流方向;
根据所述无人机的位置和预设的电子地图,确定所述道路图像中车辆行驶的车道,并通过所述电子地图获得所确定车道的车道方向;
根据所述车流方向和所述车道方向,计算所述无人机的航向角。
关于该方法各个步骤的具体实现以及相关解释内容可以参见上述图1所示的方法实施例,在此不做赘述。
另外,处理器601执行存储器603上所存放的程序而实现的无人机航向确定方法的其他实现方式,与前述方法实施例部分所提及的实现方式相同,这里也不再赘述。
应用本发明实施例提供的方案,无人机通过其所设置的摄像机采集道路图像,并确定道路图像中的车流方向以及车道方向,根据车流方向、车道方向和摄像机,计算无人机的航向角。在无人机航向角的计算过程中,无需利用无人机的地磁参数,从而避免了无人机在飞行过程中由于检测到的地磁参数不准确导致的无人机航向角不准确的情况,降低了磁场干扰对航向角准确性的影响,提高了无人机航向角的计算准确度。
上述无人机提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述无人机与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时实现上述的无人机航向确定方法步骤。
应用本发明实施例提供的方案,无人机通过其所设置的摄像机采集道路图像,并确定道路图像中的车流方向以及车道方向,根据车流方向、车道方向和摄像机,计算无人机的航向角。在无人机航向角的计算过程中,无需利用无人机的地磁参数,从而避免了无人机在飞行过程中由于检测到的地磁参数不准确导致的无人机航向角不准确的情况,降低了磁场干扰对航向角准确性的影响,提高了无人机航向角的计算准确度。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、无人机、计算机可读存储介质、包含指令的计算机程序产品、计算机程序实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。