Инженеры из Сингапура и США разработали метод, позволяющий распознавать звуки в комнате с помощью робота-пылесоса, не оснащенного микрофоном. Вместо него они воспользовались лидаром, который часто установлен в дорогих моделях, и научились регистрировать с помощью лазерного луча вибрации на поверхности предметов, образующиеся из-за звуков от человека или колонки. Работа была представлена на конференции SenSys 2020.
Звук — это волна механических колебаний, которые распространяются от их источника сквозь воздух, твердые предметы или другую среду и может переходить между средами: например, звук из мощных колонок или сабвуфера может вызывать заметную вибрацию на предметах в комнате. Ученые и инженеры давно догадались, что этот процесс можно «повернуть вспять» — по вибрациям предмета восстановить звук, который их вызвал. В 2014 году инженеры из Массачусетского технологического института показали, как можно восстановить звук при помощи пакета от чипсов и высокоскоростной камеры, а летом 2020 года израильские инженеры продемонстрировали, что звук в доме можно восстановить на большом расстоянии, если навести телескоп с фотодиодом на работающую лампочку.
Оба этих метода и их аналоги позволяют достичь неплохого качества и подслушивать речь, но требуют довольно дорогого оборудования и не годятся, если у злоумышленника нет визуального контакта с комнатой, звук из которой надо записать. Инженеры под руководством Цзюна Ханя (Jun Han) из Национального университета Сингапура разработали метод, для реализации которого годится робот-пылесос, оборудованный лидаром — его можно приобрести за несколько сотен долларов. Он состоит из лазерного излучателя и приемника, закрепленных на вращающейся платформе, и по сути работает как лазерный дальномер: посылает луч и по тому, как быстро он вернулся обратно, определяет расстояние до объектов в комнате, что позволяет строить точную карту.
В модели, которую использовали разработчики, лидар вращается с частотой пять герц и записывает 360 значений за оборот. В таком виде он способен регистрировать колебания в одной точке с частотой пять герц, что недостаточно для записи речи или других звуков. Инженеры немного модифицировали электрическую цепь в блоке лидара так, что он может регистрировать расстояние без вращения. Они отмечают, что того же эффекта можно добиться модификацией прошивки, но для простоты они обошлись аппаратным решением. Оно позволяет направить датчик на одну точку и записывать данные с частотой 1,8 килогерца (пять вращений в секунду × 360 измерений за оборот), что уже гораздо выше, хотя и все еще недостаточно для анализа речи. Разработчики воспользовались программным набором Dustcloud, позволяющим получать права суперпользователя на роботах-пылесосах Xiaomi, и с его помощью записывали с лидара «сырые» данные об интенсивности.
После получения данных с лидара алгоритмы проводят их фильтрацию. Среди прочего, они проводят интерполяцию для пустых фрагментов сигнала, получающихся из-за того, что луч не вернулся на датчик, пиковую нормализацию, фильтруют низкочастотный шум и усиливают сигнал в области низких частот, причем отдельно для множества небольших интервалов частот. В результате получается файл, который сложно понять человеку, но при этом в нем достаточно данных, чтобы в дальнейшем по ним можно было восстановить некоторые типы звуков.
После предварительной обработки спектрограмму сигнала подают на сверточную нейросеть, которая относит сигнал к одному из знакомых классов (они зависят от того, на каких данных и для какой задачи обучали нейросеть). Авторы показали практическую применимость метода на нескольких задачах: определение произнесенных цифр, пола говорящего и начальной музыкальной заставки телепередачи, а также распознавание личности говорящего. Они обучили алгоритм на соответсвующих датасетах других разработчиков, к примеру, Free Spoken Digit, состоящем из записей произнесенных цифр, и на собственном датасете из заставок телепередач, который они собрали из записей с YouTube.
Разработчики установили пылесос напротив мусорного ведра, которое выступало в качестве «мишени» лазерного излучателя, и включали звук громкостью 70 децибел на колонке, стоящей в 20 сантиметрах от ведра. В результате они получили достаточно высокую точность распознавания для такого метода: 96 процентов для определения пола, 91 процент для цифр, 90 процентов для телепередач (10 возможных вариантов передач) и 67,5 для определения личности (10 вариантов людей).
Авторы предложили два способа защиты от такой атаки. Во-первых, они предлагают устанавливать в пылесосы такие лидары, которые на аппаратном уровне не могут проводить измерения без вращения, что снизит частоту записываемого сигнала до всего нескольких герц. Во-вторых, они отмечают, что пылесос, который они использовали, записывает данные с лидара в виде пар расстояние-качество сигнала, а качество в свою очередь напрямую коррелирует с интенсивностью. Они предлагают не использовать на уровне системы данные, которые позволяют получить интенсивность сигнала.
Лазер можно использовать и для противоположной задачи: создавать с его помощью звук на большом расстоянии. Инженеры уже продемонстрировали эту возможность на практике, нашептав звук на ухо человеку и в микрофон умной колонке.
Григорий Копиев