SlideShare una empresa de Scribd logo
1 de 74
Descargar para leer sin conexión
TRƯỜ Ạ Ọ Ộ
NG Đ I H C BÁCH KHOA HÀ N I
LUẬ Ạ
N VĂN TH C SĨ
Nghiên cứu ứ ụ
ng d ng trí tuệ nhân tạo vào
bài toán phân vùng tâm th t trong
ấ ảnh
cộng hưởng từ
LÊ KHẮC HƯNG
Hung.LK202725M@sis.hust.edu.vn
Ngành K u khi
ỹ thuậ ề
t đi ển và tự động hóa
Giảng viên hướng dẫn: TS. Tr n Th Th o
ầ ị ả
Viện: Điện
HÀ NỘI, 10/2022
1
C NG HÒA XÃ H T NAM
Ộ ỘI CHỦ NGHĨA VIỆ
Độ ậ ự ạ
c l p – T – H
do nh phúc
BẢN XÁC NHẬN CHỈNH SỬA LUẬ Ạ
N VĂN TH C SĨ
H và tên tác gi lu
ọ ả ận văn : Lê Khắc Hưng
Đề ận văn
tài lu : Nghiên cứ ứ ụ ệ ạ
u ng d ng trí tu nhân t o vào bài toán phân
vùng tâm th t trong nh c ng t
ấ ả ộng hưở ừ
Chuyên ngành: K u khi n và t ng hóa
ỹ thuật điề ể ự độ
Mã số SV: 20202725M
Tác gi n khoa h c và H
ả, Ngườ ớ
i hư ng dẫ ọ ội đồ ấ ận văn xác
ng ch m lu
nhận tác giả đã sửa chữa, bổ sung luận văn theo biên bản họp Hộ ồ
i đ ng ngày
29/10/2022 v i dung sau:
ới các nộ
- Thêm danh m vi t t t
ục từ ế ắ
- Ch nh s hình nh, b ng bi u và s i chính t
ỉ ửa tiêu đề ả ả ể ửa lỗ ả
- S p x p th t ngu n tài li u tham kh o và trích d n ngu n tài li u
ắ ế ứ ự ồ ệ ả ẫ ồ ệ
- B i d
ổ xung và giả thích chi tiết các tham số huấn luyện sử ụng trong mô
hình như Learning rate, Loss Function, Callback EarlyStopping.
- Phân tích những ưu điể ủa mô hình đề
m c xuất giúp nó phân vùng hiệu quả
hơn
- nghi
Phân tích, đánh giá quá trình thử ệm các tham số mô hình để chọn ra
b tham s t u qu t và b xung k t qu
ộ ố ối ưu đạt hiệ ả cao nhấ ổ ế ả đạt được.
Ngày 14 tháng 11 năm 2022
Giáo viên hướ ẫ ả ận văn
ng d n Tác gi lu
CH T CH H NG
Ủ Ị ỘI ĐỒ
2
ĐỀ Ậ
TÀI LU N VĂN
Tên đề ế ệ
tài ti ng vi t: Nghiên cứ ứ ụ ệ ạ
u ng d ng trí tu nhân t o vào bài toán
phân vùng tâm th t trong nh c ng t
ấ ả ộng hưở ừ
Tên đề ế
tài ti ng anh: Research on Artificial Intelligence techniques for
automatic ventricle segmentation from cardiac magnetic resonance images
Gi ng d n
ảng viên hướ ẫ
3
TÓM T T N
Ắ ỘI DUNG
Lu tài “Nghiên c u ng d ng trí tu nhân t o vào bài
ận văn thạc sĩ với đề ứ ứ ụ ệ ạ
toán phân vùng tâm th t trong nh c ng t
ấ ả ộng hưở ừ”.
Hi n h
ện nay xu hướng trí tuệ nhân tạo xuất hiệ ở ầu hết các lĩnh vực, nhu cầu
ứ ụ ậ ế ột tăng cao. Xuấ ừ
ng d ng các thu t toán thông minh trong y t ngày m t phát t
nhu c u th c ti n, c n thi t ph i xây d ng công c
ầ ự ễ ầ ế ả ự ụ ỗ ợ bác sĩ và nhân viên y tế
h tr
trong vi nh, qu n lý h nh án d a trên vi c phân tích và x lý
ệc chẩn đoán bệ ả ồ sơ bệ ự ệ ử
ả ế. Đặ ệ ệ ề ạ ể đượ ệ ất đượ
nh y t c bi t các b nh v tim m ch có th c phát hi n qua tâm th c
chụ ở
p b i ả ộng hưở ừ. Như vậ ụ ọ ấ
nh c ng t y, m c tiêu quan tr ng nh t đề tài đặt ra là tìm
hiểu phương pháp Segmentation ả ệ ả
nh tim hi u qu dựa trên thuật toán học máy/học
sâu giúp phân vùng t ng tâm th t nh ng c
ự độ ất. T y nghiên c
ừ đấ ứu, đề ấ
xu ữ ải tiến
để ệ ả ấ ệ
nâng cao hi u qu mô hình trong quá trình hu n luy n.
Trong quá trình nghiên c u, h c viên cùng nhóm nghiên c n khai các
ứ ọ ứu đã triể
mô hình d a trên ki n trúc Unet và th c hi n hu n luy
ự ế ự ệ ấ ện, đánh giá thử ệ
nghi m trên
t li
ập dữ ệu về tim SunnyBrook Cardiac Data 2009 và Automated Cardiac
Diagnosis Challenge (ACDC) 2017. Công vi c tri n khai trên ph n m
ệc đượ ể ầ ềm
Google Colab và ngôn ng p trình Python, cùng Fra
ữ ậ
l mework Keras. Bướ ầ
c đ u
đạt đượ ữ ế ả ả ậ ấ ữ ững điể
c nh ng k t qu kh quan, nh n th y gi a các mô hình này có nh m
m xu -
ạnh riêng nên nhóm nghiên cứu đã đề ất cải tiến một mô hình đặt tên là DR
Unet++ đượ ể ừ ử ệ ả
c phát tri n t - -
mô hình DR Unet và DC Unet. Th nghi m trên c hai
t li
ập dữ ệu SunnyBrook và ACDC cho thấy mô hình đạ ế ả ốt hơn trên cả
t k t qu t hai
tiêu chí đánh giá (IoU và DSC). Có thể thấy, đó là một hướ ứ ợ
ng nghiên c u phù h p,
làm ti cho vi c phân vùng nh hi u qu
ền đề ệ ả ệ ả hơn trong tương lai.
H c viên
ọ
4
L I C
Ờ ẢM ƠN
Trướ ảm ơn Ban giám hiệ ện Sau đạ ọc, Trường đạ
c tiên, em xin c u và Vi i h i
học Bách Khoa Hà nộ ạo điề
i đã t u kiệ ể
n đ em được tham gia chương trình cao học
Thạc sĩ khoa học khóa 2020B. Trong quá trình xây dựng đề cương, nghiên cứu và
hoàn thành lu n th t nhi u s giúp và h
ận vă ạc sĩ, em đã nhận được rấ ề ự ợ
tr ỗ ợ ề
tr v
kiến thức chuyên môn đế ừ ầ ện Điệ
n t các th y, các cô trong Vi n. Đặ ệ
c bi t, cho phép
em đượ ỏ ự ết ơn tớ ảng viên hướ ẫ ầ ị
c bày t s trân quý và bi i gi ng d n - TS. Tr n Th
Th d y nhi óng góp ý ki n b ích trong su t quá trình th
ảo, cô đã chỉ ạ ệt tình và đ ế ổ ố ực
hiệ ề
n đ tài. Qua đây, em cũng xin gửi lời cảm ơn chân thành đến các bạn học viên
cùng khóa và các em trong nhóm nghiên cứu của cô Thảo đã nhiệt tình giúp đỡ,
h tr
ỗ ợ em trong quá trình học tập, cũng như trong ứ
quá trình nghiên c u hoàn thành
đề ận văn thạc sĩ. Xin chân thành cả
tài lu m ơn!
5
M C L C
Ụ Ụ
DANH M C HÌNH
Ụ ẢNH ...............................................................................................................7
DANH MỤC B NG
Ả .......................................................................................................................9
DANH MỤC TỪ Ế
VI T TẮT .........................................................................................................10
CHƯƠNG 1. ĐẶ Ấ Ề
T V N Đ .........................................................................................................11
1.1 Khó khăn và thách thức..................................................................................................11
1.2 Hướ ả ế
ng gi i quy t............................................................................................................14
CHƯƠNG 2. BÀI TOÁN PHÂN VÙNG ẢNH ..............................................................................16
2.1 Bài nh .................................................................................................16
toán phân vùng ả
2.1.1 Phân vùng ảnh là gì ............................................................................................16
2.1.2. ng d ng phân vùng nh...................................................................................18
Ứ ụ ả
2.2 Các phương pháp phân vùng ả ổ ể
nh c đi n......................................................................22
2.2.1 Phân vùng dựa ng................................................................................22
trên ngưỡ
2.2.2 Phân vùng dựa trên c nh....................................................................................23
ạ
2.2.3 Phân vùng dựa trên khu v c ...............................................................................24
ự
2.2.4 Phân vùng dựa trên k thu t phân c m...............................................................26
ỹ ậ ụ
2.3 Các phương pháp phân vùng ả ự
nh d a trên AI...............................................................28
2.3.1 FCN (Fully Convolutional Network)...................................................................33
2.3.2 Unet.....................................................................................................................34
2.3.3 - ........................................................................................................36
Gated SCNN
2.3.4 DeepLab..............................................................................................................37
2.3.5 Mask R- .......................................................................................................38
CNN
CHƯƠNG 3. XÂY DỰNG MÔ HÌNH ..........................................................................................40
3.1 Chuẩn bị công cụ ...........................................................................................................40
3.1.1 Yêu cầu dữ liệu....................................................................................................40
3.1.2 Công cụ hỗ trợ ....................................................................................................42
3.1.3 Các bước triển khai.............................................................................................44
3.1.4 Các tham số huấn luyện......................................................................................45
3.2 Lựa chọn mô hình...........................................................................................................49
3.2.1 Mô hình Double Unet..........................................................................................49
3.2.2 Mô hình ResUnet++ ...........................................................................................51
3.2.3 Mô hình DC- ................................................................................................52
Unet
3.2.4 Mô hình DR- ................................................................................................53
Unet
6
3.2.5 Mô hình DR- .......................................................................................... 54
Unet++
CHƯƠNG 4. KẾ Ả ĐẠ Ợ
T QU T ĐƯ C ......................................................................................... 61
4.1 K nghi ......................................................................................... 61
ết quả thử ệm mô hình
4.2 K hu ..................................................................................... 63
ết quả ấn luyện và dự đoán
4.3 Đánh giá và so sánh...................................................................................................... 66
K N .................................................................................................................................. 69
ẾT LUẬ
TÀI LIỆU THAM KHẢO ............................................................................................................. 71
PHỤ Ụ
L C.................................................................................................................................... 73
7
DANH M C HÌNH NH
Ụ Ả
Hình 1. 1 Ảnh tim chụp bằng phương pháp MRI, CT Scan, siêu âm [6]............................ 12
Hình 1. 2 Hình ảnh tâm thất và lắt cắt theo từng chu kì..................................................... 13
Hình 1. 3 T ng h nh tim [12]
ổ ợp những nghiên cứu liên quan DL trong phân vùng ả ......... 15
Hình 2. 1 Phân vùng ảnh và tách đố ợ
i tư ng [17] ............................................................... 16
Hình 2. 2 Phân đoạn nh Semantic và Instance [18]
ả ......................................................... 17
Hình 2. 3 C ng quát bài toán phân vùng
ấu trúc tổ ảnh........................................................ 18
Hình 2. 4 ng phân vùng nh não, tâm th t tim, vú, ph
Ứng dụ ả ấ ổi, ung thư da, tế bào
[19,20,21].................................................................................................................... 19
Hình 2. 5 ng phân vùng nh xe t
Ứng dụ ả ự hành [22].......................................................... 20
Hình 2. 6 tinh [23]
Ứng dụng trong xử lý ảnh vệ ............................................................... 21
Hình 2. 7 p
Ứng dụng trong nông nghiệ .............................................................................. 22
Hình 2. 8 nh phân vùng Threshold [24]
Ảnh gốc và ả ......................................................... 22
Hình 2. 9 Các loại cạ ả
nh trong nh...................................................................................... 23
Hình 2. 10 K phân vùng nh d
ết quả ả ựa trên cạnh [25] ...................................................... 24
Hình 2. 11 Phân vùng khu v c, (a) Region growth, (b) Region splitting and merging [26]
ự
..................................................................................................................................... 25
Hình 2. 12 Phân c -means clustering [27]
ụm K .................................................................. 26
Hình 2. 13 nh g
Ả ốc và c K
ả ọ
nh l -Mean clustering [28]..................................................... 27
Hình 2. 14 T ng h
ổ ợp phân vùng nh tâm th
ả ất LV bằng ngưỡng và Edged-Sobel .............. 27
Hình 2. 15 C u trúc m
ấ ạng CNN trong classification.......................................................... 29
Hình 2. 16 Mô tả ạt độ
ho ng củ ớ
a l p Convolution............................................................... 29
Hình 2. 17 Các hàm phi tuy ng dùng
ến thườ ....................................................................... 30
Hình 2. 18 S d ng Max pooling và Average pooling
ử ụ ........................................................ 30
Hình 2. 19 C u trúc các l p Fully Connected trong CNN
ấ ớ .................................................. 31
Hình 2. 20 Hình nh so sánh ConvNet và DeconvNet
ả ........................................................ 31
Hình 2. 21 Ho ng c
ạt độ ủa Upsampling............................................................................... 31
Hình 2. 22 Phép tích chập chuyển vị................................................................................... 32
Hình 2. 23 Phép tích chập giãn nở...................................................................................... 32
Hình 2. 24 Ki ng FCN trong phân vùng
ến trúc mạ ảnh [8]................................................. 34
Hình 2. 25 Kiến trúc mạng Unet [9]................................................................................... 35
8
Hình 2. 26 Bi t l các nghiên c u mô hình m
ể ồ
u đ ỷ ệ ứ ạng DL trong Segmentation từ 2016 -
2022 [14]..................................................................................................................... 36
Hình 2. 27 Ki a Gated – – Towaki Takikawa [29]
ến trúc củ SCNN .................................... 37
Hình 2. 28 Ki a DeepLab –
ến trúc củ L. Chen [27].............................................................38
Hình 2. 29 K mô hình áp d ng CRF
ết quả ụ .......................................................................... 38
Hình 2. 30 Ki -
ến trúc mạng Faster R CNN..........................................................................39
Hình 2. 31 Ki -
ến trúc mạng Mask R CNN............................................................................ 39
Hình 3. 1 Các phân vùng trong ảnh tim MRI [38]..............................................................40
Hình 3. 2 Dữ liệ ả ố
u nh g c và nhãn trong SCD ...................................................................41
Hình 3. 3 Dữ liệ ả ố ộ ạ ạ ạ
u nh g c và nhãn n i tâm m c Endo và ngo i tâm m c Epi trong ACDC
..................................................................................................................................... 42
Hình 3. 4 Ngôn ng Python và Framework Keras, Tensorflow
ữ .......................................... 43
Hình 3. 5 Các CPU, GPU, TPU mi n phí trên Google Colab
ễ ............................................44
Hình 3. 6 Các bướ ể
c tri n khai mô hình AI ..........................................................................45
Hình 3. 7 B ng ma tr
ả ận Confusion Matrix.......................................................................... 48
Hình 3. 8 Ki n trúc Double Unet
ế ......................................................................................... 50
Hình 3. 9 Cấu trúc khối ASPP............................................................................................. 50
Hình 3. 10 Mô hình Res Unet++......................................................................................... 51
Hình 3. 11 Ki -
ến trúc DC Unet ............................................................................................52
Hình 3. 12 C u trúc kh
ấ ối DC Block ....................................................................................52
Hình 3. 13 Mô hình DR-Unet ..............................................................................................53
Hình 3. 14 Mô hình DR-Unet++......................................................................................... 54
Hình 3. 15 MultiRes block MultiResUNet ...........................................................................55
Hình 3. 16 Kh -
ối DC Block được đề ấ
xu t............................................................................. 56
Hình 3. 17 Tích chập thườ ậ
ng và tích ch p Atrous............................................................... 56
Hình 3. 18 C u trúc ASPP
ấ ................................................................................................... 57
Hình 3. 19 C u trúc PASPP
ấ ................................................................................................ 58
Hình 3. 20 C u trúc ResPath
ấ ............................................................................................... 58
Hình 3. 21 C u trúc SE Block
ấ .............................................................................................59
Hình 4. 1 Đồ thị Dice và Val_Dice đánh giá Epoch ...........................................................62
Hình 4. 2 Đồ thị Loss và Val_Loss đánh giá learning rate.................................................63
9
Hình 4. 3 Đồ thị learning curve Endocardium.................................................................... 64
Hình 4. 4 Đồ thị learning curve Epicardium ...................................................................... 64
Hình 4. 5 K t qu
ế ả phân vùng ả ủ
nh c a mô hình DR-Unet++ .............................................. 65
Hình 4. 6 So sánh kết quả phân vùng nội tâm mạc Endocardium ...................................... 67
Hình 4. 7 So sánh kết quả phân vùng ngoại tâm mạc Epicardium ..................................... 68
DANH M C B NG
Ụ Ả
B ng 3. 1 B mô hình c a m
ả ảng Thống kê các tham số ủ ộ ố
t s mô hình.................................. 47
B ng 4. 1 B tham s
ả ộ ố ấ ệ
hu n luy n mô hình.......................................................................... 61
B ng 4. 2 B t qu
ả ảng kế ả đánh giá mô hình theo Epoch ....................................................... 62
B ng 4. 3 B t qu
ả ảng kế ả đán giá mô hình theo batch size ................................................... 62
B ng 4. 4 B ng h t qu -Unet++ trên Epicardium
ả ảng tổ ợp kế ả mô hình DR .......................... 65
B ng 4. 5 B tham s
ả ộ ố ấ ện đánh giá 4 mô hình
hu n luy ........................................................ 66
B ng 4. 6 K t qu
ả ế ả định lượ ậ ữ
ng trên t p d liệu ACDC........................................................ 66
B ng 4. 7 K t qu
ả ế ả định lượ ậ ữ
ng trên t p d liệu SunnyBrook ............................................... 67
1
DANH M C T
Ụ Ừ Ế
VI T TẮT
STT Ký hiệu Nguyên nghĩa
1 AI Artificial Intelligence
2 ML Machine Learning
3 DL Deep Learning
4 MRI Magnetic Resonance Imaging
5 LV Left Ventricle
6 RV Right Ventricle
7 CNN Convolutional Neural Network
8 FCN Fully Convolutional Network
9 DNN Deconvolutional Neural Network
10 GCL Gated Convolution Layer
11 CRF Conditional Random Field
12 SCD SunnyBrook Cardiac Data
13 ACDC Automated Cardiac Diagnosis Challenge
14 DC Unet
- Dual Channel Unet
15 TF TensorFlow
16 LR Learning Rate
17 DSC Dice Similarity Coefficient
18 IoU Intersection over Union
19 S&E Squeeze and Excitation
20 ASPP Atrous Spatial Pyramid Pooling
21 PASPP Progressive Atrous Spatial Pooling
22 ResNet Residual Neural Network
1
CHƯƠNG 1. ĐẶ ẤN ĐỀ
T V
1.1 Khó khăn và thách thức
Trong nh ng máy tính phát tri n m nh m cùng thu
ững năm qua, các hệ ố
th ể ạ ẽ ật
toán x lý song song, trí tu
ử ệ nhân t o d n ti
ạ ầ ến sâu và đượ ứ ụ ộ
c ng d ng r ng rãi trong
x lý qu ng
ử ảnh nói chung và ảnh y tế nói riêng. Với nhu cầu lưu trữ ản lý số lượ
lớn hồ sơ bệnh án, máy tính tích hợp trí tuệ nhân tạo hoạt động như một Robot
t thu ng
hay con người thực hiện các tác vụ như tư vấn kỹ ật số qua nhận dạng giọ
nói, theo dõi s c kh t d u t
ứ ỏe bệnh nhân online cũng như truy xuấ ữ ệ
li ối ưu, nhanh
hơn và đồ ộ hơn. Đặ ệ ự ờ ật toán AI thông minh để
ng b c bi t s ra đ i các thu phân tích,
ki t
ểm tra ảnh y ế trong các máy cộng hưởng từ, chụp CT, nội soi hay phân tích
điện tâm đồ ằm đưa ra kế ả nhanh và chính xác hơn. Từ đó, giúp phân loạ
nh t qu i
b tr
ệnh nhân theo từng cấp độ, hỗ ợ bác sĩ chẩn đoán đúng bệnh và tình trạng sức
kh nh nhân.
ỏe của bệ
Các ứ ụ ế ể ể ới như các hệ ố ẩn đoán u não [1],
ng d ng trong y t có th k t th ng ch
ung thư phổ ổ ứ ề
i hay viêm ph i do COVID [2], và nghiên c u v tim m ch [3,4]. Trong
ạ
các hệ ố ỗ ợ ẩn đoán ả ế này thông thườ ồ ớ
th ng h tr và ch nh y t ng bao g m các bư c:
ti vùng i.
ền xử lý, xác định đối tượng, phân ảnh, trích chọn đặc trưng, và phân loạ
Trong các bướ ảnh đượ ọ ất, đóng góp vào sự
c trên, phân vùng c coi là quan tr ng nh
chính xác c c phân lo i và ch a phân vùng
ủa bướ ạ ẩn đoán. Mục đích củ ảnh đó là
khoanh vùng đúng đượ ủ ể ầ quan tâm như tế
c cơ quan c a th hay các vùng c n bào,
gan, ph i, kh i u, kh
ổ ố ối tâm nhĩ, tâm thấ ừ đó có thể tính toán được kích thướ
t… T c
hay th tích c ng th phát tri
ể ủa các khối đó, đồ ời theo dõi được sự ển bình thường
hay b ng c i có th c
ất thườ ủa các khối u, cơ quan. Đồng thờ ể trích chọ ợ
n đư các đặc
trưng hoặ ả ầ ết trước khi đưa vào khố ậ ạ ẩn đoán.
c vùng nh c n thi i nh n d ng và ch
M tr r
ột trong các hệ thống hỗ ợ chẩn đoán y tế được nghiên cứu từ ất sớm và
đượ ứ ụ ộ ệ ả đó là hệ ố ỗ ợ bác sĩ tim mạ
c ng d ng AI m t cách hi u qu th ng h tr ch. Cho
tới thời điểm hiện tại, năm 2022 các thành tựu mới của AI trong chẩn đoán và dự
phòng các b nh tim m c công b
ệ ạch đã đượ ố ề
nhi u trên các tạp chí y khoa hàng đầu
th gi m gi i
ế ới. Việc nghiên cứu về tim mạch được quan tâm ở ọi quốc gia trên thế ớ
xu t vi
ất phát từ ầm quan trọng của ệc phát hiện sớm và điều trị căn bệnh này. Theo
th ng kê c T th i, b nh v tim m ch là nguyên nhân gây t vong
ố ủa ổ chức y tế ế giớ ệ ề ạ ử
hàng đầ ầ ếm hơn 30% tổ ố ử Ở ệ ỉ ệ
u trên toàn c u, chi ng s ca t vong [5]. Vi t Nam t l
tử vong do liên quan đế ệ ề
n các b nh v tim kho 31% t ng s
ảng ổ ố ca trong năm 2022.
Tuy nhiên, n c phát hi m t u, và th c hi n các bi n pháp
ếu đượ ện sớ ừ giai đoạn đầ ự ệ ệ
phòng b nh và dùng thu c phù h p thì t l t vong s th .
ệ ố ợ ỉ ệ ử ẽ ấp đi đáng kể
Trong y khoa, bác sĩ chẩn đoán bệ ề ạ ự ố
nh v tim m ch d a trên các thông s lâm
sàng như điện tâm đồ ả ụ ắ ớ
(ECG), siêu âm tim, hình nh ch p c t l p vi tính CT, hình
1
ả ụ ộng hưở ừ (MRI). Phương pháp điện tâm đồ ECG đầu tiên đượ
nh ch p c ng t AI- c
công b là nghiên c u Eagle, có th c nhi nh lý tim m
ố ứ ể ịnh đượ
xác đ ều bệ ạch (cả ở
trạng thái tiềm ẩn và có biểu hiện), bao gồm rung nhĩ, rối loạn chức năng tâm thất,
bệnh cơ tim chu sinh, bệnh tim amyloid, tăng áp độ ạ ổ
ng m ch ph i… Tuy nhiên các
tín hi n r t bé, c phân tích ph i th t nhanh nên các
ệu điện tim có dòng điệ ấ ần tố ộ
c đ ả ậ
phương pháp xử lý d a trên hình nh y h c có nhi u nghiên c u sâu r
ự ả ọ ề ứ ộng hơn. Các
k thu
ỹ ật số chụp ảnh tim như MRI hay CT đượ ử
c s d y
ụng chủ ếu, trong đó kỹ thu t
ậ
CT có t ng hình c nét và
ố ộ ụp nhanh hơn nhưng MRI cho chất lượ
c đ ch ảnh, độ ắ
s
chi ti t t c bi t v i các hình m.
ế ốt hơn, đặ ệ ớ ảnh mô mề
Hình 1. 1 nh tim ch p b
Ả ụ ằng phương pháp MRI, CT Scan, siêu âm [6]
Trong bài toán phân vùng tim, các ng là nh c
ả ở
nh ảnh phân tích thườ ả ộng
hưở ừ
ng t MRI để thu đượ ả
c hình nh ở các cơ và mô vớ ất lượ ố
i ch ng t t. Các nghiên
c nh y
ứu phân vùng ả ở tim chủ ếu tập trung vào bài toán phân vùng ảnh tâm thất
trái (left ventricle) do các đặ ở ấ ể ẩn đoán mộ ố ệ
c tính tâm th t có th giúp ch t s b nh
v nh
ề ồi máu cơ tim, tim đập nhanh, hay tim loạn nhịp. Phân vùng ảnh tâm thất
thường là xác đị ủ ộ ạ ạ ạ
nh biên c a các vùng n i tâm m c (endocardium), ngo i tâm m c
(epicardium), t tái t u trúc 3D c a tâm th ng th i xác
ừ đó có thể ạo được cấ ủ ất. Đồ ờ
định đượ ể ủ ấ ở ộ ỳ ầ
c th tích c a tâm th t trong quá trình co bóp m t chu k tu n hoàn.
S ng m nh
ố lượ ảnh cần phân vùng ở ột bệ nhân thường là rất lớn. Thường số
lượ ảnh đượ ậ ỳ ọi là frame) thườ ừ 20 đế
ng c thu th p trong chu k tim (g ng là t n 24
ả ề ọ ỗ ố ất đượ ụ ừ ảng 10 đế ắ
nh. Tính theo b d c, m i kh i tâm th c ch p t kho n 15 lát c t
(slice). Như vậy để ứ ề ể tích và đặ ủ ấ ộ
nghiên c u v th c tính c a tâm th t trong m t chu
k tu
ỳ ần hoàn của một bệnh nhân cần phải phân vùng hơn 200 ảnh. Do đó nế ự
u th c
hi n b ng tay s t công vi n th i gian và m t m i cho nhân viên y t .
ệ ằ ẽ là mộ ệc tố ờ ệ ỏ ế
1
Hình 1. 2 Hình nh tâm th t theo t ng chu
ả ất và lắt cắ ừ kì
Để ợ ế, công đoạ ả ần đây đã đượ
tr giúp cho nhân viên y t n phân vùng nh g c
triển khai bằng các phương pháp tự động. Từ các năm 2000 đến 2016, các nghiên
cứu về phân vùng ảnh tâm thất thường dựa trên các phương pháp như active shape
model, active contour model, và level set method [4,5]. M c dù vi c phân vùng
ặ ệ
ảnh đượ ự ệ ộ ự động, các phương pháp này vẫ ầ ộ
c th c hi n m t cách t n c n m t thao tác
đó là phả ở ạ ột đường bao (contour) trướ ệ ố ự động điề
i kh i t o thô m c khi h th ng t u
chỉnh để đườ ể
ng bao này chuy n độ ề
ng v đúng b ủa vùng quan tâm. Đứng trướ
iên c c
th g
ực tế này, nhiều nghiên cứu đã cố ắng đề xuất các phương pháp để không cần
đến bướ ở ạo đường bao, như tự tìm đườ ử ụ
c kh i t ng tròn, s d ng Hough transform,
các thu c s
ật toán thresholding, nhưng chưa thự ự đạ ế ả ả ớ
t k t qu kh quan cho t i khi
áp d ng các mô hình h c sâu [6]. Nh s phát tri n c a các mô hình m -ron
ụ ọ ờ ự ể ủ ạng nơ
tích ch p, m ron tích ch p toàn ph n FCN (fully convolutional neural
ậ ạng nơ- ậ ầ
network) do J. Long đề ất [7], đã đượ ả ế ụ
xu c c i ti n và áp d ng vào bài toán phân
vùng nh [8,9] v i nhi u k m ng FCN, công vi c phân vùng
ả ớ ề ết quả khả quan. Nhờ ạ ệ
ảnh đượ ự ệ ự động. Ngườ ử ụ ầ ằ
c th c hi n hoàn toàn t i s d ng không c n thao tác b ng tay
để ọn đường bao thô như trước. Tuy thu đượ ữ ế ả ả ệ ử
ch c nh ng k t qu kh quan, vi c s
d thu
ụng các kỹ ật học sâu nói chung và mạng nơ ron tích chập đầy đủ nói riêng
v li
ẫn đứng trước các thách thức. Thách thức lớn nhất là việc thiếu hụt dữ ệu y tế
cũng như sự không đồ ộ ề ặ ữ ệ ảnh đượ ấ ở ở
ng b v m t d li u. Các c cung c p b i các cơ s
d li
ữ ệu như Sunny Brook, ACDC database [10, 11] có thể thu đượ ế ả ố
c k t qu t t khi
1
th nghi d li d li u
ử ệm trên cùng cơ sở ữ ệu. Tuy nhiên nếu huấn luyện trên cơ sở ữ ệ
này, ta có th t qu
ể thu được kế ả th nghi li
ử ệm vớ ộ
i đ chính xác thấp nếu dùng dữ ệu
thu th phòng khám ho nh vi a chúng ta. Bên c t thách th
ậ ở
p ặc bệ ện củ ạnh đó ộ
, m ức
đặ ữ ệ ả ằ ậ ọc sâu cũng sẽ
t ra n a là vi c phân vùng nh b ng các thu t toán h gặp khó khăn
ở các ảnh thu đượ ừ ệ ệ ứ ạ ụ như bị ồi máu cơ tim
c t b nh nhân có b nh lý ph c t p ví d nh
(myocardium infarction). Khi đó mứ ủ ả ể ị ị ở
c xám c a nh hi n th vùng máu b lan ra
cơ tim (myocardium) làm cho rấ ễ ị ủ ộ
t d b khoanh vùng ra bên ngoài, và biên c a n i
m c và ngo i m c tâm th t r t m nh.
ạ ạ ạ ấ ấ ờ và khó xác đị
1.2 Hướ ả ế
ng gi i quy t
Ở Việt Nam, với nền tảng dữ liệu tương đối phong phú và đội ngũ nghiên cứu
có trình độ cao giúp trí tuệ nhân tạo dần phổ biến trong mọi lĩnh vực. Như đã trình
bày, một mô hình AI hiệu quả phụ thuộc nhiều vào nguồn dữ liệu huấn luyện nó.
Có thể thấy dữ liệu y tế ở nước ta tuy nhiều nhưng lại thiếu tính liên kết và bị phân
tán. Mặt khác việc áp dụng Vision thuần túy không đảm bảo độ tin cậy cao, không
đáp ứng được khi khối lượng dữ liệu đầu vào lớn và thay đổi liên tục. Bên cạnh
đó, lượng dữ liệu sinh ra từ thiết bị chụp cắt lớp CT hay cộng hưởng từ MRI là rất
lớn. Những dữ liệu này được biểu diễn trong khối dữ liệu ba chiều, không thể quan
sát trực tiếp. Do đó, sẽ tốn khá nhiều thời gian để y bác sĩ tương tác và sử dụng
phần mềm qua việc phân tích từng lát cắt 2 chiều.
Các thuật toán học sâu được biết đến như một giải pháp hiệu quả, thay cho các
phương pháp truyền thống trước đó bởi khả năng tự động khám phá các đặc trưng
phức tạp từ tập dữ liệu cho trước để thực hiện các nhiệm vụ Object Detection và
Image Segmentation. Điều này làm cho các thuật toán dựa trên DL dễ dàng áp
dụng cho các ứng dụng phân tích hình ảnh khác. Nhờ hiệu suất mạnh mẽ của các
đơn vị xử lý đồ họa GPU cũng như nguồn dữ liệu huấn luyện đa dạng, phong phú
giúp việc tính toán và huấn luyện mô hình DL diễn ra nhanh chóng và hiệu quả
hơn.
Theo thống kê số lượng bài báo nghiên cứu được xuất bản từ tháng 01/2016
tới tháng 09/2019 về kỹ thuật học sâu về Segmentation Image ảnh tim trong bài
báo “Deep Learning for Cardiac Image Segmentation: A Review” trên Review
Frontiers in Cardiovascular Medicine [12], được thể hiện trong biểu đồ sau:
1
Hình 1. 3 T ng h p nh ng nghiên c u liên quan DL trong phân vùng nh tim [12]
ổ ợ ữ ứ ả
Quan sát xu hướng nghiên cứu trên biểu đồ trong cho thấy số lượng
hình 1.3,
bài báo dựa trên học sâu trong phân vùng ảnh tim đã tăng mạnh trong những năm
gần đây. Trong đó số lượng các nghiên cứu phân vùng ảnh dựa trên ảnh MRI cao
hơn đáng kể so với ảnh chụp bằng phương pháp CT và siêu âm.
Với sự phát triển của mạng nơ ron tích chập CNN trong AI, giúp các mô hình
-
phân vùng ảnh tự động có bước tiến rõ rệt. Một trong những mô hình tiêu biểu là
mạng FCN kiến trúc đầu tiên trong phân vùng ảnh sử dụng cấu trúc Encoder
- -
Decoder. Ngoài mô hình FCN, đã có nhiều mô hình khác ứng dụng trong phân
vùng ảnh có hiệu quả tốt hơn như Unet được biến đến là mô hình cũng có kiến
-
trúc Encoder-Decoder đối xứng, và thường được áp dụng để phân vùng hình ảnh
y tế. Từ đó, đã có nhiều biến thể Segmentation được phát triển từ kiến trúc này như
MultiRes- - -
Unet [13,14], DC Unet [15], DR Unet [16] có chất lượng tốt hơn mô
hình gốc.
Việc ứng dụng AI vào bài toán này sẽ là hướng đi đúng đắn, hữu ích để máy
tính có thể tự động phát hiên các tổn thương dựa trên vùng tâm thất và hiển thị nó
một cách trực quan. Song song với việc đó, chúng ta cũng cần quan tâm đến việc
khử nhiễu và cải tiến mô hình cũng như các tham số để kết quả thu được tốt nhất.
Các khó khăn của bài toán phân vùng tâm thất ở bệnh nhân tim mạch có thể được
cải thiện thông qua xây dựng các hàm mất mát (loss function) bằng cách đưa vào
các thông tin về biên, vùng của ảnh xét để tăng độ chính xác của bài toán phân
vùng đối tượng trong ảnh.
1
CHƯƠNG 2. BÀI TOÁN PHÂN VÙNG ẢNH
2.1 Bài toán phân vùng ảnh
2.1.1 Phân vùng ảnh là gì
Không giống như máy tính, chúng ta là những sinh vật sống, việc hiểu thế giới
xung quanh chúng ta đến một cách tự nhiên. Đối với máy tính, thị giác đòi hỏi các
thuật toán học sâu phức tạp. Nhưng các thuật toán không dựa vào ma thuật - chúng
cần được cung cấp một lượng lớn dữ liệu chất lượng cao. Đó là lúc mà phân đoạn
hình ảnh 2D và 3D phát huy tác dụng. Thị giác máy tính (Computer Vision) có
tiềm năng cách mạng hóa các ngành công nghiệp đa dạng. Nhưng tất cả bắt đầu
với quá trình xác định và khoanh vùng đối tượng hay còn gọi là phân đoạn hình
-
ảnh (Image Segmentation). Phân vùng ảnh tốt sẽ là tiền đề cho các bước xử lý tiếp
theo, nhằm gia tăng tính hiệu quả, độ chính xác và giảm thiểu nguồn lực tính toán.
Hình 2. 1 Phân vùng ng [17]
ảnh và tách đố ợ
i tư
Trong thị giác máy tính có bốn bài toán cơ bản, bao gồm: Image Classification
(Phân loại), Classification with Localization (phân loại và định vị), Object
Detection (Phát hiện vật thể), Image Segmentation (phân vùng ảnh). Trong đó
Image Classification được dùng để phân loại hình ảnh đầu vào theo danh mục nhãn
được xác định trước. Bắt nguồn từ khả năng nhận thức của con người qua thị giác,
Classification giúp máy tính (hay robot) có thể phân loại những hình ảnh mà nó đã
từng được huấn luyện trước đó. Tiếp theo là bài toán nâng cao của Classification,
kết hợp với định vị đối tượng nhằm xác định vị trí của đối tượng xuất hiện trong
ảnh và thể hiện bằng Bounding box. Như vậy, trong một vùng quan tâm (Region
of Interest) có thể phát hiện nhiều đối tượng. Để có được thông tin chi tiết hơn về
đối tượng cần xử lý, chúng ta cần tách đối tượng đấy trong ảnh qua bài toán phát
hiện vật thể. Object Detection được ứng dụng rất nhiều trong việc nhận diện số
lượng người vào ra trong một khu vực, phát hiện các phương tiện giao thông trên
đường phố hay số lượng tế bào trong mô cấy ghép, kiểm tra sản phẩm lỗi trong
1
dây chuyền công nghiệp… Tuy nhiên, với những bài toán yêu cầu độ chính xác
cao như xác định biên dạng tâm thất tim người hay biên dạng khối u thì cần một
phương pháp có độ chính xác cao hơn. Bài toán phân vùng (phân đoạn) ảnh ra đời.
Phân vùng ảnh (Image segmentation) là kỹ thuật chia ảnh đầu vào thành nhiều
nhóm con khác nhau.
(segments) segmentation
Cả và object detection đều có
nhiệm vụ là phát hiện vị trí vật thể trong ảnh và gán nhãn phù hợp cho chúng. Tuy
nhiên yêu cầu về độ chính xác của phân vùng ảnh ở mức cao hơn tới từng đơn vị
ảnh pixel. Trong quá trình này, mỗi pixel trong hình ảnh được liên kết với một loại
đối tượng. Nhờ vậy, phân vùng ảnh có thể chỉ ra nhiều thông tin quan trọng của
bức ảnh như vị trí, hình dạng của vật thể và tương ứng tới từng pixel.
Hình 2. 2 n nh Semantic và Instance [18]
Phân đoạ ả
Mục tiêu của bất kỳ mô hình thị giác máy tính nào là phát triển một thuật toán
phát hiện hình ảnh. Nhưng điều đó vẫn chưa đủ việc phân loại và định vị object
-
trong hình ảnh phải có độ chính xác cao. Tùy vào yêu cầu bài toán cụ thể mà chúng
ta sẽ lựa chọn phân vùng cho các nhóm đối tượng khác nhau hay phân vùng cho
từng đối tượng trong bất kì nhóm nào.
Có hai kiểu phân đoạn hình ảnh chính:
- Phân đoạn ngữ nghĩa (semantic segmentation): Phân tách các lớp, các đối
tượng cùng một lớp thì gom vào một nhóm, nghĩa là các pixel thuộc cùng một
lớp (class) sẽ được gán nhãn giống nhau.
+ Ví dụ: theo hình trên, tất cả con cừu (Sheep) được xếp vào một nhóm, hai
nhãn còn lại bao gồm đường (Road) và cỏ (Grass)
1
- Phân đoạn cá thể (instance segmentation): Thực hiện phân vùng với từng
đối tượng trong một lớp, trong đó các pixel thuộc cùng một vật thể được gán
nhãn giống nhau.
+ Ví dụ: mỗi một con cừu là một đối tượng khác nhau, được tách thành 3 nhãn
tương ứng với Sheep1, Sheep2, Sheep3. Hai nhãn còn lại giống như trên.
Nói cách khác, phân đoạn ngữ nghĩa coi nhiều đối tượng trong một nhóm như
một thực thể. Ngược lại, phân đoạn cá thể xử lý nhiều đối tượng của cùng một lớp
như các cá thể riêng lẻ khác nhau. Trong phân vùng ảnh, các pixel được gắn nhãn
giống hệt nhau được coi là thuộc cùng một lớp ngữ nghĩa và sử dụng ID của chúng
phân biệt các cá thể riêng nhau.
Thông thường, phân vùng ảnh được huấn luyện theo phương pháp học có giám
sát. Nghĩa là, chúng ta cần gán nhãn đến từng pixel tương ứng với đối tượng cần
phân vùng.
Hình 2. 3 C u trúc t ng quát bài toán phân vùng nh
ấ ổ ả
Đầu vào (input) của Segmentation là ảnh gốc, đầu ra (output) sẽ là ảnh được
phân vùng - ma trận Mask dự đoán có giá trị từng pixel được gán nhãn trên đó. Ví
dụ như trên đầu ra sẽ thu được hai phân vùng màu trắng với màu xám
hình 2.3,
tương ứng với khoanh vùng tâm thất trái và tâm thất phải. Đó là hai đối tượng khác
nhau cần phân vùng.
2.1.2. ng d
Ứ ụng phân vùng ảnh
Như đã trình bày ở mục 2.1.1, phân vùng ảnh không chỉ xác định vị trí của đối
tượng cần quan tâm mà còn có thể lấy được nhiều thông tin có ích hơn như: biên
dạng, kích thước thực tế, diện tích, chu vi của nó. Từ đấy chúng ta có thể sử dụng
ảnh sau phân vùng để thực hiện những tác vụ khác phụ thuộc theo yêu cầu từng
ứng dụng.
Trong thực tế, phân vùng ảnh được ứng dụng nhiều trong lĩnh vực y học, thiết
bị không người lái, xử lý ảnh vệ tinh,…
a) Trong y học
1
Thuật toán phân vùng hỗ trợ bác sĩ chẩn đoán dựa trên phân tích hình ảnh, đưa
ra quyết định nhanh, chính xác và giảm thiểu việc bỏ sót những tổn thương (phổi,
vú, não, cột sống, gan mật,…). Hiện nay trong y tế, các phương pháp Segmentation
được áp dụng trên cả hình ảnh 2D (ảnh 2 chiều) và 3D (ảnh 3 chiều). Như vậy,
chúng ta có thể phỏng dựng lại kiến trúc các cơ quan, hay mô tế bào trên phần
mềm máy tính một cách trực quan để theo dõi đặc tính, biên dạng của chúng theo
chu kì thời gian thực.
Ảnh y tế rất đa dạng đến từ số lượng lớn bệnh nhân. Điều này vừa giúp cung
cấp nguồn dữ liệu đa dạng để xây dựng các mô hình huấn luyện cho nhiều nhóm
bệnh khác nhau. Nhưng mặt khó khăn đó là dữ liệu không đồng nhất về chất lượng,
kích thước và màu sắc. Chính vì vậy, các nhà nghiên cứu trong lĩnh vực này đã và
đang tìm cách xử lý dữ liệu thô trước khi huấn luyện mô hình để có thể sử dụng
các nguồn dữ liệu này kết hợp với nhau.
Hình 2. 4 ng d ng phân vùng nh não, tâm th t tim, vú, ph bào
Ứ ụ ả ấ ổi, ung thư da, tế
[19,20,21]
Trong lĩnh vự ệ ọ ể ế
c công ngh sinh h c hay phân tích bi u mô, t bào trong y sinh
cũng đượ ứ ộ ệ
c nghiên c u phân vùng sâu r ng. Thông qua vi c khoanh vùng chính
xác từng đối tượ ế ứ ể ễ
ng t bào, các nhà nghiên c u có th d dàng theo dõi tình hình
phát tri c tính c a chúng. Nh ng nh ng thành t u khoa h
ể ặ
n và đ ủ ờ ệ
vi c áp dụ ữ ự ọc máy
tín th thu
h cụ ể là kỹ ật học sâu, lĩnh vực này đã có những bước tiến rõ rệt và hiệu
qu .
ả
b) Ứng dụng trong thiết bị không người lái
Xu thế tự động hóa, thế giới đang quan tâm nhiều các thiết bị UAV hay những
chiếc xe tự hành. Những thiết bị này ngày càng phổ biến, thân thuộc với cuộc sống
con người, có thể thay thế con người vận hành, góp phần xây dựng hệ thống thành
phố thông minh (Smart City). Các hãng xe lớn trên thế giới đều đầu tư lớn để phát
triển các hệ thống lái tự động thông minh như Tesla, VinFast. Trong đó, xe tự hành
2
được xem là một ví dụ điển hình khi thực hiện cả 2 nhiệm vụ đồng thời: tự lái và
khả năng cảm nhận và nhận biết môi trường xung quanh. Do vậy trên xe tự hành,
phải được trang bị hệ thống đầy đủ các cảm biến, camera xử lý tốc độ cao giúp xe
có thể tự đưa ra quyết định thay cho con người.
Hình 2. 5 ng d ng phân vùng hành [22]
Ứ ụ ảnh xe tự
Xe tự hành phải nhận thức liên tục theo thời gian thực để xử lý và phản ứng
nhạy với sự thay đổi không ngừng của ngoại cảnh xung quanh. Do tiêu chí an toàn
được ưu tiên và cần độ chính xác cao trong mọi quyết định nên nó cần phải xác
định đúng các đối tượng xuất hiện trên đường như xe cộ, người đi bộ, vạch kẻ
đường, đèn và biển báo giao thông. Do vậy việc ứng dụng phân vùng ảnh để nhận
dạng đối tượng là cần thiết và được chú trọng. Có thể thấy yếu tố giữ vai trò quan
trọng nhất trong xe tự lái chính là phần mềm. Ngoài xe tự hành nêu trên, trong thực
tế hiện nay nó còn ứng dụng nhiều trong các thiết bị AGV vận chuyển hàng hóa
trong công nghiệp hay xe tự hành làm việc thay con người trong môi trường độc
hại hay do thám trên mặt trăng,…
c) Xử lý ảnh vệ tinh
Hình ảnh bề mặt trái đất được thu thập liên tục bởi các vệ tinh quay quanh trái
đất. Việc xử lý ảnh vệ tinh có ý nghĩa quan trọng giúp con người khám phá thế
giới. Từ các hình ảnh đó, mô hình Segmentation sẽ phân vùng thành từng khu vực
đất liền, biển cả, rừng núi, sông tới những chi tiết nhỏ hơn là tuyến đường, tòa nhà,
khu phố,… Từ đó xây dựng lại bản đồ thế giới mà chúng ta đang sử dụng hiện nay.
Nhờ vậy chúng ta có thể dễ dàng truy cập các ứng dụng bản đồ Online như Google
Maps để tìm đường, địa điểm.
2
Hình 2. 6 ng d ng trong x nh v tinh [23]
Ứ ụ ử lý ả ệ
Ngoài ra, hình ảnh vệ tinh còn được dùng trong việc điều hướng lộ trình di
chuyển và hạ cánh các chuyến bay bằng bản đồ sân bay được tạo từ việc phân vùng
ảnh lấy từ vệ tinh. Ta có thể thấy ở hình trên, các máy bay, đường băng, nhà ga
hay bãi đậu được phân vùng tự động. Nhờ đó việc quản lý, theo dõi số lượng máy
bay ra/vào mỗi ngày được thực hiện một cách nhanh chóng và hiệu quả hơn.
d) Ứng dụng trong nông nghiệp
Robot nông nghiệp là một ngành công nghiệp đang bùng nổ. Nông nghiệp kỹ
thuật số kết hợp các công nghệ kỹ thuật số, chẳng hạn như chú thích hình ảnh, cảm
biến và phần mềm. Nó giúp cải thiện hiệu quả, tính bền vững và lợi nhuận.
Cuộc cách mạng kỹ thuật số đang mang đến một kỷ nguyên mới. Nông nghiệp
kỹ thuật số thay đổi cách chúng ta trồng thực phẩm và quản lý môi trường của
chúng ta. Ví dụ, nông dân có thể quyết định thời điểm thu hoạch cây trồng bằng
cách sử dụng các công nghệ tích hợp theo hướng dữ liệu. Nếu áp dụng thuật toán
Image Segmentation tự động để phân biệt diện tích cây trồng và cỏ, khi cỏ lấn át
diện tích cây trồng thì hệ thống phun thuốc trừ sâu sẽ tự động kích hoạt. Nhờ đó,
h .
ọ có thể tiết kiệm tiền trong việc giảm số lượng lớn thuốc trừ sâu
2
Hình 2. 7 ng d ng trong nông nghi p
Ứ ụ ệ
Ở ớ ề ệ ế ệ ử ụ ệ
các nư c có n n nông nghi p tiên ti n, Robot nông nghi p s d ng trí tu
nhân t o hay th hoàn thành vi c thu ho ng. Giúp nông
ạ ị giác máy tính để ệ ạch cây trồ
dân tăng năng suấ ảm chi phí lao độ ảm tác động đến môi trườ
t, gi ng và gi ng.
2.2 Các phương pháp phân vùng ả ổ ể
nh c đi n
2.2.1 Phân vùng dựa trên ngưỡng
Phân vùng dựa trên ngưỡng (Threshold Based Segmentation) là một dạng phân
vùng ảnh dựa trên việc đặt giá trị ngưỡng để tạo ra một hình ảnh đen trắng (nhị
phân).
Hình 2. 8 nh g nh phân vùng Threshold [24]
Ả ốc và ả
Giá trị mỗi pixel trong ảnh nằm trong dải (0-255), trong đó màu đen = 0, màu
trắng = 255. Để xác định ngưỡng phù hợp, ta dựa trên biểu đồ giá trị của các pixel
trong ảnh, cài đặt giá trị ngưỡng để thu được ảnh phân vùng đối tượng cần quan
tâm rõ nhất.
2
Minh họa: khi xem xét ví dụ trên hình 2.8, nếu đặt ngưỡng có giá trị T = 120.
Những pixel có giá trị 120 sẽ có giá trị 0 và những pixel còn lại sẽ có giá trị 255.
≤
Khi cài đặt ngưỡng bằng 120, đối tượng chỉ phân vùng những vùng nào sáng tốt,
nên chi tiết nhìn khá rõ, tuy nhiên có một vài điểm sáng nhiễu xuất hiện. Lúc đặt
ngưỡng giảm xuống còn 80, chi tiết đối tượng xuất hiện nhiều nhiễu do các vùng
pixel liền kề có giá trị lân cận ngưỡng.
Công thức xác định phân vùng theo ngưỡng được thể hiện như dưới đây:
g(i, j) = 1 for f(i, j) >= T
= 0 otherwise
Do kết quả phụ thuộc giá trị ngưỡng đặt đầu vào nên phương pháp này không
được áp dụng đối với ảnh có độ tương phản giữa nền và vật thể không rõ ràng.
Trong đó có ảnh tâm thất tim, bởi độ tương phản của chúng thay đổi nhiều.
Một số phương pháp phân vùng theo ngưỡng thường dùng như Otsu
Thresholding, Balanced Histogram Thresholding (BHT), …
2.2.2 Phân vùng dựa trên cạnh
Phân vùng d a trên c nh (Edge Based Segmentation): C nh xu
ự ạ ạ ất hiệ ở ị
n v trí
xuất hiện gián đoạn do có sự thay đổi mức xám. Tuy nhiên có nhiều vùng phát
hiện sự gián đoạn đó (phân vùng trung gian), nhưng không phải là cạnh thật. Để
ra được kế ả ố ộ ố ầ
t qu cu i, m t s thao tác c n làm bao g t h
ồ ế
m: k ợp các cạnh tìm được
làm một, để ả
gi m số lượ ạ ợ ột đườ ề ạ
ng phân vùng và t o đư c m ng bao li n m ch quanh
đối tượng.
Hình 2. 9 nh trong nh
Các loại cạ ả
2
Phân vùng d a trên c nh bao g
ự ạ ồm 2 bước:
- Edge Detection: m c tiêu c n tìm các pixel là pixel c ng.
ụ ầ ạnh của một đối tượ
- t
Edge Linking: liên kết các cạnh liền kề và kết hợp để ạo thành toàn bộ đối
tượng. Để ự ệ ệc này, người ta thườ ộ ử ụ
th c hi n công vi ng dùng 2 cách. M t, s d ng
gradient và hướ ể ế ạ ậ ế ạ
ng đ liên k t các c nh lân c n, n u hai c nh có vectơ chỉ phương
gi ng
ống nhau thì chúng có thể được liên kết với nhau. Cách hai là thực hiện bằ
cách sử ụ ển đổ
d ng chuy i HOG.
C l
ạnh tìm được thường có những đặc trưng về “Độ ớn” và “Hướng”. Một số
toán t n c Sobel, Canny, Kirsch, Prewitt,
ử ệ
phát hi ạnh thường dùng như toán tử
Robert và toán tử Laplace.
Hình 2. 10 K t qu phân vùng nh d a trên c nh [25]
ế ả ả ự ạ
2.2.3 Phân vùng d c
ựa trên khu vự
Phân vùng d a trên khu v
ự ực (Region- phân
Based Segmentation): Dùng để
vùng m t nhóm các pixel k nhau và có các thu
ộ ề ộc tính tương đồng về ờng độ
cư ,
màu s c.
ắ
Có 2 nhóm k thu t chính trong phân vùng d a trên khu v c, bao g m:
ỹ ậ ự ự ồ
- Phát tri n khu v c (Region growing method):
ể ự
Đố ớ ỹ
i v i k thuật này, chúng ta bắt đầ ớ ộ ố
u v i m t s pixel làm pixel kh o (hay
ởi tạ
pixel g n hành ki m tra các pixel li n k . N u pixel này tuân theo
ốc) và sau đó tiế ể ề ề ế
các quy t c bi c, thì nó s c thêm vào vùng c u. Công vi
ắ ết trướ ẽ đượ ủa pixel ban đầ ệc
s ti p t ng nào n a.
ẽ ế ục cho đến khi không tìm được điểm tương đồ ữ
2
Hình 2. 11 Phân vùng khu v c, (a) Region growth, (b) Region splitting and merging
ự
[26]
- Phân tách và hợp nhất khu vực (Region splitting and merging method): đầu
tiên hình ảnh đượ ụ
c ch p một vùng. Nếu không thỏa mãn theo các quy tắc được xác
định trướ ẽ ợ ế ụ ụ ắ
c, region s đư c chia thành 1/4 và ti p t c áp d ng các quy t c. Công
vi c này l n khi không s
ệ ặp lại đế ự phân chia được nữa.
Hình 1 pháp phân tách và xác l
. Phương ập vùng
Điề ệ ể ị ệt đố ủ ữ ố ủ ớ ấ
u ki n: Ki m tra giá tr tuy i c a gi a sai s c a Zmax (pixel l n nh t)
và Zmin (pixel nhỏ nhất) trong một vùng bé hơn hoặ ằ ị ngưỡ
c b ng giá tr ng
(Threshold) thì vùng đó không yêu cầ ỏ
u chia nh thêm.
|Zmax - eshold
Zmin| ≤ Thr
Zmax → Maximum pixel intensity value in a region
Cả hai phương pháp nêu trên đề ặp đi lặ ạ ệ ự
u là quá trình l p l i. Công vi c này th c
hiện khá tốn thời gian để phân vùng ra đượ ế ả
c k t qu cuối cùng. Tương tự như phân
vùng d ng vùng ranh i gi t th và n n không rõ ràng
ựa trên ngưỡ ở ữ
ng, nh giớ ữa vậ ể ề
thì nó không ho ng hi u qu . Do v
ạ ộ
t đ ệ ả ậy, phương pháp này cũng không phù hợp
trong phân vùng nh tim yêu c chính xác cao.
ả ầu độ
2
2.2.4 Phân vùng d thu m
ựa trên kỹ ật phân cụ
Phân c ng khá ph n trong phân vùng nh. Ta
ụm (Clustering) được sử ụ
d ổ ế
bi ả
thườ ặ ật toán KMeans Clustering để phân đoạ ả
ng g p thu n nh màu.
D c
ựa trên cường độ ủa các pixels trên ảnh, thuật toán sẽ phân thành một cụm
(clusters). Sau đó dự ủa chúng để phân đoạ ế ằ ế
a trên centroids c n ti p b ng cách ti n
hành tính toán kho ng cách c t c m t tìm nh m có
ả ủa tấ ả các điể ới các cụm để ững điể
kho ng cách nh nh p l n khi thu t toán h i t .
ả ỏ ất. Lặ ại quá trình này cho đế ậ ộ ụ
Hình 2. 12 Phân c -means clustering [27]
ụm K
Thu n hình nh ho
ật toán phân đoạ ả ạt động như sau:
- u tiên, chúng ta c n ch n giá tr c a K trong phân c m K-mean.
Đầ ầ ọ ị ủ ụ
- Ch n m i pixel (các giá tr RGB).
ọ ột vectơ đặc trưng cho mỗ ị màu như giá trị
- Xác đị ộ
nh đ tương tự b/w vectơ đặc trưng như khoảng cách Euclide để đo độ
tương tự ấ ỳ
b/w hai pixel b t k .
- Áp d t toán K-mean cho các trung tâm c m
ụng thuậ ụ
- Áp d t toán c a thành ph i.
ụng thuậ ủ ần được kết nố
- Kết hợp bất kỳ thành phần nào có kích thướ ỏ
c nh hơn ngưỡ ớ ầ
ng v i thành ph n
li n k v i thành ph n khi không th k t h p nhi u
ề ề tương tự ớ ần đó cho đế ể ế ợ ề hơn.
V t
ậy làm sao để ối tưu giá trị K?
Đố ớ ộ ạ ậ ụ ất đị ộ ố thường đượ
i v i m t lo i thu t toán phân c m nh nh, có m t tham s c
g nh s ng c n phát hi n. Chúng ta có th có giá tr
ọi là K xác đị ố lượ ụm cầ ệ ể ị được xác
định trướ ủ ế ế ứ ề ề ữ
c c a K, n u chúng ta có ki n th c mi n v d li u
ệ mà nó chứa bao nhiêu
2
danh m c khi tính giá tr c tiên chúng ta c n xác
ục. Nhưng trướ ị ố ủa K, trướ
t i ưu c ầ
đị ụ ậ ụ ể được đưa ra bở
nh hàm m c tiêu cho thu t toán trên. Hàm m c tiêu có th i:
 =   |

 

󰆓
  
󰆓
   | PT 2.1
M t
ột cách tố ể
t đ tìm giá trị ối ưu củ ự ọ ị ở
a K là l a ch n giá tr kh i tạ ạ
o trong ph m
vi giá tr 10) và v a kho ng cách WCSS so v
ị ỏ hơn (1
nh - ẽ đồ ị ủ
th c ả ới K. Điểm mà
đồ ị ị
th b b nh xu t
ẻ cong mạ ống có thể được coi là giá trị ố ủa K. Phương pháp
i ưu c
này đượ ọi là phương pháp El
c g bow.
Hình 2. 13 nh g nh l -Mean clustering [28]
Ả ốc và ả ọc K
Nhìn vào k t qu
ế ả phân vùng phân cụ ở
m trên, có thể thấy các vùng chính được
phân vùng khá rõ. Tuy nhiên ng ph n rìa (m t, vùng m t) b n sang màu
ở ữ
nh ầ ặ ắ ị ẫ
l
khác.
Ưu điể ủ ụng đượ ả ạ ế ủ
m c a k-mean clustering là áp d c cho nh màu. H n ch c a nó
là t n kém chi phí tính toán. B i vi c tính toán kho ng cách t tâm t i toàn b
ố ở ệ ả ừ ớ ộ các
pixels trong c m s t n nhi u th i gian.
ụ ẽ ố ề ờ
Dưới đây là kế ả ả ằ ộ ố phương pháp phân vùng cổ
t qu phân vùng nh b ng m t s
điển như: Threshold, Edge-base.
Hình 2. 14 T ng h p phân vùng nh tâm th ng và Edged-Sobel
ổ ợ ả ất LV bằng ngưỡ
2
D th
ựa vào ảnh gốc và nhãn thực tế, có thể ấy hình nh MRI tâm th
ả ất tim có độ
tương phản thay đổ ều, đường bao contour cũng không nhìn rõ do có nhiề
i khá nhi u
thành ph u xu n xung quanh. Có th n th a trên
ần nhiễ ất hiệ ể ậ
nh ấy phương pháp dự
ngưỡ ế ả ả ấ ữ ự
ng Threshold cho k t qu phân vùng c tâm th t và nh ng vùng khu v c lân
c l ng
ận có giá trị ớn hơn ngưỡng cài đặt T. Còn phương pháp phân vùng cạnh bằ
Sobel thì chưa thự ự ệ ả
c s hi u qu , do độ tương phả ữ ối tượ ề
n gi a đ ng quan tâm và n n
kém, d n không nhìn rõ phân vùng c nh c ng c n gán nhãn.
ẫn đế ạ ủa đối tượ ầ
Qua phân tích m t s nh c n, có th n th
ộ ố phương pháp phân vùng ả ổ điể ể ậ
nh ấy
rằng các phương pháp này khá đơn giản, hầu hết được tích hợp sẵn trong bộ thư
vi v thu
ện mã nguồn mở. Tuy nhiên, hiệu quả ẫn chưa tốt do kết quả phụ ộc nhiều
vào màu s n gi ng và n n. M
ắc, độ tương phả ữ ối tượ
a đ ề ột số phương pháp yêu cầu
kh ng tính toán l n, th i gian x lý lâu không phù h p v i nhi u ng d ng y
ối lượ ớ ờ ử ợ ớ ề ứ ụ
t ng hi i s d ng AI
ế. Như vậy theo xu hướ ện nay, các phương pháp phân vùng mớ ử ụ
đang phát triể ừng để
n không ng đạ ệ ả ế con ngườ ủ
t hi u qu cao thay th i làm th công.
Nh y s
ững phương pháp đấ ẽ được trình bày dưới đây.
2.3 Các phương pháp phân vùng ả ự
nh d a trên AI
 Cơ sở lý thuyết
Phân vùng dựa trên mạng nơ ron nhân tạo (Artificial Neural Network Based
-
Segmentation) sử dụng phương pháp học sâu để tự động phân vùng một hình ảnh
và xác định các đặc trưng khác nhau của nó trong vùng quan tâm. Các mô hình
học sâu đều bắt nguồn và phát triển từ mạng nơ ron tích chập (CNN
- - convolutional
neural networks).
CNN bi
là một trong những mô hình phổ ến nhất trong học sâu, được dùng
trong nhiều bài toán phân loại, nhận dạng ảnh hay ứng dụng trong xử lý ngôn ngữ
tự nhiên (âm thanh). Kiến trúc nguyên thủy của CNN được giới thiệu vào năm
1980. Đến năm 1998 được Yan LeCun huấn luyện với thuật toán Back-propagation
cho bài toán nhận dạng chữ viết tay. Cho đến khi AlexNet được xây dựng vào 2012
và sử dụng card đồ họa để đẩy nhanh quá trình huấn luyện thì mới đạt được kết
quả tốt nhất trong cuộc thi Computer Vision thường niên ImageNet, từ đó đã tạo
nên làn sóng sử dụng mô hình Machine Learning, Deep Learning. Từ CNN cơ bản,
người ta có thể tạo ra nhiều kiến trúc mạng khác nhau từ đơn giản đến phức tạp
như VGGNet (2014), GoogleNet (2014), ResNets (2015), DenseNet (2016).
2
Cấu trúc mô hình CNN và các khái niệm cơ bản:
Hình 2. 15 C u trúc m ng CNN trong classification
ấ ạ
Cấu trúc CNN bao gồm các lớp: Convolution layer + Nonlinear layer, Pooling
layer, Fully connected layer. Ảnh đầu vào sẽ được đưa qua tầng tích chập + hàm
phi tuyến, rồi đưa tới lớp pooling layer. Cấu trúc này có thể được lặp lại nhiều lần
trong mạng để trích xuất đặc trưng (feature) từ ảnh. Cuối cùng sẽ tổng hợp bởi
fully connected layer và softmax để đưa ra kết quả phân loại.
- Convolution Layer (lớp tích chập): Đây là lớp đầu tiên của của mô hình CNN
nhưng có vai trò quan trong nhất, có nhiệm vụ là trích xuất các đặc trưng từ hình
ảnh. Những đặc trưng này bao gồm góc, cạnh, màu sắc, hoặc đặc trưng phức tạp
hơn như bối cảnh của ảnh.
Tham s c (Filter) hay g i tên khác
ố ộ ọ
chính là các b l ọ là Kernel, đó là các bộ
l h l
ọc có thể ọc được. Các bộ ọc có kích thước hai chiều 3x3 hoặc 5x5 (nhận thấy
filter c ng tích ch u là s
ủa tầ ập đề ố ẻ ộ ố ả ầ ầu vào. Để
l ) và có đ sâu gi ng nh đ u vào đ
thu đượ ứ
c Feature Map ch a các đặc trưng, ta cho bộ ọ
l c trượ ầ
t d n theo chiều ngang
và d c trên nh.
ọ ả
Hình 2. 16 ho ng c a l p Convolution
Mô tả ạt độ ủ ớ
Quá trình trượ ộ ọ ụ ộ ị ủ
t các b l c ph thu c giá tr c a:
+ Padding: quy đị ộ đệ ủ ộ ọ
nh b m c a b l c
+ Stride: quy định bướ ả ự ệ
c nh y trong quá trình th c hi n.
3
- Nonlinear Layer (Hàm kích hoạt phi tuyến): Hàm kích hoạt được thay từ
hàm hàm Sgn b ng các hàm phi tuy t s hàm phi tuy ng dùng là
ằ ến khác. Mộ ố ến thườ
Sigmoid, tanh, ReLU, Leaky ReLU, Maxout, ELU,…
Hình 2. 17 Các hàm phi tuy ng dùng
ến thườ
ReLU (Rectified Linear Units) đượ ớ ệ ở ạ
c gi i thi u b i E.Hinton, là hàm kích ho t
ph bi n nh y u s d ng 2 hàm phi tuy n sigmoid hay
ổ ế ất cho CNN. Trước đó, chủ ế ử ụ ế
tanh. Hàm ReLU đượ ặ ầ ập, nó đượ ề ở
c đ t ngay sau t ng tích ch c dùng nhi u b i tính
đơn giả ạ ế ạ ế ả ốt hơn.
n, giúp h n ch tình tr ng vanishing gradient và cho k t qu t
- Pooling Layer: thường đặt giữa các lớp tích chập, nhằm giảm kích thước dữ
liệu nhưng vẫn giữ được các thuộc tính quan trọng. Nhờ vậy làm giảm việc tính
toán trong mô hình. Hoạt động của nó cũng tương tự phép tính convolution.
Một số loại pooling layer phổ biến là max pooling. Hoạt
- -
pooling, average
động của Pooling được mô tả như hình 2.18, trượt filter 2x2 có stride = 2x2 rồi
tính giá trị lớn nhất, hay giá trị trung bình cho vùng ảnh đó.
Hình 2. 18 S d ng Max pooling và Average pooling
ử ụ
M d li
ục đích của việc sử ụng tầng pooling là giảm chiều dữ ệu, làm hạn chế
hi ng overfit và gi m th i gian hu n luy n.
ện tượ ả ờ ấ ệ
- Fully Connected Layer (Dense): Trong bài toán phân loại, thi đây là tầng
cuối cùng của mô hình. Nhiệm vụ của nó là chuyển ma trận đặc trưng ở tầng trước
thành vector chứa xác suất của các đối tượng cần được dự đoán.
3
Hình 2. 19 C p Fully Connected trong CNN
ấu trúc các lớ
Các lớp Fully Connected đượ ế ợ ớ
c k t h p v i các đặc trưng học đượ ừ
c t tầng tích
chậ ạ ới nhau để
p l i v t d
ạo ra một mô hình. Và sử ụng softmax hoặc sigmoid để đưa
ra k t qu phân lo i u ra.
ế ả ạ ở đầ
- Deconvolutional Neural Network (DNN): Mạng giải chập sử dụng khi
chúng ta muốn có upsampling để có được kích thước đầu ra lớn hơn. Ngược lại
với Convolution - một quá trình thu nhỏ kích thước đầu ra. Nó còn được gọi là tích
chập lên (Up Convolution) và tích chập chuyển vị (Transposed Convolution).
Hình 2. 20 Hình nh so sánh ConvNet và DeconvNet
ả
+ Upsampling 2D Layer: Nhi m v
ệ ụ ủ
c a khối này là làm tăng kích thướ ả
c nh ở
đầ ộ ố
u ra. M t s phương pháp upsampling là Max-Unpooling, Bed of Nails, Bilinear
Interpolation.
Hình 2. 21 ng c a Upsampling
Hoạt độ ủ
3
+ Tích chập chuyển vị (Transposed Convolution): dùng trong mạng giải chập
(DNN) để mapping lại đặc trưng (đã được trích xuất ở lớp tích chập) sang giá trị
pixel trên ảnh đầu ra.
Hình 2. 22 p chuy
Phép tích chậ ển vị
Dưới đây là công thức tính kích thước đầu ra mỗi phép chuyển vị, khi biết
trước W F P
- Image Width, S - Stride, - Filter, - Padding:
Wout = (W - 1) x S + F + P
Ví d : W = 4, S = 2, P = 1, F = 2 thì output là Wout = (4 - 1) x 2 + 2 + 1 = 9
ụ
+ Tích chập giãn nở (Dilation Convolution): là một kỹ thuật mở rộng Kernel
ở đầu vào bằng cách chèn các lỗ giữa các phần tử liên tiếp của nó. Phương pháp
này thường được áp dụng trong các mạng giải chập.
Hình 2. 23 p giãn n
Phép tích chậ ở
Tích ch p giãn n giúp m ng vùng c bao ph mà không
ậ ở ở ộ
r ảnh đầu vào đượ ủ
cần Pooling. Mục tiêu là để cung cấp thêm thông tin từ đầu ra thu được với mọi
phép toán tích ch p m nhìn r
ập. Phương pháp này cung cấ ột trường ộng hơn với
cùng m t kh ng tính toán.
ộ ối lượ
Cấu trúc tổng quát mô hình phân vùng ảnh dựa trên AI:
Cấu trúc mạng trong một bài toán Image Segmentation cơ bản gồm hai khối:
Encoder và Decoder.
3
- Encoder: Có kiến trúc gần giống mạng CNNs classification nhưng được lược
bỏ phần kết nối đầy đủ (FC layer). Nhiệm vụ chính của Encoder là trích xuất đặc
trưng của ảnh đầu vào như: hình dạng, màu sắc, cạnh,…
- Decoder: có kiến trúc dạng đối xứng với Encoder. Để sinh ra ảnh chứa ma
trận dự đoán đầu ra (output) có kích thước bằng ảnh đầu vào mà không mất mát
thông tin, khối Decoder sử dụng các đặc trưng được trích xuất từ khối encoder,
phân loại các pixel và tạo lại ảnh phân đoạn của ảnh đầu vào.
Một số mô hình hiện đại dựa trên kỹ thuật học sâu trong Segmentation như
FCN, Unet, Gated SCNN [9], DeepLab, Mask R
- -CNN [11],… Để hiểu hơn về các
mô hình này, chúng ta sẽ tìm hiểu sâu hơn ở phần sau.
2.3.1 FCN (Fully Convolutional Network)
FCN (Fully Convolutional Network) được tạo ra bởi J. Long vào 2015 [8], là
một mạng được xây dựng dựa trên kiến trúc CNN nhằm mục đích phân vùng một
hình ảnh bằng cách dự báo nhãn cho từng pixel trên ảnh đầu vào. Ban đầu mạng
CNN được dùng trong bài toán Classification, để có thể ứng dụng trong bài toán
Segmentation tác giả đã lược bỏ khối Fully Connected (Dense) thay thế bằng
Upsampling để thu được ảnh phân vùng output có kích thước bằng ảnh đầu vào.
Bởi vì điều quan trọng trong một mạng segmentation là kích thước hình ảnh ra
phải giống với kích thước ảnh vào.
FCN được dùng để phân vùng ngữ nghĩa Semantic Segmentation. Kiến trúc
-
cơ bản một mô hình Semantic Segmentation bao gồm một bộ encoder (bên trái) và
decoder (bên phải).
- Khối Encoder có nhiệm vụ trích xuất các đặc trưng từ hình ảnh thông qua
việc học các bộ lọc khác nhau. Gắn liền với thuật ngữ Downsampling.
+ Có cấu trúc layer CNN ở vị trí đầu tiên, như AlexNet, VGG16, VGG19,
ResNet.
+ Downsampling: Khi đi qua các lớp Pooling + Convolution kích thước của
đầu vào bị giảm. Các lớp pool + conv sẽ trích xuất thông tin trong ảnh.
3
Hình 2. 24 n trúc m ng FCN trong phân vùng nh [8]
Kiế ạ ả
- Khối Decoder có nhiệm vụ tạo ra đầu ra cuối cùng thường là một ma trận dự
đoán chứa đường bao (Contour) của đối tượng. Để đảm bảo kích thước ảnh ở đầu
ra, ta cần thực hiện Upsampling bằng Pixelwise output (Label map).
+ Upsampling: Dùng để khôi phục thông tin không gian của ảnh theo các phân
vùng dự đoán được. Trong quá trình downsampling, thông tin sẽ bị mất mát. Do
đó để khôi phục lại một phần thông tin bị mất, ta sẽ sử dụng lớp tích chập chuyển
vị để giải chập thông tin thành segmentation map.
M l phân
ột vấ ề
n đ ớn với Downsampling trong mạng FCN là nó làm giảm độ
giải củ ầu vào, do đó trong quá trình upsampling rất khó để
a đ tái tạo các chi tiết
tốt hơn ả
ngay c sau khi sử ụ
d ng các kỹ thuật phức tạp như Transpose Convolution.
Mộ ể
t cách đ giải quyết là thêm kết nối tắt ‘Skip Connection’ khi Upsampling ở
các l c và t
ớp trướ ổ ợp 2 feature maps. Điề ấp đủ
ng h u này cung c thông tin cho các
l t gi n chính xác.
ớp sau này để ạo ranh ới phân đoạ
2.3.2 Unet
Unet là một mạng nơ ron tích chập được phát triển bởi Olaf Ronneberger [9]
-
và các cộng sự dùng để phân vùng hình ảnh y sinh. Kiến trúc này đã giành chiến
thắng trong cuộc thi theo dõi tế bào trong Hội nghị chuyên đề quốc tế về hình ảnh
y sinh (ISBI) năm 2015 ở nhiều hạng mục với tỷ lệ lớn. Ở thời điểm được công bố,
Unet đã vượt trội hơn so với phương pháp tốt nhất trước đó (Sliding-window
convolutional network) trong thử thách ISBI.
Kiến trúc Unet dựa trên mạng tích chập đầy đủ FCN, tuy nhiên nhánh bên phải
của mạng đã được sửa đổi và mở rộng để phân đoạn chính xác hơn. Mục đích của
Unet là nắm bắt cả các đặc điểm của ngữ cảnh cũng như định vị chính xác. Quá
trình này được hoàn thành thành công bởi kiểu kiến trúc của nó. Mạng gồm 2
nhánh đối xứng như chữ U và nên được đặt tên là U Net. Về nguyên tắc, U
- -Net là
mạng dựa trên Encoder Decoder, nhưng sự khác biệt của nó bắt nguồn từ các
-
3
Skip-connection giữa các lớp layers được sắp xếp đối xứng của bộ mã hóa và bộ
giải mã. Kiến trúc của nó được tạo thành từ hai phần:
- Encoder (Contraction Path): làm nhiệm vụ trích xuất đặc trưng từ ảnh đầu
vào để tìm ra bối cảnh của hình ảnh. Contraction Path được tạo từ mạng tích chập
giống CNN bao gồm việc ghép nối lặp lại các phép tích chập, kết hợp theo sau là
một hàm kích hoạt ReLU và toán tử Max-pooling. Trong quá trình này, thông tin
kích thước bị giảm đi, trong khi số lượng đặc trưng được tăng lên. Do vậy nhánh
này được gọi với tên khác là Contraction (phần thu hẹp) vì kích thước chiều dài và
chiều rộng của các layers giảm dần.
- Decoder (Expansion Path): có nhiệm vụ giải mã đặc trưng, xác định chính
xác vị trí đối tượng. Đóng vai trò như khối giải mã, việc kết hợp các đặc trưng và
thông tin không gian từ layer của nhánh Contraction. Quá trình Upsampling được
áp dụng giúp cho kích thước layer tăng dần lên. Đầu ra của khối ta thu được một
ma trận mask đánh dấu nhãn dự báo của từng pixel có kích thước giống ảnh input.
Hình 2. 25 n trúc m ng Unet [9]
Kiế ạ
Unet được dùng để phân vùng kiểu Semantic. Đặc trưng riêng trong cấu trúc
của Unet đó là áp dụng kết nối tắt đối xứng giữa layer ở nhánh Encoder với layer
nhánh Decoder. Việc sử dụng kết nối tắt trong kiến trúc nhằm bảo toàn sự mất mát
thông tin từ các layer trước để đạt hiệu quả tổng thể tốt hơn. Nó được thử nghiệm
chứng minh là tạo ra kết quả tốt hơn và dẫn đến sự hội tụ mô hình nhanh hơn.
So với mô hình được trình bày trước đó, kết quả thực nghiệm cho thấy Unet
tốt hơn mô hình FCN về độ chính xác trong phân vùng ảnh. Song hạn chế rõ ràng
của kiến trúc UNet là việc học có thể chậm hơn khi những layer giữa học sâu với
3
những trọng số vô hiệu. Mặc dù có độ chính xác khá tốt nhưng Unet có hạn chế là
tốc độ thấp. Do đó với các ứng dụng yêu cầu tốc độ cao, xử lý thời gian thực như
xe tự hành, máy bay trinh sát thì nó không phù hợp để áp dụng.
Trong y h c hi ng ph n nh
ọ ệ ại, Unet là mô hình đượ
n đ c sử ụ
d ổ ế
bi ấ ể
t đ phân
đoạ ả ế ện nay đã có nhiề ế ể đượ ể ừ
n hình nh y t . Hi u bi n th c phát tri n t mô hình Unet
như Unet++ (Zhou et al. 2018), Unet3+ (Huang et al. 2020), ResUnet (Liu al.2020),
MultiResUnet (Ibtehaz and Rahman, 2020), Dense Unet (Li et al. 2018), DC
- -Unet
( Lou et al. 2021), DR-Unet (N.Minh, D.Hung 2021),…
Hình 2. 26 t l các nghiên c u mô hình m ng DL trong Segmentation t 2016 -
Biểu đồ ỷ ệ ứ ạ ừ
2022 [14]
D a theo th c th hi n có th
ự ống kê trên trang paperwithcode đượ ể ệ ở hình 2.26, ể
thấy số lượng các nghiên cứu về Unet chiếm phần lớn trong bài toán phân vùng
ả ững năm gần đây. Trong đề ận văn này, học viên đã lự ọ ế
nh nh tài lu a ch n ki n trúc
này và đóng góp đề ấ ả ến nó để ả ệ ả
xu t c i ti phân vùng nh tim hi u qu hơn.
2.3.3 Gated-SCNN
Gated-SCNN (Gated Shape CNNs) [29] được đưa ra bởi Takikawa năm 2019,
là kiến trúc CNN hai luồng, ứng dụng trong Semantic Segmentation. Luồng hình
dạng được sử dụng để xử lý thông tin song song với luồng cổ điển (classical). Chìa
khóa của kiến trúc này là một kiểu cổng mới (Gate) kết nối các lớp trung gian của
hai luồng. Việc sử dụng các hàm kích hoạt cấp cao hơn trong luồng cổ điển để
chặn các kích hoạt cấp thấp hơn trong luồng biên dạng, loại bỏ nhiễu một cách
hiệu quả và giúp luồng hình dạng xử lý thông tin liên quan đến biên dạng.
Cấu trúc của mô hình Gated SCNN được mô tả như dưới đây:
-
- Regular Stream: là mạng tích chập CNN Segmentation tiêu chuẩn, có cấu
trúc dạng ResNet hoặc VGG.
- (Gated
Shape Stream: xử lý các đặc trưng đến biên dạng bằng GCL
Convolution Layer) và giám sát cục bộ. Sau đó kết hợp những đặc trưng semantic-
3
region từ luồng thứ nhất và đặc trưng ranh giới từ luồng biên dạng để tạo ra kết
quả phân vùng, đặc biệt là xung quanh ranh giới. Trong cấu trúc của khối này, bao
gồm vài khối Residual (res) xen kẽ với các lớp tích chập GCL. Tác giả sử dụng
hàm mất mát Cross entropy có trên ranh giới đầu ra để giám sát luồng biên dạng.
-
- Fusion Module: kết hợp đặc trưng khu vực với đặc trưng đường bao để tạo
ra một đầu ra phân vùng ngữ nghĩa, qua việc sử dụng ASPP (Atrous Spatial
Pyramid Pooling). Điều này cho phép mô hình đề xuất lưu trữ thông tin ngữ cảnh
hay thông tin về không gian. Khối này được ứng dụng nhiều trong các biến thể của
DC-Unet.
Hình 2. 27 n t a Gated – –
Kiế rúc củ SCNN Towaki Takikawa [29]
Tác giả đã thử nghiệm và phát triển một kiến trúc hiệu quả cao giúp việc dự
đoán sắc nét hơn biên dạng xung quanh đối tượng và tăng đáng kể hiệu suất trên
các đối tượng mỏng và bé. Phương pháp này đạt được kết quả tốt trên tập dữ liệu
Cityscapes, được đánh giá qua hệ số mIoU, F score, về cả chất lượng và đường
-
bao so với các đường chính. Theo như kết quả bài báo, tác giả so sánh với mô hình
DeepLab V3+, cho thấy kết quả phân vùng của mô hình này đạt chất lượng tốt hơn
với những chi tiết nhỏ (như con người, cột đèn giao thông).
2.3.4 DeepLab
Mô hình DeepLabV1 và V2 được công bố lần đầu vào năm 2016 bởi nhóm tác
giả L. Chen, G. Papandreou. Nó đã đạt được những kết quả ấn tượng khi đánh giá
trên tập dữ liệu của Pascal VOC 2012. Trong kiến trúc DeepLab, tác giả sử dụng
nhiều tích chập hỗn hợp Atrous Convolution thay cho các tích chập chuyển vị
Transposed Convolution - thường dùng ở các phương pháp trước đó. Ngoài ra, tác
giả cũng áp dụng phương pháp Conditional Random Field (CRF) để tinh chỉnh kết
quả dự báo chuẩn xác hơn.
3
Hình 2. 28 n trúc c a DeepLab – L. Chen [27]
Kiế ủ
Việc sử dụng các Layer CRF liên tiếp làm phân vùng ảnh đầu ra trở nên mịn
hơn và rõ ràng hơn ở đường biên. Do đó, vùng đường biên không còn bị nhòe sáng.
Hình 2. 29 K t qu mô hình áp d ng CRF
ế ả ụ
Nh h c
ận thấy một số ạn chế ủa 2 mô hình DeepLab trước đó là việc mất mát
thông tin do feature map ngày càng nh u l p tích ch p. Tác gi
ỏ hơn sau nhiề ớ ậ ả đã
c -
ải tiến phiên bản tiếp theo DeepLab V3. Trong đó thự ệ ề
c hi n nhi u module ASPP
song song v i nhi u h scale khác nhau và k t h p v i bat
ớ ề ệ ố
s ế ợ ớ ch normalization
(BN). C i ti n th
ả ế ứ ợ
hai là lư c bỏ ại bước sau cùng giúp tăng tố ộ
-
FC CRF t c đ tính
toán.
2.3.5 Mask R-CNN
Mask R-CNN [35] được phát triển từ mô hình Faster R-CNN - đây là mô hình
nổi tiếng trong bài toán phát hiện đối tượng (Object Detection). Trong mô hình
Faster R-CNN, đầu vào là ảnh, đầu ra là Bounding box của từng đối tượng. Còn
trong mô hình Mask R-CNN đầu ra là ma trận Mask chứa phân vùng đối tượng.
3
Hình 2. 30 n trúc m ng Faster R-
Kiế ạ CNN
Trong khi Unet hay Deeplab được dùng để phân đoạn ngữ nghĩa Semantic thì
mô hình này dùng trong phân đoạn cá thể Instance Segmentation. Nghĩa là mô hình
này có khả năng phân vùng chính xác đến từng cá thể (object) riêng biệt trong ảnh.
Hình 2. 31 n trúc m ng Mask R-
Kiế ạ CNN
Điểm khác nhau so với kiến trúc Faster R CNN thêm một lớp
- -
CNN là Mask R
binary classification để phân loại từng pixel của bức ảnh xem có thuộc vào một
đối tượng hay không. Nếu pixel thuộc vào một đối tượng thì gán nhãn cho nó, nếu
pixel thuộc nhiều đối tượng khác nhau thì gán nhãn cho nó theo đối tượng có độ
tín nhiệm (confidence) cao nhất. Các pixel thuộc vào các bounding box khác nhau
sẽ thuộc các cá thể khác nhau cho dù các bounding box này có cùng nhãn. Làm
như vậy với tất cả các pixel của bức ảnh ta được phân vùng cá thể.
4
CHƯƠNG 3. XÂY DỰNG MÔ HÌNH
3.1 Chuẩn bị công cụ
3.1.1 Yêu cầu dữ liệu
a) Đối tượng nghiên cứu
Có nhiều phương pháp để chụp ảnh tim trong y tế như chụp bằng cộng hưởng
từ (MRI), CT Scan, siêu âm,… Trong đó phương pháp lấy ảnh bằng MRI được sử
dụng phổ biến nhất nhờ chất lượng hình ảnh của nó có độ chi tiết tốt hơn so với
hai phương pháp còn lại. Khi phân tích ảnh tim để phục vụ công việc chẩn đoán
bệnh và đánh giá tim có hoạt động bình thường không, bác sĩ thường quan tâm các
vùng như: tâm thất trái (Left ventricle), tâm thất phải (Right ventricle), vành cơ
tim (Myocardium), cũng như biên dạng của chúng: nội tâm mạc (Endo-cardium),
ngoại tâm mạc (Epicardium).
Hình 3. 1 Các phân vùng trong nh tim MRI [38]
ả
Mục tiêu của đề tài là phân vùng ảnh tâm thất tim tự động dựa trên mô hình
học sâu, do vậy đối tượng cần quan tâm trong đề tài này là tâm thất, cụ thể là tâm
thất trái cùng nội tâm mạc (màu đỏ) và ngoại tâm mạc (màu xanh).
Như đã phân tích từ đầu, nguồn dữ liệu được dùng cho huấn luyện ảnh hưởng
rất nhiều đến hiệu quả một mô hình Deep learning. Thứ nhất, để phục vụ cho huấn
luyện mô hình Segmentation, chúng ta cần chuẩn bị tập dữ liệu (Dataset) bao gồm
2 thông tin Origin image (ảnh gốc) và Ground truth (nhãn). Nếu dữ liệu đầu vào
đẹp, độ tương phản tốt thì có lợi nhiều cho mô hình trong lúc huấn luyện. Ngoài
ra, việc gán nhãn chuẩn cũng là một yêu cầu cốt lõi của bài toán Segmentation do
yêu cầu độ chính xác của nó đảm bảo tới từng pixel. Do đó cần thiết phải có đội
ngũ chuyên gia hoặc y bác sĩ có chuyên môn thực hiện các công việc này. Thứ hai,
dữ liệu huấn luyện phải đủ lớn để mô hình có thể học sâu tốt. Trong học máy,
người ta thường sử dụng các kỹ thuật tăng cường ảnh bằng cách tác động ảnh đầu
vào như thay đổi độ tương phản, xoay lật ảnh, thêm nhiễu vào,… nhằm bổ xung
-
thêm dữ liệu huấn luyện.
4
b) Dữ liệu huấn luyện
Một số bộ dữ liệu ảnh tim hiện nay:
- -
SunnyBrook Cardiac Data (SCD) 2009: là tập dữ liệu Thử thách phân đoạn
tâm thất trái MRI. Gồm 45 mẫu cine MRI từ hỗn hợp các bệnh nhân và bệnh
- lý:
khỏe mạnh, phì đại, suy tim có nhồi máu và suy tim không nhồi máu. Tập hợp con
của tập dữ liệu này lần đầu tiên được sử dụng trong thử thách phân đoạn cơ tim tự
động từ MRI trục ngắn, được tổ chức bởi hội thảo MICCAI vào năm 2009. Tổng
cộng số ảnh trong tập dữ liệu SCD là hơn 230 ảnh.
Hình 3. 2 D u nh g c và nhãn trong SCD
ữ liệ ả ố
- -
Automated Cardiac Diagnosis Challenge (ACDC) 2017: Bộ dữ liệu ACDC
tổng thể được tạo ra từ các bài kiểm tra lâm sàng thực tế có được tại Bệnh viện Đại
học Dijon. Dữ liệu thu được được ẩn danh hoàn toàn và được xử lý theo các quy
định do ủy ban đạo đức địa phương của Bệnh viện Dijon (Pháp) đặt ra. Hình ảnh
Cine MR thu được trong quá trình nín thở với kiểm tra hồi cứu hoặc tương lai và
với trình tự SSFP theo hướng trục ngắn, sử dụng 2 máy quét MRI có cường độ
khác nhau. Đặc biệt, một loạt các lát cắt trục ngắn bao phủ tâm thất trái từ đáy đến
đỉnh, với độ dày 5 mm (hoặc 8 mm) và đôi khi có khoảng cách xen kẽ là 5 mm
(sau đó cứ 5 hoặc 10 mm thì có một hình ảnh, theo kỳ kiểm tra). Cơ sở dữ liệu
được lấy từ hơn 150 bệnh nhân, được lưu dưới dạng ảnh thô qua định dạng Nifti,
với tổng số ảnh lên tới hơn 1900 ảnh MRI.
4
Hình 3. 3 D u nh g c và nhãn n c Endo và ngo c Epi trong
ữ liệ ả ố ội tâm mạ ại tâm mạ
ACDC
- MICCAI 2012 RV: lấy ra từ “The Right Ventricle Segmentation Challenge”
gồm dữ liệu phân vùng cho nội tâm mạc và ngoại tâm mạc RV (Right Ventricle)
của 48 bệnh nhân. Thử thách này là một phần của hội thảo MICCAI 12. Những
-
người tham gia được cung cấp tập dữ liệu chưa ảnh gốc và nhãn.
Qua 3 bộ dữ liệu nêu trên, có thể nhận thấy ACDC có số lượng ảnh gốc và
nhãn nhiều hơn hẳn (hơn 1900 ảnh). Để thực hiện quá trình thử nghiệm và đánh
giá cho mô hình học sâu, trong đề tài luận văn này học viên đã chọn hai bộ dữ liệu
là SunnyBrook và ACDC.
3.1.2 Công cụ hỗ trợ
a) Ngôn ngữ và thư viện
Nghiên cứu AI là một trong những lĩnh vực đang gây chú ý của rất nhiều hãng
công nghệ lớn. Hiện nay có nhiều ngôn ngữ để các lập trình viên có thể sử dụng
để phát triển ứng dụng trí tuệ nhân tạo. Trong đó 5 ngôn ngữ phổ biến nhất hiện
nay bao gồm: Python, Java, Lisp, Prolog, C++. Ngôn ngữ LISP là ngôn ngữ lập
trình AI lâu đời nhất. Tuy nhiên LISP có khá nhiều hạn chế như thiếu các thư viện
hỗ trợ và nhiều cú pháp khó dùng. Tiếp theo là C++, được mệnh danh là “ngôn
ngữ lập trình nhanh nhất” điều mà AI rất cần thiết là tốc độ. Hạn chế của ngôn
-
ngữ này là cú pháp tương đối phức tạp, chặt chẽ, thiếu nhiều thư viện hỗ trợ AI và
tốn khá nhiều thời gian để phát triển. Python được xem là một trong những ngôn
ngữ phù hợp nhất cho lập trình viên AI, kể cả những lập trình viên mới. Bởi cú
pháp đơn giản, ít mã hóa và có sẵn số lượng lớn các thư viện hỗ trợ. Nó hỗ trợ lập
4
trình hướng đối tượng, là ngôn ngữ lập trình mã nguồn mở, hỗ trợ thu gom rác tự
động và có thể được tích hợp với nhiều ngôn ngữ khác.
Hình 3. 4 Ngôn ng Python và Framework Keras, Tensorflow
ữ
Sự phát triển nhanh chóng của AI kéo theo số lượng thuật toán khổng lồ, các
Framework và thư việ ọ ọc sâu đượ ậ ễ
n h c máy/h c sinh ra giúp các l p trình viên d
dàng hơn trong việ ế ậ ử ụng. Các thư việ ồ ở thườ ứ
c ti p c n và s d n mã ngu n m ng ng
dụng trong bài toán AI trên Python là Keras, TensorFlow. Trong đó Keras là một
API đượ ế ế cho Python đượ ể ởi Google để ể ạng nơ
c thi t k c phát tri n b tri n khai m -
ron d ng ph n và tr
ễ dàng hơn. Nó là mộ ề ả
t n n t ổ ế
bi n cho các nhà phát triể ở thành
m bi n nh
ột thư viện học sâu phổ ế ất hiện nay. Lý do khiến Keras thành công là bởi
API s ch s n, cho phép các mô hình h c sâu tiêu chu nh,
ạ ẽ và đơn giả ọ ẩn được xác đị
phù h trong m t vài dòng l nh. Th hai là nó cho phép b n s
ợp và đánh giá chỉ ộ ệ ứ ạ ử
d bi tr
ụng hầu hết các thư viện toán học học sâu phổ ến làm chương trình phụ ợ.
Năm 2019, Google đã phát hành phiên bả ớ ủa thư việ ọ
n m i c n h c sâu TensorFlow
(TensorFlow 2) tích h p tr c ti p API Keras thành giao di . Keras là s
ợ ự ế ện tf.keras ự
l n c a nhi u tên tu i l
ựa chọ ủ ề ổ ớn như Netflix, Uber, Square,…
Nh nh trên, d
ờ ững ưu điểm được phân tích ở học viên đã sử ụng ngôn ngữ
Python và Framework Keras để ự ấ ệ
xây d ng và hu n luy n mô hình Segmentation
cho nh tim.
ả
b)Trình biên dịch
Trong quá trình phát triển một mô hình Deep Learning, giai đoạn huấn luyện
mô hình là giai đoạn mất nhiều thời gian nhất, đặc biệt với những mô hình nặng
về thuật toán và có số lượng tham số lớn. Để giảm đáng kể thời gian training, việc
lựa chọn đơn vị xử lý đồ họa GPU chuyên dụng có hiệu năng tốt là điều hết sức
cần thiết. GPU cho phép bạn thực hiện các tác vụ huấn luyện nhiều mô hình song
song, hoàn thiện các phép tính nhanh hơn so với CPU, giúp loại bỏ những tắc
nghẽn do giới hạn tính toán tạo ra. Tuy nhiên việc đầu tư GPU để triển khai cần
được cân nhắc phù hợp với ngân sách và lợi ích. Để trang bị hoàn chỉnh một bộ
máy tính có cấu hình cao, tích hợp GPU hiệu suất cần phải đầu tư một số tiền lớn
4
ban đầu. Sau đây, học viên sẽ đề cập đến một sản phẩm đến từ Google cho phép
chúng ta xây dựng mô hình AI qua trình duyệt.
Google Colaboratory (gọi tắt là Google Colab) là một dịch vụ đám mây miễn
phí, được phát triển dựa trên Jupiter Notebook. Trong Colab, chúng ta có thể sử
dụng những thư viện được cài sẵn như PyTorch, TensorFlow, Keras và OpenCV.
Cho phép chúng ta học tập hay xây dựng mô hình học sâu.
Hình 3. 5 n phí trên Google Colab
Các CPU, GPU, TPU miễ
Google Colab cho phép trải nghiệm lập trình miễn phí (thời gian giới hạn - do
số lượng người sử dụng lớn) với những đơn vị xử lý đồ họa nêu trên. Cho phép sử
dụng tài nguyên máy tính ảo CPU high-speed, GPU NVIDIA Tesla K80 và TPUs.
Ngoài ra, Google còn cung cấp phiên bản Colab Pro trả phí để sử dụng GPU hiệu
-
suất tốt hơn, nhanh hơn.
3.1.3 Các bước triển khai
Để triển khai mô hình chúng ta cần triển khai các bước như sơ đồ dưới đây:
Bước 1: Chuẩn bị dữ liệu
- Dataset ACDC gồm 1808 ảnh + nhãn (Left Ventricle + Epicardium)
- Chia dữ liệu thành các tập Training, Validation, Test theo tỉ lệ 70:15:15 tương
ứng với số lượng ảnh trên từng tập lần lượt là: training (1265), validation (271)
và test (272).
Bước 2: Chuẩn hóa dữ liệu (Data augumentation)
- Tập ảnh và nhãn trong bộ ACDC có kích thước lớn, nhưng đối tượng cần
được Segmentation có kích thước bé hơn và thường nằm ở giữa ảnh. Do vậy trước
khi đưa vào huấn luyện cần sử dụng tiền xử lý để cắt bỏ đi vùng ảnh ở ngoài và
giữ lại vùng thông tin ở giữa. Mục đích của việc cắt ảnh (Crop Image) nhằm giảm
thời gian tính toán của mô hình và tốc độ xử lý.
- Kỹ thuật chuẩn hóa dữ liệu thường được sử dụng trong các mô hình học máy,
học sâu nhằm tăng cường sự phong phú dữ liệu huấn luyện bằng cách áp dụng một
vài phương pháp như: thay đổi độ tương phản (contrast), xoay lật ảnh (rotate
- -flip),
chuyển đổi màu (color shift), thêm nhiễu (noise addition), thay đổi tỉ lệ (scale)…
- Một phương pháp thường được áp dụng hiện nay để giảm dung lượng bộ nhớ
là “Data Generator”. Ý tưởng xuất phát từ việc sử dụng bộ nhớ khi huấn luyện mô
hình, với dữ liệu rất lớn, nếu tải tất cả các ảnh và nhãn một lúc sẽ khiến bộ nhớ sẽ
bị đầy hoặc quá tải. Vậy giải pháp là chúng ta sẽ chia thành các gói (tương ứng với
4
mỗi DataGenerator), sau khi huấn luyện xong gói thứ nhất sẽ tiếp tục thực thi gói
kế tiếp cho đến khi hoàn thành. Như vậy sẽ giải quyết được bài toán bộ nhớ với
những mô hình và dữ liệu đầu vào lớn. Với những mô hình nhỏ, phương pháp này
không có nhiều tác dụng rõ rệt.
Bước 3: Xây dựng mô hình
- Mô hình được xây dựng theo từng kiến trúc
- Thông thường mô hình được triển khai thành từng Layers hay từng khối,
tương ứng với từng hàm.
Bước 4: Cài đặt tham số huấn luyện và hàm Loss
- Các tham số ảnh hưởng đến quá trình huấn luyện là: Epoch, Batch size,
Learning rate
- Xác định hàm mục tiêu phù hợp (Objective Function):
- Lựa chọn hàm Loss phù hợp
Bước 5: Huấn luyện (Train) mô hình
Hình 3. 6 n khai mô hình AI
Các bước triể
Bước 6: Dự báo kết quả và đánh giá
- Sau khi huấn luyện xong mô hình, chúng ta cần đánh giá kết quả dựa trên
các thông số IoU, Loss, Dice, Accuracy thông qua tập dữ liệu đánh giá (Test). Và
hiển thị kết quả phân vùng dự đoán của mô hình.
3.1.4 Các tham số huấn luyện
4
a) Tham số huấn luyện
Dưới đây là một số tham số sử dụng trong huấn luyện mô hình mạng
Segementation được sử dụng trong luận văn:
- EPOCH: một Epoch được tính là một lần duyệt qua hết các dữ liệu trong tập
huấn luyện. Khi dữ liệu đầu vào quá lớn không thể nạp tất cả ảnh cùng một lúc,
khiến bộ nhớ của RAM và GPU RAM không đủ lưu trữ toàn bộ, buộc chúng ta
phải chia nhỏ tập dữ liệu để training thành nhiều Batch Size.
- BATCH SIZE: là lượng dữ liệu sử dụng trong một lần huấn luyện để cập
nhật lại trọng số mô hình.
- INTERACTIONS: số lượng các Batch size mà mô hình phải duyệt trong một
Epoch
Ví dụ: Tập dữ liệu có 1800 ảnh, Batch size = 20 thì Interaction = 1800 / 20 =
90.
Việc lựa chọn các tham số trên xuất phát từ Gradient Descent là thuật toán
-
lặp tối ưu để tìm kết quả tốt nhất trong học máy. Như vậy, sau mỗi Batch size, mô
hình cần được cập nhật trọng số mới và cứ lặp lại đến khi tìm được cực tiểu hoặc
kết thúc quá trình huấn luyện.
Ngoài ra, để cải thiện hiệu quả mô hình, người ta còn cài đặt các tham số hoặc
function khác nữa như:
- -
LEARNING RATE (tốc độ học lr): là một siêu tham số sử dụng trong việc
huấn luyện các mạng nơ ron. Learning rate có giá trị lớn hơn 0 và nhỏ hơn 1, độ
lớn của nó sẽ ảnh hưởng trực tiếp tới tốc độ hội tụ của hàm Loss. Tùy thuộc vào
mỗi bài toán cụ thể thì sẽ chọn một learning rate phù hợp, theo hệ số kinh nghiệm
thì thường chọn khoảng 10
lr -3
, 10-4
.
- LOSS FUNCTION (hàm mất mát): trong đề tài học viên sử dụng hai hàm
Binary Cross- và
entropy và Dice Loss. Hàm Loss nhận 2 đối số y_true y_pred
được xác định theo công thức sau:
def dice_loss(y_true, y_pred):
return 1.0 - dice_coef(y_true, y_pred, 0)
def bce_dice_loss(y_true, y_pred):
return binary_crossentropy(y_true, y_pred) + dice_loss(y_true, y_pred)
- OPTIMIZER (tối ưu hóa): được sử dụng để giải quyết các vấn đề của thuật
toán gradient descent, nhằm tối ưu các trọng số đầu vào bằng cách so sánh dự đoán
và hàm mất mát. Một số hàm tối ưu thường được sử dụng như SGD, RMSprop,
Adam, Adamax, Nadam. Trong đó, Adam là hàm tối ưu tốt nhất có khả năng thích
ứng trong hầu hết mọi trường hợp nhờ lưu trữ giá trị trung bình giảm dần theo cấp
số nhân của các gradient trước.
opt=tf.keras.optimizers.Adam(learning_rate)
model.compile(loss=dice_loss,optimizer=opt,metrics=["accuracy", dice_coef, IoU])
4
- CALLBACK: được xem như trợ thủ đắc lực khi huấn luyện mô hình. Hiểu
đơn giản, Callback là một hàm (function) được cài đặt trong mô hình, giúp ta có
thể kiểm tra, lưu lại trạng thái và thông số của mô hình trong quá trình huấn luyện.
Điều này giúp models tránh bị Overfit (OF hiện tượng quá khớp) thông qua việc
-
can thiệp vào quá trình training:
callbacks = [tf.keras.callbacks.EarlyStopping(patience=20, monitor="val_loss"),
tf.keras.callbacks.ModelCheckpoint(os.path.join(save_path,"params.h5"), verbose=2,
save_best_only = True),
tf.keras.callbacks.ReduceLROnPlateau(monitor='val_loss', factor=0.1, patience=10,
min_lr = 1e-7), plot_losses]
+ EarlyStopping được dùng để dừng việc huấn luyện sớm khi mô hình đạt
được một kết quả (Accuracy/Loss) nhất định nào đó. Ví dụ, quan sát thông số
Validation Loss (monitor = val_loss), khi giá trị không được cải thiện hoặc không
giảm nữa sau 20 epoch thì dừng ngay việc cập nhật trọng số (weights).
+ ModelCheckpoint: có nhiệm vụ lưu lại trọng số tốt nhất của mô hình tại một
thời điểm nào đó. Sau kết thúc mỗi Epoch, nó sẽ kiểm tra trọng số nào tốt nhất và
lưu lại vào “param.h5”
+ ReduceLROnPlateau: Điều chỉnh learning rate giảm khi kết quả mô hình
không được cải thiện. Giá trị learning rate sẽ bị giảm xuống 10 lần sau khi huấn
luyện patience = 10 epoch (lri+1 = lr i*factor). Thông thường, khi mới bắt đầu
training, ta cần learning rate lớn để nhanh chóng tìm điểm cực tiểu, khi giá trị này
tiến gần tới cực tiểu thì ta cần giảm xuống để dừng lại.
lr
- Để kiểm tra cấu trúc mô hình và số lượng tham số mô hình, ta sử dụng hàm
model.summary():
B ng 3. 1 B ng Th ng kê các tham s mô hình c mô hình
ả ả ố ố ủa một số
b) Hệ số đánh giá
Việc đánh giá một mô hình ML/DL giúp chúng ta biết được mô hình đã huấn
luyện có tốt hay không, mức độ thành công của mô hình đến đâu. Đánh giá mô
hình đúng, giúp chúng ta chọn lựa model phù hợp cho bài toán cụ thể.
Một số hàm đánh giá như:
- Pixel Accuracy: là tỉ lệ phần trăm pixel trong hình ảnh dự đoán được phân
loại chính xác. Tuy nhiên đây không phải là thông số tốt để đánh giá mô hình có
hiệu quả không. Vấn đề này được gọi là “class imbalance”, khi các lớp mất cân
bằng lớn, có nghĩa là một lớp hoặc một số lớp chiếm ưu thế trong ảnh, trong khi
lớp khác chỉ chiếm một phần nhỏ. Sự mất cân bằng này xảy ra phổ biến trong nhiều
Mô hình Unet DC-Unet DR-Unet DR-Unet++
Trainable params 7,251,076 6,473,309 2,538,309 7,974,287
Non-trainable params 24,522 19,640 12,872 29,012
Total params 7,275,598 6,492,949 2,551,181 8,003,299
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf
Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf

Más contenido relacionado

La actualidad más candente

Giáo trình xử lý ảnh
Giáo trình xử lý ảnhGiáo trình xử lý ảnh
Giáo trình xử lý ảnhTùng Trần
 
Báo cáo thực tập công nghệ thông tin.
Báo cáo thực tập công nghệ thông tin.Báo cáo thực tập công nghệ thông tin.
Báo cáo thực tập công nghệ thông tin.ssuser499fca
 
Hướng dẫn sử dụng YOLO v5.pptx
Hướng dẫn sử dụng YOLO v5.pptxHướng dẫn sử dụng YOLO v5.pptx
Hướng dẫn sử dụng YOLO v5.pptxChannDara1
 
Luận văn Thạc sĩ Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng opencv
Luận văn Thạc sĩ Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng opencvLuận văn Thạc sĩ Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng opencv
Luận văn Thạc sĩ Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng opencvDịch vụ viết thuê Luận Văn - ZALO 0932091562
 
Báo cáo đồ án đề tài xây dựng trợ lý ảo bằng python
Báo cáo đồ án đề tài xây dựng trợ lý ảo bằng pythonBáo cáo đồ án đề tài xây dựng trợ lý ảo bằng python
Báo cáo đồ án đề tài xây dựng trợ lý ảo bằng pythonjackjohn45
 
