Deep Vessel SegmentationBy Learning Graphical Connectivity

Deep Vessel Segmentation By Learning Graphical Connectivity


We propose a novel deep-learning-based system for vessel segmentation. Existing methods using CNNs have mostly relied on local appearances learned on the regular image grid, without considering the graphical structure of vessel shape. To address this, we incorporate a graph convolutional network into a unified CNN architecture, where the final segmentation is inferred by combining the different types of features. The proposed method can be applied to expand any type of CNN-based vessel segmentation method to enhance the performance. Experiments show that the proposed method outperforms the current state-of-the-art methods on two retinal image datasets as well as a coronary artery X-ray angiography dataset.

Vessel segmentation, deep learning, CNN, graph convolutional network, retinal image, coronary artery, X-ray angiography.

S.Y. Shin et al.

1 Introduction

Observation of blood vessels is crucial in the diagnosis and intervention of many diseases. Clinicians have mainly relied on manual inspections, which can be inaccurate and time-consuming. Over the years, the demand for efficiency has led to the development of numerous methods for automatic vessel segmentation.

Most methods are based on image-processing [1], optimization [2, 3], learning [4, 5], or their combination. Many optimization methods, including energy minimization methods on a Markov random field [2, 3], aim to determine the best global graph structure based on applied prior knowledge. However, prior knowledge often consists of only simple rules, limiting the modeling capacity. More complex distributions can be modeled using learning-based methods such as boosting [4] or regression [5]. However, due to model complexity, only local appearances are mostly learned. Even with deep learning methods based on convolutional neural networks (CNN) [6, 7, 8] this limitation persists.

Figure 1: Motivation of the proposed method. Learning about the strong relationship that exists between neighborhoods is not guaranteed in existing CNN-based vessel segmentation methods. The proposed vessel graph network (VGN) utilizes a GCN together with a CNN to address this issue. All figures best viewed in color.

Thus, we present a novel CNN architecture, the vessel graph network (VGN), that jointly learns the global structure of vessel shape together with local appearances, as shown in Fig. 1. The VGN comprises three components, i) a CNN module for generating pixelwise features and vessel probabilities, ii) a graph convolutional network (GCN) [9] module to extract features which reflect the connectivity of neighboring vertices, and iii) an inference module to produce the final segmentation. The input graph for the GCN is generated in an additional graph construction module. The network architecture is described in Fig. 2.

The technical contributions are as follows. 1) Our work is the first, to our knowledge, method to apply GCN to learn graphical structure of blood vessels. 2) The VGN combines the GCN within a CNN structure to jointly learn both local appearance and global structure. 3) The VGN structure is widely applicable since it can be combined with any CNN-based method. 4) When extending CNN-based methods to VGN, performance is highly likely to improve, with no risk of degradation. This is because, should the GCN have no positive impact, the VGN will be trained to perform inference only from the CNN features. 5) We perform comparative evaluations on two retinal image datasets and a coronary X-ray angiography dataset, showing that the VGN outperforms current state-of-the-art (SotA) methods.

Figure 2: Overall network architecture of VGN comprising the CNN, graph convolutional network, and inference modules. Refer to text for more details.

2 Methods

2.1 Overview of Network Architecture

The CNN module learns features, on the regular image grid of size , to infer pixelwise vessel probability of input image . The GCN module learns features for vertices on an irregular graph constructed from points sampled from vessel centerlines of an initial segmentation . Due to their interaction in the GCN, the hidden representation of each vertex reflects the likelihood of being a vessel, given the likelihood of neighboring vertices, respectively. For instance, when a vertex is surrounded by vessel vertices, it will become more likely to be labeled a vessel based on its GCN features. The combined CNN and GCN features are given to the inference module to compute the final vessel probability map .

As the CNN module, we adopt the network of DRIU (deep retinal image understanding) [8], based on the VGG-16 network [10], due to its SotA performance. We note that any other CNN-based vessel segmentation method can be used. In DRIU, a vessel probability map is inferred from concatenated multi-scale features from the VGG-16. Before the concatenation, feature maps are resized to have identical scale. In our VGN, we adopt the pixelwise cross entropy loss for this CNN module. Please refer to [8] for more details.

2.2 Graph Convolutional Network Module

A graph must be constructed and given as input for both training and testing of the GCN module. We assume a CNN has been pretrained to generate , on which the following is performed: 1) thresholding, 2) skeletonization by morphological thinning, 3) vertex generation by equidistant sampling, with distance , on the skeleton together with skeletal junctions and endpoints, and 4) edge generation between vertices based on the skeletal connectivity or geodesic distances on the vessel probability map.

We denote the constructed graph from the image as , where and are sets of vertices and edges, respectively. is the number of vertices. Input feature vector for each vertex is sampled from the intermediate feature map generated from the CNN at the pixel coordinate of each vertex. The matrix of all ’s is denoted as , where is the feature dimension of the CNN. While the existence and weight of the edge between the and vertices can be defined in various ways, we empirically use simple binary values based on nearest neighbor connectivity on the skeleton. The adjacency matrix defined by all ’s is denoted as .

