一种水面检测方法、装置和无人机与流程

文档序号:17228587发布日期:2019-03-27 13:07阅读:245来源:国知局
一种水面检测方法、装置和无人机与流程

本发明实施例涉及无人机技术领域,特别涉及一种水面检测方法、装置和无人机。



背景技术:

随着无人机技术的发展,无人机在军事及民用领域都得到了广泛的应用。目前,无人机已经能实现自主飞行,能独自完成侦察、航拍、测绘等任务。

实现本发明过程中,发明人发现相关技术中至少存在如下问题:在无人机自主降落时由于无法判断降落目的地是否为水面,无人机容易误降落到水面上,从而对无人机造成损害。



技术实现要素:

本发明实施例的目的是提供一种水面检测方法、装置和无人机,可以在无人机降落前判断降落目的地是否存在水面,从而减小无人机误降落到水面上造成的损害。

第一方面,本发明实施例提供了一种水面检测方法,用于无人机,所述检测方法包括:

控制所述无人机产生气流,所述气流用于产生水面波纹;

获取所述无人机降落区域的图像;

确定所述图像中是否存在超过预设数量的光斑,其中,所述光斑为一区域,该区域的亮度值高于其周围预设区域的亮度值;

如果存在,则确定所述降落区域存在水面。

在一些实施例中,所述确定所述图像中是否存在超过预设数量的光斑,包括:

获得所述图像中光斑的数量;

确定所述光斑的数量是否超过所述预设数量。

在一些实施例中,所述获得所述图像中光斑的数量,包括:

根据所述图像中各像素点的亮度值获取所述图像中各像素点的梯度幅值,每一个所述像素点的梯度幅值均表示该像素点在预设方向上亮度值的变化大小;

对所述各像素点的梯度幅值进行二值化处理,将梯度幅值大于或者等于第二预设梯度幅值的梯度幅值置为第一值,将梯度幅值小于所述第二预设梯度幅值的梯度幅值置为零值;

根据二值化处理后的各像素点的梯度幅值寻找所述图像中的局部峰;

统计所述局部峰的数量,并将所述局部峰的数量作为所述光斑的数量。

在一些实施例中,所述根据所述图像中各像素点的亮度值获取所述图像中各像素点的梯度幅值,包括:

获取所述图像中各像素点的第一方向梯度和第二方向梯度,所述第一方向和所述第二方向垂直;

根据各像素点的所述第一方向梯度获得各像素点的第一方向梯度幅值,根据各像素点的所述第二方向梯度获得各像素点的第二方向梯度幅值;

将各像素点的第一方向梯度幅值中,亮度值小于预设亮度阈值以及第一方向梯度幅值小于第一预设梯度幅值的像素点的第一方向梯度幅值置为零值;

将各像素点的第二方向梯度幅值中,亮度值小于预设亮度阈值以及第二方向梯度幅值小于第一预设梯度幅值的像素点的第二方向梯度幅值置为零值;

根据各像素点的所述第一方向梯度幅值和所述第二方向梯度幅值获得所述各像素点的梯度幅值。

在一些实施例中,所述根据二值化处理后的各像素点的梯度幅值寻找所述图像中的局部峰,包括:

s1:以像素点为中心获得第一区域和第二区域,所述第二区域的面积大于所述第一区域的面积,如果所述第一区域内梯度幅值为第一值的个数与所述第二区域内梯度幅值为第一值的个数一致,则所述第一区域为一个局部峰;

s2:重复执行s1,直至遍历所述图像中的各个像素点。

在一些实施例中,所述s1中,如果所述第一区域为一个局部峰,则所述s1还包括:

将所述第一区域内的像素点的梯度幅值置为零值。

在一些实施例中,所述第一区域为以所述像素点为中心、内接半径为第一像素半径的第一正方形区域,所述第二区域为以所述像素点为中心、内接半径为第二像素半径的第二正方形区域,所述第二像素半径大于所述第一像素半径。

在一些实施例中,所述图像为灰度图像。

在一些实施例中,所述水面检测方法还包括:

判断所述无人机的飞行高度是否小于指定高度;

若否,则控制所述无人机下降直至所述无人机的飞行高度小于所述指定高度以确保所述无人机能够产生所述水面波纹。

