Генерация 3D-моделей по фотографиям

    Доктор Дэвид Маккиннон (David McKinnon) из Технологического университета в Квинсленде (Австралия) разработал революционную программу 3DSee, которая генерирует 3D-модели на основе обычных фотографий — автоматически, без человеческого участия. Для работы движку нужно 5-15 фотографий, которые соответствуют требованиям, в том числе должны пересекаться как минимум на 80-90%.

    Система работает примерно так же, как майкрософтовский Photosynth. Тот анализирует пачку фотографий, находит точки пересечения и автоматически склеивает из них круговую панораму. Здесь нечто похожее: берётся пачка фотографий, ищутся точки пересечения, анализируются характеристики оптической системы (фокусное расстояние камеры и проч.), создаётся файл геометрии сцены и происходит 3D-реконструкция. От пользователя требуется только предоставить контент и нажать одну кнопку — всё!

    Автоматическое 3D-моделирование — очень сложная и важная задача, ибо теперь на эти цели тратится уйма вычислительных и трудовых ресурсов. Учитывая сложность задачи, неудивительно, что Маккиннону потребовалось аж восемь лет, чтобы довести проект до приемлемого уровня (программа 3DSee — часть проекта ACID Vision). Теперь он хочет усовершенствовать технологию, чтобы генерация 3D-моделей в картинах высокого разрешения происходила автоматически (как в знаменитой сцене с пулями из «Матрицы»).

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

    Эта технология может найти применение в медицине, военном деле, образовании, электронной коммерции, кинематографе, анимации, дизайне, индустрии развлечений, играх для взрослых и т.д. Более того, теперь 3D-графика может стать обыденным и повсеместным инструментом и найти применение в принципиально новых сферах, где раньше её не было и близко. Например, можно без труда закачать 3D-модель своего тела в Second Life (кстати, в 3DSee эта фича скоро появится) или в любую другую игру, где используется 3D-графика. Можно делать 3D-сканеры для аутентификации личности. Можно заказывать у портного одежду по интернету. Наверняка каждый может без труда придумать ещё десяток применений этой революционной технологии.

    via PhysOrg.com
    Support the author
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 48

      0
      Что тут революционного, я лет 5 назад в институте пописывал такое
        0
        для использования морды лица в качестве пароля
          0
          тоже строили 3д модель?
            +4
            Простейший алгоритм реализуется за пару часов. Идем ко каждой строке фотографий и динамическим программированием линию примерно как на картинке, вот я накалякал:

            Таким образом мы знаем какая точка левой картинки соответствует точке на правой, а «глубина» этой точки пропорциональна расстоянию между пикселями
              +1
              Только надо сперва аккуратно ректифицировать пару, а это задача простая только в первом приближении, да и эта самая «динамика» довольно далеко уже уползла от классического варианта.
                0
                gl.ict.usc.edu/Research/DigitalEmily/
                и вообще Paul Devebec можно всякое посмотреть, кстати, интересное.

                В общем не так все просто, если нужно качественно.
                0
                Кстати, недавно обратил внимание что на GoogleEarth снимки разных годов сделаны с разных ракурсов. Может быть получится выцепить третье измерение?
                Кто умеет программировать — попробуйте ради интереса :)
                  0
                    0
                    Это я видел, но там только один поселок. А тех мест, которые мне нужны там нет.
            +1
            что-то я сомневаюсь…
              +3
                0
                А я не сомневаюсь, так как тоже занимался получением 3д профиля по фотографии. (правда у меня было по одной, но зато нужно было освещение специальное)
                  0
                  Да о такой штуке слышал, интересная вещь
              • UFO just landed and posted this here
                –2
                Интересно, только пока не пойму, как фоткам спереди, пусть и с разных ракурсов, моделируется задняя часть 3d фигуры
                  0
                  Прочитайте число фотографий. Их как минимум 5.
                    0
                    Ах да, это не только фотки спереди. А еще сзади, сверху и снизу.
                      0
                      нет, чтобы восстановить только один ракурс в 3д нужно много фотографий (по тексту статьи 5-15шт). Посмотрите 3д модели на сайте (они там в ява-апплете открываются)
                  0
                  Похоже что тут не совсем важно условие «в разных ракурсах» – можно поставить камеру на штативе, и меняя позицию доп.вспышки сделать 5 кадров (вспышка: вперед, сверху, снизу, справа, слева).
                    0
                    Таким макаром снимается карта нормал-бампа, который давно используется в трехмере. Мало того, вспышка спереди не нужна — она не даст информации о реальной глубине объекта — проще его задать вручную.
                      +1
                      читаем внимательнее:
                      «Для работы движку нужно 5-15 фотографий, которые соответствуют требованиям, в том числе должны пересекаться как минимум на 80-90%.»
                      т.е. для данного метода это важное условие. Вы про другой метод какой-то, в котором самозатенения явно не позволят получить множества опорных точек для восстановления 3д.
                      +2
                      Это все, конечно, хорошо, но для «правильных» поверхностей, т.е. выпуклых: лицо, кувшин, скульптура, здание. Но очень сильно сомневаюсь, что программа выдаст приемлемый результат, если, скажем, облетев на вертолете башенный кран или Эйфелеву башню и сделав необходимые снимки, использовать их. Я говорю про объекты, которые сами по себе являются каркасными и сетчатыми структурами.

                      На мой взгляд, тут можно получить не готовый результат, а, скажем, грубый 3D-эскиз, на основе которого в Максе или Майе создавать конечную модель старыми добрыми средствами — слайсом, экструдом и сабдивайдингом. А 3D-эскиз использовать для контроля пропорций, как вариант.
                        0
                        Я, конечно же, говорю не о ширпотребе, а о профессиональном применении.
                          0
                          Ну такие разработки дальше ширпотреба пока не особо продвинулись
                            0
                            Да, вот только практика показывает, что использовать подобную рыбу для дальнейшего причесывания практически невозможно, ибо сетка получается просто чудовищной. Так что да, скорее всего использовать так как вы написали, в качестве образца
                              0
                              Кстати, для образца можно вполне обойтись и без этого, расположив в сцене две плоскости с фотографиями фас и профиль в качестве текстур, или там прямо есть режим соответствующий. Ну это известный прием при вытягивании головы из кубика, например.
                            0
                            Ага. Смотрел как-то урок по Зед Брашу, лепили они там тело человеческое, анатомически правильное. Лепили-лепили, лепили-лепили… долго очень лепили. А потом импортировали меш в майу и давай по нему заново всю модель делать, только такую чтобы потом анимировать можно было.

                            У меня такие уроки вообще все желание ЗД заниматься отбивают. Сидишь учишься рисовать, анатомию учишь, потом Зед Браш, потом Майу, потом MEL, чтобы скрипты в ней писать, потом ментал рей, чтобы это отрендерить. Так, пока что-то толком научишься делать, жизнь и пройдет.
                              0
                              Ну есть же специальные 3D-сканеры для людей, если денег на сканирование хватит. А бюджетники нехай пыхтят. Такие решения, как описал ТС, конечно, помогут и ускорят процесс, но ручками поработать тоже придется.
                                0
                                Для людей есть, а для монстров нет :) И всеравно потом заново весь меш делать.
                                  0
                                  А как же концепт-арт и пластилин? ;-)
                                    0
                                    т.е. лишь бы нам не работать, пусть другие пыхтят? =)
                                0
                                редко кто умеет всё хорошо делать в мае. помню смотрел один урок гномонов, там Алекс Альварес говорил о том что он работает в мая 10 лет, но всё равно не знает всех особенностей, скажем, анимации. чтобы в индустрию пробиться вполне додаточно знать или моделлинг + скульптинг, или текстуринг, или риг с анимацией, или рендеринг
                            • UFO just landed and posted this here
                                0
                                Из галереи хотел посмотреть пример модели, джава что-то долго грузила (скайлинк, чтобы его), потом, вытянув метров 10, похоже, убилась об стенку. Обидно.
                                0
                                У меня был плагин к максу, который по двум фоткам (фас, профиль) делал модель головы и вполне сносную — для 3D аватар — самое оно.
                                Ах да! Забыл:) Было это в 2000г под 3D Studio Max 3.
                                В общем, решение может и хорошее, но явно не новое.
                                  0
                                  нет такой кнопки сделать красиво (смоделировать, настроить рендер, продолжите сами...) и никогда не будет, всё нужно делать руками и включать голову)
                                    0
                                    Все равно после таких сканов работать и работать ручками.
                                    Так было и есть для MoCap (захват движения), когда после него нужно хорошенько все вычищать. Не особо вникал в детали, как там обстоят дела с Emotion Capture, но думаю тоже не все так гладко. Также обстоят дела и со всевозможными 3d-сканерами. Правильную сетку, которая особенно важна в анимации, машина сама еще не строит.
                                      0
                                      Вот когда напишут прогу, снимающую реальный объем по одной фотографии — тогда от неё будет толк — создавай карты бампа или дисплейсмента на основе фотографии. Именно реального бампа а не того, что получается перегоном просто в ч/б. Ну или нормал бампа. т.к. используя две фотографии с разным светом можно уже начинать строить карту нормал бампа, но в 90% есть лишь одна фота и всё делать приходится ручками.
                                        0
                                        В SDK DirectX 11 видел подобную фичу с созданием 3d называется parallax bump-mapping, в новом железе (видеокартах) будет поддерживаться аппаратно, там реально объем из пустоты делается, причем 3d строится в плоскости, но когда сбоку смотришь, то псевдо-3d ведет себя как настоящее 3d в отличии от классического bump-mapping'а, где просмотр сбоку сразу выдает всю правду.
                                          0
                                          ну так это и есть normal bump и, в отличии от обычного ч/б бампа он выглядит вот так

                                          и в нем как раз заложена реальная информация об объеме. Только вот получить его с одной картинки весьма проблематично — а работает он весьма эффектно — гораздо лучше обычного бампа
                                            +1
                                            параллакс это не есть normal bump. Параллаксу нужна карта высот (дисплейсмента).
                                            Но параллакс тоже не панацея, на границах полигонов фейк всегда виден.

                                              –1
                                              Normal bump это и есть _почти_ паралакс. Карты используются одинаковые — отличается лишь немного алгоритм просчета, да и результат, в принципе, очень схож.
                                                0
                                                Может господа минусующие обоснуют в чем я не прав?
                                                0
                                                Карта высот — см выше — она одинакова для нормал бампа и паралакса, а на границах полигонов — на крутых гранях даже дисплейс порой глюки выкидывает такие, что мама не горюй!
                                            0
                                            а как вам crazy bump? не смотря на то, что строит она карту нормалей по 1 картинке, результат довольно впечатляющий
                                            +2
                                            «Эта технология может найти применение в медицине, военном деле, образовании, электронной коммерции, кинематографе, анимации, дизайне, индустрии развлечений, играх для взрослых и т.д.»

                                            внезапно!
                                              0
                                              Не приходит мыл на подтверждение регистрации… Наверно хабраэффект
                                                0
                                                может быть к тому времени, как подобные технологии войдут в широкое использование процессоры будут настолько быстрые, что им будет наплевать на ± лишний миллион полигонов, но пока что минус этой технологии в том что результат получается чудовищно неоптимизированным: просто нагромаждение полигонов. граммотный моделлер потратит конечно больше времени, но сможет сделать самую сложную модель с максимально оптимизированными поверхностями и polygon flow — то, на что машина сейчас неспособна

                                                Only users with full accounts can post comments. Log in, please.