障碍物检测方法及装置与流程

文档序号:13143060阅读:646来源:国知局
障碍物检测方法及装置与流程
本申请涉及人工智能
技术领域
,尤其涉及一种障碍物检测方法及装置。
背景技术
:在移动机器人和导盲系统中,避障是必需的基本功能之一,而如何有效的检测出行进路面上的障碍物,是避障系统需要解决的关键问题。目前,常用的障碍物检测方式包括基于红外线、超声波等非视觉检测方式;基于kinect、双目摄像机等立体视觉检测方式以及基于单个摄像机的非立体视觉检测方式。然而这些方式都存在相应的缺陷和不足,其中,使用红外线、超声波等非视觉检测方式,其检测精度有限,只能检测体积较大的障碍物,无法检测到微小障碍物,因此安全性较差;而基于单个摄像机的障碍物检测方式,往往需要指定感兴趣区域,对于复杂环境,其无法自动检测地面区域和障碍物。技术实现要素:本申请实施例公开一种障碍物检测方法及装置,主要解决现有技术中存在的障碍物检测精度有限的问题。为达到上述目的,本申请实施例采用如下技术方案:第一方面,提供一种障碍物检测方法,该方法包括:获取待检测图像;根据待检测图像中包含的像素信息,将所述待检测图像划分为路面区域和非路面区域;检测被所述路面区域包围的非路面区域,当存在至少一个非路面区域被所述路面区域包围时,将所述至少一个非路面区域确定为障碍物区域。第二方面,提供一种障碍物检测装置,包括:获取单元,用于获取待检测图像;区域划分单元,用于根据待检测图像中包含的像素信息,将所述待检测图像划分为路面区域和非路面区域;检测单元,用于检测被所述路面区域包围的非路面区域;障碍物确定单元,用于当所述检测单元检测到存在至少一个非路面区域被所述路面区域包围时,将所述至少一个非路面区域确定为障碍物区域。第三方面,提供一种计算机存储介质,用于储存计算机软件指令,其包含执行上述障碍物检测方法所设计的程序代码。第四方面,提供一种计算机程序产品,可直接加载到计算机的内部存储器中,并含有软件代码,所述计算机程序经由计算机载入并执行后能够实现上述障碍物检测方法。第五方面,提供一种计算机设备,存储器、通信接口和处理器,所述存储器用于存储计算机可执行代码,所述处理器用于执行所述计算机可执行代码控制执行上述障碍物检测方法,所述通信接口用于所述计算机设备与外部设备的数据传输。第六方面,提供一种机器人,包括上述计算机设备。本申请实施例提供的障碍物检测方法,通过获取待检测图像,并根据待检测图像中所包含的的像素信息,将待检测图像中包含的区域划分为地面区域和非地面区域,再通过判断地面区域是否包围非地面区域,确定障碍物。与现有技术中各种障碍物检测方法相比,本申请实施例中,利用不同物体的像素特征不同,即使微小的物体,只要其像素特征与路面的像素特征不同,则均能识别为非地面区域,因此,本申请实施例能够明确的区分地面区域和非地面区域,进而再将包含在地面区域内的非地面区域确定为障碍物区域,因此能够提高障碍物的检测精度。附图说明图1为本申请实施例提供的避障系统的架构示意图;图2为本申请实施例提供的障碍物检测方法的流程示意图;图3为本申请实施例结合实际应用场景提供的提供的一种障碍物检测方法的流程示意图;图4为本申请实施例提供的再一种障碍物检测方法的流程示意图;图5为本申请实施例结合实际应用场景提供的一种障碍物检测方法的流程示意图;图6为本申请实施例提供的一种障碍物检测装置的结构示意图;图7为本申请实施例提供的另一种障碍物检测设备的结构示意图;图8为本申请实施例提供的再一种障碍物检测设备的结构示意图;图9为本申请实施例提供的一种障碍物检测设备的结构示意图;图10为本申请实施例提供的又一种障碍物检测设备的结构示意图;图11为本申请实施例提供的再一种障碍物检测设备的结构示意图。具体实施方式本申请实施例描述的系统架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。需要说明的是,本申请实施例中,“的(英文:of)”,“相应的(英文:corresponding,relevant)”和“对应的(英文:corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。避障系统,用于检测特定区域是否存在障碍物,可应用于移动机器人、导盲系统中等。障碍物检测为避障系统的基本功能。本申请实施例提供一种避障系统,如图1所示,该避障系统10包括:图像采集设备11、障碍物检测设备12和决策设备13。其中,图像采集设备11用于采集用于进行障碍物检测的特定区域的图像信息,如移动机器人行进前方的图像,并将采集到的图像信息发送至障碍物检测设备12;示例性的,该图像采集设备可以为一个或多个摄像机。障碍物检测设备12用于对图像采集设备11发送的图像信息进行处理以得到是否包含障碍物以及障碍物的轮廓、大小、位置、种类等信息,并将处理得到的信息发送至决策设备13。决策设备13,用于根据障碍物检测设备12发送的信息作出如何避障的决策,决策设备可以为具有处理运算功能的设备。图像采集设备11和决策设备13的具体实现可参考现有技术,此处不再赘述。发明人在实际研究中发现,不同物体对应的像素信息不同,且对于某一物体而言,其常用颜色一般固定也即其对应的像素的色彩分量,如rgb(redgreenblue)取值或者hsv(hue,saturation,value,色调、饱和度、亮度)取值位于特定范围内,例如路面一般为黄色、棕色或者黑色(如柏油路的颜色),树木一般为绿色等。基于此,本申请实施例提供一种基于图像的像素信息划分路面区域和非路面区域,进而确定障碍物的方法。该方法可应用于图1所示的避障系统,当应用于图1所示的避障系统时,该方法的执行主体可以为图1中的障碍物检测设备12。如图2所示,该方法包括:101、获取待检测图像。其中,该待检测图像为对待检测区域进行实际拍摄得到的图像,该图像一般为彩色图像。在应用于图1所示的系统中时,该待检测图像可以由图像采集设备11对待检测区域进行实际拍摄得到该待检测图像并将该待检测图像发送给障碍物检测设备12。102、根据待检测图像中包含的像素信息,将所述待检测图像划分为路面区域和非路面区域。其中,待检测图像中包含的像素信息是指待检测图像中各个像素点对应的色彩分量取值,如rgb取值或者hsv(hue,saturation,value,色调、饱和度、亮度)取值等。当待检测图像中某个像素点对应的色彩分量取值与路面像素相符时,确定该像素为路面像素,否则确定该像素为非路面像素。所有路面像素组成的区域为路面区域,非路面像素组成的区域为非路面区域。在待检测图像中,路面区域、非路面区域可能为一个或多个。在本步骤的一种实现方式中,可以先确定待检测图像中各个像素对应的实物类别,并根据实物的具体类别来确定实物对应的区域为路面区域还是非路面区域。需要说明的是,室外道路往往包含有交通标线,因此,在本申请实施例中,当像素对应的实物类别为路面或交通标线时,将该实物对应的像素确定为路面像素;当实物为除路面以外的其他实物时,如桌椅、建筑物等,将该实物对应的区域确定为非路面像素。在本步骤的另一种实现方式中,可以仅确定待检测图像中是否包括路面像素,将包括路面像素的区域确定为路面区域,将其他区域确定为非路面区域。103、检测被所述路面区域包围的非路面区域。当存在至少一个非路面区域被所述路面区域包围时,可初步认为待检测区域中包含障碍物并执行下述步骤104;否则执行下述步骤105。104、将所述至少一个非路面区域确定为障碍物区域。105、确定待检测区域不包括障碍物。在步骤103至步骤105的一种实现方式中,可通过以下步骤实现:检测位于路面区域的最外层轮廓线内的非路面区域的轮廓线;当存在至少一个非路面区域的轮廓线位于所述路面区域的最外层轮廓线包含的区域内时,可认为该至少一个非路面区域被路面区域包围,则将所述至少一个非路面区域确定为障碍物区域。为了对上述步骤101至步骤105进行更清楚的说明,如图3所示,对待检测图像执行上述步骤101至步骤105的处理后,可以确定该待检测图像中包括地面区域和多个非地面区域(图中分别以非地面区域1、非地面区域2、非地面区域3和非地面区域4示出)。其中,非地面区域3和非地面区域4的轮廓线位于地面区域1的最外侧轮廓线(图中黑色加粗的轮廓线)内,因此,确定非地面区域3和非地面区域4为障碍物区域。需要说明的是,本申请实施例提供的障碍物检测方法执行至该步骤104,可直接确定该障碍物区域包含障碍物,也即认为检测到了障碍物,完成了障碍物检测的过程。本申请实施例提供的障碍物检测方法,通过获取待检测图像,并根据待检测图像中所包含的的像素信息将待检测图像中包含的区域划分为地面区域和非地面区域,再根据非地面区域是否被地面区域包围确定障碍物。与现有技术中各种障碍物检测方法相比,本申请实施例中,利用不同物体的像素特征不同,即使微小的物体,只要其像素特征与路面的像素特征不同,则均能识别为非地面区域,因此,本申请实施例能够明确的区分地面区域和非地面区域,进而再将包含在地面区域内的非地面区域确定为障碍物区域,因此能够提高障碍物的检测精度。需要说明的是,在本步骤101的一种实现方式中,该待检测图像能够通过单个摄像机获取得到,该获取待检测图像这一实现过程的复杂性和成本较低。且与现有技术中的基于单个摄像机的非立体视觉检测方法相比,本申请实施例提供的障碍物检测方法不需要指定感兴趣区域,在复杂环境下仍然能够自动检测地面区域和障碍物,对复杂环境的适应性较强。在图2所示方法的基础上,本申请实施例提供了根据待检测图像中的像素信息确定待检测区域中的路面区域和非路面区域的一种具体实现方式,如图4示,步骤102具体通过下述步骤201和步骤202实现:201、根据待检测图像中每个像素点的色彩分量以及预设对应关系,确定每个像素点为路面像素或非路面像素。其中,所述预设对应关系包括:路面像素对应的色彩分量取值范围。以像素色彩分量为rgb为例,该预设分类规则的一种实现方式如下表表一所示:表一像素点的rgb取值像素类别rgb取值范围1路面像素其他非路面像素202、将路面像素的颜色设定为第一颜色,将非路面像素的颜色设定为第二颜色,以生成待检测图像对应的二值图像。其中,所述二值图像中第一颜色的区域为路面区域,第二颜色的区域为非路面区域。所述第一颜色和第二颜色为两种不同的颜色。所述二值图像包括所述第一颜色和第二颜色。示例性的,当第一颜色为白色,第二颜色为黑色时,可得到一副仅包括黑色和白色的二值图像。可选的,为了提高路面区域和非路面区域的划分精度,在得到二值图像后,所述方法还包括对所述二值图像进行预处理,得到处理后的二值图像。其中,所述预处理包括腐蚀、膨胀和滤波操作中的至少一种。其中,腐蚀与膨胀是两种基本的形态学操作。形态学操作是基于形状的一系列图像处理操作。通过将结构元素作用于输入图像来产生输出图像。具体的,腐蚀是一种消除边界点,使边界向内部收缩的过程。可以用来消除小且无意义的物体,本申请实施例中腐蚀操作的目的是合并邻近的非路面区域。膨胀操作的目的是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程,本申请实施例中中膨胀操作的目的是为了恢复非路面区域的面积,使其更接近真实大小。滤波操作可以为图像做中值滤波,中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值,本申请实施例中,中值滤波的目的是为了消除噪声干扰。为了更清楚的说明步骤201和步骤202的具体实现过程,如图5所示,本申请实施例给出了由待检测图像得到二值图像并对二值图像进行预处理的具体实现过程,其中,二值图像中黑色部分表示非路面区域,白色部分表示路面区域。实际应用中,如果直接将障碍物区域确定为包含障碍物,可能存在误差,也即存在将地面区域识别为障碍物区域带来的误检导致根据步骤104确定出的障碍物区域实际上并不包含障碍物的情况。因此,在图2或图4所示方法的基础上,为了尽量避免由于步骤102的实现过程中将地面区域识别为障碍物检测区域带来的误检,在本申请实施例的一种实现方式中,还加入了进一步确定障碍物区域中是否包括障碍物的具体实现过程。因此,在步骤104中,在将所述至少一个非路面区域确定为障碍物区域之后,如图6所示,所述方法还包括:301、分别确定每个所述障碍物区域的外接矩形框。302、确定外接矩形框的四个顶点与质心对应的像素点的色彩分量取值的差异度。303、将所述差异度与差异度阈值进行比较,并根据比较结果确定所述障碍物区域中是否包括障碍物。其中,当所述差异度大于预设差异度阈值时或者大于等于预设差异阈值时,确定所述障碍物区域中包括障碍物。当所述差异度小于预设差异阈值或者小于等于预设差异阈值时,确定所述障碍物区域中不包括障碍物。示例性的,对于图3所示的非地面区域3和非地面区域4,在经过上述方法初步将非地面区域3和非地面区域4对应的区域确定为障碍物所在的区域后,还需要分别对非地面区域3和非地面区域4执行上述步骤301至303以进一步确定其是否为包含障碍物。经过上述步骤301至步骤303,本申请实施例提供的障碍物检测方法可以对所有障碍物区域分别进行进一步检测,减少误检。可选的,所述预设对应关系中除了包括路面像素外,还包括预设类别的其他实物与像素色彩分量取值的对应关系。仍以像素色彩分量为rgb为例,该预设分类规则的一种实现方式如下表表二所示:表二像素点的rgb取值像素类别rgb取值范围1路面像素rgb取值范围2交通标线像素rgb取值范围3墙面像素rgb取值范围4桌椅像素需要说明的是,上述rgb取值范围1、2、3和4仅为举例说明,具体实现中,该预设分类规则可以为预先对实际应用中的各种实物的像素进行统计分析后,建立起不同实物与其对应的像素信息之间的对应关系后得到。该预设分类规则可以不断更新,例如:当学习到一个新的种类的实物的像素信息时,可以建立该实物与其像素信息的对应关系并存储至预设分类规则中。可选的,可根据实际应用场景的不同,分别建立与实际应用场景对应的预设分类规则。例如:用于进行室内障碍物检测的预设分类规则和用于进行室外障碍物检测的预设分类规则。其中,用于进行室内障碍物检测的预设分类规则中存储的一般为墙面、桌椅等室内常见实物与其像素信息的对应关系。用于进行室外障碍物检测的预设分类规则中存储的一般为交通标线、树木、建筑物、车辆等与其像素信息的对应关系。这样,在进行障碍物检测时,可根据当前所处的场景调用与场景对应的预设规则,该判断当前所处场景的具体实现过程可参考现有技术,如现有技术中的基于图像的场景识别方法等。结合预设分类规则的上述实现方式,作为上述方法的补充,为了为避障决策提供更加完整的决策信息,本申请实施例中,在执行步骤104“将所述至少一个非路面区域确定为障碍物区域”或者步骤303中确定障碍物区域中包括障碍物之后,如图7所示,所述方法还包括:401、分别输出障碍物轮廓信息、位置信息以及障碍物的类别。其中,所述障碍物的类别为根据所述障碍物区域的像素色彩分量取值与所述预设对应关系得到。该确定障碍物类别的实现过程可以在执行步骤201时执行,也可以在执行步骤101之后,步骤501之前的其他过程中执行。在将本方法应用于图1所示的系统中时,障碍物检测设备12可将步骤401中得到的信息发送给决策设备以便于决策设备13根据这些信息作出避障决策。可见,本申请实施例中,在检测到障碍物后,还可以分别确定路面区域和障碍物的轮廓信息、位置信息以及障碍物的类别等信息,因此能够为避障决策提供更加完整的决策信息。需要说明的是,在步骤102根据所述待检测图像中包含的像素信息,将所述待检测图像划分为路面区域和非路面区域之后,如图8所示,所述方法还包括:501、确定路面区域中所有像素点为路面像素的平均置信度。502、如果所述平均置信度低于预设置信度阈值,则重新获取待检测图像。其中,如果所述平均置信度低于预设置信度阈值,表明待检测图像中不包含路面、或者包含路面但由于路面情况或光照等原因而没有被检测到因此,需要重新获取待检测图像。其中,重新获取的待检测图像可以为变换拍摄角度后拍摄得到的图像。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。本申请实施例可以根据上述方法示例对障碍物检测设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在采用对应各个功能划分各个功能模块的情况下,图9示出了上述实施例中所涉及的障碍物检测设备的一种可能的结构示意图,障碍物检测设备12包括:获取单元701、区域划分单元702、检测单元703和障碍物确定单元704。获取单元701用于支持障碍物检测设备执行图2中的过程101、图8中的过程501、502,区域划分单元702用于支持障碍物检测设备执行图2中的过程102,图4中的过程201和202;检测单元703用于支持障碍物检测设备执行图2中的过程103;障碍物确定单元704用于支持障碍物检测设备执行图3中的过程104、105、301至303以及图7中的过程401。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。在采用集成的单元的情况下,图10示出了上述实施例中所涉及的障碍物检测设备的一种可能的结构示意图。障碍物检测设备12包括:处理模块801和通信模块802。处理模块801用于对障碍物检测设备的动作进行控制管理,例如,处理模块801用于支持障碍物检测设备执行图2中的过程101-105,图4中的过程201-202,图6中的过程301-303、图7中的过程401、图8中的过程501-502和/或用于本文所描述的技术的其它过程。通信模块802用于支持障碍物检测设备与其他网络实体的通信,例如与图1中示出的功能模块或网络实体之间的通信。障碍物检测设备12还可以包括存储模块803,用于存储障碍物检测设备的程序代码和数据。其中,处理模块801可以是处理器或控制器,例如可以是中央处理器(centralprocessingunit,cpu),通用处理器,数字信号处理器(digitalsignalprocessor,dsp),专用集成电路(application-specificintegratedcircuit,asic),现场可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。通信模块802可以是收发器、收发电路或通信接口等。存储模块803可以是存储器。当处理模块801为处理器,通信模块802为收发器,存储模块803为存储器时,本申请实施例所涉及的障碍物检测设备可以为图11所示的障碍物检测设备。如图11所示,该障碍物检测设备12包括:处理器901、收发器902、存储器903以及总线904。其中,收发器902、处理器901以及存储器903通过总线904相互连接;总线904可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。结合本申请公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。本申请实施例还提供一种存储介质,该存储介质可以包括存储器903,用于储存为障碍物检测设备所用的计算机软件指令,其包含执行人机混合决策方法所设计的程序代码。具体的,软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(randomaccessmemory,ram)、闪存、只读存储器(readonlymemory,rom)、可擦除可编程只读存储器(erasableprogrammablerom,eprom)、电可擦可编程只读存储器(electricallyeprom,eeprom)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。另外,该asic可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。本申请实施例还提供一种计算机程序产品,该计算机程序可直接加载到存储器903中,并含有软件代码,该计算机程序经由计算机载入并执行后能够实现上述的障碍物检测方法。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1