Hi-Tech

Превратить экран Macbook в сенсорный с помощью машинного распознавания образов, зеркала, горячего клея — и потратить $1

Превратить экран Macbook в сенсорный с помощью машинного распознавания образов, зеркала, горячего клея — и потратить $1 — Техника на vc.ru

Написать

Уведомлений пока нет

Пишите хорошие статьи, комментируйте,
и здесь станет не так пусто

Войти

Перевод материала из блога студента Массачусетского технологического института Аниша Аталье.

В закладки

Эксперимент под названием «Сикстинский проект» (в честь нашей фотографии-пародии на фреску «Создание Адама») разработан и проведён мной, Кевином, Гильермо и Логаном за 16 часов. Мы превратили экран Macbook в сенсорный с помощью оборудования общей стоимостью $1 и машинного распознавания образов.

Механизм работы

Если палец лежит на экране, то он как бы упирается в своё отражение. Основной принцип работы устройства прост: если посмотреть на поверхность монитора под углом, можно увидеть отражение и по положению пальца понять, касается он экрана или нет.

С помощью внешней веб-камеры он построил систему сенсорного ввода, не требующую практически никаких настроек. Кевин ещё в средней школе заметил это и создал ShinyTouch.

Камера увидит пальцы, дотрагивающиеся до экрана, и мы сможем перевести видеозапись в касания с помощью машинного распознавания образов. Мы решили попробовать усовершенствовать эту систему без использования внешней камеры — установить маленькое зеркало перед встроенной в ноутбук камерой так, чтобы направить объектив на монитор под острым углом.

Оборудование

Всё, что требовалось от нас, — установить зеркало перед камерой под определённым углом. Настроить аппаратуру оказалось просто. Вот список использованных материалов:

  • Маленькое зеркало.
  • Жёсткий лист бумаги.
  • Дверная петля.
  • Горячий клей.

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

Вот как выглядит готовое изделие:

Обнаружение касания

Вот пример того, что видит веб-камера: Прежде чем начать процесс обработки видео, необходимо обнаружить палец.

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

  1. Отфильтровать цвет кожи и провести бинаризацию изображения.
  2. Обнаружить контуры.
  3. Найти два длинных контура — пальца и его отражения — и убедиться, что они пересекаются по горизонтали и что меньший контур находится над большим.

  4. Установить точку касания в центре линии, по которой соединяются верхушка нижнего контура и низ верхнего контура.

  5. Отличить касание от зависшего над монитором пальца по длине между двумя контурами.

Результат такого процесса, вид через веб-камеру. Палец и его отражение (контуры) показаны салатовым, ограничительная рамка красным, а точка касания — ярко-розовым

Преобразование данных и настройка

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

Оно даст нам матрицу проекции, которая преобразует координаты камеры в координаты на мониторе. Собрав все данные, которые сопоставляют координаты веб-камеры с координатами на мониторе, мы можем выполнить гомографическое преобразование с помощью метода RANSAC (Random Sample Consensus — метод оценки на основе случайных выборок).

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

После окончания настройки матрица проекции показывается красным, а программа переключается в режим, при котором расчётная точка касания обозначается синим. Точка касания по координатам камеры показана ярко-розовым цветом.

Применение

Сейчас мы переводим касания и наведения в события мыши, делая существующие приложения сенсорными.

Если мы решим создавать собственные приложения, управляемые сенсорно, то сможем напрямую использовать данные касаний, включая информацию вроде высоты наведения пальца.

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

Исходный код

Код прототипа находится в открытом доступе и выпущен на основании лицензии Массачусетского технологического института.

#macbook #сенсорныеэкраны

Блоги компаний

Показать еще

Push-уведомления

{ "page_type": "article" }

["\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435-\u043f\u043b\u0430\u0446\u0435\u0431\u043e \u0441\u043a\u0430\u0447\u0430\u043b\u0438
\u0431\u043e\u043b\u044c\u0448\u0435 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u0430 \u0440\u0430\u0437","\u0425\u0430\u043a\u0435\u0440\u044b \u0441\u043c\u043e\u0433\u043b\u0438 \u043e\u0431\u043e\u0439\u0442\u0438 \u0434\u0432\u0443\u0445\u0444\u0430\u043a\u0442\u043e\u0440\u043d\u0443\u044e
\u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u0433\u043e\u0432\u043e\u0440\u043e\u0432","\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u043a\u0430\u043b\u0438\u0444\u043e\u0440\u043d\u0438\u0439\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430
\u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u043e\u0439 \u0441\u0435\u0442\u044c\u044e","\u0413\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0439 \u043f\u043e\u043c\u043e\u0449\u043d\u0438\u043a \u0432\u044b\u043a\u0443\u043f\u0438\u043b
\u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044e-\u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044f","\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u043e\u0442\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u043e\u0442 email
\u0432 \u043f\u043e\u043b\u044c\u0437\u0443 \u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043c\u0435\u043c\u043e\u0432","\u041d\u0435\u0439\u0440\u043e\u043d\u043d\u0430\u044f \u0441\u0435\u0442\u044c \u043d\u0430\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u0447\u0438\u0442\u0430\u0442\u044c \u0441\u0442\u0438\u0445\u0438
\u0433\u043e\u043b\u043e\u0441\u043e\u043c \u041f\u0430\u0441\u0442\u0435\u0440\u043d\u0430\u043a\u0430 \u0438 \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 \u043e\u043a\u043d\u043e \u043d\u0430 \u043e\u0441\u0435\u043d\u044c"]

Приложение-плацебо скачали
больше миллиона раз

Подписаться на push-уведомления

Показать больше

Похожие публикации

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»