The GCN operates on the extracted graph as a vertex classifier into vessel or non-vessel. It is defined as a two-layer feed-forward model formulated as:


with , , and . is a vessel probability vector for all vertices, which is calculated by applying the sigmoid function on the final features. and are trainable weight matrices, where is the number of hidden units in the GCN. More layers showed no improvement in our experiments as reported in [9]. For training the GCN, we use a mean of the vertex-wise cross entropy loss defined as:


where returns the pixel index corresponding to . and are the GT label and the vessel probability predicted for by the GCN, respectively. and represent the back/foreground classes.

2.3 Inference Module

To conduct inference on the combined features from the CNN and GCN modules, the spatial dimensions of the features must be normalized. Thus, we reproject the number of GCN hidden features, only sparsely present on ’s to the corresponding pixel coordinate in the pixelwise regular grid to coincide with the CNN features. The combined features are represented in a tensor of dimension . Since all intermediate layers are ReLU-activated in the VGN, the zero-padding on the non-vertex pixels of the GCN features can be interpreted as those are not activated.

is produced by applying multiple convolution layers on the combined feature tensor. To spread the sparse activations out over the whole image region, the number of the layers and the kernel sizes are determined according to the vertex sampling distance . We empirically adopted a plain architecture composed of five convolution layers, all with kernel size 33. For training, we again use a mean of the pixelwise cross entropy loss defined as:


where is the prediction for each pixel from the inference module. The weights for class-balancing are omitted for brevity. Here, is adopted to prevent trivial solutions which can be inferred only using the CNN features. is the inverse operator of . is used since a single pixel is selected as a graph vertex among approximately pixels.

2.4 Network Training

We adopt a sequential training scheme composed of an initial pretraining of the CNN followed by joint training, including fine-tuning of the CNN module, of the whole VGN. The inferred from the pretrained CNN is used to construct the training graphs as described in Section 2.2. To maintain efficiency, graph construction is performed only at each training iterations. Compared to when pretraining the CNN, the VGN takes image as well as for joint training. With the assumption of the accuracy of the graph constructed from the pretrained CNN module, the proposed network learns the graphical vessel structure while fine-tuning the CNN module end-to-end. The total loss function used for the VGN is defined as:


When testing the VGN, CNN module feature generation and inference, graph construction, GCN feature generation, and final VGN inference are performed sequentially for each image to generate the final segmentation.

3 Experimental Results

Evaluation Details: We experiment on two retinal image datasets, namely DRIVE [11] and STARE [12], and a coronary artery X-ray angiography dataset (CA-XRA). For the DRIVE and STARE sets, which respectively comprises 40 and 20 images, we followed [8] for training/test set splits, and human performance measurement using second observer results. CA-XRA was acquired in our cooperating hospital and comprises 3,137 image frames from 85 XRA sequences. All sequences were acquired at 512 512 resolution, 8 bit depth, and 15 fps frame rate. We treated each frame as an independent image, without use of temporal information. Frames of the first 80, and the last 5 sequences were assigned as training and test sets comprising 2,958 and 179 images, respectively.

Since the authors have not made their training code publicly available, our own implementation of the DRIU [8] was used as the CNN module. We provide a comparison between results from our implementation and those reported in [8] for reference. CNN architectures are identical to the original DRIU for the retinal image datasets (=64=164), but slightly modified to include all five stages of VGG-16 (=80=165) to handle the wider variance of vessel width in CA-XRA images. The numbers of hidden units in the GCN were set to be equal to that of the CNN, as =64 for DRIVE/STARE, and =80 for CA-XRA. In the inference module, feature depth is halved in layer , kept constant in layer , and reduced to 1 in the final layer .

The details on CNN pretraining mostly followed that of the original DRIU [8], but slightly modified the loss function from the sum of pixelwise cross entropy to the mean, and modified the learning rate accordingly. For training the VGN, We use stochastic gradient descent with momentum of 0.9 and a weight decay of 0.0005. The initial learning rates of the pratrained CNN and the remaining modules are and for DRIVE/STARE, and for CA-XRA. We found that not fine-tuning the pretrained CNN shows better results for DRIVE/STARE due to its small number of training images. The learning rate is scheduled to gradually decrease. 50,000 iterations with mini-batch size 1 were run for DRIVE/STARE, while 100,000 iterations with mini-batch size 5 were run for CA-XRA. We applied horizontal flipping, random brightness and contrast adjustment for data augmentation. Precomputed graphs are flipped accordingly.

The graph update period is set as 10,000 and 20,000 for retinal and CA-XRA datasets, respectively. The vertex sampling rate is fixed to 10. We use several thresholds for vessel probability maps during the graph construction, to simulate variability of training graph data. A randomly selected graph is used at each iteration. In test time, the thresholds are all used and the average vessel map is given as the final output.

(a) (b)
Figure 3: Precision recall curves, average precisions (AP), and max F1 scores of the proposed VGN and comparable methods on the DRIVE and STARE dataset. ‘Human’ indicates the performance of the second annotator. ’’ represents our own implementation, which was required as a component of the proposed VGN. Comparison results are thankfully provided by the authors.

