Как оснастить MacBook сенсорным экраном за один доллар и 16 часов работы
В основу решения была положена разработка Квока, которую он создал ещё во время учёбы в школе. Кевин заметил, что если взглянуть на блестящие поверхности под углом, то можно понять, касается ли палец непосредственно самой поверхности или нет — если палец совпадает с собственным отражением, то можно реализовать схему сенсорного экрана. Школьный проект ShinyTouch использовал внешнюю веб-камеру, которая помогала превратить движения пальца в команды для компьютера.
Во время учёбы в Массачусетском технологическом институте студенты решили доработать школьную схему, отказавшись от внешней камеры. Идея заключалась в том, чтобы установить небольшое зеркало перед встроенной веб-камерой MacBook, чтобы она смотрела вниз на экран компьютера под острым углом. Так камера сможет видеть пальцы и, используя компьютерное зрение, трансформировать видеопоток в команды для управления ноутбуком.
Техническая часть проекта потребовала лишь установки зеркала под нужным углом перед веб-камерой. Для этого создатели Project Sistine использовали миниатюрное зеркало, дверные петли, горячий клей и жёсткую бумажную тарелку. После создания нескольких вариантов крепления появился конечный — его можно сделать за несколько минут с помощью ножа и клеевого пистолета.
Затем студенты взялись за создание софта. Компьютерное зрение использует алгоритм, который распознаёт палец по цвету, характерному для человеческой кожи, определяет размеры пальца по верхнему (отражение в экране) и нижнему (реальный палец, снятый камерой) его контуру, затем определяет среднюю линию между ними, которую считает за точку касания экрана. Кроме того, по расстоянию между контурами пальца система различает касание дисплея и зависание над ним.
Используя принципы гомографии, после первоначальной калибровки системы (пользователю предлагается коснуться определённых точек на экране) камера и софт способны с помощью метода RANSAC адекватно оценивать расстояние от пальца до дисплея и распознавать координаты точки касания экрана.
В своём рабочем прототипе авторы Project Sistine конвертируют касания и движения пальца в команды компьютерной мыши, что позволяет использовать тачскрин в любых приложениях для MacBook. Если разработчики будут адаптировать свои программы для тачскрина, то там система сможет использовать и другие данные вроде высоты наведения и силы нажатия пальца, а более высокое разрешение веб-камеры (в прототипе использована камера на 480p) также расширит функционал системы.
Что касается названия Project Sistine, то оно не несёт за собой никакого глубокого значения. Комплект для превращения экрана ноутбука в тачскрин разработчики назвали так лишь потому, что использовали в процессе тестов изображение фрески Микеланджело с потолка Сикстинской капеллы.