基于单目视觉的无人船智能避障方法和装置与流程

文档序号:12306731阅读:2605来源:国知局
基于单目视觉的无人船智能避障方法和装置与流程

本发明涉及无人船领域,尤其涉及一种基于单目视觉的无人船智能避障方法和装置。



背景技术:

无人船是一种水面自主机器人,其体量小、吃水浅、机动灵活,作为大型调查船向不易抵达的浅水区的功能延伸,目前无人船在极浅水区域的海洋调查工作得到广泛应用。

通常,船只在航行过程中,都会经常遇到各种各样的障碍物,对于有驾驶员的船只,驾驶员看到该障碍物后就可以调转船向进行躲避。但对于无人船,船上并无人员来观看四周情况,这时海面上的障碍物就极易对无人船带来巨大危险。因此,亟需一种能够智能识别障碍物及其方位,从而进行有效回避的方法。



技术实现要素:

为此,本发明提供一种基于单目视觉的无人船智能避障方法和装置,以解决或至少缓解上面存在的问题。

根据本发明的一个方面,提供一种基于单目视觉的无人船智能避障方法,适于在计算设备中执行,该方法包括步骤:对单目相机获取到的海平面原始图像进行灰度处理,得到灰度图像,并对该灰度图像进行海天/岸线检测后分离出海面区域图像;对海面区域图像进行滤波处理,得到滤波图像;对滤波图像进行边缘检测,得到边缘图像,并对该边缘图像进行形态学处理后得到第一候选障碍物区域集合;分别对滤波图像进行显著性检测和图像分割,得到显著图像和分割图像,并以显著图像为掩码提取分割图像中的第二候选障碍物区域集合;将第一候选障碍物区域集合和第二候选障碍物区域集合进行合并后得到障碍物区域集合;确定障碍物区域集合中各区域的最小外接矩形,并从中筛选出满足预定条件的外接矩形构成外接矩形集合;以及以外接矩形的底边为障碍物的吃水线,根据该吃水线在图像中的位置和相机的当前姿态计算障碍物相对于船体的坐标位置。

可选地,在根据本发明的方法中,对灰度图像进行海天/岸线检测的步骤包括:将灰度图像沿列方向均匀分割为n幅子图像fj,其中j=1,2,…,n,且n>3;根据上一时刻各子图像包含海天/岸线的第一概率计算当前时刻各子图像包含海天/岸线的第二概率以及令则对应的子图像fmax即为海天/岸线所在图像,并将该子图像fmax所在位置的上方图像从灰度图像中去除,得到海面区域图像。

可选地,在根据本发明的方法中,第二概率的计算公式为:

其中,

其中,pmis是测量为海天/岸线区域而实际非海天/岸线区域的概率;phit是测量为海天/岸线区域而实际是海天/岸线区域的概率;mj是每幅子图像fj的量化指标,mmax=max2≤j≤n-1mj。

可选地,在根据本发明的方法中,mj=|gj-1-gj+1|×hj,j=2,3,…,n-1;

其中,gj-1、gj+1分别是子图像fj-1和fj+1的灰度均值;hj是子图像fj的信息熵;pk(fj)为子图像fj中灰度值k出现的概率,其中,0≤pk(fj)≤1,k=0,1,…,255;

可选地,在根据本发明的方法中,分割图像中包含多个分割区域,以显著图像为掩码提取分割图像中的第二候选障碍物区域集合包括:计算显著图像在分割图像中的各分割区域的平均显著值;若某个分割区域的平均显著值大于第一阈值,则保存该分割区域,其中第一阈值与显著图像的平均显著值相关;以及对保存的分割区域进行膨胀处理,并将其中相互连接的区域合并后作为第二候选障碍物区域集合。

可选地,在根据本发明的方法中,确定障碍物区域集合中各区域的最小外接矩形,并从中满足预定条件的外接矩形构成外接矩形集合的步骤包括:提取障碍物区域集合中各区域的外轮廓,得到轮廓集合;确定轮廓集合中各轮廓的外接矩形,得到候选外接矩形集合;计算候选外接矩形集合中各矩形的面积,若某个外接矩形的面积小于第二阈值,则舍去该外接矩形及其对应的轮廓;利用多边形的半平面交计算外接矩形集合中任意两个外接矩形rk和rl的交集n边形的顶点集合,其中k和l是所述候选外接矩形集合中任意两个不相同的矩形编号;以及分别计算矩形rk、rl以及该交集n边形的面积sk、sl和并根据其大小关系将外接矩形rk或rl从候选外接矩形集合中舍去,从而得到外接矩形集合。

可选地,在根据本发明的方法中,根据其大小关系将所述外接矩形rk或rl从所述候选外接矩形集合中舍去的步骤包括:若与sk的比值大于第三阈值,则舍去外接矩形rk及其对应的轮廓;若与sl的比值大于第三阈值,则舍去外接矩形rl及其对应的轮廓。

可选地,在根据本发明的方法中,其中,xm和ym分别是交集n边形中第m个顶点的横纵坐标,xm+1和ym+1分别是第m+1个顶点的横纵坐标。

可选地,在根据本发明的方法中,根据该吃水线在图像中的位置和相机的当前姿态计算障碍物相对于船体的坐标位置的步骤包括:以船体方位和相机光心为基础,分别建立世界坐标系、海平面坐标系、图像平面坐标系和相机坐标系;分别计算世界坐标系下的海平面和图像平面的第一换算关系,以及世界坐标系和相机坐标系的第二换算关系;获取吃水线中的点p在图像平面的坐标位置,并根据第一换算关系和第二换算关系计算点p在世界坐标系下所对应的点p';以及将世界坐标系下的相机光心坐标与点p'连线,则该连线与世界坐标系下海平面的交点坐标即为实际吃水线中点p在世界坐标系下的坐标。

可选地,在根据本发明的方法中,单目相机距离海平面高度为h,世界坐标系oo-xoyozo以相机光心为坐标原点oo,以船体正前方为z轴,竖直向上为y轴,水平向左为x轴;海平面坐标系的原点在世界坐标系下的坐标为(0,0,-h,1),其横纵坐标轴与世界坐标系的x轴、z轴一致;图像平面坐标系的原点为世界坐标系的原点(0,0,0,1),其横纵坐标轴与世界坐标系的x轴、y轴一致;第一换算关系为:其中,h为世界坐标系下的海平面和图像平面的单应性矩阵,(xo,zo)为世界坐标系下的海平面上的某点坐标,(x,y)为该点在对应的图像平面上的坐标;第二换算关系为:其中,0为3x1的零向量,r和t分别是相机的旋转矩阵和平移向量,为世界坐标系中的某点坐标,为该点在对应的相机坐标系下的坐标。

根据本发明的一个方面,提供一种基于单目视觉的无人船智能避障装置,适于驻留在计算设备中,该装置包括:海面区域提取单元,适于对单目相机获取到的海平面原始图像进行灰度处理,得到灰度图像,并对该灰度图像进行海天/岸线检测后分离出海面区域图像;图像滤波单元,适于对海面区域图像进行滤波处理,得到滤波图像;第一候选区域提取单元,适于对滤波图像进行边缘检测,得到边缘图像,并对该边缘图像进行形态学处理后得到第一候选障碍物区域集合;第二候选区域提取单元,适于分别对滤波图像进行显著性检测和图像分割,得到显著图像和分割图像,并以显著图像为掩码提取分割图像中的第二候选障碍物区域集合;候选区域合并单元,适于将第一候选障碍物区域集合和第二候选障碍物区域集合进行合并后得到障碍物区域集合;轮廓提取单元,适于确定障碍物区域集合中各区域的最小外接矩形,并从中筛选出满足预定条件的外接矩形构成外接矩形集合;以及障碍物位置计算单元,适于将外接矩形的底边作为障碍物的吃水线,并根据该吃水线在图像中的位置和相机的当前姿态计算障碍物相对于船体的坐标位置。

根据本发明的一个方面,提供一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行如上所述的方法。

根据本发明的技术方案,首先通过船体上的相机采集海平面的原始图像,并依次对该图像进行灰度处理和海天/岸线检测后,提取出海面区域图像。之后,通过对海面区域图像滤波后得到滤波图像,再依次对该滤波图像进行边缘检测和形态学处理,以得到第一候选障碍物区域集合。另一方面,分别对该滤波图像进行显著性检测和图像分割,得到显著图像和分割图像,并根据这两个图像得到第二候选障碍物区域集合。这样,将两个候选障碍物区域集合合并后即为实际的障碍物区域集合。之后,确定各障碍物区域的最小外接矩形,并剔除面积过小或重叠度过高的外接矩形构成外接矩形集合。最后,将外接矩形的底边作为障碍物的吃水线,并根据该吃水线在图像中的位置和相机的当前姿态、利用平面单应性来计算障碍物相对于船体的坐标位置。障碍物的位置确定后,船体就可以做出积极响应,如调整为偏离该障碍物方向航行。

综上所述,本发明的无人船通过对相机采集到的海平面图像进行多次处理后,能够智能的判断出当前障碍物的方位,并能有效躲避障碍物航行,这样既解放了人力,也有效地避免了无人船被撞的风险,从而提高了无人船的使用寿命。

附图说明

为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。

图1示出了根据本发明一个实施例的无人船智能避障系统100的示意图;

图2示出了根据本发明一个实施例的计算设备200的结构图;

图3示出了根据本发明一个实施例的基于单目视觉的无人船智能避障方法300的流程图;

图4示出了根据本发明一个实施例的基于单目视觉的无人船智能避障方法的详细示意图;

图5示出了根据本发明一个实施例的基于单目视觉的无人船智能避障装置400的结构图;

图6a~图6j分别示出了根据本发明的一个实施例的对单目相机原始图像进行处理后的效果图;以及

图7a和图7b分别示出了根据本发明的一个实施例的世界坐标系示意图和相机姿态变化下的单应性测距原理图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了根据本发明一个实施例的无人船智能避障系统100的示意图。图1所示的系统100包括图像采集设备110和计算设备200。图像采集设备110例如可以是任意型号的照相机,如可以采用单目相机,其适于采集海平面的实景原始图像。计算设备200可以是诸如pc、笔记本电脑、手机、平板电脑等设备,其适于执行图像处理任务。在系统100中,图像采集设备110与计算设备200在空间上的距离比较近,二者可以以有线或无线的方式完成近距离通信,例如,图像采集设备110可以通过usb接口、rj-45接口、bnc接口等与计算设备200建立有线连接,或通过蓝牙、wifi、zigbee、ieee802.11x等协议与计算设备200建立无线连接,本发明对图像采集设备110与计算设备200之间的连接方式不做限制。

计算设备200中驻留有基于单目视觉的无人船智能避障装置400,装置400可以作为一个独立的软件安装于计算设备400中,或者作为一个网页应用驻留于计算设备200的浏览器中,或者仅仅是位于计算设备200的存储器中的一段代码,本发明对装置400在计算设备200中的存在形式不做限制。当图像采集设备110采集到海平面的实景原始图像后,将该实景图像发送至计算设备200。计算设备200接收该实景图像,并由装置400对接收到的实景图像进行处理,从中确定海面上的障碍物相对船体的坐标位置,并发出控制指令指挥船体远离该位置航行。

应当指出,图1中的系统100仅是示例性的,在具体的实践情况中,系统100中可以包括任意数量的图像采集设备110和计算设备200,本发明对系统100a中所包括的图像采集设备110和计算设备200的数目不做限制。

图2示出了根据本发明一个实施例的计算设备200的结构图。在基本配置202中,计算设备200典型地包括系统存储器206和一个或者多个中央处理器204。存储器总线208可以用于在中央处理器204和系统存储器206之间的通信。中央处理器204是计算设备200的运算核心和控制核心,其主要功能是解释计算机指令以及处理各种软件中的数据。

取决于期望的配置,中央处理器204可以是任何类型的处理,包括但不限于:微处理器(μp)、微控制器(μc)、数字信息处理器(dsp)或者它们的任何组合。中央处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(alu)、浮点数单元(fpu)、数字信号处理核心(dsp核心)或者它们的任何组合。示例的存储器控制器218可以与中央处理器204一起使用,或者在一些实现中,存储器控制器218可以是中央处理器204的一个内部部分。

取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如ram)、非易失性存储器(诸如rom、闪存等)或者它们的任何组合。系统存储器206可以包括操作系统220、一个或者多个应用222以及程序数据224。在一些实施方式中,应用222可以布置为在操作系统上利用程序数据224进行操作。应用222在系统存储器中体现为多段程序指令,例如,应用222可以是可执行程序(.exe文件)或网页中的一段js代码。中央处理器204可以执行这些程序指令从而实现应用222所指示的功能。在本发明中,应用222中包括视网膜图像出血区域分割装置300。视网膜图像出血区域分割装置300是一个由多行代码组成的指令集合,其能够指示中央处理器204执行图像处理的相关操作,从而实现视网膜图像的出血区域分割。

计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置102经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个a/v端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个i/o端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。

网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(rf)、微波、红外(ir)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读存储介质可以包括存储介质和通信介质二者。

根据一种实施例,计算机可读存储介质中存储有程序指令,程序指令中包括基于单目视觉的无人船智能避障装置400。当计算机可读存储介质中存储的装置400被计算设备200读取时,计算设备200的中央处理器204可以执行相应的基于单目视觉的无人船智能避障方法300,以准确确定障碍物相对船体的位置并进行有效躲避。

