Эта статья родилась из изучения японского стартапа Catsme и их модели определения эмоций у кошек.
На самом деле проблема выявления признаков боли у животных существует и исследуется. У ветеринаров есть шкалы боли для разных животных, по которым оценивается состояние.
Логично что с трендом на ИИ, здорово было бы определять эмоции точнее, быстрее и проще чем сравнивать с брошюрами.
А может и не только эмоции а еще и другие патологические состояния?
Я хочу рассказать о своем опыте создания такой системы.
Как-то раз заболела моя дегу, я об этом писал тут
Все решалось удаленно по телефону. Белку спасли, все хорошо.
Но я задумался - как-бы сделать так, чтобы я смог, находясь не рядом с животным, знать что с ним все ок?
Просить родственников сделать фотки или видео и присылать по расписанию? Можно конечно но я же не ветеринар, что я смогу по ним понять?
Триггером послужило еще одно событие - в очередной мой отъезд у одной из белок вскочил какой-то «прыщ» на морде. И никто его не увидел (это был абсцесс, забегая вперед). Увидел его только я, когда вернулся.
А что если у нашего пушистого (а иногда и не очень) друга в общем-то и нет никаких визуальных проблем? А на самом деле ему плохо. Как это понять?
В проекте, который упоминается в начале, применяется довольно спорная, на мой взгляд, концепция - выделение признаков боли путем создания модели, которая будет видимо обучаться на большой выборке и классифицировать нужные нам признаки.
Сначала немного теории о том, как вообще сейчас ветеринары определяют болезненные состояния у животных.
В зависимости от вида - кошка, собака, грызуны, кролики и так далее, существуют зоны, которые меняются в зависимости от того или иного состояния. Это могут быть глаза, веки, уши, зоны усов, общее положение тела и много еще чего.
Чтобы иметь возможность действительно точно определять состояние, такая модель должна, во первых, учитывать все эти параметры (например иметь набор данных, в котором у животных однозначно зафиксированы все необходимые состояния) а во вторых обрабатывать статистику их возникновения и изменения.
Как это точно сделать по фото я не совсем представляю. А скорее - не представляю вовсе. Это больше похоже на рулетку - если нам повезло, мы сфотографировали животное в нужном состоянии. Не повезло - не сфотографировали. А что если это не то состояние а просто мгновенная реакция? Например на резкое движение?
Для максимально точного определения состояния животного необходимо делать анализ в динамике. Анализировать видео. И тут еще проблема, которая в общем-то напрашивается сама собой - модель такой сложности, которая будет в реальном времени обрабатывать кадры и выделять все признаки, на данный момент представляется чем-то не очень реалистичным. Есть статья, посвященная данной теме - https://www.nature.com/articles/s41598-023-46123-x#citeas - там обработка одного снимка занимала где-то секунды 2.
А если еще например надо учитывать анатомические особенности пород, окраса и прочее и прочее?
Мы пошли немного иным путем. Первая проблема - у нас не было достаточного количества материалов для разнообразных признаков боли у животных. И вторая проблема - нужна динамика. Без нее действительно профессионально выделить признаки не получится.
Как мы поступили? Мы решили отдельно выделять необходимые нам зоны, а далее обрабатывать их пространственное положение. Так как по сути то что ищет модель в японском стартапе - топологические изменения. Но только ищет это «в лоб». Что не эффективно, не точно и долго.
И у нас получилось!
Система практически в реальном времени (модели работают очень быстро тк ищут очень ограниченное число конкретных точек а потом производится их математическая обработка) определяет признаки боли и тревоги.
Оценка идет по шкале от 0 до 5 у боли и по 4 уровням тревоги.
В настоящий момент наша модель очень не плохо работает на грызунах, кроликах и..кошках. Хотя как раз на кошках особо и не трестировалась.
Сейчас мы развиваем эту модель чтобы помимо эмоций и боли сделать то, ради чего все затевалось изначально - делать комплексный анализ поведения животного для выделения различных патологических изменений, связанных с особенностями походки, асимметрии тела, различных неврологических проявлений.
Помимо анализа движений и поведения в настоящий момент мы неплохо ищем и выделяем на фото/видео патологии, классифицируем некоторые диагнозы а также обрабатываем результаты анализов.
С анализами тоже интересно. Как известно, анализы являются важным инструментом диагностики. Для животных в том числе. Количество разнообразных анализов уходит за две сотни с множеством исследуемых параметров.
Обработка результатов происходит врачом на основе своих знаний.
Мы подумали, что здорово было бы это упростить и сделать более доступным. Для врача тут экономия времени (обработка занимает доли секунды) в получении «второго мнения». То же и для владельца - возможность получить еще одно мнение или даже, в случае невозможности быстро попасть к нужному врачу, хотя-бы получить какой-то понятный результат.
Как резюме, наша система работает. В настоящий момент мы умеем:
- выделять патологии на фото и видео с достаточно высокой точностью (у нас более 50 000 обработанных ветеринарами изображений более 300 патологий) у животных и птиц.
- классифицировать их (тут пока еще много работы, она идет)
- выделять признаки боли и тревоги на видео с высокой точностью для грызунов, кроликов и кошек (а скоро и собак)
- обрабатывать результаты анализов для кошек и птиц (в процессе добавление собак и грызунов) с очень высокой точностью.
- обрабатывать симптомы, введенные текстом
Посмотреть и попробовать как это работает, можно на сайте https://haiscan.com
Если вам очень интересно, напишите мне напрямую в телеграмм https://t.me/haiscan_com
Буду рад обратной связи!