Files
plant-disease-id/tasks/multi-image-user-feedback/README.md

41 lines
2.0 KiB
Markdown

# Multi-Image Upload & User Feedback
Objective: Allow users to upload a second optional image, manually identify the plant species, see dynamic confidence updates, top-5 predictions, and provide post-diagnosis feedback (accuracy rating + storage consent).
Status legend: [ ] todo, [~] in-progress, [x] done
## Tasks
- [ ] 01 — Extend types and add feedback DB schema → `01-api-types-and-schema.md`
- [ ] 02 — Multi-image ensemble & species-constrained inference → `02-multi-image-inference-pipeline.md`
- [ ] 03 — Load trained Swin-Tiny model with species/disease routing → `03-hierarchical-model-loader.md`
- [ ] 04 — Enhanced API route for multi-image, species-aware identification → `04-enhanced-identify-api-route.md`
- [ ] 05 — Upload page with optional second image and species selector → `05-upload-page-second-image-species.md`
- [ ] 06 — Results dashboard with dynamic confidence and top-5 display → `06-dynamic-results-dashboard.md`
- [ ] 07 — Post-diagnosis feedback component (accuracy / unsure / store consent) → `07-post-evaluation-feedback-component.md`
- [ ] 08 — Feedback API endpoint for accuracy ratings and storage consent → `08-feedback-api-endpoint.md`
## Dependencies
```
01 ← 02 (types needed by inference)
01 ← 04 (types needed by API route)
01 ← 05 (types needed by upload page)
01 ← 06 (types needed by results dashboard)
01 ← 07 (types needed by feedback component)
01 ← 08 (schema needed by feedback API)
02 ← 04 (inference pipeline needed by API route)
03 ← 04 (model loader needed by API route)
05 ← 06 (upload outcomes fed into results)
06 ← 07 (results shown before post-eval)
04 ← 06 (API response needed by results dashboard)
```
## Exit Criteria
- User can optionally upload a second image and/or enter a species name
- Confidence scores dynamically reflect the amount of information provided
- Top-5 species/disease combo predictions are displayed
- After diagnosis, user can rate accuracy (✓/✗/?) and opt in to image storage for training
- Feedback is persisted to the database