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

XÂY DỰNG hệ THỐNG CAMERA NHẬN DẠNG và bám THEO 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 (12.01 MB, 105 trang )

ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN


Nguyễn Ngọc Hoàng
XÂY DỰNG HỆ THỐNG CAMERA NHẬN DẠNG VÀ
BÁM THEO MẶT NGƯỜI
LUẬN VĂN THẠC SĨ
NGÀNH CÔNG NGHỆ THÔNG TIN
Mã số: 60 48 02 01
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS. Nguyễn Tất Bảo Thiện
TP. HỒ CHÍ MINH – NĂM 2017


Lời cam đoan
Tôi xin cam đoan luận văn này do chính tôi thực hiện dưới sự hướng dẫn khoa học
của TS. Nguyễn Tất Bảo Thiện, giảng viên Trường Đại học Tôn Đức Thắng.
Các dữ liệu nghiên cứu và mô hình thí nghiệm trong luận văn là trung thực, do tôi
lập trình, phân tích, thiết kế.
Các thông tin trích dẫn trong luận văn này đều đã được chỉ rõ nguồn gốc.
Nếu sai, tôi xin chịu hoàn toàn trách nhiệm.
Tác giả luận văn

Nguyễn Ngọc Hoàng

1


Lời cảm ơn
Trước tiên, xin cảm ơn thầy Nguyễn Tất Bảo Thiện vì đã gợi mở, quan tâm, giúp đỡ


cho học viên trong suốt thời gian thực hiện luận văn tốt nghiệp này.
Xin chân thành cảm ơn sự quan tâm hỗ trợ, tạo điều kiện và hết lòng động viên về
tinh thần lẫn vật chất của các thành viên trong gia đình trong suốt thời gian qua.
Bên cạnh đó xin chuyển lời cảm ơn đến bạn Hoàng Ngọc Tý, đã hỗ trợ học viên
thực hiện mạch điều khiển hoạt động tin cậy và ổn định để học viên thử nghiệm và
hoàn chỉnh hệ thống phần cứng đúng tiến độ đặt ra.
Ngoài ra, học viên cũng xin gởi lời cám ơn đến tất cả những thầy cô đã trực tiếp
giảng dạy trong suốt khóa học, những người bạn đã quan tâm, động viên trong quá
trình học tập và nghiên cứu.
Tp.Hồ Chí Minh, tháng 1 năm 2017
Tác giả luận văn

Nguyễn Ngọc Hoàng

2


MỤC LỤC
Lời cam đoan ........................................................................................................................ 1
Lời cảm ơn ............................................................................................................................ 2
Danh mục các bảng .............................................................................................................. 6
Danh mục hình vẽ, đồ thị .................................................................................................... 7
Tóm tắt .................................................................................................................................. 9
CHƯƠNG 1. TỔNG QUAN................................................................................................ 9
1.1. Giới thiệu chung: ................................................................................................................... 9
1.2. Điều khiển camera phát hiện và bám theo mặt người: ...................................................... 9
1.2.1. Phát biểu bài toán: ............................................................................................................ 9
1.2.2. Lý do thực hiện đề tài: ................................................................................................. 10
1.2.3. Đối tượng nghiên cứu: Dữ liệu ảnh có khuôn mặt người nhìn thẳng từ camera. ........... 11
1.2.4. Phạm vi nghiên cứu:....................................................................................................... 11

1.2.5. Tình hình nghiên cứu: .................................................................................................... 11
1.2.6. Tính khoa học và thực tiễn của đề tài: ........................................................................... 14
1.2.7. Phương pháp nghiên cứu:............................................................................................... 15
1.2.8. Các vấn đề khó khăn: ..................................................................................................... 17
1.2.9. Mục tiêu đề tài:............................................................................................................... 19
1.2.10. Dự kiến các lĩnh vực ứng dụng: ................................................................................... 19

CHƯƠNG 2.CƠ SỞ LÝ THUYẾT .................................................................................. 20
2.1. Phát hiện (dò tìm) khuôn mặt người ................................................................................. 20
2.1.1. Các phương pháp phát hiện (dò tìm) khuôn mặt người.................................................. 20
2.1.2. Phương pháp được sử dụng trong luận văn .................................................................... 22
2.2. Điều khiển mờ - fuzzy logic control: .................................................................................. 26
2.2.1. Lý thuyết về điều khiển mờ (Fuzzy Logic Control): ...................................................... 27
2.2.2. Cấu trúc của bộ điều khiển mờ trong luận văn: ............................................................. 32
3


2.3. Điều khiển PID: ................................................................................................................... 34
2.3.1. Lý thuyết về bộ điều khiển PID [8, tr 666-668; 12, tr 2521]: ........................................ 34
2.3.2 Phương pháp sử dụng PID trong luận văn: .................................................................... 36

CHƯƠNG 3. XÂY DỰNG HỆ THỐNG .......................................................................... 37
3.1. Ý tưởng xây dựng hệ thống và hoạt động ......................................................................... 37
3.2. Tiến hành xây dựng thuật toán .......................................................................................... 37
3.2.1. Thuật toán phát hiện khuôn mặt ..................................................................................... 37
3.2.2. Thuật toán bám theo đối tượng: ..................................................................................... 37
3.3. Tiến hành xây dựng phần mềm ......................................................................................... 40
3.3.1 Dùng thuật toán Haar-like dò tìm khuôn mặt trong ảnh ................................................ 41
3.3.2. Chương trình điều khiển bệ xoay mang camera ............................................................. 41
3.3.3. Hoạt động của phần mềm ............................................................................................... 43

3.3.4 Giao diện chương trình phần mềm hệ thống .................................................................. 47
3.4. Tiến hành xây dựng phần cứng phục vụ hệ thống ........................................................... 47
3.4.1. Camera ........................................................................................................................... 47
3.4.2. Bệ xoay mang camera .................................................................................................... 48
3.4.3. Mạch điều khiển motor .................................................................................................. 52
3.4.4. Chương trình vi xử lý nạp xuống mạch điều khiển ........................................................ 52
3.4.5. Hệ thống hoàn chỉnh được sử dụng................................................................................ 56
3.4.6. Một số thông số của hệ thống: ....................................................................................... 58
3.4.7 Một số sản phẩm có chức năng gần giống trên thị trường: ............................................ 59

CHƯƠNG 4.KẾT QUẢ – NHẬN XÉT VÀ PHÂN TÍCH ............................................. 60
4.1. Kết quả thử nghiệm ............................................................................................................ 60
4.2. Nhận xét và phân tích kết quả đạt được ........................................................................... 60
4.2.1. Nhận xét ......................................................................................................................... 60
4.2.2. Phân tích kết quả đạt được và hướng khắc phục ............................................................ 61

CHƯƠNG 5.KẾT LUẬN .................................................................................................. 63
5.1. Kết quả đạt được và ý nghĩa .............................................................................................. 63
4


5.2. Hướng phát triển ................................................................................................................. 63

TÀI LIỆU THAM KHẢO ................................................................................................. 65
PHỤ LỤC 1. Hàm chính của OpenCVSharp được sử dụng trong luận văn [15] ........ 68
PHỤ LỤC 2. Lớp xử lý Fuzy Logic Controller [8, tr 669; 12, tr 2519] ......................... 69
PHỤ LỤC 3. Chương trình vi xử lý nạp cho ATMega32 [2, 16] ................................... 78

5



Danh mục các bảng
Bảng 3.1. Bộ luật điều khiển mờ .............................................................................................43
Bảng 3.2. Thông số của camera ...............................................................................................48
Bảng 3.3. Các thông số mô tơ cần đặt cho chương trình và ý nghĩa của chúng ......................54
Bảng 3.4. Chi phí thực hiện hệ thống ......................................................................................58

6


Danh mục hình vẽ, đồ thị
Hình 2.1.a. Các đặc trưng cạnh ................................................................................................22
Hình 2.1.b. Các đặc trưng đường. ............................................................................................22
Hình 2.1.c. Các đặc trưng khoanh vùng..................................................................................23
Hình 2.2. Ảnh chia nhỏ tại tọa độ (x,y) ...................................................................................23
Hình 2.3. Tổng giá trị pixel nằm trong vùng A .......................................................................24
Hình 2.4. Lược đồ cơ bản của AdaBoost .................................................................................24
Hình 2.5. Thuật toán học AdaBoost ........................................................................................25
Hình 2.6. Dùng chuỗi cascade đã được huấn luyện để phát hiện cửa sổ con phù hợp ...........26
Hình 2.7. Cấu trúc các chuỗi cascade song song ....................................................................26

Hình 2.8. Miền xác định và miền tin cậy của tập mờ .......................................................28
Hình 2.9. Một số dạng hàm thuộc .......................................................................................28
Hình 2.10. Ví dụ về liên hệ giữa biến ngôn ngữ và biến vật lý .......................................29
Hình 2.11. Giải mờ theo phương pháp cực đại ..................................................................32
Hình 2.12. Sơ đồ khối cấu trúc bộ điều khiển mờ trong luận văn...................................32
Hình 2.13. Sơ đồ khối của hệ thống xử lý PID ..................................................................34
Hình 3.1. Lưu đồ thể hiện quá trình bám đối tượng của hệ thống ..................................39
Hình 3.2. Sơ đồ khối tổ chức phần mềm hệ thống ............................................................40
Hình 3.3. Mô tả hệ thống dò tìm khuôn mặt ......................................................................41

Hình 3.4. Mô tả kỹ thuật điều khiển bệ xoay camera bám đối tượng .............................42
Hình 3.5. Giao diện chương trình phát hiện và bám mặt người ......................................47
7


Hình 3.6. Mẫu camera sử dụng trong luận văn..................................................................47
Hình 3.7. Hình dáng bệ xoay mang camera trước khi được cải tiến...............................49
Hình 3.8. Tháo rời bệ xoay trưóc khi cải tiến ....................................................................49
Hình 3.9. Hộc trên và dưới của bệ xoay trước khi cải tiến ..............................................50
Hình 3.10. Mô tơ và công tắc hành trình của bệ xoay cũ. ................................................50
Hình 3.11. Mô tơ DC có encoder dùng cho bệ xoay cải tiến ..........................................51
Hình 3.12. Bệ xoay sau khi được cải tiến ...........................................................................51
Hình 3.13. Hình dạng tổng thể mạch điểu khiển mô tơ DC .............................................52
Hình 3.14. Sơ đồ khối chương trình điều khiển nạp vào vi xử lý ...................................53
Hình 3.15. Sơ đồ mạch điều khiển motor của bệ xoay mang camera .............................55
Hình 3.16. Sơ đồ mạch in của mạch điều khiển ................................................................56
Hình 3.17. Sơ đồ khối hệ thống hoàn chỉnh .......................................................................56
Hình 3.18. Hệ thống hoàn chỉnh được sử dụng thực tế ....................................................57
Hình 3.19. Sơ đồ khối hóa hệ thống....................................................................................57
Hình 3.20. Camera Dahua SD42212T-HN ........................................................................59
Hình 3.21. Camera Dahua SD6C220T-HN........................................................................59
Hình 4.1. Phát hiện và khoanh vùng mặt nhìn thẳng, xoay ±20 độ ................................60

8


Tóm tắt
Nhiệm vụ của luận văn là giải quyết bài toán phát hiện khuôn mặt và điều khiển bệ
xoay camera bám theo mặt người trong thời gian thực bằng thuật toán Fuzzy Logic,
đồng thời đề xuất phương pháp ổn định tốc độ của bệ xoay camera.

Báo cáo này sẽ trình bày từng bước những tình huống, khó khăn gặp phải và hướng
giải quyết trong quá trình triển khai nhằm đảm bảo luận văn được thực hiện đúng
theo các yêu cầu, nhiệm vụ đặt ra. Học viên đã chọn sử dụng thư viện
OpenCVSharp ứng dụng các đặc trưng Haar-like và thuật toán tăng tốc AdaBoost
nhằm đẩy nhanh quá trình dò tìm khuôn mặt người giúp tạo tiền đề cho chức năng
điều khiển bám của hệ thống.
Việc điều khiển bệ xoay mang camera bám theo khuôn mặt được học viên thực hiện
theo hướng sử dụng kỹ thuật điều khiển mờ dựa trên thông số khoảng cách và độ
thay đổi khoảng cách của đối tượng so với tâm khung ảnh, đồng thời kết hợp giải
thuật điều khiển PID trên vi điều khiển ATMega32 nhằm ổn định tốc độ động cơ
khi có tải. Kết quả đã được kiểm chứng bằng mô hình bệ xoay do học viên cải tiến
từ bộ khung của một loại sản phẩm sẵn có trên thị trường.

9


Chương 1. Tổng quan

CHƯƠNG 1. TỔNG QUAN
1.1. Giới thiệu chung:
Thị giác là giác quan cho phép con người cũng như hầu hết các loài động vật
thu thập thông tin nhanh nhất, tinh tế nhất và cũng là kênh thông tin dồi dào nhất
giúp đưa ra những quyết định kịp thời và nhanh chóng trong hầu hết tất cả các tình
huống trong thực tế.
Nhiều năm qua, có rất nhiều công trình nghiên cứu và ứng dụng thực tế 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 [6]. Các nghiên cứu đi từ bài toán đơn giản, đối tượng cụ thể là ảnh chứa
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. Ngày 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, mặt nhìn nghiêng hoặc đang trong tình trạng

chuyển động, nhằm đáp ứng nhu cầu mà con người đặt ra [10; 11; 17].
Từ nhiều năm nay, cùng với sự phát triển mạnh mẽ của công nghệ robot, bài
toán phát hiện khuôn mặt người và bám đối tượng cũng được nhiều nhà khoa học
quan tâm và thực hiện. Qua đó, hàng loạt các cuộc nghiên cứu và thử nghiệm về
vấn đề tự động nhận dạng khuôn mặt đã được tiến hành [10; 17].
Các nghiên cứu được kể ra ở trên chủ yếu thiên về xử lý ảnh thuần túy. Bên
cạnh đó, việc áp dụng logic mờ vào hệ thống camera để nhận dạng và bám mặt
người nói riêng hay đối tượng khác nói chung còn ít được nghiên cứu [9; 13]. Ngoài
ra, học viên sau khi tham khảo thị trường bệ xoay và hệ thống camera đã thấy rằng
các sản phẩm camera trên thị trường chưa bám được, chưa xoay tốt, chưa xoay như
mong muốn..v..v. Vấn đề này được học viên trình bày ở phần 3.4.7 – Một số hệ
thống camera trên thị trường.
1.2. Điều khiển camera phát hiện và bám theo mặt người:
1.2.1. Phát biểu bài toán:
Bài toán phát hiện và bám mặt người gồm có 2 bước như sau:
9


Chương 1. Tổng quan

a. Phát hiện mặt người:
Xác định ảnh chứa mặt người từ ảnh đầu vào (có thể là chuỗi ảnh động hoặc
video). Nếu khung hình chứa mặt người, khoanh vùng và xác định vị trí, phạm vi
của khuôn mặt. Đây là bước đầu tiên và quan trọng nhất trong các ứng dụng phân
tích mặt người (ví dụ: nhận dạng mặt người, định vị mặt người, bám theo mặt
người, nhận biết biểu cảm thể hiện trên khuôn mặt người…).
b. Bám theo mặt người:
Từ kết quả phát hiện mặt người ở bước trên, hệ thống sẽ điều khiển camera
bám theo mặt người.
Yêu cầu đặt ra: Hệ thống xoay bám theo khi mặt người chuyển động và mặt

người luôn nằm trong phạm vi khung hình của camera dựa trên sự tương quan giữa
tâm của khung hình camera so với vị trí của khuôn mặt được phát hiện trong khung
hình. Tín hiệu điều khiển bệ xoay camera (bao gồm xoay theo phương ngang và
dọc) được cập nhật liên tục và điều khiển song song nhằm mục đích đạt được sự
linh động, mượt mà khi bệ xoay camera đeo bám đối tượng.
1.2.2. Lý do thực hiện đề tài:
Việc thu thập thông tin từ hình ảnh ngày càng trở thành một nhu cầu không
thể thiếu của các hệ thống thông tin. Nhiều nghiên cứu và ứng dụng thực tế từ lĩnh
vực này đang được nghiên cứu và phát triển trong nhiều khía cạnh khác nhau của xã
hội, trong đó đặc biệt là những ứng dụng có khả năng phát hiện và bám theo mặt
người.
Bài toán phát hiện khuôn mặt người và bám đối tượng được nhiều nhà khoa
học quan tâm và thực hiện nhưng giải quyết bài toán trong thời gian thực là một vấn
đề tương đối khó. Đặc biệt phải kể đến nhu cầu xây dựng những hệ thống hay robot
được điều khiển mượt mà, uyển chuyển và có khả năng hoạt động nhịp nhàng như
hoạt động của con người cũng là vấn đề không dễ giải quyết. Thực tế cho thấy các
kết quả còn hạn chế, tốc độ xử lý chậm, chưa đáp ứng được nhu cầu hiện đại, kết
nối chưa nhiều với các cơ cấu truyền động để thực thi các ứng dụng thực tế.

10


Chương 1. Tổng quan

Vì vậy nghiên cứu, triển khai bài toán phát hiện và bám mặt người xác định,
thực thi phần mềm và phần cứng đáp ứng tốt trong thời gian thực mang tính cấp
thiết.
1.2.3. Đối tượng nghiên cứu: Dữ liệu ảnh có khuôn mặt người nhìn thẳng từ
camera.
1.2.4. Phạm vi nghiên cứu:

-

Về lý thuyết: Phương pháp phù hợp phát hiện và bám theo khuôn mặt.

-

Về ứng dụng: Chương trình phần mềm và phần cứng điều khiển bệ xoay có
tốc độ thay đổi mang camera phát hiện và bám theo đối tượng.

-

Các điều kiện thực hiện : camera quay thẳng khuôn mặt, cường độ ánh sáng
trong khoảng 300 – 500 lux (độ sáng tiêu chuẩn bình thường).

1.2.5. Tình hình nghiên cứu:
a. Tình hình nghiên cứu trong nước:
Ở Việt Nam, các công trình nghiên cứu về xử lý ảnh trong việc phát hiện đối
tượng nói chung hay phát hiện khuôn mặt nói riêng đã xuất hiện nhiều trong các
trường đại học, Viện nghiên cứu trong những năm gần đây. Nhóm nghiên cứu của
TS. Lê Đình Duy và các đồng sự tại PTN truyền thông Đa Phương tiện, ĐH Công
nghệ Thông tin có những nghiên cứu về tái nhận dạng nhân vật trong khuôn khổ của
đề tài ĐHQG về phát hiện trộm dùng mạng cảm biến camera. Đề tài này đã nghiên
cứu bài toán sử dụng hướng tiếp cận máy học cho việc phát hiện các thành phần cơ
thể người (body-parts). Trong phần nghiên cứu liên quan đến lĩnh vực thị giác máy
tính, đề tài tập trung vào việc nghiên cứu các kĩ thuật dùng thông tin hình ảnh để so
khớp các ảnh của cùng một người khi di chuyển qua nhiều camera [18].
Ngoài ra, nhóm nghiên cứu gồm TS.Ngô Đức Thành, TS.Lê Đình Duy và các
đồng sự đã xuất bản bài báo với đề tài Xác định vị trí mắt người trong video bằng
cách kết hợp nhận dạng và theo vết (2013). Trong công trình này, các tác giả đã đề
xuất phương pháp kết hợp hai hướng tiếp cận: dựa trên phát hiện mắt và dựa trên

theo dấu vết. Kết quả cho thấy phương pháp đề xuất của đề tài đạt được một cải tiến
vượt trội so với cách tiếp cận SOTA [19].
11


Chương 1. Tổng quan

Bên cạnh đó, các công trình nghiên cứu trong nước về điều khiển hệ thống sử
dụng FuzzyLogic cũng được quan tâm nhiều trong thời gian gần đây. Nhóm nghiên
cứu của PGS.TS. Lê Hoài Bắc và các đồng sự tại Trường ĐH Khoa Học Tự Nhiên
có những nghiên cứu, xây dựng và thử nghiệm các hệ thống hỗ trợ quyết định dựa
trên các công cụ khác nhau, chủ yếu trên hai công cụ: mạng nơron và logic mờ [20].
Tiến hành thực nghiệm với các mô hình lai giữa các công cụ: nơron, logic mờ và
thuật giải di truyền (Genetic Algorithm) vào các bài toán:
 Tối ưu hoá qui trình sản xuất và thành phần thuốc Y dược.
 Nhận dạng: ảnh chân dung, ảnh vân tay, cảm xúc dựa trên khuôn mặt, dò tìm
khuôn mặt, tìm kiếm khuôn mặt.
 Hệ thống chứng thực chữ ký điện tử.
 Hệ thống chuẩn đoán bệnh dựa trên mạng nơron và logic mờ.
Đã xây dựng được một số hệ thống chương trình hỗ trợ trong các lĩnh vực khác
nhau như: Y học, Dược học, Nhận dạng, Chứng thực, đặc biệt là trong lĩnh vực an
ninh quốc phòng. Một số chương trình hỗ trợ cho việc tiến hành xây dựng các
Robot.
Xây dựng hệ thống giúp trẻ em khiếm thính luyện âm, tập nói, tập hát phát triển
tư duy dựa trên công nghệ xử lý tiếng nói, âm thanh, noron.... Đây là một hệ thống
chương trình rất có ý nghĩa, trợ giúp cho trẻ em khiếm thính hòa nhập với cuộc sống
bình thường của xã hội.
Việc kết hợp các công cụ của mạng nơron và logic mờ cùng với các kỹ thuật
khác cho phép giải quyết tốt một số lớp bài toán trong thực tế, mang lại hiệu qủa
kinh tế cao.

b. Tình hình nghiên cứu ngoài nước:
Hiện nay, có nhiều nhóm nghiên cứu trên thế giới đã đạt được những thành tựu
đáng kể về vận dụng kết quả của việc xử lý ảnh trong việc phát hiện đối tượng. Tác
giả Andreas Mogelmose (2012), Phòng kiến trúc, thiết kế và kỹ thuật phương tiện,
trường ĐH Aalborg, Đan Mạch đã nghiên cứu ứng dụng phát hiện thay đổi tín hiệu
đèn giao thông, phát hiện tín hiệu báo tốc độ tối đa cho phép bằng cách sử dụng thư
12


Chương 1. Tổng quan

viện OpenCV. Trong nghiên cứu này, OpenCV được sử dụng như một công cụ giúp
nhập, xuất và vẽ ảnh, video [3]. Bên cạnh đó, tác giả đã huấn luyện và qua đó xây
dựng hoàn chỉnh bộ phân loại đối tượng thông qua các công cụ được OpenCV hỗ
trợ. Cùng giải quyết bài toán phát hiện, tác giả Yufei Wang đến từ trường ĐH
California, USA đã phát triển hệ thống phát hiện và bám theo phương tiện nhằm
mục đích cảnh báo tai nạn giao thông đường bộ [13]. Trong nghiên cứu này, tác giả
sử dụng các bộ phân loại dựa trên đặc trưng Haar kết hợp với thuật toán tăng cường
Adaboost trong việc phát hiện phương tiện giao thông. Đối với bài toán bám theo
phương tiện, tác giả nghiên cứu và sử dụng phương pháp Kalman filtering. Hệ
thống dựa trên sự so sánh các ảnh thu được và dùng phương pháp lọc phần tử dựa
trên đặc trưng phương tiện để phát hiện sự chuyển động của phương tiện, phương
pháp này còn giúp tránh bỏ sót đối tượng bị che phủ bởi đối tượng khác trong
khung hình.
Trong vấn đề điều khiển và bám theo đối tượng, FuzzyLogic được nhiều tác giả
quan tâm và nghiên cứu, ứng dụng vào các hệ thống điều khiển. Nhóm tác giả
Dimiter Driankov và Alessandro Saffiotti thuộc phòng Kỹ thuật, ĐH Örebro, Thụy
Điển đã xây dựng ứng dụng path tracking và bám theo đối tượng di chuyển bằng
Fuzzy Logic và xây dựng hệ hỗ trợ ra quyết định dựa trên kinh nghiệm về hành vi
của con người (human-driver) [7]. Nghiên cứu chỉ ra rằng, Fuzzy Logic khi được áp

dụng vào hệ thống điều khiển có thể cho cùng một hiệu quả mà không cần thông tin
chính xác, những thông tin có thể mang đến nhiều khó khăn và tốn kém mới có thể
xử lý được. Fuzzy Logic cũng là một công cụ thích hợp để nhận thức về môi trường
với thông tin không đầy đủ do khả năng nội suy và khả năng quản lý thông tin theo
cách mà nhà thiết kế hệ thống theo dõi đường dẫn có thể hiểu được. Cuối cùng,
Fuzzy Logic cung cấp khả năng tích hợp hai nguồn thông tin thường được sử dụng
trong các ứng dụng robot điều khiển từ xa: điều khiển phương tiện dưới dạng các
quy tắc If-Then từ kinh nghiệm tài xế và luật điều khiển được trích xuất trực tiếp từ
dữ liệu cảm biến ghi lại trong khi tài xế đang điều khiển phương tiện. Lợi thế của
logic mờ là cả hai nguồn thông tin có thể được hợp nhất thành một cách mạch lạc
bằng các quy tắc If-Then. Kết quả của nghiên cứu trên cho thấy, Fuzzy Logic là một
công cụ hữu ích để thiết kế hệ thống kiểm soát theo dõi cho các xe tự hành kết hợp
13


Chương 1. Tổng quan

cả hai quy tắc lái xe và máy học. Cùng mục đích so sánh tính hiệu quả và sức mạnh
xử lý của Fuzzy Logic so với các giải pháp điều khiển hiện đại khác, nhóm tác giả
Husain Ahmed, Gagan Singh, Vikash Bhardwaj, Saket Saurav, Shubham Agarwal
từ phòng Kỹ thuật điện máy, Uttarakhand, Ấn Độ đã đưa ra thí nghiệm điều khiển
động cơ DC với 4 giải pháp khác nhau bao gồm: Ziegler-Nichols tuning, Hand
tuning, Soft tuning in built in SIMULINK và Fuzzy logic controller [8].Theo so
sánh kết quả của mô phỏng, nghiên cứu chỉ ra rằng bộ điều khiển Fuzzy Logic tốt
hơn so với các phương pháp khác. Bộ điều khiển Fuzzy Logic trình bày các chỉ số
hiệu suất thỏa đáng sau đây:
 Vượt quá - Overshoot: Có thể giảm mức vượt quá bằng cách sử dụng Bộ
điều khiển logic mờ (Fuzzy Logic Controller).
 Tăng thời gian: 1 giây, thấp nhất so với các phương pháp khác.
 Lỗi trạng thái ổn định: 0

Do đó, nghiên cứu kết luận rằng bộ điều khiển logic mờ được đề xuất cung cấp các
đặc tính hiệu suất tốt hơn và cải thiện việc kiểm soát động cơ DC.
Nhận xét: Như vậy, ứng dụng xử lý ảnh để phát hiện mặt người qua đó kết hợp với
điều khiển bám theo đã thể hiện được tiềm năng to lớn trong các ứng dụng sát sườn
với cuộc sống hằng ngày và xa hơn là các ứng dụng cao cấp trong y tế và quân sự.
Từ đó, chủ đề này nhận được nhiều sự quan tâm, nghiên cứu và ứng dụng thể hiện
trong các công trình khoa học gần đây; song đây vẫn còn là lĩnh vực nghiên cứu và
ứng dụng rất tiềm năng và được nhiều nhà nghiên cứu quan tâm, tìm tòi và phát
triển. Một số vấn đề đó là ứng dụng các giải pháp liên quan đến xử lý ảnh trong thời
gian thực và thục thi trên hệ thống nhúng, bài toán điều khiển hệ thống phi tuyến
phức tạp và xử lý giảm nhiễu, bài toán giảm ảnh hưởng của các tham số bất định tới
hệ thống.
1.2.6. Tính khoa học và thực tiễn của đề tài:
Đề tài nghiên cứu, đề xuất sử dụng các phương pháp state of the art để phát
hiện khuôn mặt. Trong đề tài này, hai cách phát hiện đối tượng dựa trên ảnh lẫn dựa
trên đặc điểm hình học được sử dụng phối hợp. Việc phát hiện khuôn mặt là sự kết

14


Chương 1. Tổng quan

hợp giữa một thuật toán tăng cường gọi là AdaBoost và đặc tính đáp ứng nhanh của
các đặc trưng Haar.
Sau khi dò được khuôn mặt người, vị trí mặt người sẽ được cập nhật và xử lý
phù hợp để truyền tín hiệu cho bộ điều khiển; bộ điều khiển sẽ so sánh vị trí mặt
người với tâm của khung hình và xuất tín hiệu điều khiển đến board mạch điện tử
đề điều khiển bệ xoay sao cho camera luôn bám mặt người và vị trí mặt người duy
trì ở tâm khung hình.
Ngày nay fuzzy logic thể hiện khả năng ưu việt trong điều khiển các hệ

thống phức tạp và có thông tin không chắc chắn [1; 7; 8; 12]. Trong đề tài này, bệ
xoay được hiệu chỉnh, trong đó động cơ AC được thay thế bởi động cơ DC đi kèm
với encoder để mở rộng khả năng hoạt động của bệ xoay. Bệ xoay được xem như là
một hệ thống có đặc tính động học phức tạp cần những nghiên cứu chuyên sâu của
những ngành liên quan đến cơ học. Tuy nhiên trong đề tài này, đặc tính động học
chính xác của bệ xoay được bỏ qua và xem như không biết. Vì vậy đề tài đề xuất
hướng tiếp cận ứng dụng Fuzy Logic với các luật mờ được xây dựng dựa trên kinh
nghiệm về hành vi của bệ xoay để xây dựng bộ điều khiển góc xoay camera bám
theo mặt người.
Chức năng này đặc biệt hữu dụng trong rất nhiều môi trường và lĩnh vực
khác nhau (bao gồm an ninh, thị giác người máy, giải trí, xác nhận cá nhân, và các
dạng truyền thông, giao tiếp qua internet, robot…).
1.2.7. Phương pháp nghiên cứu:
a. Khảo sát tổng quan về phương pháp xử lý ánh và xây dựng phần mềm:
Bao gồm quá trình sau:
 Khảo sát tổng quan về bài toán nhận dạng khuôn mặt người, các phương
pháp kỹ thuật hiện nay trong bài toán phát hiện mặt người.
 Tìm hiểu khả năng lọc nhiễu ảnh sau khi lấy ảnh từ camera.
Kết quả thu được:
 Tài liệu tổng hợp, phân tích các phương pháp State Of The Art (SOTA) hiện
nay về nhận dạng khuôn mặt.
 Các bộ dữ liệu chuẩn cho bài toán nhận dạng mặt người.
15


Chương 1. Tổng quan

 Xây dựng ứng dụng nhận dạng khuôn mặt người sử dụng công cụ
OpenCVSharp bằng phương pháp tối ưu nhất hiện nay là dựa trên các đặc
trưng Haar-like có sự tham giá của thuật toán tăng tốc Adaboost.

 Lọc nhiễu ảnh: Sử dụng bộ lọc nhiễu có trong camera và các thư viện mã
nguồn mở.
b. Khảo sát và xây dựng phần cứng:
Bao gồm quá trình sau:
 Khảo sát và tìm hiểu cách sử dụng các loại camera phổ thông trên thị trường.
 Khảo sát các thiết bị cho phép điểu khiển bệ xoay mang camera bám theo
mặt người.
 Tìm hiểu và lắp ráp mạch điều khiển cho hệ thống bệ xoay mang camera.
 Tìm hiểu việc nhận dữ liệu trả về từ camera và nạp mã điều khiển xuống
mạch điều khiển của bệ xoay.
Kết quả đạt được:
 Chọn ra thiết bị tối ưu về khả năng giao tiếp và giá thành để làm thực
nghiệm, gồm có: Camera IP kết nối hệ thống qua cáp RJ45, mạch điều khiển
giao tiếp giữa bệ xoay với máy tính và bệ xoay thông dụng trên thị trường
PTS-302.
 Thi công hoàn chỉnh phần cứng gồm: Bệ xoay mang camera và mạch điều
khiển.
c. Phân tích bài toán điều khiển bám mặt người và thiết kế bộ điều khiển
FuzzyLogic:
Sau khi xác định đầu vào của bài toán gồm 2 thông tin: độ lệch của mặt người so
với tâm khung hình và sai lệch giữa 2 lần quét kế tiếp, tiếp tục tiến hành các bước
sau:
 Nghiên cứu logic mờ: xác định tập mờ, biến ngôn ngữ mờ, các luật mờ dựa
trên thông số khoảng cách và độ thay đổi khoảng cách của đối tượng so với
tâm khung ảnh.
 Nghiên cứu điều khiển mờ: dựa vào hệ luật mờ, input (giá trị của cảm biến),
đưa ra output thích hợp.
16



Chương 1. Tổng quan

 Thiết kế bộ điều khiển mờ: input rõ qua bộ mờ hóa thành input mờ (tập mờ);
sau đó qua hệ luật mờ đưa ra output mờ; từ output mờ qua bộ giải mờ đưa ra
giá trị rõ; giá trị rõ này được xử lý để điều khiển motor.
 Đề xuất phương pháp cải tiến khả năng đáp ứng động cơ.
Kết quả đạt được sau khi đã nắm vững kiến thức về điều khiển Fuzzy Logic:
 Hiện thực bộ điều khiển mờ: biến mờ, luật mờ, giải mờ.
 Xây dựng hệ thống điều khiển bệ xoay có khả năng đáp ứng thời gian thực
với 2 tiêu chí:
o Phát hiện: sử dụng thuật toán phát hiện mặt người với thời gian xử lý
ngắn nhất.
o Bám theo: bằng cách điều khiển song song 2 motor.
 Kết hợp xử lý giữa FuzzyLogic ở tầng trên và giải thuật PID nhận phản hồi
từ sensor ở tầng vi điều khiển, giúp bệ xoay hoạt động an toàn.
d. Xây dựng hệ thống phát hiện và bám theo đối tượng:
Sau khi hoàn thành phần cứng và thiết kế bộ điều khiển FuzzyLogic, tiến hành
lắp ráp hoàn chỉnh hệ thống bao gồm: Chương trình phần mềm và phần cứng điều
khiển bệ xoay có tốc độ thay đổi mang camera phát hiện và bám theo đối tượng.
e. Kiểm định hệ thống:
Sau khi xây dựng hoàn chỉnh hệ thống, tiến hành chạy thử và đo các thông số,
các bước thực hiện như sau:
 Xác định thời gian lấy ảnh từ camera, tốc độ trung bình đo được: 70ms/frame.
 Kiểm tra khả năng phát hiện khuôn mặt với thời gian đáp ứng ngắn nhất: 30ms.
 Kiểm tra thời gian xử lý của giải thuật FuzzyLogic: 1ms.
 Kiểm tra hiệu suất hoạt động của mạch điều khiển, thay thế linh kiện không an
toàn.
 Theo dõi hoạt động của bệ xoay, duy trì vận tốc điều khiển an toàn.
1.2.8. Các vấn đề khó khăn:
a. Phần mềm:

Các phương pháp phổ biến trong việc phát hiện đối tượng hiện nay thường dựa
vào việc tìm ra mô hình hoặc bộ phân lớp hoặc một bộ cơ sở dữ liệu đặc tả tối ưu
17


Chương 1. Tổng quan

nhất. Tuy nhiên những mô hình hay cơ sở dữ liệu này chưa thực sự đem lại hiệu quả
tốt trong các trường hợp sau:
- Độ nghiêng khuôn mặt trong khung hình: Hệ thống cho kết quả phát hiện tốt
nhất đối với khuôn mặt nhìn thẳng. Đối với các tư thế khuôn mặt nghiêng hoặc
lệch, kết quả phát hiện thường thiếu tính liên tục do việc phát hiện bị gián
đoạn.
- Sự xuất hiện của các đối tượng khác: những đối tượng có thể làm cho kết quả
bị sai lệch có thể là khuôn mặt người có kích thước lớn (hoặc các vật thể có
cấu trúc hình học tương tự mặt người). Chúng xuất hiện đột ngột làm cho hệ
thống kém chính xác trong quá trình bám khuôn mặt.
- Phông nền và điều kiện ghi nhận ảnh: đây cũng là hai vấn đề ảnh hưởng không
nhỏ đến chất lượng của việc phát hiện khuôn mặt người. Khi phông nền ảnh
càng chứa nhiều thành phần (bao gồm các chi tiết rối rắm, màu sắc phức tạp)
hoặc sự biến đổi liên tục (dịch chuyển, rung, lắc, giật, …) hoặc môi trường
không đồng nhất, không trong sạch (có bụi hoặc nhiều vùng có chiết suất khác
nhau ) thì hiệu vấn đề phát hiện càng khó khăn và phức tạp.
b. Phần cứng:
Luận văn tận dụng thiết bị cùng loại có sẵn trên thị trường để giảm bớt độ khó
khăn và phức tạp nên việc cấu trúc lại phần cứng là tất yếu. Có hai khó khăn trong
quá trình cải tiến:
-

Cơ khí của bệ xoay: Việc thay thế mô tơ có cấu trúc hoàn toàn khác biệt

khiến cho phần cơ khí của toàn bộ bệ xoay phải thay đổi.

-

Mạch điều khiển: Để bệ xoay có thể hoạt động linh hoạt và uyển chuyển nhờ
điều khiển song song hai động cơ, vấn đề giao tiếp giữa mạch điều khiển và
máy tính cũng như quá trình phản hồi vị trí của encoder phải được xử lý tốt.

Để khắc phục khó khăn về phần cứng, học viên đã tìm hiểu và sử dụng thuật
toán PID, giúp nâng cao khả năng điều khiển và đáp ứng ổn định để giữ camera
(khối lượng khoảng 0,5 kg) an toàn trong quá trình hoạt động.

18


Chương 1. Tổng quan

1.2.9. Mục tiêu đề tài:
-

Nghiên cứu các kỹ thuật hiện nay cho bài toán phát hiện khuôn mặt người,
kết hợp với hệ thống điều khiển động cơ của bệ xoay mang camera thực hiện
việc bám mặt đối tượng.

-

Đưa ra một số đề xuất giúp cải thiện đáp ứng động cơ bệ xoay camera.

-


Triển khai hệ thống phát hiện và bám khuôn mặt mặt người cụ thể, đáp ứng
trong thời gian thực với khả năng hoạt động mượt mà, uyển chuyển.

1.2.10. Dự kiến các lĩnh vực ứng dụng:
-

Ngôi nhà thông minh, trợ giúp người khuyết tật

-

Giám sát an ninh, chống trộm.

-

Kỹ thuật Robot, quốc phòng.

-

Phát hiện sự cố.

-

Hoạt động hội đàm, giáo dục, đào tạo trực tuyến.

-

Làm công cụ nghiên cứu, thực hành trực quan về thị giác máy tính.

19



Chương 2. Cơ sở lý thuyết

CHƯƠNG 2.CƠ SỞ LÝ THUYẾT
2.1. Phát hiện (dò tìm) khuôn mặt người
2.1.1. Các phương pháp phát hiện (dò tìm) khuôn mặt người
Có hai hướng tiếp cận chính thường được sử dụng để dò tìm khuôn mặt: các
phương pháp dựa trên ảnh và các phương pháp dựa trên dạng hình học. Vài phương
pháp phát hiện khuôn mặt có thể được kể ra như sau:
a. Phát hiện dựa trên ảnh
Các phương pháp thuộc nhóm này dựa trên một tập hợp các ví dụ mẫu và sử
dụng một cửa sổ trượt để thực hiện phát hiện khuôn mặt. Cách làm này khác biệt so
với các phương pháp dựa trên khuôn mẫu (cần thiết phải có sẵn mô hình, cơ sở tri
thức về khuôn mặt). Để trích các đặc trưng từ các mẫu ví dụ, cần phải thực hiện
việc cho học dưới dạng thống kê hoặc những thuật toán huấn luyện máy (machine
learning) với càng nhiều càng tốt các phân bố mẫu ví dụ bao gồm cả hai trường hợp
“là khuôn mặt” hay “không là khuôn mặt”. Do các hàm mật độ này là hoàn toàn
ngẫu nhiên nên thường phải xấp xỉ chúng để tạo nên các hàm phân biệt hai loại đối
tượng này. Tùy theo cách tiếp cận xác suất nào mà sẽ xuất hiện các phương pháp dò
tìm tương ứng. Dưới đây là một số những phương pháp thuộc nhóm này:
-

Phương pháp Eigenfaces.

-

Phương pháp Fisher’s Linear Discriminant

-


Các phương pháp dựa trên Eigen-space.

-

Các phương pháp dựa trên mạng nơ-ron nhân tạo.

-

Support Vector Machine (SVM).

-

Hidden Markov Model (HMM).

-

Phương pháp Sparse Network of Winnows (SNoW)

Các công trình tập trung vào phát triển những kỹ thuật máy học nhằm tối ưu hóa
các tham số của các mô hình nhận dạng hoặc học những đặc trưng hiệu quả từ dữ
liệu huấn luyện [3; 4; 9]. Do nhóm phương pháp này dựa trên việc huấn luyện sao
cho thu được mô hình khuôn mặt từ một tập dữ liệu tích cực (là khuôn mặt) và một
tập dữ liệu không tích cực (không là khuôn mặt) nên chúng ko có mối tương quan
20


Chương 2. Cơ sở lý thuyết

trực tiếp đến các đặc điểm hình học của một kiểu khuôn mặt điển hình. Nhóm
phương pháp còn lại sẽ là minh chứng cho cách tiếp cận theo đặc điểm hình học.

b. Phát hiện dựa trên dạng hình học (feature based approach):
Khác với nhóm phương pháp vừa nêu, các phương pháp thuộc nhóm này quan
tâm đến đặc điểm cấu trúc hình học của khuôn mặt người. Vì vậy chúng còn được
gọi là nhóm tiếp cận dựa trên đặc điểm (feature-based). Tùy theo cách triển khai
vấn đề mà chúng được chia thành hai phân nhóm:
-

Các phương pháp Top-down.

-

Các phương pháp Bottom-up.

Tuy nhiên mỗi phân nhóm trên do dựa trên nguyên tắc khác nhau nên chúng
cũng có ưu, nhược điểm riêng. Nhóm Top-down sử dụng màu sắc như là một loại
đặc trưng đơn giản nhưng rất hiệu quả được sử dụng rất rộng rãi trong các công
trình [5; 10; 11]. Nhóm này chủ yếu dùng màu da để phát hiện khuôn mặt nên rất
nhạy cảm, sẽ dễ đưa đến kết quả không đúng bởi nhiều yếu tố như ảnh nền, sự thay
đổi cường độ sáng qua các camera khác nhau. Trong khi đó, nhóm Bottom-up chủ
yếu dùng các đặc điểm bất biến của khuôn mặt đối với ngoại cảnh để phát hiện
khuôn mặt rồi tùy vào mối liên hệ của chúng với nhau mà thiết lập các liên kết giữa
các đặc điểm bất biến này ngay trong ảnh đầu tiên; tiếp theo sẽ dựa vào đó mà tìm
chúng trên các ảnh kế tiếp. Có thể kể đến đặc trưng dựa trên sinh học (Biologically
Inspired Feature – BIF), loại đặc trưng khá mới cũng nhận được sự quan tâm trong
[10].
Trong luận văn này, việc phát hiện khuôn mặt là sự kết hợp giữa một thuật toán
tăng cường gọi là AdaBoost và đặc tính đáp ứng nhanh của các đặc trưng Haar. Đây
là một phương pháp được xem là dựa trên cả hai cách phát hiện đối tượng dựa trên
ảnh lẫn dựa trên đặc điểm hình học.
Cụ thể, phương pháp này không chỉ sử dụng các thuật toán học (learning

algorithm) để huấn luyện bộ phân lớp bằng các mẫu ví dụ đúng và không đúng mặt
người được chọn lựa trước cẩn thận (đặc điểm của nhóm phương pháp dựa trên
ảnh), mà các đặc trưng được chọn ra bởi thuật toán học hầu hết có liên quan trực
tiếp đến các đặc trưng riêng biệt trên khuôn mặt người (độ tương phản của sóng
mũi, vị trí cặp mắt …). Kỹ thuật tăng tốc cải thiện hiệu suất của các bộ phân loại cơ
21


Chương 2. Cơ sở lý thuyết

sở bằng cách đặt lại trọng số cho các mẫu ví dụ dùng trong huấn luyện. Lý do đưa
đến quyết định trên sẽ được lần lượt trình bày trong các phần tiếp theo.
2.1.2. Phương pháp được sử dụng trong luận văn
Luận văn sử dụng thuật toán phát hiện mặt người dựa trên đặc trưng Haarlike, kết
hợp thuật toán tăng tốc AdaBoost. Sau khi phát hiện được vị trí khuôn mặt trong
khung hình, lệnh điều khiển sẽ được gửi đến thiết bị thi hành (mạch điều khiển bệ
xoay camera). Sau đây là phần trình bày phương thức hoạt động của phương pháp
dò tìm khuôn mặt bằng các đặc trưng:
a. Các đặc trưng Haar-like: [3, tr 40-42; 13]
Mục đích của việc sử dụng các đặc trưng Haar-like là đảm bảo yêu cầu đáp
ứng thời gian thực. Mỗi đặc trưng Haar-like bao gồm 2 hoặc 3 khối hình màu trắng
và đen liên kết nhau. (Hình 2.1a, b, c).

Hình 2.1.a. Các đặc trưng cạnh

Hình 2.1.b. Các đặc trưng đường.

22



Chương 2. Cơ sở lý thuyết

Hình 2.1.c. Các đặc trưng khoanh vùng
Giá trị của đặc trưng Haar-like được xác định bởi độ chênh lệch giữa tổng
các giá trị pixel mức xám nằm trong vùng đen so với vùng trắng [3, tr 41; 13].
Việc dùng “ảnh chia nhỏ” (integral image) giúp tính toán nhanh chóng các đặc
trưng Haar-like.
Hình chia nhỏ ở vị trí x, y bằng tổng các giá trị pixel phía tên bên trái của tọa
độ (x,y) bao gồm:
P  x, y  



x x , y  y

i  x, y 

(2. 1)

Hình 2.2. Ảnh chia nhỏ tại tọa độ (x,y)
Tổng các giá trị pixel trong vùng “A”:
P1 = A1;

P = A + A 1 + A2 + A3 ;

P2 = A1 + A2;

P3 = A1 + A3;

A = P + P1 – P2 – P3;


23

(2.2)


×