1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Công nghệ thông tin: Xây dựng ứng dụng trong việc phân loại hạch ung thư phổi

63 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng ứng dụng trong việc phân loại hạch ung thư phổi
Tác giả Trần Lê Trọng Nhân
Người hướng dẫn PGS.TS Trần Văn Lăng
Trường học Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Công nghệ thông tin
Thể loại Luận văn thạc sĩ
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 63
Dung lượng 26,64 MB

Nội dung

Đã có nhiều nghiên cứu với mục đích xây dựng các hệ thống hỗ trợ chan đoán trên ảnh LDCT Low-dose computed tomography, đặc biệt là các nghiên cứu sử dụng mô hình học sâu CNN Convolutiona

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

XÂY DỰNG ỨNG DỤNG TRONG VIỆC PHÂN LOẠI

HẠCH UNG THƯ PHỎI

CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN

MÃ SÓ: 8480201

+ Người thực hiện: Trần Lê Trọng Nhân

s* Cao học khóa năm: 2020-2022

+ Người hướng dẫn khoa học: PGS.TS Trần Văn Lăng

TRAN LE TRỌNG NHÂN

Trang 2

XÂY DỰNG ỨNG DỤNG TRONG VIỆC PHÂN LOẠI

HẠCH UNG THU PHOI

Chuyên nghành: Công nghệ thông tin

Mã số: 8480201

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHÓA HỌC: PGS.TS TRÀN VĂN LĂNG

TP.Hồ Chí Minh, Năm 2023

Trang 3

LỜI CẢM ƠN

Em xin gửi lời cảm ơn chân thành đến PGS.TS Trần Văn Lăng và các giáo viên trong trường Dai Học Công Nghệ Thông Tin TP.HCM Thay Trần Văn Lăng đã hướng dẫn và quan tâm tận tình đến quá trình thực hiện bài luận văn của em Với sự giảng dạy chuyên

nghiệp từ các thầy cô, em đã tích lũy được rất nhiều kiến thức bổ ích

Em cũng xin cảm ơn BGH trường Đại Học Công Nghệ Thông tin TP.HCM đã tạo ra thư viện rộng rãi với các tài liệu tham khảo hữu ích cho việc hoàn thành bài luận văn.

Tuy nhiên, em nhận thấy bài luận văn còn cần được hoàn thiện và khắc phục những thiếusót Em mong sẽ nhận được sự đồng cảm và góp ý từ PGS.TS Trần Văn Lăng và các thầy

trong trường Đại Học Công Nghệ Thông Tin TP.HCM để bài luận văn của em có thể hoàn thiện hơn.

Em cảm ơn và xin trân trọng gửi lời chào đến thầy PGS.TS Trần Văn Lăng và các thầy

cô.

TP H Chí Minh, Ngày 24 tháng 02 năm 2023

Trang 4

LOT CAM DOAN

Em xin cam đoan đề tài luận văn “KAY DUNG UNG DUNG TRONG VIỆCPHAN LOẠI HACH UNG THU PHÔI” là công trình nghiên cứu độc lập của banthân Các số liệu, kết quả trình bày trong luận văn này là trung thực Những tài liệu,công cụ được sử dụng trong luận văn đều có nguồn gốc và trích dẫn rõ ràng Nếu

không đúng sự thật em xin chịu hoàn toàn trách nhiệm.

Tác giả

Tran Lê Trọng Nhân

Trang 5

CHƯƠNG 1: TONG QUAN 5:-22222222222222222221112222211112221111 1x re 41.1 GIỚI THIỆU

1.2 MỤC TIÊU DE TÀI

1.3 PHAM VI VÀ DOI TƯỢNG NGHIÊN CỨU

1.4 NỘI DUNG NGHIÊN CỨU 1.5 PHƯƠNG PHÁP NGHIÊN CỨU -¿22+++22+++z+222vvzzzcrrx 61.6 KHÓ KHAN VÀ THÁCH THỨC - -¿-2+z222vvv+vvzvvvvrzrrrevee 6

17 HƯỚNG GIẢI QUYÉT

CHƯƠNG 2: CƠ SỞ LÝ THUYÉT

2.1 GIỚI THIỆU VE DEEP LEARNING :c¿¿22222vvcvccrrrrrrrrvev 92.2 LICH SỬ HÌNH THÀNH - 22-22 S++2EkE2EEEEEEEEEEESEEEEEEkrrrkerrkee 102.3 MỘT SO MÔ HÌNH DEEP LEARNING -¿-222z+22xzezczxecrrs 102.3.1 Mô hình mạng Neural truyền thắng (Feedforward Neural Network —

FNN) 10

2.3.2 Mô hình mang Neural hồi quy (Recurrent Neural Network — RNN) 11

2.3.3, Mô hình Transformer cccccescsessesssesesessesesssessesenessseseenenessseenesenesees 12

2.3.4 Mô hình mạng sinh đối nghich c ccccccsssessssessssesssseecssseccsseeessseesssees 14

2.3.5 Convolutional Neural Network (CNN) cẶĂScseeeeirey

2.3.6 Giới thiệu 3D — Convolutional Neural Network(3D-CNN)

2.3.6.1 Lớp chuyển đổi (Convolutional Layer)

2.3.6.2 Lớp gdp (Maxpooling Layer) ccsecsessesesesesesseessseseseenesssssesesesees

2.3.6.3 Lớp được kết nói day đủ (Fully- Connected Layer) 25

Trang 6

2.4 MOT SO THƯ VIEN VÀ THUẬT TOÁN SỬ DUNG TRONG MÔ HÌNH

25

2.4.1 Thư viện Te€ISOTÍÏOW óc x19 ng ng gu rưy 25

2.4.1.1 Giới thiệu về Tensorflow

2.4.1.2 Kiến trúc của Tensorflow

2.4.1.3 Uu điển của Tensorflow

2.4.1.4 Các Component của Tensorflow 5-5555+5+5<5+S++x+++ 27 2.4.2 Thư viện Keras

2.4.2.1 Giới thiệu về Keras

D1 NT (ổn na

PM nô ái 2.4.4 Thư viện SimpleITK

2.4.5 Dicom và Pydicom “ 2.4.6 Thư viện OpenCV (CV2) tràn 33 2.4.7 Thư viện TKiTICT - - tt St SE #kEEkErxekekekekrkrkrrrrkrkerke 2.4.8 Thuật toán Gradient Descent

2.5 TONG KET CHƯƠNG 2

CHƯƠNG 3: HE THONG DE XUẤT

3.1 Áp dụng mang 3D- CNN phân loại hạch ung thư phổi

3.2 Xây dựng sơ đồ tông quan giải quyết bài toán phân loại hạch ung thư 39

3.3 Trực quan hóa dữ liệu

CHƯƠNG 4: CÀI ĐẶT THỰC NGHIỆM VÀ ĐÁNH GI

4.I Môi trường cài Gat scsc.scscscssssssesersssssssesessesssssesessssssasoosssssssssensnsssscssesssssees 47

4.1.2.1 Iupyter Notebook Error! Bookmark not defined.

4.1.2.2 Jupyter Notebook gồm có 2 phần chinh:Error! Bookmark not

Trang 7

CHƯƠNG 5 KET LUẬN VÀ HƯỚNG PHAT TRIẺN -2¿- 5z se s2 50Kết luận:

Hướng phat trién:

TAI LIEU THAM KHAO

Trang 8

MỤC LUC HÌNH

Hình 2 1 Sự khác biệt giữa AI, MC, DL si)

Hình 2 2 Lịch sử hình thành của Học Sa

Hình 2 3 Mô hình mạng Neural truyền thắng

Hình 2 4 Mô hình mạng Neural hồi quy (RNN)

Hình 2 5 Kiến trúc Transformer

Hình 2 6 Kiến trúc GAN

Hình 2 7 Sơ đồ mô phỏng CNN -2¿-222¿2222+222EE2222E1222122211222212 22x 15Hình 2 8 Quá trình huấn luyện của CNN sscscsssssssscsssseesesssseecsssseccessieseessseeeeess 17

Hình 2 9 Quy trình chính của thuật toán CNN ¿ 55 5+ scc+c+xsxsxsree 21

Hình 2 10 Hình anh ví dụ kiến trúc 3D- CNN để phân loại ung thư phổi ¬— - 22Hình 2 11 Lớp chuyền đồi 2D Convolution cc.cccccsssssssssessssessssessssessssesssseesense 22Hình 2 12 Lớp chuyển đồi 3D Convolution -z2z222sz22s+z+2zszzzzss+ 23

Hình 2 13 Lớp gop 2D MaxPOOl - c3 *E#vEevekekekerrrrrrrrerrkrrke 24

Hình 2 14 Lớp gop 3D MaxPool -+:++2222222222222222222EEttrrrrrrrrrrvrrrrkr 25

Hình 2 15 Chuyển đồi 1 số nguyên sang Tensor -¿-z©c5z22sz2cs++ 27Hình 2 16 Sơ đồ của đồ thị tính toán đã xây dựng trong TensorFlow 28Hình 2 17 Quy trình làm việc X quang điển hình [Tín dụng hình ảnh] 31Hình 2 18 Các phần của DICOM [Tin dụng hình ảnh] - - -: - 32

Hình 2 19 Thuật toán Gradient DesC€nI -¿- ¿+ + + *+£*+vEex+eeeeeexeesevee 35

Hình 2 33 Mô phỏng phục hồi hình ảnh tạo mảng phổi 2:- 52 44

Hinl

Hin

3 1 Mô tả xác định vị trí chính xác của hạch ung thư ở vi trí nào trong phổi 38

h 3 2 Phía bên trái thuộc lớp 1(có hạch ung thư phổi), phía bên phải thuộc lớpO(khOng c6 hach ung thu phOi) NA“ -4-1

Hinl 3 3 So đồ tổng quan bài toán phân loại hạch ung thư -.-: : 39

Trang 9

3 4 Sơ đồ chỉ tiết x00) ooceececcccceccsssssessssesssseesssssessssesssssessssessssecesssesssseesssseesese 40

3 5 Năm dong đầu của dữ liệu - ¿ 222222c222vvvrrtEEtvrrrerrrkrrrrrrrrvee 41

3 6 Biểu đồ tỉ trọng giữa ung thư lành tính va ác tinh - 4I

3 7 Gán nhãn ung thư

3 8 Biểu dé bánh phân bé giữa ung thư lành tính va ác tính - 42

3 9 Số lượng bệnh nhân ung thư .:-2¿22+++22+++222++vtzvxretzvrrersez 42

Hình 4 1 Logo ngôn ngữ Python Error! Bookmark not defined Hình 4 2 Logo Jupyter Notebook - - Error! Bookmark not defined Hình 4 3 Logo Colab -. -c s<++++++ Error! Bookmark not defined.

Hình 4 4 Kết qua train model 3D - CNN ::- ¿+222++222+++2zx+z+rzxrszrsee 49

Trang 10

Convolutional Neural Network

Non small cell lung cancer Small cell lung cancer

Multi-layer Perceptron

Artificial Neural Network

Computed Tomography Scan Magnetic Resonance Imaging

Support Vector Machine Graphics Processing Unit

Digital Imaging and Commuications in Medicine

Ung thư phổi không tế bào nhỏ

Ung thư phổi tế bào nhỏ

Perceptron nhiều lớp

Mạng Neural nhân tạo

Chụp cắt lớp vi tính

Chụp cộng hưởng từ Máy vector hổ trợ

Bộ xử lý

“Tiêu chuẩn ảnh số và truyền thông trong y tế.

Chụp cắt lớp vi tính phổi liều thấp

Trang 11

MỞ ĐẦU

Theo Tổ chức ung thư thế giới, ung thư phổi tại Việt Nam hiện xếp vị trí56/185 quốc gia và vùng lãnh thổ về ung thư, với tỉ lệ 21,7 người mắc/100.000 dân.Năm 2018, Việt Nam ghi nhận khoảng 40.000 ca mắc mới và gần 21.000 ca tửvong Tỉ lệ tử vong khi mắc ung thư phổi ở nước ta lớn do hầu như bệnh nhân đềuđến bệnh viện ở những giai đoạn quá trễ, điều trị gặp nhiều khó khăn nên tạo ragánh nặng tài chính rất lớn cho bệnh nhân và gia đình Ung thư phổi được xếp vàonhóm khó chân đoán và điều trị khó khăn Vì vậy nghiên cứu về ung thư phổi nótrở thành 1 vấn đề quan trọng, quen thuộc với nhiều bài báo và tạp chí chuyên

ngành.

Theo như các nghiên cứ, nam giới có nguy cơ mắc ung thư phổi cao hơnnhiều so với nữ vì thói quen thường xuyên hút thuốc lá Những người hút thuốc cónguy cơ bị ung thư phối cao hơn rất nhiều lần so với người không hút 90% bệnhnhân ung thư phổi có hút thuốc lá Điều quan trong là người hít phải khói thuốc thụđộng cũng chịu tác hại không kém, thậm chí đứng xa 10m cũng vẫn bị chịu ảnhhưởng Nghiên cứu của WHO cho thay, khói tỏa ra từ đầu điều thuốc đang cháychứa chất độc nhiều gap 21 lần so với khói thuốc thở ra Hiện Việt Nam nằm trongnhóm những quốc gia có tỉ lệ hút thuốc lá cao nhất thế giới với 22.5% người trưởngthành sử dụng thuốc lá, tương đương hơn 21 triệu người, ngoài ra tỉ lệ hút thuốc thụđộng trong nhà là hơn 53% Tỉ lệ này ở nơi làm việc là gần 37%, trường học là

16%.

Đã có nhiều nghiên cứu với mục đích xây dựng các hệ thống hỗ trợ chan đoán

trên ảnh LDCT (Low-dose computed tomography), đặc biệt là các nghiên cứu sử

dụng mô hình học sâu CNN (Convolutional Neural Network) đang đem lại nhiềukết quả tích cực trong hỗ trợ phát hiện và chuẩn đoán bệnh tuy nhiên còn có khókhăn trong khi chẩn đoán các dấu hiệu ung thư thông qua quan sát ảnh chụp cắt lớp

vi tính liều thap(LDCT) phổi của bệnh nhân, một bác sĩ X-quang sẽ dựa trên các

Trang 12

tiêu chân về dấu hiệu của một tồn thương trên ảnh phổi bao gồm: kích thước, tínhchất, sự hình thành gai và vị trí xuất hiện Việc này đòi hỏi tiêu tốn nhiều chỉ phí cả

về thời gian và tiền bạc của bác sĩ và bệnh nhân Bởi vì hình đáng và kết cấu củamột tổn thương phổi có được xem như là một hạch ung thư hay không là rất đadạng và khó xác định đối với bác sĩ chân đoán (Siegel, 2019)

Trong các nghiên cứu gần đây, các mô hình học sâu “deep learning” đangđược nhiều quan tâm và áp dụng đối với các nghiên cứu liên quan đến bài toán nốtsan phổi Kết quả mang đến của các phương pháp này tương đối khả quan, khidùng mô hình này có thé tự trích xuất các đặc trưng từ tập dữ liệu mà không phụthuộc nhiều vào người trích xuất đặc trưng thủ công Đặc biệt, mô hình có thể họcđược các đặc trưng tổng quát hơn mà con người không nhận ra hoặc rất khó có théphân biệt được, các kết quả áp dụng vào bài toán phân loại nốt sần phổi cũng đãcho ra các kết quả tốt Trong đó, Chen và các cộng sự đã đề xuất áp dụng mô hìnhmạng neural kết hợp cho bộ phân lớp với 3 đối tượng: lành tính, không chắc chắn

và có thể ác tính, mô hình áp dụng xử lý trên từng lát cắt của ảnh chụp cắt lớp với

độ chính xác là 94,4 % (Cheng, 2016).

Hussein và đồng sự đề xuất mô hình mạng Multi-View CNN sử dụng nhiềulát cắt từ ảnh chụp CT kết hợp, đầu ra của mô hình sử dụng Gaussian process đề

đánh giá, phân loại hạch ác tính với độ chính xác đạt được 82,47% (Hussein, 2017).

Một hướng nghiên cứu khác, với đữ liệu đầu vào là một khối 3D trích xuất

từ ảnh CT cũng đạt kết quả cao mà Dey và đồng sự đề xuất sử dụng mô hình 3DDense Net kết hợp với Multi - Output network với độ chính xác đạt được là

90,4% (Dey, 2018).

Một mô hình kiến trúc học bán giám sát GAN được Dhamodhran và cộng sựnghiên cứu nhằm cải thiện phát hiện nót san ung thư phổi được thực nghiệm trên 2

bộ data LƯNA16 và DSB3 đạt kết qua khả quan với độ chính xác từ 64 đến 87.3%

(Dhamodhran, Siddharth R Koti, Vijay M Mundaragi, 2018).

Trang 13

Trong các nghiên cứu (Cheng, 2016), (Hussein, 2017), (Dey, 2018) việc sử

dụng các mô hình học sâu sử dụng kiến trúc của mang CNN và được thiết kết chokiến trúc đầu vào 3D đối với bài toán phân loại hạch ung thư phổi là xu hướng vớikhả năng trích xuất đặc trưng tốt và bảo toàn cấu trúc 3 chiều của dữ liệu Kết quảđạt được khả quan, hướng tiếp cận này mang nhiều kì vọng phát triển đồng thờicũng mang những ý nghĩa trong việc áp dụng, đánh giá đối với việc phát hiện, chân

đoán lâm sàng

Ung thư phổi được xếp vào nhóm khó chân đoán và điều trị khó khăn Vì vậynghiên cứu về hạch ung thư phổi đã trở thành 1 vấn đề quan trọng, quen thuộc vớinhiều bài báo và tạp chí chuyên ngành

Với những lý do trên, tôi đã chọn đề tài “XÂY DỰNG UNG DUNG TRONGVIỆC PHÂN LOẠI HẠCH UNG THƯ PHÔI” bằng phương pháp nghiên cứu vàxây dựng mô hình phân loại hạch ung thư phổi trên thuật toán 2D — CNN và 3D —CNN nhằm đưa ra các đánh giá về mô hình học sâu trong lĩnh vực chuẩn đoán hạchung thư phổi làm đề tài luận văn của mình

Nội dung bài luận văn gồm: 5 chương

Chương 1 Giới thiệu về bài toán đặt ra, hướng tiếp cận, khó khăn, thách thức vàhướng giải quyết

Chương 2 Trinh bày một số van đề phương pháp, dữ liệu liên quan đến dé tài như

3D- Convolutional Neural Network, bộ dữ liệu ảnh CT về ung thư phổi; các loại

hạch ung thư phổi

Chương 3 Trình bày hồ sơ phân tích và thiết kế để xây dựng ứng dụng phân loạihạch ung thư phổi từ anh CT của người bệnh ung thư phổi

Chương 4 Giới thiệu giao diện ứng dụng, các kết quả kiểm chứng (validation) về

độ chính xác trên bộ dữ liệu thử nghiệm, kết quả đánh giá độ chính xác trên bộ dữliệu kiểm tra (testing)

Trang 15

thường ở một hoặc cả hai phổi, thường là các tế bào thuộc lớp niêm mạc của đườngthở Những tế bào bất thường này không phát triển thành mô phổi khỏe mạnh màphân chia nhanh chóng và hình thành các u gây cản trở chức năng phổi.

Có 2 loại ung thư phổi chính:

— Ung thư phổi không tế bào nhỏ (NSCLC)

— Ung thư phổi tế bao nhỏ (SCLC): rất ác tinh và hau như luôn luôn xuất hiện

ở những người hút thuốc lá

Bệnh ung thư phổi là căn bệnh có tỉ lệ tử vong cao ở tất cả mọi giới và mọi

lứa tuổi, căn bệnh ảnh hưởng đến khoảng 225.000 người mỗi năm và chiếm khoảng

12 ty chi phi chăm sóc sức khỏe giai đoạn cuối, việc chan đoán để sàng lọc bệnhbằng anh cắt lớp (CT) là biện pháp tiềm năng có thể giảm tỉ lệ tử vong Hau hết,những người bị ung thư phổi giai đoạn đầu không biéu hiện bat kỳ triệu chứng lâmsàng nao Bệnh nhân chỉ bắt đầu xuất hiện các triệu chứng khi ung thư phôi đã pháttriển đầy đủ Do đó, việc phát hiện sớm là rất quan trọng đối với khả năng sống sótcủa bệnh ung thư phôi, đồng thời có thể nâng cao hiệu quả điều trị và tăng cơ hộisống sót cho bệnh nhân

Nhưng quá trình chân đoán bệnh thường tốn khá nhiều thời gian, công sứccủa bác sỹ và bệnh nhân Vì vậy việc nghiên cứu, xây dựng một hệ thống hỗ trợchan đoán hạch ung thư tự động là cần thiết và đã có nhiều cách tiếp cận được sửdụng cho bài toán phân loại bệnh nên tôi chọn đề tài này cho hướng nghiên cứu của

mình.

1.2.MỤC TIÊU DE TÀI

- Xây dựng ứng dụng phân loại hạch ung thư phổi dựa trên ảnh CT của bệnh

nhân bị ung thư phổi

-_ Nghiên cứu sử dụng mạng 3D CNN để phân loại hạch ung thư

Trang 16

- Phương pháp phân loại nhị phân cho các loại ung thư và sử dụng các thư

viện Keras và tensorflow đề hỗ trợ tạo mô hình học sâu

1.3.PHẠM VI VÀ ĐÓI TƯỢNG NGHIÊN CỨU

Phạm vi nghiên cứu: Ảnh chụp cắt lớp vi tính (CT) về ung thư phổi

- Đối tượng nghiên cứu: Phương pháp và kỹ thuật liên quan đến DeepLearning, bộ dữ liệu mẫu ảnh CT phổi DSB3, các loại hạch ung thư phỏi hiện có.1.4.NOI DUNG NGHIÊN CỨU

Phân tích bộ dữ liệu mẫu ảnh CT phổi DSB3

Tim hiểu về các loại hạch ung thư phỏi, qua đó sử dụng dé phân loại

~_ Tìm hiểu 3D- Convolutional Neural Network ứng dụng cho ảnh CT

-_ Thiết kế kiến trúc mạng 3D-CNN

-_ Xây dựng ứng dụng phân loại hạch ung thư phổi

- Thu thập dữ liệu thực tế về ảnh CT ung thư phổi để kiếm chứng tính đúngđắn của ứng dụng

1.5.PHƯƠNG PHÁP NGHIÊN CỨU

Để nghiên cứu và tìm hiểu một cách chỉ tiết, chính xác những tri thức khoa

học trong phạm vi luận văn, đã sử dụng các phương pháp nghiên cứu sau :

— Phương pháp chuyên gia: Học tập, trao đôi, đặt câu hỏi với các chuyên gia

về những vấn đề khó khăn mình gặp phải hoặc chưa rõ hướng giải quyết

- Phương pháp nghiên cứu tài liệu: Phân tích, tổng hợp các bai báo khoa học

có liên quan đến khóa luận, nghiên cứu, học hỏi thêm từ các tài liệu chuyên ngành

- Phương pháp thực nghiệm khoa học.

-_ Phương pháp thực nghiệm, thống kê

1.6.KHÓ KHĂN VÀ THÁCH THỨC

Hiện nay sử dụng mạng nơron tích chập (Convolutional Neural Network

-CNN) đang mang lại nhiều kết quả tốt Tuy nhiên, có hai vấn đề khi sử dụng mô

hình deep learning trên dữ liệu ảnh 3D.

Trang 17

-_ Thứ nhất, dữ liệu đầu vào thông thường là ảnh 2D, nên sẽ làm mắt mát một

số đặc trưng có giá trị của dữ liệu do ảnh chụp cắt lớp có cấu trúc 3D

-_ Thứ hai, trong lĩnh vực y tế, các bộ dữ liệu thường có số lượng tương đốinhỏ, trong khi đề có thể huấn luyện mô hình đeep learning thì cần dữ liệu rất lớn.Khi chan đoán các dấu hiệu ung thư thông qua quan sát ảnh chụp cắt lớp vi tinhliều thấp (LDCT) phổi của bệnh nhân, một bác sĩ X-quang sẽ dựa trên các tiêu chân

về dấu hiệu của một tổn thương trên ảnh phổi bao gồm: kích thước, tính chất, sựhình thành gai và vị trí xuất hiện Việc này đòi hỏi tiêu tốn nhiều chi phí cả về thoigian và tiền bac của bác sĩ và bệnh nhân Bởi vì hình dang và kết cấu của một tồnthương phổi có được xem như là một hạch ung thư hay không là rất da dạng và khóxác định đối với bác sĩ chân đoán

Ngoài ra, sự giống nhau của các dấu hiệu tại một vị trí quan sát nhằm xácđịnh đó là ung thư hay không ung thư cũng ảnh hưởng rất nhiều và làm giảm hiệuquả của việc chan đoán sớm Đã có nhiều nghiên cứu với mục đích xây dựng các hệthống hỗ trợ chan đoán trên ảnh LDCT, đặc biệt là các nghiên cứu sử dụng mô hìnhdeep learning CNN đang đem lại nhiều kết quả tích cực trong phát hiện và chấn

đoán bệnh Nhưng, các mô hình học sâu thường phụ thuộc vào các bộ dit liệu lớn

và có độ tin cậy cao đối với sự chính xác trong các nhãn được gán bởi bác sĩ Vìvậy, các bộ đữ liệu lớn và công khai mang một ý nghĩa rất lớn trong các nghiên

cứu.

Do đó, việc tìm kiếm và sử dụng bộ đữ liệu thích hợp cho việc phát triển hệthống hỗ trợ chân đoán bệnh là một trong những yếu tố tiên quyét

Trang 18

1.7 HUONG GIẢI QUYET

Chúng ta có 3 vấn dé chính cần giải quyết liên quan đến hạch phổi là:

~_ Phát hiện (detection)

— Phân nhóm, phân đoạn (segmentation)

- Phân loại (classification).

Trong đó, detection có mục đích xác định chính xác hạch ở vị trí nào bên

trong phổi Segmentation mục dich là phát hiện các đối tượng phân đoạn phạm vicủa hạch trên ảnh chụp cắt lớp (ảnh CT) và classification xác định chính xác hạch

là lành tính hay ác tính hoặc có hay không có dấu hiệu của hạch ung thư Bài toánđược thực hiện trong nghiên cứu này là bài toán phân loại (classification), nhằm

xác định xem vi trí được chỉ định thuộc hạch lành tính hay ác tinh

Trước đây, các hệ thông phân loại hạch phổi thường sử dụng phương pháptrích xuất đặc trưng phân biệt dựa trên cấu trúc hình học về kích thước, tính chất,

sự hình thành gai, tính tăng trưởng và vị trí xuất hiện Các thuộc tính được tríchxuất sẽ được đưa vào các thuật toán máy học để phân loại và đánh giá tính hiệu quả

của mô hình thông qua độ chính xác, tốc độ và mức độ tự động hóa của hệ thống.

Trong đó, công việc trích xuất các đặc trưng là tương đối thủ công, phụ thuộc khánhiều vào người trích xuất Do đó, nếu cần cải tiến, nâng cấp hệ thống thì chúng ta

sẽ gặp khá nhiều khó khăn và bị giới hạn Gần đây, các mô hình học sâu “deeplearning” đang được nhiều sự chú ý và áp dụng đối với các nghiên cứu liên quanđến bài toán nốt san phổi Hiệu quả mang đến của các phương pháp này tương đốikhả quan, khi ding mô hình này có thé tự trích xuất các đặc trưng từ tap đữ liệu màkhông phụ thuộc nhiều vào người trích xuất đặc trưng thủ công Đặc biệt, mô hình

có thé học được các đặc trưng tổng quát hơn mà con người không nhận ra hay khó

có thể phân biệt được, kết quả áp dụng vào bài toán phân loại nót san phổi cũng đãcho ra các kết quả khả quan

Trang 19

CHUONG 2: CƠ SỞ LÝ THUYET

2.1 GIÓI THIỆU VE DEEP LEARNING

Ngày nay, AI và ML luôn hiện diện trong mọi lĩnh vực của đời sống con

người, kinh tế, giáo dục, y khoa cho đến những công việc nhà, giải trí hoặc thậm

chí là trong quân sự Những ứng dụng nổi bật của phát triển AI đến từ nhiều lĩnhvực đề giải quyết nhiều vấn đề khác nhau Nhưng những đột phá phần nhiều đến từDeep Learning, mảng nhỏ đang được mở rộng dần đến từng loại công việc trongcuộc sống, từ đơn giản đến phức tạp

Deep learning là một tập con của học máy , về cơ bản mà nói deep learning làmột mạng nơ-ron có ba lớp trở lên Những mạng lưới thần kinh này cé gắng mô

phỏng hành vi của não người, cho phép nó “học” từ một lượng lớn dữ liệu Mặc dù

mạng nơ-ron với một lớp duy nhất vẫn có thê đưa ra các kết quả dự đoán gần đúng,

nhưng các lớp ẩn bổ sung có thé giúp tối ưu hóa và tỉnh chỉnh dé có độ chính xác

Trang 20

là một số mô hình học sâu:

2.3.1.Mô hình mạng Neural truyền thang (Feedforward Neural Network — FNN)

Mang noron truyền thăng (Feedforward Neural Network) là một mang thầnkinh nhân tao trong đó nó kết nối giữa các nút không hình thành một chu trình, làloại mạng thần kinh nhân tạo đầu tiên và đơn giản nhất được phát minh ra

Mang này thông tin di chuyển chỉ một chiều hướng đến các nút đầu vào,thông qua các nút ân (nếu có) và đi đến các nút đầu ra Không có chu trình (chu kỳ)

hoặc vòng lặp trong mạng.

Trang 21

Input Layer Hidden Layer Output Layer

FO

SO

Hinh 2 3 M6 hinh mang Neural truyén thang

(Nguôn ảnh: hitps:/vankhangfet github io/2018-11-05-Neural-Net/ )

2.3.2.Mô hình mang Neural hồi quy (Recurrent Neural Network — RNN)

Mang neural hoi quy (Recurrent Neural Network) là một mang neural chứa

một vòng lặp bên trong nó.

Với một mạng nơron hoi quy, dau ra của noron nay sẽ được sử dụng để làm

đầu vào của nơron tiếp theo và đối với noron đầu tiên không có noron nào trước nóthì đầu vào này sẽ được khởi tạo mặc định

Trang 22

Trong hình trên, RNN là mang neural hồi quy Nó nhận một đầu vào input ,tiến hành xử lý và đưa ra đầu ra output Điểm đặc biệt của input là nó sẽ lưu lại giá

trị của output để sử dụng cho đầu vào tiếp theo Có thể coi một mạng neural hồi

quy là một chuỗi những mạng con giống hệt nhau, mỗi mạng sẽ truyền thông tin nó

vừa xử lý cho mạng phía sau.

Chuỗi các input là những sự kiện xảy ra theo thứ tự thời gian Những sự kiệnnày đều có mối liên hệ thông tin với nhau và thông tin của chúng sẽ được giữ lại dé

xử lý sự kiện tiếp theo trong mạng neural hồi quy Với tính chất này, mạng neuralhồi quy phủ hợp cho những bài toán với dữ liệu đầu vào dưới dạng chuỗi với các sựkiện trong chuỗi có mi liên hệ với nhau Vì thế, mang neural hồi quy có ứng dung

quan trọng cho các bài toán xử lý ngôn ngữ tự nhiên như: Dịch máy - Neural Machine Translation, Phân loại ngữ nghĩa - Semantic classification, Nhận dạng giọng nói: Speech Recognition

2.3.3.Mô hình Transformer

Mô hình Transformer giống như các mạng hồi quy, các Transformer đượcthiết kế dé xử lý dé liệu tuần tự, chủ yếu dùng ở lĩnh vực xử lý ngôn ngữ tự nhiên.Tuy nhiên, các Transforman không yêu cau dé liệu tuần tự được xử lý theo thứtự.Tức là không cần xử lý phần đầu câu trước rồi tới phần cuối câu

Trang 23

Các encoder này đều rất giống nhau và có cùng kiến trúc Mỗi encoder chứa hailớp: Self-attention và mạng truyền thắng (FNN).Các decorder khá giống vớiencoder nhưng có thêm khối Masked multi-head attention ở vị trí dau tiên.

Encoder dùng để học vector biểu của câu với mong muốn rằng vector này mang

thông tin hoàn hảo của câu đó.

v Input Embedding: Chuyén các đữ liệu vào thành vector, ma tran, số

Y Positional Encoding: Giúp mô hình biết được thông tin của các token đầu

vào.

Trang 24

v Self-attention: giúp encoder nhìn vào các từ khác trong lúc mã hóa một từ

cụ thể Các decoder cũng có kiến trúc giống như vậy nhưng giữa chúng có một lớpattention dé nó có thé tập trung vào các phan liên quan của đầu vào

2.3.4.Mô hình mạng sinh đối nghịch

Mạng sinh đối nghịch (Generative Adversarial Networks- GAN ) là lớp các

mô hình sinh mà kiến trúc của nó sử dung mạng noron nhân tạo Kiến trac GANđầu tiên được mô tả trong bài báo khoa học năm 2014 do nhóm của lan

Goodfellow giới thiệu có tên “Generative Adversarial Networks.”

Kiến trúc của GAN bao gồm hai thành phần nhỏ là một mô hình sinh để sinh

ra ví dụ mới và một mô hình phân biệt để xác định các thực thé là giả (được tạo rabởi mô hình sinh) hay là một thực thê thật

Discriminative network (mang phân biệt): có nhiệm vụ có gắng phân biệt

giữa data thật và data giả mạo do Generative tạo ra.

