Технология построения 3D-моделей объектов по набору изображений

    Введение


    На сегодняшний день существует целый набор программных продуктов для построения 3D-моделей объектов и сцен по наборам изображений (например, 123D Autodesk или Photomodeller). Описание работы с такими программами было показано в статье http://habrahabr.ru/post/134781/ и http://habrahabr.ru/post/64080/. В этой статье я хочу описать общую методику к решению данного вопроса, с возможностями каждого из этапов. Статья в первую очередь направлена для тех, кто «далек» от этой тематики, но хотел бы понять, а как оно там работает и что вообще можно получить.


    Описание общей схемы


    Во-первых, опишем требования к выполнению фотосъемки объекта (см. рис. 1). Перекрытие между парой кадров фотографируемой области пространства должно быть не хуже 50% (иначе модель получится с разрывами). Более того, такая съемка должна гарантировать, что три смежных снимка будут с перекрытием (например, на рисунке 1 смежными снимками можно считать 1,2,3 или 4,5,6). Таким образом, полученная 3D-модель будет определяться только лишь одним масштабным параметром.


    Рисунок 1. Схема фотосъемки объекта


    Рисунок 2. Пример снимков для построения 3D-модели

    Теперь, допустим, имеется набор снимков (см. рис. 2). Далее, выполняя обработку снимков (а именно, поиск одинаковых точек объекта на снимках и решение системы нелинейных уравнений, составленной на основе найденных соответствий), определяем параметры камеры (фокусное расстояние и т.п.) и положение/ориентацию камеры в моменты фотографирования каждого из снимков относительно одного из них (базового, например, первого, см. рис. 3).


    Рисунок 3. Ориентированные снимки

    Для ориентированных снимков выполняется поиск всех одинаковых точек на смежных парах изображений (так называемые плотные карты или карты глубины), после чего вычисляется положение точек в пространстве (см. рис. 4) в системе координат базового снимка (на основе рассчитанных параметров камеры: фокусное расстояние, положение/ориентация и т.п.).


    Рисунок 4. 3D-модель объекта


    Рисунок 5. Текстурированная 3D-модель объекта

    Как правило, множество точек представляются в виде триангуляционных каркасов (см. рис.6, построение каркаса осуществляется на основе триангуляции Делоне), удобных для последующего текстурирования (см. рис.5, например средствами OpenGL) либо трансформирования снимков.

    image
    Рисунок 6. Триангуляционная модель объекта (источник, habrahabr.ru/post/134781)

    Детали каждого из этапов, а также используемые алгоритмы можно найти в этой работе

    Заключение


    Описанная технология применяется в большинстве современных коммерческих программных продуктах для построения моделей местности по данным аэрофотосъемки, мобильного картографирования и т.п. При этом все программное обеспечение типа 123D с полностью автоматической обработкой – совершенно бесплатно, но не гарантирует никакой результат вообще (соответственно и точности там нет), а там где требуется результат нужно платить, и там специально создан функционал для контроля каждого из этапов обработки.

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 9

      0
      Есть ли какие-либо готовые доступные общественности простые алгоритмы построения 3D-карт по набору снимков?
        +1
        Вообще каждый из этапов включает целый набор алгоритмов, причем специфика задачи будет определять ограничения. Если задаться целью, то в интернете можно все собрать по кусочкам. А так, для начала, непосредственно, для карт глубины я бы рекомендовал OpenCV.
          +1
          А не логичнее базовые алгоритмы поместить сюда или разбить на несколько?
          А то статья получилась какой-то поверхностной.
            +1
            1) логичность вообще придумана людьми для людей)
            2) статья из песочницы и писать много не хотелось)
            3) для большинства людей (т.е. манагеров) скорее важно понять суть — как оно работает)
            4) алгоритмы хорошо описаны в этой книги — Szeliski R. Computer Vision. Algorithms and Applications (Springer, 2010): сопоставление изображений на основе признаковых методов(например, SIFT), определение параметров камеры и ориентации/положения на основе задачи минимизации ошибки перепроецирования, эпиполярные преобразования и трансформирование снимков для построение карты глубины по стереопаре (например, на основе метода динамического программирования), согласование результатов различных стереопар (чтобы получить облако точек) и для множества точек триангуляция на основе Делоне
              0
              добавил ссылку, где можно почитать про алгоритмы
          0
          Интересна эта тема. Есть ли у вас более подробная информация?
          Подскажите что почитать, куда копать?
            +1
            да, имеется информация и опыт создания подобных систем. Классическая книга — Hartley R., Zisserman A. Multiple View Geometry in Computer Vision (2ed, OUP, 2003). Можете посмотреть лекции по компьютерному зрению на сайте http://courses.graphicon.ru/ Если интересует работа в данном направлении можете в личку написать.
            0
            «а там где требуется результат нужно платить, и там специально создан функционал для контроля каждого из этапов обработки. »

            Конкретные примеры софта пожалуйста.
              0
              Пожалуйста! Фотограмметрический пакет — Photomod, для обработки данных аэрофотосъемки, где, как мне кажется, весьма самые идеальные условия (есть навигация, стабильная траектория полета и т.п.).

            Only users with full accounts can post comments. Log in, please.