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

(Đề tài NCKH) Thiết kế và thi công mô hình camrea đo thân nhiệt và nhắc nhở đeo khẩu trang

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.13 MB, 75 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM

BÁO CÁO TỔNG KẾT
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN

THIẾT KẾ VÀ THI CƠNG MƠ HÌNH CAMERA ĐO THÂN NHIỆT VÀ
NHẮC NHỞ ĐEO KHẨU TRANG
SV2022-21
Thuộc nhóm ngành khoa học: Chuyên ngành Kỹ thuật Y sinh
SV thực hiện: Thái Nguyễn Kỳ Duyên

Nữ

Dân tộc: Kinh
Lớp, khoa: 181290A, Điện – Điện tử

Năm thứ: 4 /Số năm đào tạo: 4

Ngành học: Kỹ thuật y sinh
SV thực hiện: Dương Hoàng Huy

Nam

Dân tộc: Kinh
Lớp, khoa: 181290A, Điện – Điện tử

Năm thứ: 4 /Số năm đào tạo: 4

Ngành học: Kỹ thuật y sinh
Người hướng dẫn: ThS. Ngơ Bá Việt



TP Hồ Chí Minh, 06/2022


MỤC LỤC
MỤC LỤC ........................................................................................................................ i
LIỆT KÊ HÌNH ẢNH .................................................................................................... iv
LIỆT KÊ BẢNG ............................................................................................................. vi
THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI .............................................vii
MỞ ĐẦU ......................................................................................................................... 1
1.

Tổng quan tình hình nghiên cứu thuộc lĩnh vực đề tài ......................................1

2.

Lý do chọn đề tài................................................................................................ 2

3.

Mục tiêu đề tài ...................................................................................................2

4.

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

5.

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


Chương 1. CƠ SỞ LÝ THUYẾT ................................................................................. 4
1.1.

TỔNG QUAN VỀ NHIỆT ĐỘ CƠ THỂ CON NGƯỜI ...................................4

1.2.

CÁC PHƯƠNG PHÁP ĐO NHIỆT ĐỘ............................................................ 5
1.2.1.

Phương pháp đo nhiệt độ tiếp xúc ............................................................... 5

1.2.2.

Phương pháp đo nhiệt độ khơng tiếp xúc ....................................................6

1.3.

PHƯƠNG PHÁP NHẬN DẠNG KHN MẶT .............................................6

1.4.

DEEP LEARNING ............................................................................................ 8

1.5.

MƠ HÌNH CNN  CONVOLUTIONAL NEURAL NETWORK ....................9
1.5.1.

Lớp tích chập ............................................................................................... 9


1.5.2.

Hàm kích hoạt ........................................................................................... 11

1.5.3.

Lớp tổng hợp ............................................................................................. 12

1.5.4.

Lớp kết nối đầy đủ ....................................................................................13

1.6.

THƯ VIỆN OPENCV......................................................................................13

1.7.

THƯ VIỆN TENSORFLOW ...........................................................................14

1.8.

THƯ VIỆN KERAS ........................................................................................14

1.9.

CHUẨN GIAO TIẾP I2C ................................................................................15

1.10.


NGÔN NGỮ LẬP TRÌNH PYTHON ............................................................. 16

1.11.

GIỚI THIỆU PHẦN CỨNG ............................................................................17

1.11.1.

Vi điều khiển Raspberry Pi 4 Model B ..................................................17
i


1.11.2.

Cảm biến ảnh nhiệt AMG8833 .............................................................. 18

1.11.3.

Webcam usb 720p ..................................................................................19

1.11.4.

Loa phát di động ....................................................................................19

Chương 2. PHƯƠNG PHÁP THỰC HIỆN .............................................................. 20
2.1.

TÍNH TỐN VÀ THIẾT KẾ MƠ HÌNH ........................................................20
2.1.1.


Thiết kế sơ đồ khối mơ hình......................................................................20

2.1.2.

Tính tốn và thiết kế mạch ........................................................................20

2.1.3.

Sơ đồ nguyên lý của toàn mạch ................................................................ 23

2.1.4.

Thiết kế vỏ hộp mơ hình ...........................................................................24

2.2.

THIẾT KẾ MƠ HÌNH MẠNG CNN .............................................................. 25

2.3.

PHƯƠNG PHÁP ĐO NHIỆT ĐỘ ...................................................................26

2.4.

PHƯƠNG PHÁP ĐÁNH GIÁ MÔ HÌNH HUẤN LUYỆN DỮ LIỆU ..........28

2.5.

LẬP TRÌNH HỆ THỐNG ...............................................................................29

2.5.1.

Quy trình thu thập dữ liệu tập mẫu huấn luyện mơ hình .......................... 29

2.5.2.

Lưu đồ quy trình huấn luyện tập dữ liệu ...................................................30

2.5.3.

Lưu đồ chương trình chính ........................................................................31

Chương 3. KẾT QUẢ NGHIÊN CỨU....................................................................... 34
3.1.

3.2.

KẾT QUẢ THI CƠNG MƠ HÌNH ..................................................................34
3.1.1.

Danh sách linh kiện ...................................................................................34

3.1.2.

Lắp ráp và kiểm tra ...................................................................................34

3.1.3.

Kết quả mô hình hồn thiện ......................................................................36


KẾT QUẢ NHẬN DẠNG NGƯỜI KHƠNG ĐEO KHẨU TRANG .............37
3.2.1.

Tập dữ liệu huấn luyện ..............................................................................37

3.2.2.

Kết quả của quá trình huấn luyện tập dữ liệu............................................38

3.2.3.

Kết quả nhận dạng người không đeo khẩu trang ......................................39

3.3.

KẾT QUẢ PHẦN ĐO NHIỆT ĐỘ ..................................................................52

3.4.

ĐÁNH GIÁ THỜI GIAN ĐÁP ỨNG CỦA MƠ HÌNH .................................54

KẾT LUẬN VÀ KIẾN NGHỊ ..................................................................................... 55
1.

KẾT LUẬN ......................................................................................................55

2.

KIẾN NGHỊ .....................................................................................................55


TÀI LIỆU THAM KHẢO........................................................................................... 56
ii


PHỤ LỤC BỔ SUNG CHƯƠNG TRÌNH CHO RASPBERRY ............................. 59

iii


LIỆT KÊ HÌNH ẢNH
HÌNH

TRANG

Hình 1.1. Bốn bước xử lý của hệ thống nhận dạng mặt người........................................7
Hình 1.2. Kiến trúc cơ bản của một mạng tích chập .......................................................9
Hình 1.3. Cửa sổ trượt trên một ma trận........................................................................10
Hình 1.4. Kích thước ảnh đầu ra khi thực hiện bước nhảy lần lượt là 1 và 2 ...............10
Hình 1.5. Ma trận khi thêm viền 0 bên ngồi ................................................................ 11
Hình 1.6. Lớp max pooling cho vùng ảnh .....................................................................12
Hình 1.7. Mơ phỏng lớp kết nối đầy đủ.........................................................................13
Hình 1.9. Cấu trúc cơ bản của OpenCV ........................................................................14
Hình 1.10. Mơ hình giao thức I2C ................................................................................15
Hình 1.11. Hình ảnh thực tế của Raspberry Pi 4 ........................................................... 17
Hình 1.12. Cảm biến nhiệt AMG8833 8x8 Non-Contact IR Thermal Camera Sensor.18
Hình 1.13. Webcam 720p .............................................................................................. 19
Hình 1.14. Loa phát jack cắm 3.5mm kết nối cổng USB ..............................................19
Hình 2.1. Sơ đồ khối mơ hình .......................................................................................20
Hình 2.2. Nguồn Adapter 5V/3A ..................................................................................23
Hình 2.3. Sơ đồ nguyên lý của mơ hình ........................................................................23

Hình 2.4. Bản vẽ thiết kế của vỏ hộp mơ hình .............................................................. 24
Hình 2.5. Các khối tích chập của mạng MobileNetV2 .................................................26
Hình 2.6. Bộ mơ hình mạng CNN xây dựng bằng kiến trúc MobileNetV2 ..................26
Hình 2.7. Phương pháp đo nhiệt độ khơng tiếp xúc ......................................................27
Hình 2.8. Lưu đồ chương trình huấn luyện dữ liệu .......................................................30
Hình 2.9. Lưu đồ chương trình chính ............................................................................31
Hình 2.10. Lưu đồ quy trình đo nhiệt độ .......................................................................32
Hình 2.11. Lưu đồ quy trình phát hiện khơng đeo khẩu trang ......................................33
Hình 3.1. Vỏ hộp mơ hình ............................................................................................. 34
Hình 3.2. Lắp ráp quạt tản nhiệt ....................................................................................35
Hình 3.3. Kết nối camera nhiệt với vi điều khiển .........................................................35
Hình 3.4. Lắp ráp vỏ hộp và kết nối webcam với vi điều khiển ...................................35
Hình 3.5. Kết nối loa với vi điều khiển .........................................................................36
iv


Hình 3.6. Ghim adapter vào vi điều khiển.....................................................................36
Hình 3.7. Sản phẩm hồn thiện mơ hình .......................................................................36
Hình 3.8. Kết quả thi cơng bên trong mơ hình .............................................................. 37
Hình 3.9. Kết quả thi cơng mặt trước của mơ hình .......................................................37
Hình 3.10. Ảnh đeo khẩu trang trong tập dữ liệu .......................................................... 38
Hình 3.11. Ảnh khơng đeo khẩu trang trong tập dữ liệu ...............................................38
Hình 3.12. Đồ thị giá trị accuracy và loss .....................................................................39
Hình 3.13. Phát hiện khn mặt khơng đeo khẩu trang ................................................40
Hình 3.14. Phát hiện khn mặt khơng đeo khẩu trang ở góc nghiêng bên trái ...........40
Hình 3.15. Phát hiện khn mặt khơng đeo khẩu trang ở góc nghiêng bên phải ..........41
Hình 3.16. Phát hiện 2 khuôn mặt không đeo khẩu trang ở góc chính diện .................41
Hình 3.17. Phát hiện 2 khn mặt khơng đeo khẩu trang ở góc nghiêng bên trái ........42
Hình 3.18. Phát hiện 2 khuôn mặt không đeo khẩu trang ở góc nghiêng bên phải .......42
Hình 3.19. Phát hiện có 1 khn mặt khơng đeo khẩu trang ........................................43

Hình 3.20. Cả 2 khn mặt đều đeo khẩu trang ............................................................ 43
Hình 3.21. Nhiệt độ được đo bằng mơ hình ..................................................................52
Hình 3.22. Nhiệt độ được đo bằng súng đo nhiệt OMRON ..........................................53

v


LIỆT KÊ BẢNG
BẢNG

TRANG

Bảng 1.1. Thân nhiệt bình thường ở các vị trí đo khác nhau theo từng độ tuổi ..............5
Bảng 1.2. Một số hàm kích hoạt thơng dụng.................................................................11
Bảng 2.1. Thơng số kỹ thuật của webcam usb 720p .....................................................21
Bảng 2.2. Thông số kỹ thuật của cảm biến nhiệt AMG8833 ........................................21
Bảng 2.3. Thống kê dòng và tải sử dụng cho mạch ......................................................23
Bảng 2.4. Thống kê kết quả nhiệt độ cơ thể mà 2 sản phẩm đo được ........................... 27
Bảng 2.5. Ma trận nhầm lẫn .......................................................................................... 28
Bảng 3.1. Danh sách các linh kiện ................................................................................34
Bảng 3.2. Mô tả tập dữ liệu ........................................................................................... 37
Bảng 3.3. Đánh giá mơ hình .......................................................................................... 39
Bảng 3.4. Kết quả nhận diện gương mặt đeo khẩu trang ở khoảng cách dưới 1m .......44
Bảng 3.5. Kết quả nhận diện gương mặt không đeo khẩu trang ở khoảng cách dưới 1m
.......................................................................................................................................45
Bảng 3.6. Kết quả nhận diện gương mặt đeo khẩu trang ở khoảng cách 1.2m .............45
Bảng 3.7. Kết quả nhận diện gương mặt không đeo khẩu trang ở khoảng cách 1.2m ..46
Bảng 3.8. Kết quả nhận diện gương mặt đeo khẩu trang ở khoảng cách 1.5m .............47
Bảng 3.9. Kết quả nhận diện gương mặt không đeo khẩu trang ở khoảng cách 1.5m ..48
Bảng 3.10. Kết quả nhận diện gương mặt đeo khẩu trang ở khoảng cách 1.8m ...........48

Bảng 3.11. Kết quả nhận diện gương mặt không đeo khẩu trang ở khoảng cách 1.8m 49
Bảng 3.12. Kết quả nhận diện gương mặt đeo khẩu trang ở khoảng cách 2m ..............50
Bảng 3.13. Kết quả nhận diện gương mặt không đeo khẩu trang ở khoảng cách 2m ...51
Bảng 3.14. Kết quả đo nhiệt độ của mô hình ................................................................ 52
Bảng 3.15. Kết quả đo nhiệt độ ở nhiều khoảng cách ...................................................53
Bảng 3.16. Kết quả thời gian xử lý của mơ hình ........................................................... 54

vi


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM
THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI
1. Thông tin chung:
- Tên đề tài: Thiết kế và thi cơng mơ hình camera đo thân nhiệt, nhắc nhở đeo khẩu
trang
- Chủ nhiệm đề tài: Thái Nguyễn Kỳ Duyên
- Lớp: 181290A

Mã số SV: 18129010

Khoa: Điện – Điện tử

- Thành viên đề tài:
Stt
1

Họ và tên
Dương Hoàng Huy


MSSV
18129023

Lớp
181290A

Khoa
Điện – Điện tử

- Người hướng dẫn: ThS. Ngô Bá Việt
2. Mục tiêu đề tài:
Thiết kế và thi công được hệ thống camera đo thân nhiệt, giám sát việc đeo khẩu
trang. Cụ thể là dùng phương pháp machine learning để nhận diện gương mặt có đeo
khẩu trang hay không và đo nhiệt độ cơ thể không tiếp xúc bằng cảm biến ảnh nhiệt
hồng ngoại. Sau đó phát cảnh báo nếu phát hiện cá nhân đó khơng đeo khẩu trang hoặc
có thân nhiệt cao.
3. Tính mới và sáng tạo:
Thiết kế và thi công hệ thống giám sát việc đeo khẩu trang thông qua khuôn mặt
dùng mạng nơ-ron tích chập CNN. Ngồi ra hệ thống cịn thực hiện được việc đo thân
nhiệt thông qua cảm biến ảnh nhiệt. Hệ thống này chạy thành công và độc lập với máy
tính thơng qua máy tính nhúng Raspberry Pi 4 model B. Với kích thước máy tính nhúng
nhỏ, gọn đáp đứng yêu cầu dễ dàng di chuyển và lắp đặt hệ thống.
4. Kết quả nghiên cứu:
Xây dựng được thành công hệ thống giám sát và cảnh báo khuôn mặt không đeo
khẩu trang tốt trong phạm vi 1m với điều kiện đầy đủ ánh sáng thơng qua mạng neuron
tích chập, đồng thời đo thân nhiệt với sai số trung bình khoảng 0.09°C so với thiết bị
chuẩn.

vii



5. Đóng góp về mặt giáo dục và đào tạo, kinh tế - xã hội, an ninh, quốc phòng và
khả năng áp dụng của đề tài:
Đóng góp về mặt kinh tế - xã hội: Đề tài có thể được sử dụng tại các cơ quan,
bệnh viện hay trường học để giám sát người không tuân thủ các quy tắc an tồn để phịng
chống dịch, hạn chế việc lây lan các bệnh lây truyền qua đường hô hấp.
6. Công bố khoa học của SV từ kết quả nghiên cứu của đề tài (ghi rõ tên tạp chí nếu
có) hoặc nhận xét, đánh giá của cơ sở đã áp dụng các kết quả nghiên cứu (nếu có):
Khơng có.

Ngày

tháng

năm

SV chịu trách nhiệm chính
thực hiện đề tài
(kí, họ và tên)

Nhận xét của người hướng dẫn về những đóng góp khoa học của SV thực hiện đề
tài (phần này do người hướng dẫn ghi):

Ngày

tháng

năm

Người hướng dẫn

(kí, họ và tên)

viii


CHƯƠNG MỞ ĐẦU

MỞ ĐẦU
1. Tổng quan tình hình nghiên cứu thuộc lĩnh vực đề tài


Trong nước: Trong đồ án tốt nghiệp với đề tài “Thiết kế và thi công thiết bị đo
nhiệt độ cơ thể con người bằng hồng ngoại sử dụng công nghệ Iots” được thực
hiện vào năm 2020 bởi tác giả Vũ Thị Ngọc Ánh và Nguyễn Hữu Nghị [1] đã sử
dụng cảm biến hồng ngoại MLX90614 để đo nhiệt độ cơ thể và trả kết quả qua
Oled, loa và đưa lên web server. Ngồi ra cũng cịn một số nghiên cứu cũng sử
dụng cảm biến không tiếp xúc để đo nhiệt độ cơ thể như “Thiết kế chế tạo máy
đo thân nhiệt từ xa sử dụng cảm biến không tiếp xúc” của Nguyễn Bảo Trung [2]
và “Chế tạo máy đo thân nhiệt” [3] của các kỹ sư của Điện lực Thừa Thiên Huế.
Đề tài “Thiết kế và thi cơng mơ hình phát hiện khơng đeo khẩu trang” của Bùi
Hoài Nhân và Phạm Tú Tài [4] đã sử dụng xử lý ảnh để phân tích nhận diện các
cơ quan trên khn mặt. Từ đó nhận dạng khn mặt không đeo khẩu trang và
đưa ra các thiết bị ngoại vi. Ngồi ra “Thiết kế hệ thống nhận dạng khn mặt
trên kit Raspberry pi” của Nguyễn Đình Thắng [5] cũng sử dụng phương pháp
tương tự để nhận dạng khuôn mặt khơng đeo khẩu trang và nhắc nhở.



Ngồi nước: Việc phát triển ngày càng mạnh mẽ ở mảng xử lý ảnh, trên thế giới
cũng đã có nhiều nghiên cứu trong việc phát hiện khơng đeo khẩu trang. Trong

đó phải nói đến nghiên cứu dùng Deep learning của tác giả Wanbin Song [6] đã
thành công trong ý tưởng phát hiện người không đeo khẩu trang. Tác giả Balaji
Srinivas cũng đã xây dựng mơ hình với việc dùng ngơn ngữ lập trình Python với
thư viện OpenCV [7] trong việc nhận diện việc đeo khẩu trang. Ngồi ra cịn có
nghiên cứu dùng mạng neural để huấn luyện mơ hình kết hợp với Python [8] của
một tác giả khác. Nhiệt độ cơ thể thay đổi là một trong những dấu hiệu đầu tiên
của nhiễm bệnh, để kiểm tra nhiệt độ nhanh chóng thế giới cũng đã có các nghiên
cứu trong việc dùng các cảm biến đo không tiếp xúc. Trước hết là dự án dùng
cảm biến MAX30205 của Manikandan [9] kết hợp với Arduino. Tác giả Taher
Ujjainwala đến từ Ấn độ cũng có dự án mơ hình dùng sức mạnh của Internet of
Things để xây dựng một thiết bị Giám sát nhiệt độ với cảnh báo qua Email sử
dụng Raspberry Pi, MLX90614 và PiCamera [10]. Cảm biến LM35 được Gourab
Banerjee sử dụng để làm hệ thống báo động tự động khi nhiệt độ cơ thể thay đổi
khác thường [11] cũng là một dự án được quan tâm.
1


CHƯƠNG MỞ ĐẦU

2. Lý do chọn đề tài
Thế giới đã ghi nhận hơn 540 triệu ca nhiễm vì COVID-19 tính đến thời điểm
đầu tháng 6 năm 2022 [12]. Virus SARS-CoV-2 lây lan qua dễ dàng đường hô hấp gây
tổn thương tại các cơ quan trong cơ thể làm hình thành huyết khối trên các mạch máu.
Việc theo dõi nhiệt độ cơ thể thường xuyên, và mang khẩu trang là việc bắt buộc cho
bất cứ ai khi đi đến nơi đông người. Ngày nay với sự tiến bộ của khoa học kỹ thuật việc
giúp phát hiện và sàng lọc những người có thân nhiệt cao hay những người khơng tn
thủ quy tắc an tồn, giúp kiểm sốt bệnh tật và giảm bớt một phần nhân lực thực hiện
việc giám sát thủ cơng ngày càng dễ dàng. Ngơn ngữ lập trình Python là cơng cụ hỗ trợ
đắc lực trong việc lập trình các thiết bị cảm biến cũng như xử lý ảnh để làm ra các thiết
bị giám sát. Với các lý do cấp thiết trên nhóm tác giả đã kiến nghị thực hiện đề tài thiết

