Мотивация запуска проекта заказчиком: в каждом смартфоне есть инерциальные датчики, которые измеряют ускорения и вращения телефона. По этим датчикам теоретически можно получить полную картину передвижения смартфона. Путь смартфона может много что рассказать: где он лежит (в сумке, кармане, руке и т.д.), как двигается его носитель (идет, стоит, бежит, поднимается по лестнице) и самое интересное - какую траекторию описывает телефон в 3D. С помощью алгоритма по распознаванию положений, активностей и траекторий можно помогать человеку в навигации в здании и понимать его поведение со смартфоном. Задача нашей команды - построить такой алгоритм.
Описание исходной ситуации:
есть набор размеченных данных с инерциальных датчиков. Разметка - позиции, активности и траектория человека во времени;
данные с датчиков очень шумные, поэтому для оценки траектории мы не можем воспользоваться физическими уравнениями.
во время передвижения человека на лифте или эскалаторе инерциальные датчики показывают то же самое, что и когда человек стоит, но передвижение происходит.
Данные очень зашумленны, поэтому применение простых подходов по типу интегрирования ускорения в данной постановке задачи работают не очень. Помимо этого, поскольку мы работали в 3D, одной из дополнительных трудностей было восстановление ориентации системы координат устройства относительно мировой системы координат, чтобы строить корректные предсказания.
Цели проекта:
построить алгоритм классификации активности и положения, а также оценки траектории человека в 3D при любой активности и любом положении телефона. Алгоритм включает в себя как DL часть, так и классические подходы к инерциальной навигации.
Решение MIL Team: решение задачи сегментации временных рядов с датчиков с помощью нейросети для моделирования частей траекторий. Классификация сегментов временных рядов нейросетью для распознавания активности и положения. Детекция смен активностей для определения активностей в лифте и на эскалаторе. Несколько классических и авторских алгоритмов предобработки данных. Проблему с ориентацией мы решили путем внедрения новой системы координат, со-направленной с мировой по z-оси, с последующим выравниваем предсказаний за счет поворота в 2D-плоскости. Проблему с зашумлением решали так: применяли нейросетевые подходы для очистки сигналов от излишних и иррелевантных атрибутов. В частности, мы применяли модели сегментации для построения предсказаний с учетом динамики на сегментах, а также генеративные подходы, которые строят сжатое и более информативное представление данных.
Для построения модели были использованы:
Открытый датасет RuDaCop, собранный заказчиком;
Открытый датасет RoNIN;
Будет использован датасет, сборку которого организует команда MIL.
Результаты моделирования: under NDA
Заказчик: under NDA
Технологический стек: Python (PyTorch, quaternion), wandb для мониторинга экспериментов