CNN-VAE, лучшие практики для работы с набором данных с переменным размером, но с тем же разрешением пикселей - PullRequest
0 голосов
/ 01 апреля 2020

Мне известно, что было предложено много решений для обучения CNN с переменным размером ввода, но я сталкиваюсь с другой ситуацией:

Мой набор данных состоит из изображений из одной ячейки, которые все с одинаковым разрешением пикселей (0,31x0,31 мкм), но разных размеров (кадрирование по изображению популяции клеток после процесса сегментации клеток). Более того, я внедряю VAE для разнообразных целей обучения.

Поэтому:

  • Переход к полностью сверточной сети или использование AdaptiveAvgPooling (или эквивалент для другой структуры глубокого обучения, отличной от pytorch) ) это не решение проблемы. Это действительно тривиально для части кодирования, но тогда часть декодирования VAE должна будет извлечь исходный размер ввода, который - насколько я знаю - невозможен.
  • Изменение размера всего изображения до заданного часто предлагается форма, но: поскольку разрешение в пикселях одинаково для всего набора данных, элемент / элементы имеют одинаковый масштаб, несмотря на разный размер. Я ожидаю, что изменение размера серьезно ухудшит информацию. Различия в размерах между ячейками являются значимыми (из-за морфологических изменений), а все остальные функции все еще находятся в аналогичном масштабе.
  • Единственное решение, которое я мог найти, - это обнулить / обрезать все изображение до заданного size.
  • Многомасштабное обучение, вероятно, не поможет, поскольку CNN может сосредоточиться на функциях в данном масштабе, поскольку все данные имеют одинаковое разрешение в пикселях.

Мои вопросы:

  • Кто-нибудь когда-либо сталкивался с такой ситуацией? Я пропустил другой подход, который был бы лучше?
  • Если нет, может ли заполнение нулями выполнить эту работу и может ли это ухудшить обучение VAE? Сеть должна будет узнать, что для некоторых изображений огромная часть должна игнорироваться, а для других - нет. Некоторые изображения с одной ячейкой в ​​конечном итоге будут представлены только в очень маленькой части дополненного изображения. Положение ячейки в дополненном изображении может быть сохранено как скрытые элементы, но не имеет значения.

Большое спасибо за вашу помощь

1 Ответ

0 голосов
/ 01 апреля 2020

Вы можете попробовать следующие приемы:

  • Сделайте все изображения одинакового размера, используя масштабирование. Вы писали, что «Поскольку разрешение пикселей одинаково для всех наборов данных, элемент / объекты имеют одинаковый масштаб, несмотря на разный размер. Я ожидаю, что изменение размера серьезно ухудшит информацию». Это верно, как CNN не являются масштабируемыми инвариантами, но существует множество методов для преодоления этой проблемы, например, см. Функциональные пирамидальные сети для обнаружения объектов
  • Создание всех изображений одинакового размера с использованием заполнения нулями. Это будет самый простой способ, так как вам не придется менять архитектуру, для управления усадкой представлений внутри CNN используется заполнение нулями, заполнение нулями входных данных может привести к негативным побочным эффектам, но стоит дать ему пытаться. Я бы порекомендовал использовать эту технику, если все изображения имеют одинаковый цвет фона (например, если вы используете рентгеновские изображения) и нулевую панель с одинаковым цветом фона.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...