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


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

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-) будут получены именно классические операции, выбор самодвойственного дерева, которое наилучшим образом соответствует вашим потребностям, может дать вам достаточно надежный подход.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.