图3示出了根据本发明一个实施例的基于单目视觉的无人船智能避障方法300的流程图。如图3所示,方法300始于步骤s310。

在步骤s310,对单目相机获取到的海平面原始图像进行灰度处理,得到灰度图像,并对该灰度图像进行海天/岸线检测后分离出海面区域图像。

一般来说,单目相机采集到的海平面实景原始图像为彩色图像,为了对其进行后续处理将其转换为灰度图像。本领域技术人员可以意识到将彩色图像转化为灰度图像有多种方法,本发明对所采用的灰度图像转化方法不做限制。

根据一个实施例,对灰度图像进行海天/岸线检测后分离出海面区域图像的步骤包括:将灰度图像沿列方向均匀分割为n幅子图像fj,其中j=1,2,…,n,且n>3,如可以设置n=10。设上一时刻各子图像包含海天/岸线的第一概率为则根据该第一概率值计算当前时刻各子图像包含海天/岸线的第二概率其中,j=2,3,…,n-1。令则对应的子图像fmax即为海天/岸线所在图像。例如,则fmax=f80。之后,将该子图像fmax所在位置的上方图像从灰度图像中去除,得到海面区域图像。这里,在灰度图像中舍去fmax所在位置的上方图像,则剩余部分即为海面区域图像,也就是障碍物检测区域图像,其中障碍物就位于该海面区域中。

另外,在本发明中,根据上一时刻各子图像包含海天/岸线的第一概率来计算当前时刻的各子图像包含海天/岸线的第二概率而初始时刻的值可以根据需要进行设置,如设置为0.5。

进一步地,第二概率的计算公式可以为:

其中,

这里,考虑到每次测量存在错误的可能性,令pmis是测量为非海天/岸线区域而实际为海天/岸线区域的概率,即测量错误的概率;phit是测量为海天/岸线区域而实际是海天/岸线区域的概率,即测量正确的概率。两者取值根据经验确定,如pmis=0.2,phit=0.9;mj是每幅子图像fj的量化指标,mmax=max2≤j≤n-1mj。

根据一个实施例,子图像fj的量化指标mj的计算公式可以为:

mj=|gj-1-gj+1|×hj,j=2,3,…,n-1;

其中,gj-1、gj+1分别是子图像fj-1和fj+1的灰度均值;hj是子图像fj的信息熵;pk(fj)为子图像fj中灰度值k出现的概率,其中,0≤pk(fj)≤1,k=0,1,…,255;

图6a为对单目相机获取到的一张海平面始图像进行灰度处理后所得到的灰度图像。图6b示出了从图6a中的灰度图像检测出的海天/岸线,将该海天/岸线所在的子图像所在位置的上方图像从图6b中去除后,即可得到海面区域图像。

随后,在步骤s320,对海面区域图像进行滤波处理,得到滤波图像,如图6c所示。需要说明的是,这里可以采用现有的任意一种滤波方式,如高斯滤波、维纳滤波、非线性滤波等等,或采用多种滤波方式的组合,本发明对此不作限定。根据一个实施例,可以采用保边平滑滤波方式,即在对图像进行平滑滤波的同时又能够保持边缘清晰。

随后,在步骤s330,对滤波图像进行边缘检测,得到边缘图像,并对该边缘图像进行形态学处理后得到第一候选障碍物区域集合其中m1为边缘检测提取的区域数。同样地,这里可以采用现有的任意一种边缘检测和形态学处理方式,如基于搜索的边缘检测、基于零交叉的边缘检测;膨胀(或扩张)、腐蚀(或侵蚀)、开启和闭合等等,或采用多种方式的组合,本领域技术人员可以根据需要选择任一种或多种方式,本发明对此不作限定。另外,在进行边缘检测前,还可以进行一些常见的图像预处理,如对比度增强等,本发明对此不作限定。图6d是对图6c的滤波图像进行边缘检测后得到的边缘图像,图6e是对图6d进行形态学处理后得到的图像,其中白色线条部分即为第一候选障碍物区域集合。

随后,在步骤s340,分别对滤波图像进行显著性检测和图像分割,得到显著图像和分割图像,并以显著图像为掩码提取分割图像中的第二候选障碍物区域集合其中m2为图像分割所提取的区域数。本领域技术人员同样可以意识到显著性检测和图像分割都有多种方法,这里可以采用现有技术中的任一种或多种组合,本发明对显著性检测和图像分割所采用的具体方法不做限制。

