− Tập dữ liệu Bệnh viện Montgomery và Bệnh viện Shenzhen và tập dữ liệu Chest Ray Images Pneumonia được sử dụng để phân đoạn vùng phổi trái và phải.. − Sử dụng mô hình mạng nơ-ron CNN Co
Trang 1BỘ 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
ỨNG DỤNG XỬ LÝ ẢNH VÀ AI ĐỂ
NHẬN BIẾT BỆNH VIÊM PHỔI Ở
TRẺ EM
GVHD: Ngô Bá Việt SVTH: Ngô Thị Anh Thư MSSV:16129070
SVTH: Phạm Thiên Vương MSSV:16129085
SKL007337
Tp Hồ Chí Minh, tháng 08/2020
Trang 2BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
TRẺ EM
GVHD: ThS Ngô Bá Việt SVTH1: Ngô Thị Anh Thư MSSV1: 16129070
SVTH2: Phạm Thiên Vương MSSV2: 16129085
Trang 3BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
TRẺ EM
GVHD: ThS Ngô Bá Việt SVTH1: Ngô Thị Anh Thư MSSV1: 16129070
SVTH2: Phạm Thiên Vương MSSV2: 16129085
Trang 4Tp Hồ Chí Minh - 08/2020
Trang 5TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Hệ đào tạo: Đại học chính quy Mã hệ: 1
− Phần mềm huấn luyện: IDLE Python 3.5, Anaconda, Google Colab
− Tập dữ liệu Bệnh viện Montgomery và Bệnh viện Shenzhen và tập dữ liệu Chest Ray Images (Pneumonia) được sử dụng để phân đoạn vùng phổi trái và phải
X-− Sử dụng kiến trúc mô hình mạng U-Net để phân đoạn và trích xuất vùng phổi trái và phải
− Sử dụng mô hình mạng nơ-ron CNN (Convolutional Neural Networks) để trích xuấtđặc trưng và phân loại bệnh dựa trên tập dữ liệu vùng phổi đã được phân đoạn
− Thiết kế giao diện ứng dụng bằng PyQt5 với sự hỗ trợ của công cụ Qt Designing
2 Nội dung thực hiện:
− Tìm hiểu về mạng nơ-ron CNN (Convolutional Neural Networks)
− Xây dựng ba tập dữ liệu bao gồm: tập huấn luyện, tập xác nhận và tập thử nghiệm
(training, validation và testing)
− Thực hiện việc tách phổi trái và phải ra khỏi ảnh nhằm giảm thông tin nhiễu
i
Trang 6− Tiến hành xây dựng mô hình CNNs cho bài toán phân loại ảnh.
− Chạy thử nghiệm, chỉnh sửa và hoàn thiện hệ thống
− Đánh giá hệ thống đã huấn luyện
− Thiết kế giao diện hoạt động của hệ thống
− Thực hiện viết báo cáo đề tài
− Tiến hành báo cáo trước hội đồng
III NGÀY GIAO NHIỆM VỤ: 02/03/2020
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 04/08/2020
V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Ngô Bá Việt
Trang 7TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Tên đề tài: Ứng dụng xử lý ảnh và AI để nhận biết bệnh viêm phổi ở trẻ em
GVHD
Tuần 1 - Gặp GVHD để nghe phổ biến yêu cầu làm đồ
án, tiến hành chọn đồ án và viết đề cương tóm tắt(2/3 - 8/3)
yêu cầu đề tài đã chọn
(30/3 - 5/4) - Tiến hành xây dựng mô hình CNNs cho bài
Tuần 6 toán phân loại ảnh
(6/4 - 12/4) - Chỉnh sửa và hoàn thiện chương trình huấn
(27/4 - 3/5) - Tiến hành huấn luyện mô hình CNNs cho bài
Tuần 10 toán phân loại ảnh
Trang 820/5/2020.
Trang 9(22/6 - 28/6) - Chạy thử nghiệm, chỉnh sửa, hoàn thiện và
Tuần 18 đánh giá toàn hệ thống
(29/6 - 5/7)
Tuần 19
(6/7 - 12/7) - Viết báo cáo, quyển tóm tắt, làm slide báo cáo,
Tuần 20 thiết kế poster A5
(13/7 - 19/7)
Tuần 21 - Hoàn thiện báo cáo và gửi cho GVHD để xem
(20/7 - 26/7) xét góp ý lần cuối trước khi in và báo cáo
Tuần 21 - Báo cáo trước GVHD và nộp quyển báo cáo Đồ
(27/7 - 2/8) án tốt nghiệp
GV HƯỚNG DẪN(Ký và ghi rõ họ và tên)
Trang 10iv
Trang 11LỜI CAM ĐOAN
Đề tài này là do nhóm tự thực hiện dựa vào một số tài liệu có sẵn dưới sự hướng dẫncủa thầy hướng dẫn Th.S Ngô Bá Việt và không sao chép từ tài liệu hay công trình đã cótrước đó Nếu phát hiện gian dối nhóm sẽ hoàn toàn chịu trách nhiệm
Người thực hiện đề tài
Ngô Thị Anh Thư – Phạm Thiên Vương
v
Trang 12LỜI CẢM ƠN
Chúng em xin gửi lời cảm ơn sâu sắc đến Thầy Ngô Bá Việt-Giảng viên bộmôn Điện Tử Công Nghiệp-Y Sinh, đã trực tiếp hướng dẫn và tận tình giúp đỡ, chia sẻnhiều kinh nghiệm quý báu cho chúng em thực hiện tốt đề tài
Chúng em xin gửi lời chân thành cảm ơn các thầy cô trong Khoa Điện-Điện Tửnói chung, các thầy cô bộ môn Điện Tử Công Nghiệp-Y Sinh nói riêng đã giúp chúng
em có được cơ sở lý thuyết vững vàng và tạo những điều kiện tốt nhất cho chúng emhoàn thành đề tài
Chúng em cũng gửi lời đồng cảm ơn đến các bạn lớp 161290 đã chia sẻ trao đổikiến thức cũng như những kinh nghiệm quý báu trong thời gian thực hiện đề tài
Cuối cùng, xin cảm ơn đến cha mẹ, những đấng sinh thành đã luôn tạo điềukiện, quan tâm, chăm sóc, giúp đỡ, động viên chúng em trong suốt quá trình học tập vàhoàn thành khoá luận tốt nghiệp
Xin chân thành cảm ơn!
Người thực hiện đề tài
Ngô Thị Anh Thư – Phạm Thiên Vương
Trang 13MỤC LỤC
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i
LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP iii
LỜI CAM ĐOAN v
LỜI CẢM ƠN vi
MỤC LỤC vii
LIỆT KÊ HÌNH VẼ x
LIỆT KÊ BẢNG xiii
BẢNG LIỆT KÊ TỪ VIẾT TẮT xiv
TÓM TẮT xvi
Chương 1 TỔNG QUAN 1
1.1 ĐẶT VẤN ĐỀ 1
1.2 MỤC TIÊU 4
1.3 NỘI DUNG NGHIÊN CỨU 5
1.4 GIỚI HẠN 5
1.5 BỐ CỤC 5
Chương 2 CƠ SỞ LÝ THUYẾT 7
2.1 MÔ TẢ VỀ BỆNH VIÊM PHỔI 7
2.1.1 Khái quát về viêm phổi 7
2.1.2 Bệnh viêm phổi do vi-rút 7
2.1.3 Bệnh viêm phổi do vi khuẩn 8
2.2 CÁC PHƯƠNG PHÁP XỬ LÝ ẢNH SỬ DỤNG 9
2.2.1 Điểm ảnh lân cận 9
2.2.2 Lọc nhiễu 10
2.2.3 Phân đoạn ảnh 10
2.3 MẠNG NƠ-RON TÍCH CHẬP 11
2.3.1 Lớp tích chập 12
2.3.2 Lớp Pooling 14
2.3.3 Lớp kết nối đầy đủ 15
2.3.4 Hàm kích hoạt 15
2.3.5 Hàm mất mát 16
vii
Trang 142.4 KIẾN TRÚC MẠNG U-NET 17
2.4.1 Giới thiệu 17
2.4.2 Xây dựng kiến trúc mạng U-Net 17
2.5 TIÊU CHUẨN VỀ TRÍ TUỆ NHÂN TẠO 19
2.6 HỆ THỐNG RFID 20
2.6.1 Giới thiệu công nghệ RFID 20
2.6.2 Giới thiệu về phần cứng 20
CHƯƠNG 3 XÂY DỰNG HỆ THỐNG NHẬN DIỆN BỆNH VIÊM PHỔI Ở TRẺ EM 24
3.1 GIỚI THIỆU 24
3.2 SƠ ĐỒ KHỐI TOÀN HỆ THỐNG NHẬN DIỆN BỆNH VIÊM PHỔI Ở TRẺ EM 24 3.3 PHƯƠNG PHÁP PHÂN ĐOẠN PHỔI 26
3.3.1 Ứng dụng phương pháp U-Net vào quá trình phân đoạn phổi 26
3.3.2 Tập dữ liệu 26
3.3.3 Xây dựng mô hình phân đoạn ảnh X-quang phổi 27
3.3.4 Lọc ảnh X-quang phổi 30
3.4 XÂY DỰNG MÔ HÌNH HUẤN LUYỆN PHÂN LOẠI BỆNH 32
3.4.1 Xây dựng mô hình phân loại có bệnh hay không có bệnh 32
3.4.2 Xây dựng mô hình phân loại các bệnh về phổi 34
3.5 PHÂN TÍCH ĐÁNH GIÁ MẠNG HUẤN LUYỆN 35
3.6 THIẾT KẾ GIAO DIỆN QUẢN LÝ DỮ LIỆU BỆNH NHÂN VÀ HỆ THỐNG PHÂN LOẠI BỆNH VIÊM PHỔI 38
3.6.1 Giới thiệu phần mềm 38
3.6.2 Thiết kế giao diện 39
3.6.3 Phần mềm DB Browser for SQlite 40
3.6.4 Thiết kế hệ thống RFID 43
Chương 4 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 44
4.1 GIỚI THIỆU 44
4.2 KẾT QUẢ ĐẠT ĐƯỢC 44
4.2.1 Kết quả phân đoạn phổi 44
Trang 154.1.3 Giao diện hệ thống nhận diện và phân loại bệnh viêm phổi 49
4.1.4 Bộ đọc RFID 51
4.2 KẾT QUẢ THỰC NGHIỆM 52
4.3 HƯỚNG DẪN SỬ DỤNG HỆ THỐNG NHẬN DIỆN VIÊM PHỔI 55
Chương 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 61
5.1 KẾT LUẬN 61
5.2 HƯỚNG PHÁT TRIỂN 61
TÀI LIỆU THAM KHẢO 63
PHỤ LỤC 67
ix
Trang 16LIỆT KÊ HÌNH VẼ
Hình 2.1 Ảnh chụp X-quang biểu hiện bệnh viêm phổi do vi-rút 8
Hình 2.2 Ảnh chụp X-quang biểu hiện bệnh viêm phổi do phế cầu 8
Hình 2.3 Các lân cận của điểm ảnh 9
Hình 2.4 Phương pháp lấy ngưỡng 10
Hình 2.5 Mô tả các lớp trong mô hình Convolutional neural network 12
Hình 2.6 Minh hoạ về stride: Khi stride là 1 thì ma trận đặc trưng có kích thước 3x3 và khi stride là 2 thì ma trận đặc trưng có kích thước 2x2 13
Hình 2.7 Khối đầu vào khi được đệm các bit 0 với padding là 2 14
Hình 2.8 Minh hoạ cho kiểu padding là 1 14
Hình 2.9 Mô tả hai loại lớp tổng hợp là max pooling và average pooling 15
Hình 2.10 Mạng nơ-ron đầy đủ chứa lớp kết nối đầy đủ FC ở cuối 15
Hình 2.11 Phân đoạn ảnh là có thể tách hình ảnh thành hai đoạn bao gồm con mèo và nền 17
Hình 2.12 Ví dụ mô tả kiến trúc mạng lưới U-Net 18
Hình 2.13 Module RFID MFRC522 21
Hình 2.14 Thẻ thụ động 22
Hình 2.15 Thẻ chủ động 22
Hình 2.16 Thẻ Tag bán tích cực 22
Hình 2.17 Bo mạch Arduino UNO R3 23
Hình 3.1 Sơ đồ khối hệ thống nhận diện và phân loại 24
Hình 3.2 Sơ đồ khối hệ thống quản lý dữ liệu bệnh nhân 25
Hình 3.3 Sơ đồ khối tổng quát quá trình phân đoạn phổi 27
Hình 3.4 Kiến trúc U-Net của khối phân đoạn phổi 29
Hình 3.5 Quá trình huấn luyện của mạng U-Net 30
Hình 3.6 Các thành phần không mong muốn còn sót trên ảnh đã phân đoạn 30
Hình 3.7 Lưu đồ quy trình giảm nhiễu cho ảnh 31
Hình 3.8 Mô hình mạng CNN để phân loại có bệnh hay không có bệnh 33
Trang 17Hình 3.11 Mô tả cách tính Precision và Recall 37
Hình 3.12 Cửa sổ bắt đầu của công cụ hỗ trợ xây dựng GUI - Qt Designer 39
Hình 3.13 Công cụ có khung thiết kế, khối tiện ích, khối cài đặt giá trị và các khối hỗ trợ khác 40
Hình 3.14 Màn hình ban đầu của DB Browser 40
Hình 3.15 Các tab 'Database Structure' và 'DB Schema' khi mở cơ sở dữ liệu 41
Hình 3.16 Tập hợp các thao tác trong 'Database Structure' 41
Hình 3.17 Khởi tạo cơ sở dữ liệu mới 42
Hình 3.18 Khởi tạo các trường dữ liệu cần thiết 42
Hình 3.19 Thêm thông tin vào cơ sở dữ liệu và lưu lại 42
Hình 3.20 Sơ đồ kết nối giữa Arduino và module RC522 43
Hình 4.1 Tập dữ liệu ảnh X-quang đã được phân đoạn chỉ còn 2 lá phổi 44
Hình 4.2 Hình ảnh sau khi được xử lý các thành phần không mong muốn 45
Hình 4.3 Đồ thị độ chính xác và độ lỗi của tập dữ liệu train và tập dữ liệu val 46
Hình 4.4 Ma trận nhầm lẫn với hai ngỏ dự đoán 46
Hình 4.5 Ma trận nhầm lẫn với ba ngỏ dự đoán 48
Hình 4.6 Giao diện “Dữ liệu bệnh nhân”, nơi cập nhật, lưu trữ và truy xuất dữ liệu 49 Hình 4.7 Giao diện “Hệ thống nhận diện và phân loại bệnh viêm phổi ở trẻ em”, nơi chẩn đoán bệnh và xuất kết quả trực tiếp 50
Hình 4.8 Giao diện hoàn chỉnh nhận diện và phân loại hình ảnh phổi bình thường với hình thức “Chẩn đoán thông thường” 50
Hình 4.9 Giao diện hoàn chỉnh nhận diện và phân loại hình ảnh phổi mắc bệnh viêm phổi với hình thức “Chẩn đoán thông thường” 51
Hình 4.10 Giao diện hoàn chỉnh nhận diện và phân loại hình ảnh phổi mắc bệnh viêm phổi với hình thức “Chẩn đoán chuyên sâu” 51
Hình 4.11 Sản phẩm sau khi hoàn thành cho bộ đọc thẻ RFID kết nối với máy tính 52 Hình 4.12 Các cửa sổ giao diện mở đầu sau khi khởi động chương trình 55
Hình 4.13 Thứ tự các bước để đăng ký thông tin bệnh nhân mới 56
Hình 4.14 Hình ảnh nói lên việc đăng ký thông tin thành công sau khi đã quét ID 56
Hình 4.15 Nhấn vào nút “Cập nhật” để hiển thị dữ liệu lên giao diện 57
xi
Trang 18Hình 4.16 Giao diện hoàn chỉnh nhận diện và phân loại hình ảnh phổi bình thường
với hình thức “Chẩn đoán thông thường” 57
Hình 4.17 Các bước để lưu kết quả vào dữ liệu bệnh nhân 58
Hình 4.18 Kết quả được cập nhật vào bảng dữ liệu bệnh nhân 58
Hình 4.19 Xem hình ảnh trong “Kho hình ảnh chẩn đoán” 59
Hình 4.20 Hình ảnh nhận được sau khi quét ID để tìm kiếm thông tin 59
Hình 4.21 Phiếu thông tin bệnh án bệnh nhân với đầy đủ các thông tin 59
Hình 4.22 Thông tin về kết quả chẩn đoán của bệnh nhân hiện ra khi nhấp vào ô “Kết quả chẩn đoán” 60
Trang 19LIỆT KÊ BẢNG
Bảng 2.1: Một số hàm kích hoạt thông dụng 16
Bảng 3.1: Bảng mô tả cách thức của phương pháp True/False-Positive/Negative dựa trên ma trận nhầm lẫn chưa chuẩn hóa 36
Bảng 3.2: Kết nối tương ứng giữa Arduino UNO và module RC522 43
Bảng 4.1: Thống kê kết quả thử nghiệm 20 hình ảnh phổi bình thường 52
Bảng 4.2: Thống kê kết quả thử nghiệm 20 hình ảnh mắc bệnh viêm phổi 53
xiii
Trang 20BẢNG LIỆT KÊ TỪ VIẾT TẮT
Trang 21GUI Graphical User Interface
IDE Integrated Development Environment
UIC User Interface Compiler
xiv
Trang 22NIH National Institutes of Health
GPU Graphics Processing Unit
RFID Radio Frequency Identification
Trang 23Sau đó, xây dựng mô hình huấn luyện CNN để nhận diện-phân loại bệnh viêmphổi với tập dữ liệu huấn luyện được sử dụng là Chest X-Ray Images (Pneumonia) đãqua phân đoạn phổi Khả năng nhận diện có bệnh hay không có bệnh đạt độ chính xácgần 93% trên tập train Độ chính xác Accuracy của toàn tập test đạt 92.9%, đảm bảoyêu cầu đã đặt ra cho hệ thống Trong đó, kết quả dự đoán đúng của tập NORMAL là293/317 ảnh tức đạt 92.42% và tập PNEUMONIA là 796/855 đạt 93.09% Về khảnăng phân loại viêm phổi do vi-rút và vi khuẩn, độ chính xác trên toàn tập test đạt81.89%, trong đó, kết quả dự đoán đúng của tập NORMAL là 182/234 ảnh tức đạt77.77%, tập BACTERIA là 236/242 đạt 97.52%, và tập VIRUS là 93/148 đạt 62.83%.Nhìn chung đối với chẩn đoán 3 ngõ ra kết quả tuy không cao, nhưng vẫn đáp ứngđược tính tham khảo của đề tài.
Cuối cùng, nhóm đã hoàn thành giao diện nhận diện-phân loại được thiết kếnhờ giao diện của Python - PyQt5 cùng sự hỗ trợ của công cụ Qt Designer, với đa chứcnăng thực tế, kết hợp giữa RFID kết nối cơ sở dữ liệu bệnh nhân với việc chẩn đoán
xvi
Trang 24lý nghiêm ngặt để bảo đảm sức khỏe cho con người, giúp cho cuộc sống con người trởnên an toàn và chất lượng hơn Nhưng tình trạng chung diễn ra ở các bệnh viện hiệnnay là sự quá tải bệnh nhân, dẫn đến chất lượng khám và chữa trị không được chu đáo
và chính xác nhất Đặc biệt là căn bệnh viêm phổi, trong đó trẻ em là đối tượng dễ bịtổn thương nhất
Viêm phổi là bệnh nhiễm trùng đường hô hấp dưới Bệnh có thể gặp ở mọi lứatuổi, tuy nhiên viêm phổi thường xuất hiện nhiều hơn ở trẻ nhỏ, đặc biệt trẻ em dưới 5tuổi và người cao tuổi [1] Triệu chứng điển hình của viêm phổi là sốt, ho đờm đục vàđau ngực khi ho Tuy nhiên, các triệu chứng bệnh đôi khi bị lầm tưởng là bệnh cảmthông thường nên có thể dẫn đến việc đi viện trễ, lúc này điều trị khá khó khăn và cóthể dẫn tới tử vong [1]
Viêm phổi là nguyên nhân gây tử vong truyền nhiễm lớn nhất ở trẻ em trên toànthế giới [2] Viêm phổi đã giết chết 808.694 trẻ em dưới 5 tuổi vào năm 2017, chiếm15% tổng số ca tử vong của trẻ em dưới 5 tuổi [2] Theo số liệu của quỹ nhi đồng LiênHiệp Quốc, viêm phổi giết chết nhiều trẻ em hơn bất kỳ bệnh truyền nhiễm nào khác.Chỉ tính trong năm 2018, viêm phổi cướp đi sinh mạng của hơn 800.000 trẻ em dướinăm tuổi, tương đương khoảng 2.200 mỗi ngày Kể từ năm 2000, tử vong dưới nămtuổi do viêm phổi đã giảm 54% và tính đến năm 2018, thì số liệu này giảm xuống gần50% [3] Tuy có nhiều tiến bộ với số ca nhiễm giảm dần theo mỗi năm nhưng tính đếnhiện tại thì tỉ lệ tử vong ở trẻ em do viêm phổi vẫn là cao nhất, và “Viêm phổi giết chết
nhiều trẻ em hơn bất kỳ bệnh truyền nhiễm nào khác” [3, 4].
Trong Y học hiện nay đã ghi nhận nhiều loại bệnh khác nhau (trên 14 bệnh) liênquan đến phổi và biến chứng thành ung thư phổi, đồng thời đối với mỗi loại bệnh lại
có thể chia thành nhiều nguyên nhân khác nhau [5] Tuy nhiên hầu hết các bệnh nhân
Trang 25CHƯƠNG 1 TỔNG QUAN
cơn ho, khó thở, đau ngực, nên thông thường rất khó để phân biệt viêm phổi và cácbệnh về đường hô hấp do triệu chứng rất giống nhau và điều đó gây nhiều khó khăncho người bác sĩ chẩn đoán [6], đặc biệt là những người còn thiếu kinh nghiệm chẩnđoán và chuyên môn khi tìm nguyên nhân bệnh từ ảnh X-Quang Từ những yếu tốtrên, các bác sĩ chẩn đoán bệnh sẽ không thể tránh khỏi những sai sót ngoài ý muốn.Chính vì vậy, cộng đồng vẫn đang tích cực nghiên cứu ra những phương án mới để cóthể giảm thiểu mức độ sai sót xuống thấp nhất và có thể giúp cho các bác sĩ thêm phần
tự tin về những chẩn đoán của mình trong bất kì hoàn cảnh nào Vì vậy, nhóm chúng
em quyết định nghiên cứu và ứng dụng xử lý ảnh và AI vào y học, có thể giúp phânbiệt dạng viêm phổi
Hiện nay, khi cả thế giới đang trong làn sóng của cuộc cách mạng công nghiệp4.0 và trí tuệ nhân tạo biết đến như chiếc chìa khoá để biến những ý nghĩ của conngười thành hiện thực Các định nghĩa như trí tuệ nhân tạo hay máy học tuy chỉ mớixuất hiện trong vài thập niên gần đây nhưng nó đã chứng minh vai trò then chốt củamình và ngày càng xuất hiện thường xuyên hơn và len lỏi vào từng lĩnh vực trong đờisống, văn hóa, giải trí, giáo dục và y tế và đã trở thành một thứ không thể thiếu chocuộc sống của con người hiện đại Nó đáp ứng được các yêu cầu khó khăn đòi hỏi khảnăng xử lý phức tạp, tinh vi và chính xác Mới đây, các nhà nghiên cứu từ Trung tâm
Y tế Langone, thuộc Đại học New York (New York University - NYU) đã tạo ra mộtchương trình máy tính để “đọc” các tiêu bản cho việc chẩn đoán hai loại ung thư phổiphổ biến nhất với độ chính xác lên đến 97% Chương trình cũng đã được nghiên cứu
để phát hiện đột biến di truyền liên quan đến ung thư trong các mẫu chỉ bằng cáchphân tích các hình ảnh của các mô khối u [7, 8] Như các hệ thống xử lý dữ liệu khácđược thiết lập dựa trên cơ sở của công nghệ "Máy học" (Machine Learning), chươngtrình máy tính sẽ quét qua hình ảnh các lát cắt của mô và phát triển khả năng phân biệt
mô phổi bình thường với hai loại ung thư phổ biến nhất là ung thư biểu mô tuyến Adenocarcinoma (chiếm khoảng 40%) và ung thư biểu mô tế bào vảy - SquamousAdenocarcinoma (25% đến 30%) Ngay cả các nhà giải phẫu bệnh giàu kinh nghiệmcũng gặp nhiều khó khăn khi phân biệt hai loại ung thư này để lập phác đồ điều trị [7,8] Để tạo ra chương trình, các nhà nghiên cứu về máy học đã sử dụng phương pháphọc tập sâu (Deep learning method), được phát triển và phát hành bởi Google [7, 8].Nghiên cứu được thực hiện bởi các nhà khoa học từ Trung tâm Y tế Langone thuộc
Trang 26CHƯƠNG 1 TỔNG QUAN
NYU và được công bố vào ngày 17/9/2018 trên Nature Medicine Kết quả cải thiệnđáng kể độ chính xác về phương pháp chẩn đoán ung thư phổi với tỷ lệ chính xác là83% [7, 8]
Về ứng dụng trí tuệ nhân tạo trong phát hiện bệnh viêm phổi ở trẻ em, các nhànghiên cứu Sivaramakrishnan Rajaraman, Sema Candemir, Incheol Kim, GeorgeThoma và Sameer Antani đã trình bày về dự án của họ trong bài báo nghiên cứu
“Visualization and Interpretation of Convolutional Neural Network Predictions inDetecting Pneumonia in Pediatric Chest Radiographs” (2018) Trong nghiên cứu này,
họ đã đánh giá, hình dung và giải thích hiệu suất của các mô hình mạng CNN tùychỉnh để phát hiện viêm phổi và phân biệt rõ hơn giữa các loại vi khuẩn và virus trongảnh chụp X-quang ngực ở trẻ em [9] Họ trình bày một chiến lược trực quan hóa mới
để định vị hóa khu vực trọng tâm (ROI) được coi là phù hợp cho các dự đoán mô hìnhtrên tất cả các đầu vào thuộc về một lớp dự kiến Họ quan sát được rằng mô hìnhVGG16 tùy chỉnh đạt được độ chính xác 96,2% và 93,6% trong việc phát hiện bệnh vàphân biệt giữa viêm phổi do vi khuẩn và virus Mô hình này vượt trội so với các côngnghệ tiên tiến trong tất cả các số liệu hiệu suất và chứng minh độ lệch giảm, khả năng
dự đoán được cải thiện [9]
Một dự án khác trên thế giới về chủ đề này do các nhà nghiên cứu đến từTrường Đại học Trung Sơn, Quảng Châu, Trung Quốc qua bài báo nghiên cứu khoahọc “Classification of Bacterial and Viral Childhood Pneumonia Using Deep Learning
in Chest Radiography”, về phân loại viêm phổi ở trẻ em do vi khuẩn và virus bằngcách học sâu (Deep Learning) cũng thông qua ảnh chụp X-quang ngực ở trẻ em Họ đã
đề xuất một hệ thống CAD (Computer Aided Diagnosis - một hệ thống chẩn đoán với
sự hỗ trợ của máy tính) mới để xác định viêm phổi do vi khuẩn và virus qua ảnh chụp
X quang ngực Phương pháp này bao gồm hai phần là xác định vùng phổi và phân loạiviêm phổi Đầu tiên, các vùng phổi trái và phải được phân đoạn và trích xuất với môhình Fully Convolutional Neural Network (FCN) [10] Sau khi phân đoạn, một môhình mạng Deep Convolutional Neural Network (DCNN) được sử dụng để phân loạicác vùng phổi mục tiêu Sau đó, dựa trên mô hình DCNN, các đặc trưng của các vùngphổi mục tiêu được trích xuất tự động và hiệu suất được so sánh với các đặc trưngđược lấy thủ công [10] Cuối cùng, các đặc trưng thông qua mô hình DCNN và các đặc
Trang 27CHƯƠNG 1 TỔNG QUAN
loại SVM (Support Vector Machine) để phân loại nhị phân Phương pháp
đề xuất được đánh giá trên bộ dữ liệu của Trung tâm y tế phụ nữ và trẻ
em Quảng Châu, Trung Quốc, với tổng số 4.513 bệnh nhân nhi, từ 1 đến
9 tuổi, trong giai đoạn từ 2003 đến 2017 [10] Các thông số hiệu suấtđược đo lường bằng các tiêu chí khác nhau: độ chính xác, độ nhạy, độđặc hiệu và diện tích dưới đường cong (AUC), là một tiêu chí toàn diện.Kết quả thử nghiệm cho thấy độ chính xác hơn (0,8048 ± 0,0202) và độnhạy hơn (0,7755 ± 0,0296) trong việc trích xuất các đặc trưng thôngqua mô hình DCNN kết hợp với kỹ thuật Transfer learning Các giá trị củaAUC thay đổi từ 0,6937 đến 0,8234 Và một nhóm các đặc trưng khácnhau đã cải thiện một chút giá trị AUC từ 0,8160 ± 0,0162 lên 0,8234 ±0,0014 [10]
Tại Việt Nam hiện nay vẫn chưa có đề tài nào liên quan đếnviệc sử dụng xử lý ảnh và AI trong chẩn đoán bệnh viêm phổi được
công bố Qua đó, chúng em quyết định làm đề tài “Ứng dụng xử lý ảnh
và AI để nhận biết bệnh viêm phổi ở trẻ em” Ứng dụng này sẽ sử dụng mô
hình Fully Convolutional Neural Network (FCN) để phân đoạn và tríchxuất vùng phổi trái và phải Sau đó, mô hình mạng nơ-ron CNNs(Convolutional Neural Networks) trên nền tảng thư viện có sẵn trongPython [11,12,13] sẽ được sử dụng để trích xuất đặc trưng và phân loạibệnh Cuối cùng, nhóm sẽ thiết kế một giao diện đồ họa GUI (GraphicUser Interface) linh hoạt cho người dùng
1.2 MỤC TIÊU
Xây dựng hệ thống nhận diện và phân loại bệnh viêm phổi ở trẻ
em trên tập dữ liệu Chest X-Ray Images (Pneumonia) với các công việc cụthể như sau:
₋ Xây dựng mô hình U-Net để phân đoạn và trích xuất vùng phổi trái
và phải
₋ Ứng dụng kiến trúc mạng nơ-ron CNN trên nền tảng thư viện cósẵn để xây dựng thành công một hệ thống phân loại bệnh viêm phổi với độchính xác tối thiểu là 85% với tập ảnh huấn luyện và 75% với tập ảnh thửnghiệm
₋ Thiết kế một giao diện nhận biết và phân loại bệnh với hoạt độngthao tác dễ dàng, có đầy đủ các chức năng như nhập ảnh vào, nhận biết
Trang 28ảnh, hiển thị kết quả Ngoài ra, trong hệ thống có sự hỗ trợ của RFID, giúptìm kiếm thông tin bệnh nhân nhanh chóng và dễ dàng từ thẻ RFID của mỗi bệnh nhân.
Trang 29CHƯƠNG 1 TỔNG QUAN
1.3 NỘI DUNG NGHIÊN CỨU
− Xây dựng ba tập dữ liệu bao gồm: tập huấn luyện, tập xác nhận
và tập thử nghiệm (training, validation và testing)
− Xây dựng chương trình thực hiện việc tách phổi trái và phải ra khỏi ảnh nhằm giảm thông tin nhiễu
− Xây dựng mô hình CNN cho bài toán phân loại ảnh
− Chạy thử nghiệm, chỉnh sửa và hoàn thiện hệ thống
− Đánh giá hệ thống đã huấn luyện
− Thiết kế giao diện hoạt động của hệ thống và kết nối với RFID
1.4 GIỚI HẠN
₋ Đề tài trọng tâm vào việc phân tích kết quả có bệnh viêm phổi ởtrẻ em hay không Vấn đề phân tích kết quả bệnh viêm phổi do vi-rút hay vikhuẩn chỉ mang tính tham khảo cho hướng phát triển tương lai Tất cả kếtquả chẩn đoán chỉ dừng lại ở mức độ tham khảo, độ chính xác không làtuyệt đối
₋ Do vấn đề an toàn thông tin trong y tế, những dữ liệu về hìnhảnh X-quang phổi được lấy về từ các kho dữ liệu cộng đồng, đề tài khônglấy các dữ liệu trực tiếp từ các bệnh viện ở Việt Nam
1.5 BỐ CỤC
Chương này trình bày đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nội dung nghiên cứu, các giới hạn thông số và bố cục đồ án
Tìm hiểu chung về quá trình xử lý ảnh, kiến thức về Máy học(Machine Learning), mạng nơ-ron thông thường và kiến trúc mạngnơ-ron tích chập CNN Tìm hiểu các phương pháp dùng trong phânđoạn hình ảnh và nhận diện, phân loại hình ảnh Ngoài ra, vì liênquan đến lĩnh vực Y học nên một số tiêu chuẩn liên quan sẽ được tìmhiểu
● Chương 3: Hệ Thống Nhận Diện Và Phân Loại Bệnh Viêm Phổi Ở Trẻ Em
Đưa ra các yêu cầu của hệ thống và xây dựng sơ đồ khối hệ thống Thiết kế cơ sở dữ liệu cho hệ thống, xây dựng mô hình phân đoạn phổi từ dữ liệu gốc, xây dựng
Trang 30BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 5
Trang 31CHƯƠNG 1 TỔNG QUAN
mô hình hệ thống nhận diện-phân loại và các phương pháp đánh giá hệ thống Cuối cùng, thiết kế giao diện nhận diện-phân loại cho hệ thống
Thực thi chương trình và trình bày kết quả đạt được Dựa trên kết quả thu được,nhận xét-so sánh-đánh giá độ chính xác của hệ thống
Tổng hợp lại kết quả đã đạt được và những hạn chế trong đề tài cần được giảiquyết, đối chiếu, kiểm chứng với các mục tiêu, yêu cầu đã đặt ra và đề xuất hướngphát triển cho đề tài trong tương lai
Trang 32CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
Chương 2 CƠ SỞ LÝ THUYẾT
2.1 MÔ TẢ VỀ BỆNH VIÊM PHỔI
2.1.1 Khái quát về viêm phổi
Viêm phổi là một bệnh nhiễm trùng phổi có thể do vi khuẩn, vi rút hoặc nấmgây ra Nhiễm trùng làm cho túi khí của phổi (phế nang) bị viêm và ở một hoặc cả haiphổi sẽ tràn đầy chất lỏng hoặc mủ trong đó [14] Điều đó có thể làm cho khí oxy khó
đi vào máu Các triệu chứng của viêm phổi có thể từ nhẹ đến nặng, bao gồm ho, sốt,
ớn lạnh và khó thở [14]
Có nhiều yếu tố ảnh hưởng đến mức độ nghiêm trọng của một trường hợp viêmphổi, chẳng hạn như loại vi trùng gây nhiễm trùng phổi, tuổi của người bệnh và sứckhỏe tổng thể của họ Những người có nguy cơ cao nhất là trẻ sơ sinh và trẻ nhỏ, ngườilớn từ 65 tuổi trở lên và những người có vấn đề sức khỏe khác [14]
Viêm phổi là nguyên nhân gây tử vong truyền nhiễm lớn nhất ở trẻ em trên toànthế giới Viêm phổi đã giết chết 808.694 trẻ em dưới 5 tuổi vào năm 2017, chiếm 15%tổng số ca tử vong của trẻ em dưới 5 tuổi [14]
Một số đặc điểm để phân biệt giữa phổi bình thường và bệnh viêm phổi thuỳthông qua chụp X-quang như sau [16]:
2.1.2 Bệnh viêm phổi do vi-rút
Các loại virus gây bệnh thường là các chủng hay xuất hiện trên đường hô hấpcủa loài người như hợp bào hô hấp, virus cúm hoặc adenovirus Chúng thường gây racác vụ dịch và gây bệnh theo mùa, bệnh thường biểu hiện nhẹ, tự thuyên giảm màkhông cần điều trị đặc hiệu gì [17] Trong số các virus phân lập được từ đường hô hấp,thường gặp nhất là RSV (36,5%), tiếp đến là Rhinovirus (31,5%), Parainfluenza (14%)
và Adenovirus (7,5%) [18]
Trang 33CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
Triệu chứng viêm phổi do vi-rút khởi đầu là các biểu hiện viêm long đường hôhấp trên bao gồm ho, hắt hơi, ngạt mũi, chảy nước mắt nước mũi, kèm theo đó bệnhnhân đau đầu, đau mỏi người, đau rát họng, khàn tiếng, ho khan hoặc ho có đờm trắngtrong [19]
Dựa theo một số kinh nghiệm chẩn đoán lâu năm của bác sĩ, ta vẫn có thể chẩnđoán phân biệt sơ bộ thông qua ảnh chụp X-quang khi khẩn cấp, sau đó thực hiện thêmmột số xét nghiệm để củng cố thêm độ chính xác Đối với ảnh X-quang của phổi mắcbệnh viêm phổi do vi-rút, biểu hiện trên phổi mờ nhạt ranh giới, không rõ ràng, thường
ở vùng dưới phổi như hình 2.1 [20]
Hình 2.1 Ảnh chụp X-quang biểu hiện bệnh viêm phổi do vi-rút
2.1.3 Bệnh viêm phổi do vi khuẩn
Viêm phổi do vi khuẩn chủ yếu là do tình trạng bội nhiễm thêm trong lúc sức đềkháng đang bị suy yếu Các loại vi khuẩn gây bệnh thường gặp như khuẩnS.Pneumoniae, khuẩn Haemophilus influenzae (Hib), E.coli, [17]
Triệu chứng viêm phổi do vi khuẩn bao gồm bệnh nhân có biểu hiện nhiễmtrùng rõ như môi khô, lưỡi bẩn, hơi thở hôi, có thể đi kèm với sốt cao Người bệnh hokhạc đờm mủ, đờm đục hoặc đờm màu xanh vàng [19]
Đối với ảnh X-quang của phổi mắc bệnh viêm phổi do vi khuẩn, thường gặp 50% làcho hình ảnh phổi bị đông đặc như bệnh viêm phổi thùy, điển hình như viêm phổi dophế cầu như hình 2.2 [21]
Hình 2.2 Ảnh chụp X-quang biểu hiện bệnh viêm phổi do phế cầu
Trang 34CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
có các điểm ảnh thuộc một dạng lân cận khác gọi là lân cận chéo của điểm ảnh, tập
hợp đó gọi tắt là Np(p):
Np(p) = {(x+1, y+1) ; (x+1, y-1); (x-1, y+1); (x-1, y-1)} (2.2)Với các điểm trong tọa độ Np(p) được xem là 4 hướng Đông-Nam, Đông-Bắc,Tây-Nam, Tây-Bắc [22]
Hình 2.3 Các lân cận của điểm ảnh
Tập kết hợp: N8(p) = N4(p) + Np(p) là tập hợp lân cận 8 của điểm ảnh p [22]
* Chú ý: Nếu tọa độ (x, y) nằm ở biên (mép) ảnh, một số điểm sẽ nằm ngoài ảnh
Các mối liên kết được sử dụng để xác định giới hạn (Boundaries) của đối tượngvật thể hoặc xác định vùng trong một ảnh Một liên kết được đặc trưng bởi tính liền kềgiữa các điểm và mức xám của chúng [22] Có 3 loại liên kết:
● Liên kết 4: Hai điểm ảnh p và q được nói là liên kết 4 nếu q nằm trong một các
lân cận của p, tức q thuộc N4(p)
● Liên kết 8: Hai điểm ảnh p và q nằm trong một các lân cận 8 của p, tức q thuộc
N8(p)
● Liên kết m (liên kết hỗn hợp): Hai điểm ảnh p và q được nói là liên kết m nếu q
Trang 35CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
2.2.2 Lọc nhiễu
Nhiễu là một loại tín hiệu hay những thành phần không mong muốn và thườngxuất hiện trong ảnh hay trong thu nhận tín hiệu nói chung, nó không chỉ gây ra biếndạng tín hiệu thu được mà còn làm thay đổi thông tin có được Nhiễu làm cho ảnh trởnên xấu, mờ và làm nhiễu thông tin nhận được từ ảnh Đối với một bài toán thôngthường thì nhiễu của ảnh là sự mất nét, mờ ảnh, nhiễu Gaussian một loại nhiễu thườngxuất hiện trên ảnh chủ yếu là do cảm biến của máy ảnh
Trong bài toán nhận dạng đối tượng của ảnh thì nhiễu được xem là tất cả nhữngpixel nằm ngoài đối tượng được chọn, có nhiều cách để loại bỏ loại nhiễu này như sửdụng các bộ lọc như lọc trung bình, lọc trung vị, lọc Sobel
2.2.3 Phân đoạn ảnh
Phân đoạn hình ảnh thường được sử dụng để định vị các đối tượng và ranh giới(đường, đường cong ) trong hình ảnh Chính xác hơn, phân đoạn hình ảnh là quá trìnhgán nhãn cho mọi pixel trong ảnh sao cho các pixel có cùng nhãn chia sẻ một số đặcđiểm nhất định [23]
Kết quả của phân đoạn hình ảnh là một tập hợp các phân đoạn bao phủ toàn bộhình ảnh hoặc một bộ các đường viền được trích xuất từ hình ảnh [23] Có rất nhiềucách để phân đoạn một hình ảnh, sau đây là một vài ví dụ về một số phương pháp cụthể:
● Ngưỡng: Điểm quan trọng của phương pháp này là việc lựa chọn giá trị ngưỡng(có thể là một hoặc một vài giá trị), dựa vào giá trị ngưỡng này để tiến hành tỷ lệ mức xámthành ảnh nhị phân Một số phương pháp phổ biến được sử dụng như phương pháp tối đaEntropy, cân bằng ngưỡng Histogram, phương pháp Otsu (tối đa sai) [24]
Hình 2.4 Phương pháp lấy ngưỡng
Trang 36CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
● Phân cụm: Kỹ thuật này cho phép tạo một hình ảnh được phân đoạn có nhãnbằng thuật toán phân cụm cụ thể Sử dụng phân cụm dựa trên K-means có nghĩa là phâncụm, phân đoạn một hình ảnh thành số cụm [24]
● Phân đoạn dựa trên đồ thị: Trong kỹ thuật này, một biểu đồ được tính từ tất cảcác pixel trong ảnh, các đỉnh và đáy trong biểu đồ được sử dụng để xác định vị trí các cụmtrong ảnh để chia chúng thành các cụm nhỏ hơn, hoạt động này được lặp lại với các cụmnhỏ hơn và nhỏ hơn cho đến khi không còn cụm nào được hình thành [24]
● Phát hiện cạnh: Ranh giới khu vực và các cạnh có liên quan chặt chẽ với nhau,
vì thường có sự điều chỉnh mạnh về cường độ tại các ranh giới khu vực và thường được tổchức thành một tập hợp các đoạn đường cong gọi là các cạnh [24] Tuy nhiên, để phân đoạnmột đối tượng từ một hình ảnh, người ta cần các ranh giới vùng kín
● Học máy: Sử dụng mạng nơ ron tích chập (CNN), một kỹ thuật học sâu gọi làphân đoạn ngữ nghĩa cho phép bạn liên kết mọi pixel của hình ảnh với nhãn lớp Các ứngdụng cho phân đoạn ảnh bao gồm lái xe tự hành, kiểm tra công nghiệp, hình ảnh y tế vàphân tích hình ảnh vệ tinh [24]
2.3 MẠNG NƠ-RON TÍCH CHẬP
Mạng nơ-ron tích chập (CNN-Convolutional Neural Network) là một trong
những mô hình học sâu tiên tiến giúp cho chúng ta xây dựng được những hệ thống xử
lý ảnh thông minh với độ chính xác cao như hiện nay Nếu chỉ sử dụng mô hình fullyconnected neural network (mỗi node trong hidden layer được kết nối với tất cả cácnode trong layer trước), thì sẽ tạo ra rất nhiều tham số (Parameter) giữa lớp đầu vàovới các lớp ẩn [25, 26, 27] Chính vì thế, việc áp dụng thêm mạng nơ-ron tích chậpCNN vào các lớp trong neural network ta có thể giải quyết được vấn đề lượng lớntham số mà vẫn lấy ra được các đặc trưng của ảnh
Mô hình Convolutional neural network gồm Ảnh đầu vào →Lớp tích chập(convolution layer) + Lớp tổng hợp (pooling layer)→Lớp kết nối đầy đủ (fullyconnected layer)→Đầu ra như hình 2.5:
Trang 37CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
Hình 2.5 Mô tả các lớp trong mô hình Convolutional neural network
Kiến trúc mạng CNN gồm 3 loại lớp chính: lớp tích chập, lớp tổng hợp và lớpkết nối đầy đủ
2.3.1 Lớp tích chập
Lớp tích chập (Convolutional layer) là một tập các ma trận đặc trưng (featuremap) và mỗi ma trận đặc trưng này là một bản scan của đầu vào ban đầu, nhưng đượctrích xuất ra các đặc trưng (feature) cụ thể
Lớp tích chập là lớp quan trọng nhất và cũng là lớp đầu tiên của của mô hìnhCNN Lớp này có chức năng chính là phát hiện các đặc trưng có tính không gian hiệuquả dựa trên lý thuyết xử lý tín hiệu số, lấy tích chập để trích xuất thông tin quan trọng
từ dữ liệu [28] Trong tầng này có 4 đối tượng chính là: ma trận đầu vào, bộ lọc (filter),trường tiếp nhận (receptive field) và ma trận đặc trưng (feature map) Lớp tích chậpnhận đầu vào là một ma trận 3 chiều và một bộ lọc cần phải học [28] Mỗi bộ lọc cókích thước không gian nhỏ theo chiều rộng và chiều cao, nhưng mở rộng chiều sâu đầy
đủ như chiều sâu của khối đầu vào [29] Bộ lọc này sẽ trượt qua từng vị trí trên bứcảnh để tính tích chập (convolution) giữa bộ lọc và phần tương ứng trên bức ảnh Phầntương ứng này trên bức ảnh gọi là trường tiếp nhận, tức là vùng mà một nơ-ron có thểnhìn thấy để đưa ra quyết định, và ma trận cho ra bởi quá trình này được gọi là ma trậnđặc trưng [28]
Trường tiếp nhận: Khi làm việc với các yếu tố đầu vào có kích thước cao nhưhình ảnh, như đã phân tích ở trên, việc kết nối các nơ-ron với tất cả các nơ-ron ở khốitrước đó là không thực tế Thay vào đó, chúng ta sẽ kết nối mỗi nơ-ron chỉ với mộtvùng cục bộ của khối đầu vào Phạm vi không gian của kết nối này là một siêu tham số
Trang 38CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
được gọi là trường tiếp nhận của nơron (tương đương đây là kích thước bộ lọc) Phạm
vi của kết nối dọc theo trục độ sâu luôn bằng độ sâu của khối đầu vào [29]
Sắp xếp không gian khối đầu ra: Kết nối của từng nơ-ron trong lớp tích chậpvới khối đầu vào đã được nêu ở trên, nhưng việc có bao nhiêu nơ-ron trong khối đầu rahoặc cách chúng được sắp xếp như thế nào Ba siêu tham số kiểm soát kích thước củakhối lượng đầu ra bao gồm: chiều sâu, bước nhảy và khoảng đệm mức 0 [29]
● Đầu tiên, chiều sâu của khối đầu ra là một siêu tham số Nó tương ứng với sốlượng bộ lọc muốn sử dụng mỗi lần học, mỗi bộ lọc để tìm kiếm các đặc điểm khác nhautrong đầu vào Kích thước bộ lọc là một trong những tham số quan trọng nhất của tầng tíchchập Kích thước này tỉ lệ thuận với số tham số cần học tại mỗi tầng tích chập và là tham sốquyết định trường tiếp nhận của tầng này Kích thước bộ lọc của tầng tích chập hầu hết đều
là số lẻ, ví dụ như 3x3 hay 5x5 Với kích thước bộ lọc lẻ, các giá trị của ma trận đặc trưng
sẽ xác định một tâm điểm ở tầng phía trước Nếu chọn bộ lọc có kích thước 2x2, 4x4 thì sẽgặp khó khăn khi muốn tìm vị trí tương ứng của các giá trị ma trận đặc trưng trên khônggian ảnh [28]
● Thứ hai, xác định bước nhảy (Stride) khi trượt bộ lọc Khi bước nhảy là 1 thìchúng ta di chuyển các bộ lọc một điểm ảnh mỗi lần Khi bước nhảy là 2 thì các bộ lọc sẽnhảy 2 điểm ảnh mỗi lần tại thời điểm trượt bộ lọc xung quanh Điều này sẽ tạo ra khối đầu
ra nhỏ hơn theo không gian [29]
Hình 2.6 Minh hoạ về stride: Khi stride là 1 thì ma trận đặc trưng có
kích thước 3x3 và khi stride là 2 thì ma trận đặc trưng có kích thước
2x2
● Thứ ba, khối đầu vào đôi khi sẽ được đệm các bit 0 (zero-padding) xung quanhđường viền Kích thước của khoảng đệm bit 0 này là một siêu tham số Khoảng đệmbit 0 cho phép chúng ta kiểm soát kích thước không gian của khối lượng đầu ra, bảo
Trang 39CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
toàn chính xác kích thước không gian của khối đầu vào sao cho độ rộng đầu vào vàđầu ra là như nhau [29]
Hình 2.7 Khối đầu vào khi được đệm các bit 0 với padding là 2
Khi điều chỉnh padding là 1, tức là đã thêm 1 ô bọc xung quanh các cạnh của input
Hình 2.8 Minh hoạ cho kiểu padding là 1
Kích thước của khối đầu ra: Kích thước không gian của khối đầu ra là một hàmcủa khối đầu vào với kích thước (W), kích thước của vùng tiếp nhận của các nơ-ron là
F, bước nhảy được áp dụng là S và kích thước của khoảng đệm bit 0 được sử dụng là
P Công thức tính toán kích thước khối đầu ra là [29]:
Wout = (W – F + 2P)/S +1
2.3.2 Lớp Pooling
Pooling là làm giảm các siêu tham số cần phải tính toán, từ đó giảm thời giantính toán, tránh overfitting Pooling có 1 cửa sổ trượt gọi là pooling window, cửa sổnày trượt qua từng giá trị của ma trận dữ liệu đầu vào (thường là các ma trận đặc trưngtrong lớp tích chập), chọn ra một giá trị từ các giá trị nằm trong cửa sổ trượt (vớimaxpooling sẽ lấy giá trị lớn nhất)
Trang 40CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
Lớp Pooling thường được sử dụng ngay sau lớp tích chập để đơn giản hóathông tin đầu ra để giảm bớt số lượng nơ-ron nhưng vẫn giữ được các thuộc tính quantrọng Keras hiện tại đang hỗ trợ nhiều loại lớp tổng hợp khác nhau, nhưng 2 loạipooling layer phổ biến là: max pooling và average pooling [25, 26, 27]
Hình 2.9 Mô tả hai loại lớp tổng hợp là max pooling và average pooling
2.3.3 Lớp kết nối đầy đủ
Lớp cuối cùng của mô hình CNN trong bài toán phân loại ảnh là lớp kết nối đầy
đủ (Fully connected layer) Lớp này có chức năng chuyển ma trận đặc trưng ở tầngtrước thành vector chứa xác suất của các đối tượng cần được dự đoán Số nơ-ron ở lớpnày phụ thuộc vào số đầu ra mà ta muốn tìm ra
Hình 2.10 Mạng nơ-ron đầy đủ chứa lớp kết nối đầy đủ FC ở cuối
2.3.4 Hàm kích hoạt
Hàm kích hoạt là những hàm phi tuyến được áp dụng vào đầu ra của các nơ-rontrong tầng ẩn của một mô hình mạng, và được sử dụng làm dữ liệu đầu vào cho tầngtiếp theo Một số hàm kích hoạt thường được dùng trong huấn luyện mạng nơ-ronđược liệt kê trong bảng 2.1 [30]: