<p>Assume a grey-scale 2D image which can mathematically be described as a matrix. Generalizing the concept of a matrix results in theory about <a href="https://en.wikipedia.org/wiki/Tensor" rel="nofollow noreferrer">tensors</a> (informally you can think of a multidimensional array). I.e. a RGB 2D image is represented as a tensor of size <em>[width, height, 3]</em>. Further a RGB 3D Image is represented as a tensor of size <em>[width, height, depth, 3]</em>. Moreover and like in the case of matrices you can also perform tensor-tensor multiplications.</p>

<p>For instance consider the typical neural network with 2D images as input. Such a network does basically nothing else than matrix-matrix multiplications (despite of the elementwise non-linear operations at nodes). In the same way a neural network operates on tensors by performing tensor-tensor multiplications.</p>

<p>Now back to your question of feature extraction: Indeed the problem of tensors are their high dimensionality. Hence modern research problems regard the efficient decomposition of tensors retaining the initial (most meaningful) information. In order to extract features from tensors a tensor decomposition approach might be a good start in order to reduce the rank of the tensor. A few papers on tensors in machine learning are:</p>

<p><a href="http://www.cs.columbia.edu/~djhsu/papers/power-jmlr.pdf" rel="nofollow noreferrer">Tensor Decompositions for Learning Latent Variable Models</a></p>

<p><a href="https://arxiv.org/pdf/1605.05775.pdf" rel="nofollow noreferrer">Supervised Learning With Quantum-Inspired Tensor Networks</a></p>

<p><a href="http://ieeexplore.ieee.org/document/7207289/?reload=true" rel="nofollow noreferrer">Optimal Feature Extraction and Classification of Tensors via Matrix Product State Decomposition</a></p>

<p>Hope this helps, even though the math behind is not easy.</p>
Feature extraction of 3D image dataset
<p>Assume a workflow for 2D image feature extraction by using SIFT, SURF, or MSER methods followed by bag-of-words/features encoded and subsequently used to train classifiers.</p>

<p>I was wondering if there is an analogous approach for 3D datasets, for example, a 3D volume of MRI data. When dealing with 2D images, each image represents an entity with features to be detected and indexed. However, in a 3D dataset is it possible to extract features from the three-dimensional entity? Does this have to be done slice-by-slice, by decomposing the 3D images to multiple 2D images (slices)? Or is there a way of reducing the 3D dimensionality to 2D while retaining the 3D information?</p>

<p>Any pointers would be greatly appreciated.</p>