通常,分割图像中可以包含多个分割区域,这多个分割区域构成分割区域集合。根据一个实施例,以显著图像为掩码提取分割图像中的第二候选障碍物区域集合的步骤可以包括:计算显著图像在分割图像中的各分割区域的平均显著值zsaliency;若某个分割区域的该平均显著值zsaliency大于第一阈值,则保存该分割区域;以及对所保存的分割区域进行膨胀处理,并将其中相互连接的区域合并后作为第二候选障碍物区域集合regionseg。其中,第一阈值与显著图的平均显著值zave相关,进一步地其可以是αzave,其中α为阈值参数,其可以根据需要设置为合适数值,如设置为2.0,当然也可以设置为其他数值,本发明对此不作限制。这里,平均显著值是显著值的平均值,实际操作中可以直接计算所有像素的显著值,后求平均,也可以先将图像分割为多个超像素后,求得各超像素的显著值后再取平均,或者采取其他计算方式,本发明对此不作限定。

图6f和图6g分别是对图6c的滤波图像进行显著性检测和图像分割得到的显著图像和分割图像,其中分割图像中分割出来了多个区域(如图6g中多个白色区域所示)。以图6f为掩码,与图6g对应相乘,即可得到图6h中的第二障碍物区域集合regionseg,如左上角的阴影部分所示。

随后,在步骤s350,将第一候选障碍物区域集合和第二候选障碍物区域集合合并后得到障碍物区域集合。也就是将边缘检测获得的区域regionedge和图像分割获得的区域regionseg相交,得到障碍物区域集合regionobs,如图6i中的白色区域所示。

随后,在步骤s360,确定障碍物区域集合regionobs中各区域的最小外接矩形,并从中筛选出满足预定条件的外接矩形构成外接矩形集合rect={recti|i=1,2,…,k},其中k为符合要求的外接矩形数。这里主要是为了剔面积过小或重叠的外接矩形。图6j示出了通过对图6i进行轮廓提取及外接矩形计算后得到的外接矩形集合rect。

根据一个实施例,可以通过如下方法得到外接矩形集合rect:提取障碍物区域集合中各区域的外轮廓,得到轮廓集合;确定轮廓集合中各轮廓的外接矩形,得到候选外接矩形集合;计算该候选外接矩形集合中各矩形的面积,若某个外接矩形的面积小于第二阈值tarea,则舍去该外接矩形及其对应的轮廓,从而剔除了面积过小的外接矩形。这里,第二阈值tarea可以根据需要设置为合适数值,如设置为100,当然也可以设置为其他数值,本发明对此不作限制。之后,利用多边形的半平面交计算该外接矩形集合中任意两个外接矩形rk和rl的交集n边形的顶点集合{xm,ym|m=1,2,…,n},其中k和l是所述候选外接矩形集合中任意两个不相同的矩形编号;以及分别计算矩形rk、rl以及该交集n边形的面积sk、sl和并根据其大小关系将外接矩形rk或rl从候选外接矩形集合中舍去,从而得到外接矩形集合rect。

根据一个实施例,交集n边形的面积的计算公式可以为:

其中,xm和ym分别是交集n边形中第m个顶点的横纵坐标,xm+1和ym+1分别是第m+1个顶点的横纵坐标。应当理解,这里的横坐坐标值是点在如图6j中所示的图像平面的坐标值。

进一步地,可以根据如下方式对rk或rl进行取舍:若与sk的比值大于第三阈值tinter,则认为矩形rl可近似覆盖矩形rk,因此舍去外接矩形rk及其对应的轮廓;同理,若与sl的比值大于第三阈值,则认为矩形rk可近似覆盖矩形rl,因此舍去外接矩形rl及其对应的轮廓。其中,第三阈值tinter可以根据需要设置为合适数值,如设置为0.6,当然也可以设置为其他数值,本发明对此不作限制。

随后,在步骤s370,以外接矩形的底边为障碍物的吃水线,根据该吃水线在图像中的位置和相机的当前姿态计算障碍物相对于船体的坐标位置。

根据一个实施例,步骤s370可具体包括以下过程:以相机光心为基础,分别建立世界坐标系、海平面坐标系、图像平面坐标系和相机坐标系;分别计算世界坐标系下的海平面和图像平面的第一换算关系,以及世界坐标系和相机坐标系的第二换算关系;获取吃水线中的点p在图像平面的坐标位置,并根据第一换算关系和第二换算关系计算点p在世界坐标系下所对应的点p';以及将世界坐标系下的相机光心坐标与点p'连线,则该连线与世界坐标系下海平面的交点坐标即为实际吃水线中点p在世界坐标系下的坐标。

这里,世界坐标系围绕船体方向和相机光心建立,所以确定了实际吃水线的中点p在世界坐标系下的坐标即确定了实际吃水线中的点相对于船体的坐标位置。根据这种方法可以获取到实际吃水线中的任意点相对于船体的坐标位置,从而保证船体完全掌握该障碍物的规模大小和方位。当然,实际操作中也可以只计算吃水线中的部分点的坐标,如吃水线的左右顶点,或中点,或几个均分点,或随机选取几个点,根据这部分点即可估算出障碍物的规模大小和方位,本发明对点的计算数目不作限定,只要能得到该障碍物位置即可。

图7a和图7b分别示出了根据本发明的一个实施例的世界坐标系示意图和相机姿态变化下的单应性测距原理图,根据单应性原理即可得到图像平面中的某点坐标在实际的海平面中的坐标位置,进而得到该点相对于船体的位置。参考图7a和图7b,世界坐标系oo-xoyozo以相机光心为坐标原点oo,以船体正前方为z轴,竖直向上为y轴,水平向左为x轴。设相机距离海平面高度为h,则海平面方程为(0,0,1,-h)。海平面坐标系的原点在世界坐标系下坐标为(0,0,-h,1),其横纵坐标轴与世界坐标系的x轴、z轴一致。图像平面坐标系的坐标原点为世界坐标系的原点(0,0,0,1),其横纵坐标轴与世界坐标系的x轴、y轴一致。当然,以上只是一个示例性说明,实际操作中,各坐标系也可以根据需要设置为其他方式,本发明对此不作限定。

设海平面上某点坐标为(x0,z0),对应在图像平面坐标为(x,y),标定在世界坐标系下的海平面和图像平面的单应性矩阵h,则第一换算关系为无人船运动状态下可根据船载imu模块计算相机的旋转和平移量,设当前相机坐标系为oc-xcyczc,则世界坐标系和相机坐标系下坐标之间的第二换算关系为:其中其中r为旋转矩阵,为平移向量,0为3x1的零向量,为世界坐标系中的某点坐标,为该点在对应的相机坐标系下的坐标。

设障碍物吃水线中的点p的图像平面坐标为则该点在经旋转平移后的虚拟海平面下的坐标为所以该点在相机坐标系下的坐标为进而在世界坐标系下的坐标为世界坐标系下相机光心坐标为虚拟吃水线中的点p′坐标为这两点连线与世界坐标系下海平面的交点即为实际落水线中的点p在世界坐标系下的坐标。

根据本发明的一个实施例,算出障碍物在无人船坐标系下的相对距离和方向后,还可以由控制单元发出通过控制指令来调整船体的航行方向,使得船体远离该障碍物航行。

图5示出了根据本发明一个实施例的基于单目视觉的无人船智能避障装置400的结构图。如图5所示,装置400包括海面区域提取单元410、图像滤波单元420、第一候选区域提取单元430、第二候选区域提取单元440、候选区域合并单元450、轮廓提取单元460和障碍物位置计算单元470。

海面区域提取单元410适于对单目相机获取到的海平面原始图像进行灰度处理,得到灰度图像,并对该灰度图像进行海天/岸线检测后分离出海面区域图像。根据一个实施例,海面区域提取单元410可以将灰度图像沿列方向均匀分割为n幅子图像fj,其中j=1,2,…,n,n>3;根据上一时刻各子图像包含海天/岸线的第一概率为计算当前时刻各子图像包含海天/岸线的第二概率以及令则对应的子图像fmax即为海天/岸线所在图像,并将该子图像fmax所在位置的上方图像从所述灰度图像中去除,得到海面区域图像。

图像滤波单元420适于对海面区域图像进行滤波处理,得到滤波图像。根据一个实施例,可以进行保边平滑滤波处理。

第一候选区域提取单元430适于对滤波图像进行边缘检测,得到边缘图像,并对该边缘图像进行形态学处理后得到第一候选障碍物区域集合。

第二候选区域提取单元440适于分别对滤波图像进行显著性检测和图像分割,得到显著图像和分割图像,并以显著图像为掩码提取分割图像中的第二候选障碍物区域集合。根据一个实施例,分割图像中有多个分割区域,第二候选区域提取单元440可以计算显著图像在所述分割图像中各分割区域的平均显著值,若某个分割区域的平均显著值大于第一阈值,则保存该分割区域,其中第一阈值与显著图像的平均显著值相关。对所保存的分割区域进行膨胀处理,并将其中相互连接的区域合并后作为第二候选障碍物区域集合。

