Как использовать два изображения разных размеров в качестве входа в глубокую сеть? - PullRequest
0 голосов
/ 25 апреля 2018

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

Для справки: одно изображение имеет размер (5184x3456), а другое - размер (640x240).

1 Ответ

0 голосов
/ 28 апреля 2018

Прежде всего: не имеет значения, что у вас есть два изображения. У вас точно такая же проблема, когда в качестве входных данных используется одно изображение, которое может иметь разные размеры.

Существует несколько стратегий решения этой проблемы:

  • Обрезка и масштабирование : просто принудительно введите размер, который вам нужен. Обрезка выполняется, чтобы убедиться в правильности соотношения сторон. Иногда в сеть подается одно и то же изображение, но разные его части, и результаты объединяются (например, усредняются).
  • Свертки + Глобальное объединение : Сверточные слои не заботятся о размере ввода. В тот момент, когда вы заботитесь об этом, вы можете сделать глобальное объединение . Это означает, что у вас есть область объединения, которая всегда будет охватывать весь ввод, независимо от его размера.
  • Специальные слои : Я не помню концепцию или название, но есть некоторые слои, которые допускают ввод разного размера ... может быть, это был один из подходов, основанных на внимании?

Объединение двух входов

Ищите «слой слияния» или «слой сцепления» в рамках вашего выбора:

Смотри также

...