It seems that the process of individually labeling points in 3D point clouds is no small task. I believe that's why tools like these exist:
But ... what if there are only two things you wish to distinguish?
I would think there'd be some way to use a binary classifier to label 2 groups in a point cloud:
- The first group: the feature you're after
- The second group: everything else, meaning all other points
In my mind, here's what would happen ---
- You'd supply two image categories, one category with the feature you want to find, the other category without that feature. There would be no per-point labeling. For example, say you want to find a dog, and everything that's not a dog. You could supply 1000 point clouds WITH dogs, and 1000 point clouds WITHOUT dogs.
- During the classification (say, in something like PointNet below), your nx1024 array would light up in some way that means "dog is somewhere in this point cloud."
- The nx1024 array's n-direction max indices --- the ones that contribute to the 1x1024 global vector's unique "dog" signature --- would (if I am not mistaken) correspond to the original nx3 points (through the affine transformation mapping/reverse lookup). These points ought to be the "dog" points?
- Perhaps my previous bullet is only true if the nx3 input array has some restrictions tied to it --- (a) the point cloud "images" are all from the same sensor; (b) the sensor is positioned in the same way across all images of the same scene; and (c) the sensor data get loaded into an array via the same procedure. This way, the nx1024 array could be thought of as a signature.
My perception w.r.t. what PointNet does could be WAY off base.
Basically, here's my fundamental question --- is there any way to get at the "dog labels" if I restrict myself to a binary classification? Or, is there something that already does what I'm asking about, but I've missed it?
Here's why I'm asking: I would like to be able to label my point clouds using an iterative sequence of binary point cloud classifiers. This way, I could label my point clouds by running each one through M different binary point cloud classifiers, where M is the number of label categories involved in a subsequent semantic part segmentation process.