SlideShare a Scribd company logo
1 of 36
Download to read offline
§컴퓨터 비전 엔지니어
§한양대학교 ERICA 컴퓨터비전랩 박사과정 중
§뷰노 (https://www.vuno.co/) 재직 중
§수영 15년차
§아들바보
저는
§머신러닝을 입문하고 자신만의 문제를 찾는 분들이 대상
§의료 영상에서 다루고 있는 문제에 대해 소개
§의료 영상 문제를 머신러닝으로 다루기 위한 해결 방법 공유
§의료적 지식 전달은 최대한 간결하게
이 발표는
§치매 정복은 못합니다 ㅠ ㅠ
§데이터에 대한 얘기
§머신러닝 기초, 이론
오늘은 하지 않을 얘기
§치매 연구의 목적, 방향
§문제정의
§접근방법
차례
치매 연구의 목적과 방향
§치매
• 여러 원인으로 인지능력이 저하되어 일상생활에 장애가 있는 상태
• 치료불가 (진행을 늦출 수는 있슴)
치매와 알츠하이머
§ 알츠하이머
• 치매의 가장 흔한 형태. 치매환자의 75%
• 증상 : 단기기억 상실, 혼란, 격한 행동, 조울증, 언어장애, 장기기억상실
• 원인 : 신경변성 (Neurodegeneration). 아밀로이드 플라크가 정상 알츠하
이머 단백질을 변형시켜 플라크 덩어리를 형성해 고유기능 파괴하는 것으
로 추정.
• 조직병리학적 특징 : 뇌위축 (Atrophy), 뉴론의 다발성 병변, 초로성 반점
치매와 알츠하이머
§신경학적 진단
• 뇌 및 신경계의 질환 분석
• 반사, 균형, 눈움직임, 말 및 감각도
• MR, CT, PET 촬영
§정신 분석학 / 심리학적 진단
• 마음이 어떻게 작동하는지 또는 기분에 영향을 미치는 장애 검사
• 기억력, 집중력, 문제해결력, 언어 및 기타 정신 기능검사
• 신경 심리 검사
알츠하이머 진단
§조기에 치매를 발견하여 치매 진행을 늦추는 치료 제안에 도움
§환자의 뇌 MRI 영상에서 뇌위축에 대한 정보를 제공하는 SW 를 개발
치매 연구의 목적과 방향
해결 가능한 문제 정의
§알츠하이머에 관련된 뇌영역들을 영역 분할 (Parcellation)
§분할된 영역으로부터 특징 추출
§정상인과 알츠하이머 환자 특징 DB 를 생성
§특징 DB 에서 특정 환자의 비정상 수치를 산출
문제 정의
§Neuroquant
• 상용
• 다양한 분석 툴, 리포트, 시각화
• 분석 시간 10분
§Freesurfer
• 공개소프트웨어
• 분석시간 6시간
기존 뇌영역 분할 SW
§병원 진료 과정에서 사용 가능한 수행 속도
§한국인의 정상인 범위와 비교한 위험도 제시
§뇌영역 분할 수행결과를 시각화
우리의 차별점
합리적인 해결 방법
§매우 느림
§매우 복잡하고 단계가 많은 처리 방법을 사용
§현실의 데이터 복잡도를 완전히 반영하고 있지 않음
기존 공개 SW의 문제 분석
§매우 느림
§매우 복잡하고 단계가 많은 처리 방법을 사용
§현실의 다양한 데이터를 모두 처리하지 못함
개선 방향
§획기적으로 빠르게
§중간단계를 최소화
§현실의 다양한 데이터에 대해서 모두 실험
§GPU
§End to end 를 지향
§다양한 데이터를 모두 학습
우리의 해결책
Dcm to nii (nifti format)
Brain MRI 전처리 과정
Reorientation AC-PC
Alignment
Bias field correction
Brain MRI 전처리 과정
Resample to
1mm Isotropic
Skull stripping
Parcellation 알고리듬
§CNN Model
• Atrous convolution
• ResNet
• Dice loss
§Tensorflow + Python
머신러닝 기반 Parcellation
§ 기존에는 전처리를 통해 데이터를 정규화 (Large variation - > small variation)하려고 했슴
§ 머신러닝기반 전처리는 Variation 을 임의로 생성해 정규화된 상태인 것 처럼 변환함
§ Part based Normalization (Gray matter) 으로 가능성 높은 밝기 분포 데이터 생성
§ Histogram matching을 통한 히스토그램 변형
§ Noise synthesis (Gaussian, Poisson)
머신러닝을 위한 전처리
§ Skimage
• Rotation
• Equalization
• Connected component labeling
§ PIL
• Rotation (Nearest neighbor)
§ Numpy
• Image flip
• 3D data reorientation (transpose)
• Evaluation metric (Dice, F1)
• Data restore (npz)
• 그외 대부분의 알고리듬들
§ OpenCV
• Optical flow
파이썬 영상처리
§ 뇌 영역에서의 상대적 위치를 인식
§ 기존방법 : Brain atlas mapping (사전지식)
• Co-registration (정규화)
• Atlas map 생성 (한국인)
• Re-location
• Segmentation
§ 객체인식방법 :
• No registration/standardization
• No atlas map
• Detection and segmentation 을 동시에 수행
• 위치를 전체 뇌영역에 인접한 패턴으로 인식, 좌/우 위치도 같은 방식으로 위치에 대한 사전지식 없이
Location Aware
Hippocampus Parahippocampal Entorhinal
§ Negative (background) 가 훨씬 많은 데이터, 객체의 위치 검출
§ Faster RCNN vs Deconvolutional network
• 위치 : class map + clustering | class map + deconvolution
• 크기 : box regression | pixel classification
• Negative 처리 : output selection | loss weighting
• 특징 : instance detection | pixel level classification (≅ segmentation)
Object Detection
§ Image Segmentation
• 영상에서 물체의 경계를 찾는 기법
• Histogram/edge based clustering
• GraphCut
• Segmentation by classification
Pixel Classification
Hippocampus
§ Positive, negative, class imbalance
§ Categorical weight balancing
• Label 의 비율대로 class 별 loss 비율을 맞춤
§ Dice coefficient loss
• Dice coefficient :
"#$
#%&$% 	(𝑝 ∶ softmax output 𝑡	: target)
• Gradient :
"$%
(#&$)%	
• P 와 t 가 작을 때 gradient 가 매우 커짐
• t 에 따라 다른 loss function 을 사용 혹은 Gradient clipping
Data Imbalance
§ No pooling
• 객체 인식 문제 + 특정 데이터에서는 pooling 이 도움이 안됨
• Pooling 이 도움이 되는 경우 : 크기의 변화가 심하고, 객체의 상대 데이터 수가 적으며, 배경 변화가 심한 경우
• 해상도 유지가 중요한 문제 (영상 복원)
§ Network depth
• GPU 메모리가 허용하는 최대
• 1 batch : oscillation 문제. Group norm 이 도움이 됨.
High ResNet http://www.ucl.ac.uk/interventional-surgical-sciences/research/research-platforms/nifty-net
https://arxiv.org/abs/1803.08494
§ Atrous convolution
• Convolution 의 횟수, stride size, kernel size 를 늘리면 Receptive field 가 커짐
• 깊이와 파라미터 수를 동시에 줄이면서 Receptive field 와 성능 개선
High ResNet
https://medium.com/mlreview/a-guide-to-receptive-field-arithmetic-for-convolutional-neural-networks-e0f514068807
§ 3D object detection
• 3D FCN : 이상적이지만 현실적으로 어려움
• GPU 메모리 문제, 학습 속도 느림
• Voxel sliding window
• 2.5D : n 개 slice 를 2D channel 로 구성
• 3D 로의 확장
• FCN 은 kernel 을 모든 영역에서 share 하므로, slice 단위 batch learning 도 slice 축 FCN
을 적용한 것과 유사한 효과
• Slice 를 shuffling : label balancing 효과
• 학습이 용이한 것들 먼저 샘플링
2D vs 3D
§ Volume, ICV Percentile 기반
• Atrophy 를 volume 등의 수치로 표현하고, 정상/비정상 환자 분포에서의 percentile 계산
§ Biomarker 기반
• Parcellation 된 biomarker 를 이용하여 ML 로 분류
• 임상 검증이 관건 : 단순 정상/비정상 분류기는 정상집합과의 유사도를 측정해주지 못함
알츠하이머 예측
§ 다양한 장비, 환경에서 재현성, 일관성 검증
§ 어떤 측도를 제시할 경우 현실적인 정확도를 만족하는가
§ 혹은 과정이나 인과를 설명 가능한가
• 설명할 수 없다면 문제를 부분적으로 설명
• A – B – C 인과 관계에서 B 만이라도 보임
임상 검증
§왜 치매 관련 연구를 하는가? 어떻게?
• 치매 예방
• MR 영상으로 (인지적 장애가 없는) 치매 의심 환자를 찾아 의료진에게 정보 제공
§해결 가능한 문제 정의
• 뇌위축을 측정/분석, 정상환자와 비교한 비정상 수치를 제시
§합리적인 해결 방안
• 다양한 데이터 수집과 기존 영상처리 기법들을 사용하여 의료 데이터의 불규칙성 극복
• 뇌영역 위치인식과 영역 분류를 위해 객체 인식 기법 사용
• 정교한 영역 분할을 위한 CNN 구조
• 3D 데이터 학습을 위한 부분적인 해결책
결론
§AD 예측방법을 다양화
§다양한 Modality에서 다양한 특징들을 추출
§영상이 아닌 데이터도 다룸
앞으로 우리는
gnoses@vuno.co
hello@vuno.co
Putting the world’s medical data to work

More Related Content

Similar to Pycon Korea 2018 머신러닝으로 치매 정복하기

"From image level to pixel-level labeling with convolutional networks" Paper ...
"From image level to pixel-level labeling with convolutional networks" Paper ..."From image level to pixel-level labeling with convolutional networks" Paper ...
"From image level to pixel-level labeling with convolutional networks" Paper ...LEE HOSEONG
 
Anomaly Detection based on Diffusion
Anomaly Detection based on DiffusionAnomaly Detection based on Diffusion
Anomaly Detection based on Diffusionssuserbaebf8
 
[논문리뷰] Data Augmentation for 1D 시계열 데이터
[논문리뷰] Data Augmentation for 1D 시계열 데이터[논문리뷰] Data Augmentation for 1D 시계열 데이터
[논문리뷰] Data Augmentation for 1D 시계열 데이터Donghyeon Kim
 
Dense sparse-dense training for dnn and Other Models
Dense sparse-dense training for dnn and Other ModelsDense sparse-dense training for dnn and Other Models
Dense sparse-dense training for dnn and Other ModelsDong Heon Cho
 
Nationality recognition
Nationality recognitionNationality recognition
Nationality recognition준영 박
 
designDIVE eyeCan 안구마우스 딜리버리서비스.징검다리팀
designDIVE eyeCan 안구마우스 딜리버리서비스.징검다리팀designDIVE eyeCan 안구마우스 딜리버리서비스.징검다리팀
designDIVE eyeCan 안구마우스 딜리버리서비스.징검다리팀주성 이
 
Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...
Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...
Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...Haezoom Inc.
 
Deep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural NetworkDeep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural Networkagdatalab
 
Convolutional Neural Networks
Convolutional Neural NetworksConvolutional Neural Networks
Convolutional Neural NetworksSanghoon Yoon
 

Similar to Pycon Korea 2018 머신러닝으로 치매 정복하기 (10)

"From image level to pixel-level labeling with convolutional networks" Paper ...
"From image level to pixel-level labeling with convolutional networks" Paper ..."From image level to pixel-level labeling with convolutional networks" Paper ...
"From image level to pixel-level labeling with convolutional networks" Paper ...
 
Anomaly Detection based on Diffusion
Anomaly Detection based on DiffusionAnomaly Detection based on Diffusion
Anomaly Detection based on Diffusion
 
[논문리뷰] Data Augmentation for 1D 시계열 데이터
[논문리뷰] Data Augmentation for 1D 시계열 데이터[논문리뷰] Data Augmentation for 1D 시계열 데이터
[논문리뷰] Data Augmentation for 1D 시계열 데이터
 
Deep learning overview
Deep learning overviewDeep learning overview
Deep learning overview
 
Dense sparse-dense training for dnn and Other Models
Dense sparse-dense training for dnn and Other ModelsDense sparse-dense training for dnn and Other Models
Dense sparse-dense training for dnn and Other Models
 
Nationality recognition
Nationality recognitionNationality recognition
Nationality recognition
 
designDIVE eyeCan 안구마우스 딜리버리서비스.징검다리팀
designDIVE eyeCan 안구마우스 딜리버리서비스.징검다리팀designDIVE eyeCan 안구마우스 딜리버리서비스.징검다리팀
designDIVE eyeCan 안구마우스 딜리버리서비스.징검다리팀
 
Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...
Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...
Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...
 
Deep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural NetworkDeep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural Network
 
Convolutional Neural Networks
Convolutional Neural NetworksConvolutional Neural Networks
Convolutional Neural Networks
 

Pycon Korea 2018 머신러닝으로 치매 정복하기

  • 1.
  • 2. §컴퓨터 비전 엔지니어 §한양대학교 ERICA 컴퓨터비전랩 박사과정 중 §뷰노 (https://www.vuno.co/) 재직 중 §수영 15년차 §아들바보 저는
  • 3. §머신러닝을 입문하고 자신만의 문제를 찾는 분들이 대상 §의료 영상에서 다루고 있는 문제에 대해 소개 §의료 영상 문제를 머신러닝으로 다루기 위한 해결 방법 공유 §의료적 지식 전달은 최대한 간결하게 이 발표는
  • 4. §치매 정복은 못합니다 ㅠ ㅠ §데이터에 대한 얘기 §머신러닝 기초, 이론 오늘은 하지 않을 얘기
  • 5. §치매 연구의 목적, 방향 §문제정의 §접근방법 차례
  • 7. §치매 • 여러 원인으로 인지능력이 저하되어 일상생활에 장애가 있는 상태 • 치료불가 (진행을 늦출 수는 있슴) 치매와 알츠하이머
  • 8. § 알츠하이머 • 치매의 가장 흔한 형태. 치매환자의 75% • 증상 : 단기기억 상실, 혼란, 격한 행동, 조울증, 언어장애, 장기기억상실 • 원인 : 신경변성 (Neurodegeneration). 아밀로이드 플라크가 정상 알츠하 이머 단백질을 변형시켜 플라크 덩어리를 형성해 고유기능 파괴하는 것으 로 추정. • 조직병리학적 특징 : 뇌위축 (Atrophy), 뉴론의 다발성 병변, 초로성 반점 치매와 알츠하이머
  • 9. §신경학적 진단 • 뇌 및 신경계의 질환 분석 • 반사, 균형, 눈움직임, 말 및 감각도 • MR, CT, PET 촬영 §정신 분석학 / 심리학적 진단 • 마음이 어떻게 작동하는지 또는 기분에 영향을 미치는 장애 검사 • 기억력, 집중력, 문제해결력, 언어 및 기타 정신 기능검사 • 신경 심리 검사 알츠하이머 진단
  • 10. §조기에 치매를 발견하여 치매 진행을 늦추는 치료 제안에 도움 §환자의 뇌 MRI 영상에서 뇌위축에 대한 정보를 제공하는 SW 를 개발 치매 연구의 목적과 방향
  • 12. §알츠하이머에 관련된 뇌영역들을 영역 분할 (Parcellation) §분할된 영역으로부터 특징 추출 §정상인과 알츠하이머 환자 특징 DB 를 생성 §특징 DB 에서 특정 환자의 비정상 수치를 산출 문제 정의
  • 13. §Neuroquant • 상용 • 다양한 분석 툴, 리포트, 시각화 • 분석 시간 10분 §Freesurfer • 공개소프트웨어 • 분석시간 6시간 기존 뇌영역 분할 SW
  • 14. §병원 진료 과정에서 사용 가능한 수행 속도 §한국인의 정상인 범위와 비교한 위험도 제시 §뇌영역 분할 수행결과를 시각화 우리의 차별점
  • 16. §매우 느림 §매우 복잡하고 단계가 많은 처리 방법을 사용 §현실의 데이터 복잡도를 완전히 반영하고 있지 않음 기존 공개 SW의 문제 분석
  • 17. §매우 느림 §매우 복잡하고 단계가 많은 처리 방법을 사용 §현실의 다양한 데이터를 모두 처리하지 못함 개선 방향 §획기적으로 빠르게 §중간단계를 최소화 §현실의 다양한 데이터에 대해서 모두 실험
  • 18. §GPU §End to end 를 지향 §다양한 데이터를 모두 학습 우리의 해결책
  • 19. Dcm to nii (nifti format) Brain MRI 전처리 과정 Reorientation AC-PC Alignment
  • 20. Bias field correction Brain MRI 전처리 과정 Resample to 1mm Isotropic Skull stripping
  • 22. §CNN Model • Atrous convolution • ResNet • Dice loss §Tensorflow + Python 머신러닝 기반 Parcellation
  • 23. § 기존에는 전처리를 통해 데이터를 정규화 (Large variation - > small variation)하려고 했슴 § 머신러닝기반 전처리는 Variation 을 임의로 생성해 정규화된 상태인 것 처럼 변환함 § Part based Normalization (Gray matter) 으로 가능성 높은 밝기 분포 데이터 생성 § Histogram matching을 통한 히스토그램 변형 § Noise synthesis (Gaussian, Poisson) 머신러닝을 위한 전처리
  • 24. § Skimage • Rotation • Equalization • Connected component labeling § PIL • Rotation (Nearest neighbor) § Numpy • Image flip • 3D data reorientation (transpose) • Evaluation metric (Dice, F1) • Data restore (npz) • 그외 대부분의 알고리듬들 § OpenCV • Optical flow 파이썬 영상처리
  • 25. § 뇌 영역에서의 상대적 위치를 인식 § 기존방법 : Brain atlas mapping (사전지식) • Co-registration (정규화) • Atlas map 생성 (한국인) • Re-location • Segmentation § 객체인식방법 : • No registration/standardization • No atlas map • Detection and segmentation 을 동시에 수행 • 위치를 전체 뇌영역에 인접한 패턴으로 인식, 좌/우 위치도 같은 방식으로 위치에 대한 사전지식 없이 Location Aware Hippocampus Parahippocampal Entorhinal
  • 26. § Negative (background) 가 훨씬 많은 데이터, 객체의 위치 검출 § Faster RCNN vs Deconvolutional network • 위치 : class map + clustering | class map + deconvolution • 크기 : box regression | pixel classification • Negative 처리 : output selection | loss weighting • 특징 : instance detection | pixel level classification (≅ segmentation) Object Detection
  • 27. § Image Segmentation • 영상에서 물체의 경계를 찾는 기법 • Histogram/edge based clustering • GraphCut • Segmentation by classification Pixel Classification Hippocampus
  • 28. § Positive, negative, class imbalance § Categorical weight balancing • Label 의 비율대로 class 별 loss 비율을 맞춤 § Dice coefficient loss • Dice coefficient : "#$ #%&$% (𝑝 ∶ softmax output 𝑡 : target) • Gradient : "$% (#&$)% • P 와 t 가 작을 때 gradient 가 매우 커짐 • t 에 따라 다른 loss function 을 사용 혹은 Gradient clipping Data Imbalance
  • 29. § No pooling • 객체 인식 문제 + 특정 데이터에서는 pooling 이 도움이 안됨 • Pooling 이 도움이 되는 경우 : 크기의 변화가 심하고, 객체의 상대 데이터 수가 적으며, 배경 변화가 심한 경우 • 해상도 유지가 중요한 문제 (영상 복원) § Network depth • GPU 메모리가 허용하는 최대 • 1 batch : oscillation 문제. Group norm 이 도움이 됨. High ResNet http://www.ucl.ac.uk/interventional-surgical-sciences/research/research-platforms/nifty-net https://arxiv.org/abs/1803.08494
  • 30. § Atrous convolution • Convolution 의 횟수, stride size, kernel size 를 늘리면 Receptive field 가 커짐 • 깊이와 파라미터 수를 동시에 줄이면서 Receptive field 와 성능 개선 High ResNet https://medium.com/mlreview/a-guide-to-receptive-field-arithmetic-for-convolutional-neural-networks-e0f514068807
  • 31. § 3D object detection • 3D FCN : 이상적이지만 현실적으로 어려움 • GPU 메모리 문제, 학습 속도 느림 • Voxel sliding window • 2.5D : n 개 slice 를 2D channel 로 구성 • 3D 로의 확장 • FCN 은 kernel 을 모든 영역에서 share 하므로, slice 단위 batch learning 도 slice 축 FCN 을 적용한 것과 유사한 효과 • Slice 를 shuffling : label balancing 효과 • 학습이 용이한 것들 먼저 샘플링 2D vs 3D
  • 32. § Volume, ICV Percentile 기반 • Atrophy 를 volume 등의 수치로 표현하고, 정상/비정상 환자 분포에서의 percentile 계산 § Biomarker 기반 • Parcellation 된 biomarker 를 이용하여 ML 로 분류 • 임상 검증이 관건 : 단순 정상/비정상 분류기는 정상집합과의 유사도를 측정해주지 못함 알츠하이머 예측
  • 33. § 다양한 장비, 환경에서 재현성, 일관성 검증 § 어떤 측도를 제시할 경우 현실적인 정확도를 만족하는가 § 혹은 과정이나 인과를 설명 가능한가 • 설명할 수 없다면 문제를 부분적으로 설명 • A – B – C 인과 관계에서 B 만이라도 보임 임상 검증
  • 34. §왜 치매 관련 연구를 하는가? 어떻게? • 치매 예방 • MR 영상으로 (인지적 장애가 없는) 치매 의심 환자를 찾아 의료진에게 정보 제공 §해결 가능한 문제 정의 • 뇌위축을 측정/분석, 정상환자와 비교한 비정상 수치를 제시 §합리적인 해결 방안 • 다양한 데이터 수집과 기존 영상처리 기법들을 사용하여 의료 데이터의 불규칙성 극복 • 뇌영역 위치인식과 영역 분류를 위해 객체 인식 기법 사용 • 정교한 영역 분할을 위한 CNN 구조 • 3D 데이터 학습을 위한 부분적인 해결책 결론
  • 35. §AD 예측방법을 다양화 §다양한 Modality에서 다양한 특징들을 추출 §영상이 아닌 데이터도 다룸 앞으로 우리는