Классификатор обучающих образов - нейронная сеть

Я хотел бы обучить конвенциональную нейронную сеть, чтобы обнаруживать присутствие рук на изображениях.

Сложность состоит в том, что: 1 / изображения будут содержать другие объекты, кроме рук, точно так же, как изображение группы людей, где руки являются лишь небольшой частью изображения; 2 / руки могут иметь много ориентаций / форм и т. Д. (Независимо от того, открыты или нет, в зависимости от угла и т.д ..)

Я думал об обучении свертки на большом наборе обрезанных изображений рук (+ случайные изображения без рук), а затем применить классификатор ко всем подквадратам моих изображений. Это хороший подход?

Есть ли другие примеры сложных сверток / RNN с двумя классами, которые я мог бы использовать для вдохновения?

Спасибо!


person David    schedule 29.03.2015    source источник


Ответы (2)


Я думал об обучении свертки на большом наборе обрезанных изображений рук (+ случайные изображения без рук), а затем применить классификатор ко всем подквадратам моих изображений. Это хороший подход?

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

Как вы должны построить свой набор данных, будет примерно так:

  1. Обрезайте изображения рук из большого изображения.
  2. Пример X изображений с того же изображения, но нигде рядом с рукой / руками.

Однако если вам следует сделать что-то вроде этого:

  1. Обрезайте изображения рук из большого изображения.
  2. Скачайте 1 миллион изображений (преувеличение), у которых точно нет рук. Например, пустыни, океаны, небо, пещеры, горы, в основном множество пейзажей. А затем используйте это в качестве «случайных изображений без рук», вы можете получить плохие результаты.

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

Поэтому будьте очень осторожны при использовании «случайных изображений»!

на всех подквадратах моих изображений

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

Есть ли другие примеры сложных сверток / RNN с двумя классами, которые я мог бы использовать для вдохновения?

Я не совсем понимаю, что вы подразумеваете под сложными двухклассными свертками. Я не знаком с RNN, поэтому позвольте мне сосредоточиться на конвенциях. В принципе, вы можете сами определить сверточную сеть. Например, размер сверточных слоев, количество слоев, какой у вас максимальный метод объединения, насколько велик будет ваш полностью подключенный слой и т. Д. Последний слой, по сути, является слоем softmax, где сеть решает, к какому классу она будет отнесена. быть. Если у вас 2 класса, ваш последний слой имеет 2 узла. Если у вас 3, то 3. И так далее. Таким образом, он может варьироваться от 2 до, возможно, даже 1000. Я не слышал о свертках, содержащих более 1000 классов, но я могу быть плохо информирован. Надеюсь, это поможет!

person jkschin    schedule 15.01.2016

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

Возможно, вам стоит взглянуть на это: http://www.socher.org/index.php/Main/ParsingNaturalScenesAndNaturalLanguageWithRecursiveNeuralNetworks

person user3098048    schedule 24.04.2015