top of page
Search

Machine Learning Mesh Re-topology

  • Writer: Gary Yang
    Gary Yang
  • Oct 25
  • 2 min read

Updated: Oct 26

This project is an attempt to learn machine learning and by extension python. While I'm only just started I'm going to update this post with my most recent work on it.

Hello World of Machine learning, Gen 1 model with a small data set of 1 mesh
Hello World of Machine learning, Gen 1 model with a small data set of 1 mesh

With a combination of libraries like Pytorch, Trimesh and torch-geometric. It's been a flurry of learning how ML models work, how python libraries and build systems work (pip & UV) and much more.


The Premise

Take rig ready meshes and degrade them to be in a state like it ether came fresh out of Zbrush or an AI tool like Meshy. Train a model to then fix those meshes by converging the model scoring it based on the original rig ready mesh.


The Mesh Degrader

This has been the biggest engineering challenge of this project. While I would like it to eventually be an ML model that can work to fight the retopologizer model so they can improve each other I'm currently using a procedural method bootstrap the retopologizer model. Using a combination of edge flips and chaotic use of edge collapse

Data Collection

There have been a few open source data sets of rig ready models but I've also been building python scripts to scrape them from various websites and other sources.


The Retopologizer

Still training as you read this! Between the need for more rig ready models and the enormous amount of data inside meshes. This is taking awhile. But I am currently using Graph Neural Networks to train on mesh data.This is an active and on going project and document around it's progress.


Future Plans

  1. Generative Adversarial Networks GANs: I would like to eventually move away from procedural mesh degrading as long as it I can still verify the mesh at least on the surface looks the same

  2. Knowledge Distillation: Once the model becomes sufficiently smart enough. I would like to train a smaller model on it to improve speed and reduce model size.

  3. A more formal white paper: After I get this project into a satisfactory state I would like to write a paper to document my findings but also to help me solidify the things I've learned


 
 
 

Comments


bottom of page