2016-11-14 7 views
1

Я работаю над приложением faceetection, используя сегментацию скинселей с предопределенной скинмодели в пространстве YCrCb. Я свободно основываю свои алгоритмы этого отчета; http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=767122&tag=1, Дугласом Чаем и королем Н. Нганом.Шумоподавление OpenCV образец сканирования

I первый сегмент из всех пикселей на экране (см. Слева). После этого я выполняю некоторые вычисления для уменьшения шума (см. Шаги ниже). Это приводит к отфильтрованному растровому изображению 1/8-го размера оригинала. В идеале это было бы бесшумным как в области лица, так и в фоновом режиме, но это не так. Я уже пытался уменьшить его, используя мою карту плотности, а затем проверяя соседние пиксели области 3x3 и размывая/расширяя значения пикселей в зависимости от их соседей. Затем я изменяю размер этого растрового изображения и применяю результат как маску на исходном изображении (см. Правое изображение для результата, игнорируйте мою цензуру).

Left is skin pixel segmentation and right is en result

enter image description here

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

Там также, кажется, немного перемещение измененной маски (она немного порезается на правой стороне лица и немного отличается от левой стороны). Что может быть причиной этого?

ответ

0

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

+0

Да, я уже использовал resize() и pyrUp() с различными методами интерполяции, чтобы получить результат, показанный на картинке (по-видимому, INTER_CUBIC дал лучший результат). Я посмотрел документацию, но пока не нашел ничего лучшего. В любом случае спасибо. – Hopploppa