AI Precision Agriculture System Development

We design and deploy artificial intelligence systems: from prototype to production-ready solutions. Our team combines expertise in machine learning, data engineering and MLOps to make AI work not in the lab, but in real business.
Showing 1 of 1 servicesAll 1566 services
AI Precision Agriculture System Development
Complex
from 2 weeks to 3 months
FAQ
AI Development Areas
AI Solution Development Stages
Latest works
  • image_website-b2b-advance_0.png
    B2B ADVANCE company website development
    1212
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    852
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1041
  • image_logo-advance_0.png
    B2B Advance company logo design
    561
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    822

Разработка AI-системы точного земледелия Precision Agriculture

Точное земледелие — это управление полем не как единицей, а как мозаикой микрозон с разными свойствами. AI объединяет спутниковые снимки, дроны, почвенные данные и погоду в единый контур управления: каждый квадрат поля получает нужное вмешательство.

Data Fusion — слияние разнородных данных

Точное земледелие работает с несколькими слоями пространственных данных, которые нужно совместить:

import numpy as np
import rasterio
from rasterio.enums import Resampling
from rasterio.warp import reproject, calculate_default_transform

class FieldDataFusion:
    """Совмещение разнородных пространственных слоёв поля"""

    def __init__(self, target_resolution_m=10):
        self.resolution = target_resolution_m

    def align_to_reference(self, source_path, reference_path, output_path):
        """Привести все слои к единой сетке и разрешению"""
        with rasterio.open(reference_path) as ref:
            ref_meta = ref.meta
            ref_transform = ref.transform
            ref_crs = ref.crs

        with rasterio.open(source_path) as src:
            transform, width, height = calculate_default_transform(
                src.crs, ref_crs, src.width, src.height, *src.bounds
            )
            meta = src.meta.copy()
            meta.update({'crs': ref_crs, 'transform': ref_transform,
                        'width': ref_meta['width'], 'height': ref_meta['height']})

            with rasterio.open(output_path, 'w', **meta) as dst:
                reproject(
                    source=rasterio.band(src, 1),
                    destination=rasterio.band(dst, 1),
                    src_transform=src.transform,
                    src_crs=src.crs,
                    dst_transform=ref_transform,
                    dst_crs=ref_crs,
                    resampling=Resampling.bilinear
                )

    def create_feature_stack(self, layer_paths):
        """Стек признаков для ML: [NDVI, NDRE, elevation, slope, EC, pH]"""
        arrays = []
        for path in layer_paths:
            with rasterio.open(path) as src:
                arrays.append(src.read(1))

        return np.stack(arrays, axis=0)  # (n_layers, height, width)

Зонирование поля (Management Zones)

Деление поля на управленческие зоны:

Кластеризация пикселей по многолетнему NDVI + EC почвы + рельеф:

  • k-means / Fuzzy C-Means на нормализованном многомерном признаковом пространстве
  • Оптимальное K: elbow method на within-cluster variance
  • Постобработка: sieve filter для устранения мелких несвязных кластеров

Типичный результат: 3–5 зон с существенно разными агрохимическими свойствами.

Компьютерное зрение для агрокультур

Мониторинг всходов и густоты посева:

import cv2
import numpy as np
from ultralytics import YOLO

class SeedlingCounter:
    """Подсчёт всходов по снимкам дрона для контроля густоты"""

    def __init__(self, model_path='seedling_yolov8n.pt'):
        self.model = YOLO(model_path)
        self.calibration = None  # ГСД (Ground Sampling Distance) в см/пиксель

    def count_seedlings(self, image_path, gsd_cm=2.0, plot_size_m2=25):
        """
        Подсчёт всходов на снимке.
        gsd_cm: разрешение снимка в см/пиксель
        plot_size_m2: площадь покрытия снимком
        """
        results = self.model(image_path, conf=0.4, iou=0.3)
        count = len(results[0].boxes)
        density_per_m2 = count / plot_size_m2
        density_per_ha = density_per_m2 * 10000

        target_density = {'wheat': 400, 'corn': 8, 'sunflower': 5}  # тыс/га
        crop = 'wheat'  # определяется из контекста
        deviation = (density_per_ha/1000 - target_density[crop]) / target_density[crop]

        return {
            'count': count,
            'density_per_ha': density_per_ha,
            'deviation_pct': deviation * 100,
            'action': 'пересев' if deviation < -0.15 else 'норма'
        }

Идентификация сорняков для точечной обработки:

Drone + YOLO: карта засорённости поля → prescription map для спот-спрея:

  • Обработка только засорённых зон (30–40% поля) → экономия гербицидов 60–70%
  • Сельскохозяйственные дроны (DJI Agras T40): автономное опрыскивание по prescription map

Прогноз урожайности

Многопризначная модель:

Источник данных Признаки Горизонт прогноза
Спутник (Sentinel-2) Временной ряд NDVI по фазам 30–60 дней
Погодная станция Сумма осадков, GDD, стресс Весь сезон
Почва EC, pH, N/P/K, OM% Неизменны
История Урожайность прошлых лет Baseline

Ensemble: LightGBM + XGBoost + CatBoost → средневзвешенное. RMSE: 0.3–0.5 т/га для пшеницы при прогнозировании за 30 дней.

Карты урожайности и обратная связь

Yield Mapping:

Комбайн с GPS и массовым расходомером → растровая карта урожайности в реальном времени:

  • Калибровка расходомера → точность ±3–5%
  • Очистка данных: удалить краевые эффекты (разворот), скорость <3 и >12 км/ч
  • Геостатистика: вариограмма → кригинг для сглаживания шумов

Закрытый цикл:

  • Карта урожайности → корреляция с VRA prescription → что сработало?
  • Многолетний анализ: стабильно высокие/низкие зоны → инвестировать в почвоулучшение

Интеграция в АПК

  • Телематика техники: John Deere Operations Center, CLAAS telematics → трекинг работы, учёт ресурсов
  • Агробухгалтерия: 1С:Агропромышленный комплекс → себестоимость/га по культурам
  • Прогноз погоды: API Meteomatics, WeatherAPI (16-дневный прогноз по ECMWF)

Срок разработки: 5–8 месяцев для полноценной precision agriculture платформы с зонированием, CV-мониторингом, VRA и yield mapping.