DOI QR코드

DOI QR Code

Layer Segmentation of Retinal OCT Images using Deep Convolutional Encoder-Decoder Network

딥 컨볼루셔널 인코더-디코더 네트워크를 이용한 망막 OCT 영상의 층 분할

  • Kwon, Oh-Heum (Dept. of IT Convergence and Application Engineering, Pukyong National University) ;
  • Song, Min-Gyu (Dept. of IT Convergence and Application Engineering, Pukyong National University) ;
  • Song, Ha-Joo (Dept. of IT Convergence and Application Engineering, Pukyong National University) ;
  • Kwon, Ki-Ryong (Dept. of IT Convergence and Application Engineering, Pukyong National University)
  • Received : 2019.08.21
  • Accepted : 2019.10.22
  • Published : 2019.11.30

Abstract

In medical image analysis, segmentation is considered as a vital process since it partitions an image into coherent parts and extracts interesting objects from the image. In this paper, we consider automatic segmentations of OCT retinal images to find six layer boundaries using convolutional neural networks. Segmenting retinal images by layer boundaries is very important in diagnosing and predicting progress of eye diseases including diabetic retinopathy, glaucoma, and AMD (age-related macular degeneration). We applied well-known CNN architecture for general image segmentation, called Segnet, U-net, and CNN-S into this problem. We also proposed a shortest path-based algorithm for finding the layer boundaries from the outputs of Segnet and U-net. We analysed their performance on public OCT image data set. The experimental results show that the Segnet combined with the proposed shortest path-based boundary finding algorithm outperforms other two networks.

Keywords

1. 서 론

 의료영상기기의 발달에 따라 선명하고 질 높은 의료 이미지를 획득하고 컴퓨터 영상 처리 기술을 적용하여 분석하고 처리하는 것이 질병의 진단과 진행 상태를 판단하기 위한 중요한 도구의 하나로 여겨지고 있다. 컴퓨터 영상 처리 분야에서 이미지 분할(segmentation)은 이미지를 픽셀 집합들로 분할하는 과정을 말한다. 일반적으로 분할의 목적은 이미지를 구성하고 있는 성분들을 분해하여 관심 있는 객체의 위치와 형태 또는 외곽선을 추출해 내는 것이다. CT 혹은 MRI와 같은 의료 영상 기기로 부터 획득한 이미지에서 관심 있는 증상 부위의 정확한 검출과 종양 등의 경계선을 자동으로 분별해내기 위해서 이미지 분할 기술이 광범위하게 쓰이고 있다.

 OCT(Optical Coherence Tomography)는 광 간섭 단층 촬영기술을 사용하여 비파괴적으로 신체 내부조직을 촬영하는 기기이며, 의료 및 다양한 산업 분야에서 광범위하게 활용되고 있다[1]. 특히 안과 분야에서는 망막의 내부 조직을 마이크로미터 해상도로 단층 촬영한 영상을 획득할 수 있어서 CF(Color Fundus Photography), FAF(Fundus Autofluorescence), NIR(Near-Infrared Reflectance) 등의 다른 영상 기기들과 함께 가장 중요한 기기의 하나로 인정받고 있다. 고해상도 OCT 이미지로부터 망막에 발생하는 여러 병변들을 식별하거나, AMD(Age-related Macular Degeneration), 당뇨성 망막증(diabeticretinopathy), 녹내장(glaucoma) 등의 망막 질환을 자동 진단하는 것에 관한 다양한 연구가 활발하게 진행되고 있다[2-4].

 망막은 서로 다른 조직 구성을 가진 많은 단층(layer)들로 형성된다. Fig. 1은 망막의 OCT 이미지에서 망막을 구성하는 18개의 단층들의 예를 보여준다[5]. AMD, 당뇨성 망막증 등과 같은 안과 질환은 일반적으로 출혈, 위축(atrophy), 결정체(drusen), 부종(edema) 등과 같은 병변을 야기하고 이로 인해서 단층 경계선의 형태와 두께 등에서 변형이 초래된다. Fig. 2에서는 정상인(a)과 비출혈성 AMD 환자(b),그리고 당뇨성 망막증 환자(c) 등에게서 야기되는 전형적인 단층 경계선의 형태 변형의 예를 보여준다. 다양한 망막질환에 대한 연구에서 망막을 구성하는 이러한 단층들의 윤곽선을 식별하고 각 층의 두께를 측정하거나 출혈부위 등을 식별해내는 것은 질병의 정도나 진행과정을 이해하고 질병의 진행에 대한 잠재적인 징후를 파악하는데 있어서 필수적이다[5]. 망막에는 눈에 보이지 않는 미세한 단층들이 많고 이러한 층들을 식별하는 것은 의료 전문가의 경우에도 완전한 확신을 갖기 어려운 까다로운 일이다. 그러므로 수작업으로 이러한 단층들의 경계를 찾아내는 작업은 상당히 많은 시간과 노력이 필요하고, 따라서 이를 자동화하기 위한 여러 가지 연구가 진행되고 있다.

MTMDCW_2019_v22n11_1269_f0001.png 이미지

Fig. 1. Layers in human retina [5].

MTMDCW_2019_v22n11_1269_f0002.png 이미지

Fig. 2. Sample retinal image of (a) healthy, (b) AMD, and (c) DME patients.

 망막 단층의 자동 분할에 대한 기존의 연구는 크게 두 가지 부류로 구분할 수 있다. 첫째는 고정된수학적 모델에 기반한 방법이다[6,7]. 망막의 단층 구조에 대한 사전 지식에 근거한 수학적 모델을 수작업으로 수립하고 이에 근거하여 최대 플로(maximum flow) 등과 같은 그래프 최적화 알고리즘을 이용하여 이미지를 분할하는 것이다[8,9]. 일반적으로 이러한 수학적 모델은 단층 간의 간격에 대한 상한과 하한, 단층 경계선의 곡률 등에 대해서 미리 설정한 값들로 이루어진다. 하지만 이러한 접근은 인종이나 개인에 따른 차이를 표현하기 어렵고, 특히 특정한 망막 질환에 의해서 변형이 이루어진 경우 각각의 질환이나 그 진행 정도에 따라서 서로 다른 모형을 수립해야하므로 많은 시간과 노력, 비용이 수반되는 일이다. 두 번째는 기계학습에 기반한 방법이다. 단층 분할문제를 이미지 분할 문제로 정형화하여 SVM(support vector machine), 신경망(neural network) 등의 기계학습 도구를 이용하여 접근하는 것이다. 기계학습에 기반한 분할 기법은 수작업으로 층 분할을 위한 규칙과 기준을 구성하는 대신 학습 데이터로부터 분할에 필요한 특성들을 학습함으로써 스스로 규칙을 생성한다는 점에서 효과적이다[10].

 OCT 이미지의 분할을 위해서 다양한 종류의 기계학습 모델들이 연구되어 왔다. Vermeer [11]SVM을 이용하여 정상인과 녹내장을 가진 환자의 망막층을 6개의 층으로 분할하는 연구를 수행하였고, Lang[12]은 랜덤 포리스트 모델(random forest model)을 이용하여 9개의 층으로 분할하는 문제를 다루었다. 이 연구들은 10인 내외의 소수의 환자에 대한 데이터로 이루어졌고, 분할의 정확도에 있어서도 이후의 신경망을 이용한 기법에는 다소 미치지 못하는 경향이 있다. Venhuizen [13]CNN (convolutional neural network)을 이용하여 심각한 병변이 있는 경우에도 OCT 이미지로부터 전체 망막 영역을 신뢰성 있게 분할할 수 있음을 보였다. Roy [14]은 망막층과 수액(fluid) 영역을 분할하는 문제를 CNN을 사용하여 다루었다. 최근에 구글 딥마인드 연구진은 역시 CNN을 이용하여 망막 층을 분할하고 분할된 결과를 이용하여 다양한 안과 질환을 진단하는 연구를 발표하기도 하였다[15].

 전체 망막 영역을 분할하는데 그치지 않고 망막을 구성하는 다수의 세부 층들을 신경망을 이용하여 분할하는 연구들도 수행되었다. Fang [16]은 컨볼루션 신경망과 그래프 탐색 알고리즘을 결합하여 망막층을 분할하는 연구를 수행하였다. OCT 이미지에서 층 경계선에 속한 픽셀들을 중점으로 하는 일정한 크기의 패치(patch)들을 잘라내고, 이 패치들을 이용하여 CNN을 학습하여 이미지의 각 픽셀이 층 경계선에 속할 확률을 계산한 후 그 결과에 그래프 탐색 알고리즘을 적용하여 층 경계선을 식별하는 일종의 복합적인 기법을 사용하였다. Shah [17]은 분할선의 궤적을 하나의 벡터로 인코딩하여 CNN이 픽셀들을 분류(classify)하는 대신 직접적으로 분할선의 궤적을 찾는 접근 방법을 사용하였다.

 본 논문에서는 신경망을 이용하여 OCT 망막 이미지에서 Fig. 3에 표시된 내부 경계막(inner limiting membrane: ILM), 신경섬유층(nerve fiber layer: NFL)과 신경절세포층(ganglion cell layer: GCL)의 경계, 외부얼기층(outer plexiform layer: OPL)과 외부핵층(outer nuclear layer: ONL)의 경계, 내부광수 용체영역(inner photoreceptor segment: IPS)과 외부광수용체영역(outer photoreceptor segment: OPS)의 경계, 망막 색소 상피(retinal pigment epithelium: RPE), 그리고 Bruch의 상피(Bruch’s membrane: BM)의 총 6개의 단층 분할선을 식별하는 문제를 고려하였다.

MTMDCW_2019_v22n11_1269_f0003.png 이미지

Fig. 3. Retinal layers.

 네트워크 구조는 인코더-디코더 형태를 가지는 SegNetU-net 모델을 사용하였다[18, 19]. SegNetU-net은 분할선 자체를 찾는 대신 이미지를 구성하는 각 픽셀들을 영역으로 분류한다. 우리의 예에서는 6개의 분할선을 찾는 것이 목적이므로 각 픽셀은 7개의 영역으로 분류된다. 실제의 분할선들은 일반적으로 이미지를 좌우로 가로지르는 터레인(terrain)의 형태를 가지지만 신경망에 의해 분류된 픽셀들에 의해서 정의된 영역들은 매끈한 경계선을 가지지도 않고, Fig. 6의 예와 같이 불규칙적인 경계면을 가지거나 다른 영역 내부에 고립된 형태로 흩어지기도 한다. 이렇게 부정확하게 분할된 이미지로부터 경계선을 식별하기 위해서는 추가적인 알고리즘이 필요하다. 본 논문에서는 경계선을 찾기 위해서 최단경로기반의 알고리즘을 사용하였다. 본 논문에서는 공개 데이터 셋을 사용하여 분할 알고리즘의 성능을 평가하였다.

 본 논문의 구성은 다음과 같다. 먼저 2장에서는 본 논문에서 사용된 신경망의 구조와 분할선을 찾는 알고리즘을 기술한다. 3장에서는 실험의 환경과 사용한 데이터 셋, 그리고 성능의 분석을 기술한다. 4장에서는 결론을 제시한다.

2. 신경망의 구조 및 분할선 식별 알고리즘

2.1 SegnetU-net

 U-net[19]Segnet[18]CNN을 이용하여 이미지를 분할하는 대표적인 신경망 구조이다. Fig. 4U-net의 구조를 보여주는데 Segnet 역시 층의 개수와 세부적인 층의 구성에서만 부분적으로 다를 뿐 본질적으로 유사한 구조를 가진다. 두 네트워크는 공통적으로 인코더-디코더 형태를 가지며 3개의 경로로 구성된다. 첫째는 축약(contracting) 경로인데 연속적인 컨볼루션 층과 맥스풀링(maxpooling)층으로 구성되며, 다운(down) 샘플링을 통해 이미지의 크기를 계속해서 줄여나가면서 이미지의 전체적인 맥락 정보를 포착하는 역할을 한다. Fig. 4의 왼쪽에 있는 층들이 이에 해당한다. 둘째는 축약 경로와 대칭적인 구조를 가지는 확장(expansion) 경로이다. 축약 경로를 지나면서 다운 샘플링 된 이미지를 원래 크기로업(up) 샘플링하는 역할을 한다. Fig. 4의 오른쪽에 위치한 층들에 해당한다. 셋째는 연결(connection)경로이며 Fig. 4에서 축약 경로와 확장 경로를 연결하는 빨간 화살표에 해당한다. 이 경로는 축약 경로와 확장 경로의 층들을 일대일 대응하여 축약 경로 상에서 해당하는 층의 정보를 대응하는 확장 경로의 층에 제공하여 업 샘플링을 수행할 때 연관된 지역적인 정보를 포함하도록 하는 역할을 한다.

MTMDCW_2019_v22n11_1269_f0004.png 이미지

Fig. 4. Structure of UNET.

 U-netSegnet의 근본적인 차이는 연결 경로를 통해서 제공되는 정보의 차이이다. U-net에서는 축약 경로 상에서 대응하는 층의 출력이 연결 경로를통 해서 확장 경로에 제공되고, 확장 경로에서는 전달된 정보를 확장 경로상의 이전 층의 출력과 통합(concatenate)한다. 반면 Segnet의 경우에는 축약 경로상의 해당하는 층에서 수행된 맥스풀링 연산의 인덱스 정보를 확장 경로상의 대응하는 층에 전달하고, 확장 경로에서는 그 인덱스 정보를 역으로 적용하여 업 샘플링을 수행한다. 세부적으로 보면 이 외에도 몇몇 차이들이 있으나 근본적인 것들은 아니다. 본 논문에서는 SegnetU-net을 본 논문에서 다루는 데이터에 맞게 입력층과 출력층의 크기만을 수정하여 사용하였다.

 U-net이나 Segnet의 경우 분할 문제를 픽셀들의 분류(classification) 문제로 다룬다. 즉 분할의 결과는 각 픽셀을 소속 영역으로 분류하는 것이다. OCT 망막 이미지의 층 분할 문제의 경우 층 간을 분할하는 분할선이 일반적으로 이미지를 횡으로 가로지르는 터레인(terrain)의 형태를 가진다고 가정할 수 있다. 그래서 각 픽셀의 소속 영역을 분류하는 대신 터레인 형태의 분할선(boundary)의 궤적을 직접 결정하는 문제로 다룰 수 있다. \(H \times W\) 크기의 이미지에 대해서 \(i\)-번째 층 분할 선은 다음과 같은 행(row) 인덱스의 수열로 생각할 수 있다. , 아래의 수식(1)과 같이 고정된 크기의 벡터로 표현이 가능하다.

