Введение
Одной из основных целей любого государства является обеспечение доступной, надежной и устойчивой электрической энергией. Главное препятствие к этому связано с тем фактом, что энергоснабжающие организации не всегда обладают всеобъемлющей картой воздушных линий электропередач, а схемы, которые существуют, как правило, устарели и неполны. Без централизованной карты, правительства или другие организации не обладают знаниями для принятия обоснованных решений об инвестировании средств в техническое обслуживание или расширение электрической сети. Этот недостаток информации также усложняет принятие решений об установке альтернативных источников энергии – не зная, где обычная сеть, трудно разумно использовать альтернативы, такие как солнечная или ветровая энергия. Помимо самой карты, правительства и организации нуждаются в быстром и экономически эффективном инструменте. Высоковольтная сеть постоянно расширяется, поэтому важным моментом является возможность создания точных снимков через равные промежутки времени. Функционал платформы cGIS включает алгоритм, способный эффективно картировать инфраструктуру воздушных линий электропередач.
Мы предлагаем автоматическое решение задачи обнаружения линий электропередач, основанное на использовании машинного обучения. Решение представляет собой алгоритм, который получает на входе данные дистанционного зондирования Земли. Полученные снимки выполнены в видимом спектре обрабатывает нейронная сеть и возвращает геопространственные местоположения, которые с высокой степенью вероятности содержат элементы высоковольтной инфраструктуры — вышки линий электропередач. Эти данные в дальнейшем требуют верификации оператором. Однако, даже в исходном виде, они представляют собой классифицированные географические положения, с высокой степенью вероятности соответствующие местоположениям реальных объектов на территориях.
Классификация или детектирование?
Первым вопросом для создания такого решения стала постановка самой задачи машинного обучения. Изначально мы были вдохновлены тем, как подобная проблема решалась у компании DevSeed. Их решение предполагает классификацию векторных тайлов, на карте с масштабом 1:2000, которая указывает, есть ли на данном тайле опоры линий электропередач. В дальнейшем оператору необходимо по классифицированным тайлам вручную провести трассировку линий электропередач, используя web-интерфейс c интерактивной картой.
Данный способ картирования воздушных линий электропередач оказался недостаточно эффективен. Мы приняли решение найти более оптимальное решение данной задачи, а именно, непосредственное детектирование самих опор линий электропередач на карте.
Мы решили использовать детектирование вместо классификации поскольку алгоритму детектирования при более значимых преимуществах свойственны те же самые недостатки, что и алгоритму классификации.
Преимущества:
Недостатки:
Исходные данные для машинного обучения
Исходные данные для задачи обучения представляют собой географические координаты опор линий электропередач, категоризированных по следующим значимым признакам: тип опоры, материал изделия, вольтаж и прочие. Всего в полном наборе данных было представлено 211725 объектов. В дальнейшем работа велась с данными, сгруппированными по типам опор, как наиболее представительному признаку. Ниже приведены сводные данные по этому признаку.
Тип | Количество объектов |
Ж/б опоры ЛЭП до20кВ | 119383 |
Деревянные опоры ЛЭП до20кВ | 83453 |
Промежуточные опоры ЛЭП 110кВ | 4938 |
Анкерные опоры ЛЭП 110кВ | 1176 |
Промежуточные опоры ЛЭП 330кВ | 808 |
Металлические опоры ЛЭП до20кВ | 604 |
Анкерные опоры ЛЭП 330кВ | 265 |
Промежуточные опоры ЛЭП 35кВ | 175 |
Промежуточные опоры ЛЭП 220кВ | 96 |
Порталы ПС и ВЛ 110-330 кВ | 39 |
Анкерные опоры ЛЭП 35кВ | 31 |
Опоры высокомачтовые, дорожные | 12 |
Порталы ПС и ВЛ 110 кВ | 9 |
Анкерные опоры ЛЭП 220кВ | 8 |
Пролеты | 2 |
Порталы ПС и ВЛ 35 кВ | 2 |
СИП без нулевой несущей жилы | 1 |
ВСЕГО | 211725 |
В связи с недостаточной различимостью на снимках объектов всех обозначенных типов, для дальнейшей работы в рамках алгоритма машинного обучения были выбраны следующие объекты:
Тип | Количество объектов |
Промежуточные опоры ЛЭП 330кВ | 808 |
Промежуточные опоры ЛЭП 220кВ | 96 |
Промежуточные опоры ЛЭП 110кВ | 4938 |
Анкерные опоры ЛЭП 330кВ | 265 |
Анкерные опоры ЛЭП 220кВ | 8 |
Анкерные опоры ЛЭП 110кВ | 1176 |
ВСЕГО | 7291 |
Данные для машинного обучения представляли собой растровые изображения размером 512х512 пикселей с размеченными на них районами нахождения высоковольтных опор линий электропередач. Разметка представляла собой прямоугольную область на изображении, соответствующую в среднем области 70х70 метров на земле.
Для машинного обучения исходные растровые изображения были разбиты в отношении 80% данных для обучения и 20% данных для тестирования.
Выбор архитектуры решения
Для задачи детектирования объектов на изображении, где объекты целевого класса являются лишь малой частью изображения, является проблемой то, что в процессе обучения слишком большой вклад вносят те части изображения, на которых отсутствует целевой объект, что в итоге приводит к множеству пропусков на тестовом множестве. Для решения данной проблемы мы использовали функцию потерь нейронной сети Focal Loss, которая снижает влияние часто встречающегося фона и повышает значимость редко встречающихся объектов при обучении.
Таким образом была выбрана следующая архитектура нейронной сети для детектирования – RetinaNet, которая как раз и использует Focal Loss в качестве функции потерь.
В процессе обучения RetinaNet функция потерь вычисляется для всех рассматриваемых ориентаций областей-кандидатов (анкоров), со всех уровней масштабирования изображения. Всего — около 100 тысяч областей для одного изображения. Значение Focal Loss вычисляется как сумма значений функции для всех анкоров, нормализованная по количеству анкоров, содержащих искомые объекты. Нормализация производится только по ним, а не общему числу, поскольку подавляющее большинство анкоров — это легко определяемый фон, с незначительным вкладом в общую функцию потерь.
Структурно RetinaNet состоит из Backbone и двух дополнительных сетей классификации (Classification Subnet) и определения границ объекта (Box Regression Subnet).
В качестве базисной нейронной сети используется так называемая Feature Pyramid Network (FPN), работающая поверх одной из общеиспользуемых свёрточных нейронных сетей (например ResNet-50). FPN имеет дополнительные боковые выходы со скрытых слоев свёрточной сети, формирующие уровни пирамиды с разным масштабом. Каждый уровень дополняется «знаниями сверху», т.е. информацией с более высоких уровней, имеющих меньший размер, но содержащих сведения об областях большей площади. Выглядит это как искусственное увеличение (например, простым повтором элементов) более «свёрнутой» карты признаков до размера текущей карты, их поэлементное суммирование и передача как на более низкие уровни пирамиды, так и на вход остальных подсетей (т.е. в Classification Subnet и Box Regression Subnet). Это позволяет выделить из исходного изображения пирамиду признаков в разных масштабах, на которых могут быть обнаружены как большие, так и мелкие объекты. FPN используется во многих архитектурах, улучшая детектирование объектов разного масштаба – RPN, DeepMask, Fast R-CNN, Mask R-CNN и других.
В нашей сети, как и в оригинальной, использована FPN с 5-ю уровнями, нумеруемыми с P3 по P7. Уровень Pl имеет разрешение в 2l раз меньшее, чем входное изображение. Все уровни пирамиды имеют одинаковое количество каналов С = 256 и количество анкоров.
Площади анкоров были подобраны следующим образом: [16 х 16] до [256 x 256] для каждого уровня пирамиды от P3 до P7 соответственно, с шагом смещения (strides) [8 — 128] пикселей. Такой размер позволяет анализировать мелкие объекты и некоторую окрестность вокруг. В нашем случае – это опоры линий электропередач с прилегающей к ним тенью.
Обучение и результаты
Оценка результатов машинного обучения производилась следующими способами: