DrifterFun

One need not hope in order to undertake, nor succeed in order to persevere.

DRE-SLAM中有关动像素点检测的方法

2019-02-24


下图展示了DRE-SLAM中有关动像素点检测的方法的相关技术路线。它综合了Object detection和Multiview geometry的方法。

图片名称

1. Object detection的方法

在这个部分中只能够使用YOLOv3来实现,因为YOLO是使用Darknet写的,而Darknet是一个基于c++的库,于是在一个i7-8700的平台上能够达到6-7帧。但是,使用YOLO可能会出现漏检,并且在现实生活中一些可能会移动的物体在这一步中也被忽略了比如:书本、椅子和桌子。因此需要基于Multiview geometry的方法对动像素进行补充。

2. Multiview geometry的方法

在深度图中将由Object detection步骤中bounding box中的像素值去掉,然后将深度图投影为3D点云,然后用K-means进行聚类之后将深度图做成了几个集群。在每个集群中选取一定数量的像素点(100)判断每一个点是否是动点,若动点大于静点则该集群所有点属于动态的,若动点小于静点则该集群所有点属于静态的。

至于一个点是否属于动点,判断的方法如下。首先将这个点投影为3D点,之后将这个3D点投影到附近关键帧的坐标系上,在投影到附近关键帧的2维平面上。然后关键帧的平面上找到像素点反着投影回3D点,找寻到最小的距离。若这个距离大于一个阈值则认为该点是一个动点,若小于一个阈值则认为是一个静点。