这是我在这里的第一篇文章,所以大家好。
我正在做一个项目,涉及到用c++或python编写一个程序,该程序将检测障碍物,并将用于AR.Drone 2.0。然而,我不知道我应该采取哪种方法。
最初,我被建议使用opencv和optocal。我已经找到了一些关于它的视频和论文,其中一种方法是:将AR.Drone的相机的每一帧划分为2(左/右)或4(另外向上和底部),并计算每个部分的光流。然后,沿着光流较小的方向飞行。
然而,我对此有一些怀疑:
1)光流计算应该使用哪种方法?我知道在opencv中提供了计算密集或稀疏光流的方法。我应该在这个应用程序中选择哪一个?密集的光流会不会太慢,无法满足实时要求?
2)我猜,当无人机左右移动或上下移动时,我会得到一些“假”矢量,这些矢量是由无人机的移动造成的,而不是因为迫在眉睫的障碍物。如何防止这种情况发生?
另一个解决方案告诉我关于一个方法显示here (描述中的论文链接)和一个实现它的人github link然而,作者承认他“从来没有让障碍物检测在无人机上正常工作”。
我被告知的另一个选择是将realsense摄像头连接到无人机上,并以某种方式使用它提取有关障碍物的信息。
所以,我的问题是--我应该走哪条路?或者,有没有其他方法可以做到这一点,这将适用于我描述的应用程序,并且相对容易实现?
提前感谢您的每一次回复。
发布于 2018-03-26 21:29:32
我不确定你的项目的范围,无论这是学术还是专业的,但我的建议是使用控制图像的物体检测,摄像头直接面对无人机。如果检测到该物体,你可以根据它的大小来估计它与无人机的距离。由于它是一个控制图像,它应该有一个恒定的大小,你应该记录多少像素是在不同的距离你的相机。这样你就可以建立一个模型了。一旦你知道物体有多远,你就可以确定它是否是障碍物。
一旦检测变得足够大,确定它是否在飞行路线中。然后移动无人机,使检测框的坐标不再位于您的飞行路径中。
对于检测,您可以使用Google's detection api,它附带了许多实体检测器/分类器,或者如果您希望在项目中添加一个深度层,您可以训练自己的层。PyImageSearch是一个很好的起点。如果你觉得非常科学,你可以直接进入Tensorflow。
祝你好运!
发布于 2019-05-14 13:19:41
试试开源项目https://github.com/generalized-intelligence/GAAS,它使用立体摄像机和SLAM来检测障碍物。
https://stackoverflow.com/questions/49436765
复制相似问题