Tải bản đầy đủ (.pdf) (105 trang)

Xây dựng sản phẩm kính thông minh cho người khiếm thị bằng ứng dụng trí tuệ nhân tạo và internet vạn vật

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.97 MB, 105 trang )

TRƯỜNG ĐẠI HỌC SƯ PHẠM – ĐẠI HỌC ĐÀ NẴNG
KHOA TIN HỌC

BÁO CÁO
KHÓA LUẬN TỐT NGHIỆP
TÊN ĐỀ TÀI

XÂY DỰNG SẢN PHẨM KÍNH THƠNG MINH CHO
NGƯỜI KHIẾM THỊ BẰNG ỨNG DỤNG TRÍ TUỆ
NHÂN TẠO VÀ INTERNET VẠN VẬT

CBHD

: Th.S. Đồn Duy Bình

Sinh viên

: Đặng Thanh Hào

Mã sinh viên

: 312024161110

Lớp

: 16CNTT3


i

LỜI CẢM ƠN


Em xin chân thành gửi lời cảm ơn đến các thầy cô trong Khoa Tin học, Trường
Đại học Sư Phạm – Đại học Đà Nẵng đã truyền đạt những kiến thức quý báu
trong những năm học vừa qua để em có kiến thức thực hiện đề tài khóa luận
này.
Em xin chân thành cảm ơn thầy giáo hướng dẫn Th.S. Đồn Duy Bình đã trực
tiếp hướng dẫn, tận tình góp ý, giúp đỡ và tạo điều kiện thuận lợi nhất cho em
trong suốt quá trình thực hiện đề tài này.
Trong q trình thực hiện chắc hẳn sẽ khơng tránh những thiếu sót. Em rất
mong nhận được sự thơng cảm, góp ý và tận tình chỉ bảo của q Thầy Cơ và
các bạn để đề tài được hồn thiện hơn.
Một lần nữa em xin chân thành cảm ơn!

SVTH: Đặng Thanh Hào - 16CNTT3


ii

DANH MỤC CÁC BẢNG
Bảng 0.1 Một số thiết bị kính thông minh trên thế giới .................................... 2
Bảng 1.1 Đánh giá một số mạng nơ-ron Object detection cơ sở [5] .............. 17
Bảng 1.2 Đánh giá một số mạng nơ-ron Object detection [5] ........................ 17
Bảng 1.3 So sánh Arduino và Raspberry Pi .................................................... 25
Bảng 2.1 Đặc tả tổng quát các tác nhân hệ thống ........................................... 33
Bảng 2.2 Đặc tả bảng User .............................................................................. 37
Bảng 2.3 Đặc tả bảng Glasses ......................................................................... 38
Bảng 2.4 Đặc tả bảng SoftwareVersion .......................................................... 38
Bảng 2.5 Đặc tả bảng Group ........................................................................... 39
Bảng 2.6 Đặc tả bảng GroupMember ............................................................. 39
Bảng 2.7 Đặc tả bảng GlassesLink ................................................................. 39
Bảng 2.8 Đặc tả ca sa sử dụng chức năng Nhận dạng đồ vật ......................... 44

Bảng 2.9 Đặc tả ca sử dụng chức năng Phân loại đồ vật nguy hiểm .............. 45
Bảng 2.10 Đặc tả ca sử dụng chức năng Cảnh báo tự động vật nguy hiểm ... 46
Bảng 2.11 Đặc tả ca sử dụng chức năng Cảnh báo tự động chướng ngại vật 48
Bảng 2.12 Đặc tả ca sử dụng chức năng Phát âm thanh tên của tất cả vật thể 49
Bảng 2.13 Đặc tả ca sử dụng chức năng Tìm đồ vật bằng giọng nói ............. 50
Bảng 2.14 Đặc tả ca sử dụng chức năng Gửi tín hiệu SOS ............................ 52
Bảng 2.15 Đặc tả ca sử dụng chức năng Liên kết với ứng dụng mobile ........ 53
Bảng 2.16 Đặc tả ca sử dụng chức năng Gửi dữ liệu ảnh chụp và tọa độ GPS
......................................................................................................................... 55
Bảng 2.17 Đặc tả ca sử dụng chức năng kiểm tra và cập nhật phiên bản phần
mềm mới.......................................................................................................... 56
Bảng 2.18 Đặc tả ca sử dụng chức năng Đăng kí ........................................... 58
Bảng 2.19 Đặc tả ca sử dụng chức năng Đăng nhập....................................... 58
Bảng 2.20 Đặc tả ca sử dụng chức năng Đăng xuất ....................................... 59

SVTH: Đặng Thanh Hào - 16CNTT3


iii

Bảng 2.21 Đặc tả ca sử dụng chức năng Chỉnh sửa thông tin cá nhân ........... 60
Bảng 2.22 Đặc tả tác nhân con của tác nhân "Người thân" ............................ 62
Bảng 2.23 Đặc tả ca sử dụng chức năng Quản lí nhóm cho Quản trị viên ..... 63
Bảng 2.24 Đặc tả ca sử dụng chức năng Quản lí nhóm cho Thành viên ........ 63
Bảng 2.25 Đặc tả ca sử dụng chức năng Quản lí kính cho Quản trị viên ....... 65
Bảng 2.26 Đặc tả ca sử dụng chức năng Quản lí kính cho Thành viên .......... 66
Bảng 2.27 Đặc tả ca sử dụng chức năng Thiết lập ngôn ngữ ứng dụng ......... 68
Bảng 2.28 Đặc tả ca sử dụng chức năng Nhận thông báo SOS ...................... 69
Bảng 3.1 Danh sách các vật huấn luyện thêm ................................................ 75
Bảng 3.2 Đánh giá model huấn luyện trên tập dữ liệu Test ............................ 79

Bảng 3.3 Danh sách các vật sau khi điều chỉnh tập dữ liệu huấn luyện ......... 82
Bảng 3.4 Phần cứng và giá thành sản phẩm ................................................... 83

SVTH: Đặng Thanh Hào - 16CNTT3


iv

DANH MỤC HÌNH VẼ
Hình 1.1 AI và các lĩnh vực thuộc AI ............................................................... 7
Hình 1.2 Một nơ-ron đơn giản .......................................................................... 9
Hình 1.3 Minh hoạ tính chất mong muốn của mạng nơ-ron ........................... 10
Hình 1.4 Đồ thị hàm bước nhảy ...................................................................... 11
Hình 1.5 Đồ thị hàm sigmoid .......................................................................... 12
Hình 1.6 Mạng nơ-ron cơ bản ......................................................................... 13
Hình 1.7 Bộ lọc cạnh là các ma trận kích thước 3x3 của -1, 0 và 1 ............... 15
Hình 1.8 Ví dụ về bộ lọc cạnh (đứng phải, đứng trái, ngang dưới, ngang trên)
với đầu vào là ảnh số viết tay .......................................................................... 16
Hình 1.9 Bài tốn Object detection ................................................................. 16
Hình 1.10 Kết quả dự đốn sau 21 lớp ............................................................ 19
Hình 1.11 Khác biệt giữa máy học truyền thống và học chuyển .................... 21
Hình 1.12 Ứng dụng học chuyển (Transfer Learning) ................................... 22
Hình 1.13 Thiết bị Raspberry Pi 4 B ............................................................... 26
Hình 2.1 Minh họa quá trình liên kết Smart Glasses với Family App ........... 32
Hình 2.2 Sơ đồ ca sử dụng tổng quát .............................................................. 34
Hình 2.3 Sơ đồ kiến trúc hệ thống tổng quát .................................................. 35
Hình 2.4 Mơ hình ER ...................................................................................... 36
Hình 2.5 Mơ hình dữ liệu quan hệ .................................................................. 37
Hình 2.6 Cấu trúc ảnh và các thông tin về thời gian, tọa độ GPS được lưu trữ
trên AWS S3.................................................................................................... 41

Hình 2.7 Topic và mơ hình hoạt động của SNS, mỗi client là một subscriber
......................................................................................................................... 42
Hình 2.8 Mơ hình phần cứng Kính thơng minh .............................................. 43
Hình 2.9 Sơ đồ ca sử dụng chức năng Nhận dạng tên đồ vật và Phân loại vật
thể nguy hiểm .................................................................................................. 44

SVTH: Đặng Thanh Hào - 16CNTT3


v

Hình 2.10 Sơ đồ tuần tự chức năng Nhận dạng và Phân loại đồ vật .............. 45
Hình 2.11 Sơ đồ ca sử dụng chức năng Cảnh báo tự động vật nguy hiểm ..... 46
Hình 2.12 Sơ đồ tuần tự chức năng Cảnh báo tự động vật nguy hiểm ........... 47
Hình 2.13 Sơ đồ ca sử dụng chức năng Cảnh báo tự động chướng ngại vật .. 47
Hình 2.14 Sơ đồ tuần tự chức năng Cảnh báo tự động chướng ngại vật ........ 48
Hình 2.15 Sơ đồ ca sử dụng chức năng Phát âm thanh tên tất cả vật thể ....... 49
Hình 2.16 Sơ đồ tuần tự chức năng Phát âm thanh tên tất cả vật thể ............. 50
Hình 2.17 Sơ đồ ca sử dụng chức năng Tìm đồ vật bằng giọng nói ............... 50
Hình 2.18 Sơ đồ tuần tự chức năng Tìm đồ vật bằng giọng nói ..................... 51
Hình 2.19 Sơ đồ ca sử dụng chức năng gửi tín hiệu SOS ............................... 52
Hình 2.20 Sơ đồ ca sử dụng chức năng Liên kết với ứng dụng mobile.......... 53
Hình 2.21 Sơ đồ tuần tự chức năng liên kết với ứng dụng mobile và chức
năng Gửi tín hiệu SOS .................................................................................... 54
Hình 2.22 Sơ đồ ca sử dụng chức năng gửi dữ liệu ảnh và tọa độ GPS ......... 54
Hình 2.23 Sơ đồ tuần tự chức năng Gửi ảnh chụp và tọa độ SOS .................. 55
Hình 2.24 Sơ đồ ca sử dụng chức năng kiểm tra và cập nhật phiên bản phần
mềm mới.......................................................................................................... 55
Hình 2.25 Sơ đồ tuần tự chức năng kiểm tra và cập nhật phần mềm ............. 56
Hình 2.26 Sơ đồ ca sử dụng chức năng Đăng kí, Đăng nhập, Đăng xuất ...... 57

Hình 2.27 Sơ đồ tuần tự chức năng Đăng kí, Đăng nhập ............................... 59
Hình 2.28 Sơ đồ tuần tự chức năng Đăng xuất ............................................... 60
Hình 2.29 Sơ đồ ca sử dụng chức năng Chỉnh sửa thông tin cá nhân ............ 60
Hình 2.30 Sơ đồ tuần tự chức năng Chỉnh sửa thơng tin cá nhân .................. 61
Hình 2.31 Sơ đồ ca sử dụng chức năng Quản lí nhóm ................................... 62
Hình 2.32 Sơ đồ tuần tự chức năng Quản lí nhóm của Quản trị viên ............. 64
Hình 2.33 Sơ đồ tuần tự chức năng Quản lí nhóm của Thành viên ................ 64
Hình 2.34 Sơ đồ ca sử dụng chức năng Quản lí kính thơng minh .................. 65

SVTH: Đặng Thanh Hào - 16CNTT3


vi

Hình 2.35 Sơ đồ tuần tự chức năng Quản lí kính cho Quản trị viên............... 67
Hình 2.36 Sơ đồ tuần tự chức năng Quản lí kính cho Thành viên.................. 67
Hình 2.37 Sơ đồ ca sử dụng chức năng Thiết lập ngơn ngữ ứng dụng ........... 68
Hình 2.38 Sơ đồ tuần tự chức năng Thiết lập ngôn ngữ ứng dụng ................. 69
Hình 2.39 Sơ đồ ca sử dụng chức năng Nhận thơng báo SOS ....................... 69
Hình 2.40 Sơ đồ tuần tự chức năng Nhận thơng báo SOS.............................. 70
Hình 2.41 Sơ đồ lớp hệ thống ......................................................................... 71
Hình 3.1 Quy trình huấn luyện dữ liệu ........................................................... 72
Hình 3.2 Các phương pháp làm "giàu" tập dữ liệu huấn luyện ...................... 75
Hình 3.3 Gán nhãn thủ cơng cho từng hình ảnh ............................................. 77
Hình 3.4 File XML sinh ra sau quá trình gán nhãn ........................................ 77
Hình 3.5 Cấu trúc thư mục chuẩn bị ............................................................... 78
Hình 3.6 Biểu đồ thay đổi độ tổn thất trong quá trình huấn luyện ................. 79
Hình 3.7 Kính thơng minh sau lắp đặt ............................................................ 85
Hình 3.8 Các thành phần Kính thơng minh sau lắp đặt .................................. 85
Hình 3.9 Chức năng nhận diện đồ vật trên kính 1 .......................................... 86

Hình 3.10 Chức năng nhận diện đồ vật trên kính 2 ........................................ 86
Hình 3.11 Chức năng nhận diện đồ vật trên kính 3 ........................................ 87
Hình 3.12 Chức năng nhận diện đồ vật trên kính 4 ........................................ 87
Hình 3.13 Giao diện đăng nhập và trang chủ .................................................. 88
Hình 3.14 Giao diện Quản lí nhóm ................................................................. 89
Hình 3.15 Giao diện Quản lí kính ................................................................... 89
Hình 3.16 Giao diện nhận tín hiệu SOS và thiết lập ngơn ngữ ....................... 90

SVTH: Đặng Thanh Hào - 16CNTT3


vii

DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT
Viết tắt

Giải thích

AI

Artificial Intelligence (Trí tuệ nhân tạo)

IoT

Internet of Thing (Internet vạn vật)

CPU

Central Processing Unit (Bộ xử lí trung tâm)


GPU

Graphical Processing Unit (Bộ xử lí đồ họa)

API

Application Programming Interface (Giao diện lập trình
ứng dụng)

ANNS

Artificial Neural Networks (Mạng nơ-ron nhân tạo)

CNN

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

SSD

Single Shot Multibox Detector (Tên gọi 1 mạng nơ-ron)

RAM

Random Access Memory (Bộ nhớ truy cập ngẫu nhiên)

IDE

Integrated Development Environment (Mơi trường tích
hợp phát triển ứng dụng)


UI

User Interface (Giao diện người dùng)

AWS

Amazon Web Service (Dịch vụ máy chủ)

S3

Simple Storage Service (Dịch vụ lưu trữ của AWS)

SNS

Simple Notification Service (Dịch vụ quản lí tin nhắn của
AWS)

RDS

Relational Database Service (Dịch vụ hệ quản trị cơ sở dữ
liệu quan hệ của AWS)

CSDL

Cơ sở dữ liệu

ER

Entity–Relationship model (Mơ hình thực thể-quan hệ)


GPS

Global Positioning System (Hệ thống định vị tồn cầu)

SOS

Tín hiệu cầu cứu

SVTH: Đặng Thanh Hào - 16CNTT3


viii

MỤC LỤC
LỜI CẢM ƠN ................................................................................................... i
DANH MỤC CÁC BẢNG .............................................................................. ii
DANH MỤC HÌNH VẼ ................................................................................. iv
DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT ....................................... vii
MỤC LỤC ..................................................................................................... viii
MỞ ĐẦU .......................................................................................................... 1
1.

Giới thiệu ............................................................................................. 1

2.

Tính cấp thiết và mục tiêu của đề tài ................................................ 2

3.


Chức năng chính ................................................................................. 3

4.

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

5.

Phương pháp thực hiện ...................................................................... 4

6.

Bố cục báo cáo khóa luận tốt nghiệp ................................................ 6

CHƯƠNG 1...................................................................................................... 7
CƠ SỞ LÝ THUYẾT ..................................................................................... 7
1.1. Trí tuệ nhân tạo và máy học ............................................................... 7
1.1.1. Trí tuệ nhân tạo (AI) ..................................................................... 7
1.1.2. Máy học (Machine Learning)....................................................... 8
1.1.3. Mạng nơ-ron nhân tạo (Artificial Neural Networks - ANNs)... 8
1.1.4. Mạng nơ-ron tích chập xử lí hình ảnh ...................................... 14
1.1.5. Các mạng nơ-ron ứng dụng trong việc nhận dạng vật thể
(object detection) ................................................................................... 16
1.1.6. Mạng nơ-ron Single Shot MultiBox Detector MobileNet (SSD
MobileNet).............................................................................................. 18
1.1.7. Học chuyển (transfer learning), hiệu chỉnh mạng nơ-ron ...... 20

SVTH: Đặng Thanh Hào - 16CNTT3



ix

1.1.8. Python và các thư viện hỗ trợ .................................................... 22
1.2. Internet vạn vật (IoT) ........................................................................ 24
1.2.1. Khái niệm ..................................................................................... 24
1.2.2. Các loại phần cứng đảm nhiệm vai trò điểu khiển .................. 24
1.2.3. Chip Raspberry Pi và hệ điều hành Raspbian ......................... 26
1.3. Lập trình di động Android ................................................................ 27
1.4. Dịch vụ máy chủ ................................................................................. 27
1.4.1. Giới thiệu về Amazon Web Service ........................................... 27
1.4.2. Giới thiệu về Firebase ................................................................. 28
CHƯƠNG 2.................................................................................................... 29
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ............................................... 29
2.1. Phân tích hệ thống.............................................................................. 29
2.1.1. Mục tiêu và chức năng ................................................................ 29
2.1.2. Phân tích chức năng .................................................................... 30
2.1.3. Đặc tả tổng quát các tác nhân trong hệ thống.......................... 33
2.1.4. Sơ đồ ca sử dụng tổng quát ........................................................ 34
2.2. Thiết kế hệ thống phía máy chủ (Backend) ..................................... 35
2.2.1. Sơ đồ kiến trúc hệ thống tổng quát ........................................... 35
2.2.2. Cơ sở dữ liệu ................................................................................ 36
2.2.3. Thành phần lưu dữ liệu ảnh....................................................... 40
2.2.4. Thành phần gửi thông báo đến ứng dụng di động................... 41
2.3. Thiết kế Kính thơng minh (Smart Glasses) ..................................... 42
2.3.1. Thiết kế phần cứng...................................................................... 42
2.3.2. Thiết kế chức năng ...................................................................... 43
2.4. Thiết kế ứng dụng di động cho người nhà (Family App) ............... 57

SVTH: Đặng Thanh Hào - 16CNTT3



x

2.4.1. Chức năng đăng kí, đăng nhập, đăng xuất ............................... 57
2.4.2. Chức năng Chỉnh sửa thông tin cá nhân .................................. 60
2.4.3. Chức năng Quản lí nhóm gia đình ............................................ 61
2.4.4. Chức năng Quản lí các kính liên kết với nhóm gia đình ......... 65
2.4.5. Chức năng Thiết lập ngơn ngữ sử dụng.................................... 68
2.4.6. Chức năng Nhận thông báo đẩy SOS ........................................ 69
2.5. Sơ đồ lớp hệ thống .............................................................................. 71
CHƯƠNG 3.................................................................................................... 72
TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ ................................................ 72
3.1. Môi trường module huấn luyện dữ liệu ........................................... 72
3.1.1. Thuật toán huấn luyện................................................................ 72
3.1.2. Môi trường huấn luyện ............................................................... 75
3.1.3. Đánh giá kết quả mơ hình huấn luyện ...................................... 79
3.2. Mơi trường hoạt động và các chức năng trên Kính thơng minh ... 83
3.2.1. Tối ưu model nhận diện .............................................................. 83
3.2.2. Lắp ráp phần cứng và triển khai phần mềm............................ 83
3.3. Môi trường hoạt động và các chức năng trên ứng dụng di động cho
người nhà ................................................................................................... 88
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ................................................... 91
1. Kết luận .................................................................................................. 91
2. Hướng phát triển ................................................................................... 92
TÀI LIỆU THAM KHẢO ............................................................................ 93

SVTH: Đặng Thanh Hào - 16CNTT3


1


MỞ ĐẦU
1. Giới thiệu
Ngày nay, xã hội đã và đang bước vào công cuộc cách mạng khoa học kĩ thuật lần thứ 4 (cuộc cách mạng 4.0). Với sự rộ lên của Trí tuệ nhân tạo (AI),
Internet vạn vật (IoT) và Giao dịch chuỗi khối (block-chain). Công nghệ được
ứng dụng và thay đổi hầu hết cách thức làm việc của mọi ngành nghề. Đặc biệt
với sự phát triển mạnh mẽ của Trí tuệ nhận tạo, việc khiến cơng cụ trở nên
“thơng minh” và hữu ích hơn khơng cịn là một vấn đề khó.
Trong cuộc sống của chúng ta, bên cạnh những người được sinh ra lành
lặn thì vẫn cịn tồn tại một bộ phận người mang trong mình những khiếm
khuyết. Họ ln gặp rất nhiều vấn đề khó khăn trong cuộc sống, đặc biệt là
những người khiếm thị. Việc mất đi thị lực đã buộc họ sử dụng những cách
khác nhau để khám phá thế giới xung quanh (nghe, sờ) và trong một số trường
hợp, họ có thể bị tổn thương bởi những yếu tố nguy hiểm xung quanh bởi họ
thường phản xạ chậm hoặc chạm vào những vật sắc nhọn, có nhiệt độ cao.
Từ đó, đề tài “Xây dựng Sản phẩm Kính thơng minh cho Người
khiếm thị bằng Ứng dụng Trí tuệ nhân tạo và Internet vạn vật” đã mở ra
một hướng đi mới, đẩy mạnh việc ứng dụng sự phát triển công nghệ để phần
nào cải thiện, bù đắp khả năng quan sát, nhận biết thế giới cho người khiếm thị.
Sử dụng trí tuệ nhân tạo để mang đến cho người khiếm thị một “đôi mắt kĩ thuật
số”.