第二方面,本发明实施例提供了一种水面检测装置,用于无人机,所述检测装置包括:

气流产生模块,用于控制所述无人机产生气流,所述气流用于产生水面波纹;

图像获取模块,用于获取所述无人机降落区域的图像,其中,所述光斑为一区域,该区域的亮度值高于其周围预设区域的亮度值;

图像处理模块,用于确定所述图像中是否存在超过预设数量的光斑,如果所述图像处理模块确定所述图像中存在超过预设数量的光斑,则确定所述降落区域存在水面。

在一些实施例中,所述图像处理模块具体用于:

获得所述图像中光斑的数量;

确定所述光斑的数量是否超过所述预设数量。

在一些实施例中,所述图像处理模块包括:

梯度幅值获取子模块,用于根据所述图像中各像素点的亮度值获取所述图像中各像素点的梯度幅值,每一个所述像素点的梯度幅值均表示该像素点在预设方向上亮度值的变化大小;

二值化处理子模块,用于对所述各像素点的梯度幅值进行二值化处理,将梯度幅值大于或者等于第二预设梯度幅值的梯度幅值置为第一值,将梯度幅值小于所述第二预设梯度幅值的梯度幅值置为零值;

局部峰搜索子模块,用于根据二值化处理后的各像素点的梯度幅值寻找所述图像中的局部峰;

统计子模块,用于统计所述局部峰的数量,并将所述局部峰的数量作为所述光斑的数量。

在一些实施例中,所述梯度幅值获取子模块具体用于:

获取所述图像中各像素点的第一方向梯度和第二方向梯度,所述第一方向和所述第二方向垂直;

根据各像素点的所述第一方向梯度获得各像素点的第一方向梯度幅值,根据各像素点的所述第二方向梯度获得各像素点的第二方向梯度幅值;

将各像素点的第一方向梯度幅值中,亮度值小于预设亮度阈值以及第一方向梯度幅值小于第一预设梯度幅值的像素点的第一方向梯度幅值置为零值;

将各像素点的第二方向梯度幅值中,亮度值小于预设亮度阈值以及第二方向梯度幅值小于第一预设梯度幅值的像素点的第二方向梯度幅值置为零值;

根据各像素点的所述第一方向梯度幅值和所述第二方向梯度幅值获得所述各像素点的梯度幅值。

在一些实施例中,所述局部峰搜索子模块具体用于:

s1:以像素点为中心获得第一区域和第二区域,所述第二区域的面积大于所述第一区域的面积,如果所述第一区域内梯度幅值为第一值的个数与所述第二区域内梯度幅值为第一值的个数一致,则所述第一区域为一个局部峰;

s2:重复执行s1,直至遍历所述图像中的各个像素点。

在一些实施例中,所述局部峰搜索子模块还具体用于:

如果所述第一区域为一个局部峰,将所述第一区域内的像素点的梯度幅值置为零值。

在一些实施例中,所述第一区域为以所述像素点为中心、内接半径为第一像素半径的第一正方形区域,所述第二区域为以所述像素点为中心、内接半径为第二像素半径的第二正方形区域,所述第二像素半径大于所述第一像素半径。

在一些实施例中,所述图像为灰度图像。

在一些实施例中,所述水面检测装置还包括:

高度控制模块,用于判断所述无人机的飞行高度是否小于指定高度;

若否,则控制所述无人机下降直至所述无人机的飞行高度小于所述指定高度以确保所述无人机能够产生所述水面波纹。

第三方面,本发明实施例提供了一种无人机,所述无人机包括:

机身;

机臂,与所述机身相连;

动力装置,所述动力装置包括设于所述机臂的电机和与所述电机相连的螺旋桨;

图像采集装置,设置于所述机身,用于获取所述无人机降落区域的图像;

飞控芯片,设于所述机身,所述图像采集装置与所述飞控芯片电连接;以及

视觉芯片,设于所述机身,所述视觉芯片与所述图像采集装置和所述飞控芯片电连接;

其中,所述飞控芯片用于:

控制所述螺旋桨旋转以产生气流,所述气流用于产生水面波纹;

所述视觉芯片用于:

确定所述图像中是否存在超过预设数量的光斑,其中,所述光斑为一区域,该区域的亮度值高于其周围预设区域的亮度值;

