Technical situation: a drone flew over a field, captured 4,000 images, an agronomist stared at the monitor for three hours — and missed the light yellow spots on the northern section. This is not an attention problem; it is a scale problem. The human eye physically cannot process thousands of hectares with the required periodicity. We develop AI computer vision for agriculture — automatic detection of vegetation anomalies, classification of stress factors, and yield prediction from drone, satellite, and ground camera data. Our experience (10+ years in AI solutions for agriculture, 50+ projects, certified engineers) shows that the key to accuracy is multispectral data, not just RGB. The turnkey system includes data collection, labeling, training, and integration into your ERP. We will assess your project in 2-3 days — contact us for a consultation.
What's Really Hard in Crop Analysis
Why RGB Is Not Enough for Precise Analysis
Most systems brought to us for refinement are trained exclusively on RGB images. This works for coarse segmentation like 'field / not field', but it does not provide reliable classification of stress conditions.
The key indicator is NDVI (Normalized Difference Vegetation Index): (NIR - RED) / (NIR + RED). Calculating it requires a multispectral camera with Red Edge and NIR channels. In practice, we use Micasense RedEdge-MX or Sentera 6X integrated with DJI Matrice 300.
We additionally apply:
- NDRE (Red Edge NDVI) — more accurate for dense green cover where NDVI saturates;
- SAVI — NDVI with soil correction, critical for early growth stages when LAI < 3;
- CWSI (Crop Water Stress Index) — from thermal images (FLIR Tau 2 640), detects moisture deficit before visible symptoms.
One illustrative case: a client with 1,200 ha of wheat wanted to detect nitrogen deficiency. On pure RGB, the model gave precision 0.61 — too many false positives from cloud shadows. Adding the NDRE channel raised precision to 0.87 with recall 0.83.
Model Architecture: Segmentation vs Classification
For pixel-wise crop condition maps (field segmentation), we use semantic segmentation. Stack: PyTorch + segmentation_models_pytorch, backbone SegFormer-B3 or DeepLabV3+ with ResNet-50. SegFormer-B3 uses 2x less memory and is 1.3x faster than DeepLabV3+, while achieving higher mIoU (0.81 vs 0.78).
| Architecture | mIoU (validation) | Model size | Inference time (GPU T4) |
|---|---|---|---|
| UNet + ResNet-34 | 0.74 | 84 MB | 38 ms |
| DeepLabV3+ ResNet-50 | 0.78 | 142 MB | 51 ms |
| SegFormer-B3 | 0.81 | 47 MB | 28 ms |
| SegFormer-B5 | 0.84 | 82 MB | 44 ms |
For field-level stress factor classification (drought / disease / N/P/K deficiency / weed), we use EfficientNet-B4 with a multi-label head — one patch image may contain multiple issues simultaneously.
The Dataset Problem
Public datasets (PlantVillage, CGIAR) are good starting points but have a serious bias: most images are taken in lab conditions with bright uniform lighting. In the field, the model 'drifts' due to variable cloud cover, different shooting altitudes, and phenological stages.
Standard workaround: domain adaptation via Mean Teacher or AdaIN to stylize field images under different lighting conditions. Plus heavy augmentation — random shadows (Albumentations RandomShadow), haze simulation (RandomFog), random 360° rotation (quite realistic for aerial imagery).
How NDVI Helps Detect Nitrogen Deficiency
NDVI directly correlates with chlorophyll and nitrogen content in leaves. A drop in NDVI below a threshold (0.6 for wheat at tillering stage) indicates nitrogen deficiency long before leaves yellow. Our models consider thresholds for each crop and growth stage, issuing alerts in the monitoring system.
Comparison of Vegetation Indices
| Index | Formula | Application |
|---|---|---|
| NDVI | (NIR - RED)/(NIR + RED) | General vegetation, nitrogen status (tillering stage) |
| NDRE | (NIR - Red Edge)/(NIR + Red Edge) | Dense vegetation, late stages |
| SAVI | (NIR - RED)/(NIR + RED + L)*(1+L) | Soil correction, LAI < 3 |
| CWSI | 1 - (T_veg - T_wet)/(T_dry - T_wet) | Water stress from thermal data |
How the System Is Built
- Data Collection: Create flight missions in Mission Planner or DJI Terra with 75-80% overlap. Use multispectral sensors (Micasense RedEdge-MX, Sentera 6X).
- Labeling: Annotate via Label Studio with a custom interface for polygon annotation. Minimum 500 labeled patches per class.
- Preprocessing: Orthomosaicing via OpenDroneMap or Pix4Dmapper, radiometric calibration using reference panels, atmospheric correction (DOS or QUAC). Compute indices in GDAL/rasterio.
- Training: Fine-tune pre-trained ImageNet weights. Use stratified k-fold by fields (not patches) to avoid spatial autocorrelation. Log with Weights & Biases (MLOps standard). Target accuracy ≥85% mIoU.
- Deployment: Export to ONNX, optimize via TensorRT for server-side. For drone onboard computer: TensorFlow Lite with INT8 quantization. Output GeoTIFF classification maps, integrate into QGIS or ArcGIS via WMS/WFS.
What You Get
- NDVI/NDRE maps with historical changes over the season;
- Stress factor classification map with confidence scores;
- Automatic alerts when NDVI drops below zone thresholds;
- Zoning for variable rate fertilization (VRA maps).
Savings on fertilizers through variable rate application can reach 45% — resulting in tens of thousands of dollars in savings annually. Monitoring cost reduction — up to 60%.
Timeframes
Basic monitoring system on existing drone data: 4–8 weeks. Full platform with multi-season analytics and integration into agri-ERP: 3–5 months. Cost is calculated individually depending on labeling volume, number of crops in the model, and infrastructure requirements. With over 10 years of experience, 50+ agri-tech projects, and a team of certified AI engineers, we guarantee reliable performance.
Order a pilot project — within 2 weeks you will receive a prototype field condition map. Contact us for a consultation and accurate estimate.