候选区域合并单元450适于将第一候选障碍物区域集合和第二候选障碍物区域集合合并后得到障碍物区域集合。

轮廓提取单元460适于确定障碍物区域集合中各区域的最小外接矩形,并从中筛选出满足预定条件的外接矩形构成外接矩形集合。根据一个实施例,轮廓提取单元460可以提取障碍物区域集合中各区域的外轮廓,得到轮廓集,并确定该轮廓集合中各轮廓的外接矩形,得到候选外接矩形集合。之后,计算候选外接矩形集合中各矩形的面积,若某个外接矩形的面积小于第二阈值,则舍去该外接矩形及其对应的轮廓。随后,利用多边形的半平面交计算所述外接矩形集合中任意两个外接矩形ri和rj的交集n边形的顶点集合,其中i和j是所述候选外接矩形集合中任意两个不相同的矩形编号。最后,分别计算矩形rk、rl以及该交集n边形的面积sk、sl和并根据其大小关系将外接矩形rk或rl从所述候选外接矩形集合中舍去,从而得到外接矩形集合。

障碍物位置计算单元470适于将外接矩形的底边作为障碍物的吃水线,并根据该吃水线在图像中的位置和相机的当前姿态计算障碍物相对于船体的坐标位置。根据一个实施例,障碍物位置计算单元470可以船体方位和相机光心为基础,分别建立世界坐标系、海平面坐标系、图像平面坐标系和相机坐标系,并分别计算世界坐标系下的海平面和图像平面的第一换算关系,以及世界坐标系和相机坐标系的第二换算关系。之后,获取吃水线中的点p在图像平面的坐标位置,并根据第一换算关系和第二换算关系计算点p在世界坐标系下所对应的点p'。最后,将世界坐标系下的相机光心坐标与点p'连线,则该连线与世界坐标系下海平面的交点坐标即为实际吃水线中点p在世界坐标系下的坐标。

根据一个实施例,装置400还可以包括控制单元(图中未示出),适于当确定到障碍物位置后,发出通过控制指令来调整船体的航行方向,使得船体远离该障碍物航行。

根据本发明的基于单目视觉的无人船智能避障装置400,其具体细节已在方法300中详细说明,在此不再赘述。

根据本发明的技术方案,通过对无人船上的单目相机采集到的海平面图像进行多次处理后,能够智能的判断出当前障碍物的方位,并能有效躲避障碍物航行,这样既解放了人力,也有效地避免了无人船被撞的风险,从而提高了无人船的使用寿命。

a9、如a1所述的方法,其中,所述根据该吃水线在图像中的位置和相机的当前姿态计算障碍物相对于船体的坐标位置的步骤包括:以船体方位和相机光心为基础,分别建立世界坐标系、海平面坐标系、图像平面坐标系和相机坐标系;分别计算世界坐标系下的海平面和图像平面的第一换算关系,以及世界坐标系和相机坐标系的第二换算关系;获取所述吃水线中的点p在图像平面的坐标位置,并根据所述第一换算关系和第二换算关系计算该点p在世界坐标系下所对应的点p';以及将世界坐标系下的相机光心坐标与点p'连线,则该连线与世界坐标系下海平面的交点坐标即为实际吃水线中点p在世界坐标系下的坐标。

a10、如a9所述的方法,其中,所述单目相机距离海平面高度为h,所述世界坐标系oo-xoyozo以相机光心为坐标原点oo,以船体正前方为z轴,竖直向上为y轴,水平向左为x轴;所述海平面坐标系的坐标原点在世界坐标系下的坐标为(0,0,-h,1),其横纵坐标轴与世界坐标系的x轴、z轴一致;所述图像平面坐标系的坐标原点为世界坐标系的原点(0,0,0,1),其横纵坐标轴与世界坐标系的x轴、y轴一致;

所述第一换算关系为:其中,h为世界坐标系下的海平面和图像平面的单应性矩阵,(xo,zo)为世界坐标系下的海平面上某点坐标,(x,y)为该点在对应的图像平面的坐标;所述第二换算关系为:其中,0为3x1的零向量,r和t分别是相机的旋转矩阵和平移向量,为世界坐标系中的某点坐标,为该点在对应的相机坐标系下的坐标。

