1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Nhận diện khuôn mặt Ứng dụng trong bảo mật và chấm công dùng kit raspberry

81 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Nhận Diện Khuôn Mặt Ứng Dụng Trong Bảo Mật Và Chấm Công Dùng Kit Raspberry
Tác giả Huỳnh Đặng Duy, Hoàng Ngọc Lâm
Người hướng dẫn ThS. Trương Ngọc Anh
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Kỹ Thuật Điện - Điện Tử
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2015
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 81
Dung lượng 7,83 MB

Nội dung

Thong tin dé tai 'Tên của đề tài: NHẬN DIỆN KHUÔN MAT UNG DING TRONG BAO MAT VA CHAM CONG DUNG KIT RASPBERRY PI Mục đích của để tài: sử dung kit Raspberry Pi xây dựng chương trình phát

Trang 1

BO GIAO DUC VA DAO TAO TRUONG DAI HOC SU’ PHAM KY THUAT

THÀNH PHÓ HÒ CHÍ MINH

HGMUIIE

ĐỎ ÁN TÓT NGHIỆP NGÀNH KỸ THUẬT ĐIỆN - ĐIỆN TỬ

NHẬN DIỆN KHUÔN MẶT ỨNG DỤNG TRONG BẢO MẬT VÀ CHÁM CÔNG

DUNG KIT RASPBERRY

GVHD: TRUONG NGOC ANH SVTH: HUYNH DANG DUY

Trang 2

KHOA DIEN DIEN TU

BO MON DIEN TU CONG NGHIEP

ae sae

DO AN TOT NGHIEP

NGANLL SU PHAM KY THUAT

DIEN DIEN TU’

NHÀẬN DIỆN KHUÔN MẶT UNG DUNG TRONG BAO MAT VA CHAM CÔNG

DUNG KIT RASPBERRY PI

GVHD : ThS TRƯƠNG NGỌC ANH SVTH : HUỲNH ĐẶNG DUY

Trang 3

PHIẾU GIAO NHIỆM VỤ ĐỎ ÁN TÓT NGHIỆP

1 Thông tin sinh viên

Họ và tên: Huỳnh Đặng Duy MSSV: 09901021

Tel.: 0938877476 Email; dangduy201291@gmail.com

Ho va tén: Hoang Ngoc Lam MSSV: 09901036

Tel.: 01649777127 Email: ngoclam201090spkt@gmail.com

2 Thong tin dé tai

'Tên của đề tài: NHẬN DIỆN KHUÔN MAT UNG DING TRONG BAO MAT VA CHAM CONG DUNG KIT RASPBERRY PI

Mục đích của để tài: sử dung kit Raspberry Pi xây dựng chương trình phát hiện khudn mat bang edo Wo tung Haar Cascade và áp dụng thuật toán, Fislierfaces trong OpenCV kết hụp phương pháp Prneipal Components Analysis (PCA) dé nhận dạng khuôn mặt, dit liga Khuda mat thu thập được lưu vào raspberry pi, thong tin về nhần viên chẩm công được lưu vào hé co sé dit ligu MySQL

Đồ án tắt nghiệp được thực hiện tại: Bộ môn Điện Tử Công Nghiệp, Khoa

Điện - Diện Tử, Trường Đại Học Sư Phạm Kỹ Thuật Tp Hồ Chí Minh

Thời gian thực hiện: Từ ngày 11/10/2014 đến 03/01/2015

3 Các nhiệm vụ cụ thể của để tài

- Khao sat kit Raspberry pi

-_ Sử dụng được các thuật toán phát hiện và nhận dạng khuôn mặt trong thư

viện OpenCV,

- _ Phát hiện được khuôn mặt từ camera

~_ Tạo giao diện tiến hành lấy mẫu nhân viên

~_ Lưu từng khuôn mặt được lấy mẫu

~_ Phân biệt được khuôn mặt nhân viên để chấm công

-_ Lưu thông tin nhân viên sau khi lấy mẫu và chấm công vào cơ sở dữ liệu Mysql.

Trang 4

4 Lời cam đoan của sinh viên

Chúng tôi - Huỳnh Đặng Duy và Hoàng Ngọc Lâm cam đoan ĐATN là công trình nghiên cứu của bản thân chúng tôi đưới sự hướng dẫn của thạc sỹ Trương Ngọc Anh

Các kết quả công bố trong ĐATN là trung thực và không sao chép từ bất kỳ công trình nào khác

Tp.HCM, ngày thang 1 năm 2015

SV thực hiện đồ án

(Ký vit ghi rõ họ tên)

Huynh Dang Duy Hoang Nggc Lam

Giáo viên hưởng dẫn xác nhân về mức độ hoàn thành và cho phép được 22 vé:

Tp.HCM, ngày thang nấm 2015

Xác nhận của Bộ Môn Giáo viên hướng dẫn

