3

У меня есть изображение, которое может содержать некоторые капли. Капли могут быть любого размера, а некоторые - очень сильным сигналом, другие - слабыми. В этом вопросе я сосредоточусь на слабых, потому что их трудно обнаружить.Обнаружение слабых капель в изображении шума

Приведен пример с 4 блоками.

enter image description here

сгустка в точке (480, 180) является наиболее трудным для обнаружения. Выполнив гауссовский фильтр с последующим операцией открытия увеличивает контрастность немного, но не много:

enter image description here

Хитрая часть этой проблемы заключается в том, что естественный шум в фоновом режиме приведет к (много) пиксели, которые имеют более сильный сигнал, чем blob, который я хочу обнаружить. Что делает blob блобом в том, что это либо большая область со средним увеличением интенсивности (или небольшая область с очень сильным увеличением интенсивности (здесь не актуально)).

Как включить эту пространственную информацию для обнаружения моего блоба?

Очевидно, что мне сначала нужно отфильтровать изображение с помощью гауссова и/или медианного фильтра, чтобы включить соседнюю область каждого пикселя в каждое значение одного пикселя. Однако никакого размытия достаточно, чтобы было легко сегментировать капли из фона.

EDIT: Что касается пороговых значений: Пороговое значение очень затруднено, но также проблематично само по себе. У меня нет области «чистого фона», и чем крупнее blob, тем слабее может быть сигнал - пока он еще обнаруживается.

Мне также не следует, чтобы типичный образ не имел никаких капель вообще, а просто был чистым фоном.

+0

Попробуйте установить пороговое значение, затем маркируйте связанные компоненты, затем морфологическое отверстие, чтобы избавиться от меньших компонентов (шума). –

+0

@MalcolmMcLean Я разъясню это в вопросе. Я нахожу (начальное) пороговое значение проблематичным, потому что я не знаю, какой порог использовать. 1) Я не знаю регион, который, как гарантируется, будет содержать фон. 2) Если blob больше, сигнал может быть слабее. – Markus

+0

Вы просто ищете положительную идентификацию и расположение капли, или вам нужно точное измерение размеров? –

ответ

0

По моему опыту, если вы видите гауссовский размер фильтра (эти маленькие круги), то ширина фильтра слишком мала. Хотя ужасно дорого, попробуйте поднять радиус на вашем гауссовском, он должен продолжать улучшать ваши результаты до своего радиуса, соответствующего радиусу самого маленького объекта, который вы пытаетесь найти.

После этого (тяжелый гауссовский) я сделаю пиковый поиск по всему изображению. Вырежьте все пики, которые слишком низки, или слишком мало контрастируют с ближайшей долиной/фоном.

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

+0

Спасибо. Прежде всего, увеличение гауссовского фильтра сильно улучшает ситуацию. Однако как я могу это сделать, когда у меня действительно нет «самого маленького объекта»? Мои маленькие объекты очень контрастные. Если контраст огромен, я могу обнаружить объекты, меньшие, чем пиксель (один или два пикселя будут очень яркими), и если контраст плох (как в этом случае), объект, очевидно, должен быть намного больше, чтобы быть видимым. – Markus

+0

Ну, я должен предположить, что ваши маленькие объекты (если обнаруживаются) имеют очень высокий контраст (иначе они будут неотличимы от фонового шума). –

+0

Хотя полезно установить фильтр гуасиан для вашего целевого размера, действительно в конце дня, он просто должен быть достаточно большим, чтобы убить ваш шум, поэтому, возможно, запустите некоторый анализ вашего худшего шума и установите свой гауссовский фильтр основываясь на этом. гауссовский фильтр никогда не должен затруднять поиск объекта, пока он не превысит его размер. –

0

Может попробовать итеративный подход с использованием пороговых и обнаружение края:

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

Повторите этот шаг для нижнего и нижнего порогов. В определенный момент вы увидите массивный всплеск в обнаруженных краях (т. Е. Ваш прохладный текстурированный фон). Затем верните порог немного выше и запустите закрытие и заливку на полученном изображении края.

1

Вы можете попробовать преобразование h-minima. Он удаляет любые минимумы под высотой h и увеличивает высоту всех других проходов h. Он определяется как морфологическая реконструкция эрозии, увеличенная на высоту h. Вот результаты с ч = 35:

after h-minima transform

Это должно быть намного легче манипулировать. Он также требует ввода как сегментации. Разница в том, что это более устойчиво. Недооценка h относительно большим числом приведет только к тому, что вы вернетесь ближе к исходному образцу проблемы, а не к отказу полностью.

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

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

+0

Спасибо, выглядит интересно. Я поиграю с ним – Markus