2016-05-03 4 views
0

Изображения ImageNet имеют разные размеры, но для нейронных сетей необходим вход фиксированного размера.Обрезка/масштабирование изображений ImageNet

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

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

Что обычно делается?

ответ

3

Есть несколько подходов:

  • несколько культур. Например, AlexNet изначально обучалась по 5 различным культурам: центру, сверху-слева, сверху-справа, внизу слева, внизу справа.
  • Случайные культуры. Просто возьмите несколько случайных культур из изображения и надейтесь, что нейронная сеть не будет предвзятой.
  • Изменение размера и деформации. Измените размер изображения до фиксированного размера без учета соотношения сторон. Этот witll деформирует содержимое изображения, но сохраняет его, но теперь вы уверены, что контент не будет разрезан.
  • Входы переменного размера. Не собирайте и не тренируйте сеть на изображениях с переменным размером, используя что-то вроде Spatial Pyramid Pooling, чтобы извлечь вектор с фиксированным размером, который можно использовать с полностью связанными слоями.

Вы можете посмотреть, как проходят обучение последние сети ImageNet, такие как VGG и ResNet. Они обычно описывают этот шаг в деталях.

+0

Общепринято ли вы видеть метод, который имеет урожай перед изменением размера? – kwotsin

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