\(\begin{aligned} L_{i}=&\left(r_{0}^{i} r_{1}^{i}, \cdots, r_{W-1}^{i}\right), r_{j}^{i} \in\{0,1, \cdots, \mathrm{H}-1\}, \mathrm{j}=0, \\ & \ldots, W-1, \quad i=0, \cdots, L-1 \end{aligned}\)       (1)

 여기서 \(r_{j}^{i}\)\(j\)-번째 열(column)에서의 \(i\)-번째 분할선의 행 인덱스이다. \(k\)개의 분할선을 찾는 문제의 경우에는 이렇게 표현된 \(k\)개의 길이가 \(W\)인 벡터를 결합(concatenate)하여 하나의 길이가 \(kW\)인 벡터로 생각할 수 있다. CNN-S는 이미지로부터 이렇게 벡터 형식으로 표현된 분할선의 궤적을 직접 찾는 접근을 취한다[17]. CNN-S의 네트워크 아키텍처는 Fig.5와 같이 컨볼루셔널 레이어와 Relu함수 그리고 풀링레이어가 한 묶음으로 8묶음이 연속적으로 연결되고, 이어서 2개의 완전연결(fully connected) 레이어가 연결되는 전형적인 CNN의 형태이다. 본 논문에서는 Segnet, U-net과 함께 CNN-S 네트워크를 구현하여 성능을 비교하였다.

MTMDCW_2019_v22n11_1269_f0005.png 이미지

Fig. 5. Structure of CNN-S.

2.2 분할선 찾기

 \(k\)개의 터레인 형태의 분할선을 찾는 문제에 대해서 SegnetU-net은 픽셀들을 \(k+1\)개의 영역 중 하나로 분류한다. 터레인 형태의 분할선은 이미지를 상하로 양분하므로 이 영역들을 이미지의 상단에서 하단의 순서로 0번째 영역에서 \(k\)번째 영역이라고 부르겠다. 그리고 \(i\)번째 분할선은 \(i\)번째 영역과 \(i+1\)번째 영역을 구분하는 경계선이라고 하자. Fig. 6은 Segnet이나 U-net의 출력의 전형적인 예들을 보여준다. Fig. 6에서 첫 번째 열은 입력 이미지, 두 번째 열은 수작업에 의한 층 분할, 그리고 세 번째 열은 신경망의 출력을 표시한다. 첫 행의 경우 비교적 정확하게 분할이 이루어진 경우이며, 두 번째와 세 번째 열은 분할의 결과가 다소 부정확한 경우의 예이다. 특히 세 번째 예의 경우에는 많은 고립된(isolated) 영역들이 분포한다. 이렇게 부정확하게 분할된 결과에 대해서도 터레인 형태의 분할선을 명시적으로 결정하기 위한 알고리즘이 필요하다.

MTMDCW_2019_v22n11_1269_f0006.png 이미지

Fig. 6. Examples of segmentation results.

 본 논문에서는 신경망의 분할 결과인 영역으로 분할된 이미지를 하나의 가중치 방향 그래프(weighteddirected graph)로 표현하고 최단경로(shortestpath)를 찾는 알고리즘을 이용하여 분할 경계선을 찾는다. 이미지의 각 픽셀이 하나의 정점에 대응하며, 각 정점은 Fig. 7에서 보여주는 것과 같이 오른쪽-수평으로 인접한 정점, 오른쪽-위쪽의 대각 방향으로 인접한 정점, 오른쪽-아래쪽의 대각방향으로 인접한 정점과 인접한 것으로 간주한다. 즉 정점 \((x, y)\)에 인접한 정점은 \((x+1, y-1),(x+1, y),(x+1, y+1)\)이다. 영역 \(k\)에 속한 픽셀 \((x, y)\) 대해서 바로 상위 픽셀 \((x,y-1)\)이 다른 영역에 속할 때 픽셀 \((x, y)\)를 영역 \(k\)의 상부 경계선 픽셀이라고 부르겠다. \(k\)-번째 분할선을 찾는 경우에 정점 \(u\)를 정점 \(v\)로 연결하는 에지 \((u, v)\)의 가중치 \(w(u, v)\)는 정점 \(v\)의 소속 영역에 따라서 다음과 같이 정해진다.

\(w(u, v)=\left\{\begin{array}{l} d_{ {large}} \quad \text{if}\ v \ \text{is not an upper boundary pixel of region}\ k;\\ d_{ {middle}} \quad \text{if}\ v \ \text{an upper boundary pixel of the} \ k\text{th region, but the pixel above}\ v \ \text{does not belong to the}\ (k-1)\text{th region;} \\ d_{ {small}} \quad \text{if}\ v \ \text{an upper boundary pixel of the} \ k\text{th region, but the pixel above}\ v \ \text{ belong to the}\ (k-1)\text{th region. } \end{array}\right.\)       (2)

 Fig. 7은 이렇게 정의된 그래프의 일부분의 예를 보여준다. Fig. 7에서 영역들은 서로 다른 색으로 표시되어 있고, 에지의 가중치는 화살표의 굵기로 구분되어 있다. 굵은 화살표가 가중치가 작은 에지를 의미한다. \(k\)번째 영역의 상부(upper) 경계에 해당하는 정점으로 진입하는 에지들은 작은 가중치 \(d_{s m a l l}\)를 가지고, 그렇지 않은 정점으로 진입하는 에지는 큰 가중치 \(d_{ {large}}\)를 가진다. 신경망의 출력에서 \(k\)번째 영역이 위쪽으로 반드시 \(k-1\)번째 영역과 인접한 것은 아니며, 그런 경우 경계선의 신뢰도가 하락하는 것으로 간주하여 해당하는 에지들에게는 중간 정도의 가중값 \(d_{ {middle}}\)을 부여하였다. 본 논문의 실험에서는 \(d_{ {small}}=1, \quad d_{ {middle}}=5, \quad d_{ {large}}=10\)을 부여하였다.

MTMDCW_2019_v22n11_1269_f0007.png 이미지

Fig. 7. Graph representation of k-th layer boundary.

 이 그래프의 가장 왼쪽 가장자리 열의 임의의 정점에서 오른쪽 가장자리의 임의의 정점에 도달하는 최단 경로상의 픽셀들을 찾아서 이것을 \(k\)번째 분할선으로 삼는다. Fig. 7에서 빨간 점선이 찾아질 최단경로를 표시한다. Fig. 8은 이미지들에 대해서 최단경로 알고리즘으로 분할선을 확정한 예이다. Fig. 8에서 상단의 이미지들이 신경망의 출력이며 하단의 이미지들은 각각에 대해서 최단경로 알고리즘으로 찾은 분할선을 표시하고 있다.

MTMDCW_2019_v22n11_1269_f0008.png 이미지

Fig. 8. Results of boundary finding algorithm.

3. 실험 및 성능 평가

3.1 데이터 셋

 실험에 사용한 데이터셋은 Duke 대학의 VIP(Vision and Image Processing) 연구실에서 제공하는 공개 데이터 셋이다[20]. 이 데이터 셋은 269명의 비출혈성 AMD 환자와 115명의 정상인을 포함하는 총 384개의 OCT 이미지로 구성된다. 각 이미지에서 \(512 \times 640\) 크기의 중앙부를 잘라내어 사용하였으며, 이미지의 각 픽셀은 세로 3.19 μm, 가로 6.55 μm 크기의 망막 단면에 대응한다. 이 데이터 셋을 랜덤하게 분할하여 대략 80%에 해당하는 308개의 이미지는 학습을 위해서, 나머지 20%에 해당하는 76개의 이미지는 테스트를 위해서 사용하였다.

 학습 데이터 셋의 증가를 위해서 각각의 학습 이미지에 대해서 좌우 대칭 변환, 상하 평행이동 변환을 통해 2개의 새로운 이미지를 생성하여 추가하였다. Fig. 9에서 첫 번째 이미지는 원본 이미지이며, 두 번째 이미지는 원본 이미지를 좌우로 대칭 변환한 것이며, 세 번째 이미지는 원본 이미지를 위쪽 방향으로 평행이동 한 것이다. 이미지를 상하로 평행이동 할 경우에는 최상부 층 경계선과 최하부 층 경계선이 이미지 밖으로 밀려나지 않는 범위에서 이동 거리를 랜덤하게 결정하였다. 이때 이동 방향의 반대쪽 영역은 각 열의 평균 픽셀 값으로 채웠다. 마지막으로 이미지의 각 열(column)을 상하로 랜덤하게 쉬프트(shift)하는 연산을 통해 추가로 하나의 새로운 이미지를 생성하였다. 인접한 두 열에 대해서 쉬프트 하는 거리의 차이가 ±1을 넘지 않도록 하여 층 경계선의 연속성이 보존되도록 하였다. 일반적으로 학습 데이터 증가를 위해 사용되는 회전변환 대신 이런 연산을 사용한 이유는 OCT 이미지의 경우 A-스캔 즉 이미지에서 각각의 열들은 빛이 투과하는 경로에 해당하므로 상부 픽셀에 해당하는 조직의 특성이 하부픽셀에 영향을 주는 의존성이 있으며, 이것은 OCT이미지의 해석에 중요한 의미를 가지는 정보이다. 따라서 회전변환과 같이 이미지의 열을 훼손하는 연산 대신 열이 그대로 유지되는 연산을 사용하였다. Fig.9의 가장 오른쪽 이미지가 이렇게 생성된 것이다. 이렇게 각 학습 이미지 당 3장의 이미지를 추가로 생성하여 총 1,232장의 이미지를 신경망의 트레이닝에 사용하였다.

MTMDCW_2019_v22n11_1269_f0009.png 이미지

Fig. 9. Adding 3 images (Original, Reflected, Translated, and Shifted).

3.2 실험 결과 및 고찰

 본 논문에서는 OCT 이미지의 층 분할을 하기 위해서 Segnet, U-net, 그리고 CNN-S를 구현하여 실험하였다. 세 네트워크는 모두 Tensorflow 1.13으로 구현되었으며 GEForce ITX 1080Ti GPU 상에서 실행되었다.

 우선 본 논문에서 제안한 최단경로를 이용하여 층분할선을 결정하는 알고리즘의 성능을 평가하기 위하여 SegnetU-net의 분할 결과에 스플라인 보간법(cubic spline interpolation)을 사용하여 경계선을 찾는 경우와 비교하였다. Fig. 10의 왼쪽은 Segnet의 경우, 오른쪽은 U-net의 경우의 두 방법의 비교 결과이다. 가로축은 6개의 분할선을 나타내고 세로축은 이미지의 각 열에서의 오차의 평균이며 단위는 μm이다. 두 네트워크 구조 모두에서 모든 층에 대해서 최단경로 기반의 알고리즘이 유의미한 차이로(\(p<0.05\)) 더 나은 결과를 보여주었다. Segnet의 경우 층에 따라서 최소 0.25 μm에서 1.72 μm 정도의 평균오차에서의 차이를 보여주었지만 U-net의 경우에는 OPL/ONL 층의 평균 오차에서 12.3 μm, 그리고 BM층에서 8.15 μm 정도의 큰 차이를 보인다. 이는 전반적으로 U-netSegnet에 비해서 정확도가 떨어지는 분할 결과를 생성하는 점을 감안하였을 때 분할결과가 부정확한 경우에 최단경로 기반의 분할선 찾기 알고리즘이 상대적으로 효과적임을 시사한다.

MTMDCW_2019_v22n11_1269_f0010.png 이미지

Fig. 10. Comparison of shortest path algorithm and cubic spline interpolation.

 Fig. 11Segnet, U-net, 그리고 CNN-S 네트워크의 층 분할의 정확성을 비교한 것이다. 왼쪽 그래프는 정상인의 경우이고, 오른쪽은 AMD 환자의 경우이다. 모든 경우들에 대해서 Segnet이 가장 안정적이고 우수한 정확도를 가지며, 최대 14 μm 이내의 오차를 보여준다. 특히 ILM, RPE, BM의 경우에 정상인에 대해서는 1.26, 1.46, 2.50 μm의 평균 오차를, AMD 환자에 대해서는 1.35, 2.60, 6.24 μm의 평균오차를 보여준다. 서로 다른 데이터 셋을 사용하는 다른 연구의 결과와 단순하게 비교할 수는 없지만 망막 층 분할에 대한 기존의 연구가 대부분 층에 따라서 1 μm에서 20 μm 정도 범위의 오차를 보고하는 것을 감안하면[11-17], 본 연구의 결과가 기존의 연구결과들과 비교할 만 하다고 할 수 있다.

MTMDCW_2019_v22n11_1269_f0011.png 이미지

Fig. 11. Accuracies of Segnet, U-net, and CNN-S.

 U-net은 모든 경우에 대해서 Segnet에 미치지 못하며 최대 27 μm의 오차를 나타낸다. 경계선들 중에서 ILMRPE의 경우에 두 네트워크 모두 가장 정확한 결과를 나타낸다. ILMRPE는 이미지 상에서 육안으로도 가장 명료하게 식별되는 경계선이다. 다른 경계선들에 대해서는 720 μm 정도의 비교적 큰 오차를 보이는데, 개선을 위해서는 좀 더 많은 학습 데이터를 확보할 필요가 있어 보인다. CNN-S는 모든 층에 대해서 정상인에 대해서는 15 μm 정도, AMD 환자의 경우에는 22.5 μm 정도의 비교적 일정한 오차를 보이면서 Segnet이나 U-net과 비교하여 모든 층 경계선의 식별에서 가장 나쁜 성능을 보였다.

 Table 16개의 층 경계선 각각에 대해서 세 네트워크의 평균 오류와 표준 편차를 나타낸 것이다. SegnetU-net이나 CNN-S와 비교했을 때 정상 환자와 AMD 환자군 모두에서 모든 층 경계선에 대해서 유의미한 성능의 차이(\(p<0.05\))를 보였으며, Table1에서 ↓기호로 표시된 항목들에 대해서는 \(p<0.001\)로 유의미한 성능의 차이를 보였다.

Table 1. Mean unsigned error in μm with standard deviations (±value) for 6 layer boundaries

MTMDCW_2019_v22n11_1269_t0001.png 이미지

 SegnetU-net의 성능의 차이는 두 네트워크의 연결경로를 통해 전달되는 정보 및 두 네트워크에서 사용된 업 샘플링(up-sampling) 방법의 차이에서 비롯되었다고 할 수 있다. 본 논문의 실험 결과는 망막 이미지의 층 분할과 같이 평균적으로 1~5 픽셀 정도의 오차로 비교적 정교한 분할 결과가 기대되는 문제에서 Segnet이 사용하는 맥스풀링 연산에서의 인덱스 정보를 역으로 적용하는 업 샘플링 기법이 좀 더 효과적일 수 있음을 시사한다고 해석 수 있다.

 전반적으로 CNN-S는 굴곡이 심한 경계선에 대해서 굴곡을 정밀하게 따라가는 대신 부드럽고 완만한 곡선으로 선형화하는 경향을 나타내었다. Segnet이나 U-net과는 달리 연결경로를 통해 이미지의 국부적인 정보를 제공하고 이를 세부적인 경계선의 확정에 이용하는 메커니즘이 부재하고 이것이 CNN-S에서 경계선 식별의 세부적인 정밀도가 떨어지는 이유라고 추정할 수 있다.

4. 결 론

 본 논문에서는 OCT 망막 이미지에 대해서 6개의단층 분할 경계선을 찾는 문제를 Segnet, U-net 등의 잘 알려진 영상 분할 신경망을 이용하여 다루었다. 또한 영상 분할 신경망의 출력으로부터 층 분할선을 확정짓는 최단 경로 기반의 알고리즘을 제시하였다. 공개 데이터셋을 이용하여 성능을 평가한 결과 SegnetU-net이나 CNN-S와 같은 다른 네트워크보다 뛰어난 성능을 보여주었다. 시각적으로 비교적 분명하게 분별이 되는 ILM, RPE 등의 경계선은 1~3μm정도의 매우 작은 평균 오차로 식별하였으나 다른 경계선들의 경우 개선의 여지가 있는 비교적 큰 오차를 보여주었다. 보다 많은 양질의 학습 데이터를 확보하여 이 부분의 성능을 개선하는 것이 추후 연구과제이다.

References

  1. J. Welzel, “Optical Coherence Tomography in Dermatology: A Review,” Skin Research and Technology, Vol. 7, No. 1, pp. 1-9, 2001. https://doi.org/10.1034/j.1600-0846.2001.007001001.x
  2. M.D. Abramoff, Y. Lou, and A. Erginay, “Improved Automated Detection of Diabetic Retinopathy on a Publicly Available Dataset Through Integration of Deep Learning,” Investigative Ophthalmology and Visual Science, Vol. 57, No. 13, pp. 5200-5206, 2016. https://doi.org/10.1167/iovs.16-19964
  3. R. Asaoka, H. Murata, A. Iwase, and M. Araie, “Detecting Preperimetric Glaucoma with Standard Automated Primetry Using a Deep Learning Classifier,” Ophthalmology, Vol. 123, No. 9, pp. 1974-1980, 2016. https://doi.org/10.1016/j.ophtha.2016.05.029
  4. O.H. Kwon, Y.J. Jung, and H.J. Song, “AMD Identification from OCT Volume Data Using Deep Convolutional Neural Network,” Journal of Korea Multimedia Society, Vol. 20, No. 8, pp. 1291-1298, 2017. https://doi.org/10.9717/kmms.2017.20.8.1291
  5. G. Staurenghi, S. Sadda, U. Chakravarthy, and R.F. Spaide, “Proposed Lexicon for Anatomic Landmarks in Normal Posterior Segment Spectral-domain Optical Coherence Tomography: The INOCT Consensus,” Ophthalmology, Vol. 121, No. 8, pp. 1572-1578, 2014. https://doi.org/10.1016/j.ophtha.2014.02.023
  6. D.C. DeBuc, "A Review of Algorithms for Segmentation of Retinal Image Data Using Optical Coherence Tomography," In: P.G. Ho ed. Image Segmentation, Rijeka, Croatia, Intech Pub., pp. 15-54, 2011.
  7. R. Kafieh, H. Rabbani, M.D. Abramoff, and M. Sonka, “Intra-retinal Layer Segmentation of 3D Optical Coherence Tomography Using Coarse Grained Diffusion Map,” Medical Image Analysis, Vol. 17, No. 8, pp. 907-928, 2013. https://doi.org/10.1016/j.media.2013.05.006
  8. S.J. Chiu, C.A. Toth, C.B. Rickman, J.A. Izatt, and S. Farsiu, “Automatic Segmentation of Closed-contour Features in Ophthalmic Images Using Graph Theory and Dynamic Programming,” Biomedical Optics Express, Vol. 3, No. 5, pp. 1127-1140, 2012. https://doi.org/10.1364/BOE.3.001127
  9. F. LaRocca, S.J. Chiu, R.P. McNabb, A.N. Kuo, J.A. Izatt, and S. Farsiu, “Robust Automatic Segmentation of Corneal Layer Boundaries in SDOCT Images Using Graph Theory and Dynamic Programming,” Biomedical Optics Express, Vol. 2, No. 6, pp. 1524-1538, 2011. https://doi.org/10.1364/BOE.2.001524
  10. S. Lim and D.Y. Kim, “Object Tracking Using Feature Map from Convolutional Neural Network,” Journal of Korea Multimedia Society, Vol. 20, No. 2, pp. 126-133, 2017. https://doi.org/10.9717/kmms.2017.20.2.126
  11. K. Vermeer, J. Van der Schoot, H. Lemij, and J. De Boer, “Automated Segmentation by Pixel Classification of Retinal Layers in Ophthalmic OCT Images,” Biomedical Optics Express, Vol. 2, No. 6, pp. 1743-1756, 2011. https://doi.org/10.1364/BOE.2.001743
  12. A. Lang, A. Carass, M. Hauser, E.S. Sotirchos, P.A. Calabresi, H.S. Ying, et al., “Retinal Layer Segmentation of Macular OCT Images Using Boundary Classification,” Biomedical Optics Express, Vol. 4, No. 7, pp. 1133-1152, 2013. https://doi.org/10.1364/BOE.4.001133
  13. F.G. Venhuizen, B. Van Ginneken, B. Liefers, M.J. Van Grinsven, S. Fauser, C. Hoyng, et al., “Robust Total Retina Thickness Segmentation in Optical Coherence Tomography Images Using Convolutional Neural Networks,” Biomedical Optics Express, Vol. 8, No. 7, pp. 3292-3316, 2017. https://doi.org/10.1364/BOE.8.003292
  14. A.G. Roy, S. Conjeti, S.P.K. Karri, D. Sheet, A. Katouzian, C. Wachinger, et al., “Relaynet: Retinal Layer and Fluid Segmentation of Macular Optical Coherence Tomography Using Fully Convolutional Networks,” Biomedical Optics Express, Vol. 8, No. 8, pp. 3627-3642, 2017. https://doi.org/10.1364/BOE.8.003627
  15. J.D. Fauw, J.R. Ledsam, B. Romera-Paredes, S. Nikolov, N. Tomasev, S. Blackwell, et al., "Clinically Applicable Deep Learning for Diagnosis and Referral in Retinal Disease," Nature Medicine, Vol. No. 9, 24, pp. 1342-1350, 2018.
  16. L. Fang, D. Cunefare, C. Wang, R.H. Guymer, S. Li, and S. Farsiu, “Automatic Segmentation of Nine Retinal Layer Boundaries in OCT Images of Non-exudative AMD Patients Using Deep Learning and Graph Search,” Biomedical Optics Express, Vol. 8, No. 5, pp. 2732-2744, 2017. https://doi.org/10.1364/BOE.8.002732
  17. A. Shah, L. Zhou, M.D. Abramoff, and X. Wu, “Multiple Surface Segmentation Using Convolution Neural Nets: Application to Retinal Layer Segmentation in OCT Images,” Biomedical Optics Express, Vol. 9, No. 9, pp. 4509-4526, 2018. https://doi.org/10.1364/BOE.9.004509
  18. V. Badrinarayanan, A. Kendall, and R. Cipolla, "SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation," IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 39, No. 12, pp. 2481-2495, 2017. https://doi.org/10.1109/TPAMI.2016.2644615
  19. O. Ronneberger, P. Fischer, and T. Brox, "U-net: Convolutional Networks for Biomedical Image Segmentation," Proceeding of International Conference on Medical Image Computing and Computer-assisted Intervention, pp. 234-241, 2015.
  20. S. Farsiu, S.J. Chiu, R.V. O’Connell, F.A. Folgar, E. Yuan, J.A. Izatt et al., “Quantitative Classification of Eyes with and without Intermediate Age-related Macular Degeneration Using Optical Coherence Tomography,” Ophthalmology, Vol. 121, No. 1, pp. 162-172, 2014. https://doi.org/10.1016/j.ophtha.2013.07.013