BlueprintParse-R50
детектор пяти объектов на корейских планах
BlueprintParse-R50 от ThakiCloud — Faster R-CNN (ResNet-50 FPN v2) для корейских архитектурных планов. Модель экспортирована в один FP32 ONNX-граф и запускается на CPU или GPU через onnxruntime, возвращая боксы, класс и score для пяти классов. Боксы пересчитываются в пиксели исходного изображения.
🔥 Ключевые особенности
- 📌 Пять классов: газовая плита, унитаз, раковина, кухонная мойка, ванна.
- 🔥 На официальном тесте (1 014 изображений): mAP50-95 0.926, AP50 0.9805.
- 📌 На 53 новых чертежах mAP50-95 падает до 0.7875; сильнее всего проседает kitchen sink.
- ❌ Автоматический подсчёт не прошёл гейт:
COUNT_NO_GO, точное совпадение количеств по всем 5 классам — 0.566. - ✅ Выход включает
counts_draft,uncertain_candidatesиreview_required=true. - 💻 ONNX FP32, opset 17, динамические H/W; есть self-test и скрипт экспорта.
💻 Пример
from blueprintparse import BlueprintParse
bp = BlueprintParse(threads=16)
out = bp(open("floor_plan.png", "rb").read())
print(out["counts_draft"])
for d in out["detections"]:
print(d["class"], d["score"], d["box_xyxy"])
Подробнее
mAP50-95: 0.926 на официальном тесте (1 014 изображений), 0.7875 на 53 новых чертежах.Точное совпадение количеств по всем 5 классам — 0.566 (95% CI 0.434–0.698), поэтому автоматический подсчёт помечен
COUNT_NO_GO.Инференс ONNX FP32: p50 на синтетическом входе 1448×2048 — 26.1 мс на CUDA (B200) и 786.1 мс на CPU.
Только 5 классов; нулевые детекции не доказывают отсутствие объекта. Датасет AI-Hub 71465 нельзя распространять; веса и код — Apache-2.0.








Комментарии