Coder Social home page Coder Social logo

aitrack's Introduction

- The open head tracker -

Build status

What is this?

AITrack is a 6-Degree of Freedom headtracker designed to work alongside Opentrack for its use in simulators/games.

AITrack uses its own tracking pipeline (based on neural networks) to estimate the user's head position with respect to the webcam and then, streams it to Opentrack, which in turn, transmits it to your games.

Main features

  • Hardware (IR LEDs, specific hardware...) free headtracking solution.
  • Good performance under poor light conditions.
  • Good detection with partial face occlusion (using glasses).
  • Reasonable low CPU percentage consumption.
  • Remote-running capability. You can use a second PC (for example, a laptop)to stream the tracking data to your main machine.

Installing and running

  1. Download and install Visual C++ Redistributable x64 in case you don't already have it.
  2. Download Opentrack from Opentrack's releases page
  3. Download the most recent version of the tracker from the releases page (.zip file) and extract its content.
  4. Run Opentrack and make sure to select Input = UDP over network, then, click "Start". Opentrack then will be for the data AITrack will send.
  5. Run AITrack.exe from AITrack and click "Start tracking".
  6. Look around!

But... I don't have a webcam :(

No problem. This program supports Droid Cam, so you're able to use your smartphone as a camera.

My webcam is too old

Don't worry. AITrack supports low resolutions pretty well. Anything achieving at least 30fps and 480p will do the job fine.


IMPORTANT: In case you want to know more, please, head to the Doc/ directory to find guides about usage. If you can't find there what you're looking for, feel free to post your question on the issues page.

Thanks to Sims Smith, who made a video tutorial on how to setting up AITrack (v0.4). You can check it out.

ALSO IMPORTANT AND NOT COVERED IN THE VIDEO TUTORIAL

Because of v0.4 is an older version, several punctualizations have to be made:

  1. You don't need to configure "Use remote client" anymore if you're running Opentrack in your local machine.
  2. You should take you time for tweaking your curves in Opentrack to your preferences.
  3. Experiment with Opentrack's built in filters. Acella it's the recommended one at the moment. Configure it's smoothing parameter to reduce camera shaking.

Showoff videos

Bugs and Contributing

If you encounter any bug/problem or you have some idea, post it on the issues page to find help or further discussion. If you decide to fix something or implement a request, feel free to fork this repo, develop your new feature in a separate branch and then, make a PR to review it, here is the guide to developers.

Also, there is a Discord server you can join to be aware of the news of the project, report problems or request features!

Join the server!

Thank you!

Acknowledgements

  • inspirit, for the PS3 C++ camera library which I used during development.
  • emilianavt, for porting the original Pytorch pretrained models to ONNX.

aitrack's People

Contributors

airlegend avatar rbroker avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.