This repository provides an installable version of ETH-XGaze and reorganizes some files to simplify inference.
You can use the NICE toolbox to run it with single- or multi-camera (multi-view) setups. The configuration file required to run ETH-XGaze is created automatically there.
To be able to run ETH-XGaze through NICE toolbox, you don't need to make a separate installation here, the installation can be done through NICE Toolbox.
If you are still interested in a standalone installation, please ensure the prerequisites are met and then follow the installation steps below.
Windows or Linux (e.g. Ubuntu 18.04/20.04)
NVIDIA GPU with CUDA 11-compatible
Installation file (Make) assumes that Cuda 11.8 is already installed in your system.
Please find installation instructions on the official websites: for Windows and Linux Ubuntu.
Please find the download links under the official python pages.
If you are a Windows user, please add python to your PATH variable as explained on educative.io.
Ensure that Git is installed on your system. You can find installation instructions here
Multiview ETH-XGaze uses Makefiles for simple installation process. Follow these steps to install make on Windows for use with Git Bash:
Step 1: Download make for Windows
- Go to the official ezwinports SourceForge page:
🔗 https://sourceforge.net/projects/ezwinports/files/ - Download the latest version of make:
- Look for a file named:
make-<latest_version>-without-guile-w32-bin.zip
- Look for a file named:
Step 2: Extract the ZIP File
- Unzip the downloaded
make-<latest_version>-without-guile-w32-bin.zipfile.
Step 3: Copy the Files to Git Bash’s MinGW64 Folder
- Navigate to:
C:\Program Files\Git\mingw64 - Copy the contents of the extracted folder (copy all folders) into
C:\Program Files\Git\mingw64. - IMPORTANT: Do NOT overwrite or replace any existing files.
📌 Note:
After copying the files, you must restart Git Bash for the changes to take effect.
Clone the repository and navigate to its directory:
Inside the eth_xgaze directory, open a terminal and run:
makeDevelopment options can be installed via
make DEV=trueNote: To ensure that the PyTorch related packages are installed on top of CUDA 11.8 we use Specific installation command in Makefile. In order to ensure that dependencies in pyproject.toml will NOT be reinstalled ( with the wrong CUDA) we added "-c constraints.txt" that specifies already installed packages. This will prevent the reinstallation of the packages. (In case this is still not clear, just ask.)
The work extends the ETH-XGaze. Licensed under CC BY-NC-SA 4.0.
- Files under the folder
eth_xgaze\eth_xgaze\are based on the original code, with minimal changes (e.g., added__init__.pyfor packaging) - Files
gaze_estimator.py,landmarks.py, andxgaze_utils.pyare based on original work but have been modified by the authors.
Carolin Schmitt1, Gökce Ergün1, Xuchong Zhang1, 2
The authors are with the 1Optics and Sensing Laboratory at Max-Planck Institute for Intelligent Systems and the 2Department of Computer Science at ETH Zurich.
ETH-XGaze © 2025 by Carolin Schmitt, Gökce Ergün, Xucong Zhang is licensed under CC BY-NC-SA 4.0, see LICENSE.md.
If you use or build upon this work, please cite the original ETH-XGaze publication:
@inproceedings{ETHXGaze,
author = {Xucong Zhang and Seonwook Park and Thabo Beeler and Derek Bradley and Siyu Tang and Otmar Hilliges},
title = {ETH-XGaze: A Large Scale Dataset for Gaze Estimation under Extreme Head Pose and Gaze Variation},
year = {2020},
booktitle = {European Conference on Computer Vision (ECCV)}
}As well as this GitHub page:
@misc{ETHGaze,
author = {Carolin Schmitt and Gökce Ergün and Xuchong Zhang},
title = {ETH-XGaze},
year = {2025},
howpublished = {\url{https://github.com/OSLabTools/ETH_XGaze}}
}Copyright 2025, Max Planck Society / Optics and Sensing Laboratory - Max Planck Institute for Intelligent Systems