1. Trang chủ
  2. » Thể loại khác

NHẬN DẠNG HÀNH ĐỘNG NGƯỜI BẰNG KỸ THUẬT HỌC SÂU 3D-CNN LUẬN VĂN THẠC SĨ KỸ THUẬT

77 11 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 77
Dung lượng 7,66 MB

Nội dung

Nó đã mở ra một bước ngoặc mới trong việc giải quyết các bài toán về TTNT trước đây đã gặp phải khó khăn như nhận thức sự vật object perception, nhận diện hình ảnh, hành động, hệ thống g

Trang 1

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC BÁCH KHOA

LÊ CÔNG HIẾU

NHẬN DẠNG HÀNH ĐỘNG NGƯỜI

BẰNG KỸ THUẬT HỌC SÂU 3D-CNN

Chuyên ngành: Khoa học máy tính

Mã số: 8480101

LUẬN VĂN THẠC SĨ KỸ THUẬT

Người hướng dẫn khoa học: TS HOÀNG VĂN DŨNG

Đà Nẵng - Năm 2018

Trang 2

LỜI CAM ĐOAN

Trang 3

MỤC LỤC

TRANG BÌA

LỜI CAM ĐOAN

MỤC LỤC

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

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

DANH MỤC CÁC HÌNH

MỞ ĐẦU 1

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

2 Mục đích nghiên cứu 1

3 Tổng quan về các nghiên cứu liên quan 2

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

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

6 Ý nghĩa khoa học và ý nghĩa thực tiễn 3

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

CHƯƠNG 1 TỔNG QUAN 4

1.1 Tổng quan về các hệ thống thông minh 4

1.1.1 Khái niệm 4

1.1.2 Hệ thống tương tác người - máy (robot) 4

1.1.3 Hệ thống tương tác thực ảo 5

1.1.4 Hệ thống hỗ trợ chăm sóc bệnh nhân, người già 6

1.2 Trí tuệ nhân tạo và ứng dụng 6

1.2.1 Một số khái niệm chung 6

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

1.2.3 Học máy 7

1.2.4 Phân loại phương pháp học máy 8

1.2.5 Mạng neural nhân tạo 9

1.3 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.2 Một số phương pháp trích chọn đặc trưng đơn giản 12

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

1.3.4 Mô tả đặc trưng HOG 15

1.3.5 Mô tả đặc trưng SIFT 19

1.3.6 Một số ứng dụng trong nhận dạng đối tượng 23

1.4 Kỹ thuật học sâu 23

Trang 4

1.4.1 Một số khái niệm 23

1.4.2 Một lĩnh vực ứng dụng của kỹ thuật học sâu 23

1.4.3 Mạng neural học sâu 24

CHƯƠNG 2 KỸ THUẬT MẠNG TÍCH CHẬP TRONG NHẬN DẠNG HÀNH ĐỘNG 25

2.1 Mạng neural tích chập 25

2.1.1 Giới thiệu mạng tích chập 25

2.1.2 Cấu trúc của mạng tích chập CNN 25

2.2 Một số mạng neural học sâu sử dụng trong nhận dạng 27

2.2.1 Mạng LeNet 27

2.2.2 Mạng AlexNet 28

2.2.3 Mạng ZFNet 31

2.2.4 Mạng GoogLeNet 31

2.3 Mạng neural tích chập 3D-CNN 34

2.3.1 Phép tích chập 3D 35

2.3.2 Kiến trúc 3D- CNN 37

2.4 Giải pháp nhận dạng hành động bằng mạng tích chập 38

2.4.1 Bài toán nhận dạng hành động 38

2.4.2 Thiết kế mô hình nhận dạng hành động 39

2.4.3 Thiết kế mạng neural tích chập nhận dạng hành động 41

CHƯƠNG 3 THỰC NGHIỆM VÀ ĐÁNH GIÁ 45

3.1 Môi trường và các công cụ sử dụng thực nghiệm 45

3.2 Dữ liệu thực nghiệm nhận dạng hành động 45

3.3 Thiết lập các tham số thực nghiệm hệ thống 46

3.3.1 Tiền xử lý video: 46

3.3.2 Tạo các lớp: 46

3.3.3 Quá trình huấn luyện vào đánh giá: 48

3.4 Phân tích, đánh giá kết quả thực nghiệm 48

3.5 Xử lý tăng cường dữ liệu 49

3.6 Kết quả thực nghiệm 50

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 56

TÀI LIỆU THAM KHẢO 57

QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN 59 BẢN SAO KẾT LUẬN CỦA HỘI ĐỒNG, BẢN SAO NHẬN XÉT CỦA CÁC PHẢN BIỆN

Trang 5

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

Học viên: Lê Công Hiếu Chuyên ngành: Ngành Khoa Học Máy Tính

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

Tóm tắt – Nhận dạng hành động đống một vai trò quan trọng trong hệ thống giám sát,

tương tác robot-con người và hệ thống tự vận hành Tuy nhiên, có rất nhiều thử thách vấn đề

do các hình dạng, điều kiện chiếu sáng và sự phức tạp của hành động Thời gian tính toán và

độ chính xác thường là những thách thức chính đối với hệ thống nhận dạng hành động Kỹ thuật mạng nơ-ron học sâu như một kỹ thuật của nghệ thuật trong xử lý hình ảnh Khả năng học sâu cao về hành động theo chiều thời gian từ phân tích video đã bị cản trở vì không đồng nhất trong phân lớp, sự giống nhau về hành động Trong luận văn này trình bày cách tiếp cận mới dựa trên mạng nơ-ron học sâu liên tục và tăng cường dữ liệu để cải thiện độ chính xác Đầu tiên, mạng nơ-ron 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 tạo ra dữ liệu lớn hơn đủ cho mạng nơ-ron 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 nhỏ trong huấn luyện, dễ dẫn tới kết quả lỗi lớn, đồng nghĩa là dữ liệu học lớn mạng học sâu tăng cường khả năng học tốt hơn Đánh giá kết quả dựa trên một vài tập dữ liệu chuẩn đề xuất Kết quả đánh giá thử nghiệm về tập dữ liệu điểm chuẩn cho thấy cách tiếp cận được đề xuất nâng cao hiệu suất lên độ chính xác 89,53% So sánh kết quả khác cho thấy rằng phương pháp đề xuất của tôi trong luận văn này đạt cao hơn hiệu suất hơn hầu hết các phương pháp khác

Từ khóa – Nhận dạng hành động, mạng học sâu, hệ thống giám sát

IDENTIFY HUMAN ACTIONS WITH 3D-CNN DEEP LEARNING NETWORK

Abstract – Action recognition plays an important task insurveillance systems, robot-human interaction and autonomous, systems However, there are many challenging problems due to varieties of shape, illumination conditions, and complex of actions Consuming time and precision are typicallythe main challenges for action recognition systems Deep neural network techniques have dramatically become the state of the art in image processing The high capacity deep learning on the temporal action from video analysis has been impeded because of varieties of classes, similarity of actions This thesis presents a new approach based on sequential deep neuralnetwork and data augmentation for improving accuracy First,the deep neural network is constructed using several inceptions with different parallel convolutional operations which support reducing consuming time Second, image augmentation of training dataset generates a larger data enough for deep neural network learning This proposed task is aimed to address the small data problem It is utilized for enhancing capabilities of deep learning The proposed approach was evaluated on some benchmark datasets Experimental evaluation on public benchmark dataset shows that the proposed approach enhances performance to 89.53% accuracy Comparison results illustrated that our proposed method reaches higher performance than almost state- of- the- art methods

Key words - Action recognition, deep learning, surveillance systems

Trang 6

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

TTNT Trí tuệ nhân tạo Trí tuệ nhân tạo

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

ANN Artificial Neural Network Mạng nơ-ron nhân tạo

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

DNN Deep Neural Network Mạng neural sâu

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

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

SIFT Scale-Invariant Feature

Transform

Biến đổi đặc trưng tỉ lệ không thay đổi

SOM Self Organizing Maps Mạng nơ-ron tự tổ chức

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

Trang 7

DANH MỤC CÁC HÌNH

Hình 1.1 Các yếu tố trong tương tác người máy 5

Hình 1.2 Mô hình mạng neural 10

Hình 1.3 Quá trình xử lý của một ANN 10

Hình 1.4 Ả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 13

Hình 1.5 Các mẫu đặc trưng cơ bản của Haar 14

Hình 1 Tính nhanh tổng giá trị pixel trong vùng chữ nhật bất kỳ 15

Hình 1.7 Quá trình trích đặc trưng HOG 16

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

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

Hình 1.10 Tính gradient ảnh: (a) ảnh đa mức xám, (b) giá trị gradient theo các chiều X và Y, (c) hướng và độ lớn gradient 17

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

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

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

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

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

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

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

Hình 2.1 Mô hình mạng neural tích chập (nguồn internet) 25

Hình 2.2 Phép tích chập với bộ lọc (nguồn internet) 26

Hình 2.3 Phép MaxPooling (2x2), stride=2 (nguồn internet) 27

Hình 2.4 Kiến trúc mạng LeNet-5 28

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

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

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

Hình 2 Module Inception 33

Hình 2 Mạng neural học sâu đơn giản gồm 3 inception 34

Hình 2.1 Ph p tích chập khối (3D-CNN) 34

Hình 2.11 (a) Tích chập 2D, (b) Tích chập 3D 36

Trang 8

Hình 2.12 Kiến trúc 3D CNN cho nhận dạng hành động, bao gồm 1 lớp hardwired, 3

lớp tích chập, 2 lớp subsampling và 1 lớp full connection 37

Hình 2.13 Kiến trúc 3D-CNN 37

Hình 2.14 Một và hành động đáng ngờ 39

Hình 2.15 Tổng quan kiến trúc hệ thống nhận dạng hành động bất thường 40

Hình 2.16 Sơ đồ tổng thể kiến trúc mạng học sâu cho nhận dạng hành động 42

Hình 2.17 Giản đồ của từng mạng Inception 43

Hình 2.18 Nhận dạng hành động dựa trên phép lai của học máy sử dụng DNN và SVM 44

Hình 3.1 Một vài loại lớp hành động của tập dữ liệu HMDB51 45

Hình 3.2 Một vài loại lớp hành động leo trèo và đi bộ tập UCF101 46

Hình 3.3 Mạng DNN huấn luyện và xác thực trên tập dữ liệu UCF101: (a) độ chính xác và (b) giá trị hàm lỗi hội tụ đến giá trị kỳ vọng sau một vài epochs 48

Hình 3.4 Ví dụ về tăng cường hình dữ liệu hình ảnh 49

Hình 3.5 Trọng số của mặt nạ lọc của lớp tích chập đầu tiên 51

Hình 3.6 Kết quả kích hoạt của một số lớp DNN 52

Hình 3 Kiến trúc hai luồng phân loại video 53

Hình 3.8 Kiến trúc thực hiện TDD 55

Trang 9

MỞ ĐẦU

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

Cùng với sự phát triển của khoa học công nghệ của cuộc cách mạng công nghiệp 4.0, các ứng dụng về trí tuệ nhân tạo (TTNT) và học máy ngày càng phát triển và là lĩnh vực được quan tâm nhiều nhất hiện nay, trong đó lĩnh vực học sâu (Deep Learning) là một loại phổ biến của máy học đã có những thành tựu phát triển vượt bậc

Nó đã mở ra một bước ngoặc mới trong việc giải quyết các bài toán về TTNT trước đây đã gặp phải khó khăn như nhận thức sự vật (object perception), nhận diện hình ảnh, hành động, hệ thống gợi ý (recommend system) trên các nền tảng dữ liệu lớn….Trong đó phải kể đến sự phát triển của lĩnh vực thị giác máy tính (computer vision), đặt nền tảng cho nhiều ứng dụng trong thực tiển như các hệ thống xe tự hành, rôbôt thông minh, nhận dạng hành động trong các hệ thống tương tác người – máy Lĩnh vực học sâu (Deep Learning) là một kỹ thuật trong học máy sử dụng mạng nơron nhiều lớp để giải quyết các bài toán phức tạp dựa trên phương pháp tích chập và trích chọn các đặc trưng từ tập dữ liệu lớn và đã đem lại kết quả chính xác cao trong giải quyết các bài toán TTNT Cụ thể là nó đã tập trung giải quyết các vấn đề liên quan đến mạng neural về thị giác máy tính, xử lý ngôn ngữ tự nhiên, xử lý giọng nói… Hiện nay, cũng có nhiều nghiên cứu về nhận diện hành động con người thông qua video để xác định hành vi của con người Tuy nhiên đây là lĩnh vực này tương đối rộng và hiện có nhiều kỹ thuật khác nhau để giải quyết bài toán này Vì vậy, trong phạm vi luận văn này tập trung nghiên cứu lý thuyết và sử dụng các kỹ thuật mạng học sâu 3D CNN vào việc giải quyết bài toán nhận diện hành động con người trong tương tác người–máy, tập trung hướng đến các hành động bất thường của con người trong lĩnh vực xác định hành động đáng ngờ Thông qua đó nghiên cứu đề xuất cải tiến các tham số đầu vào và các thuật toán để tăng hiệu quả về thời gian xử lý và độ chính xác nhận dạng, so sánh kết quả thực hiện với một số cơ sở dữ liệu chuẩn đã có nhằm đánh giá tính hiệu quả của các kỹ thuật mới được áp dụng

2 Mục đích nghiên cứu

Mục tiêu chính của đề tài là nghiên cứu nhận dạng hành động người, tập trung vào các hành động 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, các nguyên lý hệ thống tương tác người máy

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 từ video để dự đoán hành động con người phục vụ các hệ thống tương tác người máy 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

Xây dựng tập dữ liệu và thực nghiệm đoán nhận một số hành động bất thường trong hệ thống camera giám sát an ninh

Trang 10

3 Tổng quan về các nghiên cứu liên quan

Trong những năm gần đây, lĩnh vực trí tuệ nhân tạo đã được các nhà khoa học, giớ chuyên gia và các công ty công nghệ quan tâm và đầu tư nghiên cứu ứng dụng vào thực tiển nhiều như Google, Baidu,Apple,… ) Các cuộc hội thảo về các lĩnh vực trí tuệ nhân tạo cũng được tổ chức thường xuyên để giải quyết các bài toán về thị giác máy tính ( Computer Vision), nhận dạng giọng nói, xử lý ngôn ngữ tự nhiên…Song song với đó, kỹ thuật học sâu sử dụng trong lĩnh vực thị giác máy tính ngày càng phổ biến (nhận diện hình ảnh, các lĩnh vực khác) và phát triển nhờ vào tính ưu việt và hỗ trợ của thiết bị phần cứng để tăng tốc độ xử lý (GPU/ GPGPU) Đối với bài toán nhận dạng hành động cũng là một lĩnh vực không mới, có rất nhiều bài báo [2] [4][15] [16][17][18] tại các hội thảo trình bày này đã được trình bày Có nhiều giải pháp, kiến trúc mạng học sâu được đề xuất và đưa ra với các kết quả khác nhau như phương pháp

“Two-stream model (fusion by SVM)” của nhóm tác giả Karen Simonyan, Karen Simonyan [16] cho ra kết quả độ chính xác 88% ( trên tập UCF101), 59.4% ( trên tập HMDB-51); phương pháp ResNeXt-101 [17] cho ra kết quả độ chính xác 90.7% (trên tập UCF101),63.8% ( trên tập HMDB-51); TDD and iDT [18] cho ra kết quả độ chính xác 91.5% ( trên tập UCF101),65.9% ( trên tập HMDB-51)…

Ở Việt Nam, việc nghiên cứu về thị giác máy tính (Computer Vision) và các kỹ thuật xử lý ảnh, trí tuệ nhân tạo (AI) để áp dụng giải quyết các bài toán tự động nhận dạng hành động, nhận diện khuôn mặt …chưa được nghiên cứu nhiều Các sản phẩm thực tế ứng dụng từ các kỹ thuật và công nghệ này chưa phổ biến Vì thế trong luận văn này, tôi nghiên cứu các kỹ thuật học sâu ứng dụng nhận dạng hành động đáng ngờ nhằm hỗ trợ các hệ thống giám sát dựa trên đề xuất kiến trúc mới nhằm cải tiến và tối

ưu hóa để cho ra kết quả khả quan hơn các phương pháp trên về độ chính xác, hiệu năng chương trình

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

Nghiên cứu về các phương pháp học máy (Machine Learning), các lĩnh vực học máy và thị giác máy tính trong nhận dạng hành động con người trong tương tác người máy, đặc biệt là các hành động đáng ngờ phục vụ cảnh báo giám sát an ninh thông qua

hệ thống camera giám sát

- Hệ thống tương tác người máy và các hệ thống thông minh

- Lý thuyết về trí tuệ nhân tạo, mạng neural và mạng học sâu [12], [13]

- Đánh giá trên một số cơ sở dữ liệu chuẩn như UCF1 1[5], HMDB51[ ]

- Công cụ lập trình Mathlab [15], Python 3 , các thư viện [14]…

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

- Nghiên cứu lý thuyết: Tổng hợp thu thập và nghiên cứu các tài liệu có liên

quan đến đề tài như đã nêu trong mục 3 bao gồm: lý thuyết về xử lý ảnh, trích xuất đặc

Trang 11

trưng ảnh Lý thuyết về học máy, mạng neural tích chập, kỹ thuật học sâu trong mạng 3D-CNN trong nhận dạng hành động con người để phân loại, nhận dạng

- Phương pháp thực nghiệm: Đánh giá một số kỹ thuật thị giác máy tính trong

nhận dạng hành động con người, phân tích thiết kế hệ thống nhận dạng hành động bằng kỹ thuật học sâu 3D-CNN Lựa chọn công cụ đã có để cài đặt, đề xuất mô hình

và thể hiện cụ thể những kết quả đã nghiên cứu, kết quả thực nghiệm so với các cơ sở

dữ liệu chuẩn để so sánh đánh giá

6 Ý nghĩa khoa học và ý nghĩa thực tiễn

Với việc nghiên cứu và thực nghiệm kỹ thuật học sâu trong kiến trúc mạng 3D CNN để nhận dạng hành động con người cho ra kết quả mong muốn, sử dụng tập dữ liệu huấn luyện lớn đóng vai trò quan trọng trong việc xây dựng mô hình để dự đoán kết quả đầu ra chính xác hơn Với các tập/bộ dữ liệu lớn bao gồm nhiều hành động thì

có thể áp dụng vào xây dựng các hệ thống trong thực tế mang tính thực tiển cao như các hành động bất thường trong hệ thống tương tác người máy như hỗ trợ giám sát an ninh, chăm sóc y tế, người già,…

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

Luận văn được chia làm 3 chương:

- 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 các hệ thống thông minh

+ Trí tuệ nhân tạo và ứng dụng: các khái niệm về học máy, các phương pháp học máy, mạng neuron nhân tạo

+ Lý thuyết về xử lý ảnh: tìm hiểu các phương pháp trích chọn và biểu diễn đặc trưng ảnh

+ Kỹ thuật học sâu (Deep Learning): khái niệm, mạng neuron học sâu, mạng neuron tích chập

- Chương 2: Mạng tích chập 3D-CNN trong nhận dạng phát hiện hành động

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

+ Tích chập 3D

+ Kiến trúc 3D CNN trong nhận dạng

+ Thiết kế mô hình nhận dạng hành động

+ Phân tích các thành phần hệ thống

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

- Chương 3: Thực nghiệm và đánh giá

- Kết luận và hướng phát triển

- Tài liệu tham khảo

Trang 12

CHƯƠNG 1 TỔNG QUAN 1.1 Tổng quan về các hệ thống thông minh

1.1.1 Khái niệm

Hệ thống thông minh (Intelligent Systems – IS) là một hệ thống thực thi một

mục đích hoạt động xã hội nào đó, nó được xem như một máy tính được kết nối với các máy tính khác qua hệ thống mạng internet, có khả năng thu thập và phân tích dữ liệu và giao tiếp các hệ thống khác Các tiêu chí của hệ thống thông minh bao gồm khả năng học hỏi từ kinh nghiệm, bảo mật, kết nối, khả năng thích ứng theo dữ liệu hiện tại

và khả năng giám sát và quản lý từ xa

Trong ngành công nghệ thông tin, một hệ thống thông minh được định nghĩa là

một tập hợp các phần tử (elements) hoặc các thành phần (components) tạo nên một hệ

thống thực hiện một mục đích chung Như vậy, ngoài việc nó cấu thành từ các thiết bị thông minh, nó còn bao gồm các hệ thống kết nối các thiết bị lại với nhau: bao gồm mạng và các hệ loại hệ thống lớn hơn, các hệ thống phần mềm thông minh (AI) như chatbots, hệ chuyên gia và những loại phần mềm khác

Như vậy hệ thống thông minh có các đặc điểm sau:

- Cung cấp cách tiếp cận về mặt phương pháp luận chuẩn để giải quyết những

vấn đề quan trọng, phức tạp và nhận được các kết quả nhất quán, đáng tin cậy qua thời gian

- Có khả năng kết nối, giao tiếp với các hệ thống khác, quản lý từ xa

- Có Trí tuệ bao gồm khả năng lĩnh hội, khả năng hiểu, khả năng rút kinh

nghiệm, khả năng thu lượm và duy trì tri thức, khả năng đáp ứng nhanh và thành công với các tình huống mới…

- Trí tuệ nhân tạo là một cơ sở cốt yếu để xây dựng các hệ thống thông minh

Các hệ thống thông minh hiện nay được ứng dụng rất rộng rãi trong tất cả các lĩnh vực như y tế (hệ thống chẫn đoán bệnh), giáo dục (trường học thông minh), sản xuất Công nghiệp (Công nghệ in 3D), robot thông minh (nổi bật nhất là thành tựu về robot Sophia được cấp quyền công dân đầu tiên trên thế giới vào ngày 25-10-2017 tại

Ả Rập Saudi), hệ thống xe tự hành, thành phố thông minh là các hệ thống thông minh phổ biến hiện nay ở các nước phát triển

1.1.2 Hệ thống tương tác người - máy (robot)

Tương tác người - máy (Human-computerinteraction (HCI)) nghiên cứu về việc

thiết kế công nghệ máy tính, đặc biệt tập trung tương tác giữa con người (người dùng)

và máy tính (Theo www.interaction-design.org)

Trang 13

Hình 1.1 Các yếu tố trong tương tác người máy

Các vấn đề nghiên cứu về lĩnh vực HCI (Human-Computer-Interaction) đều dựa trên cách thức quan sát tương tác con người với máy tính và thiết kế các kỹ thuật mà cho ph p con người tương tác với máy tính theo các cách thức mới lạ

1.1.3 Hệ thống tương tác thực ảo

Thực tế ảo (virtual reality- VR) là một hệ thống giao diện cao cấp giữa người sử

dụng và máy tính Hệ thống này mô phỏng các sự vật và hiện tượng theo thời gian thực và tương tác với người sử dụng qua tổng hợp các kênh cảm giác ( thị giác, thính

giác, xúc giác, khứu giác và vị giác) (Grigore C Burda, Philippe Coiffet)

- Đặc tính cơ bản của hệ thống thực tế ảo là:

+ Tương tác thời gian thực (real-time interactitity)

Trang 14

+ Công nghiệp ôtô: dùng cho công đoạn thiết kế, thử nghiệm an toàn và bán hàng Các chuyên gia thiết kế có thể xem hình dạng, cũng như chức năng xe mà không cần sản xuất ra một mẩu thử nghiệm

+ Quân sự: trong lĩnh vực quân sự như trãi nghiệm các môi trường chiến đấu, vũ khí

+ Y học: phẩu thuật nội soi trên môi trường ảo

+ Giáo dục: các lớp học ảo từ các chuyên gia ngành

1.1.4 Hệ thống hỗ trợ chăm sóc bệnh nhân, người già

Cùng với sự phát triển của trí tuệ nhân tạo, hệ thống robot chăm sóc sức khỏe cho người già ra đời và phát triển mạnh ở các nước phát triển như Nhật Bản, rô-bôt có thể thay thế con người trong một số nhiệm vụ chăm sóc người già như tập thể dục, rô-bôt điều dưỡng chăm sốc người già, tuy nhiên nó vẫn là mang tính hỗ trợ, giải phóng các lao động giãn đơn của y tá và chưa hoàn toàn thay thế con người trong tất cả các dịch

vụ chăm sóc y tế cho người già

1.2 Trí tuệ nhân tạo và ứng dụng

1.2.1 Một số khái niệm chung

Có rất nhiều khái niệm về trí tuệ nhân tạo, trong đó chúng ta có thể hiểu theo cách cơ bản như sau:

“Trí tuệ nhân tạo hay trí thông minh nhân tạo là khoa học nghiên cứu các hành

vi thông minh nhằm giải quyết các vấn đề được đặt ra đối với chương trình máy tính”(Wikipedia - theo Học viện kỹ thuật quân sự)

Hay “Trí tuệ nhận tạo nghiên cứu các mô hình máy tính có thể nhận thức, lập luận và hành động”(Winston, 1992)

Ở đây khái niệm về “hành vi thông minh” của một đối tượng thường biểu hiện

qua các hoạt động:

+ Sự hiểu biết và nhận thức được tri thức

+ Sự suy luận tạo ra các giá trị tri thức mới dựa trên lượng tri thức đã có

+ Quyết định/hành động theo kết quả dựa trên các suy luận

+ Tạo ra các kỹ năng qua quá trình học những tri thức mới

“Tri thức” là được hiểu là bao gồm:

+ Các khái niệm cơ bản mang tính quy ước hay khái niệm phát triển được hình thành từ các khái niệm cơ bản tạo thành phức hợp phức tạp hơn

+ Các phương pháp nhận thức: các qui luật, các thủ tục, phương pháp suy diễn hay lý luận

Trí tuệ nhân tạo được chia thành hai lĩnh vực đó là TTNT truyền thống và Trí tuệ tính toán

Trang 15

+ Đối với TTNT truyền thống hầu hết bao gồm các phương pháp hiện được phân loại là phương pháp học máy (machine learning), các phương pháp phổ biến như hệ chuyên gia, lập luận theo tình huống hay mạng Bayes

+ Trí tuệ tính toán nghiên cứu việc học hoặc phát triển lặp, quá trình học dựa trên

dữ liệu kinh nghiệm, các phương pháp chính gồm như: mạng Neural, hệ mờ, tính toán tiến hóa

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

Ngày nay, TTNT 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 trí tuệ nhân tạo 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 của 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 đó, gần đây 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ư:

+ 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 TTNT 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 TTNT ( Microsoft đang theo đuổi nghiên cứu) Rô-bôt chăm sóc y tế…

+ Lĩnh vực y tế: 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)

1.2.3 Học máy

“Học máy hay máy học(machine learning) là một lĩnh vực của TTNT liên quan đến việc nghiên cứu và xây dựng các kỹ thuật cho phép các hệ thống “học” tự động từ

dữ liệu để giải quyết những vấn đề cụ thể nào đó”(Theo wikipedia)

Để hiểu gần gũi hơn chúng ta có thể nói học máy là một ngành khoa học giúp máy tính dự đoán được các dữ liệu mới (hay tri thức mới) từ các dữ liệu đã biết

(Training Dataset) thông qua các giải thuật học máy

Trang 16

Ví dụ như các máy cĩ học cách phân loại thư điện tử xem cĩ phải thư rác (spam) hay khơng và tự động xếp thư vào thư mục tương ứng; dạy máy tính (rơ-bơt) cách băng qua đường thì theo cách truyền thống bạn sẽ đưa cho nĩ một loạt quy tắc hướng dẫn cách nhìn trái phải hay đợi xe và người đi qua,… Tuy nhiên nếu dùng học máy chúng ta sẽ cho máy tính xem hàng nghìn video quay cảnh người ta băng qua đường

an tồn và hàng nghìn video quay cảnh con người đĩ bị xe đâm để nĩ tự học Từ đĩ máy tính cĩ thể nhận thức và phân tích nhiều đặc trưng tốt hơn (thơng minh hơn) từ các video để nhận biết được các sự vật hiện tượng mới xung quanh thơng qua kho dữ liệu đã huấn luyện

Trong lĩnh vực nhận dạng hình ảnh, ví dụ như đưa cho máy học nhiều dữ liệu – 10.000 ảnh mơ tả con vật (chĩ, mèo…) và mong muốn chương trình của bạn thể đốn

1 bức ảnh chưa gặp bao giờ là con vật nào (chĩ, mèo, …) Do vậy, yêu cầu đặt ra là mỗi lần xem qua một ảnh, học máy sẽ phải “ghi nhớ” đặc trưng của con vật nào: màu

lơng, vĩc dáng, kích thước… Đồng thời học máy phải cĩ khả năng tổng quát hĩa những ảnh nĩ đã xem để cĩ thể dự đốn cho những bức ảnh chưa bao giờ thấy

1.2.4 Phân loại phương pháp học máy

Theo phân nhĩm dựa trên phương thức học thì học máy cĩ 4 nhĩm sau:

+ Học cĩ giám sát ( Supervised learning): là học với tập dữ liệu huấn luyện

ban đầu hồn tồn được gán nhãn từ trước Học cĩ giám sát là phương pháp học sử dụng cho lớp bài tốn phân lớp, phân loại (Classification)

Đối với bài tốn học cĩ giám sát chúng ta thực hiện 3 bước như sau:

1 Thực hiện phân lớp: chuẩn bị một tập dữ liệu huấn luyện (trainning dataset), sau đĩ thực hiện gán nhãn cho tập dữ liệu này để cĩ tập dữ liệu huấn luyện

2 Dùng một số thuật tốn phân lớp (ví dụ như là thuật tốn SVM (Support Vector Machine), K láng giềng gần nhất (K Nearest Neighbours – KNN); tiếp cận xác suất thống kê (Nạve Bayes); Cây quyết định (Decision Tree); sử dụng mạng neural (Neural Network);…) để xây dựng bộ phân lớp để học tập dữ liệu huấn luyện Quá

trình này sẽ dung tập dữ liệu huấn luyện để huấn luyện bộ phân lớp

3 Sử dụng một tập dữ liệu kiểm tra (Test Dataset) đã được gán nhãn trước, để kiểm tra tính đúng đắn của bộ phân lớp Sau đĩ, cĩ thể dùng bộ phân lớp để phân lớp cho các dữ liệu mới

+ Học khơng cĩ giám sát (unsupervised learning) là học với tập dữ liệu huấn

luyện ban đầu hồn tồn chưa được gán nhãn, là phương pháp học sử dụng cho các lớp bài tốn gom cụm, phân cụm (clustering)

Đối với bài tốn học khơng cĩ giám sát chúng ta thực hiện các bước như sau:

1 Phân cụm: để thực hiện phân cụm trước tiên cần một tập dữ liệu huấn luyện

(Training dataset) – là một tập các mẫu dữ liệu học (Training examples) Trong đĩ,

mỗi mẫu dữ liệu học chỉ chứa thơng tin biểu diễn mà khơng cĩ bất kỳ thơng tin gì về nhãn lớp hoặc giá trị dữ liệu đầu ra mong muốn

Trang 17

2 Áp dụng một thuật toán học không có giám sát để học hàm/mô hình mục tiêu (trong trường hợp này là hàm phân cụm ứng với thuật toán được chọn) Việc lựa chọn

sử dụng thuật toán nào tùy thuộc vào dữ liệu và mục đích của các bài toán yêu cầu, tuy nhiên các thuật toán phổ biến thường hay được sử dụng là: k-means, HAC (Hiearchical Agglomerative Clustering), SOM (Self-Organizing Map), DBSCAN, FCM,

3 Sử dụng một phương pháp thử nghiệm (có thể kết hợp với một tập dữ liệu có gán nhãn) để đánh giá độ chính xác của hàm mục tiêu học được

+ Học bán giám sát (semi-supervised learning) là quá trình học với tập dữ liệu

huấn luyện bao gồm cả dữ liệu đã được gán nhãn và dữ liệu chưa được gán nhãn để huấn luyện, thường là dữ liệu gán nhãn là lượng dữ liệu nhỏ và dữ liệu chưa gán nhãn

là tập dữ liệu lớn Tuỳ vào từng mục đích cụ thể, học bán giám sát có thể được áp dụng cho bài toán phân lớp hoặc phân cụm

Đối với bài toán học không có giám sát chúng ta thực hiện các bước như sau:

1 Tập dữ liệu ban đầu là tập huấn luyện (training set): tập có nhãn (thường là số lượng ít), tập học chưa có nhãn (thường là số lượng nhiều)

2 Sử dụng các thuật toán học bán giám sát ( như self-training, Co-training, SVM truyền dẫn (TSVM- Transductive Support Vector Machine) sẽ học các ví dụ có nhãn,

sau đó tiến hành gán nhãn (có lựa chọn) cho các ví dụ không có nhãn một cách hợp lý,

có đánh giá chất lượng công việc hay độ chính xác Tiếp theo, chọn các ví dụ vừa được gán nhãn có độ tin cậy cao (vượt trên một ngưỡng chọn trước) đưa vào kết hợp tập dữ liệu có nhãn, tạo thành một tập dữ liệu huấn luyện mới

3 Áp dụng một phương pháp kiểm thử (Test Dataset) để đánh giá độ chính xác

của mô hình/bài toán

+ Học tăng cường/cũng cố (reinforcement learning) là tổ hợp của cả hai mô

hình (học có giám sát và không giám sát) Cụ thể là với vector đầu vào, quan sát vector đầu ra do mạng tính được Nếu kết quả được xem là “tốt” thì mạng sẽ được thưởng bằng cách tăng các trọng số kết nối lên; ngược lại mạng sẽ bị phạt, các trọng số kết nối không thích hợp sẽ được giảm xuống Điều này có nghĩa là với cách học này sẽ giúp cho một hệ thống tự động xác định hành vi dựa trên hoàn cảnh để đạt được lợi ích cao nhất (maximizing the performance)

1.2.5 Mạng neural nhân tạo

Mạng neural nhân tạo (Artificial Neural Network - ANN), hay thường gọi ngắn gọn là mạng neural, là mô hình xử lý thông tin được mô phỏng theo cách thức xử lý thông tin của các hệ neural sinh học Nó bao gồm có một nhóm các neural nhân tạo (mỗi neural là một nút) kết nối với nhau qua các liên kết ( biểu diễn bằng các trọng

số w), và xử lý thông tin bằng cách truyền theo các kết nối như một thể thống nhất để giải quyết một vấn đề nào đó Một mạng neural nhân tạo được xây dựng cho một ứng dụng cụ thể (nhận dạng mẫu, phân loại, ) thông qua một quá trình học từ tập các mẫu

Trang 18

huấn luyện Trong nhiều trường hợp, mạng neural nhân tạo là một hệ thống thích

ứng (adaptive system) tự thay đổi cấu trúc của mình dựa trên các thông tin bên ngoài

hay bên trong chảy qua mạng trong quá trình học Về mặt bản chất học ở đây chính là quá trình điều chỉnh giá trị trọng số (w) liên kết giữa các neural sao cho giá trị hàm lỗi

là nhỏ nhất

Kiến trúc ANN là tập hợp các neural được kết nối, các đầu ra của một số neural

có thể trở thành đầu vào của các neural khác

Một ANN gồm 3 thành phần đó là Input Layer, Hidden Layer và Output Layer

Trong đó, lớp ẩn (Hidden Layer) gồm các neural, nhận dữ liệu input từ các neural ở lớp 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 Hidden Layer

Các thành phần cơ bản của một neural nhân tạo bao gồm:

+ Tập các đầu vào (Inputs): là các tín hiệu vào (input signals) của neural, các

tín hiệu này thường là một vec-tơ N chiều

+ Tập các đầu ra (Outputs): Là tín hiệu đầu ra của một neural, với mỗi neural

sẽ có tối đa là một đầu ra

Trọng số (Weights)

Trang 19

+ Tập các liên kết (trọng số liên kết - weights): Mỗi liên kết được thể hiện

bởi một trọng số liên kết – Synaptic weight Trọng số liên kết giữa tín hiệu vào thứ i với nơron k được kí hiệu là Wik Đây là thành phần rất quan trọng của một mạng ANN,

nó thể hiện giá trị (độ mạnh) của neural vào thứ i đối với quá trình xử lý thông tin đầu

ra cho neural k Các trọng số này thường được khởi tạo giá trị ngẫu nhiên ở thời điểm khởi tạo và được cập nhật (điều chỉnh) liên tục trong quá trình học (Learning Processing) của ANN để có được kết quả mong muốn

+ Hàm tổng (Summation Function): là hàm tính tổng trọng số của tất cả các

input (neural đầu vào) Hàm tổng của một neural cho biết khả năng kích hoạt của neural đó trong mạng ANN và là đầu vào cho các layer tiếp theo

Hàm tổng của 1 neural có n input được tính theo công thức sau:

Hàm tổng đối với nhiều neural trong cùng một Layer:

+ Hàm truyền (Transfer function): Hàm này được dùng để giới hạn phạm vi

đầu ra của mỗi nơron Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng

Các đặc trưng chính của ảnh bao gồm:

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

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

- Đặ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 trong 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

Trang 20

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 trông 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:

f=

ta có ma trận đồng hiện P(1,0) với

P(1,0)=

- 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 14 Thuật toán tính ra các đặc trưng vân theo biến đổi Wavelet:

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

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

Trang 21

3 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 song ѱ(x)

ѱ(x) = 2-1/2ѱ(2-mx - n) 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 đó: 2 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ển ảnh: Nhóm điểm liên kết hệ 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ó thụô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ướt lớn (thường vào khoảng 1% kích thước ảnh)

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

(nguồn internet)

- 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

Trang 22

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

1.3.3.1 Đặc trưng Haar

Phương pháp biểu diễn đặc trưng Haar-like feature (gọi tắt là phương pháp Haar) được giới thiệu bởi Viola và Jones [31] tại hội nghị quốc tế về thị giác máy tính và nhận dạng mẫu năm 2 1 Phương pháp Haar phát triển dựa trên nguyên lý Haar-wavelet, dùng các đáp ứng cải thiện từ ba bậc đầu tiên của sóng Haar-wavelet như là tập đặc trưng:

11,

11

11

Nguyên lý cơ bản phương pháp Haar là tính độ sai khác về tổng giá trị mức xám giữa các vùng với nhau Phương pháp Haar lần đầu tiên được giới thiệu và áp dụng thành công cho nhận dạng mặt người theo thời gian thực nhờ kết hợp phương pháp tính nhanh theo tích phân ảnh (intergral image) Ban đầu, bộ mô tả Haar chỉ sử dụng 4 loại mẫu đặc trưng cơ bản là sự kết hợp của hai, ba hoặc bốn vùng phân phối theo các dạng tương ứng như minh họa

( , ) white regions ( , ) black regions

1.3.3.2 Trích xuất đặc trưng Haar

Để tính các giá trị của đặc trưng Haar, ta phải tính tổng giá trị pixel trong các vùng trên ảnh Việc này được thực hiện lặp đi lặp lại toàn bộ vị trí trên ảnh mẫu (quét qua toàn bộ ảnh) và thực hiện với các kích thước vùng khác nhau Một hạn chế trong tính đặc trưng Haar là tuy giá trị mức xám pixel không đổi nhưng việc tính tổng được lặp đi lặp lại nhiều lần dẫn đến chi phí tính toán lớn, không đáp ứng được đòi hỏi xử lý thời gian thực (real time) Do đó, tác giả Viola và Jones đã đề xuất giải pháp tính nhanh đặc trưng mà không cần thực hiện lặp lại cho mỗi mức scale ảnh và mỗi kích thước vùng (đen/ trắng) bằng cách sử dụng phương pháp tích phân ảnh (integral image) Phương pháp này sử dụng một mảng hai chiều có kích thước bằng với kích

Trang 23

của ảnh để lưu trữ tổng giá trị cộng dồn pixel từ trái qua phải, từ trên xuống dưới Nghĩa là mỗi phần tử của mảng này được tính bằng tổng tích lũy của toàn bộ điểm ảnh

từ đầu tiên đến vị trí phần tử hiện tại theo công thức:

Hình 1.6 Tính nhanh tổng giá trị pixel trong vùng chữ nhật bất kỳ

Bảng tổng tích lũy CS được sử dụng để tính tổng giá trị các pixel trong vùng chữ nhật bất kỳ với chỉ cần 4 phép truy xuất Trong hình minh họa, cần tính tổng giá trị

pixel trong vùng chữ nhật ABCD của ảnh I bằng cách sử dụng bảng CS để thực hiện

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

1.3.4.1 Đặc trưng HOG

Đặc trưng HOG (Histograms of Oriented Gradients) được đề xuất bởi nhóm tác giả Dalal và Trigg, trình bày lần đầu tại hội thảo quốc tế chuyên ngành thị giác máy tính và nhận dạng mẫu năm 2 5 Bộ mô tả đặc trưng HOG được dùng phổ biến trong nhiều bài toán nhận dạng mẫu như nhận dạng người, nhận dạng xe, biển báo giao thông và nhiều loại đối tượng khác Đặc trưng HOG có thể mô tả hình dáng và tư thế của đối tượng theo sự phân bố về hướng của gradient mức xám ảnh HOG thuộc nhóm phương pháp mô tả đặc trưng toàn vùng ảnh về đối tượng, đặc trưng được biểu diễn dưới dạng một vector Ví dụ, để mô tả hình dáng người, bộ mô tả HOG là một tập đặc trưng toàn cục mô tả về phân phối hình dáng của đối tượng người trong mẫu (hay còn gọi trong một window) Qua việc trích rút đặc trưng trên mẫu ảnh cho trước, ta thu được một vector đặc trưng của đối tượng trong ảnh đó Tương tự như các phương pháp

Trang 24

biểu diễn đặc trưng khác, HOG biến đổi không gian ảnh sang không gian vector đặc trưng để có thể xử lý đơn giản hơn và đạt độ chính xác cao hơn trên ảnh thô bằng các công cụ trí tuệ nhân tạo trong lĩnh vực nhận dạng mẫu

1.3.4.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 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.7 Quá trình trích đặ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.8 Mẫu ảnh đầu vào được 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:

- 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

- 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 ngang và 15 block theo chiều dọc

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

Trang 25

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

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

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 3 độ 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

Hình 1.10 Tính gradient ảnh: (a) ảnh đa mức xám, (b) giá trị gradient theo các

chiều X và Y, (c) hướng và độ lớn gradient

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

Trang 26

tác giả Dalal và Triggs đã chứng minh rằng sử dụng 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à 80o 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à 750thì 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.11 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:

Trang 27

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à

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

mẫu ảnh

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

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

1.3.5.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 1 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 2 4 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 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,

Trang 28

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)

1.3.5.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[25]:

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.13 Đối tượng trong vùng cửa sổ thay đổi khi co giãn ảnh

Trong hình ví dụ này, 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 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 (như hình minh họa) 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)

Trang 29

Hình 1.14 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 ) ,

,

(x y e x y

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 1.11

Để 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:

( , , ) ( , , ) ( , , ) ( , ) ( , , ) ( , , )

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

(a)

Trang 30

(b)

(c)

Hình 1.16 Kết quả minh họa tính DoG và tính xác điểm cực trị: (a) ảnh đầu vào

và các điểm tiềm năng bất biến, (b) áp dụng lọc Gaussian với các giá trị và các mức

co giãn kích thước khác nhau; (c) Giá trị DoG tương ứng với kết quả ở hình (b) 1.3.5.2 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 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ị .2 được sử dụng và sau đó vector được chuẩn hóa lại, trong đó ngưỡng bằng 2 được lựa chọn theo kinh nghiệm

Hình 1.17 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 hướng Trong hình 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

Trang 31

1.3.6 Một số ứng dụng trong nhận dạng đối tượng

Phần này viết thêm chứ 1 mục mà quá ngắn, em có thể trình bày một số ứng dụng

cụ thể như nhận dạng mặt người, nhận dạng người, phương tiện giao thông, theo hướng nêu cụ thể nó làm như thế nào, kỹ thuật nào, khoảng vài trang cho chi tiết và cũng tạo cân đối

Có rất nhiều ứng dụng trong việc nhận dạng đối tượng, mà cụ thể đó là nhận dạng thông qua hình ảnh, video:

- Nhận dạng hành động con người, sự vật, hình ảnh trong tương tác người – máy + Nhận thức sự vật (object perception)

+ Nhận diện hành động, hình ảnh, giọng nói…

+ Y học : Phát hiện các bệnh hiếm gặp, chẩn đoán ung thư

+ Hệ thống gợi ý (recommend) trên các nền tảng dữ liệu lớn

1.4 Kỹ thuật học sâu

1.4.1 Một số khái niệm

Học sâu (Deep Learning) là một phương pháp của máy học dựa trên một tập

hợp các thuật toán để cố gắng mô hình dữ liệu trừu tượng hóa ở mức cao bằng cách sử dụng nhiều lớp xử lý với cấu trúc phức tạp, hoặc bằng cách khác bao gồm nhiều biến

đổi phi tuyến (theo Wikipedia) Hay nói cách khác là học sâu là một kỹ thuật trong học máy, sử dụng các thuật toán liên quan đến các thuật toán dựa trên cấu trúc và hoạt động của bộ não động vật gọi là Mạng neural nhân tạo dựa trên việc phân tích dữ liệu

về nhiều đặc trưng hơn nhờ sự hỗ trợ khả năng tính toán của máy tính

1.4.2 Một lĩnh vực ứng dụng của kỹ thuật học sâu

Học sâu tập trung giải quyết các vấn đề liên quan đến mạng thần kinh nhân tạo

và tác động tích cực đến việc đa dạng các lĩnh vực mà trí tuệ nhận tạo đã gặp phải khó khăn trước đây như:

+ Nhận thức sự vật (object perception)

+ Nhận diện hành động, hình ảnh, giọng nói…

+ Y học: Phát hiện các bệnh hiếm gặp, chẩn đoán ung thư

+ Hệ thống gợi ý (recommend) trên các nền tảng lớn Những hệ thống Facebook, Amazon,… đều có hệ thống gợi ý mạnh giúp cho các hệ thống này tăng số lượng tương tác với người dùng Ví dụ như khi người dùng quan tâm các sản phẩm và xem nói thì các gợi ý sẽ được các nhà cung cấp gửi đến liên tục cho người quan tâm lĩnh vực đó

Như ví dụ nhận dạng con chó trong mục học máy thì chúng ta sẽ lập trình ra nhiều lớp trong mạng thần kinh nhân tạo, mỗi lớp có khả năng xác định một đặc điểm cụ thể của nó như râu, chân, tai, mũi… rồi cho máy xem hàng ngàn bức ảnh chó (“Đây là con chó”), cùng hàng ngàn bức ảnh không phải chó ("Đây không phải con chó") Khi mạng thần kinh nhân tạo này xem hết các bức ảnh, các lớp node của nó sẽ dần nhận ra râu,

Trang 32

chân, tai, mũi , biết lớp nào là quan trọng, lớp nào không Nó cũng sẽ nhận ra rằng chó luôn có chân nhưng những con vật không phải chó cũng có chân nên khi cần xác định chó, chúng sẽ tìm chân đi kèm những đặc điểm khác như chạy nhảy, đặc điểm đôi tai…

1.4.3 Mạng neural học sâu

Trong những năm gần đây, sự phát triển vượt bậc của ngành thị giác máy tính (Computer Vision) đã thúc đẫy các hệ thống ứng dụng về dữ liệu lớn như hình ảnh, video trên các mạng facebook, youtube ngày một phát triển mạnh hơn Nhờ vậy các hệ thống xử lý ảnh lớn như Facebook, Google hay Amazon đã phát triển các chức năng thông minh như nhận dạng hình ảnh, phát triển xe hơn tự lại

Như chúng ta đã phân tích trên, cấu trúc của mạng neural gồm 3 lớp(layer) cơ bản: Input layer, hidden layer, Output layer và trong mạng neural này lớp hidden layer được sử dụng nhiều hơn một hidden layer để nhằm phân tích tính toán nhận dạng nhiều đặc trưng hơn, giúp cho hệ thống máy học nhận diện chính xác hơn và nhanh hơn Và để máy học có thể phân tích được chính xác hơn thì đòi hỏi hệ thống input layer cần một lượng dữ liệu rất lớn mới giúp cho hệ thống này nhận diện các đặc trưng nhiều hơn Với việc sử dụng kỹ thuật nhiều lớp hidden layer trong mạng neural để giúp cho máy học nhận dạng được nhiều đặc trưng đối tượng nhằm tăng độ chính xác của máy học hơn với lượng dữ liệu đầu vào đủ lớn gọi là mạng neural học sâu

Trang 33

CHƯƠNG 2 KỸ THUẬT MẠNG TÍCH CHẬP TRONG NHẬN DẠNG

HÀNH ĐỘNG 2.1 Mạng neural tích chập

2.1.1 Giới thiệu mạng tích chập

Mạng neural tích chập (Convolutionalal Neural Network: CNN) là một mô hình mạng học sâu (Deep Learning) giúp cho chúng ta xây dựng được những hệ thống thông minh với độ chính xác cao như hiện nay, sử dụng phép tích chập để trích chọn các đặc trưng đầu vào (input layer) kết hợp với các hàm kích hoạt phi tuyến (nonlinear activation function) như ReLU để tạo ra thông tin trừu tượng hơn (abstract/higher-level) cho các layer tiếp theo, quá trình này được lặp lại qua nhiều lớp ẩn (sử dụng bộ lọc tích chập) để sau cùng có một số đặc trưng để nhận dạng đối tượng Mạng CNN thường được áp dụng trong các bài toán về nhận dạng hình ảnh, xử lý ngôn ngữ tự nhiên,…

CNN được phát triển dựa trên ba ý tưởng chính: tính kết nối cục bộ (Local connectivity hay compositionality), tính bất biến (Location invariance) và tính bất biến đối với quá trình chuyển đổi cục bộ (Invariance to local transition)

2.1.2 Cấu trúc của mạng tích chập CNN

Trong mô hình mạng neural truyền thẳng các layer kết nối với nhau thông qua trọng số liên kết w, các layer này còn được gọi là có kết nối đầy đủ (fully connected layer)

Trong mô hình CNN thì các layer liên kết được với nhau qua cơ chế tích chập (Convolutional), các layer tiếp theo là kết quả của tích chập từ layer trước đó Các layer khác nhau được sử dụng các filter khác nhau, thông thường có vài trăm đến vài nghìn filter như vậy Ngoài ra một số layer khác như pooling/subsampling layer dùng

để trích xuất các thông tin hữu ích hơn (loại bỏ thông tin nhiễu)

Hình 2.1 Mô hình mạng neural tích chập (nguồn internet)

Trong quá trình huấn luyện, CNN sẽ tự học được các thông số cho các bộ lọc filter Ví dụ trong tác vụ phân lớp ảnh, CNN sẽ cố gắng tìm ra thông số tối ưu cho các filter tương ứng

Trang 34

Cấu trúc cơ bản của CNN gồm các lớp tích chập (Convolutional layer), lớp phi tuyến (Nonlinear layer) và lớp lọc (Pooling layer) như hình 1.* Các lớp tích chập kết hợp với các lớp phi tuyến sử dụng các hàm phi tuyến như ReLU hay tanh để tạo ra thông tin trừu tượng hơn (Abstract/higher-level) cho các lớp tiếp theo

+ Lớp Convolutional: nhiệm vụ của nó là thay vì kết nối toàn bộ điểm ảnh, lớp

này sẽ sử dụng các bộ lọc (filter) có kích thước nhỏ so với ảnh (thường là 5x5 hoặc 3x3) so khớp vào một vùng ảnh, sau đó tính tích chập giữa bộ filter và giá trị các điểm ảnh trong vùng đó để cho ra một giá trị duy nhất, bộ lọc tiếp tục trượt (stride) dọc và quét hết toàn bộ ảnh Đầu ra của phép tích chập là một tập các giá trị ảnh được gọi là mạng đặc trưng (features map) Thực chất, ở các layer đầu tiên, phép tích chập đơn giản là nó sẽ làm hiện lên các đặc trưng của đối tượng trong ảnh như đường vẽ xung quanh đối tượng, các góc cạnh , và các layer tiếp theo sẽ lại trích xuất tiếp các đặc trưng của đặc trưng của các đối tượng đó, việc có nhiều layer như vậy cho phép chúng

ta chia nhỏ đặc trưng của ảnh tới mức nhỏ nhất có thể

Hình 2.2 Phép tích chập với bộ lọc (nguồn internet)

Nếu có bao nhiêu filter trong lớp này sẽ có bấy nhiêu lớp ảnh tương ứng mà lớp này trả ra và được truyền vào lớp tiếp theo Các trọng số filter ban đầu sẽ được khởi tạo ngẫu nhiên và sẽ được học dần trong quá trình huấn luyện

+ Lớp chuyển đổi RELU (Rectified Linear Unit): Lớp này thường được cài đặt

ngay sau lớp Convolutional và sử dụng hàm kích hoạt giá trị cực đại và f(x) = max (0, x) Mục đích của lớp ReLu là đưa ảnh một mức ngưỡng, ở đây là và không thay đổi kích thước của ảnh và không có thêm bất kì tham số nào Để loại bỏ các giá trị âm không cần thiết mà có thể sẽ ảnh hưởng cho việc tính toán ở các layer sau đó

Trang 35

+ Lớp Pooling: Lớp này cũng sử dụng một cửa sổ trượt quét hết toàn bộ bức ảnh,

tuy nhiên nó khác ở chổ là nó không tính tích chập mà tiến hành lấy mẩu (subsampling), khi cửa sộ trượt đến vùng ảnh nó chỉ lấy 1 giá trị để xem làm giá trị đại diện cho vùng ảnh đó (giá trị mẩu) Giá trị lấy phổ biến trong lớp pooling là MaxPooling (giá trị lớn nhất), MinPooling (giá trị nhỏ nhất) và AveragePooling (giá trị trung bình)

Hình 2.3 Phép MaxPooling (2x2), stride=2 (nguồn internet)

+ Lớp Fully Connected Layer (FC): Tại lớp này, mỗi một neural của layer này

sẽ liên kết tới mọi neural của lớp khác Để đưa ảnh từ các layer trước vào mạng này, buộc phải dàn phẳng bức ảnh ra thành 1 vector thay vì là mảng nhiều chiều như trước Tại Layer cuối cùng sẽ sử dụng hàm softmax để phân loại đối tượng dựa vào vector đặc trưng đã được tính toán của các lớp trước đó

2.2 Một số mạng neural học sâu sử dụng trong nhận dạng

Phần này giới thiệu một số kiến trúc mạng tích chập học sâu (CNN) đã được xây dựng và thực nghiệm thành công, đạt hiệu quả cao đang sử dụng nhiều trong nghiên cứu và ứng dụng

2.2.1 Mạng LeNet

LeNet là một trong những kiến trúc mạng neural học sâu kiểu tích chập được phát triển bởi Yann Lecun vào cuối nhưng năm Mạng LeNet được sử dụng rất thành công trong nhận dạng chữ số, kí tự văn bản, đặc biệt là kiến trúc LeNet-5 và mô hình pretrain [7] Mô hình pretrain là mô hình của kiến trúc mạng đã được huấn luyện trên tập dữ liệu tiêu chuẩn Tùy theo phạm vi, mục tiêu xây dựng mạng để giải quyết bài toán nào mà người dùng có thể sử dụng mô hình pretrain trực tiếp vào chương trình để giải quyết bài toán cụ thể hoặc dựa vào mô hình pretrain để tiếp tục huấn luyện trên tập dữ liệu riêng đối với bài toán ứng dụng cụ thể

Trang 36

Hình 2.4 Kiến trúc mạng LeNet-5

Kiến trúc LeNet5 là một kiến trúc cơ bản gồm các lớp chính là kiểu lớp tích chập, có khả năng học các tham số (các bộ trọng số mặt nạ tích chập) một cách hiệu quả nhằm trích xuất các đặc trưng tương tự ở nhiều vị trí khác nhau của đối tượng Tại thời điểm đề xuất kiến trúc mạng LeNet5, chưa có sự hỗ trợ của thiết bị phần cứng tính toán song song như GPU, thậm chí CPU tốc độ còn thấp do vậy phương pháp này tỏ ra kém hiệu quả vì thời gian huấn luyện quá chậm Khả năng lưu lại các tham số và vấn

đề tính toán thấp là yếu tố lợi thế quan trọng Yêu cầu này là đối lập với việc sử dụng mỗi pixel ảnh như một neural đầu vào riêng biệt cho mạng neural rộng và đa lớp như LeNet5

Một số đặc điểm chính của mô hình LeNet như sau: LeNet5 được xây dựng trên

cơ sở mạng tích chập sử dụng tuần tự 3 kiểu kiến trúc lớp (layer) gồm tích chập, pooling, hiệu chỉnh phi tuyến tính Có thể nói LeNet là tiền đề của kỹ thuật học sâu và kết quả thực nghiệm kiến trúc mạng đã đạt được kết quả quan trọng làm nổi bật kỹ thuật học sâu trong xử lý ảnh tại thời gian đầu sơ khai Sử dụng tích chập để trích xuất đặc trưng đối tượng trong không gian, làm giảm kích thước mẫu bằng cách sử dụng bộ lọc trung bình cục bộ (average pooling) Để chuẩn hóa dữ liệu bằng phương pháp phi tuyến tính, tác giả đề xuất một số hàm như hàm tanh hoặc sigmoid Mạng neural đa lớp đầu ra kết nối đầy đủ được dùng như bộ phân loại cuối cùng Như vậy, mục đích

sử dụng ma trận kết nối thưa và áp dụng trong mỗi vùng địa phương giữa các lớp trong mạng nhằm giải quyết vấn đề chi phí tính toán quá lớn như trong các mạng kết nối đầy đủ

2.2.2 Mạng AlexNet

Mạng AlexNet[8] là một kiến trúc mạng neural học sâu đặc biệt của mạng tích chập (CNN), được phát triển bởi nhóm nghiên cứu của Alex AlexNet lần đầu được giới thiệu vào năm 2 12 với kiến trúc mạng tương tự với LeNet nhưng sử dụng một số lượng các lớp (layer), số bộ lọc và số neural lớn hơn rất nhiều Mô hình pretrain AlexNet được sử dụng rất thành công và phổ biến trong lĩnh vực nhận dạng đối tượng trong ảnh Thành công của AlexNet đã nâng tầm kỹ thuật học sâu CNN và thu hút được sự quan tâm lớn của nhiều nhà khoa học và chứng minh khả năng ứng dụng cao trong giải quyết bài toán nhận dạng mẫu ứng dụng thực tế nhờ có độ chính xác cao và tốc độ xử lý nhanh Một trong những ưu điểm của AlexNet là tốc độ xử lý nhanh bằng

Trang 37

cách sử dụng thuật toán xử lý song song trên GPU với nền tảng công nghệ CUDA đã làm cho mô hình AlexNet có khả năng ứng dụng thời gian thực Ở công trình công bố đầu tiên[8], nhóm tác giả xây dựng kiến trúc mạng CNN 8 lớp như hình mô tả

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

Hiện nay, có nhiều công cụ và gói phần mềm đã tích hợp mô hình mạng tích chập AlexNet Trong phần mềm ngôn ngữ lập trình Matlab, mô hình Pretrained AlexNet được tích hợp vào công cụ Neural Network từ năm 2 1 với kiến trúc 25 lớp như bảng minh họa sau

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

T

T

1 Image Input Ảnh đầu vào kích thước chuẩn hóa 227x227x3

2 Convolution 96 bộ lọc tích chập kích thước 11×11×3, bước trượt với

stride [4 4] và padding [0 0]

3 ReLU Sử dụng bộ lọc hiệu chỉnh đơn vị tuyến tính

4 Cross Channel

Normalization Chuẩn hóa cross channel với 5 kênh/phần

5 Max Pooling Lớp max pooling sử dụng kích thước 3x3, bước trượt stride

Normalization Chuẩn hóa cross channel với 5 kênh/phần

9 Max Pooling 3x3 max pooling with stride [2 2] and padding [0 0]

10 Convolution 384 bộ lọc tích chập kích thước 3×3×25 , bước trượt với

stride [1 1] và padding [1 1]

11 ReLU Sử dụng bộ lọc hiệu chỉnh đơn vị tuyến tính

Trang 38

12 Convolution 384 bộ lọc tích chập kích thước 3×3×1 2, bước trượt với

stride [1 1] và padding [1 1]

13 ReLU Sử dụng bộ lọc hiệu chỉnh đơn vị tuyến tính

14 Convolution 256 bộ lọc tích chập kích thước 3×3×1 2, bước trượt với

stride [1 1] và padding [1 1]

15 ReLU Sử dụng bộ lọc hiệu chỉnh đơn vị tuyến tính

16 Max Pooling 3x3 max pooling with stride [2 2] and padding [0 0]

17 Fully

Connected Lớp kết nối đầy đủ với 4 nút đầu ra

18 ReLU Sử dụng bộ lọc hiệu chỉnh đơn vị tuyến tính

19 Dropout Sử dụng dropout 50%

20 Fully

Connected Lớp kết nối đầy đủ với 4 nút đầu ra

21 ReLU Sử dụng bộ lọc hiệu chỉnh đơn vị tuyến tính

22 Dropout Sử dụng dropout 50%

23 Fully

Connected Lớp kết nối đầy đủ với 1 nút đầu ra

24 Softmax Sử dụng bộ lọc softmax

25 Classification Phân loại với đầu ra 1.000 lớp

Một số đặc điểm chính của mô hình AlexNet như sau:

- Mô hình pretrain AlexNet được huấn luyện trên tập dữ liệu lớn ImageNet[9] Tập dữ liệu lớn này gồm hơn 15 triệu ảnh đã được tạo nhãn (annotation) với tổng cộng hơn 22 nghìn lớp đối tượng khác nhau

- Sử dụng lớp ReLU (rectified linear unit) thay cho các hàm phi tuyến nhằm giảm làm thời gian huấn luyện Kết quả cho thấy dùng kiểu lớp ReLU nhanh hơn nhiều lần

so với các hàm truyền thống khác như tanh (hàm lượng giác hyperbolic), sigmoid

- Sử dụng kỹ thuật tăng cường dữ liệu (data augmentation) nhằm làm gia tăng dữ liệu huấn luyện từ bộ dữ liệu gốc bằng các phép biến đổi hình học như ph p quay, tịnh tiến, trích xuất vùng con, co giãn và làm méo ảnh

- Thực hiện nhiều lớp dropout nhằm giải quyết vấn đề quá khớp (overfitting) đối với tập dữ liệu huấn luyện

- Huấn luyện mô hình sử dụng phương pháp giảm gradient ngẫu nhiên (stochastic gradient descent) với các giá trị đặc biệt cho thông số động lượng (momentum) và trọng số phân rã (weight decay) nhằm tìm cực trị theo đạo hàm bậc nhất

- Thành công của AlexNet là một bước tiên phong, tạo tiền đề cho sự phát triển vượt bậc của kỹ thuật trí tuệ nhân tạo Sự thành công của AlexNet một phần nhờ vào

kỹ thuật xử lý song song trên GPU, mô hình pretrain AlexNet được huấn luyện trên 2

Ngày đăng: 28/03/2021, 22:58

TỪ KHÓA LIÊN QUAN

w