Online Object Detection and Localization on Stereo Visual SLAM System

本文介绍了一种结合立体视觉SLAM与改进版R-CNN的系统,实现实时在线目标检测与定位。系统通过S-PTAM估计相机姿态,CNN进行目标分类,以及目标映射模块精确定位。实验在合成与自制数据集上验证,展示了良好的检测与定位性能。

基于立体视觉SLAM系统的在线目标检测与定位

1. 介绍

开发了一个SLAM系统,该系统建立在基于特征的双目SLAM系统 S-PTAM的基础上,与一个神经网络相结合,神经网络是对更快的R-CNN网络进行修改和扩展,将神经网络扩展到估计每个被检测对象的方向和尺寸,以及类和bounding box data。获得了一个可训练的端到端模型,该模型能够从图像中检测到的相机三维姿态,实时估计摄像机的姿态
还开发了一个目标映射模块,该模块使用S-PTAM估计的姿态和特征映射,以及网络计算的检测对象列表来定位重建的三维地图中的每个目标,利用目标检测模块提供的边界框、方向和目标大小,对初始目标进行粗略的姿态估计。

2. 方法

系统处理一系列立体图像,并在线构建带有语义标注的目标地图。地图中的每一个对象都由其Oriented Bounding Box(OBB)表示,OBB包括位置T、方向R和维度D,每个对象的语义标注通过CNN对其分类。
方法分为三个主要模块:S-PTAM模块,负责估计每个进入立体帧的摄像机姿态;RCNN模块,负责检测图像中的目标(只处理左帧);目标映射模块,负责估计和细化对象的位置。SLAM系统的体系结构

图1 SLAM系统的体系结构

2.1 RCNN模块(目标检测)

目标检测由基于Faster RCNN的CNN执行的,额外的层被添加到网络中以获得对象R和D( class
and bounding box
)的预测。改进的快速R-CNN架构

图2 改进的快速R-CNN架构

Conv.Net了该模型的五个卷积阶段,它的输出被一个区域建议网络(RPN)用来确定在图中进行池化的感兴趣区域(ROI)。使用几个具有ReLU(非线性整流函数)和经过dropout训练的完全连接层fc来预测每个区域的期望值。姿态回归也使用相同的方法(绿框中)。

2.2 S-PTAM+Object Mapping

CNN输出的检测列表被发送到对象映射模块,在该模块中,对象的姿态相对于S-PTAM处理的最近的关键帧进行估计,包括从二维边界框、方向和大小。利用S-PTAM点云数据进一步细化被测目标的位置,与地图中已存在的对象执行数据关联后,将执行数据融合以更新对象地图。
1) 粗目标姿态估计
结合对象R、D和2D边界框的估计,可以预测对象的3D边界框。
在这里插入图片描述

图3 边界立方体

选择一个位置T最小化边界框约束的重投影误差,在计算出目标的初始姿态估计后,利用S-PTAM估计的定位信息计算出重建后的地图坐标系中的目标姿态。
2)对象匹配
考虑图像中的边界立方体(蓝色)投影,确定新检测Bd的边界框与投影到图像平面Bp中的每个地图对象之间的边界框(红色)交集(IoU)。将每个观测值与期望观测值最相似的对象相匹配。如果每个映射对象的IoU值不大于给定的阈值,则认为已检测到新对象。
在这里插入图片描述
3) 位置优化
将每个对象与投影到图像平面上最接近对象边界框中心的映射点配对,并且只考虑在近似对象姿势的给定半径内的映射点来实现。
在这里插入图片描述

图4 姿态优化

4)目标观测融合
所有这些观测值的融合是通过在给定时刻关键帧获得每个参数的中值来完成,为了考虑到网络错误标记观察结果的可能性,不强制只融合具有相同类别的观察结果在这里插入图片描述
5)置信度
跟踪一个对象是阳性检测(inlier count)和失败检测(outlier ount)的时间,建立一个度量地图对象的置信度。三个阈值来区分对象的内部检测和异常检测的数量:一个用于可靠对象,一个用于将来可能变得可靠的不可靠对象,另一个用于必须从对象映射中删除的不可靠对象。

3. 实验

3.1 综合数据集
由于没有现有的数据集用于训练实验,作者融合PASCAL数据集(共4952个图像和20类不同类别的对象,如:“飞机”、“马”、“表”和“人”)和COCO数据集(82783个集合序列图像和mini-val(5000个像),共有81类对象),使用平均精度(MAP)来评估目标的检测和分类,平均方向相似性(AOS)用于测量检测和3D方向估计性能。当用合成图像训练模型时,训练模型的最终的MAP和AOS得分分别为0.49和0.35。
3.2 自制数据集
数据集被记录在不同的办公室,其中包含了训练数据集中使用的10类对象的以下子集:“椅子”、“监视器”和“沙发”。由于这些课桌的检测性能较低,课桌被排除在评估范围之外。在摄像机初始姿态坐标系下,人工测量物体的地面真实度。
在这里插入图片描述

图5 地面真实轨迹

图6中显示观察到的误差,包括每一类对象的每一序列平均不同类型的误差(位置误差、方向误差和尺寸误差),可以观察到沙发类的误差最大,但没有一个图像序列被误检。

在这里插入图片描述

图6 检测误差
In the context of computer vision, enhancing 3D object detection using stereo matching techniques involves leveraging the geometric constraints provided by stereo imagery to improve the accuracy and robustness of object detection algorithms. Stereo matching, which is the process of finding corresponding points between two images taken from slightly different viewpoints, can provide depth information that is crucial for 3D object detection. By utilizing this depth information, one can better understand the spatial layout of objects within a scene, thereby improving the detection performance. One approach to enhancing 3D object detection using stereo matching involves the integration of stereo vision principles with deep learning models. This can be achieved by designing neural network architectures that take advantage of the disparity maps generated from stereo pairs. Disparity maps represent the pixel-wise differences between the left and right images, which can be converted into depth maps. These depth maps can then be used as additional input channels to convolutional neural networks (CNNs), providing the model with explicit 3D information that can aid in object detection tasks. Moreover, the use of stereo matching can help in refining the bounding box predictions for objects in 3D space. Traditional 2D object detectors provide bounding boxes that are confined to the image plane. However, when combined with stereo matching, these detectors can be extended to predict 3D bounding boxes that encompass the objects in the real world, thus providing more accurate localization of objects in the environment. Another aspect of enhancing 3D object detection using stereo matching lies in the area of multi-view geometry. Multi-view geometry principles can be applied to ensure that the detected objects in 3D space are consistent across different views. This consistency check can help in reducing false positives and improving the overall reliability of the detection system. For instance, when implementing stereo matching techniques for 3D object detection, one might consider the following code snippet that demonstrates how to compute disparity maps using OpenCV, a popular computer vision library: ```python import cv2 import numpy as np # Load left and right images img_left = cv2.imread('left_image.png', 0) img_right = cv2.imread('right_image.png', 0) # Create a stereo block matching object stereo = cv2.StereoBM_create(numDisparities=16, blockSize=15) # Compute the disparity map disparity = stereo.compute(img_left, img_right) # Display the disparity map cv2.imshow('Disparity', disparity) cv2.waitKey(0) cv2.destroyAllWindows() ``` This code snippet uses the StereoBM algorithm from OpenCV to compute a disparity map from a pair of stereo images. The disparity map can then be used as input to a 3D object detection pipeline, where it serves as a proxy for depth information, enabling the detection of objects in three-dimensional space. Furthermore, the application of stereo matching in 3D object detection can benefit from the use of advanced stereo matching algorithms that can handle large disparities and varying lighting conditions. These algorithms can provide more accurate disparity maps, which in turn can lead to better 3D object detection results. In summary, enhancing 3D object detection using stereo matching techniques involves integrating stereo vision principles with modern machine learning models, utilizing disparity maps to provide depth information, applying multi-view geometry for consistency checks, and employing advanced stereo matching algorithms to handle challenging scenarios. By doing so, one can significantly improve the performance of 3D object detection systems in various applications, such as autonomous driving, robotics, and augmented reality.
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值