1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Ứng dụng xử lý ảnh và AI để nhận biết bệnh viêm phổi ở trẻ em

99 68 0

Đ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

Định dạng
Số trang 99
Dung lượng 5,56 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

− 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.. Sau đó, xây dựng mô hình huấn

Trang 1

THÀNH PHỐ HỒ CHÍ MINH

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

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

ĐỒ Á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

Tp Hồ Chí Minh, tháng 08/2020

SKL 0 0 7 3 3 7

GVHD: Ngô Bá Việt SVTH: Ngô Thị Anh Thư MSSV:16129070

SVTH: Phạm Thiên Vương MSSV:16129085

Trang 2

BỘ 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 3

BỘ 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

SVTH2: Phạm Thiên Vương MSSV2: 16129085

Tp Hồ Chí Minh - 08/2020

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

− 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 X-Ray Images (Pneumonia) được sử dụng để phân đoạn vùng phổi trái và phải

− 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

Trang 5

− 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 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

Tên đề tài: Ứng dụng xử lý ảnh và AI để nhận biết bệnh viêm phổi ở trẻ em

Tuần/ngày Nội dung Xác nhận

GVHD

Tuần 1

(2/3 - 8/3)

- 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 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

toán phân loại ảnh

- Chỉnh sửa và hoàn thiện chương trình huấn luyện

Trang 7

(6/7 - 12/7) - Viết báo cáo, quyển tóm tắt, làm slide báo cáo,

thiết kế poster A5

Trang 8

LỜ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ẫn củ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

Trang 9

LỜ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 em hoà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 đổi kiế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ều kiệ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 10

MỤ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

Trang 11

2.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

4.2.2 Kết quả huấn luyện phân loại bệnh viêm phổi 45

Trang 12

4.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

Trang 13

LIỆT KÊ HÌNH VẼ

Hình Trang

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

Hình 3.9 Mô hình mạng nơ-ron tích chập CNN để nhận diện-phân các loại bệnh 34

Hình 3.10 Mô tả hai dạng ma trận ma trận nhầm lẫn 36

Trang 14

Hì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

Trang 15

Hì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 16

LIỆT KÊ BẢNG

Bảng Trang

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

Trang 17

BẢNG LIỆT KÊ TỪ VIẾT TẮT

SDO Standards Developing Organization

API Application Programming Interface

GUI Graphical User Interface

IDE Integrated Development Environment

Trang 18

NIH National Institutes of Health

RFID Radio Frequency Identification

Trang 19

để

Sau đó, xây dựng mô hình huấn luyện CNN để nhận diện-phân loại bệnh viêm phổ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ác gần 93% trên tập train Độ chính xác Accuracy của toàn tập test đạt 92.9%, đảm bảo yê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 đạt 81.89%, trong đó, kết quả dự đoán đúng của tập NORMAL là 182/234 ảnh tức đạt 77.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ức nă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

Trang 20

