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

Đồ án tốt nghiệp Kỹ thuật y sinh: Ứng dụng mô hình máy học hỗ trợ phát hiện và phân loại tổn thương da

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

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng Dụng Mô Hình Máy Học Hỗ Trợ Phát Hiện Và Phân Loại Tổn Thương Da
Tác giả Trần Khoa Dự, Nguyễn Thị Thu Hiền
Người hướng dẫn TS. Vũ Chí Cường
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Kỹ thuật y sinh
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2024
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 83
Dung lượng 6,48 MB

Nội dung

Các số liệu, tài liệu ban đầu − Ngôn ngữ lập trình: Python − Phần mềm huấn luyện: Google Colab − Tập dữ liệu: tập dữ liệu gồm hình ảnh soi da của 3 loại tổn thương da gồm Ung thư hắc

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

THÀNH PHỐ HỒ CHÍ MINH

ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT Y SINH

GVHD: VŨ CHÍ CƯỜNG SVTH: TRẦN KHOA DỰ

NGUYỄN THỊ THU HIỀN

ỨNG DỤNG MÔ HÌNH MÁY HỌC HỖ TRỢ PHÁT HIỆN VÀ PHÂN LOẠI TỔN THƯƠNG DA

Trang 2

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

KHOA ĐIỆN - ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH

Trang 3

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

KHOA ĐIỆN - ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH

Trang 4

TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH

KHOA ĐIỆN - ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC

◃◅◅◅◈▻▻▻▹

TP Hồ Chí Minh, ngày 17 tháng 06 năm 2024

NHIỆM VỤ KHÓA LUẬN TỐT NGHIỆP

Họ tên sinh viên: Trần Khoa Dự MSSV: 20129037

Nguyễn Thị Thu Hiền MSSV: 20129049 Chuyên ngành: Kỹ thuật Y sinh Mã ngành: 7520212D

Hệ đào tạo: Đại học chính quy Mã hệ: 1

I TÊN ĐỀ TÀI: ỨNG DỤNG MÔ HÌNH MÁY HỌC HỖ TRỢ PHÁT HIỆN VÀ

PHÂN LOẠI TỔN THƯƠNG DA

II NHIỆM VỤ

1 Các số liệu, tài liệu ban đầu

− Ngôn ngữ lập trình: Python

− Phần mềm huấn luyện: Google Colab

− Tập dữ liệu: tập dữ liệu gồm hình ảnh soi da của 3 loại tổn thương da gồm Ung thư hắc tố da ác tính, Ung thư biểu mô tế bào đáy và Tổn thương mạch máu

Dữ liệu được lọc ra từ bộ dữ liệu HAM10000 được lấy từ kho dữ liệu ISIC thuộc Đại học Y khoa Vienna, Áo

− Tài liệu về bộ dữ liệu HAM10000

− Sử dụng 4 mô hình máy học là Inception, Resnet, ConvNeXt và Vision Transformer để phân loại tổn thương da

2 Nội dung thực hiện

− Nội dung 1: Khảo sát và chọn ra 3 loại tổn thương da là Ung thư hắc tố da ác tính, ung thư biểu mô tế bào đáy và tổn thương mạch máu để tìm kiếm dữ liệu

− Nội dung 2: Sau khi tìm ra dữ liệu, tiến hành tạo tập dữ liệu và tiền xử lý

− Nội dung 3: Khảo sát và xây dựng mô hình huấn luyện phân loại các tổn thương da, bao gồm các mô hình Inception-V1, ResNet50, ConvNeXt_Tiny

và Vision Transformer

Trang 5

− Nội dung 4: Huấn luyện, điều chỉnh và đánh giá các mô hình đã xây dựng và

so sánh các mô hình đã xây dựng với một số nghiên cứu khác

− Nội dung 5: Viết báo cáo đề tài

− Nội dung 6: Bảo vệ luận văn

V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: TS Vũ Chí Cường

Trang 6

TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH

KHOA ĐIỆN - ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC

◃◅◅◅◈▻▻▻▹

TP Hồ Chí Minh, ngày 17 tháng 06 năm 2024

LỊCH TRÌNH THỰC HIỆN KHÓA LUẬN TỐT NGHIỆP

Họ tên sinh viên 1: Trần Khoa Dự

Lớp: 20129C MSSV: 20129037

Họ tên sinh viên 2: Nguyễn Thị Thu Hiền

Lớp: 20129B MSSV: 20129049

Tên đề tài: Ứng dụng mô hình máy học hỗ trợ phát hiện và phân loại tổn thương da

Tuần 1

(19/02 –

25/07)

- Nhận thư mời làm đồ án tốt nghiệp

- Gặp GVHD để nghe phổ biến về yêu cầu đồ

- Tìm hiểu và khảo sát một số mô hình máy học

- Khảo sát và lọc tập dữ liệu từ bộ dữ liệu HAM10000

Trang 7

Tuần 9, 10, 11

(15/04 –

05/05)

- Tiếp tục xây dựng mô hình

- Nộp báo cáo tiến độ Đồ án tốt nghiệp vào ngày 22/04/2024

- Tiến hành huấn luyện mô hình cho bài toán phân loại ảnh

- Tiếp tục huấn luyện, chỉnh sửa

- Đánh giá kết quả sau huấn luyện

Tuần 15

(27/05 –

02/06)

- Viết luận văn tốt nghiệp

- Thiết kế slide báo cáo đồ án tốt nghiệp

Tuần 16

(03/06 –

09/06)

- Viết luận văn tốt nghiệp

- Thiết kế poster báo cáo đồ án tốt nghiệp

Trang 8

LỜI CAM ĐOAN

Đề tài “Ứng dụng mô hình máy học hỗ trợ phát hiện và phân loại tổn thương

da” là do nhóm tự thực hiện dưới sự hướng dẫn của giảng viên hướng dẫn TS Vũ

Chí Cường Mọi tài liệu tham khảo nhóm sử dụng được trích dẫn ở phần tài liệu tham khảo và hoàn toàn không sao chép từ tài liệu hay công trình đã có trước đó

Nhóm sinh viên thực hiện đề tài

Trần Khoa Dự Nguyễn Thị Thu Hiền

Trang 9

LỜI CẢM ƠN

Đề tài “Ứng dụng mô hình máy học hỗ trợ phát hiện và phân loại tổn thương da” là nội dung mà nhóm đã nghiên cứu và thực hiện trong khoảng thời gian qua Để hoàn thành đề tài này, ngoài sự cố gắng và nỗ lực của từng cá nhân trong nhóm thì không thể thiếu sự hướng dẫn, góp ý và giúp đỡ tận tình từ thầy TS Vũ Chí Cường Tại đây, nhóm xin chân thành gửi lời cảm ơn đến thầy Thầy đã tạo điều kiện thuận lợi nhất có thể để nhóm hoàn thành đề tài, hướng dẫn, góp ý và động viên nhóm trong quá trình thực hiện đề tài Nhờ đó, nhóm đã vượt qua những khó khăn trong quá trình thực hiện đề tài đồng thời hoàn thiện đề tài một cách tốt nhất có thể

Bên cạnh đó, nhóm cũng xin chân thành cảm ơn đến quý thầy cô trong khoa Điện - Điện tử, đặc biệt là bộ môn Điện tử Công nghiệp - Y sinh đã tạo môi trường học tập thoải mái, cung cấp cho nhóm những kiến thức bổ ích trong suốt quá trình học tập tại Trường Đại học Sư Phạm Kỹ Thuật TP.HCM Những kiến thức đó đã làm nền tảng giúp cho nhóm thuận lợi thực hiện đề tài

Cảm ơn tập thể lớp Kỹ thuật Y sinh khóa 2020 cùng bạn bè, những thành viên luôn sát cánh, chia sẻ kiến thức, sẵn sàng giúp đỡ góp phần hoàn thiện đề tài Được học tập, giao lưu cùng các bạn chính là cơ hội để nhóm mở rộng kiến thức của bản thân

Cuối cùng, xin gửi lời cảm ơn chân thành nhất đến gia đình, chỗ dựa vững chắc nhất của chúng con Sự yêu thương, quan tâm của gia đình chính là động lực lớn nhất giúp chúng con hoàn thành tốt đề tài

Tuy nhiên, vì điều kiện thời gian cũng như kinh nghiệm và kiến thức chuyên môn còn hạn chế nên không thể tránh khỏi những thiếu sót trong đề tài lần này Do

đó, nhóm rất mong nhận được những góp ý của quý thầy cô để có thể cải thiện bản thân và làm tốt hơn trong tương lai

Nhóm xin chân thành cảm ơn!

Nhóm sinh viên thực hiện đề tài

Trần Khoa Dự Nguyễn Thị Thu Hiền

Trang 10

MỤC LỤC

Nội dung Trang

Nhiệm vụ khóa luận tốt nghiệp i

Lịch trình thực hiện khóa luận tốt nghiệp iii

Lời cam đoan v

Lời cảm ơn vi

Mục lục vii

Danh mục hình ảnh ix

Danh mục bảng xii

Danh mục từ viết tắt xiv

Tóm tắt xv

CHƯƠNG 1 TỔNG QUAN 1

1.1 Đặt vấn đề 1

1.2 Mục tiêu 2

1.3 Nội dung nghiên cứu 2

1.4 Giới hạn 2

1.5 Bố cục 3

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 4

2.1 Các loại tổn thương da được khảo sát 4

2.2 Sử dụng mô hình máy học để hỗ trợ phân loại ảnh 5

2.3 Các công cụ thực hiện xây dựng mô hình máy học 13

CHƯƠNG 3 TÍNH TOÁN VÀ XÂY DỰNG MÔ HÌNH 16

3.1 Sơ đồ khối của mô hình phân loại tổn thương da 16

3.2 Tập dữ liệu 16

3.3 Tiền xử lý dữ liệu 17

3.4 Xây dựng mô hình 22

3.5 Đánh giá mô hình huấn luyện 33

Trang 11

CHƯƠNG 4 KẾT QUẢ – NHẬN XÉT – ĐÁNH GIÁ 36

4.1 Kết quả huấn luyện các mô hình dựa trên các phương pháp tiền xử lý dữ liệu 36

4.2 Kết quả huấn luyện dựa trên việc điều chỉnh các siêu tham số 51

4.3 So sánh các mô hình đã thực hiện huấn luyện 56

4.4 Kết quả phân loại của mô hình ResNet50 57

4.5 So sánh kết quả phân loại của đề tài với các nghiên cứu khác 59

CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 60

5.1 Kết luận 60

5.2 Hướng phát triển 60

TÀI LIỆU THAM KHẢO 62

PHỤ LỤC 64

Trang 12

DANH MỤC HÌNH ẢNH

Hình 2.1 Hình ảnh tổn thương do ung thư hắc tố da ác tính 4

Hình 2.2 Hình ảnh tổn thương do ung thư tế bào đáy 5

Hình 2.3 Hình ảnh tổn thương mạch máu 5

Hình 2.4 Tổng quan kiến trúc mạng của ANN 6

Hình 2.5 Tổng quan kiến trúc mạng của CNN 7

Hình 2.6 Tổng quan mô hình ViT 8

Hình 2.7 Đồ thị hàm Sigmoid 11

Hình 2.8 Đồ thị hàm ReLU 11

Hình 2.9 Đồ thị hàm Leaky ReLU 11

Hình 2.10 Đồ thị hàm GeLU 12

Hình 2.11 Logo Python 13

Hình 2.12 Logo TensorFlow 14

Hình 2.13 Minh họa tensor 3 chiều (kích thước [3, 2, 5]) 14

Hình 2.14 Logo Google Colab 15

Hình 3.1 Sơ đồ khối các bước thực hiện phân loại tổn thương da 16

Hình 3.2 Biểu đồ thống kê số lượng từng loại tổn thương của tập dữ liệu 17

Hình 3.3 Biểu đồ thống kê số lượng từng loại tổn thương trên mỗi tập dữ liệu con 18

Hình 3.4 Minh họa ảnh được tăng cường trong tập huấn luyện 19

Hình 3.5 Dữ liệu đầu vào mô hình phân đoạn tổn thương da 20

Hình 3.6 Kiến trúc mô hình BCDU-Net [14] 20

Hình 3.7 Kết quả của mô hình phân đoạn và sau khi phân đoạn ngưỡng 0.5 21

Hình 3.8 Sơ đồ mô hình Inception-V1 23

Hình 3.9 Khối Inception 24

Hình 3.10 Sơ đồ khối mô hình ResNet50 26

Hình 3.11 Các khối phần dư của mô hình ResNet50 27

Hình 3.12 Sơ đồ kiến trúc mô hình ConvNeXt 28

Trang 13

Hình 3.13 Khối ConvNeXt qua các giai đoạn 28 Hình 3.14 Sơ đồ mô hình ViT [10] 32 Hình 3.15 Mô hình ma trận nhầm lẫn 34Hình 4.1 Sơ đồ huấn luyện mô hình bằng các phương pháp tiền xử lý khác nhau 36 Hình 4.2 Đồ thị độ chính xác và hàm mất mát của quá trình huấn luyện mô hình Inception-V1 (tập dữ liệu gốc) 37 Hình 4.3 Ma trận nhầm lẫn và ma trận nhầm lẫn chuẩn hóa của mô hình Inception-V1 37 Hình 4.4 Đồ thị độ chính xác và hàm mất mát của quá trình huấn luyện mô hình (tập

dữ liệu tăng cường) 38 Hình 4.5 Ma trận nhầm lẫn và ma trận nhầm lẫn chuẩn hóa của mô hình Inception-V1 (tập dữ liệu tăng cường) 38 Hình 4.6 Đồ thị độ chính xác và hàm mất mát của quá trình huấn luyện mô hình Inception-V1 (tập dữ liệu có mặt nạ phân đoạn tổn thương) 39 Hình 4.7 Ma trận nhầm lẫn và ma trận nhầm lẫn chuẩn hóa của mô hình Inception-V1 (tập dữ liệu có mặt nạ phân đoạn tổn thương) 40 Hình 4.8 Đồ thị độ chính xác và hàm mất mát của quá trình huấn luyện mô hình ResNet50 40 Hình 4.9 Ma trận nhầm lẫn và ma trận nhầm lẫn chuẩn hóa của mô hình ResNet50 41 Hình 4.10 Đồ thị độ chính xác và hàm mất mát của quá trình huấn luyện mô hình ResNet50 (tập dữ liệu tăng cường) 41 Hình 4.11 Ma trận nhầm lẫn và ma trận nhầm lẫn chuẩn hóa của mô hình ResNet50 (tập dữ liệu tăng cường) 42 Hình 4.12 Đồ thị độ chính xác và hàm mất mát của quá trình huấn luyện mô hình ResNet50 (bổ sung mặt nạ phân đoạn vùng tổn thương) 43 Hình 4.13 Ma trận nhầm lẫn và ma trận nhầm lẫn chuẩn hóa của mô hình ResNet50 (có bổ sung mặt nạ phân đoạn tổn thương) 44 Hình 4.14 Đồ thị độ chính xác và hàm mất mát của quá trình huấn luyện mô hình ConvNeXt_Tiny (tập dữ liệu gốc) 44

Trang 14

Hình 4.15 Ma trận nhầm lẫn và ma trận nhầm lẫn chuẩn hóa của mô hình

ConvNeXt_Tiny (tập dữ liệu gốc) 45

Hình 4.16 Đồ thị độ chính xác và hàm mất mát của quá trình huấn luyện mô hình ConvNeXt_Tiny (tập dữ liệu tăng cường) 45

Hình 4.17 Ma trận nhầm lẫn và ma trận nhầm lẫn chuẩn hóa của mô hình ConvNeXt_Tiny (tập dữ liệu tăng cường) 46

Hình 4.18 Đồ thị độ chính xác và hàm mất mát của quá trình huấn luyện mô hình ConvNeXt_Tiny (tập dữ liệu có mặt nạ phân đoạn tổn thương) 47

Hình 4.19 Ma trận nhầm lẫn và ma trận nhầm lẫn chuẩn hóa của mô hình ConvNeXt_Tiny (tập dữ liệu có mặt nạ phân đoạn tổn thương) 47

Hình 4.20 Đồ thị độ chính xác và hàm mất mát của quá trình huấn luyện mô hình ViT 48

Hình 4.21 Ma trận nhầm lẫn và ma trận nhầm lẫn chuẩn hóa của mô hình ViT 49

Hình 4.22 Đồ thị độ chính xác và hàm mất mát của quá trình huấn luyện mô hình ViT (tập dữ liệu tăng cường) 49

Hình 4.23 Ma trận nhầm lẫn và ma trận nhầm lẫn chuẩn hóa của mô hình ViT (tập dữ liệu tăng cường) 50

Hình 4.24 Đồ thị độ chính xác và hàm mất mát của quá trình huấn luyện mô hình ViT (tập dữ liệu có mặt nạ phân đoạn tổn thương) 50

Hình 4.25 Ma trận nhầm lẫn và ma trận nhầm lẫn chuẩn hóa của mô hình ViT (tập dữ liệu có mặt nạ phân đoạn tổn thương) 51

Hình 4.26 Ma trận nhầm lẫn (chuẩn hóa) của 3 mô hình ResNet50, ConvNeXt_Tiny và ViT 57

Hình 4.27 Một kết quả phân loại bằng mô hình ResNet50 (bcc) 58

Hình 4.28 Một kết quả phân loại bằng mô hình ResNet50 (mel) 58

Hình 4.29 Một kết quả phân loại bằng mô hình ResNet50 (vasc) 59

Trang 15

DANH MỤC BẢNG

Bảng 3.1 Thống kê dữ liệu phân loại trong tập dữ liệu 17

Bảng 3.2 Kết quả phân đoạn với tập dữ liệu 3694 ảnh 21

Bảng 3.3 Kiến trúc mô hình Inception-V1 24

Bảng 3.4 Các thông số kiến trúc mô hình ViT 33

Bảng 4.1 Các thông số đánh giá mô hình Inception-V1 (tập dữ liệu gốc) 37

Bảng 4.2 Các thông số đánh giá mô hình Inception-V1 (tập dữ liệu tăng cường) 38

Bảng 4.3 Các thông số đánh giá mô hình Inception-V1 (tập dữ liệu có mặt nạ phân đoạn tổn thương) 39

Bảng 4.4 Các thông số đánh giá mô hình ResNet50 (tập dữ liệu gốc) 41

Bảng 4.5 Các thông số đánh giá mô hình ResNet50 (tập dữ liệu tăng cường) 42

Bảng 4.6 Các thông số đánh giá mô hình ResNet50 (tập dữ liệu có mặt nạ phân đoạn tổn thương) 43

Bảng 4.7 Các thông số đánh giá mô hình ConvNeXt_Tiny (tập dữ liệu gốc) 45

Bảng 4.8 Các thông số đánh giá mô hình ConvNeXt_Tiny (tập dữ liệu tăng cường) 46

Bảng 4.9 Các thông số đánh giá mô hình ConvNeXt_Tiny (tập dữ liệu có mặt nạ phân đoạn tổn thương) 47

Bảng 4.10 Các thông số đánh giá mô hình ViT (tập dữ liệu gốc) 48

Bảng 4.11 Các thông số đánh giá mô hình ViT (tập dữ liệu tăng cường) 49

Bảng 4.12 Các thông số đánh giá mô hình ViT (tập dữ liệu có mặt nạ phân đoạn tổn thương) 51

Bảng 4.13 Thông số đánh giá mô hình ResNet50 thông qua tinh chỉnh kích thước batch 52

Bảng 4.14 Thông số đánh giá mô hình ResNet50 thông qua tinh chỉnh tốc độ học ban đầu 53 Bảng 4.15 Thông số đánh giá mô hình ConvNeXt_Tiny thông qua tinh chỉnh kích

Trang 16

Bảng 4.16 Thông số đánh giá mô hình ConvNext_Tiny thông qua tinh chỉnh tốc độ học ban đầu 54Bảng 4.17 Thông số đánh giá mô hình ViT thông qua tinh chỉnh kích thước batch 55Bảng 4.18 Thông số đánh giá mô hình ViT thông qua tinh chỉnh tốc độ học ban đầu 55Bảng 4.19 Bảng so sánh kết quả phân loại của các mô hình đã thực hiện 56Bảng 4.20 So sánh kết quả mô hình phân loại của đề tài với các nghiên cứu khác 59

Trang 17

DANH MỤC TỪ VIẾT TẮT

Từ viết tắt Dạng đầy đủ của từ viết tắt Nghĩa tiếng Việt

ANN Artificial Neural Network Mạng neuron nhân tạo

bcc Basal Cell Carcinoma Ung thư biểu mô tế bào đáy BCDU-

Net

Bi-Directional Convolutional long short-term memory U-Net

Mạng U-Net bộ nhớ ngắn hạn dài tích chập hai chiều

CNN Convolutional Neural Network Mạng nơ-ron tích chập

NLP Natural Language Processing Xử lý ngôn ngữ tự nhiên

GeLU Gaussian error Linear Unit Đơn vị tuyến tính lỗi Gausian ReLU Rectified Linear Unit Đơn vị tuyến tính chỉnh lưu SGD Stochastic Gradient Descent Giảm độ dốc ngẫu nhiên

ViT Vision Transformer Mô hình Transformer thị giác

Trang 18

TÓM TẮT

Hiện nay, tình trạng thủng tầng ozone đang ở mức báo động khiến cho tia cực tím trở nên dày đặc hơn trong ánh sáng mặt trời Tia cực tím chính là một trong những nguyên nhân chính gây nên tổn thương da Mặc dù phần lớn các tổn thương da không gây nguy hiểm đến sức khỏe con người, nhưng vẫn có một số tổn thương da dẫn đến ung thư và gây hậu quả nghiêm trọng Hơn thế nữa, ngày nay con người rất chú tâm đến vấn đề thẩm mỹ, do đó các tổn thương da có hay không gây nguy hiểm đến sức khỏe vẫn gây ra những khó chịu trong sinh hoạt và thẩm mỹ

Trong bối cảnh hiện đại với sự phát triển nhanh đến chóng mặt của công nghệ trí tuệ nhân tạo, chúng đã hỗ trợ con người rất nhiều trong mọi mặt đời sống Chính

vì thế nhóm đã lên ý tưởng ứng dụng mô hình máy học, một sản phẩm của công nghệ trí tuệ nhân tạo, để hỗ trợ con người phát hiện và phân loại các tổn thương trên da cơ thể người Vì vậy, nhóm quyết định thực hiện đề tài “Ứng dụng mô hình máy học hỗ trợ phát hiện và phân loại tổn thương da” nhằm đáp ứng nhu cầu cấp thiết này

Trong đề tài này, nhóm tiến hành khảo sát các mô hình máy học và chọn ra 4

mô hình máy học là Inception, Resnet, ConvNeXt và Vision Transformer để phân loại Tập dữ liệu ảnh được lọc ra từ bộ dữ liệu HAM10000 để tạo ra tập dữ liệu mới chứa 3 phân loại tổn thương có nguy cơ gây hại cao cơ thể người Các mô hình sẽ được huấn luyện phân loại trên tập dữ liệu sau khi thực hiện tiền xử lý Sau đó đưa ra kết quả huấn luyện ở từng mô hình và tiến hành đánh giá, nhận xét và so sánh, kết luận để tìm ra mô hình phù hợp với tập dữ liệu và cho ra kết quả tốt Mô hình này sẽ giúp hỗ trợ phát hiện và phân loại các tổn thương về da, góp phần nâng cao chất lượng chăm sóc sức khỏe

Trang 19

Ung thư hắc tố da ác tính là loại tổn thương nghiêm trọng nhất Các triệu chứng bao gồm nốt ruồi phát triển về quy mô, hình dạng, màu sắc, đường viền không đều, nhiều màu, ngứa hoặc chảy máu Khoảng 300.000 trường hợp mới [2] về ung thư hắc

tố da đã được báo cáo trên toàn cầu vào năm 2018 theo thống kê của Cơ quan Nghiên cứu Ung thư Quốc tế, khiến đây trở thành bệnh ác tính phổ biến nhất ở cả nam và nữ Việc phát hiện và phân loại tổn thương da sớm và chính xác là rất quan trọng trong việc điều trị và phòng ngừa các tổn thương da Kết quả chẩn đoán thường phụ thuộc vào năng lực của bác sĩ da liễu vì các dấu hiệu ban đầu của ung thư da thường không rõ ràng [1] Tuy nhiên, việc này đòi hỏi kiến thức chuyên môn sâu rộng và kinh nghiệm lâm sàng Hơn nữa, việc khám và chẩn đoán bệnh lý và tổn thương da thường tốn nhiều thời gian và công sức của các bác sĩ da liễu

Trong thời đại công nghệ hiện đại, các hệ thống máy tính hỗ trợ đã mở ra những khả năng mới trong việc hỗ trợ việc phát hiện và phân loại tổn thương da Phương pháp sử dụng mô hình máy học là một giải pháp hỗ trợ các bác sĩ chẩn đoán các loại

Trang 20

C HƯƠNG 1 T ỔNG QUAN

và phân loại tổn thương da” Tuy nhiên, việc xây dựng một mô hình máy học có thể

phát hiện và phân loại tổn thương da một cách chính xác không phải là một nhiệm vụ

dễ dàng Đòi hỏi việc thu thập và xử lý dữ liệu hình ảnh da, xây dựng và huấn luyện

mô hình, và cuối cùng là đánh giá và tinh chỉnh mô hình để đảm bảo hiệu suất tốt nhất

1.3 Nội dung nghiên cứu

Trong quá trình thực hiện đề tài “Ứng dụng mô hình máy học hỗ trợ phát hiện

và phân loại tổn thương da”, nhóm đã tiến hành nghiên cứu và giải quyết những nội

dung sau:

− NỘI DUNG 1: Khảo sát và chọn ra 3 loại tổn thương da là Ung thư hắc tố da

ác tính, ung thư biểu mô tế bào đáy và tổn thương mạch máu để tìm kiếm dữ liệu

− NỘI DUNG 2: Sau khi tìm ra dữ liệu, tiến hành tạo tập dữ liệu và tiền xử lý

− NỘI DUNG 3: Khảo sát và xây dựng mô hình huấn luyện phân loại các tổn thương da, bao gồm các mô hình Inception-V1, ResNet50, ConvNeXt_Tiny

và Vision Transformer

− NỘI DUNG 4: Huấn luyện, điều chỉnh và đánh giá các mô hình đã xây dựng

và so sánh các mô hình đã xây dựng với một số nghiên cứu khác

− NỘI DUNG 5: Viết báo cáo đề tài

− NỘI DUNG 6: Bảo vệ luận văn

1.4 Giới hạn

− Số lượng tổn thương da mà mô hình phân loại là 3, bao gồm: Ung thư hắc tố

da ác tính, ung thư biểu mô tế bào đáy và tổn thương mạch máu

Trang 21

C HƯƠNG 1 T ỔNG QUAN

− Tập dữ liệu chủ yếu thu thập từ người da trắng, số lượng ảnh từ người da vàng

tỷ lệ rất thấp và không có dữ liệu từ người da đen

− Chương 2: Cơ sở lý thuyết

Trình bày tổng quan về một số loại tổn thương da, phương pháp sử dụng mô hình máy học và các công cụ để thực hiện xây dựng, huấn luyện mô hình phân loại tổn thương da

− Chương 3: Thiết kế và tính toán

Khảo sát và trình bày cách xây dựng mô hình phân loại tổn thương da và huấn luyện các mô hình mạng neuron CNN bao gồm Inception-V1, ResNet50, ConvNeXt_Tiny và Vision Transformer trên bộ dữ liệu Trình bày cách điều chỉnh các thông số mô hình

− Chương 4: Kết quả, nhận xét và đánh giá

Trình bày kết quả sau thu được và tiến hành so sánh kết quả thu được với những kết quả của công trình nghiên cứu khác Nhận xét đánh giá sau khi hoàn thành

− Chương 5: Kết luận và hướng phát triển

Tổng kết quá trình nghiên cứu và đưa ra kết luận về mô hình Đối chiếu với mục tiêu để xác định những hạn chế cần khắc phục của đề tài Từ đó, nhóm thực hiện

đề tài tiến hành đưa ra đề xuất và những hướng phát triển của đề tài này trong một số ứng dụng tương lai.

Trang 22

C HƯƠNG 2 C Ơ SỞ LÝ THUYẾT

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

2.1 Các loại tổn thương da được khảo sát

Các loại tổn thương được khảo sát lấy từ bộ dữ liệu ảnh HAM10000 của tập đoàn ViDIR, Khoa Da liễu, Đại học Y Vienna, Áo [3]

2.1.1 Ung thư hắc tố da ác tính

Ung thư hắc tố da ác tính (Melanoma), được biểu diễn như Hình 2.1, là một loại khối u ung thư phát triển từ tế bào hắc tố và có thể có nhiều dạng khác nhau Nếu được phát hiện sớm, nó có thể được điều trị bằng thủ thuật phẫu thuật cơ bản [3] Biểu hiện của chúng bao gồm nốt ruồi phát triển về quy mô, hình dạng, màu sắc, đường viền không đều, nhiều màu, ngứa hoặc chảy máu Nếu không được phát hiện kịp thời có thể gây nguy hiểm đến tính mạng người bệnh [2]

Hình 2.1 Hình ảnh tổn thương do ung thư hắc tố da ác tính

2.1.2 Ung thư biểu mô tế bào đáy

Ung thư biểu mô tế bào đáy (Basal cell carcinoma), được minh họa như Hình 2.2, là một biến thể phổ biến của ung thư da biểu mô Đây là loại ung thư da phổ biến nhất, khoảng 75% các trường hợp ung thư da không phải ung thư hắc tố da ác tính Chúng phát triển từ các tế bào đáy và được tìm thấy ở phần sâu nhất của lớp biểu bì (lớp đáy) [4] Ung thư biểu mô tế bào đáy hiếm khi di căn nhưng phát triển mạnh nếu không được điều trị Nó xuất hiện dưới nhiều dạng hình thái khác nhau (phẳng, nốt sần, sắc tố, nang) [3] Nhiều dạng ung thư biểu mô tế bào đáy có đặc điểm hình thái rất giống với các dạng tổn thương da khác, bao gồm ung thư hắc tố da ác tính và tổn thương mạch máu

Trang 23

Hình 2.3 Hình ảnh tổn thương mạch máu

2.2 Sử dụng mô hình máy học để hỗ trợ phân loại ảnh

Đề tài có nghiên cứu và khảo sát sử dụng mô hình Mạng neuron nhân tạo bao gồm mô hình Mạng neuron tích chập và mô hình Transformer

2.2.1 Định nghĩa Mô hình mạng neuron nhân tạo

Mạng neuron nhân tạo (ANN) là mô hình máy học có cấu trúc được mô phỏng gần giống như cách các tế bào thần kinh trong mạng neuron của não người truyền tín hiệu cho nhau [6]

Trang 24

C HƯƠNG 2 C Ơ SỞ LÝ THUYẾT

Hình 2.4 Tổng quan kiến trúc mạng của ANN Hình 2.4 cho thấy kiến trúc chung cơ bản của ANN Một mô hình ANN có 3 lớp bao gồm lớp đầu vào, một hoặc nhiều lớp ẩn và sau cùng là lớp đầu ra Trong mô hình phân loại ảnh, lớp đầu vào bao gồm các nút là các giá trị các điểm ảnh Các giá trị đầu vào sẽ được chuyển tới các lớp ẩn, tại mỗi nút sẽ tính toán trọng số ngõ ra mỗi nút bằng một hàm truyền (thường là không tuyến tính) như công thức (2.1) [6] Các trọng số từ nút của lớp trước sẽ truyền cho nút của lớp sau, hoặc cũng có thể truyền

về nút của lớp trước (ANN hồi tiếp) Cuối cùng là lớp đầu ra với số nút bằng với số phân loại, đây là lớp kết quả phân loại cuối cùng của mô hình Trong quá trình học, các trọng số của mô hình sẽ thay đổi để kết quả mô hình dần tiến đến như mong muốn

là phương pháp chiếm ưu thế trong vô số nhiệm vụ thị giác máy tính Điều đó đã

Trang 25

C HƯƠNG 2 C Ơ SỞ LÝ THUYẾT

được khẳng định kể từ khi CNN đạt được kết quả đáng kinh ngạc trong cuộc thi nhận dạng đối tượng gọi là “Cuộc thi nhận dạng hình ảnh ImageNet quy mô lớn” (ILSVRC) vào năm 2012 [8]

Hình 2.5 Tổng quan kiến trúc mạng của CNN Lĩnh vực y tế cũng không nằm ngoại lệ, CNN đã và đang có những thành tựu nổi bật trong mảng thị giác máy tính Mô hình CNN được tạo thành từ các bộ lọc tích chập có chức năng chính là tìm hiểu và trích xuất các tính năng cần thiết để hiểu hình ảnh y tế hiệu quả [7] Kiến trúc mạng chung của CNN được thể hiện qua Hình 2.5 bên trên

Lớp đầu vào là ảnh cần phân loại, được đưa vào các lớp ẩn bao gồm lớp tích chập và các lớp xử lý khác như lớp lấy mẫu, lớp chuẩn hóa batch, v.v Sau đó dữ liệu được làm phẳng thành một mảng 1 chiều (lớp kết nối đầy đủ) và độ dài lớp kết nối đầy đủ cuối cùng là số phân loại của mô hình Đây cũng là lớp đầu ra của mô hình

Các lớp neuron tích chập là thành phần chính của CNN Trong phân loại ảnh, đầu vào của lớp chập là một hoặc nhiều ma trận 2D (hoặc kênh), đầu ra là nhiều ma trận 2D Số lượng và kích thước ma trận đầu vào và đầu ra có thể khác nhau Quá trình tính toán một ma trận đầu ra duy nhất được định nghĩa như công thức (2.2) [7]:

Trang 26

C HƯƠNG 2 C Ơ SỞ LÝ THUYẾT

Trong quá trình học, CNN kết hợp các trọng số thành các kernel nhỏ hơn nhiều

so với kích thước của các lớp mạng giúp đơn giản hóa đáng kể mô hình học tập CNN nhanh hơn và mạnh hơn nhiều so với mạng neuron kết nối đầy đủ truyền thống nhờ

số lượng tham số huấn luyện thấp hơn và phép nhân chập trích xuất được các đặc trưng của ảnh hiệu quả hơn [7]

Trong đề tài phân loại tổn thương da, mỗi loại tổn thương da có đặc điểm rất

đa dạng và phức tạp Các công trình nghiên cứu trước đây cho thấy những mô hình mang tính học sâu cho kết quả tốt hơn hẳn so với các mạng đơn giản như LeNet hay AlexNet Vì vậy đề tài thực hiện nghiên cứu huấn luyện tập dữ diệu qua các mô hình CNN có độ học sâu cao, tiêu biểu như:

− Mô hình ResNet50

− Mô hình Inception-V1

− Mô hình ConvNeXt_Tiny

2.2.3 Mô hình Transformer

Hình 2.6 Tổng quan mô hình ViT

Mô hình Transformer được đề xuất bởi Vaswani và các cộng sự [9] ban đầu được sử dụng cho tác vụ xử lý ngôn ngữ tự nhiên (NLP) Nhờ sự thành công của mô hình Transformer trong NLP, Dosoviskiy và các cộng sự [10] đã dựa vào mô hình trước đó để thiết kế mô hình Vision Transformer (ViT) phục vụ tác vụ phân loại ảnh

Bộ giải mã Transformer (bao gồm multi-head attention)

Phép chiếu tuyến tính của các patch đã làm phẳng

Mã hóa

patch + vị trí

Phân loại

Trang 27

2.2.4 Hiện tượng overfitting

Mô hình không khái quát tốt từ dữ liệu đã biết đến dữ liệu chưa biết được gọi

là overfitting Do tồn tại tình trạng overfitting nên mô hình hoạt động rất tốt trên tập huấn luyện, trong khi đó lại kém phù hợp trên tập kiểm tra Điều này là do mô hình

đã bị trường hợp overfitting gây khó khăn trong việc xử lý các phần thông tin trong tập kiểm tra, có thể khác với thông tin trong tập huấn luyện Ngoài ra, các mô hình mắc phải overfitting có xu hướng ghi nhớ tất cả dữ liệu, bao gồm cả nhiễu không thể tránh khỏi trên tập huấn luyện, thay vì học các mối quan hệ và đặc trưng ẩn đằng sau

dữ liệu [11]

Nguyên nhân của hiện tượng này khá phức tạp Chủ yếu do mô hình học nhiễu trên tập huấn luyện: khi tập huấn luyện có kích thước quá nhỏ hoặc có ít dữ liệu đại diện hoặc quá nhiều yếu tố nhiễu Tình trạng này làm cho các yếu tố nhiễu có cơ hội lớn để được học và sau này đóng vai trò là cơ sở cho các dự đoán Vì vậy, một thuật toán hoạt động tốt sẽ có thể phân biệt được dữ liệu đại diện với dữ liệu nhiễu

Có một số cách có thể áp dụng để giảm hiện tượng overfitting Đối với bộ dữ liệu, giải pháp để giảm hiện tượng overfitting chính là sử dụng bộ dữ liệu lớn Đối với những bộ dữ nhỏ, ta có thể dụng phương pháp tăng cường dữ liệu hoặc thu thập thêm dữ liệu để làm tăng độ đa dạng và phong phú của dữ liệu Khi huấn luyện mô hình, các cách để giảm overfitting bao gồm sử dụng tập kiểm định, giảm thiểu kích thước mô hình, sử dụng drop out để giảm số lượng tham số huấn luyện, sử dụng phương pháp early stopping

Trang 28

C HƯƠNG 2 C Ơ SỞ LÝ THUYẾT

Số kernel ảnh hưởng đến số lượng tham số của mô hình Ở lớp tích chập, nếu

sử dụng 64 kernel thì sẽ tạo ra 64 bản đồ đặc trưng cho lớp tiếp theo Số kernel càng lớn thì số đặc trưng học được càng nhiều và kích thước mô hình càng lớn Tuy nhiên,

số kernel không phù hợp có thể dẫn tới học chưa đủ sâu hoặc overfitting

− Kích thước kernel:

Kích thước kernel ảnh hưởng đến đặc trưng học được của lớp tích chập Các kernel kích thước lớn làm tăng số lượng tham số mô hình mà độ phức tạp khi tính toán Các mô hình thường ưa chuộng kernel có kích thước nhỏ và là số chẵn như

3 × 3 và 5 × 5 do độ phức tạp thấp và tính đối xứng của kernel làm giảm thiểu sự méo mó giữa các lớp

− Số lớp:

Số lớp ảnh hưởng đến kích thước mô hình Mô hình càng nhiều lớp thì học càng nhiều tham số, độ phức tạp càng cao Nếu số lớp quá nhiều thì sẽ dễ dẫn tới hiện tượng overfitting

− Kích thước patch:

Kích thước patch (mô hình Transformer) quy định số lượng patch trong mô hình Thông số này ảnh hưởng trực tiếp đến việc tính toán điểm attention và kết quả phân loại cuối cùng Việc chọn kích thước patch phụ thuộc chủ yếu vào kích thước của ảnh đầu vào

− Số attention head:

Số attention head quy định số đặc điểm thông tin từ dữ liệu đầu vào, giúp mô hình học được các mối liên hệ phức tạp trong dữ liệu Thông số này ảnh hưởng đến kích thước và sự phức tạp của mô hình Transformer

− Hàm kích hoạt:

Hàm kích hoạt (hàm truyền) là các hàm được sử dụng trong mạng neuron để tính toán tổng trọng số của đầu vào và độ lệch, trong đó được sử dụng để quyết định xem một neuron có thể được kích hoạt hay không [12] Nó thao tác dữ liệu được trình bày thông qua một số xử lý độ dốc (thường là giảm độ dốc – gradient descent) và sau

đó tạo ra đầu ra cho mạng thần kinh, chứa các tham số trong dữ liệu

Một số hàm kích hoạt phổ biến có thể kể đến như:

Hàm Sigmoid:

Trang 29

C HƯƠNG 2 C Ơ SỞ LÝ THUYẾT

𝑓(𝑥) = 1

Hình 2.7 Đồ thị hàm Sigmoid Hàm ReLU:

Hình 2.8 Đồ thị hàm ReLU Hàm Leaky ReLU:

với a là một số thực dương nhỏ hơn 1

Hình 2.9 Đồ thị hàm Leaky ReLU

Trang 30

𝑓(𝑥𝑖) = 𝑒

∑𝑘 𝑒𝑥𝑗 𝑗=1

với k là số phân loại của đầu ra mô hình

Các hàm kích hoạt kể trên (trừ Softmax) được dùng trong các lớp ẩn của mạng neuron Đối với hàm Softmax, nó thường được dùng ở lớp đầu ra (lớp kết nối đầy đủ cuối cùng) và ở cuối lớp attention (mô hình Transform)

− Hàm tối ưu:

Hàm tối ưu là thuật toán để mô hình học được các đặc điểm của dữ liệu đầu vào, từ đó tính ra được các trọng số và bias phù hợp để tối ưu hóa mô hình

− Tỷ lệ drop out:

Drop out cho phép mô hình bỏ qua một lượng nút trong lớp neuron trong mạng

Tỷ lệ số lượng nút được bỏ qua trong lớp neuron tương ứng với tỷ lệ drop out Điều này làm giảm kích thước mô hình và góp phần giảm hiện tượng overfitting Nếu tỷ lệ drop out quá lớn thì hiệu suất học của mô hình sẽ kém hiệu quả

− Tốc độ học:

Tốc độ học là tham số điều chỉnh hàm tối ưu để xác định bước đi trong mỗi vòng lặp khi di chuyển về giá trị nhỏ nhất của hàm mất mát Độ lớn của tốc độ học ảnh hưởng đến tốc độ hội tụ của hàm mất mát đến giá trị cực tiểu toàn cục Nếu tốc

độ học quá lớn, mô hình có thể bỏ qua điểm cực tiểu Nếu tốc độ học quá nhỏ, mô

Trang 31

− Số epoch:

Số epoch là số lần mô hình xử lý toàn bộ tập dữ liệu để cập nhật trọng số Trong một mô hình học hiệu quả, trải qua từng epoch thì kết quả hàm mất mát sẽ giảm dần và hội tụ về giá trị thấp nhất Độ chính xác cũng tăng dần và hội tụ Nếu số epoch quá nhỏ sẽ dẫn đến hiện tượng underfitting Ngược lại số epoch quá lớn có thể dẫn đến overfitting

2.3 Các công cụ thực hiện xây dựng mô hình máy học

2.3.1 Python 3

Python là ngôn ngữ lập trình bậc cao được sử dụng ở nhiều ứng dụng và được phát hành vào năm 1991 Python hỗ trợ nhiều mô hình lập trình, bao gồm lập trình cấu trúc, hướng đối tượng và functional Những ứng dụng mà Python được sử dụng phổ biến như thiết kế ứng dụng, thiết kế web, trí tuệ nhân tạo, xử lý dữ liệu, đặc biệt

là xử lý dữ liệu lớn và các phép toán phức tạp So với các ngôn ngữ lập trình khác, Python có thiết kế dễ đọc, câu lệnh đơn giản và việc sử dụng thụt lề để xác định phạm

vi câu lệnh làm cho việc viết chương trình đơn giản hơn, mặc dù tốc độ biên dịch có phần chậm hơn

Trang 32

C HƯƠNG 2 C Ơ SỞ LÝ THUYẾT

Các mô hình máy học ngày nay chủ yếu được viết bởi ngôn ngữ lập trình Python Nhiều thư viện, module được viết để sử dụng trên ngôn ngữ này Ngoài ra, Python có một cộng đồng người dùng lớn, giúp trao đổi học hỏi và tạo điều kiện phát triển các dự án Phiên bản Python 3 có nhiều ưu điểm so với các phiên bản trước bao gồm cú pháp rõ ràng và dễ đọc hơn, hiệu suất được cải thiện và phép chia luôn đưa

ra kết quả kiểu số thực Trong đề tài được thực hiện, phiên bản Python được sử dụng

là Python 3.10

2.3.2 TensorFlow

TensorFlow là một nền tảng/hệ sinh thái toàn diện giúp cả người mới bắt đầu

và các chuyên gia dễ dàng xây dựng và triển khai các mô hình máy học Tensor (Hình 2.13) là sự tổng quát hóa của vector và ma trận thành các chiều có thể cao hơn, cũng

là một phần cơ bản của TensorFlow Về mặt nội bộ, TensorFlow biểu thị các tensor dưới dạng mảng n chiều của các kiểu dữ liệu cơ sở [13] Chúng là những đối tượng chính được truyền đi khắp nơi và thao tác trong suốt chương trình Mỗi tensor đại diện cho một phép tính được xác định một phần mà cuối cùng sẽ tạo ra một giá trị

Hình 2.12 Logo TensorFlow Các chương trình TensorFlow hoạt động bằng cách xây dựng một biểu đồ các đối tượng tensor mô tả chi tiết mối liên hệ của các tensor Việc chạy các phần khác nhau của biểu đồ đó cho phép tạo ra kết quả

Hình 2.13 Minh họa tensor 3 chiều (kích thước [3, 2, 5])

Trang 33

C HƯƠNG 2 C Ơ SỞ LÝ THUYẾT

TensorFlow cung cấp nhiều cấp độ trừu tượng để người dùng chọn cấp độ phù

hợp với nhu cầu Xây dựng và đào tạo các mô hình bằng cách sử dụng API cấp cao

Keras giúp việc bắt đầu với TensorFlow và machine learning trở nên dễ dàng Trong

đề tài này, phiên bản TensorFlow được sử dụng là phiên bản 2.16.x

2.3.3 Google Colab

Google Colab là môi trường phát triển Python được tạo bởi Google, dựa trên

nền tảng mã nguồn mở Jupyter notebook chạy trong trình duyệt sử dụng Google

Cloud Với nhiều đặc điểm vượt trội, Colab là một công cụ hữu ích để thực hiện viết,

chạy và lưu trữ các dự án huấn luyện các mô hình máy học

Hình 2.14 Logo Google Colab Colab không yêu cầu thiết lập trên máy tính người dùng mà hoạt động trên tài

nguyên máy chủ của Google, giúp việc thực thi chương trình nhanh hơn so với trên

máy tính có tài nguyên phần cứng nhỏ Nó cũng cung cấp một lượng lớn sức mạnh

tính toán miễn phí và chia sẻ tài liệu dễ dàng, file chương trình được lưu dưới dạng

file Jupyter và được lưu trong Google Drive Đồng thời máy chủ của Colab cũng được

cài đặt sẵn nhiều thư viện, module đa dạng như TensorFlow, openCV…

Trang 34

C HƯƠNG 3 T ÍNH TOÁN VÀ XÂY DỰNG MÔ HÌNH

CHƯƠNG 3 TÍNH TOÁN VÀ XÂY DỰNG MÔ HÌNH

Trong chương này đề tài tập trung tiến hành giải quyết những vấn đề nhằm phát hiện và phân loại tổn thương da thông qua mô hình huấn luyện máy học Tiến hành

vẽ sơ đồ khối cho từng giai đoạn của mô hình huấn luyện Đề tài tập trung nghiên cứu 4 mô hình lần lượt là: Inception-V1, ResNet50, ConvNeXt_Tiny và Vision Transformer và đánh giá hiệu quả của từng mô hình đối với tập dữ liệu thu thập được Thông qua các phương pháp đánh giá thu về các số liệu chính xác và khách quan để đưa ra nhận xét cho từng mô hình

3.1 Sơ đồ khối các bước thực hiện huấn luyện phân loại tổn thương da

Mô hình phát hiện và phân loại các tổn thương da với đầu ra là kết quả dự đoán phân loại sau quá trình huấn luyện Sơ đồ khối tổng quát được thể hiện như Hình 3.1

Hình 3.1 Sơ đồ khối các bước thực hiện phân loại tổn thương da

Khối đầu vào: Sử dụng tập dữ liệu ảnh từ bộ dữ liệu ảnh HAM10000 của tập

đoàn ViDIR, Khoa Da liễu, Đại học Y Vienna, Áo [3]

Khối tiền xử lý: Chuẩn hóa hình ảnh đầu vào bao gồm điều chỉnh kích thước

ảnh, điều chỉnh giá trị pixel, tăng cường hình ảnh đầu vào và phân đoạn hình ảnh

Khối huấn luyện: Sử dụng một trong bốn mô hình máy học lần lượt là

Inception-V1, ResNet50, ConvNeXt_Tiny và Vision Transformer

Khối đầu ra: Kết quả phát hiện, phân loại tổn thương da sau quá trình huấn

luyện

3.2 Tập dữ liệu

Tập dữ liệu lọc từ bộ dữ liệu ảnh HAM10000 của tập đoàn ViDIR, Khoa Da liễu, Đại học Y Vienna, Áo [3] Bộ dữ liệu này gồm 10015 hình ảnh định dạng JPEG

có kích thước 650400 Sau khi lọc, ta được tập dữ liệu mới gồm 3 phân loại tương

Trang 35

C HƯƠNG 3 T ÍNH TOÁN VÀ XÂY DỰNG MÔ HÌNH

ứng với 3 tổn thương da đã khảo sát Tập dữ liệu với nhiều chủng loại da, được xử lý, phát hành dưới dạng tập huấn luyện và được cung cấp công khai thông qua kho lưu trữ ISIC (The Internatuonal Skin Image Collaboration) Các trường hợp tổn thương

da đã được xác nhận bằng bệnh lý bởi các chuyên da trong quá trình theo dõi Sau khi lọc, ta được tập dữ liệu mới gồm 3 phân loại tương ứng với 3 tổn thương

da đã khảo sát (Bảng 3.1) bao gồm: Ung thư biểu mô tế bào đáy (bcc), ung thư hắc tố

ác tính (mel) và tổn thương mạch máu (vasc)

Bảng 3.1 Thống kê dữ liệu phân loại trong tập dữ liệu

Mô tả hình ảnh Tổn thương da trên cơ thể người

Hình 3.2 Biểu đồ thống kê số lượng từng loại tổn thương của tập dữ liệu

3.3 Tiền xử lý dữ liệu

3.3.1 Chuẩn hóa dữ liệu

Tập dữ liệu có kích thước mỗi ảnh là 600×450 Để giảm khối lượng tính toán đảm bảo chương trình hoạt động hiệu quả, chúng ta cần giảm kích thước cho tất cả ảnh đầu vào Bên cạnh đó, việc giảm kích thước ảnh đầu vào giúp tiết kiệm thời gian trong quá trình học Trong đề tài này, tập dữ liệu sẽ được điều chỉnh kích thước thành

514

1113

142

0 200 400 600 800 1000 1200

Trang 36

C HƯƠNG 3 T ÍNH TOÁN VÀ XÂY DỰNG MÔ HÌNH

chuẩn hóa dữ liệu Chuẩn hóa dữ liệu là việc scale dữ liệu về khoảng giá trị từ 0 đến

1 bằng cách chia cho 255 Việc chuẩn hóa sẽ giúp cải thiện các thuật toán trong quá trình học máy