如果存在,则确定所述降落区域存在水面。

在一些实施例中,所述视觉芯片具体用于:

获得所述图像中光斑的数量;

确定所述光斑的数量是否超过所述预设数量。

在一些实施例中,所述视觉芯片具体用于:

根据所述图像中各像素点的亮度值获取所述图像中各像素点的梯度幅值,每一个所述像素点的梯度幅值均表示该像素点在预设方向上亮度值的变化大小;

对所述各像素点的梯度幅值进行二值化处理,将梯度幅值大于或者等于第二预设梯度幅值的梯度幅值置为第一值,将梯度幅值小于所述第二预设梯度幅值的梯度幅值置为零值;

根据二值化处理后的各像素点的梯度幅值寻找所述图像中的局部峰;

统计所述局部峰的数量,并将所述局部峰的数量作为所述光斑的数量。

在一些实施例中,所述视觉芯片具体用于:

获取所述图像中各像素点的第一方向梯度和第二方向梯度,所述第一方向和所述第二方向垂直;

根据各像素点的所述第一方向梯度获得各像素点的第一方向梯度幅值,根据各像素点的所述第二方向梯度获得各像素点的第二方向梯度幅值;

将各像素点的第一方向梯度幅值中,亮度值小于预设亮度阈值以及第一方向梯度幅值小于第一预设梯度幅值的像素点的第一方向梯度幅值置为零值;

将各像素点的第二方向梯度幅值中,亮度值小于预设亮度阈值以及第二方向梯度幅值小于第一预设梯度幅值的像素点的第二方向梯度幅值置为零值;

根据各像素点的所述第一方向梯度幅值和所述第二方向梯度幅值获得所述各像素点的梯度幅值。

在一些实施例中,所述视觉芯片具体用于:

s1:以像素点为中心获得第一区域和第二区域,所述第二区域的面积大于所述第一区域的面积,如果所述第一区域内梯度幅值为第一值的个数与所述第二区域内梯度幅值为第一值的个数一致,则所述第一区域为一个局部峰;

s2:重复执行s1,直至遍历所述图像中的各个像素点。

在一些实施例中,所述视觉芯片具体用于:

如果所述第一区域为一个局部峰,将所述第一区域内的像素点的梯度幅值置为零值。

在一些实施例中,所述第一区域为以所述像素点为中心、内接半径为第一像素半径的第一正方形区域,所述第二区域为以所述像素点为中心、内接半径为第二像素半径的第二正方形区域,所述第二像素半径大于所述第一像素半径。

在一些实施例中,所述图像为灰度图像。

在一些实施例中,所述飞控芯片还用于:

判断所述无人机的飞行高度是否小于指定高度;

若否,则控制所述无人机下降直至所述无人机的飞行高度小于所述指定高度以确保所述无人机能够产生所述水面波纹。

第四方面,本发明实施例提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被无人机执行时,使所述无人机执行如上所述的方法。

本发明实施例的水面检测方法、装置和无人机,通过控制无人机产生气流,使得包含水面的降落区域产生波纹,然后通过判断降落区域图像中是否存在超过预设数量的光斑来确定降落区域是否包含水面,可以减小无人机误降落在水面造成的损害。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是本发明实施例水面检测方法和装置的应用场景示意图;

图2是本发明无人机的一个实施例的硬件结构示意图;

图3是本发明水面检测方法的一个实施例的流程示意图;

图4是本发明水面检测方法的一个实施例中获得图像中光斑数量步骤的流程示意图;

图5是本发明实施例中灰度图像的x方向一阶梯度图和y方向一阶梯度图;

图6是本发明实施例中灰度图像的x方向二阶梯度图和y方向二阶梯度图;

图7是本发明实施例中灰度图像的x方向二阶梯度与y方向二阶梯度相乘后的示意图以及原始灰度图像;

图8是本发明实施例中对x方向二阶梯度与y方向二阶梯度的乘积进行二值化处理后的示意图以及原始灰度图像;

图9是本发明水面检测装置的一个实施例的结构示意图;

图10是本发明水面检测装置的一个实施例的结构示意图;

图11是本发明水面检测装置的一个实施例中图像处理模块的结构示意图;

图12是本发明无人机的一个实施例的硬件结构示意图;

图13是本发明无人机的一个实施例中飞控芯片的硬件结构示意图;

图14是本发明无人机的一个实施例中视觉芯片的硬件结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供的水面检测方法、装置和无人机适用于如图1所示的应用场景,所述应用场景包括无人机10和降落区域20。本发明实施例可以应用在无人机10自主飞行过程中,需要自主降落的场合。降落区域20为无人机10即将降落的区域,可能为平地、山地或水面等。由于水面会造成无人机10损坏,无人机10在自主降落时,需要判断降落区域20是否包含水面,如果包含水面,则不能降落,否则会造成无人机损毁。

其中,无人机10可以是任何合适类型的高空或者低空飞行器,包括固定翼无人飞行器和旋转翼无人飞行器,例如直升机、四旋翼机和具有其它数量的旋翼和/或旋翼配置的飞行器。无人机10还可以是其他可移动物体,例如载人飞行器、航模、无人飞艇和无人热气球等。

其中,在一些实施例中,请参照图2(图2仅部分示出了无人机10的构成),无人机10包括机身11、与机身11相连的机臂、动力装置和设于机身11的控制系统。动力装置用于提供无人机10飞行的推力、升力,包括电机及由电机驱动的机翼,例如设于所述机臂的电机和与电机相连的螺旋桨。控制系统是无人机10的中枢神经,可以包括多个功能性单元,例如飞控系统、视觉系统以及其他具有特定功能的系统。视觉系统包括图像采集装置12和视觉芯片14等,飞控系统包括各类传感器(例如陀螺仪、加速计)和飞控芯片15等。

无人机10包括用于产生气流的气流产生装置13,这样当降落区域20包含水面时,气流将在水面上产生波纹。在其中一些实施例中,气流产生装置13可以是无人机10的机翼,例如旋翼飞行器的螺旋桨,螺旋桨在旋转时可以使水面产生波纹。在另一些实施例中,气流产生装置13还可以是单独设置的由电机驱动的扇叶,例如在固定翼飞行器中,可以在无人机10的机身下方设置由电机驱动的扇叶,扇叶的转动可以使水面产生波纹。

图像采集装置12用于采集降落区域20的图像,例如高清摄像头或者运动摄像机等。图像采集装置12可以设置于任何利于拍摄降落区域20的合适位置,在一些实施例中,图像采集装置12设置于机身11的底部,以利于拍摄位于无人机10下方的降落区域20的图像。视觉芯片14用于对图像采集装置12采集的图像进行处理和识别,判断图像中是否存在水面特征,以确定降落区域20是否包括水面。飞控系统的各类传感器可以获得无人机10的位置和飞行姿态,飞控芯片15用于控制无人机10的飞行姿态。在视觉芯片14识别出降落区域20不包括水面时,飞控芯片15控制无人机10降落,在视觉芯片14识别出降落区域20包括水面时,飞控芯片15控制无人机10停止降落或飞至其他适合降落的地方。

在高光环境下,水面的波纹在光的照射下会产生波光粼粼的效果,反映到图像中就会形成多个光斑,该光斑可以作为水面的动态特征,通过判断降落区域20的图像中是否包括一定数量的光斑就可以确定降落区域20是否包括水面。

在一些实施例中,可以先通过飞控芯片15控制无人机10的气流产生装置13产生气流,然后视觉芯片14获取图像采集装置12采集的降落区域20的图像,并对图像进行处理、判断所述图像中是否包含超过预设数量的光斑,如果包含超过预设数量的光斑,则确定降落区域20存在水面,否则,确定降落区域20不存在水面。在视觉芯片14确定降落区域20不存在水面的场合,通知飞控芯片15控制无人机10降落,在视觉芯片14确定降落区域20存在水面的场合通知飞控芯片15控制无人机10停止降落。

在上述实施例中,无人机10分别设置飞控芯片15、视觉芯片14等分别对无人机10进行控制。在另一些实施例中,请参照图12,无人机10除设置用于获取降落区域图像的图像采集装置12、气流产生装置13、各类传感器之外,可以不分别设置飞控芯片和视觉芯片,而采用统一的处理器16对无人机10进行控制。在本实施例中,由处理器16控制无人机10的气流产生装置13产生气流,然后获取图像采集装置12采集的降落区域20的图像,对所述图像进行处理、判断降落区域20是否存在水面,并根据判断结果控制无人机10降落或者停止降落。

需要说明的是,为使降落区域20的图像中产生光斑,本发明实施例需要在有光的环境下才能判断出降落区域20是否存在水面,因此,本发明实施例更适用于白天或灯光充足的场合。

图3为本发明实施例提供的水面检测方法的流程示意图,所述方法可以由图1或图2所示的无人机10执行,如图3所示,所述方法包括:

101:控制无人机产生气流,所述气流用于产生水面波纹。

在一些实施例中,该步骤可由无人机10的飞控芯片执行,在其中一些实施例中,飞控芯片可以控制无人机10的气流产生装置(例如旋翼或单独设置的由电机驱动的扇叶)产生气流。如果无人机10即将下降的降落区域20存在水面,该气流会使水面产生水面波纹。在一些实施例中,为确保气流产生装置产生的气流能在水面上产生波纹,飞控芯片还判断无人机10的飞行高度是否小于一指定高度。因为如果无人机10距离水面较远,即使无人机10产生的气流很大,经过衰减到达水面的气流也可能会变得很小,不足以在水面产生水面波纹。如果无人机10的飞行高度高于指定高度,飞控芯片控制无人机10下降,直至无人机的高度达到指定高度或者小于指定高度,以确保到达水面的气流足够大。其中,指定高度的值可以根据无人机气流产生装置的动力性能进行设置,例如0.5至1.5米。

102:获取所述无人机降落区域的图像。

在一些实施例中,可以通过无人机10的图像采集装置采集无人机降落区域的图像,视觉芯片与图像采集装置通信连接,可以获取图像采集装置采集的图像。其中,所述图像可以为彩色图像,也可以为灰度图像,相对来说,采用灰度图像,数据量少、算法简单快捷。在所述图像为彩色图像时,各个像素点以亮度值表示亮度(即色彩的深浅程度),在所述图像为灰色图像时,灰度值即亮度值,即各个像素点以灰度值表示亮度(以下以所述图像为灰度图像为例说明)。

103:确定所述图像中是否存在超过预设数量的光斑,如果存在,则确定所述降落区域存在水面,其中,所述光斑为一区域,该区域的亮度值高于其周围预设区域的亮度值。

在一些实施例中,视觉芯片获取无人机降落区域的图像后对图像进行处理,并判断图像中是否存在超过预设数量m的光斑,如果所述图像中光斑的数量达到m个,则可以确定降落区域存在水面。在其中一些实施例中判断某一区域是否为光斑可以通过判断该区域的灰度值是否高于其周围一定区域的灰度值来判断,如果该区域的灰度值高于其周围一定区域的灰度值,则该区域为光斑。其中,光斑区域可以设定为圆形、正方形或者其他形状,光斑区域和其周围的预设区域的大小可以根据实际应用情况进行设定。例如如果光斑区域设定为半径为n个像素的圆形,则所述预设区域可以为与所述光斑区域同心的环宽为k个像素的圆环形。如果光斑区域设定为内接半径为n个像素的正方形,则所述预设区域可以为与所述光斑区域同心的环宽为k个像素的方环形。其中,n和k可以根据具体应用情况取值,例如n为5、k为3。预设数量m可以根据实际应用时拍摄的图像大小进行设定,例如10、11或稍小或更大的值。

具体的,请参照图4,在一些实施例中,获得所述图像中光斑的数量,包括以下步骤:

1031:根据所述图像中各像素点的亮度值获取所述图像中各像素点的梯度幅值,所述像素点的梯度幅值表示该像素点在预设方向上亮度值的变化大小。

为了提取图像中光斑的特征,可以获得图像中各像素点的梯度幅值。在一些实施例中,各像素点的梯度幅值可以根据各像素点在互相垂直的第一方向(例如水平方向,以x表示)和第二方向上(例如垂直方向,以y表示)的梯度获得。在另一些实施例中,各像素点的梯度幅值也可以根据水平方向、垂直方向以及对角线方向的梯度获得。

以下举例说明根据像素点在x方向和y方向上的梯度获取像素点梯度幅值的过程,包括以下步骤:

1031a:获取所述图像中各像素点在x方向和y方向的梯度,根据各像素点的x方向梯度获得x方向梯度幅值,根据各像素点的y方向梯度获得y方向梯度幅值。

其中,所述梯度可以是一阶梯度,也可以是二阶梯度,相对来说,二阶梯度抗图像噪声效果更好。如图5所示,图5左侧示出了x方向的一阶梯度图,右侧示出了y方向的一阶梯度图。图6左侧示出了x方向的二阶梯度图,右侧示出了y方向的二阶梯度图。从图6可以看出,光斑区域的二阶梯度明显大于其他区域的二阶梯度,本实施例以二阶梯度为例说明。灰度图像中像素点的梯度可以采用例如sobel算子、roberts算子、prewitt算子、lapacian算子等计算。x方向梯度幅值和y方向梯度幅值可以取x方向二阶梯度和y方向二阶梯度的绝对值。

1031b:将各像素点的x方向梯度幅值中、亮度值小于预设亮度阈值以及x方向梯度幅值小于第一预设梯度幅值的像素点的x方向梯度幅值置为零值;将各像素点的y方向梯度幅值中、亮度值小于预设亮度阈值以及y方向梯度幅值小于第一预设梯度幅值的像素点的y方向梯度幅值置为零值。

即将x方向梯度图中x方向梯度幅值小于第一预设梯度幅值t0的x方向梯度幅值置为零值(零值即相对小值,例如0,以下以零值为0为例说明),同时将虽然x方向梯度幅值大于to但灰度值小于预设亮度阈值g0的像素点的x方向梯度幅值置为0。这样可以忽略像素点灰度值变化小以及亮度低的像素点,减少后续计算的计算量。

同样的,将y方向梯度图中y方向梯度幅值小于第一预设梯度幅值t0的y方向梯度幅值置为0,同时将灰度值小于预设亮度阈值g0的像素点的y方向梯度幅值置为0。其中,to和g0可以根据实际应用情况取值,例如t0、g0均为150。

1031c:根据各像素点的x方向梯度幅值和y方向梯度幅度获得各像素点的梯度幅值。

可以根据阈值处理后的x方向梯度幅值和y方向梯度幅值计算像素点的梯度幅值。在其中一些实施例中,像素点的梯度幅值可以是x方向梯度幅值和y方向梯度幅值的乘积。图7右侧示出了将像素点的x方向二阶梯度幅值和y方向二阶梯度幅值相乘后获得的梯度图,其中,图7左侧为原始灰度图。图7右侧的图中,仅保留了x方向和y方向梯度都大的像素点,其他像素点的梯度幅值为0。这样可以去除图像中由于缝隙和直线型灰度突变等因素造成的大梯度。

1032:对所述各像素点的梯度幅值进行二值化处理,将梯度幅值大于或者等于第二预设梯度幅值的梯度幅值置为第一值,将梯度幅值小于所述第二预设梯度幅值的梯度幅值置为零值。

即将各像素点的梯度幅值中,梯度幅值小于第二预设梯度幅值t1的梯度幅值置为0,将梯度幅值大于或者等于t1的梯度幅值置为第一值(即相对大值,例如1,以下以第一值为1为例说明)。图8右侧示出了对各像素点的梯度幅值进行二值化处理后获得的图像,图8左侧为原始灰度图。其中,t1可以根据实际应用情况取值,例如2000000。

1033:根据二值化处理后的各像素点的梯度幅值寻找所述图像中的局部峰。

在其中一些实施例中,寻找图像中的局部峰,可以遍历二值化处理后的每个像素点,确定该像素点附近是否为局部峰。针对每个像素点,以该像素点为中心获得第一区域和与第一区域同心且比第一区域面积大的第二区域,如果所述第一区域内梯度幅值为1的个数与所述第二区域内梯度幅值为1的个数一致,则说明灰度值高的像素点主要集中在第一区域内,则第一区域为一个局部峰。依次类推,顺序遍历图像中的所有像素点,找出图像中的各个局部峰。在其中一些实施例中,如果确定第一区域为局部峰,为减小后续计算的计算量,可以将该第一区域内的像素点的梯度幅值置为0。

