Tải bản đầy đủ (.pdf) (61 trang)

Nhận dạng tế bào máu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.84 MB, 61 trang )

TRƯỜNG ĐẠI HỌC CƠNG NGHIỆP TP.HCM
KHOA CƠNG NGHỆ THƠNG TIN

KHĨA LUẬN TỐT NGHIỆP

NHẬN DẠNG TẾ BÀO MÁU

Giảng viên hướng dẫn: PGS.TS HUỲNH TRUNG HIẾU
Sinh viên thực hiện: VÕ VƯƠNG THÀNH ĐẠT
MSSV: 17048081
Lớp: DHKHMT13A
Khóa: 2017 – 2021

Tp. Hồ Chí Minh, tháng 6 năm 2021


TRƯỜNG ĐH CÔNG NGHIỆP TP. HCM
KHOA CÔNG NGHỆ THÔNG TIN
----- // -----

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do - Hạnh phúc
----- // -----

NHIỆM VỤ KHÓA LUẬN TỐT NGHIỆP
Họ và tên sinh viên: Võ Vương Thành Đạt
MSSV: 17048081
Chun ngành: Khóa học máy tính
Lớp: DHKHMT13A
1.
2.




3.
4.
5.

Tên đề tài khóa luận/đồ án: nhận dạng và phân tích tế bào máu
Nhiệm vụ:
Phân đoạn bạch cầu từ ảnh phết máu trên kính hiển vi.
Phân loại bạch cầu sau khi phân đoạn.
Ngày giao khóa luận tốt nghiệp: 17/6/2021
Ngày hồn thành khóa luận tốt nghiệp: (đợt 1, ngày 31/5/2021)
Họ tên giảng viên hướng dẫn: Huỳnh Trung Hiếu

Tp. Hồ Chí Minh, ngày 01 tháng 6 năm 2021
Chủ nhiệm bộ môn

Giảng viên hướng dẫn


LỜI CẢM ƠN
Trước hết em xin xin bày tỏ lòng biết ơn sâu sắc nhất tới giảng viên hướng dẫn
PGS.TS Huỳnh Trung Hiếu đã tận tình giúp đỡ, hướng dẫn em rất nhiều trong suốt quá trình
tìm hiểu nghiên cứu và hoàn thành báo cáo tốt nghiệp.
Em xin chân thành cảm ơn các thầy cô trong khoa Công nghệ thông tin trường Đại
học Cơng nghiệp thành phố Hồ Chí Minh đã trang bị cho em những kiến thức cơ bản cần
thiết để em có thể hồn thành báo cáo.
Xin gửi lời cảm ơn đến bạn bè những người luôn bên em đã động viên và tạo điều
kiện thuận lợi cho em, tận tình giúp đỡ chỉ bảo em, những gì em cịn thiếu sót trong q trình
làm báo cáo tốt nghiệp.

Cuối cùng em xin bày tỏ lòng biết ơn sâu sắc tới những người thân trong gia đình đã
dành cho em sự quan tâm đặc biệt và luôn động viên em.
Vì thời gian có hạn, trình độ hiểu biết của bản thân còn nhiều hạn chế. Cho nên trong
đồ án khơng tránh khỏi những thiếu sót, em rất mong nhận được sự đóng góp ý kiến của tất
cả các thầy cô cũng như các bạn bè để đồ án của em được hoàn thiện hơn.
Em xin chân thành cảm ơn!

Tp. Hồ Chí Minh, ngày 01 tháng 6 năm 2021

Sinh viên thực hiện
(Ghi họ và tên)


NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

Phần đánh giá: (thang điểm 10)
Thái độ thực hiện:
Nội dung thực hiện:
Kỹ năng trình bày:
Tổng hợp kết quả:
Điểm bằng số: ........... Điểm bằng chữ: ...........

Tp. Hồ Chí Minh, ngày 01 tháng 6 năm 2021
Trưởng bộ môn

Giảng viên hướng dẫn

Chuyên ngành

(Ký ghi rõ họ tên)



MỤC LỤC
LỜI CẢM ƠN ................................................................................................................... 3
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN ............................................................. 4
MỤC LỤC ........................................................................................................................ 5
DANH MỤC BẢNG BIỂU ............................................................................................... 7
DANH MỤC HÌNH ẢNH ................................................................................................. 8
LỜI NĨI ĐẦU .................................................................................................................. 1
CHƯƠNG 1: TỔNG QUAN ............................................................................................. 2
1.1

Giới thiệu ............................................................................................................ 2

1.2

Các nghiên cứu liên quan .................................................................................... 2

CHƯƠNG 2: MƠ HÌNH XỬ LÝ....................................................................................... 4
2.1

Tổng quan hướng tiếp cận ................................................................................... 4

2.2

Dữ liệu ................................................................................................................ 5

2.3

Tiền xử lý............................................................................................................ 6


2.4

Phân đoạn bạch cầu ............................................................................................. 7

2.4.1

Chuyển phần tử H sang ảnh nhị phân ........................................................... 7

2.4.2

Xóa đối tượng nhiễu ..................................................................................... 7

2.4.3

Tách những bạch cầu dính nhau bằng watershed .......................................... 8

2.5

Phân loại bạch cầu ............................................................................................. 10

2.5.1

Kiến trúc cơ bản của CNN.......................................................................... 10

2.5.1.1

Convolutional layer ............................................................................. 11

2.5.1.2


Pooling layer ....................................................................................... 11

2.5.1.3

Fully connected layer .......................................................................... 11

2.5.1.4

Dropout layer ...................................................................................... 11

2.5.1.5

Activation functions ............................................................................ 11

2.5.2

Dữ liệu dùng để huấn luyện và kiểm thử .................................................... 12

2.5.3

Các mơ hình CNN được sử dụng ................................................................ 19

2.5.3.1

Mơ hình AlexNet ................................................................................ 19

2.5.3.2

Mơ hình VGG16 ................................................................................. 20


2.5.3.3

Mơ hình GoogLeNet ........................................................................... 21

2.5.3.4

Mơ hình ResNet50 .............................................................................. 25

CHƯƠNG 3: KẾT QUẢ VÀ THỰC NGHIỆM ............................................................... 27
3.1

Kết quả giai đoạn phân đoạn.............................................................................. 27


3.2

Kết quả giai đoạn phân lớp ................................................................................ 28

3.2.1

Kết quả mô hình AlexNet ........................................................................... 29

3.2.2

Kết quả mơ hình VGG16 ............................................................................ 33

3.2.3

Kết quả mơ hình GoogLeNet ...................................................................... 36


3.2.4

Kết quả mơ hình ResNet50 ......................................................................... 40

3.2.5
CNN

So sánh độ chính xác trung bình và thời gian huấn luyện giữa các mơ hình
43

3.3

Kết quả hiện thực bằng web .............................................................................. 43

KẾT LUẬN VÀ KIẾN NGHỊ ......................................................................................... 46
4.1

Kết luận ............................................................................................................ 46

4.2

Kiến nghị .......................................................................................................... 46

4.2.1

Hạn chế ...................................................................................................... 46

4.2.2


Hướng nghiên cứu tương lai ....................................................................... 46

TÀI LIỆU THAM KHẢO ............................................................................................... 47


DANH MỤC BẢNG BIỂU
Bảng 3.1: thống kê giai đoạn phân đoạn .......................................................................... 28
Bảng 3.2: confusion matrix trên dữ liệu PBC của AlexNet .............................................. 31
Bảng 3.3: đánh giá AlexNet trên dữ liệu PBC qua precision, recall, f1-score................... 31
Bảng 3.4: confusion matrix trên dữ liệu LISC của AlexNet ............................................. 32
Bảng 3.5: đánh giá AlexNet trên dữ liệu LISC qua precision, recall, f1-score.................. 32
Bảng 3.6: confusion matrix trên dữ liệu PBC của VGG16 ............................................... 35
Bảng 3.7: đánh giá VGG16 trên dữ liệu PBC qua precision, recall, f1-score ................... 35
Bảng 3.8: confusion matrix trên dữ liệu LISC của VGG16.............................................. 35
Bảng 3.9: đánh giá VGG16 trên dữ liệu LISC qua precision, recall, f1-score .................. 36
Bảng 3.10: confusion matrix trên dữ liệu PBC của GoogLeNet ....................................... 38
Bảng 3.11: đánh giá GoogLeNet trên dữ liệu PBC qua precision, recall, f1-score............ 38
Bảng 3.12: confusion matrix trên dữ liệu LISC của GoogLeNet ...................................... 39
Bảng 3.13: đánh giá GoogLeNet trên dữ liệu LISC qua precision, recall, f1-score .......... 39
Bảng 3.14: confusion matrix trên dữ liệu PBC của ResNet50 .......................................... 42
Bảng 3.15: đánh giá ResNet50 trên dữ liệu PBC qua precision, recall, f1-score............... 42
Bảng 3.16: confusion matrix trên dữ liệu LISC của ResNet50 ......................................... 42
Bảng 3.17: đánh giá ResNet50 trên dữ liệu LISC qua precision, recall, f1-score ............. 43
Bảng 3.18: so sánh độ chính xác và thời gian huấn luyện giữa các mơ hình..................... 43


DANH MỤC HÌNH ẢNH
Hình 2.1: các giai đoạn xử lý của đề tài ............................................................................ 5
Hình 2.2: tập dữ liệu từ bệnh viện ..................................................................................... 6
Hình 2.3: chuyển ảnh từ BGR sang HSV .......................................................................... 6

Hình 2.4: các phần tử H, S, V ........................................................................................... 7
Hình 2.5: chuyển ảnh H sang nhị phân .............................................................................. 7
Hình 2.6: xóa đối tượng nhiễu khỏi ảnh nhị phân .............................................................. 8
Hình 2.7: phép hoặc giữa ảnh nhị phân và kernel .............................................................. 9
Hình 2.8: tách bạch cầu dính nhau bằng watershed ........................................................... 9
Hình 2.9: xóa đối tượng có diện tích bé hơn hoặc bằng 300 .............................................. 9
Hình 2.10: kiến trúc cơ bản của CNN ............................................................................. 10
Hình 2.11: một số mẫu bạch cầu trong tập dữ liệu PBC dataset normal DIB ................... 12
Hình 2.12: phân đoạn bạch cầu basophil, eosinophil, lymphocyte ................................... 14
Hình 2.13: phân đoạn bạch cầu monocyte ....................................................................... 16
Hình 2.14: phân đoạn bạch cầu neutrophil ...................................................................... 18
Hình 2.15: dữ liệu bạch cầu sau khi được tách ra khỏi ảnh nền ....................................... 19
Hình 2.16: mơ hình AlexNet ........................................................................................... 20
Hình 2.17: mơ hình VGG16............................................................................................ 21
Hình 2.18: cấu trúc khối inception của GoogLeNet ......................................................... 22
Hình 2.19: cấu trúc mạng lưới bổ sung của GoogLeNet .................................................. 23
Hình 2.20: mơ hình GoogLeNet...................................................................................... 25
Hình 2.21: cấu trúc skip connection ................................................................................ 25
Hình 2.22: dạng identity của skip connection .................................................................. 25
Hình 2.23: dạng convolutional của skip connection......................................................... 25
Hình 2.24: mơ hình ResNet50......................................................................................... 26
Hình 3.1: kết quả giai đoạn phân đoạn ............................................................................ 28
Hình 3.2: biểu đồ độ chính xác trên dữ liệu huấn luyện của AlexNet .............................. 29
Hình 3.3: biểu đồ mất mát trên dữ liệu huấn luyện của AlexNet...................................... 30
Hình 3.4: biểu đồ độ chính xác trên dữ liệu kiểm thử của AlexNet .................................. 30
Hình 3.5: biểu đồ mất mát trên dữ liệu kiểm thử của Alexnet .......................................... 31
Hình 3.6: biểu đồ độ chính xác trên dữ liệu huấn luyện VGG16 ...................................... 33
Hình 3.7: biểu đồ mất mát trên dữ liệu huấn luyện VGG16 ............................................. 33
Hình 3.8: biểu đồ độ chính xác trên dữ liệu kiểm thử VGG16 ......................................... 34
Hình 3.9: biểu đồ mất mát trên dữ liệu kiểm thử VGG16 ................................................ 34

Hình 3.10: biểu đồ độ chính xác trên dữ liệu huấn luyện GoogLeNet .............................. 36
Hình 3.11: biểu đồ mất mát trên dữ liệu huấn luyện GoogLeNet ..................................... 37
Hình 3.12: biểu đồ độ chính xác trên dữ liệu kiểm thử GoogLeNet ................................. 37
Hình 3.13: biểu đồ mất mát trên dữ liệu kiểm thử GoogLeNet ........................................ 38
Hình 3.14: biểu đồ độ chính xác trên dữ liệu huấn luyện ResNet50 ................................. 40
Hình 3.15: biểu đồ mất mát trên dữ liệu huấn luyện ResNet50 ........................................ 40
Hình 3.16: biểu đồ độ chính xác trên dữ liệu kiểm thử ResNet50 .................................... 41
Hình 3.17: biểu đồ mất mát trên dữ liệu kiểm thử ResNet50 ........................................... 41


Hình 3.18: giao diện web khi khởi động ......................................................................... 44
Hình 3.19: giao diện web khi upload ảnh ........................................................................ 44
Hình 3.20: giao diện web khi submit ảnh ........................................................................ 45


LỜI NĨI ĐẦU
Nhận dạng và phân tích tế bào máu đóng vai trị hết sức quan trọng trong việc chẩn
đốn và điều trị bệnh. Tuy nhiên, các giải pháp truyền thống vẫn còn tồn tại nhiều hạn chế,
bao gồm việc đòi hỏi kinh nghiệm nhân viên y tế, thời gian xử lý, chi phí. Với sự phát triển
của trí tuệ nhân tạo hiện nay, việc ứng dụng các mơ hình máy học kết hợp với các kỹ thuật
xử lý ảnh trong phân tích ảnh đã mang lại những kết quả vượt trội trong nhiều ứng dụng
khác nhau. Do đó bài tốn nhận dạng và phân tích tế bào máu đã được thực hiện theo cách
tiếp cận mới này. Trong quá trình xử lý, ta sẽ thực hiện trên tập dữ liệu gồm những ảnh phết
máu trên kính hiển vi. Bước đầu tiên các ảnh phết máu sẽ được cắt thành những ảnh vuông
nhỏ theo vùng chứa các tế bào bạch cầu bằng các phương pháp xử lý ảnh, kế tiếp các ảnh
bạch cầu sau khi được tách ra sẽ được dùng làm đầu vào cho các mơ hình phân loại. Từ đó,
ta có thể đánh giá độ chính xác cũng như độ tối ưu của từng mơ hình khác nhau và lựa chọn
ra mơ hình tốt nhất.
Bạn có thể tham khảo chương trình ở đường dẫn sau:
/>

1


1 CHƯƠNG 1: TỔNG QUAN

1.1

Giới thiệu

Tế bào bạch cầu (WBC) là một phần của hệ thống miễn dịch và được sản xuất trong
tủy xương và các mô bạch huyết. Chúng bảo vệ cơ thể chống lại các bệnh nhiễm trùng như
vi khuẩn, vi rút và nấm. Có năm loại bạch cầu bao gồm lymphocytes, monocytes,
eosinophils, basophils và neutrophils. Bạch cầu được chia thành hai nhóm: đa nhân
(neutrophils, eosinophils, basophil) và đơn nhân (monocytes, tế bào lympho) [1]. Số lượng
bạch cầu thừa hoặc thiếu có thể gây ra nhiều bệnh khác nhau [2, 3]. Chẩn đoán các bệnh
này được thực hiện bằng cách xét nghiệm máu. Các xét nghiệm máu này cũng được thực
hiện để theo dõi kết quả của quá trình hóa trị và xạ trị. Khi số lượng WBC ít hơn giá trị tham
chiếu, nó được gọi là giảm bạch cầu. Neutrophils tăng trong máu trong các trường hợp do
nguyên nhân nội tiết tố, rối loạn chuyển hóa, tan máu và chảy máu. Ngoài ra vi khuẩn, nấm,
ngoại độc tố và nội độc tố cũng gây ra sự gia tăng neutrophils [4, 5]. Các bệnh như bordetella
ho gà, viêm gan, virus, brucella, bệnh bạch cầu làm tăng tế bào lympho trong máu trong khi
các bệnh như HIV, brucella, poliovirus, thủy đậu, lao làm giảm số lượng tế bào lympho.
Bệnh Listeriosis và bệnh sốt rét cũng như các bệnh nhiễm trùng do vi khuẩn và vi rút là một
số bệnh làm tăng số lượng bạch cầu đơn nhân [6]. Các bệnh dị ứng, bệnh dị ứng và ký sinh
trùng là những yếu tố làm tăng giá trị eosinophils [7, 8]. Các bệnh tăng sinh tủy ác tính, thiếu
máu tán huyết, suy giáp, hội chứng thận hư, viêm nhiễm có liên quan đến basophil [9]. Các
phân tích trên cho thấy việc nhận dạng các loại tế bào bạch cầu và số lượng của nó là vơ
cùng quan trọng trong hỗ trợ chẩn đoán và điều trị bệnh. Phần lớn việc nhận dạng được thực
hiện một cách thủ công dựa trên ảnh xét nghiệm. Xét nghiệm truyền thống dựa trên ảnh phết
tế bào ngoại vi, là một xét nghiệm huyết đồ dựa trên việc nhuộm máu sau khi phết lên lam

kính hiển vi rồi đánh giá tế bào máu dưới kính hiển vi. Do số lượng tế bào máu trên ảnh phết
rất lớn và đa dạng; phát hiện tế bào, nhuộm và chiếu sáng là vấn đề khó khăn. Chồng chéo
hoặc loại trừ của một số phần của hình ảnh làm mất rất nhiều thời gian và ảnh hưởng đến độ
chính xác của xét nghiệm. Ngồi ra kết quả xét nghiệm cịn phụ thuộc rất lớn vào kỹ năng
của một nhà phân tích [10, 11]. Do đó, một quy trình tự động phân loại các tế bào máu khác
nhau từ một hình ảnh phết tế bào sẽ tạo điều kiện thuận lợi rất nhiều cho tồn bộ q trình
phân tích.
1.2

Các nghiên cứu liên quan

Với sự phát triển của kỹ thuật học máy, các ứng dụng phân tích dữ liệu y sinh phát
triển rất mạnh mẽ và mang lại các kết quả đáng khích lệ. Đặc biệt, các phương pháp học sâu
đang được áp dụng trong các ứng dụng y tế khác nhau như phát hiện và xác định vị trí bất
thường trong X-quang ngực [12], tự động phân đoạn tâm thất trái trong ảnh MR tim [13] và
phát hiện bệnh võng mạc tiểu đường trong ảnh chụp võng mạc [14]. Ngoài ra còn rất nhiều
nghiên cứu cùng chủ đề của bài báo này như nghiên cứu của Hedge và cộng sự được thực
hiện vào năm 2018, đã đề xuất một thuật toán để phân loại dựa trên tính năng phát hiện hạt
nhân của WBC [15]. Tác giả đã thử các biến thể ánh sáng để phát hiện nucleus và phương
pháp Tissue Quant để tìm các biến thể màu sắc. Các đặc trưng hình dạng và kết cấu của
nucleus đã được sử dụng cho bộ phân lớp, nó là sự kết hợp dựa trên SVM và mạng nơ-ron.
Phương pháp này đã cho độ chính xác 100% trong việc phát hiện các loại bạch cầu như
2


lymphocyte và basophil. Trong nghiên cứu của Neelam và cộng sự vào năm 2003, đã đề xuất
một phương pháp phân loại bạch cầu bằng cách sử dụng K-Means Clustering và sau đó là
thuật tốn tối đa hóa kỳ vọng. Neural Network (NN) và Support Vector Machine (SVM) để
phân loại [16]. Với phương pháp này, họ đã đạt được 80% thành công trong việc phát hiện
WBC. Nisha và cộng sự đã phân loại hình ảnh WBC trong khơng gian HSV bằng cách sử

dụng thành phần S trong nghiên cứu của họ vào năm 2012 [17]. Họ đạt được khoảng 94%
thành công trong việc phát hiện WBC. Arslan và cộng sự, trong nghiên cứu của họ vào năm
2014, đã đề xuất một phương pháp dựa trên thuật toán biến đổi lưu vực trong ảnh phết máu
ngoại vi và ảnh tủy xương [18], kết quả của việc phân đoạn bạch cầu đạt độ chính xác 94%.
Nghiên cứu của Hiremath và cộng sự được thực hiện vào năm 2010, nhận biết và phân loại
monocytes, tế bào lympho, neutrophils với phương pháp phân đoạn dựa trên màu sắc và các
đặc điểm hình học [19]. Các tế bào monophils được phát hiện (12 hình ảnh), tế bào lympho
(34 hình ảnh), neutrophils (29 hình ảnh) với tỷ lệ chính xác lần lượt là 98%, 92%, 95%. G.
G. Phân loại basophil - non basophil và phân loại 4 tế bào được tiến hành. Họ đạt được tỷ lệ
thành công 98% - 99% đối với tập hợp ô dữ liệu bị hạn chế (1 hình ảnh eosinophils, hình
ảnh 33 tế bào lympho, 8 hình ảnh monophils, 63 hình ảnh neutrophils, 6 hình ảnh basophil).
Sawsan và cộng sự đã phân loại 5 loại tế bào bao gồm 70 hình ảnh với độ chính xác 91%
bằng cách sử dụng lọc trung vị trong các hình ảnh mức xám và ngưỡng phân loại entropy
biểu đồ trong nghiên cứu của họ vào năm 2000 [20]. Trong nghiên cứu của Nazlıbilek và
cộng sự vào năm 2014 đã phát hiện ra hộp giới hạn, diện tích tính bằng pixel, độ dài trục
chính và độ dài trục nhỏ trong ảnh màu xám [21]. Việc phân loại các loại WBC đạt 95%
thành công trong nghiên cứu của họ với mạng nơ-ron và phân tích thành phần chính (PCA).
Rezatofighi và cộng sự đã đề xuất một phương pháp dựa trên thuật toán Rắn và sự trực giao
Gram-Schmidt để tách nhân tế bào và tế bào chất trong nghiên cứu của mình vào năm 2011
[22]. Nhóm nghiên cứu đã xác định các đặc điểm có được từ lõi và tế bào chất bằng chọn
lọc chuyển tiếp tuần tự. Sau đó phân loại WBCs bằng mạng thần kinh nhân tạo (ANN) và
máy vectơ hỗ trợ (SVM). Các ô được phân loại với độ chính xác trung bình là 96%. Trong
nghiên cứu của Mathur và cộng sự vào năm 2013 [23], Họ phân chia lõi và tế bào chất theo
dòng trên cùng. Phân loại hình ảnh theo số lượng thùy lõi trong không gian màu HSV được
thực hiện. Nghiên cứu đạt hiệu suất trung bình là 92%. Der-Chen và cộng sự đã nghiên cứu
lõi WBC bằng phương pháp Herbaceous trong vào năm 2013 [24]. Đặc điểm cốt lõi được
suy ra bằng hình và ma trận đồng xuất hiện. Dùng PCA giảm bớt các thuộc tính và phân loại
theo phương pháp phân cụm k-mean dựa trên các thuật tốn di truyền.
Có nhiều nghiên cứu trong tài liệu đã phân loại hình ảnh WBC. Hầu hết các nghiên
cứu này tập trung vào phân đoạn và phân loại hình ảnh. Mạng thần kinh tích chập không

giống như các kỹ thuật xử lý ảnh truyền thống, khơng cần phải xem tồn bộ đối tượng để
phân loại đối tượng. Do đó, mạng thần kinh tích chập cho thấy hiệu suất cao hơn trong việc
nhận ra các ô chồng chéo hoặc các ô nằm ở rìa của hình ảnh.
Trong đề tài này, khu vực của 5 loại tế bào bạch cầu được phát hiện dựa trên các kỹ
thuật xử lý ảnh và phân loại bằng mạng thần kinh tích chập, trên tập dữ liệu PBC dataset
normal DIB gồm có 10298 hình ảnh trong đó có 1218 ảnh basophil, 3117 ảnh eosinophil,
1214 ảnh lymphocyte, 1420 ảnh monocyte, 3329 ảnh neutrophil. Các khái niệm, cách hiện
thực và kết quả chương trình sẽ được trình bày ở các chương sau.

3


2 CHƯƠNG 2: MƠ HÌNH XỬ LÝ

2.1

Tổng quan hướng tiếp cận

Đề tài được chia làm ba giai đoạn là: tiền xử lý (preprocessing), phân đoạn
(segmentation), phân loại (classification). Trong giai đoạn tiền xử lý, ảnh đầu vào được
chuyển đổi không gian màu từ BGR sang HSV và sau khi đánh giá độ tương phản giữa bạch
cầu với nền thì ta lựa chọn phần tử H trong HSV làm kết quả của bước tiền xử lý. Trong giai
đoạn phân đoạn gồm bốn bước, chuyển ảnh xám sang ảnh nhị phân với ngưỡng là 83 [25],
xóa nhiễu với diện tích đối tượng (Area) lớn hơn 300 và độ liên kết lớn hơn 0.37 (Solidity),
áp dụng thuật toán watershed để phân tách các bạch cầu bị dính với nhau và bước cuối cùng
là xóa các đối tượng có diện tích bé hơn hoặc bằng 300. Đối với giai đoạn phân loại, dữ liệu
huấn luyện sẽ được tiền xử lý để tách bạch cầu ra khỏi ảnh nền cho tương thích với ảnh bạch
cầu đã được tách ra ở giai đoạn phân đoạn, sau đó sẽ được huấn luyện trên các mơ hình học
sâu CNN (Convolutional Neural Network) khác nhau như AlexNet, VGG16, ResNet50,
GoogLeNet và đánh giá chúng để chọn ra mơ hình dự đoán tốt nhất, chi tiết các giai đoạn

được thể hiện như Hình 2.1.

4


Hình 2.1: các giai đoạn xử lý của đề tài
2.2

Dữ liệu

Dữ liệu được sử dụng trong quá trình tiền xử lý, phân đoạn và dự đoán bạch cầu là bộ
dữ liệu từ một bệnh viện lớn ở TP.HCM, được thể hiện như Hình 2.2.

5


Hình 2.2: tập dữ liệu từ bệnh viện
2.3

Tiền xử lý

Trong giai đoạn này, ở bước đầu tiên hình ảnh đầu vào được thay đổi kích thước thành
800x800 để đưa hình ảnh về cùng một kích thước cho các giai đoạn xử lý sau.
Ở bước thứ hai, hình ảnh được chuyển từ không gian màu BGR (mặc định khi đọc ảnh
bằng opencv) sang HSV (Hue, Saturation, Value) được thể hiện như Hình 2.3.

Hình 2.3: chuyển ảnh từ BGR sang HSV
Sau khi chuyển ảnh sang không gian màu HSV ta quan sát từng phần từ H, S, V và
nhận thấy ở phần tử H có độ tương phản giữa bạch cầu và nền tốt nhất. Vậy nên ta chọn phần
tử H làm ảnh cho quá trình xử lý sau.


6


Hình 2.4: các phần tử H, S, V
2.4

Phân đoạn bạch cầu

Trong giai đoạn này ta sẽ tiến hành các bước để phân đoạn bạch cầu ra khỏi nền cũng
như các tế bào hồng cầu khác.
2.4.1 Chuyển phần tử H sang ảnh nhị phân
Ở bước đầu tiên, ta sẽ tiến hành chuyển ảnh H (Hue) là kết quả của giai đoạn tiền xử
lý sang ảnh nhị phân với ngưỡng là 83, ngưỡng này đã được tìm ra bởi hàng loạt thử nghiệm
và đúc kết khác nhau [25]. Kết quả được thể hiện như Hình 2.5.

Hình 2.5: chuyển ảnh H sang nhị phân
2.4.2 Xóa đối tượng nhiễu
Như chúng ta có thể thấy ảnh nhị phân ở Hình 2.5 có rất nhiều nhiễu bao quanh các
bạch cầu nên ta cần phải có bước thứ hai trong giai đoạn này để loại bỏ chúng. Ở bước này
chúng ta sẽ loại bỏ các đối tượng có diện tích (Area) > 300 và độ liên kết (Solidity) > 0.37
[25].
Trong đó:
Diện tích: được tính bằng tổng số lượng pixel của đối tượng đó.
Độ liên kết: được tính bằng diện tích đường viền của đối tượng/diện tích lồi của đối
tượng (diện tích đối tượng khơng bao gồm đường viền).
Kết quả được thể hiện ở Hình 2.6.

7



Hình 2.6: xóa đối tượng nhiễu khỏi ảnh nhị phân
2.4.3 Tách những bạch cầu dính nhau bằng watershed
Sau khi xóa nhiễu ta sẽ thấy được rõ ràng các bạch cầu trong ảnh hơn, tuy nhiên sẽ
có trường hợp các bạch cầu nằm gần dẫn đến chúng bị dính với nhau. Cho nên bước thứ ba
sẽ là bước mà chúng ta phân tách chúng ra thành những bạch cầu đơn lẻ.
Ở bước thứ ba ta sẽ dùng thuật toán watershed và distance transform để tách những
bạch cầu bị dính với nhau ra thành những bạch cầu riêng lẻ.
Watershed: là thuật toán dùng để tách đối tượng khỏi background. Thuật tốn có đầu
vào là ảnh xám và một ảnh gọi là ảnh maker. Ảnh maker là ảnh mà bạn cho watershed biết
đâu là đối tượng foreground và background, ảnh maker là ảnh nhị phân có kích thước tương
tự như ảnh xám [26]. Ở đây chúng ta xác định foreground bằng cách sử dụng distance
transform và xác định background bằng thuật toán giãn nở đối tượng (Dilate).
Thuật toán watershed cho phép người dùng đánh dấu những vùng hình ảnh chứa đối
tượng, background và những vùng khơng chắc chắn. Sau khi thuật tốn kết thúc những vùng
không xác định sẽ được gán nhãn foreground hoặc background, các đường ranh giới giữa
các vùng cũng sẽ được phát hiện [27].
Watershed line: là đường phân thủy được giải thích như là đập để ngăn chặn sự hịa
nhập lượng nước của các lưu vực chứa nước khác nhau, trong một bức ảnh thì nó được xem
như đường phân cách các khu vực ảnh được nhóm vào thành một nhóm trước đó.
Catchment basins: là các lưu vực chứa nước, áp dụng vào trong một bức ảnh thì nó
được coi như là một vùng các pixel được nhóm lại thành một vùng nhất định có cùng một
số thuộc tính nào đó (mức xám, độ sáng, v.v) [28].
Distance transform: sử dụng đầu vào là một ảnh nhị phân, với mỗi pixel được thay
thế bằng khoảng cách của nó tới pixel background gần nhất [26]. Có ba cách thường dùng
để tính khoảng cách là: công thức Euclidean (2.1), công thức City block (2.2) và cơng thức
Chessboard (2.3) được tính tốn bởi cơng thức như sau [29]:
𝑑𝐸𝑢𝑐𝑙𝑖𝑑𝑒𝑎𝑛 ([𝑖1 , 𝑗1 ], [𝑖2 , 𝑗2 ]) = √(𝑖1 − 𝑖2 )2 + (𝑗1 − 𝑗2 )2 (2.1)
𝑑𝐶ỉ𝑡𝑦𝑏𝑙𝑜𝑐𝑘 ([𝑖1 , 𝑗1 ], [𝑖2 , 𝑗2 ]) = |𝑖1 − 𝑖2 | + |𝑗1 − 𝑗2 | (2.2)
𝑑𝐶ℎ𝑒𝑠𝑠𝑏𝑜𝑎𝑟𝑑 ([𝑖1 , 𝑗1 ], [𝑖2 , 𝑗2 ]) = max(|𝑖1 − 𝑖2 |, |𝑗1 − 𝑗2 |) (2.3)


8


