Convolutional neural networks (CNNs): basic concepts

Convolutional neural networks (CNNs): basic concepts

In image analysis, one common idea between traditional approaches is that they all need to extract features in a separated way before applying another method for classification. A logical next step is to let the machine learn these features in an automatic fashion. This is the key idea behind most deep learning techniques. In simple words, deep neural networks (DNNs) are models composed of many successive layers in order to transform an input data to an output while learning increasingly higher level features. Convolutional neural networks (CNNs) are among the most successful models for image analysis, in general, and for image segmentation particularly.

A CNN is a multilayer perceptron (mlp) designed to use a fewer amount of parameters than a fully connected network by taking advantage of the spatial relationships between neighboring pixels in an image. Typically, the network is a set of convolutional and fully connected layers. It can also include the so-called pooling layers.

Each convolutional layer is composed of small neuron collections (called receptive fields) which process portions of the input image and produce a set of outputs called feature maps . A feature map is obtained by a local convolution operation using a linear filter K, adding a bias term and then applying an activation function. After introducing discrete convolution, we discuss the basic components of a CNN .

Distinguishing features of CNNs

The first question that can be asked about CNNs is the following: What is the difference between a CNN and an MLP?

A CNN is an MLP with fewer parameters and a special structure that aims to reduce computational complexity and ensure a spatial invariance, i.e., the network perform the input regardless its spatial location in the image. In other words, a car is a car regardless its position in the image. Convolutional neural networks have two main distinguishing features.

Local connectivity: In the case of high-dimensional inputs such as images, a fully connected hidden layer would have unmanageable parameters. Also, computing activation functions in respective neurons would be very expensive. In order to avoid these problems, CNNs take advantage of the local spatial coherence property of images and enforce a local connectivity pattern between neurons of adjacent layers. In other words, neurons in one layer are only connected to neurons in the next layer that are spatially close to them . Basically, we assume that two distant pixels have less significant relationship that close pixels.

Parameter sharing: The idea behind weights sharing is the convolutional concept of layers. The idea behind this property is to control and reduce the number of parameters by making an assumption: certain neurons are aggregated together and share the parameters matrix (weighted connections) forming, then, a feature map. This concept allows features to be detected regardless of their position in the image. Parameter sharing reduces the number of free parameters, achieving better generalization and computation performance.

Pooling and sub-sampling layer
Another important feature in CNNs is the pooling operation. It aims at reducing the size of extracted feature maps via a non linear subsampling function. Max-pooling is the most common used function.  max-pooling consists in partitioning the input feature map into a set of non-overlapping rectangles. For each rectangle, the maximum value is retained as output. Max pooling is then, useful for two reasons; first, it reduces computation for the next layers. It assures also a form of local translation invariance by eliminating non-maximal values. In addition to this technique, pooling can also be performed with other functions such as average pooling which takes the average value in each rectangle.

ReLu layer
In order to improve processing efficiency, a ReLu (Rectified linear Unit) layer is typically used. It is a layer of neurons with the non-saturating activation function f(z)=max(0,z). This rectifier has been argued to be more practical than many other functions since it adds a non linearity to the network while allowing faster and effective training for deep neural architectures on large and complex datasets.

Fully connected layer
After alternating between several convolutional and pooling layers, the final classification is typically done via fully connected layers. Neurons in a fully connected layer l have connections with all neurons in the previous layer l −1, as seen in multi-layer perceptrons. Generally, one or more fully connected layers are used for classification purposes based on computed features in previous convolutional layers.

Deep learning for medical image segmentation: Overview, successes and challenges 

Deep learning: from natural to medical imaging

The few last decades have witnessed a digital revolution and fast technical advances in medical imaging with the explosion of new imaging modalities, e.g, X ray computed tomography (CT), magnetic resonance imaging (MRI) and ultrasound (US). Hence, experts are no longer able to manually process the huge amount of data and extract useful informations. Searching for new paths, the medical image community has been attracted by the astonishing successes of deep learning techniques in natural imaging and have applied a lot of these findings to improve medical image analysis for different tasks including classification, detection, segmentation and registration. Image segmentation is a one of the most important tasks in medical image analysis. It consists of partitioning the image into different segments that often correspond to organs, tissue categories, pathologies or other biological structures. An accurate delineation allows efficient quantitative analysis of important clinical measures related to volume or shape as in cardiac or cerebral image analysis. Such measures are very useful for diagnostic medicine and clinical interventions.

Recently, deep learning methods have shown their ability to deliver excellent performances in such task. Many methods have been proposed for segmentation of specific organs or other substructures, e.g, brain ( Pereira et al. (2016); Brébisson & G.Montana (2015); M.Havaei et al. (2015); Chen et al. (2018); Ganaye et al. (2018)) , heart cavities and muscles ( M.Havaei et al. (2015); Yu et al. (2017a); Avendi et al. (2016)), vertebrae (Chen et al. (2015)), bone (Minnema et al. (2018); Zhang et al. (2010); Klein et al. (2018)) or abnormalities such as tumors (M.Havaei et al. (2015); Pereira et al. (2016); Menze et al. (2014)) or lesions (Hwang & Kim (2016); Bellver et al. (2017)). During the last years, thousands of new papers have been published. However, it is worth to note that most of them suffer from reproducibility problems. This can be either a problem of methodology or also lack of details in the published paper as the use of hyper-parameters or heuristics specific to a particular dataset. In some cases, researchers can validate their method only on some selected scans and omit the rest which biases their results. One way to guarantee a fair and direct comparison of proposed methods on the same dataset and evaluation procedure is to organize public challenges. From 2007, around 36 public challenges and 118 hidden ones have been organized to deal with specific medical image analysis problems, e.g., brain lesion segmentation (BRATS(2012-2018), ISLES, WMH,MSSEG), cardiac image segmentation (ACDC, LVSC , MM-WHS 2017, CETUS2014 ), liver segmentation (CHAOS), etc. Deep neural networks have been the winners of most of the challenges.

Table des matières

INTRODUCTION
CHAPTER 1 LITERATURE REVIEW
1.1 Traditional approaches for medical image segmentation
1.2 Convolutional neural networks (CNNs): basic concepts
1.2.1 Discrete convolution
1.2.2 Distinguishing features of CNNs
1.2.3 Layers
1.2.4 Activation functions
1.2.5 Basic Loss functions
1.3 Deep learning for medical image segmentation: Overview, successes and challenges
1.3.1 Deep learning: from natural to medical imaging
1.3.2 Lack of annotated data
1.3.3 Class unbalanced problems
CHAPTER 2 BOUNDARY LOSS FOR HIGHLY UNBALANCED SEGMENTATION
2.1 Motivation
2.2 Methodology
2.2.1 Proposed boundary loss
2.2.2 Scheduling strategy
2.2.3 Network architecture
CHAPTER 3 EXPERIMENTS AND RESULTS
3.1 Datasets
3.2 Experimental protocol
3.2.1 Data Pre-processing
3.2.2 Implementation details
3.3 Results for binary problems
3.4 Results for multi-class problem
3.5 Discussion
CONCLUSION

Cours gratuitTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *