안녕하세요.

이번 글에서는 디지털 뉴딜 사업의 일환인 AI hub를 소개하려고 합니다.

 

최근 딥러닝 학습을 하기 위해 양질의 데이터가 절실히 필요한 상황입니다.

특히, 의료 데이터의 경우에는 우수 인력들이 동원되어야 학습데이터를 구축 할 수 있습니다. 

 

그래서 정부에서는 대규모 투자를 하여 양질의 데이터 생산할 수 있게 지원하고 있는데,

그 중의 하나가 디지털 뉴딜 사업이고, 이러한 디지털 뉴딜 사업의 일환이 AI hub입니다. 

 

그래서 딥러닝을 공부하고 모델을 개발하는 사람들이 데이터를 구하는데 어려움이 없도록 AI hub신청하면 다양한 데이터 (ex: 공공의료데이터, 위성데이터 등) 제공 받을 수 있습니다.

 

이번 글에서는 위에서 설명한 내용들을 좀 더 구체적으로 알아보도록 하려고 합니다.

 

디지털 뉴딜을 설명하기에 앞서 뉴딜이 무엇이고, 한국판 뉴딜이 무엇인지 먼저 알아본 후 디지털 뉴딜과 AI hub에 대해서 설명하도록 하겠습니다.

 

 

1. 뉴딜이 무엇인가요?

루즈벨트를 미국 역사상 최초로 4번 연속 대통령으로 이끌었던 정부주도 사업뉴딜정책입니다.

이 뉴딜 정책을 설명하기 위해 잠시 짧게 역사적인 배경을 설명하도록 하겠습니다. 

 

1) 1865년 미국: 남북전쟁 종료

  • 1865년 미국의 남북전쟁이 끝나면서 통합된 정부가 수립이 됩니다.

 

2) 1865~1918년 미국: 미국 재건 시작

  • 이 시기에 유럽을 중심으로 다른 대륙에서 2750만 명이라는 이민자들이 미국으로 몰려들어오게 됩니다.
  • 이러한 이민자들 덕분에 노동력을 공급 받을 수 있었고, 캘리포니아와 같이 개발되지 않은 지역에 다양한 지역 사회형성할 수 있었습니다.

 

3) 1920년 미국: 미국 경제 호황

  • 1918년 1차 세계대전이 영국, 러시아, 프랑스 연합국승리로 끝났습니다.
  • 당시 영국은 러시아와 프랑스에 엄청난 돈을 빌려준 상태였습니다.
  • 하지만, 영국 역시 전쟁 중 이었기 때문에 부족한 돈을 미국 금융가에게서 빌리게 됩니다.
  • 영국은 미국에게 빌린 돈을 패전국인 독일에게 막대한 배상금을 주며 받으려 했습니다.
  • 물론, 러시아와 프랑스에게 빌려줬던 돈도 받아 미국에게 주려고 했습니다.
  • 하지만, 유럽의 경제는 이미 파탄이 난 상태였기 때문에 영국과 미국 모두 돈을 받기 힘든 상태가 되었습니다.
  • 그래서, 미국유럽 경제를 살리기 위해 대규모 투자를 하여 공장을 늘리고 많은 일자리(노동자)를 만들어 냈습니다. 이로 인해 투자 활발해 지면서 미국 또한 대규모 경제 호황을 맞이하게 됐죠

(↓↓↓ 미국의 1920년대 배경을 잘 설명해주는 동영상↓↓↓)

https://www.youtube.com/watch?v=xatt7AQPnMc 

 

 

 

4) 1930년 미국: 미국 경제 대공황

  • 늘어난 공장을 통해 공급수요앞서게 되자 기업가 또는 투자자들의 이윤줄어들게 되었습니다.
  • 그러자 노동자들을 해고시켜 노동임금을 줄이고 이윤증가시키려고 했습니다.
  • 하지만, 노동자들이 곧 수요자였기 때문에 미국 경제공장도 멈추고 대규모 실업자가 생겨나게 됩니다.

(↓↓↓1930년대 미국 대공황을 잘 설명한 영상↓↓↓)

https://www.youtube.com/watch?v=1W3_kkmHR5I 

 

 

 

5) 1930년 미국: 미국 경제 대공황

  • 1933년 루즈벨트 대통령은 미국 경제 대공황극복하고자 뉴딜 정책을 실시합니다.
  • 뉴딜 정책중 하나가 대규모 토목 사업후버 댐 건설입니다.
    • 서부개척과 이민자들의 유입으로 서부지역환경개선할 필요가 있었습니다.
    • 하지만, 특히 후버 댐이 건설되기 전까지 홍수 또는 가뭄에 의해 적절한 농업을 할 수 없게 되었죠.
    • 그래서 후버 대통령 (1929년 3월 4일 ~ 1933년 3월 4일) 은 1931년에 농장을 현대화하고 전력을 공급하고 홍수를 억제하기 위해 엄청난 규모의 댐 공사를 추진합니다. 그리고, 자신의 이름을 따 댐의 일음을 후버 댐이라고 명명합니다.
    • 루즈벨트 대통령은 본래 하고 있던 후버 댐 사업을 이어받아 1935년에 준공(=공사를 마침)을 선언합니다.

 

결국 뉴딜 정책이란 아래와 같이 정리할 수 있습니다.

 

"경제 위기를 극복하고자 정부에서 지원한 대규모 공공사업"

 

 

 

 

 

2. 한국판 뉴딜은 무엇인가요?

2020.04.22청와대 제5차 비상경제회의에서 정부가 국가 프로젝트로한국판 뉴딜구상하겠다는 의사를 처음 밝힙니다.

 

코로나와 일자리 문제로 인한 경제 위기를 극복하고자 정부에서 대규모 공공사업을 진행하려고 한 것이죠.

 

그리고 2020.07.14일에 '한국판 뉴딜' 국민보고대회를 통해 1시간 정도 '한국판 뉴딜' 정책 설명을 진행합니다.

 

