# GNM: Google's parametric human head model and the ecosystem planned around it

> GNM is an open ecosystem of parametric human models, of which only GNM Head ships today. It is a high-resolution 3D morphable head with eyeballs, teeth and tongue inside it, and it runs on four frameworks.

**google/GNM** — An open ecosystem of parametric human models and perception stacks, starting with GNM Head.

- Repository: https://github.com/google/GNM
- Stars: 1,527 · Forks: 170
- Language: Python
- License: Apache-2.0
- Published: 2026-10-06 · Updated: 2026-10-06 · Language: en
- Canonical page: https://hysenlabs.com/projects/google-gnm

## A 3D morphable model, with the head as the only package that exists

The acronym expands to Generative aNthropometric Model, and the README explains the pronunciation reference: genome. The stated goal is to be the most accurate and complete 3D parametric human model, delivered as a family of packages rather than a single model. That framing matters for how you read everything else here, because the repository is an umbrella with one entry in it.

That entry is GNM Head, described as a high-fidelity statistical 3D model of the human head. The README is explicit that this is where the open release begins, and it uses the phrase beginning our open-source release to say so. The wider plan is a suite of statistical models complemented by perception and analysis technology, so the ecosystem is the product and GNM Head is the first piece of it.

A 3D morphable model, or 3DMM, is the standard way computer vision and graphics represent human faces: a mean face plus a set of principal components that span the variation seen in a training population. You sample a coefficient vector, add it to the mean, and get a face. The whole approach dates back decades and is what animatable, controllable avatars are normally built on. GNM's claim is not to invent the idea but to raise its resolution and its coverage of interior structure.

## Identity, expression and pose kept as separate controls

The package table describes GNM Head as providing fine-grained, disentangled control over identity, expressions and head pose. Disentangled is the word doing the work: if identity, expression and pose live in separate parameter groups, you can change a smile without shifting the face underneath it. Most morphable models offer this in principle, and the practical difference is how cleanly the training data supports it.

The README also lists semantic parameter sampling as part of the package. That is the feature that separates a usable model from a raw coefficient space, because coefficients are arbitrary linear combinations that mean nothing on their own. A semantic parameter is one with an interpretable name and range, so a caller can ask for something like a moderately wide face rather than nudging component seven by 0.3 and hoping. Whether the full semantic set is documented, and how the names map to the underlying components, is a question the README does not answer and the technical report is the place to look.

There is also a companion asset worth noting: `assets/readme/gnm_logo.png` for the project mark and two teaser animations under `gnm/shape/assets/readme/`, one for heads and one for the demo. Visual assets like these are usually the fastest way to judge whether the claimed fidelity matches what you need, so they are worth opening before reading any code.

## Eyeballs, teeth and tongue as part of the geometry

The most distinctive claim in the package description is that the model contains controllable internal anatomy including eyeballs, teeth and tongue. This is the feature that distinguishes a head model from a face model, and it is the one with the clearest use cases: rendering a character whose mouth opens convincingly, whose eyes rotate toward a target, or whose teeth are visible in a close-up shot.

Interior geometry is expensive to acquire, which is the practical reason most head models stop at the face surface. Eyeballs and teeth appear in ordinary photographs, but a tongue does not, so any dataset that captures it is a specialty capture rig. A model that includes these means the training set had to, and a user who needs them has very few alternatives.

The second thing the description promises is multi-framework backend support, and the README lists all four: NumPy, JAX, PyTorch and TensorFlow. For most users this is the deciding feature rather than a nicety. A 3DMM shipped only in PyTorch forces a framework dependency on a research codebase that may otherwise be framework-neutral, and a NumPy backend keeps it usable from a renderer written in C++ or from a JAX training loop. Whether all four backends are feature-complete or whether one is the reference implementation with the others thinner is not stated in the README.

## Continuous integration across three operating systems

The package table carries four CI badges for the shape package: Linux, macOS and Windows test workflows plus a lint workflow, each linking back to its workflow file under `.github/workflows/`. Three operating systems is worth noticing for a graphics library, because it says the package is expected to load on a researcher's laptop rather than only on a Linux training box.

The repository tree is small: `.github/` for the workflows, `.pylintrc` for lint configuration, `CONTRIBUTING.md`, `LICENSE`, `README.md`, `assets/` for the images, and `gnm/` for the actual package. That last directory is where the subpackage README at `gnm/shape/README.md` lives, which is the document to read for install steps and API detail rather than this top-level page.

The default branch is `main`. There are no published GitHub releases for the repository, which means there is no version number to pin and no upgrade path to follow from release notes. If you take this into production you would be tracking `main` and re-testing on every commit, or vendoring a commit hash and taking on the maintenance yourself. Both are workable, and both are a real cost compared with a model published as a numbered release.

## One technical report and a citation to match

The news section records one item: on 2026-07-28 the official technical report for GNM Head was released. It is an arXiv paper, `GNM Head: A Generative aNthropometric Model of the human head`, and the README links it as the entry point for understanding what the model actually does.

The author list on that paper is long enough to be worth noticing. It includes names from the wider graphics community as well as Google, spanning Ploumpis, Bednarik, Zoss, Guseinov, Prasso, Chandran, Boyne, Choutas, Bolkart, Wang, Chai, Qiu, Winberg, Rainer, Bridgeman, Vicini, Riviere, Boetzel, Koumis, Busch, Herrera, Still, Ysebert, Lincoln, Escolano, Rhemann, Wood, Beeler and Zafeiriou. A paper with that many contributors from that many institutions is a signal about how much capture and annotation work sits behind a high-resolution morphable model, and it tells you the dataset was not assembled casually.

The README asks that anyone using any part of the ecosystem cite the corresponding package, and it ships the bibtex entry in a fenced block so nobody has to retype it. Bibtex entries are also listed inside each individual package. If you publish anything built on GNM Head, that citation is a condition the project asks for, and taking it seriously costs nothing beyond the reference itself.

The licensing is the permissive Apache 2.0, and the README states directly that it covers both non-commercial and commercial applications. That is the single most consequential practical difference between this model and most high-fidelity parametric human models, which are distributed for research use under terms that exclude commercial work. Apache 2.0 also carries the usual patent grant and notice requirements, which matter if you intend to ship.

## Where a head model stops short of what most projects need

The honest framing of GNM is that the ecosystem does not exist yet. The repository's own package table has one row, and the plan mentions body, perception and analysis components that are not in the tree. A project needing a full character, a hand, or a tracked pose sequence has to pair GNM Head with something else, and the seams between two separately trained models are where artifacts appear.

Compare that with the established alternatives in parametric human modelling. The mainstream approach is a body model that covers head and body in one mesh with a shared rig and a licensed, research-only distribution. The difference in approach is one of scope and licensing: a single licensed model gives you a whole figure under restrictive terms, while GNM gives you a more detailed head under terms you can ship commercially. For a product that renders a talking character, the trade is coherent. For a research pipeline that needs a full body, the trade is harder because you are assembling two models.

There is also the resolution question nobody can answer from the README. How many vertices does the head mesh carry, how many shape components does it expose, what is the training population, and how are children or specific populations represented in the mean face and its basis. The technical report is where those numbers live. Treat any claim about accuracy, including the README's own, as something to check against that paper and against renders on your own data before committing.

## Conclusion

GNM Head is worth evaluating if your work needs controllable head geometry rather than a face texture pasted onto a generic skull, and if you would rather ship under Apache 2.0 than negotiate a research licence. Two things decide it in practice. The first is that only the head exists: the body, hands and perception stack are roadmap items, so anything full-body needs another model alongside it. The second is that there is no GitHub release for this repository at all, so you install from a branch rather than from a versioned artifact. Read the GNM Head technical report on arXiv first, since the README is short and the report is where the model actually gets described.

## FAQ

### What is Google GNM?

GNM is the Generative aNthropometric Model, an open ecosystem of parametric human models that Google describes as a family of 3D morphable models with an accompanying perception stack. The name is pronounced to reference the human genome.

### What is GNM Head and what does it give you?

GNM Head is a high-fidelity statistical 3D model of the human head, the first package in the ecosystem. It offers disentangled control over identity, expression and head pose, includes controllable internal anatomy such as eyeballs, teeth and tongue, and ships backends for NumPy, JAX, PyTorch and TensorFlow.

### Can GNM Head be used in commercial projects?

Yes. The repository is released under the Apache 2.0 license, and the README states it is suitable for both non-commercial and commercial applications. The usual Apache 2.0 notice and license obligations still apply to your distribution.

### Is there a GNM body model, or only the head?

Only the head ships today. The package table in the README lists GNM Head alone, and the broader ecosystem covering the rest of the body plus perception and analysis is described as the roadmap rather than as shipped code.

## Sources

- [google/GNM on GitHub](https://github.com/google/GNM)
- [Issues](https://github.com/google/GNM/issues)
- [License: Apache-2.0](https://github.com/google/GNM/blob/main/LICENSE)
- [README](https://github.com/google/GNM/blob/main/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/google-gnm
