Upload
wookjin-choi
View
174
Download
1
Embed Size (px)
DESCRIPTION
Insight toolkit (ITK)을 이용한 삼차원 흉부 ct 영상분석 및 폐 결절 검출 시스템
Citation preview
Insight Toolkit 기반 흉부 CT 에서의 폐 결절 검출 시스템
광주과학기술원 기전공학부 최욱진 , 최태선
2
의료와 IT 기술의 융합• PACS(Picture archiving and communication system)• EMR(Electronic Medical Recording System)• CAS(computer-aided surgery)• CAD(computer-aided detection)
2014. 5. 30.
3
폐암 조기진단의 필요성
(a) male (b) female
Trends in death rates for selected cancers, United States, 1930-2008
2014. 5. 30.
4
폐결절• 크기 : 3~30mm
• 형태 : various – round – oval– worm-like
CT 영상에서의 결절3d 복원된 결절2014. 5. 30.
5
흉부 CT 에서의 컴퓨터 보조진단 시스템
• 초기 CT 영상은 흉부질환 검출에 적합하지 못했으나 HRCT 가 개발되면서 폐질환 검출에 유용하게 사용되고 있다 .
• HRCT 의 목적은 폐기종 , 폐 결절 , 폐 간극에서의 질환과 같은 여러 가지 폐질환을 진단하는데 있다 .
• HRCT 의 해석에 있어 경험이 많은 의사들의 경우 40%~70% 의 정확도로 폐질환을 검출 .
• 의사들의 검출률 향상을 위해 컴퓨터 보조 진단 (Computer Aided Diagnosis, CAD) 시스템이 절실히 필요 .
2014. 5. 30.
6
Insight Toolkit (ITK)
• www.itk.org • 2000 년 부터 개발• Image Processing Toolkit – C++ 라이브러리 (+2 million LOC) – Java, Python, TCL 등의 언어 지원– Linux, Windows, Mac OSX, Solaris 등 다양한
운영체제에서 사용가능• Very active community: 1500+ registered
users 2014. 5. 30.
7
ITK
• Visible human 데이터를 처리하기 위해서 개발 되었음
• 영상처리 라이브러리• Segmentation• Registration• GUI 를 제공하지 않음• Visualization 기능 없음 – Visualization Toolkit (VTK)
2014. 5. 30.
8
ITK programing model: Pipeline
2014. 5. 30.
ImageReader
Parameter
File
Filter
ObjectWriterFile
9
ITK programing model: Pipeline
2014. 5. 30.
Threshold Filter Example
10
Image Segmentation
2014. 5. 30.
11
Registration
2014. 5. 30.
12
ITK Application 개발C++ Glue code
2014. 5. 30.
ITK
Image Processing
GUI
MFC, QT, wxWindows,
FLTK
Visualization
OpenGL, VTK
13
ITK 를 이용한 폐 결절 검출 시스템 개발
Java Glue code
2014. 5. 30.
ITK
Image Processing
GUI
Java Swing
Visualization
VTK
14
폐 결절 검출 CAD Wook-Jin Choi, Tae-Sun Choi, “Genetic programming-based feature transform and classification for the automatic detection of pulmonary nodules on computed tomography images”, Information Sciences, Vol. 212, pp. 57-78, December 2012
2014. 5. 30.
15
Java 와 C++ 비교C++• 장점
– ITK 가 C++ 로 개발되어 모든기능을 사용가능
– 실행 속도가 빠름– OS 고유기능 사용 가능
• 단점– 문법이 복잡하여 접근성이
떨어짐– 개발 속도가 느림– 멀티플랫폼 개발 어려움
Java• 장점
– 비교적 단순한 문법으로 접근성이 좋음
– 안정적임– 멀티플랫폼 개발 용이– 개발 속도가 빠름
• 단점– ITK 의 binding 지원이 완벽하지
않아서 일부 기능 사용 불가능• 거의 대부분의 기능 사용 가능
– 속도가 느림• 빠른 속도가 필요한 영상처리
부분은 ITK 를 이용하여 해결
2014. 5. 30.
16
3D LungImageitkImageSeriesReader
폐 결절 검출 Pipeline
2014. 5. 30.
Meta Data
DICOMData
3D LungMask
Lung Volume Segmentation
Nodule Candidates Detection
Nodule Candidates Label Map
False Positive Reduction
Nodules Label Map
17
LUNG VOLUME SEGMENTATION
2014. 5. 30.
18
Lung Volume Segmentation Pipeline
2014. 5. 30.
3D LungImage
ItkThreshold Filter
Parameter
3D LungMask
Remove Rim
Refine Lung Mask
Extract Lung Volume
LungLabel Map
itkLabelMapToBinaryImageFilter
itkBinaryToShapeLabelMapFilter
19
폐 영상 Threshold
2014. 5. 30.
20
폐 영역 추출
2014. 5. 30.
21
Rim 제거 : 2D 영상처리
2014. 5. 30.
Rim 제거
22
폐 영역 추출
2014. 5. 30.
가장 큰 Volume 선택
23
Lung Mask 생성
2014. 5. 30.
24
Lung Mask 생성
2014. 5. 30.
Rolling ball algorithm 적용
25
Segmented Lung Volume
2014. 5. 30.
26
NODULE CANDIDATES DETECTION
2014. 5. 30.
27
Nodule Candidates Detection Pipeline
2014. 5. 30.
3D LungImage
ItkMaskImageFilter
3D LungMask
Nodule Candidates Label Map
Multi Thresholds Detection
ItkThresholdFilter
Rule Based Filtering
itkLabelMapToBinaryImageFilter
itkBinaryToShapeLabelMapFilter
Nodule Candidates Masks
itkOrImageFilter
28
Rule-based Filtering
• Rule-based filtering 을 통해 폐 혈관과 noise 제거
• 혈관 제거 – Volume is extremely bigger than nodule – Elongated object
• Noise 제거– Radius of ROI is smaller than 3mm– Bigger than 30mm
• Remaining ROIs are nodule candidates2014. 5. 30.
29
Multi Thresholds Detection
2014. 5. 30.
Multiple Threshold 와 opening filter 적용
30
itkBinaryToShapeLabelMapFilter
2014. 5. 30.
Label Map
Statistics Label
Object
Statistics Label
Object
Statistics Label
Object
Statistics Label
Object
Statistics Label
Object
Statistics Label
Object
Statistics Label
Object
Statistics Label
Object
Statistics Label
Object
Statistics Label
Object
Shape Label
Object
Shape Label
Object
Binary Image
itkBinaryToShapeLabelMapFilter
결절 후보들
31
itkShapeLabelObject
2014. 5. 30.
Shape Features1. Bounding Box 2. Centroid 3. Elongation 4. Equivalent Ellipsoid Diameter 5. Equivalent Spherical Perimeter 6. Equivalent Spherical Radius 7. Feret Diameter 8. Flatness 9. Number Of Pixels 10. Number Of Pixels On Border 11. Perimeter 12. Perimeter On Border 13. Perimeter On Border Ratio 14. Physical Size 15. Principal Axes 16. Principal Moments 17. Roundness
Itk Shape Label Object
32
Rule-based Filtering
2014. 5. 30.
33
폐 결절 후보
Rule-based Filtering
2014. 5. 30.
34
FALSE POSITIVE REDUCTION
2014. 5. 30.
35
False Positive Reduction• 검출된결절후보에서 결절이 아닌 것을 제거 하고
결절을 찾는 과정– 많은 False Positive 가 포함되어 있음
• 결절 후보에서 feature( 특징 값 ) 추출• Feature 데이터를 이용하여 Classification– Rule-based Classifier– Linear Discriminant Classifier– 머신러닝 기반의 classifier
• Artificial Neural Network, Genetic programming, Support Vector Machine
2014. 5. 30.
36
itkBinaryToStatisticsLabelMapFilter
2014. 5. 30.
Label Map
Statistics Label
Object
Statistics Label
Object
Statistics Label
Object
Statistics Label
Object
Statistics Label
Object
Statistics Label
Object
Statistics Label
Object
Statistics Label
Object
Statistics Label
Object
Statistics Label
Object
Statistics Label
Object
Statistics Label
Object
Binary Image
itkBinaryToStatisticsLabelMapFilter
결절 후보들
37
itkStatisticsLabelObject
2014. 5. 30.
Statistics Features1. Center Of Gravity 2. Histogram 3. Kurtosis 4. Maximum 5. Maximum Index 6. Mean 7. Median 8. Minimum 9. Minimum Index 10. Skewness 11. Standard Deviation 12. Sum 13. Variance 14. Weighted Elongation 15. Weighted Flatness 16. Weighted Principal Axes 17. Weighted Principal Moments
Shape Features1. Bounding Box 2. Centroid 3. Elongation 4. Equivalent Ellipsoid Diameter 5. Equivalent Spherical Perimeter 6. Equivalent Spherical Radius 7. Feret Diameter 8. Flatness 9. Number Of Pixels 10. Number Of Pixels On Border 11. Perimeter 12. Perimeter On Border 13. Perimeter On Border Ratio 14. Physical Size 15. Principal Axes 16. Principal Moments 17. Roundness
Itk Statistics Label Object
Itk Shape Label
Object
38
Feature SelectionIndex Feature Index Feature
2-D geometric features Mean inside
Area Mean outside
Diameter Variance inside
Perimeter Skewness inside
Circularity Kurtosis inside
3-D geometric features Eigenvalues
Volume 3-D intensity based statistical features
Compactness Minimum value inside
Bounding Box Dimensions Mean inside
Principal Axis Length Mean outside
Elongation Variance inside
2-D intensity based statistical features Skewness inside
Minimum value inside Kurtosis inside
1f
2f
3f
4f
5f
6f
97 ~ ff
1210 ~ ff
13f
14f
15f
16f
17f
18f
19f
2720 ~ ff
28f
29f
30f
31f
32f
33f
Features for nodule detection2014. 5. 30.
39
Classification• WEKA– A collection of open
source ML algorithms• pre-processing• classifiers• clustering• association rule
– Created by researchers at the University of Waikato in New Zealand
– Java based
2014. 5. 30.
40
실험 데이터• 미국 National Cancer Institute (NCI) 의 LIDC database 사용
– The LIDC is developing a publicly available database of thoracic computed tomography (CT) scans as a medical imaging research resource to promote the development of computer-aided detection or characterization of pulmonary nodules
• The database consists of 84 CT scans (up to 2009)– 100-400 Digital Imaging and Communication (DICOM) images– An XML data file containing the physician annotations of nodules– 148 nodules– The pixel size in the database ranged from 0.5 to 0.76 mm– The reconstruction interval ranged from 1 to 3mm
2014. 5. 30.
41
실험 결과AUC Accuracy Specificity Sensitivity FPs/scan
Nodule Candidates Detection 96.6% 51.25
20-80 0.921 76.6% 75.9% 88.3% 12.32
50-50 0.960 86.7% 86.4% 91.7% 6.99
80-20 0.967 89.6% 89.3% 90.9% 5.45
The results of CAD system using GP based classifier
2014. 5. 30.
42
실험 결과
FROC curves of the GPC with respect to three training and testing datasets
2014. 5. 30.
43
실험 결과
Lung Segmenation Nodule Candidate Detection0
20
40
60
80
100
120
140
160
135 초120 초
24 초
80 초
기존시스템 ITK 기반시스템
2014. 5. 30.
평균실행시간
44
실험 결과기존 시스템• 단일 쓰레드 프로그램• MATLAB, C++• 영상 크기가 크면 속도 저하
심함• 사용이 불편함
ITK 기반 시스템• 멀티 쓰레드 프로그램• Java, ITK, VTK• 안정적으로 동작• 처리속도 빠름• 사용이 편함
2014. 5. 30.
45
실험 결과CAD systems Nodule size FPs per case SensitivitySuzuki et al.(2003) 8 - 20 mm 16.1 80.3%Rubin et al.(2005) >3 mm 3 76%Dehmeshki et al.(2007) 3 - 20 mm 14.6 90%Suarez-Cuenca et al.(2009) 4 - 27 mm 7.7 80%Golosio et al.(2009) 3 - 30 mm 4.0 79%Ye et al.(2009) 3 - 20 mm 8.2 90.2%Sousa et al.(2010) 3 - 40.93 mm - 84.84%Messay et al.(2010) 3-30 mm 3 82.66%Riccardi et al.(2011) >3 mm 6.5 71.%Cascio et al.(2012) 3-30 mm 6.1 97.66%
제안된 방법 3-30 mm 5.45 90.9%
기존 방법과 검출률 비교
2014. 5. 30.
46
CAD 시스템
2014. 5. 30.
47
CAD 시스템
2014. 5. 30.
48
결론• Insight Toolkit (ITK)– 의료영상처리를 위한 라이브러리– 다양한 영상처리 알고리즘 제공– DICOM 및 다양한 영상 데이터 처리가능
• ITK 를 이용하는 Applications– Slicer– Osirix– MeVisLab– XIP– ...
2014. 5. 30.
49
결론• ITK 기반 폐결절 검출 시스템 개발– Java
• 빠른 개발• 안정성 및 확장가능성 높임
–영상 처리 속도 개선– Weka 를 이용한 False Positive Reduction 기능 개발– Java Swing + VTK 기반의 GUI 및 Visualization
기능–호환성 및 사용 편의성 증대
2014. 5. 30.
502014. 5. 30.
Q & A
512014. 5. 30.
감사합니다 .