PlantVision AI ist eine Anwendung zur automatischen Erkennung von Pflanzenarten anhand von Bildern. Ein Nutzer lädt ein Foto einer Pflanze hoch, und unser Modell gibt die wahrscheinlichste Art aus, inkl. einer Konfidenzangabe.
- Aufbau eines Deep-Learning-Modells zur Klassifikation von Pflanzenarten
- Bereitstellung eines REST-Backends zur Bildanalyse
- Entwicklung eines einfachen Frontends zur Interaktion für Endnutzer
- Saubere Teamarbeit mit klaren Modulen, Git-Workflow und Dokumentation
- Programmiersprache: Python
- ML / Deep Learning: PyTorch, Torchvision
- Bildverarbeitung: Pillow (optional OpenCV)
- Backend: FastAPI oder Flask (REST-API)
- Frontend: einfache Weboberfläche (HTML/CSS/JS oder React)
- Sonstiges: Git
Dateien:
data/dataloader.pydata/transforms.py
Aufgaben:
- Oxford Flowers Dataset laden (Bilder + Labels)
- Train/Valid/Test-Splits definieren
torch.utils.data.Dataset+DataLoaderimplementieren- Standard-Transforms:
- Resize/Crop auf konsistente Größe (z.B. 224x224)
ToTensor()- Normalize mit ImageNet-Mean/Std (für ResNet)
Datei:
models/plant_model.py
Aufgaben:
- Funktion
create_resnet_model(num_classes: int)implementieren:torchvision.models.resnet50mit vortrainierten Gewichten laden- letzten Fully-Connected-Layer (
model.fc) annum_classesanpassen
- vorhandene
save_modelundload_modelweiterverwenden:save_model(model, path)load_model(path, num_classes, ...)→ ResNet-Variante laden
Datei:
training/train.py
Aufgaben:
train()-Funktion implementieren:- Modell über
create_resnet_model(...)holen - DataLoader aus
data/dataloader.py - Loss:
nn.CrossEntropyLoss - Optimizer: z.B.
torch.optim.AdamoderSGD - Training über X Epochen (z.B. 5–10)
- am Ende Gewichte speichern (
save_model(...)→ z.B.models/Plant_classifier.pth)
- Modell über
- Optional: einfache Konsolenausgabe für Loss/Accuracy pro Epoche
Datei:
predict.pyim Projektroot oderpredict/predict.py
Aufgaben:
- Modell über
load_modelladen - Bildpfad als Argument entgegennehmen:
python predict.py path/to/image.jpg
╔══════════════════════════════════╗ ║ MAIN MENU ║ ╠══════════════════════════════════╣ ║ 1) Load image to analyze by AI ║ ║ 2) Train Plantmodel ║ ║ 3) Validate Plantmodel ║ ║ 0) Exit ║ ╚══════════════════════════════════╝
1 -