3

Это действительно концептуальный вопрос: я работал над этим на некоторое время, но не нашел отличного способа решения моей проблемы. У меня есть hexagonal image with hexagonal binning/pixels, с значениями интенсивности ч/б для каждого пикселя, и я пытаюсь передать это в глубокий автокодировщик, но кажется, что они используют квадратные или прямоугольные изображения (с квадратными пикселями). Обратите внимание, что это изображение задается как одномерный массив с соответствующими координатами x, y.Нейронные сети для шестиугольных (и биндинговых) изображений?

Я подумал и рассмотрел ряд идей, чтобы справиться с этой ситуацией, и я ищу некоторые отзывы или информацию, которые могут указывать меня в правильном направлении.

  • Преобразование гексагонального изображения в куб. Это будет работать, если мы будем обрабатывать все полные пиксели шестиугольника, но полуэлементы (т. Е. Половинные шестиугольники) делают это невозможным.
  • Нарезание шестиугольных пикселей на пиксели равного размера (половина шестиугольников), чтобы мы могли их подавать как «квадратные» пиксели. Однако ориентация полугексагонов доказывает, что это вызов. Я также подумал о том, чтобы нарезать пиксели на меньшие треугольные пиксели, но тогда я не знал бы, как с этим бороться.
  • Добавление белых пикселей (т. Е. Всех 0) и принуждение изображения к виду прямоугольника или квадрата. Однако я не знал бы отношения между квадратными и гексагональными пикселями.
  • Преобразование шестиугольных пикселей в квадратные пиксели, а затем добавление белых пространств, при которых изображение в виде шестиугольника становится прямоугольным. Это кажется наиболее вероятным, и в настоящее время я читаю статьи о том, как это сделать, но я не уверен, как правильно обрабатывать пиксели с половиной шестиугольника.

Я предполагаю, что обобщенный вопрос -

как я имею дело с кормлением изображения в сеть Neural когда изображения как непрямоугольная формы и непрямоугольная Pixeled?

Любые мысли будут оценены. Благодаря!

ответ

1

Я не вижу проблем с повторной выборкой его с помощью обычной квадратной сетки, чтобы он стал правильным 2D-изображением. Вероятно, вам нужно будет сделать это в любом случае, чтобы размер сети был достаточно мал.

+0

Хорошо, но с половинчатыми пикселями я представляю их значения данных как половину интенсивности, или геометрия будет инвариантной, учитывая тот факт, что autoencoder просто хочет воспроизвести одни и те же значения? Я пытаюсь применить к нему CNN с пулом. – Kai

+0

@ Кай, каждому квадратному пикселю присваивается любое значение в месте на вашей гексагональной сетке, которое соответствует центру этого пикселя. Это как фотографировать. –

+0

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