其中,第一区域和第二区域可以为圆形、正方形或其他形状,以正方形为例,第一区域可以是以该像素点为中心、内接半径为n个像素的正方形,第二区域可以是以该像素点为中心、内接半径为n+k个像素的正方形。其中,n和k可以根据具体应用情况取值,例如n为5、k为3。

1034:统计所述局部峰的数量。

局部峰所在的区域代表一个光斑,统计出图像中局部峰的个数,即为光斑的个数。

本发明实施例通过控制无人机产生气流,使得包含水面的降落区域产生波纹,然后通过判断降落区域图像中是否存在超过预设数量的光斑来确定降落区域是否包含水面,可以减小无人机误降落在水面造成的损害。

相应的,如图9所示,本发明实施例还提供了一种水面检测装置,可以用于图1或图2所示的无人机10,水面检测装置900包括:

气流产生模块901,用于控制所述无人机产生气流,所述气流用于产生水面波纹;

图像获取模块902,用于获取所述无人机降落区域的图像;

图像处理模块903,用于确定所述图像中是否存在超过预设数量的光斑,其中,所述光斑为一区域,该区域的亮度值高于其周围预设区域的亮度值;

如果图像处理模块903确定所述图像中存在超过预设数量的光斑,则确定所述降落区域存在水面。

本发明实施例通过控制无人机产生气流,使得包含水面的降落区域产生波纹,然后通过判断降落区域图像中是否存在超过预设数量的光斑来确定降落区域是否包含水面,可以减小无人机误降落在水面造成的损害。

在其中一些实施例中,图像处理模块903具体用于:

获得所述图像中光斑的数量;

确定所述光斑的数量是否超过所述预设数量。

在其中一些实施例中,如图11所示,图像处理模块903包括:

梯度幅值获取子模块9031,用于根据所述图像中各像素点的亮度值获取所述图像中各像素点的梯度幅值;

二值化处理子模块9032,用于对所述各像素点的梯度幅值进行二值化处理,将梯度幅值大于或者等于第二预设梯度幅值的梯度幅值置为第一值,将梯度幅值小于所述第二预设梯度幅值的梯度幅值置为零值;

局部峰值搜索子模块9033,用于根据二值化处理后的各像素点的梯度幅值寻找所述图像中的局部峰;

统计子模块9034,用于统计所述局部峰的数量,并将所述局部峰的数量作为所述光斑的数量。

在其中一些实施例中,梯度幅值获取子模块9031具体用于:

获取所述图像中各像素点的第一方向梯度和第二方向梯度,所述第一方向和所述第二方向垂直;

根据各像素点的所述第一方向梯度获得各像素点的第一方向梯度幅值,根据各像素点的所述第二方向梯度获得各像素点的第二方向梯度幅值;

将各像素点的第一方向梯度幅值中,亮度值小于预设亮度阈值或第一方向梯度幅值小于第一预设梯度幅值的像素点的第一方向梯度幅值置为零值;

将各像素点的第二方向梯度幅值中,亮度值小于预设亮度阈值或第二方向梯度幅值小于第一预设梯度幅值的像素点的第二方向梯度幅值置为零值;

根据各像素点的所述第一方向梯度幅值和所述第二方向梯度幅值获得各像素点的梯度幅值。

在其中一些实施例中,局部峰值搜索子模块9033具体用于:

s1:以像素点为中心获得第一区域和第二区域,所述第二区域的面积大于所述第一区域的面积,如果所述第一区域内梯度幅值为第一值的个数与所述第二区域内梯度幅值为第一值的个数一致,则所述第一区域为一个局部峰;

s2:重复执行s1,直至遍历所述图像中的各个像素点。

在其中一些实施例中,局部峰值搜索子模块9033还具体用于:

如果所述第一区域为一个局部峰,将所述第一区域内的像素点的梯度幅值置为零值。

在其中一些实施例中,所述第一区域为以所述像素点为中心、内接半径为第一像素半径的第一正方形区域,所述第二区域为以所述像素点为中心、内接半径为第二像素半径的第二正方形区域,所述第二像素半径大于所述第一像素半径。

在其中一些实施例中,所述图像为灰度图像。

在其中一些实施例中,如图10所示,水面检测装置900还包括:

高度控制模块904,用于判断所述无人机的飞行高度是否小于指定高度;

