AquaSense — Trained Artifacts
Model weights for AquaSense, a multimodal early-warning system for shrimp
(udang) disease detection and pond risk scoring. Built for RISTEK Datathon 2026
by Tim 3 Plenger.
Contents
| File | Module | Description |
|---|
manifest.json | all | Single source of truth for metrics, thresholds, and the M2 form schema. The backend serves this via GET /meta. |
m1_vision.pt | M1 | Image classifier over {healthy, black_gill, wssv}. Contains state_dict, classes, backbone, calibration temperature, and the cost-tuned decision threshold. |
m2_risk.pkl | M2 | Tabular outbreak-risk model. Bundles two variants: model/fitur (39 survey features) and model_web/fitur_web (23 features the web form collects). The application must load the _web variant. |
m3_meta.pkl | M3 | Fusion metadata. |
Intended use
Decision support for shrimp farmers — not clinical confirmation. Outputs
should be combined with direct inspection and local farm SOPs.
Training data
- M1: ShrimpDiseaseBD + BD Fish & Shrimp Disease (public). Split per shrimp
individual, not per photo, to prevent leakage across train/val/test.
- M2: WSD Affected Shrimp Farmers (233 ponds, Bangladesh).
Known limitations
- Black Gill recall is 54.5% — the model misses roughly half of Black Gill cases.
- M2 ROC-AUC is moderate (0.70 on the 23-feature web subset); treat it as a
screening signal, not a diagnosis.
- Multimodal fusion is a transparent noisy-OR rule, not a trained meta-learner:
no public dataset pairs photos with pond surveys for the same pond, so a
learned fusion could not be validated.
- All training data is from Bangladesh; generalisation to Indonesian ponds is
untested.
Decision thresholds are tuned by economic cost (false negative ≈ 223× the
cost of a false positive), not accuracy — the models deliberately over-flag.