Đồ án tốt nghiệp: Thiết kế và thi công hệ thống bảo mật ứng dụng xử lý ảnh - Pdf 58

BỘ GIÁO DỤC & ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

---------------------------------

ĐỒ ÁN TỐT NGHIỆP
NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG

ĐỀ TÀI:
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG BẢO MẬT ỨNG DỤNG XỬ LÝ ẢNH

GVHD: Th.S Nguyễn Duy Thảo
SVTH: Lê Hoàng Thành
Hồ Đình Vương

15141342
15141334

Tp. Hồ Chí Minh – 7/2019
i


TRƯỜNG ĐH SPKT TP. HỒ CHÍ MINH

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

KHOA ĐIỆN-ĐIỆN TỬ

ĐỘC LẬP - TỰ DO - HẠNH PHÚC

Đại học chính quy

1

Khóa:

2015

Mã hệ:

I. TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG BẢO MẬT ỨNG DỤNG
XỬ LÝ ẢNH
II. NHIỆM VỤ
1. Các số liệu ban đầu:
 Bộ xử lý trung tâm: Raspberry Pi 3.
 Camera: Raspberry Pi Camera Module V2.
 Đọc – Quét thẻ: RFID RC522 Module.
 Bàn phím: 4x4 Matrix keypad Module.
 Bộ xử lý tín hiệu ngỏ ra: Arduino Uno R3.
 Module điều khiển động cơ: L298 Module.
 Động cơ mở cửa: Động cơ 12V DC.
 Nguồn cấp: Bộ nguồn 5V và 12V DC.
 Số người dùng được hệ thống nhận diện: 1.
 Số thẻ RFID được sử dụng nhận diện: 2.
 Số thẻ RFID được cho phép thực hiện: 1.
 Số mật khẩu có thể nhập vào đúng: 1.
ii


2. Nội dung thực hiện:


Tp. HCM ngày 31 tháng 06 năm 2019

LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên 1: Lê Hoàng Thành
Lớp: 15141DT1C

MSSV: 15141342

Họ tên sinh viên 2: Hồ Đình Vương
Lớp: 15141DT2B

MSSV: 15141334

Tên đề tài: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG BẢO MẬT ỨNG DỤNG
XỬ LÝ ẢNH
Tuần/ngày
Tuần 1
Từ 19/03/2019

Nội dung

Xác nhận
GVHD

Gặp GVHD nhận đề tài.
Viết đề cương chi tiết.

đến 26/03/2019
Tuần 2


Lập trình giao tiếp Raspberry với RFID và ma trận
phím.

đến 30/04/2019
Tuần 7

Lập trình giao tiếp Arduino với L298N và động cơ.

Từ 01/05/2019
đến 07/05/2019
Tuần 8
Từ 08/05/2019

Thiết kế mô hình.
Lập trình kết nối các chương trình lại với nhau.

đến 14/05/2019
Tuần 9
Từ 15/05/2019

Báo cáo tiến độ cho GVHD.
Hoàn thiện mô hình.

đến 21/05/2019
Tuần 10
Từ 22/05/2019

Viết báo cáo.
Kiểm tra hoạt động của hệ thống.

Nhóm thực hiện đồ án xin gửi lời cảm ơn đến thầy GVHD Th.S Nguyễn Duy Thảo
đã trực tiếp hướng dẫn, tham gia đóng góp, gợi ý các ý kiến, chia sẽ nhiều những kinh
nghiệm và tận tình giúp đỡ cũng như tạo điều kiện tốt và thoải mái nhất để chúng em có thể
hoàn thành tốt đề tài này.
Em xin gửi lời cảm ơn đến các quý thầy cô khoa Điện – Điện tử đã giúp đỡ và tạo
điều kiện tốt cho chúng em thực hiện đề tài.
Ngoài ra, chúng em cũng cảm ơn các bạn học ở lớp 15141DT1C cũng như
15141DT2B đã chia sẽ và giúp đỡ chúng em rất nhiều trong đề tài này.
Xin chân thành cảm ơn tất cả !
Nhóm thực hiện.

vii


MỤC LỤC
Trang bìa ............................................................................................................................ i
Nhiệm vụ đồ án tốt nghiệp ................................................................................................ii
Lịch trình thực hiện đồ án tốt nghiệp ............................................................................... iv
Lời cam đoan .................................................................................................................... vi
Lời cảm ơn ......................................................................................................................vii
Mục lục .......................................................................................................................... viii
Liệt kê hình vẽ .................................................................................................................. xi
Liệt kê bảng .................................................................................................................... xiv
CHƯƠNG 1: TỔNG QUAN........................................................................................... 1
1.1.

Đặt vấn đề .............................................................................................................. 1

1.2.



2.3.

Giới thiệu phần cứng ............................................................................................ 13

2.3.1. Giới thiệu các chuẩn giao tiếp ........................................................................................13
2.3.2. Raspberry Pi 3 Model B..................................................................................................17

2.3.3. Camera Raspberry...........................................................................................................22
2.3.4. Module RFID MFRC522 ................................................................................................25
2.3.5. Giới thiệu về ma trận phím 4x4. .....................................................................................27

viii


2.3.6. Lcd 20x4 .........................................................................................................................29
2.3.7. Arduino Uno R3 ..............................................................................................................31
2.3.8. Module điều khiển động cơ L298 ...................................................................................33

CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ ............................................................... 36
3.1.

Giới thiệu.............................................................................................................. 36

3.2.

Tính toán và thiết kế hệ thống .............................................................................. 36

3.2.1. Thiết kế sơ đồ khối hệ thống ................................................................................ 36
3.2.2. Tính toán và thiết kế mạch ................................................................................... 38

5.2.5. Kiểm tra thông tin người dùng ............................................................................. 68
5.2.6. Xóa và tạo thẻ thành viên mới ............................................................................. 68
5.2.7. Kiểm tra mật khẩu và tạo mật khẩu mới .............................................................. 73
5.2.8. Kiểm tra hoạt động của động cơ .......................................................................... 76
5.3.

Nhận xét – đánh giá ............................................................................................. 77

5.3.1. Nhận xét ............................................................................................................... 77
5.3.2. Đánh giá ............................................................................................................... 78
ix


CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ........................................... 81
6.1.

Kết luận ................................................................................................................ 81

6.2.

Hướng phát triển .................................................................................................. 82

TÀI LIỆU THAM KHẢO ............................................................................................ xv

x


LIỆT KÊ HÌNH VẼ
Hình


xi


Hình 2.29 Arduino Uno R3 ............................................................................................. 31
Hình 2.30 Module điều khiển động cơ L298 .................................................................. 33
Hình 2.31 Sơ đồ chân của module L298 ......................................................................... 34
Hình 2.32 Mạch nguyên lý của module L298 ................................................................. 34
Hình 3.1 Sơ đồ khối của hệ thống ................................................................................... 36
Hình 3.2 Sơ đồ nguyên lý kết nối khối thu tín hiệu hình ảnh với Raspberry ................. 38
Hình 3.3 Kết nối Camera thực tế .................................................................................... 39
Hình 3.4 Sơ đồ nguyên lý kết nối RC522, ma trận phím 4x4 với Raspberry Pi 3 .......... 40
Hình 3.5 Sơ đồ nguyên lý kết nối LCD 20x4 với Raspberry Pi 3 .................................. 41
Hình 3.6 Sơ đồ nguyên lý kết nối khối điều khiển động cơ ............................................ 42
Hình 3.7 Sơ đồ nguyên lý ngoại vi sử dụng .................................................................... 43
Hình 3.8 Sơ đồ kết nối thẻ nhớ với Raspberry ................................................................ 44
Hình 3.9 Sơ đồ chân Raspberry Pi 3 ............................................................................... 44
Hình 3.10 Sơ đồ kết nối toàn mạch ................................................................................. 46
Hình 3.11 Sơ đồ nguyên lý của mạch ............................................................................. 47
Hình 4.1 Lưu đồ chương trình chính ............................................................................... 49
Hình 4.2 Lưu đồ chương trình nhận dạng ....................................................................... 51
Hình 4.3 Lưu đồ chương trình xử lý ảnh chụp ................................................................ 52
Hình 4.4 Lưu đồ chương trình điều khiển động cơ ......................................................... 53
Hình 4.5 Lưu đồ chương trình cho phép chạy động cơ chạy thuận ................................ 54
Hình 4.6 Lưu đồ chương trình cho phép chạy động cơ chạy nghịch .............................. 54
Hình 4.7 Lưu đồ chương trình dừng động cơ ................................................................. 55
Hình 4.8 Phần mềm lập trình Arduino IDE .................................................................... 56
Hình 4.9 Giao diện chính của phần mềm Arduino IDE .................................................. 56
Hình 4.10 Trang web phpMyadmin ................................................................................ 57
Hình 4.11 Tạo tên bảng và số cột .................................................................................... 58
Hình 4.12 Cài đặt các thông số cho các cột .................................................................... 58

Hình 5.20 Nhấn phím ‘A’ để thay đổi mật khẩu ............................................................. 76
Hình 5.21 Nhập đủ 5 kí tự ............................................................................................... 76

xiii


LIỆT KÊ BẢNG
Bảng

Trang

Bảng 3.1 Bảng thống kê dòng tiêu thụ của các thiết bị ................................................... 45
Bảng 5.1 Bảng giám sát đánh giá hệ thống bảo mật
ở phương thức nhận diện khuôn mặt ............................................................................... 79

xiv


CHƯƠNG 1. TỔNG QUAN

Chương 1. TỔNG QUAN
1.1. ĐẶT VẤN ĐỀ
Ngày nay nhiều thiết bị thông minh ra đời nó có thể thay một chìa khóa để mở cửa,
có thể thay thế con người để điều khiển vật dụng thông qua một vài cử chỉ, giọng nói và
đặc biệt là từ hình ảnh của con người. Hệ thống bảo mật thông minh cũng đang là một trong
những sản phẩm phổ biến và được giới công nghệ rất quan tâm. Các hệ thống bảo mật ngày
càng được tích hợp thêm nhiều các thiết bị điện tử để tăng cường tối đa độ bảo mật và tạo
nên sự tin cậy cho người sử dụng. Thế nên bảo mật hệ thống dần được ứng dụng nhiều hơn
vào thực tiễn đời sống với mục đích cơ bản nhất là để bảo vệ các tài sản như: tiền bạc, nhà
cửa, hồ sơ…

dụng xử lí ảnh để nhận dạng khuôn mặt dựa trên ngôn ngữ Python với thư viện chính là
OpenCV. Phương pháp thứ hai là phương pháp dự phòng nhằm trường hợp hệ thống nhận
dạng khuôn mặt không thành công vì các nguyên nhân khách quan đơn cử như mặt bị biến
dạng, phương pháp thứ 2 bao gồm công nghệ RFID có chức năng cho phép Keypad hoạt
động. Nếu thẻ tag đưa đến đầu đọc Reader mà có UID trùng với dữ liệu được lưu thì hệ
thống sẽ cho phép nhập mã PIN từ Keypad. Tất cả đều được viết bằng ngôn ngữ Python
trên Board mạch Raspberry PI 3. Từ đó những mục tiêu được đặt ra trong đề tài là:
 Thiết kế được mô hình cửa tự động
 Thiết kế buồng sáng
 Thiết kế một cơ sở dữ liệu để lưu thông tin người dùng
 Thiết kế giao tiếp giữa Module RFID với máy tính
 Thiết kế cơ sở dữ liệu để lưu hình ảnh được huấn luyện

1.3. NỘI DUNG NGHIÊN CỨU
 Thiết kế và thi công hệ thống bảo mật.
 Lắp ráp các khối điều khiển vào mô hình cửa.
 Chạy thử nghiệm hệ thống bảo mật.
 Cân chỉnh hệ thống.
 Viết sách đồ án.
 Báo cáo đề tài tốt nghiệp.

1.4. GIỚI HẠN
 Thiết kế mô hình cửa để thay thế hệ thống bảo mật.
 Sử dụng động cơ DC 12V để điều khiển cửa.
 Nhận diện khuôn mặt bằng Camera Raspberry Pi với kit Raspberry.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

2



phần trăm so với ban đầu đặt ra.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

3


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

Chương 2. CƠ SỞ LÝ THUYẾT
2.1. TỔNG QUAN VỀ XỬ LÝ ẢNH
2.1.1. Giới thiệu về xử lý ảnh [6]
Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ. Nó là một ngành khoa
học mới so với nhiều ngành khoa học khác nhưng tốc độ phát triển đang rất nhanh, kích
thích các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính chuyên dụng riêng cho nó.
Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính: nâng cao chất lượng ảnh
và phân tích ảnh. Ứng dụng đầu tiên được biết đến là nâng cao chất lượng ảnh báo được
truyền qua cáp từ Luân Đôn đến New York từ những năm 1920. Hiện nay xử lý ảnh được
ứng dụng trong nhiều lĩnh vực: Chính trị, y tế, giáo dục... Xử lý tín hiệu là một môn học
trong kỹ thuật điện tử, viễn thông và trong toán học. Nghiên cứu và xử lý tín hiệu kỹ thuật
số và analog, giải quyết các vấn đề về lưu trữ, các thành phần bộ lọc, các hoạt động khác
trên tín hiệu… Các tín hiệu này bao gồm truyền dẫn tín hiệu, âm thanh hoặc giọng nói, hình
ảnh, và các tín hiệu khác.
Cũng như xử lý dữ liệu bằng đồ hoạ, xử lý ảnh số là một lĩnh vực của tin học ứng
dụng. Xử lý dữ liệu bằng đồ họa đề cập đến những ảnh nhân tạo, các ảnh này được xem xét
như là một cấu trúc dữ liệu và được tạo bởi các chương trình. Xử lý ảnh số bao gồm các
phương pháp và kỹ thuật biến đổi, để truyền tải hoặc mã hoá các ảnh tự nhiên. Mục đích
của xử lý ảnh gồm:
 Biến đổi ảnh làm tăng chất lượng ảnh.
 Tự động nhận dạng ảnh, đoán nhận ảnh, đánh giá các nội dung của ảnh.
Trong số các phương pháp xử lý tín hiệu kể trên, lĩnh vực giải quyết với các loại tín

Tiền xử lý (Image Processing): Sau bộ thu nhận, ảnh có thể nhiễu độ tương phản
thấp nên cần đưa vào bộ tiền xử lý để nâng cao chất lượng. Chức năng chính của bộ tiền xử
lý là lọc nhiễu, nâng độ tương phản để làm ảnh rõ hơn, nét hơn.
Phân đoạn ảnh: Phân đoạn ảnh là tách một ảnh đầu vào thành các vùng thành phần
để biểu diễn phân tích, nhận dạng ảnh. Đây là phần phức tạp khó khăn nhất trong xử lý ảnh
và cũng dễ gây lỗi, làm mất độ chính xác của ảnh. Kết quả nhận dạng ảnh phụ thuộc rất
nhiều vào công đoạn này.
Biểu diễn ảnh: Đầu ra ảnh sau phân đoạn chứa các điểm ảnh của vùng ảnh (ảnh đã
phân đoạn) cộng với mã liên kết với các vùng lận cận. Việc biến đổi các số liệu này thành
dạng thích hợp là cần thiết cho xử lý tiếp theo bằng máy tính. Việc chọn các tính chất để
thể hiện ảnh gọi là trích chọn đặc trưng (Feature Selection) gắn với việc tách các đặc tính
của ảnh dưới dạng các thông tin định lượng hoặc làm cơ sở để phân biệt lớp đối tượng này
với đối tượng khác trong phạm vi ảnh nhận được. Ví dụ: trong nhận dạng ký tự trên phong
bì thư, chúng ta miêu tả các đặc trưng của từng ký tự giúp phân biệt ký tự này với ký tự
khác.
Nhận dạng và nội suy ảnh: Nhận dạng ảnh là quá trình xác định ảnh. Quá trình này
thường thu được bằng cách so sánh với mẫu chuẩn đã được học (hoặc lưu) từ trước. Nội
suy là phán đoán theo ý nghĩa trên cơ sở nhận dạng. Ví dụ: một loạt chữ số và nét gạch
ngang trên phong bì thư có thể được nội suy thành mã điện thoại. Có nhiều cách phân loai
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

5


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
ảnh khác nhau về ảnh. Theo lý thuyết về nhận dạng, các mô hình toán học về ảnh được
phân theo hai loại nhận dạng ảnh cơ bản: - Nhận dạng theo tham số. - Nhận dạng theo cấu
trúc. Một số đối tượng nhận dạng khá phổ biến hiện nay đang được áp dụng trong khoa học
và công nghệ là: nhận dạng ký tự (chữ in, chữ viết tay, chữ ký điện tử), nhận dạng văn bản
(Text), nhận dạng vân tay, nhận dạng mã vạch, nhận dạng mặt người…

3 chiều) nhằm tối ưu hóa việc thể hiện sự biến thiên của dữ liệu. PCA một trong những ứng
dụng hữu ích trong việc nhận dạng mặt và nén ảnh, là phương pháp phân tích dữ liệu nhiều
biến đơn giản nhất [8].
Phép biến đổi tạo ra những ưu điểm như:
 Giảm sổ chiều của không gian chứa dữ liệu: tạo ra một ảnh mới từ ảnh ban đầu, ảnh
này có kích thướt nhỏ hơn nhiều so với ảnh ban đầu nhưng vẫn giữ lại những nét
đặc trưng nhất từ ảnh ban đầu.
 Thay vì giữ lại các trục tọa độ của không gian cũ. PCA xây dựng những trục tọa độ
mới nhưng có khả năng biểu diễn dữ liệu tương đương, và đảm bảo độ biến thiên
của dữ liệu trên mỗi chiều mới.
 Trong không gian mới, các liên kết tiềm ẩn của dữ liệu có thể được khám phá, mà
nếu đặt trong không gian cũ thì khó phát hiện hơn vì những liên kết này không thể
hiện rõ.
 Các trục tọa độ trong không gian mới là tổ hợp tuyến tính của không gian cũ. Các
trục này luôn được trực giao đôi một với nhau mặc dù trong không gian ban đầu các
trục có thể không trực giao.
Nói một cách ngắn gọn, mục tiêu của PCA là tìm một không gian mới với số chiều
nhỏ hơn không gian cũ. Các trục tọa độ không gian mới được xây dựng sao cho trên mỗi
trục, độ biến thiên của dữ liệu trên đó là lớn nhất.
Các khái niệm toán học được sử dụng trong PCA bao gồm: Độ lệch chuẩn, phương
sai, hiệp phương sai, véctơ riêng, giá trị riêng.
2.1.4. Ngôn ngữ Python và thư viện OpenCV
Trước tiên để Raspberry hoạt động thì ta phải cài hệ điều hành cho nó, chúng em
chọn hệ điều hành Raspbian để cài đặt cho Raspberry thông qua thẻ nhở SD 32GB.
Hệ điều hành Raspbian: Đây là hệ điều hành cơ bản, phổ biến nhất và do chính
Raspberry Pi Foundation cung cấp. Nó cũng được hãng khuyến cáo sử dụng, nhất là cho
người mới bắt đầu làm quen với RPI. Raspbian có dung lượng sau khi giải nén là khoảng
gần 4GB, bạn cần tối thiểu 1 cái thẻ 4GB để có thể sử dụng Raspbian. Tuy nhiên, chúng tôi
nghĩ bạn nên sử dụng thẻ tối thiểu 8GB vì bạn cần cài thêm các ứng dụng khác nữa [8].
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

Python là một ngôn ngữ lập trình bậc cao cho các mục đích lập trình đa năng, do
Guido van Rossum tạo ra và lần đầu ra mắt vào năm 1991. Python được thiết kế với ưu
điểm mạnh là dễ đọc, dễ học và dễ nhớ. Python là ngôn ngữ có hình thức rất sáng sủa, cấu
trúc rõ ràng, thuận tiện cho người mới học lập trình. Cấu trúc của Python còn cho phép
người sử dụng viết mã lệnh với số lần gõ phím tối thiểu.
Python là một ngôn ngữ lập trình được sử dụng phổ biến ngày nay từ trong môi
trường học đường cho tới các dự án lớn. Ngôn ngữ phát triển nhiều loại ứng dụng, phần
mềm khác nhau như các chương trình chạy trên desktop, server, lập trình các ứng dụng
web... Ngoài ra Python cũng là ngôn ngữ ưa thích trong xây dựng các chương trình trí tuệ
nhân tạo trong đó bao gồm machine learning. Ban đầu, Python được phát triển để chạy trên
nền Unix, nhưng sau này, nó đã chạy trên mọi hệ điều hành từ MS-DOS đến Mac OS, OS/2,
Windows, Linux và các hệ điều hành khác thuộc họ Unix.
Python do Guido van Rossum tạo ra năm 1990. Python được phát triển trong một dự
án mã mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý. Mặc dù sự phát
triển của Python có sự đóng góp của rất nhiều cá nhân, nhưng Guido van Rossum hiện nay
vẫn là tác giả chủ yếu của Python. Ông giữ vai trò chủ chốt trong việc quyết định hướng
phát triển của Python.
Qua nhiều năm phát triển thì có nhiều phiên bản: Python 1, Python 2, Python 3.
Nhóm em sử dụng phiên bản Python 3.5.7 để viết chương trình [8].

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

9


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
Giới thiệu ngôn ngữ Python

Hình 2.4. Phần mềm Python
Đặc Điểm Nổi Bật Của Python

Một số ứng dụng nổi bật Opencv như: Nhận dạng ảnh, Xử lý hình ảnh, Phục hồi
hình ảnh/video, Thực tế ảo, ứng dụng trong Machine Learning…
Các tính năng của thư viện OpenCV:
 Đối với hình ảnh, chúng ta có thể đọc và lưu hay ghi chúng.
 Về Video cũng tương tự như hình ảnh cũng có đọc và ghi.
 Xử lý hình ảnh có thể lọc nhiễu cho ảnh, hay chuyển đổi ảnh.
 Thực hiện nhận dạng đặc điểm của hình dạng trong ảnh.
 Phát hiện các đối tượng xác định được xác định trước như khuôn mặt, mắt, xe trong
video hoặc hình ảnh.
 Phân tích video,... ước lượng chuyển động của nó, trừ nền ra và theo dõi các đối
tượng trong video.
Sau khi cài đặt xong thì ta thực hiện lệnh trên Terminal để mở máy ảo

Hình 2.5. Hướng dẫn mở máy ảo để sử dụng thư viện OpenCv

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

11



Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status