Harnessing GPU acceleration for efficient and accurate pupil tracking in real-time applications.
This software is developed by the University of Murcia and is intended solely for academic and research purposes. It must not be used for commercial or business applications.
Welcome to the Pupil Tracking GPU repository! This project is designed to leverage the power of modern GPUs for high-performance, real-time pupil tracking. Whether you're involved in eye-tracking research, developing advanced human-computer interaction (HCI) systems, or exploring applications in medical diagnostics, this repository offers a robust and adaptable foundation. Our goal is to provide a tool that is both powerful and accessible to the research community.
- 🚀 GPU Acceleration: Utilizes CUDA for significant performance gains, enabling complex computations at high frame rates.
- ⏱️ Real-Time Processing: Achieves low-latency tracking suitable for interactive and time-sensitive applications.
- 🔧 Customizable Algorithms: Implements multiple pupil detection algorithms (ELSE, EXCUSE, and their greedy variants) allowing users to choose based on their specific needs for accuracy and speed.
- 🛠️ Flexible Platform: Supports execution on both GPU and CPU for broader compatibility and testing.
- 📊 Performance Measurement: Integrated option to measure execution time for benchmarking and optimization.
- 📖 Open Source: Developed for the academic and research community, encouraging contributions and collaborative improvement.
Follow these steps to get the Pupil Tracking GPU software up and running:
-
Clone the Repository:
git clone https://github.com/artuppp/PupilTrackingGPU.git cd PupilTrackingGPU -
Install Dependencies: This project relies on OpenCV.
sudo apt-get update sudo apt-get install libopencv-dev
-
GPU Setup:
- Ensure you have a CUDA-compatible NVIDIA GPU.
- Install the latest NVIDIA drivers for your GPU.
- Install the NVIDIA CUDA Toolkit compatible with your drivers and project requirements.
-
Build the Project: A
Makefileis provided for easy compilation.make
This will create the executable in the
build/directory.
The main executable pupil_tracking can be run from the command line with several arguments to control its behavior.
Synopsis:
./build/pupil_tracking <image_path> <measure_time> <platform> <num_repetitions> <algorithm>