Методы сегментации изображений: интерактивная сегментация Авторы: Вадим Конушин , Владимир Вежневец
Пример интерактивной сегментации изображения показан на рис. 1
(а)                                       (б)                                      (в)                 (г)
Рис. 1. Пример интерактивной сегментации изображения. (а) - пользователь указывает ограничивающий прямоугольник вокруг объекта, (б) - соответствующий результат сегментации, (в) - дополнительный пользовательский ввод. Белой кистью пользователь отметил пиксели объекта, красным - фона, (г) - финальная сегментация.
Введение
В последнее время стало ясно, что современные автоматические алгоритмы не способны решать произвольные задачи сегментации с гарантированным результатом. Более того, по всей видимости, в ближайшее время такие алгоритмы не появятся. Поэтому всѐ большее и большее внимание стало уделяться интерактивной сегментации изображений.
Настоящий прорыв в данной области произошѐл в 2000 г. - с изобретением Юрием Бойковым и Мари-Пьер Джолли алгоритма GraphCut. Этот алгоритм де-факто стал эталонным. Большая часть новых алгоритмов интерактивной сегментации изображений являются развитием GraphCut-а. Остальные алгоритмы, сравниваются в первую очередь с ним. Разрезы графов, на которые опирается GraphCut, стали активно использоваться и в других областях компьютерного зрения: сегментации видео, ститчинге, стерео-реконструкции.
Интерактивная сегментация изображений активно используется для редактирования изображений, анализа медицинских данных, а также является составной частью многих алгоритмов компьютерного зрения. Постановка задачи
В интерактивной сегментации изображений обычно рассматривается задача разбиения только на 2 области - объект и фон (разбиение на большее число областей получается многократным разбиением на 2 области).
На вход алгоритм получает:
исходное изображение
какую-то дополнительную информацию от пользователя:
ограничение на то, что некоторые конкретные пиксели обязательно должны принадлежать
объекту (фону)
ограничивающий прямоугольник вокруг объекта
примерную границу объекта и т.п.
В процессе работы алгоритма пользователь может уточнять или дополнять входные данные.
На выходе алгоритм должен дать разбиение исходного изображения, удовлетворяющее наложенным пользователям ограничениям. Это разбиение должно удовлетворять неким априорным представлениям пользователя о разбиении изображенных объектов. Оценка качества работы алгоритмов
Как видно, сама постановка задачи не является четкой. Как оценить априорное представление пользователя о разбиении объектов? В автоматической сегментации, для построения меры качества разбиения, используются предположения о том, что <похожесть> цвета пикселей, текстуры внутри одного объекта должна быть максимальной, а между объектами - минимальной. Но в интерактивной сегментации пользователь может делать сколь угодно много <подсказок> алгоритму - добавлять новые ограничения, уточнять входную информацию до тех пор, пока не получит ожидаемого результата. Понятно, что в пределе, когда пользователь явно укажет про каждый пиксель, к какой области он должен принадлежать, он всегда получит идеальную сегментацию. Можно было бы оценивать качество сегментации при одних и тех же подсказках, но различные алгоритмы получают различную входную информацию от пользователя.
Также в интерактивной сегментации предполагается, что пользователь при помощи <подсказок> алгоритму - дополнительного ввода, должен иметь возможность отсегментировать объект даже в тех случаях, когда его часть и по цвету и по текстуре ближе фону, чем оставшейся части объекта. Это тоже затрудняет создание объективных метрик.
Поэтому естественно, что для сравнения алгоритмов интерактивной сегментации чаще
всего используют субъективное сравнение: берется несколько изображений, и нескольким
пользователям ставится одна из 2 задач:
отсегментировать данным алгоритмом все изображения не хуже заданного уровня
(сравнение на <не хуже> осуществляется субъективно самими пользователями, для
сравнения даѐтся какой-то образец сегментации). После чего измеряется при каком
алгоритме на эту задачу ушло меньше всего времени
За заданное, ограниченное время, как можно лучше отсегментировать данные
изображения. После истечения положенного срока, пользователь субъективно оценивает,
какой алгоритм дал лучшую сегментацию.
Алгоритмы интерактивной сегментации
Magic Wand [1]
Magic Wand (<волшебная палочка>) является, наверное, самым известным и, возможно, самым простым алгоритмом интерактивной сегментации изображений. Она встроена практически в каждый современный графический редактор.
Пользователь указывает пиксель объекта и задаѐт порог. Алгоритм относит к объекту область, включающую заданный пиксель, и цвета всех пикселей которой отличаются от цвета заданного пикселя не больше, чем на данный порог. По указанию пользователя можно выделить только связную подобласть, включающую заданный пиксель.
Очевидно, что данный алгоритм работает только в случаях, когда цветовое распределение фона и объекта не пересекаются.
В реальности для сегментации сложных объектов пользователю приходится выбрать маленький порог, и по очереди указывать алгоритму множество пикселей объекта, добавляя при этом маленькие кусочки к текущей маске объекта. Примеры работы алгоритма показаны на рис. 2.
Рис. 2 Пример сегментации с помощью Magic Wand. На пример (а),(б) - ушло 8 кликов мыши, на пример (в), (г) ушло более 20 кликов, причем некоторые части оленя остались неотсегментированными из-за пересечения цветовых распределений фона и объекта. Изображения взяты из базы Беркли [2].