Программы для просмотра здесь уже упомянули: Meshlab and Blender
Google Sketchup 7 еще не руссифицирован, насколько я понимаю. Надо сменить язык на английский, тогда будет доступен для загрузки Google Sketchup 7. Я написал простейший плагин в несколько строк для открытия ply-файлов от Bundler
В планах, как я уже упоминал, создание просмотрщика на основе flash-технологий, который со временем может предоставить те же возможности, что и Microsoft Photosynth
Прошу обратить внимание, как результаты работы Bundler можно использовать прямо сейчас. Об этом пишет Andrew Ainsworth в статье http://wiki.openstreetmap.org/wiki/Photogrammetry в конце раздела про Линукс
В программе Blender: File>Import>Stanford PLY и выберите ваш файл. Дальше вращаем облако точек, чтобы смотреть на здание сверху. Нужно обедиться, открыв в меню view что проекция ортографическая, а не перспективная. Делаем скриншот.
Дальше открываем JOSM с установленным плагином PicLayer, делаем привязку скриншота и трассировку контуров здания.
Это-то как раз понятно)) а за остальное большое спасибо.
ВОТ! Это важно. Хотя бы для прикидок. А то пробовал сотовым макетики поснимать, фигня получается – 100-200 точек на фотку – мало это или много, не понятно (было. Теперь понятно). Фотиком макет попробовал – 2000 точек на фотку, уже лучше картинка вышла, хотя бы что-то напоминает.
А оказывается надо вообще 15000 !! будем пробовать на натуре при случае.
Вот жеж не графическая станция у меня)) на гиге озу при обработке каждой фотки по полтора гига свопа выкушивает)) (фотки-то всего 2 МП делал…)
И у меня такое еще ощущение, что Бандлер заточен под плоскостную архитектуру и соответствующие масштабы.
В общем, будем копать дальше…))
Фотографии с большим количеством точек получились у меня при одинаковых выдержке, диафрагме и прочих параметрах на разрешении 8 мегапикселей, сделанных днем с хорошей резкостью.
Разрешение 8 мегапикселей не дает никакого выигрыша. Только время на обработку значительно увеличивается. Более того, версия под Windows не переварит такие большие фотки.
2 мегапикселя - верхний предел для Бундлера.
1 мегапиксель - вполне оптимальный вариант.
Разрешение в 8 мегапикселей позволяет проводить уменьшающую интерполяцию вручную, а не средствами фотоаппарата. Так оно надежней будет, а сорцы с камеры я предпочитаю брать без потери качества.
А я помню autopano-sift-c из комплекта hugin очень даже неплохо искал точки на фотографиях по 10 мегапикселей.
Более того, фотки на 5 мегапикселей я обрабатывал с помощью него на компьютере с 256 Мб памяти. Тормозило, но минут за 10 штук 10 фоток вполне обрабатывало.
Правда, не уверен во-первых в том, какие пары фотографий обрабатывались (каждая с каждой или только последовательно, в bundler явно каждая с каждой), во-вторых может быть проблема в том что sift нормально работает на больших фотографиях, а bundler уже будет тормозить из-за полученных точек, например если их слишком много.
я думаю, интереснее будет строить не облако точек, а линии (ребра). Дома имеют в основном форму призм. Хотя, наверное, придется расставлять опорные линии вручную.
А как искать ребра?
Так как sift умеет только находить одинаковые точки (соответствующие одной точке в пространстве) на разных фотографиях, а bundler на основе серий двухмерных точек на фотографии, вычисляя положение фотоаппарата в пространстве, строит трехмерные, в итоге имеем только облако точек.
Можно в принципе соединять ребрами, скажем, самые ближайшие точки, затем менее близкие, но не имеющие ребер или что-то в этом духе, но для обрисовки зданий на карте это вряд ли как-то поможет (но может помочь в создании 3d-моделей).
Только сегодня думал про рёбра – тяготеют же облака точек в конце концов к линиям! И наверняка это можно автоматизировать, хоть немного.
И еще. Если бандлер даёт расчётные точки камеры, то всё это трёхмерное недоразумение можно было бы (тоже ватоматически) сажать на “попу” – на плоскость камер, если съёмка велась с уровня пола, то все камеры будут в плоскости пола (по идее). Смотреть надо будет. Не забыть.
У меня пока как-то грустно получается. Картинок мало (не было возможности) и выходит недоразумение.
Но с трёх-мегапиксельных снимков сотового (посчитал, что 5 МП это лишнее) – у меня находитель точек и 10000 видел и 20000 контрольных точек. Дело видимо не в размере)) а в количестве деталей. В первом проходе, я так понимаю, пограмма просто находит некие точки на КАЖДОМ снимке, не глядя на остальные. И только потом уже их как-то “женит”.
Еще бы выработать лучше подходы к фотанью – какую базу делать между снимками (аналог стерео). Нельзя ли к примеру проехать на машине, отснять улицу несколько км, а программа потом найдёт очертания начатков всех краёв домов по улице (и насколько камера между домами “заглянет”). Или так не получится? А лучше “топтаться” на одном месте, но во все стороны? Какова оптимальная протяжённость сцены?
Она еще же умеет вроде определять по своей посчитанной “базе” – откуда новая фотка – из этой сцены или нет? Так?
А может и стоит “копить” фотки одних и тех же мест, потихоньку отфотывая всё новые фотки с “еще более других” ракурсов? И точность сцены будет всё более расти со временем? И хранить как-то создаваемую программой папку bundle, а новыми фотками как-то “пополнять” эту “базу местности” программы, не пересчитывая ВСЕ фотки заново. а только новые…?
То есть я не хочу даже ответы на эти вопросы – так, что в голову приходило, написал. Что возможно, что нет. Что бы все подумали об смежных вещах.
Построение полигональной модели по точкам задачка не тривиальная. Я одну из курсовых на эту тему делал, лучше, чем в MeshLab не получилось. Сейчас ей занимается одногруппник, если у него чо-то хорошее получится, скажу.
Сдаётся мне, после некоего размышления – Бандлер не наш продукт. Тут такие танцы, десятки фоток, а на выходе скромные непонятные точки в куцем количестве. А посмотрите на обычное стерео, я лично много делаю стерео-фот в анаглифе – та всего пара кадров, а видно и все рёбра, и все подробности на дальше-ближе. А бандлеру надо целую пачку, что бы выжать жалкие точки. Верю, он гораздо больше про сцену знает, но опускает эти данные, потому что его задача – найти соответствия между кадрами, как это видно из всех его рекламных роликов, и всякие там точки камеры. А требуется всего лишь искать совпадающие рёбра. И бандлер опускает эти данные, потому что он не для этого.
Нужен отдельный софт. Возможно софт будет powered by какие-то существующие продукты, например sift для нахождения ключевых точек. Или мы не умеем его готовить, но пока слишком много беганий с бубном вокруг, и возможно неоправданных.
Можно попробовать загрузить фотки в Microsoft Photosynth. Если он с фотками что-то путное сообразил, то, возможно, и Бундлер за ним последует. Алгоритмическая основа у них одна и та же.