Способ выявления объектов на изображении плана-схемы объекта строительства
METHOD FOR DETECTING OBJECTS IN THE IMAGE OF THE PLAN-SCHEME OF THE CONSTRUCTION OBJECT

Область техники
Данное изобретение относится к средствам для выявления объектов на плане-схеме объекта строительства на основании определения наличия элементов условных обозначений и может быть использовано, в частности, при анализе различных строительных объектов.
Уровень техники
Из уровня техники известна заявка CN 108764022 А, опубликованная 06.11.2018. В данной заявке раскрыт способ распознавания изображений, в частности, планов зданий, который предполагает использование обученной нейронной сети для создания классификатора изображений. После ввода изображения в классификатор оно маркируется соответствующим классом. Все условные классы могут быть проклассифицированы по четырем категориям. На выходе указанного классификатора формируются оценки достоверности отнесения того или иного условного обозначения к определенному классу. Если показатель достоверности превышает предварительно установленный порог достоверности, делают вывод, что распознаваемое обозначение относится к присвоенному ему классу. Данное решение направлено на повышение эффективности обработки изображений условных обозначений на планах зданий.
Также из уровня техники известна заявка US 2019/0243928 А1, опубликованная 08.08.2019, в которой раскрыт способ семантической сегментация 2d-планов зданий с помощью пиксельного классификатора. Указанный способ предполагает семантическую сегментацию изображения плана-схемы помещения с ее классификацией на основе отдельных пикселей изображения с помощью обученной нейронной сети. Семантическая сегментация обеспечивает возможность выявить в изображении несколько семантически значимых частей и классифицировать каждую из таких частей по одной из заранее определенных категорий. Классификация осуществляется для набора классов, включающего два класса стен, дверей и окон. Классификаторы содержат распределение вероятностей по набору классов, при этом каждому пикселю ставится в соответствие определенное вероятностное число. Описанный выше способ обеспечивает повышение точности обработки двумерных план-схем зданий по сравнению с аналогичными ему предшествующими решениями.
Наиболее близким аналогом заявленного изобретения является способ автоматизированной идентификации и использования информации о плане этажа здания, раскрытый в заявке US 2022/0092227 А1, опубликованной 24.03.2022. Указанный способ раскрывает выполнение операций по идентификации план-схем зданий, имеющих объекты, которые представляют интерес для пользователя. В процессе осуществления данного способа определяют взаимное расположение объектов, например, комнат, стен, окон зданий, и строят соответствующий граф. Идентификацию данных объектов на план-схемах зданий осуществляют с помощью обученной нейронной сети. После анализа план-схем и идентификации имеющихся объектов, определяют те из них которые соответствуют заданным критериям, например, квартиры, имеющие заданное количество комнат с определенными диапазонами размеров. Благодаря использованию графов, описывающих взаимное расположение объектов, обеспечивается поиск по таким критериям, как связь между комнатами. Описанное выше изобретение позволяет обеспечить быструю и эффективную идентификацию объектов на исследуемой план-схеме здания.
Основным недостатком описанных выше аналогов заявленного изобретения является невозможность идентификации и выявления многоуровневых объектов на план-схеме объекта строительства.
Предложенное изобретение направлено на устранение указанного недостатка.
В качестве технического результата, достигаемого при осуществлении изобретения, выступает возможность выявления многоуровневых объектов на план-схеме объекта строительства.
Сущность изобретения
Указанный технический результат и поставленная задача достигается / решается за счет того, что способ выявления объектов недвижимости на изображении многоуровневого плана-схемы объекта строительства, включающий в себя:
загрузку изображения многоуровневого плана-схемы объекта строительства;
присвоение каждому уровню плана-схемы объекта строительства метки уровня,
выявление с помощью сверточной нейронной сети первого типа на изображениях уровней объектов недвижимости с присвоением им метки уровня,
с помощью сверточной нейронной сети второго типа распознавание на изображениях выявленных объектов недвижимости условных изображений элементов строительства и классификация выявленных объектов на многоуровневый и одноуровневые, при этом при выявлении условного изображения элемента строительства «лестница» объект классифицируют как многоуровневый,
с учетом метки уровня сопоставление между собой объектов, расположенных на смежных уровнях и классифицированных как многоуровневые,
объединение объектов, расположенных на смежных уровнях, имеющих совпадающее расположение условного изображения элемента строительства «лестница», в один объект,
выявление и подсчет одинаковых условных изображений элементов строительства, соответствующим каждому объекту, а также определение их расположения друг относительно друга;
задание параметров фильтрации объектов;
на основании полученных данных о выявленных условных изображениях элементов строительства, об их количестве, а также о расположении их относительно друг друга, выявление на многоуровневой плане-схемы объекта строительства объектов, соответствующих параметрам фильтрации,
при этом нейронная сеть первого типа обучена на наборе массивов данных, который включает в себя изображения план-схем объектов недвижимости,
нейронная сеть второго типа обучена на наборе массивов данных, который включает в себя условные изображения элементов строительства, и наборе массивов данных, который включает в себя изображения план-схем одно/многоуровневых объектов недвижимости.
В одном из вариантов изображение многоуровневого плана-схемы объекта строительства может быть в цветном формате RGB.
В одном из вариантов осуществляется преобразование цветного изображения в черно-белое, которое включает в себя два этапа:
преобразование цветного изображения в изображение в градациях серого;
преобразование изображения в градациях серого в черно-белое изображение.
В одном из вариантов изображение уровня многоуровневого плана-схемы объекта строительства представляет собой изображение этажа дома.
В одном из вариантов объект недвижимости представляет собой квартиру или офис.
Выявление с помощью сверточной нейронной сети первого типа на изображениях уровней объектов недвижимости с присвоением им метки уровня, распознавание с помощью сверточной нейронной сети второго типа на изображениях выявленных объектов недвижимости условных изображений элементов строительства и классификация выявленных объектов на многоуровневые и одноуровневые, сопоставление с учетом метки уровня между собой объектов, расположенных на смежных уровнях и классифицированных как многоуровневые, объединение объектов, расположенных на смежных уровнях, имеющих совпадающее расположение условного изображения элемента строительства «лестница», в один объект, обеспечивает возможность выявления многоуровневых объектов на план-схеме объекта строительства.
Осуществление изобретения
Варианты реализации изобретения устраняют вышеупомянутые и другие недостатки, обеспечивая механизмы для выявления многоуровневых объектов на план-схеме объекта строительства.
Настоящее раскрытие описывает способ выявления объектов недвижимости на изображении многоуровневого плана-схемы объекта строительства.
На первом этапе осуществляют загрузку изображения многоуровневого плана-схемы объекта строительства. Изображение многоуровневого плана-схемы объекта строительства может быть представлено в цветном формате RGB. Изображение, представленное в формате RGB, может быть преобразовано из цветного изображения в черно-белое. Указанное преобразование может включать в себя два этапа:
преобразование цветного изображения в изображение в градациях серого; преобразование изображения в градациях серого в черно-белое изображение.
Каждому изображению уровня многоуровневого плана-схемы объекта строительства присваивается метка уровня.
Изображение уровня многоуровневого плана-схемы объекта строительства может представлять собой изображение этажа дома.
Далее с помощью сверточной нейронной сети первого типа на изображениях уровней выявляются объекты недвижимости. Выявленным объектам присваиваются метки уровня, показывающие на каком именно уровне (этаже) расположен выявленный объект.
С помощью сверточной нейронной сети второго типа осуществляется распознавание на изображениях выявленных объектов недвижимости условных изображений элементов строительства и классификация выявленных объектов на многоуровневые и одноуровневые.
Объект классифицируют как многоуровневый при выявлении на изображении объекта недвижимости условного изображения элемента строительства «лестница».
Многоуровневые объекты, расположенных на смежных уровнях, сопоставляются между собой с учетом метки уровня. Объекты, расположенных на смежных уровнях, имеющие совпадающее расположение условного изображения элемента строительства «лестница», объединяются в один объект.
Далее осуществляется выявление и подсчет одинаковых условных изображений элементов строительства, соответствующим каждому объекту, а также определение их расположения друг относительно друга.
После задания параметров фильтрации объектов на основании полученных данных о выявленных условных изображениях элементов строительства, об их количестве, а также о расположении их относительно друг друга, выявляют на многоуровневой плане-схемы объекта строительства объекты, соответствующие параметрам фильтрации.
Условные изображения элементов строительства могут, в частности, соответствовать дверным проемам между комнатами, наружным дверным проемам, окнам, лестницам и другие.
Под параметрами фильтрации могут, в частности, пониматься параметры, указывающие на вид элемента строительства (например, окно, дверь, или другое), количество этих элементов, расположении их относительно друг друга и другие.
В некоторых вариантах осуществления заявленный способ может выполняться на одной или нескольких вычислительных системах, связанных сетью. Сетью может являться, например, сеть Интернет или частная сетью. Кроме того, сеть может включать в себя различные типы проводных и/или беспроводных сетей.
Вычислительные системы могут включать в себя различные аппаратные компоненты, такие как процессоры и запоминающие устройства.
Информация об изображении плана-схемы объекта строительства и/или дополнительная связанная информация может быть получена от одного или нескольких внешних источников.
Используемая сверточная нейронная сеть является однонаправленной (без обратных связей) многослойной нейронной сетью с чередованием сверточных слоев (англ. convolution layers) и субдискретизирующих слоев (англ. subsampling layers или англ. pooling layers, слоев подвыборки).
Использование сверточных нейронных сетей обусловлено тем, что они обеспечивают частичную устойчивость к изменениям масштаба, смещениям, поворотам, смене ракурса и прочим искажениям. Сверточные нейронные сети объединяют три архитектурных идеи, для обеспечения инвариантности к изменению масштаба, повороту сдвигу и пространственным искажениям:
- локальные рецепторные поля (обеспечивают локальную двумерную связность нейронов);
- общие синаптические коэффициенты (обеспечивают детектирование некоторых черт в любом месте изображения и уменьшают общее число весовых коэффициентов);
- иерархическая организация с пространственными подвыборками.
На данный момент сверточная нейронная сеть и ее модификации считаются лучшими по точности и скорости алгоритмами нахождения объектов на сцене.
В обычном перцептроне, который представляет собой полносвязную нейронную сеть, каждый нейрон связан со всеми нейронами предыдущего слоя, причем каждая связь имеет свой персональный весовой коэффициент. В сверточной нейронной сети в операции свертки используется лишь ограниченная матрица весов небольшого размера, которую «двигают» по всему обрабатываемому слою (в самом начале - непосредственно по входному изображению), формируя после каждого сдвига сигнал активации для нейрона следующего слоя с аналогичной позицией. То есть для различных нейронов выходного слоя используются одна и та же матрица весов, которую также называют ядром свертки. Ее интерпретируют как графическое кодирование какого-либо признака, например, наличие наклонной линии под определенным углом. Тогда следующий слой, получившийся в результате операции свертки такой матрицей весов, показывает наличие данного признака в обрабатываемом слое и ее координаты, формируя так называемую карту признаков (англ. feature map). Естественно, в сверточной нейронной сети набор весов не один, а целая гамма, кодирующая элементы изображения (например линии и дуги под разными углами). При этом такие ядра свертки не закладываются исследователем заранее, а формируются самостоятельно путем обучения сети классическим методом обратного распространения ошибки. Проход каждым набором весов формирует свой собственный экземпляр карты признаков, делая нейронную сеть многоканальной (много независимых карт признаков на одном слое). Также следует отметить, что при переборе слоя матрицей весов ее передвигают обычно не на полный шаг (размер этой матрицы), а на небольшое расстояние. Так, например, при размерности матрицы весов 5×5 ее сдвигают на один или два нейрона (пикселя) вместо пяти, чтобы не «перешагнуть» искомый признак.
Операция субдискретизации (англ. subsampling, англ. pooling, также переводимая как «операция подвыборки» или операция объединения), выполняет уменьшение размерности сформированных карт признаков. В данной архитектуре сети считается, что информация о факте наличия искомого признака важнее точного знания его координат, поэтому из нескольких соседних нейронов карты признаков выбирается максимальный и принимается за один нейрон уплотненной карты признаков меньшей размерности. За счет данной операции, помимо ускорения дальнейших вычислений, сеть становится более инвариантной к масштабу входного изображения.
Сверточная нейронная сеть состоит из большого количества слоев. После начального слоя (входного изображения) сигнал проходит серию сверточных слоев, в которых чередуется собственно свертка и субдискретизация (пулинг).
Чередование слоев позволяет составлять «карты признаков» из карт признаков, на каждом следующем слое карта уменьшается в размере, но увеличивается количество каналов. На практике это означает способность распознавания сложных иерархий признаков. Обычно после прохождения нескольких слоев карта признаков вырождается в вектор или даже скаляр, но таких карт признаков становятся сотни. На выходе сверточных слоев сети дополнительно устанавливают несколько слоев полносвязной нейронной сети (перцептрон), на вход которому подаются оконечные карты признаков.
Слой свертки (англ. convolutional layer) - это основной блок сверточной нейронной сети. Слой свертки включает в себя для каждого канала свой фильтр, ядро свертки которого обрабатывает предыдущий слой по фрагментам (суммируя результаты поэлементного произведения для каждого фрагмента). Весовые коэффициенты ядра свертки (небольшой матрицы) неизвестны и устанавливаются в процессе обучения.
Особенностью сверточного слоя является сравнительно небольшое количество параметров, устанавливаемое при обучении. Так, например, если исходное изображение имеет размерность 100×100 пикселей по трем каналам (это значит 30 000 входных нейронов), а сверточный слой использует фильтры с ядром 3×3 пикселя с выходом на 6 каналов, тогда в процессе обучения определяется только 9 весов ядра, однако по всем сочетаниям каналов, то есть 9×3×6=162, в таком случае данный слой требует нахождения только 162 параметров, что существенно меньше количества искомых параметров полносвязной нейронной сети.
Слой пулинга (иначе подвыборки, субдискретизации) представляет собой нелинейное уплотнение карты признаков, при этом группа пикселей (обычно размера 2×2) уплотняется до одного пикселя, проходя нелинейное преобразование. Наиболее употребительна при этом функция максимума. Преобразования затрагивают непересекающиеся прямоугольники или квадраты, каждый из которых ужимается в один пиксель, при этом выбирается пиксель, имеющий максимальное значение. Операция пулинга позволяет существенно уменьшить пространственный объем изображения. Пулинг интерпретируется так: если на предыдущей операции свертки уже были выявлены некоторые признаки, то для дальнейшей обработки настолько подробное изображение уже не нужно, и оно уплотняется до менее подробного. К тому же фильтрация уже ненужных деталей помогает не переобучаться. Слой пулинга, как правило, вставляется после слоя свертки перед слоем следующей свертки.
После нескольких прохождений свертки изображения и уплотнения с помощью пулинга система перестраивается от конкретной сетки пикселей с высоким разрешением к более абстрактным картам признаков, как правило, на каждом следующем слое увеличивается число каналов и уменьшается размерность изображения в каждом канале. В конце концов, остается большой набор каналов, хранящих небольшое число данных (даже один параметр), которые интерпретируются как самые абстрактные понятия, выявленные из исходного изображения.
Эти данные объединяются и передаются на обычную полносвязную нейронную сеть, которая тоже может состоять из нескольких слоев. При этом полносвязные слои уже утрачивают пространственную структуру пикселей и обладают сравнительно небольшой размерностью (по отношению к количеству пикселей исходного изображения).
Используемым способом обучения может является метод обучения с учителем (на маркированных данных) - метод обратного распространения ошибки и его модификации.
Сверточная нейронная сеть первого типа используется для выявления на общих план-схемах уровней объектов строительства объектов, относящихся к объекту недвижимости. Для решения этой задачи сверточная нейронная сеть первого типа обучается на наборах данных, которые включают в себя изображения план-схем объектов недвижимости, которые являются положительными примерами, и изображения план-схем объектов общего пользования, которые являются отрицательными примерами. Соотношение положительных к отрицательным примерам 4 к 1, 8000 положительных и 2000 отрицательных.
После обработки входных данных, содержащих общую план-схему уровня объекта строительства с меткой уровня, сверточной нейронной сетью первого типа, на выходе будет получен набор план-схем отдельных объектов недвижимости, который является входным набором данных для сверточной нейронной сети второго типа.
Сверточная нейронная сеть второго типа может быть обучена на наборе массивов данных, который включает в себя условные изображения элементов строительства, таких как, например, окна, двери, стены, и наборе массивов данных, который включает в себя изображения план-схем одно/многоуровневых объектов недвижимости.
Описанные выше этапы способа обеспечивают возможность выявления многоуровневых объектов на плане-схеме объекта строительства.