kế và thi công hệ thống camera đo thân nhiệt, nhắc nhở người không đeo khẩu trang.

3. Mục tiêu đề tài
Thiết kế và thi công được hệ thống camera đo thân nhiệt, giám sát việc đeo khẩu
trang. Cụ thể là dùng phương pháp machine learning để nhận diện gương mặt có đeo
khẩu trang hay khơng và đo nhiệt độ cơ thể không tiếp xúc bằng cảm biến ảnh nhiệt
hồng ngoại. Sau đó phát cảnh báo nếu phát hiện cá nhân đó khơng đeo khẩu trang hoặc
có thân nhiệt cao.

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


Phương pháp nghiên cứu tài liệu: Thu thập thông tin thông qua sách báo, tài liệu
với mục đích tìm ra các khái niệm cơ bản làm cơ sở lý thuyết cho lý luận của đề
tài.



Phương pháp tính tốn thống kê: Thu thập và xử lý các tín hiệu đầu vào, tính tốn
dữ liệu để đưa ra kết quả.



Phương pháp thực nghiệm: Thực hiện trong nhiều môi trường và với cá chủ thể
khác nhau.

2


CHƯƠNG MỞ ĐẦU


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


Đối tượng nghiên cứu: Nhiệt độ cơ thể và việc đeo khẩu trang của con người
trong cuộc sống.



Phạm vi nghiên cứu: Xem xét đến thuật tốn nhận dạng khn mặt đeo khẩu
trang bằng machine learning thông qua luồng video trực tuyến. Việc nhận dạng
khuôn mặt cho luồng video được thực hiện trong điều kiện đầy đủ ánh sáng với
các góc mặt khác nhau và khoảng cách nhận dạng khuôn mặt khác nhau trong
khoảng 2m. Dữ liệu cho việc huấn luyện máy học lấy từ tập dữ liệu tự thu nhận.
Ngoài ra, việc đo thân nhiệt được thực hiện trong khoảng từ dưới 2m.

3


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

Chương 1. CƠ SỞ LÝ THUYẾT
1.1.

TỔNG QUAN VỀ NHIỆT ĐỘ CƠ THỂ CON NGƯỜI
Nhiệt độ là một tính chất vật lý của vật chất thể hiện nóng và lạnh [13]. Nó là

biểu hiện của nhiệt năng trong mọi vật chất, nguồn gốc của sự xuất hiện nhiệt, một dòng
năng lượng khi một vật tiếp xúc với vật khác lạnh hơn. Ba thang đo nhiệt độ phổ biến
nhất là thang đo Celsius (gọi là C, ký hiệu là °C), thang đo Fahrenheit (ký hiệu là °F),

thang đo Kelvin (ký hiệu là K) [13] và được liên hệ với nhau qua các công thức:
9
T (F )  * T (C )  32
5

(1.1)

T ( K )  T (C)  273.15

(1.2)

Nhiệt độ cơ thể con người bình thường hay nhiệt độ bình thường là phạm vi nhiệt
độ bình thường điển hình ở người. Phạm vi nhiệt độ cơ thể của người bình thường trong
khoảng 36.5 – 37.5 °C (97.7 – 99.5 °F) [14]. Nhiệt độ cơ thể của mỗi người phụ thuộc
vào nhiều yếu tố như độ tuổi (người trẻ tuổi thường có thân nhiệt cao hơn), mức độ gắng
sức, tình trạng sức khỏe, giới tính cùng tình trạng sinh sản, thời gian trong ngày, vị trí
nơi thực hiện việc đo nhiệt độ và trạng thái ý thức của đối tượng đo như thức hay ngủ,
mức độ hoạt động và trạng thái cảm xúc. Tuy nhiên, nhiệt độ cơ thể thường được giữ ở
mức ổn định nhờ vào khả năng điều hịa thân nhiệt cùng thích nghi với môi trường sống
của con người.
Nhiệt độ trung tâm hay nhiệt độ phần lõi cơ thể người là nhiệt độ hoạt động của
một sinh vật. Cụ thể là trong các phần sâu trong cơ thể như gan, não và các nội tạng, nó
nằm trong khoảng 36.5 – 37.1 °C và nhiệt độ trung bình vào khoảng 36.8 °C. Có ba cách
đo nhiệt độ trung tâm của cơ thể: đo ở trực tràng với độ sâu chuẩn là 5 – 10 cm, được
xem là tiêu biểu cho nhiệt độ trung tâm, đo ở miệng (dưới lưỡi) với nhiệt độ đo được
thấp hơn ở trực tràng khoảng 0.4 – 0.6 °C, đo ở hõm nách với nhiệt độ đo được thấp hơn
ở trực tràng khoảng 0.65 °C.

4



CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
Bảng 1.1. Thân nhiệt bình thường ở các vị trí đo khác nhau theo từng độ tuổi

Độ tuổi

0 – 2 tuổi

3 – 10 tuổi

11 – 65 tuổi

Trên 65 tuổi

Nơi đo
Miệng

36.4 – 38 °C

35 .5 – 37.5 °C

36.4 – 37.5 °C 35.7 – 36.9 °C

Hậu môn

36.6 – 38 °C

36.6 – 38 °C

37 – 38.1 °C


Nách

34.7 – 37.3 °C

35.8 – 36.7 °C

35.2 – 36.8 °C 35.5 – 37.5 °C

Tai

36.4 – 38 °C

36.1 – 37.7 °C

35.8 – 37.6 °C 35.7 – 37.5 °C

Thân nhiệt

36.4 – 37.7 °C

36.4 – 37.7 °C

36.8 – 37.8 °C 35.8 – 37.1 °C

1.2.

36.2 – 37.3 °C

CÁC PHƯƠNG PHÁP ĐO NHIỆT ĐỘ

Nhiệt độ là đại lượng chỉ có thể được đo gián tiếp dựa trên cơ sở tính chất của

vật phụ thuộc nhiệt độ. Vì vậy, có hai phương pháp chính đo nhiệt độ là phương pháp
tiếp xúc và phương pháp không tiếp xúc. Nguyên lý để chế tạo cảm biến đo nhiệt độ dựa
trên sự giãn nở của các vật rắn, lỏng, khí, sự phụ thuộc của điện trở vào nhiệt độ, hiệu
ứng seebeck, Thomson, Peltier hoặc sự phân bố phổ bức xạ nhiệt.
1.2.1. Phương pháp đo nhiệt độ tiếp xúc
Phương pháp đo nhiệt độ tiếp xúc được đo bằng cách áp bộ phận nhạy cảm của
nhiệt kế tiếp xúc một cách trực tiếp với môi trường cần đo. Các thiết bị đo nhiệt độ tiếp
xúc như nhiệt kế thủy ngân, nhiệt điện trở kim loại, nhiệt điện trở bán dẫn, cặp nhiệt
ngẫu hay các IC cảm biến nhiệt.
-

Nhiệt kế thủy ngân được phát minh vào năm 1714 bởi nhà vật lý học Daniel
Gabriel Fahrenheit gồm phần cảm biến nhiệt độ, ống dẫn và phần hiển thị kết
quả. Nó hoạt động dựa theo nguyên lý sự giãn nở của thủy ngân theo nhiệt độ:
nhiệt độ thay đổi làm cho cột độ chạy để mở rộng hoặc kéo tụt thủy ngân trong
ống.

-

Nhiệt điện trở hay thermistor được cấu tạo từ hỗn hợp các bột oxit. Nó hoạt động
dựa theo nguyên tắc điện trở của kim loại tăng lên khi nhiệt độ tăng lên.

-

Cặp nhiệt ngẫu là 1 mạch từ có hai hay nhiều thanh dẫn điện gồm hai dây dẫn A
và B, hàn dính một đầu. Hoạt động khi nhiệt độ có sự thay đổi sẽ tác động lên
đầu nóng của nó. Theo hiệu ứng Seebeck thì đầu lạnh của cặp nhiệt sẽ tăng hoặc
giảm tỉ lệ thuận với nhiệt độ môi trường.


5


CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
1.2.2. Phương pháp đo nhiệt độ không tiếp xúc
Phương pháp đo nhiệt độ không tiếp xúc dựa trên định luật bức xạ đen tuyệt đối,
tức là vật hấp thụ năng lượng theo mọi hướng với khả năng lớn nhất. Bức xạ nhiệt của
vật thể đặc trưng cho số năng lượng bức xạ trong một đơn vị thời gian với một đơn vị
diện tích của vật xảy ra trên một đơn vị của độ dài sóng. Thiết bị đo nhiệt độ không tiếp
xúc như cảm biến quang, hỏa quang kế, cảm biến hồng ngoại, cảm biến ảnh nhiệt.
-

Hỏa quang kế gồm hỏa quang kế bức xạ, hỏa quang kế cường độ sáng, hỏa quang
kế màu sắc đo nhiệt độ với dải nhiệt độ cao trên 1600 °C. Nó hoạt động dựa trên
mật độ phổ năng lượng phát xạ theo bước sóng của vật đen lý tưởng khi bị đốt
nóng.

-

Cảm biến hồng ngoại: là thiết bị điện tử đo và phát hiện bức xạ hồng ngoại ở môi
trường xung quanh. Bức xạ hồng ngoại được phát hiện bởi nhà thiên văn học
William Herschel vào năm 1800. Định luật bức xạ Planck đã chỉ ra bức xạ đặc
trưng Mλs của vật thể đen tuyệt đối phụ thuộc vào nhiệt độ T của nó và bước sóng
λ:
M s (T ) 

2hc 2




1

5

e

hc
k B T

(1.3)
1

trong đó, h là hằng số Planck, c là tốc độ ánh sáng, kB là hằng số Boltzmann.
Bằng cách tích hợp cảm biến của các bức xạ ánh sáng có bước sóng từ 0 đến vơ
cùng thì có thể đo được giá trị bức xạ phát ra của vật thể. Mối tương quan này
được thể hiện ở định luật Stefan-Boltzmann:
j*  T 4

(1.4)

Cảm biến hồng ngoại gồm hai loại là thụ động và chủ động. Nó hoạt động bằng
cách sử dụng một cảm biến ánh sáng cụ thể để phát hiện ra bước sóng ánh sáng
chọn trong phổ hồng ngoại.

1.3.

PHƯƠNG PHÁP NHẬN DẠNG KHUÔN MẶT
Xác định khuôn mặt người là một kỹ thuật dùng để xác định vị trí và kích thước


khn mặt trong các ảnh bất kỳ. Kỹ thuật này nhận biết về các đặc trưng của khuôn mặt
và bỏ qua những thứ khác. Một hệ thống nhận dạng thông thường bao gồm bốn bước
như hình 1.1.
Dị tìm và định vị những vị trí khn mặt xuất hiện trong ảnh hoặc trên các frame
video. Từ đó xác định vị trí mắt mũi, miệng là các thành phần khác của khuôn mặt và
6


CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
chuyển kết quả này cho bước trích xuất đặc trưng. Từ những thơng tin về các thành phần
trên khn mặt, chúng ta có thể dễ dàng tính được véc-tơ đặc trưng. Những véc-tơ này
sẽ là dữ liệu đầu vào cho một mơ hình đã được huấn luyện trước để phân loại khn
mặt. Bên cạnh đó, chúng ta cịn có thể áp dụng thêm một số bước khác như tiền xử lý,
hậu xử lý nhằm làm tăng độ chính xác cho hệ thống. Do một số thông số như: tư thế
khuôn mặt, độ sáng, điều kiện ánh sáng,…. Phát hiện khuôn mặt được đánh giá là bước
khó khăn và quan trọng nhất so với các bước cịn lại của hệ thống.

Hình 1.1. Bốn bước xử lý của hệ thống nhận dạng mặt người

Có nhiều nghiên cứu tìm ra phương pháp xác định khn mặt người, từ ảnh xám
đến ngày nay là ảnh màu. Dựa vào tính chất của các phương pháp này thành bốn hướng
tiếp cận chính [15]:
-

Hướng tiếp cận dựa trên tri thức: là hướng tiếp cận kiểu top-down mã hóa các
hiểu biết của con người về các loại khuôn mặt người thành các luật. Thông thường
các luật mô tả quan hệ của các đặc trưng như quan hệ về khoảng cách hay vị trí.
Vấn đề phức tạp của hướng tiếp cận này là chuyển từ tri thức của con người sang
các luật một cách hiệu quả.


-

Hướng tiếp cận dựa trên đặc trưng không thay đổi: là hướng tiếp cận kiểu bottomup với mục tiêu là các thuật tốn đi tìm các thuộc tính đặc trưng mô tả cấu trúc
khuôn mặt người mà các đặc trưng này sẽ không thay đổi khi tư thế khuôn mặt,
vị trí đặt thiết bị thu hình hoặc điều kiện ánh sáng thay đổi. Từ đó xây dựng một
mơ hình thống kê để mô tả quan hệ của các đặc trưng và xác định khuôn mặt
trong ảnh. Vấn đề phức tạp của hướng tiếp cận này là cần phải điều chỉnh cho
phù hợp điều kiện sáng, nhiễu hay bị khuất.

-

