Segmentation mask
Segmentation mask (маска сегментации) — бинарное или полутоновое изображение, где каждый пиксель кодирует принадлежность к объекту (1/белый) или фону (0/чёрный). Soft mask содержит промежуточные значения 0–255 для полупрозрачных областей и антиалиасинга.
Segmentation mask (маска сегментации) — изображение того же разрешения, что и входное, где каждый пиксель кодирует класс или уровень принадлежности объекту. В задаче удаления фона маска — это карта «объект vs фон», создаваемая нейросетями типа BiRefNet или rembg перед финальным compositing.
Типы масок
- Бинарная (hard) маска: каждый пиксель строго 0 (фон) или 255 (объект). Чёткая граница без полупрозрачности. Используется для геометрических форм, иконок. Недостаток — лестничный эффект (aliasing) на диагональных краях.
- Soft mask (alpha mask): значения 0–255, где промежуточные представляют полупрозрачность. Позволяет плавно смешивать объект с новым фоном. Критична для волос, стекла, меха.
- Instance mask: отдельная маска для каждого объекта на сцене (Mask R-CNN, SAM). Позволяет выделить человека среди множества объектов.
- Semantic mask: пиксели классифицируются по типу объекта (человек, небо, трава, автомобиль). DeepLab, Segformer.
От маски к альфа-каналу: pipeline
- Нейросеть предсказывает soft mask в диапазоне [0,1] для каждого пикселя
- Маска умножается на 255 — становится alpha-channel
- Alpha refinement уточняет значения в зоне 10–245 (неопределённая граница)
- RGBA-изображение собирается: RGB из оригинала + A из маски
- Compositing: RGBA накладывается на новый фон через формулу Alpha Compositing (Porter-Duff «over»)
Форматы хранения масок
| Формат | Тип маски | Применение |
|---|---|---|
| PNG 8-bit grayscale | Soft mask (0–255) | Общий случай, alpha refinement |
| PNG RGBA | Встроенная alpha | Готовый результат для compositing |
| NumPy .npy float32 | Вероятностная (0.0–1.0) | Промежуточные вычисления в Python |
| RLE (Run-Length Encoding) | Бинарная компрессия | COCO dataset формат |
Маски в Panda AI
API удаления фона Panda AI возвращает два варианта: RGBA PNG (объект на прозрачном фоне) или alpha mask в grayscale (по запросу параметра output=mask). Mask-only режим полезен, когда клиент хочет самостоятельно выполнить compositing с нестандартным фоном или наложить несколько объектов.
FAQ — Segmentation mask
Почему на волосах маска всегда хуже, чем на теле?
Волосы — полупрозрачные, тонкие, перемешанные с фоном на субпиксельном уровне. Ни одна сеть не может восстановить «правильный» alpha для волоска шириной 1–2 пикселя. BiRefNet даёт лучший результат за счёт локальной high-resolution ветки, но абсолютной точности нет. Для студийных портретов на сплошном фоне — результат близок к идеальному.
Можно ли редактировать маску вручную после AI?
Да, это стандартная практика. После автоматического удаления фона — доработка в Photoshop (Select and Mask), GIMP или Figma. Panda AI планирует добавить in-browser mask editor для ручных правок без скачивания файла.