Почему размеры изображений, используемые в CNN, обычно являются определенными числами?

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


person Yixuan Sun    schedule 22.05.2018    source источник
comment
Есть ли в дизайне полносвязные слои или все слои представляют собой свертки?   -  person mhaghighat    schedule 23.05.2018


Ответы (2)


Большинство архитектур 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, но я предполагаю, что это, вероятно, не улучшает ситуацию. Лично я несколько раз использовал округление там, где было задано входное разрешение, и не заметил разницы по сравнению с первоначальной обрезкой частей изображения.

person pietz    schedule 23.05.2018
comment
Спасибо, что поделились нашим опытом. Что вы подразумеваете под округлением разрешений во время MaxPooling? Вы имеете в виду, что вы добавляете нулевую строку и/или столбец, чтобы длины сторон были четными числами перед объединением? У вас есть ссылка на документ, где это было сделано? - person HelloGoodbye; 23.07.2019
comment
Да, это то, что я имею в виду. Нет, у меня нет ссылки. - person pietz; 24.07.2019

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

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

person mhaghighat    schedule 22.05.2018