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

Xây dựng trung tâm xử lý cho tòa nhà thông minh trên hệ thống nhúng linux

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 (11.85 MB, 106 trang )

vi

MỤC LỤC
Trang tựa Trang
QUYẾT ĐỊNH GIAO ĐỀ TÀI
i

LÝ LỊCH CÁ NHÂN
iii
LỜI CAM ĐOAN
iv

CẢM TẠ
v

TÓM TẮT
vi

MỤC LỤC
x

DANH SÁCH CÁC HÌNH
xiii

DANH SÁCH CÁC BẢNG
CHƯƠNG 1: TỔNG QUAN 1

1.1

Tổng quan về ngôi nhà thông minh 1


1.2

Mục đích của đề tài 4

1.3

Nhiệm vụ và giới hạn của đề tài 4

1.4

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

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

2.1

Cơ sở lý thuyết về trung tâm xử lý cho tòa nhà thông minh 6

2.1.1

Mô hình tổng quan 6

2.1.2

Một số chức năng cơ bản của tòa nhà thông minh 9

2.1.2.1 Hệ thống điều hòa không khí (HVAC) 9
2.1.2.2

Kiểm soát vào ra 10


2.1.2.3

Điều khiển ánh sáng và tiết kiệm năng lượng 10

2.1.3

Các giao thức sử dụng cho tòa nhà thông minh hiện tại 11

2.1.3.1

X10 11

2.1.3.2

UPB 12

2.1.3.3 INSTEON 12
2.1.3.4

Z-Wave 12

vii

2.1.3.5

ZigBee 13

2.1.4


Lựa chọn giao thức 13

2.1.5

Socket.IO 14

2.1.6

Mô hình điều khiển vào ra dựa trên Socket.IO 16

2.2

Cơ sở lý thuyết về xử lý ảnh 17

2.2.1

Ảnh số 17

2.2.2

Điểm ảnh 18

2.2.3

Mức xám của ảnh 18

2.2.4

Histogram 19


2.2.5

Cân bằng histogram 19

2.3

Biến đổi hình học ảnh 22

2.3.1

Dịch chuyển ảnh (Translation) 22

2.3.2

Dịch chuyển và xoay ảnh 23

2.3.3

Xoay tỉ lệ 23

2.3.4

Phép biến đổi Affine 24

2.4 Làm mịn ảnh 26
2.4.1

Bộ lọc chuẩn hóa 26

2.4.2


Bộ lọc Gaussian 26

2.4.3

Bộ lọc trung vị 27

2.4.4

Bộ lọc Bilateral 27

2.5

Nhận dạng ảnh 28

2.6

Phát hiện đối tượng 30

2.6.1

Phát hiện khuôn mặt 30

2.6.1.1

Phân loại theo từng đợt (Cascade Classification) 31

2.6.1.2

Các đặc trung Haar-like 33


2.6.1.3

Tăng cường (Boosting) 36

2.6.1.4

AdaBoost 37

viii

2.6.1.4.1

Thuật toán AdaBoost [16] 38

2.6.1.5

Huấn luyện Cascade 40

2.6.1.5.1

Thuật toán huấn luyện 40

2.6.1.5.2

Minh họa thuật toán huấn luyện Cascade 41

2.6.1.6

Các bộ phân loại tăng cường nối tiếp 42


2.7

Nhận dạng khuôn mặt 43

2.8

Một số thuật toán nhận dạng khuôn mặt 45

2.8.1

Phương pháp Eigenfaces 45

2.8.2

Fisherfaces 48

2.8.3

Biểu đồ tần suất các mẫu nhị phân cục bộ (LBP) 51

CHƯƠNG 3: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN VÀO RA TRÊN HỆ THỐNG
NHÚNG LINUX 57

3.1

Nhận dạng khuôn mặt 57

3.1.1


Phân tích giải thuật 57

3.1.2

Phát hiện khuôn mặt 58

3.1.2.1

Chuyển đổi sang ảnh xám: 60

3.1.2.2

Thay đổi kích thước ảnh 60

3.1.2.3

Cân bằng histogram 61

3.1.2.4

Phát hiện khuôn mặt 61

3.1.3

Xử lý dữ liệu khuôn mặt 64

3.1.3.1

Phát hiện đôi mắt 65


3.1.3.2

Các vùng tìm kiếm đôi mắt 66

3.1.3.3

Chuyển đổi hình học 71

3.1.3.4

Cân bằng histogram riêng biệt cho bên trái và bên phải của khuôn mặt . 73

3.1.3.5

Làm mịn 75

3.1.3.6

Mặt nạ hình eclipse 76

3.1.4

Xây dựng cơ sở dữ liệu 77

3.1.4.1

Thu thập ảnh khuôn mặt 77

ix


3.1.4.2

Huấn luyện 81

3.1.5

Nhận dạng khuôn mặt 82

3.1.5.1

Thẩm định khuôn mặt: 83

3.2

Hệ thống máy chủ web thời gian thực 85

3.2.1

Mô hình hệ thống 85

3.2.2

Nguyên lý 86

3.3

Phát triển trên hệ thống nhúng Raspberry 87

3.3.1


Kết quả 87

3.3.2

Hoạt động 92

CHƯƠNG 4: KẾT LUẬN 94

4.1

Đánh giá kết quả 94

4.2

Hướng phát triển của đề tài 95

TÀI LIỆU THAM KHẢO 96


x

DANH SÁCH CÁC HÌNH
Hình Trang
Hình 1.1. Các tòa nhà thông minh nổi tiếng trên thế giới 2

Hình 1.2. Mô hình và hình ảnh thực tế của Raspberry Pi 3

Hình 2.1. Hệ thống quản lý riêng lẻ của tòa nhà thông minh 7
Hình 2.2. Hệ thống điều khiển tích hợp 8


Hình 2.3. Mô hình điều khiển tòa nhà thông minh dựa trên socket.io 14

Hình 2.4. Truyền thông phi trạng thái 14

Hình 2.5. Truy vấn liên tục của client (Long Polling) 15

Hình 2.6. Giao thức truyền thông theo thời gian thực với Socket.IO 15

Hình 2.7. Mô hình kiểm soát vào ra dựa trên socket.io 16

Hình 2.8. Ảnh xám với những ô vuông nhỏ đại diện cho một điểm ảnh 18

Hình 2.9. Biểu diễn giá trị mức xám tại mỗi điểm ảnh từ 0-255 (ảnh gray) 19

Hình 2.10. Biểu đồ histogram của ảnh xám 19

Hình 2.11. Sự khác biệt giữa trước và sau khi cân bằng histogram 20

Hình 2.12. Biểu đồ hàm phân bố tích lũy CDF 21

Hình 2.13. Sử dụng hàm CDF để cân bằng phân bố Gaussian 21

Hình 2.14. Các phép biến đổi 2D cơ bản 23

Hình 2.15. Mối quan hệ các điểm ảnh khi biến đổi Affine 25

Hình 2.16. Nhân của bộ lọc Gaussian 27
Hình 2.17. Bốn đặc trưng Haar-like cơ bản 33

Hình 2.18. Các đặc trưng mở rộng của các đặc trưng Haar-like cơ bản 33


Hình 2.19. Cách tính Integral Image của ảnh 34

Hình 2.20. Ví dụ cách tính nhanh tổng các điểm ảnh của vùng D trên ảnh 35

Hình 2.21. Ví dụ cách tính nhanh tổng điểm ảnh của vùng D trên ảnh với các đặc
trưng xoay 45
o
35

Hình 2.22. Bộ phân loại mạnh được kết hợp từ các bộ phân loại yếu hơn 37

xi

Hình 2.23. Các bộ phân loại nối tiếp nhau 41

Hình 2.24. Các bộ phân loại tăng cường nối tiếp 42

Hình 2.25. Các khuôn mặt được mô tả bởi thuật toán Eigenfaces 47

Hình 2.26. Ảnh khuôn mặt biểu diễn bởi thuật toán Fisherfaces 51

Hình 2.27. Biểu đồ đánh giá về tỉ lệ nhận dạng của phương pháp Eigenfaces và
phương pháp Fisherfaces trên cơ sở dữ liệu AT & T Facedatabase 52

Hình 2.28. Mô tả toán tử LBP 53

Hình 2.29. Toán tử LBP mở rộng (ELBP) 54

Hình 2.30. Biểu diễn khuôn mặt với thuật toán LBP 55


Hình 3.1. Thuật toán thực hiện của chương trình nhận dạng trên Raspi 58

Hình 3.2. Ô vuông màu đỏ đánh dấu khuôn mặt được phát hiện 64
Hình 3.3. Khuôn mặt sau khi tiền xử lý 65

Hình 3.4. Ảnh khuôn mặt được phát hiện cùng với đôi mắt 68

Hình 3.5. Quá trình tiền xử lý khuôn mặt 71

Hình 3.6. Hai nửa khuôn mặt được cân bằng một cách riêng biệt 73

Hình 3.7. Mặt nạ hình eclipse để loại bỏ các phần dư thừa khác 76

Hình 3.8. Ảnh hoàn thiện sau quá trình tiền xử lý khuôn mặt 77

Hình 3.9. Thuật toán thu thập ảnh, lưu cơ sở dữ liệu trên PC 78

Hình 3.10. Tập huấn luyện đã được xử lý và dán nhãn tự động 79

Hình 3.11. Ảnh tái tạo khuôn mặt 84

Hình 3.12. Mô hình thiết kế hệ thống máy chủ Webserver thời gian thực để điều
khiển thiết bị và điều khiển vào ra. 85
Hình 3.13. Hệ thống nhận điện khuôn mặt trên Raspberrypi 87

Hình 3.14. Giao diện chương trình hoạt động trên iPad 88

Hình 3.15. Giao diện điều khiển 88


Hình 3.16. Chức năng thêm thiết bị 89

Hình 3.17. Giao diện điều khiển vào ra (nhận dạng và chứng thực) 89

Hình 3.18. Chứng thực không thành công 90

xii

Hình 3.19. Một số người dùng khác (1) 90

Hình 3.20. Một số người dùng khác (2) 91

Hình 3.21. Lịch sử nhận dạng và xác thực 91

Hình 3.22. Bảng điều khiển 92




xiii

DANH SÁCH CÁC BẢNG
Bảng Trang
Bảng 3.1. Các vùng tìm kiếm mắt tốt nhất đối với các bộ phát hiện khuôn mặt khác
nhau 67

Bảng 3.2. So sánh độ tin cậy và tốc độ giữa các bộ phát hiện đôi mắt 68










Trang 1


CHƯƠNG 1
TỔNG QUAN
1.1 Tổng quan về ngôi nhà thông minh [1]
Trong nhiều năm khoảng thế kỷ 19, ngôi nhà thông minh đã là một trong
những nét đặt trưng trong các tác phẩm khoa học viễn tưởng, nhưng nó đã
dần trở thành hiện thực kể từ những năm đầu của thế kỷ 20 là khi các sản
phẩm điện gia dụng được sản xuất hàng loạt và từ khi công nghệ thông tin
bùng nổ mạnh mẽ [2, 3].
Các ý tưởng cho các hệ thống cho ngôi nhà tự động bắt nguồn từ Hội chợ
thế giới vào những năm 1930 như hội chợ ở Chicago (1930), New York
(1939)[4]. Năm 1966, Jim Sutherland, một kỹ sư làm việc cho
Westinghouse Electric, đã phát triển hệ thống nhà tự động có tên gọi là
“ECHO IV”, đây là dự án riêng của ông và không được thương mại hóa.
Ngôi nhà đầu tiên “wired home” được xây dựng vào những năm 1960 bởi
một người Mỹ có sở thích đặc biệt, nhưng nó bị giới hạn bởi công nghệ lúc
bấy giờ. Thuật ngữ “smart home” đã được đưa ra bởi Hiệp hội Nhà ở của
Mỹ vào năm 1984 [3].
Ngày nay, ngôi nhà thông minh đã là khái niệm khá phổ biến. Ngôi nhà
thông minh có thể hiểu là ngôi nhà sử dụng các thiết bị điện tử tự động
hoàn toàn hoặc bán tự động thay thế con người trong việc quản lý, điều
khiển các thiết bị có trong ngôi nhà. Đèn tự động bật sáng khi có người

bước vào phòng, tự động sưởi ấm, đánh thức chủ nhà và trước đó đã pha
sẵn cà phê, vòi nước tự động xả và ngắt, điều khiển hệ thống điện trong
ngôi nhà từ xa, quản lý, và theo dõi được năng lượng tiêu thụ…đó là những
tiện ích của ngôi nhà thông minh [5].
Trang 2


a) Tòa nhà năng lượng mặt trời - Dubai, b) Nhà máy nước ngọt hình bong bóng - Tây Ban Nha,
c) Tòa nhà One & Ortakoy – Istanbul, d) Tháp nước ngọt chọc trời - Sudan
Hình 1.1. Các tòa nhà thông minh nổi tiếng trên thế giới
Tại Việt Nam hiện nay, không còn khó để nhìn thấy những tòa nhà sử dụng
các thiết bị thông minh từ các trung tâm thương mại, các tòa nhà lớn đến
các hộ gia đình. Một số tòa nhà thông minh nổi bật tại Việt Nam trong thời
gian qua đó là Tòa nhà VTC online (Hai Bà Trưng, Hà Nội), Petro
Vietnam Tower (Lê Duẩn – TpHCM) hay Bitexco Financial Tower (Quận
1 – TpHCM), Keangnam Hanoi Landmark Tower (Từ Liêm – Hà Nội).
Các thiết bị và hệ thống cho tòa nhà thông minh hiện nay tại Việt Nam
phần lớn là do các hãng nước ngoài cung cấp như Siemens (Đức),
Schneider (Pháp), TAC (Mỹ), Nara controls (Hàn Quốc), Mitshubishi
(Nhật) và chỉ có BKAV Smarthome là công ty Việt nam duy nhất sản xuất
thiết bị này. Tuy nhiên khoảng 50% các thiết bị này vẫn phần lớn hoạt
Trang 3

động một cách độc lập, các bộ điều khiển không trao đổi thông tin với
nhau, không có quản lý và giám sát chung [1]. Nếu có các hệ thống xử lý
trung tâm thì hiện nay nó vẫn chưa đem lại tính đột phá, thiếu giao thức kết
nối chung [3], kích thước vẫn còn cồng kềnh, giá thành đắt (từ vài chục
đến vài trăm triệu), khả năng tương tác giữa người và hệ thống chưa linh
hoạt, chi phí bảo trì cao, chưa có khả năng tự động phân biệt người dùng.


Hình 1.2. Mô hình và hình ảnh thực tế của Raspberry Pi
Ngày nay, với phát triển mạnh mẽ của hệ thống nhúng, sự ra đời của các
kít xử lý nhúng Linux với kích thước nhỏ gọn (bằng với thẻ tín dụng), giá
thành rẻ, hiệu năng cao, tiết kiệm điện mà điển hình là kit Raspberry Pi
(Hình 1.2) – phiên bản đầu tiên được thương mại hóa vào ngày 29/2/2012
với giá thành là 35USD cho phiên bản B [6], đã làm thay đổi cách nhìn về
một trung tâm xử lý cho tòa nhà thông minh. Với Raspberry Pi, ta có thể dễ
dàng thực hiện trung tâm xử lý theo nhiều phương pháp với các giao thức
điều khiển như X10, Z-wave, Zigbee hay C-Bus [7] để có thể tương thích
với các hệ thống cũ của các hãng khác. Có thể tích hợp các công nghệ hiện
đại như điện thoại IP, Email, SMS, nhận dạng giọng nói [7], nhận dạng vân
tay, nhận dạng khuôn mặt, dễ dàng tích hợp thành hệ thống máy chủ lưu
trữ dữ liệu như MySQL [8], MongoDB [9], REDIS [10].
Trang 4

1.2 Mục đích của đề tài
Như trình bày ở mục 1.1, các thiết bị sản xuất phục vụ cho ngôi nhà thông
minh thường là ở dạng hoạt động độc lập sẽ khó khăn trong việc quản lý,
còn đối với dự án cho các tòa nhà lớn sẽ có bộ quản lý tập trung (chẳn hạn
như BMS, BACnet/EIB, LONMARK) sẽ được lợi về mặt quản lý, nhưng
lại có giá thành rất cao so với hệ thống tương đương ở dạng điều khiển trực
tiếp (thường đắt hơn ít nhất là 3 lần). Sở dĩ các hệ thống có bộ quản lý tập
trung có giá thành cao như vậy là một mặt do cơ sở hạ tầng thiết bị tương
thích với hệ thống có giá thành cao, mặt khác chi phí vận hành, bảo trì, bảo
dưỡng cũng tốn một khoảng đáng kể. Do đó, nếu tính với hạn sử dụng là
10 năm thì sẽ không có lợi về tài chính và đầu tư. Chẳng hạn, hiện tại công
ty GAMMA thực hiện thi công nhiều dự án hệ thống BMS cho các biệt
thự, căn hộ cao cấp với chi phí từ 15.000$ cho đến 68.000$ tùy theo từng
mức độ của công trình. Vì lý do đó, nên mục tiêu đề tài của tôi đó chính là
Xây dựng được bộ xử lý trung tâm cho tòa nhà thông minh

sao cho chi
phí thấp nhất về sản phẩm thiết bị cũng như về bảo trì bảo dưỡng mà vẫn
đảm bảo các tiêu chí của một hệ thống tòa nhà thông minh.
1.3 Nhiệm vụ và giới hạn của đề tài
Mô hình tòa nhà thông minh có nhiều chức năng với nhiều mục đích khác
nhau tùy theo nhu cầu sử dụng của chủ căn nhà. Các chức năng của một tòa
nhà thông minh bao gồm như: an ninh (kiểm soát vào ra, báo cháy/báo
trộm, rò rỉ gas…), điều hòa không khí, tiết kiệm năng lượng, hệ thống
chiếu sáng, hệ thống bơm nước, hệ thống nghe nhìn, truyền thông đa
phương tiện…. Tuy nhiên, với những tiêu chí đặt ra ở trên, dưới góc độ
nghiên cứu, đồng thời đảm bảo thời gian hoàn thành luận văn, trong nhiệm
vụ và giới hạn đề tài, tôi sẽ chỉ thực hiện một số chức năng đặc biệt như
kiểm soát vào ra dùng công nghệ nhận dạng khuôn mặt (phân biệt và
Trang 5

chứng thực người dùng) và ứng dụng kết hợp với lập trình điều khiển thiết
bị trên nền web thời gian thực và tất cả được thực hiện trên kit Raspberry
Pi.
1.4 Phương pháp nghiên cứu
Để thực hiện đề tài này với nhiệm vụ đề ra, tôi cần kết hợp hai phương pháp sau:


Phương pháp nghiên cứu lý thuyết: Tổng hợp tài liệu, lựa chọn phương
pháp trong xử lý ảnh. Nghiên cứu các thuật toán phát hiện khuôn mặt,
nhận diện khuôn mặt có thể thực hiện trên hệ thống nhúng linux.
Nghiên cứu phương pháp xây dựng máy chủ web điều khiển thiết bị
theo thời gian thực. Trên cơ sở lý thuyết, tiến hành phân tích đánh giá,
và đưa ra giải pháp thích hợp cho việc thực thi trên hệ thống.



Thực thi trên phần cứng Linux: tiến hành viết chương trình nhận diện
khuôn mặt, điều khiển qua nền web, tương tác với người dùng trên hệ
thống nhúng linux.






Trang 6


CHƯƠNG 2
CƠ SỞ LÝ THUYẾT
2.1 Cơ sở lý thuyết về trung tâm xử lý cho tòa nhà thông minh
2.1.1 Mô hình tổng quan
Tòa nhà thông minh liên quan đến việc xây dựng và tích hợp hệ thống với
những công nghệ tiên tiến. Các hệ thống này bao gồm việc tự động hóa tòa
nhà, an ninh, an toàn, viễn thông, hệ thống người dùng (hệ thống nghe
nhìn, truyền thông đa phương tiện) và các hệ thống quản lý cơ sở khác. Tòa
nhà thông minh phản ánh những tiến bộ và sự hội tụ công nghệ. Nó cung
cấp thông tin về hoạt động của tòa nhà hoặc không gian bên trong cho phép
chủ tòa nhà hoặc người cư ngụ ở đó quản lý toàn bộ tòa nhà hoặc một vùng
không gian nào đó.
Với thiết kế và xây dựng theo kiểu truyền thống, thì tòa nhà được thiết kế,
lắp đặt và vận hành theo từng hệ thống riêng biệt (Hình 2.1). Với thiết kế
như vậy sẽ làm tốn kém về chi phí và giá thành, hệ thống cồng kềnh và khó
khăn trong việc quản lý.
Với cách tiếp cận khác, thì toàn bộ sẽ được quản lý bằng một hệ thống
trung tâm. Khi đó các thiết bị sẽ được điều khiển thông qua các giao thức

kết nối chung (Hình 2.2). Tuy nhiên, mỗi thiết bị của mỗi hãng sản xuất có
giao thức điều khiển riêng cho từng hãng [11], còn đối với những hệ thống
có chuyển đổi giao thức thì giá thành đắt. Đây cũng là yếu tố ảnh hưởng
đến giá thành đầu tư và xây dựng tòa nhà thông minh.
Trang 7


Hình 2.1. Hệ thống quản lý riêng lẻ của tòa nhà thông minh
Trang 8


Hình 2.2. Hệ thống điều khiển tích hợp

Trang 9

2.1.2 Một số chức năng cơ bản của tòa nhà thông minh
2.1.2.1 Hệ thống điều hòa không khí (HVAC)
HVAC là hệ thống duy trì khí hậu trong một tòa nhà. Nói cách khác, hệ
thống HVAC kiểm soát nhiệt độ, độ ẩm, lưu lượng không khí, và chất
lượng không khí tổng thể của tòa nhà. Một hệ thống HVAC cơ bản sẽ lấy
không khí từ bên ngoài hòa trộn với không khí thoát ra từ hệ thống hay các
bộ lọc không khí, rồi đưa nó thông qua một hệ thống sưởi hoặc làm mát
đến một nhiệt độ cần thiết, sau đó phân phối không khí lại vào các khu
khác nhau của một tòa nhà.
Hệ thống HVAC không chỉ làm cho người sống trong tòa nhà cảm thấy
thoải mái, mà nó còn chi phối một phần đáng kể trong việc sử dụng năng
lượng và chi phí liên quan đến tòa nhà.
Trong việc duy trì chất lượng không khí của tòa nhà, hệ thống HVAC phải
đáp ứng một loạt các điều kiện bên trong và bên ngoài tòa nhà (bao gồm cả
thời tiết, thời gian trong ngày và các loại không gian khác nhau bên trong

một tòa nhà), trong khi đó nó vẫn đồng thời tối ưu hóa hoạt động và năng
lượng sử dụng liên quan.
Hệ thống HVAC cũng rất quan trọng trong trường hợp có hỏa hoạn. Hệ
thống HVAC trong tòa nhà thương mại và nhà ở là rất khác nhau. Các tòa
nhà lớn có mật độ người lớn hơn, ánh sáng và các thiết bị khác cũng nhiều
hơn so với nhà ở, tất cả những thứ này đều tạo ra và sinh nhiệt nhiều hơn.
Kết quả là việc điều hòa không khí là trở nên quan trọng hơn là việc cung
cấp nhiệt (sưởi) và tùy thuộc vào khi hậu ở khu vực đó.

Trang 10

2.1.2.2 Kiểm soát vào ra
Tầm quan trọng của hệ thống kiểm soát vào ra đã tăng lên cùng với an ninh
cho các tòa nhà. Hệ thống kiểm soát vào ra được xây dựng hoạt động cơ
bản để một người có thể quẹt thẻ vào đầu đọc để cánh cửa có thể mở ra
bằng cách dựa trên thông tin trên thẻ và các thông số của hệ thống cho
người đó, cho cánh cửa và các bộ phận khác, hệ thống hoặc sẽ mở cửa để
cho phép người đi qua hoặc bị từ chối.
Ta có thể áp dụng việc này cho các khu vực khác cần được kiểm soát như
nhà xe hay thang máy. Hệ thống kiểm soát vào ra cũng rất quan trọng cho
sự an toàn và nó thường giao tiếp với các hệ thống báo cháy để tạo ra khả
năng thoát hiểm trong quá trình di tản.
Hệ thống kiểm soát vào ra phải liên kết hoặc tích hợp với một số hệ thống
khác trong tòa nhà thông minh (camera giám sát, HVAC, và những thứ
khác) cũng như chia sẻ dữ liệu với các hệ thống khác như quản lý nhân
viên hay khách mời tham dự.
2.1.2.3 Điều khiển ánh sáng và tiết kiệm năng lượng
Cảm biến tự động sẽ đơn giản hóa đến mức tối đa các thao tác điều khiển
đối với hệ thống chiếu sáng, điều hòa, rèm cửa tại các phòng
Từ sáng tới chiều, rèm cửa tự động đóng mở theo thời gian hoặc thời tiết,

đèn chiếu sáng tự động bật khi có người và tự động tắt khi không còn ai sử
dụng. Giữa trưa rèm cửa tự động đóng lại nhằm hạn chế ánh năng chiếu
trực tiếp vào nhà và đồng thời cũng tiết kiệm năng lượng cho hệ thống điều
hòa.
Trang 11

Ánh sáng tại các khu vực công cộng như hành lang, cầu thang, sân vườn,
tường rào, nhà vệ sinh sẽ được điều khiển theo những cách thức phù hợp
sao cho đảm bảo tính tiện nghi, thuận tiện và tiết kiệm nhất đối với người
sử dụng.
Việc tắt đèn chiếu sáng và điều hòa ở các khu vực không có người sử dụng,
việc đóng cửa sổ khi trời nắng, việc quản lý giám sát chung toàn bộ hệ
thống bằng nhiều phương thức như màn hình cảm ứng, máy tính, điện
thoại, điều khiền từ xa sẽ giúp ta giảm bớt được rất nhiều năng lượng tiêu
hao không cần thiết
2.1.3 Các giao thức sử dụng cho tòa nhà thông minh hiện tại
Có rất nhiều loại giao thức khác nhau để các thiết bị liên lạc với bộ điều
khiển. Có giao thức dùng dây, có giao thức dùng không dây, và cũng có sự
kết hợp giữa có dây và không dây. Dưới đây là một số loại giao thức
thường được dùng trong mô hình tòa nhà thông minh:
2.1.3.1 X10
X10 là chuẩn đã tồn tại lâu đời nhất so với các công nghệ nhà tự động
khác. X10 hoạt động thông qua đường dây điện có sẵn của ngôi nhà nên có
rất nhiều vấn đề liên quan đến khoảng cách của đường dây như sự sai pha,
và các tạp âm của đường truyền Rất nhiều người tin rằng công nghệ X10
đã trở nên lạc hậu vì X10 rất khó cấu hình và đôi khi hoạt động của nó
cũng rất là bất thường và do đó cần được thay thế bởi công nghệ mới hơn
và linh hoạt hơn bằng công nghệ không dây.

Trang 12


2.1.3.2 UPB
UPB (Universal Powerline Bus) giống với X10, nó sử dụng các đường dây
điện có sẵn để truyền tải các tín hiệu điều khiển cho tòa nhà. Nó được phát
triển để khắc phục những nhược điểm thiếu xót của công nghệ X10, UPB
là công nghệ sử dụng đường dây diện vượt trội hơn X10 nhưng không
tương thích với X10, nếu ta có các sản phẩm tương thích với X10 và muốn
UPB và các thiết bị X10 làm việc với nhau thì cần có bộ điều khiển phải
tương thích với cả 2 công nghệ. Và vấn đề cần phải xem xét nữa đó là giá
thành của thiết bị UPB rất đắt.
2.1.3.3 INSTEON
INSTEON được thiệt kế để kết nối tòa nhà tự động không dây với tòa nhà
tự động dựa trên đường dây điện. INSTEON cũng tương thích với X10, do
đó nó bổ sung thêm khả năng kết nối không dây với mạng X10 hiện tại.
Với công nghệ INSTEON, những người không có kỹ thuật nghiệp vụ cũng
có thể thiết lập và thêm các thiết bị vào hệ thống.
2.1.3.4 Z-Wave
Z-Wave là công nghệ tự động hóa ngôi nhà không dây đầu tiên, Z-Wave
đặt tiêu chuẩn cho nhà tự động không dây. Z-wave mở rộng phạm vi sử
dụng của ngôi nhà tự động bằng cách làm cho tất cả các thiết bị được nhân
đôi lên như là một bộ lặp. Các thiết bị Z-wave được thiết kế để dễ dàng
thiết lập và sử dụng và nó được xem như là chìa khóa trao tay cho ngành
công nghiệp tự động hóa nhà ở, đặc biệt là rất hữu ích cho những ai bắt đầu
đam mê lĩnh vực này.

Trang 13

2.1.3.5 ZigBee
Giống với Z-Wave, Zigbee thực sự là công nghệ dành cho tòa nhà tự động.
Tuy nhiên, công nghệ này không được những người đam mê công nghệ

hưởng ứng nhanh chóng vì các thiết bị ZigBee thường gặp khó khăn trong
vấn đề giao tiếp với các thiết bị được tạo ra bởi các nhà sản xuất khác.
Zigbee không được khuyến khích cho những người mới bắt đầu để tự động
hóa ngôi nhà trừ khi họ có ý định sử dụng các thiết bị có chung nhà sản
xuất.
2.1.4 Lựa chọn giao thức
Để xây dựng trung tâm xử lý cho tòa nhà thông minh, trước tiên ta cần có
một giao thức để sử dụng trong việc giao tiếp giữa trung tâm với các
điểm/nút (thiết bị) cần điều khiển hoặc truy vấn thông tin của các điểm/nút
đó. Như trình bày ở mục 2.1.3, có rất nhiều giao thức được sử dụng, mỗi
giao thức đều có ưu điểm và nhược điểm riêng của nó. Nhưng nhìn chung
thì Zigbee là giao thức truyền không dây mạnh mẽ nhất. Nó có ưu điểm
vượt trội hơn nhiều loại giao thức khác như Zigbee ©Pro có thể truyền xa
lên đến 1km, nhưng lại tiêu tốn nhiều năng lượng rất ít.
Tuy nhiên với các giao thức trên, các thiết bị điều khiển cần được xây dựng
phần cứng cũng như thiết kế phần mềm riêng biệt, dẫn đến khó khăn trong
việc tương thích khi mở rộng và làm tăng giá thành sản xuất (do phải thiết
kế phần mềm riêng). Giao thức điều khiển qua mạng dựa trên ngôn ngữ lập
trình web động và webserver với Websocket mà điển hình là Socket.IO cho
phép ta dễ dàng truy xuất điều khiển và giám sát hệ thống quản lý theo thời
gian thực một cách linh động, mọi lúc mọi nơi trên mọi thiết bị di động
như máy tính PC, laptop, máy tính bảng hay điện thoại di động miễn là có
Trang 14

kết nối mạng ethernet hay internet thông qua trình duyệt web. Hình 2.3 mô
tả mô hình điều khiển hệ thống thông qua Socket.IO

Hình 2.3. Mô hình điều khiển tòa nhà thông minh dựa trên socket.io
2.1.5 Socket.IO
Socket.IO là giao thức điều khiển trên nền web (HTTP). Thông thường thì

