Segment Anything/SEEM: интерактивная сегментация на GPU

Задача страницы. Показать, как построить интерактивную и пакетную сегментацию на облачных GPU с моделями класса Segment Anything/SEEM: точки/боксы/маски, автогенерация регионов, видео‑пропагация, разметка датасетов, VRAM/скорость, экспорт (COCO/VOC/PNG/RLE), наблюдаемость и стоимость. Страница — практический гайд и шаблоны.

TL;DR

Сценарии использования

  • Интерактивная разметка: клики/боксы/лассо → мгновенная маска, экспорт в COCO/VOC/PNG.
  • Автогенерация масок: пакетное покрытие сцены для первичной разметки/псевдо‑GT.
  • Семисупервизия: быстрое «накидывание» масок + доработка аннотаторами.
  • Видео: разметка ключевых кадров → пропагация масок по кадрам (flow‑guidance + лёгкая правка).
  • Пост‑обработка для CV‑пайплайнов: выделение ROI для OCR/детекторов/эмбеддингов (см. https://cloudcompute.ru/solutions/computer-vision/ocr/ и https://cloudcompute.ru/solutions/computer-vision/dinov2/).

Режимы подсказок (prompts) и параметры

**Подсказка** **Использование** **Стартовые параметры**
**Точки (positive/negative)** Быстрая правка границ n\_points=1–6, квант координат к сетке 4–8 px
**Боксы** Быстрое выделение объекта box\_nms\_iou=0.5–0.7, stability\_thresh=0.85
**Маски‑подсказки** Рафинирование, кластер объектов mask\_weight=0.3–0.7, feather 2–4 px
**Автогенерация (AMG)** Pseudo‑GT, препроц датасетов points\_per\_side=16–48, pred\_iou\_thresh=0.88

Практика. Держите «рязку» (перья) масок 2–4 px — меньше «ступеней». На больших изображениях включайте тайлинг с overlap 32–64 px.

Профили GPU/VRAM и скорость Ориентиры для fp16/bf16, batch=1, 1024², прогретые веса.

**Профиль GPU** **Интерактив (мс/клик)** **Автогенерация (изобр./мин)** **Видео пропагация (кадр/мс @720p)** **Комментарии**
**24 ГБ (Compact)** 50–120 20–60 12–25 Достаточно для UI разметки и AMG‑батчей
**48 ГБ (Balanced)** 35–90 40–120 20–35 Больше параллелизма/тайлинга
**80 ГБ (HQ)** 25–70 60–180 30–45 Многокадровые пайплайны, крупные тайлы

Хранилище/кэш: 50–200 ГБ на NVMe для весов, предпросмотров и масок. Подробнее — https://cloudcompute.ru/solutions/storage-data/

Архитектуры пайплайнов

A) Интерактивная разметка (низкая латентность)

UI (клики, боксы) → /segment (GPU) → маска PNG/RLE → редактор → экспорт

Рекомендации: on‑demand пулы, SSE/WebSocket‑стрим, квант координат к сетке.

B) Автогенерация масок (AMG) для датасетов

Объектное хранилище → шардирование → генератор масок (тайлы + overlap) → пост‑сборка → экспорт COCO/VOC

Рекомендации: interruptible пулы, чанк ≤ 2 мин, кеш препроцессоров. См. https://cloudcompute.ru/solutions/interruptible-patterns/ и https://cloudcompute.ru/solutions/image-video-gen/batch-render/

C) Видео‑пропагация

Ключевые кадры → интерактивные маски → оптический поток/attention‑гид → пропагация → правка → транскод

Рекомендации: NVME‑кэш кадров, «скользящие» параметры, контроль ID/ре‑инициализация при окклюзии. См. https://cloudcompute.ru/solutions/computer-vision/video-analytics/

Тайл‑сегментация для больших изображений

  • Тайлы 512–1024, overlap 32–64 → минимизируем «швы».
  • Сборка масок: объединение логитов/вероятностей, морфологическое закрытие швов.
  • Координаты: храните маску и смещения тайла (offsetX/offsetY).
  • NMS по маскам: IoU‑порог 0.5–0.7; конфликты решайте по стабильности маски. Экспорт и форматы
**Формат** **Для чего** **Примечания**
**COCO Instance (polygons/RLE)** Детальная аннотация Хорош для трекинга ID
**COCO Panoptic** Паноптическая сегментация Классы + instanceID
**VOC Masks (PNG)** Семантическая сегментация Цветовая легенда
**Binary PNG** Лёгкий ROI/маска Меньше метаданных, быстро

Отчёты, сводки и предпросмотры держите в артефактах партии. Шаблоны выгрузки — ниже.

API: интерактивный сервис сегментации (SSE)

# fastapi_sam.py — скелет интерактивного сервиса
from fastapi import FastAPI, Request
from fastapi.responses import StreamingResponse
import asyncio, json, base64
app = FastAPI()
def run_model(image_b64, prompts):
 # image_b64: base64 PNG/JPEG; prompts: {"points":[[x,y,1],...], "boxes":[[x1,y1,x2,y2],...]}
 # ... ваш инференс на GPU ...
 return {"mask_png_b64": "<...>", "rle": {"size":[H,W], "counts":"<...>"}}
@app.post("/v1/segment_stream")
async def segment_stream(req: Request):
 payload = await req.json()
 async def gen():
 yield "event: startndata: {}nn"
 result = run_model(payload["image"], payload.get("prompts",{}))
 yield "data: " + json.dumps(result, ensure_ascii=False) + "nn"
 yield "event: donendata: [DONE]nn"
 return StreamingResponse(gen(), media_type="text/event-stream",
 headers={"Cache-Control":"no-cache","X-Accel-Buffering":"no"})

Стриминг/прогресс для UI — https://cloudcompute.ru/solutions/llm-inference/streaming/ Наблюдаемость API — https://cloudcompute.ru/solutions/llm-inference/observability/

Пакетная автосегментация: оркестрация батчей

pipeline: sam-amg-tiling
defaults:
 tile: 1024
 overlap: 64
 points_per_side: 32
 pred_iou_thresh: 0.88
 stability_thresh: 0.85
storage:
 input: s3://datasets/images/
 output: s3://datasets/masks/
batch:
 chunk_seconds: 120
 retries: 3
export:
 formats: [coco_instance, png_binary]

Чанк ≤ 2 мин, ретраи, кэш весов/тайлов на NVMe — см. https://cloudcompute.ru/solutions/interruptible-patterns/ и https://cloudcompute.ru/solutions/storage-data/

Видео‑пропагация: стабильность по времени

  • Flow‑guided warp предыдущей маски → лёгкая дооценка логитов на текущем кадре.
  • Скользящий контроль параметров: stability_thresh и пороги плавно меняйте во времени (экспоненциальное сглаживание).
  • Ре‑инициализация: при падении IoU с референсом/сильной окклюзии — просите «контрольный клик».
  • Алерты: резкий рост площади маски/дрожание границ.

Метрики качества/скорости

  • Качество: mIoU, BIoU, mask‑stability, Δконтура, для видео — межкадровая IoU/дрожание.
  • Скорость: p50/p95 latency (интерактив), images/min (AMG), frames/min (видео).
  • Эксплуатация: GPU util/HBM, VRAM пик, cache‑hit NVMe, OOM/ретраи.

Сбор/дашборды — https://cloudcompute.ru/solutions/monitoring-logging/ и https://cloudcompute.ru/solutions/llm-inference/observability/

Экономика и sizing

Пусть t_click — p95 время отклика на клик, t_amg — среднее время автогенерации масок на изображение, c_gpu — цена GPU/час.

Интерактив:

Clicks_per_hour ≈ 3600 / t_click

Cost_per_1000_clicks ≈ (c_gpu × Num_GPU) / (Clicks_per_hour / 1000)

AMG (batch):

Imgs_per_hour ≈ 3600 / t_amg

Cost_per_1000 ≈ (c_gpu × Num_GPU) / (Imgs_per_hour / 1000)Оптимизация: fp16/bf16, правильный tile/overlap, NVMe‑кэш, шардирование, batched‑prompts. Планирование — https://cloudcompute.ru/solutions/cost-planner/

Безопасность и политика

  • Лимиты: max_resolution, max_points, max_boxes, max_tiles.
  • Маскирование PII в логах, запрет сохранения исходников без согласия.
  • Версионирование весов и конфигов в отчётах.

Подробнее — https://cloudcompute.ru/solutions/security/ и https://cloudcompute.ru/solutions/llm-inference/guardrails/

Траблшутинг

**Симптом** **Причина** **Что сделать**
«Зубчатые» края Слабое пост‑перо Feather 2–4 px, сглаживание контура
Маска «расползается» Низкий stability\_thresh Поднять stability\_thresh 0.85→0.9, добавить negative‑точки
Падает скорость на больших img Нет тайлинга/overlap Включить тайлинг 512–1024, overlap 32–64
Мерцание в видео Плавающие пороги Сглаживание параметров, flow‑guided warp
OOM при AMG Слишком большой tile/batch Снизить tile, включить градиентное освобождение
Разные результаты на ретрае Несогласованные версии/seed Фиксировать версии и квантовать координаты

Как запустить в cloudcompute.ru

Готовые шаблоны — https://cloudcompute.ru/solutions/templates/

  • “SAM‑Interactive (UI)” — on‑demand, SSE‑стрим, latency‑дашборд.
  • “SAM‑AMG (Batch)” — interruptible, тайлы/overlap, экспорт COCO/PNG, отчёты.
  • “Video‑Propagate” — flow‑guided пропагация, правка ключевых кадров, транскод (см. https://cloudcompute.ru/solutions/computer-vision/video-analytics/).

Инфраструктура: тюнинг — https://cloudcompute.ru/solutions/performance-tuning/ • наблюдаемость — https://cloudcompute.ru/solutions/monitoring-logging/ • сервинг — https://cloudcompute.ru/solutions/triton-inference-server/ • CI/CD — https://cloudcompute.ru/solutions/containers-ci-cd/

Чек‑лист перед продом

  • Сценарий: интерактив (on‑demand) или AMG/batch (interruptible).
  • Подтверждены профили VRAM/latency и tile/overlap на ваших данных.
  • Фиксированы версии весов/порогов; включено квантование координат.
  • Экспорт согласован (COCO/VOC/PNG), отчёты собираются.
  • Метрики/алерты/логи подключены; SLA по latency/throughput зафиксирован.
  • Рассчитаны Cost_per_1000_clicks и Cost_per_1000 (AMG).

Навигация по разделу «Компьютерное зрение»

Хаб: https://cloudcompute.ru/solutions/computer-vision/ • Детекция: https://cloudcompute.ru/solutions/computer-vision/yolo/ • Трекинг/ReID: https://cloudcompute.ru/solutions/computer-vision/tracking/ • Видео‑аналитика: https://cloudcompute.ru/solutions/computer-vision/video-analytics/ • OCR: https://cloudcompute.ru/solutions/computer-vision/ocr/ • Эмбеддинги (DINOv2/CLIP): https://cloudcompute.ru/solutions/computer-vision/dinov2/ • 3D‑реконструкция: https://cloudcompute.ru/solutions/computer-vision/3d-reconstruction/ • Гео/SAR: https://cloudcompute.ru/solutions/computer-vision/geospatial/ • Экспорт на edge: https://cloudcompute.ru/solutions/computer-vision/edge-export/ • Инфраструктура: https://cloudcompute.ru/solutions/performance-tuning/https://cloudcompute.ru/solutions/storage-data/https://cloudcompute.ru/solutions/monitoring-logging/https://cloudcompute.ru/solutions/llm-inference/observability/https://cloudcompute.ru/solutions/cost-planner/https://cloudcompute.ru/solutions/interruptible-patterns/https://cloudcompute.ru/solutions/triton-inference-server/https://cloudcompute.ru/solutions/containers-ci-cd/

Готовы запустить?

Запустить GPU-сервер