Mesh Feature Detection With Neural Network/Machine Learning?

I have been trying for some time to come up with a robust ‘salient ridge/valley’ curve detection method for mesh analysis. So far I have tried using curvature analysis point clustering, mesh walkers, and also a method posted by Daniel Piker using face to face angles to extract the mesh edges between faces who’s normal angle differs by a defined threshold. Yet neither methods are quite giving me the desired result as they either miss some features or are simply composed of disconnected edges an not a continuous curve.

There is a paper describing a method using tensor maths, yet I’m unable to translate the mathematics into a Grasshopper workflow.

I am wondering if it is even possible to achieve such result with a machine learning approach inside GH using either Owl or Dodo plugins for example?

This is an example of the kind of triangulated 3D scans I am using. ScannedMesh.3dm (1.6 MB)

And this is the result i’m working towards (From Extracting Scar and Ridge Features from 3D-scanned Lithic Artifacts )

Any advice on how to proceed would be really appreciated!

I don’t think you can use supervised learning here (for lack of samples) and I doubt very much that you get better results using unsupervised learning without including some kind of sub-process that extracts the edges, which in the end is the problem solver. ML solves fundamentally statistical/approximation problems, and at first glance I don’t think it’s the best idea to model this problem that way, because to get the necessary data to find patterns you have to develop the algorithm you need.

If you summarize or pseudo-code those papers maybe someone can help you with a geometric solution.