TGViewer
ЛисьяТаверна ЛисьяТаверна @smailspub · 335 subscribers
Post #1057 182
Здорово, солнышки!

Скоро-скоро число постов про #АГР изменится — обещаю. А пока ещё один заход на тему проверки🔥

С тем, что приходится прикладывать к модели документы, у которых из пользы — только дополнительная валидация и упрощение работы для машины, ещё можно смириться. А вот перепроверять всё глазами и руками уже не хочется, согласны?

Сегодня — идея с кружка в понедельник: сверять Альбом АГР с планами из TRM. Суть в том, что альбом часто создаётся заметно раньше планировок, которые потом прикладывают к модели. О крупных инцидентах из-за такого расхождения я не слышал — то ли оно и правда не встречается, то ли просто в ответ обычно получаешь «а зачем» или «это нереализуемо»😤

В общем, подкидываю идею разработчикам, которые вдруг будут прокачивать софт для экспертов: вот как можно запустить такое сравнение в 5 крупных шагах. Детали и побочные «артефакты» можно разобрать уже по ходу дела.

🐱 Шаг 1. Читаем PDF — PyMuPDF (fitz). Достаёт из PDF текст с координатами и рендерит страницу в картинку.
🐱 Шаг 2. Ищем общие точки — уникальные подписи + метод наименьших квадратов (NumPy lstsq). Берём подписи, которые на чертеже встречаются ровно один раз (номера помещений, узлов), сопоставляем их между двумя PDF и по набору таких пар точек считаем одну формулу «масштаб + сдвиг», которая совмещает координаты одного чертежа с другим.
🐱 Шаг 3. Совмещаем картинки в одной системе пикселей — OpenCV (warpAffine). Применяем формулу из шага 2 к изображению — второй чертёж «перекладывается» поверх первого.
🐱 Шаг 4. Ищем графические отличия — бинаризация + морфология (OpenCV). Каждый чертёж переводим в чёрно-белую маску «где линия/текст», маски вычитаем друг из друга — с допуском в пару пикселей на разную толщину линий.
🐾 Шаг 5. Ищем текстовые отличия — сопоставляем слова по значению и координатам (PyMuPDF). Для каждого слова ищем пару на другом чертеже: нашлась — не менялось, не нашлась — удалено, добавлено или переехало.

Сверху всё это можно ещё «обмазать» LLM-моделью для детализации — но тут уже на усмотрение того, сколько вычислительных мощностей есть под рукой.

А сам отчёт, который я, по сути, собрал на коленке, прикладываю снизу :)

Возможно, кому-то эта идея пригодится. А если нет — ну и ладно тогда!

Всем SUP!
More from @smailspub
  1. Sep 22, 2026Здорово, солнышки!👍 Осень потихоньку начинает вступать в свои права, а я тем временем обу…
  2. Sep 21, 2026Я попросил ИИ сделать GTA на районе и он почему-то её даже сделал Здорово, солнышки!😎 Я п…
  3. Sep 20, 2026Здорово, солнышки! Вы думали, мои эксперименты прекратились? Сегодня я принёс очередной те…
  4. Sep 17, 2026Post #1067
  5. Sep 15, 2026Здорово, солнышки! Думал сегодня рассказать вам про 1-метилциклопропен — газообразное хими…
  6. Sep 14, 2026В эту пятницу, в СПб будет большая конференция BIM на практике 2026, планирую заскочить и…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →