No deep learning (i don’t really use the gpu much in this project),
The 3d perception is from the udacity robotics nanodegree project
It uses an SVM classifier
In order to extract the features we spawn the objects in random orientations (see Gif) and concacenate the features in histograms (HSV color and Surface normals), this will give us with pickle a training_set.sav file,
Then with that data we train the SVM classifier (with PCL library and sklearn) and will give the trained classifier in a model.sav file
Then with the PCL library we can downsample the pointcloud (voxel), crop it (optional), remove outliers
After that we with RANSAC we remove the floor, and with eucledian clustering we separate the different objects in multiple pointclouds. But we still don’t know which object is which. For that we use our trained classifier, put some label in rviz and calculate the centoroids. Finally with TF we can transform this 3d location relative to the robot etc…
On the read me you can find which launch files you can run, if you are familiar with ros