cong-yi / DMM

An Implicit Parametric Morphable Dental Model
51 stars 6 forks source link

preprocessing question #4

Open fabricecarles opened 1 year ago

fabricecarles commented 1 year ago

Dear Congyi Zhang, Thanks for releasing this great code and for your paper I am currently trying to adapt the preprocessing from DeepSDF and DIF-NET to try inference on others dental scans. I decoded your already preprocessed sample teeth_0000.npz and found the following :

surf (1000000, 5) 
 [[ 1.546e-01  1.385e-01  9.780e-02 -1.158e-04  0.000e+00]
 [ 3.004e-01  2.991e-02 -2.903e-02 -1.121e-04  0.000e+00]
 [-3.631e-01 -2.900e-02  3.725e-01  1.944e-04  0.000e+00]
 ...
 [-3.717e-01 -6.777e-02 -7.662e-03 -2.631e-04  0.000e+00]
 [-2.598e-01  3.294e-02  5.223e-02 -1.512e-04  0.000e+00]
 [ 2.061e-01  3.635e-02  4.215e-01 -2.431e-04  0.000e+00]]

pos (583544, 5) 
 [[-0.765 -0.643 -0.876  0.829 -1.   ]
 [ 0.395 -0.938 -0.854  1.051 -1.   ]
 [ 0.826 -0.398  0.209  0.489 -1.   ]
 ...
 [ 0.431 -0.804 -0.435  0.771 -1.   ]
 [-0.758  0.446 -0.968  0.713 -1.   ]
 [ 0.831 -0.763  0.232  0.784 -1.   ]]
neg (116456, 5) 
 [[-0.087  0.899  0.095 -0.714 -1.   ]
 [-0.333  0.431 -0.352 -0.361 -1.   ]
 [ 0.441  0.299  0.066 -0.125 -1.   ]
 ...
 [-0.55   0.818  0.803 -0.728 -1.   ]
 [ 0.041  0.884 -0.198 -0.724 -1.   ]
 [-0.375  0.226 -0.034 -0.211 -1.   ]]
normal (1000000, 3) 
 [[-0.695 -0.671 -0.26 ]
 [-0.813 -0.581  0.04 ]
 [-0.853 -0.318  0.414]
 ...
 [ 0.573 -0.231  0.787]
 [ 0.745 -0.657 -0.115]
 [-0.454 -0.784 -0.424]]

I exported the xyz point cloud and associated normals back in ply for visual checking and this is ok, but could you describe the columns and explain what is related to this data in your paper ?

Of course I would really appreciate if you could post the preprocessing code in addition to your answers

thank you for your work,

best regards

Fabrice

cong-yi commented 1 year ago

Hi Fabrice,

In a typical DeepSDF sampling process, there are three different types of sample points: surface points, positive points, and negative points. We provide these three types along with the corresponding ground truth SDF values for the purpose of comparison. However, it's worth noting that in our training and testing phases, we solely rely on the surface points along with their corresponding normals, as well as the positions of off-surface points. In this context, there is no necessity for utilizing SDF values. For the columns, we organize them as [x, y, z, SDF, label_id].

I will release some preprocessing codes later.

Best, Congyi

ramintkml commented 3 months ago

Dear Congyi Zhang, Thanks for releasing this great code and for your paper I am currently trying to adapt the preprocessing from DeepSDF and DIF-NET to try inference on others dental scans. I decoded your already preprocessed sample teeth_0000.npz and found the following :

surf (1000000, 5) 
 [[ 1.546e-01  1.385e-01  9.780e-02 -1.158e-04  0.000e+00]
 [ 3.004e-01  2.991e-02 -2.903e-02 -1.121e-04  0.000e+00]
 [-3.631e-01 -2.900e-02  3.725e-01  1.944e-04  0.000e+00]
 ...
 [-3.717e-01 -6.777e-02 -7.662e-03 -2.631e-04  0.000e+00]
 [-2.598e-01  3.294e-02  5.223e-02 -1.512e-04  0.000e+00]
 [ 2.061e-01  3.635e-02  4.215e-01 -2.431e-04  0.000e+00]]

pos (583544, 5) 
 [[-0.765 -0.643 -0.876  0.829 -1.   ]
 [ 0.395 -0.938 -0.854  1.051 -1.   ]
 [ 0.826 -0.398  0.209  0.489 -1.   ]
 ...
 [ 0.431 -0.804 -0.435  0.771 -1.   ]
 [-0.758  0.446 -0.968  0.713 -1.   ]
 [ 0.831 -0.763  0.232  0.784 -1.   ]]
neg (116456, 5) 
 [[-0.087  0.899  0.095 -0.714 -1.   ]
 [-0.333  0.431 -0.352 -0.361 -1.   ]
 [ 0.441  0.299  0.066 -0.125 -1.   ]
 ...
 [-0.55   0.818  0.803 -0.728 -1.   ]
 [ 0.041  0.884 -0.198 -0.724 -1.   ]
 [-0.375  0.226 -0.034 -0.211 -1.   ]]
normal (1000000, 3) 
 [[-0.695 -0.671 -0.26 ]
 [-0.813 -0.581  0.04 ]
 [-0.853 -0.318  0.414]
 ...
 [ 0.573 -0.231  0.787]
 [ 0.745 -0.657 -0.115]
 [-0.454 -0.784 -0.424]]

I exported the xyz point cloud and associated normals back in ply for visual checking and this is ok, but could you describe the columns and explain what is related to this data in your paper ?

Of course I would really appreciate if you could post the preprocessing code in addition to your answers

thank you for your work,

best regards

Fabrice

Hello, do you found any method for preprocessing data? I have some dental models with ".obj" format and I have tried preprocessing my data using DeepSDF but I was not successful. now I try am trying to use mesh_to_sdf library but I am a little cofused about values for example what is "label_id" or are the three numbers in the "surf" key for each surface, the X,Y,Z coordinates of each surface or not? and also what are other two numbers?

Best regards