AI Model
Inference backend status and custom-model integration.
System Status
Checking inference service…
Model Performance
Not available — model evaluation required. Metrics appear here once your trained model reports them; no values are invented.
- Precision
- Fraction of predicted boxes that are correct.
- Recall
- Fraction of real animals the model found.
- mAP@50
- Mean average precision at IoU 0.50.
- mAP@50-95
- Averaged over IoU thresholds 0.50 to 0.95 — the strictest headline metric.
- Confusion Matrix
- Which species get mistaken for which.
- Inference Time
- Milliseconds per image on the deployment hardware.
Training Your Own Wildlife Model
- Collect wildlife images from camera traps and field photography.
- Annotate every animal with a bounding box and class label (e.g. in Roboflow, CVAT or LabelImg).
- Split the dataset into train / validation / test sets.
- Create the YOLO dataset YAML with the class names and split paths.
- Train the model (e.g. `yolo detect train data=wildlife.yaml model=yolo11n.pt epochs=100 imgsz=640`).
- Validate accuracy on the validation set and inspect the confusion matrix.
- Test on unseen camera-trap images from a different site or season.
- Export the weights (`best.pt`, or ONNX for faster CPU inference).
- Deploy an inference API exposing POST /api/detect.
- Set ML_API_URL in this project — WildVision AI switches to your model instantly.
Expected contract for your service
POST ${ML_API_URL}/api/detect
{ "image": "data:image/jpeg;base64,...", "confidenceThreshold": 0.5, "iouThreshold": 0.45 }
200 OK
{
"detections": [
{ "class": "deer", "confidence": 0.94, "bbox": [120, 80, 450, 520] }
],
"imageWidth": 1024,
"imageHeight": 768,
"model": "wildlife_model.pt"
}Boxes may be pixel coordinates (send imageWidth/imageHeight) or already normalized 0–1. Suggested layout for the ML side: ml/models/wildlife_model.pt, ml/inference/detector.py, ml/classes/species.json, ml/config/model_config.json.