lý 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ện nay 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ứa tuổ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 5 tuổ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ảm thô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àn thế 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ếm 15% 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ên Hiệ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ưới năm tuổi, tương đương khoảng 2.200 mỗi ngày Kể từ năm 2000, tử vong dưới năm tuổ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ần 50% [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 đến hiệ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ên quan đế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 mắc bệnh liên quan đến phổi đều có một số triệu chứng tương đồng nhau như những

Trang 21

CHƯƠ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ác bệ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ăn cho 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ân biệ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ệp 4.0 và trí tuệ nhân tạo biết đến như chiếc chìa khoá để biến những ý nghĩ của con ngườ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ới xuấ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ủa mì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 đời số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 cho cuộ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ột chươ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ổi phổ 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ách phâ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ương trì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 - Squamous Adenocarcinoma (25% đến 30%) Ngay cả các nhà giải phẫu bệnh giàu kinh nghiệm cũ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áp họ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 22

CHƯƠ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, George Thoma 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 in Detecting 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ùy chỉ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ình trê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ình VGG16 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ông nghệ 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 khoa họ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ằng cá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ại viê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ại cá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ùng phổ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

Trang 23

CHƯƠ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ông qua mô hình DCNN kết hợp với kỹ thuật Transfer learning Các giá trị của AUC thay đổi từ 0,6937 đến 0,8234 Và một nhóm các đặc trưng khác nhau đã 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 đến việ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ích xuấ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 trong Python [11,12,13] sẽ được sử dụng để trích xuất đặc trưng và phân loại bệnh Cuối cùng, nhóm sẽ thiết kế một giao diện đồ họa GUI (Graphic User 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 động thao tác dễ dàng, có đầy đủ các chức năng như nhập ảnh vào, nhận biết ảnh, hiển thị kết quả Ngoài ra, trong hệ thống có sự hỗ trợ của RFID, giúp tì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 24

CHƯƠ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 vi khuẩn chỉ mang tính tham khảo cho hướng phát triển tương lai Tất cả kết quả 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ông lấ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 1: Tổng Quan

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

● Chương 2: Cơ Sở Lý Thuyết

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ạng nơ-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ên quan đến lĩnh vực Y học nên một số tiêu chuẩn liên quan sẽ được tìm hiể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 25

CHƯƠ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

● Chương 4: Kết Quả, Nhận Xét và Đánh Giá

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

● Chương 5: Kết Luận và Hướng Phát Triển

Tổng hợp lại kết quả đã đạt được và những hạn chế trong đề tài cần được giải quyế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ướng phát triển cho đề tài trong tương lai

Trang 26

CHƯƠ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ấm gâ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ả hai phổ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êm phổ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ức khỏ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ười lớ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àn thế 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ấp củ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 ra cá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 27

CHƯƠ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ệnh nhâ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ắng trong [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êm mộ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ắc bệ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ẩn S.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ễm trù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 ho khạ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 do phế 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 28

CHƯƠ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ượng vậ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 thuộc N4(p) hoặc q thuộc Np(p)

Trang 29

CHƯƠ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ường xuấ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ến dạ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ông thườ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ường xuấ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ững pixel 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ình gá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ều cá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ám thà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 đa Entropy, 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 30

CHƯƠ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ãn bằ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ân cụ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ụm trong ả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ụm nhỏ 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ạn mộ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 ứng dụ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 fully connected neural network (mỗi node trong hidden layer được kết nối với tất cả các node trong layer trước), thì sẽ tạo ra rất nhiều tham số (Parameter) giữa lớp đầu vào vớ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ập CNN vào các lớp trong neural network ta có thể giải quyết được vấn đề lượng lớn tham 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 đủ (fully connected layer)→Đầu ra như hình 2.5:

Trang 31

CHƯƠ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ớp kế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 (feature map) 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 được trí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ình CNN 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ệu quả 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ập nhậ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ần tươ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ối trướ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ột vù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 32

CHƯƠ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ập vớ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 ra hoặ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ủa khố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 nhau trong đầ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ích chậ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ông gian ả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 đệm bit 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 33

CHƯƠ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àm củ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.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 gian tí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ưng trong 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ới maxpooling sẽ lấy giá trị lớn nhất)

Trang 34

CHƯƠ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óa thô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 quan trọ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ại pooling 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ầng trước thành vector chứa xác suất của các đối tượng cần được dự đoán Số nơ-ron ở lớp nà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ơ-ron trong 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ầng tiế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]:

Trang 35

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

Trang 36

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

)) 1

log(

) 1 ( ) log(

(

1 )

m W

số nút ra là K và là đầu ra thực tế của nút thứ yk là đầu ra thực tế của nút thứ k, còn k

là đầu ra ước lượng được cho nút thứ k tương ứng [31] Khi đó, công thức tính hàm lỗi

i

i k i

k K

k

i

y m

W J

1

) )

(i) k 1

)

)) 1

log(

) 1 ( ) log(

(

1 )

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

Trong phân đoạn hình ảnh, công việc ta cần làm không chỉ là biến một bản đồ đặc trưng thành các vector độc lập mà còn cần phải chuyển đổi các vector này trở lại hình ảnh, đây thực sự là một công việc khó khăn vì biến đổi ngược lại luôn khó khăn hơn với việc tạo ra một vector từ hình ảnh ban đầu Vì thế mạng U-Net được xây dựng

để giải quyết bài toán này [32]

2.4.2 Xây dựng kiến trúc mạng U-Net

Trong khi chuyển đổi một hình ảnh thành một vectơ, mô hình mạng đã học cách ánh xạ các đặc trưng của hình ảnh Các bản đồ có tính năng tương tự được sử

Trang 37

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

dụng cho việc biến đổi thành vector đặc trưng để mở rộng chính vector đấy thành hình ảnh được phân đoạn Điều này sẽ bảo vệ tính nguyên vẹn trong cấu trúc của hình ảnh,

nó sẽ làm giảm sự biến dạng rất lớn [32]

Hình 2.12 Ví dụ mô tả kiến trúc mạng lưới U-Net

Như hình 2.12, kiến trúc U-Net bao gồm ba phần chính: Phần co lại (Contraction), phần nút cổ chai (Bottleneck) và phần mở rộng (Expansion section) Mỗi kích thước của bản đồ được chỉ định ở phía dưới bên trái và số lượng kênh được chỉ định ở trên nó Các hộp nửa màu xám biểu thị các bản đồ mà một nửa các kênh của chúng được sao chép Bản đồ ngoài cùng bên trái là hình ảnh thang độ xám 256×256 được lấy mẫu từ bản đồ độ cao kỹ thuật số và dự đoán mặt nạ vòng nhị phân của CNN

ở bên phải Mũi tên màu xanh biểu thị các kết cấu, trong khi mũi tên màu xám biểu thị sao chép (bỏ qua các kết nối) [33]

Phần co lại được làm từ nhiều khối co Mỗi khối lấy một đầu vào áp dụng hai lớp chập 3x3 theo sau là lớp max-pooling kích thước 2x2 Số lượng bản đồ đặc trưng sau mỗi khối tăng gấp đôi để kiến trúc có thể học các cấu trúc phức tạp một cách hiệu quả Lớp đáy là trung gian giữa lớp co lại và lớp mở rộng Nó sử dụng hai lớp CNN 3x3, sau đó là hai lớp chập CNN 3x3 tiếp tục chập lên lớp maxpooling 2x2 [33] Nhưng trái tim của kiến trúc này nằm ở phần mở rộng Tương tự như lớp co, nó cũng bao gồm một số khối mở rộng Mỗi khối chuyển đầu vào cho hai lớp CNN 3x3, sau đó

là lớp lấy mẫu 2x2 Ngoài ra, sau mỗi số khối của các bản đồ đặc trưng được sử dụng bởi lớp chập được lấy một nửa để duy trì tính đối xứng Tuy nhiên, mỗi lần đầu vào cũng được thêm vào bởi các bản đồ đặc trưng của lớp co lại tương ứng Hành động này sẽ đảm bảo rằng các tính năng được học trong khi ký hợp đồng với hình ảnh sẽ

Trang 38

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

được sử dụng để tái tạo lại nó Số lượng khối mở rộng giống như số khối co lại Sau

đó, ánh xạ kết quả đi qua một lớp CNN 3x3 khác với số lượng bản đồ tính năng bằng với số lượng phân đoạn mong muốn [33]

2.5 TIÊU CHUẨN VỀ TRÍ TUỆ NHÂN TẠO

Hiện nay, đối với ngành trí tuệ nhân tạo ở Việt Nam nói riêng và trên toàn thế giới nói chung còn rất mới và nó chỉ thực sự được quan tâm trong khoảng 10 năm trở lại đây nên các bộ tiêu chuẩn trong lĩnh vực này vẫn còn đang trong quá trình soạn thảo và hoàn thiện Năm 2017, IEC và ISO đã trở thành tổ chức phát triển tiêu chuẩn quốc tế (SDO) đầu tiên thành lập một ủy ban chung (ISO / IEC JTC 1 / SC 42) sẽ thực hiện các hoạt động tiêu chuẩn hóa cho trí tuệ nhân tạo [34]

Trong cuộc họp đầu tiên thành lập một ủy ban chung (ISO / IEC JTC 1 / SC 42), đã thiết lập một cấu trúc để cho phép phương pháp tiếp cận hệ sinh thái AI sẽ bao gồm [34]:

● Tiêu chuẩn cơ sở: Với sự đa dạng của các bên liên quan đến AI, điều cần thiết

là phải có các tiêu chuẩn nền tảng cung cấp khuôn khổ Điều này cho phép các nhà cung cấp công nghệ và người dùng sẽ tương tác với nhau một cách thống nhất Ưu tiên phát triển các tiêu chuẩn quốc tế về khái niệm và thuật ngữ AI theo tiêu chuẩn ISO / IEC AWI 22989 và các hệ thống trí tuệ nhân tạo sử dụng máy học theo tiêu chuẩn ISO / IEC AWI 23053

● Phương pháp tính toán và đặc điểm của hệ thống AI: Trọng tâm của AI là các phương pháp tính toán và kỹ thuật thuật toán trao quyền cho những hiểu biết được cung cấp bởi các công cụ AI Nhìn vào các hệ thống AI chuyên dụng hiện

có (Lập trình ngôn ngữ tư duy hoặc thị giác máy tính) để hiểu và xác định các phương pháp tính toán, kiến trúc và đặc điểm cơ bản của chúng Đồng thời cần điều tra từ thực tiễn, quy trình và phương pháp công nghiệp để ứng dụng các hệ thống AI

● Độ tin cậy: Đảm bảo sự tin cậy ngay từ đầu là một trong những khía cạnh thiết yếu để áp dụng rộng rãi công nghệ, tìm cách để đạt được tính minh bạch, an toàn, bảo mật và quyền riêng tư, hỗ trợ ra quyết định của hệ thống AI Đánh giá các mối đe dọa và rủi ro liên quan đến các hệ thống AI bằng các kỹ thuật và phương pháp giảm thiểu của chúng

Trang 39

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

2.6 HỆ THỐNG RFID

2.6.1 Giới thiệu công nghệ RFID

Công nghệ RFID (Radio Frequency Identification) là công nghệ nhận dạng đối tượng bằng sóng vô tuyến bằng cách sử dụng các trường điện từ để tự động nhận dạng

và theo dõi các thẻ được gắn vào các đối tượng [35] Cho phép thiết bị đọc đọc thông tin chứa trong thiết bị khác mà ở khoảng cách gần mà không cần tiếp xúc trực tiếp Công nghệ RFID chủ yếu dùng ba loại tần số là: tần số thấp LF, tần số cao HF, tần số siêu cao UHF [36]

Một hệ thống RFID bao gồm các thành phần sau:

₋ Tag RFID: Là thành phần bắt buộc phải có của một hệ thống RFID, được đặt lên đối tượng cần xác định

₋ Bộ đọc - đầu đọc RFID: Là thành phần bắt buộc, có nhiệm vụ kích hoạt thẻ, truyền dữ liệu bằng sóng vô tuyến với thẻ, thực hiện giải điều chế và giải mã tín hiệu nhận được từ thẻ ra dạng tín hiệu cần thiết để chuyển về máy tính

₋ Ăngten (Antenna): Làm nhiệm vụ bức xạ, thu sóng điện từ và gia công tín hiệu

₋ Mạch điều khiển: Hầu hết reader mới đều có thành phần này gắn liền với chúng Cho phép các thành phần bên ngoài như con người, chương trình máy tính giao tiếp điều khiển các chức năng của reader

₋ Cảm biến: Hỗ trợ xuất và nhập của hệ thống

₋ Máy chủ và hệ thống phần mềm: Về mặt lí thuyết, một hệ thống RFID có thể hoạt động mà không cần các thành phần này Nhưng thực tế, một hệ thống RFID gần như không có ý nghĩa nếu không có thành phần này

2.6.2 Giới thiệu về phần cứng

a Module RFID MFRC522

Module MFRC522 như hình 2.13, là module đọc/ghi trong môi trường giao tiếp tại tần số 13.56MHz Module hỗ trợ đọc các chuẩn ISO/IEC 1443 A/MIFARE và NTAG [37]

Trang 40

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

SPI (Max = 10 Mbit/s)

I2C (Fast Mode: 400 kbit/s, High Speed Mode: 3400 kbit/s)

b Thẻ RFID

Thẻ RFID là thiết bị có thể lưu trữ và truyền dữ liệu về bộ đọc bằng sóng vô tuyến Dữ liệu có thể là một số nhận dạng đơn giản được lưu trữ trong một thẻ chỉ đọc hoặc dữ liệu phức tạp hơn Thẻ RFID gồm chip bán dẫn nhỏ (bộ nhớ của chip có thể chứa từ 96 đến 512bit dữ liệu, nhiều gấp 64 lần so với mã vạch) và anten được thu nhỏ [37]

Phân loại thẻ Tag [37]:

+ Thẻ thụ động (Passive Tag): Không cần có nguồn điện bên trong Thẻ có cấu trúc đơn giản, kích thước mỏng và nhỏ, có tuổi thọ cao nhưng khoảng cách đọc khá gần

Ngày đăng: 27/11/2021, 10:31

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm