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
1from ultralytics import YOLO
2
3model = YOLO("best.pt")
4results = 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.