我正在使用具有以下信息的对象分割数据集:
Introduced: IROS 2012
Device: Kinect v1
Description: 111 RGBD images of stacked and occluding objects on table.
Labelling: Per-pixel segmentation into objects.
页面链接:http://www.acin.tuwien.ac.at/?id=289
我正在尝试使用数据集提供的深度图。但是,深度图似乎完全是黑色的。
我尝试进行一些预处理并对图像进行标准化处理,以便可以以灰色图像的形式显示深度图。
img_depth = cv2.imread("depth_map.png",-1) #depth_map.png has uint16 data type
depth_array = np.array(img_depth, dtype=np.float32)
frame = cv2.normalize(depth_array, depth_array, 0, 1, cv2.NORM_MINMAX)
cv2.imwrite('capture_depth.png',frame*255)
在stackoverflow中的一篇帖子中,我读到这些黑色补丁是未定义深度图的区域。
如果我必须使用此深度图,那么填充这些未定义区域的最佳方法是什么?(我正在考虑用K-最近邻居填充这些区域但感觉可能会更好方式)。
是否存在没有此类问题的RGB-D数据集或这些问题始终存在?解决此类问题的最佳方法是什么?
提前致谢!
答案 0 :(得分:2)
几乎每种3D成像技术都会产生无效或缺失点的数据。缺乏纹理,太陡峭的斜坡,遮蔽,透明度,反射,......你的名字。
填充这些洞没有神奇的解决方案。您需要某种插值,或者您可能会根据某些模型替换缺失点。
互联网上到处都是填充洞的方法。大多数强度图像技术都可以成功应用于深度图像。
这取决于您的应用程序,您的要求以及您对对象的了解。
3d中的数据质量是时间,金钱以及对象和技术的正确组合的问题。
答案 1 :(得分:1)