SVTH: Đặng Thanh Hào - 16CNTT3


2

2. Tính cấp thiết và mục tiêu của đề tài
Hiện nay, trí tuệ nhân tạo (AI) và máy học machine learning vẫn còn là
1 lĩnh vực mới, chưa thực sự có nhiều sản phẩm có thể đưa vào ứng dụng thực

tiễn trong cuộc sống, đặc biệt là ở thị trường Việt Nam.
Trên thế giới, cũng đã có nhiều sản phẩm kính thơng minh hỗ trợ cho
người mù tuy nhiên chúng chỉ hỗ trợ một số tính năng cơ bản như: dự báo
khoảng cách trước mặt, đọc văn bản, kết nối internet để đọc tin tức. Chưa thực
sự có 1 sản phẩm ứng dụng trí tuệ nhân tạo để nhận dạng đồ vật giúp người
khiếm thị biết được thế giới xung quanh của họ và hỗ trợ họ tìm kiếm đồ vật
nhanh hơn.
Mặt khác, giá cả của các thiết bị tương đối cao:
Bảng 0.1 Một số thiết bị kính thơng minh trên thế giới
STT Tên thiết bị

Giá (USD)

Tính năng

1

2950

Chụp ảnh, trợ lí ảo đọc tin tức online,

IrisVision

nhận dạng đọc văn bản
2

Acesight

4995


Chụp ảnh, giải trí ứng dụng thực tế
tăng cường (AR)

3

NuEyes Pro

5995

Chụp ảnh, điều khiển bằng giọng nói,
nhận dạng đọc văn bản, quét mã vạch
và mã QR

4

MyEye2

3500

Chụp ảnh, kết nối internet đọc tin tức,
nhận dạng đọc văn bản, nhận dạng
khuôn mặt, nhận dạng thông tin sản
phẩm nhờ đọc mã vạch

5

eSight

5950


Chụp ảnh, nhận dạng đọc văn bản

Từ đó, đề tài “Xây dựng sản phẩm Kính thơng minh cho người khiếm thị
ứng dụng trí tuệ nhân tạo và Internet vạn vật” đã xác định mục tiêu:

SVTH: Đặng Thanh Hào - 16CNTT3


3

- Xây dựng hệ thống IoT Kính thơng minh, gồm 1 kính thơng minh hỗ trợ
người khiếm thị trong việc nhận dạng, tìm kiếm đồ vật, cảnh báo nguy
hiểm và 1 ứng dụng di động hỗ trợ người thân của người khiếm thị theo
dõi, quan sát và có thể nhận các tín hiệu khẩn cấp khi người khiếm thị
gặp tai nạn
- Sản phẩm kính thơng minh sản xuất với giá thành hợp lí, phù hợp với thị
trường Việt Nam
3. Chức năng chính
*Kính thơng minh:
- Nhận dạng vật thể xung quanh theo thời gian thực
- Phân loại vật thể nhận dạng và cảnh báo người khiếm thị khi có vật thể
nguy hiểm
- Cảnh báo người khiếm thị khi đến gần chướng ngại vật
- Đọc tên toàn bộ vật thể xung quanh khi người khiếm thị yêu cầu
- Hỗ trợ người khiếm thị tìm kiếm đồ vật bằng giọng nói
- Gửi tín hiệu khẩn cấp (SOS) đến ứng dụng cho người thân
*Ứng dụng cho người thân:
- Quản lí nhóm gia đình
- Liên kết và hủy liên kết kính
- Quan sát vị trí GPS và ảnh chụp từ kính thơng minh đã liên kết

- Nhận các thơng báo SOS từ kính thơng minh

SVTH: Đặng Thanh Hào - 16CNTT3


4

4. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu:
- Trí tuệ nhân tạo (máy học)
- Phần cứng và Internet vạn vật
- Ứng dụng trên Kính thơng minh
- Ứng dụng di động
- Ứng dụng phía máy chủ
Phạm vi nghiên cứu:
- Tìm hiểu các mạng nơ ron và model máy học trong ứng dụng nhận dạng
đồ vật
- Tìm hiểu về các loại thiết bị phần cứng và cách thức lập trình trên chúng
- Phân tích thiết kế và phát triển chức năng phần mềm ở kính thơng minh,
ứng dụng di động, máy chủ, truyền nhận dữ liệu đa nền tảng
5. Phương pháp thực hiện
Quá trình nghiên cứu được thực hiện thông qua các phương pháp sau:
- Phương pháp điều tra, khảo sát thực tiễn để tìm hiểu về các sản phẩm
hiện có, các loại thiết bị phần cứng sẽ sử dụng
- Nghiên cứu các công nghệ phù hợp với quy mơ đề tài, để áp dụng hiện
thực hóa đề tài
- Phương pháp thu thập, tổng hợp dữ liệu huấn luyện máy học bằng việc
ghi hình thực tế và đánh nhãn thủ công

SVTH: Đặng Thanh Hào - 16CNTT3



5

- Các phương pháp huấn luyện mơ hình nhận diện thông qua dữ liệu thu
thập được, các phương pháp cải thiện độ chính xác và tăng tốc huấn luyện
như fine-tuning, transfer-learning
- Tổng hợp kiến thức để xây dựng hệ thống Internet of Thing
- Phân tích, thiết kế và lập trình ứng dụng trên kính, ứng dụng mobile và
ứng dụng máy chủ
- Triển khai hệ thống trong thực tế
- Kiểm thử và đưa vào hoạt động

SVTH: Đặng Thanh Hào - 16CNTT3


6

6. Bố cục báo cáo khóa luận tốt nghiệp
MỞ ĐẦU
Nêu lên vấn đề trong cuộc sống là động lực thúc đẩy nên đề tài, qua đó nêu lên
mục đích, phương pháp thực hiện và công cụ giải quyết một cách tổng quát.
Chương 1: CƠ SỞ LÝ THUYẾT
Chương này giới thiệu các lý thuyết quan trọng là nền tảng kiến thức và cơ sở
để xây dựng đề tài lần này.
Chương 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Chương này xây dựng giải pháp và mơ hình cho hệ thống từ tổng quát kiến trúc
hệ thống đến mô tả chi tiết chức năng trên 3 nền tảng: máy chủ, kính thơng
minh và ứng dụng di động cho người thân thông qua các mơ hình kiến trúc hệ
thống, mơ hình ER, mơ hình dữ liệu quan hệ, sơ đồ ca sử dụng, sơ đồ hoạt động,

sơ đồ tuần tự, sơ đồ lớp.
Chương 3: TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ
Chương này giới thiệu môi trường cài đặt, thu thập dữ liệu, huấn luyện máy
học, xây dựng phần mềm và lắp đặt hệ thống theo phân tích và thiết kế ở
Chương 2, đồng thời đánh giá kết quả đạt được.
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.
Kết quả đạt được của đề tài, nêu ra thành công và thất bại của đồ án lần này và
đặt ra các kế hoạch trong tương lai.
TÀI LIỆU THAM KHẢO

SVTH: Đặng Thanh Hào - 16CNTT3


7

CHƯƠNG 1
CƠ SỞ LÝ THUYẾT
1.1. Trí tuệ nhân tạo và máy học
1.1.1. Trí tuệ nhân tạo (AI)
Trí tuệ nhân tạo hay trí thơng minh nhân tạo (Artificial intelligence – viết
tắt là AI) là một ngành thuộc lĩnh vực khoa học máy tính (Computer science).
Là trí tuệ do người lập trình tạo nên với mục tiêu giúp máy tính có thể tự động
hóa các hành vi thơng minh như con người.
Trí tuệ nhân tạo khác với việc lập trình logic trong các ngơn ngữ lập trình
là ở việc biết phân tích dữ liệu xung quanh, “suy nghĩ” và đưa ra giải pháp tối
ưu nhất so với việc đi theo một lối logic cố định.
Cụ thể, trí tuệ nhân tạo giúp máy tính có được những trí tuệ của con
người như: biết suy nghĩ và lập luận để giải quyết vấn đề, biết giao tiếp do hiểu
ngơn ngữ, tiếng nói, biết học và tự thích nghi, …


Hình 1.1 AI và các lĩnh vực thuộc AI
1 số lĩnh vực của trí tuệ nhân tạo có thể kể đến như:
- Điện tốn nhận thức (Cognitive Computing)
- Thị giác máy tính (Computer Vision)
- Máy học (Machine Learning)
- Mạng nơ-ron nhân tạo (Nerural Networks)

SVTH: Đặng Thanh Hào - 16CNTT3


8

- Học sâu (Deep Learning)
- Xử lí ngơn ngữ tự nhiên (Natural Language Processing)
1.1.2. Máy học (Machine Learning)
Máy học (Machine Learning) là một bộ phận của trí tuệ nhân tạo, là quá
trình học hỏi hình thành tư duy từ tập dữ liệu hoặc kinh nghiệm cho trước. Khi
ứng dụng Machine Learning, ta phải chuẩn bị tập dữ liệu huấn luyện. Quá trình
huấn luyện sẽ sinh ra 1 model mạng nơ ron - chính là lối tư duy hình thành từ
tập huấn luyện. Sau đó ứng dụng model sinh ra cho các công việc thực tế.
Thông thường khi đã đưa vào ứng dụng, model mạng nơ ron Machine
Learning không thể thay đổi sau khi đã huấn luyện.
Deep Learning chính là 1 bộ phận nâng cao từ Machine Learning, cho
phép máy xử lí và tự huấn luyện trực tiếp trong q trình ứng dụng model.
1.1.3. Mạng nơ-ron nhân tạo (Artificial Neural Networks - ANNs)
Mạng nơ-ron nhân tạo được phát triển lấy cảm hứng từ mạng lưới thần
kinh sinh học, tức là bộ não, là bộ phận quan trọng nhất trong lĩnh vực trí tuệ
nhân tạo, được ứng dụng để phát triển các bộ phận khác của trí tuệ nhân tạo.
Mạng nơ-ron là cơ sở logic, là cơ chế đưa ra quyết định kết quả đầu ra.
Có nhiều kiến trúc mạng nơ-ron được nghiên cứu và phát triển để phù

hợp với từng lĩnh vực ứng dụng. Sử dụng 1 kiến trúc mạng nơ-ron, từ tập dữ
liệu huấn luyện, ta có thể sử dụng machine learning để huấn luyện sinh ra 1
model mạng nơ-ron.
1.1.3.1. Giới thiệu mạng Perceptron
Nhắc tới mạng nơ-ron nhân tạo ta không thể không nhắc đến một thành
phần cơ bản của nó: một nơ-ron nhân tạo có tên là Perceptron. Perceptron
được phát triển vào năm 1950 và 1960 bởi một nhà khoa học Frank Rosenblatt,
được tạo cảm hứng bởi các nghiên cứu từ trước của Warren McCulloch và
Walter Pitts [4].

SVTH: Đặng Thanh Hào - 16CNTT3


9

Một perceptron nhận một số dữ liệu vào dưới dạng nhị phân 𝑥1 , 𝑥2 ,…
và cho ra một dữ liệu ra nhị phân duy nhất:

Hình 1.2 Một nơ-ron đơn giản
Trong ví dụ trên ta có thể thấy perceptron có 3 input là 𝑥1 , 𝑥2 , 𝑥3 . RoseBlatt đã
đưa ra một quy luật đơn giản để tính tốn được dữ liệu ra. Ông ấy gọi 𝑤1 , 𝑤2 ,…
là các trọng số, các số thực biểu diễn độ quan trọng của từng dữ liêu vào đối
với dữ liệu ra. Dữ liệu ra của nơ-ron, 0 hoặc 1, được quyết định bởi phép so
sánh tổng các phép nhân 𝑤𝑗 𝑥𝑗 lớn hơn hay nhỏ hơn một giá trị ngưỡng nào đó.
Và như các trọng số, giá trị ngưỡng là một số thực đóng vai trị là tham số của
nơ-ron. Các nơ-ron hoạt động được biểu diễn dưới hạng hàm số toán học như
sau:
0 𝑛ế𝑢 ∑ 𝑤𝑗 𝑥𝑗 ≤ 𝑛𝑔ưỡ𝑛𝑔
𝑗


