7 releases (breaking)
0.5.0 | May 14, 2024 |
---|---|
0.4.1 | Sep 11, 2021 |
0.4.0 | Nov 5, 2020 |
0.3.0 | Sep 16, 2020 |
0.0.1 | Aug 25, 2020 |
#245 in WebAssembly
58KB
1.5K
SLoC
pico-detect
This library is a reimplementation of Pixel Intensity Comparison-based Object (PICO) detection algorithms in Rust:
Detector
: Cascade of binary classifiers from pico;Localizer
: Localization with an ensemble of randomized trees from picojs (seelploc.js
);Shaper
: Alignment with an ensemble of regression trees from dlib (seeshape_predictor
).
Example
To run CLI example, which takes an image, finds all faces, detects some landmarks and pupils:
NOTE: Git LFS is needed to resolve binary files with
git clone
.If you don't want to use Git LFS you can download models (and test image) direct from this repo (see model column in the table below) and put them under
models/
directory.
cargo run --release --example detect-faces -- --models-dir models -i "assets/test.png" --score 35.0 -o result.png
Output image result.png
should be like this:
Models
Each algorithm requires to be loaded with correspondent binary model.
model | algorithm | source | Description |
---|---|---|---|
face.detector.bin | Detector |
pico | Human face classifier |
pupil.localizer.bin | Localizer |
puploc | Human eye pupil localizer |
face-5.shaper.bin | Shaper |
shape_predictor_5_face_landmarks | Human 5 face landmarks |
References
Dependencies
~11MB
~222K SLoC