(Ký, ghỉ rõ họ tên và học hâm - học 312

Trang 5

BO GIAO DYC & DAO TAO CONG HOA XÃ HỘI CHỦ NGHĨA VIỆT NAM

'THÀNH PHÓ HỒ CHÍ MINH

KHOA ĐIỆN ĐIỆN TỬ

BO MON ĐIÊN TỬ CÔNG NGHIỆP

PHIẾU NHẬN XÉT ĐỒ ÁN TÓT NGHIỆP

(Dành cho giảng viên hướng dẫn)

'Tên để tài;

Cơ quan công tác

Điện thoại liên hệ:

PHAN NHAN XET

1 Nhận xét về tình thần và thái độ làm việc của sinh viên:

2 Nhận xét về kết quả thực hiện của đồ án:

2.1 Ưu & nhược điểm:

Trang 6

2.2 Điểm mới/cải thiện/phát triển của đồ án:

2.3 Những tổn tại (yêu có):

2.4 Cầu trác đồ án có theo mẫu của bộ môn không ?

(Đánh giá ghi chú, các mục, hình vẽ, phương trình, lưu đồ, sơ đồ khối)

co O Khéng C1

2.3 Đề án có đạo văn không ?

Trang 8

BQ GIAO DỤC & ĐÀO TẠO CỘNG HOA XÃ HỘI CHỦ NGHĨA VIỆT NAM

'TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT Độc lập - Tự do - Hạnh phúc

THÀNH PHÓ HÒ CHÍ MINH

KHOA ĐIỆN ĐIỆN TỬ

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

PHIẾU NHẬN XÉT ĐỎ ÁN TÓT NGHIỆP

(Dành cho giảng viên phản biện)

Môn tÑ) (Ji c¡ (tán: 1á nropttlinebutCrc xyeE 90:8: 7-Y0725003107.mapWfPfsrofiprarzir503rererel

Cơ quan công (ác:

Điện thoại hiện hệ

Cấu trúc đồ án có theo mẫu của bộ môn:

(Đánh giá ghỉ chú, các mục, hình vẽ, phương trình, lưu đô, sơ đô khối)

2 Về nội dun;

2.1 Nhận xét về tổng quan của đồ án:

Trang 9

2.2 Nhận xét về phương pháp thực hiện (phát triển/cải thiện):

Trang 10

II ĐÁNH GIÁ

(ghi chú, các mục, hình vẽ, phương trình, lưu đồ, sơ đô khôi)

2 | Mục tiêu và nhiệm vụ của đồ án 10

4._| Phương pháp thực hiện trong ĐATN (phát triên, cải thiện) 10

* Nẫu dười 50 và không đưến: bảo về, giá chủ lý Áo chính

ế cho thang tiêm lê, nữa dưới 30) là không được bảo vệ

1V KẾT LUẬN (Giảng viên phần biện ghỉ rõ cần phải chỉnh sửa, bổ sung những mức øÌ

trong ĐATN)

Người nhận xét (Ký & ghi rõ họ tên)

Trang 11

LOI CAM DOAN

Tôi cam đoan đây là công trình nghiên cứu của tôi

Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai

công bố trong bất kỳ công trình nào khác

Tp Hò Chí Minh, ngày tháng năm 2015

(Ký tên và ghi rõ họ tên)

Trang 12

LOI CAM ON

Em xin chân thành cảm ơn quý thầy cô trong bộ môn Điện Tử Công Nghiệp

đã trang bị cho em kiến thức và giúp đỡ em giải quyết những khó khăn trong quá

trình làm đồ án

Đặt biệt em xin chân thành cảm ơn Thầy hướng dẫn, Th.S Trương Ngọc Anh

đã tận tình giúp đỡ trong quá trình lựa chọn đề tải và hỗ trợ em trong quá trình thực

Trang 13

TOM TAT

Hiện nay, cùng với sự phát triển của xã hội, vấn đề an ninh bảo mật đang

được yêu cầu khắc khe tại mỗi quốc gia trên thế giới Các hệ thống xác định, nhận dạng con người được ra đời với độ tin cậy cao Một trong những bài toán nhận dạng con người được quan tâm nhất hiện nay đó là nhận dạng qua khuôn mặt Vì nhận đạng qua khuôn mặt là cách con người sử dụng để phân biệt nhau và việc thu thập,

xử lý thông tin qua ảnh để nhận biết đổi tượng đang được ứng dụng rộng rãi trong nhiều lĩnh vực đời sống như nhận đạng trong lĩnh vực thương mại, hay phát hiện tội phạm trong lĩnh vực án hình, hãy nhận đạng, để chấm công trong một công ty Với

đề tài “Nhận dạng khuôn mặt trong bào mật và chấm công dùng kít Raapberry Pi",

nhóm thực hiện đã dùng đác trìmg Haac Cascade để phát biện khuôn rất, dung thuật toán Fisherfuces trang OpeqCV két hop phuong phdp Principal Corspenents

Analysis (PCA) để nhận đạng khuôn mặt, dữ liệu khuôn mặt thu thập được lưu vao

Raspberry pi, thong tie về nhân viên chấm công được lưu vào hệ cơ sở đữ liệu

MySQL Đề ản đà đạt được một số kết quả nhất định và đảm bảo được độ chính

Xác

iii

Trang 14

ABSTRACT

Today, with the development of society, security issues are strict requirements in each country in the world The system-defined, identifiable people are invented with high reliability One of the problems of human identity are most concerned now that is through facial recognition As facial recognition across the way people used to distinguish cach other and collective, processing information over the images to recognize ohjccts are widely used in many areas of life, such as identification in the commercial ficld, or detection of crime in the area of security,

or public recognition to put in the company Wath the theme "Facial Mecognition in the security and tinickeeping by sảng Raspberry Pi kit", we have used Haar Cascade features for fave detection, using algorithm Fisherfaces in OpenCV combination Principal Components Analysis method (PCA) for face recognition, facial data collected is sted on Raspberry Pi, information about the employee attendance is stored in MySQL database systems The project has achieved some positive results and ensure accuracy

iv

Trang 15

MUC LUC

LỜI CAM ĐOAN

Giới Thiệu Raspberry Pi

Cấu Tạo Của Raspberry P

Bộ Xử Lý Trung Tam Cua Raspberry Pi

Phu Kién Hỗ Trợ Kèm Theo

Ngôn Ngữ Python

Thu Viện OpenCV

Haar - Cascade Cho Bài Toán Phát Hiện Khuôn Mặt

Đặc Trưng Haar-like

Xây Dựng Cascade Cho Các Bộ Phân Lớp Mạnh

Trang 16

2.5 Thuật toán Nhận Dạng Mặt Người Fisherface-PCA -+ 18 2.5.1 Giới Thiệu Phương Pháp PCA

2.5.2 Trích Chọn Đặc Trưng PCA và Huân Luyện

2.5.2.1 Nhận Dạng Khuôn Mặt Từ Cơ Sở Dữ Liệu-Tập Luyện -

2.5.2.2Tính Toán Giá Trị Trung Bình

2.5.2.3Tính Ma Trận Hiệp Biến

2.5.2.4Tính Các Trị Riêng và Vector Đặc Trưng,

2.5.2.5Lựa Chọn Các Thành Phần và Xây Dựng Vector Dặc Tưng , c.eeeceeer 21 2.5.3 Nhận Dụng Dựa Trên Dặc Tag PC A ccsecossoinrrirsrrrarraerer2

2.5.3.1 Trích Rút Đặc Trưng PCA

2.5.3.2Chuẩn Húa, Tri Di Vector Pring Binh

2.5.3.3Dua Vao Không Gian Đặc Trưng

THIET KE HE THONG PHAN CUNG

3.1 Phân Tích Lựa Chọn Mainboard Xử L)

3⁄22 Khối Xử Lý Ảnh

3.2.3 Khối Hiển Thị

vi

Trang 17

4.244 Thiết KẾ Giao Diện c0 2n 00012220 12csennrrerreeereoe 5

TÀI LIỆU THAM KHẢO

PHÙ LƯỚI, on ca gõ Hi USD HH HH Qú G4NNLggH3i H/A0.PH08.080/240012 8g

vii

Trang 18

DANH SACH BANG

BANG

Bảng 3.1 So sánh giữa board BeagleBone với Raspberry Pi

viii

Trang 19

Hình 2.8 Cich tinh Integral Image eta dnl

Hình 2.9 Vi dy cach tính nhanh các giá trị mức xám của vùng D trên anh 16

Hình 2.10 Cascade của các bộ phân lớp mạnh

Hình 3.4 Mô hình phần cứng của hệ thông 30

Hình 4.1 Lưu đồ chương trình lấy mẫu «-eeeererriiieoe.38

Trang 20

Hinh 4.6 Luu dé chuong trình điểm danh

Trang 21

Chương 1 Tổng Quan

Chương 1

TỎNG QUAN

1⁄1 Tổng Quan Về Lĩnh Vực Nghiên Cứu

Một số phương án nhận dạng con người đang phỏ biến hiện nay: nhận dạng vân tay, nhận dạng bàn tay, nhận dạng vân mắt, sử dụng thẻ xác nhận, Các phương án này đã qua một thời gian đài phát triển nên đã đạt được độ chính xác

cao Tuy nhiên, các phương án này vẦu còn gập phái một số hạn chế như sau:

~ Cáe hệ thống trên đòi hỏi người sử dụng phái tiếp xúc trực tiếp với hệ

thống, người đá ý thúc được văng mình đang được nhận dang

~ Với hệ thẳng thẻ xác nhận, người nhận biết yêu cầu phải có thể, điều nay

chí có thể Áp dụng với vác thành viên thường xuyên ra vào hệ thông

~ Với các hệ thủng văn mắt, vân tay, không phải bao giờ ta cũng có the

tẩy được mẫu của đôi tượng,

Hiện này, một trong các bài toán nhận dạng đang được quan tâm nghiền cứu nhiều là nhận dạng khuôn mặt Mặc dù nhận dạng khuôn mặt hiện nay chưa đạt

được độ chính xác cao như một số phương pháp đã nêu, nhưng nhận dạng khuôn

mặt vẫn luôn nhận được nhiều sự quan tâm vì một số lý do sau:

- _ Nó gắn liền với cách mà con người nhận biết nhau

- Với các hệ thống camera, ta có thể dễ dàng lấy được thông tin về đối

tượng mà không cần tiếp xúc trực tiếp

-_ Giám sát được đối tượng một cách kín đáo

-_ Được hề trợ nhận bởi hệ thống các thuật toán

Nhận dạng khuôn mặt trong bảo mật và chấm công đã có nhiều công trình

nghiên cứu được công bố, nhưng phần lớn được xử lý trên windows, PC hay

MATLAB Với mục đích học tập và nghiên cứu, nhóm thực biện đã tiến hành nhận

diện khuôn mặt trong bảo mật và chấm công dùng kit Raspberry Pi

Trang 22

Chuong 1 Tổng Quan

12 Mục Đích Của Đề Tài

Mục đích của để tài là sử dụng kit Raspberry Pi xây dựng chương trình phát

hiện khuôn mặt bằng các đặc trưng Haar Cascade và áp dụng thuật toán Fisherfaces

trong OpenCV kết hợp phương pháp Principal Components Analysis (PCA) để nhận dạng khuôn mặt, dữ liệu khuôn mặt thu thập được lưu vào raspberry pi, thông,

tin về nhân viên chấm công được lưu vào hệ cơ sở dữ liệu MySQL

~_ Khảo sat va kit Raspherry Pi

- Sử đụng được các thuật toán phát hiện và nhận dạng khuôn mát trong thu viện CpenCV

~— Phát hiện được khuân mật từ camera

~ Tạo giao điện tiên hành lây mẫu nhân viên

~_ Lưu từng khuôn mặt được lấy mẫu,

~_ Phần biệt được khuôn mặt nhân viên để chấm công

~_ Lưu thông tin nhân viên sau khi lấy mẫu và chấm công vào cơ sở đữ liệu

Mysql

Giới Hạn

Trong đề tài này, nhóm thực hiện tập trung vào những vấn đề sau:

- Pau vao 1a video thông qua camera

- Chi Ky mau ting người một

- Các khuôn mặt được chụp thẳng hoặc góc nghiêng không đáng kể

Trang 23

Chương 1 Tổng Quan

1.4 Phương Pháp Nghiên Cứu

Phát hiện khuôn mặt: áp dụng các đặt trưng Haar Cascade

Xử lý đữ liệu khuôn mặt: áp dụng phương pháp PCA để tìm các đặt trưng

Nhận dạng: đưa các đặt trưng đã thu được vào tập huấn luyện và nhận dạng bằng thuật toán Fisherfaces-PCA

Dua thong tin sao khi nhân viên đến nhận dạng vào cơ sơ dữ liệu MySQL

1⁄5 Tom Tat DE TAI

Như vậy, với các yêu cầu về nhiệm vụ và mục tiêu để ra, luận vấn được xây dựng bao gồm các chương sau

~ Chương I- Tầng quan Chương này trình bày khái quát về inh vực

nghiên cứu, tỉnh hình nghiên cứu, tầm quan trong, dé người ngưới thực

hiện để tải đặt ra mục tiêu

-_ Chương 3: Cơ sở lý thuyết Chương này trình bày vỀ cấu tạo của

Raspberry pí, ngôn ngit Python, thư viện OpenCV và các thuật toán

-_ Chương 3: Thiết kế hệ thống phần cứng

-_ Chương 4: Phần mềm

~ _ Chương 5: Phần kết luận và hướng phát triển của dé tài

Trang 24

Chương 2 Cơ Sở Lý Thuyết

21

Chương 2

CƠ SỞ LÝ THUYÉT

Kit Raspberry Pi

2.11 Giới Thiệu Raspberry Di

Raspberry Di là một chiếc máy tỉnh tí hon giá chí 35$ chạy hệ điều hành Linux ra

mắt vào tháng 2 nam 2012 Ran đầu Raspberry Pì được phát triển dựa trên ý tưởng tiến sĩ

Eben Upton tai das hoe Cambridge mudn tae ta mot chide may tinh gia ré dé hoe sinh có

thể dễ dang tiếp cần và khám phá thế puải tà học, Dự định khiêm tắn cua ông đến cuối

đời là có thể bản được tổng công TodU bọ mạch cho các trường bọc, Vậy thì điều gì đã

làm nên thành công ngoại xúc tuong tượng của Raspberry Pi khi da ban duge hon mét

triệu bo mạch chỉ trong vòng chua dày một năm?

Raspherry Pr co muv giá hấp dẫn: 358 cho một chiếc bo mạch có thể lzm được

him HD

hầu nhự mọt ứng dụng hằng ngày như lướt web, học lập trình, xem

đến những ý tưởng không ngờ đến như điều khiển robot, nha théng mink

Raspberry Pi chay hệ điều hanh Linux: 99% nhimg thir lam trén may tinh

Windows đều có thé thực hiện được trên Linux và quan trong 1a: tất cả đều

miễn phí

Raspberry Pi có 8 ngõ GPIO: có thể kết nối và điều khiển các thiết bị trong

cuộc sống thực tế như đèn, động cơ, GPS

Raspberry Pi có kích thước tí hon: chỉ tương đương một chiếc thẻ ATM và

nặng khoảng 50 gram Gắn với chiếc tivi, Raspberry có thể biến thành một thiết bị giải trí thông minh trong phòng khách Găn với màn hình và bàn phím,

chuột, Raspberry có thể biến thành một chiếc máy tính đúng nghĩa Nhỏ gọn và

Trang 25

Chương 2 Cơ Sở Lý Thuyết

Với nhưng ưu điểm trên, Raspberry Pi đã vượt ra khỏi biên giới của trường

học và trở thành thiết bị ưa thích của rất nhiều người đam mê điện tử và lập trình

Sự thành công của nó đã mở ra một bước phát triển mới cho tin học: đem máy tính

và cảm hứng lập trình đến gần mọi người hơn bao giờ hết

2.12 Cấu Tạo Của Raspberry Pi

Thiết kế phần cứng thong minh của Raspberry Pí là một trong những lý do

khiến nó trở nên pho bién Hãy xem qua Raspherry Pi có g2

RASPBERRY PI MODEL B

SDCARD power

Hình 2.1 Cấu tạo của Raspberry Pi model B

- Trái tim của Pi là chip SOC (System-On-Chip) Broadcom

BCM2835 chạy ở tốc độ 700MHz Chip này tương đương với nhiều loại

được sử dụng trong, smartphone phổ thông hiện nay, và có thê chạy được

hệ điều hành Linux Tích hợp trên chip này là nhân đồ họa

(GPU) Bro: s

ổ thông và phát video chuẩn full HD

adcom VideoCore IV GPU này đủ mạnh để có thể chơi 1 số

game phí

Trang 26

Chương 2 Cơ Sở Lý Thuyết

8 ngõ GPIO (General Purpose Input Output): ban cé thé két ni va diéu

khiển rất nhiều thiết bị điện tử/cơ khí khác

-_ Ngõ HDMI: dùng để kết nối Pi với màn hình máy tính hay tivi có hỗ trợ

cong HDMI

- Ng RCA Video (analog): khi thiết kế Pi người ta cũng tính đến trường hợp người sử dụng ở các nước đang phát triển không có điều kiện sắm

một chiếc tivi đời mới tích hợp cổng HDMI Vì vậy cổng video analog

này được thêm vào giún bạn có thể kết nối với chiếc tivi đời cũ mà không phải lo lãng

~ Ngõ nudio Ä 5mm: kết nội dễ đang với loa ngoài hay besdpbone Đắi với

tivi ed công HHOMHE, ngõ ấn thành được tích hợp theo đường tín hiệu

HDMI nên kháng cần sử dụng ngõ audio này,

- Công UNH: mắt điền mạnh nữa của Pi là tích hợp 2 công USB 29 B+n

có thể kết nồi vớt hàn phím, chuột hay webcam, bộ thu GPS quá đó có

thể mờ nộng phạm vì ứng dụng, Vì Pí chạy Linux nên hầu hết thiết di chi

cần cầm-và-chạy (Plug-&-Play) mà không cần cài driver phức tp

- Cổng Ethernet: cho phép két ndi Internet dé dang Cắm dây mạng vào Pi,

kết nổi với màn hình máy tính hay tivi và bàn phím, chuột là bạn có thê

lướt web dễ dàng!

- Khe cim thé SD: Pi không tích hợp ỗ cứng Thay vào đó nó dùng thẻ SD

để lưu trữ dữ liệu Toàn bộ hệ điều hành Linux sẽ hoạt động trên thẻ SD

này vì vậy nó cần kích thước thẻ nhớ tối thiểu 4 GB và dung lượng hỗ trợ

tối đa là 32 GB

Đèn LED: trên Pi có 5 đèn LED để hiển thị tình trạng hoạt động

- Jack ngudn micro USB SV, tối thiểu 700mA: nhờ thiết kế này mà bạn có

thể tận dụng hầu hết các sạc điện thoại di động trên thị trường để cấp

nguồn điện cho Pi

Trang 27

Chương 2 Cơ Sở Lý Thuyết

z 4 38 gong goes a gues a

PopPPa pel Pit

Hình 2.2 Sơ đồ các chân ngà vào ra trén Raspberry pi model B

2.1.3 Bộ Xủ Lý Trung TÂm Của Raspherry Pi

Trai tim eda RITA vị xứ lý Bioadcom BCM2835 chạy ở tốc độ 70)MHz

