How kushalj123/plant-disease-classification-and-synthetic-image-generation works
This repository is a set of Python scripts for preparing plant-leaf image datasets, training unconditional or class-conditional variational autoencoders, generating synthetic images, and training/evaluating a CNN classifier. The main workflow prepares images, trains a model, then generates images or evaluates disease classification. The README describes synthetic-data augmentation as a capability, but the sampled CNN script reads data_clean directly; no connection from generated images into CNN training is evident. Data directories and saved weights are runtime artifacts, not source files.
Main entry points: train_cvae.py Train CVAE · train_cvae_conditional.py Train conditional CVAE · generate_conditional.py Generate by class · create_dataset.py Organize classes
Components 17
Dataset preparation
- Raw images
- Organize classes
create_dataset.py - Clean dataset
- Select small set
prepare_small.py - Small dataset
Image generation
- Train CVAE
train_cvae.py - CVAE architecture
cvae.py - CVAE weights
- Generate images
generate.py - Synthetic images
- Train conditional CVAE
train_cvae_conditional.py - Conditional CVAE
cvae_conditional.py - Conditional weights
- Generate by class
generate_conditional.py
Disease classification
- Train and evaluate CNN
train_cnn.py - Classification metrics
Other components
- Project user
Connections 24
- Project user → Organize classes: runs
- Raw images → Organize classes: reads
- Organize classes → Clean dataset: copies classes
- Project user → Select small set: runs
- Clean dataset → Select small set: samples images
- Select small set → Small dataset: copies subset
- Project user → Train CVAE: runs
- Small dataset → Train CVAE: loads images
- Train CVAE → CVAE architecture: uses
- Train CVAE → CVAE weights: saves weights
- Project user → Generate images: runs
- CVAE weights → Generate images: loads weights
- Generate images → Synthetic images: saves images
- Project user → Train conditional CVAE: runs
- Small dataset → Train conditional CVAE: loads labeled images
- Train conditional CVAE → Conditional CVAE: uses
- Train conditional CVAE → Conditional weights: saves weights
- Project user → Generate by class: runs
- Conditional weights → Generate by class: loads weights
- Small dataset → Generate by class: reads class names
- Generate by class → Synthetic images: saves by class
- Project user → Train and evaluate CNN: runs
- Clean dataset → Train and evaluate CNN: loads train and test
- Train and evaluate CNN → Classification metrics: reports