Modelo de segmentación de instancias para conteo de plantas de arándano (blueberry) en imágenes aéreas de alta resolución.
1import onnxruntime as ort
2import numpy as np
3
4# Cargar modelo
5sess = ort.InferenceSession("agrovision-plantcount-v1.0.0.onnx")
6
7# Preparar imagen (RGB, 0-1, letterbox a 312x312)
8image = np.random.rand(1, 3, 312, 312).astype(np.float32)
9
10# Inferencia
11outputs = sess.run(None, {"images": image})
12dets, labels, masks = outputs
13
14# Filtrar por confianza
15threshold = 0.5
16valid = dets[:, :, 4] > threshold
17count = valid.sum()
18print(f"Plantas detectadas: {count}")
1{
2 "task": "segment",
3 "boxes": [[x1, y1, x2, y2, conf, cls], ...],
4 "masks": [...],
5 "areas_px": [area_px_1, area_px_2, ...],
6 "area_proj_m2": 12.5,
7 "count": 42,
8 "conf_threshold": 0.5,
9 "classes": {"0": "arbusto"},
10 "crop": "blueberry",
11 "model_version": "1.0.0",
12 "architecture": "rfdetr_seg_nano",
13 "license": "Apache-2.0",
14 "nms_free": true
15}
Donde GSD = 0.02 m/px para el ortomosaico de referencia.
1@software{agrovision_plantcount_2026,
2 title = {AgroVisión PlantCount: Modelo de Conteo de Plantas},
3 author = {Prieto, Alex},
4 year = {2026},
5 version = {1.0.0},
6 license = {Apache-2.0},
7 url = {https://huggingface.co/aprieto/agrovision-plantcount}
8}