Hình 3.3 Biểu đồ thống kê số lượng từng loại tổn thương trên mỗi tập dữ liệu con

3.3.3 Tăng cường dữ liệu

Việc tăng cường dữ liệu hình ảnh trước khi huấn luyện là cần thiết để đảm bảo

mô hình hoạt động hiệu quả Đối với các bộ dữ liệu bị mất cân bằng, việc tăng cường hình ảnh sẽ phân bổ dữ liệu đều cho tất cả phân loại, giúp cải thiện kết quả huấn luyện

mô hình Các phương pháp tăng cường được sử dụng bao gồm xoay ảnh, lật ảnh, phóng to và điều chỉnh độ sáng

Xoay ảnh là phương pháp quay một bức ảnh theo một góc bất kỳ quanh một điểm cố định Phép xoay ảnh tương ứng với một góc 𝜃 đạt được bằng một ma trận dịch chuyển M như phương trình (3.1):

359

78 77

779

167 167 99

22 21

0 100 200 300 400 500 600 700 800 900

Trang 37

C HƯƠNG 3 T ÍNH TOÁN VÀ XÂY DỰNG MÔ HÌNH

𝑀 = (cos (𝜃) −sin (𝜃)

Lật ảnh là phương pháp thay đổi hình ảnh bằng cách lật theo chiều ngang hoặc chiều dọc Phương trình (3.2) và (3.3) là hai phương trình lần lượt dùng để lật ảnh theo chiều ngang và theo chiều dọc đối với ảnh là ma trận có M cột và N hàng

Điều chỉnh độ sáng là phương pháp tăng cường hình ảnh bằng cách tăng giảm

độ sáng cho ảnh để được nhiều ảnh có độ sáng khác nhau Phương trình điều chỉnh

độ sáng cho ảnh I với ma trận điều chỉnh độ sáng B có mọi phần tử bằng b như phương trình (3.4):

Trang 38

C HƯƠNG 3 T ÍNH TOÁN VÀ XÂY DỰNG MÔ HÌNH

3.3.4 Phân đoạn hình ảnh

Ở nhiệm vụ phân đoạn tổn thương da, đề tài đã sử dụng mô hình phân đoạn Bi-Directional ConvLSTM U-Net (BCDU-Net) dựa trên nền tảng U-Net do Reza Azad và các cộng sự đề xuất [14] Tập dữ liệu cho mô hình này được lấy từ bộ dữ liệu ISIC 2018 [3] bao gồm 3694 ảnh tổn thương da và 3694 mặt nạ groundtruth phân đoạn vùng tổn thương Trong đó, tập huấn luyện bao gồm 2594, tập kiểm định gồm

100 và tập kiểm tra gồm 1000 cho mỗi dữ liệu ảnh và mặt nạ groundtruth

a) Hình ảnh tổn thương da b) Groundtruth phân đoạn vùng tổn thương

Hình 3.5 Dữ liệu đầu vào mô hình phân đoạn tổn thương da

Hình 3.6 Kiến trúc mô hình BCDU-Net [14]

Kiến trúc mô hình BCDU-Net được thể hiện qua Hình 3.6, bao gồm nhiều lớp tích chập, max pooling, lớp tích chập hồi quy (ConvLSTM), chuẩn hóa batch Các lớp dữ liệu được liên kết đối xứng với nhau theo các cặp có cùng kích thước Lớp tích chập cuối cùng sử dụng hàm kích hoạt sigmoid thể hiện khả năng của từng điểm ảnh

Trang 39

C HƯƠNG 3 T ÍNH TOÁN VÀ XÂY DỰNG MÔ HÌNH

thuộc vùng tổn thương Ảnh đầu ra là ảnh 1 kênh có kích thước giống với ảnh đầu vào và điểm ảnh có giá trị từ 0 đến 1

Trong nghiên cứu của Reza Azad và các cộng sự [14], mô hình được đề xuất huấn luyện với tập dữ liệu gồm 2594 ảnh (70% cho huấn luyện, 10% cho kiểm định

và 20% cho kiểm tra) cho kết quả tốt hơn so với các mô hình phân đoạn khác Cụ thể, BCDU-Net cho thấy kết quả vượt trội so với các mô hình U-Net, Attention U-Net, R2U-Net và Attention R2U-Net, với độ chính xác cao hơn đến 3,3% (tham khảo mục

1 phần Phụ lục)

Đối với tập dữ liệu 3694 ảnh, đề tài thực hiện xử lý qua mô hình BCDU-Net cho ra kết quả tập kiểm tra như Bảng 3.2 bên dưới:

Bảng 3.2 Kết quả phân đoạn với tập dữ liệu 3694 ảnh

Trang 40

C HƯƠNG 3 T ÍNH TOÁN VÀ XÂY DỰNG MÔ HÌNH

Sau khi thực hiện huấn luyện và cho dữ liệu hình ảnh vào mô hình, kết quả vẫn là ảnh xám, chưa phải là nhị phân Vì vậy cần tiếp tục phân đoạn ngưỡng để kết quả phân đoạn vùng tổn thương cuối cùng là ảnh nhị phân giống groundtruth Bằng cách chọn ngưỡng là 0.5, tương đương những điểm ảnh có xác suất từ 50% theo mô hình thuộc vùng tổn thương được cho thành 1, còn lại được cho thành 0 Kết quả sau cùng được ảnh nhị phân gần giống với groundtruth (Hình 3.7)

3.4 Xây dựng mô hình

3.4.1 Mô hình Inception

Trong đề tài này, mô hình Inception được khảo sát là phiên bản Inception-V1

Đề tài sẽ tiến hành xây dựng lại mô hình Inception-V1 và huấn luyện với bộ dữ liệu

đã tiền xử lý như đã nhắc ở phần trước Sau đó tiến hành huấn luyện đồng thời thay đổi các thông số như tốc độ học, kích thước batch để đem lại kết quả tốt nhất

Kiến trúc mô hình Inception-V1 được Christian Szegedy và cộng sự giới thiệu vào năm 2014 trong một nghiên cứu tại Hội nghị IEEE về thị giác máy tính và nhận dạng mẫu [15] Trong kiến trúc này, mô hình Inception-V1 được xây dựng từ 9 khối Inception, gồm nhiều bộ lọc tích chập có kích thước khác nhau như 1x1, 3x3 và 5x5

Ở giữa các khối Inception là các khối MaxPool giúp giảm kích thước chiều từ đó giúp giảm tham số cho mô hình trong quá trình huấn luyện Ngoài ra, sau khối inception cuối cùng, phép gộp trung bình toàn cục (Global AveragePool) giúp kết nối dữ liệu lại với nhau mà không cần phải sử dụng nhiều tầng kết nối đầy đủ liên tiếp ở cuối

Các khối inception là thành phần chính trong mô hình Thay vì phải lựa chọn kích thước bộ lọc thì khối inception có chứa các bộ lọc có kích thước khác nhau Các

bộ lọc sẽ lần lượt trượt trên dữ liệu để trích xuất ra các vùng thông tin với kích thước khác nhau Điều này sẽ giúp thu được các vùng thông tin với nhiều đặc trưng nhằm giúp mô hình phân loại hiệu quả hơn Ngoài ra, việc thực hiện các tầng tích chập 1×1 lên dữ liệu đầu vào sẽ giúp giảm số lượng kênh đầu vào, từ đó làm giảm độ phức tạp cho mô hình

Ngày đăng: 19/12/2024, 11:23

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

TÀI LIỆU LIÊN QUAN