Преобразование обычной фотографии в 3D

Вопросы создания 3D изображений методом "карты глубины", работа с программой StereoTracer

Модераторы: Vlad Sidash, Ledmaster, Anastasiya

Ledmaster
Сообщений: 317
Зарегистрирован: Пн май 05, 2008 11:23 pm

Сообщение Ledmaster » Пн фев 09, 2009 10:31 pm

barred писал(а):Но при этом наблюдается искажение той части рисунка где находится голова (возможно там большой контраст).

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

Изображение

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

barred
Сообщений: 11
Зарегистрирован: Чт фев 05, 2009 5:47 pm

Сообщение barred » Вт фев 10, 2009 12:25 am

Исходное изображение 1944х2592. Качество хорошее, выложил я естественно ужатые фото. На третьем снимке видно, что большое растяжение рисунка в области головы, как раз там где наибольший контраст на карте глубины. Это при 4% parallax. Указание plane of zero parallax [0-255] дает незначительный результат (пробовал различные значения)

barred
Сообщений: 11
Зарегистрирован: Чт фев 05, 2009 5:47 pm

Сообщение barred » Вт фев 10, 2009 12:30 am

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

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

barred
Сообщений: 11
Зарегистрирован: Чт фев 05, 2009 5:47 pm

Сообщение barred » Вт фев 10, 2009 12:39 am

Изображение

XAKEPEHOK
Сообщений: 15
Зарегистрирован: Ср янв 21, 2009 12:46 am

Сообщение XAKEPEHOK » Ср фев 11, 2009 1:03 am

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

barred
Сообщений: 11
Зарегистрирован: Чт фев 05, 2009 5:47 pm

Сообщение barred » Ср фев 11, 2009 2:05 am

Да, размытие наверно делал недостаточное.
Т.е. в данном случает под нулевой паралакс захватите "кусочек неба"
Уже попробовал, действительно стало заметно лучше, спасибо!

Эдуард-108
Сообщений: 3
Зарегистрирован: Пт авг 14, 2009 4:42 pm

Сообщение Эдуард-108 » Пт авг 14, 2009 5:26 pm

для качественного преобразования 2D фотографии в 3D, важно создать точную и подробную карту глубины, в случае портрета, особенно сложно нарисовать карту глубины для лица

глаза, нос, переход от подбородка к шее и т.д.

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

при этом трудно добится чтобы например контуры(несферические) лица имели одинаковый цвет а к центру он градиентом сходился к некому заранее заданному более светлому. характер градиента тоже не всегда приемлем

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

похожие программы есть у картографов,
(например http://isoline.narod.ru/)
они измеряют эхолотами глубины дна в море в нескольких местах, и потом программа по этим точечным замерам строит сглаженную поверхность(рельеф) морского дна, эти программы дороги и я не знаю какую именно стоит искать...


было бы заманчиво на плоскости нулевого паралакса обозначить точку кончика носа, углубления глаз, потом задать контур лица с потсоянной "глубиной" и т.д. в конце концов полученную воксельную 3D поверхность можно было бы наблюдать под разными углами сравнивая с воображаемым скульптурным изображением обрабатываемого лица, получая в итоге что-то похожее на это:
Изображение
(взято отсюда: http://cgm.computergraphics.ru/content/view/59)
кто что посоветует?
Последний раз редактировалось Эдуард-108 Пт авг 14, 2009 5:42 pm, всего редактировалось 1 раз.

Алексей Поляков
Site Admin
Сообщений: 771
Зарегистрирован: Ср авг 23, 2006 1:08 pm
Контактная информация:

Сообщение Алексей Поляков » Пт авг 14, 2009 5:38 pm

Здравствуйте, Эдуард.

Могу предположить, что подобную операцию можно выполнить в любой программе трехмерного моделирования, наприемр 3DMax.

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

Возможно, специализированная программа была бы удобнее.

С уважением,
Алексей.

В StereoTracer есть возможность автоматически строить карту глубины по стереопаре. На ровных стереопарах работает хорошо, в том числе и на лицах.

Эдуард-108
Сообщений: 3
Зарегистрирован: Пт авг 14, 2009 4:42 pm

Сообщение Эдуард-108 » Пт авг 14, 2009 5:47 pm

конечно если есть два ракурса все во много раз проще...

была еще идея, взять карту глубины лица сделанную рекомендованым вами способом(в stereotracer по двум кадрам), при схожем с конвертируемой 2D фотографией, ракурсе сьемки, затем синхронно "натянуть" это лицо-донор(и привязанную к нему полученную карту глубины) на исходную фотографию 2D, совместив их характерными точками, и получив таким образом карту глубины для исходной 2D, в которой по крайней мере характерные точки(нос глаза и т.д.) по глубине будут совпадать с таковыми у лица-донора, так сказать приспособить карту глубины от другого лица...


думаю если перед фотографированием нанести на лицо донора-глубины сетку(наклеить, нарисовать макияжными красками или спроецировать проектором), то ваша программа сможет очень точно восстановить карту глубины

Эдуард-108
Сообщений: 3
Зарегистрирован: Пт авг 14, 2009 4:42 pm

Сообщение Эдуард-108 » Вт авг 18, 2009 1:18 am

нарисовал карту глубины как мог, и продолжаю
многие недостатки сгенерированной последовательности кадров видны при просмотре анимации,
если вам это интересно выскажу свои пожелания по дальнейшему совершенствованию стерео трейсера(использую версию 3.0)

-редактор карты глубины должен быть в составе самого трейсера,
- в него надо включить возможность задания всё новых фиксированных точек/кривых глубины,
дистанцию их влияния(то в каком радиусе они прогибают воксельную пелену)
и направление их влияния(например чтобы контур лица прогибал край лица вглубь с внутренней стороны контура но при этом не должен вытягивать задний план с внешней стороны контура лица)

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

- надо минимизировать эффекты разрывов, на границах глубин (преобразование должно стать более линейным)


Вернуться в «StereoTracer/3D с помощью карты глубины»

Кто сейчас на форуме

Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 5 гостей