Hierarchical Defeaturing Pipeline
Thomas J McMorrow
Personal research & engineering
A long-standing personal project in geometry and incremental computation, developed toward a working prototype with extensive AI assistance.
I have wanted to work on this project for a long time. Developing the mathematics, building the software, and testing the results is extremely time consuming. Recent advances in AI led me to take a leap: could these models help carry the project as far as a working prototype?
The original idea and the direction of the project are mine. I have used AI extensively to draft mathematical arguments, write and revise code, explore alternative designs, and construct tests. My role has been to define the problem and requirements, direct that exploration, question the results, and decide how the work should develop.
I am sharing this as an example of a personal project and of how I work with AI to pursue ideas that would otherwise be difficult to develop with the time available to me. The pages here contain the resulting research, experimental implementations, and open questions.
Current stage: research and prototype development.
The problem
How can a machine learning model learn to recognize an underlying 3D shape through holes, pockets, chamfers, and other geometric details? The project explores generating many labeled variations of geometry for that purpose. Producing those variations efficiently is a substantial computational problem of its own.
The approach
The pipeline passes descriptions of changes, called deltas, between its stages. A stage can inspect a change, reuse earlier work, and translate it into a change for the next stage. Full recomputation remains available whenever an incremental method cannot be used.
The accompanying mathematics asks when an update has enough information to be exact, which other inputs it must consult, and when prepared work can be reused safely. The C++ implementations explore how to make those ideas practical.
Explore the work
- Group Orbit Hypothesis: States the project's learning hypothesis: inexpensive, controlled variations of known shapes may help a model recognize unfamiliar shapes under a fixed time budget. It explains the geometric motivation, relevant research, and experiments needed to test that claim.
- Prerequisite Mathematical Definitions: Introduces the mathematical language for deciding what an update needs to know: transition and transform independence, sufficient context, and contextual ordering.
- Delta Type Concept: Develops the delta abstraction and the conditions for exact incremental updates. It shows how work depending on context can be prepared once and reused, and how the order of changes affects that reuse.
- Delta Type Classes: Presents seven experimental C++ delta implementations, with readable and downloadable source. The summaries compare their choices for representation, ownership, deferred computation, caching, and composition.
- Delta Type Consumer: Describes how pipeline stages turn incoming changes into outgoing changes. Its Base, Derivatives, and Router architecture combines a full computation with optional incremental rules, deferred results, and fallback when no suitable rule applies.