AI-мониторинг здоровья животных с использованием сенсоров
Сенсорный мониторинг в животноводстве — от ушных меток с акселерометрами до умных жвачных болюсов — генерирует непрерывный поток данных о поведении, физиологии и продуктивности. ML-система переводит этот поток в ветеринарные и продуктивные инсайты: ранняя детекция заболевания, охота, нарушения метаболизма.
Сенсорные системы в животноводстве
Ушные метки с акселерометром:
- SCR (Allflex), Lely, Nedap: акселерометр 3-axis + температура
- Частота: каждые 2-10 минут
- Данные: активность, руминация (пережёвывание), отдых, шаги
Болюсы (rumen bolus):
- Smaxtec, Moocall: вводятся в рубец (желудок) коровы
- Измеряют: pH рубца, температуру рубца, активность, акселерометр
- Прямой доступ к физиологическим параметрам
Ошейники:
- Гарминоподобные GPS+IMU для КРС
- Triaxial accelerometer: высокоточные паттерны движения
Умные педометры:
- CowManager, Mooovement
- Считают шаги, определяют хромоту
Детекция охоты (Estrus Detection)
Охота = период фертильности у коров. Своевременное выявление критично для воспроизводства.
def detect_estrus(activity_data, cow_id, lookback_days=21):
"""
Охота = резкий рост активности + падение руминации
Цикл: 21 день → алерт при аномальном пике активности
"""
activity_baseline = activity_data.rolling(21 * 24).quantile(0.5) # медиана за 21 день
activity_ratio = activity_data / activity_baseline
rumination = get_rumination_data(cow_id)
estrus_score = (
activity_ratio * # рост активности
(1 - rumination / rumination.rolling(7 * 24).mean()) # падение руминации
)
# Порог: estrus_score > 1.5 в течение 4+ часов
estrus_alert = (estrus_score > 1.5).rolling(4).min() > 0
return estrus_alert, estrus_score
Точность: современные системы (SCR, Allflex) достигают 80-90% detection rate при 1-2 false alerts в неделю. ML на мультисенсорных данных — выше 90%.
Ранняя детекция заболеваний
Мастит:
def mastitis_risk_score(cow_id, current_features):
"""
Мастит (воспаление вымени):
Падение руминации + снижение надоев + повышение температуры
Детекция за 24-48 часов до клинических симптомов
"""
features = {
'rumination_drop_pct': (current_features['rumination_today'] -
current_features['rumination_7d_mean']) / current_features['rumination_7d_mean'],
'milk_yield_drop_pct': (current_features['milk_today'] -
current_features['milk_7d_mean']) / current_features['milk_7d_mean'],
'temp_deviation': current_features['rumen_temp'] - cow_history['temp_baseline'],
'activity_change': current_features['activity_today'] / current_features['activity_7d_mean']
}
return mastitis_model.predict_proba([list(features.values())])[0][1]
Ацидоз рубца (Sub-Acute Ruminal Acidosis, SARA): pH рубца из болюса < 5.8 в течение > 3 часов в день → SARA. Прямое измерение + ML-прогноз на основе кормления.
Лихорадка: Температура рубца из болюса > 39.5°C → fever alert. Точнее ректальной температуры из-за непрерывности.
Хромота (Lameness):
def detect_lameness(step_count, step_asymmetry, walking_speed_ms):
"""
Хромота: снижение активности + асимметрия шагов + медленная ходьба
Scoring система по Sprecher 1997: 1 (норма) → 5 (тяжёлая)
"""
lameness_features = {
'daily_steps': step_count,
'stride_asymmetry': step_asymmetry,
'avg_walking_speed': walking_speed_ms,
'lying_time_hours': total_lying_time
}
lameness_score = lameness_model.predict(lameness_features)
return lameness_score # 1-5 шкала
Мониторинг продуктивности
Руминация и кормление:
- Время руминации (< 400 мин/день → метаболический стресс)
- Равномерность кормления: коровы должны есть 6-14 раз в день
- Очерёдность доступа к кормушке: детекция социальной иерархии, угнетённых животных
Интеграция с доильным роботом: Lely Astronaut, DeLaval VMS: данные надоев per корова + SCC (Somatic Cell Count) из inline анализатора → молочная продуктивность + качество молока в реальном времени.
Прогноз лактационной кривой:
from scipy.optimize import curve_fit
def wood_lactation_curve(t, a, b, c):
"""
Wood's model: y(t) = a * t^b * exp(-c*t)
Прогноз: когда пик лактации и насколько высокий
"""
return a * (t ** b) * np.exp(-c * t)
# Фитинг по первым 60 дням лактации → прогноз на 305 дней
popt, _ = curve_fit(wood_lactation_curve, days[:60], milk_yield[:60])
predicted_305d = sum(wood_lactation_curve(t, *popt) for t in range(1, 306))
Групповая аналитика
Стадный стресс-индекс: Если 20%+ коров показывают снижение руминации одновременно → системная проблема (кормление, вентиляция, жара).
Тепловой стресс: Temperature Humidity Index (THI) > 68 → снижение продуктивности. ML-прогноз потерь надоев по прогнозу погоды.
Социальные паттерны: GPS-координаты нескольких коров → clustering behavior: нормально ли распределение по полю/ферме?
Интеграция
Farm Management Software: Agrosoft, DairyComp 305, 1С:Ферма — API интеграция. Алерты → задачи для ветеринара и пастуха.
Veterinary Decision Support: Не автоматическое лечение, а поддержка принятия решений: "3 коровы с риском мастита — рекомендуем ветосмотр завтра утром."
Сроки: интеграция с ушными метками/болюсами, estrus detection, fever alerts + ферма-дашборд — 4-5 недель. Mastitis ML, lameness detection, lactation curve forecasting, SARA мониторинг — 2-3 месяца.







