Segment Anything/SEEM: интерактивная сегментация на GPU
Задача страницы. Показать, как построить интерактивную и пакетную сегментацию на облачных GPU с моделями класса Segment Anything/SEEM: точки/боксы/маски, автогенерация регионов, видео‑пропагация, разметка датасетов, VRAM/скорость, экспорт (COCO/VOC/PNG/RLE), наблюдаемость и стоимость. Страница — практический гайд и шаблоны.
TL;DR
- Для интерактива берите on‑demand пулы, latency < 150 мс/клик; для массовой разметки — interruptible очереди с чанкованием по изображениям/кадрам.
- Стабильность даёт: фиксированное разрешение/квантование координат, «перья» масок 2–4 px, тайлинг для больших изображений, видео‑пропагация с оптическим потоком.
- Экономьте: храните весовые файлы и автокарты (канни/градиенты) на NVMe‑кэше, батчируйте клики, используйте формат экспорта по назначению (COCO/VOC/PNG).
- Смежные разделы: CV‑хаб — https://cloudcompute.ru/solutions/computer-vision/ • видео‑аналитика — https://cloudcompute.ru/solutions/computer-vision/video-analytics/ • трекинг — https://cloudcompute.ru/solutions/computer-vision/tracking/ • эмбеддинги (DINOv2/CLIP) — https://cloudcompute.ru/solutions/computer-vision/dinov2/ • экспорт на 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/
Сценарии использования
- Интерактивная разметка: клики/боксы/лассо → мгновенная маска, экспорт в 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-сервер