Почему размеры изображения, используемые в CNN, обычно имеют определенные числа? - PullRequest
0 голосов
/ 23 мая 2018

Я довольно плохо знаком с компьютерным зрением и глубоким обучением.Мне всегда интересно, почему размеры изображений, подаваемых в моделях CNN (или других моделях), обычно в определенных числах, таких как 28 * 28, 512 * 512, 256 * 256.Есть ли причина для этого?Что произойдет, если я изменю размер изображения в произвольный размер?Повлияет ли производительность?

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

Большинство архитектур CNN используют размеры изображений, которые содержат несколько факторов 2. Таким образом, вы можете несколько раз уменьшить частоту дискретизации изображений, используя MaxPooling, без необходимости округлять разрешение до ближайшего целого числа.

512 -maxpool-> 256 -maxpool-> 128 -maxpool-> 64 -maxpool-> 32 ...

Иногда вы будетесталкивайтесь с решениями, где это не работает.U-Net, например, использует разрешения 572 * 572, где вы можете применить MaxPooling дважды, пока вам не придется округлить разрешение.Это связано с тем, что U-Net использует незаполненные свертки, в которых часть изображения обрезается во время сверточных слоев перед применением MaxPooling.

572 -conv-> 570 -conv-> 568 -maxpool-> 284 -conv-> 282 -conv-> 280 -maxpool-> 140 ...

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

0 голосов
/ 23 мая 2018

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

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

...