CN116597001A - 室内顶部边界位置检测方法、装置、机器人及存储介质 - Google Patents
室内顶部边界位置检测方法、装置、机器人及存储介质 Download PDFInfo
- Publication number
- CN116597001A CN116597001A CN202310452638.8A CN202310452638A CN116597001A CN 116597001 A CN116597001 A CN 116597001A CN 202310452638 A CN202310452638 A CN 202310452638A CN 116597001 A CN116597001 A CN 116597001A
- Authority
- CN
- China
- Prior art keywords
- line
- depth image
- door frame
- roof
- characteristic region
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 122
- 239000013598 vector Substances 0.000 claims description 71
- 238000000034 method Methods 0.000 claims description 42
- 230000033001 locomotion Effects 0.000 claims description 41
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
- 230000000007 visual effect 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
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/42—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
-
- 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/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例提供了一种室内顶部边界位置检测方法、装置、机器人及存储介质,通过对各深度图像进行线特征检测,判断线特征的位置关系就可以快速的得到室内场景的门框和屋顶的位置信息,从而得到了室内顶部边界位置,相比于仅对行进路线上的障碍物进行检测以获取室内场景边界,室内顶部边界受地面地形的影响更小、且没有障碍物的遮挡更小,从而能够提高获取的室内场景的边界精度。
Description
技术领域
本申请涉及图像分析技术领域,特别是涉及室内顶部边界位置检测方法、装置、机器人及存储介质。
背景技术
室内移动机器人在移动时的导航路径规划一般是依赖采集的环境信息建立的地图。现有技术中,地图的建立,往往是由移动机器人对地面环境的探索识别实现的。但由于地面环境往往复杂多变,比如人员、宠物等无规律的移动,各种家具摆放的变化,都对移动机器人形成一定干扰,使得地图的建立缓慢耗时且精度不足。
如何提高移动机器人建图的效率和图像精度,成为业界都在关注和探索的技术问题。利用室内屋顶的特征信息来建图和定位,避免地面环境的不确定性带来的干扰,来解决上述问题,成为研究方向之一。
发明内容
本申请实施例的目的在于提供一种室内顶部边界位置检测方法、装置、机器人及存储介质,用以提高室内场景的边界精度。具体技术方案如下:
第一方面,本申请实施例提供了一种室内顶部边界位置检测方法,所述方法包括:
获取由双目相机采集的室内场景的多张深度图像和各深度图像下的相机位姿,其中,任一深度图像,该深度图像下的相机位姿是所述双目相机采集该深度图像时在世界坐标系下的位姿;
对各所述深度图像进行线特征检测,得到各所述深度图像中的线特征区域;
根据各所述深度图像中的线特征区域及各所述深度图像下的相机位姿,确定所述室内场景的门框及屋顶的位置信息。
在一种可能的实施方式中,所述根据各所述深度图像中的线特征区域及各所述深度图像下的相机位姿,确定所述室内场景的门框及屋顶的位置信息,包括:
针对每一个深度图像,对该深度图像中的线特征区域进行位置关系的检测,得到该深度图像中的门框特征区域和/或屋顶特征区域;
根据该深度图像下的相机位姿,将该深度图像中的门框特征区域和/或屋顶特征区域转换到所述世界坐标系下;
对所述世界坐标系下的各门框特征区域及屋顶特征区域进行融合及修正,得到所述室内场景的门框及屋顶的位置信息。
在一种可能的实施方式中,所述针对每一个深度图像,对该深度图像中的各线特征区域进行位置关系的检测,得到该深度图像中的门框特征区域和/或屋顶特征区域,包括:
针对每一个深度图像,对该深度图像中的各线特征区域进行垂直相交及共面的位置关系检测,得到位置关系检测结果;
基于所述位置关系检测结果,若存在三个线特征区域满足:两两线特征区域垂直相交于同一端点,则将所述三个线特征区域的组合判定为屋顶特征区域;
基于所述位置关系检测结果,若存在两个线特征区域满足:所述两个线特征区域垂直相交于一个端点、且不存在其他线特征区域相交于该端点,则将所述两个线特征区域的组合判定为部分门框特征区域;
基于所述位置关系检测结果,若存在第一线特征区域、第二线特征区域、第三线特征区域满足:第一线特征区域与第二线特征区域垂直相交于第二线特征区域的一个端点、第二线特征区域与第三线特征区域垂直相交于第二线特征区域的另一个端点、且第一线特征区域与第三线特征区域平行,则将所述第一线特征区域、第二线特征区域、第三线特征区域的组合判定为门框特征区域。
在一种可能的实施方式中,所述针对每一个深度图像,对该深度图像中的各线特征区域进行垂直相交及共面的位置关系检测,得到位置关系检测结果,包括:
针对每一个深度图像,确定该深度图像下各线特征区域的方向向量;
在该深度图像中选取两个线特征区域,确定当前选取的两个线特征区域的第一向量,所述第一向量是第一端点与第二端点所构成的向量,所述第一端点为当前选取的两个线特征区域中的一个线特征区域的端点,所述第二端点为当前选取的两个线特征区域中的另一个线特征区域的端点;
计算当前选取的两个线特征区域的第一向量与方向向量的乘积,得到第一计算结果;若所述第一计算结果为零,则当前选取的两个线特征区域共面;
若所述第一计算结果为零,且当前选取的两个线特征区域的方向向量的乘积为-1,则当前选取的两个线特征区域垂直相交。
在一种可能的实施方式中,在所述针对每一个深度图像,对该深度图像中的线特征区域进行位置关系的检测,得到该深度图像中的门框特征区域和/或屋顶特征区域之后,所述方法还包括:
分别确定各所述深度图像中所述门框特征区域和/或所述屋顶特征区域的中心点;
针对每一个深度图像,计算该深度图像下所述门框特征区域的中心点与所述双目相机采集该深度图像时的位置的第一最小欧式距离;当所述第一最小欧式距离小于预设阈值时,将所述门框特征区域判定为误检;和/或,
计算该深度图像下所述屋顶特征区域的中心点与所述双目相机采集该深度图像时的位置的第二最小欧式距离;当所述第二最小欧式距离小于预设阈值时,将所述屋顶特征区域判定为误检。
在一种可能的实施方式中,在所述根据该深度图像下的相机位姿,将该深度图像中的门框特征区域和/或屋顶特征区域转换到所述世界坐标系下之后,所述方法还包括:
根据各所述深度图像下的相机位姿,确定所述双目相机在二维栅格地图中的运动轨迹;
将各所述门框特征区域和所述屋顶特征区域投影到所述二维栅格地图中,得到所述门框特征区域和所述屋顶特征区域的投影线段;
计算所述双目相机在所述二维栅格地图中的运动轨迹与所述门框特征区域的投影线段的中心点的第三最小欧式距离;当所述第三最小欧式距离小于预设阈值时,将所述门框特征区域判定为误检;
计算所述双目相机在所述二维栅格地图中的运动轨迹与所述屋顶特征区域的投影线段的中心点的第四最小欧式距离;当所述第四最小欧式距离小于预设阈值时,将所述屋顶特征区域判定为误检。
在一种可能的实施方式中,在所述根据该深度图像下的相机位姿,将该深度图像中的门框特征区域和/或屋顶特征区域转换到所述世界坐标系下之后,所述方法还包括:
根据各所述深度图像下的相机位姿,确定所述双目相机的运动轨迹;
在所述门框特征区域所在平面的第一平面法向量与所述双目相机的运动轨迹所在平面的第二平面法向量平行的情况下,则将所述门框特征区域判定为误检。
在一种可能的实施方式中,所述根据各所述深度图像中的线特征区域及各所述深度图像下的相机位姿,确定所述室内场景的门框及屋顶的位置信息,包括:
针对每一个深度图像,根据该深度图像下的相机位姿,将该深度图像中的各线特征区域转换到所述世界坐标系下;
对所述世界坐标系下的各线特征区域进行位置关系的检测,得到所述世界坐标系下的各门框特征区域及各屋顶特征区域;
对所述世界坐标系下的各门框特征区域及各屋顶特征区域进行融合及修正,得到所述室内场景的门框及屋顶的位置信息。
第二方面,本申请实施例提供了一种室内顶部边界位置检测装置,所述装置包括:
图像获取模块,用于获取由双目相机采集的室内场景的多张深度图像和各深度图像下的相机位姿,其中,任一深度图像,该深度图像下的相机位姿是所述双目相机采集该深度图像时在世界坐标系下的位姿;
线特征检测模块,用于对各所述深度图像进行线特征检测,得到各所述深度图像中的线特征区域;
第一位置信息确定模块,用于根据各所述深度图像中的线特征区域及各所述深度图像下的相机位姿,确定所述室内场景的门框及屋顶的位置信息。
在一种可能的实施方式中,所述第一位置信息确定模块,包括:
线特征检测子模块,用于针对每一个深度图像,对该深度图像中的线特征区域进行位置关系的检测,得到该深度图像中的门框特征区域和/或屋顶特征区域;
第一坐标系转换模块,用于根据该深度图像下的相机位姿,将该深度图像中的门框特征区域和/或屋顶特征区域转换到所述世界坐标系下;
融合修正子模块,用于对所述世界坐标系下的各门框特征区域及屋顶特征区域进行融合及修正,得到所述室内场景的门框及屋顶的位置信息。
在一种可能的实施方式中,所述线特征检测子模块,包括:
位置关系检测单元,用于针对每一个深度图像,对该深度图像中的各线特征区域进行垂直相交及共面的位置关系检测,得到位置关系检测结果;
屋顶特征判定单元,用于基于所述位置关系检测结果,若存在三个线特征区域满足:两两线特征区域垂直相交于同一端点,则将所述三个线特征区域的组合判定为屋顶特征区域;
门框特征判定单元,用于基于所述位置关系检测结果,若存在两个线特征区域满足:所述两个线特征区域垂直相交于一个端点、且不存在其他线特征区域相交于该端点,则将所述两个线特征区域的组合判定为部分门框特征区域;
所述门框特征判定单元,还用于基于所述位置关系检测结果,若存在第一线特征区域、第二线特征区域、第三线特征区域满足:第一线特征区域与第二线特征区域垂直相交于第二线特征区域的一个端点、第二线特征区域与第三线特征区域垂直相交于第二线特征区域的另一个端点、且第一线特征区域与第三线特征区域平行,则将所述第一线特征区域、第二线特征区域、第三线特征区域的组合判定为门框特征区域。
在一种可能的实施方式中,所述位置关系检测单元,具体用于:
针对每一个深度图像,确定该深度图像下各线特征区域的方向向量;
在该深度图像中选取两个线特征区域,确定当前选取的两个线特征区域的第一向量,所述第一向量是第一端点与第二端点所构成的向量,所述第一端点为当前选取的两个线特征区域中的一个线特征区域的端点,所述第二端点为当前选取的两个线特征区域中的另一个线特征区域的端点;
计算当前选取的两个线特征区域的第一向量与方向向量的乘积,得到第一计算结果;若所述第一计算结果为零,则当前选取的两个线特征区域共面;
若所述第一计算结果为零,且当前选取的两个线特征区域的方向向量的乘积为-1,则当前选取的两个线特征区域垂直相交。
在一种可能的实施方式中,所述装置还包括:
中心点确定模块,用于分别确定各所述深度图像中所述门框特征区域和/或所述屋顶特征区域的中心点;
第一误检判定模块,用于针对每一个深度图像,计算该深度图像下所述门框特征区域的中心点与所述双目相机采集该深度图像时的位置的第一最小欧式距离;当所述第一最小欧式距离小于预设阈值时,将所述门框特征区域判定为误检;
和/或,
计算该深度图像下所述屋顶特征区域的中心点与所述双目相机采集该深度图像时的位置的第二最小欧式距离;当所述第二最小欧式距离小于预设阈值时,将所述屋顶特征区域判定为误检。
在一种可能的实施方式中,所述装置还包括:
第一运动轨迹确定模块,用于根据各所述深度图像下的相机位姿,确定所述双目相机在二维栅格地图中的运动轨迹;
投影模块,用于将各所述门框特征区域和所述屋顶特征区域投影到所述二维栅格地图中,得到所述门框特征区域和所述屋顶特征区域的投影线段;
第二误检判定模块,用于计算所述双目相机在所述二维栅格地图中的运动轨迹与所述门框特征区域的投影线段的中心点的第三最小欧式距离;当所述第三最小欧式距离小于预设阈值时,将所述门框特征区域判定为误检;
所述第二误检判定模块,还用于计算所述双目相机在所述二维栅格地图中的运动轨迹与所述屋顶特征区域的投影线段的中心点的第四最小欧式距离;当所述第四最小欧式距离小于预设阈值时,将所述屋顶特征区域判定为误检。
在一种可能的实施方式中,所述装置还包括:
第二运动轨迹确定模块,用于根据各所述深度图像下的相机位姿,确定所述双目相机的运动轨迹;
第三误检判定模块,用于在所述门框特征区域所在平面的第一平面法向量与所述双目相机的运动轨迹所在平面的第二平面法向量平行的情况下,则将所述门框特征区域判定为误检。
在一种可能的实施方式中,所述第一位置信息确定模块,包括:
第二坐标系转换模块,用于针对每一个深度图像,根据该深度图像下的相机位姿,将该深度图像中的各线特征区域转换到所述世界坐标系下;
位置关系检测模块,用于对所述世界坐标系下的各线特征区域进行位置关系的检测,得到所述世界坐标系下的各门框特征区域及各屋顶特征区域;
第二位置信息确定模块,用于对所述世界坐标系下的各门框特征区域及各屋顶特征区域进行融合及修正,得到所述室内场景的门框及屋顶的位置信息。
第三方面,本申请实施例提供了一种移动机器人,所述移动机器人包括:双目相机、存储器、处理器,所述双目相机用于采集室内场景的左、右目图像,并基于所述左、右目图像生成所述室内场景的深度图像;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现本申请中任一所述的室内顶部边界位置检测方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本申请中任一所述的室内顶部边界位置检测方法。
本申请实施例提供的室内顶部边界位置检测方法、装置、机器人及存储介质,获取由双目相机采集的室内场景的多张深度图像和各深度图像下的相机位姿,其中,任一深度图像,该深度图像下的相机位姿是双目相机采集该深度图像时在世界坐标系下的位姿;对各深度图像进行线特征检测,得到各深度图像中的线特征区域;根据各深度图像中的线特征区域及各深度图像下的相机位姿,确定室内场景的门框及屋顶的位置信息。可见,在本申请中,通过对各深度图像进行线特征检测,判断线特征的位置关系就可以快速的得到室内场景的门框和屋顶的位置信息,从而得到了室内顶部边界位置,相比于仅对行进路线上的障碍物进行检测以获取室内场景边界,室内顶部边界受地面地形的影响更小、且没有障碍物的遮挡更小,从而能够提高获取的室内场景的边界精度。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为申请实施例提供的室内顶部边界位置检测方法的一种示意图;
图2为本申请实施例提供的搭载双目相机的移动机器人的示例图;
图3a为本申请实施例提供的门框特征的一种示例图;
图3b为本申请实施例提供的屋顶特征的一种示例图;
图4为图1中步骤S3的第一种细化示意图;
图5为图4中步骤S31的一种细化示意图;
图6为图5中步骤S311的一种细化示意图;
图7为图1中步骤S3的第二种细化示意图;
图8为本申请实施例的室内顶部边界位置检测方法的一种流程图;
图9为申请实施例提供的室内顶部边界位置检测装置的一种示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本申请保护的范围。
首先,对本申请实施例中的专业术语进行解释:
SLAM:英文全称为Simultaneous Localization and Mapping,简称SLAM,即时定位与地图构建;
线特征:以线段整体作为约束的一种表示单元;
关键帧:在运动过程中某一时刻或某一场景变化中能够表征关键信息的图像帧;
相交:两条直线存在任意一个交点,则为相交;
平行:两条直接的无线延长线不存在任何一个交点,则为平行;
共面:在三维空间中的两根直线若有交点或平行,则两直线共面。
为了解决相关技术中室内场景边界位置检测精度低的问题,本申请实施例的第一方面,首先提供了一种室内顶部边界位置检测方法,可以应用于电子设备。在具体的应用中,该电子设备可以具有计算功能的移动机器人,也可以为对移动机器人进行在线控制的服务器等,均在本申请的保护范围内。
参见图1,本申请实施例提供了一种室内顶部边界位置检测方法,该方法包括:
步骤S1,获取由双目相机采集的室内场景的多张深度图像和各深度图像下的相机位姿,其中,任一深度图像,该深度图像下的相机位姿是双目相机采集该深度图像时在世界坐标系下的位姿;
其中,双目相机可以搭载在移动机器人上。示例性的,如图2所示,配有逻辑运算单元的地面移动机器人搭载了双目相机,该双目相机与水平面的夹角为α,该夹角α可以设置为大于或等于45°,双目相机的垂直视场角为β(即相机垂直视场范围),与双目相机的实际型号有关,在本申请实施例中对双目相机传感器与水平面的夹角α和垂直视场角β的大小不做具体限定。
其中,深度图像是双目相机实时获取的。具体的,双目相机的左目及右目分别采集左目图像和右目图像,对左、右目图像进行像素点匹配,并根据匹配结果计算每个像素的深度,从而得到深度图像;基于左目图像和右目图像得到深度图像的具体算法可以参见现有技术,本申请中不做具体限定。一个例子中,深度图像可以是左、右目图像完成同步后,所创建的关键帧的深度图像,不断的创建关键帧,从而得到多张深度图像。
其中,世界坐标系可以是自定义建立的室内场景的三维坐标系,一个例子中可以以移动机器人中心O建立移动机器人坐标系Or,并将双目相机初始化成功时刻的移动机器人的位置作为初始位置,将此时移动机器人的机器人坐标系原点O作为世界坐标系的原点。相机位姿变化可以包括旋转和平移;深度图像下的相机位姿是指采集该深度图像时,双目相机在世界坐标系中的位置,每个深度图像下的相机位姿可以是根据现有技术获得,例如,可以根据深度图像通过SLAM算法计算得到,或者通过移动机器人上搭载的定位模块得到,本申请中不做具体限定。
步骤S2,对各深度图像进行线特征检测,得到各深度图像中的线特征区域;
线特征区域可以是线特征所在区域的点云的集合,对各深度图像进行线特征检测,可以是利用计算机视觉技术、点云聚类算法或线特征抽取器等来分别检测每一深度图像中的线特征。一个例子中,可以利用计算机视觉技术在双目相机采集的二维左、右目图像中识别出线特征,然后通过坐标转换的方式得到深度图像中的线特征区域。一个例子中,可以通过点云聚类的方式,对深度图像中的点云进行聚类,然后基于聚类结果来确定满足线特征的点云聚类,从而得到线特征区域。一个例子中,还可以通过线特征抽取器来检测深度图像中的线特征。示例性的,如图3a和3b所示,线特征区域可以是图3a和3b中的任一所示出的线段区域。
步骤S3,根据各深度图像中的线特征区域及各深度图像下的相机位姿,确定室内场景的门框及屋顶的位置信息。
利用各深度图像下的相机位姿,可以实现深度图像的图像坐标系(或相机坐标系)与世界坐标系之间的坐标转换;根据各深度图像中的线特征区域的位置关系,可以实现对门框及屋顶特征区域的识别。结合各深度图像中的线特征区域及各深度图像下的相机位姿,可以最终确定室内场景的门框及屋顶的位置信息。
一个例子中,可以基于各深度图像下的相机位姿,将各深度图像中的线特征区域全部转换到世界坐标系下,然后根据各线特征区域在世界坐标系下的几何位置关系,确定出门框特征区域及屋顶特征区域,从而确定室内场景的门框的位置和屋顶的位置。
一个例子中,可以分别根据每一深度图像中线特征区域的几何位置关系,确定出各深度图像中门框特征区域及屋顶特征区域,然后基于各深度图像下的相机位姿,将各深度图像中门框特征区域及屋顶特征区域转换到世界坐标系下,确定出世界坐标系下门框特征区域及屋顶特征区域,从而确定室内场景的门框的位置和屋顶的位置。
可见,通过本申请实施例的方法,通过对各深度图像进行线特征检测,判断线特征的位置关系就可以快速的得到室内场景的门框和屋顶的位置信息,从而得到了室内顶部边界位置,相比于仅对行进路线上的障碍物进行检测以获取室内场景边界,室内顶部边界受地面地形的影响更小、且没有障碍物的遮挡更小,从而能够提高获取的室内场景的边界精度。此外只需对各深度图像进行线特征检测,判断线特征的位置关系就可以快速的得到室内场景的门框和屋顶,从而简化了室内场景中门框和屋顶的检测步骤,降低了检测成本。
图4为图1中步骤S3的第一种细化示意图,如图4所示,在一种可能的实现方式中,上述步骤S3具体可以包括以下步骤:
步骤S31,针对每一个深度图像,对该深度图像中的线特征区域进行位置关系的检测,得到该深度图像中的门框特征区域和/或屋顶特征区域。
线特征区域的位置关系可以是线特征之间垂直、相交、平行、共面等,线特征位置关系可以是通过计算机视觉技术对线特征区域进行检测时检测得到的,也可以是基于各线特征区域所对应的线段的三维坐标计算得到。
例如,lj1=(xj1,yj1,zj1),代表线特征区域Lj的一个端点在三维空间下的坐标,lm1=(xm1,ym1,zm1)代表线特征区域Lm的一个端点在三维空间下的坐标,线特征区域Lj和线特征区域Lm的方向向量分别是sj=(qj,nj,pj)和sm=(qm,nm,pm),则可以通过sj,sm之间的位置关系,来判断线特征区域Lj和线特征区域Lm的位置关系。从而可以得到满足门框特征区域的位置关系的线特征区域组合,以及得到满足屋顶特征区域的位置关系的线特征区域组合。
步骤S32,根据该深度图像下的相机位姿,将该深度图像中的门框特征区域和/或屋顶特征区域转换到世界坐标系下。
一般情况下,双目相机是搭载在移动机器人上的,移动机器人在室内场景中会进行移动,各深度图像是移动机器(双目相机)在不同的位置下采集的,因此针对于每一个深度图像,采集该深度图像时设备(双目相机或移动机器人)的位姿不同。可以认为双目相机与移动机器人之间的相对位姿不会发生变化;其中,机器人坐标系与相机坐标系的转换关系可以为:
Or(w)=Trc*Oc
其中,Or(w)表示机器人坐标系,Oc表示相机坐标系,Trc表示双目相机坐标系与机器人坐标系下的转换参数,一个例子中,该转换参数可以通过选择矩阵及平移向量表示。具体可以通过预先标定的方式得到,此处转换参数的标定过程为现有技术,本申请中不作具体限定。
一般情况下,深度图像的图像坐标系即为相机坐标系。而在其他一些实施例中,深度图像的图像坐标系与相机坐标系为不同的坐标系,此种情况下,需要获取图像坐标系与相机坐标系的转换关系,示例性的,针对第i个关键帧对应的深度图像,即第i个深度图像,第i个深度图像的图像坐标系与相机坐标系的转换关系可以表示为i=0,1,2,…n,n深度图像的总数量;第i个深度图像中的第j个点可以为Pij=(xij,yij,zij),i=0,1,2,…n,j=1,2,3,…,m,m为第i个深度图像中点的个数。
门框和屋顶特征在第i个深度图像中的点云集合分别表示为和/>将其转换到机器人坐标系下:
Trm为第i个深度图像中的门框在机器人坐标系下的点云集合,Trd为第i个深度图像中的屋顶在机器人坐标系下的点云集合。
根据Trm和Trd以及机器人坐标系和世界坐标系的转换关系可以得到第i个深度图像下的门框和/或屋顶在世界坐标系下的点云集合。
步骤S33,对世界坐标系下的各门框特征区域及屋顶特征区域进行融合及修正,得到室内场景的门框及屋顶的位置信息。
其中,对世界坐标系下的各门框特征区域及屋顶特征区域进行融合及修正,可以是针对同一个屋顶或门框,去除偏差较大的线特征,然后通过求均值的方式得到最终的门框或屋顶的位置。
采用本申请实施例,在检测得到各深度图像中的线特征后,通过线特征的位置关系,就可以确定各深度图像中的门框特征和屋顶特征,进而确定室内场景的门框和屋顶的位置信息,加快了门框和屋顶的检测效率。
图5为图4中步骤S31的一种细化示意图,如图5所示,在一种可能的实现方式中,上述步骤S31具体可以包括以下步骤:
步骤S311,针对每一个深度图像,对该深度图像中的各线特征区域进行垂直相交及共面的位置关系检测,得到位置关系检测结果。
其中,位置关系的检测可以包括线特征区域之间垂直、相交、平行以及共面检测中的一种或多种,相应的,位置关系检测结果可以为线特征区域之间垂直、相交、平行以及共面中的一种或多种。具体的位置关系的检测可以是通过计算机视觉技术对线特征区域进行检测时检测得到的,也可以是基于各线特征区域所对应的线段的三维坐标计算得到。
具体的,可以通过检测线特征之间的方向向量之间的数量关系,判断线特征之间的位置关系。例如,lj1=(xj1,yj1,zj1),代表线特征区域Lj的一个端点在三维空间下的坐标,lm1=(xm1,ym1,zm1)代表线特征区域Lm的一个端点在三维空间下的坐标,线特征区域Lj和线特征区域Lm的方向向量分别是sj=(qj,nj,pj)和sm=(qm,nm,pm),则可以通过sj,sm之间的位置关系,来判断线特征区域Lj和线特征区域Lm的位置关系是平行、重合、共面、异面、相交或者垂直。
步骤S312,基于位置关系检测结果,若存在三个线特征区域满足:两两线特征区域垂直相交于同一端点,则将三个线特征区域的组合判定为屋顶特征区域。
本申请实施例中,若三个线特征形成的线段两两垂直相交,其交点为该三个线特征中某一线段的端点,且该三个线段不共面,则将该三个线段构成的类坐标系直角判定为屋顶特征。如图3b所示,构成屋顶特征的三个线段两两垂直相交于同一点。
步骤S313,基于位置关系检测结果,若存在两个线特征区域满足:两个线特征区域垂直相交于一个端点、且不存在其他线特征区域相交于该端点,则将两个线特征区域的组合判定为部分门框特征区域。
一般情况下,门框特征通常是由两个直角特征构成的,但双目相机在采集深度图像时在某些角度下采集的深度图像中只能采集到门框的一部分,而不能采集到完整的门框,在该情况下,有且仅有两个线特征形成的线段垂直相交于一点时,该两个线特征构成的直角特征才可以被判定为部分门框。例如,两个线特征形成的线段1和线段2相交,且线段2的端点为线段1和线段2的交点,则将线段1和线段2组成的直角特征当做门框的一部分。
步骤S314,对世界坐标系下的各门框特征区域及屋顶特征区域进行融合及修正,得到室内场景的门框及屋顶的位置信息。
本申请实施例中,可以基于组成两个部分门框特征的线特征之间的位置关系,判断组成两个部分门框特征的线特征是否可以被判定为门框特征区域。例如,某一深度图像中存在三个线特征形成的线段1、线段2和线段3,若线段1和线段2垂直相交于线段2的一个端点,线段3和线段2垂直相交于线段2的另一个端点,线段1和线段3平行且线段1、线段2和线段3共面,则认为线段1、线段2和线段3构成门框特征区域。
采用本申请实施例,通过判断线特征之间的位置关系,来确定门框特征和屋顶特征,将点线面的关系与视觉特征相结合,降低了门框和屋顶检测的复杂度。
图6为图5中步骤S311的一种细化示意图,如图6所示,在一种可能的实现方式中,上述步骤S311具体可以包括以下步骤:
步骤S3111,针对每一个深度图像,确定该深度图像下各线特征区域的方向向量。
在一个例子中,确定各线特征区域的方向向量,可以根据各深度图像下从左到右、从上到下的方向确定各线特征的方向向量。例如,在某一深度图像下,线特征1对应的线段1,其左端点为A,右端点为B,则根据的方向确定该线特征1的方向向量。可以根据线特征对应线段上的任意两点的坐标来计算得到线特征的方向向量,例如,lj1=(xj1,yj1,zj1)为线特征Lj的左端点在三维空间下的坐标,lj2=(xj2,yj2,zj2)为线特征Lj的右端点在三维空间下的坐标,lm1=(xm1,ym1,zm1)为线特征Lm的左端点在三维空间下的坐标,lm2=(xm2,ym2,zm2)为线特征Lm的右端点在三维空间下的坐标,则可以根据lj1和lj2计算线特征Lj的方向向量表示为:sj=(qj,nj,pj),根据lm1和lm2计算线特征Lm的方向向量表示为:sm=(qm,nm,pm),则线特征Lj和线特征Lm的对应的线段可以用以下方程来表示:
其中,线特征Lj和线特征Lm的方向向量分别是sj=(qj,nj,pj)和sm=(qm,nm,pm)。
步骤S3112,在该深度图像中选取两个线特征区域,确定当前选取的两个线特征区域的第一向量,第一向量是第一端点与第二端点所构成的向量,第一端点为当前选取的两个线特征区域中的一个线特征区域的端点,第二端点为当前选取的两个线特征区域中的另一个线特征区域的端点。
在一个例子中,确定当前选取的两个线特征区域的第一向量,可以先确定所选取的两个线特征区域的端点坐标,将当前选取的两个线特征的端点均为线段起点或均为线段终点,且当前选取的两个线特征的端点不是同一点时,将所选取的两个不同的端点坐标构成的向量确定为当前选取的两个线特征的第一向量。例如,在某一深度图像下,线特征1对应的线段AB,线特征2对应的线段CD,A和C分别是两个线段的起点,B和D分别是两个线段的终点,若A和C是同一点,则将B和D构成的向量作为线特征1和线特征2的第一向量。
步骤S3113,计算当前选取的两个线特征区域的第一向量与方向向量的乘积,得到第一计算结果;若第一计算结果为零,则当前选取的两个线特征区域共面。
本申请实施例中,可以根据线特征区域对应的方向向量与线特征之间的第一向量之间的数量关系,判定线特征区域的位置关系。具体的,可以在两个线特征区域的第一向量与方向向量之间的乘积为零时,判定两个线特征区域共面。例如,在某一深度图像中,lj1=(xj1,yj1,zj1)为线特征Lj的一个端点在三维空间下的坐标,lm1=(xm1,ym1,zm1)为线特征Lm的一个端点在三维空间下的坐标,线特征Lj和线特征Lm的方向向量分别是sj=(qj,nj,pj)和sm=(qm,nm,pm),若则说明线特征Lj和线特征Lm共面,若不为0,则说明线特征Lj和线特征Lm异面。
步骤S3114,若第一计算结果为零,且当前选取的两个线特征区域的方向向量的乘积为-1,则当前选取的两个线特征区域垂直相交。
一个例子中,可以在两个线特征区域的第一向量与方向向量之间的乘积为零,且两个线特征区域的方向向量的乘积为-1时,判定两个线特征区域垂直相交。例如,在某一深度图像中,lj1=(xj1,yj1,zj1)为线特征Lj的一个端点在三维空间下的坐标,lm1=(xm1,ym1,zm1)为线特征Lm的一个端点在三维空间下的坐标,线特征Lj和线特征Lm的方向向量分别是sj=(qj,nj,pj)和sm=(qm,nm,pm),若且sj·sm=-1,则说明线特征Lj和线特征Lm垂直相交。
此外,还可以根据方向向量与第一向量的平行位置关系,判断线特征之间的位置关系,例如,若Sj与Sm平行且sj,sm不共线,则线特征Lj和线特征Lm不平行;
若sj,sm不共线,则线特征Lj和线特征Lm重合;
若且/>sj,sm不平行,则线特征Lj和线特征Lm相交。
采用本申请实施例,根据线特征的方向向量与各不同的线特征的端点构成的向量的数量关系,就可以判断各线特征之间的位置关系,进而判断出门框特征和屋顶特征,检测方法简单,进一步提高了检测效率。
在一种可能的实现方式中,在上述步骤S31之后,还可以包括以下步骤:
步骤1,分别确定各深度图像中门框特征区域和/或屋顶特征区域的中心点。
其中,门框特征或屋顶特征的中心点,可以是几何意义上门框特征或屋顶特征的中心,也可以是门框特征或屋顶特征点云的聚类中心等,均在本申请的保护范围内。
步骤2,针对每一个深度图像,计算该深度图像下门框特征区域的中心点与双目相机采集该深度图像时的位置的第一最小欧式距离;当第一最小欧式距离小于预设阈值时,将门框特征区域判定为误检;和/或,
计算该深度图像下屋顶特征区域的中心点与双目相机采集该深度图像时的位置的第二最小欧式距离;当第二最小欧式距离小于预设阈值时,将屋顶特征区域判定为误检。
本申请实施例中,门框特征或屋顶特征的中心点与双目相机采集该深度图像时的位置的最小欧式距离,可以是门框特征或屋顶特征的中心点与搭载双目相机的移动机器人的第一最小欧式距离;预设阈值可以根据实际情况设置的经验值,预设阈值设置的原则满足:当门框/屋顶与移动机器人的欧式距离小于预设阈值时,则认为是误检;例如,预设阈值可以是机器人的半径。一个例子中,在该深度图像中的机器人坐标系下门框或屋顶的坐标点集合为Pij,该深度图像下机器人的坐标点为Q,机器人半径为10cm,分别计算机器人的坐标点Q与坐标点集合Pij中各坐标点的欧式距离,当最小欧式距离小于10cm时,则认为检测到的该门框特征或屋顶特征是误检。
采用本申请实施例,通过将每一个深度图像下门框特征的中心点与双目相机的位置最小欧式距离与阈值进行比较,以及将屋顶特征的中心点与双目相机的位置的最小欧式距离进行比较,并根据比较结果来判定门框特征和屋顶特征是否发生误检,提高了门框和屋顶的检测准确度。
在一种可能的实现方式中,在上述步骤S32之后,还可以包括以下步骤:
步骤11,根据各深度图像下的相机位姿,确定双目相机在二维栅格地图中的运动轨迹;
其中,本申请实施例中二维栅格地图可以通过双目相机采集的深度图像绘制得到;一个例子中,可以通过深度图像建立室内场景的三维点云,并将三维点云投影在二维地图上形成二维离散障碍图,再对二维离散障碍图进行扫描得到二维栅格地图。利用深度图像建立室内场景的三维点云或二维栅格地图的具体方式可以参见相关的SLAM算法,本申请中不做具体限定。
其中,双目相机的运动轨迹,可以是双目相机在世界坐标系下的运动轨迹,可以根据每张深度图像下双目相机的位姿,确定双目相机在世界坐标系下的运动轨迹。
步骤12,将各门框特征区域和屋顶特征区域投影到二维栅格地图中,得到门框特征区域和屋顶特征区域的投影线段;
在本申请实施例中,可以将表示门框特征或屋顶特征的线段投影到二维栅格地图中。
步骤13,计算双目相机在二维栅格地图中的运动轨迹与门框特征区域的投影线段的中心点的第三最小欧式距离;当第三最小欧式距离小于预设阈值时,将门框特征区域判定为误检;
步骤14,计算双目相机在二维栅格地图中的运动轨迹与屋顶特征区域的投影线段的中心点的第四最小欧式距离;当第四最小欧式距离小于预设阈值时,将屋顶特征区域判定为误检。
本申请实施例中,门框特征或屋顶特征的中心点与双目相机在二维栅格地图中的运动轨迹的最小欧式距离,可以是该深度图像中的门框特征或屋顶特征在世界坐标系下的位置与双目相机在世界坐标系下的运动轨迹的最小欧式距离。预设阈值的设置与上述步骤2中一致,此处不再赘述。
采用本申请实施例,在得到门框特征和屋顶特征后,通过将门框特征或屋顶特征与双目相机在二维栅格地图中的运动轨迹的最小欧氏距离进行对比,并根据比较结果来进一步判定门框特征和屋顶特征是否发生误检,提高了室内场景的门框和屋顶的检测的准确度。
在一种可能的实现方式中,在上述步骤S32之后,还可以包括以下步骤:
步骤S21,根据各深度图像下的相机位姿,确定双目相机的运动轨迹;
步骤S22,在门框特征区域所在平面的第一平面法向量与双目相机的运动轨迹所在平面的第二平面法向量平行的情况下,则将门框特征区域判定为误检。
一个例子中,可以在得到双目相机的运动轨迹后,获取运动轨迹所在平面的法向量。门框特征所在平面的法向量可以根据构成门框特征的线段计算得到
采用本申请实施例,根据门框所在平面的法向量和双目相机的运动轨迹所在平面的法向量的位置关系,判定门框特征是否发生误检,进一步提高了门框的检测准确度。
图7为图1中步骤S3的第二种细化示意图,如图7所示,在一种可能的实现方式中,上述步骤S3具体可以包括以下步骤:
步骤S301,针对每一个深度图像,根据该深度图像下的相机位姿,将该深度图像中的各线特征区域转换到世界坐标系下;
其中,在检测到深度图像中的线特征后,可以将各深度图像中的线特征由相机坐标系转换到世界坐标系中,相机坐标系和机器人坐标系的转换关系与步骤S32中的转换关系相同,此处不再赘述。
步骤S302,对世界坐标系下的各线特征区域进行位置关系的检测,得到世界坐标系下的各门框特征区域及各屋顶特征区域;
其中,对世界坐标系下的各线特征区域进行位置关系的检测,可以是对世界坐标系中的所有线特征的位置关系进行检测,也可以是在世界坐标系中对当前深度图像中的线特征的位置关系进行检测。
步骤S303,对世界坐标系下的各门框特征区域及各屋顶特征区域进行融合及修正,得到室内场景的门框及屋顶的位置信息。
采用本申请实施例,在检测得到各深度图像中的线特征后,通过线特征的位置关系,就可以确定各深度图像中的门框特征和屋顶特征,进而确定室内场景的门框和屋顶的位置信息,加快了门框和屋顶的检测效率。
为了说明本申请实施例的方法,以下结合具体实施例进行说明,参见图8,图8为室内顶部边界位置检测方法的一种流程图,先判断双目相机左右目图像是否同步(如若不同步,需要在时序上调整至同步),在同步后获取双目相机左右目图像进行匹配以获取相机的初始化位姿,然后不断地创建关键帧数据(关键帧数据包括深度图像,还可以包括左目图像、右目图像、左右目合成图像中的至少一个),一方面对关键帧图像进行线特征检测,另一方面,基于每一关键帧数据局部优化估算相机位姿和地图点位置,然后根据线特征端点及投影估算线特征的位置,并根据线特征之间的相对位置关系检测门框和屋顶,最后根据相机位姿与线特征之间的几何关系对门框和屋顶特征进行过滤筛选,确定合适的门框和屋顶。
对应于上述方法实施例,本申请实施例还提供了一种室内顶部边界位置检测装置,如图9所示,该装置可以包括如下模块:
图像获取模块901,用于获取由双目相机采集的室内场景的多张深度图像和各深度图像下的相机位姿,其中,任一深度图像,该深度图像下的相机位姿是所述双目相机采集该深度图像时在世界坐标系下的位姿;
线特征检测模块902,用于对各所述深度图像进行线特征检测,得到各所述深度图像中的线特征区域;
第一位置信息确定模块903,用于根据各所述深度图像中的线特征区域及各所述深度图像下的相机位姿,确定所述室内场景的门框及屋顶的位置信息。
可见,通过本申请实施例的方法,只需对各深度图像进行线特征检测,判断线特征的位置关系就可以快速的得到室内场景的门框和屋顶,从而简化了室内场景中门框和屋顶的检测步骤,降低了检测成本。
可选的,一种可能的实现方式中,所述第一位置信息确定模块903,包括:
线特征检测子模块,用于针对每一个深度图像,对该深度图像中的线特征区域进行位置关系的检测,得到该深度图像中的门框特征区域和/或屋顶特征区域;
第一坐标系转换模块,用于根据该深度图像下的相机位姿,将该深度图像中的门框特征区域和/或屋顶特征区域转换到所述世界坐标系下;
融合修正子模块,用于对所述世界坐标系下的各门框特征区域及屋顶特征区域进行融合及修正,得到所述室内场景的门框及屋顶的位置信息。
可选的,一种可能的实现方式中,所述线特征检测子模块,包括:
位置关系检测单元,用于针对每一个深度图像,对该深度图像中的各线特征区域进行垂直相交及共面的位置关系检测,得到位置关系检测结果;
屋顶特征判定单元,用于基于所述位置关系检测结果,若存在三个线特征区域满足:两两线特征区域垂直相交于同一端点,则将所述三个线特征区域的组合判定为屋顶特征区域;
门框特征判定单元,用于基于所述位置关系检测结果,若存在两个线特征区域满足:所述两个线特征区域垂直相交于一个端点、且不存在其他线特征区域相交于该端点,则将所述两个线特征区域的组合判定为部分门框特征区域;
所述门框特征判定单元,还用于基于所述位置关系检测结果,若存在第一线特征区域、第二线特征区域、第三线特征区域满足:第一线特征区域与第二线特征区域垂直相交于第二线特征区域的一个端点、第二线特征区域与第三线特征区域垂直相交于第二线特征区域的另一个端点、且第一线特征区域与第三线特征区域平行,则将所述第一线特征区域、第二线特征区域、第三线特征区域的组合判定为门框特征区域。
可选的,一种可能的实现方式中,所述位置关系检测单元,具体用于:
针对每一个深度图像,确定该深度图像下各线特征区域的方向向量;
在该深度图像中选取两个线特征区域,确定当前选取的两个线特征区域的第一向量,所述第一向量是第一端点与第二端点所构成的向量,所述第一端点为当前选取的两个线特征区域中的一个线特征区域的端点,所述第二端点为当前选取的两个线特征区域中的另一个线特征区域的端点;
计算当前选取的两个线特征区域的第一向量与方向向量的乘积,得到第一计算结果;若所述第一计算结果为零,则当前选取的两个线特征区域共面;
若所述第一计算结果为零,且当前选取的两个线特征区域的方向向量的乘积为-1,则当前选取的两个线特征区域垂直相交。
可选的,一种可能的实现方式中,所述装置还包括:
中心点确定模块,用于分别确定各所述深度图像中所述门框特征区域和/或所述屋顶特征区域的中心点;
第一误检判定模块,用于针对每一个深度图像,计算该深度图像下所述门框特征区域的中心点与所述双目相机采集该深度图像时的位置的第一最小欧式距离;当所述第一最小欧式距离小于预设阈值时,将所述门框特征区域判定为误检;
和/或,
计算该深度图像下所述屋顶特征区域的中心点与所述双目相机采集该深度图像时的位置的第二最小欧式距离;当所述第二最小欧式距离小于预设阈值时,将所述屋顶特征区域判定为误检。
可选的,一种可能的实现方式中,所述装置还包括:
第一运动轨迹确定模块,用于根据各所述深度图像下的相机位姿,确定所述双目相机在二维栅格地图中的运动轨迹;
投影模块,用于将各所述门框特征区域和所述屋顶特征区域投影到所述二维栅格地图中,得到所述门框特征区域和所述屋顶特征区域的投影线段;
第二误检判定模块,用于计算所述双目相机在所述二维栅格地图中的运动轨迹与所述门框特征区域的投影线段的中心点的第三最小欧式距离;当所述第三最小欧式距离小于预设阈值时,将所述门框特征区域判定为误检;
所述第二误检判定模块,还用于计算所述双目相机在所述二维栅格地图中的运动轨迹与所述屋顶特征区域的投影线段的中心点的第四最小欧式距离;当所述第四最小欧式距离小于预设阈值时,将所述屋顶特征区域判定为误检。
可选的,一种可能的实现方式中,所述装置还包括:
第二运动轨迹确定模块,用于根据各所述深度图像下的相机位姿,确定所述双目相机的运动轨迹;
第三误检判定模块,用于在所述门框特征区域所在平面的第一平面法向量与所述双目相机的运动轨迹所在平面的第二平面法向量平行的情况下,则将所述门框特征区域判定为误检。
可选的,一种可能的实现方式中,所述第一位置信息确定模块903包括:
第二坐标系转换模块,用于针对每一个深度图像,根据该深度图像下的相机位姿,将该深度图像中的各线特征区域转换到所述世界坐标系下;
位置关系检测模块,用于对所述世界坐标系下的各线特征区域进行位置关系的检测,得到所述世界坐标系下的各门框特征区域及各屋顶特征区域;
第二位置信息确定模块,用于对所述世界坐标系下的各门框特征区域及各屋顶特征区域进行融合及修正,得到所述室内场景的门框及屋顶的位置信息。
在本发明提供的又一实施例中,还提供了一种机器人,该机器人搭载双目相机,用于在运行时实现上述实施例中任一所述的室内顶部边界位置检测方法。
本申请实施例还提供了一种移动机器人,包括:
双目相机、存储器、处理器,所述双目相机用于采集室内场景的左、右目图像,并基于所述左、右目图像生成所述室内场景的深度图像;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现本申请中任一所述的室内顶部边界位置检测方法。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一室内顶部边界位置检测方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一室内顶部边界位置检测方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、移动机器人及存储介质的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (11)
1.一种室内顶部边界位置检测方法,其特征在于,包括:
获取由双目相机采集的室内场景的多张深度图像和各深度图像下的相机位姿,其中,任一深度图像,该深度图像下的相机位姿是所述双目相机采集该深度图像时在世界坐标系下的位姿;
对各所述深度图像进行线特征检测,得到各所述深度图像中的线特征区域;
根据各所述深度图像中的线特征区域及各所述深度图像下的相机位姿,确定所述室内场景的门框及屋顶的位置信息。
2.根据权利要求1所述的方法,其特征在于,所述根据各所述深度图像中的线特征区域及各所述深度图像下的相机位姿,确定所述室内场景的门框及屋顶的位置信息,包括:
针对每一个深度图像,对该深度图像中的线特征区域进行位置关系的检测,得到该深度图像中的门框特征区域和/或屋顶特征区域;
根据该深度图像下的相机位姿,将该深度图像中的门框特征区域和/或屋顶特征区域转换到所述世界坐标系下;
对所述世界坐标系下的各门框特征区域及屋顶特征区域进行融合及修正,得到所述室内场景的门框及屋顶的位置信息。
3.根据权利要求2所述的方法,其特征在于,所述针对每一个深度图像,对该深度图像中的各线特征区域进行位置关系的检测,得到该深度图像中的门框特征区域和/或屋顶特征区域,包括:
针对每一个深度图像,对该深度图像中的各线特征区域进行垂直相交及共面的位置关系检测,得到位置关系检测结果;
基于所述位置关系检测结果,若存在三个线特征区域满足:两两线特征区域垂直相交于同一端点,则将所述三个线特征区域的组合判定为屋顶特征区域;
基于所述位置关系检测结果,若存在两个线特征区域满足:所述两个线特征区域垂直相交于一个端点、且不存在其他线特征区域相交于该端点,则将所述两个线特征区域的组合判定为部分门框特征区域;
基于所述位置关系检测结果,若存在第一线特征区域、第二线特征区域、第三线特征区域满足:第一线特征区域与第二线特征区域垂直相交于第二线特征区域的一个端点、第二线特征区域与第三线特征区域垂直相交于第二线特征区域的另一个端点、且第一线特征区域与第三线特征区域平行,则将所述第一线特征区域、第二线特征区域、第三线特征区域的组合判定为门框特征区域。
4.根据权利要求3所述的方法,其特征在于,所述针对每一个深度图像,对该深度图像中的各线特征区域进行垂直相交及共面的位置关系检测,得到位置关系检测结果,包括:
针对每一个深度图像,确定该深度图像下各线特征区域的方向向量;
在该深度图像中选取两个线特征区域,确定当前选取的两个线特征区域的第一向量,所述第一向量是第一端点与第二端点所构成的向量,所述第一端点为当前选取的两个线特征区域中的一个线特征区域的端点,所述第二端点为当前选取的两个线特征区域中的另一个线特征区域的端点;
计算当前选取的两个线特征区域的第一向量与方向向量的乘积,得到第一计算结果;若所述第一计算结果为零,则当前选取的两个线特征区域共面;
若所述第一计算结果为零,且当前选取的两个线特征区域的方向向量的乘积为-1,则当前选取的两个线特征区域垂直相交。
5.根据权利要求2所述的方法,其特征在于,在所述针对每一个深度图像,对该深度图像中的线特征区域进行位置关系的检测,得到该深度图像中的门框特征区域和/或屋顶特征区域之后,所述方法还包括:
分别确定各所述深度图像中所述门框特征区域和/或所述屋顶特征区域的中心点;
针对每一个深度图像,计算该深度图像下所述门框特征区域的中心点与所述双目相机采集该深度图像时的位置的第一最小欧式距离;当所述第一最小欧式距离小于预设阈值时,将所述门框特征区域判定为误检;和/或,
计算该深度图像下所述屋顶特征区域的中心点与所述双目相机采集该深度图像时的位置的第二最小欧式距离;当所述第二最小欧式距离小于预设阈值时,将所述屋顶特征区域判定为误检。
6.根据权利要求2所述的方法,其特征在于,在所述根据该深度图像下的相机位姿,将该深度图像中的门框特征区域和/或屋顶特征区域转换到所述世界坐标系下之后,所述方法还包括:
根据各所述深度图像下的相机位姿,确定所述双目相机在二维栅格地图中的运动轨迹;
将各所述门框特征区域和所述屋顶特征区域投影到所述二维栅格地图中,得到所述门框特征区域和所述屋顶特征区域的投影线段;
计算所述双目相机在所述二维栅格地图中的运动轨迹与所述门框特征区域的投影线段的中心点的第三最小欧式距离;当所述第三最小欧式距离小于预设阈值时,将所述门框特征区域判定为误检;
计算所述双目相机在所述二维栅格地图中的运动轨迹与所述屋顶特征区域的投影线段的中心点的第四最小欧式距离;当所述第四最小欧式距离小于预设阈值时,将所述屋顶特征区域判定为误检。
7.根据权利要求2所述的方法,其特征在于,在所述根据该深度图像下的相机位姿,将该深度图像中的门框特征区域和/或屋顶特征区域转换到所述世界坐标系下之后,所述方法还包括:
根据各所述深度图像下的相机位姿,确定所述双目相机的运动轨迹;
在所述门框特征区域所在平面的第一平面法向量与所述双目相机的运动轨迹所在平面的第二平面法向量平行的情况下,则将所述门框特征区域判定为误检。
8.根据权利要求1所述的方法,其特征在于,所述根据各所述深度图像中的线特征区域及各所述深度图像下的相机位姿,确定所述室内场景的门框及屋顶的位置信息,包括:
针对每一个深度图像,根据该深度图像下的相机位姿,将该深度图像中的各线特征区域转换到所述世界坐标系下;
对所述世界坐标系下的各线特征区域进行位置关系的检测,得到所述世界坐标系下的各门框特征区域及各屋顶特征区域;
对所述世界坐标系下的各门框特征区域及各屋顶特征区域进行融合及修正,得到所述室内场景的门框及屋顶的位置信息。
9.一种室内顶部边界位置检测装置,其特征在于,所述装置包括:
图像获取模块,用于获取由双目相机采集的室内场景的多张深度图像和各深度图像下的相机位姿,其中,任一深度图像,该深度图像下的相机位姿是所述双目相机采集该深度图像时在世界坐标系下的位姿;
线特征检测模块,用于对各所述深度图像进行线特征检测,得到各所述深度图像中的线特征区域;
第一位置信息确定模块,用于根据各所述深度图像中的线特征区域及各所述深度图像下的相机位姿,确定所述室内场景的门框及屋顶的位置信息。
10.一种移动机器人,其特征在于,所述移动机器人包括:双目相机、存储器、处理器,所述双目相机用于采集室内场景的左、右目图像,并基于所述左、右目图像生成所述室内场景的深度图像;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求1-8任一所述的室内顶部边界位置检测方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一所述的室内顶部边界位置检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310452638.8A CN116597001A (zh) | 2023-04-21 | 2023-04-21 | 室内顶部边界位置检测方法、装置、机器人及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310452638.8A CN116597001A (zh) | 2023-04-21 | 2023-04-21 | 室内顶部边界位置检测方法、装置、机器人及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116597001A true CN116597001A (zh) | 2023-08-15 |
Family
ID=87607030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310452638.8A Pending CN116597001A (zh) | 2023-04-21 | 2023-04-21 | 室内顶部边界位置检测方法、装置、机器人及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116597001A (zh) |
-
2023
- 2023-04-21 CN CN202310452638.8A patent/CN116597001A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhuang et al. | 3-D-laser-based scene measurement and place recognition for mobile robots in dynamic indoor environments | |
Wu et al. | Recovery of the 3-d location and motion of a rigid object through camera image (an Extended Kalman Filter approach) | |
US20210274358A1 (en) | Method, apparatus and computer program for performing three dimensional radio model construction | |
Tang et al. | Camera self-calibration from tracking of moving persons | |
CN112784873A (zh) | 一种语义地图的构建方法及设备 | |
Cvišić et al. | Recalibrating the KITTI dataset camera setup for improved odometry accuracy | |
CN114549738A (zh) | 无人车室内实时稠密点云重建方法、系统、设备及介质 | |
Fiala et al. | Robot navigation using panoramic tracking | |
Sandy et al. | Object-based visual-inertial tracking for additive fabrication | |
TW202238449A (zh) | 室內定位系統及室內定位方法 | |
Jia et al. | Mobile robot simultaneous localization and mapping based on a monocular camera | |
JP6922348B2 (ja) | 情報処理装置、方法、及びプログラム | |
Wen et al. | CAE-RLSM: Consistent and efficient redundant line segment merging for online feature map building | |
Haddeler et al. | Evaluation of 3D LiDAR sensor setup for heterogeneous robot team | |
Sheng et al. | Mobile robot localization and map building based on laser ranging and PTAM | |
Kawanishi et al. | Parallel line-based structure from motion by using omnidirectional camera in textureless scene | |
Luong et al. | Consistent ICP for the registration of sparse and inhomogeneous point clouds | |
Liu et al. | Conditional simultaneous localization and mapping: A robust visual SLAM system | |
Lee et al. | Fast and accurate self-calibration using vanishing point detection in manmade environments | |
CN112381873A (zh) | 一种数据标注方法及装置 | |
Pöschmann et al. | Synthesized semantic views for mobile robot localization | |
CN116597001A (zh) | 室内顶部边界位置检测方法、装置、机器人及存储介质 | |
Kotake et al. | A fast initialization method for edge-based registration using an inclination constraint | |
CN113902828A (zh) | 一种以墙角为关键特征的室内二维语义地图的构建方法 | |
Lee et al. | Real-time camera tracking using a particle filter and multiple feature trackers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |