信息处理方法、装置、云处理设备以及计算机程序产品
技术领域
本发明涉及数据处理技术领域,尤其涉及一种信息处理方法、装置、云处理设备以及计算机程序产品。
背景技术
随着物联网技术的快速发展,普适计算、全息计算、云计算等全新数据计算模式正逐渐步入人们日常生活中,其可以应用到多种领域中,其中,计算机视觉可以是一个具有代表性的领域。计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指使用设备代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图像处理,用处理器处理成为更适合人眼观察或传送给仪器检测的图像。
在实际应用中,机器视觉可以应用在很多场景中,例如,将机器视觉应用在导盲杖上,利用导盲杖来躲避视障人士前方的障碍物,又例如,将机器视觉应用在导航领域,利用导航对路面以及和路面障碍进行检测。
然而,现有技术中,多依赖于检测颜色、形状等信息,以及对强烈边缘信息进行分割和对比,判断物体的形状,而对于坑洼或者低于水平线的物体检测的准确度较低。
发明内容
本发明实施例提供一种信息处理方法、装置、云处理设备以及计算机程序产品,能够提高检测前方是否存在坑洼等情况的准确度。
第一方面,本发明实施例提供一种信息处理方法,包括:
获取深度图像;
对所述深度图像进行处理得到行均值图,根据所述行均值图确定所述深度图像中的路面区域;
确定所述路面区域中的疑似坑洼区域;
根据坑洼阈值对所述疑似坑洼区域进行判断,确定所述深度图像中是否包含坑洼区域。
第二方面,本发明实施例还提供一种信息处理装置,包括:
获取单元,用于获取深度图像;
处理单元,用于对所述深度图像进行处理得到行均值图,根据所述行均值图确定所述深度图像中的路面区域;
确定单元,用于确定所述路面区域中的疑似坑洼区域;
判断单元,用于根据坑洼阈值对所述疑似坑洼区域进行判断,确定所述深度图像中是否包含坑洼区域。
第三方面,本发明实施例还提供一种云处理设备,所述设备包括处理器以及存储器;所述存储器用于存储指令,所述指令被所述处理器执行时,使得所述设备执行如第一方面中任一种所述的方法。
第四方面,本发明实施例还提供一种计算机程序产品,可直接加载到计算机的内部存储器中,并含有软件代码,所述计算机程序经由计算机载入并执行后能够实现如第一方面中任一种所述的方法。
本发明实施例提供的信息处理方法、装置、云处理设备以及计算机程序产品,通过对获取的深度图像进行处理,首先根据深度图像的行均值来确定深度图像中的路面区域,然后确定路面区域中的疑似坑洼区域,最后,利用坑洼阈值对疑似坑洼区域进行判断,确定深度图像中是否包含有坑洼区域,通过本发明实施例提供的技术方案,能够有效的判断路面是否存在坑洼,检测效率高,计算速度快,解决了现有技术中对于坑洼或者低于水平线的物体检测的准确度较低的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的信息处理方法实施例的流程图;
图2为本发明实施例提供的信息处理方法的第一场景示意图;
图3为本发明实施例提供的世界坐标系示意图;
图4为本发明实施例提供的信息处理方法的第二场景示意图;
图5为本发明实施例提供的信息处理方法实施例的另一流程图;
图6为本发明实施例提供的信息处理方法实施例的另一流程图;
图7为本发明实施例提供的信息处理装置实施例的结构示意图;
图8为本发明实施例提供的信息处理装置实施例的另一结构示意图;
图9为本发明实施例提供的信息处理装置实施例的另一结构示意图;
图10为本发明实施例提供的云处理设备实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
在现有技术中,机器视觉可以应用在很多场景中,例如,将机器视觉应用在导盲杖上,又例如,将机器视觉应用在导航领域,其中,在检测路面的过程中,多停留在路面检测或者障碍检测等情况。并且,在检测过程中,使用种子点区域增长方法、随机点最小二乘法、分块高度均值法、V-视差算法等方式,会存在计算复杂、容易受到样本的影像、实际环境影响结果的准确性、识别效率低、检测范围有限等问题,因此,本发明实施例提供了一种信息处理方法,利用采集的深度图像来对路面是否存在坑洼进行检测,检测效率高,并且可以应用在辅助视障人士出行、机器人避障、无人驾驶、导航等多种场景中,具体的,图1为本发明实施例提供的信息处理方法实施例的流程图,如图1所示,本实施例的信息处理方法,具体可以包括如下步骤:
101、获取深度图像。
在本发明实施例中,可以通过深度传感器来实时对事物进行拍摄,获取深度图像,如图2所示,图2为本发明实施例提供的信息处理方法的第一场景示意图,也可以获取已经拍摄好的深度图像,例如,用户上传深度图像至处理设备,又例如,在深度图像库中获取指定深度图像。
具体的,在本发明实施例中,深度传感器(又称为深度相机)通常可以包括以下三类:基于结构光的三维传感器,如Kinect、RealSense、LeapMotion、Orbbec等;或者基于双目立体视觉的三维传感器,如ZED、Inuitive、Human+司眸等;或者基于TOF原理的深度传感器,如PMD、Panasonic等。
通过上述途径,得到深度图像后,用于后续进行检测,确定当前图像中是否包含有坑洼区域;可以理解的是,在本发明实施例中,坑洼区域存在于路面中,在实际应用中,并不限制于路面,还可以是其他场景中,例如,室内。
102、对深度图像进行处理得到行均值图,根据行均值图确定深度图像中的路面区域。
在本发明实施例中,当采用深度传感器实时采集深度图像时,首先,对深度图像进行坐标转换将相机坐标系转换为世界坐标系;图3为本发明实施例提供的世界坐标系示意图,如图3所示,具体的,可以以深度传感器光心为世界坐标系原点,选取水平向右为X轴正方向,垂直向下为Y轴正方向,垂直于平面并指向正前方为Z轴正方向,建立世界坐标系。因为世界坐标系与深度传感器坐标系原点重合,故两个坐标系之间只存在旋转关系,没有平移关系,以及结合像素坐标系、相机坐标系、世界坐标系三者之间的关系,所以可以根据深度传感器的姿态角将深度传感器坐标系下的点P(Xc,Yc,Zc)转换到世界坐标系下的点P(Xw,Yw,Zw),计算公式为:
其中,u,v是点P在像素坐标系中的坐标值,Xc,Yc,Zc是点P在相机坐标系中的坐标值;Xw为图像中各像素点在世界坐标系的X轴坐标值;Yw为图像中各像素点在世界坐标系的Y轴坐标值;Zw为图像中各像素点在世界坐标系的Z轴坐标值;α,β,γ是深度传感器的姿态角,分别表示深度传感器的X、Y、Z轴绕世界坐标系的X、Y、Z轴的旋转角;Xc为图像中各像素点在深度传感器坐标系的X轴坐标值;Yc为图像中各像素点在深度传感器坐标系的Y轴坐标值;Zc为图像中各像素点在深度传感器坐标系的Z轴坐标值;M3×4是相机的内参矩阵。
在本发明实施例中,Zw组成的图像即为世界坐标系下的深度图像。
然后,对世界坐标系下的深度图像进行处理,并计算行均值得到行均值图。在本发明实施例中,为了提高计算效率,可以对世界坐标系下的深度图像进行预处理,在一个具体的实现过程中,预处理可以包括平滑、滤波、去噪等处理,然后根据地面在深度图像中同一行具有相似的深度值的特性,计算深度图像中每一行像素的像素平均值,并以行数-行均值建立行均值图IrowsMean。
接着,对行均值图进行处理,确定疑似地面区域。具体的,由于路面具有一定的特质,因此,通常在世界坐标系中的Zw中从下往上代表的是由近及远的路面,具有单调递增的特性,因此可以先去除行均值图IrowsMean中从下往上非单调递增的行均值,然后对剩下的行均值进行孤点滤除,微小断裂带连接操作,得到预处理结果。在得到预处理结果后,根据预处理结果筛选深度图像中的疑似地面区域,具体地,可以将预处理后的该深度图像中、行均值列向量中值为0的行置0;并将该深度图中各像素点的深度值与该行均值列向量相应值的差,大于等于预先设定的路面起伏容忍度的位置的值置0;将该深度图中不为0的位置确定为疑似路面区域。
最后,根据预设的主平面位置阈值对疑似地面区域进行判断,确定深度图像中包含的路面区域。具体的,可以预先设定选取策略,例如,选取面积最大,且选定区域最下方距离深度图Z
w最下方不超过ε
rows行的区域。具体地,可以设置
其中ε
rows为设定的主平面位置阈值,
为深度图像Z
w的高。
103、确定路面区域中的疑似坑洼区域。
在本发明实施例中,确定路面区域中的疑似坑洼区域的过程可以采用如下方式:
首先,计算路面区域的行均值。由于,路面区域也会存在一定的误差因素,因此,可以预先对路面区域进行预处理,在一个具体的实现过程中,预处理可以包括平滑、滤波、去噪等处理。接着,计算经过处理后的路面区域的行均值,具体的计算方式,可以参考前述内容中的说明。
然后,建立带阻滤波器。在本发明实施例中,带阻滤波器的公式如下:
其中,ZwGnd(i,j)为路面区域对应的深度图像在坐标(i,j)处的深度值;IrowsMeanGnd(i)为路面区域对应的深度图像在第i行的均值;δ为设定的路面坑洼容忍度。
需要说明的是,在实际应用中,δ值的设定与使用的深度传感器和实际路况有关,取值过小则误检较多,取值过大则漏检较多,均不利于后续处理,因此,结合大量的实验数据和经验值,δ通常取值范围在[5,30]之间。
最后,使用带阻滤波器对行均值进行滤波处理,得到疑似坑洼区域,如图4所示,图4为本发明实施例提供的信息处理方法的第二场景示意图。使用上述公式对行均值进行滤波处理后,得到的ZwGnd(i,j)集合即为疑似坑洼区域。
104、根据坑洼阈值对疑似坑洼区域进行判断,确定深度图像中是否包含坑洼区域。
在本发明实施例中,首先,对疑似坑洼区域进行预处理。具体地址,对疑似坑洼区域进行二值化、形态学处理等预处理操作,去除毛刺及孤岛等噪声对后续提取坑洼边缘时的影响。
然后,提取疑似坑洼区域的轮廓Cpothole,并将轮廓作为候选坑洼区域。
接着,计算候选坑洼区域的面积。在本发明实施例中,候选坑洼区域的面积设为Spothole。在实际应用中,除了常规的计算方法,还可以利用候选坑洼区域最右最左对应的Xw值:XwR,XwL,以及最上最下对应的Zw值:ZwT,ZwB;XwR,XwL,ZwT,ZwB构成的矩形框面积代替。
最后,当候选坑洼区域的面积大于面积阈值时,确定深度图像中包含坑洼区域。在本发明实施例中,面积阈值设为ε,则当Spothole>ε,则确定候选坑洼区域为坑洼区域,则深度传感器当前获取的深度图像中包含坑洼区域。
需要说明的是,在实际应用中,ε值的设定与使用的深度传感器和实际路况有关,取值过小则误检较多,取值过大则漏检较多,因此,结合大量的实验数据和经验值,通常取值范围在[100,400]之间。
本发明实施例提供的信息处理方法,通过对获取的深度图像进行处理,首先根据深度图像的行均值来确定深度图像中的路面区域,然后确定路面区域中的疑似坑洼区域,最后,利用坑洼阈值对疑似坑洼区域进行判断,确定深度图像中是否包含有坑洼区域,通过本发明实施例提供的技术方案,能够有效的判断路面是否存在坑洼,检测效率高,计算速度快,解决了现有技术中对于坑洼或者低于水平线的物体检测的准确度较低的问题。
在前述内容的基础上,为了减少缓存压力,提高计算速度,对于获取到的深度图像,当根据坑洼阈值对疑似坑洼区域进行判断时,对于不存在坑洼区域的深度图像还可以进行如下操作,具体的,图5为本发明实施例提供的信息处理方法实施例的另一流程图,如图5所示,本实施例的信息处理方法,还可以包括如下步骤:
105、当候选坑洼区域的面积小于或者等于面积阈值时,删除候选坑洼区域。
在本发明实施例中,候选坑洼区域的面积设为Spothole,面积阈值设为ε,则当Spothole≤ε,则确定候选坑洼区域为非坑洼区域,则删除候选坑洼区域。
前述内容中,介绍了如何对坑洼区域进行判断,当本发明实施例中的方案应用在实际产品中时,还可以具有提示用户的效果,具体的,图6为本发明实施例提供的信息处理方法实施例的另一流程图,如图6所示,本实施例的信息处理方法,还可以包括如下步骤:
106、当确定深度图像中包含坑洼区域时,输出提示信息。
在本发明实施例中,当确定了获取的深度图像中具有坑洼区域时,在产品的检测模块会反馈参数给相应的提示模块,使得提示模块输出提示信息,在一个具体的实现过程中,提示信息可以包括语音信息、震动信息、文字信息、声音信息、灯光信息等。
为了实现前述内容的方法流程,本发明实施例还提供一种信息处理装置,图7为本发明实施例提供的信息处理装置实施例的结构示意图,如图7所示,本实施例的装置可以包括:获取单元11、处理单元12、确定单元13和判断单元14。
获取单元11,用于获取深度图像。
处理单元12,用于对深度图像进行处理得到行均值图,根据行均值图确定深度图像中的路面区域。
确定单元13,用于确定路面区域中的疑似坑洼区域。
判断单元14,用于根据坑洼阈值对疑似坑洼区域进行判断,确定深度图像中是否包含坑洼区域。
在一个具体的实现过程中,深度图像为相机坐标系下的图像。
处理单元12,具体用于:
对深度图像进行坐标转换,将相机坐标系转换为世界坐标系;
对世界坐标系下的深度图像进行处理,并计算行均值得到行均值图;
对行均值图进行处理,确定疑似地面区域;
根据预设的主平面位置阈值对疑似地面区域进行判断,确定深度图像中包含的路面区域。
在一个具体的实现过程中,确定单元13,具体用于:
计算路面区域的行均值;
建立带阻滤波器;
使用带阻滤波器对行均值进行滤波处理,得到疑似坑洼区域。
在一个具体的实现过程中,判断单元14,具体用于:
对疑似坑洼区域进行预处理;
提取疑似坑洼区域的轮廓,并将轮廓作为候选坑洼区域;
计算候选坑洼区域的面积;
当候选坑洼区域的面积大于面积阈值时,确定深度图像中包含坑洼区域。
本发明实施例提供的信息处理装置,可以用于执行图1示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在前述内容的基础上,本发明实施例还提供一种信息处理装置,图8为本发明实施例提供的信息处理装置实施例的另一结构示意图,如图8所示,本实施例的装置,还可以包括:删除单元15。
删除单元15,用于当候选坑洼区域的面积小于或者等于面积阈值时,删除候选坑洼区域。
本发明实施例提供的信息处理装置,可以用于执行图5示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在前述内容的基础上,本发明实施例还提供一种信息处理装置,图9为本发明实施例提供的信息处理装置实施例的另一结构示意图,如图9所示,本实施例的装置,还可以包括:输出单元16。
输出单元,用于当确定深度图像中包含坑洼区域时,输出提示信息。
本发明实施例提供的信息处理装置,可以用于执行图6示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
为了实现前述内容的方法流程,本发明实施例还提供一种云处理设备,图10为本发明实施例提供的云处理设备实施例的结构示意图,如图10所示,本发明实施例提供的云处理设备包括处理器21以及存储器22;存储器22用于存储指令,指令被处理器21执行时,使得设备执行如前述内容中任一种方法。
本发明实施例提供的云处理设备,可以用于执行图1~图6所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
为了实现前述内容的方法流程,本发明实施例还提供一种计算机程序产品,可直接加载到计算机的内部存储器中,并含有软件代码,计算机程序经由计算机载入并执行后能够实现如前述内容中任一种方法。
本发明实施例提供的云处理设备,可以用于执行图1~图6所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。