Skip to content

Latest commit

 

History

History
72 lines (56 loc) · 4.42 KB

File metadata and controls

72 lines (56 loc) · 4.42 KB

Iterative semantic decomposition — MVP report

Дата: 2026-08-11.

Что проверялось

Текущий primitive/text pipeline дополнен Mask R-CNN instance proposals для объектов внутри фотографии. Primitive и semantic candidates объединяются в общий pool; controller последовательно принимает наиболее уверенные маски, отбрасывает дубли, contained masks и background-like регионы, затем явно останавливается по порогу или исчерпанию кандидатов.

Каждое решение сохраняется в selection_trace вместе с mask, score и причиной accepted, rejected, stop или skipped. Это диагностический контракт для будущего обучаемого ranker и beam search.

Smoke benchmark

Case Ожидаемый объект Принятые semantic layers Semantic runtime E2E runtime
Portrait photo person person 1.53 с 13.75 с
Product photo bottle bottle 1.59 с 11.58 с
Northern coast none none 1.41 с 11.41 с
Fashion poster person person, card-like book mask 1.29 с 10.40 с

Итого на этом малом smoke set:

  • primary-object label recall: 1.00 (3/3);
  • semantic false positives на empty case: 0;
  • среднее время semantic detector: 1.45 с на CPU;
  • среднее end-to-end время: 11.78 с;
  • большой ошибочный primitive подиума/стола корректно отклоняется как background_like_border_region.

Это не статистически значимый real-world benchmark. Он подтверждает работоспособность архитектуры и закрывает конкретный прежний провал: человек и продукт внутри фотографии теперь становятся отдельными RGBA nodes, а не остаются навсегда запечёнными в фоне.

Что стало лучше

  • photo object discovery больше не ограничен k-means и контурами;
  • корректный stop на фотографии пейзажа без foreground object;
  • несколько объектов сцены могут быть приняты последовательно;
  • UI показывает весь ход принятия решения, включая hard negatives;
  • semantic checkpoint не хранится в git и является optional dependency: без него pipeline деградирует в primitive/text-only режим.

Известные ограничения

  • Mask R-CNN знает только категории COCO и иногда неверно называет design card book; маска при этом может оставаться полезной;
  • alpha лучше бинарной contour mask, но ещё не является настоящим matting;
  • OpenCV Telea плохо восстанавливает большой фон после удаления человека или продукта: move/delete previews честно показывают smear artifacts;
  • эвристический selector пока не предсказывает z-order и не выполняет rollback по edit-replay quality;
  • текущий benchmark слишком мал; следующий gate — 100 real-world изображений с ручной разметкой полезных слоёв.

Следующий этап

  1. Подключить trimap + ViTMatte либо сопоставимый alpha refiner.
  2. Заменить Telea на LaMa baseline и оценивать delete/move replay.
  3. Генерировать synthetic trajectories с 3–10 RGBA-объектами и известным z-order.
  4. Обучить next-layer ranker и stop head на accepted/rejected candidates.
  5. Заменить COCO-only detector на SAM 3.1 на CUDA либо class-agnostic SAM 2 backend после отдельного latency/recall сравнения.

Полные цифры лежат в metrics.json; тяжёлые воспроизводимые bundles находятся в игнорируемой папке results/.