1. Trang chủ
  2. » Tất cả

Thiết kế, xây dựng hệ thống nhà thông minh

60 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế, Xây Dựng Hệ Thống Nhà Thông Minh
Tác giả Nhóm Tác Giả
Người hướng dẫn TS. Nguyễn Ngọc Minh
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Kỹ Thuật Điện - Điện Tử
Thể loại Đồ Án Thiết Kế Hệ Thống Nhúng
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 60
Dung lượng 2,01 MB

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

Cấu trúc

  • CHƯƠNG I. TỔNG QUAN VỀ HỆ THỐNG NHÀ THÔNG MINH (7)
    • 1.1. Định nghĩa nhà thông minh (7)
    • 1.2. Tiêu chuẩn cho ngôi nhà thông minh (7)
  • CHƯƠNG II. ĐỀ XUẤT GIẢI PHÁP XÂY DỰNG HỆ THỐNG TƯƠNG TÁC THÔNG MINH TRONG NHÀ THÔNG MINH (9)
    • 2.1. Thuyết minh ý tưởng (9)
      • 2.1.1. Mô hình hệ thống (9)
      • 2.1.2. Các tính năng của hệ thống (10)
    • 2.2. Giới thiệu các linh kiện sử dụng trong đề tài (10)
      • 2.2.1. ESP8266 (10)
      • 2.2.2. Adruino Uno (12)
      • 2.2.3. DHT11 (14)
      • 2.2.4. Động cơ 5V DC (15)
      • 2.2.5. Module L298N (16)
      • 2.2.6. Quạt tản nhiệt 5V (17)
  • CHƯƠNG III. XÂY DỰNG HỆ THỐNG PHẦN MỀM TƯƠNG TÁC THÔNG MINH, HỖ TRỢ GIAO TIẾP, THEO DÕI, ĐIỀU KHIỂN TỪ XA CÁC THIẾT BỊ (19)
    • 3.1 Giới thiệu về Home Assistant (19)
    • 3.2 Các tính năng chính của hệ thống (21)
    • 3.3 Cấu trúc của hệ thống phần mềm (22)
  • CHƯƠNG IV. XÂY DỰNG HỆ THỐNG NHẬN DẠNG KHUÔN MẶT (25)
    • 4.1. Hệ thống nhận dạng khuôn mặt (25)
      • 4.1.1. Tìm hiểu về hệ thống nhận diện khuôn mặt (25)
      • 4.1.2. Tìm hiểu về phương pháp phát hiện và nhận diện khuôn mặt sử dụng HAAR-LIKE và LBPH (28)
      • 4.1.3. Xây dựng chương trình thu thập ảnh từ camera (41)
    • 4.2. Tìm hiểu về Convolutional Neural Network (CNN) (43)
      • 4.2.1. Convolutional Neural Network (44)
    • 5.1. Hoàn thiện hệ thống phần cứng (53)
    • 5.2. Điều khiển thiết bị qua GPIO của Arduino Uno (53)
    • 5.3. Điều khiển thiết bị qua MQTT (57)
  • CHƯƠNG VI. KẾT LUẬN (59)
  • TÀI LIỆU THAM KHẢO (60)

Nội dung

- Xây dựng hệ thống phần mềm tương tác thông minh, theo dõi, điều khiển từ xa các thiết bị - Xây dựng hệ thống nhận diện khuôn mặt... TỔNG QUAN VỀ HỆ THỐNG NHÀ THÔNG MINH Nhà thông mi

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA KĨ THUẬT ĐIỆN - ĐIỆN TỬ

========================

BÁO CÁO ĐỒ ÁN MÔN: ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG

TÊN ĐỀ TÀI: THIẾT KẾ, XÂY DỰNG HỆ THỐNG NHÀ THÔNG MINH

Trang 2

MỤC LỤC

DANH MỤC CÁC HÌNH ẢNH 4

LỜI NÓI ĐẦU 6

CHƯƠNG I TỔNG QUAN VỀ HỆ THỐNG NHÀ THÔNG MINH 7

1.1 Định nghĩa nhà thông minh 7

1.2 Tiêu chuẩn cho ngôi nhà thông minh 7

CHƯƠNG II ĐỀ XUẤT GIẢI PHÁP XÂY DỰNG HỆ THỐNG TƯƠNG TÁC THÔNG MINH TRONG NHÀ THÔNG MINH 9

2.1 Thuyết minh ý tưởng 9

2.1.1 Mô hình hệ thống 9

2.1.2 Các tính năng của hệ thống 10

2.2 Giới thiệu các linh kiện sử dụng trong đề tài 10

2.2.1 ESP8266 10

2.2.2 Adruino Uno 12

2.2.3 DHT11 14

2.2.4 Động cơ 5V DC 15

2.2.5 Module L298N 16

2.2.6 Quạt tản nhiệt 5V 17

CHƯƠNG III XÂY DỰNG HỆ THỐNG PHẦN MỀM TƯƠNG TÁC THÔNG MINH, HỖ TRỢ GIAO TIẾP, THEO DÕI, ĐIỀU KHIỂN TỪ XA CÁC THIẾT BỊ 19

3.1 Giới thiệu về Home Assistant 19

3.2 Các tính năng chính của hệ thống 21

3.3 Cấu trúc của hệ thống phần mềm 22

CHƯƠNG IV XÂY DỰNG HỆ THỐNG NHẬN DẠNG KHUÔN MẶT 25

4.1 Hệ thống nhận dạng khuôn mặt 25

4.1.1 Tìm hiểu về hệ thống nhận diện khuôn mặt 25

4.1.2 Tìm hiểu về phương pháp phát hiện và nhận diện khuôn mặt sử dụng HAAR-LIKE và LBPH 28

4.1.3 Xây dựng chương trình thu thập ảnh từ camera 41

4.2 Tìm hiểu về Convolutional Neural Network (CNN) 43

4.2.1 Convolutional Neural Network 44

Trang 3

CHƯƠNG V TÍCH HỢP HỆ THỐNG GIAO TIẾP TRONG NHÀ THÔNG MINH

53

5.1 Hoàn thiện hệ thống phần cứng 53

5.2 Điều khiển thiết bị qua GPIO của Arduino Uno 53

5.3 Điều khiển thiết bị qua MQTT 57

CHƯƠNG VI KẾT LUẬN 59

TÀI LIỆU THAM KHẢO 60

Trang 4

DANH MỤC CÁC HÌNH ẢNH

Hình 1.1: Mô hình nhà thông minh 7

Hình 1.2 Nhà thông minh xu hướng tương lai 8

Hình 2.1 Mô hình nhà thông minh 10

Hình 2.2 Module ESP8266 11

Hình 2.3 Hình ảnh sơ đồ chân ESP8266 11

Hình 2.4 Module Adruino Uno 12

Hình 2.5 Hình ảnh sơ đồ chân Adruino Uno 13

Hình 2.6 Cảm biến DHT11 14

Hình 2.7 Động cơ mini 5V DC 15

Hình 2.8 Hình ảnh Module L298N 16

Hình 2.9 Hình ảnh sơ đồ chân Module L298N 16

Hình 2.10 Hình ảnh quạt tản nhiệt 5V 17

Hình 3.1 Home Assistant Platform 20

Hình 3.2 Home Assistant 21

Hình 3.3 Chức năng của Home Assistant 22

Hình 3.4 Cấu trúc hệ thống 23

Hình 3.5 Giao diện Home Assistant 24

Hình 4.1 Thuật toán nhận dạng khuôn mặt 25

Hình 4.2 Khuôn mặt được nhận dạng 26

Hình 4.3 Ảnh sau khi được xử lý 28

Hình 4.4 Một số phân vùng đặc trưng Haar-Like 29

Hình 4.5 Bốn đặc trưng Haar-Like cơ bản 29

Hình 4.6 Đặc trưng cạnh (edge feature) 30

Hình 4.7 Đặc trưng đường (line feature) 30

Hình 4.8 Đặc trưng xung quanh tâm (center-surround feature) 30

Hình 4.9 Bộ phận loại yếu đặc trưng Haar-Like theo mô hình phân tầng 32

Hình 4.10 Minh họa kết hợp các bộ phân loại yếu thành bộ phân loại mạng 33

Hình 4.11 Hình ảnh sơ đồ nhận diện khuôn mặt 33

Hình 4.12 Ví dụ về LBP và độ tương phản cục bộ C 34

Hình 4.13 Tập hợp các điểm xung quanh Ptt 35

Trang 5

Hình 4.14 Các biến thể của LBP LBP đồng dạng 36

Hình 4.15 Bảng thống kê các mẫu của unifo LBP 37

Hình 4.16 Minh họa các trường hợp của LBP khi quay với góc 15 độ 38

Hình 4.17 Ví dụ về quá trình tính toán đặc trưng 41

Hình 4.18 Mô hình mô tả quá trình thu thập ảnh từ camera 41

Hình 4.19 Mô hình thuật toán mạng nơron tích chập (CNN) 44

Hình 4.20 Xử lý dữ liệu đầu vào với mô hình CNN 45

Hình 4.21 Ảnh sau khi xử lý ở layer 46

Hình 4.22 Quá trình huấn luyện CNN 47

Hình 4.23 Quá tình huấn luyện với CNN 51

Hình 5.1 Mô hình nhà thông minh 53

Hình 5.2 Sơ đồ kết nối esp8266 và arduino uno 55

Trang 6

LỜI NÓI ĐẦU

Ngày ngay trên thế giới với sự bùng nổ của các ngành công nghệ thông tin, điện tử v.v… đã làm cho đời sống của con người được nâng cao Và từ những nhu cầu thực tế đó

ý tưởng về ngôi nhà thông minh hình thành Một ngôi nhà chứa đựng sự ấm áp yêu thương, mọi hoạt động của con người điều được hỗ trợ và giúp đỡ một cách linh hoạt, không những giúp đỡ mà ngôi nhà còn được quản lý một cách thông minh Với sự phát triển một cách nhanh chóng của ngành điện tử cũng như nhiều ngành khác thì ý tưởng về ngôi nhà thông minh đã được đưa vào thực tế Việc điều khiển nhà thông minh thông qua Smartphone tạo nên bước ngoặc lớn trong việc điều khiển tự động, không dây một cách linh hoạt, có thể nói sự phát triển không ngừng của những chiếc Smartphone đã làm cho công nghệ thêm bước tiến, việc điều khiển dễ dàng hơn Từ ý tưởng đó chúng em đã nghiên cứu đề tài “THIẾT KẾ, XÂY DỰNG MÔ HÌNH NHÀ THÔNG MINH” để đáp ứng phần nào trong cuộc sống mọi người Việc điều khiển các thiết bị trong nhà bằng Smartphone Một ngôi nhà thông minh cần có sự tiện nghi trong gia đình và tính bảo mật cao Chúng em kết hợp nhận diện khuôn mặt các thành viên trong gia đình để làm bảo mật ngội nhà tốt hơn

Trong đề tài nghiên cứu này, nhóm chúng em tài tập chung nghiên cứu:

- Tổng quan về hệ thống nhà thông minh

- Xây dựng hệ thống phần mềm tương tác thông minh, theo dõi, điều khiển từ xa

các thiết bị

- Xây dựng hệ thống nhận diện khuôn mặt

Trang 7

CHƯƠNG I TỔNG QUAN VỀ HỆ THỐNG NHÀ THÔNG MINH

Nhà thông minh (tiếng anh là “Smart Home”) là ngôi nhà được trang bị các hệ thống

tự động thông minh cùng với cách bố trí hợp lý, các hệ thống này có khả năng tự điều phối các hoạt động trong ngôi nhà theo thói quen sinh hoạt và nhu cầu cá nhân của gia chủ Chúng ta cũng có thể hiểu ngôi nhà thông minh là một hệ thống chỉnh thể mà trong

đó, tất cả các thiết bị điện tử gia dụng đều được liên kết với thiết bị điều khiển trung tâm

và có thế phối hợp với nhau để cùng thực hiện một chức năng Các thiết bị này có thể tự đưa ra cách xử lý tình huống được lập trình trước, hoặc là được điều khiển và giám sát từ

xa

Hình 1.1: Mô hình nhà thông minh

Với sự phát triển không ngừng của khoa học hiện đại, con người đã ngày càng nâng cao hơn đời sống hiện tại của mình và luôn mơ ước tới một cuộc sống hiện đại và tiện nghi nhất Chính từ những nhu cầu đó con người đã có rất nhiều sáng tạo phục vụ cho cuộc sống của bản thân họ và cho toàn xã hội.Và ý tưởng cho “ngôi nhà thông minh” cũng xuất phát từ nhu cầu thực tiễn như vậy Những công nghệ phục vụ cho ngôi nhà mơ

Trang 8

ước đã có từ rất lâu nhưng gần đây mới được công bố rộng rãi Có rất nhiều giải pháp cho

hệ thống nhà thông minh nhưng nói chung, tất cả đều hướng đến các tiêu chuẩn sau:

 Tự động hóa hoạt động của ngôi nhà: điều khiển các hệ thống chiếu sáng tự động bật đèn khi trời tối, điều khiển tự động theo dõi giá trị cảm biến để tăng hay giảm nhiệt độ phòng,thu dây phơi quần áo khi trời có mưa,

 Đảm bảo an ninh, an toàn cho ngôi nhà: sử dụng các loại cửa thông minh, mở khóa bằng vân tay hay nhận diện khuôn mặt, tự động cảnh báo, gửi SMS cho gia chủ khi có người lạ đến nhà

 Đem lại sự thoải mái cho người sử dụng: cung cấp các dịch vụ giải trí chất lượng cao thiết bị giải trí đa phương tiện như Tivi, Radio, Film, Music, Camera…

 Cung cấp khả năng giám sát, điều khiển từ xa: giám sát qua máy tính PC, Thiết bị

di động SmartPhone, PDA, Điều khiển thiết bị qua Internet trên giao diện Web

Tăng hiệu suất các hệ thống, giảm điện năng tiêu thụ

Hình 1.2 Nhà thông minh xu hướng tương lai

Trang 9

CHƯƠNG II ĐỀ XUẤT GIẢI PHÁP XÂY DỰNG HỆ THỐNG TƯƠNG TÁC

THÔNG MINH TRONG NHÀ THÔNG MINH

Trong chương này, nhóm nghiên cứu sẽ đề xuất giải pháp xây dựng hệ thống tương tác thông minh trong nhà thông minh Ngoài ra nhóm nghiên cứu cũng sẽ tìm hiểu về thiết

bị có khả năng điều khiển các thiết bị trong nhà từ xa bằng điện thoại smartphone, thiết bị nhận diện khuôn mặt, từ đó lựa chọn phần mềm để xây dựng hệ thống, ứng dụng đáp ứng yêu cầu đặt ra

Trong nhiều năm trở lại đây, cụm từ “nhà thông minh” đã và đang trở nên quen thuộc

và phổ biến Nhà thông minh là ngôi nhà được tích hợp các công nghệ hiện đại, tiên tiến phục vụ cho cuộc sống con người Các thành viên trong nhà có thể điều khiển các thiết bị, theo dõi các thông số cảm biến thông qua các thiết bị thông minh như smarthome, tablet Các thiết bị có thể tự động hóa dựa theo các kịch bản có sẵn

Không chỉ dừng lại ở đó, xu hướng cho nhà thông minh trong những năm tới đây sẽ phát triển và hướng tới đối tượng phục vụ quan trọng nhất là con người Các hệ thống nhà thông minh sẽ xây dựng các tự động hóa dựa theo các đặc tính của mỗi người, mỗi thành viên trong nhà như độ tuổi, giới tính, sở thích, cảm xúc,

Với mục địch nghiên cứu khoa học và tìm hiểu những kiến thức bổ ích về lĩnh vực IOT, cũng như các kĩ năng lập trình, lắp ráp các thiết bị, các ứng dụng thông minh xây dựng hệ thống tương tác thông minh qua ý tưởng trên Nhóm nghiên cứu chúng em đã tham gia nghiên cứu đề tài: “THIẾT KẾ, XÂY DỰNG MÔ HÌNH NHÀ THÔNG MINH”

2.1.1 Mô hình hệ thống

Trang 10

Hình 2.1 Mô hình nhà thông minh

2.1.2 Các tính năng của hệ thống

Các tính năng của hệ thống tương tác thông minh nhà thông minh:

- Điều khiển, theo dõi các thông số môi trường qua giao diện web

- Nhận diện khuôn mặt để mở cửa và thông báo khi có người về nhà

2.2 Giới thiệu các linh kiện sử dụng trong đề tài

2.2.1 ESP8266

Trang 12

Các thông số kỹ thuật:

- Nguồn: 5 VDC cấp qua cổng micro USB hoặc chân Vin

- Soc: ESP8266 Soc

- Chip nạp và console UART: CP2102

- GPIO giao tiếp mức 3.3V

- Ngoại vi tích hợp LED Status, Reset, bộ nhớ Flash

- Tương thích với firmware NodeMCU

- Tương tích với Arduino IDE

