Сегментация полупрозрачного материала, например стекла

11

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

изображение 1 изображение 2

Я пытался удалить фон с помощью морфологических операций, таких как расширение оттенков серого и деление на него. но это не сильно помогло. после этого я попытался использовать k-means с k = 3 для отделения модифицированного фона от значений серого и черного цветов стекла. Это не было успешным в некоторых случаях, но не в целом / в среднем. Я также попытался сделать четкое обнаружение краев с помощью фильтра с размытыми краями, но это привело к более слабым результатам в виде открытых контуров, большого количества шума и т. П.

Canny с автоматическим порогом результатов:

testimg = imread('http://i.imgur.com/huQVt.png');  
imshow(testimg)
imedges = edge(testimg,'canny');
imshow(imedges);

То же самое касается второго изображения.

хитрый выход # 1 хитрый выход № 2

Как видите, внутри и снаружи много шума и двойных краев от границы стекла. Даже есть зазоры по краям.

Итак, мне нужны ваши советы для получения общего подхода к решению этой проблемы полупрозрачных материалов, а не только для этих двух изображений.

1) Другие идеи по удалению фона без повреждения объекта?

2) Другие методы сегментации для отделения объекта от фона?

Если это возможно, то с Matlab, IPT или статистическими подсказками. Любые другие советы также приветствуются!

Спасибо за ваш ответ заранее. Искренне

mchlfchr
источник
Всегда ли фон одинаков?
эндолит
почти, отличается немного темнее / ярче.
mchlfchr
1
Ну вычитания фона из каждого изображения будет отталкиваться, что делает его более равномерным: imgur.com/9WhcB
эндолиты
1
Что вы имеете в виду? У вас есть изображение фона без стекла?
эндолит
1
@DennisJaheruddin Я знаю, что край НЕ черная линия. Край определяется как изменение интенсивности / частоты, что означает, что значения серого изменяются более или менее быстро. Тем не менее, как вы можете видеть из контекста, метод Canny здесь не будет предпочтительным оружием, поскольку из-за фона я получу много шума (с Canny). И я не могу предсказать автоматический порог / сигма. Поэтому мне нужен метод, который облегчает фон, но не сам объект.
mchlfchr

Ответы:

3

Почему бы просто не использовать простой 2D FFT (guassian) фильтр верхних частот?

Я сделал это очень быстро с помощью MATLAB

Осколок № 1 с использованием высокочастотного БПФ:

http://i47.tinypic.com/rbjxnd.jpg

То же самое сделано на # 2.

Осколок № 2 с использованием высокочастотного БПФ:

http://i45.tinypic.com/209kms0.jpg

Как вы можете видеть, фон и область стекла стерты, и только края обведены. Я не тратил на это никакого времени, но вы можете ограничить выходной сигнал отфильтрованного HP, чтобы получить более четкие края, или отодвинуть HP выше.

Это больше результатов, которые вы хотите получить?

Ариэль Бентолила
источник
1

Это не попытка ответить на весь вопрос, но у меня есть идея «очистить изображение» .

Вы сказали, что уже пробовали морфологические операции , и это вариант идеи, надеюсь, это обновление.

В этой статье: А. Вичик, Р. Кешет, Д. Малах: Самодвойственная морфология полурешеток деревьев и их приложений предлагает способ усиления классических морфологических операторов таким образом, чтобы они могли добавить к ним более желательные свойства.

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

Мы представили общую структуру для производства новых морфологических операторов (...)

Я объяснил эти иерархические древовидные структуры во второй части этого ответа ( Семантические подходы ) , к которой вы можете добавить дерево экстремальных водоразделов, упомянутое в статье, на которую я ссылался здесь (и снова) .

Это обновление (цитируя авторов) «традиционной математической морфологии в градациях серого», потому что операции сохраняют желательные свойства представлений . Например , если ваше иерархическое представление самодвойственно, ваши операторы будут действительно самодуальны (например сравнить с квази -самосопряженным двойным открытие-закрытие по реконструкции , которая не является действительно самодуально.)

В связанной статье также представлены некоторые результаты по фильтрации шума - вы можете сравнить их результаты из статьи (и из тезиса, на который есть ссылка в статье) с тем, что вам нужно (по крайней мере, визуально) и посмотреть, сработает ли это для вас, прежде чем начать кодировать.

Таким образом, при выборе дерева простейшего представления (max- / min-) будут получены именно классические операции, выбор самодвойственного дерева, которое наилучшим образом соответствует вашим потребностям, может дать вам достаточно надежный подход.

Пенелопа
источник