1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế và thi công mô hình cửa tự động sử dụng nhận diện khuôn mặt

106 179 0

Đ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

Định dạng
Số trang 106
Dung lượng 4,33 MB

Nội dung

Đề tài “Thiết kế và thi công mô hình cửa tự động sử dụng nhận diện khuônmặt” là hệ thống tự động mở cửa khi xác nhận khuôn mặt của một người có trong cơsở dữ liệu đã tạo trước đó. Mô hình được lập trình trên phần mềm MATLAB, điềukhiển hệ thống bằng kit Raspberry Pi và dùng Camera Pi làm thiết bị thu nhận hìnhảnh. Sử dụng thuật toán Viola – Jones để phát hiện khuôn mặt trong khung hình sauđó trích xuất đặc trưng hình ảnh bằng thuật toán HOG và ứng dụng Support VectorMachine để tạo bộ phân loại các đặc trưng HOG phân loại dữ liệu mới. Sau đó gửi tínhiệu đến Raspberry điều khiển hệ thống sau khi nhận diện.

TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o -Tp HCM, ngày 03 tháng 08 năm 2020 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Trương Nguyễn Hoàng Long MSSV: 15141200 Nguyễn Minh Khoa MSSV: 15141183 Chuyên ngành: Kỹ thuật Điện - Điện tử Mã ngành: 141 Hệ đào tạo: Đại học quy Mã hệ: 15 Khóa: 2015 Lớp: 15141DT1 I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CƠNG MƠ HÌNH CỬA TỰ ĐỘNG SỬ DỤNG NHẬN DIỆN KHUÔN MẶT II NHIỆM VỤ Các số liệu ban đầu: Để thực đồ án lần gồm: Một Raspberry Pi model 3B, Camera Pi V2.1, máy tính với phần mềm MATLAB hỗ trợ xử lý ảnh, sở liệu để nhận diện gồm 250 ảnh khuôn mặt người (mỗi người 50 ảnh) hệ thống cửa khoá Nội dung thực hiện: - Nghiên cứu tài liệu Raspberry Pi, kết nối Raspberry Pi máy tính thơng qua MATLAB - Nghiên cứu tài liệu xử lý ảnh, phương pháp nhận diện khuôn mặt, ứng dụng, mơ hình sử dụng nhận diện khn mặt - Tính tốn, lập trình hệ thống - Thiết kế, thi cơng mơ hình - Thử nghiệm, chỉnh sửa hệ thống đánh giá mơ hình - Viết báo cáo bảo vệ luận văn III NGÀY GIAO NHIỆM VỤ: 16/03/2020 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 12/07/2020 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: CÁN BỘ HƯỚNG DẪN ThS Nguyễn Duy Thảo BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ii TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o -Tp HCM, ngày tháng năm 2020 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: TRƯƠNG NGUYỄN HOÀNG LONG Lớp:15141DT1B MSSV:15141200 Họ tên sinh viên 2: NGUYỄN MINH KHOA Lớp:15141DT1A MSSV:15141183 Tên đề tài: THIẾT KẾ VÀ THI CÔNG MÔ HÌNH CỬA TỰ DỘNG SỬ DỤNG NHẬN DIỆN KHN MẶT Tuần/ngày Nội dung Tuần (16/3 – 22/3) - Trao đổi với GVHD đề tài tốt nghiệp Tuần (23/3 – 29/3) - Tìm hiểu tài liệu nghiên cứu có liên quan Tuần (30/3 – 5/4) - Gặp GVHD để phổ biến quy định, chọn đề tài thực Tuần (6/4 – 12/4) - Tìm hiểu kit Raspberry Pi cách kết nối máy tính Tuần 5(13/4 – 19/4) - Tìm hiểu phần mềm, ngơn ngữ lập trình để kết nối Tuần (20/4 – 26/4) Tuần (4/5 – 10/5) - Báo cáo tiến độ với GVHD - Tìm hiểu nhận diện khn mặt, phương pháp nhận diện khuôn mặt Tuần (11/5 – 17/5) - Lựa chọn phần mềm ngôn ngữ lập trình Tuần (18/5 – 24/5) - Báo cáo tiến độ với GVHD Xác nhận GVHD iii Tuần 10 (25/5 – 31/5) - Viết chương trình nhận diện khuôn mặt, điều khiển thiết bị đơn giản Tuần 11 (1/6 – 7/6 ) - Viết chương trình cho mơ hình Tuần 12 (8/6 – 14/6) - Lựa chọn linh kiện cho hệ thống, chạy thử nghiệm Tuần 13 (15/6 – 21/6) - Thiết kế, xây dựng mô hình - Chỉnh sửa hệ thống Tuần 14 (22/6 – 28/6) - Hồn thiện mơ hình - Viết báo cáo Tuần 15 (29/6 – 5/7) - Chạy thử nghiệm, kiểm tra, đánh giá mơ hình Tuần 16 (6/7 – 12/7) - Hoàn thiện báo cáo GV HƯỚNG DẪN (Ký ghi rõ họ tên) iv LỜI CAM ĐOAN Đề tài “Thiết kế thi cơng mơ hình cửa tự động sử dụng nhận diện khuôn mặt” nhóm sinh viên chúng em tự thực hiện, dựa vào số tài liệu trước khơng chép từ tài liệu hay cơng trình có trước TP Hồ Chí Minh, ngày 03 tháng 08 năm 2020 Người thực đề tài Nguyễn Minh Khoa Trương Nguyễn Hoàng Long v LỜI CẢM ƠN Để thực hồn thành đồ án lần này, nhóm xin gửi lời cảm ơn đến thầy cô Khoa Điện – Điện Tử tạo điều kiện nhiều cho nhóm Các kiến thức thầy dạy giúp ích nhiều cho nhóm hồn thành đồ án lần Một lần nhóm xin chân thành cảm ơn Đặc biệt ,nhóm xin gửi lời cảm ơn sâu sắc đến Thầy Nguyễn Duy Thảo Người trực tiếp hướng dẫn, đóng góp ý kiến, tạo điều kiện để nhóm em hoàn thành đồ án tốt nghiệp lần Tiếp đến, nhóm xin cảm ơn đến tất bạn khoa Điện – Điện Tử Đặc biệt bạn lớp 15141DT giúp đỡ nhóm nhiều thời nhóm thực đồ án Những khó khăn mà nhóm gặp phải bắt đầu thực đồ án anh chị trước giúp đỡ nhiều Nhóm cố gắng hồn thành tốt đề tài cách hồn chỉnh khơng tránh sai sót q trình nghiên cứu, thực Rất mong nhận góp ý từ thầy bạn để nhóm hồn thiện đồ án tốt Xin chân thành cảm ơn! Nhóm thực đề tài Nguyễn Minh Khoa Trương Nguyễn Hoàng Long vi MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP iii LỜI CAM ĐOAN v LỜI CẢM ƠN vi DANH MỤC HÌNH xi DANH MỤC BẢNG xiv CÁC TỪ VIẾT TẮT xv TÓM TẮT xvi CHƯƠNG I TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ 1.2 MỤC TIÊU 1.3 NỘI DUNG NGHIÊN CỨU 1.4 GIỚI HẠN ĐỀ TÀI 1.5 BỐ CỤC CHƯƠNG II CƠ SỞ LÝ THUYẾT 2.1 LÝ THUYẾT XỬ LÝ ẢNH 2.1.1 Giới thiệu 2.1.2 Thu nhận ảnh (Image acquision) 2.1.3 Tiền xử lý ảnh (Image processing) 2.1.4 Phân đoạn (Segmentation) hay phân vùng ảnh 2.1.5 Biểu diễn ảnh (Image representation) 2.1.6 Nhận diện nội suy ảnh (Image recognition and Interpretation) 2.1.7 Cơ sở tri thức (Knowledge base) 2.1.8 Mô tả 2.2 NHỮNG VẤN ĐỀ TRONG XỬ LÝ ẢNH 2.2.1 Điểm ảnh (Picture Element - Pixel) 2.2.2 Ảnh số 2.2.3 Phân loại ảnh 2.2.4 Quan hệ điểm ảnh vii 2.3 GIỚI THIỆU RASPBERRY PI 2.3.1 Giới thiệu 2.3.2 Thông tin cấu hình Raspberry Pi 10 2.3.3 Các ngõ vào GPIO 11 2.3.4 Ứng dụng 12 2.4 GIỚI THIỆU VỀ CAMERA PI 13 2.4.1 Giới thiệu 13 2.4.2 Thông số kỹ thuật 14 2.4.3 Ứng dụng 14 2.5 GIỚI THIỆU VỀ MATLAB 15 2.5.1 Tổng quan 15 2.5.2 Phần mềm MATLAB 15 2.6 THUẬT TOÁN HISTOGRAM OF ORIENTED GRADIENT 16 2.6.1 Giới thiệu 16 2.6.2 Ứng dụng HOG: 17 2.6.3 Sơ lược cách hoạt động thuật toán 17 2.6.4 Tính tốn HOG 18 2.7 THUẬT TOÁN VIOLA – JONES 22 2.7.1 Giới thiệu thuật toán Viola – Jones 22 2.7.2 Các đặc trưng Haar – Like 22 2.7.3 Khái niệm Integral Image 23 2.7.4 AdaBoost 25 2.8 PHƯƠNG PHÁP SUPPORT VECTOR MACHINE 27 2.8.1 Khái niệm phân loại SVM 27 2.8.2 Multiclass SVM 29 2.9 PHƯƠNG PHÁP NHẬN DIỆN KHUÔN MẶT 30 2.9.1 Quá trình training 30 2.9.2 Q trình nhận diện khn mặt 30 CHƯƠNG III TÍNH TỐN VÀ THIẾT KẾ 32 3.1 GIỚI THIỆU 32 viii 3.2 TÍNH TỐN VÀ THIẾT KỆ HỆ THỐNG 32 3.2.1 Thiết kế sơ đồ khối hệ thống 32 3.2.2 Tính tốn thiết kế 33 3.2.3 Sơ đồ nguyên lý toàn mạch 41 3.2.4 Tính tốn thiết kế phần mềm 41 CHƯƠNG IV: THI CƠNG MƠ HÌNH HỆ THỐNG 49 4.1 GIỚI THIỆU 49 4.2 THI CƠNG MƠ HÌNH HỆ THỐNG 49 4.2.1 Chuẩn bị phần cứng 49 4.2.2 Lắp rắp kiểm tra 50 4.3 THI CƠNG MƠ HÌNH 54 4.4 LẬP TRÌNH HỆ THỐNG 56 4.4.1 Lưu đồ giải thuật 56 4.4.2 Phần mềm MATLAB máy tính Raspberry Pi 61 4.4.3 Thao tác phần mềm MATLAB 65 4.5 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC 66 4.5.1 Hướng dẫn sử dụng 66 4.5.2 Quy trình thao tác 66 4.5.3 Bảng giá linh kiện 68 CHƯƠNG V: KẾT QUẢ_ NHẬN XÉT_ĐÁNH GIÁ 69 5.1 KẾT QUẢ 69 5.1.1 Khảo sát phân loại 69 5.1.2 Kết mơ hình 74 5.2 NHẬN XÉT VÁ ĐÁNH GIÁ 77 CHƯƠNG VI KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 78 6.1 KẾT LUẬN 78 6.1.1 Kết đạt 78 6.1.2 Những hạn chế 78 6.2 HƯỚNG PHÁT TRIỂN 78 TÀI LIỆU THAM KHẢO 79 ix PHỤ LỤC 81 CODE LẬP TRÌNH XÂY DỰNG CƠ SỞ DỮ LIỆU 81 CODE LẬP TRÌNH CHẠY HỆ THỐNG 86 x CHƯƠNG V: KẾT QUẢ_NHẬN XẾT_ĐÁNH GIÁ Hình Ảnh bị nhoè chụp Hình Kết mơ hình nhận diện Hình Kết mơ hình nhận diện không 76 CHƯƠNG V: KẾT QUẢ_NHẬN XẾT_ĐÁNH GIÁ 5.2 NHẬN XÉT VÁ ĐÁNH GIÁ Kết thực nghiệm tồn mơ hình cho thấy mơ hình hoạt động ổn định, độ xác cao Trong q trình thực kiểm tra, nhóm xem xét thời gian nhận diện mở cửa mô hình cho lần nhận diện khoảng 4s Từ kết thu được, mơ hình hồn thành u cầu ban đầu nhóm đề Nhưng dừng lại việc khảo sát – người Nếu mở rộng việc khảo sát lên, anh em ruột có khn mặt tương tự hay người có nét tương đồng ảnh hưởng đến kết khảo sát Đồng thời việc nhận diện khoảng cách xa mà mơ hình thiết kế cho kết khơng xác Mơ hình đáp ứng mục tiêu đặt giới hạn nêu CHƯƠNG I Hoạt động ổn định, độ xác cao, dễ dàng sử dụng 77 CHƯƠNG VI: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CHƯƠNG VI KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 KẾT LUẬN 6.1.1 Kết đạt Sau thời gian 15 tuần tìm hiểu nghiên cứu, nhóm hồn thành báo cáo đồ án tốt nghiệp thi cơng hồn thiện mơ hình Tổng hợp kết thực hiện, khảo sát so sánh với yêu cầu giới hạn đặt mơ hình đạt mục tiêu đề ban đầu đề tài Nhìn chung, mơ hình đạt 90% so với u cầu đặt nhóm nhận diện thành cơng người sở liệu huấn luyện trước Hệ thống ổn định, có tính bảo mật, an tồn dễ sử dụng 6.1.2 Những hạn chế Với thiết kế mơ hình nhận diện khn mặt này, cường độ ánh sáng ảnh bị thay đổi dẫn tới sai sót nhận diện Góc chụp phải góc chụp diện khn mặt Khn mặt khơng bị che khuất Việc người dùng đeo phụ kiện mặt mắt kính ảnh hưởng đến q trình phân tích nhận diện đơi dẫn đến kết khơng xác Cơ sở liệu huấn luyện mốc thời gian cố định, theo thời gian, thay đổi khn mặt người dùng ảnh hưởng đến độ xác hệ thống Cơ sở liệu cần cập nhật huấn luyện lại thường xuyên cách định kỳ 6.2 HƯỚNG PHÁT TRIỂN Với đề tài xử lý ảnh nhận diện khn mặt, nhóm kiến nghị phát triển hướng sau:  Thêm hệ thống vào mơ hình nhà thông minh Kết hợp với hệ thống báo động gửi ảnh, tin nhắn đến điện thoại người sở hữu có cố mở cửa  Có thể nhận diện nhiều góc thay góc nhìn trực diện  Chủ động thay đổi số người nhận diện thay người cố định  Áp dụng thuật tốn tối ưu cho mơ hình như: deep learning,… 78 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO SÁCH THAM KHẢO Nguyễn Thanh Hải, “Giáo Trình Xử Lý Ảnh”, Trường ĐHSPKT, Nhà xuất ĐH Quốc Gia, Tp.HCM, 2015 [2] Nguyễn Đình Phú, “Giáo trình Vi xử lí”, Trường ĐHSPKT, Tp.HCM, Nhà xuất ĐH Quốc Gia, Tp.HCM, 2013 [3] Trần Thu Hà, Trương Thị Bích Ngà, “Giáo trình điện tử bản”, Nhà xuất ĐH Quốc Gia, Tp.HCM, 2013 [4] Trần Đan Thư, “Giáo trình lập trình C - Tập 1”, Nhà xuất ĐH Quốc gia, -Tp.HCM, 2003 [5] Paul Viola, Michael Jones, “Rapid Object Detection using a Boosted Cascade of Simple Features”, 2001 [6] Ignas Kukenys, Brendan McCane (2008), Support Vector Machines for Human Face Detection, Christchurch New Zealand [7] Pomyen - Siriphat, “Signal and Image Processing with MATLAB on Raspberry Pi Platform”, Luận văn thạc sĩ khoa học, 2015 [8] Phạm Hồng Ngự, “Nhận dạng đối tượng sử dụng thuật toán ADABOOST”, Luận văn thạc sĩ khoa học công nghệ thông tin, Đại học Huế, 2009 [9] Nguyễn Thị Thuỷ, “Phương pháp nhận diện khuôn mặt ứng dụng quản lý nhân sự”, Luận văn thạc sĩ công nghệ thông tin, ĐH Quốc gia Hà Nội, Hà Nội,2018 [10] Nguyễn Thị Thơm, “Tìm hiểu đặc trưng lõm 3D toán phát mặt người ảnh” Đồ án tốt nghiệp, trường ĐH Dân Lập Hải Phòng, Hải Phòng, 2013 [11] Cao Tú Tài - Nguyễn Đăng Khoa, “Hệ thống điểm danh sử dụng nhận dạng khuôn mặt”, Đồ án tốt nghiệp, trường ĐHSPKT, Tp.HCM, 2019 [1] TRANG WEB THAM KHẢO [12] KUMIN242, Thuật toán Support Vector Machine, 2018 https://neralnetwork.wordpress.com/2018/05/11/thuat-toan-support-vectormachine-svm/ [13] Phạm Đình Khánh, Thuật tốn HOG, 2019, https://phamdinhkhanh.github.io/2019/11/22/HOG.html [14] Mathworks, Support Vector Machines for Binary Classification 79 TÀI LIỆU THAM KHẢO https://www.mathworks.com/help/stats/support-vector-machines-for-binaryclassification.html?s_tid=srchtitle [15] Jingwei Too, Simple Machine Learning Algorithms for Classification, 2020, https://www.mathworks.com/matlabcentral/fileexchange/71461-simple-machinelearning-algorithms-for-classification?s_tid=srchtitle [16] Các viết hỗ trợ, kết nối Raspberry Pi https://raspivn.com/ [17] LU ROM, MATLAB http://vimach.net/threads/matlab-co-ban-gioi-thieu-ve-matlab.154/ 80 PHỤ LỤC PHỤ LỤC CODE LẬP TRÌNH XÂY DỰNG CƠ SỞ DỮ LIỆU clear mypi clear cam mypi = raspi; % Tạo biến liệu faceDetector = vision.CascadeObjectDetector(); faceDetector.MinSize = [200 ,200]; pointTracker = vision.PointTracker('MaxBidirectionalError', 2); writeDigitalPin(mypi, 17, 0); writeDigitalPin(mypi, 23, 0); % chạy camera pi if exist('cam')==0 cam = cameraboard(mypi,'Resolution','640x480'); end videoFrame = snapshot(cam); frameSize = size(videoFrame); % Chạy chương trình video videoPlayer = vision.VideoPlayer('Position', [100 100 [frameSize(2), frameSize(1)]+30]); runLoop = true; numPts = 0; numImg = 0; frameCount = 0; % Create user input 81 PHỤ LỤC prompt = 'Nhap ten:'; name = input(prompt,'s'); while isempty(name) warndlg('Vui long nhap ten'); name = input(prompt,'s'); end folder = strcat( 'D:\DATN\test_matlab\database\', name ); mkdir(folder); long = 1; while long writeDigitalPin(mypi, 23, 1); % chụp ảnh videoFrame = snapshot(cam); % Đổi ảnh xám videoFrameGray = rgb2gray(videoFrame); frameCount = frameCount + 1; if numPts < 50 bbox = faceDetector.step(videoFrameGray); if ~isempty(bbox) points = detectMinEigenFeatures(videoFrameGray, 'ROI', bbox(1, :)); xyPoints = points.Location; numPts = size(xyPoints,1); release(pointTracker); 82 PHỤ LỤC initialize(pointTracker, xyPoints, videoFrameGray); oldPoints = xyPoints; bboxPoints = bbox2points(bbox(1, :)); bboxPolygon = reshape(bboxPoints', 1, []); videoFrame = insertShape(videoFrame, 'Polygon', bboxPolygon, 'LineWidth', 3); videoFrame = insertMarker(videoFrame, xyPoints, '+', 'Color', 'white'); end else tic;pause(0.5);toc; [xyPoints, isFound] = step(pointTracker, videoFrameGray); visiblePoints = xyPoints(isFound, :); oldInliers = oldPoints(isFound, :); numPts = size(visiblePoints, 1); if numPts >= 50 [xform, oldInliers, visiblePoints] = estimateGeometricTransform( oldInliers, visiblePoints, 'similarity', 'MaxDistance', 4); bboxPoints = transformPointsForward(xform, bboxPoints); bboxPolygon = reshape(bboxPoints', 1, []); 83 PHỤ LỤC videoFrame = insertShape(videoFrame, 'Polygon', bboxPolygon, 'LineWidth', 3); videoFrame = insertMarker(videoFrame, visiblePoints, '+', 'Color', 'white'); oldPoints = visiblePoints; setPoints(pointTracker, oldPoints); % Cắt ảnh lấy khuôn mặt save ảnh position1 = min(bboxPolygon(2),bboxPolygon(4)); position2 = max(bboxPolygon(6),bboxPolygon(8)); position3 = min(bboxPolygon(1),bboxPolygon(7)); position4 = max(bboxPolygon(3),bboxPolygon(5)); warning('off') if position20 && position3>0 && position4>0 getimage = videoFrameGray(position1:position2,position3:position4,:); getimage = imresize(getimage, [200 200]); imwrite(getimage,fullfile(folder,strcat(num2str(numImg),'.jpg' )),'jpg'); numImg = numImg+1; if numImg >= 50 msgbox('Done!','Create dataset','help'); long = 0; break; 84 PHỤ LỤC end end end step(videoPlayer, videoFrame); runLoop = isOpen(videoPlayer); end end writeDigitalPin(mypi, 23, 0); faceDatabase = imageSet('database','recursive'); a = faceDatabase(1).Count; b = size(faceDatabase,2); featureCount = 1; trainingFeatures1 = zeros(b*a,20736); for i=1:b for j = 1:a trainingFeatures1(featureCount,:) = extractHOGFeatures(read(faceDatabase(i),j)); trainingLabel{featureCount} = faceDatabase(i).Description; featureCount = featureCount + 1; end personIndex{i} = faceDatabase(i).Description; end %% Tạo lớp phân loại faceClassifier = fitcecoc(trainingFeatures1,trainingLabel); save('faceClassifier') % Clean up clear cam; 85 PHỤ LỤC release(videoPlayer); release(pointTracker); release(faceDetector); CODE LẬP TRÌNH CHẠY HỆ THỐNG %% clear all port clear mypi clear cam clear videoFileReader load('faceClassifier.mat') mypi = raspi; writeDigitalPin(mypi, 23, 0); writeDigitalPin(mypi, 24, 0); writeDigitalPin(mypi, 5, 0); writeDigitalPin(mypi, 6, 0); writeDigitalPin(mypi, 17, 0); z = 0; x = 0; op = 0; %% while true x = 0; buttonPressedG = readDigitalPin(mypi, 22); buttonPressedR = readDigitalPin(mypi, 27); %% nhan nut de bat dau chay he thong if buttonPressedG z = 1; 86 PHỤ LỤC end if buttonPressedR x = 1; end while (x == 1) if op == if x >= writeDigitalPin(mypi, 24, 1); pause(5); writeDigitalPin(mypi, 24, 0); x = 0; end elseif op == if x >= writeDigitalPin(mypi, 24, 0); x = 0; op = 0; end end end if z >= faceDetector = vision.CascadeObjectDetector('haarcascade_frontalface_default xml'); faceDetector.MinSize = [200 ,200]; videoFileReader cameraboard(mypi,'Resolution','640x480'); = %%chup anh de train voi data writeDigitalPin(mypi, 17, 1); 87 PHỤ LỤC pause(0.5); writeDigitalPin(mypi, 17, 0); pause(0.5); writeDigitalPin(mypi, 17, 1); pause(0.5); writeDigitalPin(mypi, 17, 0); pause(0.5); writeDigitalPin(mypi, 17, 1); pause(0.5); writeDigitalPin(mypi, 17, 0); pause(0.5); writeDigitalPin(mypi, 23, 1); pause(1); videoFrame = snapshot(videoFileReader); bbox = step(faceDetector, videoFrame); %% kiem tra da xac nhan duoc khuon mat hay chua, neu chua thi xac nhan lai khuon amt va chup tam while(size(bbox,1)= 0.08 writeDigitalPin(mypi, 5, 1); pause(3); 89 PHỤ LỤC writeDigitalPin(mypi, 5, 0); else op = 1; writeDigitalPin(mypi, 24, 1); writeDigitalPin(mypi, 6, 1); pause(3); writeDigitalPin(mypi, 6, 0); end x = 0; %%%%%%%%%%% z = 0; clear videoFileReader end end 90

Ngày đăng: 06/06/2021, 14:51

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w