若否,则控制所述无人机下降直至所述无人机的飞行高度小于所述指定高度以确保所述无人机能够产生所述水面波纹。

需要说明的是,上述装置可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在装置实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。

图12为无人机10的一个实施例的硬件结构示意图,在该实施例中,无人机10采用处理器16对无人机10进行控制,如图12所示,无人机10除包括机身11、设置于机身11上的图像采集装置12和气流产生装置13之外,还包括:

一个或多个处理器16以及存储器17,图12中以一个处理器16为例。

处理器16和存储器17可以通过总线或者其他方式连接,图12中以通过总线连接为例。

存储器17作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的水面检测方法对应的程序指令/模块(例如,附图9所示的气流产生模块901、图像获取模块902、图像处理模块903)。处理器16通过运行存储在存储器17中的非易失性软件程序、指令以及模块,从而执行无人机的各种功能应用以及数据处理,即实现上述方法实施例的水面检测方法。

存储器17可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据水面检测装置的使用所创建的数据等。此外,存储器17可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器17可选包括相对于处理器16远程设置的存储器,这些远程存储器可以通过网络连接至无人机。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述一个或者多个模块存储在所述存储器17中,当被所述一个或者多个处理器16执行时,执行上述任意方法实施例中的水面检测方法,例如,执行以上描述的图3中的方法步骤101至步骤103、图4中的方法步骤1031至步骤1034;实现图9中的模块901-903、图10中模块901-904、图11中模块9031-9034的功能。

上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。

本申请实施例提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图12中的一个处理器16,可使得上述一个或多个处理器可执行上述任意方法实施例中的水面检测方法,例如,执行以上描述的图3中的方法步骤101至步骤103、图4中的方法步骤1031至步骤1034;实现图9中的模块901-903、图10中模块901-904、图11中模块9031-9034的功能。

在图2所示的实施例中,无人机10利用视觉芯片14和飞控芯片15对无人机10进行控制。其中,飞控芯片15可以采用图13所示的硬件结构,视觉芯片14可以采用图14所示的硬件结构。

如图13所示,飞控芯片15包括:

一个或多个第一处理器151以及第一存储器152,图13中以一个第一处理器151为例。

第一处理器151和第一存储器152可以通过总线或者其他方式连接,图13中以通过总线连接为例。

第一存储器152作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的水面检测方法对应的程序指令/模块(例如,附图9所示的气流产生模块901)。第一处理器151通过运行存储在第一存储器152中的非易失性软件程序、指令以及模块,从而执行无人机飞控芯片的各种功能应用以及数据处理。

第一存储器152可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据水面检测装置的使用所创建的数据等。此外,第一存储器152可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,第一存储器152可选包括相对于第一处理器151远程设置的存储器,这些远程存储器可以通过网络连接至无人机。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述一个或者多个模块存储在所述第一存储器152中,当被所述一个或者多个第一处理器151执行时,执行上述任意方法实施例中由飞控芯片执行的步骤,例如,执行以上描述的图3中的方法步骤101;实现图9中的模块901、图10中模块901的功能。

如图14所示,视觉芯片14包括:

一个或多个第二处理器141以及第二存储器142,图14中以一个第二处理器141为例。

第二处理器141和第二存储器142可以通过总线或者其他方式连接,图14中以通过总线连接为例。

第二存储器142作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的水面检测方法对应的程序指令/模块(例如,附图9所示的图像获取模块902、图像处理模块903)。第二处理器141通过运行存储在第二存储器142中的非易失性软件程序、指令以及模块,从而执行无人机视觉芯片的各种功能应用以及数据处理。

第二存储器142可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据水面检测装置的使用所创建的数据等。此外,第二存储器142可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,第二存储器142可选包括相对于第二处理器141远程设置的存储器,这些远程存储器可以通过网络连接至无人机。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述一个或者多个模块存储在所述第二存储器142中,当被所述一个或者多个第二处理器141执行时,执行上述任意方法实施例中由视觉芯片执行的步骤,例如,执行以上描述的图3中的方法步骤102-103、图4中的方法步骤1031至步骤1034;实现图9中的模块902-903、图10中模块902-904、图11中的模块9031-9034的功能。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

通过以上的实施例的描述,本领域普通技术人员可以清楚地了解到各实施例可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1