test adv
,

Сейсмометр в кармане, или как Google обнаруживает землетрясения через Android-смартфоны

Как ни странно, для разработки подобной системы машинное обучение или нейросети не использовались

В Android появилась новая система оповещения о землетрясениях, как она работает? Если кратко, то как можно быстрее и надёжнее, по словам ведущего инженера проекта Марка Стогайтиса (Marc Stogaitis). А 23 июля этого года, когда на Филиппинах случилось землетрясение силой 6,7 балла, Google его успешно обнаружил и предупредил жителей, благодаря чему они успели добраться до безопасного места.

Всё началось с хакатона

Возможно, вы об этом не знали, но, по оценкам Геологической службы США, за последние 20 лет землетрясения унесли жизни более 800 000 человек во всем мире. Новая функция Google не только интересна в техническом плане, но и будет спасать гораздо большее число жизней по мере того, насколько большое количество стран начнёт ей пользоваться. Безусловно, эта функция сложна технически, но было бы интересно разобраться в её тонкостях, лежащих в основе того, как она работает и как вообще возникла эта идея. Бьюсь об заклад, вы не подозревали, что всё началось с хакатона (форума для разработчиков, где нужно решить определённую задачу на время).

По словам Стогайтиса, в начале проект был довольно скромным: инженеры-программисты из команды Google, работающей с «физической безопасностью и распознаванием активности», размышляли над вопросом: «Что может распознать смартфон?», и предлагали различные способы использования датчиков, чтобы помочь с обнаружением таких происшествий, как автокатастрофы, торнадо и землетрясения. В ходе недельного командного хакатона Google перешёл от идеи до прототипа. Мне не сказали, насколько хорошо работала эта концепция на раннем этапе, но, очевидно, этого было достаточно, чтобы превратиться в настоящий способ предупреждения различных катастроф (в том числе ДТП) в десяти странах.

Конечно, на начальном этапе было много неизвестного. Я выяснил, что в то время возникали такие вопросы: «Как сильно трясется смартфон во время землетрясения?» и «Есть ли что-нибудь еще, что может заставить его трястись на большой местностях, которые выглядят как P- и S-волны?» (P-волны и S-волны, или волны сжатия и поперечные волны, описывают движение земли или скал во время землетрясения). Традиционно для инженеров, ответ на эти вопросы лежал в проведении множества исследований. Мне сообщили, что команда была особенно взволнована, когда поняла, что S-волны и даже P-волны, указывающие на ранние стадии катастроф, могут быть обнаружены с помощью смартфонов с хорошей точностью.

Алгоритм разрабатывался самостоятельно, с применением физических законов, а не ИИ

Стогайтис сообщил мне, что его команда училась и отвечала на эти вопросы «со скоростью землетрясений». Вы можете подумать, что компания, известная своим «волшебным» машинным обучением, снова прибегнет к использованию искусственного интеллекта, но вместо этого команда выбрала «прямой подход, основанный на физике», без ИИ. В конце концов, физика землетрясений хорошо изучена и понятна, а это означает, что их можно буквально изучить, найти закономерности и превратить их в алгоритм, вместо ного, чтобы надеяться на «кота в мешке» в виде ИИ, которому пришлось бы скармливать огромное количество разных данных, не отличающихся особой точностью.

Сейсмометр в кармане, или как Google обнаруживает землетрясения через Android-смартфоны — Алгоритм разрабатывался самостоятельно, с применением физических законов, а не ИИ. 1

По словам Стогайтиса, всё ещё требовалась некоторая доработка и настройка: «Нужно было найти компромисс между тем, насколько часто смартфон трясётся, и тем, какая у этой тряски амплитуда». В смартфоне может быть множество датчиков, но это ни в коем разе не сейсмометры. Чтобы решить этот вопрос, Google также нанял некоторых сейсмологов.

Тем не менее, даже при относительно прямолинейном подходе, инженеры должны были решить несколько проблем по мере накопления данных. Ключевыми среди них были две проблемы: разработка порога обнаружения землетрясений, предотвращающего ложные срабатывания, и обеспечение такой точности алгоритма, чтобы он мог распознавать только землетрясения.

