CaniSight YOLO11n Visual Signs V3 Pilot

This repository contains a pilot YOLO11n checkpoint fine-tuned to detect two observable canine visual signs:

  • dropped_jaw (class 0)
  • visible_hypersalivation (class 1)

The model is part of the CaniSight observational screening prototype. It does not diagnose rabies and must not be used to label a dog as rabies-positive or rabies-negative. Similar signs may arise from many other conditions.

Status

This is a functional pilot checkpoint, not a clinically validated model. It is published to make the CaniSight semifinal implementation inspectable and reproducible.

The V3 export contains 65 images: 47 train, 11 validation, and 7 test images. Subsequent audit found source-scene leakage between these splits, including frames from the same underlying videos appearing in train/validation or train/test. Consequently, the metrics below are exploratory and must not be interpreted as independent generalization performance.

Training

  • Base weights: Ultralytics yolo11n.pt
  • Epochs: 40
  • Image size: 640
  • Batch size: 8
  • Seed: 42
  • Device: Kaggle GPU
  • Classes: 2

Recorded validation metrics

Aggregate metrics at epoch 40:

Metric Value
Precision 0.6459
Recall 0.1250
mAP50 0.1194
mAP50-95 0.0310

No independently valid test metric is claimed because the current split has scene leakage and the test subset contains only seven images. A future dataset version must group all derivatives of a source scene into one split before retraining and reporting final metrics.

Files

  • best.pt: selected V3 pilot checkpoint
  • args.yaml: Ultralytics training configuration
  • results.csv: epoch-level training and validation results
  • canisight_yolo11n_kaggle_v3_pilot.ipynb: reproducible Kaggle training notebook
  • canisight_v3_artifacts.zip: training plots and complete run artifacts

Example

from ultralytics import YOLO

model = YOLO("best.pt")
results = model.predict("dog_video.mp4", conf=0.25, imgsz=640)

The prototype samples video frames and aggregates detections across time. One-frame detections should be treated as candidates for review, not as a clinical conclusion. Temporal thresholds have not yet been validated.

Limitations

  • Small number of independent positive scenes
  • Source-scene leakage in the V3 pilot split
  • Low recorded recall
  • No veterinary validation of the labels
  • Possible confusion with panting, barking, yawning, drinking, wet mouth, and other non-target appearances
  • Performance may vary with breed, fur color, lighting, distance, blur, occlusion, camera movement, and video compression

Intended use

Intended for research, demonstration, error analysis, and development of the CaniSight observational screening prototype. Outputs require human review.

Not intended for diagnosis, autonomous public-health decisions, or delaying medical/veterinary attention after a bite, scratch, or saliva exposure.

License and attribution

The checkpoint is derived from Ultralytics YOLO11 weights. Ultralytics YOLO11 models are offered under AGPL-3.0 and Enterprise licensing options. This repository uses AGPL-3.0; downstream users are responsible for complying with its requirements and verifying the licenses of any data they use.

Project code: https://github.com/shzirley/Canisight

Downloads last month
6
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Evaluation results

  • Validation Precision on CaniSight Visual Signs Pilot V3
    self-reported
    0.646
  • Validation Recall on CaniSight Visual Signs Pilot V3
    self-reported
    0.125
  • Validation mAP50 on CaniSight Visual Signs Pilot V3
    self-reported
    0.119