Ngày nay, cùng với sự phát triển và tiến bộ không ngừng của khoa học kỹ thuật
thì xử lý ảnh là một trong những đề tài cần được quan tâm và phát triển. Từ những
nghiên cứu ban đầu về ảnh trắng đen, ảnh xám, ảnh màu, xử lý ảnh đã được nghiên
cứu chuyên sâu và ứng dụng rất nhiều trong cuộc sống. Bên cạnh đó, sự phổ biến của
kit Raspberry Pi với kích thước nhỏ gọn, được xem như máy tính thu nhỏ nên có nhiều
đề tài nghiên cứu và ứng dụng kit Raspberry Pi trong thực tiễn.
Ứng dụng kit Raspberry Pi vào xử lý ảnh nhằm đưa ra một số giải pháp xử lý ảnh
để áp dụng vào đời sống. Trong đồ án này, chúng tôi cố gắng tìm ra các thuật toán đáp
ứng trong thời gian thực, những giải pháp tối ưu, đơn giản nhưng mang lại độ chính
xác cao, đáp ứng được nhu cầu thực tế. Chúng tôi tiến hành mô phỏng những bài toán
xử lý ảnh đơn giản, nhận dạng ảnh tĩnh và nhận dạng trực tiếp qua camera trên chương
trình Python và phát triển nhận dạng theo dõi chính xác trạng thái mở hoặc đóng của
mắt trong thời gian thực trên kit Raspberry Pi 3. Khuôn mặt được phát hiện bằng
phương pháp: phương pháp sử dụng bộ phân loại mạnh AdaBoost dựa trên các đặc
trưng Haar-like; mắt được nhận dạng bằng cách đánh dấu các bộ phận trên khuôn mặt
bằng thuật toán Facial Landmarks, sau đó tính khoảng cách giữa hai mí mắt bằng
khoảng cách Euclide để nhận diện trạng thái mắt và phát hiện trạng thái ngủ gật.
84 trang |
Chia sẻ: thientruc20 | Lượt xem: 812 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Đồ án Ứng dụng xử lý ảnh vào việc phát hiện ngủ gật dùng Kit Raspberry, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BỘ GIÁO DỤC & ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
---------------------------------
ĐỒ ÁN TỐT NGHIỆP
NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG
ĐỀ TÀI:
ỨNG DỤNG XỬ LÝ ẢNH VÀO VIỆC
PHÁT HIỆN NGỦ GẬT DÙNG KIT RASPBERRY
GVHD: Th.s Nguyễn Duy Thảo
SVTH1: Nông Văn Tân
MSSV: 13141299
SVTH2: Trần Thị Mỹ Khiêm
MSSV: 13141147
Tp. Hồ Chí Minh - 01/2018
Generated by Foxit PDF Creator © Foxit Software
For evaluation only.
BỘ GIÁO DỤC & ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
---------------------------------
ĐỒ ÁN TỐT NGHIỆP
NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG
ĐỀ TÀI:
ỨNG DỤNG XỬ LÝ ẢNH VÀO VIỆC
PHÁT HIỆN NGỦ GẬT DÙNG KIT RASPBERRY
GVHD: Th.s Nguyễn Duy Thảo
SVTH: Nông Văn Tân
MSSV: 13141299
SVTH: Trần Thị Mỹ Khiêm
MSSV: 13141147
Tp. Hồ Chí Minh - 01/2018
Generated by Foxit PDF Creator © Foxit Software
For evaluation only.
TRƯỜNG ĐH. SƯ PHẠM KỸ THUẬT TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA ĐIỆN-ĐIỆN TỬ Độc lập – Tự do – Hạnh phúc
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
TP. Hồ Chí Minh, ngày 01 tháng 01 năm 2018
BẢNG MÔ TẢ CÔNG VIỆC
Họ tên sinh viên 1: Nông Văn Tân MSSV: 13141299
Lớp: 13141DT2C
Họ tên sinh viên 2: Trần Thị Mỹ Khiêm MSSV: 13141147
Lớp: 13141DT1D
Tên đề tài: Ứng dụng xử lý ảnh vào việc phát hiện ngủ gật dùng Kit Raspberry
1. MÔ TẢ MỤC TIÊU CỦA ĐỀ TÀI:
Đề tài sẽ đi tìm hiểu kit Raspberry, kiến thức xử lý ảnh, kỹ thuật nhận dạng và
xây dụng bài toán phát hiện ngủ gật.
2. MÔ TẢ CÔNG VIỆC THỰC HIỆN ĐỀ TÀI CỦA TỪNG SINH VIÊN:
Họ tên Sinh viên 1: Nông Văn Tân
Các công việc thực hiện trong đề tài:
STT NỘI DUNG CÔNG VIỆC
1 Tìm kiếm tài liệu về lập trình Python, OpenCV.
2 Cài đặt hệ điều hành và thư viện liên quan.
3 Viết chương phát hiện ngủ gật.
4 Viết báo cáo.
Họ tên Sinh viên 2: Trần Thị Mỹ Khiêm
Các công việc thực hiện trong đề tài:
STT NỘI DUNG CÔNG VIỆC
1 Tìm kiếm tài liệu về lập trình Python, OpenCV.
2 Tìm kiếm lý thuyết nhận dạng, phát hiện.
3 Viết và chỉnh sửa báo cáo.
SINH VIÊN 1 SINH VIÊN 2
(Ký ghi rõ họ tên) (Ký ghi rõ họ tên)
Nông Văn Tân Trần Thị Mỹ Khiêm
XÁC NHẬN CỦA GIẢNG VIÊN HƯỚNG DẪN
(Ký ghi rõ họ tên)
Th.s Nguyễn Duy Thảo
TRƯỜNG ĐH. SƯ PHẠM KỸ THUẬT CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TP. HỒ CHÍ MINH ĐỘC LẬP - TỰ DO - HẠNH PHÚC
KHOA ĐIỆN-ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH
Tp. HCM, ngày 01 tháng 01 năm 2018
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên: Nông Văn Tân MSSV: 13141299
Trần Thị Mỹ Khiêm MSSV: 13141147
Chuyên ngành: Điện tử công nghiệp – y sinh Mã ngành: 01
Hệ đào tạo: Đại học chính quy Mã hệ: 1
Khóa: 2013 Lớp: 13141DT2C
I. TÊN ĐỀ TÀI: Ứng dụng xử lý ảnh vào việc phát hiện ngủ gật dùng Kit
Raspberry
II. NHIỆM VỤ
1. Các số liệu ban đầu:
1 bộ kit Raspberry Pi 3.
1 camera.
1 loa
Các hình ảnh cần xử lý.
2. Nội dung thực hiện:
Tìm hiểu về xử lý ảnh.
Tìm hiểu về kit Raspberry Pi.
Các kỹ thuật nhận dạng.
Phát hiện ngủ gật bằng Raspberry Pi.
Viết báo cáo.
III. NGÀY GIAO NHIỆM VỤ: 25/9/2017
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 15/01/2018
V. HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: Th.s Nguyễn Duy Thảo
CÁN BỘ HƯỚNG DẪN BM. ĐIỆN TỬ CÔNG NGHIỆP-Y SINH
Th.s Nguyễn Duy Thảo
TRƯỜNG ĐH. SƯ PHẠM KỸ THUẬT CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TP. HỒ CHÍ MINH ĐỘC LẬP - TỰ DO - HẠNH PHÚC
KHOA ĐIỆN-ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP
Tp. HCM, ngày 01 tháng 01 năm 2018
LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên 1: Nông Văn Tân
Lớp: 13141DT2C MSSV: 13141299
Họ tên sinh viên 2: Trần Thị Mỹ Khiêm
Lớp: 13141DT MSSV: 13141147
Tên đề tài: Ứng dụng xử lý ảnh vào việc phát hiện ngủ gật dùng Kit Raspberry
Tuần/ngày Nội dung
Xác nhận
GVHD
Tuần 1 Nhận đề tài
Tuần 2 Tìm hiểu nội dung liên quan đề tài:
- Xử lý ảnh
- Raspberry
- Các ngôn ngữ lập trình
Tuần 3 → 5 Tìm hiểu và cài đặt hệ điều hành cho Raspberry
Pi 3.
Chạy các chương trình đơn giản kiểm tra kit
Raspberry đã cài đặt thành công.
Tuần 6 → 10 Tìm hiểu tài liệu về ngôn ngữ Python, OpenCV
Tìm hiểu về các thuật toán nhận dạng
Tuần 10 → 13 Xây dựng chương trình phát hiện và nhận dạng
khuôn mặt.
Tuần 14+15 Xây dựng chương trình phát hiện ngủ gật.
Tuần 16 → 20 Viết báo cáo.
Tuần 21 Chỉnh sửa và hoàn thành báo cáo.
GV HƯỚNG DẪN
(Ký và ghi rõ họ và tên)
Th.s Nguyễn Duy Thảo
i
LỜI CAM ĐOAN
Đề tài này là do chúng tôi tự thực hiện dưới sự hướng dẫn của Th.s Nguyễn Duy
Thảo và dựa vào một số tài liệu, đề tài trước đó và không sao chép từ tài liệu hay công
trình đã có trước đó.
Người thực hiện đề tài 1 Người thực hiện đề tài 2
Nông Văn Tân Trần Thị Mỹ Khiêm
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ii
LỜI CẢM ƠN
Trong thời gian thực hiện luận văn nhóm sinh viên thực hiện đề tài đã được
học hỏi nhiều kiến thức bổ ích trong giáo trình và thực tế từ thầy cô. Qua đây em
xin gửi lời cảm ơn chân thành đến:
Quý thầy cô trong khoa điện điện tử của trường Đại Học Sư Phạm Kỹ Thuật
Thành phố Hồ Chí Minh đã truyền đạt kiến thức, những kinh nghiệm quý báu trong
chuyên môn cũng như trong các lĩnh vực khác. Sự tận tụy say mê, lòng nhân ái,
nhiệt tình của thầy cô là động lực lớn giúp chúng em trau dồi thêm kiến thức giúp
chúng em vượt qua khó khăn trong học tập cũng như trong cuộc sống.
Chúng em xin gửi lời cảm ơn chân thành nhất đến thầy Nguyễn Duy Thảo
đã giúp đỡ và hướng dẫn chúng em hoàn thành đồ án tốt nghiệp này.
Đồng thời cũng cảm ơn đến tất cả các bạn bè đã gắn bó và giúp đỡ nhau
trong học tập cũng như trong suốt quá trình thực hiện đồ án tốt nghiệp.
Xin chân thành cảm ơn!
Nhóm thực hiện đề tài
Nông Văn Tân
Trần Thị Mỹ Khiêm
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH iii
MỤC LỤC
LỜI CAM ĐOAN ............................................................................................................ i
LỜI CẢM ƠN ................................................................................................................. ii
MỤC LỤC ...................................................................................................................... iii
DANH MỤC HÌNH ....................................................................................................... vi
DANH MỤC BẢNG ................................................................................................... viii
TÓM TẮT ...................................................................................................................... ix
Chương 1. TỔNG QUAN ......................................................................................... 2
1.1. ĐẶT VẤN ĐỀ ............................................................................................... 2
1.2. MỤC TIÊU ĐỀ TÀI ...................................................................................... 2
1.3. NỘI DUNG NGHIÊN CỨU ......................................................................... 3
1.4. GIỚI HẠN ..................................................................................................... 3
1.5. BỐ CỤC ........................................................................................................ 3
Chương 2. CƠ SỞ LÝ THUYẾT .............................................................................. 4
2.1. TỔNG QUAN VỀ XỬ LÝ ẢNH .................................................................. 4
2.1.1. Giới thiệu về xử lý ảnh [1] ...................................................................... 4
2.1.2. Các thành phần cơ bản của hệ thống ảnh ................................................ 6
2.1.3. Các vấn đề cơ bản trong xử lý ảnh .......................................................... 7
2.1.3.1. Ảnh và điểm ảnh ............................................................................... 7
2.1.3.2. Độ phân giải của ảnh ........................................................................ 7
2.1.3.3. Mức xám của ảnh .............................................................................. 8
2.1.3.4. Biến đổi ảnh ...................................................................................... 8
2.2. GIẢI THUẬT ADABOOST [5] .................................................................... 9
2.3. ĐẶC TRƯNG HAAR-LIKE [5] ................................................................. 11
2.4. GIẢI THUẬT FACIAL LANDMARKS .................................................... 15
2.4.1. Giới thiệu về Facial Landmarks [6] ...................................................... 15
2.4.2. Tìm hiểu về bộ phát hiện dấu mốc trên khuôn mặt của dlib [6] ........... 16
2.5. KHOẢNG CÁCH EUCLIDE [7] ............................................................... 17
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH iv
2.6. PYTHON ..................................................................................................... 18
2.6.1. Giới thiệu sơ lược về Python ................................................................. 18
2.6.2 Các đặc điểm của ngôn ngữ python. ..................................................... 19
2.6.3. Ứng dụng của Python ............................................................................ 22
2.7. THƯ VIỆN DLIB ........................................................................................ 23
Chương 3. TÍNH TOÁN VÀ THIẾT KẾ ............................................................... 25
3.1. TỔNG QUAN VỀ KIT RASPBERRY PI 3 ............................................... 26
3.1.1. Giới thiệu tổng quan .............................................................................. 26
3.1.2. Cấu tạo phần cứng của kit Raspberry Pi 3 ............................................ 27
3.1.3. Hệ điều hành của kit Raspberry Pi 3 ..................................................... 29
3.2. CÀI ĐẶT HỆ ĐIỀU HÀNH CHO KIT RASPBERRY PI 3........................ 30
3.2.1. Thiết bị cần dùng để cài đặt .................................................................. 30
3.2.2. Cài đặt hệ điều hành Raspbian .............................................................. 30
3.2.3. Điều khiển Raspberry Pi 3 từ xa bằng cách remote máy tính ............... 33
3.3. CÀI ĐẶT THƯ VIỆN CHO RASPBERRY PI 3 ......................................... 37
3.3.1. Cài đặt OpenCV .................................................................................... 37
3.3.2. Cài đặt thư viện dlib .............................................................................. 44
Chương 4. THI CÔNG HỆ THỐNG ...................................................................... 47
4.1. SƠ ĐỒ KHỐI HỆ THỐNG ......................................................................... 47
4.1.1. Ảnh từ camera ....................................................................................... 48
4.1.2. Tiền xử lý .............................................................................................. 48
4.1.3. Phát hiện khuôn mặt dùng HOG ........................................................... 48
4.1.4. Đánh dấu cấu trúc khuôn mặt dùng Facial Landmarks......................... 50
4.1.5. Trích xuất vùng mắt .............................................................................. 50
4.1.6. Tính toán tỷ lệ mắt ................................................................................ 50
4.1.7. Phát hiện ngủ gật ................................................................................... 52
4.1.8. Cảnh báo................................................................................................ 53
Chương 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ ................................................. 55
5.1. Kết quả ........................................................................................................ 55
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH v
5.2. Nhận xét ....................................................................................................... 57
Chương 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ............................................ 61
6.1. KẾT LUẬN ................................................................................................. 61
6.1.1. Ưu điểm ................................................................................................. 61
6.1.2. Nhược điểm ........................................................................................... 62
6.2. HƯỚNG PHÁT TRIỂN .............................................................................. 62
6.2.1. Hướng khắc phục .................................................................................. 62
6.2.2. Hướng phát triển ................................................................................... 63
TÀI LIỆU THAM KHẢO ............................................................................................. 64
PHỤ LỤC ...................................................................................................................... 65
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH vi
DANH MỤC HÌNH
Hình Trang
Hình 2.1: Các bước cơ bản trong xử lý ảnh ..................................................................... 4
Hình 2.2: Các thành phần cơ bản của hệ thống xử lý ảnh ............................................... 6
Hình 2.3: Độ phân giải của ảnh ........................................................................................ 7
Hình 2.4: Sự khác nhau giữa ảnh màu và ảnh xám .......................................................... 8
Hình 2.5: Ảnh trước khi cân bằng Histogram .................................................................. 9
Hình 2.11: Mô hình phân tầng các bộ phận loại yếu ....................................................... 10
Hình 2.12: Kết hợp các bộ phân loại yếu thành bộ phân loại mạnh. ............................... 11
Hình 2.13: Đặc trưng theo cạnh ....................................................................................... 11
Hình 2.14: Đặc trưng theo đường .................................................................................... 12
Hình 2.15: Đặc trưng theo xung quanh tâm ..................................................................... 12
Hình 2.16: Đặc trưng theo đường chéo ............................................................................ 12
Hình 2.17: Cách tính Integral Image của ảnh .................................................................. 13
Hình 2.18: Cách tính tổng giá trị pixel vùng cần tính ...................................................... 14
Hình 2.19: Hệ thống phát hiện khuôn mặt ....................................................................... 17
Hình 2.20: 68 tọa độ đánh dấu cấu trúc khuôn mặt từ tập dữ liệu iBUG 300-W ............ 23
Hình 3.1: Sơ đồ khối hệ thống ......................................................................................... 25
Hình 3.2: Bo mạch Raspberry Pi 3 .................................................................................. 26
Hình 3.3: Các cổng giao tiếp ngoại vi .............................................................................. 28
Hình 3.4: Sơ đồ chân của Raspberry Pi 3 ........................................................................ 29
Hình 3.5: Hệ điều hành Raspbian Stretch ........................................................................ 31
Hình 3.6: Phần mềm SD Card Formatter ......................................................................... 32
Hình 3.7: Phần mềm Win32 Disk Imager. ....................................................................... 33
Hình 3.8: Vào ổ đĩa Boot ................................................................................................. 33
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH vii
Hình 3.9: Thêm địa chỉ IP của Raspberry vào file cmdline.text. ..................................... 34
Hình 3.10: Nhập địa chỉ ip của Raspberry Pi ................................................................... 34
Hình 3.11: Chuyển tiếp X11 ............................................................................................ 35
Hình 3.12: Cài đặt xrdp bằng lệnh ................................................................................... 36
Hình 3.13: Mở Remote Desktop và kết nối ..................................................................... 36
Hình 3.14: Nhập usename và password ........................................................................... 37
Hình 3.15: Giao diện của hệ điều hành Raspbian Stretch ................................................ 37
Hình 3.16: Môi trường ảo cv ............................................................................................ 41
Hình 3.17: Biên dịch OpenCV 3 trên Raspbian Stretch thành công ................................ 42
Hình 3.18: Xác nhận OpenCV 3 đã cài đặt thành công ................................................... 44
Hình 4.1: Sơ đồ khối hệ thống ......................................................................................... 47
Hình 4.2: Đánh dấu mắt 6 điểm ....................................................................................... 51
Hình 4.3: Hình ảnh của mốc đánh dấu mắt khi mắt mở, mắt nhắm và tỉ lệ..................... 52
Hình 4.4: Phát hiện ngủ gật .............................................................................................. 54
Hình 5.1: Phát hiện khuôn mặt ......................................................................................... 55
Hình 5.2: Đánh dấu 68 điểm của khuôn mặt dùng giải thuật Facial Landmarks ............. 55
Hình 5.3: Hình 5.2: Phát hiện trạng thái mắt ở nhiều trường hợp. .................................. 56
Hình 5.4: Phát hiện ngủ gật vào ban ngày không đeo kính ............................................. 56
Hình 5.5: Phát hiện ngủ gật vào ban ngày có đeo kính .................................................... 56
Hình 5.6: Phát hiện ngủ gật vào ban đêm không đeo kính .............................................. 57
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH viii
DANH MỤC BẢNG
Bảng 5.1 Kết quả nhận dạng trạng thái mắt với trường hợp góc thẳng .................... 58
Bảng 5.1 Kết quả nhận dạng trạng thái mắt với trường hợp góc nghiêng ................ 59
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ix
TÓM TẮT
Ngày nay, cùng với sự phát triển và tiến bộ không ngừng của khoa học kỹ thuật
thì xử lý ảnh là một trong những đề tài cần được quan tâm và phát triển. Từ những
nghiên cứu ban đầu về ảnh trắng đen, ảnh xám, ảnh màu, xử lý ảnh đã được nghiên
cứu chuyên sâu và ứng dụng rất nhiều trong cuộc sống. Bên cạnh đó, sự phổ biến của
kit Raspberry Pi với kích thước nhỏ gọn, được xem như máy tính thu nhỏ nên có nhiều
đề tài nghiên cứu và ứng dụng kit Raspberry Pi trong thực tiễn.
Ứng dụng kit Raspberry Pi vào xử lý ảnh nhằm đưa ra một số giải pháp xử lý ảnh
để áp dụng vào đời sống. Trong đồ án này, chúng tôi cố gắng tìm ra các thuật toán đáp
ứng trong thời gian thực, những giải pháp tối ưu, đơn giản nhưng mang lại độ chính
xác cao, đáp ứng được nhu cầu thực tế. Chúng tôi tiến hành mô phỏng những bài toán
xử lý ảnh đơn giản, nhận dạng ảnh tĩnh và nhận dạng trực tiếp qua camera trên chương
trình Python và phát triển nhận dạng theo dõi chính xác trạng thái mở hoặc đóng của
mắt trong thời gian thực trên kit Raspberry Pi 3. Khuôn mặt được phát hiện bằng
phương pháp: phương pháp sử dụng bộ phân loại mạnh AdaBoost dựa trên các đặc
trưng Haar-like; mắt được nhận dạng bằng cách đánh dấu các bộ phận trên khuôn mặt
bằng thuật toán Facial Landmarks, sau đó tính khoảng cách giữa hai mí mắt bằng
khoảng cách Euclide để nhận diện trạng thái mắt và phát hiện trạng thái ngủ gật.
CHƯƠNG 1 TỔNG QUAN
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 2
Chương 1. TỔNG QUAN
1.1.