Đồ án Thiết kế mạch chống trộm

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÀ RỊA VŨNG TÀU KHOA CÔNG NGHỆ KỸ THUẬT – NÔNG NGHIỆP CÔNG NGHỆ CAO ĐỒ ÁN TỐT NGHIỆP Đề tài: THIẾT KẾ MẠCH CHỐNG TRỘM Họ và tên GVHD : ThS. Phan Thanh Hoàng Anh Họ và tên SVTH : Dương Chí Hùng Mã Số Sinh Viên : 16031192 Chuyên Ngành : Điện Công Nghiệp Và Dân Dụng Lớp : DH16DC Vũng Tàu, tháng 05 năm 2020 MỤC LỤC CHƯƠNG 1.GIỚI THIỆU VỀ ĐỀ TÀI LUẬN VĂN 1 1.1LỜI MỞ ĐẦU 1 1.2GIỚI THIỆU VỀ XỬ LÝ ẢNH 3 1.2.1Một số khái niệm cơ bản 3 1.2

pdf74 trang | Chia sẻ: huong20 | Ngày: 05/01/2022 | Lượt xem: 530 | Lượt tải: 0download
Tóm tắt tài liệu Đồ án Thiết kế mạch chống trộm, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
2.2Các hình thái của ảnh 4 1.3HỆ THỐNG NHẬN DẠNG KHUÔN MẶT 5 1.3.1Bài toán nhận dạng khuôn mặt 5 1.3.2Những tác động trong việc nhận dạng 5 1.3.3Xây dựng hệ thống nhận dạng 6 CHƯƠNG 2.LÝ THUYẾT CƠ SỞ CỦA BÀI TOÁN 9 2.1LÝ THUYẾT PHÁT HIỆN KHUÔN MẶT NGƯỜI BẰNG ĐẶC TRƯNG HAAR WAVELET-LIKE 9 2.1.1Tiếp cận Haar wavelet-like 9 2.1.2Trích xuất đặc trưng Haar wavelet-like 11 2.2NHẬN DẠNG KHUÔN MẶT NGƯỜI SỬ DỤNG LBPH FACE RECOGNIZER 11 2.2.1Nhận dạng bằng thuật toán PCA 12 2.2.2Nhận dạng bằng thuật toán LDA 13 2.2.3Ứng dụng của thuật toán PCA trong bài toán 13 2.2.4Tính toán và tìm EigenFaces 15 2.2.5Bài toán nhận dạng khuôn mặt bằng các EigenFaces 17 CHƯƠNG 3.SƠ LƯỢC VỀ CÁC LINH KIỆN TRONG ĐỀ TÀI 18 3.1GIỚI THIỆU MẠCH ARDUINO NANO 18 3.1.1Cổng kết nối với Arduino Nano 20 3.1.2Lập trình cho Arduino Nano 20 3.2ĐỘNG CƠ RC SERVO 22 3.3MODULE LM2596 23 3.4BÀN PHÍM 25 CHƯƠNG 4.XÂY DỰNG MÔ HÌNH VÀ PHẦN CỨNG 26 4.1KẾT NỐI VỚI THIẾT BỊ NGOẠI VI 26 4.1.1Arduino NANO 26 4.2LÀM MẠCH 28 4.3MÔ HÌNH THỰC TẾ 29 CHƯƠNG 5.TẠO CHƯƠNG TRÌNH NHẬN DẠNG 31 5.1XÂY DỰNG CHƯƠNG TRÌNH PHÁT HIỆN KHUÔN MẶT 32 CHƯƠNG 6.KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 40 6.1KẾT LUẬN 40 6.1.1Kết luận 1 40 6.1.2Kết luận 2 40 6.1.3Kết luận 3 40 6.2HƯỚNG PHÁT TRIỂN 40 TÀI LIỆU THAM KHẢO 41 LỜI CẢM ƠN Tôi xin chân thành cảm ơn ThS. PHAN THANH HOÀNG ANH vì trong thời gian thực hiện luận văn này, thầy đã hết sức tận tâm giúp đỡ cho tôi lúc tôi không hiểu vấn đề trong lúc thực hiện luận văn này. Tôi cũng xin cảm ơn gia đình và bạn bè đã giúp đỡ tôi khi tôi gặp khó khăn. Tôi xin chân thành cảm ơn! Vũng Tàu, ngày 28 tháng 05 năm 2020 Sinh viên DƯƠNG CHÍ HÙNG GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng CHƯƠNG 1. TỔNG QUAN 1.1Lời mở đầu Trong thời đại đất nước ngày càng phát triển về mọi mặt, thì cũng nảy sinh nhiều vấn đề về an ninh và cũng được toàn thế giới rất quan tâm. Theo đó các bài toán về nhận dạng cũng được quan tâm rất nhiều. Và vấn đề nhận dạng các bộ phận cơ thể của con người cũng đã có rất nhiều phương pháp đưa ra và có độ chính xác cao. Một số bài toán nhận dạng đang rất được quan tâm và phát triển phổ biến ở toàn thế giới như:  Nhận dạng bằng vân tay  Nhận dạng bằng vân mắt  Nhận dạng bằng bàn tay  Sử dụng thẻ để lưu giữ thông tin cá nhân Và các phương án nhận dạng này cũng đã được áp dụng sau một thời gian dài phát triển và có được sự chính xác cao. Nhưng các phương pháp này vẫn còn gặp nhiều hạn chế như sau:  Đòi hỏi sự tiếp xúc trực tiếp giữa người và hệ thống.  Với các hệ thống sử dụng thẻ thì yêu cầu phải có thẻ, nếu mất thẻ thì sẽ không nhận dạng được. Hiện nay, với sự phát triển về xử lý ảnh thì bài toán đang được quan tâm nghiên cứu là nhận dạng khuôn mặt (Face Recognition). Khuôn mặt của mỗi người chúng ta đóng vai trò cực kỳ quan trọng. Với mỗi khuôn mặt chúng ta có thể xác định được giới tính, chủng tộc, tuổi tác, trạng thái cảm xúc và đặc biệt là có thể xác định mối quan hệ giữa mỗi người (bạn bè, ba mẹ, anh chị em ). Vì vậy bài toán nhận dạng khuôn mặt được đặt ra có thể giải quyết được nhiều vấn đề như điểm danh, quản lý nhân viên và đặc biệt sẽ mang lại thêm nhiều giải pháp kiểm soát an ninh phù hợp với từng môi trường sử dụng. 6 GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng Và thực tế thì công nghệ nhận dạng khuôn mặt cũng đang được ứng dụng và phát triển bởi các công ty lớn trên thế giới như Apple, Samsung, Google. Ví dụ điển hình như trên những chiếc điện thoại thông minh mới nhất của hãng điện thoại Samsung là S8 hay Iphone X của hãng Apple đều có khả năng sử dụng khuôn mặt của chủ nhân để mở khóa màn hình. Với bài toán nhận diện khuôn mặt thì có rất nhiều bài toán nhỏ khác nhau như:  Nhận dạng dựa trên các đặc trưng của các phần tử trên khuôn mặt (Feature based face recognition).  Nhận dạng dựa trên xét tổng thể khuôn mặt (Appearance based face recognition).  Nhận dạng 2D và 3D Với phương pháp nhận dạng dựa trên các đặc trưng khuôn mặt sử dụng việc xác định các đặc trưng hình học trên các chi tiết của khuôn mặt (vị trí, diện tích, hình dạng mắt, mũi, miệng ) và mối quan hệ giữa chúng (khoảng cách của hai mắt, khoảng cách của hai lông mày). Ưu điểm của phương pháp này là nó gần với cách mà con người sử dụng để nhận biết khuôn mặt và cho kết quả tốt trong các trường hợp ảnh hưởng tác động từ bên ngoài. Nhược điểm là thuật toán phức tạp do việc xác định mối quan hệ giữa các khuôn mặt và các ảnh kích thước nhỏ thì các đặc tính sẽ khó phân biệt do đó khó tính toán được các đặc trưng trên khuôn mặt. Còn với phương pháp nhận dạng dựa trên toàn diện khuôn mặt, có nghĩa chúng ta sẽ không đi xét từng thành phần đặc trưng trên khuôn mặt mà sẽ xem khuôn mặt là một chiều không gian cụ thể và tìm đặc điểm đặc trưng và những đặc điểm chính trên không gian đó. Hai phương pháp thường được sử dụng trong hướng tiếp cận này là:  PCA (Principle Components Analysis) là phương pháp trích xuất đặc trưng nhằm giảm số chiều của ảnh tuy đơn giản nhưng mang lại hiểu quả khá tốt. Hệ thống ổng định và có thể thích nghi cao đối với dữ liệu đầu vào thay đổi nhiều. 7 GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng  LDA (Linear Discriminant Analysis) là phương pháp nhận diện dựa trên một phép chiếu tuyến tính từ không gian hình ảnh vào một chiều không gian thấp hơn bằng cách tối đa giữa các lớp tán xạ và giảm nhiều phân tán trong lớp. Và trong bài toán này để nhận dạng không thể không nhắc tới thư viện OpenCV (Open Source Computer Vision Library). Một thư viện mã nguồn mở hàng đầu cho thị giác máy tính (computer vision), xử lý ảnh và máy học, và các tính năng tăng tắc GPU trong hoạt động thời gian thực. Được giới thiệu vào tháng 01 năm 1999 và được cho ra mắt phiên bản đầu tiên vào năm 2006. Thư viện OpenCV chứa hàng ngàn thuật toán tối ưu hóa và hơn 500 hàm được viết bằng ngôn ngữ C/C++ tương thích với nhiều hệ điều hành như Windows, Android, Linux, Các thuật toán có khả năng dùng để sử dụng để nhận dạng khuôn mặt, xe hơi tự lái, phát hiện khuôn mặt, di chuyển theo khuôn mặt khi phát hiện theo thời gian thực. Nhưng với hệ thống nhận dạng khuôn mặt này đều được thiết kế và sử dụng trên các máy tính có cấu hình cao và rất tốn kém. Vì thế nếu thiết kế một hệ thống nhận dạng thì một chiếc máy tính như vậy quá tốn kém. Nhưng hiện nay với sự phát triển của hệ thống nhúng (Embedded system) một hệ thống tích hợp cả phần cứng và phần mềm phục vụ các bài toán chuyên dụng trong nhiều lĩnh vực công nghiệp, tự động hóa điều khiển và truyền tin. Và chính vì thế trong đề tài luận văn này tôi muốn ứng dụng ARDUINO. Một bo mạch điện tử nhỏ để thực hiện đề tài luận văn “Thiết kế mạch chống trộm”. 1.2Giới thiệu về xử lý ảnh 1.1.1 Một số khái niệm cơ bản Xử lý ảnh là một trong những mảng quan trọng nhất trong vấn đề kỹ thuật thị giác máy tính và bước đầu cho nhiều nghiên cứu phát triển trong lĩnh vực nhận dạng. Nhiệm vụ cơ bản của quá trình xử lý ảnh là nâng cao chất lượng hình ảnh và xử lý số liệu để cung cấp cho các quá trình nhận dạng. 8 GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng  Quy trình bắt đầu từ thu nhận ảnh nguồn (từ thiết bị thu nhận ảnh dạng số hoặc tương tự) gửi đến máy tính. Và dữ liệu ảnh sẽ được lưu trừ ở định dạng phù hợp trong qua trình xử lý.  Quy trình xử lý nhận dạng ảnh được xem là quá trình thao tác ảnh đầu vào nhằm đạt kết quả mong muốn. Kết quả đầu ra của một quá trình xử lý ảnh có thể là một hình ảnh đã được xử lý hoặc một kết luận. Ảnh Qua Xử Lý Ảnh Xử Lý Kết Luận Hình 1.1 Quá trình xử lý ảnh  Ảnh có thể được coi là một tập hợp các điểm ảnh và mỗi điểm ảnh được xem như là đặc trưng cường độ sáng hay một dấu hiệu nào đó tại một vị trí nào đó của đối tượng trong không gian và nó có thể xem như một hàm n biến. Vì vậy, ảnh trong xử lý ảnh có thể xem như ảnh n chiều. 1.1.2 Các hình thái của ảnh  Chuyển ảnh màu thành ảnh xám: Đơn vị tế bào của ảnh số là pixel. Tùy theo mỗi định dạng là ảnh màu hay ảnh xám mà từng pixel có thông số khác nhau. Đối với ảnh màu từng pixel sẽ mang thông tin của ba màu cơ bản tạo ra bản màu là Đỏ, Xanh lá, Xanh biển. Trong mỗi một pixel của ảnh màu thì ba màu cơ bản được bố trí sát nhau và có cường độ sáng khác nhau.  Lược đồ xám của ảnh (Histogram) có các mức xám trong khoảng [0,L-1] là một hàm rời rạc p(rk) = nk/n. Trong đó nk là số pixel có mức xám thứ rk, n là tổng số pixel trong ảnh và k=0,1,2L-1. Do đó P(rk) cho một xác suất xảy ra mức xám rk. Vẽ hàm này với tất cả các giá trị của k sẽ biểu diễn khái quát sự xuất hiện các mức xám của một ảnh. Và chúng ta có thể thể hiện lược đồ mức 9 GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng xám của ảnh thông qua tần suất xuất hiện mỗi mức xam qua hệ tọa độ vuông góc xOy. Trong đó, trục hoành biểu diễn số mức xám từ 0 đến N (số bit của ảnh xám). Trục tung biểu diễn số pixel của mỗi mức xám. 1.3Hệ thống nhận dạng khuôn mặt 1.1.3 Bài toán nhận dạng khuôn mặt Bài toán về hệ thống nhận dạng mặt người là một hệ thống nhận vào là một hình ảnh hoặc một chuỗi các ảnh (video). Qua đó xử lý và tính toán để xác định được vị trí khuôn mặt người trong ảnh (nếu có) và xác định người nào trong số những người đã được đào tạo hoặc trả về kết quả là người lạ. Hình 1.2 Hệ thống nhận dạng khuôn mặt 1.1.4 Những tác động trong việc nhận dạng  Điều kiện chụp ảnh: Ảnh được chụp khi có các điều kiện khác nhau có thể gây ảnh hưởng đến chất lượng ảnh như : ánh sáng, chất lượng camera,  Sự che khuất: Khuôn mặt có thể đã bị che khuất bỡi các vật thể khác hoặc camera bị dính bẩn,  Tư thế chụp, góc chụp: Ảnh chụp khuôn mặt có thể bị thay đổi do góc chụp giữa camera và khuôn mặt. Khuôn mặt đang nhìn thẳng nhưng góc chụp của máy ảnh lại lệch so với hướng nhìn hoặc nhiều trường hợp khác do đó tạo nhiều khó khăn rất lớn cho bài toán nhận diện khuôn mặt. 10 GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng  Thiếu một số thành phần khuôn mặt: Các đặc trưng như râu, mắt kính, có thể xuất hiện hoặc không.  Sự biểu cảm của khuôn mặt: Biểu cảm của con người có thể làm ảnh hưởng đáng kể lên các thông số của khuôn mặt  Nền ảnh: Nền ảnh phức tạp là một trong những khó khăn nhất trong bài toán nhận diện, vì khuôn mặt người sẽ dễ bị nhầm lẫn với khung cảnh phía sau và sẽ ảnh hưởng đến quá trình phân tích.  Màu da: Màu sắc của da mặt quá tối hoặc quá sáng cũng có thể gây khó khăn trong việc nhận dạng.  Tuổi tác: Nhận dạng khuôn mặt theo thời gian cũng là một vấn đề cần tính toán trong vấn đề nhận dạng. 1.1.5 Xây dựng hệ thống nhận dạng Một hệ thống nhận dạng khuôn mặt có thể được xây dựng qua rất nhiều quá trình khác nhau và phức tạp, nhưng bài toán này cũng có thể khái quát chung thành bốn bước sau: 1. Phát hiện khuôn mặt (Face Detection) 2. Phân đoạn khuôn mặt (Face Alignment) 3. Trích xuất đặc trưng (Feature Extration) 4. Nhận dạng (Recognition) 11 GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng Hình 1.3 Quá trình nhận dạng khuôn mặt  Phát hiện khuôn mặt: Là dò tìm, xác định vị trí của khuôn mặt xuất hiện trong frame video.  Phân đoạn khuôn mặt: là tạo một khung vuông để xác định vị trí mắt, mũi, miệng và các bộ phận khác để chuyển kết quả cho bước trích xuất khuôn mặt.  Trích xuất đặc trưng: Bằng một phương pháp trích xuất chọn đặc điểm nào đó (Haar-like, Local Binary Pattern – LBP,) sẽ được dùng để trích xuất đặc trưng thông tin về khuôn mặt xuất hiện trên camera. Xuất ra kết quả mỗi ảnh dưới dạng vector đặc trưng.  Phân lớp khuôn mặt: Sử dụng vector đặc trưng như một đầu vào cho mô hình đã được huấn luyện trước. Xuất ra kết quả danh tính của khuôn mặt. Bên cạnh những bước chính nêu trên, chúng ta còn có thể sử dụng thêm một số bước như : tiền xử lý, hậu xử lý trong quá trình xử lý ảnh để làm tăng độ chính xác cho hệ thống. Cụ thể như khi đọc ảnh từ frame video, chúng ta có thể sử dụng bước tiền xử lý để căn chỉnh hình ảnh và cân chỉnh ánh sáng. Và dữ liệu cho một hệ thống nhận dạng khuôn mặt được chia làm ba quá trình như sau:  Cài đặt huấn luyện hay tập huấn luyện (Training Set): là gồm nhiều ảnh được dùng để huấn luyện (learning), trong tập này được dùng để sinh ra một không gian con hoặc thư mục con (projection subspace) và nó là một ma trận. Phương pháp hay được sử dụng nhất là PCA (Princial Component Analysis), LDA (Linear Discriminant), WPCA (Whitened PCA), KPCA (Kernal PCA). Tập đào tạo gồm các ảnh đã biết danh tính được chiếu vào không gian con ở trong bước training. Bước training nhằm hai mục đích chính là : giảm số chiều (Dimension reduction) của các vector đặc trưng vì vector này thường có độ dài 12 GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng khá lớn (Vài nghìn đến vài trăm nghìn) mà nếu chúng ta để nguyên thì việc tính toán sẽ sinh ra rất khó khăn, mục đích thứ hai là làm tăng tính phân biệt giữ các ảnh khác lớp và cũng có thể làm giản tính phân biệt giữa các ảnh thuộc về một lớp.  Sau khi chiếu tập huấn luyện vào không gian con, hệ thống sẽ tự lưu lại kết quả là một ma trận với mỗi một cột của ma trận là một vector tương ứng với một ảnh (danh tính đã được xác định) để thực hiện nhận dạng. Nhận dạng được thực hiện với tập probe, sau khi tiền xử lý đã hoàn thành, mỗi một ảnh sẽ được áp dụng phương pháp trích xuất đặc trưng và được chiếu vào không gian con.  Tiếp đến việc phân lớp sẽ dựa trên phương pháp K-NN, định danh của một ảnh cần xác định sẽ được gán định danh của ảnh có khoảng cách gần với nó nhất. 13 GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng CHƯƠNG 2. CƠ SỞ LÝ THUYẾT 1.4Lý thuyết phát hiện khuôn mặt người bằng đặc trưng Haar wavelet-like 1.1.6 Tiếp cận Haar wavelet-like Đặc trưng Haar wavelet-like được giới thiệu bởi Michael Jones và Paul Viola là một trong những đặc trưng ảnh số được sử dụng trong nhận dạng đối tượng, khuôn mặt. Những đặc trưng trong Haar wavelet-like là một sự lựa chọn phù hợp cho mục đích phát hiện nhanh chóng và có độ chính xác cao trong thời gian thực. Trong hầu hết các bài toán nhận dạng đều làm việc trên cường độ sáng và tối của ảnh, làm việc trên từng pixel trong ảnh, vì vậy nó đòi hỏi người sử dụng phải làm việc với mức độ tính toán lớn. Và để giải quyết vấn đề của bài toán này thì sử dụng những đặc trưng cơ bản của Haar wavelet-like với việc dùng những hình chữ nhật lân cận tại một địa điểm cụ thể trong tập traning để tìm đối tượng. Tính năng thường hay sử dụng của đặc trưng này là để dò tìm đối tượng và là tập hợp của các hình chữ nhật liền kề và xác định vị trí của các hình chữ nhật liên quan nhằm mục đích bao quanh đối tượng cần tìm. Đặc trưng Haar wavelet-like cũng là sự kết hợp của hai hay ba hình chữ nhật “trắng” hoặc “đen”. Hình 2.1 Đặc trưng Haar wavelet-like cơ bản Và để áp dụng các đặc trung này vào việc xác định bài toán nhận dạng khuôn mặt này thì bốn đặc trung cơ bản sẽ được mở rộng ra và chia làm ba tập đặc trưng như sau : 14 GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng  Đặc trưng cạnh (edge features) Hình 2.2 Đặc trưng cạnh  Đặc trưng đường (line features) Hình 2.3 Đặc trưng đường  Đặc trưng xung quanh tâm (center suround features) Hình 2.4 Đặc trưng xung quanh tâm Đặc trưng này cũng phản ánh sự tương phản giữa các mối liên hệ của đối tượng. Những đối tượng cần xác định và phát hiện có thể được xác định bởi một bộ đặc trung này thông qua những liên hệ không gian giữa chúng. 15 GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng Hình 2.5 Quá trình trích xuất đặc trưng Haar wavelet-like 1.1.7 Trích xuất đặc trưng Haar wavelet-like Đặc trưng Haar-Like sẽ được biễu diễn các mỗi liên hệ giữa các bộ phận của đối tượng, điều mà chính bản thân từng pixel không diễn đạt được và dựa trên việc co giản của khung cửa sổ tìm kiếm các đặc trung Haar-Like. Và chúng ta có thể tính sự chênh lệch giữa tổng các pixel của các vùng trắng và đen bằng công thức sau: f(x)=∑vùng đen(pixel)-∑vùng trắng(pixel) Dựa vào công thức này chúng ta sẽ thấy rằng với tổng các pixel trên ảnh sẽ cho ta thấy được các giá trị của đặc trưng này. Nhưng vấn đề ở đây là để tính toán được những giá trị của các đặc trưng này thì đòi hỏi một khối lượng tính toán rất lớn và dẫn đến không thể đáp ứng được cho các ứng dụng thời gian thực tế. Do đó Michel Jones và Paul Viola đề xuất ra một khái niệm mới gọi là “tích phân ảnh” giúp tính toán nhanh cho các đặc trưng cơ bản của Haar-Like. 1.5 Nhận dạng khuôn mặt người sử dụng LBPH Face Recognizer LBPH Face Recognizer là phương pháp áp dụng trực tiếp các phép phân tích của các thành phần chính PCA (Principal Component Analysis) và nó được sử dụng rất nhiều vào quá trình phát hiện và nhận dạng khuôn mặt. Ưu điểm của phương pháp này là biểu diễn được toàn bộ ảnh và có độ sắc nét tốt và giảm hạn chế về ánh sáng, 1.1.8 Nhận dạng bằng thuật toán PCA Thuật toán PCA (Principal Component Analysis) là một thuật toán để tạo ra một ảnh mới ban đầu. Và ảnh mới này sẽ có kích thước nhỏ hơn rất nhiều so với ảnh ban đầu nhưng vẫn mang những đặc trưng cơ bản nhất của một khuôn mặt người cần nhận dạng. PCA không cần phải quan tâm đến việc phải truy tìm cụ 16 GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng thể các đặc điểm trên khuôn mặt như mắt, mũi, miệng , PCA sẽ tự có tất cả những chi tiết đó thể hiện trong ảnh. Mục tiêu của thuật toán PCA là ảnh mới được tạo phải có kích thước nhỏ nhất và chứa nhiều nhất các đặc trưng của ảnh khuôn mặt đầu vào. Theo lý thuyết thì PCA tìm ra một không gian mới chứa những tập hợp véc tơ trong một không gian cho trước. Ưu điểm của thuật toán PCA:  PCA có tính mở và có thể kết hợp được với các phương pháp khác nhau để mang lại hiểu quả cao  Khối lượng xử lý, tính toán không nhiều  Thuật toán thực hiện tốt với các ảnh đầu vào có độ phân giải (pixel) cao bỡi vì PCA sẽ thu nhỏ ảnh đầu vào thành một ảnh mới có kích thước nhỏ hơn.  PCA có thể xác định được các đặc tính tiêu biểu cho một khuôn mặt mà không cần phải xác định các thành phần và mối liên hệ giữa chúng. Nhược điểm của thuật toán PCA:  PCA rất dễ bị nhiễu  Còn phụ thuộc vào ánh sáng  Ảnh phân bố chưa đều và cũng không phải lúc nào cũng mang lại hiệu quả nhận dạng tốt 1.1.9 Nhận dạng bằng thuật toán LDA Và cũng tương tự như PCA, LDA (Linear Discriminants Analysis) cũng là một phương pháp nhận dạng đang phát triển hiện nay. 17 GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng Mục đích của thuật toán LDA là tìm ra một không gian mới có thể để tách rời các nhóm ảnh với nhau. Không gian đó được tạo bởi các vec-tơ không nhất thiết phải trực giao từng đôi một. Trong không gian được tạo ra từ LDA các ảnh trong cùng một nhóm sẽ gần nhau, và các nhóm khác nhau thì sẽ cách xa nhau. LDA khắc phục được nhược điểm của PCA đó là ảnh lớn nhất thì mang thông tin nhận dạng cao nhất. Ưu điểm của thuật toán LDA:  Thuật toán LDA mang hầu hết các ưu điểm của PCA và đồng thời khắc phục được nhược điểm cơ bản của PCA. Nhược điểm của thuật toán LDA:  Thuật toán LDA đòi hỏi một khối lượng tính toán rất lớn. Và hiện nay vẫn chưa có cách tính nhanh cho phương pháp này. 1.1.10 Ứng dụng của thuật toán PCA trong bài toán Thuật toán PCA nhận dạng ảnh dựa trên những nét tổng thể của khuôn mặt vì thế chúng ta có thể áp dụng thuật toán này để thực hiện công việc tìm một khuôn mặt giống với khuôn mặt được đào tạo trước với một kích thước nhỏ hơn và những nét đặc trưng chỉ có trên khuôn mặt đó. Đặc trưng của thuật toán PCA: Mục tiêu của thuật toán này là giảm số chiều của một tập hợp những vec-tơ sao cho vẫn đảm bảo được tối đa thông tin quan trọng nhất. Thuật toán này sẽ giữ lại K thuộc tích (Feature extraction) từ N thuộc tính ban đầu (Feature selection) và K<N. Và mục tiêu của phương pháp PCA đó là phép biến đổi tuyến tính T thõa mãn. Công thức: y= T.x 18 GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng Hình 2.6 Phương pháp thuật toán PCA Cách đi tìm T: Gọi  là một vec-tơ trung bình của tất cả các vec-tơ x trong tập mẫu gồm M ảnh. Và gọi ma trận hiệp phương sai của các phẩn từ x trong tập mẫu C. C được tính theo công thức: Ma trận hiệp phương sai của tập hợp m biến ngẫu nhiên là một ma trận vuông hạng (m x m), và trong đó các phần từ nằm trên một đường chéo là phương sai tương ứng của biến và các phần từ còn lại trên ma trận là các phương sai của từng đôi một hai biến ngẫu nhiên khác nhau trong tập hợp Và nếu T là một ma trận m hàng thì mỗi hàng là một vec-tơ riêng của C và cũng đồng thời m vec-tơ riêng này phải ứng với m giá trị riêng lớn nhất. Và khi đó T chính là phép biến đổi thỏa mãn giá trị nhỏ nhất. Vì vậy, phương pháp sử dụng thuật toán PCA quy về việc đi tìm giá trị riêng và vec-tơ riêng của ma trận hiệp phương sai C và chỉ giữ lại K vec-tơ riêng ứng với K trị riêng lớn nhất để làm cơ sở cho không gian mới này. 1.1.11 Tính toán và tìm EigenFaces Ta coi mỗi bức ảnh là một vec-tơ không gian NxP chiều và bây giờ mỗi khuôn mặt là một vec-tơ thì chúng ta thấy những vec-tơ này không phân bố ngẫu nhiên trong không gian ảnh mà phân bố theo một quy luật nào đó. Và ta 19 GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng cũng có thể nói những vec-tơ này nằm trong một không gian chứa những khuôn mặt. Và từ những vec-tơ trong tập huấn luyện thì ta sẽ tìm ra những vec-tơ mang những nét đặc trưng về khuôn mặt. Các bước để tính toán và tìm EigenFaces:  Bước 1: Sử dụng các ảnh khuôn mặt I-1, I-2,,I-n (tập các khuôn mặt huấn luyện) với khuôn mặt phải chính diện và tất cả ảnh phải cùng kích thước. Hình 2.7 Ví dụ về một tập huấn luyện  Bước 2: Biễu diễn mỗi ảnh I-1,I-2,,I-n thành các vec-tơ T-1,T-2,,T-n tương ứng.  Bước 3: Tính vec-tơ khuôn mặt trung bình  theo công thức:  Bước 4: Tính sai số giữa vec-tơ ảnh ban đầu và vec-tơ ảnh trung bình theo công thức :  Bước 5: Tính ma trận hiệp phương sai C theo công thức: Và ma trận C có kích thước (NxP)x(NxP). Trong đó: 20 GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng Ma trận A có kích thước (NxP)xM  Bước 6: Tính toán các vec-tơ riêng của ma trận vuông C =(1/M).A.Aᵀ Nhận thấy ma trận trên có kích thước (NxP)x(NxP), và do kích thước ma trận này quá lớn nên chúng ta không thể tìm vec-tơ riêng và trị riêng tương ứng một cách trực tiếp. Thay vào đó chúng ta sẽ tìm vec-tơ riêng của ma trận A.Aᵀ có kích thước MxM.  Bước 7: Chuẩn hóa các vec-tơ của ma trận C để thu được một cơ sở trực chuẩn của không gian khuôn mặt. Chỉ giữ lại K vec-tơ riêng trong số M vec-tơ nói trên (ứng với K giá trị riêng lớn nhất) và tất nhiên K<<N².  Có cách để xác định K : Sắp xếp theo thứ tự dãy giảm dần các eigenvalues tìm được. Theo dõi sự biến thiên của dãy trên và khi không còn biến thiên hoặc gần bằng 0 thì lúc đó ta đã chọn đủ K. 21 GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng 1.1.12 Bài toán nhận dạng khuôn mặt bằng các EigenFaces Ta cho một hình ảnh khuôn mặt A chưa biết là ai (khuôn mặt phải chính diện và cùng kích thước). Giai đoạn nhận dạng này hoàn toàn giống hệt với giai đoạn đầu biểu diễn các khuôn mặt trong tập huấn luyện. Các bước thực hiện lần lượt như sau:  Bước 1: Chúng ta chuẩn hóa A có công thức :   Bước 2: Chúng ta biểu diễn thành   Bước 3: Tính khoảng cách từ ảnh cần nhận dạng tới các ảnh trong tập huấn luyện. Tức là đi tìm khuôn mặt có khoảng cách gần nhất với khuôn mặt cần nhận dạng.  Bước 4: Nếu khuôn mặt cần xác định đủ gần với khuôn mặt mẫu thì khi đó ta kết luật đó chính là khuôn mặt của người cần nhận dạng. 22 GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng CHƯƠNG 3. SƠ LƯỢC VỀ CÁC LINH KIỆN TRONG ĐỀ TÀI 1.6Giới thiệu mạch Arduino NANO Arduino là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tương tác với nhau hoặc với môi trường được thuận lợi hơn. Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM Atmel 32-bit. Những Model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác nhau. Được giới thiệu vào năm 2005, Những nhà thiết kế của Arduino cố gắng mang đến một phương thức dễ dàng, không tốn kém cho những người yêu thích, sinh viên và giới chuyên nghiệp để tạo ra những nhiết bị có khả năng tương tác với môi trường thông qua các cảm biến và các cơ cấu chấp hành. Những ví dụ phổ biến cho những người yêu thích mới bắt đầu bao gồm các robot đơn giản, điều khiển nhiệt độ và phát hiện chuyển động. Arduino NANO là một người anh em cùng với aduino uno R3, nhưng nhỏ hơn và tiện lợi ngang với arduino UNO R3. Kích thước của arduino NANO là 1.85cm x 4.3cm, tuy nhỏ hơn, lại rẻ hơn nhưng thông số và khả năng ứng dụng không kém gì với arduino R3. 23 GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng Hình 3.1 Arduino NANO Hình 3.2 Sơ đồ chân Arduino NANO Vi điều khiển ATmega328 (họ 8bit) Điện áp hoạt động 5V – DC Tần số hoạt động 16 MHz Dòng tiêu thụ 30mA Điện áp vào khuyên dùng 7-12V – DC Điện áp vào giới hạn 6-20V – DC Số chân Digital I/O 14 (6 chân PWM) Số chân Analog 8 (độ phân giải 10bit) Dòng tối đa trên mỗi chân I/O 40 mA Dòng ra tối đa (5V) 500 mA Dòng ra tối đa (3.3V) 50 mA 24 GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng 32 KB (ATmega328) với 2KB dùng Bộ nhớ flash bởi bootloader SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Kích thước 1.85cm x 4.3cm Bảng 3.1 Các thông số của Arduino NANO 1.1.13 Cổng kết nối với Arduino Nano Khác với Arduino Nano sử dụng cổng USB Type B, Nano lại sử dụng một cổng nhỏ hơn có tên là mini USB. Vì sử dụng cổng này nên kích thước board (vê chiều cao) cũng giảm đi khá nhiều, ngoài ra bạn có thể lập trình thẳng trực tiếp cho Nano từ máy tính - điều này tạo nhiều điện thuận lợi cho newbie. 1.1.14 Lập trình cho Arduino Nano Cũng tương tự như bên Arduino Uno R3, Arduino NANO sử dụng chương trình Arduino IDE để lập trình, và ngôn ngữ lập trình cho Arduino cũng tên là Arduino (được xây dựng trên ngôn ngữ C). Tuy nhiên, nếu muốn lập trình cho Arduino Nano, ta cần phải thực hiện một số thao tác trên máy tính. Sau đây, là các bước để có thể lập trình cho Arduino NANO. 1. Đầu tiên, ta cần cài Driver của Arduino NANO và tải về bản Arduino IDE mới nhất cho máy tính, các bước cài đặt hoàn toàn tương tự như Arduino UNO R3, bạn có thể tham khảo tại đây. Sau khi cài đặt, bạn sẽ thấy một thông báo dạng "Cổng COMx đã được cài đặt thành công" 2. Sau đó, ta cài đặt lại loại board và cổng Serial mới như hình sau. 25 GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng Hình 3.3 Cài đặt board cho lập trình với Arduino NANO Hình 3.4 Cài đặt lại cổng Serial cho lập trình với Arduino NANO 26 GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng 1.7Động cơ RC Servo 9G Hình 3.5 Động cơ RC Servo MG 996R RC servo 9G có kích thước nhỏ gọn và là loại hay được sử dụng để làm các mô hình hoặc cơ cấu kéo không cần lực nặng. Động cơ có tốc độ phản ứng nhanh, các bánh răng được làm bằng nhựa nên hạn chế nâng tải nặng. Động cơ tích hợp sẵn Driver điều khiển bên trong nên nó có thể dễ dàng điều khiển góc quay bằng phương pháp độ rộng xung PWM. Thông số kỹ thuật :  Điện áp nguồn : 4.8V-6.6V DC  Tốc độ : 0.17 sec/60 degress (4.8V không tải) và 0.13sec/60 degress (6.0V không tải)  Lực kéo : 1.6kg.cm  Kích thước : 40 x 19 x 43mm  Trọng lượng : 55g  Lực kéo: 3.5kg- cm với 4.8V và 5.5 kg-cm với 6V 27 GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng  Dây màu đỏ nối với nguồn 5V DC, màu nâu là dây nối Mass, màu cam là dây điều khiển bằng xung PWM.  Tín hiệu PWM 20ms (50Hz), độ rộng xung điều khiển từ 1-2ms Hình 3.6 Chiều quay của Servo Công thức tính góc quay: dc= góc quay / tín hiệu pwm + 2.5 Dc= 0/20 + 2.5 = 2.5 Dc = 90/20 + 2.5= 7.0 Dc = 180/20 + 2.5= 12 1.8Module LM2596 Mạch Giảm Áp LM2596​ là module giảm áp có khả năng điều chỉnh được dòng ra đến 3A. LM2596 là IC nguồn tích hợp đầy đủ bên trong. Tức là khi cấp nguồn 9v vào module, sau khi giảm áp ta có thể lấp được nguồn 3A < 9v...như 5V hay 3.3V. Tôi sử dụng mạch này cấp nguồn chuẩn cho các linh kiện khác. 28 GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng Hình 3.7 Mạch giảm áp LM2596 Thông số kỹ thuật Module nguồn không sử dụng cách ly Nguồn đầu vào từ 4V - 35V. Nguồn đầu ra: 1V - 30V. Dòng ra Max: 3A Kích thước mạch: 53mm x 26mm Đầu vào: INPUT +, INPUT- Đầu ra: OUTPUT+, OUTPUT- 29 GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng Hình 3.8 Ngõ vào và ngõ ra của module LM2596 1.9Bàn phím Hình 3.9 Bàn phím ma trận Sử dụng bàn phím ma trận để nhập mật khẩu phòng trường hợp camera của mạch gặp sự cố. CHƯƠNG 4. 30 GVHD: ThS. Phan Thanh Hoàng AnhSVTH: Dương Chí Hùng XÂY DỰNG MÔ HÌNH VÀ PHẦN CỨNG 1.10 Kết nối với thiết bị ngoại vi Sơ đồ hệ thống kết nối với thiết bị ngoại vi Hệ Thống Khối Xử Khối Nhận Lý Trung Khối Động Nguồn Diện Tâm Cơ Servo Khuôn Mặt Khối Hiển Thị Và Báo Động Hình 4.1 Sơ đồ kết nối ngoại vi Chức năng từng khối:  Khối nguồn: cung cấp nguồn 5V cho khối hiển thị và báo động nguồn 4.5V DC cho Module Sim 800A; nguồn 9V DC cấp cho khối xử lý trung tâm board Arduino Uno R3.  Khối xử lý trung tâm: thu thập dữ liệu từ các thiết bị sau đó xử lý và điều khiển khối chấp hành và khối hiển thị. Khối này do Arduino Uno R3 thực hiện.  Khối hiển thị và báo dộng: sử dụng led và buzze

Các file đính kèm theo tài liệu này:

  • pdfdo_an_thiet_ke_mach_chong_trom.pdf
Tài liệu liên quan