2014-09-02 5 views
0

Я ищу немного руководства ... У меня есть одно изображение фотографии паспорта. То, что я хотел бы сделать, это разделить человека и фон. Затем я проанализирую цвет фона, рисунок и т. Д.OpenCV Фоновая сегментация/вычитание из одного изображения

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

Я также посмотрел на GrabCut, но я не хочу, чтобы пользователь вручную выбирал части фона/переднего плана изображения. Возможно ли автоматическая версия этого?

Я думал об использовании контура/края обнаружения (Осторожные?) ...

Спасибо заранее!

Edit: Пример набора изображений можно найти здесь: http://imgur.com/a/PKTDc#0


Так что я последовал совету Froyo и до сих пор имеют следующий результат: http://imgur.com/Mvwwu9f.png

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

+0

что ваше требование от образа ... г у ищет человек в целом, без фона или просто лицо/рук/нос и т.д .. ?? –

+0

Есть две основные возможности, которые я вижу: 1. позволить компьютеру узнать, что такое человек. Обнаружите человека и рассмотрите все остальное как фон. Думаю, эта задача еще не полностью решена. 2. сделайте предположения о том, что представляет собой передний план/фон. Основной контур (центрированный и/или самый большой контур) изображения на переднем плане, остальное - фон. Эта задача может быть очень ошибочной. Может быть, вы можете использовать идеи версии 2 в сочетании с каким-то механизмом обучения? ;) – Micka

+0

Можете ли вы предоставить набор образцовых изображений, может быть? – Micka

ответ

3

Вы можете использовать GrabCut и не нуждаетесь в ручном вводе. Вы должны обнаружить лицо, используя Haar Cascades, и передать ограничительную рамку в GrabCut. Я думаю, это сработает.

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

SLIC и SLICO - это современные алгоритмы сегментации суперпикселей. Вот некоторые из проделанной работы в этой области.

https://cvhci.anthropomatik.kit.edu/~baeuml/downloads/Schick2012.pdf

http://www.cs.huji.ac.il/~daphna/papers/Rosenfeld_ICCV2011.pdf

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

+0

Спасибо за помощь, Фройо! Очень ценится. – LKB

 Смежные вопросы

  • Нет связанных вопросов^_^