[0045] 步骤S102:在可调整范围内确定多个调整参数。
[0046] 在获取到光流模块的调整参数k2的可调整范围[a,b]后,在可调整范围[a,b]中确定出多个调整参数。
[0047] 于本申请实施例中,从可调整范围[a,b]中确定出多个调整参数可以是以可调整范围的下限值作为初始值,根据预设步长在可调整范围内确定出多个调整参数。
[0048] 需要解释的是,预设步长为一个具体的数值,比如可以是1、也可以是2。以可调整范围的下限值作为初始值,根据预设步长在可调整范围内确定出多个调整参数指的是以可调整范围的下限值作为初始值(即作为第一个调整参数k2),然后,在初始值的
基础上增加预设步长所确定的数值作为第二个调整参数k2,依次类推,直至在前一个调整参数k2的基础上增加预设步长后的数值超出可调整范围的上限值为止,且大于可调整范围的上限值的调整参数k2不作为本步骤中所确定的调整参数。下面以一个具体的例子进行说明,比如可调整范围为[800,1000],步长为2,则调整参数k2的初始值为800,每次对调整参数k2的值增加2,则获取到的多个调整参数k2为800、802、804···998、1000。最后得到的调整参数k2的值为1000,若再增加预设步长2,1002大于了调整参数的上限值1000,不满足调整参数的调整条件,此时,停止获取调整参数k2。
[0049] 当然,在其他实施例中,从可调整范围[a,b]中确定出多个调整参数可以是获取可调整范围[a,b]中为3的倍数的数值,将所有3的倍数的数值确定为调整参数。下面举例进行说明,比如可调整范围为[200,300]则根据上述方式确定出的多个调整参数k2为201、204、207···297、300。其中,201、、204、207···297、300均为3的倍数。
[0050] 可以理解的是,在其他实施例中,从可调整范围[a,b]中确定出多个调整参数可以是获取可调整范围[a,b]中为2的倍数的数值,将所有2的倍数的数值确定为调整参数。又或者是获取可调整范围[a,b]中为5的倍数的数值,将所有5的倍数的数值确定为调整参数。因此,具体采用何种方式从可调整范围内确定出多个调整参数,本申请不作限定。
[0051] 步骤S103:针对每一个调整参数,获取预设时间内其对应的多个光流速度。
[0052] 于本申请实施例中,预设时间可以为10秒,当然在其他实施例中,预设时间可以是5秒、8秒等等,本申请不作限定。然后针对每一个调整参数,获取在10秒内多个光流速度。通常情况下,光流模块每一秒可以采集25帧画面,每一帧画面可以计算出一个光流速度。因此,若预设时间为10秒,则10秒时间,光流模块可以获取到一个调整参数所对应的250个光流速度。
[0053] 于本申请实施例中,获取预设时间内调整参数对应的多个光流速度,包括:获取预设时间内调整参数对应的多个x轴光流速度xki和多个y轴光流速度yki;其中下标k表示调整系数的标识,即第k个调整参数、i表示第i个光流速度。通常情况下,光流模块输出的速度为x轴光流速度以及y轴光流速度,因此,本申请中获取的多个光流速度即为获取的多个x轴光流速度以及多个y轴光流速度。可以将获取的多个x轴光流速度以及多个y轴光流速度理解为光流模块获取的每一帧图像中的像素点在x轴的速度和在y轴上的速度。
[0054] 下面举例进行说明,比如预设时间为5秒,则获取5秒内的多个x轴光流速度xki和多个y轴光流速度yki,其中i=1、2、3···125。一共125组数据,每组数据中包括一个x轴光流速度xki和一个y轴光流速度yki。
[0055] 步骤S104:针对每一个调整参数,确定多个光流速度的预设方差。
[0056] 通过步骤S103获取在预设时间内每一个调整参数对应的多个光流速度,然后于本步骤中,确定基于每一个调整参数所获取到的多个光流速度的预设方差。其中,预设方差表示光流速度与无人机的理想悬停速度之间的差异。由于获取的光流速度包括x轴光流速度以及y轴光流速度。则本步骤中,分别获取每个调整参数,对应的多个x轴光流速度的预设方差,以及多个y轴光流速度的预设方差。x轴光流速度的预设方差表示x轴光流速度与无人机的理想悬停速度之间的差异;y轴光流速度的预设方差表示y轴光流速度与无人机的理想悬停速度之间的差异。具体公式如下:
[0057]
[0058]
[0059] 其中,var_xk表示多个x轴光流速度的预设方差,下标k表示第k个调整参数,n表示x轴光流速度的总数,m表示无人机的理想悬停速度,var_yk表示多个y轴光流速度的预设方差,n表示y轴光流速度的总数。
[0060] 需要说明的是,由于无人机的理想悬停速度m=0,因此,上述公式可以简化为:
[0061] 步骤S105:将最小预设方差对应的调整参数确定为目标调整参数。
[0062] 通过步骤S104获取到每一个调整参数所对应的多个x轴光流速度的预设方差以及多个y轴光流速度的预设方差之后,对每一个调整参数所对应的多个x轴光流速度的预设方差以及多个y轴光流速度的预设方差进行求和,计算var_xk+var_yk的值,并将var_xk+var_yk所得的最小值对应的调整参数作为目标调整参数。
[0063] 需要说明的是,求预设方差的目的是用来衡量当前无人机的
波动情况,预设方差越小,说明无人机的波动越小,则无人机越趋近于稳定。
[0064] 步骤S106:将根据目标调整参数调整后的目标光流速度发送至飞控系统,以使飞控系统调节无人机的悬停。
[0065] 最后在确定好目标调整参数后,将根据目标调整参数调整后的目标光流速度发送至飞控系统,以使飞控系统调节无人机的悬停。其中目标光流速度为flow×k2,在此处k2表示目标调整参数。
[0066] 综上所述,在本申请实施例中,首先获取光流模块的调整参数的可调整范围;在可调整范围内确定多个调整参数;然后针对每一个调整参数,获取预设时间内调整参数对应的多个光流速度;再针对每一个调整参数,确定多个光流速度的预设方差;最后将最小预设方差对应的调整参数确定为目标调整参数,整个过程通过光流模块自动调整,以获取目标调整参数k2,不需要工程师去观测无人机的悬停状态来调整参数,省去了人力物力,避免了每次更改摄像头都需要重新烧写程序或更改无人机上固件的麻烦。
[0067] 可选地,在本申请实施例中,为了提高对获取目标调整参数的准确性,消除获取到的光流速度中的异常点,在步骤S104分别获取每个调整参数对应的多个x轴光流速度的预设方差,以及对应的多个y轴光流速度的预设方差之前,该方法还包括:对多个x轴光流速度进行中值滤波,得到多个目标x轴光流速度filter_xki以及对多个y轴光流速度进行中值滤波,得到多个目标y轴光流速度filter_yki。
[0068] 需要说明的是,中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。
[0069] 需要说明的是,中值滤波法为本领域的惯用滤波
算法,为使避免累赘,在此不作过多的陈述。
[0070] 相应的,步骤S104中分别确定每个调整参数,对应的多个x轴光流速度的预设方差,以及多个y轴光流速度的预设方差,包括:确定多个目标x轴光流速度的预设方差,以及确定多个目标y轴速度的预设方差。具体公式如下:
[0071]
[0072]
[0073] 其中,var_xk表示多个目标x轴光流速度的预设方差,下标k表示第k个调整参数,n表示目标x轴光流速度的总数,var_yk表示多个目标y轴光流速度的预设方差,n表示目标y轴光流速度的总数,m表示无人机的理想悬停速度。
[0074] 需要说明的是,由于无人机的理想悬停速度m=0,因此,上述公式可以简化为:
[0075] 相应的,在步骤S105中,将最小预设方差对应的调整参数确定为目标调整参数即为对每一个调整参数所对应的多个目标x轴光流速度的预设方差以及多个目标y轴光流速度的预设方差进行求和,计算var_xk+var_yk的值,并将var_xk+var_yk所得的最小值对应的调整参数作为目标调整参数。
[0076] 在本申请实施例中,通过对多个x轴光流速度进行中值滤波,以及对多个y轴光流速度进行中值滤波,能够有效去除异常点,提高对后续获取目标调整参数的准确性。
[0077] 需要说明的是,在上述实施例中,步骤S103-步骤S104中是将所有调整参数全部确定出来后,再分别对每一个调整参数进行计算,针对每一个调整参数,获取预设时间内调整参数对应的多个光流速度以及确定多个光流速度的预设方差。当然在其他实施例中,步骤S102-步骤S104还可以通过如下步骤实现:
[0078] 即步骤S103中针对每一个调整参数,获取预设时间内其对应的多个光流速度,包括:
[0079] 以所述可调整范围的下限值作为初始值,根据预设步长,每确定一个调整参数,获取预设时间内调整参数对应的多个光流速度。
[0080] 由于光流速度包括x轴光流速度和y轴光流速度,因此,获取预设时间内调整参数对应的多个光流速度即获取预设时间内调整参数对应的多个x轴光流速度和多个y轴光流速度。
[0081] 相应的,确定一个调整参数所对应的多个x轴光流速度和多个y轴光流速度后,再确定该调整参数所对应的多个x轴光流速度的预设方差和多个y轴光流速度的预设方差。
[0082] 也即,本实施例中,每确定出一个调整参数,则获取该调整参数所对应的多个x轴光流速度和多个y轴光流速度,以及获取该调整参数所对应的多个x轴光流速度的预设方差和多个y轴光流速度的预设方差。然后再确定出下一个调整参数,获取下一个调整参数所对应的多个x轴光流速度和多个y轴光流速度,以及获取下一个调整参数所对应的多个x轴光流速度的预设方差和多个y轴光流速度的预设方差,直至确定出所有调整参数,并获取到所有调整参数所对应的多个x轴光流速度的预设方差和多个y轴光流速度的预设方差。
[0083] 当然,在其他实施例中,每确定出一个调整参数,在获取到该调整参数所对应的多个x轴光流速度的预设方差和多个y轴光流速度的预设方差后,还可以对该调整参数所对应的多个x轴光流速度的预设方差以及多个y轴光流速度的预设方差进行求和,计算var_xk+var_yk的值,然后再确定出下一个调整参数,直至获取到所有的调整参数所对应的多个x轴光流速度的预设方差和多个y轴光流速度的预设方差的和。
[0084] 请参阅图4,基于同一发明构思,本申请实施例中还提供一种自动调节无人机悬停的装置200,包括:
[0085] 第一获取模块201,用于获取所述光流模块的调整参数的可调整范围。
[0086] 第一确定模块202,用于在所述可调整范围内确定多个所述调整参数。
[0087] 第二获取模块203,用于针对每一个所述调整参数,获取预设时间内所述调整参数对应的多个光流速度。
[0088] 第二确定模块204,针对每一个所述调整参数,确定所述多个光流速度的预设方差。其中,所述预设方差表示所述光流速度与所述无人机的理想悬停速度之间的差异。
[0089] 第三确定模块205,用于将最小预设方差对应的所述调整参数确定为目标调整参数。
[0090] 发送模块206,用于将根据目标调整参数调整后的目标光流速度发送至所述飞控系统,以使所述飞控系统调节无人机的悬停。
[0091] 可选地,该第一确定模块202,还用于以所述可调整范围的下限值作为初始值,根据预设步长在所述可调整范围内确定多个所述调整参数。
[0092] 可选地,该第二获取模块203,还用于以所述可调整范围的下限值作为初始值,根据预设步长,每确定一个所述调整参数,获取所述预设时间内所述调整参数对应的多个光流速度。
[0093] 可选地,该第二获取模块203还用于获取预设时间内所述调整参数对应的多个x轴光流速度和多个y轴光流速度。
[0094] 可选地,该第二确定模块204,还用于确定所述多个x轴光流速度的预设方差,以及确定所述多个y轴光流速度的预设方差。
[0095] 可选地,该装置还包括滤波模块207,该滤波模块用于在确定所述多个x轴光流速度的预设方差,以及确定所述多个y轴光流速度的预设方差之前,对所述多个x轴光流速度进行中值滤波,得到多个目标x轴光流速度以及对所述多个y轴光流速度进行中值滤波,得到多个目标y轴光流速度。
[0096] 相应的,该第二确定模块204还用于确定所述多个目标x轴光流速度的预设方差,以及确定所述多个目标y轴光流速度的预设方差。
[0097] 可以理解,其他实施例中,第一确定模块202,第二确定模块204,第三确定模块205可以为同一个确定模块,第一获取模块201及第二获取模块203可以为同一个获取模块。
[0098] 基于同一发明构思,本申请实施例还提供一种存储介质,其上存储有计算机程序,计算机程序在被运行时执行上述实施例中提供的方法。
[0099] 该存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的
服务器、
数据中心等数据存储设备。所述可用介质可以是
磁性介质,(例如,
软盘、
硬盘、磁带)、光介质(例如,DVD)、或者
半导体介质(例如固态硬盘Solid State Disk(SSD))等。
[0100] 在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些
通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0101] 另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0102] 再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0103] 在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
[0104] 以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何
修改、等同替换、改进等,均应包含在本申请的保护范围之内。