𝑜𝑢𝑡𝑝𝑢𝑡 =
{

1 𝑛ế𝑢 ∑ 𝑤𝑗 𝑥𝑗 > 𝑛𝑔ưỡ𝑛𝑔
𝑗

Trên là mơ hình toán học cơ bản. Một cách nghĩ khác để dễ hình dung
perceptron hơn là coi nó một thiết bị cho ra quyết định dựa trên các điều kiện.
Để dễ hình dung, ta lấy việc có đi dã ngoại vào chủ nhật hay không phụ thuộc
vào 3 yếu tố:
1. Thời tiết hơm đó có tốt khơng?
2. Đường đi đến nơi dã ngoại có khó khăn hay khơng?
3. Có bạn bè đi cùng hay không?

SVTH: Đặng Thanh Hào - 16CNTT3


10

Ta có thể coi 𝑥1 , 𝑥2 , 𝑥3 là các biến được gán cho 3 yếu tố và output = 1 là đi và
0 là khơng đi. Sau đó ta đặt các trọng 𝑤1 = 0.05, 𝑤2 = 0.4 và 𝑤3 = 0.55 tương
ứng với 𝑥1 , 𝑥2 , 𝑥3 và giá trị ngưỡng là 0.5 thì ta có thể thấy việc thời tiết có tốt
hay khơng chỉ chiếm việc ra quyết định có đi dã ngoại hay khơng chỉ 5% và
nếu như có bạn bè đi cùng thì hay 𝑥3 = 1 thì ta chắc chắn sẽ đi nhậu.
Ở cơng thức nói trên, nếu ta viết lại các trọng số wj và các dữ liệu đầu vào 𝑥𝑗
dưới dạng vector 𝑤 và 𝑥và tổng 𝑤𝑗 𝑥𝑗 dưới dạng tích vơ hướng, giá trị ngưỡng
ta chuyển vế, thay nó bằng độ thiên vị (bias) b với 𝑏 = − 𝑛𝑔ưỡ𝑛𝑔. Ta có thể
viết lại cơng thức biểu diễn nơ-ron ban đầu như sau [4]:
0 𝑛ế𝑢 𝑤 ∙ 𝑥 + 𝑏 ≤ 0
𝑜𝑢𝑡𝑝𝑢𝑡 = {

1 𝑛ế𝑢 𝑤 ∙ 𝑥 + 𝑏 > 0
1.1.3.2. Hàm sigmoid cho nơ-ron
Để một mạng perceptron có thể học được, mạng perceptron đó phải có
được tính chất mà ta mong muốn sau: nếu có một sự thay đổi nhỏ ở trọng số và
bias thì có sẽ có một sự thay đổi nhỏ tương ứng ở đầu ra.

Hình 1.3 Minh hoạ tính chất mong muốn của mạng nơ-ron

SVTH: Đặng Thanh Hào - 16CNTT3


11

Ví dụ, khi mơ hình mạng của chúng ta phân loại một chữ viết tay là “8”
trong khi kết quả là “9”. Ta có thể dựa vào tính chất mong muốn nêu trên, thay
đổi dần dần trọng số và bias cho đến khi mơ hình mạng đưa ra được kết quả tốt
hơn, gần “9” hơn là “8”, khi đó mơ hình mạng của chúng ta được gọi là đang
học. Tuy nhiên với mơ hình mạng được cấu tạo từ các perceptron thì điều đó
khơng thể xảy ra. Đơn giản là vì perceptron là một step function, sự thay đổi
nhỏ ở trọng số và bias có thể thay đổi đột ngột đầu ra của nó, như việc bật tắt
cơng tắc đèn.

Hình 1.4 Đồ thị hàm bước nhảy
Để vượt qua vấn đề này, người ta đề ra một loại nơ ron nhân tạo mới được gọi
là nơ-ron sigmoid. Nơ ron sigmoid tương tự với perceptron cũng có các đầu
vào là 𝑥1 , 𝑥2 ,… Tuy nhiên đầu ra của chúng, được quyết định bởi một hàm
sigmoid, nằm trong khoảng [0,1] và có công thức [4]:
𝜎(𝑧) ≡

SVTH: Đặng Thanh Hào - 16CNTT3


1
1 + 𝑒 −𝑧


12

Đồ thị của hàm sigmoid cũng thể hiện được tính chất mà chúng ta mong muốn
để có thể khiến cho mơ hình mạng học được

Hình 1.5 Đồ thị hàm sigmoid
Như vậy đầu ra của một nơ-ron sigmoid sẽ có dạng [4]:
1
1 + exp (− ∑𝑗 𝑤𝑗 𝑥𝑗 − 𝑏)
Ngoài hàm sigmoid, cịn có nhiều hàm khác có dạng đồ thị tương ứng như tanh,
ReLU có thể thay thế. Một cách tổng quát chúng được gọi là các hàm kích hoạt
(activation function) và perceptron được biểu diễn qua hàm kích hoạt như sau:
𝑂 = 𝐹(𝑧) = 𝑓(𝑤 ∙ 𝑥 + 𝑏)
1.1.3.3. Kiến trúc chung của một mạng nơ-ron
Mạng nơ-ron là sự kết hợp giữa các tầng perceptron với nhau hay còn
được gọi là perceptron đa tầng (multilayer perceptrons) mặc dù thực chất các
nơ-ron là nơ-ron sigmoid.

SVTH: Đặng Thanh Hào - 16CNTT3


13

Hình 1.6 Mạng nơ-ron cơ bản
Mạng nơ-ron sẽ có 3 tầng:

- Tầng vào (input layer):nằm ở bên trái nhất của mạng thể hiện cho các
đầu vào của mạng.
- Tầng ra (output layer):nằm ở bên phải nhất của mạng thể hiện cho các
đầu ra.
- Tầng ẩn (hidden layer):nằm ở giữa tầng ra và tầng vào.
Mỗi mạng nơ-ron chỉ có 1 tầng ra và 1 tầng vào, tuy nhiên sẽ có thể có nhiều
tầng ẩn. Ở mỗi tầng, số lượng các nút mạng (nơ-ron) có thể khác nhau tuỳ thuộc
vào bài tốn và cách giải quyết. Nhưng thường khi làm việc người ta để các
tầng ẩn có số lượng nơ-ron bằng nhau. Ngoài ra, các nơ-ron ở các tầng thường
được liên kết đôi một với nhau tạo thành mạng kết nối đầy đủ (full-connected
network). Khi đó ta có thể tính được kích cỡ của mạng dựa vào số tầng và số
nơ-ron. Ví dụ ở hình trên ta có:
- Ba tầng mạng
- 9 nút mạng
- (3 × 4 + 4 × 2) + (4 + 2) = 26 tham số

SVTH: Đặng Thanh Hào - 16CNTT3


14

1.1.4. Mạng nơ-ron tích chập xử lí hình ảnh
1.1.4.1. Mạng nơ-ron tích chập xử lí hình ảnh
Theo như cách tính số lượng tham số trên của mạng nơ-ron truyền thống,
có thể dễ nhận thấy rằng chúng hoạt động không thực sự hiệu quả với dữ liệu
đầu vào là hình ảnh. Nếu coi mỗi điểm ảnh là một thuộc tính (feature), một ảnh
RBG kích thước (64 × 64) có đến 12288 (= 64 × 64 × 3) thuộc tính. Nếu
kích thước ảnh tăng lên 300 x 300, chúng ta có khoảng 900 nghìn thuộc tính
cho mỗi ánh đầu vào. Nếu sử dụng mạng nơ-ron liên kết đầy đủ (fully connected
neural network) truyền thống và giả sử lớp thứ 2 có 1000 nơ-ron, ma trận trọng

số sẽ có kích thước 1000 × 900000 tương đương với 90 triệu trọng số cần
huấn luyện (learning). Điều này u cầu khối lượng tính tốn cực lớn
(expensive computational cost) và thường dẫn đến overfitting (overfitting là
tình trạng mơ hình rất khớp với tập huấn luyện nhưng không phù hợp với thực
tế) do không đủ dữ liệu huấn luyện.
Mạng nơ-ron tích chập (Convolutional neural network) viết tắt là CNN
hay ConvNet, là mạng nơ-ron phổ biến nhất được dùng cho dữ liệu ảnh. Bên
cạnh các lớp liên kết đầy đủ của mạng nơ-ron truyền thống, CNN còn đi cùng
với các lớp ẩn đặc biệt giúp phát hiện và trích xuất nhưng đặc trưng – hình mẫu
(patterns) xuất hiện trong ảnh gọi là Lớp Tích chập (Convolutional Layers).
Chính những lớp tích chập này làm CNN trở nên khác biệt so với mạng nơ-ron
truyền thống và hoạt động cực kì hiệu quả trong bài tốn phân tích hình ảnh.
1.1.4.2. Lớp tích chập
Giống như các lớp ẩn khác, lớp tích chập lấy dữ liệu đầu vào, thực hiện
các phép chuyển đổi để tạo ra dữ liệu đầu vào cho lớp kế tiếp (đầu ra của lớp
này là đầu vào của lớp sau). Phép biến đổi được sử dụng là phép tính tích chập.
Mỗi lớp tích chập chứa một hoặc nhiều bộ lọc - bộ phát hiện đặc trưng (filter -

SVTH: Đặng Thanh Hào - 16CNTT3


×