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

Luận văn thạc sĩ ứng dụng kỹ thuật học sâu trong chẩn đoán bệnh ngoài da

94 19 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 94
Dung lượng 6,14 MB

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

Nội dung

Với sự hỗ trợ về nguồn dữ liệu lớn và sức mạnh tính toán của máy tính, các mạng học sâu trở nên hiệu quả hơn, đạt được độ chính xác vượt trội so với các phương pháp truyền thống và có kh

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA -

BÙI HUY HOÀNG

ỨNG DỤNG KỸ THUẬT HỌC SÂU TRONG

Trang 2

LỜI CAM ĐOAN

Tôi xin cam đoan:

Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của TS Hoàng Văn Dũng

Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm

Xin gửi lời cảm ơn đến quý thầy cô Khoa Công nghệ thông tin, Trường Đại học Bách khoa Đà Nẵng và các thầy giáo Trường Đại học Quảng Bình đã truyền đạt những kiến thức quý báu cho tôi suốt trong thời gian học tập vừa qua

Xin chân thành cảm ơn TS Hoàng Văn Dũng đã tận tình hướng dẫn, truyền đạt kiến thức, kinh nghiệm cho tôi trong suốt quá trình thực hiện luận văn này

Tác giả

Bùi Huy Hoàng

Trang 3

MỤC LỤC

LỜI CAM ĐOAN ii

MỤC LỤC iii

TÓM TẮT LUẬN VĂN vi

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT vii

DANH MỤC CÁC BẢNG viii

DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ ix

MỞ ĐẦU 1

1 Lý do chọn đề tài 1

2 Mục đích và ý nghĩa đề tài 2

3 Mục tiêu và nhiệm vụ 2

4 Đối tượng và phạm vi nghiên cứu 3

5 Phương pháp nghiên cứu 3

6 Phương tiện, công cụ triển khai 3

7 Cấu trúc của luận văn 3

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

Tổng quan về trí tuệ nhân tạo (Artificial intelligence) 5

1.1.1 Các lĩnh vực của trí tuệ nhân tạo 5

1.1.2 Một số ứng dụng của trí tuệ nhân tạo 6

Tổng quan về ảnh và một số kỹ thuật xử lý ảnh 7

1.2.1 Tổng quan về ảnh 7

1.2.1.1 Một số khái niệm cơ bản 7

1.2.1.2 Một số dạng ảnh 8

1.2.2 Một số kỹ thuật xử lý ảnh 9

1.2.2.1 Lược đồ ảnh (Histogram) 9

1.2.2.2 Nhị phân hóa ảnh 10

1.2.2.3 Làm mịn ảnh 10

1.2.2.4 Phép co ảnh - Erosion 11

Trích chọn và biểu diễn đặc trưng hình ảnh 11

1.3.1 Đặc trưng ảnh 11

1.3.1.1 Đặc trưng màu sắc 11

1.3.1.2 Đặc trưng kết cấu 12

1.3.1.3 Đặc trưng hình dạng 12

1.3.2 Một số phương pháp trích chọn đặc trưng đơn giản 12

1.3.2.1 Trích chọn đặc trưng ảnh dựa trên màu sắc 12

Trang 4

1.3.2.2 Trích chọn đặc trưng ảnh dựa trên kết cấu 12

1.3.2.3 Trích chọn đặc trưng ảnh dựa trên hình dạng 13

1.3.3 Mô tả đặc trưng HOG 14

1.3.3.1 Đặc trưng HOG 14

1.3.3.2 Quá trình trích rút đặc trưng HOG 14

1.3.4 Mô tả đặc trưng SIFT 18

1.3.4.1 Đặc trưng SIFT 18

1.3.4.2 Quá trình xử lý SIFT 19

1.3.4.3 Mô tả đặc trưng keypoint 22

Phương pháp phân đoạn ảnh 22

Kỹ thuật học máy 26

1.5.1 Tổng quan 26

1.5.2 Máy phân loại Vector hỗ trợ (Support Vector Machine) 27

1.5.3 Mạng neural nhân tạo 29

1.5.4 Mạng neural sâu 32

CHƯƠNG 2 KỸ THUẬT HỌC SÂU CNN TRONG CHẨN ĐOÁN BỆNH 33

Bài toán chẩn đoán bệnh ngoài da bằng hình ảnh 33

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

2.1.1.1 Giới thiệu về Lưu trữ ISIC 33

2.1.1.2 Tổng quan về Ung thư da 33

2.1.2 Mục tiêu bài toán chẩn đoán bệnh 34

2.1.3 Dữ liệu chẩn đoán bệnh 35

2.1.3.1 Dữ liệu đầu vào 35

2.1.3.2 Dữ liệu đầu ra 36

2.1.3.3 Chứng minh tính chính xác 36

2.1.4 Đánh giá chẩn đoán bệnh 37

2.1.4.1 Mục tiêu số liệu 37

2.1.4.2 Số liệu khác 37

2.1.5 Chạy thử chương trình chẩn đoán bệnh 38

2.1.5.1 Xác thực 38

2.1.5.2 Kiểm tra 38

Mạng neural học sâu sử dụng trong nhận dạng 38

2.2.1 Giới thiệu về mô hình CNN 38

2.2.2 Cấu trúc mô hình CNN 39

2.2.3 Hoạt động của mô hình CNN 41

2.2.4 Một số kiến trúc học sâu đã huấn luyện có thể sử dụng 42

Trang 5

2.2.4.1 Mô hình Mạng AlexNet 42

2.2.4.2 Mô hình Mạng ZFNet 44

2.2.4.3 Mô hình mạng GoogLeNet 45

2.2.4.4 Mô hình mạng VGG19 47

Thiết kế hệ thống học sâu chẩn đoán bệnh 48

2.3.1 Kiến trúc tổng quát 48

2.3.2 Kiến trúc học sâu dựa vào mạng Deepmind inception 49

2.3.3 Tăng cường dữ liệu cho mạng học sâu 51

CHƯƠNG 3 THỰC NGHIỆM, ĐÁNH GIÁ KẾT QUẢ 53

Cơ sở dữ liệu thực nghiệm 53

Xây dựng kiến trúc học máy và môi trường cài đặt 54

3.2.1 Xây dựng kiến trúc mạng và tham số thực nghiệm 54

3.2.2 Môi trường và công cụ lập trình 57

Quy trình đánh giá, phân loại dữ liệu 58

Phân tích kết quả 59

Kết quả thực nghiệm 60

3.5.1 Kết quả đánh giá khối u ác tính trên bộ dữ liệu ISIC2017 60

3.5.2 Kết quả đánh giá các loại bệnh sắc tố da trên dữ liệu ISIC2018 61

Một số kết quả đánh giá so sánh các giải pháp 65

Một số kết quả so sánh, đánh giá sử dụng kết hợp nhiều phương pháp 66

3.7.1 Các phương pháp trích xuất đặc trưng 66

3.7.2 Các phương pháp học máy 67

3.7.3 Phân tích kết quả theo kỹ thuật tiền xử lý 67

3.7.4 Phân tích kết quả theo đặc trưng 68

3.7.5 Phân tích kết quả theo kỹ thuật học máy 69

KẾT LUẬN VÀ KIẾN NGHỊ 71

1 Kết luận 71

2 Kiến nghị 71

TÀI LIỆU THAM KHẢO 72

Trang 6

TÓM TẮT LUẬN VĂN

ỨNG DỤNG KỸ THUẬT HỌC SÂU TRONG CHẨN ĐOÁN BỆNH NGOÀI DA

Học viên: Bùi Huy Hoàng, Chuyên ngành: Khoa Học Máy Tính

Mã số: 8480101 Khóa: K35, Trường Đại học Bách khoa - ĐHĐN

Tóm tắt - Kỹ thuật học sâu là hướng tiếp cận mới đang thu hút đông đảo các nhà khoa học nghiên

cứu và các công ty công nghệ quan tâm Với sự hỗ trợ về nguồn dữ liệu lớn và sức mạnh tính toán của máy tính, các mạng học sâu trở nên hiệu quả hơn, đạt được độ chính xác vượt trội so với các phương pháp truyền thống và có khả năng ứng dụng cao trong thực tế Kỹ thuật học sâu đã cho thấy khả năng đáp ứng tốt nhiệm vụ nhận dạng cũng như hiểu được nội dung và ngữ cảnh trong đó Kỹ thuật học sâu thực sự đã trở thành một lĩnh vực nghiên cứu tiềm năng Tuy nhiên, có rất nhiều vấn đề thách thức trong kỹ thuật học sâu như nguồn dữ liệu huấn luyện, thời gian tính toán và độ chính xác Trong luận văn này, chúng tôi đã nghiên cứu, xây dựng kiến trúc mạng neural nhân tạo học sâu dựa trên kiến trúc CNN và các kỹ thuật phân tích hình ảnh để nhận dạng, phân loại bệnh ngoài da từ các mẫu ảnh vùng da bất thường, đồng thời sử dụng các phương pháp tăng cường dữ liệu để cải thiện độ chính xác Đầu tiên, mạng neural học sâu được xây dựng bằng cách sử dụng một số inceptions được sử dụng phép tích chập song song khác nhau nhằm rút ngắn thời gian xử lý Thứ hai, tăng cường hình ảnh từ tập dữ liệu huấn luyện nhằm tạo ra

dữ liệu lớn hơn đủ cho mạng neural học sâu thực hiện huấn luyện Mục đích của nó là tránh vấn đề dữ liệu huấn luyện không đủ lớn dẫn tới kết quả kém chính xác Kết quả đánh giá thử nghiệm trên các tập dữ liệu thực cho thấy các cách phân loại được đề xuất có độ chính xác trung bình 85,44%; có cách phân loại đối với một số bệnh có độ chính xác trên 90% Kết quả này cho thấy rằng phương pháp đề xuất của tôi trong luận văn này có thể ứng dụng để hỗ trợ chẩn đoán bệnh, nâng cao chất lượng phát hiện bệnh, góp phần phát triển dịch vụ chăm sóc sức khỏe cộng đồng

Từ khóa - Kỹ thuật học sâu, mạng neural nhân tạo, mạng neural sâu, dữ liệu huấn luyện

TECHNICAL APPLICATION OF DEPARTMENT

IN DIAGNOSIS OF OUTSIDE OF SKIN DISEASE Abstract - Deep learning technique is a new approach that is attracting a lot of research scientists

and technology companies interested With the support of large data sources and computing power of computers, deep learning networks become more efficient, achieve superior accuracy compared to traditional methods and have high applicability in reality Deep learning techniques have shown the ability

to respond well to the task of identification as well as understanding the content and context in it Deep learning techniques have really become a potential area of research However, there are many challenges

in deep learning techniques such as training data sources, calculation time and accuracy In this thesis,

we have studied and built neural network architecture artificial deep learning based on CNN architecture and image analysis techniques to identify and classify skin diseases from abnormal skin areas, and use data enhancement methods to improve degrees exactly First, deep learning neural networks are built using some inceptions that use different parallel convolution to shorten processing time Second, enhance the image from the training data set to generate data that is larger enough for deep learning neural networks

to carry out training Its purpose is to avoid the problem of training data not large enough to result in inaccurate results The test evaluation results on real data sets show that the proposed classification has

an average accuracy of over 80%; there is a classification for some diseases with accuracy above 90% This result shows that my proposed method in this thesis can be applied to support disease diagnosis, improve the quality of disease detection, contribute to the development of community health care services

Key words - Deep learning techniques, artificial neural networks, deep neural network, training data

Trang 7

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT

AI Artificial intelligence Trí tuệ nhân tạo

AKIEC Actinic Keratosis Dày sừng quang hóa (rối loạn tế

bào sừng dạng tiền ung thư) ANN Artificial Neural Network Mạng neural nhân tạo

AP Average Precision Độ chính xác trung bình

BCC Basal cell carcinoma Ung thư tế bào đáy

BRF Balanced Random Forest Rừng ngẫu nhiên cân bằng CNN Convolution Neural Network Mạng neural tích chập

DNN Deep Neural Network Mạng neural sâu

GPU Graphics Processing Unit Đơn vị xử lý đồ họa

HOG Histogram of Oriented

HSV Hue-Saturation-Value Giá trị bảo hòa

LBP Local Binary Pattern Mô hình nhị phân cục bộ

LN Linear normalization Chuẩn hóa tuyến tính

LR Logistic Regression Hồi quy logistic

PPV Positive predictive value Giá trị tiên đoán tích cực

ReLU Rectified Linear Unit Hiệu chỉnh đơn vị tuyến tính

SIFT Scale-Invariant Feature

SVM Support Vetor Machines Máy vector hỗ trợ

UAC Area Under Curve Giá trị diện tích dưới đường cong

Trang 8

DANH MỤC CÁC BẢNG

Bảng 2.1 Mô tả kiến trúc 25 lớp của mạng AlexNet trong Matlab 43

Bảng 2.2 Kiến trúc mạng VGG19 48

Bảng 3.1 Kiến trúc mạng học sâu DAGNetworks với 73 lớp ẩn, 1 lớp đầu vào và lớp phân loại cuối cùng 54

Bảng 3.2 Kết quả thực hiện nhận dạng với bộ dữ liệu huấn luyện 2000 mẫu ảnh 60

Bảng 3.3 Ký hiệu bệnh và số lượng mẫu dữ liệu 61

Bảng 3.4 Ma trận chéo kết quả chẩn đoán bệnh 61

Bảng 3.5 Ma trận chéo tỷ lệ phần trăm kết quả chẩn đoán bệnh 62

Bảng 3.6 Kết quả đánh giá theo các tiêu chí chẩn đoán của từng loại bệnh ngoài da 62

Bảng 3.7 Số lượng mẫu theo các bệnh 65

Bảng 3.8 Kết quả nhận dạng bệnh 65

Bảng 3.9 Tỷ lệ nhận dạng đúng theo từng loại bệnh 65

Bảng 3.10 Phân loại AUC hiệu quả và các định nghĩa tiêu chuẩn khi sử dụng với các phương pháp trích xuất 69

Trang 9

DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ

Hình 1.1 Ảnh ký tự chữ A và ma trận số của vùng chọn 7

Hình 1.2 Ma trận số biểu thị mức xám của các điểm ảnh 8

Hình 1.3 Lược đồ ảnh đa mức xám kích thước 64x64 pixels 9

Hình 1.4 Lược đồ cường độ sáng theo chiều ngang ảnh (trục Ox) 9

Hình 1.5 Lược đồ cường độ sáng theo chiều dọc ảnh (trục Oy) 10

Hình 1.6 Minh họa phép co ảnh trên ảnh nhị phân 11

Hình 1.7 Ảnh nhị phân ký tự A trước và sau khi co ảnh 11

Hình 1.8 Ảnh minh họa vector liên kết hệ số góc và liên kết giữa các biên cạnh 14

Hình 1.9 Quá trình trích đặc trưng HOG 15

Hình 1.10 Mẫu ảnh đầu vào chia thành các cell và block để tính đặc trưng HOG 15

Hình 1.11 Tính hướng và độ lớn gradient 16

Hình 1.12 Tính gradient ảnh 16

Hình 1.13 Chia hướng theo các bin của lược đồ hướng gradient 17

Hình 1.14 Sơ đồ tổng quan về trích rút đặc trưng HOG 18

Hình 1.15 Đối tượng trong vùng cửa sổ thay đổi khi co giãn ảnh 19

Hình 1.16 Tính DoG theo các mức tỷ lệ tạo thành hình chóp 20

Hình 1.17 Xác định điểm cực trị dựa vào các mức giá trị DoG 21

Hình 1.18 Kết quả minh họa tính DoG và tính xác điểm cực trị 21

Hình 1.19 Mô tả đặc trưng keypoint bằng lược đồ hướng gradient 22

Hình 1.20 Sử dụng các phương pháp phân đoạn khác nhau trong xử lý ảnh y tế 24

Hình 1.21 Minh họa phân cụm bằng k-means 25

Hình 1.22 Quá trình nhận dạng đối tượng 27

Hình 1.23 Đường thẳng phân chia 2 lớp trong không gian 2 chiều 28

Hình 1.24 Margin trong SVM 28

Hình 1.25 Mô hình ANN 30

Hình 1.26 Quá trình xử lý thông tin của một ANN 30

Hình 1.27 Hàm chuyển đổi 31

Hình 1.28 Mô hình mạng neural 32

Hình 2.1 Hình ảnh một số bệnh về da 35

Trang 10

Hình 2.2 Mô hình mạng Neural tích chập 39

Hình 2.3 Tính tích chập với filter 39

Hình 2.4 Tính toán với phương pháp MaxPooling 40

Hình 2.5 Hình ảnh kết quả ứng với 32 filter 41

Hình 2.6 Kiến trúc 8 lớp của mô hình AlexNet 42

Hình 2.7 Kiến trúc 8 lớp của mô hình FZNet 44

Hình 2.8 Một dạng cụ thể của kiến trúc mạng GoogLeNet 46

Hình 2.9 Sơ đồ tổng quát giải pháp phân loại bệnh qua hình ảnh 49

Hình 2.10 Kiến trúc tổng thể của Inception V4 50

Hình 3.1 Các hình ảnh u ác tính 53

Hình 3.2 Các hình ảnh u lành tính 53

Hình 3.3 Minh họa một số mẫu bệnh chuẩn đoán đúng 63

Hình 3.4 Minh họa một số mẫu bệnh chẩn đoán nhầm 64

Hình 3.5 Sơ đồ phương pháp đánh giá 66

Hình 3.6 Kết quả AUC tốt nhất của các phương pháp tiền xử lý trên hai bộ dữ liệu 68

Hình 3.7 Kết quả AUC tốt nhất của các phương pháp trích xuất đặc trưng khác nhau với các phương pháp tiền xử lý trước đó 68

Trang 11

MỞ ĐẦU

1 Lý do chọn đề tài

Sức khỏe có vai trò quan trọng trong sự phát triển kinh tế - xã hội của đất nước Theo quan điểm chung, sự phát triển bền vững của mỗi quốc gia phụ thuộc chủ yếu vào chất lượng nguồn nhân lực Một quốc gia không thể phát triển nếu người dân không có sức khỏe, không được học hành với những kiến thức và kỹ năng cần thiết Sức khỏe quan trọng đối với sự phát triển kinh tế - xã hội của mọi quốc gia và là một trong những quyền lợi cơ bản nhất của con người Do vậy, sức khỏe cần phải được nhìn nhận như tài

sản của con người và xã hội, hơn bất cứ của cải vật chất nào

Cùng với sự phát triển nhanh chóng của khoa học công nghệ, các kỹ thuật dựa trên trí tuệ nhân tạo và xử lý ảnh ứng dụng trong các hệ thống thông minh đạt được những kết quả vượt bậc, có nhiều bước đột phá Cuộc cách mạng công nghiệp lần thứ 4 (Industry 4.0) hiện đang diễn ra trên phạm vi toàn cầu, đặc biệt ở các nước có nền khoa học kỹ thuật phát triển, qua đó, các hệ thống thông minh dần thay thế con người Nền tảng của các hệ thống thông minh có thể nói bắt nguồn từ lĩnh vực trí tuệ nhân tạo và xử

lý ảnh Trong đó, xử lý ảnh là một trong những giác quan máy quan trọng nhất giúp cho quá trình thu nhận tín hiệu, xử lý, phân tích nhằm đưa ra tri thức phục vụ các hệ thống

ra quyết định Xử lý ảnh là một chuyên ngành có nhiều ứng dựng trong các lĩnh vực khoa học, đời sống Trong thiên văn học, xử lý ảnh giúp các nhà khoa học thu thập

và phân tích hình ảnh vũ trụ; trong địa lý, người ta có thể dựa vào xử lý ảnh để lập chính xác các bản đồ địa hình, địa giới; nén ảnh rất cần thiết cho lĩnh vực thông tin

và truyền thông; kỹ thuật nhận dạng hình ảnh được dùng nhiều trong các lĩnh vực liên quan đến kinh tế, quân sự Đặc biệt, trong y học, xử lý ảnh hỗ trợ rất tốt cho việc chẩn đoán hình ảnh các bệnh về khối u, xương, mạch, ung thư…, tuy nhiên, trong quá trình thu nhận ảnh, ảnh thu được phần nhiều có chất lượng không như ý muốn Đối với ảnh y học, do đặc trưng thường chụp các bộ phận bên trong cơ thể người bằng các thiết bị chuyên dụng như máy chụp X quang, máy chụp city, máy siêu âm, máy nội soi… nên chất lượng hình ảnh thường bị mờ, nhiễu, không sắc nét… gây khó khăn cho việc chẩn đoán bệnh

Để khắc phục vấn đề trên, luận văn sử dụng kỹ thuật học sâu (deep learning)