Quantitative Evaluation: We compare the proposed VGN with the current SotA [8, 6, 7] as well as several conventional approaches [1, 2, 4] on precision recall curves. The curve is obtained by computing multiple precision/recall pairs using multiple vessel probability thresholds. We also present the average precisions (AP) and the maximum F1 scores as summary measures.

The precision recall curves for DRIVE/STARE are summarized in Fig. 3. The proposed method shows comparable performance to the original DRIU [8] for DRIVE and shows the best performance for the STARE dataset. In both datasets, the proposed method achieves the highest AP scores. We note that our implementation of the DRIU method, denoted as in Fig. 3, gives slightly different performances than the original. Compared to , which is the baseline for the proposed VGN, we can clearly see improved performance for both datasets. For the CA-XRA dataset, VGN scored an AP of 0.915 while DRIU scored 0.899, showing a relative improvement of 1.78%.

Qualitative Evaluation: Fig. 4 shows qualitative results from each dataset. Compared to  [8], VGN reduces false positives, e.g., ribs in CA-XRA, and false negatives. It is interesting that very weak vessels in the first result of STARE are suppressed, rather than enhanced, by considering neighboring vessels. We also note that the proposed VGN seems to perform better for higher quality images such as the STARE dataset since the vessel graph structures become clearer.

(a) (b) (c) (d) (e) (f)
(g) (h) (i) (j) (k) (l)
(m) (n) (o) (p) (q) (r)
(s) (t) (u) (v) (w) (x)
(y) (z) (aa) (ab) (ac) (ad)
(ae) (af) (ag) (ah) (ai) (aj)
(ak) (al) (am) (an) (ao) (ap)
(aq) (ar) (as) (at) (au) (av)
(aw) (ax) (ay) (az) (ba) (bb)
Figure 4: Qualitative results on the DRIVE, STARE, and CA-XRA dataset. Each of the three block rows represents each dataset in order, all of which with three representative sample results. Each of the six images for a single case represents an input image, result of [8], result of VGC, zoomed GT, zoomed result of [8], and zoomed result of VGC, from top-left to bottom-right. The results of [8] for DRIVE/STARE are those provided from the original authors, while our implementation results are shown for CA-XRA.

4 Conclusion

We have proposed a novel CNN architecture that explicitly learns the graphical structure of vessel shape together with local appearance for vessel segmentation. Experiments show the effectiveness on three datasets about two different target organs. For future works, we plan to apply the proposed method to 3D imaging modalities such as the computed tomography angiography or extend it to use the temporal information of video data, e.g., fluoroscopic x-ray sequences.


  1. email:
  2. email:
  3. email:
  4. email:


  1. Soares, J.V.B., Leandro, J.J.G., Cesar, R.M., Jelinek, H.F., Cree, M.J.: Retinal vessel segmentation using the 2-D Gabor wavelet and supervised classification. IEEE T-MI 25(9) (Sept 2006) 1214–1222
  2. Orlando, J.I., Blaschko, Matthew”, e.P., Hata, N., Barillot, C., Hornegger, J., Howe, R.: Learning Fully-Connected CRFs for Blood Vessel Segmentation in Retinal Images. In: MICCAI (2014)
  3. Shin, S.Y., Lee, S., Noh, K.J., Yun, I.D., Lee, K.M.: Extraction of Coronary Vessels in Fluoroscopic X-Ray Sequences Using Vessel Correspondence Optimization. In: MICCAI (2016)
  4. Becker, C., Rigamonti, R., Lepetit, V., Fua, P.: Supervised Feature Learning for Curvilinear Structure Segmentation. In: MICCAI (2013)
  5. Sironi, A., Lepetit, V., Fua, P.: Projection onto the Manifold of Elongated Structures for Accurate Extraction. In: ICCV (2015)
  6. Ganin, Y., Lempitsky, V.: -Fields: Neural Network Nearest Neighbor Fields for Image Transforms. In: ACCV (2014)
  7. Fu, H., Xu, Y., Lin, S., Kee Wong, D.W., Liu, J.: DeepVessel: Retinal Vessel Segmentation via Deep Learning and Conditional Random Field. In: MICCAI (2016)
  8. Maninis, K.K., Pont-Tuset, J., Arbeláez, P., Van Gool, L.: Deep Retinal Image Understanding. In: MICCAI (2016)
  9. Kipf, T.N., Welling, M.: Semi-Supervised Classification with Graph Convolutional Networks. In: ICLR (2017)
  10. Simonyan, K., Zisserman, A.: Very Deep Convolutional Networks for Large-Scale Image Recognition. CoRR abs/1409.1556 (2014)
  11. Staal, J., Abramoff, M.D., Niemeijer, M., Viergever, M.A., van Ginneken, B.: Ridge-based vessel segmentation in color images of the retina. IEEE T-MI 23(4) (April 2004) 501–509
  12. Hoover, A.D., Kouznetsova, V., Goldbaum, M.: Locating blood vessels in retinal images by piecewise threshold probing of a matched filter response. IEEE T-MI 19(3) (March 2000) 203–210
Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
Add comment
Loading ...
This is a comment super asjknd jkasnjk adsnkj
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test description