Hướng tiếp cận dựa trên so khớp mẫu: dùng các mẫu chuẩn của khuôn mặt người
(các mẫu này được chọn lựa và lưu trữ thường là khuôn mặt được chụp thẳng) để
mô tả cho khuôn mặt người hay các đặc trưng khn mặt. Thơng qua đó các tác
giả quyết định khn mặt có trong ảnh hay khơng. Hướng tiếp cận này có lợi thế
rất dễ cài đặt, nhưng khơng hiệu quả khi có sự thay đổi về tỷ lệ, tư thế và hình
dáng.
7


CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
-

Hướng tiếp cận dựa trên máy học: các mơ hình học ở đây được học từ một tập
ảnh huấn luyện cho trước. Sau đó hệ thống sẽ áp dụng các kỹ thuật theo hướng
xác suất thống kê và máy học để xác định khuôn mặt người. Một số tác giả còn
gọi hướng tiếp cận này là hướng tiếp cận theo phương pháp học. Có nhiều phương
pháp như phương pháp sử dụng Eigenfaces, phương pháp sử dụng mạng neuron,
SVM, mơ hình neuron ẩn hay Adaboost.


1.4.

DEEP LEARNING
Deep Learning được xem là một nhánh nhỏ của Machine Learning khi sử dụng

mạng lưới thần kinh với nhiều lớp. Về bản chất, Deep Learning là một nhánh thuộc
Artificial Intelligence (AI) đang được phát triển cách thức hoạt động của bộ não con
người [16]. Đây được xem là một thuật toán dựa trên các ý tưởng đến từ não bộ thông
qua việc tiếp thu rất nhiều tầng biểu đạt hay trừu tượng để có thể làm rõ nghĩa của các
loại dữ liệu nhằm nâng cấp các công nghệ như nhận diện giọng nói, tầm nhìn máy tính
hay xử lý ngơn ngữ tự nhiên. Deep learning sẽ thực hiện một nhiệm vụ nhiều lần, mỗi
lần tinh chỉnh nhiệm vụ một chút để cải thiện kết quả, đơn giản là kết nối dữ liệu giữa
tất cả các tế bào thần kinh nhân tạo và điều chỉnh chúng theo dữ liệu mẫu.
Deep Learning được sử dụng khi dữ liệu phần lớn khơng có cấu trúc và có rất
nhiều dữ liệu. Những thuật tốn của Deep Learning vơ cùng đa dạng, mỗi thuật tốn sẽ
được ứng dụng tùy vào từng bài toán cụ thể như Linear Regression, Logistic Regression,
Naive Bayes, Support Vector Machines, K-Nearest Neighbors, Principal Component
Analysis (PCA) hay Neural network. Một số kỹ thuật hiện tại của Deep Learning như
mạng thần kinh chuyển đổi CNN được dùng cho việc liên quan đến thị giác máy tính,
mạng thần kinh ngơn ngữ RNN sử dụng cho việc chuyển đổi ngôn ngữ. Hay mạng
Perceptron là mạng cơ bản nhất dùng để thảo luận bên trong các số liệu viết tay.
Cách thức hoạt động của thuật toán Deep Learning được diễn ra như sau: Các
dịng thơng tin sẽ được trải qua nhiều lớp cho đến lớp sau cùng, lấy quy trình học của
con người làm ví dụ cụ thể. Qua các lớp đầu tiên sẽ tập trung vào việc học các khái niệm
cụ thể hơn trong khi các lớp sâu hơn sẽ sử dụng thông tin đã học để nghiên cứu và phân
tích sâu hơn trong các khái niệm trừu tượng. Quy trình xây dựng biểu diễn dữ liệu này
được gọi là trích xuất tính năng.

8



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

1.5.

MƠ HÌNH CNN  CONVOLUTIONAL NEURAL NETWORK
Convolutional Neural Network (CNNs – Mạng nơ-ron tích chập) là một trong

những mơ hình Deep Learning tiên tiến. Nó giúp xây dựng hệ thống xử lý ảnh thông
minh với độ chính xác cao, hiệu quả tính tốn cao hơn, địi hỏi ít tham số và dễ thực thi
song song trên nhiều GPU hơn các kiến trúc mạng dày đặc khác.

Hình 1.2. Kiến trúc cơ bản của một mạng tích chập

Hình 1.2 thể hiện kiến trúc mạng tích chập bao gồm các lớp cơ bản sau: lớp tích
chập, hàm kích hoạt, lớp tổng hợp và lớp kết nối đầy đủ. Các lớp này thường được thay
đổi về số lượng và cách sắp xếp để tạo ra mơ hình huấn luyện phù hợp cho từng bài tốn
cụ thể.
1.5.1. Lớp tích chập
Lớp tích chập (Convolution Layer) là lớp đầu tiên và cũng là lớp quan trọng nhất
của mơ hình CNN với chức năng phát hiện các đặc trưng cụ thể của bức ảnh. Từ đó thực
hiện tích chập để trích xuất các thơng tin cơ bản như góc, cạnh, màu sắc hoặc các đặc
trưng phức tạp hơn. Trong tầng này có 4 đối tượng chính là: ma trận ảnh đầu vào, bộ
filters (bộ lọc), receptive field và feature map. Lớp tích chập nhận đầu vào là một ma
trận 3 chiều và một bộ filters cần phải học. Bộ filters này sẽ trượt qua từng vị trí trên
hình để tính tích chập giữa bộ filter và phần tương ứng trên bức ảnh được thể hiện qua
hình 1.3 [17]. Phần tương ứng này trên bức ảnh gọi là receptive field, tức là vùng mà
một nơ-ron có thể nhìn thấy để đưa ra quyết định và ma trận cho ra bởi quá trình này
được gọi là feature map [18].


9


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

Hình 1.3. Cửa sổ trượt trên một ma trận

Lớp tích chập có các tham số quan trọng là kích thước bộ lọc, bước nhảy và
đường viền. Kích thước bộ lọc tỉ lệ thuận với số tham số cần học tại mỗi tầng tích chập
và là tham số quyết định receptive field của tầng này. Kích thước của bộ lọc nhỏ thường
được ưu tiên vì nó sẽ rút trích được các đặc trưng có tính cục bộ cao, giúp phát hiện các
đặc trưng nhỏ hơn, thông tin rút trích được đa dạng và hữu ích hơn ở tầng sau, ít trọng
số do đó sẽ chia sẻ trọng số tốt hơn và cho phép mạng sâu hơn. Kích thước bộ lọc hầu
hết đều là số lẻ, ví dụ như 3x3 hay 5x5. Với kích thước bộ lọc lẻ, các giá trị của feature
map sẽ xác định một tâm điểm ở tầng phía trước. Nếu chọn bộ lọc có kích thước chẵn
thì sẽ gặp khó khăn khi muốn tìm vị trí tương ứng của các giá trị ma trận ảnh đặc trưng
trên khơng gian ảnh [18].
Ngồi kích thước bộ lọc, bước nhảy cũng là tham số quan trọng của lớp tích chập.
Khi bước nhảy là 1 thì bộ lọc di chuyển qua một điểm ảnh mỗi lần. Khi bước nhảy là 2
thì bộ lọc nhảy qua 2 điểm ảnh mỗi lần tại thời điểm trượt bộ lọc xung quanh. Điều này
sẽ tạo ra khối đầu ra nhỏ hơn theo khơng gian được minh họa qua hình 1.4.