Day IA vi xir ly SoC (system-on-chip) tre ld hau hết mọi thành phần của bệ thống

gồm CPU, GPU cũng như audio, communication chịp đều được tích hợp trong mớt

Chịp SoC này nằm ngày bên dưới chíp memory Hynix 512 MB màu đen ở giữa

board

SoC này khác với CPU ở trong PC thông thường ở chỗ nó được chế tạo dựa

trên kiến trúc tập lệnh (Instruction Set Architect — ISA) là ARM chứ không phải

kiến trúc x86 như của Intel ARM có ISA dạng rút gọn RISC và tiêu thụ điện năng

rắt thấp nên phù hợp với thiết bị di động Ngược lại x86 có ISA dạng CISC và hoạt

động với công suất cao nên dễ dàng xử lý các tác vụ phức tạp trên PC,

Vì sự khác biệt cơ bản đó mà ARM và x86 đều có thị trường riêng của mình: ARM dẫn đầu trong mảng thiết bị di động còn x86 vẫn chiếm phần lớn thị phần trong PC mặc dù sự cả hai đều đang cố gắng thâm nhập vào thị phần bên kia

Lấy ví dụ như chip ARM trén Raspberry Pi: toàn bộ mạch hoạt động với nguôn 5V,

00mA tức là chỉ tiêu hao 3.5W mỗi giờ trong khi một laptop cũng ng6n it nhất vài

