Instructions to use ratapan-ngawi/canisight-yolo11s-visual-signs-v4-pilot with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- ultralytics
How to use ratapan-ngawi/canisight-yolo11s-visual-signs-v4-pilot with ultralytics:
# Couldn't find a valid YOLO version tag. # Replace XX with the correct version. from ultralytics import YOLOvXX model = YOLOvXX.from_pretrained("ratapan-ngawi/canisight-yolo11s-visual-signs-v4-pilot") source = 'http://images.cocodataset.org/val2017/000000039769.jpg' model.predict(source=source, save=True) - Notebooks
- Google Colab
- Kaggle
CaniSight YOLO11s Visual Signs V4 Pilot
This repository contains the selected YOLO11s V4 pilot checkpoint for detecting two observable canine visual signs:
- class 0:
dropped_jaw - class 1:
visible_hypersalivation
It is part of the CaniSight observational screening prototype. The model does not diagnose rabies and must not label a dog as rabies-positive or rabies-negative. These signs are nonspecific and can occur in other conditions.
Status and intended use
This is a small, exploratory pilot intended for research, demonstration, reproducibility, and human-reviewed error analysis. It is not clinically validated and must not be used for autonomous veterinary or public-health decisions, or to delay medical care after a bite, scratch, or saliva exposure.
Dataset and split
The V4 export contains 65 images:
| Split | Images |
|---|---|
| Train | 46 |
| Validation | 11 |
| Test | 8 |
V4 corrected a known source-scene split issue from V3 by keeping all frames
from Watch out for rabies infected dog symptoms... in the test split. One
other source contributes different dogs/scenes to train and validation. The
dataset remains too small for strong generalization claims.
Training configuration
- Base weights: Ultralytics
yolo11s.pt(open weights) - Image size: 768
- Maximum epochs: 120 with early stopping, patience 25
- Batch size: 8
- Optimizer: AdamW
- Seed: 42
- Frozen layers: 10
- Device: Kaggle Tesla T4
- Classes: 2
The complete settings are recorded in args.yaml; the reproducible notebook is
canisight_yolo11_v4_scene_corrected.ipynb.
Exploratory metrics
| Split | Precision | Recall | mAP50 | mAP50-95 |
|---|---|---|---|---|
| Validation (11 images) | 0.551 | 0.458 | 0.356 | 0.139 |
| Test (8 images) | 0.680 | 0.417 | 0.426 | 0.145 |
The test split was consulted when comparing YOLO11n and YOLO11s candidates. Therefore these test metrics are exploratory selection results, not an independent final evaluation. The low recall means genuine signs may be missed.
CaniSight inference settings
The application samples video at 3 FPS and uses class-specific confidence thresholds:
dropped_jaw: 0.06visible_hypersalivation: 0.25- minimum positive-frame ratio before risk fusion: 0.20
These thresholds are prototype operating points chosen for the small pilot set, not clinically calibrated cutoffs.
from ultralytics import YOLO
model = YOLO("best.pt")
results = model.predict("dog_frame.jpg", conf=0.05, imgsz=768)
Apply the class-specific thresholds after prediction. Video detections should be aggregated over time and reviewed by a person.
Files
best.pt: selected V4 YOLO11s checkpointargs.yaml: Ultralytics training configurationresults.csvandresults.png: epoch-level training historycanisight_v4_yolo11s_summary.json: recorded metrics and limitationsevaluation/: validation and exploratory test plots/predictionscanisight_yolo11_v4_scene_corrected.ipynb: Kaggle training notebook
Known limitations
- Only 65 images and few independent positive scenes
- Very small validation and test splits
- Test used for candidate model selection
- Low recall, especially for subtle or isolated signs
dropped_jawis nonspecific and may resemble panting, barking, or yawning- Hypersalivation may be confused with wet fur, water, or mouth highlights
- Performance may shift with breed, fur color, lighting, occlusion, camera angle, motion blur, distance, and compression
- No clinical diagnosis ground truth and no clinical validation
License and attribution
The checkpoint is derived from Ultralytics YOLO11 weights. This repository uses AGPL-3.0; downstream users are responsible for complying with its requirements and verifying the licenses and permissions of data used in their own work.
Project code: https://github.com/shzirley/Canisight
- Downloads last month
- 15