Перейти к содержимому
Compvision.ru
Smorodov

Сегментация изображения при помощи PCNN

Recommended Posts

Сегментация изображения при помощи PCNN (Pulse-Coupled Neural Network)

(на основе результатов исследования работы глаза морских свинок).

Снимок результатов работы программы (при различных параметрах).

post-1-0-33743800-1340201489_thumb.png post-1-0-70424000-1340205349_thumb.png post-1-0-81774700-1340202279_thumb.png

закомментировал dilate, получилось что-то комиксоподобное


...
double Beta=0.8;
double alpha_theta=-2;

double alpha_F=-0.9;
double alpha_L=-0.1;

double V_F=1;
double V_L=1;
...

Mat rect_12 = getStructuringElement(CV_SHAPE_RECT, Size(3,3) , Point(1,1));
erode(Y, Y, rect_12,Point(),1);
//Mat rect_6 = getStructuringElement(CV_SHAPE_RECT, Size(3,3) , Point(1,1));
//dilate(Y,Y,rect_6,Point(),1);[/code]

post-1-0-30140700-1340204618_thumb.png

Если поэкспериментировать с параметрами, можно получать различные варианты сегментации.

При реализации руководствовался книжкой:

Lindblad J.M. Kinser "Image Processing Using Pulse-Coupled Neural Networks".

Там можно прочитать теорию.

Исходники: PCNN.RAR

  • Like 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хорошо смотрится. А как там по скорости? Есть замеры? (Сам не могу сейчас у себя запустить.)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Точно не измерял, но на статике быстро работает думаю кадров 10 всяко должно давать.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нет, ошибся в оценке, 0.68 - 0.8 сек, на изображении 512х512 (lena.jpg).

Хотя для изображения с лицом (средняя картинка) 0.04 сек.

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

Думаю на GPU реалтайм будет, нейросети хорошо параллелятся.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да, на GPU точно можно будет раз в 10-20 ускорить. Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а какой критерий для сегментации кроме скорости?

вроде бы есть датасет-тест где человеком размеченные области и сравниваются с тем что выдал алгоритм.(только как сравниваются непонятно)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да как сравниваются то понятно:

Истинно-положительные (true positives) – те категории, которые мы ожидали увидеть и получили на выходе

Ложно-положительные (false positives) – категории, которых быть на выходе не должно и анализатор их ошибочно вернул на выходе

Ложно-отрицательные (false negatives) – категории, которые мы ожидали увидеть, но анализатор их не определил

Истинно-отрицательные (true negatives) – категории, которых быть на выходе не должно и на выходе анализатора они тоже совершенно правильно отсутствуют.

precision=tp/(tp+fp); - точность

recall=tp/(tp+fn); - полнота

F1=(2*prec*rec)/(prec+rec); - метрика качества классификатора

хорошоая статейка здесь: http://blog.gramant.ru/2012/06/06/f1-measure/

Здесь тестовые сеты с "ground true"-сегментацией, сделанной (вроде бы) вручную.

Visual Object Classes Challenge 2010

Вот пример:

21.jpg

21_object.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Попиксельно думаю будет самым точным методом.

Берем пиксель и смотрим какому классу он принадлежит у нас и на аннотированной картинке.

Отсюда считаем tp tf fp fn, и метрику F1.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну попиксельно не учитывает форму никак, хотя может это и не так важно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×