Skip to content

Repository files navigation

ETH-XGaze

Overview

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.

Installation

If you are still interested in a standalone installation, please ensure the prerequisites are met and then follow the installation steps below.

Prerequisites:

Operating System

Windows or Linux (e.g. Ubuntu 18.04/20.04)

GPU

NVIDIA GPU with CUDA 11-compatible

CUDA Toolkit 11.8

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.

Python 3.10

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.

Git

Ensure that Git is installed on your system. You can find installation instructions here

On Windows: Make

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

Step 2: Extract the ZIP File

  • Unzip the downloaded make-<latest_version>-without-guile-w32-bin.zip file.

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.

How-To-Install

Clone the repository and navigate to its directory:

Inside the eth_xgaze directory, open a terminal and run:

make

Development options can be installed via

make DEV=true

Note: 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.)

Attribution

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__.py for packaging)
  • Files gaze_estimator.py, landmarks.py, and xgaze_utils.py are based on original work but have been modified by the authors.

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.

License

ETH-XGaze © 2025 by Carolin Schmitt, Gökce Ergün, Xucong Zhang is licensed under CC BY-NC-SA 4.0, see LICENSE.md.

Citation

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

About

Fork of ETH-XGaze, compatible with NICE Toolbox

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages