1#![doc = include_str!("../README.md")]
2#![forbid(unsafe_code)]
3
4mod anchors;
5mod error;
6mod frame;
7mod heatmap;
8mod model_detector;
9mod nms;
10mod roi;
11#[cfg(test)]
12mod tests;
13
14#[cfg(test)]
15mod proptest_tests;
16mod types;
17mod yolo;
18
19pub use anchors::generate_anchors;
20pub use error::DetectError;
21pub use frame::{
22 FrameFaceDetectScratch, FramePeopleDetectScratch, Rgb8FaceDetectScratch,
23 Rgb8PeopleDetectScratch, detect_faces_from_frame, detect_faces_from_frame_with_scratch,
24 detect_faces_from_rgb8, detect_faces_from_rgb8_with_scratch, detect_people_from_frame,
25 detect_people_from_frame_with_scratch, detect_people_from_rgb8,
26 detect_people_from_rgb8_with_scratch,
27};
28pub use heatmap::{HeatmapDetectScratch, detect_from_heatmap, detect_from_heatmap_with_scratch};
29pub use model_detector::{
30 ModelDetector, ModelDetectorConfig, postprocess_detections, preprocess_rgb8_for_model,
31};
32pub use nms::{batched_nms, iou, non_max_suppression, soft_nms};
33pub use roi::{roi_align, roi_pool};
34pub use types::{BoundingBox, CLASS_ID_FACE, CLASS_ID_PERSON, CRATE_ID, Detection};
35pub use yolo::{
36 YoloConfig, coco_labels, decode_yolov8_output, decode_yolov11_output, letterbox_preprocess,
37 yolov8_coco_config, yolov11_coco_config,
38};
39#[cfg(feature = "onnx")]
40pub use yolo::{detect_yolov8_from_rgb, detect_yolov8_onnx};