CN114613002B - 基于光线投影原理的运动视角下动态物体检测方法及系统 - Google Patents

基于光线投影原理的运动视角下动态物体检测方法及系统 Download PDF

Info

Publication number
CN114613002B
CN114613002B CN202210161356.8A CN202210161356A CN114613002B CN 114613002 B CN114613002 B CN 114613002B CN 202210161356 A CN202210161356 A CN 202210161356A CN 114613002 B CN114613002 B CN 114613002B
Authority
CN
China
Prior art keywords
dynamic object
depth
time
depth image
information
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
Application number
CN202210161356.8A
Other languages
English (en)
Other versions
CN114613002A (zh
Inventor
方浩
王奥博
胡展铭
魏韶谆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN202210161356.8A priority Critical patent/CN114613002B/zh
Publication of CN114613002A publication Critical patent/CN114613002A/zh
Application granted granted Critical
Publication of CN114613002B publication Critical patent/CN114613002B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了基于光线投影原理的运动视角下动态物体检测方法及系统,以相机位姿、彩色图像和深度图像作为基本输入,使用以光线投影原理为基础的动态物体检测算法对画面中的动态物体进行检测。程序接收到以上消息后使用消息队列对其进行匹配,使用上一时刻的深度图像结合位姿信息进行投影变换,得到本时刻的深度图像预测。然后将本时刻的深度图像预测与本时刻的深度图像观测进行对比,进行相应操作后得到动态物体对应区域。最后将动态物体的中心坐标、运动速度、彩色点云信息进行发布输出。本发明解决了大部分环境感知框架以静态环境为前提,无法感知物体运动信息的问题。

Description

基于光线投影原理的运动视角下动态物体检测方法及系统
技术领域
本发明涉及机器人感知和计算机视觉领域技术领域,具体涉及一种基于光线投影原理的运动视角下动态物体检测方法及系统。
背景技术
基于视觉的同时定位与建图(Visual Simultaneous Localization andMapping,VSLAM)方法是指通过分析相机获取的图像信息流来估计移动机器人位姿的一种方法。移动机器人系统经常需要执行一些复杂的任务,获知自身的位置和姿态对移动机器人而言尤为重要。相机相较于其他类型的传感器具有重量轻、漂移小、价格低等优点,适合一些小型无人平台进行环境感知。VSLAM生成的可以用于定位的稀疏的点云地图,但是由于它稀疏的性质无法满足导航与路径规划的需求。为了解决这一问题,常在定位与导航规划之间增加独立的建图模块,将无人平台配备深度传感器并使用建图模块结合位姿信息建立稠密的占据栅格地图,供导航与路径规划使用。
以上算法模块均建立在场景静止的假设之下,当无人平台进入动态环境后,需要配备动态物体检测模块来对环境中的动态物体进行感知。在动态场景下,无人平台需要感知动态物体的位姿、形状和速度等信息来规划安全的路线。针对动态场景有以下几种类型的解决方案:
方案1:文献J.Zhang,M.Henein,R.Mahony,and V.Ila,“VDO-SLAM:A VisualDynamic Object-aware SLAM System,”arXiv:2005.11052,2020.该文献以ORB-SLAM为基础,使用深度学习的方法进行动态物体检测。文献使用静态环境上的特征点与动态目标中的特征点构建优化问题,使用后端优化估计自身姿态变化与动态物体姿态变化。该方案有着优秀的检测效果,在自身位置估计的同时可以输出动态物体的位姿和速度。但是由于该方法使用了离线的语义分割图像,需要使用到深度学习网络,这就带来了极大的运算量。其他的一些基于深度学习的方案也对运算量要求极大,尤其在无人机等小型无人平台上无法满足算力要求以及实时性的要求。
方案2:文献Zhang T,Zhang H,Li Y,et al.FlowFusion:Dynamic Dense RGB-DSLAM Based on Optical Flow[J].2020.该文献采用了光流法检测动态物体检测,通过迭代来使检测结果更加精确。但是由于光流法具有灰度不变、图像灰度梯度均匀、运动较小较强的假设,对使用场景有着较强的要求。同时由于相机自身运动以及噪声信号等的存在,基于光流法的动态检测算法在实践中发现误差较大,常常出现误检测等现象。
方案3:文献Dai W,Zhang Y,Zheng Y,et al.RGB-D SLAM with moving objecttracking in dynamic environments[J].IET Cyber-Systems and Robotics.该文献采用光线投影原理将传统的SLAM的地图点进行投影,将地图点分为动态和静态并将地图点之间相关联并进行优化。该方法有着优秀的检测效果,但是由于该方法将动态检测和SLAM紧耦合在一起,限制了SLAM方案的选择。
综合以上现有技术方案,可以看出目前已有的针对动态物体检测的方案存在检测误差较大,应用任务场景范围较小,需要依赖特定的SLAM框架等缺点,其实时性和准确性均较差,无法满足目前无人平台在动态环境中对动态物体检测的实时性、准确性以及适用场景的要求。
发明内容
有鉴于此,本发明提供了基于光线投影原理的运动视角下动态物体检测方法及系统,其检测误差小,应用任务场景范围较大,不需要依赖特定的SLAM框架,实时性和准确性均较好,能够满足目前无人平台在动态环境中对动态物体检测的实时性、准确性以及适用场景的要求。
为达到上述目的,本发明的技术方案—基于光线投影原理的运动视角下动态物体检测方法,包括以下步骤:
步骤1:采用上一时刻的深度图像Dt-1结合位姿信息Tt,t-1进行投影变换,得到本时刻的深度投影预测图D′t,将D′t与本时刻的深度图像观测Dt相减求绝对值,得到深度投影误差图
Figure BDA0003514848260000031
步骤2:
Figure BDA0003514848260000032
中包含了物体的运动信息,还包含着噪声信号;结合实验中/>
Figure BDA0003514848260000033
噪声的特点,对/>
Figure BDA0003514848260000034
依次进行二值化、腐蚀膨胀、高斯滤波,得到动态目标对应的二维区域,将动态物体对应彩色点云进行输出。
步骤3:对动态物体进行建模,使用卡尔曼滤波器对动态物体中心进行滤波操作,预测到动态物体的速度信息,将动态物体中心坐标x以及动态物体的速度
Figure BDA0003514848260000035
进行输出。
进一步地,步骤1还包括:
接收到来自视觉传感器发送的三种消息,包括位姿信息、深度图像和彩色图像;三种消息的时间不同步,对三种消息在时间上进行匹配;
匹配成功后,构建新的消息结构Mt,Mt包括结构时刻t、位姿变换矩阵Tt、深度图像Dt、彩色图像Ft;将消息结构Mt=(t,Tt,Dt,Ft)储存在更新队列。
进一步地,对三种消息在时间上进行匹配,具体为:
为三种消息构建各自的匹配队列,分别为位姿匹配队列、深度图像匹配队列以及彩色图像匹配队列。
将新接收到的三种消息存入各自的匹配队列中,每当新的深度图像到来都在三种匹配队列中进行一轮搜索,以深度图像匹配队列中深度图像的时间为参考时间,分别与彩色图像匹配队列和位置信息匹配队列中进行匹配;若匹配队列中各时间差均小于阈值时认为匹配成功,构造新的消息结构Mt;在匹配成功的匹配队列中删除匹配成功的消息防止重复匹配,并且每次匹配过程结束后,根据时间区间判断出没有匹配结果的信息并删除,防止重复查询。
进一步地,步骤1,具体包括以下步骤:
取更新队列相邻的两消息取出本时刻深度图像Dt和上一时刻深度图像Dt-1,由Tt-1和Tt-1计算得到两帧之间相对位姿变换Tt,t-1
Figure BDA0003514848260000042
其中P为三维空间一点,在t-1时刻P被深度图Dt-1观测到,对应的像素为pt-1=[ut- 1vt-1]T,ut-1为t-1时刻在深度图像中的像素坐标,vt-1为t-1时刻在深度图像中的像素坐标,t-1时刻点的深度为Zt-1,在Tt-1对应的位姿坐标系下空间点P对应空间坐标Pt-1=[Xt-1 Yt-1Zt-1]T;在t时刻P被深度图Dt观测到,对应的像素为pt=[ut vt]T,ut为t时刻在深度图像中的像素坐标,vt为t时刻在深度图像中的像素坐标,点的深度为Zt,在Tt对应的坐标系下空间点P对应空间坐标Pt=[Xt Yt Zt]T
空间点坐标和像素坐标之间有如下关系,
Figure BDA0003514848260000041
其中u、v分别是像素横坐标与像素纵坐标,u的取值包括ut、ut-1,v的取值包括vt-1、vt,X、Y、Z分别是空间三个轴向坐标,X的取值包括Xt-1、Xt,Y的取值包括Yt-1、Yt,Z的取值包括Zt-1、Zt,下标t代表其在t时刻的取值,下标t-1代表在t-1时刻的取值;fx、fy、cx和cy为相机内参,fx、fy分别为相机图像二维坐标系两个方向上的相机焦距、cx、cy分别为相机图像二维坐标系两个方向上的相机偏移量;K是相机的内参矩阵:
Figure BDA0003514848260000051
因此,在两个时刻分别有:
Figure BDA0003514848260000052
Figure BDA0003514848260000053
并且同一空间点在两个坐标系下的空间坐标有以下关系:
Figure BDA0003514848260000054
联立以上式子求解,即使用t-1时刻深度图的每一个像素以及其深度测量值,结合相机内参矩阵K与Tt,t-1去预测该空间点在t时刻对应的像素坐标p′t=[u′t v′t]T以及点的深度预测值Z′t;其中p′t、u′t、v′t、Z′t增加了上标表示对pt、ut、vt、Zt的预测值。
对深度图像中每一个点进行上述操作就可以得到一张完整的t时刻的深度投影预测图D′t;对每一点上t时刻的深度预测和t时刻的深度观测做差求绝对值,就得到了深度投影误差图
Figure BDA0003514848260000055
至此得到了一张t时刻的深度投影预测图D′t以及深度投影误差图/>
Figure BDA0003514848260000056
进一步地,步骤2中,对
Figure BDA0003514848260000057
进行二值化,具体包括以下步骤:
通过物体运动速度阈值velocity_thesh、程序处理频率f结合深度系数DepthScale确定二值化阈值threshold:
Figure BDA0003514848260000058
根据计算得到的深度阈值对深度误差图中每一个像素进行二值化操作,对应的公式如下:
Figure BDA0003514848260000061
Figure BDA0003514848260000062
是/>
Figure BDA0003514848260000063
第j行的第i列对应的深度误差值,g(j,i)是二值化后误差图中第j行的第i列对应的值。
进一步地,步骤2中,
Figure BDA00035148482600000613
依次进行二值化、腐蚀膨胀、高斯滤波,得到动态目标对应的二维区域;其中高斯滤波使用标准差σ,大小为(2k+1)×(2k+1)的卷积核,将图像进行高斯滤波,根据高斯公式确定卷积核中第j行i列的权重h(j,i)如下:
Figure BDA0003514848260000064
进一步地,步骤3:对动态物体进行建模,使用卡尔曼滤波器对动态物体中心进行滤波操作,预测到动态物体的速度信息,将动态物体中心坐标x以及动态物体的速度
Figure BDA0003514848260000065
进行输出,具体为:
使用xk=[Xk Yk Zk]T表示动态物体空间位置中心,
Figure BDA0003514848260000066
表示动态物体的速度,Δt表示程序观测的时间间隔;由于缺乏动态物体的加速度信息,假设物体具有恒定的运动速度:
Figure BDA0003514848260000067
Figure BDA0003514848260000068
Δt=tk-tk-1
Figure BDA0003514848260000069
为状态变量构造线性的运动学模型:
Figure BDA00035148482600000610
模型的运动方程为:
Figure BDA00035148482600000611
模型的观测方程为:
Figure BDA00035148482600000612
Ak与H的具体取值如下:
Figure BDA0003514848260000071
H=[I3x3 03x3]
上式中Ak为状态矩阵;vk为运动过程中受到的噪声;H为观测矩阵;wk为观测过程中受到的噪声;zk为观测值;I3x3为3×3的单位矩阵;03x3为3×3的零矩阵。
其中受到随机噪声影响,更新过程和观测过程误差呈高斯分布:vk~N(0,Q),wk~N(0,R),其中Q与R分别为运动过程与观测过程中噪声的协方差矩阵;使用此模型按照通用的流程构造卡尔曼滤波器。
采用所构造的卡尔曼滤波器对动态物体的中心进行滤波,得到滤波后的中心坐标以及对应的速度预测。
本发明的另外一个实施例还提供了基于管线投影原理的运动视角下动态物体检测系统,构造执行上述基于光线投影原理的运动视角下动态物体检测方法的软件程序,包括深度投影模块、动态物体检测模块以及卡尔曼滤波模块。
深度投影模块,采用上一时刻的深度图像Dt-1结合位姿信息Tt,t-1进行投影变换,得到本时刻的深度投影预测图D′t,将D′t与本时刻的深度图像观测Dt相减求绝对值,得到深度投影误差图
Figure BDA0003514848260000072
动态物体检测模块,
Figure BDA0003514848260000073
中包含了物体的运动信息,还包含着噪声信号;结合实验中/>
Figure BDA0003514848260000074
噪声的特点,对/>
Figure BDA0003514848260000075
依次进行二值化、腐蚀膨胀、高斯滤波,得到动态目标对应的二维区域,将动态物体对应彩色点云进行输出。
卡尔曼滤波模块,对动态物体进行建模,使用卡尔曼滤波器对动态物体中心进行滤波操作,预测到动态物体的速度信息,将动态物体中心坐标x以及动态物体的速度x·进行输出。
软件程序运行在机器人操作系统ROS平台,形成动态物体检测系统。
在软件程序中选择图像下采样,同时更新对应的内参矩阵的参数;选定缩放系数为α,相应的内参系数变化为:f′x=αfx;f′y=αfy;c′x=αcx;c′y=αcy
优选地,在CPU版本程序上采用多线程技术将软件程序进行改写,其中nt是线程数,nc是CPU核数;nt=nc+1。
优选地,在GPU版本程序上采用CUDA编程将软件程序在GPU上进行部署。
有益效果:
本发明提供的基于光线投影原理的运动视角下动态物体检测方法及系统,以相机位姿、彩色图像和深度图像作为基本输入,使用以光线投影原理为基础的动态物体检测算法对画面中的动态物体进行检测。程序接收到以上消息后使用消息队列对其进行匹配,使用上一时刻的深度图像结合位姿信息进行投影变换,得到本时刻的深度图像预测。然后将本时刻的深度图像预测与本时刻的深度图像观测进行对比,进行相应操作后得到动态物体对应区域。最后将动态物体的中心坐标、运动速度、彩色点云信息进行发布输出。本发明解决了大部分环境感知框架以静态环境为前提,无法感知物体运动信息的问题。
本发明无需物体模型先验知识,使用几何方法实现动态目标检测。本发明使用视觉图像和位置消息作为输入,可以可靠的感知环境中存在的动态物体的位置、形状、速度等信息,相较于基于深度学习的方法只能利用训练过的语义模型识别特定的动态物体,本发明无需具备对被检测对象先验知识,只关注于物体是否运动本身。因此本发明不仅可以完成动态检测的任务还可以适用于更广阔的任务场景。
本发明采用模块化设计,输入信息简单适用性强。相较于一般解决方案中和SLAM前端紧耦合的方式,本发明采用模块化的设计,无需依赖特定的SLAM框架,可以在模块搭配上提供更多的选择。本发明输入采用容易获取的位姿信息、深度图像和彩色图像,也极大的方便了模块间的信息交互,降低了不同模块相互搭配的难度。
占用运算资源少,方便无人平台实时性以及计算能力的要求。本发明经过算法流程优化以及采用编程技巧,可以使用较少的计算资源完成动态物体检测,同时满足实时性的要求。
附图说明
图1—动态物体检测框架图;
图2—光线投影原理图;
图3—光线投影流程图;
图4—卡尔曼滤波效果图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明提供了一种基于光线投影原理的运动视角下动态物体检测方法,本发明的核心框架如图1所示。
步骤1:程序通过机器人操作系统ROS平台,接收到来自视觉传感器发送的位姿信息、深度图像和彩色图像。三种消息的时间不同步,因此对消息在时间上进行匹配。
首先将新接收到的消息存入各自的匹配队列中,每当新的深度图像到来都在三种消息队列中进行一轮搜索,以队列中深度图像的时间为参考时间,在彩色图像和位置信息队列中进行匹配。当时间差均小于阈值时认为匹配成功,构造新的消息结构Mt。根据实验现象发现,需要在匹配成功后在匹配队列中删除对应的消息防止重复匹配,并且每次匹配过程结束需要根据时间区间判断出没有匹配结果的信息并删除,防止重复查询造成运算资源的浪费甚至程序的运行失败。新的消息结构Mt包括结构时刻t、位姿变换矩阵Tt、深度图像Dt、彩色图像Ft。将消息结构Mt=(t,Tt,Dt,Ft)储存在更新队列。其中位姿变换矩阵Tt即为位姿信息。
取更新队列相邻的两消息取出本时刻深度图像Dt和上一时刻深度图像Dt-1,由Tt-1和Tt-1计算得到两帧之间相对位姿变换Tt,t-1
Figure BDA0003514848260000102
该原理如图2所示,其中P为三维空间一点,在t-1时刻P被深度图Dt-1观测到,对应的像素为pt-1=[ut-1vt-1]T,ut-1为t-1时刻在深度图像中的像素坐标,vt-1为t-1时刻在深度图像中的像素坐标,点的深度为Zt-1,在Tt-1对应的坐标系下空间点P对应空间坐标Pt-1=[Xt-1 Yt-1 Zt-1]T;在t时刻P被深度图Dt观测到,对应的像素为pt=[ut vt]T,ut为t时刻在深度图像中的像素坐标,vt为t时刻在深度图像中的像素坐标,点的深度为Zt,在Tt对应的坐标系下空间点P对应空间坐标Pt=[Xt Yt Zt]T。其中u、v分别是像素横坐标与像素纵坐标,X、Y、Z分别是空间三个轴向坐标,下标t代表其在t时刻的取值。
空间点坐标和像素坐标之间有如下关系,
Figure BDA0003514848260000101
其中u、v分别是像素横坐标与像素纵坐标,u的取值包括ut、ut-1,v的取值包括vt-1、vt,X、Y、Z分别是空间三个轴向坐标,X的取值包括Xt-1、Xt,Y的取值包括Yt-1、Yt,Z的取值包括Zt-1、Zt,下标t代表其在t时刻的取值,下标t-1代表在t-1时刻的取值;fx、fy、cx和cy为相机内参,fx、fy分别为相机图像二维坐标系两个方向上的相机焦距、cx、cy分别为相机图像二维坐标系两个方向上的相机偏移量;K是相机的内参矩阵:
其中fx、fy分别为两个方向上的相机焦距、cx、cy分别为两个方向上的相机偏移量,写成矩阵形式
Figure BDA0003514848260000111
其中K是相机的内参矩阵:
Figure BDA0003514848260000112
因此,在两个时刻分别有:
Figure BDA0003514848260000113
Figure BDA0003514848260000114
并且同一空间点在两个坐标系下的空间坐标有以下关系:
Figure BDA0003514848260000115
联立以上式子求解,就可以使用t-1时刻深度图的每一个像素以及其深度测量值,结合相机内参矩阵K与Tt,t-1去预测该空间点在t时刻对应的像素坐标p′t=[u′t v′t]T以及点的深度预测值Z′t。其中p′t、u′t、v′t、Z′t增加了上标表示对pt、ut、vt、Zt的预测。
忽略噪声的影响,如图2所示。当场景中没有动态物体时,该点的深度预测值Z′t等于深度观测值Zt,深度预测误差为0。但是当场景中有动态物体时,由于动态物体的出现,该处的深度观测值发生变化,从而深度预测值Z′t不等于深度观测值Zt,深度预测误差不为0。
按照如图3所示的过程,对深度图像中每一个点进行上述操作就可以得到一张完整的t时刻的深度投影预测图D′t。对每一点上t时刻的深度预测和t时刻的深度观测做差求绝对值,就得到了深度投影误差图
Figure BDA0003514848260000121
至此得到了一张t时刻的深度投影预测图D′t以及深度投影误差图
Figure BDA0003514848260000122
可以进行之后的操作。
步骤二:动态物体检测以及噪声过滤算法
Figure BDA0003514848260000123
中包含了物体的运动信息,因此可以使用/>
Figure BDA0003514848260000124
对动态物体进行检测。同时由于深度图像的噪声和位姿估计误差,/>
Figure BDA0003514848260000125
还包含着噪声信号。经过实验观察,这些噪声区域往往具有以下特点:噪声区域面积较小、存在多个噪声区域且彼此之间相互分离、噪声产生的观测误差较大。针对以上特点,本发明采用依次进行二值化、形态学滤波、高斯滤波、寻找连通域、动态物体检测。
通过物体运动速度阈值velocity_thesh、程序处理频率f结合深度系数DepthScale确定二值化阈值threshold:
Figure BDA0003514848260000126
根据计算得到的深度阈值对深度误差图中每一个像素进行二值化操作,当误差大于阈值时即认为此像素点对应空间点处于运动状态,否则则认为该像素点对应空间点静止。对应的公式如下,
Figure BDA0003514848260000127
是/>
Figure BDA0003514848260000128
第j行的第i列对应的深度误差值,g(j,i)是二值化后第j行的第i列对应的值。
Figure BDA0003514848260000129
经过二值化后的误差图由于噪声存在,除了检测到运动物体对应区域外还会出现噪声点对应区域。根据噪声面积较小且噪声之间相互分离特点,采用形态学滤波算法,将二值化后的图像先后进行腐蚀膨胀操作,将小面积的噪声消除,同时将大范围的动态物体保留。经过了腐蚀操作后噪声对应的区域被过滤掉,同时算法保留了动态物体的主体部分。经过腐蚀操作的主体部分存在孔洞,进行膨胀操作后算法将检测主体部分进行还原,得到了较为完整的动态物体区域。
为了防止中间细小的动态物体在形态学滤波后被分成两个部分,再进行高斯滤波,解决上述问题,同时将物体的边界进行平滑。使用标准差σ,大小为(2k+1)×(2k+1)的卷积核,将图像进行高斯滤波。其中的具体参数根据实验设定,根据高斯公式确定卷积核中第j行i列的权重如下:
Figure BDA0003514848260000131
对滤波后的图像进行连通域的查找,使用OpenCV中的connectedComponentsWithStats函数即可得到原图像中的标记图,每个连通域的外接矩形和面积以及质心的位置。考虑到滤波算法对检测精度带来一定影响,只有检测到的动态物体面积大于画面的百分之一时才认为该处存在动态物体,并将物体信息进行输出,否则不输出物体信息。
步骤3:对动态物体进行建模,使用卡尔曼滤波器对动态物体中心进行滤波操作,预测到动态物体的速度信息,将动态物体中心坐标x以及动态物体的速度
Figure BDA0003514848260000132
进行输出。
以上步骤可以检测到动态物体带有噪声的三维空间坐标,噪声来源于深度图像噪声、位姿估计噪声、视角范围限制等。因此采用卡尔曼滤波算法对动态物体中心进行滤波以及对动态物体速度进行预测。对动态障碍物建立以下模型:
使用xk=[Xk Yk Zk]T表示动态物体空间位置中心,
Figure BDA0003514848260000133
表示动态物体的速度,Δt表示程序观测的时间间隔。由于缺乏动态物体的加速度信息,假设物体具有恒定的运动速度:
Figure BDA0003514848260000134
Figure BDA0003514848260000135
Δt=tk-tk-1
Figure BDA0003514848260000136
为状态变量构造线性的运动学模型:
Figure BDA0003514848260000141
模型的运动方程为:
Figure BDA0003514848260000142
模型的观测方程为:
Figure BDA0003514848260000143
Ak与H的具体取值如下:
Figure BDA0003514848260000144
H=[I3x3 03x3]
上式中Ak为状态矩阵;vk为运动过程中受到的噪声;H为观测矩阵;wk为观测过程中受到的噪声;zk为观测值;I3x3为3×3的单位矩阵;03x3为3×3的零矩阵。
其中受到随机噪声影响,更新过程和观测过程误差呈高斯分布:vk~N(0,Q),wk~N(0,R),其中Q与R分别为运动过程与观测过程中噪声的协方差矩阵。使用此模型按照通用的流程构造卡尔曼滤波器,使用到的其他符号均为中间过程量,下标p表示状态估计值,下标m表示最优估计值,k与k-1是离散时刻:
Figure BDA0003514848260000145
Figure BDA0003514848260000146
Kk=Pp,kHT(HPp,kHT+R)-1
Figure BDA0003514848260000147
Figure BDA0003514848260000148
按照此过程对动态物体的中心进行滤波,就可以得到滤波后的中心坐标以及对应的速度预测。
为了验证本发明提供的检测方法的效果,本发明根据实验中动态物体中心坐标出现的特点,设计了一条带有噪声的中心轨迹。该物体中心沿着空间直线匀速前进,为轨迹增加了高斯噪声来模拟算法成功检测时结果中的误差,为轨迹按照一定概率增加值为零的噪声,以模拟算法在某些时候失效。整个算法的效果如图4所示,左边是未经滤波的轨迹图,右边是经过卡尔曼滤波的轨迹图,图中的长直线为轨迹真值,可以看到卡尔曼滤波器对物体的轨迹有着较好的滤波效果。
本发明的另外一个实施例还提供了一种执行上述基于光线投影原理的运动视角下动态物体检测方法的系统,即构造执行上述基于光线投影原理的运动视角下动态物体检测方法的软件程序,包括深度投影模块、动态物体检测模块以及卡尔曼滤波模块。
深度投影模块,采用上一时刻的深度图像Dt-1结合位姿信息Tt,t-1进行投影变换,得到本时刻的深度投影预测图D′t,将D′t与本时刻的深度图像观测Dt相减求绝对值,得到深度投影误差图
Figure BDA0003514848260000151
动态物体检测模块,
Figure BDA0003514848260000152
中包含了物体的运动信息,还包含着噪声信号;结合实验中/>
Figure BDA0003514848260000153
噪声的特点,对/>
Figure BDA0003514848260000154
依次进行二值化、腐蚀膨胀、高斯滤波,得到动态目标对应的二维区域,将动态物体对应彩色点云进行输出。
卡尔曼滤波模块,对动态物体进行建模,使用卡尔曼滤波器对动态物体中心进行滤波操作,预测到动态物体的速度信息,将动态物体中心坐标x以及动态物体的速度
Figure BDA0003514848260000155
进行输出。
软件程序运行在机器人操作系统ROS平台,形成动态物体检测系统。
在CPU版本程序上采用多线程技术将软件程序进行改写,其中nt是线程数,nc是CPU核数;nt=nc+1。
在GPU版本程序上采用CUDA编程将软件程序在GPU上进行部署。
由于以上软件程序本身对无人平台的算力要求较高,本发明采用了一些方法来对该检测方法进行加速。
首先在程序中可以选择图像下采样,同时更新对应的内参矩阵的参数。下采样操作可以缩小图像尺寸到可处理的范围内,减少算力消耗。根据实验过程选定缩放系数为α,在本实验条件下选定α=0.5;相应的内参系数变化为:
f′x=αfx f′y=αfy
c′x=αcx c′y=αcy
其次在CPU版本动态物体检测程序中本发明采用了多线程技术,将最为耗时的光线投影操作分为若干个独立的线程,提高了CPU的利用效率。对于线程数的设定,采取经验公式,其中nt是线程数,nc是CPU核数。
nt=nc+1
最后针对拥有GPU运算资源的平台,本发明的GPU版本的程序可以将算法运行效率进一步提高。使用基于NVIDIA的CUDA进行GPU编程实现。CUDA是一种基于C++的GPU编程语言,专门用于NVIDIA显卡的开发,可以进行高效的多线程并行处理
在本发明中,图像尺寸为Width×Height,将图像数据传递到GPU显存当中,GPU接收到数据后,开启总共Width×Height数量的线程进行并行处理,每个线程处理一个像素点的深度数据。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.基于光线投影原理的运动视角下动态物体检测方法,其特征在于,包括以下步骤:
步骤1:采用上一时刻的深度图像Dt-1结合位姿信息Tt,t-1进行投影变换,得到本时刻的深度投影预测图D′t,将D′t与本时刻的深度图像观测Dt相减求绝对值,得到深度投影误差图
Figure FDA0004149206790000011
步骤2:
Figure FDA0004149206790000012
中包含了物体的运动信息,还包含着噪声信号;结合实验中/>
Figure FDA0004149206790000013
噪声的特点,对/>
Figure FDA0004149206790000014
依次进行二值化、腐蚀膨胀、高斯滤波,得到动态目标对应的二维区域,将动态物体对应彩色点云进行输出;
步骤3:对动态物体进行建模,使用卡尔曼滤波器对动态物体中心进行滤波操作,预测到动态物体的速度信息,将动态物体中心坐标x以及动态物体的速度
Figure FDA0004149206790000015
进行输出;
所述步骤1还包括:
接收到来自视觉传感器发送的三种消息,包括位姿信息、深度图像和彩色图像;三种消息的时间不同步,对三种消息在时间上进行匹配;
匹配成功后,构建新的消息结构Mt,Mt包括结构时刻t、位姿变换矩阵Tt、深度图像Dt、彩色图像Ft;将消息结构Mt=(t,Tt,Dt,Ft)储存在更新队列;
所述对三种消息在时间上进行匹配,具体为:
为三种消息构建各自的匹配队列,分别为位姿匹配队列、深度图像匹配队列以及彩色图像匹配队列;
将新接收到的三种消息存入各自的匹配队列中,每当新的深度图像到来都在三种匹配队列中进行一轮搜索,以深度图像匹配队列中深度图像的时间为参考时间,分别与彩色图像匹配队列和位置信息匹配队列中进行匹配;若匹配队列中各时间差均小于阈值时认为匹配成功,构造新的消息结构Mt;在匹配成功的匹配队列中删除匹配成功的消息防止重复匹配,并且每次匹配过程结束后,根据时间区间判断出没有匹配结果的信息并删除,防止重复查询;
所述步骤1,具体包括以下步骤:
取更新队列相邻的两消息取出本时刻深度图像Dt和上一时刻深度图像Dt-1,由Tt-1和Tt-1计算得到两帧之间相对位姿变换Tt,t-1
Figure FDA0004149206790000021
其中P为三维空间一点,在t-1时刻P被深度图Dt-1观测到,对应的像素为pt-1=[ut-1vt-1]T,ut-1为t-1时刻在深度图像中的像素坐标,vt-1为t-1时刻在深度图像中的像素坐标,t-1时刻点的深度为Zt-1,在Tt-1对应的位姿坐标系下空间点P对应空间坐标Pt-1=[Xt-1 Yt-1Zt-1]T;在t时刻P被深度图Dt观测到,对应的像素为pt=[ut vt]T,ut为t时刻在深度图像中的像素坐标,vt为t时刻在深度图像中的像素坐标,点的深度为Zt,在Tt对应的坐标系下空间点P对应空间坐标Pt=[Xt Yt Zt]T
空间点坐标和像素坐标之间有如下关系,
Figure FDA0004149206790000022
其中u、v分别是像素横坐标与像素纵坐标,u的取值包括ut、ut-1,v的取值包括vt-1、vt,X、Y、Z分别是空间三个轴向坐标,X的取值包括Xt-1、Xt,Y的取值包括Yt-1、Yt,Z的取值包括Zt-1、Zt,下标t代表其在t时刻的取值,下标t-1代表在t-1时刻的取值;fx、fy、cx和cy为相机内参,fx、fy分别为相机图像二维坐标系两个方向上的相机焦距、cx、cy分别为相机图像二维坐标系两个方向上的相机偏移量;K是相机的内参矩阵:
Figure FDA0004149206790000023
因此,在两个时刻分别有:
Figure FDA0004149206790000031
Figure FDA0004149206790000032
并且同一空间点在两个坐标系下的空间坐标有以下关系:
Figure FDA0004149206790000033
联立以上式子求解,即使用t-1时刻深度图的每一个像素以及其深度测量值,结合相机内参矩阵K与Tt,t-1去预测该空间点在t时刻对应的像素坐标p′t=[u′t v′t]T以及点的深度预测值Z′t;其中p′t、u′t、v′t、Z′t增加了上标表示对pt、ut、vt、Zt的预测值;
对深度图像中每一个点进行上述操作就可以得到一张完整的t时刻的深度投影预测图D′t;对每一点上t时刻的深度预测和t时刻的深度观测做差求绝对值,就得到了深度投影误差图
Figure FDA0004149206790000034
至此得到了一张t时刻的深度投影预测图D′t以及深度投影误差图/>
Figure FDA0004149206790000035
2.如权利要求1所述的基于光线投影原理的运动视角下动态物体检测方法,其特征在于,所述步骤2中,对
Figure FDA0004149206790000036
进行二值化,具体包括以下步骤:
通过物体运动速度阈值velocity_thesh、程序处理频率f结合深度系数DepthScale确定二值化阈值threshold:
Figure FDA0004149206790000037
根据计算得到的深度阈值对深度误差图中每一个像素进行二值化操作,对应的公式如下:
Figure FDA0004149206790000041
Figure FDA0004149206790000042
是/>
Figure FDA0004149206790000043
第j行的第i列对应的深度误差值,g(j,i)是二值化后误差图中第j行的第i列对应的值。
3.如权利要求2所述的基于光线投影原理的运动视角下动态物体检测方法,其特征在于,所述步骤2中,
Figure FDA0004149206790000044
依次进行二值化、腐蚀膨胀、高斯滤波,得到动态目标对应的二维区域;其中高斯滤波使用标准差σ,大小为(2k+1)×(2k+1)的卷积核,将图像进行高斯滤波,根据高斯公式确定卷积核中第j行i列的权重h(j,i)如下:
Figure FDA0004149206790000045
4.如权利要求3所述的基于光线投影原理的运动视角下动态物体检测方法,其特征在于,所述步骤3:对动态物体进行建模,使用卡尔曼滤波器对动态物体中心进行滤波操作,预测到动态物体的速度信息,将动态物体中心坐标x以及动态物体的速度
Figure FDA0004149206790000046
进行输出,具体为:
使用xk=[Xk Yk Zk]T表示动态物体空间位置中心,
Figure FDA0004149206790000047
表示动态物体的速度,Δt表示程序观测的时间间隔;由于缺乏动态物体的加速度信息,假设物体具有恒定的运动速度:
Figure FDA0004149206790000048
Figure FDA0004149206790000049
Δt=tk-tk-1
Figure FDA00041492067900000410
为状态变量构造线性的运动学模型:
Figure FDA00041492067900000411
模型的运动方程为:
Figure FDA00041492067900000412
模型的观测方程为:
Figure FDA0004149206790000051
Ak与H的具体取值如下:
Figure FDA0004149206790000052
H=[I3x3 03x3]
上式中Ak为状态矩阵;vk为运动过程中受到的噪声;H为观测矩阵;wk为观测过程中受到的噪声;zk为观测值;I3x3为3×3的单位矩阵;03x3为3×3的零矩阵;
其中受到随机噪声影响,更新过程和观测过程误差呈高斯分布:vk~N(0,Q),wk~N(0,R),其中Q与R分别为运动过程与观测过程中噪声的协方差矩阵;使用此模型按照通用的流程构造卡尔曼滤波器;
采用所构造的卡尔曼滤波器对动态物体的中心进行滤波,得到滤波后的中心坐标以及对应的速度预测。
5.基于管线投影原理的运动视角下动态物体检测系统,其特征在于,构造执行如权利要求1~4所述的基于光线投影原理的运动视角下动态物体检测方法的软件程序,包括深度投影模块、动态物体检测模块以及卡尔曼滤波模块;
所述深度投影模块,采用上一时刻的深度图像Dt-1结合位姿信息Tt,t-1进行投影变换,得到本时刻的深度投影预测图D′t,将D′t与本时刻的深度图像观测Dt相减求绝对值,得到深度投影误差图
Figure FDA0004149206790000053
所述动态物体检测模块,
Figure FDA0004149206790000054
中包含了物体的运动信息,还包含着噪声信号;结合实验中
Figure FDA0004149206790000055
噪声的特点,对/>
Figure FDA0004149206790000056
依次进行二值化、腐蚀膨胀、高斯滤波,得到动态目标对应的二维区域,将动态物体对应彩色点云进行输出;
所述卡尔曼滤波模块,对动态物体进行建模,使用卡尔曼滤波器对动态物体中心进行滤波操作,预测到动态物体的速度信息,将动态物体中心坐标x以及动态物体的速度
Figure FDA0004149206790000057
进行输出;
所述软件程序运行在机器人操作系统ROS平台,形成动态物体检测系统;
在软件程序中选择图像下采样,同时更新对应的内参矩阵的参数;选定缩放系数为α,相应的内参系数变化为:f′x=αfx;f′y=αfy;c′x=αcx;c′y=αcy
6.如权利要求5所述的基于管线投影原理的运动视角下动态物体检测系统,其特征在于,在CPU版本程序上采用多线程技术将所述软件程序进行改写,其中nt是线程数,nc是CPU核数;nt=nc+1。
7.如权利要求5所述的基于管线投影原理的运动视角下动态物体检测系统,其特征在于,在GPU版本程序上采用CUDA编程将所述软件程序在GPU上进行部署。
CN202210161356.8A 2022-02-22 2022-02-22 基于光线投影原理的运动视角下动态物体检测方法及系统 Active CN114613002B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210161356.8A CN114613002B (zh) 2022-02-22 2022-02-22 基于光线投影原理的运动视角下动态物体检测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210161356.8A CN114613002B (zh) 2022-02-22 2022-02-22 基于光线投影原理的运动视角下动态物体检测方法及系统

Publications (2)

Publication Number Publication Date
CN114613002A CN114613002A (zh) 2022-06-10
CN114613002B true CN114613002B (zh) 2023-06-27

Family

ID=81859784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210161356.8A Active CN114613002B (zh) 2022-02-22 2022-02-22 基于光线投影原理的运动视角下动态物体检测方法及系统

Country Status (1)

Country Link
CN (1) CN114613002B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110706248A (zh) * 2019-08-20 2020-01-17 广东工业大学 一种基于slam的视觉感知建图算法及移动机器人
CN112378409A (zh) * 2020-12-01 2021-02-19 杭州宇芯机器人科技有限公司 动态环境下基于几何与运动约束的机器人rgb-d slam方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101619076B1 (ko) * 2009-08-25 2016-05-10 삼성전자 주식회사 모바일 플랫폼의 동적 물체 검출 및 추적 방법
US9940553B2 (en) * 2013-02-22 2018-04-10 Microsoft Technology Licensing, Llc Camera/object pose from predicted coordinates
KR102209008B1 (ko) * 2014-02-17 2021-01-28 삼성전자주식회사 카메라 포즈 추정 장치 및 카메라 포즈 추정 방법
CN107808407B (zh) * 2017-10-16 2020-12-18 亿航智能设备(广州)有限公司 基于双目相机的无人机视觉slam方法、无人机及存储介质
CN111968129B (zh) * 2020-07-15 2023-11-07 上海交通大学 具有语义感知的即时定位与地图构建系统及方法
CN113066129A (zh) * 2021-04-12 2021-07-02 北京理工大学 基于动态环境下的目标检测的视觉定位与建图系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110706248A (zh) * 2019-08-20 2020-01-17 广东工业大学 一种基于slam的视觉感知建图算法及移动机器人
CN112378409A (zh) * 2020-12-01 2021-02-19 杭州宇芯机器人科技有限公司 动态环境下基于几何与运动约束的机器人rgb-d slam方法

Also Published As

Publication number Publication date
CN114613002A (zh) 2022-06-10

Similar Documents

Publication Publication Date Title
CN111862126B (zh) 深度学习与几何算法结合的非合作目标相对位姿估计方法
CN108230361B (zh) 用无人机探测器和追踪器融合来增强目标追踪方法及系统
CN108898676B (zh) 一种虚实物体之间碰撞及遮挡检测方法及系统
CN112304307A (zh) 一种基于多传感器融合的定位方法、装置和存储介质
KR20190030474A (ko) 신뢰도에 기초하여 깊이 맵을 산출하는 방법 및 장치
Henson et al. Attitude-trajectory estimation for forward-looking multibeam sonar based on acoustic image registration
CN114636414A (zh) 高清晰度城市地图绘制
CN111739066B (zh) 一种基于高斯过程的视觉定位方法、系统及存储介质
CN114494150A (zh) 一种基于半直接法的单目视觉里程计的设计方法
CN115496900A (zh) 一种基于稀疏融合的在线碳语义地图构建方法
Ge et al. Vipose: Real-time visual-inertial 6d object pose tracking
Xiong et al. Multi-uncertainty captured multi-robot lidar odometry and mapping framework for large-scale environments
Wei et al. Novel robust simultaneous localization and mapping for long-term autonomous robots
Le et al. Human detection and tracking for autonomous human-following quadcopter
Yubo et al. Survey of UAV autonomous landing based on vision processing
CN114613002B (zh) 基于光线投影原理的运动视角下动态物体检测方法及系统
CN115239899B (zh) 位姿图生成方法、高精地图生成方法和装置
Zhang et al. Hybrid iteration and optimization-based three-dimensional reconstruction for space non-cooperative targets with monocular vision and sparse lidar fusion
CN112069997B (zh) 一种基于DenseHR-Net的无人机自主着陆目标提取方法及装置
de Boer et al. Choosing between optical flow algorithms for UAV position change measurement
CN115668282A (zh) 图像处理系统和方法
Nguyen Computationally-efficient visual inertial odometry for autonomous vehicle
Picard et al. A survey on real-time 3D scene reconstruction with SLAM methods in embedded systems
Vidal et al. Object Visual Tracking Using Window-Matching Techniques and Kalman Filtering
Gong Kalman Filter-based Signal Processing for Robot Target Tracking

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