CN110490908B - 一种动态场景下小物体的位姿追踪方法及装置 - Google Patents
一种动态场景下小物体的位姿追踪方法及装置 Download PDFInfo
- Publication number
- CN110490908B CN110490908B CN201910789666.2A CN201910789666A CN110490908B CN 110490908 B CN110490908 B CN 110490908B CN 201910789666 A CN201910789666 A CN 201910789666A CN 110490908 B CN110490908 B CN 110490908B
- Authority
- CN
- China
- Prior art keywords
- small object
- depth map
- bounding box
- pose
- seeds
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/28—Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例公开了一种动态场景下小物体位姿追踪方法及装置,包括:在无干预的情况下,获取小物体的初始深度图,并初始化小物体的三维模型,以及小物体的包围盒;循环执行下述过程,实现对小物体的追踪:基于小物体的三维模型和当前时刻小物体的位姿预测小物体的第一深度图;基于小物体的第一深度图,更新小物体的包围盒;实时采集小物体在运动状态下的第二深度图;基于小物体的包围盒剔除第二深度图中的干扰信息,得到最终深度图;将所述最终深度图和所述第一深度图进行匹配,更新当前时刻小物体的位姿;基于当前时刻小物体的位姿和所述最终深度图更新小物体的三维模型。这样实现了对未知的小物体位姿的追踪。
Description
技术领域
本发明涉及位姿追踪领域,尤其涉及一种动态场景下小物体位姿追踪方法及装置。
背景技术
当前在很多领域,经常涉及到在动态场景中对一个物体位姿的追踪问题,例如,在混合现实领域智能设备可以根据自身随着用户做出的动作来确定智能设备当前的姿态,进而根据当前的姿态做出响应;或者在工业领域,例如通过对机械臂抓取的物体的位姿进行追踪,以确定下一步的操作。
目前很常用的一种动态场景下的物体位姿追踪方法是基于模型的,即这类方法需要预先建立被跟踪物体的模型,进而通过建立的模型识别物体的位姿。
但是由于这类方法对建立的物体的模型有一定的依赖性,因此对于未知的物体,无法实现对位姿的追踪。
发明内容
有鉴于此,本发明实施例公开了一种动态场景下小物体位姿追踪方法及装置,实现了在无需预先建模的情况下,对未知物体的追踪。
本发明实施例公开了一种动态场景下小物体位姿追踪方法,包括:
在无干预的情况下,获取小物体的初始深度图,并根据所述小物体的初始深度图初始化小物体的三维模型,并根据小物体尺寸初始化小物体的包围盒;
基于所述小物体的三维模型和当前时刻小物体的位姿预测小物体的第一深度图;
基于所述小物体的第一深度图,更新小物体的包围盒;
实时采集小物体在运动状态下的第二深度图;
基于小物体的包围盒剔除所述第二深度图中的干扰信息,得到最终深度图;
将所述最终深度图和所述第一深度图进行匹配,更新当前时刻小物体的位姿;
基于当前时刻小物体的位姿和所述最终深度图更新小物体的三维模型,并返回执行基于所述小物体的三维模型和当前时刻小物体的位姿预测小物体的第一深度图。
可选的,所述初始化所述小物体的包围盒,包括:
根据所述小物体的尺寸确定所述包围盒的长度;
基于所述包围盒的长度、小物体的尺寸以及相机的参数进行分析,确定包围盒的原点坐标;
基于所述包围盒的长度确定构成所述包围盒的每个立方格的边长,并基于每个立方格的边长确定每个立方格在包围盒的位置;
基于包围盒的原点坐标和每个立方格在包围盒内的位置确定每个立方格的中心坐标;
初始化表示每个立方格状态的数值;所述立方格的状态包括:位于包围盒外和位于包围盒内。
可选的,所述基于所述小物体的第一深度图,更新小物体的包围盒,包括:
生成所述第一深度图的二值化掩膜;
将构成包围盒的每个立方格投影到第一深度图上;
基于所述第一深度图的二值化掩膜中各个像素的值和每个立方格投影到第一深度图的位置,确定每个立方格的数值。
可选的,所述基于小物体的包围盒剔除所述第二深度图中的干扰信息,得到最终深度图,包括:
基于小物体的包围盒和区域生长法,对干扰信息进行初步剔除,得到候选深度图;
将所述候选深度图中位于包围盒外的像素点设置为0,得到最终深度图。
可选的,所述基于小物体的包围盒和区域生长法,对干扰信息进行初步剔除,得到候选深度图,包括:
计算第二深度图中的每个像素点的深度值与第一深度图中相同深度值的差值,将差值小于第一预设阈值的像素点作为种子放入到第一队列中;
顺序遍历第一队列中的所有种子,基于所述第二深度图进行区域生长,得到新种子,并将新种子放入第二队列中;
判断第二队列中的种子数量与第一队列中的种子数量是否满足预设条件;
若第二队列中的种子数量与第一队列中的种子数量不满足预设条件,则将第二队列中的种子替换掉第一队列中的种子,并返回执行顺序遍历第一队列中的所有种子,基于所述第二深度图进行区域生长,得到新种子,并将新种子放入第二队列中;
若第二队列中的种子数量与第一队列中的种子数量满足预设条件,则停止生长;
将第二队列中所有的种子对应的像素点设置为1,将第二深度图中其它的像素点设置为0,得到候选深度图。
可选的,将所述候选深度图中位于包围盒外的像素点设置为0,包括:
基于所述候选深度图生成点云,并利用当前时刻的小物体的位姿将点云转换到全局坐标系中;
针对于全局坐标系中的每个点,若任何一点满足第一条件和第二条件,则将该点对应的候选深度图中的像素点的像素值设置为0,得到最终深度值;
所述第一条件为:该点对应的包围盒中立方格的数值为预设的第一数值;
第二条件为:位于该点对应包围盒的小立方格的邻域内的所有立方格的数值均为所述第一数值;
所述预设的第一数值表示该立方格位于包围盒外。
可选的,所述小物体的干扰信息为操作小物体运动的手的信息。
本发明实施例还公开了一种动态场景下小物体位姿追踪装置,包括:
初始化模块,用于在无干预的情况下,获取小物体的初始深度图,并根据所述小物体的初始深度图初始化小物体的三维模型,并根据小物体尺寸初始化小物体的包围盒;
预测深度图模块,用于基于所述小物体的三维模型和当前时刻小物体的位姿预测小物体的第一深度图;
包围盒更新模块,用于基于所述小物体的第一深度图,更新小物体的包围盒;
实时采集模块,用于实时采集小物体在运动状态下的第二深度图;
剔除干扰模块,用于基于小物体的包围盒剔除所述第二深度图中的干扰信息,得到最终深度图;
更新位姿模块,用于将所述最终深度图和所述第一深度图进行匹配,更新当前时刻小物体的位姿;
三维模块更新及返回执行模块,用于基于当前时刻小物体的位姿和所述最终深度图更新小物体的三维模型,并返回执行基于所述小物体的三维模型和当前时刻小物体的位姿预测小物体的第一深度图。
可选的,所述初始化模块包括:
包围盒长度确定子单元,用于根据所述小物体的尺寸确定所述包围盒的长度;
包围盒原点坐标确定子单元,用于基于所述包围盒的长度、小物体的尺寸以及相机的参数进行分析,确定包围盒的原点坐标;
第一位置确定子单元,用于基于所述包围盒的长度确定构成所述包围盒的每个立方格的边长,并基于每个立方格的边长确定每个立方格在包围盒的位置;
第二位置确定子单元,用于基于包围盒的原点坐标和每个立方格在包围盒内的位置确定每个立方格的中心坐标;
数值初始化子单元,用于初始化表示每个立方格状态的数值;所述立方格的状态包括:位于包围盒外和位于包围盒内。
可选的,包围盒更新模块,包括:
二值化掩膜生成子单元,用于生成所述第一深度图的二值化掩膜;
投影子单元,用于将构成包围盒的每个立方格投影到第一深度图上;
立方格数值确定子单元,用于基于所述第一深度图的二值化掩膜中各个像素的值和每个立方格投影到第一深度图的位置,确定每个立方格的数值。
本发明实施例公开了一种动态场景下小物体位姿追踪方法及装置,包括:在无干预的情况下,获取小物体的初始深度图,并根据所述小物体的初始深度图初始化小物体的三维模型,并根据小物体尺寸初始化小物体的包围盒;基于小物体的三维模型和当前时刻小物体的位姿预测小物体的第一深度图;基于小物体的第一深度图,更新小物体的包围盒;实时采集小物体在运动状态下的第二深度图;基于小物体的包围盒剔除第二深度图中的干扰信息,得到最终深度图;将所述最终深度图和所述第一深度图进行匹配,更新当前时刻小物体的位姿;基于当前时刻小物体的位姿和所述最终深度图更新小物体的三维模型,并返回执行基于所述小物体的三维模型和当前时刻小物体的位姿预测小物体的第一深度图。
由此可知,本实施例中在对小物体追踪的过程中,建立了小物体的包围盒以及初始化了小物体的三维模型,并且在追踪的过程中,不断的对包围盒和小物体的三维模型进行更新,这样在无需对小物体进行预先建模的情况下,实现了对未知的小物体位姿的追踪,并且可以消除对小物体追踪有干扰的信息,尤其是可以消除非刚性物体对小物体位姿追踪的干扰,例如在手持小物体运动时,手对小物体位姿追踪的干扰。
除此之外,本实施例的方法计算简单,耗时短。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本发明实施例提供的一种动态场景下小物体位姿追踪方法的流程示意图;
图2-图7示出了本发明实施例提供的一种动态场景下小物体位姿追踪过程中的产生的图像的示意图;
图8示出了本发明实施例提供的一种动态场景下小物体位姿追踪方法的又一流程示意图;
图9示出了本发明实施例提供的一种动态场景下小物体位姿追踪装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参考图1,示出了本发明实施例提供的一种动态场景下小物体位姿追踪方法的流程示意图,在本实施例中,该方法包括:
S101:在无干预的情况下,获取小物体深度图,并根据所述小物体的深度图初始化小物体的三维模型,并根据所述小物体的尺寸初始化所述小物体的包围盒;
本实施例中,无干预的情况可以理解为,没有外界的干扰。例如对一个玩偶的位姿进行追踪,玩偶上没有其它物体干扰或者可以说没有非刚性物体的干扰,例如不存在手操作玩偶转动的情况。
或者再有一些无法避免的环境干扰下,在采集了小物体的照片后,可以去除环境对小物体的干扰,得到小物体的初始深度图。
举例说明:如图2所示,在小物体(玩偶)无干预的情况下,拍摄了一张小物体(玩偶)的照片,此时小物体位于桌面上,桌面属于环境对小物体的干扰,去掉桌面对小物体的干扰,例如可以通过平面拟合的方法去除桌面对小物体的干扰,获得小物体的初始深度图,如图3所示。
本实施例中,通过小物体的初始深度图初始化小物体的三维模型的方法可以包括多种,本实施例中不进行限定,例如可以通过基于TSDF的体素或者基于surfel的三维地图。
举例说明:参考图3中获取到的玩偶的初始深度图,得到的玩偶的三维模型如图4所示。
本实施例中,需要知道的是包围盒是由一定数量的三维空间的离散小立方格构成的结构,每个小立方格的属性包括:小立方格的位置CP,例如小立方格中心的三维空间坐标;以及表示立方格状态的数值V,该数值表示为该立方格是位于包围盒内还是包围盒外。
举例说明:立方格的数值可以为1或者0,其中1表示该立方格位于包围盒内,0表示该立方格位于包围盒外。
其中,初始化小物体包围盒的过程例如可以包括:
根据所述小物体的尺寸确定所述包围盒的长度;
基于所述包围盒的长度、小物体的尺寸以及相机的参数进行分析,确定包围盒的原点坐标;
基于所述包围盒的长度确定构成所述包围盒的每个立方格的边长,并基于每个立方格的边长确定每个立方格在包围盒的位置;
基于包围盒的原点坐标和每个立方格在包围盒内的位置确定每个立方格的中心坐标;
初始化表示每个立方格状态的数值;所述立方格的状态包括:位于包围盒外和位于包围盒内。
举例说明:假设包围盒立方体的参数为0.6m*0.6m*0.6m,那么每个立方格边长可以为0.6/256m,将立方格的一个顶点作为原始点。
S102:基于所述小物体的三维模型和当前时刻小物体的位姿预测小物体的第一深度图;
本实施例中,通过小物体的三维模型和当前时刻小物体的位姿预测小物体的第一深度图的方法包括很多,本实施例中不进行限定,例如可以通过raycast方法或者基于投影结合Z-buffer排序的方式实现。
其中,在小物体的三维模型是通过小物体的初始深度图获取到的,那么当前时刻小物体的位姿为初始化时设定的小物体的位姿;当小物体的三维模型是后续步骤S107中通过更新的小物体的位姿和深度图得到的三维模型,则当前时刻的小物体的位姿为更新的小物体的位姿。
S103:基于所述小物体的第一深度图,更新小物体的包围盒;
本实施例中,更新小物体的包围盒主要是更新包围盒中表示每个小立方体状态的数值,具体的,S103包括:
生成所述第一深度图的二值化掩膜;
将构成包围盒的每个立方格投影到第一深度图上;
基于所述第一深度图的二值化掩膜中各个像素的值和每个立方格投影到第一深度图的位置,确定每个立方格的数值。
其中,二值化掩膜的获取方法包括:
生成所述第一深度图的二值图像;
将该二值图像进行膨胀操作,得到二值化掩膜。
其中,该二值化掩膜中包含两种像素点,一种像素点的数值为1,一种像素点的数值为0,将像素点为1的表示为投影有效的像素点,将像素点为0的表示为投影无效的像素点。
然后,将构成包围盒的每个立方格将其投影到第一深度图上,记录投影的位置为uv,立方格坐标Z轴的数值记为pz。
之后,基于下述的两个条件确定每个立方格的数值:
条件1)投影位置uv对应的二值化掩膜的数值为0;
条件2)投影的深度值满足pz-PD(uv)>δ,δ为设置的阈值,数值为正;其中PD(uv)表示投影位置uv对应的第二深度图的像素点的深度值。
在满足上述任意一个条件的情况下,将立方格的数值设置为0。
S104:实时采集小物体在运动状态下的第二深度图;
本实施例中,小物体处于运动状态可以包括多种状态,例如手持小物体进行转动的状态,或者小物体在转动台上转动,或者在其它物体的操作下小物体进行转动。
举例说明:在手持玩偶处于运动状态的情况下,获取的第二深度图如图5所示,其中玩偶尾巴延长的部分包括手及手臂,由此可知,由于手和手臂的影响,对小物体位姿的检测有一定的影响。
S105:基于小物体的包围盒剔除所述第二深度图中的干扰信息,得到最终深度图;
其中,干扰信息为除小物体外的其它信息,是对追踪小物体的位姿有干扰的物体,例如在手持小物体转动的情况下,手及手臂就是干扰信息,或者小物体在其它物体的作用下进行运动,则其它物体为干扰信息。
在本实施例中,通过包围盒剔除干扰的信息的方法,可以采用区域生长法和包围盒的边界对干扰信息进行筛查,下文会对该方法进行详细的介绍,本实施例中不再赘述。
举例说明:在图5的基础上执行剔除第二深度图中的干扰信息的操作,可以得到如图6所示的最终深度图。
S106:将所述最终深度图和所述第一深度图进行匹配,更新当前时刻小物体的位姿;
本实施例中,可以采用多种方法实现深度图的匹配,本实施例中不进行限定,例如可以采用基于特征的位姿匹配方法(例如Fast Global Registration,FGR)或者采用基于ICP的匹配方法。
S107:基于当前时刻小物体的位姿和所述最终深度图更新小物体的三维模型,并返回执行S102。
本实施例中,每采集到一帧图像时,执行S102-S107的步骤,在不断采集到图像时,针对每一帧图像则循环执行S102-S107的步骤,实现对小物体位姿的追踪。
并且,需要知道的是,本实施例中,在不断更新小物体位姿的情况下,也不断的对小物体的三维模型进行了更新,由此,通过不断的对小物体的三维模型进行调整,使得对小物体的位姿的识别更加的准确。
举例说明:在基于上述图2-图6的情况下,更新的小物体的三维模型如图7所示。
进一步的,在接收到停止追踪的指令时,可以停止上述操作。
其中,停止追踪指令的触发条件可以包括多种,例如用户的手动触发,或者停止采集第二深度图等。
本实施例中,在无干预的情况下,获取小物体的初始深度图,并根据所述小物体的初始深度图初始化小物体的三维模型,并根据小物体尺寸初始化小物体的包围盒;基于小物体的三维模型和当前时刻小物体的位姿预测小物体的第一深度图;基于小物体的第一深度图,更新小物体的包围盒;实时采集小物体在运动状态下的第二深度图;基于小物体的包围盒剔除第二深度图中的干扰信息,得到最终深度图;将所述最终深度图和所述第一深度图进行匹配,更新当前时刻小物体的位姿;基于当前时刻小物体的位姿和所述最终深度图更新小物体的三维模型,并返回执行基于所述小物体的三维模型和当前时刻小物体的位姿预测小物体的第一深度图。
由此可知,本实施例中在对小物体追踪的过程中,建立了小物体的包围盒以及初始化了小物体的三维模型,并且在追踪的过程中,不断的对包围盒和小物体的三维模型进行更新,这样在无需对小物体进行预先建模的情况下,实现了对未知的小物体位姿的追踪,并且可以消除对小物体追踪有干扰的信息,尤其是可以消除非刚性物体对小物体位姿追踪的干扰,例如在手持小物体运动时,手对小物体位姿追踪的干扰。
除此之外,本实施例的方法计算简单,耗时短。
参考图8,示出了本发明实施例提供的一种动态场景下小物体位姿追踪方法的又一流程示意图,在本实施例中,该方法包括:
S801:在无干预的情况下,获取小物体的初始深度图,并根据所述小物体的初始深度图初始化小物体的三维模型,并根据小物体尺寸初始化小物体的包围盒;
本实施例中,S801与上述的S101一致,本实施例中不进行限定。
S802:基于所述小物体的三维模型和当前时刻小物体的位姿预测小物体的第一深度图;
本实施例中,S802与上述的S102一致,本实施例中不进行限定。
S803:基于所述小物体的第一深度图,更新小物体的包围盒;
本实施例中,S803与上述的S103一致,本实施例中不进行限定。
S804:实时采集小物体在运动状态下的第二深度图;
本实施例中,S804与上述的S104一致,本实施例中不进行限定。
S805:基于小物体的包围盒和区域生长法,对干扰信息进行初步剔除,得到候选深度图;
具体的,S805包括:
S805-1:筛选第二深度图中像素点的深度值大于第一预设阈值的目标像素点,并计算第二深度图中的每个目标像素点的深度值与第一深度图中相同位置的深度值的差值,将差值小于第二预阈值的目标像素点作为种子放入到第一队列中;
S805-2:顺序遍历第一队列中的所有种子,基于所述第二深度图进行生长,得到新种子,并将新种子放图第二队列中;
S805-3判断第二队列中的种子数量与第一队列中的种子数量是否满足预设条件;
S805-4:若第二队列中的种子数量与第一队列中的种子数量不满足预设条件,则将第二队列中的种子替换掉第一队列中的种子,并返回执行S802;
S805-5:若第二队列中的种子数量与第一队列中的种子数量满足预设条件,则停止生长;
S805-6:在停止生长后,将第二队列中的所有种子对应的像素点设置为1,将第二深度图中其它的像素点设置为0,得到候选深度图。
本实施例中,像素点的深度值是指存储每个像素点所用的位数,也用它来度量图像的分辨率。
假设第二深度图中每个像素点为p,每个像素点的深度值记为d,第一深度图中与第二深度图相同位置的像素点的深度值为pd,其中,在第一深度图中的像素点满足如下的两个条件的情况下,将像素点放入到第一队列Q0中:
条件一、d大于ε(第一预设阈值);
条件二、|pd-d|<η,则把像素放入到第一队列Q0中。
本实施例中,顺序遍历第一队列Q0中所有的种子,基于第二深度图进行新一轮的生长,得到新的种子,并将新的种子放入到队列Q1中,记Q1中种子数量为N1。
接下来判断第二队列中的种子数量与第一队列中的种子数量是否满足预设条件;
其中,预设条件可以为:N1<N0*α,α为小于1的正实数,α的值可以是技术人员根据经验设置的,例如α=0.2,并且,也可以根据实际情况,例如根据小物体的实际尺寸对α进行条件;
若N1≥N0*α,则返回执行顺序遍历第一队列Q0中所有的种子,基于第二深度图进行新一轮的生长,得到新的种子,并将新的种子放入到队列Q1中;
在N1<N0*α时,停止生长;
本实施例中,优选的,还可以对放入第二队列中的新种子进行筛选,筛选出深度值大于第一预设阈值的种子,即新种子的深度值d>ε。
本实施例中,之所以设置N1<N0*α的条件,在N1<N0*α时表示区域生长在小物体边界上已经完成,若再生长,新得到的种子会从边界外的干扰物上获取,例如在操作者的手上或者手臂上获取,这部分深度值会带来非刚体效应,影响袋鼠位姿追踪,故停止生长,可以去除掉小物体上的干扰信息。
S806:将所述候选深度图中位于包围盒外的像素点设置为0,得到最终深度图;
本实施例中,具体的,包围盒外的像素点的确定可以通过一些条件的筛选,具体的S806包括:
基于所述候选深度图生成点云,并利用当前时刻的小物体的位姿将点云转换到全局坐标系中;
针对于全局坐标系中的每个点,若任何一点满足第一条件和第二条件,则将该点对应的候选深度图中的像素点的像素值设置为0,得到最终深度值;
所述第一条件为:该点对应的包围盒中立方格的数值为预设的第一数值;
第二条件为:位于该点对应包围盒的小立方格的邻域内的所有立方格的数值均为所述第一数值;
所述预设的第一数值表示该立方格位于包围盒外。
其中,第二条件中,邻域范围可以根据技术人员的经验进行设置,或者根据实际情况进行设置,例如可以为8邻域的范围。
并且,可以通过0和1表示立方格位于包围盒外还是包围盒内,例如若立方格的数值为0,则表示为位于包围盒外,若立方格的数值为1,则可以表示为该立方格位于包围盒内。
其中,基于候选深度图D1生成点云,并利用当前时刻的小物体的位姿T把点云变换到全局坐标系中,变换后的点云为PO,将PO上任意一点p在包围盒中的立方格的数值为C0,则在任意一点满足如下两个条件的情况下,将该点的像素值设置为0:
条件一、C0的数值v为0;
条件二、设L为立方格的边长,例如邻域范围为8邻域,则以2*n*L为边长的立方体的8个角落对应的立方格分别为C1~C8,立方格C1~C8的数值v都为0。其中,n数值根据实际需求选择。
本实施例中,若C0为零,且C1~C8均为零,则可以表示为该点为包围盒边界外的点,但是若C0为零,但是C1~C8有的为零有的为1,则
当且仅当条件一和条件二均成立时,将点P对应的候选深度图中像素值点的像素值设置为0。
本实施例中,针对于任何一点,不仅考虑了每一点对应的包围盒中的小立方格的数值,即小立方格在包围盒中的位置,也考虑了该立方格周围的立方格在包围盒中的位置,这样避免了剔除掉包围盒边界上的点。
S807:将所述最终深度图和所述第一深度图进行匹配,更新当前时刻小物体的位姿;
本实施例中,S807与上述的S106一致,本实施例中不进行限定。
S808:基于当前时刻小物体的位姿和所述最终深度图更新小物体的三维模型,并返回执行S802。
本实施例中,S808与上述的S107一致,本实施例中不进行限定。
本实施例中,结合包围盒和区域生长法,实现了去除对小物体位姿追踪过程中的干扰信息,尤其是可以消除非刚性物体对小物体位姿追踪的干扰,例如在手持小物体运动时,手对小物体位姿追踪的干扰,这样保障了识别出更加准确的小物体的位姿。
参考图9示出了本发明实施例提供的一种动态场景下小物体位姿追踪装置的结构示意图,在本实施例中,该装置包括:
初始化模块901,用于在无干预的情况下,获取小物体的初始深度图,并根据所述小物体的初始深度图初始化小物体的三维模型,并根据小物体尺寸初始化小物体的包围盒;
预测深度图模块902,用于基于所述小物体的三维模型和当前时刻小物体的位姿预测小物体的第一深度图;
包围盒更新模块903,用于基于所述小物体的第一深度图,更新小物体的包围盒;
实时采集模块904,用于实时采集小物体在运动状态下的第二深度图;
剔除干扰模块905,用于基于小物体的包围盒剔除所述第二深度图中的干扰信息,得到最终深度图;
更新位姿模块906,用于将所述最终深度图和所述第一深度图进行匹配,更新当前时刻小物体的位姿;
三维模块更新及返回执行模块907,用于基于当前时刻小物体的位姿和所述最终深度图更新小物体的三维模型,并返回执行基于所述小物体的三维模型和当前时刻小物体的位姿预测小物体的第一深度图。
可选的,所述初始化模块包括:
包围盒长度确定子单元,用于根据所述小物体的尺寸确定所述包围盒的长度;
包围盒原点坐标确定子单元,用于基于所述包围盒的长度、小物体的尺寸以及相机的参数进行分析,确定包围盒的原点坐标;
第一位置确定子单元,用于基于所述包围盒的长度确定构成所述包围盒的每个立方格的边长,并基于每个立方格的边长确定每个立方格在包围盒的位置;
第二位置确定子单元,用于基于包围盒的原点坐标和每个立方格在包围盒内的位置确定每个立方格的中心坐标;
数值初始化子单元,用于初始化表示每个立方格状态的数值;所述立方格的状态包括:位于包围盒外和位于包围盒内。
可选的,包围盒更新模块,包括:
二值化掩膜生成子单元,用于生成所述第一深度图的二值化掩膜;
投影子单元,用于将构成包围盒的每个立方格投影到第一深度图上;
立方格数值确定子单元,用于基于所述第一深度图的二值化掩膜中各个像素的值和每个立方格投影到第一深度图的位置,确定每个立方格的数值。
可选的,所述实时采集模块,还用于:
基于小物体的包围盒和区域生长法,对干扰信息进行初步剔除,得到候选深度图;
将所述候选深度图中位于包围盒外的像素点设置为0,得到最终深度图。
可选的,所述剔除干扰模块,还用于:
计算第二深度图中的每个像素点的深度值与第一深度图中相同深度值的差值,将差值小于第一预设阈值的像素点作为种子放入到第一队列中;
顺序遍历第一队列中的所有种子,基于所述第二深度图进行区域生长,得到新种子,并将新种子放入第二队列中;
判断第二队列中的种子数量与第一队列中的种子数量是否满足预设条件;
若第二队列中的种子数量与第一队列中的种子数量不满足预设条件,则将第二队列中的种子替换掉第一队列中的种子,并返回执行顺序遍历第一队列中的所有种子,基于所述第二深度图进行区域生长,得到新种子,并将新种子放入第二队列中;
若第二队列中的种子数量与第一队列中的种子数量满足预设条件,则停止生长;
将第二队列中所有的种子对应的像素点设置为1,将第二深度图中其它的像素点设置为0,得到候选深度图。
可选的,剔除干扰模块,还用于:
基于所述候选深度图生成点云,并利用当前时刻的小物体的位姿将点云转换到全局坐标系中;
针对于全局坐标系中的每个点,若任何一点满足第一条件和第二条件,则将该点对应的候选深度图中的像素点的像素值设置为0,得到最终深度值;
所述第一条件为:该点对应的包围盒中立方格的数值为预设的第一数值;
第二条件为:位于该点对应包围盒的小立方格的邻域内的所有立方格的数值均为所述第一数值;
所述预设的第一数值表示该立方格位于包围盒外。
可选的,所述小物体的干扰信息为操作小物体运动的手的信息。
可选的,还包括:
停止执行模块,用于在接收到停止追踪的指令时,可以停止执行所述位姿追踪方法中的操作。
通过本实施例的装置,在无干预的情况下,获取小物体的初始深度图,并根据所述小物体的初始深度图初始化小物体的三维模型,并根据小物体尺寸初始化小物体的包围盒;基于小物体的三维模型和当前时刻小物体的位姿预测小物体的第一深度图;基于小物体的第一深度图,更新小物体的包围盒;实时采集小物体在运动状态下的第二深度图;基于小物体的包围盒剔除第二深度图中的干扰信息,得到最终深度图;将所述最终深度图和所述第一深度图进行匹配,更新当前时刻小物体的位姿;基于当前时刻小物体的位姿和所述最终深度图更新小物体的三维模型,并返回执行基于所述小物体的三维模型和当前时刻小物体的位姿预测小物体的第一深度图。
由此可知,本实施例中在对小物体追踪的过程中,建立了小物体的包围盒以及初始化了小物体的三维模型,并且在追踪的过程中,不断的对包围盒和小物体的三维模型进行更新,这样在无需对小物体进行预先建模的情况下,实现了对未知的小物体位姿的追踪,并且可以消除对小物体追踪有干扰的信息,尤其是可以消除非刚性物体对小物体位姿追踪的干扰,例如在手持小物体运动时,手对小物体位姿追踪的干扰。
除此之外,本实施例的方法计算简单,耗时短。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种动态场景下小物体位姿追踪方法,其特征在于,包括:
在无干预的情况下,获取小物体的初始深度图,并根据所述小物体的初始深度图初始化小物体的三维模型,并根据小物体尺寸初始化小物体的包围盒;
基于所述小物体的三维模型和当前时刻小物体的位姿预测小物体的第一深度图;
基于所述小物体的第一深度图,更新小物体的包围盒;
实时采集小物体在运动状态下的第二深度图;
基于小物体的包围盒剔除所述第二深度图中的干扰信息,得到最终深度图;
将所述最终深度图和所述第一深度图进行匹配,更新当前时刻小物体的位姿;
基于当前时刻小物体的位姿和所述最终深度图更新小物体的三维模型,并返回执行基于所述小物体的三维模型和当前时刻小物体的位姿预测小物体的第一深度图。
2.根据权利要求1所述的方法,其特征在于,所述初始化所述小物体的包围盒,包括:
根据所述小物体的尺寸确定所述包围盒的长度;
基于所述包围盒的长度、小物体的尺寸以及相机的参数进行分析,确定包围盒的原点坐标;
基于所述包围盒的长度确定构成所述包围盒的每个立方格的边长,并基于每个立方格的边长确定每个立方格在包围盒的位置;
基于包围盒的原点坐标和每个立方格在包围盒内的位置确定每个立方格的中心坐标;
初始化表示每个立方格状态的数值;所述立方格的状态包括:位于包围盒外和位于包围盒内。
3.根据权利要求1所述的方法,其特征在于,所述基于所述小物体的第一深度图,更新小物体的包围盒,包括:
生成所述第一深度图的二值化掩膜;
将构成包围盒的每个立方格投影到第一深度图上;
基于所述第一深度图的二值化掩膜中各个像素的值和每个立方格投影到第一深度图的位置,确定每个立方格的数值。
4.根据权利要求1所述的方法,其特征在于,所述基于小物体的包围盒剔除所述第二深度图中的干扰信息,得到最终深度图,包括:
基于小物体的包围盒和区域生长法,对干扰信息进行初步剔除,得到候选深度图;
将所述候选深度图中位于包围盒外的像素点设置为0,得到最终深度图。
5.根据权利要求4所述的方法,其特征在于,所述基于小物体的包围盒和区域生长法,对干扰信息进行初步剔除,得到候选深度图,包括:
计算第二深度图中的每个像素点的深度值与第一深度图中相同深度值的差值,将差值小于第一预设阈值的像素点作为种子放入到第一队列中;
顺序遍历第一队列中的所有种子,基于所述第二深度图进行区域生长,得到新种子,并将新种子放入第二队列中;
判断第二队列中的种子数量与第一队列中的种子数量是否满足预设条件;
若第二队列中的种子数量与第一队列中的种子数量不满足预设条件,则将第二队列中的种子替换掉第一队列中的种子,并返回执行顺序遍历第一队列中的所有种子,基于所述第二深度图进行区域生长,得到新种子,并将新种子放入第二队列中;
若第二队列中的种子数量与第一队列中的种子数量满足预设条件,则停止生长;将第二队列中所有的种子对应的像素点设置为1,将第二深度图中其它的像素点设置为0,得到候选深度图。
6.根据权利要求4所述的方法,其特征在于,将所述候选深度图中位于包围盒外的像素点设置为0,包括:
基于所述候选深度图生成点云,并利用当前时刻的小物体的位姿将点云转换到全局坐标系中;
针对于全局坐标系中的每个点,若任何一点满足第一条件和第二条件,则将该点对应的候选深度图中的像素点的像素值设置为0,得到最终深度值;
所述第一条件为:该点对应的包围盒中立方格的数值为预设的第一数值;
第二条件为:位于该点对应包围盒的小立方格的邻域内的所有立方格的数值均为所述第一数值;
所述预设的第一数值表示该立方格位于包围盒外。
7.根据权利要求1所述的方法,其特征在于,所述小物体的干扰信息为操作小物体运动的手的信息。
8.一种动态场景下小物体位姿追踪装置,其特征在于,包括:
初始化模块,用于在无干预的情况下,获取小物体的初始深度图,并根据所述小物体的初始深度图初始化小物体的三维模型,并根据小物体尺寸初始化小物体的包围盒;
预测深度图模块,用于基于所述小物体的三维模型和当前时刻小物体的位姿预测小物体的第一深度图;
包围盒更新模块,用于基于所述小物体的第一深度图,更新小物体的包围盒;
实时采集模块,用于实时采集小物体在运动状态下的第二深度图;
剔除干扰模块,用于基于小物体的包围盒剔除所述第二深度图中的干扰信息,得到最终深度图;
更新位姿模块,用于将所述最终深度图和所述第一深度图进行匹配,更新当前时刻小物体的位姿;
三维模块更新及返回执行模块,用于基于当前时刻小物体的位姿和所述最终深度图更新小物体的三维模型,并返回执行基于所述小物体的三维模型和当前时刻小物体的位姿预测小物体的第一深度图。
9.根据权利要求8所述的装置,其特征在于,所述初始化模块包括:
包围盒长度确定子单元,用于根据所述小物体的尺寸确定所述包围盒的长度;
包围盒原点坐标确定子单元,用于基于所述包围盒的长度、小物体的尺寸以及相机的参数进行分析,确定包围盒的原点坐标;
第一位置确定子单元,用于基于所述包围盒的长度确定构成所述包围盒的每个立方格的边长,并基于每个立方格的边长确定每个立方格在包围盒的位置;
第二位置确定子单元,用于基于包围盒的原点坐标和每个立方格在包围盒内的位置确定每个立方格的中心坐标;
数值初始化子单元,用于初始化表示每个立方格状态的数值;所述立方格的状态包括:位于包围盒外和位于包围盒内。
10.根据权利要求9所述的装置,其特征在于,包围盒更新模块,包括:
二值化掩膜生成子单元,用于生成所述第一深度图的二值化掩膜;
投影子单元,用于将构成包围盒的每个立方格投影到第一深度图上;
立方格数值确定子单元,用于基于所述第一深度图的二值化掩膜中各个像素的值和每个立方格投影到第一深度图的位置,确定每个立方格的数值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910789666.2A CN110490908B (zh) | 2019-08-26 | 2019-08-26 | 一种动态场景下小物体的位姿追踪方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910789666.2A CN110490908B (zh) | 2019-08-26 | 2019-08-26 | 一种动态场景下小物体的位姿追踪方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110490908A CN110490908A (zh) | 2019-11-22 |
CN110490908B true CN110490908B (zh) | 2021-09-21 |
Family
ID=68554058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910789666.2A Active CN110490908B (zh) | 2019-08-26 | 2019-08-26 | 一种动态场景下小物体的位姿追踪方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110490908B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117656083B (zh) * | 2024-01-31 | 2024-04-30 | 厦门理工学院 | 七自由度抓取姿态生成方法、装置、介质及设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942832A (zh) * | 2014-04-11 | 2014-07-23 | 浙江大学 | 一种基于在线结构分析的室内场景实时重建方法 |
CN105225270A (zh) * | 2015-09-28 | 2016-01-06 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN106504320A (zh) * | 2016-11-02 | 2017-03-15 | 华东师范大学 | 一种基于gpu及面向深度图像的实时三维重构方法 |
US20180315168A1 (en) * | 2016-09-30 | 2018-11-01 | Disney Enterprises, Inc. | Point cloud noise and outlier removal for image-based 3d reconstruction |
CN109102525A (zh) * | 2018-07-19 | 2018-12-28 | 浙江工业大学 | 一种基于自适应位姿估计的移动机器人跟随控制方法 |
CN109215128A (zh) * | 2018-08-09 | 2019-01-15 | 北京华捷艾米科技有限公司 | 物体运动姿态图像的合成方法及系统 |
CN109255813A (zh) * | 2018-09-06 | 2019-01-22 | 大连理工大学 | 一种面向人机协作的手持物体位姿实时检测方法 |
CN109407709A (zh) * | 2018-09-25 | 2019-03-01 | 国网天津市电力公司 | 一种基于Kinect骨骼跟踪算法的会议摄像自动追踪系统 |
-
2019
- 2019-08-26 CN CN201910789666.2A patent/CN110490908B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942832A (zh) * | 2014-04-11 | 2014-07-23 | 浙江大学 | 一种基于在线结构分析的室内场景实时重建方法 |
CN105225270A (zh) * | 2015-09-28 | 2016-01-06 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
US20180315168A1 (en) * | 2016-09-30 | 2018-11-01 | Disney Enterprises, Inc. | Point cloud noise and outlier removal for image-based 3d reconstruction |
CN106504320A (zh) * | 2016-11-02 | 2017-03-15 | 华东师范大学 | 一种基于gpu及面向深度图像的实时三维重构方法 |
CN109102525A (zh) * | 2018-07-19 | 2018-12-28 | 浙江工业大学 | 一种基于自适应位姿估计的移动机器人跟随控制方法 |
CN109215128A (zh) * | 2018-08-09 | 2019-01-15 | 北京华捷艾米科技有限公司 | 物体运动姿态图像的合成方法及系统 |
CN109255813A (zh) * | 2018-09-06 | 2019-01-22 | 大连理工大学 | 一种面向人机协作的手持物体位姿实时检测方法 |
CN109407709A (zh) * | 2018-09-25 | 2019-03-01 | 国网天津市电力公司 | 一种基于Kinect骨骼跟踪算法的会议摄像自动追踪系统 |
Non-Patent Citations (3)
Title |
---|
Position rectification with depth camera to improve odometry-based;Lan Anh Trinh等;《2015 International Conference on Communications, Management and Telecommunications (ComManTel)》;20160208;第147-152页 * |
三维目标位姿跟踪与模型修正;尚洋;《测绘学报》;20180630;第47卷(第6期);第799-808页 * |
面向增强现实的实时三维物体检测与追踪系统;钱权浩;《中国优秀硕士学位论文全文数据库信息科技辑》;20190815(第8期);I138-675 * |
Also Published As
Publication number | Publication date |
---|---|
CN110490908A (zh) | 2019-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108656107B (zh) | 一种基于图像处理的机械臂抓取系统及方法 | |
US10255480B2 (en) | Monitoring object shape and deviation from design | |
CN107886528B (zh) | 基于点云的配电线路作业场景三维重建方法 | |
EP3090542B1 (en) | Real-time 3d reconstruction with a depth camera | |
CN112505065B (zh) | 一种实现室内无人机对大部件表面缺陷进行检测的方法 | |
US10150485B2 (en) | Method and device for processing image data, and driver-assistance system for a vehicle | |
CN109410316B (zh) | 物体的三维重建的方法、跟踪方法、相关装置及存储介质 | |
CN111210475B (zh) | 一种地图更新方法及装置 | |
CN110119679B (zh) | 物体三维信息估计方法及装置、计算机设备、存储介质 | |
CN111680685A (zh) | 一种基于图像的定位方法、装置、电子设备及存储介质 | |
Piga et al. | ROFT: Real-time optical flow-aided 6D object pose and velocity tracking | |
CN109318227B (zh) | 一种基于人形机器人的掷骰子方法及人形机器人 | |
CN112085838A (zh) | 自动清洁设备控制方法、装置及存储介质 | |
CN110490908B (zh) | 一种动态场景下小物体的位姿追踪方法及装置 | |
CN111340942A (zh) | 一种基于无人机的三维重建系统及其方法 | |
Parlange et al. | Vision-based autonomous navigation for wind turbine inspection using an unmanned aerial vehicle | |
CN116358517B (zh) | 一种用于机器人的高度地图构建方法、系统以及存储介质 | |
CN116958927A (zh) | 一种基于bev图识别矮小柱状体的方法及装置 | |
CN115578460B (zh) | 基于多模态特征提取与稠密预测的机器人抓取方法与系统 | |
WO2020098566A1 (zh) | 三维建模的方法、设备及计算机可读存储介质 | |
CN111899277A (zh) | 运动目标检测方法及装置、存储介质、电子装置 | |
US20230100238A1 (en) | Methods and systems for determining the 3d-locations, the local reference frames and the grasping patterns of grasping points of an object | |
CN111198563A (zh) | 一种用于足式机器人动态运动的地形识别方法及系统 | |
Park et al. | Performance evaluation of denoising algorithms for the 3D construction digital map | |
Pratomo et al. | Algorithm border tracing vs scanline in blob detection for robot soccer vision system |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |