# Palma Detector
Sistema de detección de marchitez letal en plantas de palma africana usando Deep Learning y TensorFlow.js.
## Requisitos
- Python 3.8+
- TensorFlow 2.12+
- Navegador moderno con acceso a cámara
## Estructura del Proyecto
```
palma_detector/
├── data/
│ ├── train/
│ │ ├── sana/ # Imágenes de plantas sanas
│ │ └── afectada/ # Imágenes de plantas afectadas
│ └── test/
│ ├── sana/
│ └── afectada/
├── src/
│ ├── train.py # Entrenamiento del modelo
│ ├── evaluate.py # Evaluación del modelo
│ └── convert.py # Conversión a TensorFlow.js
├── frontend/
│ ├── index.html
│ ├── css/style.css
│ ├── js/app.js
│ └── model/ # Modelo convertido (generado)
└── requirements.txt
```
## Paso 1: Preparar el Dataset
1. Crear las carpetas necesarias:
```bash
mkdir -p data/train/sana data/train/afectada data/test/sana data/test/afectada
```
2. Colocar las imágenes en las carpetas correspondientes:
- `data/train/sana/` - Imágenes de plantas sanas (entrenamiento)
- `data/train/afectada/` - Imágenes de plantas enfermas (entrenamiento)
- `data/test/sana/` - Imágenes de plantas sanas (prueba)
- `data/test/afectada/` - Imágenes de plantas enfermas (prueba)
3. **Recomendaciones:**
- Mínimo 200-300 imágenes por clase
- Resolución recomendada: 224x224 o superior
- Variedad en ángulos, iluminación y fondos
- Balance 50/50 entre clases
## Paso 2: Instalar Dependencias
```bash
pip install -r requirements.txt
```
## Paso 3: Entrenar el Modelo
```bash
cd src
python train.py
```
Esto generará:
- `palm_detector_model.h5` - Modelo entrenado
- `training_history.png` - Gráfico de entrenamiento
## Paso 4: Evaluar el Modelo (Opcional)
```bash
cd src
python evaluate.py
```
Esto generará:
- `confusion_matrix.png` - Matriz de confusión
## Paso 5: Convertir a TensorFlow.js
```bash
cd src
python convert.py
```
Esto copiará el modelo convertido a `frontend/model/`
## Paso 6: Desplegar en GitHub …