Hình 1.4. Kích thước ảnh đầu ra khi thực hiện bước nhảy lần lượt là 1 và 2

10


CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
Tham số quan trọng cuối là đường viền. Sử dụng đường viền cho phép kiểm sốt
kích thước của khơng gian đầu ra, bảo tồn chính xác kích thước của khơng gian đầu

vào sao cho kích thước của đầu vào và đầu ra là như nhau. Hình 1.5 minh họa viền với
giá trị 0, nghĩa là bổ sung một ô vào xung quanh các cạnh của đầu vào.

Hình 1.5. Ma trận khi thêm viền 0 bên ngồi

1.5.2. Hàm kích hoạt
Các hàm kích hoạt sẽ mơ phỏng về tỷ lệ truyền xung qua sợi trục của một nơ-ron
thần kinh và đóng vai trị là thành phần phi tuyến để giới hạn biên độ cho phép của giá
trị đầu ra. Đây là một lớp được xây dựng để đảm bảo tính phi tuyến của mơ hình sau khi
trải qua nhiều phép tốn tuyến tính ở lớp tích chập. Một số hàm kích hoạt thơng dụng
được thể hiện trong bảng 1.2.
Bảng 1.2. Một số hàm kích hoạt thơng dụng

Hàm kích hoạt

Đồ thị

Cơng thức

Sigmoid

 ( x) 

Tanh

Tanh( x) 

1
1  ex


e x  e x
e x  ex

11


CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
f ( x)  max(0, x)

ReLU

Leaky, ReLU

f ( x)  1( x  0)(x)  1( x)

với α là hằng số nhỏ

Maxout

f ( x)  max(w1T x  b1 , w2T x  b2 )

1.5.3. Lớp tổng hợp
Lớp tổng hợp (Pooling Layer) thường được đặt sau lớp tích chập và hàm kích
hoạt. Lớp tổng hợp là một lớp lấy những hình ảnh lớn và làm giảm kích thước dữ liệu
nhưng vẫn giữ được các thơng tin quan trọng trong đó. Việc giảm kích thước dữ liệu có
tác dụng làm giảm được số lượng tham số cũng như tăng hiệu quả tính tốn. Lớp tổng
hợp cũng sử dụng một cửa sổ trượt để quét toàn bộ các vùng trong ảnh giống như lớp
tích chập và thực hiện phép tổng hợp, tức là chọn một giá trị đại diện của các điểm ảnh
như hình 1.6. Như vậy, với mỗi ảnh đầu vào được đưa qua tổng hợp thu được ảnh đầu
ra tương ứng có kích thước giảm xuống đáng kể nhưng vẫn giữ được những giá trị cần

thiết cho q trình tính tốn sau này. Các hàm tổng hợp có nhiều loại khác nhau như
[17]:
-

Max pooling lấy phần tử lớn nhất từ ma trận đối tượng.

-

Average pooling lấy tổng trung bình từ ma trận đối tượng.

-

Sum pooling lấy tổng tất cả các phần tử trong ma trận.

Hình 1.6. Lớp max pooling cho vùng ảnh

12


CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
1.5.4. Lớp kết nối đầy đủ
Tầng cuối cùng của mơ hình CNN là tầng kết nối đầy đủ (Fully Connected Layer).
Đầu vào của lớp này là đầu ra từ lớp tổng hợp hoặc lớp tích chập cuối cùng được làm
phẳng và sau đó đưa vào lớp kết nối đầy đủ. Lớp kết nối đầy đủ được thiết kế tương tự
mạng nơ-ron truyền thống. Vector phẳng này có các nơ-ron kết nối đầy đủ với các nơron ở tầng sau được thể hiện qua hình 1.7, các kết nối này giống như mạng thần kinh
nhân tạo và thực hiện tính tốn tương tự. Lớp này có chức năng tìm ra đường phân chia
giữa các điểm dữ liệu thông qua việc học các kết hợp phi tuyến trong khơng gian.

Hình 1.7. Mơ phỏng lớp kết nối đầy đủ


1.6.

THƯ VIỆN OPENCV
Open Source Computer Vision được viết tắt là OpenCV là một thư viện mã nguồn

mở được bắt đầu từ Intel bởi Gary Bradski vào năm 1999 [21]. Nó được viết bằng tối
ưu hóa C/C++ và có các giao diện C++, C, Python và Java có thể hỗ trợ Windows,
Linux, Mac OS, IOS và Android. OpenCV được thiết kế để tối ưu hóa và xử lý ứng dụng
trong real-time – thời gian thực, giúp cho việc xây dựng các ứng dụng xử lý ảnh, thực
tế ảo, thị giác máy tính… một cách nhanh gọn hơn. Cấu trúc của Opencv được chia
thành năm phần chính, bốn trong số đó được biểu diễn như hình 1.9:
-

CV: chứa các hàm xử lý ảnh cơ sở và thuật toán về thị giác máy tính mức cao.

-

MILL: là thư viện machine learning, chứa các thuật toán học máy bao gồm các
bộ phân cụm, phân loại thống kê.

-

HighGUI: chứa các thủ tục vào, ra và các hàm dùng cho việc tải và lưu trữ file
ảnh và file video.

-

CXCORE: chứa cấu trúc và nội dung dữ liệu cơ sở như cấu trúc XML, các hàm
vẽ đồ họa…


13


CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
Computer Vision
(CV)

Machine learning library
(MILL)

HighGUI

CXCORE

Hình 1.8. Cấu trúc cơ bản của OpenCV

1.7.

THƯ VIỆN TENSORFLOW
Tensorflow là một nền tảng học máy mã nguồn mở, được thiết kế bởi đội ngũ

Google Brain và tổ chức nghiên cứu trí tuệ máy của Google nhằm triển khai các ứng
dụng của học máy và học sâu theo cách đơn giản. Nó là kết hợp giữa đại số tính tốn
của các kỹ thuật tối ưu hố để dễ dàng tính tốn các biểu thức toán học [19]. Kiến trúc
của Tensorflow bao gồm 3 phần: xử lý trước dữ liệu, xây dựng mô hình, đào tạo và ước
tính mơ hình.Một số tính năng nổi bật của Tensorflow:
-

Định nghĩa, tối ưu và tính tốn các biểu thức số học dễ dàng nhờ vào sự trợ giúp
của các mảng đa chiều, gọi là tensors.


-

Hỗ trợ lập trình các kỹ thuật của mạng học máy và học sâu.

-

Bao gồm tính năng tính tốn độ ổn định cao với đa dạng các tập dữ liệu.

-

