Смартфон определил интересующие пользователя объекты по взгляду
Американские инженеры создали алгоритм, позволяющий смартфонам понимать, на что сейчас смотрит пользователь, и тем самым более точно интерпретировать его голосовые команды. Он сопоставляет данные с передней и задней камер, и тем самым вычисляет точку, на которую смотрит человек. Это позволяет использовать в общении с голосовым помощником обезличенные команды, например, "Во сколько закрывается этот магазин?". Статья с описанием алгоритма будет представлена на конференции CHI 2020.
Голосовые помощники достаточно сильно развились за последние годы, но у них до сих пор остается несколько фундаментальных проблем, в том числе и слабая работа с контекстом. Например, зачастую они не понимают связи новой команды с предыдущим диалогом с пользователем, а также неспособны работать с указательными местоимениями. Однако в повседневном общении люди постоянно используют такую форму указания, поэтому она могла бы сделать голосовые помощники более похожими на людей.
Чтобы смартфон мог понимать, о чем именно говорит пользователь в таком случае, ему необходимо использовать данные от камеры. Самый очевидный способ реализации такого алгоритма - просто наводить камеру на интересующий предмет, чтобы он находился в центре кадра. Но это делает использование смартфона неестественным, поэтому разработчики под руководством Криса Харрисона (Chris Harrison) из Университета Карнеги - Меллона предложили одновременно использовать камеры с обеих сторон смартфона, чтобы определять направление взгляда человека, не заставляя его точно направлять смартфон.
Авторы воспользовались iPhone с iOS 13, потому что начиная с этой версии система позволяет одновременно использовать две камеры. Для распознавания направления разработчики воспользовались системным API для отслеживания положения головы. На его основе программа получает вектор с направлением головы и, зная параметры обеих камер, переносит его на данные с задней камеры.
Объекты на этих данных распознает встроенный в iOS фреймворк. Главное ограничение заключается в том, что он работает только со знакомыми объектами, однако разработчики предполагают, что это можно решить с помощью единой облачной базы данных. Алгоритм сопоставляет вектор с распознанными объектами перед камерой и ранжирует их по дальности от него.
Программа слушает пользователя в поисках активационной фразы, распознавая слова с помощью встроенного в систему алгоритма диктовки. После того, как пользователь сказал активационную фразу и команду, программа сопоставляет указательные местоимения в команде с объектами и формирует окончательную команду, в которой местоимения заменены на конкретные объекты. Поскольку приложение является демонстрацией метода, оно само обрабатывает команду и зачитывает ответ, но при желании команду можно отдавать на обработку системному голосовому помощнику или даже встроить в систему.
Один из троих авторов статьи работает в компании Apple, которая недавно подала патентную заявку на похожий метод, позволяющий уточнять команды с указательными местоимениями с помощью взгляда. В заявке описаны разные реализации такой системы, в том числе с умной колонкой со встроенной камерой, а также смартфоном, стоящим в комнате.