# Research: ResNet Phenology Classifier

**Date**: 2025-11-04
**Feature**: specs/1-phenology-classifier/spec.md

## Research Tasks

1. Research best ResNet variant for plant image classification
2. Research data preprocessing techniques for botanical images
3. Research evaluation metrics for multi-class phenological phase classification
4. Research reproducibility practices for ML experiments

## Findings & Decisions

### ResNet Variant
**Decision**: Use ResNet50 as the base architecture
**Rationale**: Provides good balance between accuracy and computational efficiency. ResNet50 has been proven effective for image classification tasks similar to ImageNet.
**Alternatives considered**: ResNet18 (faster but lower accuracy), ResNet101 (higher accuracy but more compute-intensive)

### Data Preprocessing
**Decision**: Use standard ImageNet preprocessing with augmentation
**Rationale**: Random cropping, horizontal flipping, normalization to ImageNet mean/std. This is standard for transfer learning with ResNet.
**Alternatives considered**: Custom augmentations for plant-specific features, but standard works well for general classification.

### Evaluation Metrics
**Decision**: Primary: Accuracy, Secondary: F1-score per class, Precision, Recall
**Rationale**: Accuracy for overall performance, F1-score to handle class imbalance in phenological phases.
**Alternatives considered**: AUC-ROC (more for binary), but multi-class metrics are appropriate.

### Reproducibility
**Decision**: Use random seeds, version data with DVC, log all hyperparameters
**Rationale**: Ensures experiments can be reproduced. DVC for data versioning, MLflow or similar for experiment tracking.
**Alternatives considered**: Manual logging, but automated tools are more reliable.

## Resolved Clarifications

- Dataset format: Images in directory, labels in CSV with columns: image_path, phase
- Model output: Probabilities for each phase class
- Training hardware: GPU required for reasonable training time