Phép giãn nở (Dilation): thường được áp dụng cho ảnh nhị phân, nhằm tăng kích
thước của đối tượng trong ảnh lên hoặc liên kết các đối tượng nằm cạnh nhau. Phương pháp
được thực hiện bằng cách thực hiện phép toán hoặc (or) giữa ảnh đầu vào nhị phân với một
kernel, được minh họa như Hình 2.7.

Hình 2.7: phép hoặc giữa ảnh nhị phân và kernel
Sau khi áp dụng distance transform để tính foreground, dilation để tính background,
ta kết hợp cả hai được ảnh maker và áp dụng vào thuật toán watershed ta được kết quả như
Hình 2.8:

Hình 2.8: tách bạch cầu dính nhau bằng watershed
Sau khi thực hiện watershed các bạch cầu đã được phân tách ra với nhau. Tuy nhiên,
có những bạch cầu bị phân tách quá mức nên dẫn đến tạo ra nhiều đối tượng dư thừa trong
ảnh nên ở bước cuối cùng trong giai đoạn này là tiếp tục xóa đi những đối tượng có diện tích
bé hơn hoặc bằng 300, được thể hiện ở Hình 2.9.

Hình 2.9: xóa đối tượng có diện tích bé hơn hoặc bằng 300

9


2.5

Phân loại bạch cầu

Ở giai đoạn này ta sẽ không sử dụng những phương pháp xử lý ảnh thông thường nữa

mà thay vào đó sẽ áp dụng phương pháp học sâu (deep learning), cụ thể là mạng CNN
(Convolutional Neural Network). Ngày nay, CNN được sử dụng nhiều trong các bài toán
nhận dạng đối tượng trong ảnh, được giới thiệu bởi một nhà khoa học máy tính người Nhật
vào năm 1980, Yan LeCun lần đầu huấn luyện mơ hình CNN với thuật toán backpropagation
cho bài toán nhận dạng chữ viết tay. Tuy nhiên, mãi đến năm 2012 khi một nhà khoa học
máy tính người Ukraine Alex Krizhevsky xây dựng mơ hình CNN (AlexNet) và sử dụng
GPU để tăng tốc quá trình huấn luyện để đạt được giải nhất cuộc thi computer vision thường
niên của ImageNet với độ lỗi phân lớp top 5 giảm hơn 10% so với những mơ hình truyền
thống trước đó, đã tạo nên làn sóng mạnh mẽ sử dụng CNN với sự hỗ trợ của GPU để giải
quyết càng nhiều các vấn đề trong computer vision. Do đó, CNN đã được áp dụng vào giai
đoạn này nhằm giải quyết bài tốn với độ chính xác cao đồng thời áp dụng được những công
nghệ về học sâu hiện nay vào thực tế.
2.5.1 Kiến trúc cơ bản của CNN
Có hai phần chính trong kiến trúc CNN:
Một là phần phân tích và nhận dạng các đặc điểm khác nhau của một ảnh trong q
trình xử lý được gọi là trích xuất đặc trưng (Feature Extraction).
Hai là lớp được kết nối đầy đủ sử dụng đầu ra của q trình tích chập và dự đốn
hình ảnh dựa trên các đặc trưng được trích xuất ở giai đoạn trước được gọi là phân loại
(Classification) [35].

Hình 2.10: kiến trúc cơ bản của CNN
Kiến trúc CNN được cấu thành từ ba layer đó là convolutional layer, pooling layer
và fully connected layer (FC). Các layer này được xếp chồng lên nhau thành một kiến trúc
CNN. Ngoài ba layer này cịn có hai tham số quan trọng đó là dropout và hàm kích hoạt
(activation function) được định nghĩa bên dưới [35].

10


2.5.1.1 Convolutional layer

Đây là layer đầu tiên dùng để trích xuất các đặc trưng khác nhau của ảnh đầu vào, Ở
layer này, thực hiện phép tốn tích chập giữa ảnh đầu vào với một bộ lọc có kích thước
MxM, bằng cách trượt bộ lọc dọc theo ảnh đầu vào.
Đầu ra được gọi là feature map, cung cấp cho chúng ta thơng tin của ảnh như góc và
cạnh. Feature map này sẽ được đưa đến các layer khác để học thêm nhiều đặc trưng khác
của ảnh đầu vào [35].
2.5.1.2 Pooling layer
Hầu hết các trường hợp, theo sau một convolutional layer là một pooling layer. Mục
đích chính của layer này là giảm kích thước của feature map để giảm chi phí tính toán. Điều
này được thực hiện bằng cách giảm kết nối giữa các layer. Ta có một số loại pooling layer
thường dùng như: max-pooling sẽ lấy phần tử lớn nhất trong bộ lọc kích thước MxM trên
feature map, average pooling sẽ lấy trung bình các phần tử trong bộ lọc kích thước MxM
trên feature map, sum pooling là tính tổng các phần tử trong bộ lọc kích thước MxM trên
feature map. Pooling layer thường là đóng vai trị là cầu nối với fully connected layer (FC)
[35].
2.5.1.3 Fully connected layer
Layer này bao gồm các weight và bias cùng với các nơron và được sử dụng để kết
nối các nơron ở 2 layer khác nhau. Các layer này thường được đặt trước các layer đầu ra và
tạo thành một số layer cuối cùng của kiến trúc CNN.
Trong đó, hình ảnh đầu vào từ các lớp trước đó được làm phẳng (flatten) và đưa vào
fully connected layer (FC). Sau đó vector được làm phẳng trải qua một vài lớp FC nữa.
Trong giai đoạn này quá trình phân loại bắt đầu diễn ra [35].
2.5.1.4 Dropout layer
Thông thường, khi các đặc trưng kết nối với fully connected layer, điều này dẫn đến
overfitting trên dữ liệu huấn luyện. Overfitting xảy ra khi mơ hình hoạt động tốt trên dữ liệu
huấn luyện tuy nhiên hoạt động tệ trên dữ liệu mới.
Để khắc phục vấn đề này là sử dụng dropout layer, bằng cách loại bỏ một số nơron
khỏi q trình huấn luyện, điều này cịn làm giảm kích thước của mơ hình. Nếu ta cho loại
bỏ 0.3, có nghĩa là 30% số nơron sẽ được loại bỏ ngẫu nhiên khỏi mạng lưới nơron [35].
2.5.1.5 Activation functions

Cuối cùng, một tham số quan trọng nhất trong mơ hình CNN đó là activation
function. Một cách đơn giản, có thể hiểu activation function được thêm vào mơ hình giúp
cho chúng có thể học được những dữ liệu phức tạp. Activation function nằm ở cuối và quyết
định xem những gì sẽ được kích hoạt đến nơron tiếp theo. Nó nhận đầu ra từ ô trước đó và
chuyển đổi về một số dạng có thể được lấy làm đầu vào cho ô tiếp theo, nó thêm tính phi
tuyến tính vào mạng [36]. Có một số activation function thông dụng như ReLU, Softmax,
Tanh và Sigmoid, mỗi function đều có một cơng dụng cụ thể.

11


2.5.2 Dữ liệu dùng để huấn luyện và kiểm thử
Các mơ hình CNN được huấn luyện trên bộ dữ liệu PBC dataset normal DIB gồm có
10298 hình ảnh trong đó có 1218 ảnh basophil, 3117 ảnh eosinophil, 1214 ảnh lymphocyte,
1420 ảnh monocyte, 3329 ảnh neutrophil được chia ngẫu nhiên cho 80% dữ liệu huấn luyện
và 20% dữ liệu kiểm thử [30].

Hình 2.11: một số mẫu bạch cầu trong tập dữ liệu PBC dataset normal DIB
Do các ảnh bạch cầu được cắt ra ở giai đoạn phân đoạn bạch cầu chỉ cắt đúng vị trí
của bạch cầu và khơng chứa ảnh nền. Nên với dữ liệu này cần phải có một bước tiền xử lý
để phân đoạn tế bào bạch cầu ra khỏi ảnh nền. Vì các loại bạch cầu có màu sắc, hình dáng,
kích thước khác nhau nên ta sẽ có các cách phân đoạn bạch cầu khác nhau cho mỗi loại như
sau:
Đối với 3 loại bạch cầu basophil, eosinophil, lymphocyte ta có cách phân đoạn với
các bước là:

12


Bước 1: chuyển ảnh từ không gian màu BGR sang không gian màu HSV, sau khi so

sánh độ tương phản của các phần tử H, S và V ta thấy phần tử S có độ tương phản giữa bạch
cầu và ảnh nền tốt nhất nên ta chọn phần tử H làm ảnh đầu vào cho bước tiếp theo.
Bước 2: chuyển ảnh xám từ Bước 1 sang ảnh nhị phân với ngưỡng là 83.
Bước 3: xóa các đối tượng nhiễu với diện tích (Area) < 3500 pixel.
Bước 4: giãn nở đối tượng với bộ lọc có kích thước là 11x11 để lấp đầy những khoảng
trống trong bạch cầu.
Bước 5: co đối tượng về với kích thước ban đầu để khớp với bạch cầu với bộ lọc có
kích thước 11x11.
Bước 6: cắt bạch cầu với ảnh mặt nạ đã có ở bước 5.
Tất cả các bước trên được thể hiện qua Hình 2.12.

13


Hình 2.12: phân đoạn bạch cầu basophil, eosinophil, lymphocyte
Đối với bạch cầu monocyte ta có cách phân đoạn với các bước là:
14


Bước 1: chuyển ảnh từ không gian màu BGR sang không gian màu CMYK, sau khi
so sánh độ tương phản của các phần tử C, M, Y và K ta thấy phần tử Y có độ tương phản
giữa bạch cầu và ảnh nền tốt nhất nên ta chọn phần tử Y làm ảnh đầu vào cho bước tiếp theo.
Bước 2: tìm ngưỡng cho ảnh xám Y ở Bước 1 bằng phương pháp otsu.
Bước 3: nếu ngưỡng bé hơn 10 ta lấy phần tử C ở Bước 1 tiếp tục tìm ngưỡng bằng
phương pháp otsu. Ngược lại ta chuyển ảnh xám sang ảnh nhị phân với ngưỡng và phần tử
tương ứng.
Bước 4: xóa những đối tượng nhiễu với diện tích (Area) < 3500 pixel.
Bước 5: giãn nở đối tượng với bộ lọc có kích thước là 11x11 để lấp đầy những khoảng
trống trong bạch cầu.
Bước 6: co đối tượng về với kích thước ban đầu để khớp với bạch cầu với bộ lọc có

kích thước 11x11.
Bước 7: cắt bạch cầu với ảnh mặt nạ đã có ở bước 6.
Tất cả các bước trên được thể hiện qua Hình 2.13.

15


Hình 2.13: phân đoạn bạch cầu monocyte
Đối với bạch cầu neutrophil ta có cách phân đoạn với các bước là:
16


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×