b12、如b11所述的装置,其中,所述海面区域提取单元适于:将所述灰度图像沿列方向均匀分割为n幅子图像fj,其中j=1,2,…,n且n>3;根据上一时刻各子图像包含海天/岸线的第一概率计算当前时刻各子图像包含海天/岸线的第二概率以及令则对应的子图像fmax即为海天/岸线所在图像,并将该子图像fmax所在位置的上方图像从所述灰度图像中去除,得到海面区域图像。

b13、如b12所述的装置,其中,所述第二概率的计算公式为:

其中,

其中,pmis是测量为海天/岸线区域而实际非海天/岸线区域的概率;phit是测量为海天/岸线区域而实际是海天/岸线区域的概率;mj是子图像fj的量化指标,mmax=max2≤j≤n-1mj。

b14、如b13所述的装置,其中,mj=|gj-1-gj+1|×hj,j=2,3,…,n-1;其中,gj-1、gj+1分别是子图像fj-1和fj+1的灰度均值;hj是子图像fj的信息熵;pk(fj)为子图像fj中灰度值k出现的概率,

其中,0≤pk(fj)≤1,k=0,1,…,255;

b15、如b11所述的装置,其中,所述分割图像中有多个分割区域所述第二候选区域提取单元适于:计算所述显著图像在所述分割图像中各分割区域的平均显著值;若某个分割区域的所述平均显著值大于第一阈值,则保存该分割区域,其中第一阈值与所述显著图像的平均显著值相关;以及对所述保存的分割区域进行膨胀处理,并将其中相互连接的区域合并后作为所述第二候选障碍物区域集合。

b16、如b11所述的装置,其中,所述轮廓提取单元适于:提取所述障碍物区域集合中各区域的外轮廓,得到轮廓集合;确定所述轮廓集合中各轮廓的外接矩形,得到候选外接矩形集合;计算所述候选外接矩形集合中各矩形的面积,若某个外接矩形的面积小于第二阈值,则舍去该外接矩形及其对应的轮廓;利用多边形的半平面交计算所述外接矩形集合中任意两个外接矩形ri和rj的交集n边形的顶点集合,其中i和j是所述候选外接矩形集合中任意两个不相同的矩形编号;以及分别计算矩形rk、rl以及该交集n边形的面积sk、sl和并根据其大小关系将所述外接矩形rk或rl从所述候选外接矩形集合中舍去,从而得到所述外接矩形集合。

b17、如b16所述的装置,其中所述轮廓提取单元进一步适于:若与sk的比值大于第三阈值,则舍去外接矩形rk及其对应的轮廓;若与sl的比值大于第三阈值,则舍去外接矩形rl及其对应的轮廓。

b18、如b16所述的装置,其中,其中,xm和ym分别是交集n边形中第m个顶点的横纵坐标,xm+1和ym+1分别是第m+1个顶点的横纵坐标。

b19、如b11所述的装置,其中,所述障碍物位置计算单元适于:以船体方位和相机光心为基础,分别建立世界坐标系、海平面坐标系、图像平面坐标系和相机坐标系;分别计算世界坐标系下的海平面和图像平面的第一换算关系,以及世界坐标系和相机坐标系的第二换算关系;获取吃水线中的点p在图像平面的坐标位置,并根据第一换算关系和第二换算关系计算点p在世界坐标系下所对应的点p';以及将世界坐标系下的相机光心坐标与点p'连线,则该连线与世界坐标系下海平面的交点坐标即为实际吃水线中点p在世界坐标系下的坐标。

b20、如b19所述的装置,其中,所述相机距离海平面高度为h,所述世界坐标系oo-xoyozo以相机光心为坐标原点oo,以船体正前方为z轴,竖直向上为y轴,水平向左为x轴;所述海平面坐标系的原点在世界坐标系下的坐标为(0,0,-h,1),其横纵坐标轴与世界坐标系的x轴、z轴一致;所述图像平面坐标系的原点为世界坐标系的原点(0,0,0,1),其横纵坐标轴与世界坐标系的x轴、y轴一致;

所述第一换算关系为:其中,h为世界坐标系下的海平面和图像平面的单应性矩阵,(xo,zo)为世界坐标系下海平面上的某点坐标,(x,y)为该点在对应的图像平面上的坐标;所述第二换算关系为:其中,0为3x1的零向量,r和t分别是相机的旋转矩阵和平移向量,为世界坐标系中的某点坐标,为该点在对应的相机坐标系下的坐标。

这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、cd-rom、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。

在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的基于单目视觉的无人船智能避障方法。

以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。

在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。

如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。

尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。

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