Даже заранее калибрированные камеры — это все равно минимум 8 точек пересечения надо. 6 на три кадра (но там я тоже математику не понимаю толком). Да и по сути на самом деле от камеры только фокальное расстояние так уж требуется — искажения можно тем же PTLens убрать легко. Но блин все равно 6-8 точек найти это не мало, особенно когда камера толком может заснять только часть плоского дома.
А если бы я мог придумать свой алгоритм для feature points — я бы не жаловался на патентованность SIFT :)
Я не говорю, что это невозможно — возможно, но не доступно.
Это делается лазерным сканированием + специальным (закрытым) софтом ссылку я уже давал www.youtube.com/watch?v=Y6fAszlImPM. Пока что доступа простым смертным к таким технологиям нет. А лазерные сканеры ой как дофига стоят.
А в фильмах, в основном, восстанавливается небольшая часть только города (отдельная сцена в камере). Это возможно и сейчас. И то восстанавливается на самом деле больше движение камеры, чтобы ее совместить с 3D, сама сцена для фильмов не восстанавливается (за исключением отдельных точек).
Кстати делается при этом 1 сик на одно слово каждой машиной кластера (в параллель), дома у нас 1 компьютер, а не кластер. Там как раз данные хранятся по одному слову по порядку: спросил «фото», вот в индексе подряд и идут документы про фото: 318209092, 4928403092, 43898349, 4938493843 и т.п…
Проблема в том, что пространственные данные так особо не похранишь — луч взгляда может пройти по бесконечному количеству направлений. Каждое предположительное направление взгляда — размер индекса растет на изначальный размер объема данных.
Я не спорю, что что-то они придумали. Я спорю с тем, что объемы тут такие большие, что либо это что-то супергениальнейшее, что обходит миллионы подводных камней, в том числе и объемы данных, которые нужны для этого, либо все-таки какие-то хитрости при демонстрации тут. И второе с чем я спорю — что игровой индустрии эта технология не нужна, особенно при приближающемся tesselation.
Кошмар, люди!.. Хватит по поводу и без повода приводить Гугл в пример, когда не знаете о чем говорите.
У гугла время ответа на поиск КЛАСТЕРОМ машин с безумным объемом памяти и рейдовыми массивами с размером сектора в 64мегабайта (у Вас на домашнем компе — 512 байт) — вполне допустимое в пределах 100мс, 400мс и даже больше… Это 2-10 кадров в секунду! КЛАСТЕРОМ НАВОРОЧЕННЫХ МАШИН!!!
Ну, как я и говорил — есть возможность чтобы у точки была нормаль, редакторов вот пока нет для этого. А то, в чем они это сделали — еще изучать придется людям, и перестраивать весь рабочий процесс.
Да, по сути это видеотрекинг — есть даже специальные программы. Но, к сожалению, сколько я с ними не бился — больше 3-4 домов и то на открытой улице (2-3 минуты езды) не удается смоделировать. Любой разрыв видео (камера показала только небо) и все, связать не удастся…
Тут понимаете проблема в масштабе — маленькие объекты легко восстановить с помощью подобных технологий. Даже отдельный дом довольно не сложно было бы, правда под него не запихнешь эту сетку реперных точек, но возможно.
Проблема начинается когда целый город хочешь сделать — то есть целую сеть зданий расположенных как-то относительно друг друга и не касающихся друг друга… отдельное-то здание и SketchUpом без проблем можно сделать, без всякой фотограмметрии.
Вы в любом случае получаете объект с точность до масштаба. Вы же не знаете — кубик на фотографии — он 1см размером или 1метр. Для точных размеров Вам надо знать еще хоть одну длину на фотографии.
В случае же если у Вас фокальное расстояние одно и то же — проблема уменьшается по-моему до 7 точек (Вы просто убрали одну неизвестную в уравнениях), в некоторых случаях до 6, но тогда результатом будет несколько «правильных» вариантов, из которых только один настоящий — но его нельзя узнать программно. Но все проблемы остаются теми же… плюс там такая безумная математика полиномов начинается для решения, что я ее даже за эти годы не осилил :)
Я вот тоже блин думал, что там такого сложного — взял две-три точки — да все вычислил. Теперь чего-то уже жалею, что влез в это :)) особенно читая очередную формулу на полстраницы с объяснениями на следующих 20 страницах, использующие значки, даже названия которых я не знаю и объяснения в духе «это у нас нормально, что прямые пересекаются, так и должно быть, вообще-то все линии тут сходятся в две комплексные точки, какими бы Вы ни рисовали их в этом четырехмерном пространстве» :))
Только вот даже прочитать эти 30 гигов в память с винчестера на современной скорости — 16 минут :) а это всего-то одна полянка. А скорости винчестеров экспоненциально не растут.
Да, но опять же повторюсь — сценка в джунглях (2млрд. точек) у них мааааалюсенькая по сравнению с тем, каких размеров один уровень в crysis… так что умножайте это возможно на 100 или на 1000. :)
1. хранить есть где (винчестер), нет возможности в реальном времени обратится к этому всему
2. верно, только тени как раз легко рисуются (объяснил в статье)
3. не в том дело — нет сотрудников, которые бы работали в облаках точек — не умеет этого почти никто, нанимать некого… а переучиваться, переделывать софт и т.п. — все это большие деньги и много времени — индустрии не надо. плюс это сильно увеличит количество работы, которую придется делать — игры будут еще дороже.
Для начала потому что чтобы было только достаточно данных — то нужно минимум 8 точек знать + фокальные расстояния обеих камер. Ну может и правда статью напишу — а то этот алгоритм как раз более-менее изученный, хоть и длинный, но информации по нему нифига не найдешь в рунете (сам мучился).
Там самые большие проблемы с тем, что часто: 1) не знаешь фокальные расстояния у фотографии… 2) не знаешь какая точка на одной фотке какой точке на другой соответствует, по крайней мере в автоматическом режиме… 3) если есть искажения объективов то число точек до 16 и больше может подняться… 4) не так уж просто, как кажется найти эти 8 точек… 5) ошибка в одной точке и провал всего алгоритма обеспечен :) есть методы борьбы, но и они не идеально спасают.
Не, там суть в том, что разбиение осуществляет GPU, честно говоря технология очень новая — что является входными данными — не знаю, там для нее карточка-то нужна уровня GTX 480(!). Варианта два — либо это карта смещения, либо отдельные контрольные точки (судя по статье про hardware tesselation), в этом случае это и есть как раз облако точек, наложенное на треугольник (или квад), которые просто изгибают его в пространстве. Но по сути треугольник (или квад) передается один и тот же карточке + уточняющие данные.
А так по сути tesselation это и есть — уточнение полигональной модели.
Сравнение вряд ли возможно. Дерево в Crysis имеет все равно полигоны + карты нормалей, там нет просто информации о точках. (Хотя исходно такие вещи моделируются в zBrush, где такая информация есть, но она не экспортируется).
Так что даже если бы у них была технология перевода полигональных моделей в их формат, для сравнения (а ее пока у них нет), то дерево бы выглядело точно так же, как в крайзисе high.
Да не, смысл UD в том-то и есть, что они именно Point Cloud загружают (о чем в видео неоднократно говорится), они даже уточняют, что можно взять полигоны и перевести их в их форма «три координаты + цвет»… Так что речь как раз совсем не о формулах.
Про анимацию, заметьте, они вообще молчат :) Неспроста…
А вообще ща и более впечатляющие уже видюшки есть:
www.youtube.com/watch?v=pcpVDGiNFZM
Даже заранее калибрированные камеры — это все равно минимум 8 точек пересечения надо. 6 на три кадра (но там я тоже математику не понимаю толком). Да и по сути на самом деле от камеры только фокальное расстояние так уж требуется — искажения можно тем же PTLens убрать легко. Но блин все равно 6-8 точек найти это не мало, особенно когда камера толком может заснять только часть плоского дома.
А если бы я мог придумать свой алгоритм для feature points — я бы не жаловался на патентованность SIFT :)
хотя конечно надо бы Вам подетальней объяснить что Вы имели в виду, даже я (автор статьи выше) некоторые моменты плохо понял.
В общем-то вот это видео по GigaVoxels частично подтверждает мои опасения насчет памяти:
www.youtube.com/watch?v=HScYuRhgEJw&NR=1
А там всего-то 2048 x 2048 x 2048…
Это делается лазерным сканированием + специальным (закрытым) софтом ссылку я уже давал www.youtube.com/watch?v=Y6fAszlImPM. Пока что доступа простым смертным к таким технологиям нет. А лазерные сканеры ой как дофига стоят.
А в фильмах, в основном, восстанавливается небольшая часть только города (отдельная сцена в камере). Это возможно и сейчас. И то восстанавливается на самом деле больше движение камеры, чтобы ее совместить с 3D, сама сцена для фильмов не восстанавливается (за исключением отдельных точек).
Проблема в том, что пространственные данные так особо не похранишь — луч взгляда может пройти по бесконечному количеству направлений. Каждое предположительное направление взгляда — размер индекса растет на изначальный размер объема данных.
Я не спорю, что что-то они придумали. Я спорю с тем, что объемы тут такие большие, что либо это что-то супергениальнейшее, что обходит миллионы подводных камней, в том числе и объемы данных, которые нужны для этого, либо все-таки какие-то хитрости при демонстрации тут. И второе с чем я спорю — что игровой индустрии эта технология не нужна, особенно при приближающемся tesselation.
У гугла время ответа на поиск КЛАСТЕРОМ машин с безумным объемом памяти и рейдовыми массивами с размером сектора в 64мегабайта (у Вас на домашнем компе — 512 байт) — вполне допустимое в пределах 100мс, 400мс и даже больше… Это 2-10 кадров в секунду! КЛАСТЕРОМ НАВОРОЧЕННЫХ МАШИН!!!
Ну, как я и говорил — есть возможность чтобы у точки была нормаль, редакторов вот пока нет для этого. А то, в чем они это сделали — еще изучать придется людям, и перестраивать весь рабочий процесс.
Проблема начинается когда целый город хочешь сделать — то есть целую сеть зданий расположенных как-то относительно друг друга и не касающихся друг друга… отдельное-то здание и SketchUpом без проблем можно сделать, без всякой фотограмметрии.
В случае же если у Вас фокальное расстояние одно и то же — проблема уменьшается по-моему до 7 точек (Вы просто убрали одну неизвестную в уравнениях), в некоторых случаях до 6, но тогда результатом будет несколько «правильных» вариантов, из которых только один настоящий — но его нельзя узнать программно. Но все проблемы остаются теми же… плюс там такая безумная математика полиномов начинается для решения, что я ее даже за эти годы не осилил :)
Я вот тоже блин думал, что там такого сложного — взял две-три точки — да все вычислил. Теперь чего-то уже жалею, что влез в это :)) особенно читая очередную формулу на полстраницы с объяснениями на следующих 20 страницах, использующие значки, даже названия которых я не знаю и объяснения в духе «это у нас нормально, что прямые пересекаются, так и должно быть, вообще-то все линии тут сходятся в две комплексные точки, какими бы Вы ни рисовали их в этом четырехмерном пространстве» :))
Только вот даже прочитать эти 30 гигов в память с винчестера на современной скорости — 16 минут :) а это всего-то одна полянка. А скорости винчестеров экспоненциально не растут.
1. хранить есть где (винчестер), нет возможности в реальном времени обратится к этому всему
2. верно, только тени как раз легко рисуются (объяснил в статье)
3. не в том дело — нет сотрудников, которые бы работали в облаках точек — не умеет этого почти никто, нанимать некого… а переучиваться, переделывать софт и т.п. — все это большие деньги и много времени — индустрии не надо. плюс это сильно увеличит количество работы, которую придется делать — игры будут еще дороже.
Там самые большие проблемы с тем, что часто: 1) не знаешь фокальные расстояния у фотографии… 2) не знаешь какая точка на одной фотке какой точке на другой соответствует, по крайней мере в автоматическом режиме… 3) если есть искажения объективов то число точек до 16 и больше может подняться… 4) не так уж просто, как кажется найти эти 8 точек… 5) ошибка в одной точке и провал всего алгоритма обеспечен :) есть методы борьбы, но и они не идеально спасают.
А так по сути tesselation это и есть — уточнение полигональной модели.
Так что даже если бы у них была технология перевода полигональных моделей в их формат, для сравнения (а ее пока у них нет), то дерево бы выглядело точно так же, как в крайзисе high.
Тут все их видео на данный момент:
unlimiteddetailtechnology.com/videos.html
Про анимацию, заметьте, они вообще молчат :) Неспроста…