Если вы читаете это значит модель очень сырая. И использовать ее не рекомендуется.

🇷🇺 Russian Wall Length Extractor (Qwen3-VL-2B Fine-tuned)

Мультимодальная модель для извлечения длины и типа стены по строительным чертежам.

Основана на Qwen/Qwen3-VL-2B-Instruct и дообучена на задаче анализа фрагментов чертежей с выделенными красным прямоугольником объектами. Модель будет обновляться в будующем.

Модель возвращает результат строго в формате JSON.


🔧 Возможности

  • Определение типа стены
  • Определение длины стены
  • Поиск длины на размерных линиях
  • Попытка восстановления полной длины стены по фрагменту
  • Возврат структурированного JSON
  • Работа с русскоязычными строительными чертежами

📥 Формат входа (актуально для 4B модели)

На вход подается изображение и текстовый запрос:

Верни тип и длину выделенного красным прямоугольником элемента на плане. Тип бери из справочника типов. Если элемента нет в справочнике, верни {{}}. Если длину определить нельзя, верни length: null. Если длина найдена только после продолжения стены, заполни extended_wall. Верни в формате JSON: {{"extended_wall": {{"type": 0, "length": null}}, "walls": [{{"type": 0, "length": null}}]}}
Справочник типов: {objects_types}

где {objects_types} это {"Неизвестно": 3, "Стена_4": 9, "Окно": 0, ...}


📤 Формат выхода

{
  "extended_wall": {
    "type": 0,
    "length": null
  },
  "walls": [
    {
      "type": 0,
      "length": null
    }
  ]
}

Если объект не является стеной:

{}

🚀 Пример использования

from transformers import AutoProcessor
from transformers import AutoModelForImageTextToText
from PIL import Image
import torch

MODEL_NAME = "GreenMap/qwen3-vl-2b-ru-blueprint-extractor"

processor = AutoProcessor.from_pretrained(
    MODEL_NAME,
    trust_remote_code=True,
)

model = AutoModelForImageTextToText.from_pretrained(
    MODEL_NAME,
    trust_remote_code=True,
    dtype=torch.bfloat16,
).cuda()

image = Image.open("drawing.png").convert("RGB")

messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "image": image},
            {
                "type": "text",
                "text": (
                    "Запрос из файла."
                ),
            },
        ],
    }
]

text = processor.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
)

inputs = processor(
    text=[text],
    images=[image],
    return_tensors="pt",
)

inputs = {
    k: v.cuda()
    for k, v in inputs.items()
}

with torch.no_grad():
    generated = model.generate(
        **inputs,
        max_new_tokens=256,
        do_sample=False,
    )

answer = processor.decode(
    generated[0],
    skip_special_tokens=True,
)

print(answer)

⚙️ Рекомендуемые параметры

max_new_tokens=256
do_sample=False
temperature=0.0

🏋️ Обучение

  • Базовая модель: Qwen/Qwen3-VL-2B-Instruct
  • Тип обучения: Full Fine-Tuning
  • Формат датасета: image + instruction → JSON
  • Язык чертежей: русский
  • Выходной формат: JSON

📌 Применение

  • Анализ строительных чертежей
  • Извлечение параметров стен
  • Подготовка данных для BIM/IFC
  • Автоматизация обработки проектной документации
  • Извлечение структурированных данных из планов зданий
Downloads last month
4
Safetensors
Model size
2B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for GreenMap/qwen3-vl-2b-ru-blueprint-extractor

Finetuned
(245)
this model
Quantizations
1 model