Комплекс автоматизированного дешифрирования и векторизации

0

А.Ю. Борзов

Дешифрирование фотоснимков является наиболее трудоемким процессом в картографическом производстве. Автоматизация дешифрирования затруднена из-за недостаточной разработки теории распознавания образов применительно к топографическому дешифрированию и недостаточной производительностью компьютеров для решения задач распознавания. Несмотря на это, на рынке программного обеспечения появились программы, выполняющие автоматическую и полуавтоматическую векторизацию фотоснимков.

В КБ  «Панорама» разработан новый продукт «Комплекс автоматизированного дешифрирования и векторизации», первая версия которого позволяет автоматизировать пока только одну локальную задачу — векторизацию линейных объектов. Программа реализована в виде автономного комплекса, включающего алгоритмы классификации, растровой и векторной обработки, объединенные в единый технологический процесс (рис. 1).

Рис. 1. Главное окно программы
Рис. 1. Главное окно программы

Процесс обработки состоит из этапов, которые можно выполнять в последовательно или пакетном режиме. Поэтапная обработка удобна для подбора параметров. После выполнения пробного проекта, его параметры можно использовать при создании проектов с похожими растрами. Эти  проекты уже можно выполнять в пакетном режиме для ускорения обработки.

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

В качестве статистических характеристик используется шесть характеристик — средний цвет и дисперсия, вычисляемые для трех цветовых каналов. Если включен режим «Использовать текстурные признаки», то вместо дисперсии вычисляются текстурные признаки — энергия, контраст и корреляция.

Каждый набор характеристик можно представить точками в двух трехмерных пространствах признаков. Для каждого шаблона создается пара трехмерных массивов, ограничивающих пространство признаков диапазоном вычисленных для шаблона значений. Количество элементов в массиве регулируется параметром «Уровень обобщения классификатора», что позволяет изменять чувствительность классификатора к точности соответствия набора тестируемых характеристик шаблонным.

Рис. 3. Результат классификации после удаление небольших областей
Рис. 2. Результат классификации после удаление небольших областей

В результате классификации создается растр принадлежности пикселей растра распознаваемым объектам. Обычно он содержит неправильно классифицированные области. Их можно отфильтровать на этапе удаления небольших областей (рис. 2).

Рис. 3. Результат преобразования растра в линии без сглаживания краев
Рис. 3. Результат преобразования растра в линии без сглаживания краев

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

Поэтому перед преобразованием в вектор необходимо выполнить сглаживание краев растровых областей. Уровень сглаживания задается в диапазоне от 0 до 1. Чем меньше значение, тем больше сглаживается линия, причем значение параметра нелинейно влияет на результат сглаживания (рис. 4).

Рис. 4. Результат преобразования растра в линии после сглаживания краев
Рис. 4. Результат преобразования растра в линии после сглаживания краев

После преобразования в вектор осевые линии оказываются разорванными на перекрестках. Сшивка отдельных сегментов в основные проезды выполняется на этапе «Соединение линий на пересечениях». Концы линий сшиваются, если разница направлений и расстояние между концами линий меньше заданного пользователем допуска. Причем сшивка линий выполняется не по крайним точкам, а по точкам, отстоящим от концов на заданное расстояние. Это позволяет устранить искривление основных проездов в сторону примыкающей улицы (рис. 5).

Рис. 6. Результат сшивки линий на перекрестках
Рис. 5. Результат сшивки линий на перекрестках

После построения сети основных проездов выполняется соединение концов линий вне перекрестков. Алгоритм сшивки отличается от сшивки линий на перекрестках оптимизацией для соединения линий на большем расстоянии. Этот этап необходим для сшивки линий в местах, где изображение дороги закрыто помехами — тенями, деревьями, скоплениями машин.

Далее идет этап удаления коротких линий. На этом этапе линии, оставшиеся после объединения, удаляются по максимальной длине, задаваемой пользователем.

Затем выполняется сглаживание и фильтрация (рис. 6, 7). Сглаживание выполняется подобно операции с краями областей. Фильтрация необходима для уменьшения количества точек в созданных объектах.

Рис. 6. Линии до сглаживания
Рис. 6. Линии до сглаживания

 

Рис. 7. Линии после сглаживания
Рис. 7. Линии после сглаживания

После этого выполняется присоединение второстепенных проездов к основным дорогам (рис. 8).

Рис. 8. Результат присоединения второстепенных проездов
Рис. 8. Результат присоединения второстепенных проездов

На последнем этапе распознанные осевые линии дорог экспортируются в выбранную пользователем карту. Экспортируемая карта может быть создана в форматах SIT, SXF, SHP. Окончательное редактирование результатов распознавания может выполняться в ГИС, поддерживающих эти форматы (рис. 9).

Рис. 9. Окончательные результаты распознавания
Рис. 9. Окончательные результаты распознавания