Анимация и 3D графика

индекс
186,51

Генерация 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
+33
10 июля 2009, 15:49
37

комментарии (48)

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

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

В общем не так все просто, если нужно качественно.
0
pixxxel #
Кстати, недавно обратил внимание что на GoogleEarth снимки разных годов сделаны с разных ракурсов. Может быть получится выцепить третье измерение?
Кто умеет программировать — попробуйте ради интереса :)
0
nord_ak #
0
pixxxel #
Это я видел, но там только один поселок. А тех мест, которые мне нужны там нет.
+1
nooze #
что-то я сомневаюсь…
+3
pixxxel #
0
dab512 #
А я не сомневаюсь, так как тоже занимался получением 3д профиля по фотографии. (правда у меня было по одной, но зато нужно было освещение специальное)
0
nooze #
Да о такой штуке слышал, интересная вещь
НЛО прилетело и опубликовало эту надпись здесь
–2
Wiemo #
Интересно, только пока не пойму, как фоткам спереди, пусть и с разных ракурсов, моделируется задняя часть 3d фигуры
0
nsinreal #
Прочитайте число фотографий. Их как минимум 5.
0
nsinreal #
Ах да, это не только фотки спереди. А еще сзади, сверху и снизу.
0
RomBinDaHouse #
нет, чтобы восстановить только один ракурс в 3д нужно много фотографий (по тексту статьи 5-15шт). Посмотрите 3д модели на сайте (они там в ява-апплете открываются)
0
PSHKGRZN #
Похоже что тут не совсем важно условие «в разных ракурсах» – можно поставить камеру на штативе, и меняя позицию доп.вспышки сделать 5 кадров (вспышка: вперед, сверху, снизу, справа, слева).
0
IIIKochevnikIII #
Таким макаром снимается карта нормал-бампа, который давно используется в трехмере. Мало того, вспышка спереди не нужна — она не даст информации о реальной глубине объекта — проще его задать вручную.
+1
RomBinDaHouse #
читаем внимательнее:
«Для работы движку нужно 5-15 фотографий, которые соответствуют требованиям, в том числе должны пересекаться как минимум на 80-90%.»
т.е. для данного метода это важное условие. Вы про другой метод какой-то, в котором самозатенения явно не позволят получить множества опорных точек для восстановления 3д.
+2
Shtorkin #
Это все, конечно, хорошо, но для «правильных» поверхностей, т.е. выпуклых: лицо, кувшин, скульптура, здание. Но очень сильно сомневаюсь, что программа выдаст приемлемый результат, если, скажем, облетев на вертолете башенный кран или Эйфелеву башню и сделав необходимые снимки, использовать их. Я говорю про объекты, которые сами по себе являются каркасными и сетчатыми структурами.

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

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

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

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

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

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