|
Download README.md from google/gnm-v3: direct link, hf CLI and curl.
- Browser
- Download file 7.89 kB
-
https://huggingface.co/google/gnm-v3/resolve/main/README.md
- Command line
-
hf download hf://google/gnm-v3/README.md
-
curl -L -o README.md https://huggingface.co/google/gnm-v3/resolve/main/README.md
7.89 kB
| license: apache-2.0 | |
| tags: | |
| - 3d | |
| - computer-vision | |
| - human-head | |
| - mesh | |
| - 3dmm | |
| - parametric-model | |
| - head-tracking | |
| - digital-humans | |
| # GNM (Generative aNthropometric Model) - v3.0 | |
| [](https://arxiv.org/abs/2607.23687) | |
| [](https://github.com/google/GNM) | |
| [](https://opensource.org/licenses/Apache-2.0) | |
| [](https://xrblocks.github.io/docs/samples/GNM-Head/) | |
| Official release weights for Google's **Generative aNthropometric Model (GNM)**. | |
| --- | |
| ## Model Overview | |
| **GNM** (pronounced *genome* `/ˈdʒiː.noʊm/`, in reference to the human genome) | |
| is a state-of-the-art parametric 3D statistical model of the human head | |
| developed by Google. Learned from a large dataset of high-resolution 3D scans, | |
| GNM provides fine-grained, disentangled control over facial identity, | |
| expressions, and head pose, complete with controllable internal anatomy | |
| (eyeballs, teeth, and tongue). | |
| 3D Morphable Models (3DMMs) are widely used across computer vision, computer | |
| graphics, and generative AI for representing human geometry and appearance. GNM | |
| introduces a state-of-the-art parametric representation of the human head | |
| accompanied by multi-framework backend support and semantic parameter sampling. | |
| The model is released under the **Apache 2.0 permissive license**, suitable for | |
| both academic research and commercial applications. | |
| --- | |
| ## Key Features & Anatomy | |
| - **Detailed 3D Face Geometry:** Generates a dense 3D mesh consisting of the | |
| cranial/facial skin, eyes, teeth & gums, and tongue. | |
| - **Controllable Anatomy:** | |
| - **Skin:** Full cranial, facial, and neck coverage. | |
| - **Eyes:** Controllable internal eyeball structures (sclera, pupil, iris) | |
| and external cornea. | |
| - **Teeth & Gums:** Articulated upper and lower dentition. | |
| - **Tongue:** Articulated tongue surface supporting inner-mouth deformation | |
| and speech articulations. | |
| - **Disentangled Parameter Spaces:** Full orthogonal control over: | |
| - **Identity:** Controls subject-specific facial features and anatomical | |
| proportions (head, eyeball, teeth). | |
| - **Expression:** Animates the face with a rich set of blendshapes across the | |
| eyes, lower face, tongue, and iris. | |
| - **Head Pose & Joint Rotations:** Controls kinematic rotation of the neck | |
| and bilateral eyeball gaze (axis-angle format). | |
| - **Translation:** Controls global 3D Cartesian positioning. | |
| - **Multi-Topology UV Mapping:** Structured UV layouts provided for both quad | |
| (`quad_uvs`, shape `[Q, 4, 2]`) and triangulated (`triangle_uvs`, shape | |
| `[T, 3, 2]`) topologies across five logical regions (skin, upper teeth/gums, | |
| lower teeth/gums, tongue, eye interior, and eye exterior). | |
| - **Multi-Framework Backend Support:** Native support for **NumPy**, **JAX**, | |
| **PyTorch**, and **TensorFlow** via a unified `GNM` interface. | |
| - **Semantic Parameter Sampling:** Compatible with pre-trained `IdentitySampler` | |
| and `ExpressionSampler` models for generating identity and expression | |
| parameters from high-level labels. | |
| --- | |
| ## Model Organization Structure | |
| Both **Hugging Face Hub** and **Kaggle Models** follow an identical organization | |
| architecture: | |
| - **1 Model / Repository per MAJOR Version:** | |
| - **Hugging Face Hub:** [google/gnm-v3](https://huggingface.co/google/gnm-v3) | |
| - **Kaggle Models:** [google/gnm-v3](https://www.kaggle.com/models/google/gnm-v3) | |
| - **Variants for MINOR Versions:** | |
| - **Hugging Face Hub:** Each minor version is organized into version | |
| subdirectories (e.g. `v3_0/gnm_head.npz`), with the root `README.md` | |
| documenting the major release and version-specific `README.md` files | |
| documenting each version directory. | |
| - **Kaggle Models:** Each minor version is published as a distinct model | |
| variation under the `other` framework (e.g. | |
| `google/gnm-v3/other/gnm_head_v3_0`). | |
| --- | |
| ## Model Files in This Release | |
| The following model files and SHA-256 checksums are staged in this release: | |
| | Model File | Variant | Version | SHA-256 Checksum | | |
| | :--- | :--- | :---: | :--- | | |
| | `gnm_head.npz` | Head | 3.0 | `61d78bbfb4ad8e0b38495804a4caef3214d3df00f8c3f68761e63b41ce3747eb` | | |
| --- | |
| ## Quickstart & Usage | |
| Install the `gnm` package from the [GNM GitHub repository](https://github.com/google/GNM): | |
| ```bash | |
| git clone https://github.com/google/gnm.git | |
| cd gnm/gnm/shape | |
| pip install -e . | |
| # Or with framework-specific backend support: | |
| pip install -e ".[jax]" # JAX | |
| pip install -e ".[pytorch]" # PyTorch | |
| pip install -e ".[all]" # All supported frameworks | |
| ``` | |
| ### Loading the Model | |
| ```python | |
| from gnm.shape import gnm_numpy # Or gnm_jax, gnm_pytorch, gnm_tensorflow | |
| # 1. Load from Hugging Face Hub (via huggingface_hub SDK or HTTPS CDN fallback) | |
| gnm = gnm_numpy.GNM.from_huggingface( | |
| version=gnm_numpy.GNMMajorVersion.V3, | |
| variant=gnm_numpy.GNMVariant.HEAD, | |
| ) | |
| # 2. Load from Kaggle Models (via kagglehub SDK) | |
| gnm = gnm_numpy.GNM.from_kaggle( | |
| version=gnm_numpy.GNMMajorVersion.V3, | |
| variant=gnm_numpy.GNMVariant.HEAD, | |
| ) | |
| # 3. Load via HTTPS CDN (no external SDK required, automatic local caching) | |
| gnm = gnm_numpy.GNM.from_remote( | |
| version=gnm_numpy.GNMMajorVersion.V3, | |
| variant=gnm_numpy.GNMVariant.HEAD, | |
| ) | |
| ``` | |
| ### Basic Parameter Manipulation | |
| ```python | |
| import numpy as np | |
| # Zero parameters produce the neutral template face mesh | |
| identity = np.zeros(gnm.identity_dim) | |
| expression = np.zeros(gnm.expression_dim) | |
| rotations = np.zeros((gnm.num_joints, 3)) # Axis-angle rotations (neck, eyes) | |
| translation = np.zeros((3,)) | |
| # Evaluate 3D vertices [V, 3] | |
| vertices = gnm(identity, expression, rotations, translation) | |
| triangles = gnm.triangles # [F, 3] | |
| ``` | |
| --- | |
| ## Model Limitations & Ethical Considerations | |
| This model was trained on datasets using demographic categories standard in | |
| 3DMM literature. These categories do not fully represent the spectrum of human | |
| gender identities or the full diversity of the global population. Please refer | |
| to the [Technical Report](https://arxiv.org/abs/2607.23687) for a detailed | |
| discussion of dataset statistics, fairness evaluations, and limitations. Users | |
| should consider the potential implications for fairness and representation in | |
| their specific applications. | |
| --- | |
| ## Citation | |
| If you use GNM or this model release in your research, please cite: | |
| ```text | |
| @article{ploumpis2026gnmhead, | |
| title={GNM Head: A Generative aNthropometric Model of the human head}, | |
| author={Ploumpis, S. and Bednarik, J. and Zoss, G. and Guseinov, R. and Prasso, L. and Chandran, P. and Boyne, O. and Choutas, V. and Bolkart, T. and Wang, D. and Chai, M. and Qiu, D. and Winberg, S. and Rainer, G. and Bridgeman, L. and Vicini, D. and Riviere, J. and Boetzel, Y. and Koumis, A. and Busch, J. and Herrera, C. and Still, J. and Ysebert, S. and Lincoln, P. and Escolano, S. O. and Rhemann, C. and Wood, E. and Beeler, T. and Zafeiriou, S.}, | |
| year={2026}, | |
| eprint={2607.23687}, | |
| archivePrefix={arXiv}, | |
| url={https://arxiv.org/abs/2607.23687}, | |
| } | |
| ``` | |
| --- | |
| ## Links & Resources | |
| - **GitHub Repository:** [https://github.com/google/GNM](https://github.com/google/GNM) | |
| - **Technical Report:** [https://arxiv.org/abs/2607.23687](https://arxiv.org/abs/2607.23687) | |
| - **Interactive WebXR Demo:** [https://xrblocks.github.io/docs/samples/GNM-Head/](https://xrblocks.github.io/docs/samples/GNM-Head/) | |
| - **Hugging Face Hub:** [https://huggingface.co/google/gnm-v3](https://huggingface.co/google/gnm-v3) | |
| - **Kaggle Models:** [https://www.kaggle.com/models/google/gnm-v3](https://www.kaggle.com/models/google/gnm-v3) | |
| --- | |
| ## License | |
| This project and model weights are licensed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). | |