spinalcordtoolbox / disc-labeling-hourglass

Labeling of intervertebral discs using the Hourglass deep learning architecture.
GNU Lesser General Public License v2.1
1 stars 0 forks source link

Improve hourglass performances #28

Open NathanMolinier opened 1 year ago

NathanMolinier commented 1 year ago

Description

This issue is meant to discuss about strategies to improve the performances of the hourglass network.

NathanMolinier commented 1 year ago

Strategy 1: Improve the loss function

Problem

Since the addition of new images (representing different field of view of the spine) performances of the hourglass have dropped significantly (mainly due to the addition of new classes ~25 discs) leading to an increasing number of false positive detections.

This problem was partially solved here but still numerous false positive detection are still occurring.

Idea

Split the loss function into two main components:

NathanMolinier commented 9 months ago

Strategy 2: Use random crop with larger fields of view

Idea

To improve the performances and help the model to generalize, a new data augmentation function random_crop was added to randomly vary the discs that are present in the image.

Results

The task still is too difficult for the model, the number of different classes is maybe to important.

NathanMolinier commented 9 months ago

Strategy 3: Train 2 different models

Idea

Finding and identifying all the 25 discs classes seems to be to difficult for one model, therefore, I will try to train 2 models:

These models will be train with and without the random cropping to evaluate their ability to generalize.

Results

...

NathanMolinier commented 9 months ago

Strategy 4: Fixed window size with BCE loss

Idea

based on https://www.sciencedirect.com/science/article/pii/S1361841521003030

Retry with the 25 classes but this time with a fixed size sliding window.

The use of the Binary Cross Entropy will also be investigated to avoid having multiple classes for the same disc.

Results

...