Octopus1 commited on
Commit
96974a1
·
verified ·
1 Parent(s): b899f25

MIT license + DINOv3 license + project README

Browse files
Files changed (3) hide show
  1. DINOv3_LICENSE.md +66 -0
  2. LICENSE +18 -12
  3. README.md +97 -25
DINOv3_LICENSE.md ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # DINOv3 License
2
+
3
+ *Last Updated: August 14, 2025*
4
+
5
+ **“Agreement”** means the terms and conditions for use, reproduction, distribution and modification of the DINO Materials set forth herein.
6
+
7
+ **“DINO Materials”** means, collectively, Documentation and the models, software and algorithms, including machine-learning model code, trained model weights, inference-enabling code, training-enabling code, fine-tuning enabling code, and other elements of the foregoing distributed by Meta and made available under this Agreement.
8
+
9
+ **“Documentation”** means the specifications, manuals and documentation accompanying
10
+ DINO Materials distributed by Meta.
11
+
12
+ **“Licensee”** or **“you”** means you, or your employer or any other person or entity (if you are entering into this Agreement on such person or entity’s behalf), of the age required under applicable laws, rules or regulations to provide legal consent and that has legal authority to bind your employer or such other person or entity if you are entering in this Agreement on their behalf.
13
+
14
+ **“Meta”** or **“we”** means Meta Platforms Ireland Limited (if you are located in or, if you are an entity, your principal place of business is in the EEA or Switzerland) or Meta Platforms, Inc. (if you are located outside of the EEA or Switzerland).
15
+
16
+ **“Sanctions”** means any economic or trade sanctions or restrictions administered or enforced by the United States (including the Office of Foreign Assets Control of the U.S. Department of the Treasury (“OFAC”), the U.S. Department of State and the U.S. Department of Commerce), the United Nations, the European Union, or the United Kingdom.
17
+
18
+ **“Trade Controls”** means any of the following: Sanctions and applicable export and import controls.
19
+
20
+ By clicking “I Accept” below or by using or distributing any portion or element of the DINO Materials, you agree to be bound by this Agreement.
21
+
22
+ ## 1. License Rights and Redistribution.
23
+
24
+ a. <ins>Grant of Rights</ins>. You are granted a non-exclusive, worldwide, non-transferable and royalty-free limited license under Meta’s intellectual property or other rights owned by Meta embodied in the DINO Materials to use, reproduce, distribute, copy, create derivative works of, and make modifications to the DINO Materials.
25
+
26
+ b. <ins>Redistribution and Use</ins>.
27
+
28
+ i. Distribution of DINO Materials, and any derivative works thereof, are subject to the terms of this Agreement. If you distribute or make the DINO Materials, or any derivative works thereof, available to a third party, you may only do so under the terms of this Agreement and you shall provide a copy of this Agreement with any such DINO Materials.
29
+
30
+ ii. If you submit for publication the results of research you perform on, using, or otherwise in connection with DINO Materials, you must acknowledge the use of DINO Materials in your publication.
31
+
32
+ iii. Your use of the DINO Materials must comply with applicable laws and regulations, including Trade Control Laws and applicable privacy and data protection laws.
33
+
34
+ iv. Your use of the DINO Materials will not involve or encourage others to reverse engineer, decompile or discover the underlying components of the DINO Materials.
35
+
36
+ v. You are not the target of Trade Controls and your use of DINO Materials must comply with Trade Controls. You agree not to use, or permit others to use, DINO Materials for any activities subject to the International Traffic in Arms Regulations (ITAR) or end uses prohibited by Trade Controls, including those related to military or warfare purposes, nuclear industries or applications, espionage, or the development or use of guns or illegal weapons.
37
+
38
+ ## 2. User Support.
39
+
40
+ Your use of the DINO Materials is done at your own discretion; Meta does not process any information nor provide any service in relation to such use. Meta is under no obligation to provide any support services for the DINO Materials. Any support provided is “as is”, “with all faults”, and without warranty of any kind.
41
+
42
+ ## 3. Disclaimer of Warranty.
43
+
44
+ UNLESS REQUIRED BY APPLICABLE LAW, THE DINO MATERIALS AND ANY OUTPUT AND RESULTS THEREFROM ARE PROVIDED ON AN “AS IS” BASIS, WITHOUT WARRANTIES OF ANY KIND, AND META DISCLAIMS ALL WARRANTIES OF ANY KIND, BOTH EXPRESS AND IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. YOU ARE SOLELY RESPONSIBLE FOR DETERMINING THE APPROPRIATENESS OF USING OR REDISTRIBUTING THE DINO MATERIALS AND ASSUME ANY RISKS ASSOCIATED WITH YOUR USE OF THE DINO MATERIALS AND ANY OUTPUT AND RESULTS.
45
+
46
+ ## 4. Limitation of Liability.
47
+
48
+ IN NO EVENT WILL META OR ITS AFFILIATES BE LIABLE UNDER ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, TORT, NEGLIGENCE, PRODUCTS LIABILITY, OR OTHERWISE, ARISING OUT OF THIS AGREEMENT, FOR ANY LOST PROFITS OR ANY DIRECT OR INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL, EXEMPLARY OR PUNITIVE DAMAGES, EVEN IF META OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF ANY OF THE FOREGOING.
49
+
50
+ ## 5. Intellectual Property.
51
+
52
+ a. Subject to Meta’s ownership of DINO Materials and derivatives made by or for Meta, with respect to any derivative works and modifications of the DINO Materials that are made by you, as between you and Meta, you are and will be the owner of such derivative works and modifications.
53
+
54
+ b. If you institute litigation or other proceedings against Meta or any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the DINO Materials, outputs or results, or any portion of any of the foregoing, constitutes infringement of intellectual property or other rights owned or licensable by you, then any licenses granted to you under this Agreement shall terminate as of the date such litigation or claim is filed or instituted. You will indemnify and hold harmless Meta from and against any claim by any third party arising out of or related to your use or distribution of the DINO Materials.
55
+
56
+ ## 6. Term and Termination.
57
+
58
+ The term of this Agreement will commence upon your acceptance of this Agreement or access to the DINO Materials and will continue in full force and effect until terminated in accordance with the terms and conditions herein. Meta may terminate this Agreement if you are in breach of any term or condition of this Agreement. Upon termination of this Agreement, you shall delete and cease use of the DINO Materials. Sections 5, 6 and 9 shall survive the termination of this Agreement.
59
+
60
+ ## 7. Governing Law and Jurisdiction.
61
+
62
+ This Agreement will be governed and construed under the laws of the State of California without regard to choice of law principles, and the UN Convention on Contracts for the International Sale of Goods does not apply to this Agreement. The courts of California shall have exclusive jurisdiction of any dispute arising out of this Agreement.
63
+
64
+ ## 8. Modifications and Amendments.
65
+
66
+ Meta may modify this Agreement from time to time; provided that they are similar in spirit to the current version of the Agreement, but may differ in detail to address new problems or concerns. All such changes will be effective immediately. Your continued use of the DINO Materials after any modification to this Agreement constitutes your agreement to such modification. Except as provided in this Agreement, no modification or addition to any provision of this Agreement will be binding unless it is in writing and signed by an authorized representative of both you and Meta.
LICENSE CHANGED
@@ -1,15 +1,21 @@
1
- Apache License
2
- Version 2.0, January 2004
3
- http://www.apache.org/licenses/
4
 
