СИСТЕМА ВИЗНАЧЕННЯ СКЕЛЕТУ СОБАК З ВИКОРИСТАННЯМ ШТУЧНОГО ІНТЕЛЕКТУ НА ОСНОВІ DEEPLABCUT
16.04.2025 18:49
[1. Information systems and technologies]
Author: Сенета Олег Миколайович, здобувач РВО бакалавр, Національний університет «Львівська політехніка», м.Львів
У сучасному світі штучний інтелект активно застосовується для вирішення задач у різних галузях, зокрема у ветеринарії та біомеханіці. Одним із перспективних напрямів є аналіз руху тварин, зокрема собак, для оцінки їхнього здоров’я, діагностики патологій опорно-рухового апарату та дослідження біомеханіки. У даній роботі розглядається підхід до визначення скелету собак з використанням ШІ на основі інструменту DeepLabCut (DLC), який дозволяє автоматично відстежувати ключові точки на тілі тварини. DeepLabCut — це відкрита бібліотека для маркування та аналізу пози тварин, яка базується на глибоких нейронних мережах, зокрема на архітектурі ResNet [1, с. 770; 2, с. 1282]. Цей інструмент дозволяє тренувати модель на невеликій кількості зображень, що робить його доступним для індивідуальних досліджень. У рамках роботи було проведено експеримент із тренування моделі DeepLabCut на прикладі собаки породи джек-рассел-тер’єр.
Для тренування моделі було використано набір із понад 3700 зображень собаки в різних позиціях, при різному освітленню та при різному задньому фоні. Така кількість забезпечила якість відслідковування скелету, так як визначення відбувається на камеру, і відповідно задній фон може змінюватись. Усі зображення було отримано в домашніх умовах за допомогою смартфона.
Для розмітки ключових точок на зображеннях використовувався DLC з Python-бібліотеками та графічним інтерфейсом Napari. Дані техноголоігї забезпечили комфортне управління набором даних і можливості тренування моделі. Napari — це інтерактивний інструмент для візуалізації та анотації даних, який інтегрується з DeepLabCut через Python-скрипти [4, с. 1235].
На кожну з цих картинок було вручну позначено 10 ключових точок скелету: голова, шия, передні та задні кінцівки, хвіст тощо. Кожна точка отримала унікальну мітку, а координати точок зберігалися у форматі CSV для подальшого використання в тренуванні моделі. Використання Napari дозволило значно прискорити процес анотації завдяки зручному графічному інтерфейсу та можливості масштабування зображень [4, с. 2153]. Всі збережені дані були згруповані в один датасет, над яким пізніше і відбувалось тренування моделі.
DeepLabCut тренувалася протягом 30 000 ітерацій на особистому комп’ютері з вбудованим графічним процесором та CPU, що зайняло приблизно 20 годин повного часу. Точність моделі після тренування склала 82%, що є достатнім для подальшого аналізу руху собаки.
Результати роботи представлені на рисунку 1, де показано зображення собаки з нанесеними ключовими точками скелету, визначеними за допомогою нетренованої на цих даних DeepLabCut. Кожна точка позначена різним кольором для зручності аналізу. Наприклад, точки на голові позначені зеленим кольором, на кінцівках — синім і червоним, а на хвості — помаранчевим.
Рисунок 1. Визначення скелету собаки за допомогою DeepLabCut
Можна побачити, що дані відстані між координатами є прив’язаними саме до цієї породи пса. Так як інші види собак можуть мати більший чи менший кістяк та загальну масивність, то й неронна мережа повинна бути налагоджена для роботи з даним типом породи. Для того, щоб це реалізувати необхідно добавити зображення з розкресленими точками кістяка до загального датасету.
В реальному часі, маючи координати цих ключових точок, можна використати їх для аналізу поведінки чи пози собаки. Даний підхід може бути корисним для ветеринарів, кінологів та дослідників, які займаються аналізом руху тварин. Часто функціонал такого типу використовується також і в тренувальних цілях. Прикладом цьому можуть стати такі проекти як Petcube, Dogbase та інші.
У майбутньому планується розширити набір даних, включивши зображення собак різних порід, а також інтегрувати систему з технологіями реального часу для автоматичного моніторингу стану здоров’я тварин.
Література
1. He K., Zhang X., Ren S., Sun J. Deep Residual Learning for Image Recognition. IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2016. С. 770–778.
2. Mathis A., Mamidanna P., Cury K. M., et al. DeepLabCut: markerless pose estimation of user-defined body parts with deep learning. Nature Neuroscience. 2018. № 21. С. 1281–1289.
3. Nath T., Mathis A., Chen A. C., et al. Using DeepLabCut for 3D markerless pose estimation across species and behaviours. Nature Protocols. 2019. № 14. С. 2152–2176.
4. Sofroniew N., Lambert T., et al. Napari: a multi-dimensional image viewer for Python. Journal of Open Source Software. 2022. № 7. С. 1234–1240.
____________________________________________
Науковий керівник: Яцук Юрій Васильович, кандидат технічних наук, доцент, Національний університет «Львівська політехніка», м.Львів