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

Đồ án :Thiết Kế Và Thi Công Robot Bám Đối Tượng Mặt Người

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 (1.14 MB, 66 trang )

Bộ Giáo Dục Và Đào Tạo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM


i
NHIỆM VỤ ĐỒ ÁN

Sinh viên thực hiện: Trần Thanh Duy MSSV: 05111014
Nguyễn Minh Quang MSSV: 05111076
Ngành: Cơ Điện Tử Mã ngành: 11
Hệ đào tạo: Đại học chính quy Mã hệ: 1
Khóa: 2005 Lớp: 051111B
I. Tên đề tài:
Thiết

Kế Và Thi Công Robot Bám Đối Tượng
Mặt Người

II. Nhiệm vụ đề tài:
 Thiết kế và thi công phần cơ khí cho mô hình robot bám đối tượng.
 Thiết kế, tính toán và thi công mạch điều khiển cho mô hình dùng chip vi
điều khiển Atmega32.
 Viết chương trình điều khiển mô hình cho vi điều khiển.
III. Ngày giao đồ án: Ngày … tháng … năm 2010
IV. Ngày hoàn thành đồ án: Ngày … tháng … năm 2010
V. Giáo viên hướng dẫn: Lê Thanh Tùng







Ngày … tháng … năm 2010
Giáo viên hướng dẫn




Bộ Giáo Dục Và Đào Tạo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM


ii
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN























Ngày tháng năm 2010
Bộ Giáo Dục Và Đào Tạo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM


iii
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN























Ngày tháng năm 2010
Bộ Giáo Dục Và Đào Tạo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM


iv
NHẬN XÉT CỦA HỘI ĐỒNG KHOA HỌC
























Ngày tháng năm 2010
Bộ Giáo Dục Và Đào Tạo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM


v
LỜI NÓI ĐẦU
Thời gian trôi qua thật nhanh. Ngày đầu tiên bước vào giảng trường đại học
vẫn còn bỡ ngỡ. Giờ hơn bốn năm đã trôi qua. Lúc này khi chúng em đang chuẩn bị
bảo vệ đồ án tốt nghiệp cũng chính là lúc chúng em chuẩn bị bước vào ngưỡng cửa
cuộc đời.
Đồ án tốt nghiệp là một dịp để chúng em tập ứng dụng kiến thức đã học vào
một vấn đề cụ thể một cách hoàn chỉnh và có hệ thống, cũng là một thước đo tương
đối khách quan những điều chúng em đã lĩnh hội được sau hơn bốn năm miệt mài
dưới sự dìu dắt của các thầy cô. Những kiến thức chúng em học trong trường đại
học là những kiến thức sẽ đi cùng chúng em hòa nhập vào nền khoa học kỹ thuật
trong nước và thế giới.
Trên thế giới công nghệ Robot đang trên đà phát triển rất mạnh. Ở các nước
phát triển như: Trung Quốc, Anh, Mỹ, Nhật Bản… hệ thống nhận dạng ra đời từ rất
lâu. Ngày nay hệ thống nhận dạng và bám đối tượng nhận dạng càng trở nên phong
phú với nhiều loại nhận dạng khác nhau cũng như sự tích hợp càng nhiều những kỹ
thuật công nghệ cao. Bởi lẽ cùng với sự tiến bộ của xã hội loài người, nền công
nghiệp ngày càng phát triển, thì nhu cầu sử dụng robot thay thế sức lao động của
con người ngày càng tăng.
Ở Việt Nam, sau thời kỳ hậu chiến, nền kinh tế đã có nhiều khởi sắc rõ rệt,
ngày nay mức sống của người dân được nâng cao hơn. Nhu cầu robot trong công
nghiệp ngày càng nhiều.
Chính vì lẽ đó, được sự định hướng của thầy Lê Thanh Tùng, nhóm chúng
em đã chọn đề tài tốt nghiệp là:”Thiết kế và thi công robot b ám đối tượng mặt
người”.
Với mô hình chưa thực sự hoàn thiện, đồ án của chúng em chưa thể áp dụng

vào thực tế ngay được. Mà chủ yếu là làm quen, mô phỏng quy trình vận hành, tìm
hiểu công nghệ robot bám đối tượng.
Tuy nhiên, một ý nghĩa quan trọng mà chúng em có được là: qua đề tài này,
chúng em có được một trãi nghiệm những kiến thức đã học, từ khâu thiết kế thi
công cho tới lập trình điều khiển hoàn chỉnh mô hình.


Bộ Giáo Dục Và Đào Tạo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM


vi
LỜI CẢM ƠN
Lời cảm ơn đầu tiên nhóm chúng em xin gởi đến là thầy Lê Thanh Tùng,
mặc dù thầy có rất nhiều công việc giảng dạy và nghiên cứu phải làm trong thời gian
qua, nhưng thầy đã đồng ý làm giáo viên hướng dẫn cho nhóm em. Trong quá trình
làm đồ án, thầy Lê Thanh Tùng đã thường xuyên nhắc nhở, quan tâm, tạo rất nhiều
điều kiện thuận lợi cho chúng em hoàn thành đúng tiến độ của đồ án. Bên cạnh đó,
những lời nhận xét góp ý của thầy cũng giúp chúng em có những định hướng đúng
đắn hơn khi thực hiện đề tài.
Lời cảm ơn tiếp theo, chúng em xin gửi lời cảm ơn chân thành tới thầy cố
vấn Lê Tấn Cường, ban chủ nhiệm phòng Khoa học trẻ, khoa cơ khí chế tạo máy.
Khó khăn lớn nhất mà chúng em mắc phải là phần thi công cơ khí cho mô hình. Đó
là thiếu kinh nghiệm thiết kế, thiếu dụng cụ gia công, thiếu nơi làm việc tốt. Chính
phòng khoa học trẻ là nơi đã giúp đỡ chúng em vượt qua được những khó khăn đó.
Nhân dịp này, nhóm chúng em cũng xin bày tỏ lòng biết ơn sâu sắc tới tất cả
quý thầy cô trong khoa cơ khí chế tạo máy, quý thầy cô trong bộ môn cơ điện tử là
những người đã dạy dỗ, dìu dắt chúng em từ những kiến thức cơ bản nhất, đồng thời
thường xuyên giúp đỡ rất nhiệt tình khi chúng em có khó khăn trong học tập cũng
như đưa ra các giải pháp định hướng cho chúng em để giải quyết vấn đề. Và rất
nhiều những điều quý báu khác nữa mà tụi em được lãnh nhận từ mái trường Đại

học Sư Phạm Kỹ Thuật TP.HCM mà trong khuôn khổ này tụi em chưa nói hết được
lòng biết ơn của mình. Chúng em hứa sẽ cố gắng phấn đấu hơn nữa trong sự nghiệp
sau này để làm rạng danh mái trường Sư Phạm Kỹ Thuật thân yêu.



Sinh viên thực hiện
Trần Thanh Duy
Nguyễn Minh Quang



Bộ Giáo Dục Và Đào Tạo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM


vii
TÓM TẮT ĐỒ ÁN

Mô hình đồ án là một robot có hình dạng như chiếc xe, với hai động cơ
24v là 2 động cơ truyền động chính, hai bánh xe Ômi phía trướ c có tác dụng
điều hướng. Một thanh nhôm cao 80cm gắn một webcam tác dụng như một con
mắt để xác định khuôn mặt và chạy theo khuôn mặt được phát hiện. Trên
thanh nhôm gắn một động cơ hộp số để kéo ổ trượt phía dưới có tác dụng
nâng hay hạ webcam lên xuống.
Bộ điều khiển của robot là một mạch điện sử dụng Atmega32 dùng để
điều khiển chuyển động chính và chuyển động nâng hạ của webcam thông qua
các mạch công suất. Mạch công suất là mạch cầu 1 FET,1 Relay dùng để điều
khiển 2 động cơ 24v phía sau. Một mạch cầu nữa gắn trên thanh nhôm 80cm
dùng để điều khiển chuyển động của webcam.
Phần mềm giám sát là C#.Net trong bộ Visual Studio 2008.

 Đề tài này gồm có các chương:

Chương 1 Tổng quan.
Chương 2 Cơ sở lí luận.
Chương 3 Thiết kế phần cơ khí.
Chương 4 Thiết kế phần mạch điện.
Chương 5 Thiết kế phần mềm điều khiển.
Chương 6 Kết luận và hướng phát triển.






Bộ Giáo Dục Và Đào Tạo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM


viii
ABSTRACT

The model project is a robot shaped like a car, with two 24V engine and
transmission are two main engines, two front wheels Omi is effective
navigation. A 80cm high aluminum bar attached to a webcam that acts as an
eye to identify faces and run faces long aluminum bar detected .

Aluminum bar
attached to an engine gearbox to pull the bottom sliding drive work to raise or
lower the webcam up and down.
The robot controller is a circuit used Atmega32 used to control
movement of lifting and moving the webcam through the power circuit. Power

circuit is a FET bridge circuit, a relay used to control the two rear engine 24V.
A bridge-mounted aluminum 80cm longer used to control the motion of the
webcam.
Monitoring software is C #. NET in Visual Studio 2008.
This thesis contains:

Chapter 1 Overview.
Chapter 2 theoretical basis.
Chapter 3 Design of mechanical parts.
Chapter 4 Designing the circuit.
Chapter 5 Control Design Software.
Chapter 6 Conclusion and development.






Bộ Giáo Dục Và Đào Tạo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM


ix
MỤC LỤC
Trang
Nhiệm vụ đồ án I
Nhận xét của giáo viên hướng dẫn II
Nhận xét của giáo viên phản biện III
Nhận xét của hội đồng khoa học I V
Lời nói đầu V
Lời cảm ơn VI

Tóm tắt đồ án VII
Abstract VIII
Mục lục IX
Chương 1:TỔNG QUAN 1
1.1 Giới thiệu chung 1
1.2 Nhận dạng khuôn mặt và lý do chon đề tài 1
Chương 2:CƠ SỞ LÝ LUẬN 3
2.1 Lý thuyết nhận dạng khuôn mặt người 3
2.1.1 Khái niệm 3
2.1.2 Ứng dụng của phương pháp nhận dạng khuôn mặt người 3
2.2 Các phương pháp nhận dạng khuôn mặt người 4
2.2.1 Hướng tiếp cận dựa trên tri thức 4
2.2.2 Hướng tiếp cận dựa trên đặc trưng không thay đổi 5
2.2.3 Hướng tiếp cận dựa trên so khớp mẫu: 5
2.2.4 Hướng tiếp cận dựa trên diện mạo: 6

Bộ Giáo Dục Và Đào Tạo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM


x
2.3
Giải thuật Adaboost và đặt trưng Haar của khuôn mặt 7
2.3.1 Giải thuật Adaboot 7
2.3.2 Đặt trưng Haar-like của khuôn mặt 8
2.4
Giới thiệu chung về Atmega 32
11
2.4.1 Kiến trúc RISC: 11
2.4.2 Đặc điểm 11
2.4.3 Sơ đồ khối 12

2.5
Giới thiệu PWM trong đồ án: 13
2.5.1 PWM 13
2.5.2 Phân loại PWM: 13
2.6 Emgu CV: 15
Chương 3:THIẾT KẾ CƠ KHÍ 17
3.1 Yêu cầu đặt ra 17
3.2 Thiết kế 17
3.2.1 Hình dạng 17
3.2.2Vật liệu 19
3.2.3 Đặc điểm kỹ thuật 19
Chương 4:THIẾT KẾ PHẦN MẠCH ĐIỆN 23
4.1 Tổng quát 23
4.2 Mạch điều khiển 24
4.2.1 Yêu cầu 24
4.2.2 Giải pháp 24
4.3 Mạch kích 25
4.4 Động cơ truyền chuyển động chính 28
4 4.1 Yêu cầu đặt ra 28
4.4.2 Chọn động cơ 28
4.4.3 Chế độ hoạt động 28



Bộ Giáo Dục Và Đào Tạo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM


xi
Chương 5:THIẾT KẾ PHẦM MỀM 29
5.1 Giao diện trên máy tính 29

5.1.1 Yêu cầu 29
5.1.2 Giải pháp 29
5.1.3 Thiết kế giao diện 30
5.2 Chương trình nhận dạng và xử lý 32
5.2.1 Lưu đồ dãy thuật: 32
5.2.2 Hoạt động của chương trình 33
5.3 Chương trình trên chip VĐK 35
5.3.1 Yêu cầu 35
5.3.2 Giải Pháp 35
5.3.3 Lưu đồ chương trình VĐK 36
5.3.4 Chương trình con 37
5.3.5 chương trình chính viết cho VĐK 38
5.3.6 Chương trình vòng lặp chính 39
5.4 Kết quả đạt được 40
Chương 6: KẾT LUẬN VÀ PHÁT TRIỂN 41
6.1 Những điều đã làm được 41
6.2 Những điều chưa làm được 41
6.3 Hướng phát triển của đề tài 41
Tài Liệu Tham Khảo 42
Phụ Lục 43
I.Giới Thiệu Trình Biên Dịch Code Vision AVR 43
II.Code toàn bộ chương trình viết cho VĐK 43
III.Giao diện toàn bộ chương trình C# 49
IV.Code toàn bộ chương trình C# 5
Bộ Giáo Dục Và Đào Tạo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM
1


Chương 1:
TỔNG QUAN


