employee
Belgorod, Belgorod, Russian Federation
employee
Belgorod, Russian Federation
employee
Belgorod, Belgorod, Russian Federation
GRNTI 67.11 Строительные конструкции
BBK 385 Строительные конструкции
In the construction and technical expertise of buildings, inspection is an important and crucial part in the conclusions about the technical condition of the object. It is carried out visually and instrumentally with the interpretation of results by subjective expert methods. The current performance standard of construction and technical inspection has several disadvantages: essential schematics of collection algorithms, simplified diagnostics and coarsening of the analysis of field research results for geometrically extended or constructively complex real estate objects, which are caused by negative influence of human factors on the process of inspection , weather conditions, inaccessibility of the object, low information culture of documenting and archiving survey results. This complicates the dynamic monitoring of the object and is characterized by significant increase in the cost and timing of the repair work due to the delayed diagnosis of defects and the selectivity of the scope of expert research. The proposed system is designed to improve the reliability, objectivity, unification of approaches and information flows associated with the construction and technical expertise of buildings and structures. It is based on photo and video filming of long and hard to reach surfaces of buildings and structures using unmanned aerial vehicles with subsequent automated processing of the material obtained, its intellectual analysis, automated recognition, classification, quantification of installed defects; as well as innovative technology for documenting and automating the adoption of rational organizational and technological decisions in the practice of technical operation and monitoring of the functional reliability of the surveyed real estate.
inspection, aerial photography, construction and technical expertise, neural networks, recognition, segmentation, defect, deep learning, fully convolutional network
Введение. В современном производстве и жилищно-коммунальном хозяйстве важно своевременно осуществлять обслуживание и ремонт кровли зданий и сооружений, которая со временем разрушается под воздействием окружающей среды. Залогом успешной и эффективной деятельности предприятий службы технической эксплуатации зданий и сооружений является периодический, масштабный мониторинг параметров технического состояния кровель, основанный в том числе на методиках автоматизированной дефектоскопии, возможной при реализации инновационных методик получения, документирования и анализа исследовательской информации. Обследование технического состояния кровель, в большинстве случаев, существенно осложняется протяженностью, недоступностью участков для визуального осмотра, погодными условиями производства работ, большим объемом инструментальных измерений, сложностью и трудоемкостью его документирования, архивирования, оперативной обработки и динамического анализа. Реализация большого потенциала совершенствования методики и качества проводимой дефектоскопии возможна при использовании оперативной технической аэрофотосъемки с последующей потоковой нейросетевой обработкой информации, выявлением и визуальной количественной акцентуацией наиболее значимых результатов проведенных исследований. В настоящее время отсутствуют надежные, достоверные, общепринятые технологии аэрофотодефектоскопии и распознавания дефектов кровель зданий и сооружений по её результатам.
Строительная дефектоскопия в процессе эксплуатации зданий неавтоматизирована, в связи с чем занимает нерационально большое время, крайне сезонна, непериодична, несистемна, в большинстве случаев экономически малоцелесообразна, и, как следствие, проводится на недостаточном профессиональном уровне без определенных целей и увязки с технологией эксплуатации здания. Это не позволяет ни целесообразно планировать, ни экономически эффективно реализовывать технические мероприятия по профилактике и упреждению исчерпания кровлями функциональности, недопущению критического снижения потребительских качеств, рационализации ресурсоемкости сохранения и восстановления надлежащего технического кровель.
Оперативный мониторинг состояния кровли может эффективно осуществляться с помощью применения малых беспилотных летательных аппаратов, оснащенными видеокамерами. Полученные с их помощью аэрофотоснимки (ортофотопланы) затем можно анализировать как вручную так и методами компьютерного зрения.
В настоящее время сущестует большое разнообразие научных исследований, посвященных сегментации таких аэрофотоснимков для обнаружения крыш зданий, например, 1 и 2, или объектов на них расположенных 3. Однако основное назначение этих работ – вести мониторинг застройки территорий или имеющейся инфраструктуры. Анализ состояния кровли часто осуществляется с помощью распознавания инфракрасных изображений 4, полученных от тепловизионной камеры и позволяющих оценивать потери тепла и мероприятия по их снижению. Сегментация областей кровли с различным углом наклона подробно исследуется в работе 5, в ней отмечается общее ограничение методов компьютерного зрения – необходимость учета теней, изменений освещенности наблюдаемых объектов, что требует существенного усложнения применяемых алгоритмов распознавания изображений.
Следует отметить, что существующие исследования не затрагивают такую важную задачу как распознавание дефектов различного типа, возникающих с течением времени на кровле и которые могут быть выявлены на цветном изображении ортофотоплана.
Постановка задачи. Подход, используемый в ходе нейросетевого обучения системы распознавания направлен на выявление следующих дефектов кровли:
• впадины, вызывающие застаивание воды после дождя,
• вздутие,
• растрескивание,
• разрывы ковра,
• отслаивание ковра,
• заплатки,
• отсутствие ковра,
• грибок/мох.
Структура подхода схематично показана на рис. 1. Цветные аэрофотоснимки (ортофотопланы) получаются с помощью беспилотного летательного аппарата ¬– квадрокоптера. Далее с помощью программы распознавания на них выявляются сегменты, содержащие дефекты. Для каждого из сегментов определяется площадь и периметр найденной области, которые сохраняются в xml-файлы, также в файл сохраняется и результат сегментации в виде полутонового изображения. Эти данные могут быть в дальнейшем использоваться для составления сметной документации для проведения требуемого ремонта кровли.
Для оценки качества работы алгоритмов сегментации применяется мера Dice, которая успешно использовалась в работах 6 и 7:
(1)
В формуле (1) обозначение (YGT, YP) – скалярное произведение двух векторов – вектора YGT, содержащего «истинную» сегментацию изображения, представленного в виде одномерного массива, и вектора YP, содержащего результат сегментации с помощью применяемого алгоритма, представленный в виде одномерного массива. Каждый элемент массивов YGT, и YP принимает значения в диапазоне [0, 1], где 0 соответствует пикселю не относящемуся к искомой области (дефекту), 1 соответствует пикселю, попадающему в область изображения с дефектом кровли. Таким образом, величина (YGT, YP) эквивалентна площади пересечения двух областей, (YGT, YGT,) – эквивалентна площади истинных областей, содержащих дефекты, (YP, YP) – эквивалентна площади областей с дефектами, найденных с помощью алгоритма, ε – величина, равная единице (одному пикселю), необходимая для учета случая, когда на изображении нет ни истинных, ни найденных областей с дефектами кровли.
Сегментация дефектов на изображениях с помощью глубоких сверточных нейронных сетей.
Глубокие сверточные нейронные сети позволяют автоматически выявлять текстурные особенности и другие признаки областей изображений [9], что может быть использовано для рассматриваемой задачи. Выбор архитектуры нейронной сети, способной распознавать области аэрофотоснимка, содержащие дефекты кровли, можно сделать на основе подходов, показавших свою эффективность на задаче сегментации изображений на обучающей выборке размеченных изображений PASCAL VOC 9, содержащей 21 различных типов пикселей. Одним из таких подходов является обучение полностью сверточных нейронных сетей (Fully Convolutional Networks, FCN) 10. Для задачи сегментации биомедицинских изображений в работе 11 изучено применение сверточной нейронной сети, подобной автоэнкодеру, в которой введены дополнительные объединения входных и выходных слоев. В основе этих архитектур лежат три разновидности операции свёртки 12:
1) обычная операция свертки с ядром (kernel) размера 3×3 с шагом (strides) 1×1, в результате которой из изображения размером 4×4 получается карта признаков размером 2×2;
Рис. 1. Структура подхода нейросетевого обучения системы распознавания дефектов кровли
2) операция свертки с ядром размера 3×3 с шагом 1×1, при которой исходное изображение дополнено нулевыми граничными пикселями (padding) 1×1 (по одному дополнительному пикселю с каждой стороны изображения), в результате которой из изображения размером 5×5 получается карта признаков того же размера 5×5;
3) операция обратной свертки, когда из изображения меньшего размера, например, 3×3 получается изображение размером 5×5. При этом в исходное изображение добавляются нулевые строки и столбцы (так называемая операция upsampling с шагом 2×2), и граничные пиксели (например, padding = 1 × 1). Ядро и шаг свертки соответственно 3×3 и 1×1.
В настоящей работе рассматривается две архитектуры глубоких полностью сверточных нейронных сетей, содержащих 13 и 17 сверточных слоев, соответственно FCN13, показанная на рис. 2, и FCN17, показанная на рис. 3.
Для обучения и проверки работоспособности сверточных нейронных сетей использовалось 35 изображений с размеченными на них дефектами кровли, из них к обучающей выборке отнесены 33 изображения, к валидационной ¬– 2 изображения. Размер каждого изображения: 464×825 пикселей.
Для обучения и тестирования сверточной нейронной сети для задачи сегментации применяется описанная выше мера качества Dice (1). Функция потерь, минимум которой должна обеспечить глубокая нейронная сеть, имеет вид (2).
Таким образом в ходе процесса обучения осуществляется максимизация степени пересечения найденных и истинных областей, содержащих дефекты кровли.
Процесс обучения сверточной нейронной сети проведен с помощью оптимизатора Adam с коэффициентом скорости обучения, равным 0.00001.
Рис. 2. Архитектура глубокой сверточной нейронной сети для сегментации изображений с 13
сверточными слоями (FCN13)
Результаты обучения выбранных архитектур полностью сверточных нейронных сетей на 80 эпохах показаны на рис. 4. Они показывают, что несмотря на относительно небольшой объем обучающей выборки нейронные сети обучаются до приемлемого качества сегментации – мера Dice = 1 – Loss для FCN17 достигает около 0.78, для FCN13 – 0.76. Такие значения вполне позволяют применять полностью сверточную нейронную сеть в рассматриваемой задаче, что подтверждают примеры сегментации, показанные на рис. 5.
Рис. 3. Архитектура глубокой сверточной нейронной сети для сегментации изображений с 17 сверточными слоями (FCN17)
Для тестирования выбраны веса, получившиеся на 73 эпохе сети FCN17, функция потерь на обучающей выборке составляет 0,224, функция потерь на валидационной выборке равна 0,021.
Вычислительный эксперимент проведен с использованием технологии NVidia CUDA в 64-х битной операционной системе Windows 7, установленной на компьютер c центральным процессором Intel Core i-5-4570 (4 ядра) 3.2ГГц, оперативной памятью 8Гб и видеокартой NVidia GeForceGTX 960, имеющей графический процессор с частотой 1.253 ГГц и 1024 графических ядра (Shaders), а также 2 Гб встроенной памяти DDR5. Программная реализация глубокой полностью сверточной нейронной сети осуществлена с помощью библиотеки Keras 13 для интерпретатора python 3.5
Общее время обучения сверточной нейронной сети на 80 эпохах составляет около 20 минут (см. табл. 1), что позволяет быстро вносить изменения в архитектуру и параметры настройки сети для достижения наиболее эффективных результатов сегментации.
Обученная сеть позволяет осуществлять обнаружение дефектов кровли на аэрофотоснимках со скоростью около 6 кадров в секунду, что приемлемо для применения в реальных приложениях.
Таблица 1
Временные результаты работы глубоких сверточных нейронных сетей
Архитектура нейронной сети |
Время обучения на 80 эпохах, с |
Среднее время сегментации изображения в режиме тестирования, с |
FCN17 |
1270.643 |
0,177 (5,65 fps) |
FCN13 |
1072.485 |
0,151 (6,62 fps) |
|
а) |
|
|
б) |
Рис. 4. Обучение глубокой сверточной нейронной сети в течение 80 эпох: а – функция потерь на обучающей выборке, б – функция потерь на тестовой выборке
Программная реализация предлагаемого подхода.
Программная реализация нейросетевого подхода обнаружения дефектов кровли на изображениях осуществлена с помощью кроссплатформенного языка программирования Python 3.5 и библиотек глубокого обучения keras и Tensorflow.
При работе программного комплекса основными этапами обнаружения дефектов кровли на изображениях, полученных с беспилотного летательного аппарата являются:
1) Загрузка изображения;
2) Разметка изображения с помощью сверточной нейронной сети с выделением сегментов дефектов кровли;
3) Определение площади и периметра найденных дефектов каждого из типов и сохранение результатов.
|
|
|
b |
c |
|
|
|
|
e |
f |
|
|
|
|
g |
h |
k |
|
|
|
l |
m |
n |
Рис. 5. Примеры распознавания дефектов с использование глубокой полностью сверточной нейронной сети:
a, d, g, l – исходные изображения, b, e, h, m – подготовленные бинарные маски, c, f, k, n – результаты работы нейронной сети архитектуры FCN
Результат определения площади и периметра для каждого из дефектов отображается как с помощью графического интерфейса, так и сохраняется в файл. Для корректного пересчета размеров из пикселей изображения в миллиметры применяется масштабный коэффициент, определяемый на основе характеристик съемки кровли с помощью беспилотного летательного аппарата (высоты полета летательного аппарата над кровлей, размера изображения, получаемого бортовой камерой). Возможно задание масштабного коэффициента для пересчета площади и периметра найденного дефекта вручную.
Программа также позволяет осуществлять предварительную разметку дефектов на изображении или осуществлять корректировку результатов работы сверточной нейронной сети. Модуль автоматизированной разметки размещен авторами в свободном доступе на сервисе Github.
Выводы. Предлагаемый подход к нейросетевому обучению системы распознавания и диагностики установленных дефектов строительных конструкций позволяют выделить области дефектов плоских рулонных кровель с приемлемым качеством. В качестве одного из алгоритмов выбран ранее не применявшийся к рассматриваемой задаче подход на основе глубоких полностью сверточных нейронных сетей, который позволяет повысить инвариантность алгоритма к теням и изменениям типа кровли. Разработанное программное обеспечение автоматизирует процесс обнаружения дефектов кровли на аэрофотоснимках, определения их площади и периметра. Оно протестировано на наборе данных, состоящем из фотографий кровли с дефектами и из подготовленных для них бинарных масок. Подход на основе FCN показал приемлемые результаты сегментации изображений из обучающей и тестовой выборок в смысле средней величины меры качества Dice. Программное обеспечение может использоваться для автоматизации мониторинга состояния кровли зданий в промышленности или жилищно-коммунальном хозяйстве, а также составления сметной документации на ремонт и обслуживание в задачах экспертизы состояния зданий и сооружений различного назначения.
Рис. 6. Экраны, демонстрирующие этапы работы программы
Источник финансирования. Российский фонд фундаментальных исследований №18-47-310009 р_а «Научно-теоретические основы автоматизации аэрофотодефектоскопии в строительно-технической экспертизе зданий и сооружений».
1. Benedek C., Descombes X., Zerubia J. Building Extraction and Change Detection in Multitemporal Aerial and Satellite Images in a Joint Stochastic Approach, RR-7143, INRIA. 2009.
2. Gombos A.D. 2010 Detection of roof boundaries using lidar data and aerial photography, University of Kentucky Master's Theses
3. Puttemans S., Van Ranst W., Goedeme T. Detection of photovoltaic installations in rgb aerial imaging: a comparative study. 2015.
4. Stockton G.B. Using infrared thermography in flat and low-sloped roofing systems. Journal of the National Institute of building sciences. 2014. Pp. 16-19
5. Merabet Y.E., Meurie C., Ruichek Y., Sbihi A., Touahni R. Building Roof Segmentation from Aerial Images Using a Line-and Region-Based Watershed Segmentation Technique. Sensors (Basel). 2015. Vol. 15(2). Pp. 3172-3203
6. Yudin D.A., Magergut V.Z. Segmentation of sintering images using texture analysis based on self-organized maps. Information technologies. 2013. Vol. 5. Pp. 65-70
7. He Y. Deep Learning Tutorial for Kaggle Ultrasound Nerve Segmentation competition, using Keras. Xi'an Jiaotong University https://github.com/yihui-he/u-net
8. LeCun Y., Bengio Y., Hinton G. Deep learning. Nature. 2015. Vol. 52. Pp. 436-444
9. Everingham M., Van Gool L., Williams C.K.I., Winn J., Zisserman A. The PASCAL Visual Object Classes Challenge 2011 (VOC2011) Results. http://www.pascal-network.org/ challenges/VOC/voc2011/workshop/index.html.
10. Shelhamer E., Long J., Darrell T. Fully Convolutional Networks for Semantic Segmentation PAMI 2016, arXiv:1605.06211
11. Ronneberger O., Fischer P., Brox T. U-Net: Convolutional Networks for Biomedical Image Segmentation. Medical Image Computing and Computer-Assisted Intervention (MICCAI), Springer, LNCS. 2015. Vol. 9351 Pp. 234-241
12. Dumoulin V, Visin F 2016 A guide to convolution arithmetic for deep learning arXiv:1603.07285v1
13. Keras: Deep Learning library for Theano and TensorFlow https://keras.io/.