Сейсмометр в кармане, или как Google обнаруживает землетрясения через Android-смартфоны — Алгоритм разрабатывался самостоятельно, с применением физических законов, а не ИИ. 2

Можно заставить любой алгоритм просто говорить «да» любому движению и технически определять его как действующее землетрясение. Проблема в том, что почти все его сообщения будут ложными. Но, посмотрев на достаточно данных, оставшихся после настоящих землетрясений, можно установить определенные границы для разных типов наблюдаемых движений, чтобы достичь более высокой точности. Даже здание, в котором находится смартфон, может повлиять на тряску и прочее движение, поэтому Google пришлось изучить особенности настоящих землетрясений. Но обнаружение землетрясений также включает в себя исключение других событий, которые могут быть ошибочно интерпретированы как землетрясения — а на самом деле их больше, чем вы думаете.

«Приходится изучать события, которые распространяются среди множества людей и вызывают дрожь, но при этом не являются землетрясениями»

Интересный факт: я выяснил, что во время раннего тестирования, предупреждения AMBER (системы оповещения о похищении детей) могли стать потенциальной проблемой. Подумайте об этом: куча смартфонов одновременно трясется на большой площади. Механизм и причина совершенно разные, но поведение, наблюдаемое акселерометром, может оказаться похожим. К счастью, этого оказалось легко избежать. Грозы также были проблемой, но в этом случае физика сработала в пользу Google — их волны распространяются со скоростью звука в воздухе, в то время как во время землетрясений такие волны значительно быстрее.

Сейсмометр в кармане, или как Google обнаруживает землетрясения через Android-смартфоны — Алгоритм разрабатывался самостоятельно, с применением физических законов, а не ИИ. 3

В конечном итоге команда Стогайтиса достаточно хорошо проанализировала данные, чтобы разработать модель, которая на сегодняшний день не произвела ни одного ложного срабатывания. Но обнаружение землетрясения только смартфоном — это, в лучшем случае, всего одна треть всего алгоритма.

Смартфоны на Android как один большой сейсмометр

Сейсмометр в кармане, или как Google обнаруживает землетрясения через Android-смартфоны — Смартфоны на Android как один большой сейсмометр. 1

Система Google не просто собирает данные с одного смартфона, она извлекает их из сотен, если не тысяч, пользуясь преимуществами огромного количества устройств на Android. Но, на самом деле, не все устройства Android, находящиеся в одном районе, активно отслеживают землетрясения.

Алгоритм обнаружения землетрясений встроен в Play Services, а это означает, что эта функция доступна практически для всех Android-смартфонов. Но на самом деле он использует только те из них, которые подключены к источнику питания и заряжаются. Эта функция специально использует устройства, которые заряжаются (проводным или беспроводным способом) по двум важным причинам: поскольку они подключены к источнику питания, функция с меньшей вероятностью повлияет на срок службы батареи, и поскольку они не находятся в движении, то, соответственно, лучше подходят для измерения данных, относящихся к тряске и движению.

Итак, сколько смартфонов нужно Google в одном районе для точного обнаружения землетрясения?

«Это зависит от землетрясения и от того, где расположены смартфоны. Если они находятся в одном месте, становится немного сложнее определить землетрясение. Вы все еще можете знать, что оно скоро произойдёт, но с менее точными подробностями»

Google использует данные с максимально возможного количества смартфонов в определенной области. Мне сообщили, что количество, необходимое для точного обнаружения, варьируется в зависимости от таких вещей, как само землетрясение и расположение устройств по местности. Если они находятся слишком рядом, точность снижается, но землетрясение всё равно будет обнаружено. Если смартфоны расположены далеко друг от друга, можно обойтись их меньшим количеством, так как можно точнее распознать длину поступающих волн. Но здесь также нужно соблюдать границы: слишком большое расстояние снизит скорость обнаружения, а слишком маленькое — точность. Землетрясения, которые происходят в глуши, скажем, под водой или очень глубоко под землей, могут быть обнаружены только после того, как они достигнут берега или поверхности, а значит, и повлияют на датчики смартфонов.

Сейсмометр в кармане, или как Google обнаруживает землетрясения через Android-смартфоны — Смартфоны на Android как один большой сейсмометр. 2

Насколько мне известно, около 100 устройств в зоне землетрясения — это минимум для получения качественных данных. И как только смартфоны распознают землетрясение и передадут информацию на сервера Google, начнётся следующий этап. Со своей стороны всё, что делает компания на начальном этапе, — ждёт данные со смартфонов. В это время они отправляют на сервера время, информацию с датчиков и местоположение, а обработка происходит уже в самой Google.

Компания построила эту модель сбора информации с учетом конфиденциальности, и все данные «обезличены». Это означает, что они не содержат таких вещей, как номер телефона, имя, учетные записи Gmail и так далее. Google просто узнаёт, что где-то произошла подозрительная тряска смартфона. Доступ к данным на стороне сервера также ограничен со стороны Google, и только несколько человек могут получить к нему доступ. Кроме того, компания использует только грубое определение местоположения, поэтому точными геоданными он не располагает. К счастью, как мне сообщили, это не снижает точности определения землетрясений, так как на неё влияют другие факторы, такие как его мощность.

Когда землетрясение доходит до поверхности, ближайшие к нему смартфоны обнаруживают связанные с ним тряску и движения, предупреждая Google о том, что что-то происходит. После того, как будет преодолён определённый порог тряски и минимально необходимое количество смартфонов сообщит об этом, компания сможет определить, землетрясение ли происходит, насколько оно мощное и куда направится из этой зоны. Затем он оповещает о происходящем пользователей. Мне сказали, что в лучшем случае всё это может произойти за секунды. Звучит довольно просто, но на самом деле всё сложнее чем можно подумать.

Уведомления — самая сложная часть новой системы обнаружения землетрясений

Можно подумать, что обнаружить землетрясение — и есть самый проблемный этап во всей этой системе, но организация своевременных уведомлений миллионам людей с минимальной задержкой оказалась для команды сложнее. Google пришлось потратиться на кучу новой инфраструктуры, чтобы обрабатывать эти уведомления. Конечно, путь «землетрясение ➝ обнаружение устройства ➝ связь с сервером ➝ уведомление» не очень надёжный. Если, вместо Wi-Fi, использовать мобильную сеть, задержка в оповещении и предупреждении может оказаться непозволительно большой.

Слева — полноэкранное предупреждение, по центру — обычное, справа — уведомление постфактум

Даже так, нет никакой гарантии, что уведомление будет доставлено быстро. Опять же, определение местоположение землетрясения часто является главной причиной задержек в системе, но меня уверяют, что обычно людей предупреждают в течение нескольких секунд после того, как смартфоны уловят самые первые признаки бедствия.

«Алгоритм в основном просто ожидает поступления достаточного количества данных и постоянно, каждые 1/10 секунды, перепроверяет, землетрясение это или нет. И как только поступает достаточно данных, он рассылает уведомления»

Иногда можно вообще не получить заблаговременное предупреждение, если вы находитесь довольно близко к эпицентру, потому что уведомления отправляются очень большому количеству пользователей. Как я говорил ранее, в конечном итоге предупреждение зависит от местоположения. Тем не менее в большинстве случаев, как утверждает Стогайтис, оповещения на смартфоны поступают в течение нескольких секунд после того, как Google узнает, что происходит:

«Всё зависит от обстоятельств. В среднем можно говорить о секундах до поступления уведомления — так что вы можете ждать от десятков секунд до минуты, но более вероятно, что это займёт не более 5-10 секунд. А иногда можно вовсе не получить предупреждение до того, как землетрясение произойдёт."

Эти оповещения, опять же, являются частью Play Services и могут быть получены на устройствах Android, начиная с версии 5.0 Lollipop. У нас нет точных данных о распределении версий по устройствам, но, исходя из последних известных сведений, это означает, что около 95% Android-устройств способны получать такие уведомления.

Сейсмометр в кармане, или как Google обнаруживает землетрясения через Android-смартфоны — Уведомления — самая сложная часть новой системы обнаружения землетрясений. 4

Уведомления, отправляемые пользователям, включают местоположение землетрясения, его силу и время. Во многих случаях это дает достаточно времени, чтобы принять определенные меры предосторожности, пусть даже если единственной возможностью является спрятаться за или под мебелью. Если это действительно сильное землетрясение, которое может нанести вред жизни или имуществу, на экране появляется полноэкранное предупреждение. Предельное значение для любого уведомления составляет магнитуда в 4,5 балла — если она ниже этого значения, предупреждения отправляться не будут. Такие землетрясения могут ощущаться, но они вряд ли нанесут ущерб или причинят вред людям. Также Google отправляет уведомление с дополнительной информацией о землетрясении после того, как оно прошло.

Google не торопится с развёртыванием системы

Землетрясение, случившееся на Филиппинах, стало сильнейшим испытанием для системы оповещения Google. Тем не менее были отправлены предупреждения и о небольших землетрясениях, в том числе о нескольких из них в Новой Зеландии. В среднем, Стогайтис сообщает нам, что сейчас каждые несколько недель Google предупреждает пользователей о землетрясениях, в основном меньшей силы, около 4,5-5 баллов по шкале Рихтера.

Такие низкие показатели связаны с ограниченной работой функции в географическом плане. Прямо сейчас эта необычная система обнаружения работает только в Новой Зеландии, Греции, Турции, Филиппинах, Казахстане, Кыргызской Республике, Таджикистане, Туркменистане и Узбекистане. Хотя Google также отправляет оповещения на западном побережье США, они основаны на существующей системе обнаружения USGS ShakeAlert и ее сети сейсмометров. Фактически, Google рассматривал модель ShakeAlert при разработке этой системы в качестве примера, и окончательное партнерство между Google и USGS случайно стало результатом усилий Google по расширению своей инфраструктуры для своей собственной системы.

Даже несмотря на успехи в работе этой системы, Google и команда Стогайтиса продолжают осторожное и методичное развертывание. Фактически, развертывание на сегодняшний день основано на внутреннем рейтинге стран, в котором оно принесло бы наибольшую пользу. Конечно, в таких местах, как Япония, происходит много землетрясений, но у них, как ни странно, уже есть собственная система обнаружения и оповещения. Хотя Google и может заставить эту функцию работать в как можно большем количестве стран, команда хотела, чтобы она в первую очередь развёртывалась в местах с большим количеством землетрясений, где нет собственной системы обнаружения.

Другая причина медленного развертывания заключается в том, что землетрясения и география везде разные, и Google хочет быть уверенным, что сможет изучить всё, что может, в каждой новой области по мере развертывания, изучая, нужно ли его вообще настраивать для новых рынков:

«Поскольку мы идем от региона к региону, это позволяет нам изучить эти области и понять, нужно ли нам перенастраивать систему. До сих пор нам не пришлось вносить больших изменений для какого-либо конкретного региона. Мы можем использовать в основном одну и ту же технику»

До сих пор Google заявлял, что систему не нужно настраивать для каждой задействованной области, но в будущем Стогайтис сообщил, что команда научилась более точно настраивать модель для конкретного региона:

«Мы думаем, что со временем у нас могут появиться модели для конкретных регионов просто потому, что мы видим, что, вероятно, сможем повысить точность оценки мощности землетрясений в отдельных областях. Но, если смотреть на то, что есть сейчас, можно сказать, что глобальная модель всё ещё хорошо справляется со своей работой»

От начального этапа разработки на хакатоне до развертывания в десяти странах, новая система оповещения о землетрясениях Android использует сильные стороны этой платформы для спасения жизней.

Внимание! Это перевод статьи Android Police.


Последнее изменение:
 
GIK007
GIK007, 25 ноября 2021, 21:51   (...)
Спасибо, очень интересно.
Ответить
Adra2aa
Adra2aa , 26 ноября 2021, 12:02   (...)
Статья хорошая, но перевод слабенький. Всё время, что читал статью, было странное чувство, будто машинныц перевод читаю. Конец статьи развеял все сомнения
Ответить
toddnach
toddnach, 26 ноября 2021, 15:21   (...)
Спасибо за оценку, учту. Увы, порой бывает не так просто перефразировать некоторые части текста
Ответить

Добавить комментарий
Если нужно ответить кому-то конкретно,
лучше нажать на «Ответить» под его комментарием