CN104899869B - 基于rgb‑d相机和姿态传感器的平面和障碍检测方法 - Google Patents
基于rgb‑d相机和姿态传感器的平面和障碍检测方法 Download PDFInfo
- Publication number
- CN104899869B CN104899869B CN201510248949.8A CN201510248949A CN104899869B CN 104899869 B CN104899869 B CN 104899869B CN 201510248949 A CN201510248949 A CN 201510248949A CN 104899869 B CN104899869 B CN 104899869B
- Authority
- CN
- China
- Prior art keywords
- mtd
- mrow
- image
- region
- mtr
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 55
- 238000000034 method Methods 0.000 claims abstract description 32
- 230000004888 barrier function Effects 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 23
- 230000000007 visual effect Effects 0.000 claims description 23
- 230000012010 growth Effects 0.000 claims description 21
- 230000011218 segmentation Effects 0.000 claims description 16
- 238000013507 mapping Methods 0.000 claims description 13
- 230000034655 secondary growth Effects 0.000 claims description 11
- 238000001914 filtration Methods 0.000 claims description 10
- 238000003384 imaging method Methods 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 230000003287 optical effect Effects 0.000 claims description 6
- 239000003550 marker Substances 0.000 claims description 5
- 238000005259 measurement Methods 0.000 claims description 5
- 230000007613 environmental effect Effects 0.000 claims description 4
- 235000005976 Citrus sinensis Nutrition 0.000 claims description 3
- 240000002319 Citrus sinensis Species 0.000 claims description 3
- 241001632427 Radiola Species 0.000 claims description 3
- IRERQBUNZFJFGC-UHFFFAOYSA-L azure blue Chemical compound [Na+].[Na+].[Na+].[Na+].[Na+].[Na+].[Na+].[Na+].[Al+3].[Al+3].[Al+3].[Al+3].[Al+3].[Al+3].[S-]S[S-].[O-][Si]([O-])([O-])[O-].[O-][Si]([O-])([O-])[O-].[O-][Si]([O-])([O-])[O-].[O-][Si]([O-])([O-])[O-].[O-][Si]([O-])([O-])[O-].[O-][Si]([O-])([O-])[O-] IRERQBUNZFJFGC-UHFFFAOYSA-L 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000003450 growing effect Effects 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 239000000284 extract Substances 0.000 claims 1
- 238000004519 manufacturing process Methods 0.000 claims 1
- 230000006870 function Effects 0.000 abstract description 9
- 230000000694 effects Effects 0.000 abstract description 3
- 230000001771 impaired effect Effects 0.000 abstract description 3
- 230000008447 perception Effects 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 241001166076 Diapheromera femorata Species 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于RGB‑D相机和姿态传感器的平面和障碍检测方法,该方法基于RGB‑D相机和姿态探测器实现了分辨率更高、刷新频率更高、精度更高的环境三维信息识别;能够实现地面通路识别,地面坑洼和各种障碍的判断预警,上下楼梯场景的识别,更接近人的视觉对环境的感知;有姿态传感器的配合,整个系统更加灵活、携带方便,相机不需要与使用者或地面等任何参照物保持固定的相对位置。视障人士出行时,可以将相机放置在身体的任何可以拍摄三维环境的位置,可以选择自己与RGB‑D相机兼容的任何便携式计算机、平板实现同样功能。
Description
技术领域
本发明属于三维环境识别、盲人辅助技术领域,涉及一种基于RGB-D相机和姿态传感器的平面和障碍检测方法。
背景技术
视觉信息是人类识别周围环境的最重要信息来源,人类获得的信息中80%左右是从视觉系统输入的。对于缺失视觉感知的盲人,手杖、导盲犬等传统工具无法为他们提供充分的协助。上世纪中期以来,众多研究人员致力于研发电子盲人辅助技术。电子式盲人辅助技术,主要功能是为视障人士出行提供通路提示、危险预警。
根据探测三维环境的手段不同,传统的电子盲人辅助技术主要分为有超声波和激光测距辅助、双目立体视觉辅助。基于传统超声波或激光的主动测距技术缺点显而易见,易受干扰、分辨率低、探测范围小、输出信息有限。这类系统实际上仅是一个具有报警功能的距离探测装置,它与使用者交互的内容十分有限,交互形式也较为单一,实际使用中容易出现误判、漏判的情况。基于双目立体视觉技术的盲人辅助设备虽然克服了以上缺点,但是也有一定的不足。首先,得到三维深度信息的特征点提取、匹配算法较为复杂,而且视场中得到的有效点较少、精度有限;其次,它对于处理模块的计算性能和存储要求较高,较难集成化。
近来RGB-D相机的流行,为环境三维信息的获取提供了新的思路。它具有主动测距和双目视觉两种探测方法的优势,获取的三维深度信息(D图像)分辨率高、视场大、刷新频率高;结合彩色图像(RGB图像),可以获得丰富的环境信息,拓展多种功能。RGB-D相机普遍采用TOF或结构光等技术对整个视场进行主动测距,不需要经过双目视觉中的匹配等步骤,即可直接获得深度信息。这一方面简化了后期处理的计算过程,为实现集成化的导盲系统创造了便利;另一方面,获取的深度信息误差较小,能够更好地实现三维环境的识别。
发明内容
本发明的目的在于针对现有技术的不足,提供一种基于RGB-D相机和姿态传感器的平面和障碍检测方法,以辅助盲人出行为目标,该方法通过实时获取RGB-D相机和姿态传感器两种数据源的数据,检测现实三维环境中的各种平面和物体的存在,进而实现通路指示、障碍预警功能。
本发明的目的是通过以下技术方案来实现的:硬件方面,本方法需要RGB-D相机、姿态传感模块与便携式计算机支持。RGB-D相机的作用是拍摄得到可见光波段的彩色图像(RGB图像)和红外测距得到的深度图像(D图像)。姿态传感模块与RGB-D相机固定连接,用来探测RGB-D相机的实时姿态。便携式计算机可以是RGB-D相机支持的笔记本电脑、平板电脑等设备。从RGB-D相机和姿态模块中读取的数据,经过平面和障碍检测处理,输出识别结果。本发明方法具体包括以下步骤:
(1)环境三维信息的获取,具体包括以下子步骤:
(1.1)对RGB-D相机进行初始化,获得彩色相机和深度相机的内部参数,所述内部参数包括水平视场角和竖直视场角,使用轮询方法同时从RGB-D相机获得RGB图像和D图像;D图像像素的灰度即该像素对应的物体在三维环境中距离相机的水平深度值。
(1.2)将RGB图像与D图像进行视场匹配,具体为:使用时域修复方法,填补D图像空洞造成的映射后彩色图像不完整,对RGB图像与D图像的原始映射关系β=R’t(α)进行逐帧修复得到β=Rt(α),具体规则如下:
当R’t(α)不可用时,进行Rt(α)=Rt-1(α)处理,否则进行Rt(α)=γR’t(α)+(1-γ)Rt(α)处理;
其中0<γ<1,α为RGB图像的像素集合,β为D图像的像素集合,t为当前帧,t-1为当前帧的前一帧;
得到了完整映射关系后,依据该完整映射关系获得与D图像视场相匹配的RGB图像;
(1.3)对D图像进行滤波预处理,具体为:采用时空域联合四邻域滤波填补D图像空洞、去除孤立点,对D图像的像素β(i,j)进行修复,规则如下:
当β(i,j)=0时,执行以下公式:
β(i,j)=Average(β(i-1,j),β(i,j-1),β(i+1,j),β(i,j+1)) (1)
如果公式(1)中β(i,j)的结果为零,执行β(i,j)|t=β(i,j)|t-1;
当β(i,j)为孤立点时,执行β(i,j)=0;
其中Average()表示对参数中非零值求均值,对像素零值的修复以空域滤波优先,当空域滤波无效时采用时域滤波;
(1.4)通过深度相机的内部参数以及D图像获得以相机为原点的相机坐标系下的三维位置信息Xc、Yc,具体为:为了得出空间三维物体到RGB-D相机的二维图像映射关系,首先关注相机坐标系和图像坐标系的关系。对于D图像中的某个像素(u,v),其像素值即为Zc,由u、v、Zc计算Xc、Yc值,计算公式如下:
其中,(u,v)表示以像素为单位、以图像左上角为原点的图像二维坐标,u是水平方向,v是竖直方向;(Xc,Yc,Zc)表示以相机为原点的相机三维坐标系,Zc是相机的光轴方向,Xc是相机成像面的水平方向,Yc是相机成像面的竖直方向,采集到的二维图像分辨率为Width×Height,水平半视场角W1,垂直半视场角W2;
(1.5)通过深度相机的内部参数以及D图像获得以相机为原点的世界坐标系下的三维位置信息(Xw,Yw,Zw),读取与RGB-D相机固定连接的姿态传感器的姿态角数值,设读数为绕传感器X轴旋转a’,绕传感器Z轴旋转b’,绕传感器Y轴旋转c’,该X、Y、Z三轴的定义与相机坐标的X、Y、Z三轴定义一致;令绕Y轴旋转角的起始轴为光轴(Z轴正向)而非姿态角传感器定义的北方向,所以不考虑c’的数值,那么(Xc,Yc,Zc)绕X轴旋转a=-a’,绕Z轴旋转b=-b’,绕Y轴旋转c=0将得到(Xw,Yw,Zw);当传感器的角度解算顺序为Z-Y-X时,按照X-Y-Z的顺序将(Xc,Yc,Zc)与旋转矩阵相乘,即得到(Xw,Yw,Zw),具体公式如下:
对D图像中所有像素点都按本步骤的方法,求出在世界坐标系下的三维坐标值(Xw,Yw,Zw);
(2)环境信息的检测:选取步骤1.5得到的世界三维坐标中的高度量Yw绘制成Y图像,深度量Zw绘制成Z图像,宽度量Xw绘制成X图像;三个图像的灰度值即表示该像素在三维空间中对应的物体在三个坐标轴(Xw,Yw,Zw)上投影的数值;具体包括以下子步骤:
(2.1)水平地面的检测,具体包括以下子步骤:
(2.1.1)生长水平面的预处理,具体为:对Y图像进行水平和竖直方向的边缘提取,并对边缘处理结果进行二值化处理,阈值选择以灰度直方图为依据,选择峰值对应灰度值小的一端的谷值作为二值化的阈值;
对Y图像进行区域分割的预处理,确定水平线(Yw=0)在视场的位置,并依据水平线位置将视场划分为上下两部分进行区域分割;基于一般使用者佩戴位置,对水平线下方区域按照行间距h个像素的密度进行间隔行扫描,其中0<h<Height/8;在行扫描中,遇到二值化处理得到的边缘像素则在行的同样位置设置分段断点,一次行扫描结束得到断点集合Si,记录断点的位置和个数;所有行扫描结束后,选取任意相邻两行i行和i+1行中Si与Si+1点数更多的断点集合,在两行之间依据断点位置划分出矩形区域;
(2.1.2)水平面生长,在每个划分的区域选择随机点作为种子点,开始一次生长,具体为:
(2.1.2.1)种子点Gs满足以下两个条件则开始本次生长:①Gi不是步骤2.1.1提取到的二值化边缘点,②Gi在本次和其他种子点的生长中未被划分到任何区域,否则,退出本次生长;
(2.1.2.2)设置两个上下边缘计数器m、n,设置一个平面点数计数器Xn,并清零;令G=Gs,标记其为已被访问,开始生长;
(2.1.2.3)点G高度为hs,确定阈值δ实现四邻域区域生长,其中0<δ<0.6hs;访问G像素点的四邻域像素Gi,该像素的高度为hi,考察如下四个条件是否满足:①Gi不是步骤2.1.1提取到的二值化边缘点,②Gi在本次和其他种子点的生长中未被划分到任何区域,③Gi在本次生长中未被访问过,④|hi-hs|<δ;当四个条件均满足时,将Gi标记为与G属于同一区域,Xn增一;当四个条件不全满足时,将Gi标记为与Gs不属于同一区域;当满足①②③而不满足④时,计数器m增一,计数器n增一;当满足③而不满足①②④时,计数器m不变,计数器n增一;
(2.1.2.4)处理步骤2.1.2.3得到的与G属于同一区域的像素点所有Gi,令G=Gi,标记其为已被访问,重复步骤2.1.2.3;
(2.1.2.5)对步骤2.1.1得到的所有种子点重复步骤2.1.2.1-2.1.2.4,Y图像中产生若干平面,以种子点高度值作为平面特征;
(2.1.3)对步骤2.1.2产生的平面进行合并和排除,具体为:提取平面特征,对分割出的相邻平面特征进行比较,如果二者偏差在与平面高度有关的阈值δ1之内,即合并为一个平面,其中δ<δ1<3δ;
对合并后的平面的点数Xn进行统计,对Xn小于阈值λ的平面进行排除,
λ=k*ave{S(i)}δ
其中,ave{S(i)}是与步骤2.1.1中断点集合元素间距平均值,k是比例系数,1<k<5;
考虑平面边缘形成原因,步骤2.1.2的生长过程中,因超出阈值而停止生长而形成的上下边缘点的数目是m,上下边缘所有点数是n,对于E=m/n,当E大于阈值e(e<0.3)时,认为该平面是非水平面,应予排除;
(2.1.4)水平地面的检出,具体为:在步骤2.1.3合并和排除后的平面中较大的高度绝对值对应的平面拥有较大的优先级,将其中高度绝对值最大的平面标记为水平地面,并按照优先级由大到小的顺序逐个标记其余各个水平面;
(2.2)障碍物的检测,具体包括以下子步骤:
(2.2.1)对彩色图像进行滤波预处理:对RGB图像进行平滑滤波,减少后续边缘提取产生的噪声,在RGB图像和Z图像中去除在步骤2.14中已经检出的平面,避免重复检测;
(2.2.2)边缘提取和处理:对RGB图像和Z图像提取边缘,并进行图像二值化;阈值选择以灰度直方图为依据,选择峰值对应灰度值小的一端的谷值作为二值化的阈值;
对图像进行区域分割的预处理,对整个图像按照行间距h的密度进行间隔行扫描,其中0<h<Height/8;在行扫描中,遇到二值化处理得到的边缘的则设置分段断点,一次行扫描结束得到断点集合Si;行扫描全部结束后,相邻两行断点集合Si与Si+1以点数更多的为准,在行之间划分出矩形区域;
(2.2.3)区域生长:对Z图像和RGB图像同时进行生长,种子点的选择采用与步骤2.1.2的方法相同,生长规则与步骤2.1.3类似;但是,障碍检测与平面检测不同,同一物体在深度值上并不一定存在严格一致性;故生长时,在停止条件上采用宽松的δ’阈值控制,其中δ<δ’<4δ;
(2.2.4)生长结束后,在Z图像中提取区域如下特征:深度平均值g、区域点数Xn、区域中心位置o、区域矩形边框角点位置di(1-4);在RGB图像中提取区域如下特征:灰度平均值g’、区域点数Xn’、区域中心位置o’、区域矩形边框角点位置di’(1-4);根据点数Xn和Xn’的多少,按照步骤2.1.3的排除法则,进行小区域舍弃;
(2.2.5)对Z图像和RGB图像共同的检出区域像进行匹配:对步骤2.2.4处理后得到的RGB图像中区域的区域中心位置o与Z图像中区域的区域中心位置o作差,差值为Δo;RGB图像中区域的边框角点位置di(1-4)与Z图像中区域的边框角点位置di’(1-4)作差,差值为Δdi(1-4);当Δo满足-δo<Δo<δo,而且Δdi(1-4)满足-δdi(1-4)<Δdi(1-4)<δdi(1-4)时,认定是Z图像和RGB图像共同的检出区域,其中0<δo<(0.3Height+0.3Weight)/2,0<δdi(1-4)<(0.3Height+0.3Weight)/2;
共同的检出区域认定为一个物体,是视场中确实存在的障碍物,而不是背景中的纹理或者Z图像的噪声;
(2.2.6)对障碍物进行框选:对步骤2.2.5找到物体按照RGB图和D图中的共同检出区域,按照二者中区域点数Xn与Xn’小的为准,确定障碍物的深度平均值g、灰度平均值g’、区域中心位置o、区域矩形边框角点位置di(1-4)和长L和高H;其中,长L=(L1+L2)/2,L1为边框左上角点像素与右上角点像素在X图像中数值的差值,L2为边框左下角点像素与右下角点像素在X图像中数值的差值;高H=(H1+H2)/2,H1为边框左上角点像素与左下角点像素在Y图像中数值的差值,H2为边框右上角点像素与右下角点像素在Y图像中数值的差值;
(2.3)通路检测和危险预警:步骤2.1和步骤2.2分别检测了地面和障碍,对步骤2.1.4和步骤2.2.6检测到的每帧图像信息,进行进一步识别解读,形成可供使用者理解的声音或文字信号;由于图像信息可达到每秒多帧,而文字或声音输出不需要这样快的速率,所以在使用时可灵活设置每隔P帧执行步骤2.3.1-2.3.5,在主流配置计算机中10<P<100;具体包括以下子步骤:
(2.3.1)根据步骤1.5确定的世界坐标系的坐标值,将步骤2.2.6框选出的图像分为左上、左下、右上、右下、正上和正下六个区域,具体为:人体的宽度设为w,将视场中世界坐标水平线(Yw=0)以上的部分定义为上部,下方定义为下部;X图像中间部分,即满足-w-p<Xw<w+q的像素集合,称为中部,其中0<|p|,|q|<3w;中部两侧分别为左部和右部;由于使用者携带RGB-D相机的位置是可能不断变化的,前述六个方位并非大小相同,也并非同时存在;
(2.3.2)对障碍物的处理:将步骤2.2.6框选出的障碍物按照深度平均值g和在图像中的位置的不同进行优先级排序,位于中间区域的优先级高,两侧的优先级低,g较小的优先级高,g较大的优先级低,位置优先级总体高于深度平均值优先级,按照优先级顺序提示使用者对应方位的障碍物情况;对障碍物依照灰度平均值g’分为红橙黄绿青蓝紫黑白等不同颜色类别;
(2.3.3)对地面通路的处理,按照步骤2.1.4检测出的水平地面,对左下、右下、中下三个分区内的平面检出情况进行分析,具体为:与图像视场下沿连接的平面或距离最近的平面标记为使用者现在所在水平面,确认所在平面为通路;某个分区像素点个数为A,分区中水平面通路像素个数为B,当时,认为该方向可以通行,否则不能通行;其中,0<δv<1;
(2.3.4)典型场景检测:本方法除对通路和障碍能进行提示之外,还可以对台阶或楼梯场景进行提示。对于步骤2.1.4检测得到的平面图像和步骤2.2.6检测得到的障碍物图像,如果两图像相对应的同一位置存在多个相互交错的检出物时,则认为存在楼梯,具体方法是:步骤2.2.6框选出的所有障碍物检测结果在图像中的间距D如果小于阈值d(0<d<0.5),则认为他们同属一个集合,将该集合中的元素找全后,框选集合位置并统计元素个数num;在步骤2.1.4水平面检测结果中,在集合框选的同样位置如果出现个数为num-2与num+2之间的水平面,则认为该区域的确为台阶或楼梯;
(2.3.5)检测信息的输出:步骤2.2.2得到的障碍信息、步骤2.2.3得到的通路信息和步骤2.2.4得到的场景信息,这三类信息按照障碍-通路-场景的顺序输出;在障碍和通路信息中,按照2.3.2和2.3.3确定的优先级确定信息提示先后。
本发明与一般的基于超声波和双目视觉的盲人辅助系统相比,优势在于:
1.高效准确。与其他探测手段相比,基于RGB-D相机和姿态探测器实现了分辨率更高、刷新频率更高、精度更高的环境三维信息识别。能够实现地面通路识别,地面坑洼和各种障碍的判断预警,上下楼梯场景的识别,更接近人的视觉对环境的感知。
2.便携易用。有姿态传感器的配合,整个系统更加灵活、携带方便,相机不需要与使用者或地面等任何参照物保持固定的相对位置。使用者可以在自己认为合适的位置放置相机和处理模块,只要将相机和姿态模块与处理模块相连接,即可实现功能。
3.成本较低。硬件系统的各个部分可以实现通用化和自主组合。视障人士出行时,可以将相机放置在身体的任何可以拍摄三维环境的位置,可以选择自己与RGB-D相机兼容的任何便携式计算机、平板实现同样功能。
附图说明
图1是本发明方法流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细说明。
如图1所示,本发明一种基于RGB-D相机和姿态传感器的平面和障碍检测方法,包括以下步骤:
(1)环境三维信息的获取,具体包括以下子步骤:
(1.1)对RGB-D相机进行初始化,获得彩色相机和深度相机的内部参数,所述内部参数包括水平视场角和竖直视场角,使用轮询方法同时从RGB-D相机获得RGB图像和D图像;D图像像素的灰度即该像素对应的物体在三维环境中距离相机的水平深度值。
(1.2)将RGB图像与D图像进行视场匹配,具体为:由RGB-D相机内部函数得到的RGB图像的像素集合α和D图像的像素集合β的视场映射关系Rt是变化的,对于不同拍摄场景会有不同的两种图像映射关系。某一帧的映射关系Rt无法直接用于匹配,因为映射Rt不能覆盖D图像的像素集合β,匹配后会在彩色图像中留下较多空洞。本发明使用时域修复方法,填补D图像空洞造成的映射后彩色图像不完整,对RGB图像与D图像的原始映射关系β=R’t(α)进行逐帧修复得到β=Rt(α),具体规则如下:
当R’t(α)不可用时,进行Rt(α)=Rt-1(α)处理,否则进行Rt(α)=γR’t(α)+(1-γ)Rt(α)处理;
其中0<γ<1,α为RGB图像的像素集合,β为D图像的像素集合,t为当前帧,t-1为当前帧的前一帧;
得到了完整映射关系后,依据该完整映射关系获得与D图像视场相匹配的RGB图像;
(1.3)对D图像进行滤波预处理,具体为:采用时空域联合四邻域滤波填补D图像空洞、去除孤立点,对D图像的像素β(i,j)进行修复,规则如下:
当β(i,j)=0时,执行以下公式:
β(i,j)=Average(β(i-1,j),β(i,j-1),β(i+1,j),β(i,j+1)) (1)
如果公式(1)中β(i,j)的结果为零,执行β(i,j)|t=β(i,j)|t-1;
当β(i,j)为孤立点时,执行β(i,j)=0;
其中Average()表示对参数中非零值求均值,对像素零值的修复以空域滤波优先,当空域滤波无效时采用时域滤波;
(1.4)通过深度相机的内部参数以及D图像获得以相机为原点的相机坐标系下的三维位置信息Xc、Yc,具体为:为了得出空间三维物体到RGB-D相机的二维图像映射关系,首先关注相机坐标系和图像坐标系的关系。对于D图像中的某个像素(u,v),其像素值即为Zc,由u、v、Zc计算Xc、Yc值,计算公式如下:
其中,(u,v)表示以像素为单位、以图像左上角为原点的图像二维坐标,u是水平方向,v是竖直方向;(Xc,Yc,Zc)表示以相机为原点的相机三维坐标系,Zc是相机的光轴方向,Xc是相机成像面的水平方向,Yc是相机成像面的竖直方向,采集到的二维图像分辨率为Width×Height,水平半视场角W1,垂直半视场角W2;
某些特定种类的RGB-D相机具有直接获得Xc、Yc数值的功能,不需执行本步骤。
(1.5)通过深度相机的内部参数以及D图像获得以相机为原点的世界坐标系下的三维位置信息(Xw,Yw,Zw),读取与RGB-D相机固定连接的姿态传感器的姿态角数值,设读数为绕传感器X轴旋转a’,绕传感器Z轴旋转b’,绕传感器Y轴旋转c’,该X、Y、Z三轴的定义与相机坐标的X、Y、Z三轴定义一致;令绕Y轴旋转角的起始轴为光轴(Z轴正向)而非姿态角传感器定义的北方向,所以不考虑c’的数值,那么(Xc,Yc,Zc)绕X轴旋转a=-a’,绕Z轴旋转b=-b’,绕Y轴旋转c=0将得到(Xw,Yw,Zw);当传感器的角度解算顺序为Z-Y-X时,按照X-Y-Z的顺序将(Xc,Yc,Zc)与旋转矩阵相乘,即得到(Xw,Yw,Zw),具体公式如下:
对D图像中所有像素点都按本步骤的方法,求出在世界坐标系下的三维坐标值(Xw,Yw,Zw);
(2)环境信息的检测
选取步骤1.5得到的世界三维坐标中的高度量Yw绘制成Y图像,深度量Zw绘制成Z图像,宽度量Xw绘制成X图像;三个图像的灰度值即表示该像素在三维空间中对应的物体在三个坐标轴(Xw,Yw,Zw)上投影的数值;
(2.1)水平地面的检测
(2.1.1)生长水平面的预处理,具体为:对Y图像进行水平和竖直方向的边缘提取,并对边缘处理结果进行二值化处理,阈值选择以灰度直方图为依据,选择峰值对应灰度值小的一端的谷值作为二值化的阈值;
对Y图像进行区域分割的预处理,确定水平线(Yw=0)在视场的位置,并依据水平线位置将视场划分为上下两部分进行区域分割;基于一般使用者佩戴位置,对水平线下方区域按照行间距h个像素的密度进行间隔行扫描,其中0<h<Height/8;在行扫描中,遇到二值化处理得到的边缘像素则在行的同样位置设置分段断点,一次行扫描结束得到断点集合Si,记录断点的位置和个数;所有行扫描结束后,选取任意相邻两行i行和i+1行中Si与Si+1点数更多的断点集合,在两行之间依据断点位置划分出矩形区域;
(2.1.2)水平面生长,在每个划分的区域选择随机点作为种子点,开始一次生长,具体为:
(2.1.2.1)种子点Gs满足以下两个条件则开始本次生长:①Gi不是步骤2.1.1提取到的二值化边缘点,②Gi在本次和其他种子点的生长中未被划分到任何区域,否则,退出本次生长;
(2.1.2.2)设置两个上下边缘计数器m、n,设置一个平面点数计数器Xn,并清零;令G=Gs,标记其为已被访问,开始生长;
(2.1.2.3)点G高度为hs,确定阈值δ实现四邻域区域生长,其中0<δ<0.6hs;访问G像素点的四邻域像素Gi,该像素的高度为hi,考察如下四个条件是否满足:①Gi不是步骤2.1.1提取到的二值化边缘点,②Gi在本次和其他种子点的生长中未被划分到任何区域,③Gi在本次生长中未被访问过,④|hi-hs|<δ;当四个条件均满足时,将Gi标记为与G属于同一区域,Xn增一;当四个条件不全满足时,将Gi标记为与Gs不属于同一区域;当满足①②③而不满足④时,计数器m增一,计数器n增一;当满足③而不满足①②④时,计数器m不变,计数器n增一;
(2.1.2.4)处理步骤2.1.2.3得到的与G属于同一区域的像素点所有Gi,令G=Gi,标记其为已被访问,重复步骤2.1.2.3;
(2.1.2.5)对步骤2.1.1得到的所有种子点重复步骤2.1.2.1-2.1.2.4,Y图像中产生若干平面,以种子点高度值作为平面特征;
(2.1.3)对步骤2.1.2产生的平面进行合并和排除,具体为:提取平面特征,对分割出的相邻平面特征进行比较,如果二者偏差在与平面高度有关的阈值δ1之内,即合并为一个平面,其中δ<δ1<3δ;
对合并后的平面的点数Xn进行统计,对Xn小于阈值λ的平面进行排除,
λ=k*ave{S(i)}δ
其中,ave{S(i)}是与步骤2.1.1中断点集合元素间距平均值,k是比例系数,1<k<5;
考虑平面边缘形成原因,步骤2.1.2的生长过程中,因超出阈值而停止生长而形成的上下边缘点的数目是m,上下边缘所有点数是n,对于E=m/n,当E大于阈值e(e<0.3)时,认为该平面是非水平面,应予排除;
(2.1.4)水平地面的检出,具体为:在步骤2.1.3合并和排除后的平面中较大的高度绝对值对应的平面拥有较大的优先级,将其中高度绝对值最大的平面标记为水平地面,并按照优先级由大到小的顺序逐个标记其余各个水平面;
(2.2)障碍物的检测
(2.2.1)对彩色图像进行滤波预处理:对RGB图像进行平滑滤波,减少后续边缘提取产生的噪声,在RGB图像和Z图像中去除在步骤2.14中已经检出的平面,避免重复检测;
(2.2.2)边缘提取和处理:对RGB图像和Z图像提取边缘,并进行图像二值化;阈值选择以灰度直方图为依据,选择峰值对应灰度值小的一端的谷值作为二值化的阈值;
对图像进行区域分割的预处理,对整个图像按照行间距h的密度进行间隔行扫描,其中0<h<Height/8;在行扫描中,遇到二值化处理得到的边缘的则设置分段断点,一次行扫描结束得到断点集合Si;行扫描全部结束后,相邻两行断点集合Si与Si+1以点数更多的为准,在行之间划分出矩形区域;
(2.2.3)区域生长:对Z图像和RGB图像同时进行生长,种子点的选择采用与步骤2.1.2的方法相同,生长规则与步骤2.1.3类似;但是,障碍检测与平面检测不同,同一物体在深度值上并不一定存在严格一致性;故生长时,在停止条件上采用宽松的δ’阈值控制,其中δ<δ’<4δ;
(2.2.4)生长结束后,在Z图像中提取区域如下特征:深度平均值g、区域点数Xn、区域中心位置o、区域矩形边框角点位置di(1-4);在RGB图像中提取区域如下特征:灰度平均值g’、区域点数Xn’、区域中心位置o’、区域矩形边框角点位置di’(1-4);根据点数Xn和Xn’的多少,按照步骤2.1.3的排除法则,进行小区域舍弃;
(2.2.5)对Z图像和RGB图像共同的检出区域像进行匹配:对步骤2.2.4处理后得到的RGB图像中区域的区域中心位置o与Z图像中区域的区域中心位置o作差,差值为Δo;RGB图像中区域的边框角点位置di(1-4)与Z图像中区域的边框角点位置di’(1-4)作差,差值为Δdi(1-4);当Δo满足-δo<Δo<δo,而且Δdi(1-4)满足-δdi(1-4)<Δdi(1-4)<δdi(1-4)时,认定是Z图像和RGB图像共同的检出区域,其中0<δo<(0.3Height+0.3Weight)/2,0<δdi(1-4)<(0.3Height+0.3Weight)/2;
共同的检出区域认定为一个物体,是视场中确实存在的障碍物,而不是背景中的纹理或者Z图像的噪声;
(2.2.6)对障碍物进行框选:对步骤2.2.5找到物体按照RGB图和D图中的共同检出区域,按照二者中区域点数Xn与Xn’小的为准,确定障碍物的深度平均值g、灰度平均值g’、区域中心位置o、区域矩形边框角点位置di(1-4)和长L和高H;其中,长L=(L1+L2)/2,L1为边框左上角点像素与右上角点像素在X图像中数值的差值,L2为边框左下角点像素与右下角点像素在X图像中数值的差值;高H=(H1+H2)/2,H1为边框左上角点像素与左下角点像素在Y图像中数值的差值,H2为边框右上角点像素与右下角点像素在Y图像中数值的差值;
(2.3)通路检测和危险预警
步骤2.1和步骤2.2分别检测了地面和障碍,对步骤2.1.4和步骤2.2.6检测到的每帧图像信息,进行进一步识别解读,形成可供使用者理解的声音或文字信号。由于图像信息可达到每秒多帧,而文字或声音输出不需要这样快的速率,所以在使用时可灵活设置每隔P帧执行步骤2.3.1-2.3.5,在主流配置计算机中10<P<100。
(2.3.1)根据步骤1.5确定的世界坐标系的坐标值,将步骤2.2.6框选出的图像分为左上、左下、右上、右下、正上和正下六个区域,具体为:人体的宽度设为w,将视场中世界坐标水平线(Yw=0)以上的部分定义为上部,下方定义为下部;X图像中间部分,即满足-w-p<Xw<w+q的像素集合,称为中部,其中0<|p|,|q|<3w;中部两侧分别为左部和右部;由于使用者携带RGB-D相机的位置是可能不断变化的,前述六个方位并非大小相同,也并非同时存在;
(2.3.2)对障碍物的处理:将步骤2.2.6框选出的障碍物按照深度平均值g和在图像中的位置的不同进行优先级排序,位于中间区域的优先级高,两侧的优先级低,g较小的优先级高,g较大的优先级低,位置优先级总体高于深度平均值优先级,按照优先级顺序提示使用者对应方位的障碍物情况;对障碍物依照灰度平均值g’分为红橙黄绿青蓝紫黑白等不同颜色类别;
(2.3.3)对地面通路的处理,按照步骤2.1.4检测出的水平地面,对左下、右下、中下三个分区内的平面检出情况进行分析,具体为:与图像视场下沿连接的平面或距离最近的平面标记为使用者现在所在水平面,确认所在平面为通路;某个分区像素点个数为A,分区中水平面通路像素个数为B,当时,认为该方向可以通行,否则不能通行;其中,0<δv<1;
(2.3.4)典型场景检测:本方法除对通路和障碍能进行提示之外,还可以对台阶或楼梯场景进行提示。对于步骤2.1.4检测得到的平面图像和步骤2.2.6检测得到的障碍物图像,如果两图像相对应的同一位置存在多个相互交错的检出物时,则认为存在楼梯,具体方法是:步骤2.2.6框选出的所有障碍物检测结果在图像中的间距D如果小于阈值d(0<d<0.5),则认为他们同属一个集合,将该集合中的元素找全后,框选集合位置并统计元素个数num;在步骤2.1.4水平面检测结果中,在集合框选的同样位置如果出现个数为num-2与num+2之间的水平面,则认为该区域的确为台阶或楼梯;
(2.3.5)检测信息的输出:步骤2.2.2得到的障碍信息、步骤2.2.3得到的通路信息和步骤2.2.4得到的场景信息,这三类信息按照障碍-通路-场景的顺序输出;在障碍和通路信息中,按照2.3.2和2.3.3确定的优先级确定信息提示先后;例如在某一特定的环境下的输出信息为:正下方1.56m处有长1m、高1m的白色障碍物,右方有通路可以通行,左方有台阶。
Claims (1)
1.一种基于RGB-D相机和姿态传感器的平面和障碍检测方法,其特征在于,包括以下步骤:
(1)环境三维信息的获取,具体包括以下子步骤:
(1.1)对RGB-D相机进行初始化,获得彩色相机和深度相机的内部参数,所述内部参数包括水平视场角和竖直视场角,使用轮询方法同时从RGB-D相机获得RGB图像和D图像;D图像像素的灰度即该像素对应的物体在三维环境中距离相机的水平深度值;
(1.2)将RGB图像与D图像进行视场匹配,具体为:使用时域修复方法,填补D图像空洞造成的映射后彩色图像不完整,对RGB图像与D图像的原始映射关系β=R’t(α)进行逐帧修复得到β=Rt(α),具体规则如下:
当R’t(α)不可用时,进行Rt(α)=Rt-1(α)处理,否则进行Rt(α)=γR’t(α)+(1-γ)Rt(α)处理;
其中0<γ<1,α为RGB图像的像素集合,β为D图像的像素集合,t为当前帧,t-1为当前帧的前一帧;
得到了完整映射关系后,依据该完整映射关系获得与D图像视场相匹配的RGB图像;
(1.3)对D图像进行滤波预处理,具体为:采用时空域联合四邻域滤波填补D图像空洞、去除孤立点,对D图像的像素β(i,j)进行修复,规则如下:
当β(i,j)=0时,执行以下公式:
β(i,j)=Average(β(i-1,j),β(i,j-1),β(i+1,j),β(i,j+1)) (1)
如果公式(1)中β(i,j)的结果为零,执行β(i,j)|t=β(i,j)|t-1;
当β(i,j)为孤立点时,执行β(i,j)=0;
其中Average()表示对参数中非零值求均值,对像素零值的修复以空域滤波优先,当空域滤波无效时采用时域滤波;
(1.4)通过深度相机的内部参数以及D图像获得以相机为原点的相机坐标系下的三维坐标值Xc、Yc,具体为:为了得出空间三维物体到RGB-D相机的二维图像映射关系,首先关注相机坐标系和图像坐标系的关系;对于D图像中的某个像素(u,v),其像素值即为Zc,由u、v、Zc计算Xc、Yc值,计算公式如下:
<mrow>
<mfrac>
<mfrac>
<mrow>
<mi>X</mi>
<mi>c</mi>
</mrow>
<mrow>
<mi>Z</mi>
<mi>c</mi>
</mrow>
</mfrac>
<mrow>
<mi>t</mi>
<mi>a</mi>
<mi>n</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>W</mi>
<mn>1</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
<mo>=</mo>
<mfrac>
<mrow>
<mn>2</mn>
<mi>u</mi>
<mo>-</mo>
<mi>W</mi>
<mi>i</mi>
<mi>d</mi>
<mi>t</mi>
<mi>h</mi>
</mrow>
<mrow>
<mi>W</mi>
<mi>i</mi>
<mi>d</mi>
<mi>t</mi>
<mi>h</mi>
</mrow>
</mfrac>
</mrow>
<mrow>
<mfrac>
<mfrac>
<mrow>
<mi>Y</mi>
<mi>c</mi>
</mrow>
<mrow>
<mi>Z</mi>
<mi>c</mi>
</mrow>
</mfrac>
<mrow>
<mi>t</mi>
<mi>a</mi>
<mi>n</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>W</mi>
<mn>2</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
<mo>=</mo>
<mfrac>
<mrow>
<mi>H</mi>
<mi>e</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
<mo>-</mo>
<mn>2</mn>
<mi>v</mi>
</mrow>
<mrow>
<mi>H</mi>
<mi>e</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
</mrow>
</mfrac>
</mrow>
其中,(u,v)表示以像素为单位、以图像左上角为原点的图像二维坐标,u是水平方向,v是竖直方向;(Xc,Yc,Zc)表示以相机为原点的相机三维坐标系,Zc是相机的光轴方向,Xc是相机成像面的水平方向,Yc是相机成像面的竖直方向,采集到的二维图像分辨率为Width×Height,水平半视场角W1,垂直半视场角W2;
(1.5)通过深度相机的内部参数以及D图像获得以相机为原点的世界坐标系下的三维位置信息(Xw,Yw,Zw),读取与RGB-D相机固定连接的姿态传感器的姿态角数值,设读数为绕传感器X轴旋转a’,绕传感器Z轴旋转b’,绕传感器Y轴旋转c’,该X、Y、Z三轴的定义与相机坐标的X、Y、Z三轴定义一致;令绕Y轴旋转角的起始轴为光轴即Z轴正向,而非姿态角传感器定义的北方向,那么(Xc,Yc,Zc)绕X轴旋转a=-a’,绕Z轴旋转b=-b’,绕Y轴旋转c=0将得到(Xw,Yw,Zw);当传感器的角度解算顺序为Z-Y-X时,按照X-Y-Z的顺序将(Xc,Yc,Zc)与旋转矩阵相乘,即得到(Xw,Yw,Zw),具体公式如下:
<mrow>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mi>X</mi>
<mi>w</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>Y</mi>
<mi>w</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>Z</mi>
<mi>w</mi>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>cos</mi>
<mi> </mi>
<mi>b</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mi>sin</mi>
<mi> </mi>
<mi>b</mi>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>sin</mi>
<mi> </mi>
<mi>b</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>cos</mi>
<mi> </mi>
<mi>b</mi>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>cos</mi>
<mi> </mi>
<mi>c</mi>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mrow>
<mi>sin</mi>
<mi> </mi>
<mi>c</mi>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>-</mo>
<mi>sin</mi>
<mi> </mi>
<mi>c</mi>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mrow>
<mi>cos</mi>
<mi> </mi>
<mi>c</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mrow>
<mi>cos</mi>
<mi> </mi>
<mi>a</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mi>sin</mi>
<mi> </mi>
<mi>a</mi>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mrow>
<mi>sin</mi>
<mi> </mi>
<mi>a</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>cos</mi>
<mi> </mi>
<mi>a</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mi>X</mi>
<mi>c</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>Y</mi>
<mi>c</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>Z</mi>
<mi>c</mi>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
对D图像中所有像素点都按本步骤的方法,求出在世界坐标系下的三维坐标值(Xw,Yw,Zw);
(2)环境信息的检测:选取步骤1.5得到的世界三维坐标中的高度量Yw绘制成Y图像,深度量Zw绘制成Z图像,宽度量Xw绘制成X图像;三个图像的灰度值即表示该像素在三维空间中对应的物体在三个坐标轴(Xw,Yw,Zw)上投影的数值;具体包括以下子步骤:
(2.1)水平地面的检测,具体包括以下子步骤:
(2.1.1)生长水平面的预处理,具体为:对Y图像进行水平和竖直方向的边缘提取,并对边缘处理结果进行二值化处理,阈值选择以灰度直方图为依据,选择峰值对应灰度值小的一端的谷值作为二值化的阈值;
对Y图像进行区域分割的预处理,确定世界坐标水平线Yw=0在视场的位置,并依据世界坐标水平线位置将视场划分为上下两部分进行区域分割;基于一般使用者佩戴位置,对世界坐标水平线下方区域按照行间距h个像素的密度进行间隔行扫描,其中0<h<Height/8;在行扫描中,遇到二值化处理得到的边缘像素则在行的同样位置设置分段断点,一次行扫描结束得到断点集合Si,记录断点的位置和个数;所有行扫描结束后,选取任意相邻两行i行和i+1行中Si与Si+1点数更多的断点集合,在两行之间依据断点位置划分出矩形区域;
(2.1.2)水平面生长,在每个划分的区域选择随机点作为种子点,开始一次生长,具体为:
(2.1.2.1)种子点Gs满足以下两个条件则开始本次生长:①Gi不是步骤2.1.1提取到的二值化边缘点,②Gi在本次和其他种子点的生长中未被划分到任何区域,否则,退出本次生长;
(2.1.2.2)设置两个上下边缘计数器m、n,设置一个平面点数计数器Xn,并清零;令G=Gs,标记其为已被访问,开始生长;
(2.1.2.3)点G高度为hs,确定阈值δ实现四邻域区域生长,其中0<δ<0.6hs;访问G像素点的四邻域像素Gi,该像素的高度为hi,考察如下四个条件是否满足:①Gi不是步骤2.1.1提取到的二值化边缘点,②Gi在本次和其他种子点的生长中未被划分到任何区域,③Gi在本次生长中未被访问过,④|hi-hs|<δ;当四个条件均满足时,将Gi标记为与G属于同一区域,Xn增一;当四个条件不全满足时,将Gi标记为与Gs不属于同一区域;当满足①②③而不满足④时,计数器m增一,计数器n增一;当满足③而不满足①②④时,计数器m不变,计数器n增一;
(2.1.2.4)处理步骤2.1.2.3得到的与点G属于同一区域的所有像素点Gi,分别对于每个Gi标记其为已被访问,令G=Gi,重复步骤2.1.2.3;
(2.1.2.5)对步骤2.1.1得到的所有种子点重复步骤2.1.2.1-2.1.2.4,Y图像中产生若干平面,以种子点高度作为平面特征;
(2.1.3)对步骤2.1.2产生的平面进行合并和排除,具体为:提取平面特征,对分割出的相邻平面特征进行比较,如果二者偏差在与平面高度有关的阈值δ1之内,即合并为一个平面,其中δ<δ1<3δ;
对合并后的平面的点数Xn进行统计,对Xn小于阈值λ的平面进行排除,
λ=k*ave{S(i)}δ
其中,ave{S(i)}是与步骤2.1.1中断点集合元素间距平均值,k是比例系数,1<k<5;
步骤2.1.2的生长过程中,因超出阈值而停止生长而形成的上下边缘点的数目是m,上下边缘所有点数是n,对于E=m/n,当E大于阈值e时,认为该平面是非水平面,e<0.3;
(2.1.4)水平地面的检出,具体为:在步骤2.1.3合并和排除后的平面中较大的高度绝对值对应的平面拥有较大的优先级,将其中高度绝对值最大的平面标记为水平地面,并按照优先级由大到小的顺序逐个标记其余各个水平面;
(2.2)障碍物的检测,具体包括以下子步骤:
(2.2.1)对彩色图像进行滤波预处理:对RGB图像进行平滑滤波,减少后续边缘提取产生的噪声,在RGB图像和Z图像中去除在步骤2.14中已经检出的平面,避免重复检测;
(2.2.2)边缘提取和处理:对RGB图像和Z图像提取边缘,并进行图像二值化;阈值选择以灰度直方图为依据,选择峰值对应灰度值小的一端的谷值作为二值化的阈值;
对RGB图像和Z图像均进行区域分割的预处理,对RGB图像和Z图像均按照行间距h的密度进行间隔行扫描,其中0<h<Height/8;在行扫描中,遇到二值化处理得到的边缘的则设置分段断点,一次行扫描结束得到断点集合Si;行扫描全部结束后,相邻两行断点集合Si与Si+1以点数更多的为准,在行之间划分出矩形区域;
(2.2.3)区域生长:对Z图像和RGB图像同时进行生长,种子点的选择采用与步骤2.1.2的方法相同,生长规则与步骤2.1.3的区别是:障碍检测与平面检测不同,同一物体在深度值上并不一定存在严格一致性;故生长时,在停止条件上采用宽松的δ’阈值控制,其中δ<δ’<4δ;
(2.2.4)生长结束后,在Z图像中提取区域如下特征:深度平均值g、区域点数Xn、Z图像中区域的区域中心位置o、Z图像中区域的区域矩形边框角点位置di(1-4);在RGB图像中提取区域如下特征:灰度平均值g’、区域点数Xn’、RGB图像中区域的区域中心位置o’、RGB图像中区域的区域矩形边框角点位置di’(1-4);根据点数Xn和Xn’的多少,按照步骤2.1.3的排除法则,进行小区域舍弃;
(2.2.5)对Z图像和RGB图像共同的检出区域像进行匹配:对步骤2.2.4处理后得到的RGB图像中区域的区域中心位置o’与Z图像中区域的区域中心位置o作差,差值为Δo;RGB图像中区域的区域矩形边框角点位置di’(1-4)与Z图像中区域的区域矩形边框角点位置di(1-4)作差,差值为Δdi(1-4);当Δo满足-δo<Δo<δo,而且Δdi(1-4)满足-δdi(1-4)<Δdi(1-4)<δdi(1-4)时,认定是Z图像和RGB图像共同的检出区域,其中0<δo<(0.3Height+0.3Weight)/2,0<δdi(1-4)<(0.3Height+0.3Weight)/2;
共同的检出区域认定为一个物体,是视场中确实存在的障碍物,而不是背景中的纹理或者Z图像的噪声;
(2.2.6)对障碍物进行框选:对步骤2.2.5找到物体按照RGB图像和Z图像中的共同检出区域,按照二者中区域点数Xn与Xn’小的为准,确定障碍物的深度平均值g、灰度平均值g’、区域中心位置o、区域矩形边框角点位置di(1-4)和长L和高H;其中,长L=(L1+L2)/2,L1为边框左上角点像素与右上角点像素在X图像中数值的差值,L2为边框左下角点像素与右下角点像素在X图像中数值的差值;高H=(H1+H2)/2,H1为边框左上角点像素与左下角点像素在Y图像中数值的差值,H2为边框右上角点像素与右下角点像素在Y图像中数值的差值;
(2.3)通路检测和危险预警:步骤2.1和步骤2.2分别检测了地面和障碍,对步骤2.1.4和步骤2.2.6检测到的每帧图像信息,进行进一步识别解读,形成可供使用者理解的声音或文字信号;由于图像信息可达到每秒多帧,而文字或声音输出不需要这样快的速率,所以在使用时可灵活设置每隔P帧执行步骤2.3.1-2.3.5,在主流配置计算机中10<P<100;具体包括以下子步骤:
(2.3.1)根据步骤1.5确定的世界坐标系的坐标值,将步骤2.2.6框选出的图像分为左上、左下、右上、右下、正上和正下六个区域,具体为:人体的宽度设为w,将视场中世界坐标水平线即Yw=0以上的部分定义为上部,下方定义为下部;X图像中间部分,即满足-w-p<Xw<w+q的像素集合,称为中部,其中0<|p|,|q|<3w;中部两侧分别为左部和右部;
(2.3.2)对障碍物的处理:将步骤2.2.6框选出的障碍物按照深度平均值g和在图像中的位置的不同进行优先级排序,位于中间区域的优先级高,两侧的优先级低,g较小的优先级高,g较大的优先级低,位置优先级总体高于深度平均值优先级,按照优先级顺序提示使用者对应方位的障碍物情况;对障碍物依照灰度平均值g’分为红橙黄绿青蓝紫黑白这些不同颜色类别;
(2.3.3)对地面通路的处理,按照步骤2.1.4检测出的水平地面,对左下、右下、中下三个分区内的平面检出情况进行处理,具体为:与图像视场下沿连接的平面或距离最近的平面标记为使用者现在所在水平面,确认所在平面为通路;某个分区像素点个数为A,分区中水平面通路像素个数为B,当时,认为该方向可以通行,否则不能通行;其中,0<δv<1;
(2.3.4)典型场景检测:平面和障碍检测方法除对通路和障碍能进行提示之外,还可以对台阶或楼梯场景进行提示;对于步骤2.1.4检测得到的平面图像和步骤2.2.6检测得到的障碍物图像,如果两图像相对应的同一位置存在多个相互交错的检出物时,则认为存在楼梯,具体方法是:步骤2.2.6框选出的所有障碍物检测结果在图像中的间距D如果小于阈值d,0<d<0.5,则认为他们同属一个集合,将该集合中的元素找全后,框选集合位置并统计元素个数num;在步骤2.1.4水平面检测结果中,在集合框选的同样位置如果出现个数为num-2与num+2之间的水平面,则认为该区域的确为台阶或楼梯;
(2.3.5)检测信息的输出:步骤2.2.2得到的障碍信息、步骤2.2.3得到的通路信息和步骤2.2.4得到的场景信息,这三类信息按照障碍-通路-场景的顺序输出;在障碍和通路信息中,按照2.3.2和2.3.3确定的优先级确定信息提示先后。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510248949.8A CN104899869B (zh) | 2015-05-14 | 2015-05-14 | 基于rgb‑d相机和姿态传感器的平面和障碍检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510248949.8A CN104899869B (zh) | 2015-05-14 | 2015-05-14 | 基于rgb‑d相机和姿态传感器的平面和障碍检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104899869A CN104899869A (zh) | 2015-09-09 |
CN104899869B true CN104899869B (zh) | 2017-09-01 |
Family
ID=54032514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510248949.8A Active CN104899869B (zh) | 2015-05-14 | 2015-05-14 | 基于rgb‑d相机和姿态传感器的平面和障碍检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104899869B (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9761000B2 (en) * | 2015-09-18 | 2017-09-12 | Qualcomm Incorporated | Systems and methods for non-obstacle area detection |
CN106683071B (zh) * | 2015-11-06 | 2020-10-30 | 杭州海康威视数字技术股份有限公司 | 图像的拼接方法和装置 |
CN105701811B (zh) * | 2016-01-12 | 2018-05-22 | 浙江大学 | 一种基于rgb‐ir相机的声音编码交互方法 |
US10489691B2 (en) * | 2016-01-15 | 2019-11-26 | Ford Global Technologies, Llc | Fixation generation for machine learning |
CN106821693B (zh) * | 2016-11-23 | 2019-02-12 | 杭州视氪科技有限公司 | 一种基于rgb-d相机和立体声的视障人士楼梯检测眼镜 |
CN106651873B (zh) * | 2016-11-23 | 2019-11-22 | 杭州视氪科技有限公司 | 一种基于rgb-d相机和立体声的视障人士斑马线检测眼镜 |
CN106821692B (zh) * | 2016-11-23 | 2019-02-12 | 杭州视氪科技有限公司 | 一种基于rgb-d相机和立体声的视障人士楼梯检测系统及方法 |
CN107049717B (zh) * | 2016-11-23 | 2019-03-01 | 杭州视氪科技有限公司 | 一种基于rgb-d相机和立体声的视障人士斑马线检测系统及方法 |
CN106846350B (zh) * | 2016-11-23 | 2019-09-24 | 杭州视氪科技有限公司 | 一种基于rgb-d相机和立体声的视障人士障碍物预警系统及方法 |
CN106597690B (zh) * | 2016-11-23 | 2019-02-12 | 杭州视氪科技有限公司 | 一种基于rgb-d相机和立体声的视障人士通路预知眼镜 |
CN106600640B (zh) * | 2016-12-12 | 2020-03-20 | 杭州视氪科技有限公司 | 一种基于rgb-d相机的人脸识别辅助眼镜 |
CN106874830B (zh) * | 2016-12-12 | 2019-09-24 | 杭州视氪科技有限公司 | 一种基于rgb-d相机和人脸识别的视障人士辅助方法 |
CN106780705B (zh) * | 2016-12-20 | 2020-10-16 | 南阳师范学院 | 适用于dibr预处理过程的深度图鲁棒平滑滤波方法 |
WO2018120027A1 (zh) * | 2016-12-30 | 2018-07-05 | 深圳前海达闼云端智能科技有限公司 | 一种障碍物检测方法及装置 |
US10321258B2 (en) * | 2017-04-19 | 2019-06-11 | Microsoft Technology Licensing, Llc | Emulating spatial perception using virtual echolocation |
CN109814127A (zh) * | 2017-11-22 | 2019-05-28 | 浙江舜宇智能光学技术有限公司 | 高分辨tof成像系统及方法 |
US10529086B2 (en) * | 2017-11-22 | 2020-01-07 | Futurewei Technologies, Inc. | Three-dimensional (3D) reconstructions of dynamic scenes using a reconfigurable hybrid imaging system |
CN108154551B (zh) * | 2017-11-29 | 2021-04-30 | 奥比中光科技集团股份有限公司 | 实时动态重建三维人体模型的方法及系统 |
CN108413937B (zh) * | 2017-11-29 | 2020-11-03 | 浙江纺织服装职业技术学院 | 一种地面凹坑识别方法 |
WO2019109301A1 (zh) * | 2017-12-07 | 2019-06-13 | 深圳前海达闼云端智能科技有限公司 | 导盲方法、装置和导盲设备 |
CN109955246B (zh) * | 2017-12-26 | 2020-11-24 | 深圳市优必选科技有限公司 | 悬崖检测方法、装置、终端设备及计算机可读存储介质 |
JP6955783B2 (ja) * | 2018-01-10 | 2021-10-27 | 達闥機器人有限公司Cloudminds (Shanghai) Robotics Co., Ltd. | 情報処理方法、装置、クラウド処理デバイス及びコンピュータプログラム製品 |
CN108876799B (zh) * | 2018-06-12 | 2021-07-02 | 杭州视氪科技有限公司 | 一种基于双目相机的实时台阶检测方法 |
CN109490926B (zh) * | 2018-09-28 | 2021-01-26 | 浙江大学 | 一种基于双目相机和gnss的路径规划方法 |
CN109460709B (zh) * | 2018-10-12 | 2020-08-04 | 南京大学 | 基于rgb和d信息融合的rtg视觉障碍物检测的方法 |
CN109448058A (zh) * | 2018-11-12 | 2019-03-08 | 北京拓疆者智能科技有限公司 | 装载位置三维坐标获取方法、系统及图像识别设备 |
CN109801309B (zh) * | 2019-01-07 | 2023-06-20 | 华南理工大学 | 一种基于rgb-d相机的障碍物感知方法 |
CN109702747A (zh) * | 2019-01-21 | 2019-05-03 | 广东康云科技有限公司 | 一种机器狗系统及其实现方法 |
CN109814564A (zh) * | 2019-01-29 | 2019-05-28 | 炬星科技(深圳)有限公司 | 目标对象的检测、避障方法、电子设备及存储介质 |
CN110245567B (zh) * | 2019-05-16 | 2023-04-07 | 达闼机器人股份有限公司 | 避障方法、装置、存储介质及电子设备 |
CN110399807B (zh) * | 2019-07-04 | 2021-07-16 | 达闼机器人有限公司 | 检测地面障碍物的方法、装置、可读存储介质及电子设备 |
CN110919653B (zh) * | 2019-11-29 | 2021-09-17 | 深圳市优必选科技股份有限公司 | 机器人的爬楼控制方法、装置、存储介质和机器人 |
CN112050810B (zh) * | 2019-12-23 | 2022-09-27 | 华北电力大学(保定) | 一种基于计算机视觉的室内定位导航方法及系统 |
CN113408353B (zh) * | 2021-05-18 | 2023-04-07 | 杭州电子科技大学 | 一种基于rgb-d的实时避障系统 |
CN114442615A (zh) * | 2021-12-31 | 2022-05-06 | 重庆特斯联智慧科技股份有限公司 | 一种基于障碍物属性的机器人行进策略确定方法和系统 |
CN114916318B (zh) * | 2022-05-30 | 2023-05-02 | 华南农业大学 | 一种搭载在无人机上的水果自动采收装置及其控制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103971116A (zh) * | 2014-04-24 | 2014-08-06 | 西北工业大学 | 基于Kinect的感兴趣区域检测方法 |
US9031809B1 (en) * | 2010-07-14 | 2015-05-12 | Sri International | Method and apparatus for generating three-dimensional pose using multi-modal sensor fusion |
-
2015
- 2015-05-14 CN CN201510248949.8A patent/CN104899869B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9031809B1 (en) * | 2010-07-14 | 2015-05-12 | Sri International | Method and apparatus for generating three-dimensional pose using multi-modal sensor fusion |
CN103971116A (zh) * | 2014-04-24 | 2014-08-06 | 西北工业大学 | 基于Kinect的感兴趣区域检测方法 |
Non-Patent Citations (2)
Title |
---|
"基于RGB-D信息的物体定位与识别";孙小凯;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140915(第9期);论文第10-60页 * |
"基于RGB-D的行人检测";王宁波;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130615(第6期);论文第12-50页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104899869A (zh) | 2015-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104899869B (zh) | 基于rgb‑d相机和姿态传感器的平面和障碍检测方法 | |
CN110221603B (zh) | 一种基于激光雷达多帧点云融合的远距离障碍物检测方法 | |
CN113255481B (zh) | 一种基于无人巡逻车的人群状态检测方法 | |
CN111553252B (zh) | 一种基于深度学习及u-v视差算法的道路行人自动识别定位方法 | |
CN102435174B (zh) | 基于混合式双目视觉的障碍物检测方法及装置 | |
CN102999892B (zh) | 基于区域遮罩的深度图像与rgb图像的智能融合方法 | |
CN109100741A (zh) | 一种基于3d激光雷达及图像数据的目标检测方法 | |
CN104036488B (zh) | 一种基于双目视觉的人体姿态动作研究方法 | |
CN109472831A (zh) | 面向压路机施工过程的障碍物识别测距系统及方法 | |
CN107248159A (zh) | 一种基于双目视觉的金属工件缺陷检测方法 | |
CN102622584B (zh) | 视频监控中蒙面人脸的检测方法 | |
CN106570903A (zh) | 一种基于rgb‑d摄像头的视觉识别与定位方法 | |
CN106981081A (zh) | 一种基于深度信息提取的墙面平整度检测方法 | |
CN101398886A (zh) | 一种基于双目被动立体视觉的快速三维人脸识别方法 | |
CN106951905A (zh) | 一种基于tof相机的树上苹果识别与定位方法 | |
CN107067431A (zh) | 一种基于Kinect的物体体积计算方法 | |
CN106600643B (zh) | 一种基于轨迹分析的人数统计方法 | |
CN106599776B (zh) | 一种基于轨迹分析的人数统计方法 | |
CN105894513B (zh) | 顾及影像对象时空变化的遥感影像变化检测方法及系统 | |
CN103996198A (zh) | 复杂自然环境下感兴趣区域的检测方法 | |
CN102246201B (zh) | 图像处理装置及图像处理方法 | |
CN108459596A (zh) | 一种移动电子设备以及该移动电子设备中的方法 | |
CN107392929A (zh) | 一种基于人眼视觉模型的智能化目标检测及尺寸测量方法 | |
CN107016348A (zh) | 结合深度信息的人脸检测方法、检测装置和电子装置 | |
CN108280401A (zh) | 一种路面检测方法、装置、云端服务器及计算机程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |