Our application is to be used mainly with PTZ cameras and have them physically move automatically by tracking a face on screen. While it can be connected to non-PTZ cameras, it does not add much value for individuals to use. The only difference would be that a PTZ camera can move but a normal camera will not move because of its nature. We have implemented facial recognition techniques to specifically select a face to track if there are multiple people on screen. Our application works on any PTZ cameras and is designed to be compatible with any standardized video connections via USB, NewTek NDI®, or RTSP IP.
⚠️ The project is under active development.⚠️ Expect bugs and inaccuracies.⚠️ Do not use the app during your live productions yet!
- Sources for NewTek NDI® and USB are supported, IP (RTSP) is under development
- Live camera feeds
- Accurate Facial Recognition and Motion Tracking
- Automated PTZ VISCA Movement for Network and USB
- Cross platform
- Python - Backend of the application
- Pyside6 (Qt) - Frontend of the application
- OpenCV - Camera Video Feeds and Facial Detection
- Dlib - Facial Recognition and Motion Tracking
- Facial Recognition - Powered by Dlib, Provided by ageitgey (https://github.com/ageitgey/face_recognition)
- NewTek NDI Wrapper - Provided by buresu (https://github.com/buresu/ndi-python)
- IP VISCA Controller - PTZ Movement Controller, Provided by misterhay (https://github.com/misterhay/VISCA-IP-Controller)
- Python 3.7-3.9 (3.12 did not work, 3.8 did, didn't try any others)
- Windows or macOS (Linux is not officially supported, but should work)
(optional but possibly necessary) Enable Windows' long path support
In the group policy editor navigate to:
Local Computer Policy > Computer Configuration > Administrative Templates > System > Filesystem
And enable "Enable Win32 long paths"
Then reboot your computer
Clone the project
git clone https://github.com/AutoPTZ/autoptz.git
Then install cmake to build a copy a dlib for your system. Download the latest binary for your system at:
https://cmake.org/download/
Make sure when installing you select the option that adds it to the PATH
Then install dlib
pip install dlib
After you successfully install cmake and dlib, you can install the rest of the required libraries.
pip install -r requirements.txt
Then you can finally run the program.
python startup.py