На пороге дополненной реальности: к чему готовиться разработчикам (часть 1 из 3)

    Аннотация


    Представляю вашему вниманию материалы одноименного доклада, сделанного мной на конференции ADD-2010 осенью прошлого года.

    В докладе после краткого экскурса в историю рассматривается текущее1) состояние дел в освоении дополненной реальности:
    • использование датчиков: акселерометры, гироскопы, магнитные компасы, GPS
      (различные мобильные телефоны, Wii, Sony Move, XSens)
    • использование маркеров: с инфракрасной подстветкой, в видимом диапазоне
      (Sony Move, OptiTrack, Vicon)
    • использование структурированной подсветки
      (на примере Microsoft Surface)
    • Z-камеры, выдающие картику + расстояние до объекта
      (Microsoft Kinect, её предшественники и аналоги)
    • безмаркерный захват движений
      (OrganicMotion, iPi Soft Desktop Motion Capture)
    • сканирование 3d-поверхности по набору изображений:
      (стереокамеры, 3d-сканеры, воссоздание 3d-сцены с движущейся камеры)

    За каждой из технологий стоят определенные алгоритмы и области Computer Science. Чтобы создавать успешные приложения такого класса, надо в них если и не досконально разбираться, то хотя бы ориентироваться. Для примера в докладе достаточно подробно рассмотрены вопросы обработки данных, поступающих с гироскопов и акселерометров. Несмотря на кажущуюся простоту, даже здесь есть трудности и место не совсем банальной математике. Остальные алгоритмы рассмотрены поверхностно и сильно упрощенно.

    Материалы





    Стенограмма


    Стенограмму по видео записал belonesox.2)


    WTF?

    Здравствуйте, меня зовут Андрей, я вам хочу немножко рассказать про дополненную реальность. Доклад слегка перемешанный, отчасти популистский, отчасти в нем есть элементы чего-то серьезного, но в целом легковесный доклад.

    Собственно говоря, сейчас дополненная реальность или Augumented Reality это такой вот buzz-word, его всюду слышите, «А-а-а, дополненная реальность, дополненная реальность», возникает вопрос — «Что это?».


    Самое банальное объяснение — это Терминатор, где он смотрит на наш мир своими глазами, и ему, к информации, которая просто картинка нашего мира, добавляется некоторая дополнительная, весьма содержательная — «Subject Unknown»… Мда, это та самая фаза, в которой Augumented Reality на данный момент и находится. Пока, зачастую такая вот «полезная» информация и добавляется.

    То есть это то, когда вы, нашему окружающему миру хотите добавить какую-нибудь дополнительную информацию.


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


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

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

    Пока конечно, все это работает поверх Street View, но это в общем и целом достаточно неплохо, хоть это и не живая картинка с вашей камеры.



    Здесь пример видео, когда ребенок подносит коробку, камера снимает коробку и собственно говоря, ребенок видит на экране поверх этой коробки картинку, модельку, которую предлагается ему собрать, и купить. Достаточно интересное применение.


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


    Этот подход, когда у вас есть какая-то камера, и она снимает картинку, вы ее хитро, или нехитро анализируете, и на основании этого, что-то поверх этой картинки рендерите.

    Есть другой подход.

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



    На самом деле, все эти штуки помогают понять одну замечательную вещь — как ваше устройство ориентировано в пространстве. Где оно находится и как оно ориентировано.

    Соответственно, плюс у вас есть видеокамера и плюс экран, на котором все это можно показывать. После этого вы как бы сквозь камеру смотрите на какой-то объект, из-за того, что можно вычислить, куда конкретно у вас направлен телефон, можно сообразить, какой там объект, если вы знаете GPS-координаты объекта, и собственно говоря, вывести поверх картинки какую-то информацию, что это такой-то памятник, или такая-то развалина. Это то, что сейчас достаточно модно, есть приложения на базе Google Maps-ов, и тому подобного, для мобильных телефонов, которые жрут трафик, мобильные операторы рады.


    Например, какой-нибудь крупный градоначальник («казалось бы причем тут Лужков» ©), хочет посмотреть, как будет выглядеть какая-нибудь будущая гостиница или еще что-нибудь. Наводит на это место города свое устройство, и ему прямо там, поверх этой картинки отрендеривается. Вот, что например, можно придумать и дорого продать московским властям.


    Этот подход устроен на немного другом механизме, здесь вам скорее всего о картинке знать ничего и не надо, главное, чтобы она была и поступала, здесь вы анализируете, как у вас расположена и ориентирована камера относительно нашей матушки-Земли.

    AR vs. VR

    Возникает резонный вопрос: как это соотносится с виртуальной реальностью, которой уже двадцать лет в обед?


    Если «классика» дополненной реальности — это «Терминатор», то классика виртуальной реальности, — фильм «Газонокосильщик». Ему очень много лет уже, помню в школе смотрел, и там качество рендеринга примерно такое.


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




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


    Но намного интересней другое различие. Вот у нас есть компьютер, есть какие-то устройства ввода, и обработки этого ввода. Есть устройства вывода и соответственно рендеринг и подготовка данных для них.

    Виртуальная реальность и все инновации в ней касались в основном рендеринга и устройств вывода. Собственно они сейчас продолжаются, сейчас всплеск 3D. То дополненная реальность, так получилось, она больше об устройствах ввода, и о том, как его обрабатывать, про новые устройства ввода и алгоритмы обработки.

    A LA HISTORY

    Давайте быстро пробежимся по краткой истории.

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



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


    Дальше великая инновация — это, собственно, мышка. И первым, ее не Apple применил в массовом производстве, а собственно сам Xerox, в 1981 году у них вышел Star Mouse. Вот слева, собственно, она, а справа — современная. Т.е. вы видите, что прогресс за это время не очень сильно ушел.

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



    Прошло еще десять лет, и сейчас мы наблюдаем бум. Сначала пошли в ширпотреб мультитачи с яблокофонами. Потом в 2007 появился WiiMote, в который воткнули акселерометр, и попытались приспособить к играм. Получилось, что только акселерометр — это плохо, приделали к нему добавочку, к низу подключается, и туда встроили еще гироскоп (WiiMotion+).




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



    И что происходит прямо сейчас? Выходит Sony Move, вот прямо сейчас его уже можно начинать покупать.

    Интересное устройство. Некоторые считают, что Sony Move, это такой вот Wiimote, только в высоком качестве, но у него есть несколько забавных, полезных фич, о которых мы поговорим. Он рвет многое.



    Вот, собственно говоря, презентация Sony Move, давайте посмотрим чуть-чуть отрывок. Это гаджет к плейстешну, но даже сами разработчики говорят, что они его используют на PC, чтобы 3D MAXе в пространстве двигать объекты.



    Это устройство, которое снабжено акселерометром, гироскопами, и магнитным компасом, и плюс еще светящимся шариком, по которому можно отслеживать его положение в пространстве. Получается очень хорошее отслеживание вашей кисти руки, так что у вас вполне работоспособный User Experience получается. Мощная штука, хоть кажется и простой.


    Ну и конечно, самое нашумевшее, это микрософтовский Kinect. Это такой сенсор, который меряет еще глубину, т.е. не только RGB-картинку, но и расстояние до объекта. Он должен выйти в ноябре (2010). И собственно говоря, эта штука она тоже для игр, но на другом принципе.

    Она, плюс к тому, что получает RGB-картинку, она еще получает матрицу глубин для объекта, т.е. расстояний. Грубо говоря, лазерный дальномер, только на других принципах. За счет этого, им удалось сделать отслеживание людей.



    Вот такой интересный ролик, это ролик достаточно содержательный, в отличие от тех игр, которые они показывают. Ибо игры они показывают совершенно примитивные и ужасные, где на стену надо накидывать какие-то краски, когда можно на более примитивных устройствах и алгоритмах тоже самое сделать3).


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

    Это достаточно адовая штука, ибо пилоты жалуются, что после его применения у них начинает дико болеть голова, раскалываться и тому подобное4). А жаловаться нельзя, потому что тебя сразу уволят из армии по профнепригодности, а в Америке много платят в армии. Поэтому они все терпят, и через несколько месяцев голова проходит, но через год-два снова начинает дико болеть… Один из пилотов решил пронаблюдать за своим зрением, во время использования этого шлема, оказалось, что у него глаза двигаются независимо, как у хамелеона.


    Все дело в том, что проецирование происходит на один глаз, а другой глаз этого не видит, из-за этого болит мозг, он не может скоррелировать эти картинки. Через некоторое время (человек животное приспосабливаемое, люди не свиньи — все сожрут), они приспосабливаются, голова вроде как проходит, но к таким вот последствиям все это приводит. Поэтому когда я вижу, что сейчас пытаются выпустить такое устройство в ширпотреб — не покупайте. Я думаю, у них ничего не получится, ибо головные боли и ничего хорошего… Ну если немножко, и если очень хочется как пилоту…

    How does it work?


    Давайте перейдем к самой содержательной части доклада, как это, собственно говоря, работает, и как всем этим можно пользоваться. Напомню эти две картинки, что есть два разных принципа:
    • Анализ изображений.
    • Когда мы знаем, положение нашей камеры, и куда она смотрит, а само изображение нас толком не волнует: нам главное его показать пользователю, и поверх что-то там нарисовать.

    Так можно это изобразить, что либо мы используем камеру, как основное устройство ввода, либо мы специальный сенсор используем.


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

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

    To be continued




    Примечания


    1) За полгода, прошедших с момента доклада, кое-что успело измениться. Соответствующие сноски об этом присутствуют в надлежащих местах стенограммы.
    2) Здесь стенограмма доклада приводится в несколько урезанном виде. Полную версию можно найти по ссылке.
    3) Умеренный скепсис автора не оправдался. Kinect вошел в книгу рекордов Гинесса как самый быстропродаваемый гаджет. А дети, и даже взрослые очень любят те нехитрые игры, которые идут с ним в комплекте.
    4) Cм. например заметку об адаптации пилотов вертолета Apache к dual-view шлему (Сама книга знаменитого вертолетчика — Apache: Inside the Cockpit of the World’s Most Deadly Fighting Machine — Ed Macy, частично доступна бесплатно онлайн).
    Поделиться публикацией

    Комментарии 27

      +2
      ООО спасибо огрромное, это сейчас как минимум интересно и актуально!
        0
        Очень стиль изложения понравился :)
        +1
        Помню в одной из серий фильма «Назад в будующие» у всех были очки с дополнительной реальностью. Вот когда уже такие появяться, надоело втыкать в маленькие экранчики различных гаджетов
          +1
          вот: image
            0
            Они разве были с дополненной реальностью? Не припомню такого.
              +1
              ну там как минимум было подобие зеркала заднего вида, когда они в машине ехали + в доме дети через них видели кто звонит
          +3
          > Все дело в том, что проецирование происходит на один глаз, а другой глаз этого не видит, из-за этого болит мозг, он не может скоррелировать эти картинки.… Поэтому когда я вижу, что сейчас пытаются выпустить такое устройство в ширпотреб — не покупайте. Я думаю, у них ничего не получится, ибо головные боли и ничего хорошего…

          Я сейчас работаю над wearable-системой, где в качестве устройства вывода используются Eyetop Centra. Старая модель — но из всего, что мне удалось обнаружить, это, пожалуй, наиболее пригодная модель для повседневного ношения. Пока не замечала головных болей ни от просмотра видео «на один глаз» (именно для этого и предназначены очки), ни от других применений. Смотреть видео на один глаз — идея не самая удачная. Но если использовать такой дисплей как информационный, на который не смотришь постоянно, а лишь время от времени бросаешь взгляд — думаю, проблем с головной болью быть не должно. Впрочем, в ближайшее время выясню это на собственном опыте.
            +1
            Пока читал топик, как раз подумал о вашей разработке. Когда «рассекретите» хотя бы часть результатов? Интересно же)
              +2
              Ну я, собственно, ее и не засекречиваю :) Работа медленно — но продвигается. В конце марта были проведены первые полевые испытания:
              telegamochka.livejournal.com/168874.html
              Завтра будут новые испытания — на этот раз во время игры в Q-Zar. По этой ссылке можно посмотреть, как выглядит система в сборе:
              ru-wearable.livejournal.com/89905.html
              Не судите строго — это _временный_ корпус, сделанный за 15 минут для того, чтобы обезопасить разъемы от выламывания. Буду думать над более грамотной и эстетически верной упаковкой ;)

              Ну а что касается железа, сейчас это:
              1) Nokia N900 — «системный блок»
              2) Наголовный дисплей Eyetop Centra
              3) Внешняя USB-камера Logitech Webcam C300

              Так как ARM все-таки слабоват для нормальной обработки изображений, попробую организовать передачу видео по WiFi со смарта на нормальный компьютер, обрабатывать его там и получать результаты обработки на смарт.

              Но основной «цимес», конечно, не железки (хотя мне удалось подобрать, на мой взгляд, весьма удачную конфигурацию), а интерфейс системы :) Но его я буду показывать только после того, как реализую и отлажу основные моменты интерфейсного концепта :)
                0
                Oops, ошиблась в ссылке. Вот фотоотчет об испытаниях НК на лыжной трассе: telegamochka.livejournal.com/169249.html
                  0
                  Спасибо)
                  Когда же вы всё успеваете — и на «попугае» полетать, и ардуину поковырять, и Румбу освоить, и вот эта разработка..?
                    0
                    В параллельном режиме :) На работу над софтом для НК у меня есть 2-3 часа дороги между домом и офисом, правда, не всегда их использую. Ну а дроном и румбой занимаюсь по выходным, под настроение :) Ардуины пока пришлось отложить — нужен человек, разбирающийся в электронике и умеющий паять. Обидно, из-за этого никак не доделаю наполовину готовый девайс ввода для носимого компьютера :(
                +1
                Возможно проблема когда изображения вроде как и одинаковые (экран полупрозрачный), но на один глаз поступает что-то еще. У вас же получается как смотреть в подзорную трубу не зажмуривая второй глаз — никаких проблем.
                  0
                  Возможно. С другой стороны, разные картинки на разных глазах — не редкость. Крайний случай — косоглазие. Более мягкий вариант — когда один глаз видит нормально, а на другом — заметная близорукость. Но при этом — никаких головных болей…
                0
                В плане дополненной реальности на мобильных устройствах есть достаточно интересный проект http://www.layar.com/
                  0
                  жалко некоторые картинки пообрезались, а так очень интересно, спасибо.
                    0
                    Не подскажите, в каком браузере? IE?
                      +1
                        +1
                        Понял. Спасибо за дельное замечание. Отказался от горизонтальных таблиц с картинками (делал для компактности материала) в пользу вертикального расположения. Теперь должно быть приемлемо во всех браузерах и разрешениях.
                    –2
                    Извините за оффтоп.

                    Но как бы мне вытащить mp3 из www.youtube.com/watch?v=FQ_fNJWtMAE?
                    Я бы её себе в плеер поставил, рядом с depart.ogg (одна из мелодий Duke Nukem).

                    Прошу не советовать вырезать из .flv, так как она там неполная.
                    Shazam мелодию узнать не могёт.

                    Заранее спасибо!
                      0
                      До чего же годная статья то… Спасибо!
                        0
                        Статья интересная, благодарствую.
                        Сдаётся мне, с полноценным приходом дополненной реальности в нашу жизнь палаты жёлтых домов пополнятся. Сняв специальные очки/линзы, люди будут по привычке махать в воздухе руками. Даже если со стороны никто не заметит, у кого-то мозг рано или поздно может не выдержать столь мощный когнитивный диссонанс (:
                          0
                          А что это за слово — «популисткий»?
                            0
                            От слова «популизм». Можно было бы сказать, наверное, и «попсовый».
                              0
                              Торможу… Действительно была пропущена буква «с». Поправил.
                            +1
                            Ещё в 29-м МиГе разноцветное проецирование воздушных целей на прозрачную матрицу прицельного механизма на лобовом стекле фонаря вполне попадает под определение дополненной реальности, а выпущен он был в 1977 году, а в 1982 году уже выпускались машины только с таким механизмом. Был ли это первый советский самолёт с такой системой — врать не буду — не знаю, более того, уверен в F-15х такие стёклышки появились ещё в 1975м — а то и раньше… конечно гироскопы в голову пилотам никто не встраивал — но в самом самолёте они естественно есть.

                            Хорошая статья, особенно понравилось грамотно описанное отличие дополненной реальности от виртуальной.

                            От себя теперь тоже могу привести пример дополненного ввода (реальности) — на всех современных парашютных системах, устанавливается небольшой приборчик (сайперс или вирджил) который измеряет скорость падения парашютиста и относительную (относительно точки взлёта) высоту парашютиста — и в случае, если на определённой высоте (как правило 225 метров), вертикальная скорость падения парашютиста превышает заданную (от 13 до 18 метров/секунду) — прибор производит принудительный ввод запасного парашюта в действие, посредством взрыва пиро-паирона. Так сказать немного дополняет реальность к лучшему!
                              0
                              AR в будущем будет таким модным и широком в потреблении, как тачскрины.

                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                              Самое читаемое