Brain Tumor Segmentation using SegResNet

Nattawadee Lee
3 min readJun 20, 2022

โดย นางสาวณัฐวดี ลีภัทรกิจ จาก ทีม Mysterious Hedgehog

github : https://github.com/Kkingssss/Brain-Tumor-Segmentation/tree/main

ที่ปรึกษาโปรเจค :

1.นพ.ปิยะฤทธิ์ อิทธิชัยวงศ์ ( ทำงานวิจัยด้านปัญญาประดิษฐ์ในภาพถ่ายทางการแพทย์ที่โรงพยาบาลศิริราช และ ปัจจุบันศึกษาต่อปริญญาเอกอยู่ที่ โรงพยาบาล St.Thomas, King’s College London )

2.นายณัฐพล ไตรจักร์วนิช(ทำงานวิจัยด้าน Transformer และ NLP ปัจจุบันศึกษาต่อระดับปริญญาเอกที่ VISTEC)

บทความนี้เป็นส่วนหนึ่งในการประเมินผลการจบการศึกษา โครงการ AI Builder

problem statement

เนื้องอกในสมองเป็นอย่างไร?

เนื้องอกในสมอง (Brain Tumor) เป็นโรคที่เกิดจากเนื้อเยื่อในสมอง หรือเนื้อเยื่อบริเวณใกล้เคียงสมองมีการเจริญเติบโตผิดปกติจนมีผลต่อระบบสมอง และระบบประสาททำให้ร่างกายมีอาการต่าง ๆ ตามมา ซึ่งเนื้องอกที่เจริญผิดปกตินั้นจะไปเบียดเนื้อสมอง และกระทบต่อการทำงานของระบบต่าง ๆ ในร่างกายที่มีสมองเป็นตัวควบคุม โดยเนื้องอกที่เกิดขึ้นในสมองอาจไม่ใช่มะเร็งเสมอไป

ปัจจัยเสี่ยงของเนื้องอกในสมอง

สาเหตุที่ทำให้เกิดเนื้องอกในสมองยังไม่เป็นที่ทราบแน่ชัด แต่เนื้องอกในสมองเกิดได้กับคนทุกวัย

การวินิจฉัยโรคเนื้องอกในสมอง

  1. ตรวจร่างกาย และทำการทดสอบทางประสาทวิทยา
  2. ตรวจหาเนื้องอกในสมองด้วยการสแกนสมอง เช่น การตรวจเอกซเรย์คอมพิวเตอร์ (CT scan) เครื่องตรวจวินิจฉัยโรคด้วยคลื่นแม่เหล็กไฟฟ้า (MRI) หรือเครื่องถ่ายภาพรังสี PET scan
  3. อาจทำการตัดชิ้นเนื้อส่งตรวจวินิจฉัย (Biopsy) หาความผิดปกติของเนื้อเยื่อว่าเป็นเนื้องอกที่อยู่ในขั้นและระดับความรุนแรงใด เป็นเนื้อร้ายหรือไม่ เพื่อวางแผนการรักษาอย่างถูกต้องเหมาะสมต่อไป

โดยการที่จะได้เนื้องอกและปริมาตรของเนื้องอกสมองที่แม่นยำ จะเป็นต้องใช้ผู้เชี่ยวชาญในการระบายสี ภาพสแกนสมอง ซึ่งบางครั้งหากต้องการความแม่นยำสูงอาจต้องใช้มากกว่า 15 นาทีต่อภาพ แล้วจะดีกว่ารึเปล่า ถ้าเรานำเทคโนโลยีมาช่วยแบ่งเบาภาระบุคลากรทางการแพทย์ได้!!!

ตัวอย่างภาพจากการระบายสี ที่มา : https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6975210

เพื่อเป็นการช่วยเหลือการทำงานของบุลคลากรทางการแพทย์ในด้านของเวลาและลดภาระหน้าที่ อีกทั้งยังคงได้ผลลัพธ์ที่มีประสิทธิภาพ จึงขอเสนอ Brain Tumor Segmentation using SegResNet

อะไรคือ SegResNet ?

SegResNet เป็นโมเดลที่เป็น encoder-decoder CNN แบบไม่สมมาตร encoder จะเป็นส่วนที่มี ขนาดใหญ่กว่าเพื่อใช้ในการ สกัดฟีเจอร์ของภาพ และ decoder ขนาดเล็กกว่า เพื่อใช้ในการสร้างภาพกลับและตัดชิ้นส่วน โดยมีการใช้ autoencoder regularization โดย ณ ที่นี้ใช้ VAE เพื่อเพิ่มประสิทธิภาพของโมเดลด้วย

ในส่วนของ Encoder part ใช้ ResNet blocks ที่แต่ละ block ประกอบด้วย two convolutions with normalization and ReLU และ Decoder part จะมีความคล้ายคลึงกับ Encoder แต่จะมีเพียง a single block per each spatial level.

Architecture of an Autoencoder

metrics and baselines

metrics ที่เลือกใช้ ในครั้งนี้คือ Dice coefficient เนื่องจาก ในทางการแพทย์มีการวัด 3 อย่างหลักๆคือ Dice coefficient, average surface distance, and Hausdorff distance แต่ที่นิยมคือการใช้ Dice coefficient เพราะสามารถบ่งบอกความสามารถ ได้ดีที่สุด

ที่มา : https://jinglescode.github.io/2019/11/07/biomedical-image-segmentation-u-net/

ในส่วนของ baselines ได้เลือกใช้ Swin Unet Transformers

อะไรคือ Swin Unet Transformers?

Swin Unet ประกอบด้วย Swin Transformer encoder ซึ่งมีจุดเด่นในการทำ Self-attention โดยจะต้องแบ่งข้อมูลออกเป็นส่วนย่อยๆ เป็นพื้นที่เล็กๆที่มีชื่อว่า patch แล้วจึงนำข้อมูลมาเปรียบเทียบกันเอง และยังมีการเชื่อมต่อกับ CNN-based decoder

Overview of the Swin Unet Transformers architecture. ที่มา : https://paperswithcode.com/paper/swin-unet-unet-like-pure-transformer-for
Overview of the Swin Unet Transformers architecture. ที่มา : https://paperswithcode.com/paper/swin-unet-unet-like-pure-transformer-for

data collection and cleaning

เนื่องจาก Datasetที่ได้มาจากการแข่งขัน Brain Tumor Segmentation (BraTS) challenge 2021 เพื่อให้เป็นการแข่งขันที่มีความยุติธรรม จึงได้สืบค้นและพบว่าส่วนใหญ่ใช้ json file fold 1 ในการแบ่ง Dataset ในการแข่งขันครั้งนี้ จึงได้นำมาใช้เช่นกัน

exploratory data analysis

  • Dataset used was BRATS 2021 dataset,
  • Modality: MRI Size: 1470 3D volumes (1251 Training + 219 Validation)
  • Challenge: RSNA-ASNR-MICCAI Brain Tumor Segmentation (BraTS) Challenge
  • data from mpMRI scans (multiparametric MRI)
  • mpMRI scans describe 1.T1 2.T2 3. FLAIR 4.T1ce
T1-weighted sequences (T1) -> in which anatomy can be demonstrated
T2-weighted sequences (T2) -> which relate to oedema and can be a measure of cellularity
FLAIR sequences (FLAIR) -> to distinguish more subtle oedema
T1 contrast-enhanced sequences (T1ce) -> which distinguish areas with disrupted blood-brain barrier from regions of non-disrupted blood-brain barrier.
segmented manually, yellow = peritumoral edematous/invaded tissue (WT) , blue = necrotic tumor core (TC) and green = GD-enhancing tumor (ED)

modeling, validation, and error analysis

modeling : ได้เลือกใช้ Model 2 ตัว นั่นคือ SegResNet และ Swin Unet Transformers

hyper-parameters with SegResNet :

model = SegResNet( blocks_down=[1, 2, 2, 4],
blocks_up=[1, 1, 1],
init_filters=16,
in_channels=4,
out_channels=3,
dropout_prob=0.2
)

hyper-parameters with Swin Unet Transformers :

model = SwinUnet(img_size=(128,128,128),
in_channels=4,
out_channels=3,
feature_size=48,
use_checkpoint=True
)

validation :

หมายเหตุ : เนื่องจาก Swin Unet Transformers ใช้เวลาในการ Train แต่ละ Epoch ค่อนข้างเยอะ และด้วยข้อจำกัดของเวลาที่มี รวมถึงข้อจำกัดของ GPU จึงสามารถ Train ได้เพียง 70 Epoch โดยหลังจากนี้ หากมีเวลาเพิ่มจะนำไป Train on AWS ค่ะ

error analysis : ประสิทธิภาพของ model มีความคลาดเคลื่อนจากที่คาดการณ์ไว้ โดยได้คาดการณ์ว่า SwinUnet จะมีประสิทธิภาพที่สูงกว่า SegResNet model แต่สาเหตุที่ทำให้เกิดเช่นนี้ คิดว่าน่าจะเป็นเพราะ SegResNet model มีประสิทธิภาพที่เพิ่มขึ้นอย่างรวดเร็วในช่วงแรกและจะเริ่มคงที่ในช่วงหลัง แต่SwinUnet โดยทั่วไปแล้วจะใช้ถึง 600 epochs เลยทีเดียว model จึงจะมีประสิทธิภาพ ซึ่งปัญหาตรงนี้เกิดจากข้อจำกัดของ Google Colab ที่สามารถ train ได้เพียง 70 epochs เท่านั้น

deployment

สามารถดูแบบจำลองได้จาก link นี้ได้เลยค่ะ

https://share.streamlit.io/kkingssss/brain-tumor-segmentation/main/deploy.py

โดยแบบจำลองสามารถ upload file ได้ แล้วจึงรอรับผลทาง Email แต่เนื่องจากข้อจำกัดของ GPU ทำให้ ณ ตอนนี้ยังไม่สามารถที่จะประมวลผลส่งให้ทาง Email ได้ แต่ในอนาคตจะมีการนำไปทดลองใช้ในโรงพยาบาลศิริราช และใช้ GPU ของโรงพยาบาลโดยจะสามารถแก้ข้อจำกัดตรงนี้ได้อย่างแน่นอน

การนำปรับใช้ในอนาคต

จะ train model กับข้อมูลที่ได้จากภาควิชารังสีวิทยาของโรงพยาบาลศิริราช โดยคาดหวังว่าโมเดลชิ้นนี้จะสามารถนำไปใช้ได้จริงในโรงพยาบาลและช่วยแบ่งเบาหน้าที่ของบุคลากรทางการแพทย์ได้

ขอขอบคุณผู้สนับสนุนทุกท่านรวมถึงพี่ ๆ ทุกคนที่คอยช่วยเหลือตลอดการทำงานค่ะ

--

--