1thietkemanglan wan
1thietkemanglan wan1thietkemanglan wan
1thietkemanglan wanlinhdv87hy
 
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...The Boss
 
Vi du chi tiet giai thich lap trinh gui trong matlab
Vi du chi tiet  giai thich lap trinh gui trong matlabVi du chi tiet  giai thich lap trinh gui trong matlab
Vi du chi tiet giai thich lap trinh gui trong matlabPhạmThế Anh
 

La actualidad más candente (20)

Đề tài: Nhận dạng mặt người trên matlab, HOT, 9đ
Đề tài: Nhận dạng mặt người trên matlab, HOT, 9đĐề tài: Nhận dạng mặt người trên matlab, HOT, 9đ
Đề tài: Nhận dạng mặt người trên matlab, HOT, 9đ
 
Giáo trình xử lý ảnh
Giáo trình xử lý ảnhGiáo trình xử lý ảnh
Giáo trình xử lý ảnh
 
Đề tài: Hệ thống giao thông thông minh và ứng dụng của nó, HOT
Đề tài: Hệ thống giao thông thông minh và ứng dụng của nó, HOTĐề tài: Hệ thống giao thông thông minh và ứng dụng của nó, HOT
Đề tài: Hệ thống giao thông thông minh và ứng dụng của nó, HOT
 
Báo cáo thực tập công nghệ thông tin.
Báo cáo thực tập công nghệ thông tin.Báo cáo thực tập công nghệ thông tin.
Báo cáo thực tập công nghệ thông tin.
 
Đề tài: Ứng dụng xử lý ảnh thiết kế mạch chống trộm thông minh
Đề tài: Ứng dụng xử lý ảnh thiết kế mạch chống trộm thông minhĐề tài: Ứng dụng xử lý ảnh thiết kế mạch chống trộm thông minh
Đề tài: Ứng dụng xử lý ảnh thiết kế mạch chống trộm thông minh
 
Đề tài: Nhận dạng, phân loại, xử lý ảnh biển số xe bằng phần mềm
Đề tài: Nhận dạng, phân loại, xử lý ảnh biển số xe bằng phần mềmĐề tài: Nhận dạng, phân loại, xử lý ảnh biển số xe bằng phần mềm
Đề tài: Nhận dạng, phân loại, xử lý ảnh biển số xe bằng phần mềm
 
Đề tài: Tìm hiểu về nhận dạng vân tay và khả năng ứng dụng, HOT
Đề tài: Tìm hiểu về nhận dạng vân tay và khả năng ứng dụng, HOTĐề tài: Tìm hiểu về nhận dạng vân tay và khả năng ứng dụng, HOT
Đề tài: Tìm hiểu về nhận dạng vân tay và khả năng ứng dụng, HOT
 
Hướng dẫn sử dụng YOLO v5.pptx
Hướng dẫn sử dụng YOLO v5.pptxHướng dẫn sử dụng YOLO v5.pptx
Hướng dẫn sử dụng YOLO v5.pptx
 
Luận văn: Tìm hiểu phương pháp phân đoạn ảnh y học, HOT
Luận văn: Tìm hiểu phương pháp phân đoạn ảnh y học, HOTLuận văn: Tìm hiểu phương pháp phân đoạn ảnh y học, HOT
Luận văn: Tìm hiểu phương pháp phân đoạn ảnh y học, HOT
 
Đề tài: Mô phỏng kênh truyền vô tuyến số bằng matlab, 9đ
Đề tài: Mô phỏng kênh truyền vô tuyến số bằng matlab, 9đ Đề tài: Mô phỏng kênh truyền vô tuyến số bằng matlab, 9đ
Đề tài: Mô phỏng kênh truyền vô tuyến số bằng matlab, 9đ
 
Luận văn: Nhận dạng mặt người trên matlab, HAY, 9Đ
Luận văn: Nhận dạng mặt người trên matlab, HAY, 9ĐLuận văn: Nhận dạng mặt người trên matlab, HAY, 9Đ
Luận văn: Nhận dạng mặt người trên matlab, HAY, 9Đ
 
Đề tài: Xây dựng ứng dụng Android truy xuất cơ sở dữ liệu, HAY
Đề tài: Xây dựng ứng dụng Android truy xuất cơ sở dữ liệu, HAYĐề tài: Xây dựng ứng dụng Android truy xuất cơ sở dữ liệu, HAY
Đề tài: Xây dựng ứng dụng Android truy xuất cơ sở dữ liệu, HAY
 
Luận văn: Nhận dạng cảm xúc khuôn mặt người, HAY, 9đ
Luận văn: Nhận dạng cảm xúc khuôn mặt người, HAY, 9đLuận văn: Nhận dạng cảm xúc khuôn mặt người, HAY, 9đ
Luận văn: Nhận dạng cảm xúc khuôn mặt người, HAY, 9đ
 
Luận văn Thạc sĩ Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng opencv
Luận văn Thạc sĩ Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng opencvLuận văn Thạc sĩ Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng opencv
Luận văn Thạc sĩ Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng opencv
 
Báo cáo đồ án đề tài xây dựng trợ lý ảo bằng python
Báo cáo đồ án đề tài xây dựng trợ lý ảo bằng pythonBáo cáo đồ án đề tài xây dựng trợ lý ảo bằng python
Báo cáo đồ án đề tài xây dựng trợ lý ảo bằng python
 
1thietkemanglan wan
1thietkemanglan wan1thietkemanglan wan
1thietkemanglan wan
 
Báo cáo thực tập môn học an ninh mạng tìm hiểu về mô hình mạng
Báo cáo thực tập môn học an ninh mạng tìm hiểu về mô hình mạngBáo cáo thực tập môn học an ninh mạng tìm hiểu về mô hình mạng
Báo cáo thực tập môn học an ninh mạng tìm hiểu về mô hình mạng
 
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
 
Vi du chi tiet giai thich lap trinh gui trong matlab
Vi du chi tiet  giai thich lap trinh gui trong matlabVi du chi tiet  giai thich lap trinh gui trong matlab
Vi du chi tiet giai thich lap trinh gui trong matlab
 
Đề tài: Mô hình điều khiển, giám sát bãi giữ xe ô tô tự động, 9đ
Đề tài: Mô hình điều khiển, giám sát bãi giữ xe ô tô tự động, 9đĐề tài: Mô hình điều khiển, giám sát bãi giữ xe ô tô tự động, 9đ
Đề tài: Mô hình điều khiển, giám sát bãi giữ xe ô tô tự động, 9đ
 

Similar a Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf

Chiết lọc thông tin pháp luật trong dữ liệu văn bản.pdf
Chiết lọc thông tin pháp luật trong dữ liệu văn bản.pdfChiết lọc thông tin pháp luật trong dữ liệu văn bản.pdf
Chiết lọc thông tin pháp luật trong dữ liệu văn bản.pdfTieuNgocLy
 
đạI học đà nẵngkhoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 5...
đạI học đà nẵngkhoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 5...đạI học đà nẵngkhoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 5...
đạI học đà nẵngkhoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 5...jackjohn45
 
Ứng dụng trí tuệ nhân tạo trong việc dò điểm công suất cực đại của hệ thống p...
Ứng dụng trí tuệ nhân tạo trong việc dò điểm công suất cực đại của hệ thống p...Ứng dụng trí tuệ nhân tạo trong việc dò điểm công suất cực đại của hệ thống p...
Ứng dụng trí tuệ nhân tạo trong việc dò điểm công suất cực đại của hệ thống p...Man_Ebook
 
Phân tích, đánh giá và tính toán hiệu quả kinh tế của hệ thống điện mặt trời ...
Phân tích, đánh giá và tính toán hiệu quả kinh tế của hệ thống điện mặt trời ...Phân tích, đánh giá và tính toán hiệu quả kinh tế của hệ thống điện mặt trời ...
Phân tích, đánh giá và tính toán hiệu quả kinh tế của hệ thống điện mặt trời ...Man_Ebook
 
Bài giảng phương pháp nghiên cứu khoa học giáo dục
Bài giảng phương pháp nghiên cứu khoa học giáo dụcBài giảng phương pháp nghiên cứu khoa học giáo dục
Bài giảng phương pháp nghiên cứu khoa học giáo dụcjackjohn45
 
Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm bi...
Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm bi...Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm bi...
Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm bi...Man_Ebook
 
Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm bi...
Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm bi...Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm bi...
Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm bi...Man_Ebook
 
Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm bi...
Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm bi...Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm bi...
Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm bi...Man_Ebook
 
Kế hoạch bài dạy
Kế hoạch bài dạyKế hoạch bài dạy
Kế hoạch bài dạyNhung Phạm
 
Thiết kế và chế tạo robot gắp thức ăn sử dụng xử lý ảnh và tay gắp mềm.pdf
Thiết kế và chế tạo robot gắp thức ăn sử dụng xử lý ảnh và tay gắp mềm.pdfThiết kế và chế tạo robot gắp thức ăn sử dụng xử lý ảnh và tay gắp mềm.pdf
Thiết kế và chế tạo robot gắp thức ăn sử dụng xử lý ảnh và tay gắp mềm.pdfMan_Ebook
 
Kế hoạch bài dạy
Kế hoạch bài dạyKế hoạch bài dạy
Kế hoạch bài dạyNhung Phạm
 
nhận thức của sinh viên về vấn đề sống thử
nhận thức của sinh viên về vấn đề sống thửnhận thức của sinh viên về vấn đề sống thử
nhận thức của sinh viên về vấn đề sống thửthunguyen2509
 