Generative network (mạng sinh): sinh ra data giả, và mục tiêu là làm sao cho

sinh ra được các data giống với thật nhất, làm Discriminator không thể phân biệtnồi Các sample được sinh dựa trên các latent code (mã ngầm)

Realimages —>| Sample ssol 1O}EU|U12SI

Trang 25

Nhãn của mô hình sẽ là thật nếu anh đầu vào của Discriminator được lấy tậpmẫu huấn luyện và gid nếu được lấy từ output của mô hình Generator Về bản chấtđây là một bài toán phân loại nhị phân (binary classification) thông thường Để tínhphân phối xác suất cho output cho Discriminator chúng ta sử dung hàm sigmoid

2.3.5.Convolutional Neural Network (CNN)

2.3.5.1 Khái niệm về CNN

Là một trong những mô hình Deep Learning vô cùng tiên tiến CNN sẽ chophép xây dựng các hệ thống thông minh với độ chính xác vô cùng cao Mạng CNNđược thiết kế với mục đích xử lý dữ liệu thông qua nhiều lớp mang và duỗi dữ liệu

từ nhiều chiều thành một chiều để giảm độ phức tạp của đữ liệu, từ đó thông qua

các công thức tính sai số trung bình đưa ra đánh giá độ chính xác (Groups Tini,

2022).

Hình 2 7 Sơ đồ mô phỏng CNN2.3.5.2 Câu trúc của CNN

Một mạng nơ-ron tích tụ bao gồm một lớp đầu vào, các lớp an và một lớpđầu ra Trong bat kỳ mạng noron chuyền tiếp nào, bat kỳ lớp giữa nào được gọi là

ấn vì các đầu vào và đầu ra của chúng bị che bởi hàm kích hoạt và tích chap cuốicùng Trong một mạng noron tích chập, các lớp dn bao gồm các lớp thực hiện cácphép chập Thông thường, điều này bao gồm một lớp thực hiện tích điểm của nhân

Trang 26

chập với ma trận đầu vào của lớp Sản phẩm này thường là sản phẩm bên trong

Frobenius và chức năng kích hoạt của nó thường là ReLU Khi hạt nhân tích chập

trượt dọc theo ma trận đầu vào cho lớp, phép toán tích chập tạo ra một bản đồ đặctrưng, bản đồ này sẽ đóng góp vào đầu vào của lớp tiếp theo Tiếp theo là các lớpkhác như lớp gộp, lớp được kết nối đầy đủ và lớp chuẩn hóa

Mạng CNN gồm nhiều lớp Convolution chồng lên nhau, sử dụng các hàmnonlinear activation như ReLU và tanh để kích hoạt các trọng số trong các node.Mỗi một lớp sau khi thông qua các hàm kích hoạt sẽ tạo ra các thông tin trừu tượnghơn cho các lớp tiếp theo Trong mô hình mạng truyền ngược (feedforward neuralnetwork) thì mỗi neural đầu vào (input node) cho mỗi neural đầu ra trong các lớptiếp theo Mô hình này gọi là mạng kết nói đầy đủ (fully connected layer) hay mạngtoàn vẹn (affine layer) Layer tiếp theo là kết quả convolution từ layer trước đó,nhờ vậy mà ta có được các kết nối cục bộ Như vậy mỗi neuron ở lớp kế tiếp sinh

ra từ kết quả của filter áp đặt lên một vùng ảnh cục bộ của neuron trước đó

Trong quá trình huấn luyện mạng (traning) CNN tự động học các giá trị qua

các lớp filter dựa vào cách thức mà bạn thực hiện.

Có 2 điều cần quan tâm ở mô hình CNN là tính bất biến (LocationInvariance) và tính kết hợp (Compositionality) Với cùng một đối tượng, nếu đốitượng này được chiếu theo các gốc độ khác nhau (translation, rotation, scaling) thì

độ chính xác của thuật toán sẽ bị ảnh hưởng đáng kể

Đối với phép dịch chuyển (translation), phép quay (rotation) và phép cogiãn (scaling) sẽ sử dụng pooling layer sẽ cho tính bắt biến Tính kết hợp cục bộcho ta các cấp độ biểu diễn thông tin từ mức độ thấp đến mức độ cao và trừu tượnghơn thông qua convolution từ các filter Đó là lý do tại sao CNN cho ra kết quả với

độ chính xác rat cao ở các mô hình

Trang 27

Cấu trúc cơ bản của CNN gồm 3 phần chính là các trường tiếp nhận cục

bộ (local receptive field), trọng số chia sẻ (shared weights and bias) và tổng

hợp (pooling) :

> Local receptive field: giúp tách lọc các dữ liệu, thông tin của ảnh và chọn

được những vùng ảnh có giá trị sử dụng nhất cho việc đánh giá phân lớp

> Shared weights and bias: một convolutional layer bao gồm các feature mapkhác nhau Mỗi một feature map giúp detect một vai feature trong bức ảnh Lợi íchlớn nhất của trọng số chia sẻ là giảm tối đa số lượng tham số trong mạng CNN

> Pooding: day gần như là lớp cuối dùng để đơn giản hóa thông tin đầu ra để

giảm bớt số lượng neuron (Jing-Wei Liu, 2021)

Source pixel

(-1x3) +(0x0) (1x1) +

(2x2) + (0x6) + (2x2) + (1x2) + (0x4) #(1x1) =-3

Tích chập được sử dụng đầu tiên trong xử lý tín hiệu số (Signal

processing) Nhờ vào nguyên lý biến đổi thông tin, các nhà khoa học đã áp dụng kĩthuật này vào xử lý ảnh và video số Convolutional được hiểu là một cửa số trượt

Trang 28

Sliding Windows trên một ma trận được mô tả như hình dưới Các convolutional

