--- tags: - plants - plant-disease - image-classification - tensorflow - keras - resnet50 license: apache-2.0 pipeline_tag: image-classification --- # plant-resnet50-38classes Modelo keras (tensorflow) para reconhecimento de plantas e doenças (38 classes). ## 📋 Classes suportadas O modelo identifica as seguintes plantas e condições: - **Maçã**: sarna, podridão negra, ferrugem do cedro, saudável - **Mirtilo**: saudável - **Cereja**: oídio, saudável - **Milho**: mancha de cercospora, ferrugem comum, queima das folhas, saudável - **Uva**: podridão negra, esca, queima das folhas, saudável - **Laranja**: citrus greening - **Pêssego**: mancha bacteriana, saudável - **Pimentão**: mancha bacteriana, saudável - **Batata**: requeima precoce, requeima tardia, saudável - **Framboesa**: saudável - **Soja**: saudável - **Abóbora**: oídio - **Morango**: queima das folhas, saudável - **Tomate**: 10 condições diferentes Total: 38 classes ## 🚀 Uso rápido ```python import json import numpy as np from huggingface_hub import hf_hub_download import tensorflow as tf from PIL import Image # Baixa modelo e configuração repo_id = "raysarocha/plant-resnet50-38classes" cfg_path = hf_hub_download(repo_id, "config.json") model_path = hf_hub_download(repo_id, "model.keras") # Carrega configuração e modelo with open(cfg_path, "r") as f: cfg = json.load(f) model = tf.keras.models.load_model(model_path) # Processa imagem img = Image.open("sua_imagem.jpg").convert("RGB") img = img.resize((cfg["image_size"], cfg["image_size"])) arr = np.array(img).astype("float32") * cfg["rescale"] arr = np.expand_dims(arr, axis=0) # Predição predictions = model(arr) probs = tf.nn.softmax(predictions[0]).numpy() pred_idx = int(np.argmax(probs)) confidence = float(probs[pred_idx]) print(f"Classe: {cfg['id2label'][str(pred_idx)]}") print(f"Confiança: {confidence:.2%}") ``` ## 📊 Informações do modelo - **Arquitetura**: resnet50 - **Framework**: tensorflow/keras - **Entrada**: 224x224 pixels - **Normalização**: pixels / 255.0 - **Classes**: 38 ## 📝 Licença Apache 2.0