Розробка AI-системи для моніторингу тваринництва

У великих молочних фермах на 1000+ голів ветеринар не встигає оглянути кожну корову щодня. Втрата одного дня при маститі — падіння надою на 10–15%, а несвоєчасне осіменіння — пусті дні та значні збитки. Ми розробляємо AI-системи під ключ: склеюємо дані з вушних датчиків, румен-болусів, молокомірів т

Напрямки AI-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1439
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    997
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1264
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    712
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1002

У великих молочних фермах на 1000+ голів ветеринар не встигає оглянути кожну корову щодня. Втрата одного дня при маститі — падіння надою на 10–15%, а несвоєчасне осіменіння — пусті дні та значні збитки. Ми розробляємо AI-системи під ключ: склеюємо дані з вушних датчиків, румен-болусів, молокомірів та відео, видаємо алерти за 24–48 годин до клінічних проявів. Наш досвід — 10+ проєктів в Україні та СНД, середнє зниження падежу — 15–20%. Автоматичне виявлення охоти в 2 рази ефективніше візуального спостереження: точність досягає 95% проти 60%. Використовуємо машинне навчання для поведінкового аналізу худоби та IoT-пристрої для збору даних.

Які проблеми вирішує AI-моніторинг?

Три ключові задачі, які закриває система:

  1. Пропущена охота — кожна охота триває 12–18 годин, візуально її помічають у 60% випадків. Система аналізує активність і румінацію з інтервалом 2 хвилини та видає алерт за 4–6 годин до завершення вікна осіменіння.

  2. Субклінічний мастит — електропровідність молока зростає за 24–48 годин до появи згустків. Чутливість 85% при специфічності 90%.

  3. SARA (субклінічний ацидоз рубця) — pH рубця падає нижче 5.8 на 3+ години, знижуючи продуктивність на 15%. Аналіз часових рядів з румен-болуса виявляє ризик за 1–2 дні.

Як детектувати охоту з точністю 95%?

Алгоритм за активністю та румінацією:

import pandas as pd import numpy as np from scipy.signal import find_peaks def detect_estrus(animal_id: str, sensor_data: pd.DataFrame, baseline_days: int = 21) -> dict: """ Охота у ВРХ: різке зростання активності + зниження румінації Цикл ~21 день — патерн періодичний """ recent = sensor_data[sensor_data['animal_id'] == animal_id].tail(baseline_days * 24) activity_baseline = recent['activity_count'].quantile(0.5) rumination_baseline = recent['rumination_time'].quantile(0.5) current_24h = sensor_data[ sensor_data['animal_id'] == animal_id ].tail(12) activity_ratio = current_24h['activity_count'].mean() / (activity_baseline + 1e-9) rumination_ratio = current_24h['rumination_time'].mean() / (rumination_baseline + 1e-9) estrus_score = activity_ratio * (2 - rumination_ratio) prev_cycle_score = check_previous_cycle(animal_id, sensor_data, days_back=21) return { 'animal_id': animal_id, 'estrus_score': float(estrus_score), 'estrus_detected': estrus_score > 2.5, 'confidence': 'high' if prev_cycle_score > 2.0 else 'medium', 'recommended_action': 'insemination_window_12-18h' if estrus_score > 2.5 else None } 

Чому румінація — ключовий індикатор здоров'я?

Рання детекція маститу:

def mastitis_risk_score(milking_data: pd.DataFrame, animal_id: str) -> float: """ Мастит → запалення → зростання іонів Na+, Cl- → зростання електропровідності """ today_milking = milking_data[ (milking_data['animal_id'] == animal_id) & (milking_data['date'] == milking_data['date'].max()) ] if today_milking.empty: return 0.0 quarters = ['LF', 'RF', 'LR', 'RR'] conductivities = {q: today_milking[f'conductivity_{q}'].mean() for q in quarters if f'conductivity_{q}' in today_milking.columns} if len(conductivities) < 2: return 0.0 mean_cond = np.mean(list(conductivities.values())) max_deviation = max(abs(v - mean_cond) for v in conductivities.values()) relative_deviation = max_deviation / (mean_cond + 1e-9) yield_deviation = check_yield_drop(animal_id, milking_data, today_milking) risk_score = 0.6 * (relative_deviation / 0.1) + 0.4 * yield_deviation return min(1.0, risk_score) 

Додаткові ознаки маститу: підвищення температури молока в квартеті (+0.5°C), флокуляція, зниження надою, зміна поведінки.

Як крок за кроком налаштувати детекцію маститу?

  1. Збір еталонних даних: мінімум 500 доїнь без патології для кожної корови.
  2. Обчислення baseline електропровідності по кожному квартету з урахуванням стадії лактації.
  3. Налаштування порогів спрацювання: чутливість 85% при специфічності 90%.
  4. Валідація на історичних даних: мінімум 50 підтверджених випадків маститу.
  5. A/B тест на 10% поголів'я перед повним деплоєм.

Що дає моніторинг SARA?

Субклінічний ацидоз рубця (SARA) — зниження pH < 5.8 більше 3 годин:

def detect_sara_risk(rumen_bolus_data: pd.DataFrame, animal_id: str) -> dict: """ Дані від rumen bolus SmaXtec оновлюються кожні 10 хвилин """ today_data = rumen_bolus_data[ (rumen_bolus_data['animal_id'] == animal_id) & (rumen_bolus_data['date'] == pd.Timestamp.today().date()) ] low_ph_minutes = len(today_data[today_data['rumen_pH'] < 5.8]) * 10 avg_ph = today_data['rumen_pH'].mean() if not today_data.empty else 6.5 rumination_today = today_data['rumen_motility'].mean() if not today_data.empty else 1.0 sara_risk = 'high' if low_ph_minutes > 180 else ( 'medium' if low_ph_minutes > 60 else 'low' ) return { 'animal_id': animal_id, 'low_ph_hours': round(low_ph_minutes / 60, 1), 'avg_ph': round(avg_ph, 2), 'sara_risk': sara_risk, 'action': 'adjust_roughage_ratio' if sara_risk == 'high' else None } 

Моніторинг SARA дозволяє точне годування: при виявленні ризику система рекомендує змінити співвідношення грубих кормів. Впровадження знижує витрати на ветобслуговування та підвищує продуктивність стада.

Як інтегрувати систему з існуючим ПЗ?

Ми підтримуємо REST API для передачі подій у DairyComp 305, Lely T4C, DeLaval ALPRO, а також у Herd monitoring software. Інтеграція займає 1-2 дні. Дані передаються в реальному часі: події охоти, ризики захворювань, вагові показники.

Як ми впроваджуємо систему: кейс

На фермі з 2000 голів ВРХ ми встановили вушні акселерометри SCR та румен-болуси SmaXtec. За перший тиждень зібрали ~1.5 млн записів активності та 200 тис. замірів pH. Через 3 тижні моделі досягли 92% чутливості по охоті та 90% по SARA. Порівняйте: візуальний метод дає 60% охоти, а ручний аналіз pH — поодинокі заміри. Автоматизація в 1.5 рази скоротила витрати на ветслужбу.

Як ми вирішували проблему дрейфу сенсорів?На етапі калібрування ми зіткнулися з дрейфом сенсорів: через 3 місяці роботи деякі акселерометри починали завищувати активність. Рішення — автоматична перекалібровка кожні 2 тижні на основі середніх показників по групі. Це підвищило стабільність детекції маститу з 82% до 90%.
Метод Точність детекції охоти Витрати часу
Візуальне спостереження 60-70% 2-3 години/день
Акселерометр + AI 95% 5 хвилин/день
Комбінація датчиків 98% 2-3 хвилини/день

Етапи проєкту та терміни

Етап Термін Що входить
Аналітика та проєктування 5–7 днів Аудит ферми, підбір датчиків, архітектура ML-пайплайну
Інтеграція сенсорів 1–2 тижні Налаштування шлюзів, збір еталонних даних, калібрування
Розробка моделей 2–4 тижні Детекція охоти, маститу, SARA — baseline + fine-tuning
Дашборд та алерти 1–2 тижні Веб-інтерфейс, Telegram-бот, експорт у DairyComp
Тестування та деплой 1 тиждень A/B тест на 10% поголів'я, оптимізація latency

Що входить у роботу

  • Архітектурна документація та опис API
  • Навчання персоналу (2 дні очно або онлайн)
  • 30 днів пострелізної технічної підтримки
  • Гарантія на моделі — 6 місяців (безкоштовні оновлення при зміні стада)
  • Адаптація під існуючу інфраструктуру (DairyComp 305, Lely T4C, DeLaval ALPRO)

Залиште заявку — ми оцінимо вашу ферму за 2 дні та запропонуємо архітектуру. Зв'яжіться з нами, щоб обговорити проєкт. Отримайте консультацію по вашому стаду та дізнайтесь, як AI-моніторинг може знизити падіж та підвищити надої.