Sử dụng GPU hoặc CPU để tính tốn và tự động quản lý.
Tensorflow có tài liệu đầy đủ và bao gồm nhiều thư viện học máy nên rất phổ

biến hiện nay. Vì là một sản phẩm của Google, nên hiện tại, Tensorflow đang được ứng
dụng rất nhiều trong các sản phẩm của Google như phân loại chữ viết tay, nhận diện
hình ảnh, xử lý ngôn ngữ tự nhiên.

1.8.

THƯ VIỆN KERAS
Keras là một thư viện Học sâu mã nguồn mở dành cho Python, chạy trên các thư

viện máy mã nguồn mở như TensorFlow, Theano hoặc Bộ công cụ nhận thức (CNTK).
Keras dựa trên cấu trúc tối thiểu, cung cấp một cách dễ dàng và dễ dàng để tạo các mơ
hình học sâu dựa trên TensorFlow hoặc Theano [22]. Keras được thiết kế để xác định
nhanh các mơ hình học sâu. Một số đặc điểm nổi bật của Keras:
-

API nhất quán, đơn giản và có thể mở rộng.


-

Cấu trúc tối thiểu, dễ dàng đạt được kết quả mà cần sự phức tạp.

-

Hỗ trợ đa nền tảng và backend.

-

Framework thân thiện, chạy được trên cả CPU và GPU.

-

Độ ổn định cao.
14


CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
1.9.

CHUẨN GIAO TIẾP I2C
Inter – Integrated Circuit được viết tắt I2C là một giao thức giao tiếp được phát

triển bởi Philips Semiconductors để truyền dữ liệu giữa một bộ xử lý trung tâm với nhiều
IC trên cùng một board mạch chỉ sử dụng hai đường truyền tín hiệu [23]. Vì tính đơn
giản nên được sử dụng làm bus giao tiếp ngoại vi giữa vi điều khiển và cảm biến, các
thiết bị hiển thị, EEPROMs… và nó trở thành một chuẩn cơng nghiệp cho các giao tiếp
điều khiển. Nó là giao thức giao tiếp nối tiếp đồng bộ, các bit dữ liệu được truyền lần

lượt từng bit một theo khoảng thời gian đều đặn được thiết lập trước bởi tín hiệu clock
tham chiếu.
I2C kết hợp những tính năng tốt nhất của SPI và UART. Vậy nên bus I2C (dây
giao tiếp) cũng sử dụng hai dây để truyền dữ liệu giữa các thiết bị giống như UART
gồm Serial Data Line (SDA) là đường truyền cho master và slave để gửi và nhận dữ liệu
và Serial Clock Line (SDI) mang tín hiệu xung nhịp [24]. I2C là giao thức truyền thông
nối tiếp, dữ liệu truyền đi từng bit được gửi qua dây SDA và giống như SPI, đầu ra của
các bit sẽ được đồng bộ với việc lấy mẫu các bit bởi tín hiệu đồng hồ (clock) từ SCL
được chia sẻ giữa master và slave.

Hình 1.9. Mơ hình giao thức I2C

SDA và SCL đều hoạt động như các bộ lái cực máng hở (open drain). Bất kỳ
thiết bị hay IC trên mạng I2C có thể lái bus I2C xuống mức thấp nhưng không thể lái
chúng lên mức cao. Vì vậy, một điện trở kéo lên (khoảng 1 kΩ đến 4,7 kΩ) được sử
dụng cho mỗi đường bus để giữ chúng ở mức cao (ở điện áp dương) theo mặc định.
Các thiết bị kết nối với bus I2C được phân loại là thiết bị chủ (master) hoặc thiết
bị tớ (slave). Ở bất cứ thời điểm nào thì chỉ có duy nhất một master ở trạng thái hoạt
động trên bus I2C. Master điều khiển SCL và quyết định hoạt động nào sẽ được thực
hiện trên SDA. Tất cả các thiết bị đáp ứng các hướng dẫn từ master này đều là slave. Để
phân biệt giữa nhiều slave được kết nối với cùng một bus I2C, mỗi thiết bị sẽ được gán
một địa chỉ vật lý 7-bit cố định.

15


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

1.10. NGƠN NGỮ LẬP TRÌNH PYTHON
Python là ngơn ngữ lập trình bậc cao được dùng cho nhiều mục đích khác nhau,

và đặc biệt được ứng dụng phổ biến trong phát triển trí tuệ nhân tạo. Python được thiết
kế thuận tiện cho những người lập trình với đặc điểm dễ đọc, dễ hiểu và dễ nhớ. Với
thiết kế dễ đọc, dễ hiểu và dễ nhớ python có những đặc điểm cơ bản sau:
-

Cú pháp và từ khóa: Khác với các ngơn ngữ khác python khơng sử dụng dấu
ngoặc nhọn để giới hạn khối lệnh và dấu chấm phẩy cuối câu có thể dùng hoặc
khơng. Các từ khóa của python được viết bằng tiếng Anh và có phân biệt chữ hoa
và chữ thường.

-

Khối lệnh: Python sử dụng thụt lề bằng khoảng trắng để tạo khối lệnh. Các khối
lệnh con sẽ thụt lùi vào sâu hơn so với các khối lệnh mẹ mà nó trực thuộc.

-

Khả năng mở rộng linh hoạt: Có thể dễ dàng tích hợp python vào việc viết các
đoạn mã khác nhau tùy thuộc vào nhu cầu sử dụng. Có thể mở rộng chức năng
của trình thơng dịch hoặc liên kết trình thơng dịch với ứng dụng viết bằng ngôn
ngữ C để mở rộng hoặc tạo lệnh hỗ trợ cho ứng dụng đó.

-

Python được ứng dụng linh hoạt vào nhiều mục đích sau:

 Lập trình ứng dụng web: Python có thể đóng vai trị như một ngơn ngữ xây dựng
cho ứng dụng web. Nó được sử dụng để xây dựng và phát triển cho nhiều website
của doanh nghiệp hay website dạy học. Một số khung web phổ biến sử dụng
python như Django, Pylons, Pyramid, TurboGears, web2py, Tornado, Flask,

Bottle và Zope.
 Lập trình tính tốn khoa học và phân tích dữ liệu: Với việc sở hữu những thư viện
chuẩn lớn như Numpy, SciPy và Panda thì python là một trong số ít các ngơn
ngữ lập trình có thể tính tốn và phân tích số liệu tốt nhất.
 Trí tuệ nhân tạo và học máy (Artificial Intelligence and Machine Learning): Các
ứng dụng AI và ML yêu cầu ngôn ngữ ổn định, bảo mật, linh hoạt và được trang
bị các cơng cụ có thể xử lý các u cầu khác nhau. Python đáp ứng được tất cả
các yêu cầu nêu trên và vì vậy nó đã trở nên ưa chuộng với các chuyên gia phát
triển AI và ML.
 Phát triển trị chơi: Có thể phát triển trị chơi bằng python với các framework như
PyGame, PyKyra.

16


×