để giải quyết Kỹ thuật học sâu thể hiện tính ưu việt hơn các kỹ thuật khác trong việc nhận diện hình ảnh cũng như nhiều lĩnh vực khác, những kết quả nghiên cứu gần đây áp dụng kỹ thuật này cho độ chính xác cao hơn Trong lĩnh vực y tế có nhiều công ty khởi nghiệp (Enlitic, Freenome, Merck, Atomwise…) về y sinh đã đưa ra những sản phẩm điện toán có khả năng đọc phim X-quang, cộng hưởng từ (MRI) và phim chụp cắt lớp

vi tính một cách nhanh chóng và chính xác bệnh chuẩn hơn cả bác sỹ điều trị

Trang 12

2 Mục đích và ý nghĩa đề tài

a Mục đích

Mục tiêu chính của đề tài là nghiên cứu các kỹ thuật trí tuệ nhân tạo, đặc biệt là

kỹ thuật học sâu và các ứng dụng của nó trong thực tế Nghiên cứu hình ảnh về da, tập trung vào các điểm ảnh bất thường dựa trên các kỹ thuật học sâu mạng tích chập 3D-CNN trong lĩnh vực thị giác máy tính

Thực nghiệm áp dụng kỹ thuật mạng tích chập 3D-CNN trong trích xuất đặc trưng hình ảnh để dự đoán bệnh ngoài da Từ đó phân tích, đánh giá hiệu quả và độ chính xác trên các thư viện chuẩn có sẵn

b Ý nghĩa khoa học

- Kế thừa những nghiên cứu về các hệ thống nhận dạng hình ảnh y tế trước đây

- Tìm hiểu, mô tả về mô hình hệ thống chẩn đoán bệnh qua ảnh chụp qua da

- So sánh giữa các kỹ thuật được sử dụng trong hệ thống nhận dạng

- Đánh giá hiệu suất của phương pháp bằng các thực nghiệm trên tập dữ liệu

thực

- Vận dụng trí tuệ nhân tạo trong việc giải quyết bài toán chẩn đoán bệnh qua

ảnh chụp qua da với khả năng xử lý được nhiều loại bệnh

- Nghiên cứu kỹ thuật trí tuệ nhân tạo, mạng neural học sâu

- Phát biểu bài toán

- Phân tích và cài đặt giải thuật cho bài toán chẩn đoán bệnh qua ảnh chụp da

- Đánh giá kết quả theo yêu cầu của đề tài

Trang 13

4 Đối tượng và phạm vi nghiên cứu

a Đối tượng nghiên cứu

Nghiên cứu các kỹ thuật trí tuệ nhân tạo, kỹ thuật mạng neural học sâu để ứng dụng trong phân tích hình ảnh chụp qua da

- Phương pháp phân tích điều tra số liệu: Thu thập và nghiên cứu các tài liệu có

liên quan đến đề tài

- Phương pháp nghiên cứu tài liệu: Các kỹ thuật xử lý ảnh, trí tuệ nhân tạo và

đặc biệt là kỹ thuật học sâu

b Phương pháp thực nghiệm

- Nghiên cứu và khai thác các mô hình nhận diện hình ảnh đã được đề xuất

- Xây dựng chương trình ứng dụng vào nhận dạng các điểm đặc trưng qua ảnh

chụp qua da đối với từng loại bệnh

- Kiểm tra, thử nghiệm, nhận xét và đánh giá kết quả

6 Phương tiện, công cụ triển khai

- Sử dụng ngôn ngữ lập trình Matlab

- Thư viện thị giác máy tính, thư viện trí tuệ nhân tạo OpenCV, Computer vision

tool, Neural network tool

7 Cấu trúc của luận văn

Luận văn được trình bày trong 3 chương:

Mở đầu

Chương 1 Cơ sở lý thuyết

Trình bày được các cơ sở lý thuyết sau:

+ Tổng quan về trí tuệ nhân tạo

+ Tổng quan về ảnh và một số kỹ thuật xử lý ảnh

+ Trích chọn và biểu diễn đặc trưng hình ảnh

Trang 14

+ Phương pháp phân đoạn ảnh

+ Kỹ thuật học máy

Chương 2 Kỹ thuật học sâu CNN trong chẩn đoán bệnh

Trình bày về các nội dung:

+ Bài toán chẩn đoán bệnh ngoài da bằng hình ảnh

+ Mạng neural học sâu sử dụng trong nhận dạng

+ Thiết kế hệ thống học sâu chẩn đoán bệnh

Chương 3 Thực nghiệm, đánh giá kết quả

Trình bày về các nội dung:

+ Cơ sở dữ liệu thực nghiệm

+ Xây dựng kiến trúc học máy và môi trường cài đặt

+ Quy trình đánh giá, phân loại dữ liệu

+ Phân tích kết quả

+ Kết quả thực nghiệm

+ Một số kết quả đánh giá so sánh các giải pháp

+ Một số kết quả so sánh, đánh giá sử dụng kết hợp nhiều phương pháp

- Kết luận và kiến nghị

- Tài liệu tham khảo

Trang 15

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

Tổng quan về trí tuệ nhân tạo (Artificial intelligence)

Vào năm 1943, Warren McCulioch và Walter Pitts bắt đầu thực hiện nghiên cứu

ba cơ sở lý thuyết cơ bản: Triết học cơ bản và chức năng của các neural thần kinh; phân tích các mệnh đề logic; lý thuyết dự đoán của Turing Các tác giả đã nghiên cứu đề xuất

mô hình neural nhân tạo, mỗi neural đặc trưng bởi hai trạng thái “bật”, “tắt” và phát hiện mạng neural có khả năng học

Trí tuệ nhân tạo (AI) được thiết lập bởi John McCarthy tại Hội thảo đầu tiên về chủ đề này vào mùa hè năm 1956[1] Đồng thời, ông cũng đề xuất ngôn ngữ lập trình Lisp, một trong những ngôn ngữ lập trình hàm tiêu biểu, được sử dụng trong lĩnh vực

AI Sau đó, Alan Turing đưa ra "Turing test" như một phương pháp kiểm chứng hành vi thông minh

Marvin Minsky và Seymour Papert đưa ra các chứng minh đầu tiên về giới hạn của các mạng neural đơn giản Ngôn ngữ lập trình logic Prolog ra đời và được phát triển bởi Alain Colmerauer Ted Shortliffe xây dựng thành công một số hệ chuyên gia đầu tiên trợ giúp chẩn đoán trong y học, các hệ thống này sử dụng ngôn ngữ luật để biểu diễn tri thức và suy diễn

Vào đầu những năm 1980, những nghiên cứu thành công liên quan đến AI như các

hệ chuyên gia (expert systems), một dạng của chương trình AI mô phỏng tri thức và các

kỹ năng phân tích của một hoặc nhiều chuyên gia con người AI được áp dụng trong logic, khai phá dữ liệu, chẩn đoán y học và nhiều lĩnh vực ứng dụng khác trong công nghiệp Sự thành công dựa vào nhiều yếu tố: Tăng khả năng tính toán của máy tính, tập trung giải quyết các bài toán con cụ thể, xây dựng các mối quan hệ giữa AI và các lĩnh vực khác giải quyết các bài toán tương tự và một sự chuyển giao mới của các nhà nghiên cứu cho các phương pháp toán học vững chắc và chuẩn khoa học chính xác

1.1.1 Các lĩnh vực của trí tuệ nhân tạo

- Lập luận, suy diễn tự động: Khái niệm lập luận và suy diễn được sử dụng rất

phổ biến trong lĩnh vực AI Lập luận là suy diễn logic, dùng để chỉ một tiến trình rút ra kết luận (tri thức mới) từ những giả thiết đã cho (được biểu diễn dưới dạng cơ sở tri thức) Như vậy, để thực hiện lập luận người ta cần có các phương pháp lưu trữ cơ sở tri thức và các thủ tục lập luận trên cơ sở tri thức đó

- Biểu diễn tri thức: Muốn máy tính có thể lưu trữ và xử lý tri thức thì cần có các

phương pháp biểu diễn tri thức Các phương pháp biểu diễn tri thức ở đây bao gồm các ngôn ngữ biểu diễn và các kỹ thuật xử lý tri thức Một ngôn ngữ biểu diễn tri thức được đánh giá là “tốt” nếu nó có tính biểu đạt cao và tính hiệu quả của thuật toán lập luận trên

Trang 16

ngôn ngữ đó Tính biểu đạt của ngôn ngữ thể hiện khả năng biểu diễn một phạm vi rộng lớn các thông tin trong một miền ứng dụng Tính hiệu quả của các thuật toán lập luận thể hiện chi phí về thời gian và không gian dành cho việc lập luận

- Lập kế hoạch: Khả năng suy ra các mục đích cần đạt được đối với các nhiệm

vụ đưa ra và xác định dãy các hành động cần thực hiện để đạt được mục đích đó

- Xử lý ngôn ngữ tự nhiên: Là một nhánh của AI, tập trung vào các ứng dụng trên

ngôn ngữ của con người Các ứng dụng trong nhận dạng tiếng nói, nhận dạng chữ viết, dịch tự động, tìm kiếm thông tin…

- Hệ chuyên gia: Cung cấp các hệ thống có khả năng suy luận để đưa ra những

kết luận Các hệ chuyên gia có khả năng xử lý lượng thông tin lớn và cung cấp các kết luận dựa trên những thông tin đó Có rất nhiều hệ chuyên gia nổi tiếng như các hệ chuyên gia y học MYCIN, đoán nhận cấu trúc phân tử từ công thức hóa học DENDRAL…

1.1.2 Một số ứng dụng của trí tuệ nhân tạo

Ngày nay, AI ngày càng được ứng dụng nhiều trong các lĩnh vực khác nhau, từ việc phục vụ đời sống hàng ngày của con người cho đến giáo dục, tài chính ngân hàng,

y học, rô-bôt, ôtô tự hành… và thực tế chứng minh rằng việc ứng dụng AI giúp nâng cao hiệu suất lao động, cải thiện chất lượng cuộc sống của con người, phát triển kinh doanh cho các doanh nghiệp và nó cũng sẽ là nền tảng của rất nhiều các ứng dụng và dịch vụ mới khác trong tương lai

Nhờ sự phát triển khoa học vật lý lượng tử giúp cho việc tính toán và xử lý song song của các hệ thống nhanh hơn đáng kể, vì thế việc áp dụng các phương pháp học máy vào xử lý các bài toán thực tế ngày một thuận lợi hơn Trong đó, kỹ thuật học sâu (deep learning) đã được quan tâm và phát triển mạnh giúp cho máy tính giải quyết các bài toán trong lĩnh vực học máy ngày càng tốt hơn, mà cụ thể đó là các bài toán tương tác người

- máy trong lĩnh vực thị giác máy tính, nhận thức sự vật, gợi ý trong các hệ thống lớn, chẩn đoán các bệnh hiếm gặp

Một số ứng dụng phổ biến hiện nay như[2]:

- Lĩnh vực giáo dục: Mô hình trường học thông minh hay học trực tuyến ngày

một phát triển nhờ ứng dụng AI vào quá trình tương tác học tập giữa nhà trường và học sinh, sinh viên tạo ra một hệ sinh thái về giáo dục mà ở đó nhà trường và học sinh tương tác với nhau một cách thuận lợi và nhanh chóng thông qua hệ sinh thái này

- Lĩnh vực y tế: Chẩn đoán, điều trị và theo dõi bệnh giúp nâng cao chăm sóc sức

khỏe con người, giảm chi phí chữa bệnh cho người dân, trong đó kể cả các dự án như điều trị ưng thư bằng AI, Rô-bôt chăm sóc y tế…

Trang 17

- Công nghiệp: Nhận dạng hình ảnh, giọng nói, rô-bôt thông minh, xe tự hành,

hệ thống tương tác thực ảo… đã phát triển mạnh mẽ nhờ sự phát triển của mạng Neural học sâu, hệ thống xử lý phân tán song song (Parallel Distributed processing)

Tổng quan về ảnh và một số kỹ thuật xử lý ảnh

1.2.1 Tổng quan về ảnh

1.2.1.1 Một số khái niệm cơ bản

- Ảnh số: Ảnh số là tập hợp hữu hạn các điểm ảnh với mức xám phù hợp dùng để

mô tả ảnh gần với ảnh thật Ảnh số bao gồm một tập hữu hạn các phần tử được biểu diễn bởi giá trị số Ảnh số có thể được biểu diễn dưới dạng ma trận hai chiều, mỗi phần tử của ảnh số gọi là điểm ảnh (pixel) Số điểm ảnh xác định độ phân giải của ảnh Ảnh có

độ phân giải càng cao thì càng thể hiện rõ nét các đặt điểm của tấm ảnh và càng làm cho tấm ảnh trở nên thực và sắc nét hơn

Hình 1.1 Ảnh ký tự chữ A và ma trận số của vùng chọn

- Điểm ảnh: Điểm ảnh (Pixel) là một phần tử của ảnh số tại toạ độ (x, y) với độ xám

hoặc màu nhất định Kích thước và khoảng cách giữa các điểm ảnh đó được chọn thích hợp sao cho mắt người cảm nhận sự liên tục về không gian và mức xám (hoặc màu) của ảnh số gần như ảnh thật Mỗi phần tử trong ma trận được gọi là một phần tử ảnh Trong hình 1.1

mỗi điểm ảnh là một ô mang một giá trị số biểu thị mức xám từ 0 đến 255

- Mức xám của ảnh: Mức xám: Là kết quả của sự biến đổi tương ứng 1 giá trị độ

sáng của 1 điểm ảnh với một giá trị nguyên dương Thông thường nó xác định trong [0, 255] tuỳ thuộc vào giá trị mà mỗi điểm ảnh được biểu diễn Các thang giá trị mức xám thông thường: 2, 16, 32, 64, 128 Ảnh đa mức xám thường dùng là 256, như vậy mức xám thường xác định trong khoảng [0, 255] tùy thuộc vào giá trị mà mỗi điểm ảnh được biểu diễn

Trang 18

Hình 1.2 Ma trận số biểu thị mức xám của các điểm ảnh

- Độ phân giải của ảnh

Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh được ấn định trên một ảnh

số được hiển thị

Theo định nghĩa, khoảng cách giữa các điểm ảnh phải được chọn sao cho mắt người vẫn thấy được sự liên tục của ảnh Việc lựa chọn khoảng cách thích hợp tạo nên một mật độ phân bổ, đó chính là độ phân giải và được phân bố theo trục x và y trong không gian hai chiều

Một số độ phân giải thông thường được sử dụng trong các thiết bị hiển thị và lĩnh vực xử lý ảnh như 640x480, 800x600, 1024x768 (HD), 192x1080 (full HD), 3840x2160 (UHD)[2]

1.2.1.2 Một số dạng ảnh

- Ảnh màu: thường là các ảnh chứa thông tin về đối tượng được biểu diễn dưới

dạng màu sắc mà mắc thường có thể quan sát được Mỗi điểm ảnh có cấu trúc gồm nhiều kênh khác nhau, thông thường trong máy tính, nó biểu diễn 3 lớp màu cơ bản RGB (Red, Green, Blue)[2]

- Ảnh đa mức xám: thường biểu diễn thông tin liên quan đến cường độ đa xám

của đối tượng trong không gian mà không được thể hiện bởi màu sắc thực của nó[2]

- Ảnh nhị phân: Giá trị xám của tất cả các điểm ảnh chỉ nhận giá trị 1 hoặc 0 như

vậy mỗi điểm ảnh trong ảnh nhị phân được biểu diễn bởi 1 bit Ảnh nhị phân thường được dùng để biểu diễn, phân biệt sự xuất hiện đối tượng và nền trong mỗi bước ảnh

Trang 19

1.2.2 Một số kỹ thuật xử lý ảnh

1.2.2.1 Lược đồ ảnh (Histogram)

Lược đồ ảnh là một đồ thị biểu diễn tần số xuất hiện của cường độ sáng điểm ảnh theo các mức hay nói cách khác lược đồ Histogram của một hình ảnh biểu diễn lược đồ

về sự phân bố các mức cường độ xám của một bức ảnh[4]

Ví dụ: Cho ảnh đa mức xám đầu vào với kích thước 64x64 pixels Như vậy số lượng điểm ảnh 64x64 bằng 4.096 điểm ảnh Với ảnh đa mức xám 8 bit thì các điểm ảnh

có giá trị nằm trong khoảng từ 0 đến 255 Lược đồ ảnh là kết quả của việc thực hiện thống kê có bao nhiêu điểm ảnh có giá trị từ 0 đến 255 từ 4.096 điểm ảnh đã cho Lược

đồ có thể tính theo từng giá trị hoặc có thể tính trong các khoảng giá trị

Hình 1.3 Lược đồ ảnh đa mức xám kích thước 64x64 pixels

Lược đồ ảnh thể hiện mức cường độ sáng theo chiều ngang ảnh (trục Ox) là kết quả của việc tính tổng giá trị của các điểm ảnh theo từng cột của ảnh Ví dụ: cho ảnh xám đầu vào có kích thước 600x200 pixels, khi đó lược đồ sẽ có 600 cột và độ cao mỗi cột là tổng giá trị (từ 0 đến 255) của 200 điểm ảnh tương ứng với 200 dòng

Hình 1.4 Lược đồ cường độ sáng theo chiều ngang ảnh (trục Ox)

Tương tự lược đồ thể hiện cường độ sáng theo chiều dọc (trục Oy) là kết quả của việc tính tổng giá trị của các điểm ảnh theo từng dòng của ảnh

Trang 20

Hình 1.5 Lược đồ cường độ sáng theo chiều dọc ảnh (trục Oy)

1.2.2.2 Nhị phân hóa ảnh

Để chuyển sang ảnh nhị phân trước tiên cần chuyển ảnh về dạng ảnh xám với các mức xám có giá trị từ 0 đến 255 dựa trên ba giá trị red, green, blue theo công thức:

greycolor = r * 0.299 + g * 0.587 + b * 0.114

Sử dụng ngưỡng thích hợp để chuyển các điểm ảnh về dạng 0 (màu đen) hoặc

255 (màu trắng) theo nguyên tắc:

g(x, y) = 1 nếu f(x, y) > T và g(x, y) = 0 nếu f(x, y) ≤ T

Trong đó: - g(x, y) là giá trị kết quả tại điểm ảnh có tọa độ (x, y);

- f(x, y) là giá trị điểm ảnh (x, y) của ảnh cần xử lý;

- T là ngưỡng

1.2.2.3 Làm mịn ảnh

Mịn ảnh được thực hiện dựa trên bộ lọc trơn (Smoothing filter) nhằm loại nhiễu, bước này dùng trong quá trình tiền xử lý (Pre-processing) khi phải giảm bớt một số chi tiết không cần thiết của một đối tượng nào đó trong ảnh Một hướng áp dụng phổ biến

để giảm nhiễu là lọc tuyến tính, những bộ lọc tuyến tính theo hướng này được biết đến như là lọc thông thấp

Ý tưởng cho những bộ lọc thông thấp là thay thế giá trị mức sáng của mọi điểm ảnh bằng giá trị mức sáng trung bình của các hàng xóm, định nghĩa theo mặt nạ lọc Kết quả trên dẫn tới ảnh số văn bản mất đi những chi tiết nhiễu, ma trận của một bộ lọc làm mịn ảnh thường sử dụng có các hệ số như sau:

Trang 21

1.2.2.4 Phép co ảnh - Erosion

Xét tập hợp A và tập hợp B (Phần tử cấu trúc), phép co ảnh nhị phân của tập hợp

A bởi phần tử cấu trúc B được kí hiệu A⊝ B và viết dưới dạng công thức như sau[2]:

A ⊝ B = { c (B)C  A }

Trong đó: A: Ma trận điểm ảnh của ảnh nhị phân

B: Là phần tử cấu trúc

Hình 1.6 Minh họa phép co ảnh trên ảnh nhị phân

Hình 1.7 Ảnh nhị phân ký tự A trước và sau khi co ảnh

Trích chọn và biểu diễn đặc trưng hình ảnh

1.3.1 Đặc trưng ảnh

1.3.1.1 Đặc trưng màu sắc

Màu sắc là một đặc trưng nổi bật và được sử dụng phổ biến nhất trong tìm kiếm ảnh theo nội dung Mỗi một điểm ảnh (thông tin màu sắc) có thể được biểu diễn như một điểm trong không gian màu sắc ba chiều Các không gian màu sắc thường dùng là: RGB, Munsell, CIE, HSV

Trang 22

1.3.1.2 Đặc trưng kết cấu

Kết cấu hay còn gọi là vân (texture) là một đối tượng dùng để phân hoạch ảnh ra thành những vùng được quan tâm và để phân lớp những vùng đó Vân cung cấp thông tin sự sắp xếp về mặt không gian của màu sắc và cường độ của một ảnh

1.3.1.3 Đặc trưng hình dạng

Hình dạng của một ảnh hay một vùng là một đặc trưng quan trọng trong việc xác định và phân biệt ảnh trong nhận dạng mẫu Mục tiêu chính của biểu diễn hình dạng trong nhận dạng mẫu là đo thuộc tính hình học của một đối tượng được dùng trong phân lớp, so sánh và nhận dạng đối tượng

1.3.2 Một số phương pháp trích chọn đặc trưng đơn giản

1.3.2.1 Trích chọn đặc trưng ảnh dựa trên màu sắc

- Lược đồ màu (Histogram): Là đại lượng đặc trưng cho phân bố màu cục bộ

của ảnh Độ đo tính tương tự về màu sắc được tính bằng phần giao của 2 lược đồ màu ảnh truy vấn H(IQ) và ảnh trong cơ sở dữ liệu ảnh H(ID) Kết quả sẽ là một lược đồ màu thể hiện độ giống nhau giữa 2 ảnh trên Tuy nhiên vì lược đồ màu chỉ thể hiện tính phân

bố màu toàn cục của ảnh mà không xét đến tính phân bố cục bộ của điểm ảnh nên có thể

có 2 ảnh xem rất khác nhau nhưng lại có cùng lược đồ màu

- Vector liên kết màu (Color Coherence Vector): Là lược đồ tinh chế lược đồ

màu, chia mỗi ô màu thành 2 nhóm điểm ảnh: nhóm liên kết màu (coherence pixels) và nhóm không liên kết màu (noncoherence pixels) Vector liên kết màu còn giúp giải quyết khuyết điểm về tính không duy nhất của lược đồ màu đối với ảnh Hai ảnh có thể có chung lược đồ màu nhưng khác nhau hoàn toàn, đây là khuyết điểm của lược đồ màu Nhưng với tìm kiếm theo đặc trưng vector liên kết màu thì nó sẽ giải quyết được khuyết điểm không duy nhất này

1.3.2.2 Trích chọn đặc trưng ảnh dựa trên kết cấu

Kết cấu hay còn gọi là vân (texture), là một đối tượng dùng để phân hoạch ảnh

ra thành những vùng được quan tâm và để phân lớp những vùng đó Vân cung cấp thông tin sự sắp xếp về mặt không gian của màu sắc và cường độ của một ảnh Ví dụ cấu trúc của vân của một số loại lá cây

- Ma trận đồng hiện (Co-occurence Matrix): Ma trận đồng hiện là ma trận lưu

trữ số lần xuất hiện của những cặp điểm ảnh trên một vùng đang xét Các cặp điểm này được tính theo những quy luật cho trước

Ví dụ với ảnh f như sau:

Trang 23

- Phép biến đổi Wavelet: Vân thu được từ biến đối wavelet được hầu hết các

nghiên cứu công nhận là đặc trưng về vân tốt nhất cho việc phân đoạn ảnh Thuật toán tính ra các đặc trưng vân theo biến đổi Wavelet:

+ Tính biến đổi Wavelet trên toàn ảnh

+ Ứng với mỗi vùng cần tính, ta tính được 3 thành phần ứng với các miền HL,

LH và HH

+ Khi áp dụng biến đổi wavelet ở những mức sâu hơn, ta sẽ có tương ứng 3xV thành phần ứng với V là chiều sâu của biến đổi Wavelet

- Các đặc trưng lọc Gabor: Lọc Gabor được sử dụng rộng rãi để trích rút các đặc

trưng ảnh, đặc biệt là các đặc trưng kết cấu Nó tối ưu về mặt cực tiểu hoá sự không chắc chắn chung trong miền không gian và miền tần số và thường được sử dụng như một hướng và tỷ lệ biên điều hướng và phát hiện đường Có nhiều cách tiếp cận đã được đề xuất để mô tả các kết cấu của các ảnh dựa trên các lọc Gabor

- Các đặc trưng biến đổi sóng: Tương tự với lọc Gabor, biến đổi sóng cung cấp

một cách tiếp cận đa độ phân giải đối với phân tích kết cấu và phân lớp Các biến đổi

sóng phân rã một tín hiệu với một họ các hàm cơ sở ψmn(x) thu được thông qua dịch

chuyển sự có giãn của sóng ψ(x)

Hơn nữa, theo so sánh của các đặc trưng biến đổi sóng khác nhau, chọn riêng lọc sóng không là then chốt cho phân tích kết cấu

1.3.2.3 Trích chọn đặc trưng ảnh dựa trên hình dạng

- Trích chọn đặc trưng theo biên

+ Lược đồ hệ số góc: Lược đồ gồm 73 phần tử trong đó: 72 phần tử đầu chứa số điểm ảnh có hệ số gốc từ 0 - 355 độ, các hệ số góc này cách nhau 5 độ Phần tử cuối chứa số phần tử không nằm trên biên cạnh

+ Vector liên kết hệ số góc (Edge Direction Coherence Vector): Là lược đồ tinh chế lược đồ hệ số góc, chia mỗi ô chứa thành 2 nhóm điểm ảnh: Nhóm điểm liên kết hệ

Trang 24

số góc (coherent pixels) và nhóm điểm không liên kết hệ số góc (non-coherence pixels) Một pixel trong một ô chứa được gọi là điểm liên kết hệ số góc (coherent) nếu nó thuộc vùng gồm các điểm thuộc cạnh có hệ số góc tương tự với kích thước lớn (thường vào khoảng 0.1% kích thước ảnh)

Hình 1.8 Ảnh minh họa vector liên kết hệ số góc và liên kết giữa các biên cạnh

- Trích chọn đặc trưng theo vùng: Ảnh gồm tập hợp các vùng hay còn gọi là

đoạn Đây là đặc trưng đặc biệt của ảnh Với đặc trưng vùng sẽ giúp cho chúng ta có thể giải quyết được một vấn đề lớn đang cản trở bước phát triển việc truy tìm ảnh dựa vào nội dung là dữ liệu nhập được mô phỏng gần gũi hơn với suy nghĩ của con người và ảnh tìm được có thể mang nội dung ngữ nghĩa rất khác so với ảnh truy vấn

1.3.3 Mô tả đặc trưng HOG

1.3.3.2 Quá trình trích rút đặc trưng HOG

Quá trình xử lý liên quan đến cách chia mẫu ảnh đầu vào thành lưới các cell và tính vector đặc trưng HOG theo phương pháp thông dụng nhất áp dụng cho bài toán

Trang 25

nhận dạng người Để phù hợp với các bài toán nhận dạng đối tượng khác nhau, cần có những biến đổi phù hợp nhằm đạt kết quả chính xác cao và thời gian tính toán tối ưu nhất Quá trình trích rút đặc trưng HOG được thực hiện theo các bước như sau:

Hình 1.9 Quá trình trích rút đặc trưng HOG

Quá trình chia mẫu ảnh đầu vào phục vụ tính đặc trưng HOG được thực hiện như sau: Mỗi mẫu ảnh đầu vào (window) được xác định kích thước chuẩn hóa là 128×64 pixels, mẫu được chia thành các cell kích thước 8×8 pixels (có thể chia cell dạng hình tròn), mỗi block gồm 2×2 cells (tương ứng 16×16 pixels) xếp chồng lên nhau, mỗi block chồng lên 50% block láng giềng Do đó, với kích thước mẫu đầu vào là 128×64 được chia thành 7×15 blocks =105 blocks Mỗi cell xây dựng lược đồ 9 bin dựa vào hướng gradient (vector 9 phần tử), mỗi block hình thành nên 36 phần tử (4 cell× 9 phần tử/cell) Cuối cùng, liên kết tập vector đặc trưng theo block hình thành nên vector đặc trưng HOG của mỗi mẫu ảnh

Hình 1.10 Mẫu ảnh đầu vào chia thành các cell và block để tính đặc trưng HOG

Quá trình trích rút đặc trưng HOG như sau[2]:

- Bước 1: Tiền xử lý thực hiện chuẩn hóa màu, lọc nhiễu, chuyển ảnh màu qua ảnh đa mức xám Việc trích rút đặc trưng HOG thường được thực hiện trên ảnh đa mức xám, nếu ảnh đầu vào là ảnh màu sẽ được chuyển thành ảnh đa mức xám Tuy nhiên, HOG cũng có thể trích rút trên ảnh màu theo từng kênh màu Sau đó chuẩn hóa gamma trên ảnh đa mức xám để giảm đi ảnh hưởng của sự thay đổi ánh sáng Theo tác giả Dalal and Triggs đã chỉ ra rằng việc chuẩn hóa này có thể được bỏ qua mà không làm ảnh hưởng lớn đến độ chính xác của HOG

Chia hướng, nhóm theo cell

Tính đặc trưng

và chuẩn hóa theo block

Trích xuất đặc trưng trên toàn mẫu ảnh

- Mỗi cell chứa 8x8 pixels

- Số cell theo chiều ngang 64pixel/8pixel =8

- Số cell theo chiều dọc 128pixel/8pixel =16

- Có 105 block với 7 block theo chiều theo chiều ngang và 15 block dọc

Trang 26

- Bước 2: Tính gradient ảnh trên tất cả các pixel của ảnh Phương pháp phổ biến

nhất để tính gradient ảnh là sử dụng mặt nạ lọc một chiều theo các hướng X (ngang) và

Y (dọc) như sau:

[-1,0,1] và [-1,0,1]

Tính độ lớn (biên độ) và hướng gradient Tùy thuộc vào từng bài toán cụ thể ta

có nhiều cách xác định hướng khác nhau như sử dụng hướng theo 360 độ hoặc 180 độ,

gradient tính có dấu hoặc không có dấu Không tính dấu có nghĩa là gradient ngược

chiều nhau được xem là như nhau, không phân biệt từ đen qua trắng hoặc trắng qua đen

Tính độ lớn gradient có thể không cần thiết nếu như việc tính lược đồ gradient chỉ dựa

vào hướng Trong trường hợp độ lớn gradient được sử dụng như là trọng số để tính giá

trị các bin thì cần đến giá trị độ lớn gradient Giá trị độ lớn và hướng được tính đơn giản

theo công thức:

2 2

y

x G G

lớn gradient

Trang 27

- Bước 3: Chia hướng theo các bin của lược đồ hướng gradient: Mỗi pixel trong các cell đóng góp một trọng số cho mỗi kênh (bin) của lược đồ dựa vào hướng gradient của nó Như đã phân tích ở trên, các cell có thể là lưới hình vuông hoặc hình quạt và các kênh của lược đồ gradient có thể nằm trong phạm vi [0, 180] (gradient không tính dấu) hoặc [0, 360] (gradient tính dấu) tùy thuộc vào từng ứng dụng Cụ thể, tác giả Dalal và Triggs đã chứng minh rằng sử dụng 9 kênh để biểu diễn lược đồ gradient không tính dấu, mỗi kênh tương ứng với 20o cho kết quả tối ưu đối với bài toán nhận dạng người Khi phân chia gradient theo hướng mỗi phần tử tại mỗi pixel đóng góp trọng số theo mức độ "gần" hướng của nó với 2 bin liền kề Ví dụ nếu một vector gradient có góc là

800 thì cộng thêm 1/2 độ lớn của nó vào bin có tâm tại 700 và 1/2 độ lớn của nó vào bin

có tâm tại 900, nhưng nếu một vector gradient có góc là 750 thì cộng thêm 3/4 độ lớn của nó vào bin có tâm tại 700 và 1/4 độ lớn của nó vào bin có tâm tại 900

Hình 1.13 Chia hướng theo các bin của lược đồ hướng gradient

- Bước 4: Tính và chuẩn hóa vector đặc trưng cho từng block: Để tính vector đặc trưng trong mỗi block cần xác định kích thước block (thông thường mỗi block gồm 2×2=4 cells) và mức độ chồng lên nhau (overlap) giữa các block (mặc định là chồng ½ với block láng giềng) Vector đặc trưng của mỗi block là việc ghép liên tiếp các vector đặc trưng từng cell trong block theo một thứ tự nhất định Như vậy, theo các tham số mặc định ở trên thì mỗi vector đặc trưng của block sẽ gồm 9 bins × 4 cells = 36 phần tử Công thức tổng quát để tính kích thước vector đặc trưng của block là số cells/block× số bin/cell

Tiếp theo là chuẩn hóa vector đặc trưng của mỗi block Có nhiều phương pháp chuẩn hóa khác nhau như L1-norm, L2-norm, L1_sqrt Theo Dalal và Triggs, chuẩn hóa L2-norm cho kết quả tốt, chuẩn hóa L1-norm làm giảm hiệu suất 5%, còn nếu không chuẩn hóa thì giảm hiệu suất 27% Việc chuẩn hóa được thực hiện như sau: gọi  là vector đặc trưng của một block cho trước,  là một hằng số rất bé để tránh trường hợp chia cho không, mỗi kiểu chuẩn hóa được tính theo từng công thức sau:

2 22 /

fv v  với chuẩn L2_norm

/

fv v  với chuẩn L1_norm

Trang 28

 1 

/

fv ‖ ‖ve với chuẩn L1_sqrt

- Bước 5: Tính vector đặc trưng cho toàn bộ mẫu ảnh Bước này chỉ việc ghép

các vector đặc trưng của từng block lại với nhau theo một thứ tự nhất định để được

vector đặc trưng ảnh Thông thường trong trích xuất đặc trưng HOG, các block không

tách biệt nhau mà chồng lên nhau, cách nhau một khoảng bằng kích thước cell theo mỗi

chiều Như mô tả ở phần đầu về cách chia ảnh thành các lưới cells và block trên mỗi

mẫu ảnh kích thước 64× 128 pixels, ta có 7× 15=105 blocks trên toàn mẫu Mỗi block

chứa 4 cells với 9 bins/cell Do vậy, kích thước vector đặc trưng của mẫu ảnh là 105

Trích xuất đặc trưng trên toàn

mẫu ảnh

Hình 1.14 Sơ đồ tổng quan về trích rút đặc trưng HOG

1.3.4 Mô tả đặc trưng SIFT

1.3.4.1 Đặc trưng SIFT

Phương pháp mô tả đặc trưng SIFT (Scale-invariant feature transform) được đề

xuất bởi David Lowe, lần đầu tiên trình bày tại hội thảo quốc tế về thị giác máy tính vào

năm 1999 Sau đó, phương pháp SIFT được hoàn thiện và xuất bản tại tạp chí quốc tế

về thị giác máy tính năm 2004 SIFT hoạt động rất hiệu quả trong các trường hợp ảnh

bị biến dạng, co giãn, quay ảnh, góc nhìn khác nhau SIFT là một trong những phương

Trang 29

pháp nổi tiếng trong lĩnh vực nhận dạng, so khớp ảnh và được dùng khá phổ biến Hiện nay, kỹ thuật SIFT đã được đăng kí bản quyền bởi tác giả David Lowe, hoàn toàn miễn phí khi sử dụng cho mục đích nghiên cứu, học tập, tuy nhiên nếu sử dụng cho mục đích thương mại thì phải xin phép bản quyền Bộ mô tả đặc trưng này dựa vào lược đồ (histogram) giá trị gradient theo hướng và độ lớn của các điểm ảnh trong một vùng ảnh cục bộ (block) Nói cách khác, mô tả đặc trưng SIFT được dùng để mô tả sự phân phối đặc trưng trong vùng ảnh quanh điểm chính (hay còn gọi là điểm chính, keypoint) được phát hiện (xác định) nhờ vào tính chất bất biến theo biến đổi hình học và điều kiện ánh sáng Nhằm mô tả những đặc điểm khác nhau giữa các keypoint phục vụ việc đối sánh ảnh, cần có bộ mô tả đặc trưng phù hợp Một phương pháp mô tả đặc trưng tốt nếu nó

có khả năng bất biến khi thay đổi ánh sáng, quay ảnh, co giãn và các vấn đề biến dạng

do thay đổi góc chụp hoặc thay đổi hình dáng của đối tượng (deformable)

Thuật toán SIFT có một số bước quan trọng như sau:

- Xác định điểm cực trị trong không gian tỷ lệ (scale-space extrema detection)

- Xác định vị trí điểm chính (keypoint localization)

- Trích xuất đặc trưng và gán hướng cho điểm chính (orientation assignment)

- Mô tả đặc trưng điểm chính (keypoint descriptor) [2]

1.3.4.2 Quá trình xử lý SIFT

Thuật toán SIFT được thực hiện theo các bước chính sau: Xác định cực trị trong không gian tỷ lệ Theo tác giả Lower, bước đầu tiên của thuật toán là xác định các điểm chính (keypoint) có đặc điểm nổi bật là điểm cực trị trong không gian tỷ lệ

Hình 1.15 Đối tượng trong vùng cửa sổ thay đổi khi co giãn ảnh

Trong hình 1.15, với ảnh kích thước nhỏ cửa sổ chứa đối tượng là góc, khi phóng

to kích thước ảnh, với cùng kích thước vùng cửa sổ, nó sẽ không chứa đối tượng góc mà

là một đường cong (hoặc thậm chí xấp xỉ đoạn thẳng) Như vậy cùng một đối tượng nhưng ở các kích thước ảnh khác nhau sẽ cho kết quả là các hình dáng đối tượng khác nhau Do đó, cần có giải pháp xử lý phát hiện ra những vùng (điểm ảnh) cho kết quả bất biến trong trường hợp co giãn kích thước đối tượng (gọi là không gian tỷ lệ -scale space) Các phương pháp lọc không gian tỷ lệ (scale-space filtering) nhằm mục đích giải quyết vấn đề này gọi là xác định điểm cực trị trong không gian tỷ lệ (scale space extrema

Trang 30

detection) Phương pháp SIFT tính độ khác nhau ở các mức của bộ lọc Gaussian gọi là DoG (Difference of Gaussians) DoG được tính trên từng điểm ảnh bằng cách lấy nhiều mức lọc Gaussian với các giá trị phương sai khác nhau Ảnh đầu vào được tích chập với các mặt nạ lọc, các mặt nạ lọc được tạo ra theo phân phối Gaussian nhằm làm mờ ảnh

Sau khi tính được giá trị DoG toàn ảnh ở các mức scale, xét trên từng vị trí pixel

để so sánh với các láng giềng trong vùng 3x3x3, tương ứng với 3 bảng DoG với 8 láng giềng (neighbors) trong vùng kích thước 3 x 3 cùng mức tỷ lệ; vùng 3x3 (9 pixels) vị trí tương ứng ở lớp ngay trên và vùng 3x3 (9 pixels) vị trí tương ứng ở mức phía dưới Nếu giá trị DoG tại vị trí đó là local extrema (cực trị cục bộ: lớn nhất hoặc nhỏ nhất) thì nó

là điểm cực trị tại vị trí ở mức scale hiện tại Những điểm được lựa chọn này là điểm tiềm năng trở thành điểm chính (potential keypoint) [2]

Hình 1.16 Tính DoG theo các mức tỷ lệ tạo thành hình chóp

Hàm phân phối Gaussian được xác định theo công thức sau:

2 2

2 ) / 2 ( 2

2

1 ) , ,



e y

x

Hàm phân phối trong không gian tỷ lệ được mô tả như là một hàm phân phối

Gaussian G trên ảnh đầu vào I, với phép toán tích chập  (convolution), được xác định bằng công thức sau:

( , , ) ( , , ) ( , )

L x y G x y  I x y

Để tìm những điểm nổi bật có tính bất biến cao với phép tỷ lệ, ta sẽ tìm cực trị cục bộ của hàm sai khác DoG (Difference of Gaussian) Hàm này được tính toán từ độ sai lệch giữa 2 không gian tỷ lệ đo kế tiếp nhau của ảnh với tham số độ lệch là một hằng

số Giá trị DoG được tính theo công thức như sau:

Trang 32

1.3.4.3 Mô tả đặc trưng keypoint

Bước trước ta đã tìm được vị trí các keypoint tại các mức tỷ lệ cụ thể và gán hướng cho keypoint Để có thể sử dụng các keypoint trong việc đối sánh so khớp ảnh và phục vụ cho các mục đích xử lý khác đạt độ chính xác cao, cần thiết phải mô tả đặc trưng các keypoint dựa vào tính chất vùng ảnh bao quanh keypoint Mục đích của bước này là tính vector mô tả đặc trưng cho các keypoint sao cho sự mô tả này có độ phân biệt cao, đảm bảo tính bất biến với điều kiện ánh sáng, vị trí, quay ảnh, biến đổi kích thước và biến dạng đối tượng, đặc biệt trong xử lý biến đổi hình học 3D Mô tả đặc trưng mỗi keypoint được giới hạn trong một vùng bao quanh vị trí keypoint với kích thước 16×16 pixels (có thể định nghĩa kích thước khác) Vùng này được chia nhỏ thành 4×4 vùng con, tương ứng mỗi vùng con là 4×4 pixel Mỗi vùng con tính trong lược đồ với 8 hướng khác nhau Như vậy, bộ mô tả đặc trưng keypoint được biểu diễn bằng vector với

số chiều 4×4×8=128 phần tử Vector này sau đó được chuẩn hóa (về độ dài đơn vị) nhằm mục đích làm nổi bật khả năng bất biến với biến đổi hình học và biến đổi độ chiếu sáng

Để giảm ảnh hưởng của độ sáng phi tuyến tính, cường độ gradient lớn có thể áp dụng ngưỡng các giá trị vào vector đặc trưng, mỗi giá trị không lớn hơn ngưỡng Giá trị ngưỡng được xác định giá trị 0.2 được sử dụng và sau đó vector được chuẩn hóa lại, trong đó ngưỡng bằng 0.2 được lựa chọn theo kinh nghiệm

Hình 1.19 Mô tả đặc trưng keypoint bằng lược đồ hướng gradient

Sau khi ghép tích lũy độ lớn gradient trong vùng 4×4 pixel thu được mô tả mỗi cell, mỗi mô tả cell là một vector 8 hướng Trong hình 1.19 là minh họa cho biểu diễn 2×2 vùng con, mỗi vùng có 4×4 pixels Hình bên trái mô tả gradient tại mỗi pixel với hướng và độ lớn thể hiện theo hướng mũi tên và độ dài tương ứng Hình bên phải là lược

đồ theo hướng và độ lớn gradient trong mỗi vùng 4×4 pixel

Phương pháp phân đoạn ảnh

Trong lĩnh vực xử lý ảnh, phân đoạn ảnh (segmentation) được hiểu là quá trình nhóm điểm ảnh thành các vùng sao cho các điểm ảnh trong cùng một vùng có chung đặc điểm, tính chất nào đó, ví dụ như sự tương tự về màu sắc, cường độ hoặc kết cấu Nói cách khác, phân đoạn ảnh là một quá trình chia một ảnh số thành nhiều vùng khác nhau, mỗi vùng gồm tập hợp các điểm ảnh (có thể gọi là superpixels hoặc region) có cùng tính chất Trong một số tài liệu, phân đoạn hình ảnh còn được gọi là phân vùng ảnh Mục tiêu của việc phân đoạn là để đơn giản hóa hoặc thay đổi cách biểu diễn một ảnh theo

Trang 33

tiêu chuẩn nào đó nhằm làm cho nó ý nghĩa hơn và dễ dàng trong phân tích, trích xuất đặc trưng[7] Kết quả của quá trình phân đoạn ảnh là tập hợp các vùng (region) hay còn gọi là các phân đoạn (segments) có thể bao gồm toàn bộ ảnh hoặc tập hợp các vùng đối tượng được trích xuất ra từ ảnh

Phân đoạn ảnh có ý nghĩa quan trọng trong việc phát hiện các đặc tính và cấu trúc đối tượng trong ảnh vì mỗi vùng thường miêu tả cấu trúc tương ứng với đối tượng trong vùng đó Ví dụ số lượng các vùng trong ảnh thể hiện rằng trong ảnh đó có chứa nhiều đối tượng khác nhau và ngược lại mỗi đối tượng chứa các vùng trong nó tương ứng với các phần khác nhau của cùng đối tượng Phân đoạn ảnh có nhiều ứng dụng quan trọng trong nhiều lĩnh vực khác nhau như phân tích hình ảnh y học (medical imaging), phát hiện và nhận dạng đối tượng, phát hiện hành động trong các hệ thống camera giám sát thông minh, hệ thống điều khiển và giao thông thông minh, xe không người lái, xử lý hình ảnh vệ tinh…

Phân đoạn ảnh được xem là quá trình tiền xử lý, có ý nghĩa quan trọng trong hệ thống xử lý ảnh Phân đoạn tốt sẽ giúp cho quá trình xử lý ở các bước tiếp theo đạt hiệu quả cao hơn, nâng cao độ chính xác và cũng như tiết kiệm chi phí tính toán

Các vùng phân tách được dùng trong nhiều ngữ cảnh khác nhau và đặc biệt có thể được sử dụng làm đại diện thay thế cho đối tượng và biểu diễn dưới dạng nhiều hình thức khác nhau[8] Việc lựa chọn mô tả vùng dữ liệu có nhiều cách thức khác nhau tùy thuộc vào tính chất, mục tiêu và đảm bảo phù hợp cho từng ứng dụng cụ thể Nhiều ứng dụng không chỉ đòi hỏi mô tả các vùng riêng lẻ mà còn cần thể hiện được mối quan hệ với nhau giữa các vùng trong ảnh

Ngưỡng (threshold) là một khái niệm phổ biến trong lĩnh vực phân đoạn đối tượng của kỹ thuật xử lý ảnh Ngưỡng được dùng để chỉ một giá trị nào đó mà ta dùng

để phân tách một tập hợp các điểm ảnh thành các vùng phân biệt Ví dụ sử dụng một

ngưỡng th để phân đoạn ảnh thành các vùng có cường độ sáng lớn hơn th và các vùng còn lại có giá trị cường độ sáng nhỏ hơn hoặc bằng th Giá trị ngưỡng thường được xác

định dựa vào giá trị đặc biệt như giá trị trung bình, giá trị trung vị hoặc dựa vào khảo sát thống kê theo kinh nghiệm Có nhiều cách phân loại khác nhau, tuy nhiên nếu căn cứ vào số lượng ngưỡng dùng cho phân đoạn thì có phương pháp phân đoạn sử dụng ngưỡng đơn, phân đoạn ngưỡng kép hoặc phân đoạn đa ngưỡng Nếu căn cứu vào tính chất biến thiên của giá trị ngưỡng thì có thể phân thành phương pháp dùng ngưỡng cố định (constant threshold) và ngưỡng động hay ngưỡng thích ứng (adaptive threshold) Trong đó, ngưỡng động được hiểu theo nghĩa giá trị của ngưỡng sẽ thay đổi tùy thuộc vào sự biến thiên của tập dữ liệu ảnh theo không gian và thời gian Thông thường giá trị ngưỡng được xác định bằng cách áp dụng phương pháp phân tích thống kê

Trang 34

Hình 1.20 Sử dụng các phương pháp phân đoạn khác nhau trong xử lý ảnh y tế

Phân đoạn bằng k-means

k-means là thuật toán phân cụm do MacQueen đề xuất trong lĩnh vực thống kê

năm 1967, mục đích của thuật toán k-means là phân chia thành k cụm dữ liệu {𝐶1, 𝐶2, … , 𝐶𝑘} từ một tập dữ liệu ban đầu gồm n đối tượng trong không gian d chiều

𝑋𝑖 = (𝑥𝑖1, 𝑥𝑖2, … , 𝑥𝑖𝑑) (i1,n), sao cho dữ liệu trong các cụm là tương đồng với nhau nhất, nghĩa là hàm tiêu chuẩn đánh giá lỗi 2

    đạt giá trị tối thiểu với m i

là trọng tâm của cụm C i,D là khoảng cách giữa hai đối tượng

Trọng tâm của mỗi cụm được biểu diễn dưới dạng một vector trong không gian

d chiều, trong đó giá trị mỗi phần tử của vector là trung bình thành phần tương ứng của

các đối tượng dữ liệu (các vector) trong cụm đang xét Tham số đầu vào của thuật toán

là số cụm k, tập dữ liệu gồm n phần tử và tham số đầu ra là tập trọng tâm đại diện cho các cụm dữ liệu được phân chia Độ đo khoảng cách D giữa các đối tượng dữ liệu thường

Trang 35

được sử dụng là khoảng cách Euclide, vì nó là mô hình khoảng cách dễ lấy đạo hàm và xác định các cực trị tối thiểu Hàm tiêu chuẩn và độ đo khoảng cách có thể được xác

định cụ thể hơn tuỳ vào ứng dụng cụ thể hoặc quan điểm của người dùng Thuật toán

k-means gồm các bước cơ bản sau:

INPUT: Một tập dữ liệu gồm n đối tượng và số các cụm k cần phân chia

OUTPUT: Tập trọng tâm (m) đại diện cho các cụm C i (i=1, ,k) sao cho hàm tiêu chuẩn E đạt giá trị tối thiểu

Bước 1: Khởi tạo

Chọn k đối tượng m j (j=1 k) là trọng tâm ban đầu của k cụm từ tập dữ liệu (lựa

chọn trọng tâm ban đầu có thể được thực hiện ngẫu nhiên hoặc theo kinh nghiệm)

Bước 3: Cập nhật lại trọng tâm

Mỗi cụm C j với j=1, ,k, cập nhật trọng tâm cụm m j bằng cách tính giá trị trung bình của tất cả đối tượng dữ liệu trong cụm

Bước 4: Điều kiện dừng

Lặp các bước 2 và 3 cho đến khi các trọng tâm của cụm không thay đổi

Hình 1.21 Minh họa phân cụm bằng k-means

0 1 2 3 4 5 6 7 8 9 10

Cập nhật lại trọng tâm

Cập nhật lại trọng tâm

Gán lại các đối tượng Gán lại các đối tượng

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10

Trang 36

Thuật toán k-means được chứng minh chắc chắn hội tụ và có độ phức tạp tính

toán là: O(O n k d((   )   t)) Trong đó, n là số đối tượng dữ liệu, k là số cụm dữ liệu, d

là số chiều,  là số vòng lặp, t là thời gian để thực hiện một phép tính cơ sở như phép tính nhân, chia, … Như vậy, k-means là phương pháp phân tích phân cụm đơn giản có

thể áp dụng đối với tập dữ liệu lớn Tuy nhiên, nhược điểm của k-means là chỉ áp dụng

với dữ liệu có thuộc tính số và khám phá ra các cụm có dạng hình cầu, k-means rất nhạy

cảm với nhiễu và các phần tử ngoại lai trong dữ liệu

Chất lượng phân cụm dữ liệu bằng thuật toán k-means phụ thuộc nhiều vào các tham số đầu vào như số cụm k và các trọng tâm được khởi tạo ban đầu Trong trường

hợp các trọng tâm khởi tạo ban đầu quá lệch so với trọng tâm thực của cụm thì kết quả

phân cụm của k-means đạt được rất thấp, nghĩa là các cụm dữ liệu được phân tách rất

lệch so với cụm trong thực tế của nó và thời gian hội tụ cũng chậm Kinh nghiệm cho thấy chưa có một giải pháp tối ưu nào để chọn tham số đầu vào chung cho nhiều bài toán khác nhau Giải pháp thường được sử dụng nhất là thử nghiệm với các giá trị đầu

vào k khác nhau sau đó chọn giải pháp tốt nhất

Kỹ thuật học máy

1.5.1 Tổng quan

Học máy (Machine Learning) là một ngành khoa học nghiên cứu các thuật toán cho phép máy tính có thể học được các khái niệm (concept) Có hai loại phương pháp học máy chính:

- Phương pháp quy nạp: máy học hoặc phân biệt các khái niệm dựa trên dữ liệu

đã thu thập được trước đó Phương pháp này cho phép tận dụng được nguồn dữ liệu rất nhiều và sẵn có

- Phương pháp suy diễn: máy học hoặc suy diễn dựa vào các luật Phương pháp này cho phép tận dụng được các kiến thức chuyên ngành để hỗ trợ máy tính

Machine Learning được chia thành 3 nhánh chính: supervised learning (học có giám sát), unsupervised learning (học không có giám sát), và reinforcement learning (học tăng cường)

- Học có giám sát được dùng trong trường hợp một thuộc tính (nhãn) có sẵn cho một tập dữ liệu nhất định (tập huấn luyện), nhưng thiếu và cần được dự đoán cho các trường hợp khác

- Học không có giám sát thì ngược lại, nó được sử dụng trong trường hợp khám phá các mối quan hệ tiềm ẩn trong một tập dữ liệu không được gán nhãn (các mục không được chỉ định trước)

- Học tăng cường thì nằm giữa 2 loại trên, có một số hình thức phản hồi có sẵn

Trang 37

cho mỗi bước tiên đoán hoặc hành động, nhưng không có nhãn chính xác hoặc thông báo lỗi[5]

Trong lĩnh vực xử lý ảnh, bài toán phân loại mẫu và nhận dạng đối tượng được hiểu là việc phân loại, xác định các mẫu thuộc lớp nào đó một cách chính xác dựa vào việc đo lường về đối tượng dựa trên các đặc trưng của đối tượng Nói một cách khác, nhận dạng đối tượng nhằm mục đích phân loại các mẫu dựa trên kiến thức có trước về đối tượng hoặc dựa vào thông tin thống kê, đo lường được trích rút ra từ các mẫu trong tập dữ liệu huấn luyện Ngày nay, nhận dạng được ứng dụng rộng rãi trong nhiều hệ thống như nhận dạng người trong các hệ thống tương tác người mày; nhận dạng khuôn mặt và định danh cá thể, nhận dạng phương tiện giao thông trong các hệ thống giao thông thông minh, hỗ trợ lái xe; nhận dạng hành động trong các hệ thống giám sát thông minh; nhận dạng chữ viết… Lĩnh vực nhận dạng đối tượng liên quan đến các phương pháp, kỹ thuật xử lý ảnh và học máy Để huấn luyện mô hình và nhận dạng đối tượng, các mẫu dữ liệu thường được số hóa và biểu diễn thành các vector đặc trưng trong một không gian đa chiều tương ứng, được gọi là không gian đặc trưng Nhờ vào các vector đặc trưng này để có thể phân tích, đánh giá nhằm xây dựng được mô hình đối tượng phục vụ phân loại, nhận dạng chúng Trong nhận dạng, các phương pháp học máy có giám sát và không giám sát đều được nghiên cứu và ứng dụng Các kỹ thuật học máy có giám sát thường được sử dụng như cây quyết định, mạng neural, SVM, Boosting, rừng ngẫu nhiên (random forest) Các kỹ thuật học máy không giám sát như gom cụm (Clustering Algorithms), phân tích thành phần chính (Principal Component Analysis - PCA), phân tích thành phần độc lập (Independent Component Analysis)

Quá trình nhận dạng đối tượng được mô tả bằng sơ đồ tổng quát như sau:

Hình 1.22 Quá trình nhận dạng đối tượng

1.5.2 Máy phân loại Vector hỗ trợ (Support Vector Machine)

Support Vector Machine (SVM) là một mô hình phân loại hoạt động bằng việc xây dựng một siêu phẳng (hyperplane) có (n - 1) chiều trong không gian n chiều của dữ liệu sao cho siêu phẳng này phân loại các lớp một cách tối ưu nhất Nói cách khác, cho một tập dữ liệu có nhãn (học có giám sát), thuật toán sẽ dựa trên dữ liệu học để xây dựng một siêu phẳng tối ưu được sử dụng để phân loại dữ liệu mới Ở không gian 2 chiều thì siêu phẳng này là 1 đường thẳng phân cách chia mặt phẳng không gian thành 2 phần tương ứng 2 lớp với mỗi lớp nằm ở 1 phía của đường thẳng

Phân tích đặc trưng

Phân loại

Trang 38

Ví dụ, ta có các điểm dữ liệu như hình 1.23 với mỗi điểm thuộc 1 trong 2 lớp cho trước:

Hình 1.23 Đường thẳng phân chia 2 lớp trong không gian 2 chiều

Bản chất của phương pháp SVM là chuyển không gian dữ liệu ban đầu thành một không gian mới hữu hạn chiều mà ở đó cho khả năng phân lớp dễ dàng hơn Một quả bất kì nằm trên mặt bàn sẽ được gắn với một tọa độ cụ thể Ví dụ, quả táo nằm cách mép trái 2cm và cách mép dưới 5cm được thể hiện trên trục tọa độ (x, y) tương ứng là (2, 5),

x và y chính là tọa độ trong không gian hai chiều của quả táo Khi đưa lên chiều thứ 3

là z(x, y), ta có thể tính được tọa độ của z trong không gian 3 chiều dựa vào tọa độ x,y ban đầu Điểm làm SVM hiệu quả hơn các phương pháp khác chính là việc sử dụng Kernel Method giúp cho SVM không còn bị giới hạn bởi việc phân lớp một cách tuyến tính, hay nói cách khác các siêu phẳng có thể được hình thành từ các hàm phi tuyến

Margin là khoảng cách giữa siêu phẳng đến 2 điểm dữ liệu gần nhất tương ứng với các phân lớp Trong ví dụ quả táo quả lê đặt trên mặt bàn, margin chính là khoảng cách giữa cây que và hai quả táo và lê gần nó nhất Điều quan trọng ở đây đó là phương pháp SVM luôn cô gắng cực đại hóa margin này, từ đó thu được một siêu phẳng tạo khoảng cách xa nhất so với 2 quả táo và lê Nhờ vậy, SVM có thể giảm thiểu việc phân lớp sai (misclassification) đối với điểm dữ liệu mới đưa vào

Hình 1.24 Margin trong SVM

Là một kĩ thuật phân lớp khá phổ biến, SVM thể hiện được nhiều ưu điểm trong

số đó có việc tính toán hiệu quả trên các tập dữ liệu lớn Có thể kể thêm một số ưu điểm của phương pháp này như:

Trang 39

- Xử lý trên không gian số chiều cao: SVM là một công cụ tính toán hiệu quả trong không gian chiều cao, trong đó đặc biệt áp dụng cho các bài toán phân loại văn bản và phân tích quan điểm nơi chiều có thể cực kỳ lớn

- Tiết kiệm bộ nhớ: Do chỉ có một tập hợp con của các điểm được sử dụng trong quá trình huấn luyện và ra quyết định thực tế cho các điểm dữ liệu mới nên chỉ có những điểm cần thiết mới được lưu trữ trong bộ nhớ khi ra quyết dịnh

- Tính linh hoạt - phân lớp thường là phi tuyến tính Khả năng áp dụng Kernel mới cho phép linh động giữa các phương pháp tuyến tính và phi tuyến tính từ đó khiến cho hiệu suất phân loại lớn hơn

Tuy nhiên SVM cho kết quả không tốt khi số lượng thuộc tính (p) của tập dữ liệu lớn hơn rất nhiều so với số lượng dữ liệu (n) Đồng việc phân lớp của SVM chỉ là việc

cố gắng tách các đối tượng vào hai lớp được phân tách bởi siêu phẳng SVM Điều này chưa giải thích được xác suất xuất hiện của một thành viên trong một nhóm là như thế nào

SVM là một phương pháp hiệu quả cho bài toán phân lớp dữ liệu Nó là một công

cụ đắc lực cho các bài toán về xử lý ảnh, phân loại văn bản, phân tích quan điểm Một yếu tố làm nên hiệu quả của SVM đó là việc sử dụng Kernel function khiến cho các phương pháp chuyển không gian trở nên linh hoạt hơn

1.5.3 Mạng neural nhân tạo

Mạng neural nhân tạo (Artificial Neural Network- ANN) là mô hình xử lý thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật, bao gồm số lượng lớn các neural được gắn kết để xử lý thông tin ANN giống như bộ não con người, được học bởi kinh nghiệm (thông qua huấn luyện), có khả năng lưu giữ những kinh nghiệm hiểu biết (tri thức) và sử dụng những tri thức đó trong việc dự đoán các dữ liệu chưa biết (unseen data)

Kiến trúc chung của một mạng neural nhân tạo (ANN) gồm 3 thành phần đó là: Input Layer, Hidden Layer và Output Layer (Hình 1.25)

Trong đó, lớp ẩn (Hidden Layer) gồm các neural nhận dữ liệu input từ các neural

ở lớp (Layer) trước đó và chuyển đổi các input này cho các lớp xử lý tiếp theo Trong một ANN có thể có nhiều lớp ẩn

Trong đó các Processing Elements (PE) của ANN gọi là neural, mỗi neural nhận các dữ liệu vào (Inputs) xử lý chúng và cho ra một kết quả (Output) duy nhất Kết quả

xử lý của một neural có thể làm Input cho các neural khác

Trang 40

Hình 1.25 Mô hình ANN

Quá trình xử lý thông tin của một ANN:

Hình 1.26 Quá trình xử lý thông tin của một ANN

- Inputs (dữ liệu vào): Mỗi Input tương ứng với 1 thuộc tính (attribute) của dữ liệu (patterns)

- Output (kết quả): Kết quả của một ANN là một giải pháp cho một vấn đề

- Connection Weights (trọng số liên kết): Đây là thành phần rất quan trọng của một ANN, nó thể hiện mức độ quan trọng (độ mạnh) của dữ liệu đầu vào đối với quá trình xử lý thông tin (quá trình chuyển đổi dữ liệu từ layer này sang layer khác) Quá trình học (Learning Processing) của ANN thực ra là quá trình điều chỉnh các trọng số (Weights) của các inputs (dữ liệu vào) để có được kết quả mong muốn

- Summations Function (hàm tổng): Tính tổng trọng số của tất cả các input được đưa vào mỗi Neural (phần tử xử lý PE) Hàm tổng của một neural đối với n input được tính theo công thức sau:

Ngày đăng: 15/07/2021, 16:03

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

w