алгоритм SIOX для создания выделений

  • Автор темы Автор темы denisgrim
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

denisgrim

Участник
Топикстартер
Сообщения
1 171
Реакции
1
А кто что может сказать про алгоритм SIOX (Simple Interactive Foreground eXtraction)? Я сумел лишь чуть-чуть уловить суть, и несколько смущён: процесс вырезания объектов выглядит фантастически просто. Что это: фантастическое будущее уже у нас дома?
http://www.siox.org/
Кто-нибудь ЭТО пробовал?
 
Ответ: алгоритм SIOX для создания выделений

Невозможно отобразить страницу
 
Ответ: алгоритм SIOX для создания выделений

Открывается. На скрине пример.
Однако плагин только для GIMP 2. Возникла проблема с установкой самого GIMP.
Для установки GIMP 2 нужен gtk+.
Установил его, но инсталятор GIMP 2 его не увидел.
 

Вложения

  • primer_siox_resize.jpg
    primer_siox_resize.jpg
    92.4 КБ · Просм.: 454
Ответ: алгоритм SIOX для создания выделений

Magic Wand?
В шопе последнем примерно тоже имхо
 
Ответ: алгоритм SIOX для создания выделений

неслабо, как я понял гимп нада 2,3,3 мож у вас другой?
 
Ответ: алгоритм SIOX для создания выделений

А там ссылочка есть, чтобы скачать новый Gimp уже со встроенным плагином, посмотрите лучше.
 
Ответ: алгоритм SIOX для создания выделений

Супер-мега-ультра-турбо-вырезалка? http://www.siox.org/pics/pferd_cut_big.png - Лошь!

Устроена, судя по описанию, также как как FluidMask. Пикча сегментируется (трассируется) по настраиваемому алгоритму и достаточно лишь выбрать все необходимые сегменты чтобы отбросить лишние. Выборка осуществляется простым пересечением сегмента и области селекции которую вы изображаете кистью.

Представьте что вы эту лошаТь оттрассировали. То есть, векторизовали автоматически предваритель введя всякие такие настройки для трассера. Получили несусветное число векторных объектов, которые теперь можно запросто отделить одни от других с помощью создания криволинейной области селекции в режиме intersection. Например в Кореле этого нет, но можно написать скрипт, который будет проверять - пересекается выделенный объект с текущим или нет - я на обероне как-то даже такой видел.

То есть, трассируете, выделяете пересечением все векторные объекты из которых состоит лошадь, группируете их, а затем остальные - удаляете. Вот так работают эти вырезалки - СУКС и ФлудМаск. Но, конечно, на выходе - растровые картинки, но внутри процессы совершенно аналогичны тем, которые протекают в мозгах трассировщика.
 
Ответ: алгоритм SIOX для создания выделений

Чтобы еще понятнее стало - представьте что вы запаслись пачкой антигеморройных свеч, выбрали MagigWand, поставлили низкий Tolerance и профтыкали всю картинку с Shift'ом стремясь собрать из получающихся мелких участков селекции - всю лошадь как из паззла. Покупаете ФлюидМаск или этот мегабаян - и выбрасываете свечи. Они и будут за вас фтыкать, а вам только останется выбрать что из полученных фрагментов оставить себе, а что им.
 
Ответ: алгоритм SIOX для создания выделений

Кстати, человек тоже трассирует картинку. Но только куски выбираются не перцепционно, а семантически - опыт восприятия диктует на что обратить пристальное внимание, а что пропустить.

А проблема машинного распознавания в том, что требуется чудовищные вычислительные ресурсы, чтобы во-первых собрать колоссальное количество образов, а затем разработать и запустить метод ассоцитивного сравнения видимого с виденным так, чтобы использовать результат сравнения в будущем. То есть, нужна этакая глубокоэшелонированная реляционная база данных на триллионы блобов. Человек к 6-ти месяцам начинает распознавать лицо родителей. А на Корбисе до сих пор армия индексаторов вписывает метатеги.

Это я к тому, чтобы вы не мечтали будто бы интеллектуальное машинное вырезание дело завтрашнего дня.
 
Ответ: алгоритм SIOX для создания выделений

Zest сказал(а):
выбрали MagigWand, поставлили низкий Tolerance и профтыкали всю картинку с Shift'ом стремясь собрать из получающихся мелких участков селекции - всю лошадь как из паззла.
Это описание гораздо больше похоже на правду чем то где речь идёт о векторах. Только добавлю, что обычно в таких программах ещё есть продвинутая галка Contiguous.
 
Ответ: алгоритм SIOX для создания выделений

А как тогда по-вашему работает векторизатор?

Нет, включеная эта галка не продвинутая, это естественный режим выделения - выделять только область. А выделять образец цвета во всем изображении (Similar) - это было продвинуто.

В общем, скачал я эту лошадь и без всякой чистки жопега вырезал - четкие границы вектором, хвост и гриву - Нокаутом. На вектор ушло 2 минуты, на Нокаут и небольшую ретушь - 3 минуты. Теперь можете попробовать SIOX в том смысле - сколько времени уйдет на зачистку границы вырезанного изображения и как она после этого будет выглядеть.
 

Вложения

  • horse_picture_pferd.jpg
    horse_picture_pferd.jpg
    195.7 КБ · Просм.: 552
Ответ: алгоритм SIOX для создания выделений

Кстати, лошадь зовут: Люция Францевна Пферд.
 
Ответ: алгоритм SIOX для создания выделений

Zest сказал(а):
А как тогда по-вашему работает векторизатор?
Нет, включеная эта галка не продвинутая, это естественный режим выделения - выделять только область. А выделять образец цвета во всем изображении (Similar) - это было продвинуто.
Имеется в виду, что векторизатор там совсем не нужен (только замедление работы программы). А продвинутость Contiguous заключается в том, что он позволяет настраивать свою работу (речь о "продвинутых" программах).
 
Ответ: алгоритм SIOX для создания выделений

то есть, этот SIOX, точнее мегатурбовырезалка не сильно то нужна? Продолжаем вырезать Нокаутом и ручками?
 
Ответ: алгоритм SIOX для создания выделений

Можно посмотреть что вы вырезали этим SIOX'ом?
 
Ответ: алгоритм SIOX для создания выделений

Zest сказал(а):
Можно посмотреть что вы вырезали этим SIOX'ом?
в том-то и дело, что не вырезал ничего: ГИМП стоит без упомянутого плагина, Флюид маск ещё не пользовал. Потому и спрашиваю: есть ли смысл качать эти SIOX'овые штучки?
И спасибо огромное за описание принципа работы алгоритма! Очень наглядно.
 
Ответ: алгоритм SIOX для создания выделений

Да вы посмотрите на интерфейс ФлюидМаски и все сами поймете - там эта фрагментация отображается прямо в окне где вы проводите манипуляции с селекцией. По крайней мере в 3-й версии так.

Что касается вопроса чем резать - его можно решить только практическим путем сравнения трудозатрат и результатов на множестве образцов. Но в случае когда вы хотите освоить универсальный метод дающий гарантированный результат за заранее известное время - нет лучшего способа чем приобрести опыт вырезания самому. Когда вы режете сами то все под контролем. Вы можете провести линию с учетом улучшения формы, или там с учетом будущей пост-обработки границ вырезанного объекта. Разумеется полупрозрачности типа волосы, одежда или стекло - когда позволяют условия - надо вырезать программой. Поэтому совмещение ручного вырезания по четким контурам и программного по нечетким - дает очень хорошие результаты как по качеству, так и по количеству.

Дело вот в чем. Четкие контуры на пестром фоне не сможет вырезать четко ни одна программа. Четкие контуры станут размытыми в той или иной степени, то есть, приобретут градиентную прозрачность изнутри - наружу. Я знаю что многие начинающие дизайнеры так и вырезают - берут мягкую кисть и ей обводят по форме. Но это низкое качество. Чтобы в Нокауте получить четкую границу по четкой границе на пестром фоне надо приложить много усилий по созданию области выделения точно повторяющей контур но с небольшим отступом. Внешний можно создать автоматом, но все равно его придется местами редактировать при этом, поскольку это же обычный Expand. В программах типа ФлюидМаск также придется проползти по границе объекта на пестром фоне чтобы получить ее качественной.

То есть, на самом деле когда объект заранее не снят на фоне ключевого цвета, вырезание сопряжено с обработкой четких границ в _любом случа_. Так стоит ли заниматься этим только для того, чтобы программа следуя данным ей четким указаниям смогла вырезать четко? Может быть тогда просто взять и обвести с макимальной четкостью векторным путем по контуру, которым и замаскировать. Это ведь дает возможность редактировать векторную маску после того как она создана. Например в том жопеге с лошадью сохранился векторный путь который был создан первично. Но он немного не совпадает с контуром, потому будучи применен как маска был отредактирован по месту.

Словом, задача вырезания распадается на две: вырезать четко вектором по четким контурам, и определить чем вы будете резать нечеткие - Нокаутом или кистью в быстрой маске. Опыт такого определения сэкономит немного время, но сначала всегда надо пытаться вырезать размытости Нокаутом чтобы понять на что он способен.
 
Ответ: алгоритм SIOX для создания выделений

Вырезав четко вы всегда можете размыть границы немного с помощью элементарного Feather'а: грузите селекцию со слоя, применяете к ней размытие и применяете как слоевую маску. С помощью настройки контраста маски можно изменять характер ее влияния на слой.

Случаи когда, скажем, часть изображения не в фокусе - удел Нокаута. То есть, совмещается всегда два частичных изображения - вырезанное вручную и программно. Совет: то, что вырезано программно помещайте ПОД то, что вырезано вручную. Т.к. на программном фрагменте много бывает артефактов вырезания в тех местах, где переходная область пересекает объект в произвольном месте (чтобы не весь его вырезать).

В ФАКе есть ссылка на развернутый (чересчур) урок по таком вырезанию.
 
Статус
Закрыто для дальнейших ответов.