Энтузиаст-компьютерщик Дилприт Сингх [Dilpreet Singh], используя iPhone, создал самодельную систему отслеживания активности человека во время выполнения им различных упражнений. Для распознавания типов упражнений система использует нейронные сети.
Для наглядности Сингх использует два айфона – закреплённый на руке iPhone 4s, который проделывает основную работу, и iPhone 6 для демонстрации результатов, получаемых от первого смартфона.
4-й айфон, прикреплённый к запястью, отслеживает движения человека через акселерометр и гироскоп, преобразует информацию в подходящие входные вектора и передаёт информацию в многоуровневую нейронную сеть. Последняя, на основании всех входных данных, делает вывод о том, какое упражнение в данный момент выполняет человек. Информация о сделанном выводе передаётся на 6-й айфон.
Весь процесс повторяется ежесекундно. Нейросеть использует окно длиной в 4 секунды для вычислений, поэтому при смене деятельности существует небольшой лаг. Пока сеть ещё не очень умна, поэтому она не различает переходные стадии между разными упражнениями и в такие моменты периодически выдаёт случайные ответы.
iOS-приложение выполняет три функции. В режиме «просмотра» оно сканирует окружение в поисках устройств, работающих в режиме трекера, и выводит получаемую с них информацию. В режиме трекера она занимается распознаванием упражнений и отправляет выводы на устройства, находящиеся в режиме просмотра. В режиме тренировки сеть можно тренировать для распознавания любого упражнения. Таким способом сеть адаптируется к пользователю и улучшает показатели распознавания.
В целом система работает с достаточно большой точностью в 93% на наборе из пяти различных упражнений. При тестировании системы на другом человеке точность без предварительного обучения составила 78%, а с небольшим 30-секундным обучением для каждого из упражнений – уже 92%.
Компания Microsoft занималась похожей задачей, и в 2014 году опубликовала работу на эту тему. В тестировании принимало участие почти 100 человек, что позволило неплохо натренировать нейросеть для успешного распознавания упражнений почти для любого человека без предварительной тренировки. Поскольку Сингх не располагает подобными ресурсами, он пошёл по пути создания приложения, которое можно натренировать и настроить под себя.