Есть ли алгоритм для преобразования 2D-видео в 3D-видео? - PullRequest
14 голосов
/ 28 января 2010

Есть ли алгоритм для преобразования 2D-видео в 3D-видео (для просмотра в очках)?

(А-ля превращение Аватара в Аватар для опыта IMAX 3D .) Или, по крайней мере, превратите его в видео, подготовленное для ощущения некоторого 3D-просмотра, используя его а-ля:

Alt text
(источник: 3dglassesonline.com )

или

Alt text
(источник: 3dglassesonline.com )

Ответы [ 10 ]

14 голосов
/ 28 января 2010

Ну, у Стэнфорда есть алгоритм для преобразования 2D фотографий в 3D модели . Я предполагаю, что с фильмами это должно быть еще проще, потому что тогда у вас есть несколько фотографий вместо одной, так что вы можете извлечь гораздо больше информации о глубине, сравнивая соседние кадры.

Возможно, результаты никогда не будут такими же хорошими, как при рендеринге / съемке фильма в 3D для начала.

4 голосов
/ 14 июня 2010

Это не может работать в целом по очень простой причине: предположим, у вас есть сцена с окном в стене, показывающая пляж, и кроме этого у вас есть фотография, показывающая окно в стене, показывающее пляж.Как алгоритм может различать два?Как вы можете определить глубину реальности и просто плоскую фотографию?

4 голосов
/ 28 января 2010

Нет - для 3D-видео требуется наличие дополнительной информации (глубины), которой просто нет в 2D-видео.

Если у вас есть 2D-рендеринг сцены (например, в «Истории игрушек»), тогда довольно просто создать 3D-фильм - вы просто меняете угол обзора сцены и заново визуализируете.

3 голосов
/ 28 января 2010

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

3D восприятие не так тесно связано со стереооптикой, как вы могли бы поверить. Если вы думаете, что вам нужны два глаза, чтобы увидеть 3D, попробуйте ходить с повязкой на глазу. У тебя все будет хорошо. Существует (небольшое) количество программ, включая некоторые коммерческие программные пакеты, которые создают 3D-модели из наборов 2D-изображений без стереокамеры. Некоторые запускают онлайн, создавая более детальную модель по мере ее появления.

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

3 голосов
/ 28 января 2010

Не совсем. Должен ли алгоритм каким-то образом понимать содержание сцены и извлекать из него информацию о глубине? Помните, что 3D-видео нуждается в информации о глубине. В противном случае невозможно узнать, сколько нужно сместить две части рамы.

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

2 голосов
/ 14 июня 2010

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

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

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

Кроме того, я слышал о системе, которая может извлекать точные 3D-модели из 8 (восьми!) Камер, направленных на одну и ту же цель. Так точно и правильно подражать движениям одежды. Однако это делается обработкой 8 (восьми!) 2D видео. Как можно достичь такого же результата только с одним 2D-видео?

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


Я хотел бы помнить, что трехмерное изображение создается нашим мозгом. Глаза могут захватывать только 2D-изображения, а наш мозг, обрабатывая эти два изображения, может генерировать изображение глубины видимых объектов.

2 голосов
/ 12 марта 2010

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

2 голосов
/ 28 января 2010

Существуют алгоритмы извлечения трехмерных фигур из 2D-изображений, например, здесь или здесь . Вы можете извлекать фигуры из каждого кадра видео и даже использовать несколько кадров, чтобы лучше понимать фигуры, обнаруживая их движение.

Однако есть вероятность, что результаты будут далеки от стандартного качества содержимого 3D-фильма.

2 голосов
/ 28 января 2010

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

Но, к сожалению, я не знаю, как это можно сделать.

1 голос
/ 21 июля 2010

Вы, вероятно, должны понимать разницу между поляризационными очками и красными / синими очками. Эффект красных / синих очков в 3D прост. Вам просто нужно сделать снимок на расстоянии нескольких дюймов друг от друга (вроде как выложены глаза) и наложить каждое изображение поверх другого. В есть инструкция по созданию анаглифных изображений в Adobe Photoshop .

.

Что касается эффекта поляризационных очков, это немного сложнее. Если вы идете в кинотеатр и смотрите 3D-фильм в поляризационных очках, вы видите настоящее 3D. Это работает, имея два проектора. Один проектор проецирует фильм с поляризацией одного типа, а второй проектор проецирует фильм с поляризацией другого типа. Изображения накладываются друг на друга, поэтому, если вы носите поляризационные очки 3D, они отображаются в 3D.

Это невозможно сделать с помощью телевизора или монитора компьютера. Ваш телевизор или монитор должен проецировать два изображения одновременно. Из-за популярности 3D сейчас на рынке появляются 3D телевизоры и мониторы, которые не проецируют два изображения, а отображают 3D. Вот как они работают:

Обычный экран компьютера или телевизор обновляется с частотой 60 Гц. Это означает, что 60 раз в секунду изображение, которое вы видите, обновляется. Поскольку это так быстро, человеческий глаз не видит мерцания. 3D-телевизоры и мониторы обновляются с частотой 120 Гц. Поляризационные изображения являются чередующимися со скоростью 120 раз в секунду, но поскольку их два, они появляются со скоростью 60 раз в секунду, что и дает эффект 3D.

Надеюсь, это немного поможет вам понять.

Чтобы ответить на ваш вопрос, да, вы можете создавать 3D-видео, но для его просмотра вам понадобится 3D-монитор и 3D-телевизор.

...