El proyecto se centra en predecir la biomasa de cultivos mediante el análisis de imágenes capturadas por drones. A través de técnicas de aprendizaje profundo, somos capaces de obtener datos precisos sobre el estado de los cultivos.
Implementamos un algoritmo avanzado para normalizar y mejorar la calidad de las imágenes capturadas por drones.
import torch
import cv2
import psycopg2
import pytorch_lightning as pl
from torch.utils.data import Dataset, DataLoader
import numpy as np
# Clase de preprocesamiento de imágenes
class BiomassImagePreprocessor(Dataset):
def __init__(self, image_data, drone_altitudes, reference_altitude=6, crop_size=256):
self.image_data = image_data
self.drone_altitudes = drone_altitudes
self.reference_altitude = reference_altitude
self.crop_size = crop_size
def preprocess_image(self, image, drone_altitude):
scaling_factor = self.reference_altitude / drone_altitude
crop_dim = int(self.crop_size * scaling_factor)
height, width, _ = image.shape
start_x = (width // 2) - (crop_dim // 2)
start_y = (height // 2) - (crop_dim // 2)
crop_img = image[start_y:start_y + crop_dim, start_x:start_x + crop_dim]
upscale_img = cv2.resize(crop_img, (2048, 2048), interpolation=cv2.INTER_CUBIC)
return upscale_img
def __len__(self):
return len(self.image_data)
def __getitem__(self, idx):
image = self.image_data[idx]
drone_altitude = self.drone_altitudes[idx]
preprocessed_image = self.preprocess_image(image, drone_altitude)
# Convierte imagen a tensor
preprocessed_image = torch.from_numpy(preprocessed_image).float().permute(2, 0, 1)
return preprocessed_image
# Conexión a base de datos
def load_data_from_postgresql(query, conn_params):
conn = psycopg2.connect(**conn_params)
cursor = conn.cursor()
cursor.execute(query)
data = cursor.fetchall()
cursor.close()
conn.close()
return data
# Parámetros de conexión a PostgreSQL
conn_params = {
"dbname": "biomass_db",
"user": "postgres",
"password": "password",
"host": "localhost",
"port": "5432"
}
# Ejemplo de consulta a la base de datos
query = "SELECT image, drone_altitude FROM drone_images"
Utilizamos una arquitectura de red neuronal convolucional personalizada para extraer características relevantes de las imágenes procesadas.
Utilizamos redes neuronales convolucionales (CNN) para analizar las imágenes y generar predicciones precisas sobre el rendimiento del cultivo.
"El Sistema de Predicción de Biomasa de Cultivos de Austral Metrics ha revolucionado nuestra forma de gestionar los cultivos. Hemos visto un aumento del 30% en la eficiencia de nuestros procesos y una mejora significativa en nuestras decisiones de manejo de cultivos."
- Juan Pérez, Agricultor Senior
Lenguaje principal de desarrollo
Framework de deep learning
Base de datos para almacenamiento
Infraestructura en la nube
Visualización de datos
Control de versiones