layer có các parameter (kernel) đã được học dé tự điều chỉnh lấy ra những thông tinchính xác nhất mà không cần chọn các feature

Image Image Image

[4] Convolved 4q37 ] Convolved Convolved

Feature Feature Feature

Trong hình ảnh minh họa ta thấy, ma trận phía trên là một hình ảnh trắng đen

được số hóa có kích thước là 5 x 5 với mỗi điểm của hình ảnh được biểu diễn bằng giá trị 0 và 1 là giao điểm của dong và cột

Convolution hay tích chập là nhân từng phần tử bên trong ma trận 3x3 với

ma trận bên trên Kết quả được một ma trận gọi là Convoled feature được sinh ra từ

việc nhận ma trận Filter với ma trận ảnh 5x5 bên trên.

“+ Convolutional Layer

Trong lớp tích chập sử dụng một bộ các bộ lọc có kích thước nhỏ hơn với ma

trận đầu vào và áp lên một vùng của ma trận đầu vào và tiến hành tính tích chậpgiữa bộ filter và giá trị của ma trận trong vùng cục bộ đó Các filter sẽ dịch chuyển

một bước trượt (Stride) chạy dọc theo ma trận đầu vào và quét toàn bộ ma trận, trọng số của filter ban đầu sẽ được khởi tạo ngẫu nhiên và sẽ được học dần trong

quá trình huấn luyện mô hình Convolutional Layer được xem là lớp có vai tròquan trọng nhất bởi vì nó thực hiện mọi phép toán Một số khái niệm cần hiểu rõ

trong lớp này :

> Padding: là những giá trị 0 được thêm vào lớp Input.

Trang 29

> Lớp phi tuyến tính Relu (Relu Layer)

Trong kiến trúc mạng CNNs thường sử dụng hàm kích hoạt f(x) = max (0, x)chuyển toàn bộ giá trị âm trong kết quả lấy từ lớp tích chập thành giá trị 0 để tạotính phi tuyến cho mô hình gọi là Relu Ngoài ra còn có nhiều hàm kích hoạt khácnhư signmod, tang nhưng hàm Relu dé cài đặt tính toán nhanh và hiệu qua

** Lớp Pooling (Pooling Layer)

Sử dụng một cửa số trượt quét qua toàn bộ ma trận dữ liệu theo một bướctrượt cho trước dé tiền hành lấy mẫu Các phương thức phổ biến trong lớp Pooling

là MaxPooling (lấy giá trị lớn nhất), MinPooling (lấy giá trị nhỏ nhất) vàAveragePooling (lấy giá trị trung bình) Công dụng của lớp Pooling dùng để giảmkích thước dữ liệu, các tầng trong CNNs chồng lên nhau có lớp Pooling ở cuối mỗitầng giúp cho kích thước dữ liệu được co lại nhưng vẫn giữa được các đặc trưng đểlấy mẫu Ngoài ra giảm kích thước dữ liệu sẽ giảm số lượng tham số của mạng làmtăng tính hiệu quả và kiểm soát hiện tượng học vẹt (Overfiting)

Lớp kết nối đầy đủ (Fully connect layer)

Lớp kết nối đầy đủ là một lớp giống như mạng nơron truyền thăng các giá trịđược tính toán từ các lớp trước sẽ được liên kết đầy đủ vào trong noron của lớp tiếptheo Tại lớp kết nói đầy đủ sẽ tiến hành phân lớp dữ liệu bằng cách kích hoạt hàm

softmax (Groups Tini, 2022).

2.3.5.4 Thuật toán CNN

% Các bước thực hiện bằng mã giá

Khai báo biến all_data

Vòng lặp hàng dữ liệu trong dataset:

Trang 30

Đọc hàng dữ liệu

Lưu vào biến tập hợp all_ data

Làm sạch dit liệu cho all_ data

Khai báo biến all features

Khai báo khoảng thời gian time_steps

Vong lặp data trong all_ data:

Lấy các đặc trưng tuần theo time_stepsLưu vào biến tập hợp all_features

Khai báo chuyền đổi (transform)

Chuyền đổi các đặc trưng

Xây dựng mạng ID-CNN

Chia all_features ra thành tập huấn luyện và kiểm thử

Huấn luyện mô hình

* Thuật toán CNN có hai quá trình chính: tích chập và lấy mẫu

> Tích chập: sử dụng bộ loc Fx có thể đào tạo, giải mã của hình ảnh đầu vào(giai đoạn đầu tiên là hình ảnh đầu vào, đầu vào của bước tích chập sau là hình ảnhđặc trưng của mỗi lớp, cụ thé là Bản đồ tính năng), sau đó thêm một bias bx, chúng

Trang 31

Winn Hine ,

Trong đó các chiều width và height được tính toán theo công thức tích chập.Giá tri width ( height) của một lớp phụ thuộc vào kích thước của bộ lọc, chiềuwidth (height) của lớp trước, độ rộng viền và bước trượt bộ lọc

Tuy nhiên chiều depth lại hoàn toàn không phụ thuộc vào những tham sé nay

mà nó bằng với số đơn vị trong lớp đó Quá trình tính bản đồ kích hoạt dựa trên

một bộ lọc sẽ tạo ra một ma trận 2D.

Vi vậy khi ta áp dụng cho d bộ lọc khác nhau, ở mỗi bộ lọc ứng với một đơn

vị trên mạng neural, ta sẽ thu được d ma trận 2D có cùng kích thước Khi sắp xếpchồng lan các ma trận thì kết quả đầu ra là một khối nơ ron 3D Thông thường đốivới xử lý ảnh thì lớp đầu vào các bức ảnh đang để ở dạng màu RBG thì depth = 3

(số channels) Hình bên dưới là một cấu trúc mạng nơ ron điển hình có dang khối.

Ngày đăng: 08/11/2024, 17:24

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN