Исследователи из Хельсинкского университета разработали алгоритм, который позволяет с высокой точностью определять по данным акселерометра, встроенного в мобильный телефон или другое устройства, каким образом передвигается его обладатель — пешком, на велосипеде, на автомобиле, на метро или каким-либо другим способом.
Извлечение смысла из показаний акселерометра — это, как ни странно, неожиданно сложная проблема. Несколько лет назад с похожей задачей столкнулись создатели интеллектуального шагомера Fitbit — излюбленного инструмента энтузиастов Quantified Self. Они обнаружили, что алгоритм, отлаженный под регистрацию шагов при одном из методов передвижения (например, медленную ходьбу), выдаёт катастрофически неверные результаты, когда сталкивается с другим методом передвижения (например, бегом или подъёмом по лестнице). Показания отклонялись от реальности на десятки процентов. Отдельную трудность составляла фильтрация помех — колебаний телефона, улавливаемых акселерометром, но не связанных с движениями человека, которые интересуют Fitbit. Кроме того, требовалась поправка на индивидуальные различия: поступь 200-килограммового толстяка значительно отличается от шагов человека, весящего 60 килограммов, а интерпретироваться должна одинаково.
Для того чтобы решить эту задачу, потребовалась долгая и кропотливая работа. Разработчикам Fitbit пришлось собрать огромный массив данных о показаниях акселерометра при различных методах передвижения, дополненный другими измерениями. Затем его использовали, чтобы отладить алгоритмы, заложенные в Fitbit, и добиться приемлемой погрешности, не зависящей от того, кто и как использует устройство. «Значительная доля исследований, которые мы вели, заключалась в поиске алгоритмов, работающих с разумной точностью при множестве различных сценариев использования», — разъяснял впоследствии блог компании.
Цель финских учёных была несколько иной. Они полагают, что показания изобретённого ими алгоритма в сочетании с геолокационными данными окажутся очень полезными для городских служб. Узнав, как именно и где люди передвигаются по городу, они смогут оптимизировать маршруты общественного транспорта, лучше спланировать дорожную сеть и идентифицировать потенциально опасные места на улицах.
Алгоритм анализирует сигналы, поступающие с акселерометра, и составляет «профиль движения». Затем он сопоставляет его с другими профилями, которые идентифицировали финские учёные, и выявляет характерные особенности, позволяющие отнести его к той или иной категории.
Авторы утверждают, что алгоритму свойственны низкое энергопотребление и надёжная работа при продолжительном мониторинге. Кроме того, он тщательно отлажен и способен различать большое количество методов передвижения, в том числе различные виды общественного транспорта. Последнее особенно ценно, поскольку большинство работ в этой области принадлежит жителям США и других стран, где развитие общественного транспорта оставляет желать лучшего.