立体视觉避障

发布于 2024-11-19 11:06:47 字数 232 浏览 1 评论 0原文

我正在为移动机器人开发基于立体摄像头的避障系统。它将在室内使用,所以我假设地平面是平坦的。我们还可以设计自己的环境,这样我就可以避免产生误报或漏报的特定类型的障碍。

我已经找到了大量用于校准相机和排列图像的资源,以及有关生成视差图/深度图的信息。我正在努力解决的是从中检测障碍的技术。通过检测地平面来工作的技术也同样有用。

我正在使用 openCV,并使用《学习 OpenCV》一书作为参考。

谢谢大家

I'm working on a stereo-camera based obstacle avoidance system for a mobile robot. It'll be used indoors, so I'm working off the assumption that the ground plane is flat. We also get to design our own environment, so I can avoid specific types of obstacle that generate false positives or negatives.

I've already found plenty of resources for calibrating the cameras and getting the images lined up, as well as information on generating a disparity map/depth map. What I'm struggling with is techniques for detecting obstacles from this. A technique that instead worked by detecting the ground plane would be just as useful.

I'm working with openCV, and using the book Learning OpenCV as a reference.

Thanks, all

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

好听的两个字的网名 2024-11-26 11:06:47

从我读过的文献来看,主要有三种方法:

  1. 地平面方法从立体数据确定地平面,并假设所有不在平面上的点都是障碍物。如果您假设地面是图像中的主平面,那么您可以使用强大的模型拟合算法(例如 RANSAC)找到它只是重建点云的平面。

  2. 视差图方法跳过将立体输出转换为点云。我见过的最流行的算法称为 v-disparity 和 uv-disparity。两者都在视差图中寻找相同的属性,但 uv-disparity 可以检测到某些类型的障碍物,而 v-disparity 单独无法检测到。

  3. 点云方法将视差图投影到三维点云中并处理这些点。一个例子是“倒锥算法”,它使用最小障碍物高度、最大障碍物高度和最大地面倾斜度来检测任意非平坦地形上的障碍物。

在这三种方法中,检测地平面是最简单且最不可靠的。如果您的环境有稀疏的障碍物和有纹理的地面,那么这应该足够了。我对视差图方法没有太多经验,但结果看起来非常有希望。最后,Manduchi 算法在最广泛的条件下工作得非常好,包括在不平坦的地形上。不幸的是,它非常难以实现并且计算成本极高。

参考文献:

  • v-视差:Labayrade, R. 和 Aubert, D. 以及 Tarel, JP 通过 v-视差表示在非平坦道路几何体上实现立体视觉实时障碍物检测
  • < strong>uv 视差:Hu, Z. 和 Uchimura, K. UV 视差:基于立体视觉的场景分析的有效算法
  • 倒锥算法: Manduchi, R. 和 Castano, A. 和 Talukder, A. 和 Matthies, L. 用于自主越野导航的障碍物检测和地形分类

有几篇关于地平面障碍物检测算法的论文,但我不知道我脑子里浮现出一个好主意。如果您只需要一个起点,您可以在 此设计报告。没有足够的空间来讨论完整的实现,但它确实解决了您可能遇到的一些问题。

From the literature I've read, there are three main approaches:

  1. Ground plane approaches determine the ground plane from the stereo data and assume that all points that are not on the plane are obstacles. If you assume that the ground is the dominant plane in the image, then you may be able to find it simply a plane to the reconstructed point cloud using a robust model-fitting algorithm (such as RANSAC).

  2. Disparity map approaches skip converting the stereo output to a point cloud. The most popular algorithms I've seen are called v-disparity and uv-disparity. Both look for the same attributes in the disparity map, but uv-disparity can detect some types of obstacles that v-disparity alone cannot.

  3. Point cloud approaches project the disparity map into a three-dimensional point cloud and process those points. One example is "inverted cone algorithm" that uses a minimum obstacle height, maximum obstacle height, and maximum ground inclination to detect obstacles on arbitrary, non-flat, terrain.

Of these three approaches, detecting the ground-plane is the simplest and least reliable. If your environment has sparse obstacles and a textured ground, it should be sufficient. I don't have much experience with disparity-map approaches, but the results look very promising. Finally, the Manduchi algorithm works extremely well under the widest range of conditions, including on uneven terrain. Unfortunately, it is very difficult to implement and is extremely computationally expensive.

References:

  • v-Disparity: Labayrade, R. and Aubert, D. and Tarel, J.P.
Real time obstacle detection in stereovision on non flat road geometry through v-disparity representation
  • uv-Disparity: Hu, Z. and Uchimura, K.
UV-disparity: an efficient algorithm for stereovision based scene analysis
  • Inverted Cone Algorithm: Manduchi, R. and Castano, A. and Talukder, A. and Matthies, L.
Obstacle detection and terrain classification for autonomous off-road navigation

There are a few papers on ground-plane obstacle detection algorithms, but I don't know of a good one off the top of my head. If you just need a starting point, you can read about my implementation for a recent project in Section 4.2.3 and Section 4.3.4 of this design report. There was not enough space to discuss the full implementation, but it does address some of the problems you might encounter.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文