Trang 13

Adruino Uno R3 là kit Adruino UNO thế hệ thứ 3, với khả năng lập trình cho các ứng dụng điều khiển phức tạp do được trang bị cấu hình mạnh cho các loại bộ nhớ ROM, RAM và Flash, các ngõ vào ra digital I/O trong đó có nhiều ngõ có khả năng xuất hiện tín hiệu PWM, các ngõ đọc tín hiệu analog và chuẩn giao tiếp dạng như UART, SPI, TWI(I2C)

- Số chân Digital I/O: 14 chân (6 chân hardware PWM)

- Số chân Analog: 6 ( độ phân giải 10bit)

- Dòng tối đa trên mỗi chân I/O: 30mA

- Dòng ra tối đa (5V): 500 mA

Trang 14

Thông số kỹ thuật:

- Nguồn: 3-> 5V

- Dòng sử dụng: 2.5mA max( khi truyền dữ liệu)

- Đo tốt ở độ ẩm 20 to 70%RH với sai số 5%

- Đọ nhiệt độ tốt nhất ở nhiệt độ 0 to 50°C sai số ± 2

- Tần suất lấy mẫu tối đa 1 Hz ( 1 giây 1 lần )

Trang 15

- 4 chân, khoảng cách chân 0.1”

2.2.4 Động cơ 5V DC

Động cơ 5V DC có điện áp đầu vào từ 1.5V đến 5V phù hợp làm các robot mini nh

Ở trong mô hình này nhóm em dùng động cơ để thực hiện cho quạt gió

Trang 16

2.2.5 Module L298N

Module điều khiển motor L298N loại 1 có sẵn ốc gắn sử dụng IC điều khiển L298N

có thể điều khiển 2 động cơ một pha hoặc 1 động cơ bước 4 pha Có tản nhiệt chống nóng cho IC, giúp IC có thể điều khiển với dòng đỉnh đạt 2A

Hình 2.7 Hình ảnh Module L298N

Sơ đồ chân của module:

Hình 2.8 Hình ảnh sơ đồ chân Module L298N

Trang 17

Thông số kỹ thuật:

- Driver: L298N tích hợp hai mạch cầu H

- Điện áp điều khiển: 5V ~ + 12V

- Dòng tối đa cho mỗi cầu H là: 2A

- Điện áp của tín hiệu điều khiển: +5V ~ +7V

- Dòng tín hiệu điều khiển: 0 ~ 36 mA

- Công suất hao phí: 20W( khi nhiệt độ T= 75 ºC)

- Nhiệt độ bảo quản: -25 ºC ~ +130

Trang 18

- Dây đen cực âm

- Dòng điện: 0,01A, 1A, 4A,…

- Số dây: 2 dây, 3 dây, 4 dây

Trang 19

CHƯƠNG III XÂY DỰNG HỆ THỐNG PHẦN MỀM TƯƠNG TÁC THÔNG MINH, HỖ TRỢ GIAO TIẾP, THEO DÕI, ĐIỀU KHIỂN TỪ XA CÁC THIẾT BỊ

Trong chương này, nhóm tác giả sẽ xây dựng hệ thống phần mềm có thể điều khiển được các thiết bị trong nhà và thiết lập các tự động hóa cho các thiết bị trong nhà để hỗ trợ người dùng 1 cách dễ dàng Hệ thống cũng có thể được sử dụng trên điện thoại di động Ngoài ra, hệ thống phần mềm còn có thể thêm nhiều cấu hình tùy theo nhu cầu của người dùng

Home Assistant là một nên tảng tự động hóa mã nguồn mở chạy trên Python3 Theo dõi và kiểm soát tất cả các thiết bị trong nhà và tự động kiểm soát HomeAssistant được thiết kế để dễ dàng triển khai trên bất kỳ máy tính nào từ Raspberry đến các thiết bị lưu trữ trên mạng (NAS) và thậm chí là một container Docker để triển khai trên các hệ thống khác một cách dễ dàng

Home Assistant tích hợp với một số lượng lớn các sản phẩm mã nguồn mở cũng như thương mại, cho phép bạn liên kết các thiết bị, dữ liệu với nhau, ví dụ như IFTTT (if this then that – công cụ để tự động hóa các thao tác), thông tin thời tiết hay Amazon Echo, để kiểm soát phần cứng trong nhà từ khóa cửa cho đến đèn điện

Một số nền tảng tự động hóa nhà chỉ hỗ trợ Python như một phần mở rộng, nhưng Home Assistant có thể chạy trên bất cứ thiết bị, dịch vụ nào có thể chạy Python 3, từ máy tính để bàn đến Raspberry Pi Dự án Home Assistant ra đời năm 2013, do Paulus Schoutsen khởi xướng Hiện tại, dự án này đã thu hút được 20 người hoạt động tích cực

và phát hành cập nhật 2 lần mỗi tuần

Trang 20

Hình 3.1 Home Assistant Platform

Đặc điểm của Home Assistant:

- Giống như hầu hết các hệ thống tự động, Home Assistant cung cấp bản client trên điện thoại và máy tính để điều khiển các thiết bị nhà thông minh từ xa

- Home Assistant cũng không có các thành phần điện toán đám mây

- Vì Home Assistant không hoàn toàn khác biệt so với các framework IoT khác nên

nó dễ dàng kết nối với nhiều nền tảng khác nhau từ Nest đến Ardunio hay Kodi

- Có một điểm mạnh của Home Assistant do Python mang tới đó là: Việc mở rộng

hệ thống rất dễ dàng

Python là ngôn ngữ năng động, nó cho phép tạo ra sự linh hoạt mà những nhà lập trình Java luôn thèm khát Với Python thật dễ dàng để kiểm tra và tạo các mẫu thử cho từng phần mới trên bản cài đặt hiện có mà không bị ảnh hưởng vĩnh viễn đến các thành phần khác Đặc biệt là với phiên bản Python mới mà MicroPython vừa đưa ra dành cho các hệ thống nhúng, như Arduino và ESP8266 thì khả năng nó sẽ trở thành ngôn ngữ chung cho tất cả các mức độ IoT, từ cảm biến đến tự động hóa để tích hợp với các dịch vụ của bên thứ ba

Trang 21

Home Assistant là một chương trình dựa trên sự kiện, kết hợp máy trạng thái theo dõi thực thể

Mỗi thực thể có một định danh, điều kiện trạng thái và các thuộc tính Thuộc tính là các mô tả của trạng thái, chẳng hạn như màu sắc, mức độ sáng trên bóng đèn thông minh Philips Hue

Hình 3.1 Home Assistant

Ví dụ, để tích hợp Philips Hue vào hệ thống, bạn cần sử dụng thành phần ánh sáng,

có thể bật đèn và biết cách đọc trạng thái của đèn (bật hoặc tắt) Home Assistant cung cấp các thành phần cho mọi thiết bị, dịch vụ được hỗ trợ, hay truy cập dễ dàng vào các nhóm thành phần như ánh sáng, nhiệt, công tắc, cửa garage Quá trình thiết lập cũng dễ dàng nhờ khả năng phát hiện các thành phần và quét mạng Nếu có một thiết bị được hỗ trợ, thì việc thiết lập nó gần như là một quá trình tự động

Trang 22

Hình 3.2 Chức năng của Home Assistant

 Tự động hóa:

Thiết lập các quy tắc tiên tiến để kiểm soát thiết bị Và từ đó biến ngôi nhà của bạn thành một thiên đường sống đáng mơ ước

Trang 23

 Cấu trúc bản tin

Message của mỗi MQTT command đều chứa một phần gọi là header cố định Một số message cũng chứa thêm phần header có độ dài thay đổi được rồi cả dữ liệu kèm theo nữa Định dạng của mỗi message header được miêu tả trong các section sau:

Trang 24

- Phần header cố định

Byte 1: Chứa loại Message và các cờ (DUP, QoS level, and RETAIN)

Byte 2: Quy định độ dài còn lại (Ít nhất 1 tức là 1 byte)

Tất cả dữ liệu là big-endian order: Byte cao sẽ đứng trước byte thấp Một word 16 bit sẽ được truyền trên dây thành 1 byte Most Significant (MSB), tiếp theo là byte Least Significant(LSB)

Cơ chế Publish, subcribe

Trong một hệ thống sử dụng giao thức MQTT, nhiều node trạm (gọi là mqtt client - gọi tắt là client) kết nối tới một MQTT server (gọi là broker) Mỗi client sẽ đăng ký một vài kênh (topic), ví dụ như “/client1/channel1”, “/client1/channel2” Quá trình đăng ký này gọi là subscribe, giống như chúng ta đăng ký nhận tin trên một kênh Youtube vậy Mỗi client sẽ nhận được dữ liệu khi bất kỳ trạm nào khác gởi dữ liệu và kênh đã đăng ký Khi một client gởi dữ liệu tới kênh đó, gọi là publish

b) Giao diện hiển thị Home Assistant

Trang 25

CHƯƠNG IV XÂY DỰNG HỆ THỐNG NHẬN DẠNG KHUÔN MẶT

Hình 4.1 Thuật toán nhận dạng khuôn mặt

Trong khi nhận dạng vân tay và mống mắt đã đạt tới độ chín, tức là có thể áp dụng trên thực tế một cách rộng rãi thì nhận dạng mặt người vẫn còn nhiều thách thức và vẫn là một lĩnh vực nghiên cứu thú vị với nhiều người So với nhận dạng vân tay và mống mắt, nhận dạng mặt có nguồn dữ liệu phong phú hơn (bạn có thể nhìn thấy mặt người ở bất cứ tấm ảnh, video clip nào liên quan tới con người trên mạng) và ít đòi hỏi sự tương tác có

Trang 26

kiểm soát hơn (để thực hiện nhận dạng vân tay hay mống mắt, dữ liệu input lấy từ con người đòi hỏi có sự hợp tác trong môi trường có kiểm soát)

Hiện nay các phương pháp nhận dạng mặt được chia thành nhiều hướng theo các tiêu chí khác nhau: nhận dạng với dữ liệu đầu vào là ảnh tĩnh 2D (still image based FR) là phổ biến nhất, tuy nhiên tương lai có lẽ sẽ là 3D FR (vì việc bố trí nhiều camera 2D sẽ cho dữ liệu 3D và đem lại kết quả tốt hơn, đáng tin cậy hơn), cũng có thể chia thành 2 hướng là: làm với dữ liệu ảnh và làm với dữ liệu video

Hình 4.2 Khuôn mặt được nhận dạng

Trên thực tế người ta hay chia các phương pháp nhận dạng mặt ra làm 3 loại: phương pháp tiếp cận toàn cục (global, như Eigenfaces-PCA, Fisherfaces-LDA), phương pháp tiếp cận dựa trên các đặc điểm cục bộ (local feature based, như LBP, Gabor wavelets) và phương pháp lai (hybrid, là sự kết hợp của hai phương pháp toàn cục và local feature) Phương pháp dựa trên các đặc điểm cục bộ đã được chứng minh là ưu việt hơn khi làm việc trong các điều kiện không có kiểm soát và có thể nói rằng lịch sử phát triển của nhận dạng mặt (A never ending story) là sự phát triển của các phương pháp trích chọn đặc trưng (feature extractrion methods) được sử dụng trong các hệ thống dựa trên feature based

Trang 27

Các ứng dụng cụ thể của nhận dạng mặt dựa trên 2 mô hình nhận dạng: identification (xác định danh tính, bài toán 1-N), và verification (xác thực danh tính, bài toán 1-1) Trong bài toán identification, ta cần xác định danh tính của ảnh kiểm tra, còn trong bài toán verification ta cần xác định 2 ảnh có cùng thuộc về một người hay không

b) Open CV là gì?

- OpenCV (Open Computer Vision) là một thư viện mã nguồn mở hàng đầu cho xử lý

về thị giác máy tính, machine learning, xử lý ảnh

- Nó có các interface C++, C, Python, Java và hỗ trợ Windows, Linux, Mac OS, iOS

và Android

- Thư viện có hơn 2500 thuật toán được tối ưu hóa, bao gồm một bộ toàn diện về cả thuật toán máy tính cổ điển và hiện đại và machine learning Các thuật toán này có thể được sử dụng để phát hiện và nhận diện khuôn mặt, nhận dạng đối tượng, phân loại hành động của con người trong video, theo dõi chuyển động của camera, , v.v OpenCV có hơn 47 nghìn người dùng cộng đồng và số lượt tải xuống ước tính hơn

18 triệu Thư viện được sử dụng rộng rãi trong các công ty, nhóm nghiên cứu và các

 Nhận dạng chuyển động, đối tượng, hành vi,

 Tương tác giữa con người và máy tính

 Điều khiển Robot

 Hỗ trợ thực tế tăng cường

Trang 28

Hình 4.3 Ảnh sau khi được xử lý

Phát hiện đối tượng bằng cách sử dụng phân loại tầng dựa trên các đặc trưng Haar là một phương pháp phát hiện đối tượng hiệu quả được đề xuất bởi Paul Viola và Michael Jones trong bài báo của họ, "Phát hiện đối tượng nhanh bằng cách sử dụng một tính năng đơn giản của Boosted" vào năm 2001 Đây là một cách tiếp cận dựa trên máy học chức năng thác được đào tạo từ rất nhiều hình ảnh tích cực và tiêu cực Sau đó, nó được sử dụng để phát hiện các đối tượng trong các hình ảnh khác

Trang 29

Ban đầu, thuật toán cần rất nhiều hình ảnh tích cực (hình ảnh khuôn mặt) và hình ảnh tiêu cực (hình ảnh không có khuôn mặt) để đào tạo bộ phân loại Sau đó, chúng ta cần trích xuất các tính năng từ nó Đối với điều này, các tính năng Haar hiển thị trong hình dưới đây được sử dụng Chúng giống như hạt nhân chập của chúng tôi Mỗi tính năng là một giá trị duy nhất thu được bằng cách trừ tổng số pixel dưới hình chữ nhật màu trắng từ tổng số pixel dưới hình chữ nhật màu đen

Các đặc trưng Haar-Like là những hình chữ nhật được phân thành các vùng khác nhau như hình:

Hình 4.4 Một số phân vùng đặc trưng Haar-Like

Đặc trưng do Haar-Like gồm 4 đặc trưng cơ bản để xác định khuôn mặt người Mỗi đặc trưng Haar-Like là sự kết hợp của hai hay ba hình chữ nhật trắng hay đen như trong hình sau:

Hình 4.5 Bốn đặc trưng Haar-Like cơ bản

Trang 30

 Để sử dụng các đặc trưng này vào việc xác định khuôn mặt người, 4 đặc trưng Haar-Like cơ bản được mở rộng ra và được chia làm 3 tập đặc trưng: Đặc trưng cạnh(edge feature), Đặc trưng đường(line feature), Đặc trưng xung quanh tâm(center-surround features)

Hình 4.6 Đặc trưng cạnh (edge feature)

Hình 4.7 Đặc trưng đường (line feature)

Hình 4.8 Đặc trưng xung quanh tâm (center-surround feature)

Dùng các đặc trưng trên, ta có thể tính được các giá trị của đặc trưng Haar-Like là sự chênh lệch giữa tổng của các pixel của vùng đen và vùng trắng như trong công thức sau:

Haar-like đưa ra một khái niệm gọi là Integral Image, là một mảng 2 chiều với kích thước bằng với kích thước của ảnh cần tính đặc trưng Haar-Like, với mỗi phần tử của mảng này được tính bằng cách tính tổng của điểm ảnh phía trên (dòng-1) và bên trái (cột-1) của nó

Ngày đăng: 26/02/2023, 12:05

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. T.S Phạm Thế Quế, Cơ sở dữ liệu, Bài giảng Cơ sở dữ liệu, Học viện Cộng nghệ Bưu chính Viễn thông, Hà Nội, 2006 Sách, tạp chí
Tiêu đề: Cơ sở dữ liệu
Tác giả: T.S Phạm Thế Quế
Nhà XB: Học viện Cộng nghệ Bưu chính Viễn thông
Năm: 2006
2. Ths. Nguyễn Mạnh Sơn, Bài giảng Lập trình hướng đối tượng, Học viện Công nghệ Bưu chính Viễn thông, Hà Nội, 2013 Sách, tạp chí
Tiêu đề: Bài giảng Lập trình hướng đối tượng
Tác giả: Ths. Nguyễn Mạnh Sơn
Nhà XB: Học viện Công nghệ Bưu chính Viễn thông
Năm: 2013
3. HomeAssistant Document, https://www.home-assistant.io Sách, tạp chí
Tiêu đề: HomeAssistant Document
4. Predict Age and Gender using Convolutional Neural Network and openCV, https://towardsdatascience.com/predict-age-and-gender-using-convolutional-neural-network-and-opencv-fd90390e3ce6 Link
5. Face Detection, Recognition and Emotion Detection, https://towardsdatascience.com/face-detection-recognition-and-emotion-detection-in-8-lines-of-code-b2ce32d4d5de Link

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w