Background

Among people without comorbidity, with an average age of 50 years, the prevalence of unruptured intracranial aneurysms is about 3.2% in a population without comorbidity [1]. Though it has a strong latency, some aneurysms may show no symptoms for years or even decades, the rupture of one aneurysm may lead to serious neurological sequelae and may be fatal. Under such circumstances, the prediction of when an aneurysm will rupture becomes very important. Hence, an automated detection system for cerebral aneurysms may help clinicians in the earlier and more accurate diagnosis of aneurysms. TOF-MRA as a non-invasive imaging technique shows promising diagnostic accuracy compared with DSA, which is the gold standard diagnostic method for aneurysm [2]. Therefore, TOF-MRA is currently one of the most commonly used methods for screening aneurysms, of which 3.0 T is the most popular [3].

Deep neural networks have been used to detect cerebral aneurysms since 2017 [4,5,6,7,8,9]. Up until now, several methods have been proposed in this field [4,5,6,7,8,9,10,11,12,13,3).

Fig. 3
figure 3

Aneurysms in our dataset a 4 mm single, b 22.3 mm single, c double aneurysms

Development of the CAD system

In our system, we designed two main steps: first, automatic segmentation of the artery vascular voxels; second, aneurysm detection based on deep neural networks. And there were two pipelines, one for the training of the neural network model, as the preparation of the system, the other for the actual detection of the aneurysms in the real data and show the results to users. So the clinicians only need to input DICOM image sets and then the system would show where the aneurysms were with a high likelihood (Fig. 4).

Fig. 4
figure 4

Workflow of the proposed CAD system for cerebral aneurysms

Step one: segmentation

The input was DICOM datasets, which is in the form of a volume. In view of the many three-dimensional features of cerebral arteries, our method processed the image data as volume from start to finish. In the segmentation step, the input image data were pre-processed using N3 bias field correction and histogram normalization. Then the vessel region was enhanced using a sigmoid filter, the total transform is given by the formula below, with α = 400 and β = 600:

$$f\left( x \right) = \left( {{\text{Max}} - {\text{Min}}} \right) \cdot \frac{1}{{\left( {1 + e^{{ - \frac{x - \beta }{\alpha }}} } \right)}} + {\text{Min}} .$$

Seed points on skull were selected automatically based on the bounding-box method. This method used a cube to wrap the skull from the outside and shrank it. When the faces of the cube came into contact with the skull, the contact points were used as the seed points. The auto-threshold region was allowed to grow from the seed points and smooth the results, then the skull region voxels were obtained. The lower threshold of the region-growing method was 30% of the maximum intensity, and upper threshold was the maximum intensity. These voxels were cut off from the pre-processed data and the skull was removed. Since the high signal area in TOF-MRA data was mainly skull and vessels, artery blood vessel accounted for a large part of the left high signal objects. We binarized the data based on the intensity region of the vessel, set all voxels greater than the background density value to 1. Then we performed connected domain statistics, arranged connected domains according to the number of voxels it contains, and selected seed points from the 5 connected domains that are ranked first. In most instances, the selected seed area was the main branch of artery vessels. Since the intensity of the vessels in TOF-MRA data followed the Gaussian distribution [22], the upper and lower thresholds of the region-growing method were decided automatically as μ + σ and μ − σ (μ stands for the estimated mean and σ stands for the standard deviation). With the automatic region growth, vessel voxels were segmented from the TOF-MRA data, reconstructed the surface of the vessel using the marching cubes method, then the surface mesh model of artery vessels was obtained. The mesh model could be used in the hemodynamic analysis since it was the inner surface of vessels. The target of the CAD system was the detection of aneurysms; to do the detection, the vessel voxels were dilated using radius 10 sphere kernel, and the vessel area and its neighbor area were the input of step two. The auto-segmented vessel area output of step one covered 100% of the labeled aneurysms in our dataset (Fig. 5).

Fig. 5
figure 5

Workflow of the segmentation in the proposed CAD system

Step two: detection

In this step, we used a deep neural network to detect the aneurysms in the image. Since the blood vessel was a continuous structure in three dimensions, and usually had a long radial length, traditional 2D CNNs could not be applied on the important 3D structure features, which were widely used in clinical diagnosis. Fully convolutional networks (FCNs), such as U-Net, made full use of every pixel in the image and brought semantic segmentation to a practical level. In this paper, we chose an improved 3D-UNet [23] as our detection method. The structure of this network was below. Inspired by U-Net, this network could process 3D input blocks of 128*128*128 voxels, and also comprised a context aggregation pathway as U-Net. Besides, they employed deep supervision to the network by injecting gradient signals.

To train our model, we augmented the 96 image sets to 768, using flip** (by transverse section), histogram normalization, discrete Gaussian noise filter (variance: 4.0, max kernel width: 32 pixels, sequentially. The image sets were then cropped and resampled to 128*128*128. The annotations were dilated based on the center of the labeled area, all annotations were dilated to a sphere with the same radius. The way to choose the radius was above 3 voxels under 128*128*128, which was above 3% of the length of axis. After the dilation, the annotations had two labeled objects, the vessel area as background, and aneurysms as foreground. Then 76 of the 96 image sets were selected as training datasets and put into the network for training. The initial factors were: batch size = 1, initial learning rate = 5e−4, optimization function was Adam, the weights were initialized using the default initializer (glorot_uniform) of Keras. After about 200 epochs the learning process got an early stop; it costs 10 h in our environment.

After training, we obtained the deep neural network model and used it to predict the new TOF-MRA image; the image was processed by step one, got the vessel area, then the model would predict each voxel in the vessel area. The model would give the likelihood of each voxel to be normal vessel or aneurysm. These possibilities were binarized at a threshold of 0.5, a value greater than 0.5 was converted to 1 and a value less than 0.5 was converted to 0. Then each voxel of the vessel area was classified into 2 labels: vessel area and aneurysm area. The voxels of one label were all connected to be one component, so we took the center of the aneurysm area and draw a sphere from this point, with the radius the same as used to dilate the annotations. The area inside the sphere had a high probability to be an aneurysm, and clinicians could check the area more carefully to make the diagnosis (Fig. 6).

Fig. 6
figure 6

Workflow of the aneurysm detection using 3D-UNET