Scannertools is a Python library of easy-to-use, off-the-shelf pipelines written using the Scanner video processing engine. Scannertools provides implementations of:
- Object detection
- Face detection
- Face embedding
- Gender detection
- Pose detection
- Optical flow
- Shot detection
See the documentation on scanner.run for more details.
You must have Scanner and all of its dependencies installed. See our installation guide.
Each subdirectory prefixed with "scannertools" is a module containing Python and C++ Scanner ops. The modules are separated because each expects different system dependencies:
- scannertools: no additional dependencies beyond Scanner.
- scannertools.face_detection and scannertools.face_embedding: depends on Facenet
- scannertools.gender_detection: depends on rude-carnie
- scannertools.object_detection: depends on TensorFlow
- scannertools_caffe: depends on Caffe.
- scannertools_sql: depends on pqxx.
The scannertools_infra package contains build and test infrastructure for each of the scannertools submodules.
To install the optional dependencies that scannertools use, first clone the dependency repo and then add the source to the python pyath.
We'll be uploading pip packages soon. In the meantime, follow the install from source direction.
First clone the repository and install the infrastructure.
git clone https://github.com/scanner-research/scannertools
cd scannertools
cd scannertools_infra
pip3 install --user -e .
Then, for each submodule you want to install, go into the the subdirectory and run pip, e.g.:
cd scannertools_caffe
pip3 install --user -e .
To build the ops with GPU compatibility, pass the path to your CUDA installation:
pip3 install --install-option="--build-cuda=/usr/local/cuda" --user -e .
See the documentation on scanner.run for usage.