Какой дескриптор я должен использовать для обнаружения детенышей тюленя?

#opencv #image-processing #computer-vision #object-detection

#opencv #обработка изображений #компьютерное зрение #обнаружение объекта

Вопрос:

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

Некоторые детеныши тюленя перекрываются / частично закрыты. Цвет пляжа близок к желтому, однако есть несколько черных камней, которые увеличивают сложность обнаружения.

Какой дескриптор наиболее подходит для моего проекта? Функции, подобные HOG, SIFT, Haar?

Я прошу о теоретической части этой проблемы. Я думаю, что для реализации моего проекта первым шагом должен быть выбор правильного дескриптора, который может наиболее полно представлять объект, затем (объединить несколько слабых функций, не обязательно?) обучите классификатор, используя метод машинного обучения, такой как boosting / SVM / neural_network, я прав?

Пример изображения: введите описание изображения здесь

Комментарии:

1. Дополнительная информация: Я прошу о теоретической части этой проблемы. Я думаю, что для реализации моего проекта первым шагом должен быть выбор правильного дескриптора, который может наиболее полно представлять объект, затем (объединить несколько слабых функций, не обязательно?) обучите классификатор, используя метод машинного обучения, такой как boosting / SVM / neural_network, я прав?

2. Не могли бы вы опубликовать образец изображения?

3. Ищите людей с дубинками, которые подкрадываются к ним.

Ответ №1:

Я не уверен, что согласен с тем, что выбор правильного дескриптора — это правильное место для начала. Фундаментальная проблема заключается в том, что все объекты похожи по форме. Также существуют значительные градиенты внутри каждого животного. Сложность поз — еще одна проблема. Я бы разбил проблему на два более простых шага: 1. Обнаружение уникального объекта (обнаружение края, водораздела, разреза графа и т.д.). Что-то вроде проблемы с «подсчетом клеток крови». 2. Классификация объектов на основе цвета и площади (нормализована к ракурсу камеры). Вычислите дробное количество пикселей «желтого» и «черного» цветов в каждом объекте и используйте эти значения вместе с размером объекта в качестве входных данных для классификатора объектов (нейронные сети — интересное решение здесь!).

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

Ответ №2:

Точность алгоритмов компьютерного зрения, похоже, в значительной степени зависит от возможности их точной настройки под конкретную проблему. Если вы можете сделать предположения о снимках, которые вы передаете своему алгоритму, например, о том факте, что все они являются аэрофотоснимками тюленей на похожей пляжной сцене, то вы можете воспользоваться этим преимуществом. Я бы сказал, что прежде чем пытаться слишком увлекаться локальными функциями, вы могли бы попробовать что-то вроде сегментации водораздела и подсчитать количество сегментов, не относящихся к фону. Watershed предоставляет удобную структуру под названием «маркеры» для включения предварительных знаний о вашем вводе, чтобы различать сегменты «фона» и «переднего плана».

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

Ответ №3:

Не совсем уверен, вы могли бы попробовать взглянуть на алгоритм predator, поскольку вы могли бы с легкостью научить его, как выглядит детеныш тюленя. видео с YouTube, описание и ссылка здесь

Комментарии:

1. Спасибо, это видео потрясающее! Я погуглю его статью за этим видео

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

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