PrimitiveNet
PrimitiveNet copied to clipboard
Questions about input data and how to get primitive indexs of each point
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!
I have the same question.
LuciusPennyworth
Is it possible to share the data using some other cloud drive other than Baidu? Could not get it downloaded from the link given in the script file.