alr-internship / self-supervised-depth-denoising

Denoising YCB Objects with a self-supervised deep neural network
MIT License
9 stars 0 forks source link

mask ycb objects to focus network denoising on relevant part #13

Closed claudius-kienle closed 2 years ago

claudius-kienle commented 2 years ago

Compute a mask for the recorded dataset since the denoising is only relevant for the objects themselves and not the background. Therefore, add a method to compute a mask

claudius-kienle commented 2 years ago

Plane segmentation to compute the mask Problem: rs plane is not even enough, parts of object get segmented as plane

claudius-kienle commented 2 years ago

Region Growing Problem: hard to pick correct hyperparameters and thresholds (like color and adjance distance)

claudius-kienle commented 2 years ago

Mask-RCNN trained on YCB Video Dataset. First really working method. Still, the computed masks are not precise always and often include parts of the background/floor or leave out parts of the objects/dont detect them at all

claudius-kienle commented 2 years ago

Mask computation with multiple region growing:

So it takes the calibrated data, calculates a region growing on it that is based on the normal of the point cloud and then selects the clusters that are noisy or not close to certain points. Then another region growing is started on the united Point cloud, which is now simply dbscan, i.e. a density-based region growing. From the resulting clusters, the largest is taken and then recursively merged with the neighboring clusters. Neighboring clusters are clusters whose minimum distance falls below a certain threshold (15 cm). At the end the whole thing is transformed back into 2d and then the mask is calculated. That's just everything that isn't Nan. This is all done on the zivid data and since they are calibrated, the mask also applies to the rs images