СПОСОБ И СИСТЕМА АВТОМАТИЧЕСКОГО ПОСТРОЕНИЯ ТРЕХМЕРНЫХ МОДЕЛЕЙ ГОРОДОВ
METHOD AND SYSTEM OF AUTOMATIC CONSTRUCTING THREE-DIMENSIONAL MODELS OF CITIES

ОБЛАСТЬ ТЕХНИКИ
Заявленное решение относится к области способов обработки информации, в частности к способу и системе для построения трехмерных моделей городов на основании информации лазерного сканирования и фотографических изображений.
УРОВЕНЬ ТЕХНИКИ
На сегодняшний день известны различные решения, направленные на распознавание различных объектов по фотографической информации, а также данным, полученным в ходе лазерного сканирования.
Известна технология распознавания и построения трехмерных моделей фасадов зданий на основе информации, получаемой из облаков точек лазерного сканирования с последующей обработкой промежуточной модели и наложением на трехмерный каркас фотографического изображения (3D All The Way: Semantic Segmentation of Urban Scenes From Start to End in 3D // Andelo Martinovic et al.). Данный способ используется также для семантического разделения трехмерных городских моделей, для определения схожих объектов на основе обучаемого алгоритма, позволяющего распознавать и отмечать схожие объекты, в частности фасады зданий.
Известный способ ограничен типом распознаваемых объектов, а также не обладает достаточной точностью определения, при этом с помощью известного способа невозможно построить 3D модель города на основании отдельно выявленных городских объектов.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Технической проблемой, решаемой с помощью заявленного решения, является создание нового способа построения модели города, обладающего повышенной точностью распознавания объектов.
Техническим результатом является повышение точности построения трехмерной модели города за счет обеспечения построения модели города на основании отдельно распознанных городских объектов, полученных из предварительно очищенных данных лазерного сканирования.
Заявленный результат достигается за счет реализации способа автоматического построения трехмерных моделей городов, содержащего этапы, на которых:
- получают набор первичных данных, содержащих городские объекты, причем данные представляют собой, по меньшей мере, данные облака точек, полученные в ходе лазерного сканирования, и геопривязанных фотографических данных;
- выполняют сведение обособленных облаков точек лазерного сканирования из набора первичных данных в единое облако точек;
- определяют точки в упомянутом едином облаке точек, которые характеризуют горизонтальную поверхность земли, на которой расположены городские объекты;
- определяют кластеры, характеризующие обособленные группы точек, связанные между собой;
- осуществляют очистку упомянутого единого облака точек, в ходе которой удаляют точки облака лазерного сканирования, характеризующие нестационарные объекты, объекты, охарактеризованные одной или несколькими точками, которые не связаны с точками единого облака, характеризующим горизонтальную поверхность земли, на которой расположены городские объекты, или кластерами, и протяженные группы точек малой плотности;
- осуществляется построение нормалей к каждой из точек очищенного единого облака точек;
- осуществляется построение плоскостей для совокупностей точек облака точек;
- осуществляется построение рельефа местности по построенным упомянутым нормалям и упомянутым плоскостям;
- выполняют последовательное распознавание статичных городских объектов на основании данных, полученных из очищенного единого облака данных лазерного сканирования и фотографических данных;
- для каждого обнаруженного городского объекта определяют, по меньшей мере, географические координаты и линейные размеры;
- осуществляют построение трехмерной модели каждого из обнаруженных упомянутых городских объектов;
- выполняют объединение упомянутых трехмерных моделей в единую трехмерную модель города.
В частном варианте реализации способа данные лазерного сканирования являются данными, полученными в ходе наземной съемки, воздушной съемки или их сочетания.
В другом частном варианте реализации способа первичные данные дополнительно содержат семантические данные и/или панорамные фотоизображения.
В другом частном варианте реализации способа первичные геопривязанные фотографические данные получают с помощью наземной, и/или воздушной, и/или космической фотосъемки.
В другом частном варианте реализации способа семантические данные содержат метаданные городских объектов.
В другом частном варианте реализации способа на этапе построения нормалей точек облака для каждой точки облака определяются ближайшие соседствующие точки.
В другом частном варианте реализации способа для каждой точки, для которой определены соседствующие точки, строятся плоскости методом оценки параметров модели на основе случайных выборок RANSAC (Random sample consensus).
В другом частном варианте реализации способа для точек, характеризующих горизонтальную поверхность земли, на которой расположены городские объекты, определяют уровень их расположения.
В другом частном варианте реализации способа на этапе определения кластеров вначале формируют кластеры, характеризующие группы связанных точек, лежащих в заданном пределе выше уровня точек, характеризующих горизонтальную поверхность земли, на которой расположены городские объекты.
В другом частном варианте реализации способа к сформированным кластерам добавляются связные точки, лежащие ниже и выше упомянутого предела.
В другом частном варианте реализации способа при объединении облаков точек выполняется сравнение наличия кластеров, которые присущи только одному облаку точек.
В другом частном варианте реализации способа выявленные кластеры, которые присущи только одному облаку точек, удаляются из единого облака точек на этапе очистки.
Заявленное решение реализуется также за счет системы автоматического построения трехмерных моделей городов, содержащей по меньшей мере один процессор и по меньшей мере одну память, содержащую машиночитаемые инструкции, которые при их выполнении по меньшей мере одним процессором выполняют вышеописанный способ автоматического построения трехмерных моделей городов.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 иллюстрирует основные этапы, выполняемые при реализации заявленного способа.
Фиг. 2 иллюстрирует этапы выполнения процесса очистки облака точек.
Фиг. 3 иллюстрирует этапы последовательного распознавания городских объектов.
Фиг. 4 иллюстрирует облако точек, полученное в ходе лазерного сканирования.
Фиг. 5 иллюстрирует пример построения нормалей к точкам облака.
Фиг. 6 иллюстрирует определение кластеров точек.
Фиг. 7, 8 иллюстрируют пример определения точек, характеризующих поверхность расположения городских объектов.
Фиг. 9 иллюстрирует пример заявленной системы.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Заявленная система автоматического построение моделей городов(СиПМГ), а также реализующий ее способ представляют собой программно-аппаратную платформу, позволяющую на основании данных, полученных из различных источников, например наземного и/или воздушного лазерного сканирования, фотопанорамирования, данных дистанционного зондирования Земли (ДЗЗ), полностью в автоматическом режиме строить трехмерные модели городов за достаточно короткое время. Полученные модели могу быть экспортированы в различные ГИС и CAD-системы для дальнейшего их отображения и изменения.
Под трехмерной моделью города понимается совокупность городских объектов (зданий, сооружений, ограждений, столбов и т.д.), рельефа, других сущностей, математически описанных в общепринятых 3D-форматах (3DS, OBJ и т.п.). Такое описание для каждого объекта может содержать геометрию (наборы вершин, связей, нормалей и пр.) и материалы (текстуры).
Согласно Фиг. 1 при реализации заявленного способа (100) построения модели городов на этапе (101) получаются первичные (исходные) данные для последующей обработки. В качестве исходных данных для построения моделей СиПМГ используются облака точек (в общепринятых форматах, las), геопривязанные фотоизображения, семантическая информация. В качестве фотоматериалов могут применяться данные наземной фотосъемки, съемки с беспилотных и пилотируемых воздушных летательных аппаратов, спутников. Семантические данные могут включать в себя контуры домов, этажность, имеющиеся координаты объектов и пр.
На этапе (102) выполняется совмещение данных из различных источников (лазерное сканирование, фотоизображение и т.п.). В частности, данная процедура направлена на формирование единого облака точек из обособленных облаков, полученных в ходе лазерного сканирования.
При проведении съемки и лазерного сканирования, как наземного, так и воздушного, на съемочной аппаратуре используются профессиональные GPS/GLONASS приемники, работающие вместе с сетью базовых станций, а также инерциальные блоки. Однако в условиях города ошибка позиционирования все равно может составлять более 1 метра. Это приводит к появлению в облаках точек значимого эха от разных проездов - один и тот же объект представляется несколькими схожими множествами отражений. Для уточнения трека используются методы сведения по характерным областям пространства, полученным из облаков точек или фотографий. Самая важная задача сведения данных из различных источников - вычисление таких областей.
Такими областями могут быть, например, компактные распознанные объекты, такие как столбы. Поскольку ошибка позиционирования редко составляет более 3-х метров, а расстояние между реальными столбами почти всегда больше этого порога, идентификацию удается провести. Так как в каждый момент времени известно с каким азимутом и на каком расстоянии от машины было получено отражение от столба, то пользуясь несколькими опорными точками, можно скорректировать трек машины так, чтобы выбранные опорные объекты, а следовательно, и вся сцена имели наименьшие сдвиги от разных проездов.
Другую потенциальную возможность для сведения предоставляют фотографии. В автоматическом режиме на фото с разных проездов ведется поиск характерных изображений. Далее поскольку фотография является геопривязанной, удается скорректировать трек по некоторым таким изображениям аналогичными алгоритмами.
В дополнении к первоначальным данным, для анализа территорий с воздуха, могут использоваться совмещенные геопривязанные мозаики аэро- или космоснимков в форматах jpg/tiff с указанием координат отдельных тайлов, также возможно использование снимков в формате GeoTIFF. Пространственные данные (геоданные) для распознавания представлены векторными слоями в формате Shapefile, содержащими координаты (система координат WGS84 проекция Web Mercator): границ зданий, дорог, и пр. объектов. Также может быть использована различная семантическая связанная информация – метаданные, которыми может выступать этажность, поэтажные планы зданий и т.п.
На этапе (103) выполняется определение точек единого облака точек (Фиг. 4, поз. (200)), характеризующих поверхность расположения городских объектов или так называемую“землю”. Для повышения точности определения городских объектов перед запуском алгоритмов их распознавания необходимо предварительно разделить все точки единого облака точек на "землю" и кластеры - группы точек, связанных между собой, но не связанных с точками других кластеров иначе как посредством "земли".
Точки, характеризующие “землю”, описывают горизонтальную поверхность в облаке точек лазерного сканирования, на которой стоят городские объекты, в частности, ими могут быть дорожное полотно, тротуары, газоны и пр. Уровень земли (Фиг. 7, 8) может различаться, его значение рассчитывается как минимальная высота измерений в данной координате, усредненная и обработанная срединным фильтром, для избавления от мелких ям и неровностей. Для этого вся горизонтальная плоскость (которая задается координатами XY) облака точек разбивается на мелкую сетку - порядка 10х10 см. Для каждой такой ячейки делается попытка определить уровень “земли”. Среди точек, которые попадают в объемную ячейку 10х10 и используются для определения минимума, примерно 2% самых нижних точек отбрасывается, чтобы исключить влияние паразитных помех, например точек, которые отразились в луже и таким образом получили высоту -2 метра относительно истинного уровня поверхности расположения городских объектов (“земли”). Минимальная высота оставшихся точек принимается за уровень “земли” в данной ячейке. Далее уровень каждой ячейки выравнивается медианным фильтром относительно уровня соседних ячеек в квадрате 70х70 (т.е. по три в каждую сторону). Уровнем земли данной ячейки принимается медиана среди уровней соседствующих ячеек.
На этапе (104) выполняется формирование кластеров. Изначальные кластеры формируются на заданной высоте, например, 0.5-1.5 метра или другой заданный предел (0.3-1.3, 0.4-1.4 и т.п.), который характеризует группы связанных точек единого облака точек. Точки выше и ниже добавляются к первоначально построенным кластерам позднее. Такое ограничение позволяет избавиться от связанности по траве и прочим низким объектам, а также по проводам или ветвям деревьев. Считается, что две точки принадлежат одному и тому же кластеру, если расстояние между ними меньше 20 см. После определения изначальных кластеров к ним по тому же принципу прибавляются точки лежащие выше 1.5 и ниже 0.5 метра над землей. При этом точки, не принадлежащие ни одному из уже построенных кластеров, образуют новые кластеры. На Фиг. 6 показан пример построения кластеров (202) для объектов из единого облака точек (200), представленного на Фиг. 4.
Далее на этапе (105) выполняется очистка полученного единого облака точек. Согласно Фиг. 2 вначале осуществляется определение нестационарных (движущихся) объектов (этап 1051), например автомобилей, пешеходов, животных и т.п. Для ускорения процессов обработки облаков точек и снижения вероятности ошибок происходит удаление соответствующих точек, характеризующих данные объекты. Для этого после сведения путем сравнения облаков от разных проездов выбираются кластеры, которые видны только на одном из них. Такие кластеры признаются перемещаемыми и из облаков удаляются.
Удаляются также просто отдельные точки или множества из нескольких точек, никак не связанные с точками, характеризующими поверхность расположения городских объектов, или другими кластерами (этап 1052). Применяются и другие методы чистки, например по геометрическим признакам. Так на этапе (1053) удаляются длительные последовательности единичных точек над проезжей частью, принадлежащие проводам. Это связные множества точек толщиной в 1-2 точки и протяженностью в единицы или десятки метров.
После этого на этапе (106) на основании данных, полученных в ходе чистки единого облака точек, выполняется последовательное распознавание городских объектов. Входящими данными для этого являются полученное ранее очищенное единое облако точек лазерного сканирования и иные подготовленные данные, например панорамы, семантические данные, тайлы воздушного и космического фотографирования. На выходе получаются геопривязанные модели отдельных объектов с геометрией и текстурами, контуры дорог и другие отдельные сущности.
Согласно Фиг. 3 для выполнения распознавания городских объектов на этапе (106) выполняется ряд подэтапов. На первом подэтапе (1061) выполняется построение нормалей к точкам полученного единого облака точек. Согласно Фиг. 5 к каждой из точек облака (200) выполняется построение нормалей (201), объединение точек в плоскости (1062) и построение рельефа (1063) на базе воздушной съемки. Для определения нормалей (201) и плоскостей (этап 1062) точки лазера группируются по расположению и времени съемки. Далее, для каждой точки облака (200) берутся ближайшие соседствующие точки и строятся плоскости методом RANSAC. Вектор нормали плоскости, которая проходит через наибольшее количество соседствующих точек, считается нормалью к данной точке.
Для построения плоскостей (этап 1062) точки облака (200) разбиваются по планарной сетке. В каждой ячейке этой сетки для каждой точки и соответствующей ей нормали ищутся соседствующие точки, принадлежащие плоскости, описываемой этой парой. Точка облака точек с максимальным количеством соседствующих точек по плоскости принимается основой для плоскости, причем все упомянутые соседствующие точки изымаются из дальнейшей обработки, после чего процесс повторяется. Под «соседями по плоскости» понимаются точки облака, которые лежат в плоскости, содержащей текущую точку 130, и перпендикулярные ее нормали. После того как все плоскости найдены, идет попытка объединить эти плоскости с плоскостями из соседних ячеек. Плоскости объединяются, только если расстояние L между ними не больше заданной величины, например 20-30 сантиметров. Данный принцип позволяет разделить между собой дома, стоящие на одной линии.
На подэтапе (1063) осуществляется построение рельефа местности с помощью фотограмметричеких алгоритмов на базе снимков, полученных в ходе аэросъемки. Дополнительно на упомянутом подэтапе (1063) может выполняться построение рельефов отдельных объектов, например части здания (крыша, фасад и т.п.).
Далее определяются городские объекты (подэтап 1064). Объекты разных типов ищутся в обработанных исходных данных последовательно, при этом те множества точек в облаках или участки изображений, которые были соотнесены с каким-либо объектом, помечаются и в дальнейшей обработке не участвуют. При реализации способа автоматически выполняются скрипты обнаружения объектов в такой последовательности: здания и сооружения, ограждения, столбы, билборды, знаки и светофоры, автобусные остановки, иные объекты. Последовательность может меняться вручную или автоматически для достижения наилучших результатов распознавания. Также могут удаляться или обособляться отдельные части процесса, например, можно настроить скрипт на пропуск конкретного типа объектов (столбы, билборды, ограды и т.п.).
Каждый скрипт распознавания имеет настройки по умолчанию, в соответствии с которыми платформа осуществляет автоматическое распознавание. Существует так же возможность создания шаблона настроек для каждого алгоритма поиска, которые могут потом использоваться по умолчанию.
Для распознавания здания на основании картографических и семантических данных определяется контур здания и, возможно, его ориентировочная высота. Из очищенного единого облака точек выделяется массив, принадлежащий искомому объекту, а из воздушной съемки – необходимые текстуры. Для устранения расхождений в позиционировании объекта на картах, в облаке точек и панорамах применяется интеллектуальная система совмещения, которая позволяет «притягивать» необходимые участки данных даже при сдвиге в несколько метров.
Выделенная информация проверяется на ряд ключевых признаков, идентифицирующих объект как здание. Такими признаками выступают наличие протяженных вертикальных плоских поверхностей по границам объекта, наличие оконных впадин в облаках точек, высота объекта над окружающим рельефом, наличие характерной крыши на съемке с воздуха и некоторых других.
Ограждение определяется как протяженная плоскость, примыкающая к земле, высотой не более заданного ограничения. В качестве данных, препятствующих ошибочному детектированию сторонних объектов как ограждений, может использоваться ряд дополнительных признаков: отсутствие в области пространства контуров домов, а также других примыкающих объектов, отсутствие дополнительного рельефа на плоскости, равномерный средний цвет текстуры и т.п.
В общем случае алгоритм определения столбов состоит из трех этапов.
1. Выделение цилиндрических вертикально ориентированных объектов.
2. Обучение алгоритма адаптивного бустинга.
3. Классификация найденных объектов с помощью построенного алгоритма.
На первом этапе точки разбиваются по сетке квадратных метров. Для точек каждого квадрата и его соседей несколько раз случайным образом выбираются три соседние точки и через эти точки строится цилиндр. В случае если в элементе сетки центры таких цилиндров лежат в одной и той же плоскостной координате, это место помечается как вертикально ориентированный цилиндр. Для каждого такого места строятся признаки для алгоритма обучения, а именно
А) радиус и кривизна поверхности;
Б) распределение точек по удалению от центра цилиндра;
В) распределение точек в плоскости XY;
Г) распределение точек по вертикали;
Д) расстояния до трека автомобиля;
Е) средний цвет точек, зафиксированный на трех ближайших панорамах;
Ж) средний коэффициент отражения.
На втором этапе алгоритму адаптивного бустинга (ADABOOST) предоставляются признаки объектов и классификация. Алгоритм строит каскад распознавания. В нашем случае строятся два отдельных каскада – первый грубый, отсеивающий 95% объектов. Второй более точный, он отсеивает еще порядка 99%. Такой подход применяется для дальнейшей коррекции ошибок – если с помощью данного алгоритма находится пропущенный объект, он с большой вероятностью есть в объектах после первого каскада. Это уменьшает количество просматриваемых объектов в целом, не снижая точности обнаружения объектов.
Распознавание дорожных знаков происходит в оптическом диапазоне. В качестве вспомогательных исходных данных используется специально подготовленная база с множеством реальных изображений знаков на местности. Алгоритм состоит из построения характерных черт изображения и обучения каскада адаптивного бустинга на примерах из существующей базы знаков. В облаках точек для исключения ошибок второго рода контролируются вторичные признаки: линейные размеры, удаленность от проезжей части, высота установки и т.п.
Распознавание светофора одновременно проходит в облаке точек и наземной фотопанораме. В облаке детектируется столб определенных параметров с характерной «коробкой» светофора. В оптической фотографии происходит поиск окружностей с заданными цветами. Для отсечения ошибочных объектов используются картографические данные о проезжей части и перекрестках.
Билборд определяется как плоскость, расположенная на определенной высоте с определенными линейными размерами. Для исключения ошибок второго рода объекты- претенденты также проверяются на отсутствие рядом расположенных других объектов, прежде всего ограждений и зданий. Также проверяются второстепенные признаки, например наличие столба в качестве опоры, наличие рекламной текстуры с резкими перепадами среднего цвета.
Остановка общественного транспорта детектируется по наличию перпендикулярных плоскостей определенного размера, видимой сверху горизонтальной плоскости характерной текстуры, а также наличию дополнительных признаков: присутствия объекта «знак» определенного типа и ломанной желтой полосы в оптическом изображении. Также контролируются удаленность от проезжей части и ряд других факторов.
С помощью выполнения распознавания статичных городских объектов на этапе (106) реализуется возможность распознавания иных объектов, не заложенных изначально в процесс распознавания. Для этого данный способ распознавания имеет возможность обучения с помощью анализа библиотеки реальных изображений, а также с помощью задания нескольких геометрических параметров, характеризующих размеры и положение объектов. Модуль обучения построен по итерационной схеме и позволяется дообучать алгоритмы, указывая ей на ошибки первого и второго родов после проверки результатов распознавания очередного этапа.
На подэтапе (1065) для каждого выявленного объекта на этапе (1064) определяются, по меньшей мере, географические координаты в WGS84 (долгота, широта и высота) и линейные размеры. Дополнительно могут быть определены:
- площадь плоскостей объекта (для полигональных объектов);
- тип объекта (с подтипами для некоторых классов объектов, например, дорожные знаки).
Для выявленных на этапе (106) объектов выполняется построение полигональных трехмерных моделей на этапе (107), содержащих текстуры в графическом формате, например JPG или JPEG, полученные с фотоснимков.
Полученные пространственные данные могут быть экспортированы в географические файлы векторных форматов SHAPEFILE, KML или GeoJSON для представления в различных ГИС, в трехмерные модели в форматах 3DS или OBJ для использования в CAD-системах и другим образом.
Далее на этапе (108) после распознавания и построения моделей городских объектов отдельные объекты объединяются в единую трехмерную модель, которая для удобства отображения и работы с ней может быть разбита на отдельные фрагменты и записана в нескольких файлах. Форматы выходных данных стандартны и позволяют работать с моделью в приложениях 3D-графики сторонних разработчиков. Результирующие данные содержат как геометрию отдельных объектов, так и их текстуры.
Перед компиляцией модели есть возможность задать набор входящих туда объектов. Так, например, может быть построена модель только из зданий и сооружений с рельефом местности или только из дорог с дорожными знаками. Это позволяет облегчить работу с данными при решение конкретных практических задач.
На Фиг. 9 представлен пример системы (300), предназначенной для реализации заявленного способа (100). Заявленная система (300) включает в себя следующие компоненты.
Оперативную память (ОЗУ) (302), предназначенную для оперативного хранения команд, исполняемых одним или более процессорами (301).
Средство хранения данных (303) может представлять собой жесткий диск (HDD), твердотельный накопитель (SSD), флэш-память (NAND-flash, EEPROM, Secure Digital и т.п.), оптический диск (CD, DVD, Blue Ray), мини-диск или их совокупности.
Интерфейсы ввода/вывода (В/В) (304) представляют собой стандартные порты и средства сопряжения устройств и передачи данных, выбираемые исходя из необходимой конфигурации исполнения системы (300), в частности USB (2.0, 3.0, USB-C, micro, mini), Ethernet, PCI, AGP, COM, LPT, PS/2, SATA, FireWire, Lightning и т.п.
Средства В/В (305) также выбираются из известного спектра различных устройств, например клавиатура, тачпад, сенсорный дисплей, монитор, проектор, манипулятор, мышь, джойстик, трекбол, световое перо, стилус, устройства вывода звука (колонки, наушники, встроенные динамики, зуммер) и т.п.
Средства передачи данных (306) выбираются из устройств, предназначенных для реализации процесса коммуникации между различными устройствами посредством проводной и/или беспроводной связи, в частности, таким устройствами могут быть GSM модем, Wi-Fi приемопередатчик, Bluetooth или BLE модуль, GPS модуль, Глонасс модуль, NFC, Ethernet модуль и т.п.
Компоненты системы (300) сопряжены посредством общей шины передачи данных (307).
Система (300) в предпочтительном варианте представляет собой серверную платформу, обеспечивающую необходимые вычисления при реализации вышеупомянутого способа построения модели города (100). При частных вариантах исполнения система (300) может быть реализована на базе мобильных устройств, например ноутбук, смартфон или планшет.
Изложенные в настоящих материалах заявки сведения об осуществлении заявленного изобретения не должны трактоваться как сведения, ограничивающие иные, частные варианты осуществления заявленного изобретения, не выходящие за пределы раскрытия информации в представленных материалах, и которые должны являться очевидными для специалиста в данной области техники, имеющего обычную квалификацию, на которые рассчитано заявленное техническое решение.