Преобразование обычной фотографии в 3D
Модераторы: Vlad Sidash, Ledmaster, Anastasiya
Исходное изображение 1944х2592. Качество хорошее, выложил я естественно ужатые фото. На третьем снимке видно, что большое растяжение рисунка в области головы, как раз там где наибольший контраст на карте глубины. Это при 4% parallax. Указание plane of zero parallax [0-255] дает незначительный результат (пробовал различные значения)
т.е. либо приходится сильно жертвовать трехмерностью для сохранения нормальных пропорций,
либо сохранять 3d, при этом жертвуя правильностью изображения (контрастные по параллаксу участки сильно растягиваются - может выразился неправильно, надеюсь вы меня поняли)
на панорамах это не критично, но когда изображены люди - очень заметно. Можно ли как то обойти эту особенность?
либо сохранять 3d, при этом жертвуя правильностью изображения (контрастные по параллаксу участки сильно растягиваются - может выразился неправильно, надеюсь вы меня поняли)
на панорамах это не критично, но когда изображены люди - очень заметно. Можно ли как то обойти эту особенность?
-
- Сообщений: 3
- Зарегистрирован: Пт авг 14, 2009 4:42 pm
для качественного преобразования 2D фотографии в 3D, важно создать точную и подробную карту глубины, в случае портрета, особенно сложно нарисовать карту глубины для лица
глаза, нос, переход от подбородка к шее и т.д.
простые средства фотошопа(конечно мои знания весьма скудны) мне в этом мало помогли, все что я смог, создать на месте лица подобие сферы градиентом, и выделить на ней области носа и глаз припомощи регулировки яркости контраста растушеваной выделенной области
при этом трудно добится чтобы например контуры(несферические) лица имели одинаковый цвет а к центру он градиентом сходился к некому заранее заданному более светлому. характер градиента тоже не всегда приемлем
в тоже время я смог легко расщитать точные глубины многих характерных точек изображения(кончик носа, глаза, шея, подбородок, уши и т.д.) и было бы здорово ввести глубины этих точек в некую программу чтобы она по ним построила сглаженную воксельную поверхность глубин, которую можно было бы при желании уточнять и дополнять введением новых точек и передвижением старых
похожие программы есть у картографов,
(например )
они измеряют эхолотами глубины дна в море в нескольких местах, и потом программа по этим точечным замерам строит сглаженную поверхность(рельеф) морского дна, эти программы дороги и я не знаю какую именно стоит искать...
было бы заманчиво на плоскости нулевого паралакса обозначить точку кончика носа, углубления глаз, потом задать контур лица с потсоянной "глубиной" и т.д. в конце концов полученную воксельную 3D поверхность можно было бы наблюдать под разными углами сравнивая с воображаемым скульптурным изображением обрабатываемого лица, получая в итоге что-то похожее на это:
(взято отсюда: http://cgm.computergraphics.ru/content/view/59)
кто что посоветует?
глаза, нос, переход от подбородка к шее и т.д.
простые средства фотошопа(конечно мои знания весьма скудны) мне в этом мало помогли, все что я смог, создать на месте лица подобие сферы градиентом, и выделить на ней области носа и глаз припомощи регулировки яркости контраста растушеваной выделенной области
при этом трудно добится чтобы например контуры(несферические) лица имели одинаковый цвет а к центру он градиентом сходился к некому заранее заданному более светлому. характер градиента тоже не всегда приемлем
в тоже время я смог легко расщитать точные глубины многих характерных точек изображения(кончик носа, глаза, шея, подбородок, уши и т.д.) и было бы здорово ввести глубины этих точек в некую программу чтобы она по ним построила сглаженную воксельную поверхность глубин, которую можно было бы при желании уточнять и дополнять введением новых точек и передвижением старых
похожие программы есть у картографов,
(например )
они измеряют эхолотами глубины дна в море в нескольких местах, и потом программа по этим точечным замерам строит сглаженную поверхность(рельеф) морского дна, эти программы дороги и я не знаю какую именно стоит искать...
было бы заманчиво на плоскости нулевого паралакса обозначить точку кончика носа, углубления глаз, потом задать контур лица с потсоянной "глубиной" и т.д. в конце концов полученную воксельную 3D поверхность можно было бы наблюдать под разными углами сравнивая с воображаемым скульптурным изображением обрабатываемого лица, получая в итоге что-то похожее на это:

(взято отсюда: http://cgm.computergraphics.ru/content/view/59)
кто что посоветует?
Последний раз редактировалось Эдуард-108 Пт авг 14, 2009 5:42 pm, всего редактировалось 1 раз.
-
- Site Admin
- Сообщений: 772
- Зарегистрирован: Ср авг 23, 2006 1:08 pm
- Контактная информация:
Здравствуйте, Эдуард.
Могу предположить, что подобную операцию можно выполнить в любой программе трехмерного моделирования, наприемр 3DMax.
На заданные точки натянуть поверхность. Z-буфер при построении проекции этой поверхности на плоскость по-сути и будет картой глубины.
Возможно, специализированная программа была бы удобнее.
С уважением,
Алексей.
В StereoTracer есть возможность автоматически строить карту глубины по стереопаре. На ровных стереопарах работает хорошо, в том числе и на лицах.
Могу предположить, что подобную операцию можно выполнить в любой программе трехмерного моделирования, наприемр 3DMax.
На заданные точки натянуть поверхность. Z-буфер при построении проекции этой поверхности на плоскость по-сути и будет картой глубины.
Возможно, специализированная программа была бы удобнее.
С уважением,
Алексей.
В StereoTracer есть возможность автоматически строить карту глубины по стереопаре. На ровных стереопарах работает хорошо, в том числе и на лицах.
-
- Сообщений: 3
- Зарегистрирован: Пт авг 14, 2009 4:42 pm
конечно если есть два ракурса все во много раз проще...
была еще идея, взять карту глубины лица сделанную рекомендованым вами способом(в stereotracer по двум кадрам), при схожем с конвертируемой 2D фотографией, ракурсе сьемки, затем синхронно "натянуть" это лицо-донор(и привязанную к нему полученную карту глубины) на исходную фотографию 2D, совместив их характерными точками, и получив таким образом карту глубины для исходной 2D, в которой по крайней мере характерные точки(нос глаза и т.д.) по глубине будут совпадать с таковыми у лица-донора, так сказать приспособить карту глубины от другого лица...
думаю если перед фотографированием нанести на лицо донора-глубины сетку(наклеить, нарисовать макияжными красками или спроецировать проектором), то ваша программа сможет очень точно восстановить карту глубины
была еще идея, взять карту глубины лица сделанную рекомендованым вами способом(в stereotracer по двум кадрам), при схожем с конвертируемой 2D фотографией, ракурсе сьемки, затем синхронно "натянуть" это лицо-донор(и привязанную к нему полученную карту глубины) на исходную фотографию 2D, совместив их характерными точками, и получив таким образом карту глубины для исходной 2D, в которой по крайней мере характерные точки(нос глаза и т.д.) по глубине будут совпадать с таковыми у лица-донора, так сказать приспособить карту глубины от другого лица...
думаю если перед фотографированием нанести на лицо донора-глубины сетку(наклеить, нарисовать макияжными красками или спроецировать проектором), то ваша программа сможет очень точно восстановить карту глубины
-
- Сообщений: 3
- Зарегистрирован: Пт авг 14, 2009 4:42 pm
нарисовал карту глубины как мог, и продолжаю
многие недостатки сгенерированной последовательности кадров видны при просмотре анимации,
если вам это интересно выскажу свои пожелания по дальнейшему совершенствованию стерео трейсера(использую версию 3.0)
-редактор карты глубины должен быть в составе самого трейсера,
- в него надо включить возможность задания всё новых фиксированных точек/кривых глубины,
дистанцию их влияния(то в каком радиусе они прогибают воксельную пелену)
и направление их влияния(например чтобы контур лица прогибал край лица вглубь с внутренней стороны контура но при этом не должен вытягивать задний план с внешней стороны контура лица)
-редактор глубины должен позволять редактировать карту в режиме реального времени, при просмотре в отдельном окне анимации полученых ракурсов, чтоб отодвигая область я через несколько секунд(пересчет) мог видеть как это отразилось на анимированном изображении
иначе можно целую вечность по одному глюку исправлять... особенно если разрешение приличное и ракурсов много
- надо минимизировать эффекты разрывов, на границах глубин (преобразование должно стать более линейным)
многие недостатки сгенерированной последовательности кадров видны при просмотре анимации,
если вам это интересно выскажу свои пожелания по дальнейшему совершенствованию стерео трейсера(использую версию 3.0)
-редактор карты глубины должен быть в составе самого трейсера,
- в него надо включить возможность задания всё новых фиксированных точек/кривых глубины,
дистанцию их влияния(то в каком радиусе они прогибают воксельную пелену)
и направление их влияния(например чтобы контур лица прогибал край лица вглубь с внутренней стороны контура но при этом не должен вытягивать задний план с внешней стороны контура лица)
-редактор глубины должен позволять редактировать карту в режиме реального времени, при просмотре в отдельном окне анимации полученых ракурсов, чтоб отодвигая область я через несколько секунд(пересчет) мог видеть как это отразилось на анимированном изображении
иначе можно целую вечность по одному глюку исправлять... особенно если разрешение приличное и ракурсов много
- надо минимизировать эффекты разрывов, на границах глубин (преобразование должно стать более линейным)
Вернуться в «StereoTracer/3D с помощью карты глубины»
Кто сейчас на форуме
Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 4 гостей