101 ý tưởng giáo viên sáng tạo
101 ý tưởng giáo viên sáng tạo101 ý tưởng giáo viên sáng tạo
101 ý tưởng giáo viên sáng tạoQuảng Văn Hải
 

Similar a Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf (20)

Chiết lọc thông tin pháp luật trong dữ liệu văn bản.pdf
Chiết lọc thông tin pháp luật trong dữ liệu văn bản.pdfChiết lọc thông tin pháp luật trong dữ liệu văn bản.pdf
Chiết lọc thông tin pháp luật trong dữ liệu văn bản.pdf
 
NHỮNG NHÂN TỐ ẢNH HƯỞNG TỚI VIỆC ĐỊNH GIÁ THẤP IPO
NHỮNG NHÂN TỐ ẢNH HƯỞNG TỚI VIỆC ĐỊNH GIÁ THẤP IPONHỮNG NHÂN TỐ ẢNH HƯỞNG TỚI VIỆC ĐỊNH GIÁ THẤP IPO
NHỮNG NHÂN TỐ ẢNH HƯỞNG TỚI VIỆC ĐỊNH GIÁ THẤP IPO
 
đạI học đà nẵngkhoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 5...
đạI học đà nẵngkhoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 5...đạI học đà nẵngkhoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 5...
đạI học đà nẵngkhoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 5...
 
Ứng dụng trí tuệ nhân tạo trong việc dò điểm công suất cực đại của hệ thống p...
Ứng dụng trí tuệ nhân tạo trong việc dò điểm công suất cực đại của hệ thống p...Ứng dụng trí tuệ nhân tạo trong việc dò điểm công suất cực đại của hệ thống p...
Ứng dụng trí tuệ nhân tạo trong việc dò điểm công suất cực đại của hệ thống p...
 
Phân tích, đánh giá và tính toán hiệu quả kinh tế của hệ thống điện mặt trời ...
Phân tích, đánh giá và tính toán hiệu quả kinh tế của hệ thống điện mặt trời ...Phân tích, đánh giá và tính toán hiệu quả kinh tế của hệ thống điện mặt trời ...
Phân tích, đánh giá và tính toán hiệu quả kinh tế của hệ thống điện mặt trời ...
 
Bài giảng phương pháp nghiên cứu khoa học giáo dục
Bài giảng phương pháp nghiên cứu khoa học giáo dụcBài giảng phương pháp nghiên cứu khoa học giáo dục
Bài giảng phương pháp nghiên cứu khoa học giáo dục
 
Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm bi...
Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm bi...Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm bi...
Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm bi...
 
Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm bi...
Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm bi...Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm bi...
Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm bi...
 
Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm bi...
Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm bi...Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm bi...
Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm bi...
 
Mô hình nghịch lưu tăng áp ba bậc điều khiển cầu Diode kẹp, 9đ
Mô hình nghịch lưu tăng áp ba bậc điều khiển cầu Diode kẹp, 9đMô hình nghịch lưu tăng áp ba bậc điều khiển cầu Diode kẹp, 9đ
Mô hình nghịch lưu tăng áp ba bậc điều khiển cầu Diode kẹp, 9đ
 
Kế hoạch bài dạy
Kế hoạch bài dạyKế hoạch bài dạy
Kế hoạch bài dạy
 
Thiết kế và chế tạo robot gắp thức ăn sử dụng xử lý ảnh và tay gắp mềm.pdf
Thiết kế và chế tạo robot gắp thức ăn sử dụng xử lý ảnh và tay gắp mềm.pdfThiết kế và chế tạo robot gắp thức ăn sử dụng xử lý ảnh và tay gắp mềm.pdf
Thiết kế và chế tạo robot gắp thức ăn sử dụng xử lý ảnh và tay gắp mềm.pdf
 
Kế hoạch bài dạy
Kế hoạch bài dạyKế hoạch bài dạy
Kế hoạch bài dạy
 
Đề tài: Xây dựng hệ thống tư vấn tuyển sinh cho đại học Trà Vinh
Đề tài: Xây dựng hệ thống tư vấn tuyển sinh cho đại học Trà VinhĐề tài: Xây dựng hệ thống tư vấn tuyển sinh cho đại học Trà Vinh
Đề tài: Xây dựng hệ thống tư vấn tuyển sinh cho đại học Trà Vinh
 
Đề tài: Thiết kế hộp thuốc thông minh cho người bệnh, HAY
Đề tài: Thiết kế hộp thuốc thông minh cho người bệnh, HAYĐề tài: Thiết kế hộp thuốc thông minh cho người bệnh, HAY
Đề tài: Thiết kế hộp thuốc thông minh cho người bệnh, HAY
 
Luận văn: Cải tiến công cụ SEO PANEL, HAY, 9đ
Luận văn: Cải tiến công cụ SEO PANEL, HAY, 9đLuận văn: Cải tiến công cụ SEO PANEL, HAY, 9đ
Luận văn: Cải tiến công cụ SEO PANEL, HAY, 9đ
 
nhận thức của sinh viên về vấn đề sống thử
nhận thức của sinh viên về vấn đề sống thửnhận thức của sinh viên về vấn đề sống thử
nhận thức của sinh viên về vấn đề sống thử
 
Luận văn: Nghiên cứu tính chất nhiệt của ống nhiệt mao dẫn, HAY
Luận văn: Nghiên cứu tính chất nhiệt của ống nhiệt mao dẫn, HAYLuận văn: Nghiên cứu tính chất nhiệt của ống nhiệt mao dẫn, HAY
Luận văn: Nghiên cứu tính chất nhiệt của ống nhiệt mao dẫn, HAY
 
101 ý tưởng giáo viên sáng tạo
101 ý tưởng giáo viên sáng tạo101 ý tưởng giáo viên sáng tạo
101 ý tưởng giáo viên sáng tạo
 
Luận văn: Một số phương pháp rút gọn thuộc tính trong bảng quyết định
Luận văn: Một số phương pháp rút gọn thuộc tính trong bảng quyết địnhLuận văn: Một số phương pháp rút gọn thuộc tính trong bảng quyết định
Luận văn: Một số phương pháp rút gọn thuộc tính trong bảng quyết định
 

Más de Man_Ebook

BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfBÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfMan_Ebook
 
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docTL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docMan_Ebook
 
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfGiáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfGiáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfGiáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfGiáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfGiáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfMan_Ebook
 
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfGiáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfGiáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfMan_Ebook
 
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfGiáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfGiáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfMan_Ebook
 
Giáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfGiáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfMan_Ebook
 
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình web  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình song song  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfGiáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfMan_Ebook
 
Giáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfGiáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfMan_Ebook
 
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdfGiáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdfMan_Ebook
 

Más de Man_Ebook (20)

BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfBÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
 
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docTL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
 
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfGiáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
 
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfGiáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
 
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
 
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
 
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfGiáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
 
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfGiáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
 
Giáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfGiáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdf
 
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfGiáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
 
Giáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfGiáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdf
 
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfGiáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
 
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfGiáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
 
Giáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfGiáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdf
 
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình web  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình song song  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfGiáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdf
 
Giáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfGiáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdf
 
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdfGiáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
 

Último

30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 TIẾNG ANH I-LEARN SMART START LỚP 3, 4 NĂM HỌC 2023-...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 TIẾNG ANH I-LEARN SMART START LỚP 3, 4 NĂM HỌC 2023-...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 TIẾNG ANH I-LEARN SMART START LỚP 3, 4 NĂM HỌC 2023-...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 TIẾNG ANH I-LEARN SMART START LỚP 3, 4 NĂM HỌC 2023-...Nguyen Thanh Tu Collection
 
Giáo trình xã hội học Thể dục Thể thao hay
Giáo trình xã hội học Thể dục Thể thao hayGiáo trình xã hội học Thể dục Thể thao hay
Giáo trình xã hội học Thể dục Thể thao hayLcTh15
 
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
GIÁO ÁN KẾ HOẠCH BÀI DẠY CÔNG NGHỆ 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY CÔNG NGHỆ 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN ...GIÁO ÁN KẾ HOẠCH BÀI DẠY CÔNG NGHỆ 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY CÔNG NGHỆ 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN ...Nguyen Thanh Tu Collection
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...Nguyen Thanh Tu Collection
 
Tổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docx
Tổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docxTổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docx
Tổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docxTrangL188166
 
BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...
BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...
BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Báo cáo thực hành Quản lý kinh tế dược.pptx
Báo cáo thực hành Quản lý kinh tế dược.pptxBáo cáo thực hành Quản lý kinh tế dược.pptx
Báo cáo thực hành Quản lý kinh tế dược.pptxhoangvubaongoc112011
 
GIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdf
GIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdfGIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdf
GIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdfHngNguyn271079
 
Tài liệu kỹ thuật điều hòa Panasonic - Điện lạnh Bách Khoa
Tài liệu kỹ thuật điều hòa Panasonic - Điện lạnh Bách KhoaTài liệu kỹ thuật điều hòa Panasonic - Điện lạnh Bách Khoa
Tài liệu kỹ thuật điều hòa Panasonic - Điện lạnh Bách KhoaKhiNguynCngtyTNHH
 
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...Nguyen Thanh Tu Collection
 
NỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docx
NỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docxNỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docx
NỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docx7E26NguynThThyLinh
 
GIÁO TRÌNH BỒI DƯỠNG HỌC SINH GIỎI THCS VÀ THI VÀO 10 THPT CHUYÊN MÔN TIẾNG A...
GIÁO TRÌNH BỒI DƯỠNG HỌC SINH GIỎI THCS VÀ THI VÀO 10 THPT CHUYÊN MÔN TIẾNG A...GIÁO TRÌNH BỒI DƯỠNG HỌC SINH GIỎI THCS VÀ THI VÀO 10 THPT CHUYÊN MÔN TIẾNG A...
GIÁO TRÌNH BỒI DƯỠNG HỌC SINH GIỎI THCS VÀ THI VÀO 10 THPT CHUYÊN MÔN TIẾNG A...Nguyen Thanh Tu Collection
 
CH glucid university of Pham Ngoc Thach- v7.pdf
CH glucid university of Pham Ngoc Thach- v7.pdfCH glucid university of Pham Ngoc Thach- v7.pdf
CH glucid university of Pham Ngoc Thach- v7.pdfSuperJudy1
 
.................KHTN 9....................................Viet Nam.......
.................KHTN 9....................................Viet Nam........................KHTN 9....................................Viet Nam.......
.................KHTN 9....................................Viet Nam.......thoa051989
 

Último (17)

30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 TIẾNG ANH I-LEARN SMART START LỚP 3, 4 NĂM HỌC 2023-...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 TIẾNG ANH I-LEARN SMART START LỚP 3, 4 NĂM HỌC 2023-...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 TIẾNG ANH I-LEARN SMART START LỚP 3, 4 NĂM HỌC 2023-...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 TIẾNG ANH I-LEARN SMART START LỚP 3, 4 NĂM HỌC 2023-...
 
Giáo trình xã hội học Thể dục Thể thao hay
Giáo trình xã hội học Thể dục Thể thao hayGiáo trình xã hội học Thể dục Thể thao hay
Giáo trình xã hội học Thể dục Thể thao hay
 
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
GIÁO ÁN KẾ HOẠCH BÀI DẠY CÔNG NGHỆ 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY CÔNG NGHỆ 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN ...GIÁO ÁN KẾ HOẠCH BÀI DẠY CÔNG NGHỆ 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY CÔNG NGHỆ 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN ...
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
 
Tổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docx
Tổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docxTổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docx
Tổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docx
 
BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...
BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...
BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Báo cáo thực hành Quản lý kinh tế dược.pptx
Báo cáo thực hành Quản lý kinh tế dược.pptxBáo cáo thực hành Quản lý kinh tế dược.pptx
Báo cáo thực hành Quản lý kinh tế dược.pptx
 
GIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdf
GIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdfGIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdf
GIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdf
 
Tài liệu kỹ thuật điều hòa Panasonic - Điện lạnh Bách Khoa
Tài liệu kỹ thuật điều hòa Panasonic - Điện lạnh Bách KhoaTài liệu kỹ thuật điều hòa Panasonic - Điện lạnh Bách Khoa
Tài liệu kỹ thuật điều hòa Panasonic - Điện lạnh Bách Khoa
 
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
 
NỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docx
NỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docxNỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docx
NỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docx
 
GIÁO TRÌNH BỒI DƯỠNG HỌC SINH GIỎI THCS VÀ THI VÀO 10 THPT CHUYÊN MÔN TIẾNG A...
GIÁO TRÌNH BỒI DƯỠNG HỌC SINH GIỎI THCS VÀ THI VÀO 10 THPT CHUYÊN MÔN TIẾNG A...GIÁO TRÌNH BỒI DƯỠNG HỌC SINH GIỎI THCS VÀ THI VÀO 10 THPT CHUYÊN MÔN TIẾNG A...
GIÁO TRÌNH BỒI DƯỠNG HỌC SINH GIỎI THCS VÀ THI VÀO 10 THPT CHUYÊN MÔN TIẾNG A...
 
CH glucid university of Pham Ngoc Thach- v7.pdf
CH glucid university of Pham Ngoc Thach- v7.pdfCH glucid university of Pham Ngoc Thach- v7.pdf
CH glucid university of Pham Ngoc Thach- v7.pdf
 
.................KHTN 9....................................Viet Nam.......
.................KHTN 9....................................Viet Nam........................KHTN 9....................................Viet Nam.......
.................KHTN 9....................................Viet Nam.......
 

Nghiên cứu ứng dụng trí tuệ nhân tạo vào bài toán phân vùng tâm thất trong ảnh cộng hưởng từ.pdf

  • 1. TRƯỜ Ạ Ọ Ộ NG Đ I H C BÁCH KHOA HÀ N I LUẬ Ạ N VĂN TH C SĨ Nghiên cứu ứ ụ ng d ng trí tuệ nhân tạo vào bài toán phân vùng tâm th t trong ấ ảnh cộng hưởng từ LÊ KHẮC HƯNG Hung.LK202725M@sis.hust.edu.vn Ngành K u khi ỹ thuậ ề t đi ển và tự động hóa Giảng viên hướng dẫn: TS. Tr n Th Th o ầ ị ả Viện: Điện HÀ NỘI, 10/2022
  • 2. 1 C NG HÒA XÃ H T NAM Ộ ỘI CHỦ NGHĨA VIỆ Độ ậ ự ạ c l p – T – H do nh phúc BẢN XÁC NHẬN CHỈNH SỬA LUẬ Ạ N VĂN TH C SĨ H và tên tác gi lu ọ ả ận văn : Lê Khắc Hưng Đề ận văn tài lu : Nghiên cứ ứ ụ ệ ạ u ng d ng trí tu nhân t o vào bài toán phân vùng tâm th t trong nh c ng t ấ ả ộng hưở ừ Chuyên ngành: K u khi n và t ng hóa ỹ thuật điề ể ự độ Mã số SV: 20202725M Tác gi n khoa h c và H ả, Ngườ ớ i hư ng dẫ ọ ội đồ ấ ận văn xác ng ch m lu nhận tác giả đã sửa chữa, bổ sung luận văn theo biên bản họp Hộ ồ i đ ng ngày 29/10/2022 v i dung sau: ới các nộ - Thêm danh m vi t t t ục từ ế ắ - Ch nh s hình nh, b ng bi u và s i chính t ỉ ửa tiêu đề ả ả ể ửa lỗ ả - S p x p th t ngu n tài li u tham kh o và trích d n ngu n tài li u ắ ế ứ ự ồ ệ ả ẫ ồ ệ - B i d ổ xung và giả thích chi tiết các tham số huấn luyện sử ụng trong mô hình như Learning rate, Loss Function, Callback EarlyStopping. - Phân tích những ưu điể ủa mô hình đề m c xuất giúp nó phân vùng hiệu quả hơn - nghi Phân tích, đánh giá quá trình thử ệm các tham số mô hình để chọn ra b tham s t u qu t và b xung k t qu ộ ố ối ưu đạt hiệ ả cao nhấ ổ ế ả đạt được. Ngày 14 tháng 11 năm 2022 Giáo viên hướ ẫ ả ận văn ng d n Tác gi lu CH T CH H NG Ủ Ị ỘI ĐỒ
  • 3. 2 ĐỀ Ậ TÀI LU N VĂN Tên đề ế ệ tài ti ng vi t: Nghiên cứ ứ ụ ệ ạ u ng d ng trí tu nhân t o vào bài toán phân vùng tâm th t trong nh c ng t ấ ả ộng hưở ừ Tên đề ế tài ti ng anh: Research on Artificial Intelligence techniques for automatic ventricle segmentation from cardiac magnetic resonance images Gi ng d n ảng viên hướ ẫ
  • 4. 3 TÓM T T N Ắ ỘI DUNG Lu tài “Nghiên c u ng d ng trí tu nhân t o vào bài ận văn thạc sĩ với đề ứ ứ ụ ệ ạ toán phân vùng tâm th t trong nh c ng t ấ ả ộng hưở ừ”. Hi n h ện nay xu hướng trí tuệ nhân tạo xuất hiệ ở ầu hết các lĩnh vực, nhu cầu ứ ụ ậ ế ột tăng cao. Xuấ ừ ng d ng các thu t toán thông minh trong y t ngày m t phát t nhu c u th c ti n, c n thi t ph i xây d ng công c ầ ự ễ ầ ế ả ự ụ ỗ ợ bác sĩ và nhân viên y tế h tr trong vi nh, qu n lý h nh án d a trên vi c phân tích và x lý ệc chẩn đoán bệ ả ồ sơ bệ ự ệ ử ả ế. Đặ ệ ệ ề ạ ể đượ ệ ất đượ nh y t c bi t các b nh v tim m ch có th c phát hi n qua tâm th c chụ ở p b i ả ộng hưở ừ. Như vậ ụ ọ ấ nh c ng t y, m c tiêu quan tr ng nh t đề tài đặt ra là tìm hiểu phương pháp Segmentation ả ệ ả nh tim hi u qu dựa trên thuật toán học máy/học sâu giúp phân vùng t ng tâm th t nh ng c ự độ ất. T y nghiên c ừ đấ ứu, đề ấ xu ữ ải tiến để ệ ả ấ ệ nâng cao hi u qu mô hình trong quá trình hu n luy n. Trong quá trình nghiên c u, h c viên cùng nhóm nghiên c n khai các ứ ọ ứu đã triể mô hình d a trên ki n trúc Unet và th c hi n hu n luy ự ế ự ệ ấ ện, đánh giá thử ệ nghi m trên t li ập dữ ệu về tim SunnyBrook Cardiac Data 2009 và Automated Cardiac Diagnosis Challenge (ACDC) 2017. Công vi c tri n khai trên ph n m ệc đượ ể ầ ềm Google Colab và ngôn ng p trình Python, cùng Fra ữ ậ l mework Keras. Bướ ầ c đ u đạt đượ ữ ế ả ả ậ ấ ữ ững điể c nh ng k t qu kh quan, nh n th y gi a các mô hình này có nh m m xu - ạnh riêng nên nhóm nghiên cứu đã đề ất cải tiến một mô hình đặt tên là DR Unet++ đượ ể ừ ử ệ ả c phát tri n t - - mô hình DR Unet và DC Unet. Th nghi m trên c hai t li ập dữ ệu SunnyBrook và ACDC cho thấy mô hình đạ ế ả ốt hơn trên cả t k t qu t hai tiêu chí đánh giá (IoU và DSC). Có thể thấy, đó là một hướ ứ ợ ng nghiên c u phù h p, làm ti cho vi c phân vùng nh hi u qu ền đề ệ ả ệ ả hơn trong tương lai. H c viên ọ
  • 5. 4 L I C Ờ ẢM ƠN Trướ ảm ơn Ban giám hiệ ện Sau đạ ọc, Trường đạ c tiên, em xin c u và Vi i h i học Bách Khoa Hà nộ ạo điề i đã t u kiệ ể n đ em được tham gia chương trình cao học Thạc sĩ khoa học khóa 2020B. Trong quá trình xây dựng đề cương, nghiên cứu và hoàn thành lu n th t nhi u s giúp và h ận vă ạc sĩ, em đã nhận được rấ ề ự ợ tr ỗ ợ ề tr v kiến thức chuyên môn đế ừ ầ ện Điệ n t các th y, các cô trong Vi n. Đặ ệ c bi t, cho phép em đượ ỏ ự ết ơn tớ ảng viên hướ ẫ ầ ị c bày t s trân quý và bi i gi ng d n - TS. Tr n Th Th d y nhi óng góp ý ki n b ích trong su t quá trình th ảo, cô đã chỉ ạ ệt tình và đ ế ổ ố ực hiệ ề n đ tài. Qua đây, em cũng xin gửi lời cảm ơn chân thành đến các bạn học viên cùng khóa và các em trong nhóm nghiên cứu của cô Thảo đã nhiệt tình giúp đỡ, h tr ỗ ợ em trong quá trình học tập, cũng như trong ứ quá trình nghiên c u hoàn thành đề ận văn thạc sĩ. Xin chân thành cả tài lu m ơn!
  • 6. 5 M C L C Ụ Ụ DANH M C HÌNH Ụ ẢNH ...............................................................................................................7 DANH MỤC B NG Ả .......................................................................................................................9 DANH MỤC TỪ Ế VI T TẮT .........................................................................................................10 CHƯƠNG 1. ĐẶ Ấ Ề T V N Đ .........................................................................................................11 1.1 Khó khăn và thách thức..................................................................................................11 1.2 Hướ ả ế ng gi i quy t............................................................................................................14 CHƯƠNG 2. BÀI TOÁN PHÂN VÙNG ẢNH ..............................................................................16 2.1 Bài nh .................................................................................................16 toán phân vùng ả 2.1.1 Phân vùng ảnh là gì ............................................................................................16 2.1.2. ng d ng phân vùng nh...................................................................................18 Ứ ụ ả 2.2 Các phương pháp phân vùng ả ổ ể nh c đi n......................................................................22 2.2.1 Phân vùng dựa ng................................................................................22 trên ngưỡ 2.2.2 Phân vùng dựa trên c nh....................................................................................23 ạ 2.2.3 Phân vùng dựa trên khu v c ...............................................................................24 ự 2.2.4 Phân vùng dựa trên k thu t phân c m...............................................................26 ỹ ậ ụ 2.3 Các phương pháp phân vùng ả ự nh d a trên AI...............................................................28 2.3.1 FCN (Fully Convolutional Network)...................................................................33 2.3.2 Unet.....................................................................................................................34 2.3.3 - ........................................................................................................36 Gated SCNN 2.3.4 DeepLab..............................................................................................................37 2.3.5 Mask R- .......................................................................................................38 CNN CHƯƠNG 3. XÂY DỰNG MÔ HÌNH ..........................................................................................40 3.1 Chuẩn bị công cụ ...........................................................................................................40 3.1.1 Yêu cầu dữ liệu....................................................................................................40 3.1.2 Công cụ hỗ trợ ....................................................................................................42 3.1.3 Các bước triển khai.............................................................................................44 3.1.4 Các tham số huấn luyện......................................................................................45 3.2 Lựa chọn mô hình...........................................................................................................49 3.2.1 Mô hình Double Unet..........................................................................................49 3.2.2 Mô hình ResUnet++ ...........................................................................................51 3.2.3 Mô hình DC- ................................................................................................52 Unet 3.2.4 Mô hình DR- ................................................................................................53 Unet
  • 7. 6 3.2.5 Mô hình DR- .......................................................................................... 54 Unet++ CHƯƠNG 4. KẾ Ả ĐẠ Ợ T QU T ĐƯ C ......................................................................................... 61 4.1 K nghi ......................................................................................... 61 ết quả thử ệm mô hình 4.2 K hu ..................................................................................... 63 ết quả ấn luyện và dự đoán 4.3 Đánh giá và so sánh...................................................................................................... 66 K N .................................................................................................................................. 69 ẾT LUẬ TÀI LIỆU THAM KHẢO ............................................................................................................. 71 PHỤ Ụ L C.................................................................................................................................... 73
  • 8. 7 DANH M C HÌNH NH Ụ Ả Hình 1. 1 Ảnh tim chụp bằng phương pháp MRI, CT Scan, siêu âm [6]............................ 12 Hình 1. 2 Hình ảnh tâm thất và lắt cắt theo từng chu kì..................................................... 13 Hình 1. 3 T ng h nh tim [12] ổ ợp những nghiên cứu liên quan DL trong phân vùng ả ......... 15 Hình 2. 1 Phân vùng ảnh và tách đố ợ i tư ng [17] ............................................................... 16 Hình 2. 2 Phân đoạn nh Semantic và Instance [18] ả ......................................................... 17 Hình 2. 3 C ng quát bài toán phân vùng ấu trúc tổ ảnh........................................................ 18 Hình 2. 4 ng phân vùng nh não, tâm th t tim, vú, ph Ứng dụ ả ấ ổi, ung thư da, tế bào [19,20,21].................................................................................................................... 19 Hình 2. 5 ng phân vùng nh xe t Ứng dụ ả ự hành [22].......................................................... 20 Hình 2. 6 tinh [23] Ứng dụng trong xử lý ảnh vệ ............................................................... 21 Hình 2. 7 p Ứng dụng trong nông nghiệ .............................................................................. 22 Hình 2. 8 nh phân vùng Threshold [24] Ảnh gốc và ả ......................................................... 22 Hình 2. 9 Các loại cạ ả nh trong nh...................................................................................... 23 Hình 2. 10 K phân vùng nh d ết quả ả ựa trên cạnh [25] ...................................................... 24 Hình 2. 11 Phân vùng khu v c, (a) Region growth, (b) Region splitting and merging [26] ự ..................................................................................................................................... 25 Hình 2. 12 Phân c -means clustering [27] ụm K .................................................................. 26 Hình 2. 13 nh g Ả ốc và c K ả ọ nh l -Mean clustering [28]..................................................... 27 Hình 2. 14 T ng h ổ ợp phân vùng nh tâm th ả ất LV bằng ngưỡng và Edged-Sobel .............. 27 Hình 2. 15 C u trúc m ấ ạng CNN trong classification.......................................................... 29 Hình 2. 16 Mô tả ạt độ ho ng củ ớ a l p Convolution............................................................... 29 Hình 2. 17 Các hàm phi tuy ng dùng ến thườ ....................................................................... 30 Hình 2. 18 S d ng Max pooling và Average pooling ử ụ ........................................................ 30 Hình 2. 19 C u trúc các l p Fully Connected trong CNN ấ ớ .................................................. 31 Hình 2. 20 Hình nh so sánh ConvNet và DeconvNet ả ........................................................ 31 Hình 2. 21 Ho ng c ạt độ ủa Upsampling............................................................................... 31 Hình 2. 22 Phép tích chập chuyển vị................................................................................... 32 Hình 2. 23 Phép tích chập giãn nở...................................................................................... 32 Hình 2. 24 Ki ng FCN trong phân vùng ến trúc mạ ảnh [8]................................................. 34 Hình 2. 25 Kiến trúc mạng Unet [9]................................................................................... 35
  • 9. 8 Hình 2. 26 Bi t l các nghiên c u mô hình m ể ồ u đ ỷ ệ ứ ạng DL trong Segmentation từ 2016 - 2022 [14]..................................................................................................................... 36 Hình 2. 27 Ki a Gated – – Towaki Takikawa [29] ến trúc củ SCNN .................................... 37 Hình 2. 28 Ki a DeepLab – ến trúc củ L. Chen [27].............................................................38 Hình 2. 29 K mô hình áp d ng CRF ết quả ụ .......................................................................... 38 Hình 2. 30 Ki - ến trúc mạng Faster R CNN..........................................................................39 Hình 2. 31 Ki - ến trúc mạng Mask R CNN............................................................................ 39 Hình 3. 1 Các phân vùng trong ảnh tim MRI [38]..............................................................40 Hình 3. 2 Dữ liệ ả ố u nh g c và nhãn trong SCD ...................................................................41 Hình 3. 3 Dữ liệ ả ố ộ ạ ạ ạ u nh g c và nhãn n i tâm m c Endo và ngo i tâm m c Epi trong ACDC ..................................................................................................................................... 42 Hình 3. 4 Ngôn ng Python và Framework Keras, Tensorflow ữ .......................................... 43 Hình 3. 5 Các CPU, GPU, TPU mi n phí trên Google Colab ễ ............................................44 Hình 3. 6 Các bướ ể c tri n khai mô hình AI ..........................................................................45 Hình 3. 7 B ng ma tr ả ận Confusion Matrix.......................................................................... 48 Hình 3. 8 Ki n trúc Double Unet ế ......................................................................................... 50 Hình 3. 9 Cấu trúc khối ASPP............................................................................................. 50 Hình 3. 10 Mô hình Res Unet++......................................................................................... 51 Hình 3. 11 Ki - ến trúc DC Unet ............................................................................................52 Hình 3. 12 C u trúc kh ấ ối DC Block ....................................................................................52 Hình 3. 13 Mô hình DR-Unet ..............................................................................................53 Hình 3. 14 Mô hình DR-Unet++......................................................................................... 54 Hình 3. 15 MultiRes block MultiResUNet ...........................................................................55 Hình 3. 16 Kh - ối DC Block được đề ấ xu t............................................................................. 56 Hình 3. 17 Tích chập thườ ậ ng và tích ch p Atrous............................................................... 56 Hình 3. 18 C u trúc ASPP ấ ................................................................................................... 57 Hình 3. 19 C u trúc PASPP ấ ................................................................................................ 58 Hình 3. 20 C u trúc ResPath ấ ............................................................................................... 58 Hình 3. 21 C u trúc SE Block ấ .............................................................................................59 Hình 4. 1 Đồ thị Dice và Val_Dice đánh giá Epoch ...........................................................62 Hình 4. 2 Đồ thị Loss và Val_Loss đánh giá learning rate.................................................63
  • 10. 9 Hình 4. 3 Đồ thị learning curve Endocardium.................................................................... 64 Hình 4. 4 Đồ thị learning curve Epicardium ...................................................................... 64 Hình 4. 5 K t qu ế ả phân vùng ả ủ nh c a mô hình DR-Unet++ .............................................. 65 Hình 4. 6 So sánh kết quả phân vùng nội tâm mạc Endocardium ...................................... 67 Hình 4. 7 So sánh kết quả phân vùng ngoại tâm mạc Epicardium ..................................... 68 DANH M C B NG Ụ Ả B ng 3. 1 B mô hình c a m ả ảng Thống kê các tham số ủ ộ ố t s mô hình.................................. 47 B ng 4. 1 B tham s ả ộ ố ấ ệ hu n luy n mô hình.......................................................................... 61 B ng 4. 2 B t qu ả ảng kế ả đánh giá mô hình theo Epoch ....................................................... 62 B ng 4. 3 B t qu ả ảng kế ả đán giá mô hình theo batch size ................................................... 62 B ng 4. 4 B ng h t qu -Unet++ trên Epicardium ả ảng tổ ợp kế ả mô hình DR .......................... 65 B ng 4. 5 B tham s ả ộ ố ấ ện đánh giá 4 mô hình hu n luy ........................................................ 66 B ng 4. 6 K t qu ả ế ả định lượ ậ ữ ng trên t p d liệu ACDC........................................................ 66 B ng 4. 7 K t qu ả ế ả định lượ ậ ữ ng trên t p d liệu SunnyBrook ............................................... 67
  • 11. 1 DANH M C T Ụ Ừ Ế VI T TẮT STT Ký hiệu Nguyên nghĩa 1 AI Artificial Intelligence 2 ML Machine Learning 3 DL Deep Learning 4 MRI Magnetic Resonance Imaging 5 LV Left Ventricle 6 RV Right Ventricle 7 CNN Convolutional Neural Network 8 FCN Fully Convolutional Network 9 DNN Deconvolutional Neural Network 10 GCL Gated Convolution Layer 11 CRF Conditional Random Field 12 SCD SunnyBrook Cardiac Data 13 ACDC Automated Cardiac Diagnosis Challenge 14 DC Unet - Dual Channel Unet 15 TF TensorFlow 16 LR Learning Rate 17 DSC Dice Similarity Coefficient 18 IoU Intersection over Union 19 S&E Squeeze and Excitation 20 ASPP Atrous Spatial Pyramid Pooling 21 PASPP Progressive Atrous Spatial Pooling 22 ResNet Residual Neural Network
  • 12. 1 CHƯƠNG 1. ĐẶ ẤN ĐỀ T V 1.1 Khó khăn và thách thức Trong nh ng máy tính phát tri n m nh m cùng thu ững năm qua, các hệ ố th ể ạ ẽ ật toán x lý song song, trí tu ử ệ nhân t o d n ti ạ ầ ến sâu và đượ ứ ụ ộ c ng d ng r ng rãi trong x lý qu ng ử ảnh nói chung và ảnh y tế nói riêng. Với nhu cầu lưu trữ ản lý số lượ lớn hồ sơ bệnh án, máy tính tích hợp trí tuệ nhân tạo hoạt động như một Robot t thu ng hay con người thực hiện các tác vụ như tư vấn kỹ ật số qua nhận dạng giọ nói, theo dõi s c kh t d u t ứ ỏe bệnh nhân online cũng như truy xuấ ữ ệ li ối ưu, nhanh hơn và đồ ộ hơn. Đặ ệ ự ờ ật toán AI thông minh để ng b c bi t s ra đ i các thu phân tích, ki t ểm tra ảnh y ế trong các máy cộng hưởng từ, chụp CT, nội soi hay phân tích điện tâm đồ ằm đưa ra kế ả nhanh và chính xác hơn. Từ đó, giúp phân loạ nh t qu i b tr ệnh nhân theo từng cấp độ, hỗ ợ bác sĩ chẩn đoán đúng bệnh và tình trạng sức kh nh nhân. ỏe của bệ Các ứ ụ ế ể ể ới như các hệ ố ẩn đoán u não [1], ng d ng trong y t có th k t th ng ch ung thư phổ ổ ứ ề i hay viêm ph i do COVID [2], và nghiên c u v tim m ch [3,4]. Trong ạ các hệ ố ỗ ợ ẩn đoán ả ế này thông thườ ồ ớ th ng h tr và ch nh y t ng bao g m các bư c: ti vùng i. ền xử lý, xác định đối tượng, phân ảnh, trích chọn đặc trưng, và phân loạ Trong các bướ ảnh đượ ọ ất, đóng góp vào sự c trên, phân vùng c coi là quan tr ng nh chính xác c c phân lo i và ch a phân vùng ủa bướ ạ ẩn đoán. Mục đích củ ảnh đó là khoanh vùng đúng đượ ủ ể ầ quan tâm như tế c cơ quan c a th hay các vùng c n bào, gan, ph i, kh i u, kh ổ ố ối tâm nhĩ, tâm thấ ừ đó có thể tính toán được kích thướ t… T c hay th tích c ng th phát tri ể ủa các khối đó, đồ ời theo dõi được sự ển bình thường hay b ng c i có th c ất thườ ủa các khối u, cơ quan. Đồng thờ ể trích chọ ợ n đư các đặc trưng hoặ ả ầ ết trước khi đưa vào khố ậ ạ ẩn đoán. c vùng nh c n thi i nh n d ng và ch M tr r ột trong các hệ thống hỗ ợ chẩn đoán y tế được nghiên cứu từ ất sớm và đượ ứ ụ ộ ệ ả đó là hệ ố ỗ ợ bác sĩ tim mạ c ng d ng AI m t cách hi u qu th ng h tr ch. Cho tới thời điểm hiện tại, năm 2022 các thành tựu mới của AI trong chẩn đoán và dự phòng các b nh tim m c công b ệ ạch đã đượ ố ề nhi u trên các tạp chí y khoa hàng đầu th gi m gi i ế ới. Việc nghiên cứu về tim mạch được quan tâm ở ọi quốc gia trên thế ớ xu t vi ất phát từ ầm quan trọng của ệc phát hiện sớm và điều trị căn bệnh này. Theo th ng kê c T th i, b nh v tim m ch là nguyên nhân gây t vong ố ủa ổ chức y tế ế giớ ệ ề ạ ử hàng đầ ầ ếm hơn 30% tổ ố ử Ở ệ ỉ ệ u trên toàn c u, chi ng s ca t vong [5]. Vi t Nam t l tử vong do liên quan đế ệ ề n các b nh v tim kho 31% t ng s ảng ổ ố ca trong năm 2022. Tuy nhiên, n c phát hi m t u, và th c hi n các bi n pháp ếu đượ ện sớ ừ giai đoạn đầ ự ệ ệ phòng b nh và dùng thu c phù h p thì t l t vong s th . ệ ố ợ ỉ ệ ử ẽ ấp đi đáng kể Trong y khoa, bác sĩ chẩn đoán bệ ề ạ ự ố nh v tim m ch d a trên các thông s lâm sàng như điện tâm đồ ả ụ ắ ớ (ECG), siêu âm tim, hình nh ch p c t l p vi tính CT, hình
  • 13. 1 ả ụ ộng hưở ừ (MRI). Phương pháp điện tâm đồ ECG đầu tiên đượ nh ch p c ng t AI- c công b là nghiên c u Eagle, có th c nhi nh lý tim m ố ứ ể ịnh đượ xác đ ều bệ ạch (cả ở trạng thái tiềm ẩn và có biểu hiện), bao gồm rung nhĩ, rối loạn chức năng tâm thất, bệnh cơ tim chu sinh, bệnh tim amyloid, tăng áp độ ạ ổ ng m ch ph i… Tuy nhiên các tín hi n r t bé, c phân tích ph i th t nhanh nên các ệu điện tim có dòng điệ ấ ần tố ộ c đ ả ậ phương pháp xử lý d a trên hình nh y h c có nhi u nghiên c u sâu r ự ả ọ ề ứ ộng hơn. Các k thu ỹ ật số chụp ảnh tim như MRI hay CT đượ ử c s d y ụng chủ ếu, trong đó kỹ thu t ậ CT có t ng hình c nét và ố ộ ụp nhanh hơn nhưng MRI cho chất lượ c đ ch ảnh, độ ắ s chi ti t t c bi t v i các hình m. ế ốt hơn, đặ ệ ớ ảnh mô mề Hình 1. 1 nh tim ch p b Ả ụ ằng phương pháp MRI, CT Scan, siêu âm [6] Trong bài toán phân vùng tim, các ng là nh c ả ở nh ảnh phân tích thườ ả ộng hưở ừ ng t MRI để thu đượ ả c hình nh ở các cơ và mô vớ ất lượ ố i ch ng t t. Các nghiên c nh y ứu phân vùng ả ở tim chủ ếu tập trung vào bài toán phân vùng ảnh tâm thất trái (left ventricle) do các đặ ở ấ ể ẩn đoán mộ ố ệ c tính tâm th t có th giúp ch t s b nh v nh ề ồi máu cơ tim, tim đập nhanh, hay tim loạn nhịp. Phân vùng ảnh tâm thất thường là xác đị ủ ộ ạ ạ ạ nh biên c a các vùng n i tâm m c (endocardium), ngo i tâm m c (epicardium), t tái t u trúc 3D c a tâm th ng th i xác ừ đó có thể ạo được cấ ủ ất. Đồ ờ định đượ ể ủ ấ ở ộ ỳ ầ c th tích c a tâm th t trong quá trình co bóp m t chu k tu n hoàn. S ng m nh ố lượ ảnh cần phân vùng ở ột bệ nhân thường là rất lớn. Thường số lượ ảnh đượ ậ ỳ ọi là frame) thườ ừ 20 đế ng c thu th p trong chu k tim (g ng là t n 24 ả ề ọ ỗ ố ất đượ ụ ừ ảng 10 đế ắ nh. Tính theo b d c, m i kh i tâm th c ch p t kho n 15 lát c t (slice). Như vậy để ứ ề ể tích và đặ ủ ấ ộ nghiên c u v th c tính c a tâm th t trong m t chu k tu ỳ ần hoàn của một bệnh nhân cần phải phân vùng hơn 200 ảnh. Do đó nế ự u th c hi n b ng tay s t công vi n th i gian và m t m i cho nhân viên y t . ệ ằ ẽ là mộ ệc tố ờ ệ ỏ ế
  • 14. 1 Hình 1. 2 Hình nh tâm th t theo t ng chu ả ất và lắt cắ ừ kì Để ợ ế, công đoạ ả ần đây đã đượ tr giúp cho nhân viên y t n phân vùng nh g c triển khai bằng các phương pháp tự động. Từ các năm 2000 đến 2016, các nghiên cứu về phân vùng ảnh tâm thất thường dựa trên các phương pháp như active shape model, active contour model, và level set method [4,5]. M c dù vi c phân vùng ặ ệ ảnh đượ ự ệ ộ ự động, các phương pháp này vẫ ầ ộ c th c hi n m t cách t n c n m t thao tác đó là phả ở ạ ột đường bao (contour) trướ ệ ố ự động điề i kh i t o thô m c khi h th ng t u chỉnh để đườ ể ng bao này chuy n độ ề ng v đúng b ủa vùng quan tâm. Đứng trướ iên c c th g ực tế này, nhiều nghiên cứu đã cố ắng đề xuất các phương pháp để không cần đến bướ ở ạo đường bao, như tự tìm đườ ử ụ c kh i t ng tròn, s d ng Hough transform, các thu c s ật toán thresholding, nhưng chưa thự ự đạ ế ả ả ớ t k t qu kh quan cho t i khi áp d ng các mô hình h c sâu [6]. Nh s phát tri n c a các mô hình m -ron ụ ọ ờ ự ể ủ ạng nơ tích ch p, m ron tích ch p toàn ph n FCN (fully convolutional neural ậ ạng nơ- ậ ầ network) do J. Long đề ất [7], đã đượ ả ế ụ xu c c i ti n và áp d ng vào bài toán phân vùng nh [8,9] v i nhi u k m ng FCN, công vi c phân vùng ả ớ ề ết quả khả quan. Nhờ ạ ệ ảnh đượ ự ệ ự động. Ngườ ử ụ ầ ằ c th c hi n hoàn toàn t i s d ng không c n thao tác b ng tay để ọn đường bao thô như trước. Tuy thu đượ ữ ế ả ả ệ ử ch c nh ng k t qu kh quan, vi c s d thu ụng các kỹ ật học sâu nói chung và mạng nơ ron tích chập đầy đủ nói riêng v li ẫn đứng trước các thách thức. Thách thức lớn nhất là việc thiếu hụt dữ ệu y tế cũng như sự không đồ ộ ề ặ ữ ệ ảnh đượ ấ ở ở ng b v m t d li u. Các c cung c p b i các cơ s d li ữ ệu như Sunny Brook, ACDC database [10, 11] có thể thu đượ ế ả ố c k t qu t t khi
  • 15. 1 th nghi d li d li u ử ệm trên cùng cơ sở ữ ệu. Tuy nhiên nếu huấn luyện trên cơ sở ữ ệ này, ta có th t qu ể thu được kế ả th nghi li ử ệm vớ ộ i đ chính xác thấp nếu dùng dữ ệu thu th phòng khám ho nh vi a chúng ta. Bên c t thách th ậ ở p ặc bệ ện củ ạnh đó ộ , m ức đặ ữ ệ ả ằ ậ ọc sâu cũng sẽ t ra n a là vi c phân vùng nh b ng các thu t toán h gặp khó khăn ở các ảnh thu đượ ừ ệ ệ ứ ạ ụ như bị ồi máu cơ tim c t b nh nhân có b nh lý ph c t p ví d nh (myocardium infarction). Khi đó mứ ủ ả ể ị ị ở c xám c a nh hi n th vùng máu b lan ra cơ tim (myocardium) làm cho rấ ễ ị ủ ộ t d b khoanh vùng ra bên ngoài, và biên c a n i m c và ngo i m c tâm th t r t m nh. ạ ạ ạ ấ ấ ờ và khó xác đị 1.2 Hướ ả ế ng gi i quy t Ở Việt Nam, với nền tảng dữ liệu tương đối phong phú và đội ngũ nghiên cứu có trình độ cao giúp trí tuệ nhân tạo dần phổ biến trong mọi lĩnh vực. Như đã trình bày, một mô hình AI hiệu quả phụ thuộc nhiều vào nguồn dữ liệu huấn luyện nó. Có thể thấy dữ liệu y tế ở nước ta tuy nhiều nhưng lại thiếu tính liên kết và bị phân tán. Mặt khác việc áp dụng Vision thuần túy không đảm bảo độ tin cậy cao, không đáp ứng được khi khối lượng dữ liệu đầu vào lớn và thay đổi liên tục. Bên cạnh đó, lượng dữ liệu sinh ra từ thiết bị chụp cắt lớp CT hay cộng hưởng từ MRI là rất lớn. Những dữ liệu này được biểu diễn trong khối dữ liệu ba chiều, không thể quan sát trực tiếp. Do đó, sẽ tốn khá nhiều thời gian để y bác sĩ tương tác và sử dụng phần mềm qua việc phân tích từng lát cắt 2 chiều. Các thuật toán học sâu được biết đến như một giải pháp hiệu quả, thay cho các phương pháp truyền thống trước đó bởi khả năng tự động khám phá các đặc trưng phức tạp từ tập dữ liệu cho trước để thực hiện các nhiệm vụ Object Detection và Image Segmentation. Điều này làm cho các thuật toán dựa trên DL dễ dàng áp dụng cho các ứng dụng phân tích hình ảnh khác. Nhờ hiệu suất mạnh mẽ của các đơn vị xử lý đồ họa GPU cũng như nguồn dữ liệu huấn luyện đa dạng, phong phú giúp việc tính toán và huấn luyện mô hình DL diễn ra nhanh chóng và hiệu quả hơn. Theo thống kê số lượng bài báo nghiên cứu được xuất bản từ tháng 01/2016 tới tháng 09/2019 về kỹ thuật học sâu về Segmentation Image ảnh tim trong bài báo “Deep Learning for Cardiac Image Segmentation: A Review” trên Review Frontiers in Cardiovascular Medicine [12], được thể hiện trong biểu đồ sau:
  • 16. 1 Hình 1. 3 T ng h p nh ng nghiên c u liên quan DL trong phân vùng nh tim [12] ổ ợ ữ ứ ả Quan sát xu hướng nghiên cứu trên biểu đồ trong cho thấy số lượng hình 1.3, bài báo dựa trên học sâu trong phân vùng ảnh tim đã tăng mạnh trong những năm gần đây. Trong đó số lượng các nghiên cứu phân vùng ảnh dựa trên ảnh MRI cao hơn đáng kể so với ảnh chụp bằng phương pháp CT và siêu âm. Với sự phát triển của mạng nơ ron tích chập CNN trong AI, giúp các mô hình - phân vùng ảnh tự động có bước tiến rõ rệt. Một trong những mô hình tiêu biểu là mạng FCN kiến trúc đầu tiên trong phân vùng ảnh sử dụng cấu trúc Encoder - - Decoder. Ngoài mô hình FCN, đã có nhiều mô hình khác ứng dụng trong phân vùng ảnh có hiệu quả tốt hơn như Unet được biến đến là mô hình cũng có kiến - trúc Encoder-Decoder đối xứng, và thường được áp dụng để phân vùng hình ảnh y tế. Từ đó, đã có nhiều biến thể Segmentation được phát triển từ kiến trúc này như MultiRes- - - Unet [13,14], DC Unet [15], DR Unet [16] có chất lượng tốt hơn mô hình gốc. Việc ứng dụng AI vào bài toán này sẽ là hướng đi đúng đắn, hữu ích để máy tính có thể tự động phát hiên các tổn thương dựa trên vùng tâm thất và hiển thị nó một cách trực quan. Song song với việc đó, chúng ta cũng cần quan tâm đến việc khử nhiễu và cải tiến mô hình cũng như các tham số để kết quả thu được tốt nhất. Các khó khăn của bài toán phân vùng tâm thất ở bệnh nhân tim mạch có thể được cải thiện thông qua xây dựng các hàm mất mát (loss function) bằng cách đưa vào các thông tin về biên, vùng của ảnh xét để tăng độ chính xác của bài toán phân vùng đối tượng trong ảnh.
  • 17. 1 CHƯƠNG 2. BÀI TOÁN PHÂN VÙNG ẢNH 2.1 Bài toán phân vùng ảnh 2.1.1 Phân vùng ảnh là gì Không giống như máy tính, chúng ta là những sinh vật sống, việc hiểu thế giới xung quanh chúng ta đến một cách tự nhiên. Đối với máy tính, thị giác đòi hỏi các thuật toán học sâu phức tạp. Nhưng các thuật toán không dựa vào ma thuật - chúng cần được cung cấp một lượng lớn dữ liệu chất lượng cao. Đó là lúc mà phân đoạn hình ảnh 2D và 3D phát huy tác dụng. Thị giác máy tính (Computer Vision) có tiềm năng cách mạng hóa các ngành công nghiệp đa dạng. Nhưng tất cả bắt đầu với quá trình xác định và khoanh vùng đối tượng hay còn gọi là phân đoạn hình - ảnh (Image Segmentation). Phân vùng ảnh tốt sẽ là tiền đề cho các bước xử lý tiếp theo, nhằm gia tăng tính hiệu quả, độ chính xác và giảm thiểu nguồn lực tính toán. Hình 2. 1 Phân vùng ng [17] ảnh và tách đố ợ i tư Trong thị giác máy tính có bốn bài toán cơ bản, bao gồm: Image Classification (Phân loại), Classification with Localization (phân loại và định vị), Object Detection (Phát hiện vật thể), Image Segmentation (phân vùng ảnh). Trong đó Image Classification được dùng để phân loại hình ảnh đầu vào theo danh mục nhãn được xác định trước. Bắt nguồn từ khả năng nhận thức của con người qua thị giác, Classification giúp máy tính (hay robot) có thể phân loại những hình ảnh mà nó đã từng được huấn luyện trước đó. Tiếp theo là bài toán nâng cao của Classification, kết hợp với định vị đối tượng nhằm xác định vị trí của đối tượng xuất hiện trong ảnh và thể hiện bằng Bounding box. Như vậy, trong một vùng quan tâm (Region of Interest) có thể phát hiện nhiều đối tượng. Để có được thông tin chi tiết hơn về đối tượng cần xử lý, chúng ta cần tách đối tượng đấy trong ảnh qua bài toán phát hiện vật thể. Object Detection được ứng dụng rất nhiều trong việc nhận diện số lượng người vào ra trong một khu vực, phát hiện các phương tiện giao thông trên đường phố hay số lượng tế bào trong mô cấy ghép, kiểm tra sản phẩm lỗi trong
  • 18. 1 dây chuyền công nghiệp… Tuy nhiên, với những bài toán yêu cầu độ chính xác cao như xác định biên dạng tâm thất tim người hay biên dạng khối u thì cần một phương pháp có độ chính xác cao hơn. Bài toán phân vùng (phân đoạn) ảnh ra đời. Phân vùng ảnh (Image segmentation) là kỹ thuật chia ảnh đầu vào thành nhiều nhóm con khác nhau. (segments) segmentation Cả và object detection đều có nhiệm vụ là phát hiện vị trí vật thể trong ảnh và gán nhãn phù hợp cho chúng. Tuy nhiên yêu cầu về độ chính xác của phân vùng ảnh ở mức cao hơn tới từng đơn vị ảnh pixel. Trong quá trình này, mỗi pixel trong hình ảnh được liên kết với một loại đối tượng. Nhờ vậy, phân vùng ảnh có thể chỉ ra nhiều thông tin quan trọng của bức ảnh như vị trí, hình dạng của vật thể và tương ứng tới từng pixel. Hình 2. 2 n nh Semantic và Instance [18] Phân đoạ ả Mục tiêu của bất kỳ mô hình thị giác máy tính nào là phát triển một thuật toán phát hiện hình ảnh. Nhưng điều đó vẫn chưa đủ việc phân loại và định vị object - trong hình ảnh phải có độ chính xác cao. Tùy vào yêu cầu bài toán cụ thể mà chúng ta sẽ lựa chọn phân vùng cho các nhóm đối tượng khác nhau hay phân vùng cho từng đối tượng trong bất kì nhóm nào. Có hai kiểu phân đoạn hình ảnh chính: - Phân đoạn ngữ nghĩa (semantic segmentation): Phân tách các lớp, các đối tượng cùng một lớp thì gom vào một nhóm, nghĩa là các pixel thuộc cùng một lớp (class) sẽ được gán nhãn giống nhau. + Ví dụ: theo hình trên, tất cả con cừu (Sheep) được xếp vào một nhóm, hai nhãn còn lại bao gồm đường (Road) và cỏ (Grass)
  • 19. 1 - Phân đoạn cá thể (instance segmentation): Thực hiện phân vùng với từng đối tượng trong một lớp, trong đó các pixel thuộc cùng một vật thể được gán nhãn giống nhau. + Ví dụ: mỗi một con cừu là một đối tượng khác nhau, được tách thành 3 nhãn tương ứng với Sheep1, Sheep2, Sheep3. Hai nhãn còn lại giống như trên. Nói cách khác, phân đoạn ngữ nghĩa coi nhiều đối tượng trong một nhóm như một thực thể. Ngược lại, phân đoạn cá thể xử lý nhiều đối tượng của cùng một lớp như các cá thể riêng lẻ khác nhau. Trong phân vùng ảnh, các pixel được gắn nhãn giống hệt nhau được coi là thuộc cùng một lớp ngữ nghĩa và sử dụng ID của chúng phân biệt các cá thể riêng nhau. Thông thường, phân vùng ảnh được huấn luyện theo phương pháp học có giám sát. Nghĩa là, chúng ta cần gán nhãn đến từng pixel tương ứng với đối tượng cần phân vùng. Hình 2. 3 C u trúc t ng quát bài toán phân vùng nh ấ ổ ả Đầu vào (input) của Segmentation là ảnh gốc, đầu ra (output) sẽ là ảnh được phân vùng - ma trận Mask dự đoán có giá trị từng pixel được gán nhãn trên đó. Ví dụ như trên đầu ra sẽ thu được hai phân vùng màu trắng với màu xám hình 2.3, tương ứng với khoanh vùng tâm thất trái và tâm thất phải. Đó là hai đối tượng khác nhau cần phân vùng. 2.1.2. ng d Ứ ụng phân vùng ảnh Như đã trình bày ở mục 2.1.1, phân vùng ảnh không chỉ xác định vị trí của đối tượng cần quan tâm mà còn có thể lấy được nhiều thông tin có ích hơn như: biên dạng, kích thước thực tế, diện tích, chu vi của nó. Từ đấy chúng ta có thể sử dụng ảnh sau phân vùng để thực hiện những tác vụ khác phụ thuộc theo yêu cầu từng ứng dụng. Trong thực tế, phân vùng ảnh được ứng dụng nhiều trong lĩnh vực y học, thiết bị không người lái, xử lý ảnh vệ tinh,… a) Trong y học
  • 20. 1 Thuật toán phân vùng hỗ trợ bác sĩ chẩn đoán dựa trên phân tích hình ảnh, đưa ra quyết định nhanh, chính xác và giảm thiểu việc bỏ sót những tổn thương (phổi, vú, não, cột sống, gan mật,…). Hiện nay trong y tế, các phương pháp Segmentation được áp dụng trên cả hình ảnh 2D (ảnh 2 chiều) và 3D (ảnh 3 chiều). Như vậy, chúng ta có thể phỏng dựng lại kiến trúc các cơ quan, hay mô tế bào trên phần mềm máy tính một cách trực quan để theo dõi đặc tính, biên dạng của chúng theo chu kì thời gian thực. Ảnh y tế rất đa dạng đến từ số lượng lớn bệnh nhân. Điều này vừa giúp cung cấp nguồn dữ liệu đa dạng để xây dựng các mô hình huấn luyện cho nhiều nhóm bệnh khác nhau. Nhưng mặt khó khăn đó là dữ liệu không đồng nhất về chất lượng, kích thước và màu sắc. Chính vì vậy, các nhà nghiên cứu trong lĩnh vực này đã và đang tìm cách xử lý dữ liệu thô trước khi huấn luyện mô hình để có thể sử dụng các nguồn dữ liệu này kết hợp với nhau. Hình 2. 4 ng d ng phân vùng nh não, tâm th t tim, vú, ph bào Ứ ụ ả ấ ổi, ung thư da, tế [19,20,21] Trong lĩnh vự ệ ọ ể ế c công ngh sinh h c hay phân tích bi u mô, t bào trong y sinh cũng đượ ứ ộ ệ c nghiên c u phân vùng sâu r ng. Thông qua vi c khoanh vùng chính xác từng đối tượ ế ứ ể ễ ng t bào, các nhà nghiên c u có th d dàng theo dõi tình hình phát tri c tính c a chúng. Nh ng nh ng thành t u khoa h ể ặ n và đ ủ ờ ệ vi c áp dụ ữ ự ọc máy tín th thu h cụ ể là kỹ ật học sâu, lĩnh vực này đã có những bước tiến rõ rệt và hiệu qu . ả b) Ứng dụng trong thiết bị không người lái Xu thế tự động hóa, thế giới đang quan tâm nhiều các thiết bị UAV hay những chiếc xe tự hành. Những thiết bị này ngày càng phổ biến, thân thuộc với cuộc sống con người, có thể thay thế con người vận hành, góp phần xây dựng hệ thống thành phố thông minh (Smart City). Các hãng xe lớn trên thế giới đều đầu tư lớn để phát triển các hệ thống lái tự động thông minh như Tesla, VinFast. Trong đó, xe tự hành
  • 21. 2 được xem là một ví dụ điển hình khi thực hiện cả 2 nhiệm vụ đồng thời: tự lái và khả năng cảm nhận và nhận biết môi trường xung quanh. Do vậy trên xe tự hành, phải được trang bị hệ thống đầy đủ các cảm biến, camera xử lý tốc độ cao giúp xe có thể tự đưa ra quyết định thay cho con người. Hình 2. 5 ng d ng phân vùng hành [22] Ứ ụ ảnh xe tự Xe tự hành phải nhận thức liên tục theo thời gian thực để xử lý và phản ứng nhạy với sự thay đổi không ngừng của ngoại cảnh xung quanh. Do tiêu chí an toàn được ưu tiên và cần độ chính xác cao trong mọi quyết định nên nó cần phải xác định đúng các đối tượng xuất hiện trên đường như xe cộ, người đi bộ, vạch kẻ đường, đèn và biển báo giao thông. Do vậy việc ứng dụng phân vùng ảnh để nhận dạng đối tượng là cần thiết và được chú trọng. Có thể thấy yếu tố giữ vai trò quan trọng nhất trong xe tự lái chính là phần mềm. Ngoài xe tự hành nêu trên, trong thực tế hiện nay nó còn ứng dụng nhiều trong các thiết bị AGV vận chuyển hàng hóa trong công nghiệp hay xe tự hành làm việc thay con người trong môi trường độc hại hay do thám trên mặt trăng,… c) Xử lý ảnh vệ tinh Hình ảnh bề mặt trái đất được thu thập liên tục bởi các vệ tinh quay quanh trái đất. Việc xử lý ảnh vệ tinh có ý nghĩa quan trọng giúp con người khám phá thế giới. Từ các hình ảnh đó, mô hình Segmentation sẽ phân vùng thành từng khu vực đất liền, biển cả, rừng núi, sông tới những chi tiết nhỏ hơn là tuyến đường, tòa nhà, khu phố,… Từ đó xây dựng lại bản đồ thế giới mà chúng ta đang sử dụng hiện nay. Nhờ vậy chúng ta có thể dễ dàng truy cập các ứng dụng bản đồ Online như Google Maps để tìm đường, địa điểm.
  • 22. 2 Hình 2. 6 ng d ng trong x nh v tinh [23] Ứ ụ ử lý ả ệ Ngoài ra, hình ảnh vệ tinh còn được dùng trong việc điều hướng lộ trình di chuyển và hạ cánh các chuyến bay bằng bản đồ sân bay được tạo từ việc phân vùng ảnh lấy từ vệ tinh. Ta có thể thấy ở hình trên, các máy bay, đường băng, nhà ga hay bãi đậu được phân vùng tự động. Nhờ đó việc quản lý, theo dõi số lượng máy bay ra/vào mỗi ngày được thực hiện một cách nhanh chóng và hiệu quả hơn. d) Ứng dụng trong nông nghiệp Robot nông nghiệp là một ngành công nghiệp đang bùng nổ. Nông nghiệp kỹ thuật số kết hợp các công nghệ kỹ thuật số, chẳng hạn như chú thích hình ảnh, cảm biến và phần mềm. Nó giúp cải thiện hiệu quả, tính bền vững và lợi nhuận. Cuộc cách mạng kỹ thuật số đang mang đến một kỷ nguyên mới. Nông nghiệp kỹ thuật số thay đổi cách chúng ta trồng thực phẩm và quản lý môi trường của chúng ta. Ví dụ, nông dân có thể quyết định thời điểm thu hoạch cây trồng bằng cách sử dụng các công nghệ tích hợp theo hướng dữ liệu. Nếu áp dụng thuật toán Image Segmentation tự động để phân biệt diện tích cây trồng và cỏ, khi cỏ lấn át diện tích cây trồng thì hệ thống phun thuốc trừ sâu sẽ tự động kích hoạt. Nhờ đó, h . ọ có thể tiết kiệm tiền trong việc giảm số lượng lớn thuốc trừ sâu
  • 23. 2 Hình 2. 7 ng d ng trong nông nghi p Ứ ụ ệ Ở ớ ề ệ ế ệ ử ụ ệ các nư c có n n nông nghi p tiên ti n, Robot nông nghi p s d ng trí tu nhân t o hay th hoàn thành vi c thu ho ng. Giúp nông ạ ị giác máy tính để ệ ạch cây trồ dân tăng năng suấ ảm chi phí lao độ ảm tác động đến môi trườ t, gi ng và gi ng. 2.2 Các phương pháp phân vùng ả ổ ể nh c đi n 2.2.1 Phân vùng dựa trên ngưỡng Phân vùng dựa trên ngưỡng (Threshold Based Segmentation) là một dạng phân vùng ảnh dựa trên việc đặt giá trị ngưỡng để tạo ra một hình ảnh đen trắng (nhị phân). Hình 2. 8 nh g nh phân vùng Threshold [24] Ả ốc và ả Giá trị mỗi pixel trong ảnh nằm trong dải (0-255), trong đó màu đen = 0, màu trắng = 255. Để xác định ngưỡng phù hợp, ta dựa trên biểu đồ giá trị của các pixel trong ảnh, cài đặt giá trị ngưỡng để thu được ảnh phân vùng đối tượng cần quan tâm rõ nhất.
  • 24. 2 Minh họa: khi xem xét ví dụ trên hình 2.8, nếu đặt ngưỡng có giá trị T = 120. Những pixel có giá trị 120 sẽ có giá trị 0 và những pixel còn lại sẽ có giá trị 255. ≤ Khi cài đặt ngưỡng bằng 120, đối tượng chỉ phân vùng những vùng nào sáng tốt, nên chi tiết nhìn khá rõ, tuy nhiên có một vài điểm sáng nhiễu xuất hiện. Lúc đặt ngưỡng giảm xuống còn 80, chi tiết đối tượng xuất hiện nhiều nhiễu do các vùng pixel liền kề có giá trị lân cận ngưỡng. Công thức xác định phân vùng theo ngưỡng được thể hiện như dưới đây: g(i, j) = 1 for f(i, j) >= T = 0 otherwise Do kết quả phụ thuộc giá trị ngưỡng đặt đầu vào nên phương pháp này không được áp dụng đối với ảnh có độ tương phản giữa nền và vật thể không rõ ràng. Trong đó có ảnh tâm thất tim, bởi độ tương phản của chúng thay đổi nhiều. Một số phương pháp phân vùng theo ngưỡng thường dùng như Otsu Thresholding, Balanced Histogram Thresholding (BHT), … 2.2.2 Phân vùng dựa trên cạnh Phân vùng d a trên c nh (Edge Based Segmentation): C nh xu ự ạ ạ ất hiệ ở ị n v trí xuất hiện gián đoạn do có sự thay đổi mức xám. Tuy nhiên có nhiều vùng phát hiện sự gián đoạn đó (phân vùng trung gian), nhưng không phải là cạnh thật. Để ra được kế ả ố ộ ố ầ t qu cu i, m t s thao tác c n làm bao g t h ồ ế m: k ợp các cạnh tìm được làm một, để ả gi m số lượ ạ ợ ột đườ ề ạ ng phân vùng và t o đư c m ng bao li n m ch quanh đối tượng. Hình 2. 9 nh trong nh Các loại cạ ả
  • 25. 2 Phân vùng d a trên c nh bao g ự ạ ồm 2 bước: - Edge Detection: m c tiêu c n tìm các pixel là pixel c ng. ụ ầ ạnh của một đối tượ - t Edge Linking: liên kết các cạnh liền kề và kết hợp để ạo thành toàn bộ đối tượng. Để ự ệ ệc này, người ta thườ ộ ử ụ th c hi n công vi ng dùng 2 cách. M t, s d ng gradient và hướ ể ế ạ ậ ế ạ ng đ liên k t các c nh lân c n, n u hai c nh có vectơ chỉ phương gi ng ống nhau thì chúng có thể được liên kết với nhau. Cách hai là thực hiện bằ cách sử ụ ển đổ d ng chuy i HOG. C l ạnh tìm được thường có những đặc trưng về “Độ ớn” và “Hướng”. Một số toán t n c Sobel, Canny, Kirsch, Prewitt, ử ệ phát hi ạnh thường dùng như toán tử Robert và toán tử Laplace. Hình 2. 10 K t qu phân vùng nh d a trên c nh [25] ế ả ả ự ạ 2.2.3 Phân vùng d c ựa trên khu vự Phân vùng d a trên khu v ự ực (Region- phân Based Segmentation): Dùng để vùng m t nhóm các pixel k nhau và có các thu ộ ề ộc tính tương đồng về ờng độ cư , màu s c. ắ Có 2 nhóm k thu t chính trong phân vùng d a trên khu v c, bao g m: ỹ ậ ự ự ồ - Phát tri n khu v c (Region growing method): ể ự Đố ớ ỹ i v i k thuật này, chúng ta bắt đầ ớ ộ ố u v i m t s pixel làm pixel kh o (hay ởi tạ pixel g n hành ki m tra các pixel li n k . N u pixel này tuân theo ốc) và sau đó tiế ể ề ề ế các quy t c bi c, thì nó s c thêm vào vùng c u. Công vi ắ ết trướ ẽ đượ ủa pixel ban đầ ệc s ti p t ng nào n a. ẽ ế ục cho đến khi không tìm được điểm tương đồ ữ
  • 26. 2 Hình 2. 11 Phân vùng khu v c, (a) Region growth, (b) Region splitting and merging ự [26] - Phân tách và hợp nhất khu vực (Region splitting and merging method): đầu tiên hình ảnh đượ ụ c ch p một vùng. Nếu không thỏa mãn theo các quy tắc được xác định trướ ẽ ợ ế ụ ụ ắ c, region s đư c chia thành 1/4 và ti p t c áp d ng các quy t c. Công vi c này l n khi không s ệ ặp lại đế ự phân chia được nữa. Hình 1 pháp phân tách và xác l . Phương ập vùng Điề ệ ể ị ệt đố ủ ữ ố ủ ớ ấ u ki n: Ki m tra giá tr tuy i c a gi a sai s c a Zmax (pixel l n nh t) và Zmin (pixel nhỏ nhất) trong một vùng bé hơn hoặ ằ ị ngưỡ c b ng giá tr ng (Threshold) thì vùng đó không yêu cầ ỏ u chia nh thêm. |Zmax - eshold Zmin| ≤ Thr Zmax → Maximum pixel intensity value in a region Cả hai phương pháp nêu trên đề ặp đi lặ ạ ệ ự u là quá trình l p l i. Công vi c này th c hiện khá tốn thời gian để phân vùng ra đượ ế ả c k t qu cuối cùng. Tương tự như phân vùng d ng vùng ranh i gi t th và n n không rõ ràng ựa trên ngưỡ ở ữ ng, nh giớ ữa vậ ể ề thì nó không ho ng hi u qu . Do v ạ ộ t đ ệ ả ậy, phương pháp này cũng không phù hợp trong phân vùng nh tim yêu c chính xác cao. ả ầu độ
  • 27. 2 2.2.4 Phân vùng d thu m ựa trên kỹ ật phân cụ Phân c ng khá ph n trong phân vùng nh. Ta ụm (Clustering) được sử ụ d ổ ế bi ả thườ ặ ật toán KMeans Clustering để phân đoạ ả ng g p thu n nh màu. D c ựa trên cường độ ủa các pixels trên ảnh, thuật toán sẽ phân thành một cụm (clusters). Sau đó dự ủa chúng để phân đoạ ế ằ ế a trên centroids c n ti p b ng cách ti n hành tính toán kho ng cách c t c m t tìm nh m có ả ủa tấ ả các điể ới các cụm để ững điể kho ng cách nh nh p l n khi thu t toán h i t . ả ỏ ất. Lặ ại quá trình này cho đế ậ ộ ụ Hình 2. 12 Phân c -means clustering [27] ụm K Thu n hình nh ho ật toán phân đoạ ả ạt động như sau: - u tiên, chúng ta c n ch n giá tr c a K trong phân c m K-mean. Đầ ầ ọ ị ủ ụ - Ch n m i pixel (các giá tr RGB). ọ ột vectơ đặc trưng cho mỗ ị màu như giá trị - Xác đị ộ nh đ tương tự b/w vectơ đặc trưng như khoảng cách Euclide để đo độ tương tự ấ ỳ b/w hai pixel b t k . - Áp d t toán K-mean cho các trung tâm c m ụng thuậ ụ - Áp d t toán c a thành ph i. ụng thuậ ủ ần được kết nố - Kết hợp bất kỳ thành phần nào có kích thướ ỏ c nh hơn ngưỡ ớ ầ ng v i thành ph n li n k v i thành ph n khi không th k t h p nhi u ề ề tương tự ớ ần đó cho đế ể ế ợ ề hơn. V t ậy làm sao để ối tưu giá trị K? Đố ớ ộ ạ ậ ụ ất đị ộ ố thường đượ i v i m t lo i thu t toán phân c m nh nh, có m t tham s c g nh s ng c n phát hi n. Chúng ta có th có giá tr ọi là K xác đị ố lượ ụm cầ ệ ể ị được xác định trướ ủ ế ế ứ ề ề ữ c c a K, n u chúng ta có ki n th c mi n v d li u ệ mà nó chứa bao nhiêu
  • 28. 2 danh m c khi tính giá tr c tiên chúng ta c n xác ục. Nhưng trướ ị ố ủa K, trướ t i ưu c ầ đị ụ ậ ụ ể được đưa ra bở nh hàm m c tiêu cho thu t toán trên. Hàm m c tiêu có th i:  =   |     󰆓    󰆓    | PT 2.1 M t ột cách tố ể t đ tìm giá trị ối ưu củ ự ọ ị ở a K là l a ch n giá tr kh i tạ ạ o trong ph m vi giá tr 10) và v a kho ng cách WCSS so v ị ỏ hơn (1 nh - ẽ đồ ị ủ th c ả ới K. Điểm mà đồ ị ị th b b nh xu t ẻ cong mạ ống có thể được coi là giá trị ố ủa K. Phương pháp i ưu c này đượ ọi là phương pháp El c g bow. Hình 2. 13 nh g nh l -Mean clustering [28] Ả ốc và ả ọc K Nhìn vào k t qu ế ả phân vùng phân cụ ở m trên, có thể thấy các vùng chính được phân vùng khá rõ. Tuy nhiên ng ph n rìa (m t, vùng m t) b n sang màu ở ữ nh ầ ặ ắ ị ẫ l khác. Ưu điể ủ ụng đượ ả ạ ế ủ m c a k-mean clustering là áp d c cho nh màu. H n ch c a nó là t n kém chi phí tính toán. B i vi c tính toán kho ng cách t tâm t i toàn b ố ở ệ ả ừ ớ ộ các pixels trong c m s t n nhi u th i gian. ụ ẽ ố ề ờ Dưới đây là kế ả ả ằ ộ ố phương pháp phân vùng cổ t qu phân vùng nh b ng m t s điển như: Threshold, Edge-base. Hình 2. 14 T ng h p phân vùng nh tâm th ng và Edged-Sobel ổ ợ ả ất LV bằng ngưỡ
  • 29. 2 D th ựa vào ảnh gốc và nhãn thực tế, có thể ấy hình nh MRI tâm th ả ất tim có độ tương phản thay đổ ều, đường bao contour cũng không nhìn rõ do có nhiề i khá nhi u thành ph u xu n xung quanh. Có th n th a trên ần nhiễ ất hiệ ể ậ nh ấy phương pháp dự ngưỡ ế ả ả ấ ữ ự ng Threshold cho k t qu phân vùng c tâm th t và nh ng vùng khu v c lân c l ng ận có giá trị ớn hơn ngưỡng cài đặt T. Còn phương pháp phân vùng cạnh bằ Sobel thì chưa thự ự ệ ả c s hi u qu , do độ tương phả ữ ối tượ ề n gi a đ ng quan tâm và n n kém, d n không nhìn rõ phân vùng c nh c ng c n gán nhãn. ẫn đế ạ ủa đối tượ ầ Qua phân tích m t s nh c n, có th n th ộ ố phương pháp phân vùng ả ổ điể ể ậ nh ấy rằng các phương pháp này khá đơn giản, hầu hết được tích hợp sẵn trong bộ thư vi v thu ện mã nguồn mở. Tuy nhiên, hiệu quả ẫn chưa tốt do kết quả phụ ộc nhiều vào màu s n gi ng và n n. M ắc, độ tương phả ữ ối tượ a đ ề ột số phương pháp yêu cầu kh ng tính toán l n, th i gian x lý lâu không phù h p v i nhi u ng d ng y ối lượ ớ ờ ử ợ ớ ề ứ ụ t ng hi i s d ng AI ế. Như vậy theo xu hướ ện nay, các phương pháp phân vùng mớ ử ụ đang phát triể ừng để n không ng đạ ệ ả ế con ngườ ủ t hi u qu cao thay th i làm th công. Nh y s ững phương pháp đấ ẽ được trình bày dưới đây. 2.3 Các phương pháp phân vùng ả ự nh d a trên AI  Cơ sở lý thuyết Phân vùng dựa trên mạng nơ ron nhân tạo (Artificial Neural Network Based - Segmentation) sử dụng phương pháp học sâu để tự động phân vùng một hình ảnh và xác định các đặc trưng khác nhau của nó trong vùng quan tâm. Các mô hình học sâu đều bắt nguồn và phát triển từ mạng nơ ron tích chập (CNN - - convolutional neural networks). CNN bi là một trong những mô hình phổ ến nhất trong học sâu, được dùng trong nhiều bài toán phân loại, nhận dạng ảnh hay ứng dụng trong xử lý ngôn ngữ tự nhiên (âm thanh). Kiến trúc nguyên thủy của CNN được giới thiệu vào năm 1980. Đến năm 1998 được Yan LeCun huấn luyện với thuật toán Back-propagation cho bài toán nhận dạng chữ viết tay. Cho đến khi AlexNet được xây dựng vào 2012 và sử dụng card đồ họa để đẩy nhanh quá trình huấn luyện thì mới đạt được kết quả tốt nhất trong cuộc thi Computer Vision thường niên ImageNet, từ đó đã tạo nên làn sóng sử dụng mô hình Machine Learning, Deep Learning. Từ CNN cơ bản, người ta có thể tạo ra nhiều kiến trúc mạng khác nhau từ đơn giản đến phức tạp như VGGNet (2014), GoogleNet (2014), ResNets (2015), DenseNet (2016).
  • 30. 2 Cấu trúc mô hình CNN và các khái niệm cơ bản: Hình 2. 15 C u trúc m ng CNN trong classification ấ ạ Cấu trúc CNN bao gồm các lớp: Convolution layer + Nonlinear layer, Pooling layer, Fully connected layer. Ảnh đầu vào sẽ được đưa qua tầng tích chập + hàm phi tuyến, rồi đưa tới lớp pooling layer. Cấu trúc này có thể được lặp lại nhiều lần trong mạng để trích xuất đặc trưng (feature) từ ảnh. Cuối cùng sẽ tổng hợp bởi fully connected layer và softmax để đưa ra kết quả phân loại. - Convolution Layer (lớp tích chập): Đây là lớp đầu tiên của của mô hình CNN nhưng có vai trò quan trong nhất, có nhiệm vụ là trích xuất các đặc trưng từ hình ảnh. Những đặc trưng này bao gồm góc, cạnh, màu sắc, hoặc đặc trưng phức tạp hơn như bối cảnh của ảnh. Tham s c (Filter) hay g i tên khác ố ộ ọ chính là các b l ọ là Kernel, đó là các bộ l h l ọc có thể ọc được. Các bộ ọc có kích thước hai chiều 3x3 hoặc 5x5 (nhận thấy filter c ng tích ch u là s ủa tầ ập đề ố ẻ ộ ố ả ầ ầu vào. Để l ) và có đ sâu gi ng nh đ u vào đ thu đượ ứ c Feature Map ch a các đặc trưng, ta cho bộ ọ l c trượ ầ t d n theo chiều ngang và d c trên nh. ọ ả Hình 2. 16 ho ng c a l p Convolution Mô tả ạt độ ủ ớ Quá trình trượ ộ ọ ụ ộ ị ủ t các b l c ph thu c giá tr c a: + Padding: quy đị ộ đệ ủ ộ ọ nh b m c a b l c + Stride: quy định bướ ả ự ệ c nh y trong quá trình th c hi n.
  • 31. 3 - Nonlinear Layer (Hàm kích hoạt phi tuyến): Hàm kích hoạt được thay từ hàm hàm Sgn b ng các hàm phi tuy t s hàm phi tuy ng dùng là ằ ến khác. Mộ ố ến thườ Sigmoid, tanh, ReLU, Leaky ReLU, Maxout, ELU,… Hình 2. 17 Các hàm phi tuy ng dùng ến thườ ReLU (Rectified Linear Units) đượ ớ ệ ở ạ c gi i thi u b i E.Hinton, là hàm kích ho t ph bi n nh y u s d ng 2 hàm phi tuy n sigmoid hay ổ ế ất cho CNN. Trước đó, chủ ế ử ụ ế tanh. Hàm ReLU đượ ặ ầ ập, nó đượ ề ở c đ t ngay sau t ng tích ch c dùng nhi u b i tính đơn giả ạ ế ạ ế ả ốt hơn. n, giúp h n ch tình tr ng vanishing gradient và cho k t qu t - Pooling Layer: thường đặt giữa các lớp tích chập, nhằm giảm kích thước dữ liệu nhưng vẫn giữ được các thuộc tính quan trọng. Nhờ vậy làm giảm việc tính toán trong mô hình. Hoạt động của nó cũng tương tự phép tính convolution. Một số loại pooling layer phổ biến là max pooling. Hoạt - - pooling, average động của Pooling được mô tả như hình 2.18, trượt filter 2x2 có stride = 2x2 rồi tính giá trị lớn nhất, hay giá trị trung bình cho vùng ảnh đó. Hình 2. 18 S d ng Max pooling và Average pooling ử ụ M d li ục đích của việc sử ụng tầng pooling là giảm chiều dữ ệu, làm hạn chế hi ng overfit và gi m th i gian hu n luy n. ện tượ ả ờ ấ ệ - Fully Connected Layer (Dense): Trong bài toán phân loại, thi đây là tầng cuối cùng của mô hình. Nhiệm vụ của nó là chuyển ma trận đặc trưng ở tầng trước thành vector chứa xác suất của các đối tượng cần được dự đoán.
  • 32. 3 Hình 2. 19 C p Fully Connected trong CNN ấu trúc các lớ Các lớp Fully Connected đượ ế ợ ớ c k t h p v i các đặc trưng học đượ ừ c t tầng tích chậ ạ ới nhau để p l i v t d ạo ra một mô hình. Và sử ụng softmax hoặc sigmoid để đưa ra k t qu phân lo i u ra. ế ả ạ ở đầ - Deconvolutional Neural Network (DNN): Mạng giải chập sử dụng khi chúng ta muốn có upsampling để có được kích thước đầu ra lớn hơn. Ngược lại với Convolution - một quá trình thu nhỏ kích thước đầu ra. Nó còn được gọi là tích chập lên (Up Convolution) và tích chập chuyển vị (Transposed Convolution). Hình 2. 20 Hình nh so sánh ConvNet và DeconvNet ả + Upsampling 2D Layer: Nhi m v ệ ụ ủ c a khối này là làm tăng kích thướ ả c nh ở đầ ộ ố u ra. M t s phương pháp upsampling là Max-Unpooling, Bed of Nails, Bilinear Interpolation. Hình 2. 21 ng c a Upsampling Hoạt độ ủ
  • 33. 3 + Tích chập chuyển vị (Transposed Convolution): dùng trong mạng giải chập (DNN) để mapping lại đặc trưng (đã được trích xuất ở lớp tích chập) sang giá trị pixel trên ảnh đầu ra. Hình 2. 22 p chuy Phép tích chậ ển vị Dưới đây là công thức tính kích thước đầu ra mỗi phép chuyển vị, khi biết trước W F P - Image Width, S - Stride, - Filter, - Padding: Wout = (W - 1) x S + F + P Ví d : W = 4, S = 2, P = 1, F = 2 thì output là Wout = (4 - 1) x 2 + 2 + 1 = 9 ụ + Tích chập giãn nở (Dilation Convolution): là một kỹ thuật mở rộng Kernel ở đầu vào bằng cách chèn các lỗ giữa các phần tử liên tiếp của nó. Phương pháp này thường được áp dụng trong các mạng giải chập. Hình 2. 23 p giãn n Phép tích chậ ở Tích ch p giãn n giúp m ng vùng c bao ph mà không ậ ở ở ộ r ảnh đầu vào đượ ủ cần Pooling. Mục tiêu là để cung cấp thêm thông tin từ đầu ra thu được với mọi phép toán tích ch p m nhìn r ập. Phương pháp này cung cấ ột trường ộng hơn với cùng m t kh ng tính toán. ộ ối lượ Cấu trúc tổng quát mô hình phân vùng ảnh dựa trên AI: Cấu trúc mạng trong một bài toán Image Segmentation cơ bản gồm hai khối: Encoder và Decoder.
  • 34. 3 - Encoder: Có kiến trúc gần giống mạng CNNs classification nhưng được lược bỏ phần kết nối đầy đủ (FC layer). Nhiệm vụ chính của Encoder là trích xuất đặc trưng của ảnh đầu vào như: hình dạng, màu sắc, cạnh,… - Decoder: có kiến trúc dạng đối xứng với Encoder. Để sinh ra ảnh chứa ma trận dự đoán đầu ra (output) có kích thước bằng ảnh đầu vào mà không mất mát thông tin, khối Decoder sử dụng các đặc trưng được trích xuất từ khối encoder, phân loại các pixel và tạo lại ảnh phân đoạn của ảnh đầu vào. Một số mô hình hiện đại dựa trên kỹ thuật học sâu trong Segmentation như FCN, Unet, Gated SCNN [9], DeepLab, Mask R - -CNN [11],… Để hiểu hơn về các mô hình này, chúng ta sẽ tìm hiểu sâu hơn ở phần sau. 2.3.1 FCN (Fully Convolutional Network) FCN (Fully Convolutional Network) được tạo ra bởi J. Long vào 2015 [8], là một mạng được xây dựng dựa trên kiến trúc CNN nhằm mục đích phân vùng một hình ảnh bằng cách dự báo nhãn cho từng pixel trên ảnh đầu vào. Ban đầu mạng CNN được dùng trong bài toán Classification, để có thể ứng dụng trong bài toán Segmentation tác giả đã lược bỏ khối Fully Connected (Dense) thay thế bằng Upsampling để thu được ảnh phân vùng output có kích thước bằng ảnh đầu vào. Bởi vì điều quan trọng trong một mạng segmentation là kích thước hình ảnh ra phải giống với kích thước ảnh vào. FCN được dùng để phân vùng ngữ nghĩa Semantic Segmentation. Kiến trúc - cơ bản một mô hình Semantic Segmentation bao gồm một bộ encoder (bên trái) và decoder (bên phải). - Khối Encoder có nhiệm vụ trích xuất các đặc trưng từ hình ảnh thông qua việc học các bộ lọc khác nhau. Gắn liền với thuật ngữ Downsampling. + Có cấu trúc layer CNN ở vị trí đầu tiên, như AlexNet, VGG16, VGG19, ResNet. + Downsampling: Khi đi qua các lớp Pooling + Convolution kích thước của đầu vào bị giảm. Các lớp pool + conv sẽ trích xuất thông tin trong ảnh.
  • 35. 3 Hình 2. 24 n trúc m ng FCN trong phân vùng nh [8] Kiế ạ ả - Khối Decoder có nhiệm vụ tạo ra đầu ra cuối cùng thường là một ma trận dự đoán chứa đường bao (Contour) của đối tượng. Để đảm bảo kích thước ảnh ở đầu ra, ta cần thực hiện Upsampling bằng Pixelwise output (Label map). + Upsampling: Dùng để khôi phục thông tin không gian của ảnh theo các phân vùng dự đoán được. Trong quá trình downsampling, thông tin sẽ bị mất mát. Do đó để khôi phục lại một phần thông tin bị mất, ta sẽ sử dụng lớp tích chập chuyển vị để giải chập thông tin thành segmentation map. M l phân ột vấ ề n đ ớn với Downsampling trong mạng FCN là nó làm giảm độ giải củ ầu vào, do đó trong quá trình upsampling rất khó để a đ tái tạo các chi tiết tốt hơn ả ngay c sau khi sử ụ d ng các kỹ thuật phức tạp như Transpose Convolution. Mộ ể t cách đ giải quyết là thêm kết nối tắt ‘Skip Connection’ khi Upsampling ở các l c và t ớp trướ ổ ợp 2 feature maps. Điề ấp đủ ng h u này cung c thông tin cho các l t gi n chính xác. ớp sau này để ạo ranh ới phân đoạ 2.3.2 Unet Unet là một mạng nơ ron tích chập được phát triển bởi Olaf Ronneberger [9] - và các cộng sự dùng để phân vùng hình ảnh y sinh. Kiến trúc này đã giành chiến thắng trong cuộc thi theo dõi tế bào trong Hội nghị chuyên đề quốc tế về hình ảnh y sinh (ISBI) năm 2015 ở nhiều hạng mục với tỷ lệ lớn. Ở thời điểm được công bố, Unet đã vượt trội hơn so với phương pháp tốt nhất trước đó (Sliding-window convolutional network) trong thử thách ISBI. Kiến trúc Unet dựa trên mạng tích chập đầy đủ FCN, tuy nhiên nhánh bên phải của mạng đã được sửa đổi và mở rộng để phân đoạn chính xác hơn. Mục đích của Unet là nắm bắt cả các đặc điểm của ngữ cảnh cũng như định vị chính xác. Quá trình này được hoàn thành thành công bởi kiểu kiến trúc của nó. Mạng gồm 2 nhánh đối xứng như chữ U và nên được đặt tên là U Net. Về nguyên tắc, U - -Net là mạng dựa trên Encoder Decoder, nhưng sự khác biệt của nó bắt nguồn từ các -
  • 36. 3 Skip-connection giữa các lớp layers được sắp xếp đối xứng của bộ mã hóa và bộ giải mã. Kiến trúc của nó được tạo thành từ hai phần: - Encoder (Contraction Path): làm nhiệm vụ trích xuất đặc trưng từ ảnh đầu vào để tìm ra bối cảnh của hình ảnh. Contraction Path được tạo từ mạng tích chập giống CNN bao gồm việc ghép nối lặp lại các phép tích chập, kết hợp theo sau là một hàm kích hoạt ReLU và toán tử Max-pooling. Trong quá trình này, thông tin kích thước bị giảm đi, trong khi số lượng đặc trưng được tăng lên. Do vậy nhánh này được gọi với tên khác là Contraction (phần thu hẹp) vì kích thước chiều dài và chiều rộng của các layers giảm dần. - Decoder (Expansion Path): có nhiệm vụ giải mã đặc trưng, xác định chính xác vị trí đối tượng. Đóng vai trò như khối giải mã, việc kết hợp các đặc trưng và thông tin không gian từ layer của nhánh Contraction. Quá trình Upsampling được áp dụng giúp cho kích thước layer tăng dần lên. Đầu ra của khối ta thu được một ma trận mask đánh dấu nhãn dự báo của từng pixel có kích thước giống ảnh input. Hình 2. 25 n trúc m ng Unet [9] Kiế ạ Unet được dùng để phân vùng kiểu Semantic. Đặc trưng riêng trong cấu trúc của Unet đó là áp dụng kết nối tắt đối xứng giữa layer ở nhánh Encoder với layer nhánh Decoder. Việc sử dụng kết nối tắt trong kiến trúc nhằm bảo toàn sự mất mát thông tin từ các layer trước để đạt hiệu quả tổng thể tốt hơn. Nó được thử nghiệm chứng minh là tạo ra kết quả tốt hơn và dẫn đến sự hội tụ mô hình nhanh hơn. So với mô hình được trình bày trước đó, kết quả thực nghiệm cho thấy Unet tốt hơn mô hình FCN về độ chính xác trong phân vùng ảnh. Song hạn chế rõ ràng của kiến trúc UNet là việc học có thể chậm hơn khi những layer giữa học sâu với
  • 37. 3 những trọng số vô hiệu. Mặc dù có độ chính xác khá tốt nhưng Unet có hạn chế là tốc độ thấp. Do đó với các ứng dụng yêu cầu tốc độ cao, xử lý thời gian thực như xe tự hành, máy bay trinh sát thì nó không phù hợp để áp dụng. Trong y h c hi ng ph n nh ọ ệ ại, Unet là mô hình đượ n đ c sử ụ d ổ ế bi ấ ể t đ phân đoạ ả ế ện nay đã có nhiề ế ể đượ ể ừ n hình nh y t . Hi u bi n th c phát tri n t mô hình Unet như Unet++ (Zhou et al. 2018), Unet3+ (Huang et al. 2020), ResUnet (Liu al.2020), MultiResUnet (Ibtehaz and Rahman, 2020), Dense Unet (Li et al. 2018), DC - -Unet ( Lou et al. 2021), DR-Unet (N.Minh, D.Hung 2021),… Hình 2. 26 t l các nghiên c u mô hình m ng DL trong Segmentation t 2016 - Biểu đồ ỷ ệ ứ ạ ừ 2022 [14] D a theo th c th hi n có th ự ống kê trên trang paperwithcode đượ ể ệ ở hình 2.26, ể thấy số lượng các nghiên cứu về Unet chiếm phần lớn trong bài toán phân vùng ả ững năm gần đây. Trong đề ận văn này, học viên đã lự ọ ế nh nh tài lu a ch n ki n trúc này và đóng góp đề ấ ả ến nó để ả ệ ả xu t c i ti phân vùng nh tim hi u qu hơn. 2.3.3 Gated-SCNN Gated-SCNN (Gated Shape CNNs) [29] được đưa ra bởi Takikawa năm 2019, là kiến trúc CNN hai luồng, ứng dụng trong Semantic Segmentation. Luồng hình dạng được sử dụng để xử lý thông tin song song với luồng cổ điển (classical). Chìa khóa của kiến trúc này là một kiểu cổng mới (Gate) kết nối các lớp trung gian của hai luồng. Việc sử dụng các hàm kích hoạt cấp cao hơn trong luồng cổ điển để chặn các kích hoạt cấp thấp hơn trong luồng biên dạng, loại bỏ nhiễu một cách hiệu quả và giúp luồng hình dạng xử lý thông tin liên quan đến biên dạng. Cấu trúc của mô hình Gated SCNN được mô tả như dưới đây: - - Regular Stream: là mạng tích chập CNN Segmentation tiêu chuẩn, có cấu trúc dạng ResNet hoặc VGG. - (Gated Shape Stream: xử lý các đặc trưng đến biên dạng bằng GCL Convolution Layer) và giám sát cục bộ. Sau đó kết hợp những đặc trưng semantic-
  • 38. 3 region từ luồng thứ nhất và đặc trưng ranh giới từ luồng biên dạng để tạo ra kết quả phân vùng, đặc biệt là xung quanh ranh giới. Trong cấu trúc của khối này, bao gồm vài khối Residual (res) xen kẽ với các lớp tích chập GCL. Tác giả sử dụng hàm mất mát Cross entropy có trên ranh giới đầu ra để giám sát luồng biên dạng. - - Fusion Module: kết hợp đặc trưng khu vực với đặc trưng đường bao để tạo ra một đầu ra phân vùng ngữ nghĩa, qua việc sử dụng ASPP (Atrous Spatial Pyramid Pooling). Điều này cho phép mô hình đề xuất lưu trữ thông tin ngữ cảnh hay thông tin về không gian. Khối này được ứng dụng nhiều trong các biến thể của DC-Unet. Hình 2. 27 n t a Gated – – Kiế rúc củ SCNN Towaki Takikawa [29] Tác giả đã thử nghiệm và phát triển một kiến trúc hiệu quả cao giúp việc dự đoán sắc nét hơn biên dạng xung quanh đối tượng và tăng đáng kể hiệu suất trên các đối tượng mỏng và bé. Phương pháp này đạt được kết quả tốt trên tập dữ liệu Cityscapes, được đánh giá qua hệ số mIoU, F score, về cả chất lượng và đường - bao so với các đường chính. Theo như kết quả bài báo, tác giả so sánh với mô hình DeepLab V3+, cho thấy kết quả phân vùng của mô hình này đạt chất lượng tốt hơn với những chi tiết nhỏ (như con người, cột đèn giao thông). 2.3.4 DeepLab Mô hình DeepLabV1 và V2 được công bố lần đầu vào năm 2016 bởi nhóm tác giả L. Chen, G. Papandreou. Nó đã đạt được những kết quả ấn tượng khi đánh giá trên tập dữ liệu của Pascal VOC 2012. Trong kiến trúc DeepLab, tác giả sử dụng nhiều tích chập hỗn hợp Atrous Convolution thay cho các tích chập chuyển vị Transposed Convolution - thường dùng ở các phương pháp trước đó. Ngoài ra, tác giả cũng áp dụng phương pháp Conditional Random Field (CRF) để tinh chỉnh kết quả dự báo chuẩn xác hơn.
  • 39. 3 Hình 2. 28 n trúc c a DeepLab – L. Chen [27] Kiế ủ Việc sử dụng các Layer CRF liên tiếp làm phân vùng ảnh đầu ra trở nên mịn hơn và rõ ràng hơn ở đường biên. Do đó, vùng đường biên không còn bị nhòe sáng. Hình 2. 29 K t qu mô hình áp d ng CRF ế ả ụ Nh h c ận thấy một số ạn chế ủa 2 mô hình DeepLab trước đó là việc mất mát thông tin do feature map ngày càng nh u l p tích ch p. Tác gi ỏ hơn sau nhiề ớ ậ ả đã c - ải tiến phiên bản tiếp theo DeepLab V3. Trong đó thự ệ ề c hi n nhi u module ASPP song song v i nhi u h scale khác nhau và k t h p v i bat ớ ề ệ ố s ế ợ ớ ch normalization (BN). C i ti n th ả ế ứ ợ hai là lư c bỏ ại bước sau cùng giúp tăng tố ộ - FC CRF t c đ tính toán. 2.3.5 Mask R-CNN Mask R-CNN [35] được phát triển từ mô hình Faster R-CNN - đây là mô hình nổi tiếng trong bài toán phát hiện đối tượng (Object Detection). Trong mô hình Faster R-CNN, đầu vào là ảnh, đầu ra là Bounding box của từng đối tượng. Còn trong mô hình Mask R-CNN đầu ra là ma trận Mask chứa phân vùng đối tượng.
  • 40. 3 Hình 2. 30 n trúc m ng Faster R- Kiế ạ CNN Trong khi Unet hay Deeplab được dùng để phân đoạn ngữ nghĩa Semantic thì mô hình này dùng trong phân đoạn cá thể Instance Segmentation. Nghĩa là mô hình này có khả năng phân vùng chính xác đến từng cá thể (object) riêng biệt trong ảnh. Hình 2. 31 n trúc m ng Mask R- Kiế ạ CNN Điểm khác nhau so với kiến trúc Faster R CNN thêm một lớp - - CNN là Mask R binary classification để phân loại từng pixel của bức ảnh xem có thuộc vào một đối tượng hay không. Nếu pixel thuộc vào một đối tượng thì gán nhãn cho nó, nếu pixel thuộc nhiều đối tượng khác nhau thì gán nhãn cho nó theo đối tượng có độ tín nhiệm (confidence) cao nhất. Các pixel thuộc vào các bounding box khác nhau sẽ thuộc các cá thể khác nhau cho dù các bounding box này có cùng nhãn. Làm như vậy với tất cả các pixel của bức ảnh ta được phân vùng cá thể.
  • 41. 4 CHƯƠNG 3. XÂY DỰNG MÔ HÌNH 3.1 Chuẩn bị công cụ 3.1.1 Yêu cầu dữ liệu a) Đối tượng nghiên cứu Có nhiều phương pháp để chụp ảnh tim trong y tế như chụp bằng cộng hưởng từ (MRI), CT Scan, siêu âm,… Trong đó phương pháp lấy ảnh bằng MRI được sử dụng phổ biến nhất nhờ chất lượng hình ảnh của nó có độ chi tiết tốt hơn so với hai phương pháp còn lại. Khi phân tích ảnh tim để phục vụ công việc chẩn đoán bệnh và đánh giá tim có hoạt động bình thường không, bác sĩ thường quan tâm các vùng như: tâm thất trái (Left ventricle), tâm thất phải (Right ventricle), vành cơ tim (Myocardium), cũng như biên dạng của chúng: nội tâm mạc (Endo-cardium), ngoại tâm mạc (Epicardium). Hình 3. 1 Các phân vùng trong nh tim MRI [38] ả Mục tiêu của đề tài là phân vùng ảnh tâm thất tim tự động dựa trên mô hình học sâu, do vậy đối tượng cần quan tâm trong đề tài này là tâm thất, cụ thể là tâm thất trái cùng nội tâm mạc (màu đỏ) và ngoại tâm mạc (màu xanh). Như đã phân tích từ đầu, nguồn dữ liệu được dùng cho huấn luyện ảnh hưởng rất nhiều đến hiệu quả một mô hình Deep learning. Thứ nhất, để phục vụ cho huấn luyện mô hình Segmentation, chúng ta cần chuẩn bị tập dữ liệu (Dataset) bao gồm 2 thông tin Origin image (ảnh gốc) và Ground truth (nhãn). Nếu dữ liệu đầu vào đẹp, độ tương phản tốt thì có lợi nhiều cho mô hình trong lúc huấn luyện. Ngoài ra, việc gán nhãn chuẩn cũng là một yêu cầu cốt lõi của bài toán Segmentation do yêu cầu độ chính xác của nó đảm bảo tới từng pixel. Do đó cần thiết phải có đội ngũ chuyên gia hoặc y bác sĩ có chuyên môn thực hiện các công việc này. Thứ hai, dữ liệu huấn luyện phải đủ lớn để mô hình có thể học sâu tốt. Trong học máy, người ta thường sử dụng các kỹ thuật tăng cường ảnh bằng cách tác động ảnh đầu vào như thay đổi độ tương phản, xoay lật ảnh, thêm nhiễu vào,… nhằm bổ xung - thêm dữ liệu huấn luyện.
  • 42. 4 b) Dữ liệu huấn luyện Một số bộ dữ liệu ảnh tim hiện nay: - - SunnyBrook Cardiac Data (SCD) 2009: là tập dữ liệu Thử thách phân đoạn tâm thất trái MRI. Gồm 45 mẫu cine MRI từ hỗn hợp các bệnh nhân và bệnh - lý: khỏe mạnh, phì đại, suy tim có nhồi máu và suy tim không nhồi máu. Tập hợp con của tập dữ liệu này lần đầu tiên được sử dụng trong thử thách phân đoạn cơ tim tự động từ MRI trục ngắn, được tổ chức bởi hội thảo MICCAI vào năm 2009. Tổng cộng số ảnh trong tập dữ liệu SCD là hơn 230 ảnh. Hình 3. 2 D u nh g c và nhãn trong SCD ữ liệ ả ố - - Automated Cardiac Diagnosis Challenge (ACDC) 2017: Bộ dữ liệu ACDC tổng thể được tạo ra từ các bài kiểm tra lâm sàng thực tế có được tại Bệnh viện Đại học Dijon. Dữ liệu thu được được ẩn danh hoàn toàn và được xử lý theo các quy định do ủy ban đạo đức địa phương của Bệnh viện Dijon (Pháp) đặt ra. Hình ảnh Cine MR thu được trong quá trình nín thở với kiểm tra hồi cứu hoặc tương lai và với trình tự SSFP theo hướng trục ngắn, sử dụng 2 máy quét MRI có cường độ khác nhau. Đặc biệt, một loạt các lát cắt trục ngắn bao phủ tâm thất trái từ đáy đến đỉnh, với độ dày 5 mm (hoặc 8 mm) và đôi khi có khoảng cách xen kẽ là 5 mm (sau đó cứ 5 hoặc 10 mm thì có một hình ảnh, theo kỳ kiểm tra). Cơ sở dữ liệu được lấy từ hơn 150 bệnh nhân, được lưu dưới dạng ảnh thô qua định dạng Nifti, với tổng số ảnh lên tới hơn 1900 ảnh MRI.
  • 43. 4 Hình 3. 3 D u nh g c và nhãn n c Endo và ngo c Epi trong ữ liệ ả ố ội tâm mạ ại tâm mạ ACDC - MICCAI 2012 RV: lấy ra từ “The Right Ventricle Segmentation Challenge” gồm dữ liệu phân vùng cho nội tâm mạc và ngoại tâm mạc RV (Right Ventricle) của 48 bệnh nhân. Thử thách này là một phần của hội thảo MICCAI 12. Những - người tham gia được cung cấp tập dữ liệu chưa ảnh gốc và nhãn. Qua 3 bộ dữ liệu nêu trên, có thể nhận thấy ACDC có số lượng ảnh gốc và nhãn nhiều hơn hẳn (hơn 1900 ảnh). Để thực hiện quá trình thử nghiệm và đánh giá cho mô hình học sâu, trong đề tài luận văn này học viên đã chọn hai bộ dữ liệu là SunnyBrook và ACDC. 3.1.2 Công cụ hỗ trợ a) Ngôn ngữ và thư viện Nghiên cứu AI là một trong những lĩnh vực đang gây chú ý của rất nhiều hãng công nghệ lớn. Hiện nay có nhiều ngôn ngữ để các lập trình viên có thể sử dụng để phát triển ứng dụng trí tuệ nhân tạo. Trong đó 5 ngôn ngữ phổ biến nhất hiện nay bao gồm: Python, Java, Lisp, Prolog, C++. Ngôn ngữ LISP là ngôn ngữ lập trình AI lâu đời nhất. Tuy nhiên LISP có khá nhiều hạn chế như thiếu các thư viện hỗ trợ và nhiều cú pháp khó dùng. Tiếp theo là C++, được mệnh danh là “ngôn ngữ lập trình nhanh nhất” điều mà AI rất cần thiết là tốc độ. Hạn chế của ngôn - ngữ này là cú pháp tương đối phức tạp, chặt chẽ, thiếu nhiều thư viện hỗ trợ AI và tốn khá nhiều thời gian để phát triển. Python được xem là một trong những ngôn ngữ phù hợp nhất cho lập trình viên AI, kể cả những lập trình viên mới. Bởi cú pháp đơn giản, ít mã hóa và có sẵn số lượng lớn các thư viện hỗ trợ. Nó hỗ trợ lập
  • 44. 4 trình hướng đối tượng, là ngôn ngữ lập trình mã nguồn mở, hỗ trợ thu gom rác tự động và có thể được tích hợp với nhiều ngôn ngữ khác. Hình 3. 4 Ngôn ng Python và Framework Keras, Tensorflow ữ Sự phát triển nhanh chóng của AI kéo theo số lượng thuật toán khổng lồ, các Framework và thư việ ọ ọc sâu đượ ậ ễ n h c máy/h c sinh ra giúp các l p trình viên d dàng hơn trong việ ế ậ ử ụng. Các thư việ ồ ở thườ ứ c ti p c n và s d n mã ngu n m ng ng dụng trong bài toán AI trên Python là Keras, TensorFlow. Trong đó Keras là một API đượ ế ế cho Python đượ ể ởi Google để ể ạng nơ c thi t k c phát tri n b tri n khai m - ron d ng ph n và tr ễ dàng hơn. Nó là mộ ề ả t n n t ổ ế bi n cho các nhà phát triể ở thành m bi n nh ột thư viện học sâu phổ ế ất hiện nay. Lý do khiến Keras thành công là bởi API s ch s n, cho phép các mô hình h c sâu tiêu chu nh, ạ ẽ và đơn giả ọ ẩn được xác đị phù h trong m t vài dòng l nh. Th hai là nó cho phép b n s ợp và đánh giá chỉ ộ ệ ứ ạ ử d bi tr ụng hầu hết các thư viện toán học học sâu phổ ến làm chương trình phụ ợ. Năm 2019, Google đã phát hành phiên bả ớ ủa thư việ ọ n m i c n h c sâu TensorFlow (TensorFlow 2) tích h p tr c ti p API Keras thành giao di . Keras là s ợ ự ế ện tf.keras ự l n c a nhi u tên tu i l ựa chọ ủ ề ổ ớn như Netflix, Uber, Square,… Nh nh trên, d ờ ững ưu điểm được phân tích ở học viên đã sử ụng ngôn ngữ Python và Framework Keras để ự ấ ệ xây d ng và hu n luy n mô hình Segmentation cho nh tim. ả b)Trình biên dịch Trong quá trình phát triển một mô hình Deep Learning, giai đoạn huấn luyện mô hình là giai đoạn mất nhiều thời gian nhất, đặc biệt với những mô hình nặng về thuật toán và có số lượng tham số lớn. Để giảm đáng kể thời gian training, việc lựa chọn đơn vị xử lý đồ họa GPU chuyên dụng có hiệu năng tốt là điều hết sức cần thiết. GPU cho phép bạn thực hiện các tác vụ huấn luyện nhiều mô hình song song, hoàn thiện các phép tính nhanh hơn so với CPU, giúp loại bỏ những tắc nghẽn do giới hạn tính toán tạo ra. Tuy nhiên việc đầu tư GPU để triển khai cần được cân nhắc phù hợp với ngân sách và lợi ích. Để trang bị hoàn chỉnh một bộ máy tính có cấu hình cao, tích hợp GPU hiệu suất cần phải đầu tư một số tiền lớn
  • 45. 4 ban đầu. Sau đây, học viên sẽ đề cập đến một sản phẩm đến từ Google cho phép chúng ta xây dựng mô hình AI qua trình duyệt. Google Colaboratory (gọi tắt là Google Colab) là một dịch vụ đám mây miễn phí, được phát triển dựa trên Jupiter Notebook. Trong Colab, chúng ta có thể sử dụng những thư viện được cài sẵn như PyTorch, TensorFlow, Keras và OpenCV. Cho phép chúng ta học tập hay xây dựng mô hình học sâu. Hình 3. 5 n phí trên Google Colab Các CPU, GPU, TPU miễ Google Colab cho phép trải nghiệm lập trình miễn phí (thời gian giới hạn - do số lượng người sử dụng lớn) với những đơn vị xử lý đồ họa nêu trên. Cho phép sử dụng tài nguyên máy tính ảo CPU high-speed, GPU NVIDIA Tesla K80 và TPUs. Ngoài ra, Google còn cung cấp phiên bản Colab Pro trả phí để sử dụng GPU hiệu - suất tốt hơn, nhanh hơn. 3.1.3 Các bước triển khai Để triển khai mô hình chúng ta cần triển khai các bước như sơ đồ dưới đây: Bước 1: Chuẩn bị dữ liệu - Dataset ACDC gồm 1808 ảnh + nhãn (Left Ventricle + Epicardium) - Chia dữ liệu thành các tập Training, Validation, Test theo tỉ lệ 70:15:15 tương ứng với số lượng ảnh trên từng tập lần lượt là: training (1265), validation (271) và test (272). Bước 2: Chuẩn hóa dữ liệu (Data augumentation) - Tập ảnh và nhãn trong bộ ACDC có kích thước lớn, nhưng đối tượng cần được Segmentation có kích thước bé hơn và thường nằm ở giữa ảnh. Do vậy trước khi đưa vào huấn luyện cần sử dụng tiền xử lý để cắt bỏ đi vùng ảnh ở ngoài và giữ lại vùng thông tin ở giữa. Mục đích của việc cắt ảnh (Crop Image) nhằm giảm thời gian tính toán của mô hình và tốc độ xử lý. - Kỹ thuật chuẩn hóa dữ liệu thường được sử dụng trong các mô hình học máy, học sâu nhằm tăng cường sự phong phú dữ liệu huấn luyện bằng cách áp dụng một vài phương pháp như: thay đổi độ tương phản (contrast), xoay lật ảnh (rotate - -flip), chuyển đổi màu (color shift), thêm nhiễu (noise addition), thay đổi tỉ lệ (scale)… - Một phương pháp thường được áp dụng hiện nay để giảm dung lượng bộ nhớ là “Data Generator”. Ý tưởng xuất phát từ việc sử dụng bộ nhớ khi huấn luyện mô hình, với dữ liệu rất lớn, nếu tải tất cả các ảnh và nhãn một lúc sẽ khiến bộ nhớ sẽ bị đầy hoặc quá tải. Vậy giải pháp là chúng ta sẽ chia thành các gói (tương ứng với
  • 46. 4 mỗi DataGenerator), sau khi huấn luyện xong gói thứ nhất sẽ tiếp tục thực thi gói kế tiếp cho đến khi hoàn thành. Như vậy sẽ giải quyết được bài toán bộ nhớ với những mô hình và dữ liệu đầu vào lớn. Với những mô hình nhỏ, phương pháp này không có nhiều tác dụng rõ rệt. Bước 3: Xây dựng mô hình - Mô hình được xây dựng theo từng kiến trúc - Thông thường mô hình được triển khai thành từng Layers hay từng khối, tương ứng với từng hàm. Bước 4: Cài đặt tham số huấn luyện và hàm Loss - Các tham số ảnh hưởng đến quá trình huấn luyện là: Epoch, Batch size, Learning rate - Xác định hàm mục tiêu phù hợp (Objective Function): - Lựa chọn hàm Loss phù hợp Bước 5: Huấn luyện (Train) mô hình Hình 3. 6 n khai mô hình AI Các bước triể Bước 6: Dự báo kết quả và đánh giá - Sau khi huấn luyện xong mô hình, chúng ta cần đánh giá kết quả dựa trên các thông số IoU, Loss, Dice, Accuracy thông qua tập dữ liệu đánh giá (Test). Và hiển thị kết quả phân vùng dự đoán của mô hình. 3.1.4 Các tham số huấn luyện
  • 47. 4 a) Tham số huấn luyện Dưới đây là một số tham số sử dụng trong huấn luyện mô hình mạng Segementation được sử dụng trong luận văn: - EPOCH: một Epoch được tính là một lần duyệt qua hết các dữ liệu trong tập huấn luyện. Khi dữ liệu đầu vào quá lớn không thể nạp tất cả ảnh cùng một lúc, khiến bộ nhớ của RAM và GPU RAM không đủ lưu trữ toàn bộ, buộc chúng ta phải chia nhỏ tập dữ liệu để training thành nhiều Batch Size. - BATCH SIZE: là lượng dữ liệu sử dụng trong một lần huấn luyện để cập nhật lại trọng số mô hình. - INTERACTIONS: số lượng các Batch size mà mô hình phải duyệt trong một Epoch Ví dụ: Tập dữ liệu có 1800 ảnh, Batch size = 20 thì Interaction = 1800 / 20 = 90. Việc lựa chọn các tham số trên xuất phát từ Gradient Descent là thuật toán - lặp tối ưu để tìm kết quả tốt nhất trong học máy. Như vậy, sau mỗi Batch size, mô hình cần được cập nhật trọng số mới và cứ lặp lại đến khi tìm được cực tiểu hoặc kết thúc quá trình huấn luyện. Ngoài ra, để cải thiện hiệu quả mô hình, người ta còn cài đặt các tham số hoặc function khác nữa như: - - LEARNING RATE (tốc độ học lr): là một siêu tham số sử dụng trong việc huấn luyện các mạng nơ ron. Learning rate có giá trị lớn hơn 0 và nhỏ hơn 1, độ lớn của nó sẽ ảnh hưởng trực tiếp tới tốc độ hội tụ của hàm Loss. Tùy thuộc vào mỗi bài toán cụ thể thì sẽ chọn một learning rate phù hợp, theo hệ số kinh nghiệm thì thường chọn khoảng 10 lr -3 , 10-4 . - LOSS FUNCTION (hàm mất mát): trong đề tài học viên sử dụng hai hàm Binary Cross- và entropy và Dice Loss. Hàm Loss nhận 2 đối số y_true y_pred được xác định theo công thức sau: def dice_loss(y_true, y_pred): return 1.0 - dice_coef(y_true, y_pred, 0) def bce_dice_loss(y_true, y_pred): return binary_crossentropy(y_true, y_pred) + dice_loss(y_true, y_pred) - OPTIMIZER (tối ưu hóa): được sử dụng để giải quyết các vấn đề của thuật toán gradient descent, nhằm tối ưu các trọng số đầu vào bằng cách so sánh dự đoán và hàm mất mát. Một số hàm tối ưu thường được sử dụng như SGD, RMSprop, Adam, Adamax, Nadam. Trong đó, Adam là hàm tối ưu tốt nhất có khả năng thích ứng trong hầu hết mọi trường hợp nhờ lưu trữ giá trị trung bình giảm dần theo cấp số nhân của các gradient trước. opt=tf.keras.optimizers.Adam(learning_rate) model.compile(loss=dice_loss,optimizer=opt,metrics=["accuracy", dice_coef, IoU])
  • 48. 4 - CALLBACK: được xem như trợ thủ đắc lực khi huấn luyện mô hình. Hiểu đơn giản, Callback là một hàm (function) được cài đặt trong mô hình, giúp ta có thể kiểm tra, lưu lại trạng thái và thông số của mô hình trong quá trình huấn luyện. Điều này giúp models tránh bị Overfit (OF hiện tượng quá khớp) thông qua việc - can thiệp vào quá trình training: callbacks = [tf.keras.callbacks.EarlyStopping(patience=20, monitor="val_loss"), tf.keras.callbacks.ModelCheckpoint(os.path.join(save_path,"params.h5"), verbose=2, save_best_only = True), tf.keras.callbacks.ReduceLROnPlateau(monitor='val_loss', factor=0.1, patience=10, min_lr = 1e-7), plot_losses] + EarlyStopping được dùng để dừng việc huấn luyện sớm khi mô hình đạt được một kết quả (Accuracy/Loss) nhất định nào đó. Ví dụ, quan sát thông số Validation Loss (monitor = val_loss), khi giá trị không được cải thiện hoặc không giảm nữa sau 20 epoch thì dừng ngay việc cập nhật trọng số (weights). + ModelCheckpoint: có nhiệm vụ lưu lại trọng số tốt nhất của mô hình tại một thời điểm nào đó. Sau kết thúc mỗi Epoch, nó sẽ kiểm tra trọng số nào tốt nhất và lưu lại vào “param.h5” + ReduceLROnPlateau: Điều chỉnh learning rate giảm khi kết quả mô hình không được cải thiện. Giá trị learning rate sẽ bị giảm xuống 10 lần sau khi huấn luyện patience = 10 epoch (lri+1 = lr i*factor). Thông thường, khi mới bắt đầu training, ta cần learning rate lớn để nhanh chóng tìm điểm cực tiểu, khi giá trị này tiến gần tới cực tiểu thì ta cần giảm xuống để dừng lại. lr - Để kiểm tra cấu trúc mô hình và số lượng tham số mô hình, ta sử dụng hàm model.summary(): B ng 3. 1 B ng Th ng kê các tham s mô hình c mô hình ả ả ố ố ủa một số b) Hệ số đánh giá Việc đánh giá một mô hình ML/DL giúp chúng ta biết được mô hình đã huấn luyện có tốt hay không, mức độ thành công của mô hình đến đâu. Đánh giá mô hình đúng, giúp chúng ta chọn lựa model phù hợp cho bài toán cụ thể. Một số hàm đánh giá như: - Pixel Accuracy: là tỉ lệ phần trăm pixel trong hình ảnh dự đoán được phân loại chính xác. Tuy nhiên đây không phải là thông số tốt để đánh giá mô hình có hiệu quả không. Vấn đề này được gọi là “class imbalance”, khi các lớp mất cân bằng lớn, có nghĩa là một lớp hoặc một số lớp chiếm ưu thế trong ảnh, trong khi lớp khác chỉ chiếm một phần nhỏ. Sự mất cân bằng này xảy ra phổ biến trong nhiều Mô hình Unet DC-Unet DR-Unet DR-Unet++ Trainable params 7,251,076 6,473,309 2,538,309 7,974,287 Non-trainable params 24,522 19,640 12,872 29,012 Total params 7,275,598 6,492,949 2,551,181 8,003,299