Обзор
Современное свиноводство — одна из самых технологичных отраслей животноводства. На крупных комплексах давно автоматизирован климат-контроль, дозирование кормов и поение. Ветеринары используют ультразвук для диагностики супоросности, селекционеры оперируют огромными массивами данных по происхождению и продуктивности, а операторы ежедневно заносят в учётные системы показатели привесов, конверсии корма и толщины шпика. Кажется, что о каждом животном известно если не всё, то почти всё.
Но если углубиться, во всей этой цифровой идиллии зияет огромный пробел. Мы до сих пор почти ничего не знаем о состоянии опорно-двигательного аппарата свиней — той самой «ахиллесовой пяты», которая часто ставит точку в карьере высокопродуктивной свиноматки. Бетонные щелевые полы, круглосуточное стояние, агрессивная среда — ноги животного работают в экстремальных условиях, но их здоровье оценивают по старинке: на глаз, от случая к случаю, когда проблема уже стала очевидной.
А ведь именно конечности лимитируют продуктивное долголетие. Исследования показывают, что заболевания ног и копыт занимают второе место среди причин преждевременной выбраковки свиноматок, уступая только нарушениям воспроизводства. При этом хромота у свиней — проблема коварная: эволюция научила их скрывать боль, чтобы не стать жертвой сородичей.
Сегодня диагностика опирается на визуальный осмотр, который проводят перегруженные зоотехники. Заметить ранние признаки — отёк сустава, изменение постановки ноги, асимметрию нагрузки — в потоке сотен голов практически невозможно. В результате многие проблемы выявляются слишком поздно, когда лечение уже неэффективно и свиноматка идёт под нож. Это не только страдания животных, но и прямые экономические потери: затраты на выращивание ремонтной свинки, упущенные опоросы, простой оборудования.
Цель
Цель этого хакатона — закрыть этот цифровой пробел. Вам предстоит разработать систему автоматической оценки состояний конечностей животного используя методы компьютерного зрения и искусственного интеллекта.
Как ваша система будет определять здоровье конечностей животных? Как ваша система поможет «перегруженному» потоком животных зоотехнику?
Описание задачи
Цель соревнования — разработать модель компьютерного зрения, способную по синхронизированным видеоданным с 4 камер автоматически классифицировать состояние задних конечностей свиньи. Ваше решение должно помочь автоматизировать «ручной» осмотр зоотехника и выдавать вердикт по ключевым патологиям. Кроме того, разработанный проект должен иметь образ способа промышленного применения на реальной ферме, а также технико-экономическое обоснование и анализ экономической эффективности внедрения.
Задача: Мультилейбл-классификация (Multi-output binary classification).
Описание данных
Съемка производится в бонитировочном станке (Станок автоматического фенотипирования серии Pigline компании Нейросеть-Агро) одновременно с четырех синхронизированных ракурсов.
В рамках хакатона набор данных разделен на три части:
Передается командам как сырые данные, так и разметка
Передается командам без разметки для тестирования решения по ходу соревнования
Передается командам в конце соревнования для финального прогона решений, передается без разметки
Структура директорий
Доступ к данным осуществляется посредством доступа к серверу каждой командой. Структура папок строго фиксирована.
Описание ракурсов (Views)
| View | Ракурс | Значение view в имени файла |
|---|---|---|
| 1 | Сверху | top |
| 2 | Правый бок | right |
| 3 | Левый бок | left |
| 4 | Сзади | rear |
Пример реальных кадров из датасета
Дополнительные табличные данные (Metadata)
В файлах meta_data.xlsx (для train/val/test) содержится информация о состоянии передних конечностей. Эти данные не являются таргетом, но могут быть использованы как вспомогательные признаки, так как патологии передних и задних ног могут коррелировать.
Схема таблицы metadata:
| Колонка | Тип | Описание |
|---|---|---|
ID |
int |
Уникальный идентификатор животного |
front_left_bad_posture |
bool |
Плохая постановка передней левой |
front_right_bad_posture |
bool |
Плохая постановка передней правой |
front_left_bumps |
bool |
Шишки на передней левой |
front_right_bumps |
bool |
Шишки на передней правой |
front_left_soft_pastern |
bool |
Мягкая бабка передней левой |
front_right_soft_pastern |
bool |
Мягкая бабка передней правой |
front_left_x_shape |
bool |
Х-образность передней левой |
front_right_x_shape |
bool |
Х-образность передней правой |
Формат разметки
В папке train/annotation/ лежат файлы pig_{id}.json. Каждый файл содержит пути к видео, идентификатор животного, таргеты и покадровые аннотации объектов для всех четырёх ракурсов.
{
"pig_id": "12345",
"video": {
"top": "train/raw/pig_12345_cam_top.mp4",
"right": "train/raw/pig_12345_cam_right.mp4",
"left": "train/raw/pig_12345_cam_left.mp4",
"rear": "train/raw/pig_12345_cam_rear.mp4"
},
"target": {
"bad_posture": 0,
"bumps": 1,
"soft_pastern": 0,
"x_shape": 0
},
"annotations": [
{
"frame_id": 150,
"top": [
{ "bbox": [0.512, 0.478, 0.345, 0.567], "label": "pig" }
],
"right": [
{ "bbox": [0.612, 0.523, 0.234, 0.432], "label": "right_back_leg" }
],
"left": [
{ "bbox": [0.388, 0.556, 0.221, 0.445], "label": "left_back_leg" }
],
"rear": [
{ "bbox": [0.423, 0.389, 0.112, 0.234], "label": "left_back_leg" },
{ "bbox": [0.587, 0.376, 0.108, 0.241], "label": "right_back_leg" }
]
},
{
"frame_id": 300,
"top": [
{ "bbox": [0.501, 0.482, 0.350, 0.572], "label": "pig" }
],
"right": [],
"left": [],
"rear": [
{ "bbox": [0.415, 0.392, 0.118, 0.238], "label": "left_back_leg" },
{ "bbox": [0.591, 0.381, 0.105, 0.239], "label": "right_back_leg" }
]
}
]
}
Описание полей
| Ключ | Тип | Описание |
|---|---|---|
pig_id |
string |
Уникальный идентификатор животного |
video |
object |
Словарь с относительными путями к видеофайлам. Ключи: top, right, left, rear |
target |
object |
Эталонные значения для четырёх бинарных признаков задних конечностей |
annotations |
list[object] |
Список кадров, для которых выполнена разметка объектов. Каждый элемент соответствует одному frame_id |
Поля внутри каждого кадра (annotations[i])
| Ключ | Тип | Описание |
|---|---|---|
frame_id |
int |
Номер кадра (индекс с 0) |
top |
list[object] |
Объекты в ракурсе «сверху». Обычно один объект с label="pig" |
right |
list[object] |
Объекты в ракурсе «правый бок». Ожидается один объект right_back_leg |
left |
list[object] |
Объекты в ракурсе «левый бок». Ожидается один объект left_back_leg |
rear |
list[object] |
Объекты в ракурсе «сзади». Два объекта: left_back_leg и right_back_leg |
Формат Bounding Box
Все координаты заданы в нормализованном формате YOLO относительно ширины и высоты кадра.
"bbox": [x_center, y_center, width, height]
x_center, y_center — координаты центра ограничивающей рамки (от 0.0 до 1.0)width, height — ширина и высота рамки (от 0.0 до 1.0)
Описание таргета
Для каждого животного в тестовой выборке (test/raw/) необходимо предсказать 4 бинарных метки состояния задних конечностей.
Предсказываемые поля (Targets):
| ID Метки | Название (RU) | Название (ENG) | Тип |
|---|---|---|---|
| 1 | Плохая постановка | bad_posture |
0 или 1 |
| 2 | Шишки на ногах | bumps |
0 или 1 |
| 3 | Мягкие бабки | soft_pastern |
0 или 1 |
| 4 | Х-образные конечности | x_shape |
0 или 1 |
Формат файла ответа
Файл должен называться submission.csv. Разделитель — запятая. Первая строка — заголовок.
id,bad_posture,bumps,soft_pastern,x_shape 1001,0,1,0,0 1002,1,0,1,0 1003,0,0,0,1
Важно: ID животного берется из имени файла (например, из pig_1001_cam_top.mp4 → id=1001).
Порядок колонок в CSV должен строго соответствовать указанному.
Оценка решений
Оценка решений команды складывается из двух показателей: техническая точность системы и экспертная оценка жюри.
- Основная метрика: Macro F1-Score
где i — индекс одной из четырех меток состояния задних конечностей. Мы используем Macro усреднение, чтобы уравнять вклад редких патологий. Решение с наибольшим значением Macro F1 побеждает в техническом зачете.
- 1 Результат/эффекты применения решения для предприятия и отрасли
- 2 Как осуществляется представление результатов работы решения специалистам фермы
- 3 Технологическая обоснованность решения (вписывание в непрерывный производственный процесс)
- 4 Экономическое обоснование внедрения
- 5 Обзор/аналитика рынка применимости решения
Таймлайн
Продолжительность хакатона — 3 дня