Вы нажали «Загрузить» и видите, как план БТИ превращается в стены. Что происходит в эти секунды? Разбираем весь конвейер распознавания — от пикселей до стен с проёмами и комнатами.
БТИAI-распознаваниеOCRGeminiDeepSeekИмпорт плана БТИ — первая кнопка, которую жмёт почти каждый пользователь GorkyCAD. За ней стоит целый конвейер: предобработка изображения, несколько vision-моделей, классический OCR и «голосование» за масштаб. Ниже — что именно происходит после того, как вы выбрали файл и нажали «Загрузить».
Изображение сначала нормализуют. Если скан снят с листа со штампом или рамкой — алгоритм находит границы самого плана и кадрирует по нему. Затем изображение бинаризуется (метод Сауволы лучше всего отделяет линии от фона при неравномерном освещении), очищается морфологией от шума и, если план слишком длинный, нарезается на перекрывающиеся тайлы не длиннее соотношения 1.5:1 — иначе модель «не видит» концы длинных коридоров.
Главный путь распознавания — облачные vision-модели. Сначала вызывается Gemini Vision (gemini-3-flash и запасные в цепочке), при недоступности — DeepSeek Vision через серверный прокси. Каждый тайл плана модель анализирует и возвращает структурированный ответ:
Стены из соседних тайлов склеиваются в единый контур, проёмы перепривязываются к объединённым стенам, дубликаты комнат удаляются. Если в первом проходе модель не нашла ни одной стены, план повторно отправляется целиком без нарезки.
Параллельно с vision-моделью работает классический OCR — Tesseract.js с русским и английским языками. Он ищет на плане цифры размерных подписей: «3400», «3.80», «5500». Растр прогоняется до трёх раз с разными порогами бинаризации, результаты склеиваются, а для каждой стены берётся консенсусное значение. Подписи площадей комнат («Кухня 12,4 м²») отсеиваются, чтобы не спутать площадь с размером стены.
Масштаб — самая важная величина после импорта: именно он переводит пиксели в миллиметры. GorkyCAD не доверяет одному источнику и устраивает голосование:
| Источник | Что даёт | Доверие |
|---|---|---|
| Размерные подписи (OCR + чтение моделью) | линейные размеры: «3400» = 3,4 м | высокое, если размеров ≥ 2 |
| Площади комнат («Кухня 12,4») | px²/м² → масштаб по площади | высокое, если комнат ≥ 3 |
| Оценка vision-модели | приблизительный масштаб | запасной вариант |
| Эвристики (ширина двери и т.п.) | грубая прикидка | крайний случай |
В результатах вы видите масштаб в px/м. Если он кажется подозрительным (меньше 35 или больше 700 px/м), перед применением появится предупреждение, а в редакторе распознанных стен — кнопка «Калибровка»: выделите стену с известной длиной и задайте реальный размер.
Сырые отрезки превращаются в нормальные стены: выравниваются углы, концы стен сшиваются, коллинеарные сегменты склеиваются, микростены-мусор отсеиваются, толщина квантуется в инженерный ряд, а всё изображение при необходимости поворачивается, чтобы доминирующие стены стали строго горизонтальными и вертикальными.
| Толщина на плане | Класс стены в GorkyCAD | Материал по умолчанию |
|---|---|---|
| меньше ~150 мм | перегородка (80/100/120 мм) | ГКЛ / газобетон |
| ~150–250 мм | обычная стена | газобетон / кирпич |
| ≥ 250 мм (медиана плана ≥160) | несущая (250/300/380/400 мм) | кирпич / бетон |
Перед переносом на холст контур проверяется «контролёром»: считается, сколько концов стен не замкнуты и нет ли висящих стен. Показатель вы видите как «Контур: N%». На последнем шаге стены добавляются в проект одной операцией вместе с дверями, окнами и комнатами, а исходный план сохраняется подложкой — если что-то разойдётся с оригиналом, вы всегда увидите это глазами.
Вкладка «Проект» → группа «Подложка» → «Загрузить». Файлы: SVG, PNG, JPG, WebP, BMP до 20 МБ.
5 секунд – 2 минуты. Появляются статусы: «План загружен», «Распознаю план через AI», «Читаю размерные подписи (OCR)», «GorkyCAD находит двери и окна».
Превью: «Распознано N стен · точность: X% · масштаб: Y px/м». При необходимости поправьте: Выбор, Добавить, Удалить, Калибровка.
Кнопка «Применить N стен» — стены, двери, окна и комнаты попадают на холст, план остаётся подложкой.
| Термин | Что это |
|---|---|
| Бинаризация (Саувола) | превращение цветного/серого скана в ч/б с адаптивным порогом — линии отделяются от фона |
| Морфология | очистка изображения от шума: «закрытие» разрывов линий, удаление точек |
| BBox плана | границы самого плана на скане: кадрирование убирает штампы и поля |
| Тайлы | перекрывающиеся фрагменты длинного плана для vision-модели |
| Скелетизация (Чжан-Суэня) | утоньшение залитых стен до линий-скелетов для контурного анализа |
| Кластер размеров | группа цифр-кандидатов, относящихся к одной размерной линии |
| Консенсус | согласование результатов нескольких проходов OCR (отсев выбросов, медиана) |
| Голосование за масштаб | сравнение источников масштаба: линейные размеры, площади комнат, оценка AI |
| ГОСТ-квантование толщин | округление распознанной толщины до инженерного ряда (80/100/120/200/250/300/380…) |
| Автоповорот | поворот изображения и координат при доминирующем наклоне ≥0,7° |
| Контур: N% | доля замкнутых концов стен (целостность геометрии) |
| Ситуация | Путь | Что получите |
|---|---|---|
| SVG-файл, нет входа | прямой SVG-парсер | стены из примитивов + тексты, 85–95% |
| Растр + вход в аккаунт | Vision AI (Gemini/DeepSeek) | стены, проёмы, комнаты, сантехника, ~95% |
| Растр без входа | ImageTracer → контуры → DeepSeek (текст) | контуры стен, ~85–90% при хорошем скане |
| План сложный, AI отказал | пиксельный анализ | скелеты стен, ~30%, нужна ручная правка |
| SVG из CAD | прямой парсер | максимальная точность, без OCR |
Vision-модели недетерминированы: два запуска одного файла могут дать чуть разные контуры (на 1–3%). Это нормально. Детерминированные части — SVG-парсер и пиксельный анализ: они дают одинаковый результат. Если вы получили «плохой» прогон — просто повторите импорт: шанс на лучший результат высок.
Исходный скан/фото сохраняется в проект как подложка (settings.backgroundImage): даунскейл до 1800 px по длинной стороне (JPEG 0.8), с пересчётом масштаба мм/px и смещения. Управление: вкладка «Проект» → «Подложка»: удалить, масштаб ±10%, поворот на 5°. Подложка печатается на планах, если включена (лист «План на подложке»).
Без входа работает только локальный пиксельный анализ: бинаризация, контурный анализ, морфология. Точность ~30%. С подключённым AI-аккаунтом план анализируют vision-модели (Gemini Vision, DeepSeek), которые видят план целиком: линии, проёмы, подписи, комнаты — точность ~95%.
SVG, PNG, JPG, WebP и BMP до 20 МБ. Лучше всего — SVG: цифры и линии векторные, распознаются точнее всего.
Обычно от 5 секунд до 2 минут — зависит от размера плана и числа элементов. Крупные планы нарезаются на перекрывающиеся тайлы и анализируются по частям.
На клиенте ключи не хранятся: запросы идут через серверный прокси gorkycad.pro, бэкенд подставляет ключ и списывает токены с вашего аккаунта.
Загрузите план БТИ, расставьте электрику, соберите щит — и получите комплект рабочей документации по ГОСТ: планы, однолинейную схему, спецификацию, кабельный журнал и смету.
Начать бесплатно Открыть редакторМатериалы носят справочный характер. Проектные решения принимайте по действующим нормам (ПУЭ, ГОСТ, СП) с участием аттестованного специалиста. Подробнее — справочник, документация GorkyCAD, FAQ.