Авторы: А. Васильев
Во‑первых, опишем требования к выполнению фотосъемки объекта (см. рис. 1). Перекрытие между парой кадров фотографируемой области пространства должно быть не хуже 50 % (иначе модель получится с разрывами). Более того, такая съемка должна гарантировать, что три смежных снимка будут с перекрытием (например, на рисунке 1 смежными снимками можно считать 1, 2, 3 или 4, 5, 6). Таким образом, полученная 3D‑модель будет определяться только лишь одним масштабным параметром.
Теперь, допустим, имеется набор снимков (см. рис. 2). Далее, выполняя обработку снимков (а именно, поиск одинаковых точек объекта на снимках и решение системы нелинейных уравнений, составленной на основе найденных соответствий), определяем параметры камеры (фокусное расстояние и т. п.) и положение/ориентацию камеры в моменты фотографирования каждого из снимков относительно одного из них (базового, например, первого, см. рис. 3).
Для ориентированных снимков выполняется поиск всех одинаковых точек на смежных парах изображений (так называемые плотные карты или карты глубины), после чего вычисляется положение точек в пространстве (см. рис. 4) в системе координат базового снимка (на основе рассчитанных параметров камеры: фокусное расстояние, положение/ориентация и т. п.).
Как правило, множество точек представляются в виде триангуляционных каркасов (см. рис. 6, построение каркаса осуществляется на основе триангуляции Делоне), удобных для последующего текстурирования (см. рис. 5, например средствами OpenGL) либо трансформирования снимков.
Описанная технология применяется в большинстве современных коммерческих программных продуктах для построения моделей местности по данным аэрофотосъемки, мобильного картографирования и т. п. При этом все программное обеспечение типа 123D с полностью автоматической обработкой – совершенно бесплатно, но не гарантирует никакой результат вообще (соответственно и точности там нет), а там где требуется результат нужно платить, и там специально создан функционал для контроля каждого из этапов обработки.
Источник: habrahabr.ru