Фотограмметрия или восстановление 3D контуров зданий по фотографиям

Задача: восстановление контуров зданий по набору фотографий.
Ключевые слова: Bundler, Microsoft Photosynth

Экспериментаторы и только экспериментаторы призываются в OSM-вики: http://wiki.openstreetmap.org/wiki/Photogrammetry (только на английском)

Наконец-то внятный манул по установке бундлера. :3

Всего из 12 фоток получилась такая вот милая картинка (красные точки внизу - положения камеры):

Hind, у Котяры на серваке Бундлер уже больше 2-х месяцев как установлен был

Я знаю, но с его каналом заливать сотни мегабайт фотографий для экспериментов как-то не хочется. :3

О! А я только намедни думал на тему того, что фотоаппарат можно было бы использовать как цифровой угломер (благо поле зрения в градусах он вроде записывает в EXIF), и сделав неколько фото с разных ракурсов восстановить контур здания/местоположение объектов и т.д. Надо будет пощупать энтот Бундлер, хотя, по правде меня бы больше устроила программка, позволяющая вручную на каждой фотке выделить одни и те же точки, затем расставить фотки на карте (если они уже привзяны к GPS, этот шаг можно опустить) после чего она б сама рассчитала координаты отмеченных на фотографиях точек.

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

Жаль, название забыл, да и платная она.

UPD. Название забыл, зато нашел Canoma. Хотя она совсем простая, но должно хватить.
Есть еще прототип Videotrace, но это пока мечта.

сделал всё, как велит матчасть, взял пример с Kermit, поработав, программа вываливается с “unknown software exception (0xc000000d) в приложении по адресу 0x78138aa0”.
Вот что пишет: http://coolkaas.narod.ru/osm/errs.txt
Как исправить, кто виноват?

Вот кстати укомплектованный Bundler под Windows, кому лень качать все архивы. (папка bin).
http://coolkaas.narod.ru/osm/bundler_win.rar

ps. Ничто кстати не мешает снять ролик, нарезать VirtualDub’ом на кадры и скормить тому же Бандлу.

В общем я тоже прорабатывал этот вопрос, только делать собирался гораздо проще технически — наложением сетки на фотографию — сетка тоже фотографируется: нарисованная на огромном листе бумаги или какая-нибудь большая ровная кирпичная стена, и визуальным определением углов по ней. :slight_smile:
После чего использовать временную привязку для определения точки съёмки по GPS и азимута по известным объектам, например, дорогам.

coolkaas:
виноват я
ошибку исправлю до конца недели. А ET пример у тебя проходит?

vvoovv: нет, вываливается на том же месте. :frowning:
Спасибо! буду ждать.

А чем обосновано ограничение на путь без пробелов? Если в винде нужно передать аргументом строку с пробелами (например, полный путь к файлу), то достаточно заключить строку в кавычки.

Например, вместо

нужно писать

coolkaas:
твою ошибку воспроизвел, исправить ее можно так: Панель управления->Язык и региональные стандарты->кнопка “Настройка…” на закладке “Региональные параметры”->Разделитель целой и дробной части->должен быть точкой
Делать корректную обработку этого случая в текущей версии наверно не будем. Корректно обработаем в следующей версии.

Hind:
Пробелы не пройдут. План на ближайшую пару недель - переписать все скрипты на питоне, чтобы в дальнейшем вся разработка была полностью кросс-платформенной. Там пробелы не будут помехой

Получилось. Я правильно понимаю, что нужно открывать ply-файл в программе SketchUp? Там так мало точек… (использовал наибольший файл). С этим “кермитом”… ну ни на что не похоже)) или я не привык еще просто…?

coolkaas:
еще вариант: найти другие программы (они точно есть), которые могут открывать ply-файлы. Но точек от этого не прибавится. Рекомендую поэкспериментировать с настоящими зданиями.

В планах создание собственного просмотрщика на основе flash-технологий

Такую?
http://meshlab.sourceforge.net/

А как получать картинку, как у Hind’а во втором сообщении? Это через СкетчАп? Как-то я им не овладел с непривычки… (и в мануале написано про 7 версию, а на гугеле раздают 6 – почему?).
И нет ли в планах авторов топика автоматом лепить такую плоскую картинку?

Автоматом не всегда можно, так как в ply-файле не всегда плоскость земли перпендикулярна какой-либо оси.

А я-то… Я в максе визуализировал. :3

Blender ply-файлы открывает нормально.
Только я не понял, почему их несколько создается. Пробовал пример kermit, загрузил все .ply-файлы, ничего осмысленного не увидел. Нафоткаю сам чего-нибудь – попробую еще.

Пробовал еще как-то фотки привязывать с помощью warper.geothings.net и qgis. Ничего толком не получилось, вот бы программу, где наоборот при привязке проекция редактируемого векторного слоя меняется относительно фотки (с учетом перспективы и искажения линз).

В доках написано, что открывать надо последний ply-файл - он включает в себя все точки.

Я заметил, что на этапах “Finding keypoints…” уже можно судить о результирующем количестве точек. Если там будет 1000-3000, то ничего хорошего не выйдет, а вот когда у меня получилось по 16000-19000, результат вышел отличный.