Intro

I was approached by a potential client to produce a training dataset for an AI model that would be able to generate and validate the remeshing of 3D geometries, or in short, describe a 3D geometry with the optimal number of polygons. Additionally, they gave me the option to train the model myself, which was very interesting.

Well, the project sounded fantastic to me. So fantastic that even the folks at the Ministry of Fantastic called and asked if I could send them some Fantasticity. Instead, I bought a one-way ticket for EDA.

EDA

There are literally just a few 3D packages that produce good remeshing options:

  • Houdini
  • ZBrush

The client suggested that I could also look into photogrammetry software, which isn’t a bad idea at all!

Producing the Training Dataset

Given an input in the form of a 3D model, the system would produce a Meshroom 3D model, with Meshroom’s topology. This part is quite easy to do and relies on Houdini’s TOPs:

  • Create a multi-camera setup
  • Render the model to images from several angles
  • Feed the images to Meshroom as a separate process
  • Import the produced 3D model and package it along with the original model with custom shaders that show the wireframe of the model
  • Render the two models side by side from several angles to produce training data

The Camera Setup

After several attempts with this small pipeline, I discovered many failed reconstructions by Meshroom, which prompted me to change the camera setup configurations and locations. It worked quite well, and by this point, I was able to reduce the reconstruction failures to about 10%.

The Voice

Sometimes I hear a tiny voice inside, telling me things. It’s that tiny squeaky voice warning me that something might be off. And 100% of the time, that voice is right. This time, the voice spoke and told me: Nope! Don’t do it.

The Data

One cold morning, so cold that even my dog ordered a new blanket on Amazon, I got the set of 3D models to use. Well, actually, I didn’t. Because the file sent to me was a .rar file with a password. Ok, nothing weird here; it’s actually okay for data protection.

The file contained about 4 x 3D models, quite neatly organized in a folder structure,

Conclusion

Ti-tu-ta-te-ti … (Composing the number of the client), here is broadly how the conversation went:

# Phonecall
Seb: "I have trouble reading the 3D dataset"
Client: "Why?"
Seb: "I actually don't know why, there are 83 files with *.torrent extension". 
Client: "Yeah, you have to download them". 
Seb: "I have a question."
Client: "Yes?"
Seb: "Do you have a document that states you own those 3D models?"
Client: "No, but why do you care?"
Seb: "Because I do."
Seb: Right-Click > Remove