2

Angenommen, ein Workflow für die Extraktion von 2D-Bildmerkmalen wird mithilfe von SIFT-, SURF- oder MSER-Methoden durchgeführt, gefolgt von codierten Textfeldern und Features, die anschließend zum Trainieren von Klassifikatoren verwendet werden.Merkmalsextraktion von 3D-Bilddatensatz

Ich frage mich, ob es einen analogen Ansatz für 3D-Datensätze gibt, zum Beispiel ein 3D-Volumen von MRI-Daten. Wenn Sie mit 2D-Bildern arbeiten, repräsentiert jedes Bild eine Entität mit Merkmalen, die erkannt und indiziert werden sollen. Ist es in einem 3D-Datensatz jedoch möglich, Merkmale aus der dreidimensionalen Entität zu extrahieren? Muss das Stück für Stück gemacht werden, indem die 3D-Bilder in mehrere 2D-Bilder (Slices) zerlegt werden? Oder gibt es eine Möglichkeit, die 3D-Dimensionalität auf 2D zu reduzieren, während die 3D-Informationen erhalten bleiben?

Alle Zeiger würden sehr geschätzt werden.

+0

Was hat das mit Python oder Matlab zu tun? –

Antwort

1

Sie können die Merkmalsextraktion durchführen, indem Sie Ihre 3D-Volumina durch ein vortrainiertes 3D-Faltungsneuronalnetz leiten. Da vortrainierte 3D-CNNs schwer zu finden sind, können Sie Ihre eigenen in einem ähnlichen, aber unterschiedlichen Datensatz trainieren.

Here ist ein Link für Code für ein 3D CNN in Lasagne. Die Autoren verwenden 3D-CNN-Versionen von VGG und Resnet.

Alternativ können Sie 2D-Feature-Extrahierung für jede Schicht des Volumes durchführen und dann die Features für jede Schicht kombinieren, indem Sie mithilfe von PCA die Dimensionalität auf etwas Vernünftiges reduzieren. Hierzu empfehle ich die Verwendung von ImageNet vorgebildetem Resnet-50 oder VGG.

In Keras können diese here gefunden werden.

0

Nehmen Sie ein Graustufen-2D-Bild an, das mathematisch als Matrix beschrieben werden kann. Die Verallgemeinerung des Konzepts einer Matrix führt zu einer Theorie über tensors (informell kann man sich ein multidimensionales Array vorstellen). I.e. Ein RGB-2D-Bild wird als ein Tensor der Größe [Breite, Höhe, 3] dargestellt. Ferner wird ein RGB-3D-Bild als ein Tensor der Größe [Breite, Höhe, Tiefe, 3] dargestellt. Außerdem können Sie wie bei Matrizen Tensor-Tensor-Multiplikationen durchführen.

Betrachten Sie zum Beispiel das typische neuronale Netzwerk mit 2D-Bildern als Eingabe. Solch ein Netzwerk macht grundsätzlich nichts anderes als Matrix-Matrix-Multiplikationen (trotz der elementweise nichtlinearen Operationen an Knoten). Auf die gleiche Weise arbeitet ein neuronales Netzwerk auf Tensoren, indem es Tensor-Tensor-Multiplikationen durchführt.

Jetzt zurück zu Ihrer Frage der Merkmalsextraktion: Das Problem der Tensoren ist in der Tat ihre hohe Dimensionalität. Daher betrachten moderne Forschungsprobleme die effiziente Zerlegung von Tensoren, die die anfängliche (höchst bedeutungsvolle) Information behalten. Um Merkmale von Tensoren zu extrahieren, könnte ein Tensorzerlegungsansatz ein guter Anfang sein, um den Rang des Tensors zu reduzieren. Ein paar Papiere auf Tensoren in maschinellem Lernen sind:

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

hoffe, das hilft, obwohl die Mathematik hinter nicht einfach ist.

Verwandte Themen