Система по распознаванию чертежей для бюро строительной экспертизы от Технологики

Описание проекта

Система по распознаванию чертежей для бюро строительной экспертизы

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

Бизнес-логика

 

Чтобы точно подготовить оценку работ и смету, из плана здания необходимо получить следующую информацию об объекте:

  • Определить тип здания – это офисное здание, торговый центр, квартира или что-то другое.
  • Определить тип чертежа – это электрическая проводка, проводка труб, структурный чертеж с перечислением материалов или что-то другое.
  • Извлечь данные о масштабе.
  • Определить на плане специальные символы, такие как двери, окна, элементы санузлов.

Каждый проект является уникальным, разрабатывается разными подрядчиками на основе различного ПО, поэтому документация не стандартизована:

  • Все pdf-файлы по-разному форматированы;
  • Некоторые планы нарисованы от руки;
  • При разработке планов применяется большое количество шрифтов и специальных символов.

Готовые решения для распознавания символов не справлялись с должным уровнем погрешности, либо вовсе не могли справиться, поскольку символы, которые было необходимо распознать, представляли собой математические операторы, сокращения и аббревиатуры, а с такими символами аппарат OCR справляется плохо.

Распознавание типа плана помещений

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

Для определения типа здания и типа чертежа нам было необходимо найти специальную символьную последовательность, указанную на чертеже. Но не все документы относились к формату searchable pdf, поэтому для некоторых документов мы реализовали распознавание текста из изображения (OCR) и поиск совпадений при помощи регулярных выражений. При решении задачи было необходимо учесть, что размеры и шрифты идентификаторов могут быть разными.

В результате мы получили систему, которая быстро определяет тип здания и чертежа у любого документа, безотносительно к шрифтам и положению на чертеже символьного маркера.

Следующим главным параметром любого чертежа является масштаб. Для его определения мы использовали OCR Space и LeadTools, которые были дополнены балансировщиком. Балансировщик распределял нагрузку при обращении к OCR Space. Для дополнительного увеличения точности мы использовали Tesseract, что позволило добиться точности распознавания в 98%.

Распознавание объектов на плане

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

OpenCV, стандартный метод для поиска объектов, разработан для распознавания объектов реального мира и дает неудовлетворительный результат при работе с черно-белыми изображениями геометрических начертаний. Тем не менее, мы использовали OpenCV и добавили Deep Learning, мы натренировали нейросеть отсекать ложноположительные результаты, чтобы уменьшить шум, скомбинировав подходы.

Чтобы решить проблему различного символьного обозначения одних и тех же объектов, система изначально запрашивает у пользователя выделить символы, которые будет необходимо найти на чертеже и посчитать для составления сметы.

Расчёт сметы в формате Excel

Часто вместе с чертежом планировки идёт список всех дверей и окон. На языке оригинала это называется ёмким словосочетанием door and window schedule. Это список всех типов дверей и окон, которые встречаются в проекте.

Поэтому первоначальная задача – перевести для расчёта сметы все эти объекты в формат Excel, далее можно будет добавить нужные размерности стен, пола и потолка, чтобы получить финальную смету.

Существует ряд инструментов и решений, которые могут переводить pdf-таблицы в таблицы формата Excel, но такие решения плохо работают со сложными таблицами, в которых есть объединенные ячейки и разделение на страницы:

Объединенные ячейки часто некорректно разделяются на несколько ячеек. Также, когда таблица разделяется на несколько листов, колонки не совпадают между собой, что ведет к некорректному переносу данных, особенно когда текст переносится по строкам.

Мы разработали подсистему, которая сканирует pdf-таблицу и переводит ее в Excel формат без изменения оригинальной структуры таблицы и с сохранением целостности данных.

Бизнес-процесс

  1. Пользователь загружает pdf-файл с чертежом планировки
  2. Система определяет тип здания и тип чертежа, а также масштаб и отсекает чертеж.
  3. Пользователь исправляет ошибки, если те имеются, выделяет объекты, которые необходимо посчитать и жмет «Далее».
  4. Система занимается распознаванием стен, считает выделенные объекты и выдает Excel-файл со сметой и предварительной оценкой работ.

Задача по распознаванию чертежей и переводу их в электронную таблицу - это сложная задача и качество сильно зависит от входящего документа. Автоматизировать эту работу на 100% не получится в ближайшем будущем, человеческий труд так или иначе будет задействован, однако разработанный способ заметно сокращает ручную оценщика на 70-80%.

Хотите обсудить проект?

Напишите нам! Мы поможем найти максимально эффективное решение. В нашем арсенале современные технологии, благодаря которым мы можем реализовать проекты, начиная с простых мобильных приложений и заканчивая многофункциональными корпоративными порталами.