(↓↓↓'한국판 뉴딜' 국민보고대회 관련 뉴스 (풀영상은 따로 검색하면 1시간 짜리 영상이 나옵니다↓↓↓)

https://www.youtube.com/watch?v=8baEZB88dNY 

 

'한국판 뉴딜' 정책은 크게 두 가지 사업(정책)으로 구성되어 있습니다.

  1. 디지털 뉴딜
  2. 그린 뉴딜

2020.07.14일 발표한 '한국판 뉴딜 1.0'에서는 2025년까지 국고 114조원, 민간과 지자체 포함 160조원을 투자하여 관련 일자리를 창출할 것이라고 밝혔습니다.

 

'한국판 뉴딜 1.0'방향성은 아래 "그림1"과 같이 '10대 대표과제'를 통해 파악할 수 있습니다.

 

그림1. 이미지 출처: https://www.korea.kr/special/policyCurationView.do?newsId=148874860

 

 

https://www.korea.kr/special/policyCurationView.do?newsId=148874860 

 

[정책위키] 한눈에 보는 정책 - 한국판 뉴딜

1. 한국판 뉴딜이란?2.한국판 뉴딜의 구조와 추진체계3.분야별 주요 내용4.한국판 뉴딜 주요 추진과제5.한국판 뉴딜 펀드 6.사례로 본 한국판 뉴딜 7.그 밖의 참고자료 / 누리집 1. 한국판 뉴딜이란?

www.korea.kr

 

 

그리고 1년 뒤 2021.07.14일 '한국판 뉴딜 2.0'을 발표하게 됩니다. 

'한국판 뉴딜1.0'의 방향성을 그대로 가져가면서 투자액을 좀 더 증액할 것이라고 합니다.

 

https://www.youtube.com/watch?v=ap0Wz5CTMOM 

 

 

앞서 언급했듯이 '한국판 뉴딜' 정책은 크게 두 가지로 분류 할 수 있습니다.

  1. 디지털 뉴딜
  2. 그린 뉴딜

 

앞서 디지털 뉴딜에 대해서 알아보기로 했으니, 지금부터 디지털 뉴딜에 대해 좀 더 자세히 설명드리도록 하겠습니다.

 

 

 

 

 

3. 디지털 뉴딜은 무엇인가요?

'한국판 뉴딜' 중 하나의 중심축을 담당하는 디지털 뉴딜은 크게 세 가지 방향성을 갖고 있습니다.

  1. 데이터 댐
  2. 지능형 정부
  3. 스마트 의료인프라

 

그림1. 이미지 출처: https://www.korea.kr/special/policyCurationView.do?newsId=148874860

 

 

여기서 제가 소개해 드릴 부분은 "데이터 댐""스마트 의료인프라"입니다.

 

 

3-1. 데이터 댐

오늘 날 적용하는 인공지능의 대표격인 딥러닝은 크게 두 가지 요소를 필요로 합니다.

  1. 데이터
  2. 딥러닝 모델 with 학습 방법론

 

학계에서 열심히 연구하는 부분들은 "2. 딥러닝 모델 with 학습 방법론"입니다.

수 많은 연구자들이 어떻게 하면 효율적인 딥러닝 모델을 만들 수 있을지 연구하여 논문으로 발표합니다.

 

하지만, 이러한 딥러닝 연구가 진행되기 위해서 반드시 선행되어야 하는 작업이 있습니다.

바로 딥러닝 모델을 학습 시키기 위한 '데이터'만드는 작업입니다.

 

결국 양질의 '데이터'가 있어야 효율적인 인공지능 연구들이 가능합니다.

 

그래서 정부는 디지털 뉴딜의 일환으로 데이터들을 한 곳에 저장 시킬 "데이터 댐"을 만들기로 합니다.

 

정부는 데이터 댐에 관련 이야기를 언급하면서 "D.N.A 생태계 강화"를 강조했습니다.

'D.N.A''Data. Network. AI' 약자인데, 데이터들을 하나의 저장소(=데이터 댐)에 모아 5G 기반의 통신만 기술을 이용해 AI 관련 사업하는 사람들에게 제공하면 어떻게 될까요?

 

위와 같이 공공 데이터 저장소가 있으면 많은 인공지능 기업과 연구자들이 데이터를 모으는 수고를 덜 면서 연구에만 몰두 할 수 있게 됩니다.

 

(↓↓↓'디지털 뉴딜'에서 데이터 댐에 관한 설명↓↓↓)

https://www.youtube.com/watch?v=9iNjaG72SSo 

 

 

(↓↓↓'데이터 댐' 관련 설명↓↓↓)

https://www.youtube.com/watch?v=EWIq6aWxbdg 

 

 

 

3-2. 스마트 의료인프라

의료 인공지능 및 IT결합하면서 개선될 수 있는 부분은 굉장히 많습니다.

 

몇 가지 예를 들면, 웨어러블 디바이스 또는 실시간 감지를 통해 사람의 생처정보 및 행동패턴을 분석하여 환자들을 지속 관찰할 수 도 있고, 성능 좋은 의료인공지능 모델로 인해 정확성 높고 더 빠른 진료를 가능하게 할 수도 있습니다. 또한 원격의료 시스템을 지원할 수 도 있고, 불필요한 중간체계를 줄여주어 의료비용을 감소시킬 수 도 있습니다.

 

(↓↓↓디지털 헬스케어와 관련해서 작성한 글↓↓↓)

https://89douner.tistory.com/195?category=986138 

 

1. 미국의 Healthcare환경 및 의료시스템

안녕하세요. 이번 글에서는 미국의 healthcare환경 및 의료 시스템에 대해서 알아보도록 하겠습니다. 사실, 각 나라마다 의료환경이 다릅니다. 예를 들어, 유럽의 의료환경, 한국의 의료환경, 미국

89douner.tistory.com

 

 

 

(↓↓↓디지털 뉴딜 사업 중 "스마트 의료인프라"관련 영상↓↓↓)

https://www.youtube.com/watch?v=d2d6-hRXXg4 

 

 

 

결국 의료분야에서 인공지능 모델을 이용하려는 연구자들은 위에서 언급한 '데이터 댐', '스마트 의료인프라'와 모두 관련있는 일을 하고 있으시다고 보셔도 될 것 같습니다.

 

 

 

 

 

 

4. AI hub는 무엇인가요?

만약 본인이 의료 인공지능을 연구하고 있다고 하신다면 연구를 어떻게 하고 있으신가요?

 

딥러닝 모델, 그 외 인공지능 학습방법론 등과 관련된 분야들 (ex: unsupervised learning, domain adaptation, CNN, GNN, etc ...) 을 연구하시고 있으실텐데, 이러한 연구를 하기 위해서는 데이터필요하실 겁니다.

 

보통 의료 분야에서 인공지능 모델을 연구하기 위한 방법은 두 가지 입니다.

  1. 사설 병원 (ex: 서울아산병원, 삼성서울병원, 서울대병원, 연세대병원, 고려대 병원 등..)의 private dataset을 이용한 연구 진행 방식
  2. Kaggle, MICCAI 에서 개최하는 challenge에서 제공해주는 public dataset을 이용한 연구 진행 방식

 

Private dataset양질의 데이터이지만 일반 연구자들이 접근하기가 쉽지 않고, public dataset의 경우에는 접근성좋지 품질떨어지는 경우가 종종 있습니다.

 

그래서 정부 양질의 데이터를 공공 개방할 수 있도록 '데이터 댐'을 만들기로 했는데, 이를 대표하는 곳AI-hub라는 곳입니다. (미리 말씀 드리면 의료 데이터는 다른 데이터들에 비해 데이터를 신청하는 것이 까다롭습니다. 아무래도 사람과 관련된 데이터라 엄격할 수 밖에 없겠죠? 하지만, private dataset은 보통 해당 기관 사람 아니면 접근이 거의 불가능 한 점을 보면 상대적으로 이용하기 수월하다고도 할 수 있을 것 같습니다)

 

(↓↓↓ AI-hub 사업 설명 영상↓↓↓)

https://www.youtube.com/watch?v=sEFPh1f63aE

 

 

(↓↓↓ AI-hub 사이트↓↓↓)

https://aihub.or.kr/

 

홈 | AI 허브

AI 데이터를 찾으시나요? AI 학습에 필요한 다양한 데이터를 제공합니다. 원하시는 분야를 선택해 보세요.

aihub.or.kr

 

 

위의 사이트에 접속하시면 아래와 같은 화면을 보실 수 있습니다.

굉장히 다양한 데이터들 종류가 있는데, 이 중에 헬스케어와 관련된 데이터들은 무엇이 있는지 살펴보도록 하겠습니다 (아래 '헬스케어' 부분을 클릭하시면 됩니다)

그림2

 

 

 

헬스케어 데이터들을 살펴보니 '이미지', '비디오', '오디오', '3D', '센서' 등 다양한 의료데이터들이 있네요.

이 중에서 '간암 진단 의료 영상'을 클릭해서 보도록 하겠습니다.

그림3

 

 

 

'간암 진단 의료 영상' 데이터와 관련된 정보들이 보이네요.

아래 "그림4"에서 우측 하단을 부분에서 교육활용동영상이라는 부분이 있는데, 해당 영상을 클릭하면 데이터에 대한 설명을 유튜브 영상으로 보여줍니다.

 

그림4

(↓↓↓간암 진단 의료 영상 관련 교육활용동영상↓↓↓)

https://www.youtube.com/watch?v=QQXQhWsy2YE 

 

 

 

 

굉장히 다양한 기관에서 의료 데이터를 만들기 위해 참여했다는것을 확인할 수 있었습니다.

그림5

 

데이터 형테는 DICOM, PNG, JSON 형식으로 제공되고, 폴더 트리에 대한 설명도 자세하게 적어놓은 것을 알 수 있습니다.

그림6

 

(↓↓↓DICOM 파일 관련 설명↓↓↓)

https://89douner.tistory.com/293

 

3-1. DICOM 파일이란? (Feat. Definition, PACS, digital image 습득과정)

안녕하세요. 이번 글에서는 의료 영상(Medical imaging)에서 사용하는 DICOM 파일이 어떻게 생겨났는지, 어떻게 이용되고 있는지 알아보도록 하겠습니다. 또한 DICOM이라는 것이 digital image이기 때문에,

89douner.tistory.com

 

 

그렇다면 이러한 데이터들을 어떻게 이용할 수 있을까요?

 

앞서 '그림3'에서 '간암 진단 의료 영상'을 클릭하고 들어가면 아래 화면이 나오는걸 '그림4'에서 확인하셨을 거에요. 이 화면에서 아래 "그림7"과 같이 '이용신청'을 클릭해줍니다. 

 

그림7

 

 

아래 화면과 같이 데이터를 신청하는 절차가 나오네요.

의료 데이터는 이용신청을 위해 좀 더 까다로운 절차가 진행됩니다.

 

그림8

 

 

위에서 설명하고 있는 절차중 'IRB'관련 내용은 아래 글을 참고해주시면 좋을 것 같습니다.

https://89douner.tistory.com/295

 

4. 한국에서 의료 데이터를 다루기 위한 행정절차

안녕하세요. 이번 글에서는 한국에서 의료 데이터를 다루기 위한 행정적 절차에 대해 소개해드리려고 합니다. 1. Motivation (의료 데이터를 사용하는데 왜 행정적 절차가 필요할까요?) 딥러닝 모델

89douner.tistory.com

 

이외에 "생명윤리준수서약서"도 작성하여 제출해야 하니 참고하시면 될 것 같습니다.

 

 

 

 

지금까지 '한국판 뉴딜', '디지털 뉴딜', 'AI-hub'를 소개하면서 의료 인공지능을 하시는 분들이 어떻게 양질의 데이터를 신청하고 모을 수 있는지 알아보았습니다.

 

감사합니다.

 

안녕하세요.

이번 글에서는 한국에서 의료 데이터를 다루기 위한 행정적 절차에 대해 소개해드리려고 합니다.

 

 

1. Motivation (의료 데이터를 사용하는데 왜 행정적 절차가 필요할까요?)

딥러닝 모델을 이용해 Chest-Xray, CT 등의 의료 영상을 classification, segmentation, detection을 할 때, 많은 분들이 Kaggle과 같은 public data를 이용합니다.

 

반면 병원에서 마련한 private dataset을 이용할 때도 있습니다. 즉, 병원소속 연구원들은 private dataset을 이용해 병원 자체 연구를 하기도 하죠. 

 

그런데, 병원 데이터(=private dataset)이라는 것이 대부분 임상데이터입니다. 

 

Q. 임상시험이란?

A. 사람을 직접 대상으로, 사람에게서 추출(또는 적출)된 검체나 사람에 대한 정보를 이용하여 이루어지는 모든 시험 → 즉, 임상데이터는 사람으로 부터 얻어지는 데이터

 

즉, 사람에 대한 데이터를 사용하는 것이기 때문에 굉장히 엄격한 윤리적 기준이 적용됩니다. 결국 연구자들은 이러한 윤리적 기준에 대해서 잘 알고 있어야 하기 때문에 관련 교육이 필요합니다.

 

 

 

2. 프로그램 수강 절차

위에서 언급한 교육을 수강하는 순서를 말씀드리도록 하겠습니다.

 

2-1. 질병보건통합관리시스템 접속후 사용자 가입

해당 프로그램을 듣기 위해서는 "질병관리청 교육시스템"에 접속해야 합니다. 

"질병관리청 교육시스템"에 접속하기 위해서는 "질병관리청 질병보건통합관리시스템"에서 먼저 사용자 가입을 해야 합니다.

 

https://is.kdca.go.kr/

 

질병관리청 질병보건통합관리시스템

 

is.kdca.go.kr

 

 

가입 시 근무하고 있는 병원소속같은 정보를 기입해주면 정상적으로 가입이 완료됩니다.

 

 

2-2. 질병관리청 교육시스템에서 임상교육개론 강의듣기

앞서 "질병관리청 질병보건통합관리시스템"에 사용자 가입을 완료 하셨다면, "질병관리청 교육시스템"에서 임상교육개론 강의를 들으시면 됩니다. (로그인시 공인인증서가 필요합니다)

 

강의를 듣는 순서는 아래와 같습니다.

 

1) 질병관리청 교육시스템 접속 및 로그인

https://edu.kdca.go.kr/edu/index.html

 

질병관리청 교육사이트

 

edu.kdca.go.kr

 

 

 

2) 과정안내 클릭

 

 

 

3) 과정명에 "임상연구개론" 입력 후, 관련 교육 신청

 

 

 

4) 나의 강의실에서 해당 강의 수강

영상길이는 2시간 정도이며, 따로 시험은 없었습니다.

 

 

 

5) 이후 수료증출력을 클릭하시고, 수료증을 pdf로 다운받으시면 됩니다. 

 

※참고로 임상교육개론으로 받은 수료증은 주기적으로 갱신해줘야 한다니 참고해두세요!

 

 

 

3. IRB(Institutional Review Board, 의학연구윤리심의위원회) 허가

의료 데이터 연구를 이용하여 연구를 진행하기 위해서는 해당 의료 데이터를 보유하고 있는 기관(ex: 병원)에 정식으로 IRB 허가를 신청해야합니다.

 

IRB 허가 신청을 하기 위해서는 GCP (Good Clinical Practice) 교육을 이수해야 하는데, 앞선 "임상교육개론"이 이에 해당합니다.

 

IRB 허가신청 절차는 앞선 "임상교육개론" 수료증 및 몇 가지 첨부 파일을 구비하여, 내가 근무하고 있는 병원 IRB 사이트에 등록을 하면 허가절차가 진행됩니다.

 

 

 

4. 과학기술인등록번호

보통 병원에서 의료 데이터를 기반으로 진행하는 연구들은 국가지원과제인 경우가 많습니다.

그래서 보통 국가정보사이트에 과학기술인으로 등록되어야 하기 때문에 아래 사이트에서 과학기술인 등록을 진행합니다. 

 

https://www.ntis.go.kr/hurims/hmreg/researcher/reg/checkRealNm.do

 

NTIS > 국가연구자번호

 

www.ntis.go.kr

 

 

 

지금까지 병원에서 의료 데이터를 사용하기 위한 간단한 행정절차에 대해서 알아봤습니다.

감사합니다.

 

 

 

[Reference]

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=atelierjpro&logNo=221330719904 

 

의료 데이터 연구자 윤리 교육 (필수)

의료 데이터를 사용하는 연구를 진행하기 위해서는 데이터 보유 기관에 정식으로 IRB라는 허가 절차를 ...

blog.naver.com

 

 

 

 

 

 

 

안녕하세요.

이번 글에서는 dicom 파일을 딥러닝 학습에 맞게 변환시켜주기 위해 조정해주는 전처리 기법에 대해서 알려드리려고 합니다.

 

 

 

1. DICOM 파일의 bit depth (Feat. Hounsfield unit)

한 이미지를 구성하고 있는 pixel 값의 범위는 기본적으로 0~255입니다.  \(0\sim2^8\)의 범위를 갖고 있기 때문에 8bit depth를 갖고 할 수 있습니다.

 

(↓↓↓bit depth (or color depth; 색 깊이)에 대한 설명은 아래 글을 참고해 주세요↓↓↓)

https://89douner.tistory.com/293

 

3-1. DICOM 파일이란? (Feat. Definition, PACS, digital image 습득과정)

안녕하세요. 이번 글에서는 의료 영상(Medical imaging)에서 사용하는 DICOM 파일이 어떻게 생겨났는지, 어떻게 이용되고 있는지 알아보도록 하겠습니다. 또한 DICOM이라는 것이 digital image이기 때문에,

89douner.tistory.com

 

<그림 출처: https://ai.stanford.edu/~syyeung/cvweb/tutorial1.html>

 

 

하지만, dicom 파일을 구성하고 있는 pixel은 0~255의 범위만 갖고 있는 것이 아니라, "-x ~ +x" 와 같이 범위가 마이너스부터 시작 되는 경우도 있고, bit depth가 12bit, 16bit로 구성되어 있는 것도 많습니다. 

 

예를 들어, CT에는 hounsfield unit (HU)이라는 것이 있습니다. X-ray 또는 CT 촬영 원리는 사람에게 방사선을 쏴서 방사능 투과율에 따라 detector 부분이 다르게 보이는 것입니다.  

 

 

 

결국 투과율에 따라 detector에 입력되는 값들이 다를 텐데, hounsfield라는 사람은 HU라는 단위를 통해 물체를 구분했습니다. HU 단위는 물을 기준으로 하고 뼈는 400~1000 HU 사이의 값을 갖고, 공기는 -1000의 값을 갖는다고 정의했습니다. 값이 작을 수록 검은색을 띄며, 값이 클 수록 흰색을 띕니다 (gray scale과 비슷하죠) 

 

<그림 출처: https://www.researchgate.net/figure/The-Hounsfield-scale-of-CT-numbers_fig2_306033192>

 

<그림 출처: https://www.researchgate.net/figure/Hounsfield-scale-table_tbl1_327863426>

 

<그림 출처: https://processing.org/tutorials/color>

 

 

실제로 dicom 파일 하나를 가져와서  max, min 값을 뿌려보면 아래와 같이 나옵니다.

(Note. DICOM 파일에서 추출한 pixel 값들이 완전히 HU 값을 표현한다고 볼 순 없습니다. 그 이유에 대해서는 다음 글의 "CT 전처리 관련 글"에서 'slope intercept equation' 부분에서 설명하도록 하겠습니다) 

 

 

2. DICOM 파일 전처리

앞서 DICOM 파일의 bit depth (color depth)와 실제 이미지 bit depth는 다르다고 언급했습니다.

딥러닝 모델에 들어가는 값은 보통 bit depth를 기반으로 하기 때문에, 이에 맞게 바꾸어 주어야 합니다. 즉, 12bit depth였다면, 0~255 range를 갖는 8bit depth로 변경시켜주어야 하는 것이죠.

 

8bit depth로 변경해주는 방법은 아래와 같습니다.

 

  1. 12bit depth 값들을 모두 0~1 사이로 normalization 해주기
  2. 0~1 사이로 normalization 해준 값들에 255를 곱해주어 이미지에 맞는 8bit depth로 변경해주기

 

 

(↓↓↓Normalization 공식↓↓↓)

<그림 출처: https://python.plainenglish.io/how-to-de-normalize-and-de-standardize-data-in-python-b4600cf9ee6>

 

 

 

 

이렇게 바꿔준 값들은 이미지로 저장시키거나 numpy로 저장시킵니다.

그리고, albumentation 같은 곳에서 load하기 쉽게 formatting을 해주죠.

 

(↓↓↓ albumentation 관련 글↓↓↓)

https://89douner.tistory.com/312?category=1001221 

 

1-2. Data Load (Feat. Albumentations)

안녕하세요. 이번 글에서는 Albumentations라는 패키지를 이용하여 데이터를 로드하는 방법에 대해서 설명하도록 하겠습니다. https://github.com/albumentations-team/albumentations GitHub - albumentations-te..

89douner.tistory.com

 

 

 

지금까지 DICOM 파일 전처리 관련된 설명이었습니다.

감사합니다~

안녕하세요.

이번 장에서는 Python으로 dicom 데이터를 읽는 방법에 대해서 말씀드리겠습니다.

 

Python에서는 pydicom 모듈 SimpleITK 모듈을 제공하고 있는데, 이러한 모듈들을 사용하여 dicom 파일을 읽어 필요한 데이터들을 추출(extraction)할 수 있습니다.

 

그럼 지금부터 데이터들을 추출하는 방법을 간단하게 설명하도록 하겠습니다.

 

 

1. Dicom 파일 다운받기

먼저 아래 사이트에 접속하여 dicom 파일 하나를 다운 받습니다.

http://www.rubomedical.com/dicom_files/

 

Sample DICOM files

DEMO 0015 (522 Kb) 1024x1024x8bits Single image Uncompressed Xray Radiofluoroscopic Monochrom2

www.rubomedical.com

 

 

 

 

2. DICOM Viewer로 dicom 파일 확인하기

다운받은 dicom 파일열어보기 위해서는 "DICOM Viewer" 응용프로그램이 설치되어 있어야 합니다. 

 

 

 

제 컴퓨터에서는 MicroDicom viewer가 설치되어 있기 때문에 해당 응용프로그램으로 DICOM 파일을 볼 수 있습니다.

 

 

 

 

 

3. pydicom 모듈로 dicom 파일 데이터 읽기

https://github.com/pydicom/pydicom

 

GitHub - pydicom/pydicom: Read, modify and write DICOM files with python code

Read, modify and write DICOM files with python code - GitHub - pydicom/pydicom: Read, modify and write DICOM files with python code

github.com

 

 

3-1. pydicom 설치

필자는 anaconda 가상환경에서 돌리고 있기 때문에 conda 명령어로 pydicom을 설치해주었습니다.

conda install -c conda-forge pydicom

(↓↓↓conda 명령어로 pydicom 설치 방법↓↓↓)

https://anaconda.org/conda-forge/pydicom

 

Pydicom :: Anaconda.org

Description pydicom is a pure python package for parsing DICOM files. DICOM is a standard (https://dicomstandard.org) for communicating medical images and related information such as reports and radiotherapy objects. pydicom makes it easy to read these com

anaconda.org

 

 

3-2. pydicom으로 데이터 읽기

pydicom으로 dicom 파일을 읽어드리는 명령어는 한 줄이면 됩니다

dcm = pydicom.dcmread(filename)

 

파일을 읽어들인 후, 특정 attribute에 접근하면 관련 데이터 값을 얻을 수 있습니다.

예를 들어. "dcm.PatientSex"에 접근하면 성별(M or F) 데이터 값을 얻을 수 있고,

 

 

"dcm.pixel_array"에 접근하면 이미지 데이터 값을 얻을 수 있습니다.

 

위의 DICOM 이미지 shape(96,512,512)=(channel, width, height)인데, channel이 의미하는 바는 시간 축이라고 보시면 됩니다. 예를 들어, "pixel_array[0] -> pixel_array[1] -> ... -> pixel_array[95]" 시간 순서대로 (512,512) gray scale 이미지가 변한다고 생각하시면 됩니다 (영상 관점에서 설명하면 pixel_array[0], pixel_array[1], ..., pixel_array[95]가 모두 frame이라고 볼 수 있습니다)

 

DICOM viewer에마우스 휠사용하면 dicom 이미지가 연속적으로 변하는걸 보실 수 있으실 겁니다! (image가 하나로만 구성될 수 도 있으니 알아두세요! ex: "Images: 1/1")

 

 

 

특정 시간대의 dicom 파일의 (gray scale) 2d 이미지 값을 얻으려면 아래와 같이 (=dcm.pixel_array[0]) 접근하면 됩니다. ipynb 파일에서 interactive mode를 사용하면 matpotlib를 이용해 실제 이미지를 visualization하여 확인할 수 있습니다. 

 

 

 

4. SimpleITK 모듈로 dicom 파일 데이터 읽기

파이썬에서는 pydicom 외에도 SimpleITK 모듈을 이용해 dicom 파일에 접근할 수 있습니다.

 

 

 

 

 

 

 

 

5. 그 외 dicom 파일 다루는 방법

아래 사이트에 접속하여 crtl+F 한다음 DICOM 이라고 검색하면 "Chapter10. Combining data sources into a unified dataset)" section이 나옵니다. (책(76p) or pdf페이지(106))  해당 section의 내용을 참고하시면 dicom 파일을 다루는 또 다른 방법도 소개하고 있으니 참고하시면 좋을 듯 합니다!

https://pytorch.org/assets/deep-learning/Deep-Learning-with-PyTorch.pdf

안녕하세요.

이번 글에서는 DICOM format이 무엇인지 알아보도록 하겠습니다.

또한, DICOM 파일로 부터 영상 이미지를 추출하는 방법에 대해서도 알아보도록 하겠습니다.

 

(DICOM은 저도 본지 얼마 안돼서 잘 못 된 부분이 있을 수 있으니 해당 부분을 꼭 댓글로 말씀해 주시면 감사하겠습니다!)

 

1. DICOM format (.dcm)

DICOM file(.dcm 파일)은 아래와 같이 크게 두 파트(File Meta Information + Object Instance)로 구성되어 있습니다.

 

이미지 출처: https://www.opswat.com/blog/opswat-deep-cdr-now-supports-dicom-file-format

 

먼저, File Meta Information 즉, Header라고 불리는 부분이 어떻게 구성되어 있는지 알아보도록 하겠습니다.

이미지 출처: https://www.sciencedirect.com/topics/computer-science/formatted-file

 

1) File Meta Information

  1. Preamble: 128 byte로 구성된 dummy byte입니다. 주로 zero 값으로 구성되어 있는데, 필요시 특별한 정보를 담을 수 도 있습니다.
  2. DICOM prefix: Preamble 다음에 곧 바로 "D", "I", "C", "M"라는 글자가 나와야 DICOM 파일임을 알 수 있습니다. 쉽게 말해 이 파일이 DICOM 파일이다라는 인증 마크와 같다고 보면 될 것 같습니다.
  3. File Meta elements: This section specifies the File Meta Elements needed to support the formatting of the File Meta Information of the DICOM File Format. 

(↓Preamble&Prefix)

이미지 출처: https://slidesplayer.org/slide/12934045/

 

(File Meta Elements↓)

ex) Transfer Syntax: 데이터를 보내는 데 사용되는 인코딩 → bit dendian, JPEG compression, ETC...

이미지 출처: http://dicom.nema.org/dicom/2013/output/chtml/part06/chapter_7.html

 

 

2) Information Object

 

이미지 출처: https://www.sciencedirect.com/topics/computer-science/formatted-file

 

Information object 부분은 Data Element로 구성되어 있는데, Data Element가 실질적인 dataset이라고 보시면 됩니다.

 

이미지 출처: https://www.leadtools.com/help/sdk/v21/dicom/api/overview-basic-dicom-file-structure.html

 

Information Object의 구성요소라 할 수 있는 Data Set은 IOD (Information Object Definition) 형식을 따릅니다. IOD는 Entity-relationship model을 중심으로 information entities, modules, attributes로 구성되어 있습니다.

 

예를 들어, MRI(=MR Image)라는 것을 하나의 객체(information object)라고 설정하고, 해당 객체를 여러 entitiy를 이용해 표현합니다. 환자정보를 나타나는 entity, 검사정보를 나타내는 entity, 이미지정보를 나타내는 entity 등이 있습니다.

 

그리고 각각의 entity는 해당 entity에 어울리는 데이터 종류(=Module)들로 구성됩니다. 예를 들어, 환자정보에는 나이, 체중, 이름과 같은 데이터 종류 등이 있을거에요. 그리고 실질적으로 부여되는 구체적인 값들을 attribute라고 합니다.

 

이미지 출처: https://libertegrace.tistory.com/m/entry/Medical-Image-DICOMDigital-Imaging-and-Communications-in-Medicine?category=905970

 

앞서 잠시 언급했듯이, Information entity 종류는 굉장히 많습니다. 아래 그림을 보면 진하게 칠해진 가장 바깥쪽 테두리 부분이 entity입니다.

이미지 출처: https://slidesplayer.org/slide/12934045/

 

각각의 entity에 대한 설명은 아래 링크를 참고해주시면 될 것 같습니다.

(↓↓↓아래링크 접속 후, ctrl+F키 누른후 "Patient IE"를 검색↓↓↓)

http://dicom.nema.org/dicom/2013/output/chtml/part03/chapter_A.html

 

A Composite Information Object Definitions (Normative)

 

dicom.nema.org

 

 

그리고 각각의 entity는 아래와 같은 계층구조(연결관계)를 이루고 있습니다.

이미지 출처: https://www.web3.lu/dicom-standard/

 

Data element는 attribute에 속합니다. 각각의 data element들은 group과 element로 구성된 tag를 통해 구분 합니다.

  • 태그별로 환자 정보, 영상 취득 날짜 등 부가적인 meta 정보 포함
  • ex1) (0008,~): Modality 및 study 정보
  • ex2) (0010,~): Patient information (환자정보)
  • ex3) (0028,~): Image information → dimension, scale, etc...

 이미지 출처: https://towardsdatascience.com/understanding-dicom-bce665e62b72?gi=c2adb34ff1a5

 

Data element(=attribute)의 인코딩과 길이, attribute에 속한 데이터 타입과 format은 VR(Value Representation)에 의해 결정됩니다. 

 

[예시] {0x0010, 0x0010} PN 9 David Kim

  • 0x0010, 0x0010: Patient Name에 접근하는 Tag Key 이며
  • VR: Person Name을 나타내는 데이터 형태 → PN
  • Length: 이름이 길이 → 9
  • Value Field: Patient Name에 해당되는 값인 환자의 이름을 나타냅니다. → David KIm 

이미지 출처: https://slidesplayer.org/slide/12934045/

 

아래 그림은 여러 VR 종류이니 한 번 확인해보셔도 좋을 것 같습니다.

이미지 출처: https://slidesplayer.org/slide/12934045/

 

 

 

Image is also a data element. An archive server receives DICOM images as information objects from the acquisition computers.

 

DICOM에서 실제 Image데이터는 "Image entity → Image Pixel module → PixelData attribute" 로 접근하면 됩니다. 

  • Compressed image data type: bitmap
  • Non-Compressed image data type: jpeg, gif, etc...

 

※DICOM format (.dcm) 외에 Nifti format (.nii)도 의료 영상 데이터 포맷으로 사용되고 있으니 알아두시면 좋을 것 같습니다.

 

 

 

 

 

2. DICOM Viewer

DICOM 파일 열어볼 수 있는 응용 프로그램 (Viewer) 중에서 프리웨어로 사용할 수 있는 대표적인 viewer program은 Sante DICOM viewer입니다.

 

(↓↓↓Sante DICOM Viewer 다운로드↓↓↓)

https://www.santesoft.com/win/sante-dicom-viewer-pro/download.html

 

Sante DICOM Viewer Pro | Download

Important! The program is actually the original version of our software, and it works in demo mode only if you don't have a license key. If you have a license key: - Download and install the program. To unlock the program, select "HelpRegistration" from pr

www.santesoft.com

 

View를 사용하는 방식은 아래 영상을 참고하시면 될 것 같습니다. (12분부터)

https://www.youtube.com/watch?v=ULiAURY5kAE 

 

 

이외 다른 DICOM viewer들도 있는데, 아래 사이트에 접속하시면 다양한 DICOM viewer 종류들을 살펴보실 수 있으실 겁니다.

http://www.dclunie.com/medical-image-faq/html/part8.html#DICOMFileConvertorsAndViewers

 

Medical Image Format FAQ - Part 8

DICOM PHP Software (tools and applications): DICOM software - Nanodicom Original PHP File_dicom now no longer maintained and superceded by Nanodicom Displaying DICOM Images in PowerPoint Presentations: DICOM Public Servers: DICOM Publications - General: Pi

www.dclunie.com

 

 

 

 

 

3. Image extraction from DICOM format 

(DICOM에서 이미지 추출하는 방법)

https://smoh.tistory.com/413

 

[C# | FO-DICOM] Dicom에서 이미지를 추출하는 방법: A generic error occurred in GDI+.

fo-dicom을 사용해 dicom파일에서 이미지를 추출하는 방법에 대해 알아봅니다. 또한 해당 작업을 수행하며 겪은 "A generic error occurred in GDI+." 에러를 해결하는 방법에 대해서도 알아봅니다. Git에 나온

smoh.tistory.com

 

 

이상 DICOM에 대한 설명을 마무리하도록 하겠습니다.

 

 

 

[Reference]

https://www.insilicogen.com/blog/358

 

人Co BLOG :: 의료 영상 분석의 개요

Posted at 2020/09/27 18:26 Filed under 지식관리 4차 산업혁명 시대에서 인공지능은 다양한 분야에서 쓰이고 있고, 그중 의료 영역 내에서도 적용 범위가 확대되어 가고 있습니다. 영상 이미지로 정상 유

www.insilicogen.com

 

https://slidesplayer.org/slide/12934045/

 

(Digital Imaging and COmmunictions in Medicine) -디지털정보융합학과- 홍각표 - ppt download

0. Index Introduction General DICOM Concepts DICOM Network DICOM Service Class DICOM Image SOP Instance New Feature of DICOM

slidesplayer.org

 

https://ksiim.org/api/society/journal/download/123/157.pdf

 

 

 

안녕하세요.

이번 글에서는 의료 영상(Medical imaging)에서 사용하는 DICOM 파일이 어떻게 생겨났는지, 어떻게 이용되고 있는지 알아보도록 하겠습니다.

 

또한 DICOM이라는 것이 digital image이기 때문에, 기본적으로 digital image가 어떻게 습득이 되는지에 대해서도 알아보도록 하겠습니다.

 

 

1. 기존 딥러닝 분야에서의 이미지 데이터 format

보통 딥러닝에서 이미지를 다룰 때, 보통 한 픽셀에 0~255의 pixel value를 갖는 파일형식(ex: jpg, png 등)을 이용합니다. 

 

이미지 출처: https://ai.stanford.edu/~syyeung/cvweb/tutorial1.html

 

또한, 우리가 알고 있는 딥러닝 CNN 논문들을 보면 224×224 또는 448×448 같이 이미지 크기를 표준으로 하고 있다는 것을 볼 수 있습니다.

 

이미지 출처: https://neurohive.io/en/popular-networks/vgg16/

 

물론 최근에는 GAP(Global Average Pooling) 덕에 입력 사이즈를 제한하고 있진 않지만, 보통 1000×1000을 넘는 test를 하진 않죠. 왜냐하면, 1000×1000 크기의 이미지는 학습시키기 어려울 수 있기 때문입니다.

 

예를들어, 이미 1000×1000×3 이미지 자체만으로도 엄청난 대용량인데, 이러한 큰 사이즈의 이미지를 학습시키려면 딥러닝 모델이 좀 더 deeper해져야 좋은 결과를 얻을 수 있거라 생각됩니다 (물론 아닐 수 도 있습니다). 이처럼 이미지 크기에 비례해서 딥러닝 크기도 커지는 것이 일반적이기 때문에, GPU memory가 "딥러닝 모델용량+한 장의 대용량 이미지"을 감당할 수 없게 됩니다. 

 

만약, 운 좋게 한 장의 이미지 정도는 감당할 수 있다고 하더라도, 8개 이상의 batch를 잡아주고 학습시키는 건 불가능하겠죠. 물론 이 부분도 분산처리 학습 (ex: horovod) 같은 방법을 이용하면 어느정도 해결할 수 있지만, 여전히 batch size를 크게 설정할 수 없기 때문에 딥러닝 모델을 학습시키는데 여러 불안요소를 가져갈 수 밖에 없습니다.

 

하지만, DICOM format의 의료 영상이미지들은 한 장에 엄청난 용량을 차지하고 있습니다. 3000×3000 resolution을 사용하는 경우도 있죠. 만약, 이러한 DICOM 데이터들의 이미지 크기를 기존 딥러닝에서 사용하는 이미지 크기(ex: 224×224) 만큼 줄여버린다면 굉장한 이미지 정보의 손실이 있을 수 있습니다. 그렇기 때문에 DICOM에서 제공하는 resolution에 기반한 딥러닝 모델 연구가 또 필요한 것이죠.

 

DICOM은 이미지 정보외에 다양한 메타 데이터들을 담고 있습니다. 이러한 메타 데이터에는 나이나 성별 등이 포함이 되는데, 실제로 의료 영역에서 성별과 나이는 굉장히 중요한 정보입니다.

 

예를 들어, 어떠한 Chest X-ray를 볼 때도 나이, 성별에 따라 진단방식이 달라질 수 있습니다. Chest X-ray에서 어떠한 소견이 있을 때, 나이가 있으신 분이라면 일반적인 현상이라고 해석할 수 있는 반면에 해당 소견이 젊은 사람에게 발생한거라면 조금 문제가 있다고 판별할 수 있습니다.

 

이러한 메타 데이터와 의료 이미지 데이터를 잘 이용하면 multimodal 딥러닝 모델도 만들 수 있게 됩니다. 

 

결국 의료 영상(medical imaging) 분야에서 딥러닝 모델을 만들기 위해 알아야할 가장 기본이 되는 데이터가  DICOM입니다. 그럼 지금부터 DICOM에 대한 정의와 기원부터 알아보도록 하겠습니다.

 

 

2. DICOM (Digital Imaging and COmmunication in Medicine)의 정의와 기원

전기전자를 다루는 분야(IEEE)에서도 여러 표준규약들이 있습니다. 예를 들어, USB 같은 경우도 출시하는 회사마다 규격이 다 다르면 사용자들 입장에서 제품 중 어떤 제품을 사용 할지 혼란이 올거에요. 그래서 보통 국제단체(ex: IEEE)에서는 범용적으로 많이 쓰일 것 같은 제품에 사용되는 기술들에 한해 표준(protocol)을 만들어 이를 따르도록 합니다.

 

이미지 출처: http://coewww.rutgers.edu/www1/linuxclass2006/lessons/lesson4/sec_3.1.html

 

위와 같은 이유로 의료분야 또한 수 많은 표준들이 존재합니다. DICOM은 의료분야에서 사용되는 수 많은 표준 중 하나인데, 의료용 기기에서 디지털 영상자료를 표현하거나 디지털 영상자료을 이용해 통신할 때 (→디지털 영상자료를 주고 받을 때) 지켜야할 표준이라고 보시면 됩니다.

 

"의료용 디지털 영상 및 통신(Digital Imaging and Communications in Medicine, DICOM) 표준은 의료용 기기에서 디지털 영상표현과 통신에 사용되는 여러 가지 표준을 총칭하는 말"

 

그렇다면, DICOM 표준은 어떻게 해서 만들어 졌을까요?

간략하게 DICOM 표준을 만들기 위해 어떤 단체들이 참여했는지 알아보도록 하겠습니다.

 

1) 1983: ACR(American College of Radiology; 미국 방사선 학회)&NEMA(National Electrical Manufacturers Association; 미국 전기 공업회)에서 ACR-NEMA 디지털 영상전송 표준 위원회를 발족

  • ACR 역시 journal이 있으며 딥러닝 관련된 논문들이 많이 쏟아져 나오고 있습니다.

https://www.acr.org/Media-Center/ACR-News-Releases/2020/Journal-of-the-American-College-of-Radiology-Increases-Impact-Factor-in-New-Rankings

 

Journal of the American College of Radiology Increases Impact Factor in New Rankings

 

www.acr.org

이미지 출처: https://academic-accelerator.com/Impact-Factor-IF/kr/Journal-of-the-American-College-of-Radiology

 

2) 1985: ACR-NEMA 표준 버전 1.0이 RSNA(Radiological Society of North America; 북미방사선학회)에서 처음으로 발표

  • 방사선이라는 것이 굉장히 다양한 분야를 다루기 때문에, RSNA에서는 아래와 같이 세부적으로 분야를 나누어 관리하고 있습니다.

이미지 출처: https://pubs.rsna.org/

https://pubs.rsna.org/

 

RSNA Publications Online | Home

Librarians, take advantage of our free online trial offers for any of our journals. Learn more >>

pubs.rsna.org

이미지 출처: https://academic-accelerator.com/Impact-Factor-IF/kr/Radiology

 

 

3) 1988: ACR-NEMA 표준 버전 2.0이 RSNA에서 발표

 

4) 1992: RSNA 회의에서 DICOM 명칭의 표준이 제안

 

5) 1993: DICOM 첫 데모 버전이 발표

 

 

 

3. PACS (Picture Archiving and Communication System)

앞서 언급했듯이 DICOM은 기본적으로 디지털 영상 자료입니다. 그렇다면 이러한 디지털 자료들은 네트워크 통신을 통해 서로 주고 받을 수 도 있겠죠? 

 

병원에서는 디지털 의료영상 이미지(Chest X-ray, CT, MRI) 같은 것을 촬영하게 되면 병원의 PACS 서버로 전송되고, 의사들이 client system을 이용해서 영상을 판독하게 됩니다.

 

PACS는 디지털 의료영상이미지를 DICOM이라는 국제표준규약에 맞게 저장,가공,전송하는 시스템입니다. 

 

이미지 출처: https://www.researchgate.net/figure/Major-PACS-components-and-sample-DICOM-messages_fig1_268195635

 

X-ray, CT, MRI 같은 디지털 의료영상 (digital medical imaging) 장비를 사용하여 획득된 의료영상이미지는 DICOM형식으로 저장되게 되며 판독결과와 진료기록이 추가될 수 있습니다. 또한 네트워크를 통해서 병원 내, 외의 단말로 전송이 가능합니다.

 

 

 

4. Digital image 습득

앞서 정의한 DICOM에 대해서 다시 한 번 살펴보도록 하겠습니다.

 

"의료용 디지털 영상 및 통신(Digital Imaging and Communications in Medicine, DICOM) 표준은 의료용 기기에서 디지털 영상표현과 통신에 사용되는 여러 가지 표준을 총칭하는 말"

 

결국, 의료용 디지털 영상이라는 것도 기본적으로 digital image이기 때문에, digital image가 어떻게 습득되는지를 알고 있어야 합니다.

 

그럼 지금부터 디지털 이미지가 어떻게 얻어 지는지 알아보도록 하겠습니다.

 

이미지 출처: https://www.insilicogen.com/blog/archive/202009

 

1) Source

어떠한 object(객체)를 이미지로 표현해주기 위해 가장 먼저 요구되는 요소가 energy source 입니다. 예를 들어, 우리가 카메라로 어떤 물체를 찍는 것은 빛(light source)에 반사되는 객체를 capture하는 것과 같습니다.

 

 

 

의료 영상(medical imaging)에서도 특정 객체를 디지털 이미지로 표현하기 위해서는 energy source가 필요한데, 방사선을 사용할 경우 X-ray, CT, PET 영상 이미지를 얻을 수 있고, 자기장을 이용하면 MRI 영상 이미지를 얻을 수 있습니다.

 

이미지 출처: https://en.wikipedia.org/wiki/Projectional_radiography

 

(↓↓↓X-ray, CT 이미지에 대한 설명 ↓↓↓)

https://89douner.tistory.com/257?category=991951 

 

2-1. 2D 영상의료(medical imaging) 이미지란? (Feat. X-ray, CT, 전처리)

안녕하세요. 이번 글에서는 2D 이미지로 사용되는 대표적인 영상이미지인 X-ray와 CT에 대해서 알아보도록 하겠습니다. 먼저, X-ray, CT에 대해 간단히 알아본 후, 2D 영상 이미지에서 사용되는 전처

89douner.tistory.com

 

(↓↓↓MRI PET에 대한 설명 ↓↓↓)

https://89douner.tistory.com/258?category=991951 

 

2-2. 2D 영상의료(medical imaging) 이미지란? (Feat. MRI, PET, 초음파, 내시경 영상이미지)

안녕하세요. 이번 글에서는 MRI, PET, 초음파, 내시경 영상 이미지에 대해 알아보도록 하겠습니다. 사실 MRI, PET, 초음파, 내시경 영상 등을 딥러닝에 적용해 본적이 없기 때문에, 해당 이미지들에

89douner.tistory.com

 

 

2) Sampler

특정 energy source로 부터 어떤 이미지(아래 그림의 맨 왼쪽 부분)를 획득했다고 가정해보겠습니다.

아래 그림의 맨 왼쪽 부분에 표시된 object에서 A에서 B까지 색의 변화를 표현하면 오른쪽 이미지 처럼 continous한 그래프 형태를 띄는 것을 알 수 있습니다. 이러한 continuous한 이미지를 디지털화 시켜주기 위해서 가장먼저 하는 것은 sampling 작업입니다.

 

이미지 출처: https://slidetodoc.com/image-processing-digital-image-fundamentals-by-dr-ferda/

 

[Sampling 작업]

  1. 우선 A에서 B까지의 continous한 그래프에서 일정 간격을 두고 값들을 sampling(표본추출)을 합니다.  
  2. sampling한 수가 결국 x축에서 discrete 범위가 됩니다.
    • 예를 들어, 아래의 그림 같은 경우는 23개의 영역이 되는데, 위에서 언급한 A에서 B까지의 영역이 23개의 pixel이 존재한다는 말과 동일합니다. (보통 2D에서는 pixel로 표현되고, 3D에서는 voxel로 표현됩니다)
  3. 즉, sampling 과정에서 추출한 sampling 수가 digital image의 resolution을 결정한다고 볼 수 있습니다.
  4. 그리고 이때 sampling을 통해 생겨난 각각의 pixel들의 값(=y축)을 intensity라고 합니다.
    • 여기서 중요한 것은 아직 이때의 pixel값이 우리가 흔히 알고 있는 discrete(0~255)의 범위를 갖는것이 아닌 continuous한 범위를 갖고 있다는 것을 인지해야 합니다 (아래 이미지에서는 sampling된 요소들의 값들(=파란색 points)이 discrete하게 표현되어 있으나 실제로는 sampling된 y값은 실수 값을 갖을 수 있습니다. 아래 파란색 points들은 quantization이 적용된 결과 입니다. quantization은 바로 뒤에서 설명하겠습니다.)

이미지 출처: https://commons.wikimedia.org/wiki/File:4-bit-linear-PCM.svg

 

3) Quantization

앞서 언급했듯이, sampling 단계에서 얻은 intensity는 continous 특성을 갖는 실수 범위를 갖습니다. 이러한 continous한 값을 디지털화 시켜주기 위해 quantization이라는 기법이 적용됩니다. 

 

"The continuous range of light(energy) intensity (0<x<i) received by the digital image acquisition system need to be quantized to gray level (0~255)"

이미지 출처: https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.slideshare.net%2FPournamyRameez%2Fimage-processing-presentation-6969121&psig=AOvVaw1EGZyQbsmINkTSnvo1xldb&ust=1625389599778000&source=images&cd=vfe&ved=0CAoQjRxqFwoTCJjJ1KPGxvECFQAAAAAdAAAAABAJ

 

우리가 흔히 알고 있는 pixel 값은 8비트 기준으로 0~255의 범위(2^8)로 표현합니다.

이미지 출처: https://www.processing.org/tutorials/color/

 

하지만 꼭 8bit로 표현할 필요는 없습니다. 때에 따라서는 16bit의 범위(2^16)로 표현할 수도 있고, 1bit의 범위로 표현할 수 도 있습니다. 즉, 사용되는 bit에 따라 표현하려는 색의 범위가 결정됩니다. 

 

이때, 색의 범위를 위해 사용되는 bit 수를 bit depth라고 합니다.

 

이미지 출처: https://digamation.wordpress.com/2008/07/18/understanding-bit-depth/

 

표현하려는 범위가 커질 수록 bit depth 또한 커지고, 이에 따라 디테일한 색정보를 표현할 수 있습니다.

 

이미지 출처: https://slidetodoc.com/image-processing-digital-image-fundamentals-by-dr-ferda/

 

위에서 설명한 내용에서 중요한 용어들을 정리하면 아래와 같습니다.

  • Resolution: Sampling 갯수=이미지 사이즈
  • Intensity: Sampling point(위치: 2D→pixel, 3D→voxel)에서의 값
  • Gray level: quantization → pixel값 0~255

 

지금까지 언급한 내용들을 하나의 이미지로 표현하면 아래와 같습니다.

 

이미지 출처: https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.slideshare.net%2FAmnaakhaan%2Fimage-acquisition-and-representation&psig=AOvVaw2T0C6Z5qpYDoJkmnBMWi22&ust=1625391253561000&source=images&cd=vfe&ved=0CAoQjRxqFwoTCPCF3rfMxvECFQAAAAAdAAAAABAP

 

 

지금까지 DICOM에 대한 설명과 digital image를 습득하는 과정에대해 알아보았습니다.

다음 글에서는 지금까지 배운 내용을 기반으로 DICOM file format이 어떻게 구성되어 있는지 알아보도록 하겠습니다.

 

 

 

 

 

[Reference]

https://ko.wikipedia.org/wiki/%EC%9D%98%EB%A3%8C%EC%9A%A9_%EB%94%94%EC%A7%80%ED%84%B8_%EC%98%81%EC%83%81_%EB%B0%8F_%ED%86%B5%EC%8B%A0_%ED%91%9C%EC%A4%80

 

의료용 디지털 영상 및 통신 표준 - 위키백과, 우리 모두의 백과사전

의료용 디지털 영상 및 통신(Digital Imaging and Communications in Medicine, DICOM) 표준은 의료용 기기에서 디지털 영상표현과 통신에 사용되는 여러 가지 표준을 총칭하는 말로, 미국방사선의학회(ACR)와 미

ko.wikipedia.org

 

https://slidesplayer.org/slide/12934045/

 

(Digital Imaging and COmmunictions in Medicine) -디지털정보융합학과- 홍각표 - ppt download

0. Index Introduction General DICOM Concepts DICOM Network DICOM Service Class DICOM Image SOP Instance New Feature of DICOM

slidesplayer.org

 

안녕하세요.

이번 글에서는 MRI, PET, 초음파, 내시경 영상 이미지에 대해 알아보도록 하겠습니다.

 

사실 MRI, PET, 초음파, 내시경 영상 등을 딥러닝에 적용해 본적이 없기 때문에, 

해당 이미지들에 대한 자세한 정보들은 관련 프로젝트를 할 때,

더 추가하도록 하겠습니다.

 

 

1. MRI

(↓↓↓MRI 원리↓↓↓)

https://www.youtube.com/watch?v=P_ZD9epgwfU 

 

앞선 글에서 언급한 X-ray, CT 의 가장 큰 장점은 짧은 촬영시간과 적은 비용을 들 수 있습니다.

X-ray 같은 경우는  단 1분이내면 촬영이 끝나고, CT 촬영 또한 4분이면 마무리가 됩니다. 

 

하지만, X-ray, CT 같은 경우는 방사선 노출을 피할 수 없으며, 근육조직이나 혈관 같은 부분을 정밀하게 촬영하지 못하는 단점이 있습니다. 그래서 뇌의 구조적 변화를 살피는 것이 어려운 경우가 많습니다.

 

반면에, MRI의 경우에는 자기장을 이용하기 때문에 방사선에 노출될 위험이 없고, 뇌의 구조적 변화를 살필 수 있을 정도로 정밀한 해상도를 출력하기 때문에 'Alzheimer's Disease (치매)' 같은 질병을 영상학적으로 판단할 때 MRI를 주로 사용합니다. 

 

이미지 출처: https://www.nature.com/articles/s41598-018-29295-9

 

하지만 MRI 경우에도 단점은 있습니다.

  • 25분 정도 되는 긴 촬영시간 → 폐쇠공포 유발 가능
  • 큰 기계 소음
  • 자기장을 이용하기 때문에 몸 내부에 철로 만든 의료기기가 내장 되어 있으면 촬영이 불가능할 수 있음

 

 

 

2. PET (양전자 단층 촬영)

CT, MRI 같은 경우는 해부학적 변화를 보기 때문에 초기 질병을 발견하기 힘든 경우가 많습니다.

예를 들어, 암세포가 어느 정도있어야 CT로 확인이 가능한데, 암세포가 어느 정도 있다는 것은 어느 정도 암이 진전된 상태를 이야기 합니다.

 

다시말해, 암을 해부학적으로 확인하기 위해선 어느정도 암이 진전된 상태여야 CT 상으로 확인이 가능합니다. 

 

이러한 단점을 극복하고자, 핵 의학자들이 초기 질병을 발견할 수 있도록 만든 기술이 PET 입니다.

PET은 해부학적 변화가 일어나기 전에 생화학적 기능변화를 영상화하여 보는 기술입니다.

PET을 이용하면 인체의 생화학적 대사 이상을 보기 때문에 초기에 질병을 발견할 확률이 높죠.

 

이미지 출처: https://m.blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=lhc930102&logNo=221164468799&categoryNo=6&proxyReferer=

 

PET이 어떤 원리로 동작하는지 알아보도록 하겠습니다.

 

암은 기본적으로 에너지(혈액, 영양)을 흡수하는 성향이 있습니다. 그래서, 보통 암이 생기면 암세포에게 내 영양분을 다 뺏기게 되고, 필요한 기관에 충분한 에너지가 전달이 안되게 됩니다.

 

핵 의학자들은 이러한 암세포의 성향을 이용해 암의 위치를 발견하고자 했습니다. 

예를 들어, 암세포가 포도당을 흡수하는데, 흡수되는 포도당에 방사선 물질이 결합되어 있는 경우, 해당 방사선이 암세포에 붙게되고, 암세포에 붙은 방사선이 방출되면서 암세포 위치가 촬영이 되는 원리이죠.

 

쉽게 순서대로 정리해보면 아래와 같습니다.

  1. 포도당과 방사능 물질을 결합한 약물(=조영제)을 몸에 투과한다.
  2. 해당 약물을 몸 전체를 돌아다니면서 암세포 같은 곳에 들러붙는다.
  3. 암세포에 붙은 약물에는 양전자가 있는데, 이 양전자가 주위 음전자와 부딪혀 방사선을 방출한다.
  4. 이때 PET 촬영 기기가 방출하는 방사선을 capture해서 해당 위치들을 영상화 한다. 

 

(↓↓↓위의 순서를 보여주는 영상↓↓↓)

https://www.youtube.com/watch?v=oySvkmezdo0 

 

앞서 언급한 것 처럼 해부학적으로 발견하기 힘든 초기 암을 진단하기 위해 사용되기도 하지만,

PET-CT는 암 판정(by CT)을 받고 암의 형상, 전이여부를 알기 위해 찍기도 합니다.

 

하지만, PET 역시 단점을 갖고 있습니다.

아무래도 방사능 물질이 체내에 주입되다보니 걱정이 되긴 하겠죠.

 

 

 

3. 초음파

(↓↓↓ 초음파 원리 ↓↓↓)

https://www.youtube.com/watch?v=PwzbsVZIJ8k 

 

초음파의 가장 큰 장점은 아래와 같이 정리할 수 있습니다.

  1. 방사선에 노출되지 않음 → 그래서 보통 뱃속 태아 상태를 확인하기 위해 사용됨
  2. 관절염 같은 질병은 해당 관절에 물이 있는지 여부를 보고 판단하는데, 초음파는 물방울 만큼의 소량의 물만 있어도 확인이가능 → 관절염 또는 연부조직 같은 곳의 상태를 확인할 때 탁월
  3. 약물 투여 치료시, 정확한 위치에 투여해야 하는 경우 초음파로 미리 해당 부위를 찾아내고 주입 
  4. 한 부위 만을 실시간 촬영 가능  → 즉, 한 부위에서 시간별 이미지를 얻을 수 있음(시계열 데이터로도 분석가능)

 

개인적으로 위에서 언급한 '3, 4'번의 장점은 딥러닝의 장점과 잘 융합될 수 있을거라 생각합니다.

 

예를 들어, 3번 같은 경우는 어떤 약물을 사람의 체내에 주입해야 할 때, 실시간 초음파 이미지를 통해 해당 부위를 찾고, 찾은 위치에 약물을 주입하게 하면 많은 도움이 될 것이라 생각됩니다. (로봇이 주입하면 항상 정량대로 주입할 수 도 있겠죠?)

 

4번 같은 경우는 실시간 이미지들을 분석해, anomaly detection 기법을 적용해 볼 수 있겠네요. 예를들어, 근육의 움직임이 이상하다던가, 혈관과 관련된 움직임 패턴이 이상하던가 말이죠.

 

 

 

4. 내시경

(↓↓↓ 내시경 ↓↓↓)

https://www.youtube.com/watch?v=-QzM4wjMx28 

 

앞서 설명한 이미지들은 보통 무언가를 투과시켜 반사되는 양을 측정해 이미지화 한 것들입니다. 

그렇기 때문에, 실제 장기들의 상태를 확인하는 것이 힘들죠.

그래서, 내시경 같은 장비를 이용하면 직접 장기를 촬영하기 때문에 "식도, 위, 십이지장, 대장, 방광 등"에 대한 컬러 이미지를 얻을 수 있게 됩니다. 

 

Kaggle이나 MICCAI 같은 곳에 가면 아래와 같은 내시경 이미지를 이용해 classification, detection, segmentation 등의 challenge를 진행합니다.

이미지 출처: https://www.kaggle.com/balraj98/polyp-segmentation-in-colonoscopy-frames-deeplab

 

 

 

5. 조직검사 이미지 (Feat. digital pathology)

앞서 알아본 X-ray, CT, MRI 등과 같은 이미지들에서 암을 찾을 수 있다고 설명했습니다.

하지만, 암을 찾은 것이 아니라 "암을 추정"하는 것이라고 말하는 것이 더 정확한 표현이라고 할 수 있습니다.

 

보통 암을 확진하는 순서는 아래와 같습니다.

  1. CT, MRI, X-ray 등과 같은 영상 이미지를 통해 병변을 의심하게 된다.
  2. 특정 병(ex: 암)이라고 의심되면 조직검사를 하게 된다.
  3. 조직검사는 아래와 같은 순서로 진행된다.
    1. 의심되는 부위에서 일부 조직을 떼낸다.
    2. 해당 조직을 "병리과"에서 현미경으로 관찰한다. 이때, 현미경으로 관찰되는 이미지를 digital pathology image라고 한다.
    3. 해당 조직을 검사해 특정 병(ex:암)이라는 소견이 나오면, 최종적으로 확인을 판정한다.

확진 판정 후에 수술로 제거할 수 있으면 제거하고, 너무 단계가 많이 진행 됐으면 화학적 치료 (ex:항암치료) 까지 진행하게 됩니다.

 

요약하자면, 조직검사를 통해 얻은 digital pathology image를 기반으로 암인지 아닌지 classifciation 해야 확진판정을 할 수 있게 되는 것입니다.

 

이미지 출처: https://www.kaggle.com/c/histopathologic-cancer-detection

 

 

(↓↓↓조직검사 과정↓↓↓)

https://www.youtube.com/watch?v=Cg4nOLeOW5U 

 

(↓↓↓루닛에서 계획하는 의료 딥러닝 process↓↓↓)

https://www.youtube.com/watch?v=ohwucxAoODE 

 

 

지금까지 설명한 영상이미지외에 안과에서 사용하는 retina 이미지도 있으며, 

정말 다양한 영상 이미지들이 존재하기 때문에 딥러닝이 이러한 병변들을 발견하는데 큰 기여를 할 수 있을거라 생각합니다.

안녕하세요.

이번 글에서는 2D 이미지로 사용되는 대표적인 영상이미지인 X-ray와 CT에 대해서 알아보도록 하겠습니다.

 

먼저, X-ray, CT에 대해 간단히 알아본 후, 2D 영상 이미지에서 사용되는 전처리 기법에는 어떤 종류들이 있는지 알아보도록 하겠습니다.

 

아래 영상을 미리 한 번 보시면 글을 읽기 수월 하실 거에요!

 

(↓↓의료 이미지, X-ray, CT, MRI에 대한 간단한 설명)

https://www.youtube.com/watch?v=wbqeIpigxfs 

 

※Medical Imaging이라는 수업에서는 이러한 기기들의 물리적인 작동 방식에 대해서 설명하고 있으나, 여기에서는 단순히 기계의 작동원리나 어떻게 이미지들이 생성되는지만 간단히 알아보도록 하겠습니다.

 

 

 

 

1. X-ray 이미지 (Feat. Digital detector)

X-ray를 이용해 병변을 분류하는 과정은 아래와 같습니다.

 

1) X-ray generator에서 방사선 발사

2) 발사된 방사선이 Object(사람 또는 다른 객체)에 투과

 

이미지 출처: https://en.wikipedia.org/wiki/X-ray_detector

 

3) 사람 내부 인체 조직에 따라 X-ray detector에 있는 image receptor에 투과되는 방서선 양이 다름

 

이미지 출처: https://slideplayer.com/slide/7432411/

Symptom Color
Black Air
Dark gray Fat
Light gray Soft tissues
ex) Water
White Calcification
ex) bone
Whiter Metal

 

 

 

 

4)  투과된 방사선량에 따른 병변 분류

  • 예를 들어, X-ray를 기반으로 폐렴(pneumonia)을 분류한다고 해보겠습니다.
  • 보통 폐렴같은 경우는 X-ray 장비로도 진단을 합니다.
  • 폐렴이 의심되는 환자를 촬영할 땐, image Receptor를 가슴 쪽에 두고 사진을 찍게 되죠. 보통 이러한 사진을 Chest-Xray라고 합니다.
  • 폐는 사람의 호흡과 관련된 기관입니다. 폐를 구성하는 것 중하나는 폐포(alveoli)인데, 여기에서 혈액과 가스의 교환이 이루어집니다. 

이미지 출처: https://kr.freepik.com/premium-vector/human-respiratory-system-lungs-alveoli-medical-diagram-inside-larynx-nasal-throttle-anatomy-breath-pneumonia-smoke-anatomy-illustration-healthcare-and-medicine-infographic_7289256.htm

 

  • 폐렴(Pneumonia)은 공기 중에 떠다니는 있는 세균, 곰팡이 및 바이러스가 체내에 흡입되고 폐포(pulmonary alveoli)에 안착한 후 염증을 일으키면서 발생합니다. 이 과정을 통해 다양한 호흡기 질환으로 합병증이 나타나고 폐 전체에 염증을 일으켜 심각한 결과를 초래하게 됩니다.

 

이미지 출처: https://www.shutterstock.com/ko/image-vector/pneumonia-concept-background-realistic-illustration-vector-1204624771

 

  • 정상적인 폐포의 내부는 기체로 이뤄진 상태이지만 폐렴으로 인해 손상된 폐포에는 염증이 있어 액체 물질로 가득 차 있습니다.
  • 본래 폐포는 공기(기체) 상태인데, 폐렴으로 인해 액체가 폐포에 가득해지면 X-ray 촬영 시, 아래와 같이 X-ray 이미지가 나오게 됩니다. (왼쪽 이미지: 정상(normal), 오른쪽 이미지: 폐렴(pneumonia))

이미지 출처: https://www.bmj.com/content/370/bmj.m2426

 

 

[Q. X-ray 이미지에서 AP, PA는 무엇을 의미하나요?]

Chest X-ray (CXR)를 찍을 때 찍는 방향에 따라 AP(Anterior-Posterior)PA(Posterior-Anterior)로 나눌 수 있습니다.

이미지 출처: https://www.youtube.com/watch?v=iG0gKrXLnpU

Chest X-ray의 경우 찍는 방향에 따라 나오는 X-ray 이미지 상태가 다릅니다.

보통, AP 방식으로 찍기보다 PA 방식을 찍는데 그 이유는 아래와 같습니다. 

  • AP view: 심장이 확대되어 보이며, 견갑골에 의해 폐야가 많이 가려지며, 횡경(Diaphragm)막이 높이 올라가 있어 폐가 좁게 나타남
  • 따라서 COVID-19 선별진료소와 같이 Chest AP에서 얻은 CXR 이미지는 폐 병변을 보기에는 사실 썩 좋지 않은 경우가 꽤 있다. (Dataset 수집할 때 이러한 부분도 고려하면 좋을 듯)

이미지 출처: https://www.slideshare.net/drvikrampatil/approach-to-chest-xray-and-interpretation

  • 위의 그림을 보면 같은 환자인데 Chest AP에서는 심장 size도 크고 그리고 견갑골에 의해서 폐야도 많이 가려지는 형태고 그 다음에 diaphragm도 많이 올라와 있기 때문에 PA와 비교했을 때 상당히 폐야가 좁고, 굉장히 내부의 vessel도 굉장히 engorgement(폐에서의 염증성 충혈)되어 보이는 경우가 많습니다.
  • 이러한 경우, GGO 병변을 딱히 구분할 수 없거나 잘 안보이는 경우가 생길 수 도 있습니다. → 참고로 GGO는 COVID-19에서 발견되는 주요 소견 중 하나입니다.

 

  • 또한, Chest X-ray는 누워서 찍기보단 서서 찍는 것이 좋습니다. 

이미지 출처: https://slideplayer.com/slide/7432411/

 

  • 아래의 환자는 effusion이 있던 환자인데, chest AP 를 누워서 찍으니까 effusion이 전부 뒤로 깔려서 폐 병변을 보기가 상당히 어렵게 됐습니다. 가끔 chest X-ray 데이터셋을 보면 저런 경우를 종종 볼 수 있는데 이런 경우 effusion이 있는 환자가 누워서 찍은건 아닌지 고려한 후 데이터셋을 제거하는 것이 필요할 듯 보입니다.

 

 

(↓↓↓AP, PA에 대한 자세한 설명은 아래 사이트를 참고해주세요↓↓↓)

https://www.radiologymasterclass.co.uk/tutorials/chest/chest_quality/chest_xray_quality_projection

 

Chest X-ray Quality - Projection

Key points Posterior-Anterior (PA) is the standard projectionPA projection is not always possibleBoth PA and AP views are viewed as if looking at the patient from the frontPA views are of higher quality and more accurately assess heart size than AP imagesI

www.radiologymasterclass.co.uk

 

 

 

 

2. CT 이미지

(↓↓CT 가 탄생한 이유↓)

https://youtu.be/xf1eZAp7Mq8

 

X-ray 이미지는 2D로 볼 수 있는 반면, CT는 X-ray generator(source)가 여러 측면에서 촬영하기 때문에 2D 이미지와, 회전을 통해 얻은 이미지들을 이용 (by interpolation ← 몰라도 될 것 같습니다 ㅎ;;) 해 3D 이미지를 얻기도 합니다.  

 

이미지 출처: https://en.wikipedia.org/wiki/CT_scan

 

아래 gif 이미지에서 보이는바와 같이 CT를 촬영하게 되면 360도 촬영을 하게 됩니다.

이미지 출처: https://gifs.com/gif/history-of-computerized-tomography-ct-scanner-vVe5bq

 

위와 같이 촬영을 하면 아래와 같은 축으로 여러 이미지가 나올 수 있죠.

이미지 출처: https://www.pinterest.co.kr/pin/114490015511169070/

 

위의 이미지에 해당하는 축(axis) 마다 다른 형태의 CT 이미지를 출력하게 됩니다.

이미지 출처: https://www.mathworks.com/matlabcentral/mlc-downloads/downloads/submissions/53745/versions/52/previews/html/examples.html

 

COVID-19 데이터 셋을 보면 대부분 Trans-axial(=Transverse)에 해당 하는 축의 이미지들로 구성되어 있습니다.

이미지 출처: https://www.kaggle.com/kmader/siim-medical-images

 

 

폐 위치 관련한 용어를 잠시 보여드리면 아래와 같습니다.

이미지 출처: https://www.researchgate.net/figure/Schema-of-central-and-peripheral-locations-This-diagram-showed-definition-of-central_fig2_279943115

 

이미지 출처: https://epos.myesr.org/posterimage/esr/ecr2010/104360/mediagallery/298132

 

 

(↓↓↓CT 이미지 읽는 장면 아래 영상에서 3:29~3:38 참고↓↓↓)

https://www.youtube.com/watch?v=P6nweaRTiLs 

 

 

아래 사진을보면 정상인, 폐렴, COVID-19 의 폐 CT 사진입니다.

아래 사진을 기반으로 하면 다음과 같이 해부학적으로 병변을 분류할 수 있겠죠.

  • Normal: 깨끗함
  • Pneumonia: 광범위하게 GGO(Ground Glass Opacity)가 퍼져있음
  • COVID-19: peripheral부분에 GGO가 위치하기도 하며, 진행단계에 따라 GGO 정도가 심해지는 consolidation 현상도 볼 수 있습니다.

※ 물론 이것은 아래 사진만 살펴본 예입니다. 실제로 폐렴(pneumonia)은 그 종류가 다양하기 때문에, CT 상에서 보여지는 특징도 굉장히 다양합니다.

이미치 출처: https://www.techscience.com/cmc/v68n1/41834/html

 

 

 

 

3. X-ray, CT 이미지 전처리하기 (Feat. 히스토그램)

전통적으로 사용되는 X-ray 이미지 같은 경우는 앞서 설명한 것처럼 image receptor에 투과된 방사선 양을 토대로 보여지게 됩니다.

 

예전에는 이미지를 필름에 찍어내는 방식을 이용한 X-Ray 검사를 많이 진행했지만,

몇년 전부터는 해당 방사선 양을 직접 전송해 영상화하는 Digital Radiography (DR)을 많이 사용하고 있다고 합니다.

 

 

이미지 출처: http://www.sprawls.org/resources/DIGRAD/module.htm

 

좀 더 구체적으로 설명하자면 아래와 같습니다.

  • receptor는 N×N grid 형태로 있습니다.
  • 각각의 위치는 하나의 pixel이 됩니다.
  • receptor에 exposure된 방사선 양은 analog/digital converter에 의해 픽셀 값을 갖는 digtal image로 변환됩니다.  

이미지 출처: http://www.sprawls.org/resources/DIGRAD/module.htm

 

 

1) Histogram analysis

히스토그램의 여러 어원 중 하나는

'똑바로 선 것'이라는 뜻을 가진 histos에 '그림'을 뜻하는 gram이 합쳐진 합성어라고 합니다.

풀어설명하면 '똑바로 선 막대 그림'이라는 뜻으로 사용되기도 합니다.

 

수학에서 히스토그램은 표로 되어 있는 도수 분포표를 정보 그림으로 나타낸 것입니다.

그렇다면 이미지에서 히스토그램은 무엇을 의미할까요?

 

쉽게 말하자면 이미지 상에 나타난 색상 값들을 도수분포표로 나타낸 것이라고 볼 수 있습니다.

예를 들어, 흑백 이미지에 대한 히스토그램은 아래와 같이 표현 할 수 있습니다.

  • (a) 이미지는 흑백 이기 때문에 X축은 pixel 값 범위 "0~255"로 표현할 수 있습니다.
  • 해당 픽셀 값들이 얼마나 많은지 도수분포표를 통해 나타내면 그것이 이미지 히스토그램입니다.

이미지 출처: https://www.semanticscholar.org/paper/Triad-Histogram-to-Enhance-Chest-X-Ray-Image-Senthilkumar/74557cf53787b0794fb3b6c3207010179abe81d4/figure/0

 

2) X-ray 이미지 전처리(preprocessing) 기법들

2-1) HEQ (Histogram EQualization)

몇몇 “Original(원본)" 이미지는 contrast 가 매우 떨어지는 경우가 있습니다. 

즉, 이미지 픽셀이 0~255에 고르게 퍼져있는 게 아니라, 일부분에 몰려있다는 것을 확인할 수 있죠.

아래 그림을 기준으로 설명하면, "Original" 이미지(→(a) 이미지)에 "Histogram Equalization“ 기법을 적용시킬(→(c) 이미지) 때, 이미지의 contrast 가 증가한 것을 확인할 수 있습니다.

 

"Histogram equalization (HEQ) is a digital image processing technique used for contrast enhancement across a number of modalities in radiology."

HEQ에 대한 수식은 아래와 같습니다.

수식에 대한 직관적인 설명은 여기링크를 참고해주세요! 

 

 

(↓↓↓HEQ Open CV 함수↓↓↓)

https://docs.opencv.org/3.4/d4/d1b/tutorial_histogram_equalization.html

 

OpenCV: Histogram Equalization

Prev Tutorial: Affine Transformations Next Tutorial: Histogram Calculation Goal In this tutorial you will learn: What an image histogram is and why it is useful To equalize histograms of images by using the OpenCV function cv::equalizeHist Theory What is a

docs.opencv.org

 

(↓↓↓HEQ pytorch 함수↓↓↓)

https://pytorch.org/vision/stable/transforms.html

 

torchvision.transforms — Torchvision master documentation

torchvision.transforms Transforms are common image transformations. They can be chained together using Compose. Additionally, there is the torchvision.transforms.functional module. Functional transforms give fine-grained control over the transformations. T

pytorch.org

 

 

2-2) AHE (Adaptive Histogram Equalization)

2-3) N-CLAHE (Contrast Limited Adaptive Histogram Equalization)

 

AHE와 N-CLAHE에 대한 설명은 아래 블로그를 참고하시는게 도움이 되실 것 같아, 따로 설명은 하지 않고 관련 링크를 걸어두도록 하겠습니다.

 

https://3months.tistory.com/407

 

Adaptive Histogram Equalization 이란 무엇인가?

Adaptive Histogram Equalization 이란 무엇인가? Adaptive Histogram Equalization (AHE) 이란 이미지 전처리 기법으로 이미지의 contrast 를 늘리는 방법이다. Histogram Equalization (HE) 방법을 조금 더 개..

3months.tistory.com

 

(↓↓↓ Open CV에서 N-CLAHE 사용 예제↓↓↓)

https://docs.opencv.org/master/d5/daf/tutorial_py_histogram_equalization.html

 

OpenCV: Histograms - 2: Histogram Equalization

Goal In this section, We will learn the concepts of histogram equalization and use it to improve the contrast of our images. Theory Consider an image whose pixel values are confined to some specific range of values only. For eg, brighter image will have al

docs.opencv.org

 

 

이미지 출처: https://www.semanticscholar.org/paper/Triad-Histogram-to-Enhance-Chest-X-Ray-Image-Senthilkumar/74557cf53787b0794fb3b6c3207010179abe81d4

 

 

위의 전처리 방식 외에 Contrast, brightness 등 여러 다른 방식들도 같이 사용될 수 있다는 점 알아두세요!

CT 이미지 또한 X-ray 선을 이용한 것이 때문에 X-ray와 비슷한 전처리 기법이 사용된다는 것을 알아두시면 좋을 것 같습니다~

 

 

 

[전처리를 배우고 딥러닝에 적용해본 후기]

위와 같은 전처리 기법을 딥러닝에 적용했을 때, 유의미하게 CNN 성능이 개선되는 것을 확인할 수 있었습니다.

 

다음 글에서 설명하겠지만, 전처리한 이미지를 segmentation 같은 모델에 적용했을 때 눈에 띄게 향상되는 모습들을 빈번하게 살펴볼 수 있었습니다. 

 

딥러닝 모델 자체에 대한 연구도 중요하지만, 의료 이미지를 다루는 영역에서는 전처리 영역에 대한 테크닉을 적절히 구사할 줄 알아야 한다고 생각했습니다. 즉, 전처리를 적절하게 구사해야 딥러닝 모델의 성능향상을 이끌 수 있을거라 생각합니다.

 

(↓↓↓아래 글에 제가 적용했던 사례들이 있으니 확인해보셔도 좋을 것 같습니다↓↓↓)

https://89douner.tistory.com/256

 

 

 

지금까지 간단하게 X-ray, CT 이미지들과 관련 전처리 기법들을 알아봤습니다.

다음 글에서는 MRI, PET, 초음파, 내시경에서 얻어지는 medical imaging들을 알아보도록 하겠습니다~

 

안녕하세요.

이전 글에서는 COVID-19 관련 기본적인 전처리 기법들에 대해서 알아봤습니다.

 

이번 글에서는 제가 개인적으로 필요하다고 생각했던 전처리 기법에 대해 설명하려고 합니다. 

 

