Deep MIB - segmentation using Deep Learning

The deep learning tool (Deep MIB) provides access to training of deep convolutional networks over the user data and utilization of those networks for image segmentation tasks.

Back to Index --> User Guide --> Menu --> Tools Menu



For details of deep learning with DeepMIB please refer to the following tutorials:
DeepMIB: 2D U-net for image segmentation

DeepMIB: 3D U-net for image segmentation

DeepMIB, features and updates in MIB 2.80

The typical workflow consists of two parts:

During network training users specify type of the network architecture (the Network panel of Deep MIB) and provide images and ground truth models (the Directories and Preprocessing tab). For training, the provided data will be split into two sets: one set to be used for the actual training (normally it contains most of the ground truth data) and another for validation. The network trains itself over the training set, while checking own performance using the validation set (the Training tab).
The pretrained network is saved to disk and can be distributed to predict (the Predict tab) unseen datasets.
Please refer to the documentation below for details of various options available in MIB.

Network panel

The upper part of Deep MIB is occupied with the Network panel. This panel is used to select one of the available architectures.

Always start a new project with selection of the architecture:

The Network filename button allows to choose a file for saving the network or for loading the pretrained network from a disk.
This button is only available when either the Train or Predict tab is selected.

GPU dropdown
define execution environment for training and prediction Press the "?" button to see GPU info dialog

Directories and Preprocessing tab

This tab allows choosing directories with images for training and prediction as well as various preprocessing parameters. During preprocessing the images and model files are processed and converted to a mibImg format that is used for training and prediction. However, in some situations, preprocessing step can be omitted. In this case, DeepMIB will used with original image files (see below for details).

Image files used in DeepMIB workflows can be arranged in 3 different ways:

Train tab

This tab contains settings for generating deep convolutional network and training. Before processing further please finish the preprocessing part, see above.

Before starting the training process it is important to check and if needed modify the settings. Also, use the Network filename button in the Network panel to select filename for the resulting network.

To start training press the Train button highlighted under the panel. If a network already existing under the provided Network filename it is possible to continue training from that point (a dialog with possible options appears upon restart of training).

Upon training a plot with accuracy and loss is shown; it is possible to stop training at any moment by pressing the Stop or Emergency brake buttons. When the emergency brake button is pressed DeepMIB will stop the training as fast as possible, which may lead to not finalized network in situations when the batch normalization layer is used.

Please note that by default DeepMIB is using a custom progress plot. If you want to use the progress plot provided with MATLAB (available only in MATLAB version of MIB), navigate to Options tab->Custom training plot->Custom training progress window: uncheck
The plot can be completely disabled to improve performance: Train tab->Training->Plots, plots to display during network training->none

The right bottom corner of the window displays used input image and model patches. Display of those decrease training performace, but the frequency of the patch updates can be modified in Options tab->Custom training plot->Preview image patches and Fraction of images for preview. When fraction of image for preview is 1, all patches are shown. If the value is 0.01 only 1% of patches is displayed.

After the training, the network is saved to a file specified in the Network filename editbox of the Network panel.

Predict tab

The trained networks can be loaded to Deep MIB and used for prediction of new datasets.

To start with prediction:

Additional options:

GPU Info (?), press to display information about the selected GPU device

Options tab

Some additional options and settings are available in this tab

Config files panel
This panel brings access to loading or saving Deep MIB config files.
The config files contain all settings of Deep MIB including the network name and input and output directories but excluding the actual trained network. Normally, these files are automatically created during the training process and stored next to the network *.mibDeep files also in MATLAB format using the *.mibCfg extension.
Alternatively, the files can be saved manually by pressing the Save button.

Custom training plot Settings for the custom training progress plot showing accuracy and loss during training. Other buttons

Back to Index --> User Guide --> Menu --> Tools Menu