Hi jingwei,
I am currently following your wonderful work. After running your code, I have some questions about the dataset.
First, in dataset.py, I consider F and SF as faces and the primitive type of faces. But the numbers of F is much more than xyz_origin which is strange. So, what's the meaning of F and SF and why don't just use primitive type and primitive idx of each point, just like ParseNet and others?
xyz_origin, normal, boundary, F, SF = data['V'], data['N'], data['B'], data['F'], data['S']
Second, also in dataset.py, I consider the variable 'semantic' as the primitive type of each point. And this variable also be packed into batch['semantic_gt'] as ground truth.
semantics = np.zeros((xyz_origin.shape[0]), dtype='int32')
semantics[F[:, 0]] = SF; semantics[F[:, 1]] = SF; semantics[F[:, 2]] = SF
But when I visualize one point cloud and add colors to each point according to 'semantics', the visualization results and color_map are blow:

The orange part seems incorrect which a spline is labeled as a plane. And the cyclinder in purple also is labeled as cone.
color_map={
# (key:value represents primitiveType: rgb)
1: [255, 127, 14], # plane orange
3: [148, 103, 189], # cone purple
4: [31, 119, 180], # cyclinder blue
5: [44, 160, 44], # sphere green
2: [220,220,220], # open b-spline gray
8: [220,220,220], # open b-spline gray
0: [220,220,220], # closed b-spline gray
6: [220,220,220], # closed b-spline gray
7: [220,220,220], # closed b-spline gray
9: [220,220,220], # closed b-spline gray
}
So, my question is, did the [1,3,4,5] represents to [plane, cone, cyclinder, sphere] separately just like ParseNet? Or you may use other representation?
Thanks in advance for your reply and code!
Hi jingwei,
I am currently following your wonderful work. After running your code, I have some questions about the dataset.
First, in dataset.py, I consider F and SF as faces and the primitive type of faces. But the numbers of F is much more than xyz_origin which is strange. So, what's the meaning of F and SF and why don't just use primitive type and primitive idx of each point, just like ParseNet and others?
xyz_origin, normal, boundary, F, SF = data['V'], data['N'], data['B'], data['F'], data['S']Second, also in dataset.py, I consider the variable 'semantic' as the primitive type of each point. And this variable also be packed into batch['semantic_gt'] as ground truth.

semantics = np.zeros((xyz_origin.shape[0]), dtype='int32')semantics[F[:, 0]] = SF; semantics[F[:, 1]] = SF; semantics[F[:, 2]] = SFBut when I visualize one point cloud and add colors to each point according to 'semantics', the visualization results and color_map are blow:
The orange part seems incorrect which a spline is labeled as a plane. And the cyclinder in purple also is labeled as cone.
color_map={
So, my question is, did the [1,3,4,5] represents to [plane, cone, cyclinder, sphere] separately just like ParseNet? Or you may use other representation?
Thanks in advance for your reply and code!