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
  1. Collect wildlife images from camera traps and field photography.
  2. Annotate every animal with a bounding box and class label (e.g. in Roboflow, CVAT or LabelImg).
  3. Split the dataset into train / validation / test sets.
  4. Create the YOLO dataset YAML with the class names and split paths.
  5. Train the model (e.g. `yolo detect train data=wildlife.yaml model=yolo11n.pt epochs=100 imgsz=640`).
  6. Validate accuracy on the validation set and inspect the confusion matrix.
  7. Test on unseen camera-trap images from a different site or season.
  8. Export the weights (`best.pt`, or ONNX for faster CPU inference).
  9. Deploy an inference API exposing POST /api/detect.
  10. 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.