Обнаружение пола OpenCV путем сегментации

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

Я ищу некоторые рекомендации по алгоритмам, которые подходят для этой проблемы. Любая помощь будет принята с благодарностью.

Редактировать: в частности, я ищу алгоритм сегментации изображения, который может надежно извлекать одну область. Все, что я пробовал (в основном PyrSegmentation), кажется, работает, уменьшая изображение до N цветов. Это вызывает ложные срабатывания, когда камера смотрит на пустую область.


person pkinsky    schedule 07.07.2011    source источник
comment
Не могли бы вы уточнить, что именно не так с сегментацией, которую вы получаете от PyrSegmentation()?   -  person Michael Koval    schedule 08.07.2011
comment
он слишком много прыгает. При применении к видеопотоку с веб-камеры, направленной на белый лист бумаги с темным объектом на нем, он иногда срабатывает и иногда разделяет белую область на области. Я могу исправить это, увеличив второй порог, но затем, когда я удаляю объект, он пытается разбить чистый лист на области. Возможно, я не использую его должным образом, но, похоже, это неправильный подход к этой проблеме. Далее я собираюсь попробовать подход, основанный на сегментации гистограммы. @Майкл Коваль   -  person pkinsky    schedule 08.07.2011
comment
Чрезмерная сегментация, как правило, является очень сложной проблемой для решения. В большинстве случаев мне удавалось полностью избежать сегментации или сделать следующие этапы устойчивыми к чрезмерной сегментации.   -  person Michael Koval    schedule 09.07.2011


Ответы (2)


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

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

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

person AruniRC    schedule 09.07.2011

Если вы можете сделать предположение о постоянстве цвета, вашей основной проблемой будут изменения в освещении, которые сбивают ваше определение цвета. Для этого преобразуйте входное изображение в HSV, HSL, cie-Lab, YUV или другое цветовое пространство с разделением по яркости и сегментируйте изображение, основываясь только на цветовой части (не учитывайте значение яркости, V, L, L и Y в приведенных выше примерах). Это поможет вам преодолеть препятствия в виде теней и вариаций освещения.

person jilles de wit    schedule 07.07.2011
comment
Моя проблема в основном связана с этапом сегментации. Я могу заставить его работать на неподвижных изображениях или при определенных условиях освещения, но как только они меняются, он начинает давать сбой. - person pkinsky; 07.07.2011
comment
Да, именно поэтому вы хотите преобразовать свой iamge в относительно независимый от освещения формат. - person jilles de wit; 08.07.2011
comment
Сейчас я использую лист белой бумаги в качестве фона. Когда я отбрасываю на него тень, я получаю черные пятна на белом внутри тени (оттенок отображается в оттенках серого, openCV). Одно из возможных решений, которое я могу придумать, — это использование цветного фона вместо белого, который может быть представлен практически любым оттенком с очень низкой насыщенностью и высоким значением. @Жиль де Вит - person pkinsky; 08.07.2011
comment
Это может быть проблема светлого цвета. Использование четко окрашенного фона вместо белого может помочь. - person jilles de wit; 08.07.2011