1.1 Giới thiệu chung:
Hơn một thập kỷ qua có rất nhiều công trình nghiên cứu về bài toán xác định
khuôn mặt ng ười từ ảnh đen trắng, xám đến ảnh màu như ngày hôm nay. Các
nghiên cứu đi từ bài toán đơn giản, mỗi ảnh chỉ có một khuôn mặt người nhìn thẳng
vào thiết bị thu hình và tìm cách nhận ra được đâu là mặt người và vị trí của nó trên
ảnh. Cho đến ngày hôm nay bài toán mở rộng cho ảnh màu, có nhiều khuôn mặt
trong cùng một ảnh, và cũng tìm cách nhận ra đâu là mặt người, đâu là không,
nhằm đáp ứng nhu cầu mà con người đặt ra.








Hình 1.1 Một ví dụ về nhận dạng mặt người.
1.2 Nhận dạng khuôn mặt và lý do chon đề tài
Bài toán nhận dạng khuôn mặt người là bài toán được nghiên cứu từ những
năm 70. Tuy nhiên đây là một bài toán khó nên việc nghiên cứu vẫn chưa đạt được
những kết quả mong muốn.
Trong nước ta, những năm nay thì xử lý ảnh là một môn học tuy còn nhiều
mới mẻ nhưng được sự quan tâm của rất nhiều nhà khoa học, giảng viên, sinh
viên,…
Hiện nay công nghệ nhận dạng đã được ứng dụng vào thực tế như máy ảnh
kỹ thuật số.

Do phần lớn người chụp chỉ muốn ngắm là chụp nên mọi thao tác
khác giao phó hết cho máy ảnh. Trong khi đó, má y ảnh, với đặc tính ưu tiên lấy

nét các đường thẳng và ưu tiên khu vực trung tâm khuôn hình, nên khi khuôn hình
có sự hiện diện của người nhưng không ở vị trí trung tâm, máy sẽ lấy nét và đo
Hệ Thống Nhận
Dạng Mặt Người
Mặt người
Bộ Giáo Dục Và Đào Tạo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM
2

sáng ở những đối tượng không trọng tâm như cái cây, hàng gạch… Vì thế công
nghệ nhận diện khuôn mặt được tích hợp vào máy ảnh, nhằm giúp cho máy ảnh có
thể cho ra những bức ảnh có độ nét và độ phơi sáng chính xác trong chế độ chụp
tự động mà người là chủ thể trọng tâm.

Hình1.2 Máy ảnh kỹ thuật số với công nghệ nhận dạng khuôn mặt.
Công nghệ nhận dạng khuôn mặt cũng được đưa vào laptop

Toshiba, Asus,
Lenovo,

Cung cấp sẵn trong bộ phần mềm chuyên dụng đi kèm máy và đưa vào
tất cả các dòng laptop có webcam, hỗ trợ hệ điều hành Windows Vista, XP. Chủ
nhân, thay vì gõ mật khẩu hoặc xác thực bằng vân tay, chỉ cần ngồi trước màn
hình máy tính là có thể đăng nhập được.

Hình 1.3 Laptop với công nghệ nhận dạng khuôn mặt người.

Các bài báo cáo về nhận dạng khuôn mặt dựa vào đặc trưng lồi lõm của
Trần Lê Hồng Dũ, Dương Anh Đức , Dương Nguyên Vũ, hay là bài viết về công
nghệ nhận dạng mặt người của BKIS(Trung tâm an ninh mang,ĐH bách khoa Hà
Nội) tại diễn đàn bảo mật Blackhat.

Thật sự đây là một đề tài nghiên cứu khó khăn nhưng cũng không
kém phần thú vị. Hệ thống nhận dạng khuôn mặt người là một hệ thống sẽ
được ứng dụng nhiều trong tương lai. Đây cũng là một hướng đi của công
nghệ mới,do vậy dưới sự hướng dẫn thầy Lê Thanh Tùng nhóm chúng em
quyết định chọn đề tài “Thiết kế và thi công Robot nhận dạng mặt người”.
Bộ Giáo Dục Và Đào Tạo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM
3


Chương 2
CƠ SỞ LÝ LUẬN

2.1 Lý thuyết nhận dạng khuôn mặt người:

2.1.1. Khái niệm:
Nhận dạng khuôn mặt người (Face Detection) là một kỹ thuật máy tính để
xác đinh các vị trí các kích thước của khuôn mặt người trong các ảnh bất kỳ. Kỹ
thuật này nhận biết các đặc trưng của các khuôn mặt và bỏ qua những thứ khác
như tòa nhà, cây cối, cơ thể,…

2.1.2.Ứng dụng của phương pháp nhận dạng khuôn mặt người:
 Hệ thống tương tác giữa người và máy: sẽ giúp những người tàn tật hoặc
khiếm khuyết có thể trao đổi. Những người câm sẽ nói chuyện với người
bình thường bằng ngôn ngữ tay, người bại liệt có thể thông qua các ký hiệu
như nháy mắt, những cử chỉ trên khuôn mặt để ra hiệu cho người bình
thường,…
 Nhận dạng người có phải là tội phạm bị truy nã hay không? Giúp cơ quan
an ninh quản lý tốt con người. Hoặc có thể truy tìm nhanh chóng các hồ sơ
tội phạm trong cơ sở dữ liệu của máy tính.
 Hệ thống quan sát theo dõi và bảo vệ. Các hệ thống camera sẽ xác định đâu

là con người và theo dõi con người đó xem họ có vi phạm gì không, ví dụ
như xâm phạm khu vực không được vào, xâm pham vào nhà riêng,…
 Lưu trữ hình ảnh khuôn mặt những người rút tiền từ máy ATM, hiện nay có
tình trạng những người bị người khác lấy mất mã số PIN và những người
ăn cắp này đi rút tiền. Hoặc những người chủ thẻ đi rút tiền nhưng lại báo
mất thẻ và mất tiền. Các ngân hàng có nhu cầu khi giao dịch tiền sẽ kiểm
tra hay lưu trữ khuôn mặt người rút tiền để sau đó đối chứng và xử lý.
 Các hệ thống mở cửa, chấm ngày công lao động của các nhân viên vào ra
trong công ty. Hệ thống nhận dạng mặt người sẽ cho phép các nhân viên
vào ra những khu vực cho phép, hay đăng nhập máy tính hoặc đăng nhập
máy tính cá nhân của mình mà không cần mật khẩu,…
 Phân tích các cảm xúc của con người trên khuôn mặt.
Bộ Giáo Dục Và Đào Tạo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM
4

 Tương lai sẽ phát triển các loại thẻ thông minh có tích hợp sẵn đặc trưng
của người dùng trên đó, khi bất cứ người dùng nào khác dùng để truy cập
hay xử lý tại các hệ thống sẽ được yêu cầu kiểm tra các đặc trưng của
khuôn mặt so với thẻ để biết có phải là chủ thẻ hay không.
2.2 Các phương pháp xác định khuôn mặt người:
Có rất nhiều phương pháp xác định khuôn mặt người từ ảnh xám đến ảnh màu.
Tuy nhiên ở bài luận văn này không đi sâu vào hướng nhận dạng chính xác khuôn
mặt người.
2.2.1 Hướng tiếp cận dựa trên tri thức:

Trong hướng tiếp cận này,

các luật sẽ phụ thuộc rất lớn vào tri thức của những
tác giả nghiên cứu về bài toán xác


định khuôn

mặt người.

Đây là hướng tiếp
cận dạng top-down.

Dễ

dàng xây dựng các

luật cơ bản

để mô tả các

đặc trưng
của khuôn mặt và các quan hệ tương

ứng. Ví dụ, một khuôn mặt thường có hai
mắt

đối xứng nhau qua trục thẳng

đứng

ở giữa khuôn mặt và



một mũi, một

miệng.

Hình 2.1 Nhận dạng dựa trên tri thức
Một vấn

đề khá phức tạp

khi dùng hướng tiếp cận này

là làm sao chuyển từ
tri thức con người sang các luật một cách hiệu quả. Nếu các luật này

quá

chi tiết
Bộ Giáo Dục Và Đào Tạo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM
5

thì khi xác

định có thể xác

định thiếu các khuôn mặt có

trong

ảnh, vì những
khuôn mặt này

không


thể

thỏa

mãn

tất

cả

các

luật

đưa

ra. Nhưng các

luật
tổng quát quá thì có thể chúng ta sẽ xác

định lầm một vùng nào

đó không phải là
khuôn mặt mà lại xác

định là khuôn

mặt. Và


cũng khó

khăn mở rộng yêu

cầu từ
bài

toán

để xác

định các khuôn mặt có nhiều tư thế khác

nhau.


2.2.2 Hướng tiếp cận dựa trên đặc trưng không thay đổi:

Đây là hướng tiếp cận theo

kiểu bottom-up. Các tác giả cố gắng tìm

các

đặc
trưng không thay

đổi của khuôn mặt người


để xác

định khuôn

mặt người. Dựa trên
nhận xét thực tế, con người dễ dàng nhận biết các khuôn mặt và các

đối tượng
trong các tư thế khác nhau



điều kiện

ánh sáng khác nhau,

thì

phải tồn tại các

thuộc tính

hay

đặc trưng không

thay

đổi. Có nhiều nghiên cứu


đầu tiên

xác

định
các

đặc trưng khuôn mặt rồi chỉ ra có

khuôn

mặt trong

ảnh hay không.

Các

đặc

trưng

như: lông

mày,

mắt, mũi, miệng, và

đường

viền của tóc


được trích

bằng phương

pháp

xác

định

cạnh. Trên



sở

các

đặc trưng này, xây

dựng
một mô hình thống kê

để mô

tả quan hệ của các

đặc trưng này và xác


định sự tồn
tại của khuôn mặt trong

ảnh. Một vấn

đề của các

thuật tóan theo hướng tiếp cân

đặc trưng cần phải

điều chỉnh

cho phù hợp

điều kiện ánh

sáng, nhiễu, và bị che
khuất.

Đôi

khi bóng của khuôn

mặt sẽ tạo thêm cạnh mới, mà cạnh này

lại rõ

hơn cạnh thật sự của khuôn mặt, vì thế nếu dùng cạnh


để xác

định sẽ gặp khó
khăn.

2.2.3 Hướng tiếp cận dựa trên so khớp mẫu:

Trong so khớp mẫu, các mẫu chuẩn của khuôn mặt (thường là khuôn
mặt

được chụp thẳng) sẽ

được xác

định trước hoặc xác

định

các tham số thông
qua một hàm.

Từ một

ảnh

đưa vào, tính các giá trị tương quan so với các mẫu
chuẩn về

đường viền khuôn mặt, mắt, mũi và miệng. Thông qua các giá trị tương
quan


này

mà các tác giả quyết

định có hay không có tồn tại khuôn mặt trong

ảnh.
Hướng tiếp cận này có lợi thế là rất dễ cài

đặt, nhưng không hiệu quả khi tỷ lệ, tư
thế, và hình

dáng

thay

đổi. Nhiều

độ phân giải,

đa tỷ lệ, các mẫu con, và các
mẫu biến dạng

được

xem xét thành bát

biến về tỷ lệ và hình dáng.



Hình 2.2 Nhận dạng dựa trên so khớp mẫu
Bộ Giáo Dục Và Đào Tạo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM
6

2.2.4 Hướng tiếp cận dựa trên diện mạo:

Trái ngược hẳn với so khớp mẫu, các mô hình (hay các mẫu)

được học từ một
tập

ảnh huấn luyện trước

đó. Sau

đó hệ thống (mô

hình) sẽ xác định khuôn mặt
người. Hay

một số tác

giả còn gọi hướng tiếp cận này là hướng tiếp cận theo
phương pháp học.


Hình 2.3 Tập ảnh dùng để huấn luyện mặt người.
Sau đó hệ thống sẽ tổng hợp tất cả các đặc tình của khuôn mặt con người như: mắt,
mũi, miệng, thành một vector riêng .

Quá trình nhận dạng sẽ thực hiện theo các phương pháp như mạng Neural.


Hình 2.4 Phương pháp nhận dạng mặt người theo mạng Neural.

Bộ Giáo Dục Và Đào Tạo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM
7

2.3
Giải thuật Adaboost và đặt trưng Haar của khuôn mặt:
2.3.1
Giải thuật Adaboost:
AdaBoost là một bộ phân loại mạnh phi tuyến phức dựa trên hướng tiếp cận
boosting được Freund và Schapire đưa ra vào năm 1995. Adaboost cũng hoạt động
trên nguyên tắc kết hợp tuyến tính c ác weak classifiers để hì nh thành một strong
classifier.
Là một cải tiến của tiếp cận boosting, AdaBoost sử dụng thêm khái niệm
trọng số (weight) để đánh dấu các mẫu khó nhận dạng. Trong quá trình huấn
luyện, cứ mỗi weak classifiers được xây dựng, thuật toán sẽ tiến hành cập nhật lại
trọng số để chuẩn bị cho việc xây dựng weak classifier kế tiếp: tăng trọng số của
các mẫu bị nhận dạng sai và giảm trọng số của các mẫu được nhận dạng đúng bởi
weak classifier vừa xây dựng. Bằng cách này weak class ifer sau có thể tập trung
vào các mẫu mà các weak classifiers trước nó làm chưa tốt. Sau cùng, các weak
classifers sẽ được kết hợp tùy theo mức độ tốt của chún g để tạo nên strong
classifier.
Viola và Jones dùng AdaBoost kết hợp các bộ phân loại yếu sử dụng các đặc
trưng Haar-like theo mô hình phân tầng (cascade) như sau:




Hình 2.5: Mô hình phân tần kết hợp các bộ phân loại yếu để xác định khôn mặt




Bộ Giáo Dục Và Đào Tạo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM
8

Trong đó, hk là các bộ phân loại yếu, được biểu diễn như sau:


x: cửa sổ con cần xét
O
k
: ngưỡng (O = teta)
f
k
: giá trị của đặc trưng Haar-like
p
k
: hệ số quyết định chiều của phương trình

AdaBoost sẽ kết hợp các bộ phân loại yếu thành bộ phân loại mạnh như sau:
H(x) = sign(a
1
h
1
(x) +a
2
h

2
(x) + + a
n
h
n
(x)) (a = alpha)
Với: a
t
>= 0 là hệ số chuẩn hoá cho các bộ phân loại yếu



Hình 2.6: Kết hợp các bộ phân loại yếu thành bộ phân loại mạnh

2.3.2 Đặt trưng Haar-like của khuôn mặt
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.7 4 đặt trưng Haar-like cơ bản


Bộ Giáo Dục Và Đào Tạo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM
9

Để 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 cơ bản được mở rộng ra, và được chia làm 3 tập đặc trưng như sau:
Đặc trưng cạnh (edge features):


Đặc trưng đường (line features):

Đặc trưng xung quanh tâm (center-surround features):

Dùng các đặc trưng trên, ta 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 pixel của các vùng đen và các vùng trắng như trong
công thức sau:

f(x) = Tổng
vùng đen
(các mức xám của pixel) - Tổng
vùng trắng
(các mức xám của pixel)

Sử dụng giá trị này, so sánh với các giá trị của các giá trị pixel thô, các đặc
trưng Haar-like có thể tăng/giảm sự thay đổi in -class/out-of-class (bên trong hay
bên ngoài lớp khuôn mặt người), do đó sẽ làm cho bộ phân loại dễ hơn.
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 chi 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
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ó. 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 g iản, do đó tốc độ thực hiện
rấtnhanh.
Bộ Giáo Dục Và Đào Tạo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM
10





Hình 2.8: Cách tính Integral Image của ảnh

Sau khi đã tính được Integral Image, việc tính tổng các giá trị mức xám của
một vùng bất kỳ nào đó trên ảnh thực hiện rất đơn giản theo cách sau:
Giả sử ta cần tính tổng các giá trị mức xám của vùng D như trong hình 4, ta
có thể tính như sau:
D = A + B + C + D – (A+B) – (A+C) + A
Với A + B + C + D chính là giá trị tại điểm P4 trên Integral Image, tương tự như
vậy A+B là giá trị tại điểm P2, A+C là giá trị tại điểm P3, và A là giá trị tại điểm
P1. Vậy ta có thể viết lại biểu thức tính D ở trên như sau:


Hình 4: Ví dụ cách tính nhanh các giá trị mức xám của vùng D trên ảnh

Tiếp theo, để chọn các đặc trưng Haar-like dùng cho việc thiết lập ngưỡng,
Viola và Jones sử dụng một phương pháp máy học được gọi là AdaBoost.
AdaBoost sẽ kết hợp các bộ phân loại yếu để tạo thành một bộ phân loại mạnh.
Với bộ phân loại yếu chỉ cho ra câu trả lời chính xác chỉ hơn viện đoán một
cách ngẫn nhiên một chút, còn bộ phân loại mạnh có thể đưa ra câu trả lời
chính xác trên 60%.

Bộ Giáo Dục Và Đào Tạo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM
11

2.4 Giới thiệu chung về Atmega 32:

2.4.1 Kiến trúc RISC:

Bộ nhớ Flash : 32k bytes
Bộ nhớ EEPROM: 1024 bytes
Bộ nhớ SRAM: 2k bytes
2.4.2 Đặc điểm:
• Hai bộ đếm/định thời 8 bit với chế độ so sánh và chia tần số tách biệt.
• Một bộ đếm/định thời 16 bit với chế độ so sánh và chế độ nạp lại, chia tần số
tách biệt .
• Bốn kênh PWM.
• Giao tiếp nối tiếp SPI master/Slave.
• USARTnối tiếp lập trình được.
• Có bộ định thời Watchdog timer ngày trên chip và lập trình được với bộ dao
động độc lập.
• Bộ so sánh Analog trên chip.
• Một bộ biến đổi ADC 10 bit có đến 8 kênh lối vào.
• Một giao diện TWI đồng bộ tương thích I2C.
• Bộ đếm thời gian thực với bộ dao động tách biệt.
• I/O : 32 đường I/O, trong đó có 23 đường I/O lập trình được.
• Điện áp hoạt động: 4.5 - 5.5V.
• Hoạt động với xung nhịp: 0-16MHz
Bộ Giáo Dục Và Đào Tạo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM
12

2.4.3 Sơ đồ khối:

Hình 2.5 Cấu trúc tổng quát của Atmega 32.


Bộ đệm Port C
Bộ đệm Port B
Ngõ vào số PortC

Ngõ vào số PortB
Ngõ vào
ADC
Chốt &
ADC
TWI
Bộ đếm
chương
trình
Con trỏ
ngăn xếp
Bộ đếm/Bộ
định thời
Dao động
Bộ nhớ
chương
trình Flash
Sram
Dao động nội
Lệnh thanh
ghi
Giải mã
lệnh.
Định thời
Watdog
MCU CTRL
& Định thời
EEPROM
USART
Thanh

ghi trạng
thái
ALU
Thanh ghi
đa năng
X
Y
Z
Đơn vị ngắt
Bộ đệm Port D
Ngõ vào số PortD
SPI
Bộ Logic
chươg trình
Ngõ vào
so sánh
PC0 5,7 Reset
PB0 7
XtLA1
XtLA2
AGND
AREF
Dao động
AVR CPU
Đường
điều khiển
PD0 5
PD6 PD7
VCC
GND

Bộ Giáo Dục Và Đào Tạo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM
13

2.5 Giới thiệu PWM trong đồ án:
2.5.1 PWM .
PWM (Pulse Width Modulator) là Mođun điều rộng xung .
Atmega32 có bốn kênh điều rộng xung nằm ở Timer/Counter1,2 và tương ứng có
4 chân PWM, đó là:

Tên gọi Vị trí Thuộc Timer/Counter
OCR1A PIND.5 TCNT1A
OCR1B PIN1D.4 TCNT1B
OC0 PINB.3 TCNT0
OC2 PIND.7 TCNT2

2.5.2 Phân loại PWM:
Có 3 chế độ PWM:
Chế độ PWM nhanh (fast pwm mode).
Chế độ PWM hiệu chỉnh pha (Phase corect pwm mode).
Chế độ PWM hiệu chỉnh pha và tần số (Phase and Frequency correct pwm
mode).
 Chế độ PWM nhanh:
Fast pwm là chế độ tạo ra xung pwm có tần số cao . Timer đếm từ giá trị
BOTTOM đến giá trị MAX và trở về đếm lại từ giá trị BOTTOM.

Chu kỳ
Cập nhật OCRn và
cờ tràn TOVn=1
Cờ ngắt OCRn= 1
Biểu đồ dạng sóng:


Hình2.6 Biểu đồ dạng sóng của PWM chế độ Fast

Bộ Giáo Dục Và Đào Tạo Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM
14

+ Đối với TCNT1:
Tần số pwm:
_/
OCnxPWM
(1 )
Clk I O
f
f
N TOP
=
+
; N={1, 8, 64, 256, hoặc 1024}
+ Đối với TCNT2:
_/
OCnPWM
.256
Clk I O
f
f
N
=
; N ={1, 8, 32, 64, 128, 256, hoặc 1024}
• Chế độ PWM hiệu chỉnh pha :
Đối với mode này, timer đếm từ giá trị BOTTOM lên đến giá trị MAX và sau đó

đếm từ MAX xuống BOTTOM.
Chế độ Phase Correct pwm có tần số hoạt động thấp hơn so với chế độ Fast pwm.
Tuy nhiên chế độ này thường được sử dụng để điều khiển động cơ do đặc tính đối xứng
của nó.

Biểu đồ dạng sóng:
Hình2.7 Biểu đồ dạng sóng của PWM chế độ hiệu chỉnh pha.
 Tần số pwm:
+ Đối với TCNT1:

_/
OCnxPWM
2. . )
Clk I O
f
f
N TOP
=
; N={1, 8, 64, 256, hoặc 1024}
+ Đối với TCNT2:


_/
OCnPWM
.510
Clk I O
f
f
N
=

; N ={1, 8, 32, 64, 128, 256, hoặc 1024}
 Chế độ PWM hiệu chỉnh pha và tần số (chỉ có ở TCNT1):
TOVn=1 ( ngắt tại
BOTTOM)
Cập nhật OCRnx/TOP và
OCnA =1 hoặc ICF =1
( tại TOP)
Chu kỳ

×