chục Watt Thiết kế này bảo đảm Raspberry Pi hoạt động với sức mạnh vừa phải

trong khi vẫn giữ được hình ding nhỏ gọn do không cần quạt tản nhiệt và do đó,

ARM có mặt trong hầu hết điện thoại di động thời nay

Trang 28

Chương 2 Cơ Sở Lý Thuyết

Hinh 3.3 Xu đổi lập giữa ARM và Intel

Điều quan trong vần lưu ý là: do khác nhau về kiến trúc tập lệnh nên các

phần mềm viết cho nên tang x86 sé khong hoat động trên ARM Ngoài ra chip BCM2835 dùng thế hệ ARMIL thuộc phiên bản ARMv6 ARMv6 hoạt động hiệu

quả và tiết kiệm năng lượng nhưng mặc định lại không tương thích phan mém với

thế hệ ARMv7 Tuy nhiên, điều này có thể giải quyết bằng cách chuyển đổi phân mềm để đạt sự tương thích Nói như vậy không có nghĩa là lập trình Raspberry Pi sẽ

gặp nhiều khó khăn Ngược lại, cộng đồng Raspberry Pi phát triển rất nhanh trên thể giới là nguồn tài nguyên phong phú: hàng loạt dự án, phần mềm được phát triển

cho Pi sé lam bạn hài lòng

Trang 29

Chương 2 Cơ Sở Lý Thuyết

Hình 2.4 Phụ kiện kèm theo với Raspberry Pi

Raspberry Pi được bán dưới dạng một board mạch đơn lẻ không đi kẻm phụ kiện nhằm giảm chỉ phí sản xuất, vì vậy người sử dụng có thể tự lựa chọn phụ kiện tùy theo mục đích sử dụng Sau đây sẽ là tổng hợp một số phụ kiện hữu ích cho Pi

Phụ kiện cơ bản:

~_ Nguồn: loại có jack micro USB, 5V, tối thiểu 700mA

Thẻ nhớ SD: đây là nơi lưu trữ toàn bộ hệ điều hành của RPi và cả dữ

ớ thật tót, tốc độ từ class 6 trở lên RPi hoạt

liệu do đó nên đầu tư thẻ nhớ

g lượng it nhất là 4 GB nên nếu bạn thường động trên thẻ nhớ có đun

xuyên dùng RPi đề lập trình thí nghiệm thì nên mua thẻ 8 GB hoặc 16

Trang 30

Chương 2 Cơ Sở Lý Thuyết

Cáp mạng: để kết nối Intemet hoặc kết nối với máy tính Chỉ cần cáp

RJ45 bình thường, bắt chéo hay không đều được Ngày trước thì 2 loại

cáp này không sử dụng thay thế cho nhau được nhưng bây giờ hầu hết

các chip giải mã network đều tự động nhận biết cả 2

Cáp màn hình: tùy theo màn hình bạn sử dụng mà bạn mua cáp HDMI- HDMI hoặc HDMI-DVI hoặc HDMI-VGA hay RCA Video

Case bao vệ: đẻ tránh võ tỉnh chạm vào mạch điện của RPi hoặc bảo vệ

RPi khi đặt ở ngoài trời thì case báo về là rất cần thiết, Có rẤt nhiều case

trên thị trường: trong suốt, màu sắc, chúng nước,

Phụ kiện mở rộng

Webeam hoặc BỊ caniera module (25$): cá 2 đều hoạt động tất trên

RPi Điểm khác biết là webcam kết nội qua USB còn camera module ot

dụng khe cầm CS có sẵn trên RPi nên tiết kiệm được 1 cong USB Char lượng của cameta module được đánh giá rất tốt so với giá tiền và gu2n trọng hơn là bạn có thê tận dụng sức mạnh của bộ xử lý dé hoa Video Core LV trén RPi ma webcam không truy cập được Ngoài ra thì webcam:

được bán dưới dạng sản phẩm đóng gói hoàn chỉnh còn camera module

thì dưới dang board module nên người ding phải sử dụng cân thận hơn

Wifi USB dongle: nếu bạn thấy cáp mạng rườm rà thì có thể dùng

dongle nay để kết RPi với mạng wifi trong nhà qua cổng USB 2 sản

phẩm được sử dụng phổ biến là Edimax EW-781 TUn và Ralink RT5370

vì rất nhỏ gọn, giá thành rẻ (khoảng, 10$) và hoạt động tốt trên Pi Riêng

loại Ralink thì còn có thể kiêm luôn chức năng hot spot phat wifi

Màn hình cảm ứng: gắn lên RPi thay cho bàn phím và chuột giá bán

khoảng 308

Trang 31

Chương 2 Cơ Sở Lý Thuyết

Phụ kiện cho điều khiển:

- Adafruit T-cobbler (8$); giúp nối chân GPIO của Pi qua breadboard Thiết kế

này đồng thời sắp xếp lại thứ tự chân của Pi giúp kết nối nhanh và ít nhầm lẫn

hơn

- Board két n6i PiFace: giúp kết nối GPIO trên Pi đến relay, nut nhấn, led,

switch, 8 input, 8 open-collector output Cùng với PiRack và Gertboard là

một trong những phụ kiện hay cho đân điện tử

22 Ngôn Ngữ Python

Python là mội ngân ngữ lập trình thàng dich do Guido van Rossum tao ra

năm 1990, được phát triển trong mật dụ an mã mở, do tổ chức phi lợi nhuận Python

Software Foundation quan ly

Ban dầu, Python được phát triển để chạy trên nền Unix Nhưng rồi theo thới

gian, nó đã "hành trường” sang mọi hệ điều hành từ MS-DOS đến MAS Os,

OS/2, WINDOWS, LINUX và các hệ điều hành khác thuộc họ Unix

Một số đặc điểm chính của ngôn ngữ Python:

-_ Dễ học, dễ đọc: Python được thiết kế để trở thành một ngôn ngữ dễ học,

mã nguồn dễ đọc, bố cục trực quan, dễ hiểu, thể hiện qua các điểm sau:

s Từ khóa:

Python tăng cường sử dụng từ khóa tiếng Anh, hạn chế các kí hiệu và

cấu trúc cú pháp so với các ngôn ngữ khác

Python là một ngôn ngữ phân biệt kiểu chữ hoa, chữ thường

Như C/C++, các từ khóa của Python đều ở dạng chữ thường

Khối lệnh: Trong các ngôn ngữ khác, khối lệnh thường được đánh đấu bằng cặp kí hiệu hoặc từ khóa Vi dy, trong C/C++, cặp ngoặc nhọn

{} được dùng để bao bọc một khối lệnh P

đặc biệt để tạo khối lệnh, đó là thụt các câu lệnh trong khối vào sâu

: ¡a khối lệnh cha chứa nó

'ython, trái lại, có một cách

tất

hơn (về bên phải) s0 với các câu lệnh củi

AT ee HN TS an, lon

Trang 32

Chương 2 Cơ Sở Lý Thuyết

Khả năng mở rộng: Python có thể được mở rộng: nếu ta biết sử dụng C, 1a có thể dễ đàng viết và tích hợp vào Python nhiều hàm tùy theo nhu cầu

Các hàm này sẽ trở thành hàm xây dựng sẵn (built-in) của Python Ta

cũng có thể mở rộng chức năng của trình thông dịch, hoặc liên kết các

chương trình Python với các thư viện chỉ ở dạng nhị phân (như các thư

viện đồ họa do nhà sản xuất thiết bị cung cấp) Hơn thế nữa, ta cũng có

thể liên kết trình thông dịch của Python với các ứng dụng viết từ C và sử

đụng nó như là một mở rộng hoặc một ngôn ngữ dòng lệnh phụ trợ cho ứng dụng đó

+ Trinh théng dịch: Python là một ngôn ngữ lập trình dạng thông dịch, do

đó có ưu điểm tiết kiệm thời gián phát triển ứng dụng vì không cán phái

thực hiện biên dịch và lén kết Trình thông dich có thể được sử dung dé

chạy file senpt, hoặc cũng có thể được sử dụng theo cách tương tác Ở chế độ tương tác, trình thông dịch Python tương ty shell cia cdc hệ điều

hành họ V!nix, tại đó, ta có thể nhập vào từng biểu thức rồi gõ Enter, vá

kết quả thực thì sẽ được hiển thị ngay lập tức Đặc điểm này rất hữu ích cho người mới học, giúp họ nghiên cứu tính năng của ngôn ngữ; hoặc để các lập trình viên chạy thử mã lệnh trong suốt quá trình phát triển phán

Lệnh và cấu trúc điều khiển: Mỗi câu lệnh trong Python năm trên một

dong mã nguồn Ta không cần phải kết thúc câu lệnh bằng nh kì kí tự gì

Cũng như các ngôn ngữ khác, Python cũng có các = điều khiển

Hệ thống kiểu dữ liệu: Python sử dụng hệ thống kiéu duck typing, còn

gọi là latent typing (tự động xác định kiểu) Có nghĩa là, Python không

buộc về kiểu dữ liệu tại thời điểm dịch, mà là tại thời

điểm thực thí Khi thực thí, nếu một thao tác trên một a le tale

bại, thì có nghĩa là đối tượng đó không sử dụng một kiểu thích hợp Sử

dụng Python, ta không cần phải khai báo biến Biến được xem là đã khai

Python sẽ tự động xác định +kiểu dữ liệu của

iến

“————:=z TT

.—,

kiểm tra các rang

gán một giá trị lần đầu tiên Căn cứ vào mỗi lần gán,

Trang 33

Chuong 2 Co Sé Ly Thuyét

- Module: Python cho phép chia chương trình thành cdc module dé cé thé

sử dụng lại trong các chương trình khác Nó cũng cung cấp sẵn một tập

hợp các modules chuẩn mà lập trình viên có thể sử dụng lại trong chương trình của họ

- Da biến hóa: Python là một ngôn ngữ đa biến hóa (multiple paradigms)

Có nghĩa là, thay vì ép buộc mọi người phải sử dụng duy nhất một phương pháp lập trình, Python lại cho phép sử dụng nhiều phương pháp lập trình khác nhau: hướng đối tượng, có cầu trúc, chức năng, hoặc chỉ

hướng đến một khin cạnh,

Ngoài ra, Python có các thự viên phục vụ cho khoa học kỹ thuật như;

~ NumPy: phục vụ các tính toán ma nâu

-_ SciPy: phục vụ cho các tlaN toàn tích phân, giải phương trình ví p tính toán tôi tru,

~ Mathplotlib; công cụ vẻ đồ thị tương đương với bộ công cy trong Matiz

= Multi-processing: gói tính toán song song

23 Thư Viện OpenCV

OpenCV (Open Source Computer Vision) 1a 1 thu vign ma nguồn do Intel phát triển, được giới thiệu năm 1999 và hoàn thiện phiên bản 1.0 năm 2006 Năm

2008, Willow Garage đã nâng cấp lên OpenCV 2.3.1 có thể lập trình với C, C†++,

Python và Android

OpenCV là một thư viện mã nguồn mở phục vụ cho việc nghiên cứu hay phát triển về thị giác máy tính Tối ưu hóa và xử lí các ứng dụng trong thời gian thực Giúp cho việc xây dựng các ứng dụng xử lí ảnh, thị giác máy tính, một cách nhanh hơn OpenCV có hơn 500 hàm khác nhau, được chia làm nhiều phần phục vụ các công việc như: xử lí hình ảnh y tế, an ninh, camera quan sát, nhận diện, robots,

„ Thay vì lập trình cho các thuật toán xử lí ảnh thì bạn đã có sẵn trong tay một thư

viện về các hàm đó Công việc của bạn chỉ là sử dụng nó Cấu trúc tổng quan của

OpenCV bao gồm 5 phân chính, 4 trong 5 phần đó được chỉ ra trong hình vẽ dưới

13

Trang 34

Chương 2 Cơ Sở Lý Thuyết

Các hàm về xử Các thuật toán Các hàm và thủ

lý ảnh và giải học máy, bao tục làm việc với

thống kê

CNCORE Các cấu trúc đữ liệu cơ ban, edu trie XML, cdc ham về đã họa,

Hình 2.5 Cấu trầu cơ bán của OpenCV

OpenCV là I công cụ hà trạ đắc lực trong việc nhận diện khuôn mặt với các thuật toán sẵn cỏ như:

= Eigenlàe

- Fisherfaces

- Local Binary Patterns Histograms

2.4 Haar - Cascade Cho Bài Toán Phát Hiện Khuôn Mặt

2.4.1 Dac Trung Haar-like

Do Viola và Jones công bố, 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 2.6 Đặt trưng Haar-like cơ bản

Để sử dụng các đặt trưng này vào việc xác định khuôn mặt người, 4 đặt trưng Haar-like co ban được mở rộng ra, và được chia làm 3 tập đặc trưng như sau:

14

Trang 35

Chương 2 Cơ Sở Lý Thuyết

Dùng các đặc trưng trên, tạ cò thể tính được giá trị của đặc trưng Haar-like là

sự chênh lệch giữa tổng của các ptxel của các ving den va các vùng trắng nbu trong

Như vậy ta có thể thấy rằng, để tính các giá trị của đặc trưng Haar-like, ta phải tính tổng của các vùng pixel trên ảnh Nhưng để tính toán các giá trị của các đặc trưng Haar-like cho tất cả các vị trí trên ảnh đòi hỏi chỉ phí tính toán khá lớn, không đáp ứng được cho các ứng dụng đòi hỏi tính run-time Do đó Viola và Jones đư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 của ảnh cần tính các đặc trưng Haar-like, với mỗi phần tử của mảng

1) của nó, Bắt đầu từ vị trí trên, bên trái đến vị trí dưới, phải của ảnh, việc tính toán

này đơn thuần chỉ đựa trên phép cộng số nguyên đơn giản, do đó tốc độ thực hiện

Tất nhanh

Trang 36

Chương 2 Cơ Sở Lý “Thuyết

điểm PI Vậy ta có thể viết lại biều thức tính D ở trên như sau:

D=@4y4) - @2y2) - @33) + @1y1)

Trang 37

Chương 2 Cơ Sở Lý Thuyết

2.4.2 Xây Dựng Cascade Cho Các Bộ Phân Lớp Mạnh

Hầu hết các bộ phân lớp tốt cần nhiều thời gian để có các kết quả phân lớp bởi vì chúng cần xem xét đến một số lượng lớn các đặc trưng của mẫu Cấu trúc cascade của các bộ phân lớp mạnh đã được đề xuất để giảm thời gian thực thi và giảm tỉ lệ phát hiện sai

Hinh 2,10 minh hea cau tric Cascade của các bộ phân lớp mạnh Nơi một

vùng ứng viên cỏ thể bị loại tại bắt kì giai đoạn nảo

Cascade tree có một số thuận lợi Mỗi giai đoạn là một bộ phân lớp mạnh

Trong suốt quá trình phát hiện khuôn mặt Mỗi cửa số được phân tích tuần tự bởi

bộ phân lớp giai đoạn này Trong suốt quá trình huấn luyện, mỗi bộ phân lớp được huấn luyện bời các mẫu bị phân lớp sai ở bộ phân lớp trước Nghĩa là chúng sẽ tập trung để bọc các mẫu background khó Vì vậy sự kết hợp của các bộ phân lớp trong cascade sẽ giảm tỉ lệ phát hiện sai Hơn nữa với cấu trúc này, các bộ phân lớp dé dàng nhan ra cdc background dễ và loại bỏ chúng ở các bộ phân lớp đầu Vì vậy cấu trúc cascade giải quyết được bài toán thời gian thực thi Một cách tổng quát, cấu

tric cascade cai tiến đáng kể thời gian thực thi và các kết quả phát hiện phụ thuộc

hoàn toàn vào các bộ phân lớp yếu hay các đặc trưng Haar-like

IÊN TRƯỜI iG DASPRT

Trang 38

Chương 2 Cơ Sở Lý Thuyêt

Vấn đề nảy sinh khi nhận dạng là số chiều quá lớn (Ý”) 2y làm cách nào đề

tìm ra không gian với số chiều ÍLhơn?

Ý tưởng là sử dụng phương pháp Prine ypat Components Analysis (PCA)

Muc tigu cua phuuny phap PCA ta “giant s6 chieu” cia | tap vector sao cho

Vector x ban

oh đầu có N chiều

Không gian N (phép chiếu)

chiều với hệ cơ sở

Hình 2.12 Mục tiêu của phương, phap PCA

18

Trang 39

Chương 2 Cơ Sở Lý Thuyết

25.1 Giới Thiệu Phương Pháp PCA

Phương pháp Principal Components Analysis (PCA) được phát minh năm

1901 bởi Karl Pearson và hiện nay nó được sử dụng như công cụ để phân tích dữ

liệu nghiên cứu và thực hiện các mô hình dự đoán PCA còn bao gồm cả việc tính toán phân tích các giá trị đặc trưng của một ma trận tương quan dữ liệu hay phân tính các giá trị đơn của ma trận dữ liệu thường sau khi tính trung bình dữ liệu của mỗi thuộc tính

PCA là phương pháp đơn giản nhất phân tích đã biến dựa trên các vector đặc trưng Thông thường hoạt động của nó có thể được hiểu nhằm khám phá ra cấu trúc bên trong của dữ liệu, Nếu một tập lũ hệu đa biên được xem xét như lập các tọa đó trong một không gian dữ liệu nhiều chiều (tuổi trục biểu điễn một biến) thì phương pháp PCA cung cấp cho chúng ta một bức ánh ít chiều, một cái bóng của vật thể khí quan sát từ chính những đàc trưng cơ bán nhất của vật thể đó

2.5.2 Trích Chọn Đặc Trưng PCA và Huấn Luyện

2.5.2.1 Nhận Các Khuôn Mặt Từ Cơ Sở Dữ Liệu - Tập Luyện

Đầu tiên chúng ta sẽ đọc cơ sở đữ liệu và nhận vào các ảnh luyện l, Các ảnh

luyện ở đây đều là ảnh mặt, điều kiện quan trọng là chúng có mặt ở tâm ảnh và có cùng kích thước với nhau

Giả sử có M ảnh, khi đó i=1 M

Sau đó ta tương ứng mỗi ảnh l; với một vector I;

I; (anh NxN) — T;(veetor NẺ x1)

2.5.2.2 Tính Toán Giá Trị Trung Bình

Giá trị vector trung bình:

Ty (2.3)

Với:

Trang 40

Chương 2 Cơ Sở Lý Thuyết

e Mlàsốảnh trong tập luyện, I; là vector 1 chiều (Ñ?x1) đại diện cho mỗi

ảnh

® Wlà vector trung bình (kích thước NỶx1) của tập tất cả các T¡ trên; W

còn được gọi là vector trung bình mặt của tập luyện

Sai số của các ảnh so với gia tri vector mặt trung bình được tính toán theo

công thức (2.4)

Với:

«@¡ là veclor sai số ứng với mỗi ảnh

®— T¡ là vector | chiều eủa các ảnh

® W là vector trung hình niật

A lama tran NˆxM, ®a là giá trị sai số được tính ở công thức (2.4)

2.5.2.4 Tính Các Trị Riêng và Vector Đặc Trưng Của Ma Trận Hiệp Biến

Dé tính các trị riêng và vector đặc trưng của ma trận hiệp biến ta phải tính với ma trận C hay chính là tính cho ma trận AAT, Tuy nhiên điều này là không khả

thi, do C là ma trận N”xNŸ nên số chiều là quá lớn, khối lượng tính toán là vô cùng

nhiều (đặc biệt khi kích thước ảnh luyện lớn thì N lớn, N? và NˆxN? là cực kì lớn)

Ta nhận thấy 2 ma trận AAT và ATA luôn có chung trị riêng và vector đặc

trưng thì có liên hệ với nhau bởi biểu thức ; = 4w, mà ma trận ATA lại có số chiều

Íthơn hẳn (ma trận MxM) nên ta sẽ chuyển đổi về ma trận ATA

20

Ngày đăng: 19/11/2024, 11:44

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

TÀI LIỆU LIÊN QUAN

w