#pico #detection #localization #computer-vision #prediction #detect

小目标检测

基于像素强度比较的对象(PICO)检测库

7 个版本 (破坏性更新)

0.5.0 2024年5月14日
0.4.1 2021年9月11日
0.4.0 2020年11月5日
0.3.0 2020年9月16日
0.0.1 2020年8月25日

#214 in WebAssembly

Download history 102/week @ 2024-05-09 55/week @ 2024-05-16 13/week @ 2024-05-23 2/week @ 2024-06-13 7/week @ 2024-07-04 1/week @ 2024-07-11

每月401次下载

MIT 协议

58KB
1.5K SLoC

crates-badge docs-badge license-badge

小目标检测

此库是 Rust 中基于像素强度比较的对象(PICO)检测算法的实现

  • Detector: 来自 pico 的二进制分类器级联;
  • Localizer: 来自 picojs 的随机森林定位(见 lploc.js);
  • Shaper: 来自 dlib 的回归树级联对齐(见 shape_predictor)。

示例

要运行 CLI 示例,该示例接受一张图片,找到所有面孔,检测一些地标和瞳孔

注意: 需要使用 Git LFS 来解决二进制文件,使用 git clone

如果您不想使用 Git LFS,您可以直接从本仓库下载模型(和测试图像),并将它们放在 models/ 目录下。

cargo run --release --example detect-faces -- --models-dir models -i "assets/test.png" --score 35.0 -o result.png

输出图像 result.png 应该像这样

visualization example

模型

每个算法都需要加载相应的二进制模型。

模型 算法 来源 描述
face.detector.bin 检测器 pico 人脸分类器
pupil.localizer.bin 定位器 puploc 人眼瞳孔定位器
face-5.shaper.bin 形状调整器 shape_predictor_5_face_landmarks 人脸5个地标

参考文献

  1. N. Markus, M. Frljak, I. S. Pandzic, J. Ahlberg and R. Forchheimer, "Object Detection with Pixel Intensity Comparisons Organized in Decision Trees"

  2. 使用随机森林进行眼瞳孔定位

  3. 使用回归树进行每毫秒人脸对齐

依赖项

~11MB
~219K SLoC