Обнаружение объекта + сегментация

Я пытаюсь найти эффективный способ приемлемой сложности

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

Прошло 3 недели с тех пор, как я вошел в мир обработки изображений и читал о стольких алгоритмах (просеивание, змейки, больше змей, связанных с Фурье и т. д.), и эвристики, которую я не знаю, с чего начать и какой из них «лучший» для того, чего я пытаюсь достичь. Имея в виду, что интересующий набор данных изображений довольно большой, я даже не знаю, следует ли мне использовать какой-либо алгоритм, реализованный в OpenCV, или я должен реализовать свой собственный.

Резюмируйте:

  • На какой методологии мне следует сосредоточиться? Почему?
  • Следует ли мне использовать OpenCV для такого рода вещей или есть какая-нибудь другая «лучшая» альтернатива?

Заранее благодарю.

РЕДАКТИРОВАТЬ - Дополнительная информация о наборах данных

Каждый набор данных состоит из 80 000 изображений продуктов, использующих одну и ту же

  • концепцию, например футболки, часы, обувь
  • размер
  • ориентация (90% из них)
  • фон (95% из них)

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

Все изображения в наборе выглядят почти точно так:

enter image description here

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

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

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

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

15
задан vini 24 February 2012 в 18:22
поделиться