File size: 7,886 Bytes
9daa2f1
 
6a7cd34
 
 
 
 
 
 
 
 
9daa2f1
6a7cd34
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c01e90d
 
6a7cd34
 
 
c01e90d
 
6a7cd34
 
 
 
 
 
 
 
 
 
 
 
c01e90d
6a7cd34
 
 
 
 
 
 
 
 
 
c01e90d
6a7cd34
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
---
license: apache-2.0
tags:
- 3d
- computer-vision
- human-head
- mesh
- 3dmm
- parametric-model
- head-tracking
- digital-humans
---

# GNM (Generative aNthropometric Model) - v3.0

[![Technical Report](https://img.shields.io/badge/arXiv-2607.23687-b31b1b.svg)](https://arxiv.org/abs/2607.23687)
[![GitHub Repository](https://img.shields.io/badge/GitHub-google%2FGNM-blue.svg)](https://github.com/google/GNM)
[![License](https://img.shields.io/badge/License-Apache_2.0-green.svg)](https://opensource.org/licenses/Apache-2.0)
[![XR Blocks Demo](https://img.shields.io/badge/Demo-XR_Blocks_GNM_Head-orange.svg)](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).