AutodeskAILab / UV-Net

Code for UV-Net: Learning from Boundary Representations, CVPR 2021.
MIT License
82 stars 14 forks source link

Using own data #4

Closed theveloped closed 2 years ago

theveloped commented 3 years ago

thanks for sharing the amazing work done on UV-net. I'm very eager to do some tests on my own data and was wondering if you could give me some pointers on getting started. I'm familiar with pythonOCC and adjacency graphs, however fairly new to deep learning.

pradeep-pyro commented 3 years ago

Hi, Thanks for your interest. To train on custom data, the idea is to create face-adjacency graphs with UV-grids as node and edge features and save them in a format that is understood by UV-Net i.e., DGL based graphs in .bin format (there is a brief note in the readme here).

Once the data is available in this format, a dataloader has to be written based on the existing examples in the datasets folder. For classification, the graph itself and a tensor containing the label index has to be returned (see here). For face segmentation, the per-face label index has to be stored in the graph as a node attribute named "y" (see here). Finally, the training/testing scripts have to modified to account for your new dataset. E.g., you may want to add a new item to the --dataset argument here.

The data processing to convert solid models to .bin files for the paper was done using a proprietary solid modeling kernel and format. We have recently been moving all this pre-processing to pythonOCC so that an end-user can run a Python script on a folder of .step files and get the .bin files in a format that can be fed to UV-Net.

This needs a bit more testing before release, and will be done soon.