2

Предположим, что процесс 2D-извлечения изображений используется с использованием методов SIFT, SURF или MSER, за которыми следуют закодированные слова и функции, которые впоследствии используются для обучения классификаторов.Извлечение данных для набора 3D-изображений

Мне было интересно, существует ли аналогичный подход для 3D-наборов данных, например, трехмерный объем данных МРТ. При работе с 2D-изображениями каждое изображение представляет собой объект с функциями для обнаружения и индексирования. Однако, в 3D-наборе данных можно извлечь функции из трехмерного объекта? Нужно ли это делать порезать, разбивая 3D-изображения на несколько 2D-изображений (фрагментов)? Или есть способ уменьшить размерность 3D до 2D при сохранении 3D-информации?

Любые указатели были бы весьма благодарны.

+0

Что связано с python или matlab? –

ответ

1

Вы можете выполнять извлечение объектов, передавая свои 3D-тома через предварительно подготовленную трехмерную сверточную нейронную сеть. Поскольку предварительно обученные 3D-CNN трудно найти, вы могли бы рассмотреть возможность обучения своих собственных на подобном, но отличном наборе данных.

Here является ссылкой на код для 3D CNN в Лазанье. Авторы используют 3D-версии CNG VGG и Resnet.

В качестве альтернативы вы можете выполнять извлечение 2D-объектов на каждом фрагменте тома, а затем комбинировать функции для каждого фрагмента, используя PCA, чтобы уменьшить размерность до разумного. Для этого я рекомендую использовать предварительно подготовленные Resnet-50 или VGG ImageNet.

В Keras их можно найти here.

0

Предположим, что 2D-изображение в сером масштабе может быть математически описано как матрица. Обобщение понятия матрицы приводит к теории о tensors (в неофициальном порядке вы можете думать о многомерном массиве). То есть 2D-изображение RGB представлено в виде тензора размера [ширина, высота, 3]. Далее изображение RGB 3D представлено в виде тензора размера [ширина, высота, глубина, 3]. Кроме того, как и в случае с матрицами, вы также можете выполнять тензор-тензорные умножения.

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

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

Tensor Decompositions for Learning Latent Variable Models

Supervised Learning With Quantum-Inspired Tensor Networks

Optimal Feature Extraction and Classification of Tensors via Matrix Product State Decomposition

Надеется, что это помогает, даже несмотря на то, математику за это не легко.