5
- Licensed under the Apache License, Version 2.0 (the "License");
6
- you may not use this file except in compliance with the License.
7
- You may obtain a copy of the License at
8
 
9
- http://www.apache.org/licenses/LICENSE-2.0
 
 
 
 
 
10
 
11
- Unless required by applicable law or agreed to in writing, software
12
- distributed under the License is distributed on an "AS IS" BASIS,
13
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- See the License for the specific language governing permissions and
15
- limitations under the License.
 
 
 
 
 
 
1
+ MIT License
 
 
2
 
3
+ Copyright (c) 2026 PaGE Authors
 
 
4
 
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
 
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
README.md CHANGED
@@ -1,5 +1,5 @@
1
  ---
2
- license: apache-2.0
3
  library_name: transformers
4
  tags:
5
  - gaze-estimation
@@ -10,29 +10,66 @@ language:
10
  - en
11
  ---
12
 
13
- # PaGE: Patch-level Gaze Estimation
14
 
15
- PaGE is a gaze target estimation model that predicts where a person is looking in a scene.
16
- It uses two DINOv3 ViT backbones (a **scene branch** and a **head branch**) whose features
17
- interact through cross-attention layers, then decodes a gaze **heatmap** and an **in/out** score
18
- (whether the gaze target is inside the image).
 
 
 
 
 
 
 
 
19
 
20
  This repository holds the **model code** (`modeling_page.py`) referenced by all PaGE weight
21
- repositories via `auto_map`. The weight checkpoints live in their own repos (see below).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
 
23
- ## Model checkpoints
24
 
25
- | Model | Backbone | Params (approx.) | Weight repo |
26
- |-------|----------|------------------|-------------|
27
- | PaGE-ViT-S | DINOv3 ViT-S/16 | ~25M | [`Octopus1/page-vits`](https://huggingface.co/Octopus1/page-vits) |
28
- | PaGE-ViT-S+ | DINOv3 ViT-S+/16 (gated MLP) | ~30M | [`Octopus1/page-vitsplus`](https://huggingface.co/Octopus1/page-vitsplus) |
29
- | PaGE-ViT-B | DINOv3 ViT-B/16 | ~90M | [`Octopus1/page-vitb`](https://huggingface.co/Octopus1/page-vitb) |
30
- | PaGE-ViT-B (screen) | DINOv3 ViT-B/16 | ~90M | [`Octopus1/page-vitb-screen`](https://huggingface.co/Octopus1/page-vitb-screen) |
31
- | PaGE-ViT-H+ | DINOv3 ViT-H+/16 (gated MLP) | ~1.7B | [`Octopus1/page-vithplus`](https://huggingface.co/Octopus1/page-vithplus) |
32
 
33
- > **No external DINOv3 weights are required.** Each checkpoint contains the full backbone
34
- > weights in its `safetensors` files. The DINOv3 model *structure* is provided by
35
- > `transformers>=4.56` (built-in `dinov3_vit`).
36
 
37
  ## Installation
38
 
@@ -80,13 +117,48 @@ per-person head crops, and bboxes.
80
  - `heatmap`: list (len `B`) of `[Np, 64, 64]` tensors (sigmoid applied)
81
  - `inout`: list (len `B`) of `[Np]` tensors (sigmoid applied)
82
 
83
- ## Architecture
84
-
85
- PaGE = two DINOv3 ViT backbones (scene @ 512², head @ 256²) → 1× self-attn each → 5×
86
- scene/head cross-attention interaction layers (axial 2D RoPE) → heatmap head (deconv + 1×1 conv)
87
- + in/out head (MLP on pooled scene+head inout tokens). Decoder dim 256, 8 heads, GEGLU FFN,
88
- 4 register tokens + 1 inout token per stream. All final-architecture variants share this design.
 
 
 
 
 
 
89
 
90
  ## License
91
 
92
- Apache-2.0.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ license: mit
3
  library_name: transformers
4
  tags:
5
  - gaze-estimation
 
10
  - en
11
  ---
12
 
13
+ # PaGE: Towards Practical Human-Level Gaze Target Estimation
14
 
15
+ PaGE (Practical Gaze Estimator) is a gaze target estimation model that predicts where a person
16
+ is looking in a scene. It is introduced in our ICLR 2026 paper:
17
+
18
+ > **PaGE: Towards Practical Human-Level Gaze Target Estimation**
19
+ > Zhoutong Ye, Chengwen Zhang, Jiaqi Liu, Xiangwu Li, Xutong Wang, Yu Mei, Zhaibin Cui,
20
+ > Mingze Sun, Qingyang Wan, Chang Liu, Chun Yu, Yuanchun Shi. *ICLR 2026.*
21
+
22
+ Gaze target estimation combines high-level understanding of global scene semantics with precise
23
+ spatial reasoning from human appearance (pose, eye orientation). PaGE explicitly models the
24
+ complex interaction between scene and head features, and achieves state-of-the-art performance,
25
+ **outperforming humans in 7 out of 9 metrics** on GazeFollow, VideoAttentionTarget (VAT) and
26
+ ChildPlay while reducing the human–AI gap by ≥60% on the remaining 2.
27
 
28
  This repository holds the **model code** (`modeling_page.py`) referenced by all PaGE weight
29
+ repositories via `auto_map`. The weight checkpoints live in their own repos (see Model Zoo).
30
+
31
+ ## Model Zoo
32
+
33
+ All checkpoints contain the **full backbone weights** in their `safetensors` files — no external
34
+ DINOv3 weights are downloaded. The DINOv3 model *structure* is provided by `transformers>=4.56`
35
+ (built-in `dinov3_vit`).
36
+
37
+ | Model | Backbone | GFLOPs | Source ckpt | Weight repo |
38
+ |-------|----------|--------|-------------|-------------|
39
+ | PaGE ViT-H+ | DINOv3 ViT-H+ (gated MLP) | 2373.6 | `vithplus_ft.pt` | [`Octopus1/page-vithplus`](https://huggingface.co/Octopus1/page-vithplus) |
40
+ | PaGE ViT-B Distill | DINOv3 ViT-B | 283.1 | `vitb_distill.pt` | [`Octopus1/page-vitb`](https://huggingface.co/Octopus1/page-vitb) |
41
+ | PaGE ViT-B Distill (Screen) | DINOv3 ViT-B | 283.1 | `vitb_distill_screen.pt` | [`Octopus1/page-vitb-screen`](https://huggingface.co/Octopus1/page-vitb-screen) |
42
+ | PaGE ViT-S+ Distill | DINOv3 ViT-S+ (gated MLP) | 115.2 | `vitsplus_distill.pt` | [`Octopus1/page-vitsplus`](https://huggingface.co/Octopus1/page-vitsplus) |
43
+ | PaGE ViT-S Distill | DINOv3 ViT-S | 96.9 | `vits_distill.pt` | [`Octopus1/page-vits`](https://huggingface.co/Octopus1/page-vits) |
44
+
45
+ The ViT-H+ teacher is finetuned end-to-end; the student models are distilled from the teacher via
46
+ token-level feature distillation on 1.17M unlabeled head crops, then finetuned on the labeled set.
47
+
48
+ ## Method
49
+
50
+ PaGE builds upon DINOv3 with a **Scene-head Interaction Module (SIM)** that uses cross-attention
51
+ between scene and head branches to model inter-branch feature interaction in a ViT-native manner.
52
+ Training follows a two-stage recipe: decoder-only training with a frozen backbone, followed by
53
+ supervised finetuning (SFT) of the full model. Lightweight student models are trained via
54
+ token-level feature distillation from a PaGE ViT-H+ teacher.
55
+
56
+ Architecture: two DINOv3 ViT backbones (scene @ 512², head @ 256²) → 1× self-attn each → 5×
57
+ scene/head cross-attention interaction layers (axial 2D RoPE) → heatmap head (deconv + 1×1 conv)
58
+ + in/out head (MLP on pooled scene+head inout tokens). Decoder dim 256, 8 heads, GEGLU FFN,
59
+ 4 register tokens + 1 inout token per stream.
60
 
61
+ ## Results
62
 
63
+ | Model | GazeFollow AUC↑ | GF Avg L2↓ | GF Min L2↓ | VAT AUC↑ | VAT L2↓ | VAT AP↑ | ChildPlay AUC↑ | ChildPlay L2↓ | ChildPlay AP↑ |
64
+ |-------|------|------|------|------|------|------|------|------|------|
65
+ | PaGE ViT-S Distill | 0.964 | 0.086 | 0.033 | 0.964 | 0.074 | 0.937 | 0.970 | 0.075 | 0.997 |
66
+ | PaGE ViT-S+ Distill | 0.965 | 0.086 | 0.033 | 0.965 | 0.074 | 0.939 | 0.970 | 0.075 | 0.997 |
67
+ | PaGE ViT-B Distill | 0.966 | 0.081 | 0.029 | 0.969 | 0.068 | 0.945 | 0.973 | 0.070 | 0.997 |
68
+ | PaGE ViT-H+ | 0.966 | 0.080 | 0.029 | 0.972 | 0.064 | 0.951 | 0.975 | 0.069 | 0.995 |
69
+ | Human | 0.924 | 0.096 | 0.040 | 0.921 | 0.051 | 0.925 | 0.911 | 0.048 | 0.993 |
70
 
71
+ All four PaGE models far outperform the previous SotA, with PaGE ViT-H+ and PaGE ViT-B Distill
72
+ achieving human-level performance.
 
73
 
74
  ## Installation
75
 
 
117
  - `heatmap`: list (len `B`) of `[Np, 64, 64]` tensors (sigmoid applied)
118
  - `inout`: list (len `B`) of `[Np]` tensors (sigmoid applied)
119
 
120
+ ## BibTeX
121
+
122
+ ```bibtex
123
+ @inproceedings{ye2026page,
124
+ title = {{PaGE}: Towards Practical Human-Level Gaze Target Estimation},
125
+ author = {Ye, Zhoutong and Zhang, Chengwen and Liu, Jiaqi and Li, Xiangwu and
126
+ Wang, Xutong and Mei, Yu and Cui, Zhaibin and Sun, Mingze and
127
+ Wan, Qingyang and Liu, Chang and Yu, Chun and Shi, Yuanchun},
128
+ booktitle = {International Conference on Learning Representations (ICLR)},
129
+ year = {2026}
130
+ }
131
+ ```
132
 
133
  ## License
134
 
135
+ - The PaGE model code (`modeling_page.py`) and the PaGE-specific gaze decoder / heads are released
136
+ under the **MIT License** (see `LICENSE`).
137
+ - The **DINOv3 backbones** are **derivative works of DINOv3**
138
+ ([facebook/dinov3](https://huggingface.co/facebook/dinov3)). The DINOv3 ViT backbones were
139
+ initialized from the publicly released DINOv3 self-supervised weights and then **trained in full
140
+ (all parameters updated)** as part of PaGE training — i.e. the backbone weights shipped here are
141
+ **derivative weights produced by full-parameter training of DINOv3**, not the original DINOv3
142
+ weights verbatim.
143
+
144
+ ### DINOv3 License
145
+
146
+ DINOv3 is released by Meta AI under the **Meta DINO License** (a custom, non-Apache license — see
147
+ `DINOv3_LICENSE.md`). Under Section 1.b.i of that license, distribution of DINOv3 Materials and
148
+ **any derivative works thereof** (which includes the DINOv3-derived backbone weights in these
149
+ checkpoints) is subject to the DINO License terms, and **a copy of the DINO License must be
150
+ provided with any such distribution**. Accordingly, `DINOv3_LICENSE.md` is included in every PaGE
151
+ weight repository and in this code repository.
152
+
153
+ In summary:
154
+
155
+ - The DINOv3-derived backbone portions of the checkpoints are governed by the **Meta DINO License**
156
+ (`DINOv3_LICENSE.md`).
157
+ - The PaGE decoder, gaze heads, and model code are additionally governed by the **MIT License**.
158
+ - By using or redistributing these models you agree to be bound by the DINO License for the
159
+ DINOv3-derived portions, and you must retain and provide `DINOv3_LICENSE.md` with any
160
+ redistribution.
161
+
162
+ If you use these models, please also cite the DINOv3 work.
163
+
164
+ Project page & code: [github.com/OctopusWen/gazelle_plus](https://github.com/OctopusWen/gazelle_plus)