HTTP là một giao thức phi trạng thái (Hình 2.4). Có nghĩa một trình duyệt
web sẽ kết nối với một máy chủ web để truy xuất nội dung và sau đó đóng
kết nối. Điều này gây khó khăn với ứng dụng web có nội dung động.

Hình 2.4. Truyền thông phi trạng thái
Trang 15

Các giải pháp ban đầu sử dụng công nghệ được gọi là Comet. Đây là công
nghệ sử dụng iFrame hay JavaScript, nó truy vấn liên tục (long poling) để
cập nhật lại nội dung của trang web (Hình 2.5). Tuy nhiên với giao thức
như vậy thì không đảm bảo cho các ứng dụng đòi hỏi thời gian thực. Vì khi
có sự kiện nào đó xảy ra trên server, mà client không đòi hỏi hay yêu cầu
thì sự kiện đó có thể bị bỏ qua dù quan trọng hay không.

Hình 2.5. Truy vấn liên tục của client (Long Polling)
Socket.IO ra đời nhằm khắc phục tình trạng trên. Đây là giao thức truyền
thông hai chiều giữa client và server. Về cơ bản, Socket.IO sẽ sử dụng giao
thức TCP thay cho HTTP, nhưng nó có thể tự động lựa chọn giao thức tốt
nhất hiện có giữa client và server. Nguyên lý của giao thức này được mô tả
ở Hình 2.6.

Hình 2.6. Giao thức truyền thông theo thời gian thực với Socket.IO
Trang 16

2.1.6 Mô hình điều khiển vào ra dựa trên Socket.IO
Như trình bày trong nhiệm vụ và giới hạn đề tài, mô hình tòa nhà thông
minh có nhiều chức năng (Hình 2.2). Tuy nhiên dưới góc độ nghiên cứu và
đảm bảo thời gian hoàn thành luận văn, tôi chỉ thực hiện xây dựng chức
năng kiểm soát vào ra trên mô hình điều khiển với Socket.IO.
Như giới thiệu ở mục 2.1.2.2, hệ thống kiểm soát vào ra cơ bản sử dụng thẻ

từ để quản lý, tuy nhiên ngoài ra nó còn đòi hỏi liên kết với hệ thống
camera giám sát để đảm bảo xác thực người dùng và an ninh hơn.

Hình 2.7. Mô hình kiểm soát vào ra dựa trên socket.io
Từ những tiêu chí đó, câu hỏi đặt ra tại sao ta không tích hợp việc kiểm
soát vào ra với việc chứng thực bằng cách nhận dạng khuôn mặt người
dùng thay vì dùng thẻ từ, hoặc cả hai để đảm bảo an ninh cũng như có thể
biết và kiểm soát được người ra vào một cách rõ ràng hơn. Hình 2.7 mô tả
Trang 17

tổng quan mô hình kiểm soát vào ra với chức năng nhận dạng khuôn mặt,
điều khiển giám sát qua giao thức Socket.IO trên mô hình client và server.

2.2 Cơ sở lý thuyết về xử lý ảnh
Trong đề tài này, với mục đích nghiên cứu xây dựng hệ thống điều khiển
vào ra cho tòa nhà thông minh dựa trên việc nhận dạng khuôn mặt thì đòi
hỏi ta phải có nắm vững lý thuyết về xử lý ảnh cũng như các thuật toán về
nhận dạng khuôn mặt. Trong chương này, tôi sẽ giới thiệu cơ sở lý thuyết
cần có để thực hiện đề tài này.
2.2.1 Ảnh số
Một ảnh có thể được định nghĩa là một hàm hai chiều


,
f x y
trong đó
,
x y

là tọa độ không gian (mặt phẳng). Giá trị của

f
tại điểm


,
x y
được gọi là
độ sáng của ảnh tại điểm đó. Với ảnh màu, thì
f
là vector mà mỗi thành
phần của nó sẽ chỉ thị độ sáng của ảnh tại điểm đó tương ứng với dải màu
[12].
Khi
,
x y
và độ sáng của ảnh có giá trị hữu hạn và rời rạc thì ảnh đó được
gọi là ảnh số và giá trị độ sáng lúc này được gọi là mức xám (grey level),
còn phần tử tại tọa độ


,
x y
được gọi là điểm ảnh (pixel). Như vậy, một
ảnh số có thể được biểu diễn dưới dạng ma trận điểm ảnh như sau:

 







     
     
0,0 0,1 0, 1
1,0 1,1 0, 1
,
1,0 1,1 1, 1
f f f N
f f f N
f x y
f N f N f N N
  
 

 

 
 
   
 
 


   

(2.1)

×