Разница между обнаружением объектов и обнаружением объектов - PullRequest
2 голосов
/ 30 сентября 2011

Я знаю, что наиболее распространенное обнаружение объектов включает каскады Хаара и что существует много методов обнаружения признаков, таких как SIFT, SURF, STAR, ORB и т.д.в конечном итоге дает мне тот же результат?Я понимаю, как использовать методы объектов на простых формах и шаблонах, но для сложных объектов эти алгоритмы функций, похоже, тоже работают.

Мне не нужно знать разницу в том, как они функционируют, но достаточно ли наличия одного из них, чтобы исключить другой.Если я использую каскад Хаара, нужно ли беспокоиться о SIFT?Зачем беспокоиться?

спасибо

РЕДАКТИРОВАТЬ: для своих целей я хочу реализовать распознавание объектов в широком классе вещей.Это означает, что любые чашки, которые имеют такую ​​же форму, как чашки, будут собраны как часть классных чашек.Но я также хочу указать случаи, то есть кубок Нью-Йорка будет выбран в качестве экземпляра кубка Нью-Йорка.

Ответы [ 3 ]

5 голосов
/ 30 сентября 2011

Обнаружение объекта обычно состоит из двух этапов: обнаружение и классификация признаков.

На этапе обнаружения признаков собираются соответствующие признаки обнаруживаемого объекта.

Эти входные данные вводятсяна втором этапе, классификация.(Насколько мне известно, даже каскад Хаара можно использовать для обнаружения признаков). Классификация включает такие алгоритмы, как нейронные сети, K-ближайший сосед и так далее.Цель классификации - выяснить, соответствуют ли обнаруженные признаки признакам, которые должен иметь обнаруживаемый объект.Классификация обычно относится к области машинного обучения.

Например, обнаружение лица является примером обнаружения объекта.

РЕДАКТИРОВАТЬ (9 июля 2018 г.):

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

1 голос
/ 30 сентября 2011

Обычно объекты являются коллекциями объектов.Функция имеет тенденцию быть очень примитивной вещью очень низкого уровня.Объект подразумевает перемещение понимания сцены на следующий уровень вверх.

Элемент может быть чем-то вроде угла, края и т. Д., Тогда как объект может быть чем-то вроде книги, коробки, стола.Все эти объекты состоят из нескольких объектов, некоторые из которых могут быть видны в любой конкретной сцене.

0 голосов
/ 28 октября 2011

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

Оба упомянутых вами метода по сути одинаковы с небольшими отличиями.В случае Хаара вы обнаруживаете особенности Хаара, а затем усиливаете их, чтобы повысить достоверность.Повышение - это не что иное, как мета-классификатор, который разумно выбирает, какие функции Харра будут включены в вашу окончательную мета-классификацию, чтобы дать более точную оценку.Другой метод, более или менее, делает это, за исключением того, что у вас есть более «сложные» функции.Основное отличие в том, что вы не используете бустинг напрямую.Вы склонны использовать какую-то классификацию или кластеризацию, например MoG (смесь гауссовских) или K-Mean или какую-то другую эвристику для кластеризации ваших данных.Ваша кластеризация во многом зависит от ваших функций и приложений.

Что будет работать в вашем случае: это сложный вопрос.Если бы я был тобой, я бы поиграл с Хааром и, если это не сработало, попробовал бы другой метод (obs:>).Имейте в виду, что вы можете захотеть сегментировать изображение и установить некоторую границу вокруг, чтобы оно могло обнаружить очки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...