Сегментация/Дифференциация отражающих поверхностей на изображениях

#algorithm #opencv #image-processing #image-segmentation

Вопрос:

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

В частности, есть ли какой-либо способ, которым я могу точно сегментировать «капот» автомобиля на всех этих изображениях ниже? Он содержит некоторое количество отражений света, поэтому использование основных фильтров становится сложным.

Чтобы было ясно; У меня нет никаких помеченных данных, но я думаю, что этого можно достичь только с помощью простых фильтров.

Несколько образцов:-

введите описание изображения здесь

введите описание изображения здесь
введите описание изображения здесь

Есть ли какой-нибудь способ каким-то образом отделить капот автомобиля от остальной части изображения?

  1. Фильтры, которые преобразуют капюшон, скажем, в черный, а остальные среды, странно идентифицируемые как черные или белые, не имеют значения. Единственное требование-наличие демаркационной линии между капотом и окружающей дорогой.
  2. Любой другой способ точного обобщения и фильтрации/сегментации/извлечения капюшона на основе других функций также приветствуется!

==> Реальная трудность здесь заключается в отражающих поверхностях — я хорошо знаю, что простые фильтры на основе цвета могли бы сработать, но отражение вызывает хаос с помощью простых методов, основанных на пороговом значении, которые я пробовал! 🙂

Комментарии:

1. Может быть, рассмотреть возможность сегментации по движению (неподвижности капюшона) между рамами?

2. @balmy: отражения тоже будут двигаться.

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

4. Как насчет обнаружения дороги, удаления ее и других окрестностей вместо непосредственного обнаружения капота автомобиля?

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

Ответ №1:

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

Я предполагаю, что область капюшона фиксируется камерой, поэтому проще всего нарисовать контур вручную.

Комментарии:

1. Все еще существует разница в цвете и контрастности между капотом и дорогой — разве этого недостаточно для эффективного сегментирования некоторого базового набора фильтров?

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

3. @balmy: мой плохой, неправильный адресат.

4. @neelg: Я не вижу никакого «цвета», и сегментация будет сегментировать все функции в отражениях, а не в капюшоне. Базовые фильтры будут просто выбрасывать мусор.

5. @balmy: Я также считаю, что из одного изображения это невозможно (особенно с использованием «фильтров»). Вы действительно можете проанализировать последовательность и найти места, которые «часто» являются одинаковыми серыми, но позвольте мне усомниться, что это будет эффективно.