참고로 첨부된 이미지들은 Kaggle에서 제공하는 public dataset 입니다

 

 

1. 딥러닝을 위한 X-ray, CT 데이터 정리 필요성

1-1. X-ray

  • 먼저 X-ray 사진들을 보면 대부분 오른쪽 상단 또는 왼쪽 상단에 text 글씨들이 써져 있는 것을 확인할 수 있습니다.
  • 또한, X-ray 촬영시 부착되는 tube들도 보입니다.
  • 이러한 요소들은 사실 artifact에 해당하기 때문에 CNN 모델을 제대로 training 또는 evaluation 하는데 방해가 될 수 있습니다. (데이터가 적다면 해당 artifact가 중요한 특징으로 학습 될 수 도 있기 때문이죠)

  • 실제로 COVID-19을 분류할 때, 어떤 특징을 기반으로 분류하는지 grad-CAM을 통해 알아보면 엉뚱한 artifact를 기반으로 잡는 경우도 볼 수 있습니다. (물론 논문들에 나온 사진들은 보면 대부분 정확히 특징들을 잡아낸 사진들을 figure로 사용하는데, 실제 여러 이미지들을 grad-cam에 적용해보면 아닌 겨우도 많습니다) 

이미지 출처: https://peerj.com/articles/cs-551/
이미지 출처: https://www.medrxiv.org/content/10.1101/2021.02.06.21251271v1.full

 

  • 그런데, 경험상 아이러니 한 부분은 이와 같이 잘 못 특징을 기반으로 분류한다고 하더라도, 실제로는 분류정확도가 꽤 높게 나온다는 것 입니다.
  • 그렇다면, artifact 같은건 상관하지 않고 딥러닝을 그냥 사용하면 될까요? 여기서 한 번 생각해봐야 할 부분이 있습니다.

 

"딥러닝이 올바른 결과를 도출했다고 하더라도 결과에 대한 근거가 잘 못됐을 때,

우리는 딥러닝을 신뢰한다고 할 수 있는가?"

 

"과정이 올바르지 않은데 결과를 신뢰할 수 있는가?"

 

"우리는 딥러닝을 추론과정이 필요없는 주술 같은 존재로 인식해야 하는가?"

 

 

  • 물론 데이터가 많다면 학습과정에서 해당 artifact 가 중요한 특징이 아니라고 학습하겠지만, 제 생각에는 근본적으로 이러한 부분들은 최대한 제거를 해주고 딥러닝 모델을 적용 해야 하지 않나 싶습니다.
  • 예를 들면, 적어도 아래와 같이 lung segmentation을 한 영역에서만 evaluation이 진행되야 하지 않나 싶습니다.

 

이미지 출처: https://www.researchgate.net/figure/Example-lung-segmentations-for-MC-CXRs-Note-the-over-segmentation-in-the-apices-The-CXR_fig6_257599582

 

 

1-2. CT

(↓↓↓CT 및 CT 이미지 배경지식 참고↓↓↓)

https://89douner.tistory.com/257

 

2-1. 2D 영상의료(medical imaging) 이미지란? (Feat. X-ray, CT, 전처리)

안녕하세요. 이번 글에서는 2D 이미지로 사용되는 대표적인 영상이미지인 X-ray와 CT에 대해서 알아보도록 하겠습니다. 먼저, X-ray, CT에 대해 간단히 알아본 후, 2D 영상 이미지에서 사용되는 전처

89douner.tistory.com

 

Chest-CT 경우에는 아래 segmentation 된 부분을 제외한 모든 부위가 artifact라고 보시면 됩니다. 다른 말로하면, 폐(lung) 영역이 아니기 때문에 관심영역 (RoI: Region of Interest)이 아니라고 할 수 있죠.

이미지 출처: https://www.kaggle.com/andrewmvd/covid19-ct-scans

 

Chest-CT의 경우는 Chest X-ray보다 상대적으로 특징 위치를 잘 찾아내지만,

사실 RoI를 제외 한 부분들은 학습될 필요가 없지 않나 싶습니다.

 

물론 CNN 학습을 하면, 해당 모델이 RoI 아닌 영역은 중요 특징이 아니라다라고 학습할 수 있겠죠.

하지만, COVID-19 같이 신종바이러스 케이스인 경우는 데이터 수가 많지 않기 때문에,

만약 COVID-19 이미지들 중에서 우연히 RoI 아닌 영역에서 공통된 artifact들 존재했다면, 

해당 artifact를 중요한 feature라고 학습할 여지가 있습니다.

 

그래서 CXR(Chest-XRay, CT) 등 사실 RoI가 아닌 부위를 training시키고, evaluation 하는 것보다

RoI에 제한적으로 training 및 evaluation을 적용시키는게 합리적인 선택이 아닌가 싶습니다. 

 

개인적으로 "COVID-19 Infected Lung Computed Tomography Segmentation and Supervised Classification Approach"라는 논문에서 제시한 방식의 segmentation 전처리 방식이 COVID-19 진단을 위한 전처리로써 reasonable 하지 않나 싶습니다.

 

 

https://www.techscience.com/cmc/v68n1/41834

(↓↓↓ 위 이미지에 대한 논문↓↓↓)

https://www.techscience.com/cmc/v68n1/41834

 

COVID-19 Infected Lung Computed Tomography Segmentation and Supervised Classification Approach

COVID-19 Infected Lung Computed Tomography Segmentation and Supervised Classification Approach Aqib Ali1,2, Wali Khan Mashwani3, Samreen Naeem2, Muhammad Irfan Uddin4, Wiyada Kumam5, Poom Kumam6,7,*, Hussam Alrabaiah8,9, Farrukh Jamal10, Christophe Chesnea

www.techscience.com

 

 

2. 딥러닝을 이용한 X-ray lung detection and segmentation

 

위와 같은 생각으로 X-ray 데이터에 lung segmentation을 적용해 봤습니다.

 

2-1. Lung detection

먼저, segmentation을 적용하는 대신, detection을 먼저 한 후, 학습을 시키면 어떻게 될지 궁금했습니다.

 

예를 들어 아래와 같이 lung 부분만 detection 해주면 최대한 artifact들을 제거할 수 있을거라 판단했습니다.

 

 

우선 detection을 위한 모델로 YOLO V4를 이용했습니다.

(예전에 치매관련 연구를 했을 때 여러 모델 (Google에서 제공하는 SSD, Faster RCNN 등 + DarkNet 기반 YOLO v2모델) 을 사용해봤는데, 성능이 비슷했습니다. 그래서, 우선 빠르게 테스트 할 수 있는 YOLO V4를 적용해서 학습시켜봤습니다)

 

데이터 셋은 당시 팀원끼리 라벨링을 했습니다.

당시, 얼마큼의 학습 데이터가 필요한지 알아보고 싶어 다양한 학습데이터 수를 구성해서 테스트 해봤습니다.  

 

 

 

아래 그림은, 100개의 데이터로 트레이닝 시킨 모델로 lung detection을 적용시켜 artifact를 제거시킨 이미지 데이터들을 보여줍니다.

 

 

이러한 데이터들(for training dataset, validation dataset)을 기반으로 CNN 분류 (Normal VS Pneumonia VS COVID-19) 를 시도해봤습니다.

 

결과적인 부분을 말씀드리자면, Normal, Pneumonia에서는 분류결과가 큰 차이가 나지 않는데, 오히려 데이터 갯수가 적은 COVID-19 분류 결과가 눈에 띄게 좋게 나왔습니다. 데이터 수가 적으면 적을 수록 안좋아지는게 심해졌는데, 이것을 보고 detection을 통해 전처리 된 이미지는 학습시 overfitting을 유발 할 수 도 있겠다라고 잠정결론을 내렸습니다.

 

(segmentation 전처리된 데이터 셋만으로 학습시킬 때도 위와 같은 현상을 확인 할 수 있었습니다)

 

 

2-2. Lung segmentation

위와 같이 CNN 결과가 좋지 않게 나왔지만, 그럼에도 불구하고 추후연구에서 lung segmentation이 반드시 쓰일거라고 판단했습니다 (Segmenation된 이미지를 기반으로 다른 딥러닝 분류기법들을 사용해볼 수 있으니까요. 분류가 아니더라도 특징 위치를 정확히 찾아주기 위해서는 lung segmentation 기법이 필수적이라 생각하고 있습니다.)

 

그래서, 앞서 적용했던 detection 모델을 잘 이용하면 segmentation 성능은 높여줄 수 있지 않을까? 생각했습니다.

 

예를 들어, 그냥 segmentation 모델을 CXR 데이터에 적용시키는 것보다, 아래와 같이 object detection 모델을 이용해 crop 한 후, 해당 부위만을 segmentation 하는 것이 더 좋은 성능을 이끌어 낼거라 판단했습니다.

 

 

우선 segmentation을 위한 모델 후보군을 아래와 같이 선정했고 테스트해본 결과,

Unet+Varational code 모델이 더 좋았어서, 해당 모델을 사용하기로 했습니다.

 

Unet+Varational code 모델 논문 제목 → "Lung segmentation from chest X-rays using variational data imputation"

이미지 출처: https://deepai.org/publication/lung-segmentation-from-chest-x-rays-using-variational-data-imputation

 

아래 그림에서 왼쪽 사진을 보면 실제 COVID-19 데이터로 주어진 원본 이미지 입니다. (실제 public dataset들을 보니까 "이런 것도 데이터로 쓰나..."싶은 것들이 엄청 많긴 하더라구요;;;)

 

결과만 보셔도 원본이미지에 segmentation을 적용시킨 것보다 detection 전처리를 거친 데이터셋에 segmentation을 적용시키는 것이 훨씬 좋았다는걸 볼 수 있었습니다.

 

 

그외, detection으로 전처리된 이미지를 기반으로 추가실험을 진행했는데요.

해당 데이터에 기존 X-ray 전처리 기법을 적용시키면 segmentation 성능이 더 좋아진다는걸 확인할 수 있었습니다.

 

 

이러한 과정을 통해 들었던 생각은 다음과 같습니다.

  • Segmentation 모델을 자체개발하는 것도 의미가 있습니다. 사실, 학계에서는 독창적이고 이론이 탄탄한 연구가 굉장히 중요하니까요.
  • 하지만, segmentation, CNN 모델 또는 다른 모든 분야의 연구영역을 들여다보면, 베이스가 되는 모델이 나오고 난 후 진행되는 모델링 연구들에서 급격한 성능 향상을 기대하는 것이 힘든 경우가 많습니다 (물론 그렇다고 모델링 연구를 게을리 하자는건 아닙니다)
  • 산업현장에서는 학계의 potential을 믿고 투자를 하지만, 산업현장에서는 즉시 모델 성능을 급격하게 향상시킬 다양한 방법들이 필요한 경우가 많습니다.
  • 그렇기 때문에 딥러닝 학계에서도 다양한 전처리 관련 연구를 동시에 진행하면, 산업계로부터 좋은 반응을 얻지 않을까 라는 생각도 해봤습니다. 

 

 

 

지금까지 딥러닝 모델을 기반으로 한 CXR 전처리 기법들에 대해서 알아봤습니다.

다음 글에서는 본격적으로 COVID-19 연구를 위해 어떤 기법들이 적용됐는지 말씀드리도록 하겠습니다.

COVID-19에 적용한 기본적인 전처리들은 아래 글에서 언급한

Contrast, Brightness, N-CLAHE 등을 사용했습니다.

 

해당 내용은 아래 글을 참고해주세요!

 

https://89douner.tistory.com/257

 

2-1. 2D 영상의료(medical imaging) 이미지란? (Feat. X-ray, CT, 전처리)

안녕하세요. 이번 글에서는 2D 이미지로 사용되는 대표적인 영상이미지인 X-ray와 CT에 대해서 알아보도록 하겠습니다. 먼저, X-ray, CT에 대해 간단히 알아본 후, 2D 영상 이미지에서 사용되는 전처

89douner.tistory.com

 

+ Recent posts