【发布时间】:2018-03-22 19:17:52
【问题描述】:
这是我在这里的第一篇文章,大家好。
我正在开展一个项目,该项目涉及用 c++ 或 python 编写一个程序,该程序将检测障碍物并将用于 AR.Drone 2.0。但是,我不知道我应该采取哪种方法。
最初,有人建议我使用 opencv 和光流。我找到了一些关于它的视频和论文,一种方法是:将 AR.Drone 相机的每一帧划分为 2(左/右侧)或 4(另外是上下),并计算每个部分的光流。然后,向光流较少的方向飞行。
但我对此有些怀疑:
1)我应该使用哪种光流计算方法?我知道在 opencv 中提供了计算密集或稀疏光流的方法。在这个应用程序中我应该选择哪一个?密集光流会不会太慢,无法满足实时性要求?
2)我猜当无人机左右或上下移动时,我会得到一些由无人机移动引起的“假”矢量,而不是因为迫在眉睫的障碍物。如何防止这种情况?
另一个解决方案告诉我here 显示的方法(描述中的论文链接)和实现它的人github link 但是作者承认他“从来没有在无人机上正常进行障碍物检测”。
有人告诉我的另一个选择是将实感摄像头连接到无人机上,并以某种方式使用它提取有关障碍物的信息。
所以,我的问题是 - 我应该走哪条路?或者是否有其他方法可以适用于我描述的应用程序并且相对容易实现?
提前感谢您的每一个回复。
【问题讨论】:
-
你的无人机可以携带什么载荷(传感器+计算机等)?
-
除了@Rethunk 的问题,你还想避开什么类型的障碍?只有大的吗?人造的?
-
@Jello 我认为像youtube.com/watch?v=9QQCGLKuUxc 这样的结果会很好。但是,我愿意实施一个适用于另一种障碍的系统。你所说的“大的”和人造的是什么意思?我知道仅使用一台普通相机是不可能实现复杂且完美的避障系统的。我没有写的一件事——所有计算都将在笔记本电脑上完成——而不是无人机内部的单元(项目基于机器人操作系统)
-
@Rethunk 我的无人机是 Parrot AR.Drone 2.0,所以我想它的承载能力不会超过提到的 realsense 或类似重量的东西。
-
@anicet95 我不知道你会在什么样的环境中飞行。如果你在室内进行完全控制的实验,那么我会说你可以反映他们在那个视频中所做的事情.这似乎是贴在柱子上的控制图像的对象检测/模式识别。在处理植被等有机环境时,光流可能不可靠,这就是为什么我询问人造障碍物的原因。所以你会将视频流式传输到地面站,对吗?
标签: python opencv image-processing computer-vision realsense