Đồ Án HCMUTE: Thiết Kế và Thi Công Mô Hình Camera Nhận Diện Khuôn Mặt

Khám phá đồ án HCMUTE thiết kế và thi công mô hình camera nhận diện và chuyển động dò theo gương mặt, ứng dụng công nghệ hiện đại.

Người đăng

Ẩn danh

Thể loại

đồ án tốt nghiệp

2019

68
0
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: TỔNG QUAN

1.1. GIỚI THIỆU

1.2. MỤC TIÊU ĐỀ TÀI

1.3. NỘI DUNG THỰC HIỆN

1.4. BỐ CỤC QUYỂN BÁO CÁO

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT, HỌC MÁY

2.1.1. Cây quyết định

2.1.2. AdaBoost

2.2. Tiền xử lý ảnh

2.2.1. Chuyển đổi ảnh xám

3. CHƯƠNG 3: THIẾT KẾ HỆ THỐNG

3.1. ĐẶC TẢ HỆ THỐNG

3.2. THIẾT KẾ PHẦN CỨNG

3.3. THIẾT KẾ PHẦN MỀM

4. CHƯƠNG 4: THỰC HIỆN HỆ THỐNG VÀ ĐÁNH GIÁ

4.1. THỰC HIỆN HỆ THỐNG

4.1.1. Thực hiện mô hình phần cứng

4.1.2. Thực hiện phần mềm

4.2. ĐÁNH GIÁ KẾT QUẢ

5. CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

5.1. HƯỚNG PHÁT TRIỂN

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Giới thiệu về Mô hình Camera Nhận diện Khuôn mặt tại HCMUTE

Đề tài nghiên cứu tập trung vào thiết kế và thi công mô hình camera nhận diện khuôn mặt, một giải pháp an ninh trường học thông minh. Việc sử dụng camera nhận diện khuôn mặt đang ngày càng phổ biến, nhất là trong các trường đại học như HCMUTE. Nghiên cứu này hướng tới việc áp dụng công nghệ này vào thực tế, cụ thể là tại HCMUTE, bằng cách xây dựng một hệ thống hiệu quả, tiết kiệm tài nguyên. Hệ thống này sử dụng camera an ninh nhận diện khuôn mặt chất lượng cao để đảm bảo độ chính xác cao. Ứng dụng camera nhận diện khuôn mặt trong quản lý an ninh là một hướng đi đầy tiềm năng. Đề tài này góp phần vào việc tìm hiểu, đánh giá và triển khai giải pháp camera nhận diện khuôn mặt cho môi trường cụ thể tại HCMUTE.

1.1. Lựa chọn công nghệ và phần cứng camera nhận diện khuôn mặt

Nghiên cứu sử dụng Raspberry Pi 3 Model B làm nền tảng phần cứng. Việc này giảm chi phí và tăng tính linh hoạt. Module Pi Camera V1 cung cấp khả năng thu thập hình ảnh chất lượng tốt. Việc lựa chọn Raspberry Pi là phù hợp với mục tiêu tối ưu hóa chi phí và xử lý dữ liệu ngay trên thiết bị. Các thông số kỹ thuật của camera nhận diện khuôn mặt được lựa chọn kỹ lưỡng để đảm bảo hiệu quả. Hệ thống camera nhận diện khuôn mặt được thiết kế tối ưu hóa cho môi trường HCMUTE. Nghiên cứu cũng đề cập đến cơ cấu chuyển động sử dụng servo MG90S, cho phép camera tự động xoay theo đối tượng. Thiết kế phần cứng chú trọng đến tính đơn giản, dễ dàng lắp đặt và bảo trì. Lựa chọn camera phù hợp là yếu tố then chốt cho hiệu quả hoạt động của hệ thống. Việc sử dụng camera chất lượng cao giúp đảm bảo độ chính xác của hệ thống nhận diện khuôn mặt.

1.2. Phần mềm nhận diện khuôn mặt và thuật toán nhận diện khuôn mặt

Phần mềm nhận diện khuôn mặt được phát triển dựa trên thư viện OpenCV, một thư viện mã nguồn mở mạnh mẽ. Nghiên cứu tập trung vào việc tối ưu hóa thuật toán nhận diện khuôn mặt, cân bằng giữa tốc độ và độ chính xác. Thuật toán nhận diện khuôn mặt được lựa chọn cẩn thận, phù hợp với khả năng xử lý của Raspberry Pi. Phát hiện khuôn mặt được thực hiện bằng phương pháp Viola-Jones, một phương pháp hiệu quả và nhanh chóng. Nhận diện khuôn mặt sử dụng phương pháp LBP (Local Binary Pattern) để trích xuất đặc trưng. Việc kết hợp phát hiện và nhận diện khuôn mặt tạo nên một hệ thống hoàn chỉnh. Cơ sở dữ liệu nhận diện khuôn mặt cần được chuẩn bị kỹ lưỡng để đảm bảo độ chính xác của hệ thống. Deep learning nhận diện khuôn mặt có thể được xem xét trong các phiên bản nâng cấp hệ thống. Thuật toán dò theo đối tượng giúp camera luôn hướng về đối tượng được nhận diện. Phần mềm được viết bằng ngôn ngữ lập trình Python.

II. Thiết kế hệ thống camera nhận diện khuôn mặt

Phần này trình bày thiết kế hệ thống camera nhận diện khuôn mặt. Thiết kế hệ thống an ninh tập trung vào khả năng hoạt động ổn định, độ chính xác cao và dễ sử dụng. Thiết kế phần cứng bao gồm sơ đồ kết nối các thành phần, lựa chọn các linh kiện phù hợp. Thiết kế phần mềm mô tả luồng xử lý dữ liệu, thuật toán sử dụng, và giao diện người dùng. Thiết kế hệ thống camera được tối ưu cho hiệu suất và khả năng mở rộng. Hệ thống camera nhận diện khuôn mặt được thiết kế mô-đun, dễ dàng bảo trì và nâng cấp.

2.1. Thiết kế phần cứng hệ thống camera

Thiết kế bao gồm Raspberry Pi 3 Model B, module Pi Camera V1, servo MG90S và các kết nối cần thiết. Sơ đồ mạch điện đơn giản, dễ hiểu. Lập đặt camera cần đảm bảo góc nhìn phù hợp. Hệ thống camera cần được bảo vệ an toàn khỏi các tác động ngoại cảnh. Thiết kế phần cứng phải đảm bảo khả năng tương thích giữa các thành phần. Chi phí lắp đặt camera phải được tính toán kỹ lưỡng. Chất lượng camera ảnh hưởng trực tiếp đến chất lượng nhận diện khuôn mặt. Hệ thống được thiết kế nhỏ gọn, dễ dàng di chuyển. Việc lắp đặt camera nên được thực hiện bởi người có chuyên môn.

2.2. Thiết kế phần mềm hệ thống camera

Phần mềm được viết bằng Python, sử dụng thư viện OpenCV. Luồng xử lý bao gồm thu nhận ảnh, tiền xử lý, phát hiện khuôn mặt, nhận diện khuôn mặt, và điều khiển servo. Giao diện người dùng đơn giản, dễ sử dụng. Phần mềm được thiết kế mô-đun, dễ dàng bảo trì và nâng cấp. Mã nguồn phần mềm được viết rõ ràng, dễ đọc và hiểu. Việc test phần mềm cần được thực hiện kỹ lưỡng để đảm bảo tính ổn định. Hiệu suất phần mềm cần được tối ưu hóa để đảm bảo tốc độ xử lý nhanh chóng. Phần mềm cần được bảo mật để tránh truy cập trái phép. Tích hợp phần mềm với các hệ thống khác cần được xem xét trong tương lai.

III. Thực hiện và đánh giá hệ thống camera nhận diện khuôn mặt

Phần này trình bày quá trình thực hiện và đánh giá hệ thống camera nhận diện khuôn mặt. Kết quả thử nghiệm hệ thống được phân tích chi tiết, đánh giá độ chính xác và hiệu suất. Đánh giá hệ thống bao gồm các chỉ số đánh giá cụ thể như độ chính xác nhận diện, tốc độ xử lý, và khả năng hoạt động trong điều kiện khác nhau. Kết quả thực hiện cho thấy hệ thống hoạt động hiệu quả, đáp ứng yêu cầu đặt ra.

3.1. Quá trình thực hiện hệ thống camera

Quá trình này bao gồm việc lắp ráp phần cứng, cài đặt hệ điều hành, và triển khai phần mềm. Việc cài đặt phần mềm cần được thực hiện theo đúng hướng dẫn. Quá trình test hệ thống cần được thực hiện kỹ lưỡng. Quá trình lập trình cần được ghi chép đầy đủ. Quá trình thực hiện cần tuân thủ các quy trình kỹ thuật. Quá trình triển khai cần được giám sát chặt chẽ. Thời gian thực hiện cần được quản lý hợp lý. Tài nguyên sử dụng cần được tối ưu hóa. Vấn đề gặp phải trong quá trình thực hiện cần được ghi nhận và giải quyết.

3.2. Kết quả đánh giá hệ thống camera

Kết quả thử nghiệm cho thấy hệ thống đạt được độ chính xác cao trong việc nhận diện khuôn mặt. Tốc độ xử lý đáp ứng yêu cầu thời gian thực. Hệ thống hoạt động ổn định trong điều kiện môi trường khác nhau. Kết quả đánh giá cho thấy hiệu quả của hệ thống. Phân tích kết quả giúp đưa ra các kiến nghị cải tiến hệ thống. Báo cáo đánh giá cần được trình bày rõ ràng, dễ hiểu. So sánh kết quả với các hệ thống khác cần được thực hiện. Kết quả đánh giá đóng vai trò quan trọng trong việc đánh giá tính khả thi của hệ thống. Phân tích lỗi trong quá trình đánh giá cũng cần được ghi nhận.

01/02/2025

Trích đoạn nội dung tài liệu

Chương 1: Tổng quan Chương này trình bày tổng quan về đề tài đã thực hiện, bao gồm mục tiêu, nhiệm vụ, các công việc thực hiện và tình hình nghiên cứu. Bên cạnh đó giới thiệu về bối cảnh công nghệ hiện tại, lý do lựa chọn đề tài này để thực hiện và các văn bản liên quan đến đề tài. Chương 2: Cơ sở lý thuyết 3 do an Chương này trình bày về các cơ sở lý thuyết sinh viên nghiên cứu và vận dụng để thực hiện đề tài. Các kiến thức liên quan đến phần cứng hệ thống nhúng, giải thuật tiền xử lý ảnh, phát hiện, nhận diện và dò đối tượng trong ảnh.

Chương 3: Thiết kế hệ thống Chương này trình bày việc thiết kế hế thống gồm phần cứng và phần mềm. Phần cứng gồm những khối, đơn vị nào được kết nối với nhau như thế nào; và phần mềm sử dụng những giải thuật nào, các hàm hỗ trợ ra sao. Chương 4: Thực hiện hệ thống và đánh giá kết quả Trong chương này trình bày về những kết quả thực hiện được về mô hình phần cứng lẫn chương trình phần mềm. Đồng thời đánh giá độ chính xác hoạt động cũng như tốc độ xử lý của hệ thống.

Chương 5: Kết luận và hướng phát triển Dựa trên những gì thực hiện được, sinh viên trình bày nhận định của bản thân về đề tài đã thực hiện. Từ đó đề ra định hướng phát triển đề tài trong tương lai. 4 do an Chương 2: CƠ SỞ LÝ THUYẾT 2. CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT, HỌC MÁY 2.

Cây quyết định Cây quyết định là một công cụ hỗ trợ quyết định sử dụng mô hình giống cây gồm các quyết định và các hậu quả khả thi của nó. Đây cũng là một cách để biểu diễn một thuật toán chỉ bao gồm các câu lệnh điều kiện. Cây quyết định thường được sử dụng trong các hoạt động nghiên cứu, đặc biệt trong việc phân tích quyết định, để giúp xác định một chiến lược rất có thể sẽ đạt được mục đích, và nó cũng là một công cụ phổ biến trong lĩnh vực Học máy. Cây quyết định là một cấu trúc giống như lưu đồ mà mỗi nút nội bộ của nó biểu diễn một “thử nghiệm” với một thuộc tính, mỗi nhánh biểu diễn đầu ra của thử nghiệm đó, và mỗi nút lá biểu diễn cho nhãn của một lớp.

Các đường từ gốc đến lá biểu diễn cho các quy tắc phân loại. Quang cảnh Nắng Râm Mưa Độ ẩm Gió Cao Thấp Mạnh Nhẹ Hoãn Chơi Chơi Hoãn Chơi Hình 2.1: Ví dụ sử dụng cây quyết định 2. AdaBoost AdaBoost, viết ngắn gọn cho Adaptive Boosting là một thuật toán học máy được tổng quát hóa bởi Yoav Freund và Robert Schapire giúp họ dành được giải thưởng Godel Prize năm 2003 cho công trình này. AdaBoost có thể được sử dụng kết hợp với các thuật toán học máy khác để cải thiện hiệu suất phân loại.

Đầu ra của các thuật toán học tập khác (bộ học yếu) được kết hợp thành tổng trọng số để biểu diễn đầu ra 5 do an cuối cùng của bộ phân loại được tăng cường. AdaBoost có tính thích nghi vì các bộ học tiếp theo được điều chỉnh theo hướng có lợi cho những trường hợp bị phân loại sai bởi các bộ phân loại trước đó. AdaBoost nhạy cảm với nhiễu. Trong một số bài toán nó có thể ít nhạy cảm hơn với vấn đề quá mức so với các thuật toán học máy khác.

AdaBoost sử dụng cây quyết định làm các bộ học yếu. Khi được sử dụng với bộ học dựa trên cây quyết định, thông tin thu được tại mỗi giai đoạn của thuật toán AdaBoost là độ kém linh hoạt tương ứng với mỗi mẫu huấn luyện được đưa vào thuật toán phát triển cây để có xu hướng tập trung vào các ví dụ khó phân loại hơn. Huấn luyện bộ phân loại AdaBoost đề câp đến một phương pháp cụ thể để huấn luyện một bộ phân loại được tăng cường có dạng: 𝑇 𝐹𝑇 (𝑥) = ∑ 𝑓𝑡 (𝑥) (2.1) 𝑡=1 với mỗi hàm 𝑓𝑡 là một bộ học yếu có dữ liệu đầu vào là 𝑥 và trả về giá trị xác định lớp (nhãn) của đối tượng. Mỗi bộ học yếu tạo ra một đường hypothesis ℎ(𝑥𝑖 ) với mỗi tập huấn luyện.

Tại vòng lặp thứ 𝑡, một bộ học yếu được chọn và được gán một hệ số ∝𝑡 sao cho tổng lỗi trong quá trình huấn luyện 𝐸𝑡 của kết quả ở tầng thứ 𝑡 của bộ phân loại tăng cường được giảm thiểu.2) 𝑖 𝐸(𝐹) là hàm sai số và 𝑓𝑡 (𝑥 ) =∝𝑡 ℎ(𝑥) là một bộ học yếu được cân nhắc thêm vào bộ phân loại cuối cùng. Gán trọng số Tại mỗi lần lặp của quá trình huấn luyện, một trọng số 𝑤𝑖,𝑡 được gán cho mỗi mẫu trong tập huấn luyện tương ứng sai số hiện tại 𝐸(𝐹𝑡−1 (𝑥𝑖 )) khi huấn luyện sử dụng mẫu đó. Việc sử dụng trọng số giúp quá trình huấn luyện phát triển các cây quyết định (bản chất của AdaBoost) tách các tập mẫu có trọng số cao. Tiền xử lý ảnh 2.

Chuyển đổi ảnh xám 6 do an Các hệ thống xử lý và hiển thị ảnh màu kỹ thuật số hiện nay sử dụng hệ màu RGB hay BGR với mỗi điểm ảnh là sự phối màu của ba màu cơ bản : đỏ, lam, lục. Ngoài ra còn một số hệ màu thông dụng khác như HSL và HSV, CMYK. Chúng ta có thể dùng ma trận ba chiều để biểu diễn ảnh màu kỹ thuật số. Ma trận ảnh màu số có ba chiều tương ứng với độ rộng, độ cao và màu sắc của ảnh.

Việc xử lý ảnh màu gây tốn tài nguyên tính toán do phải xử lý ma trận ba chiều. Do đó trong một số bài toán, chúng ta sẽ chuyển ảnh màu thành ảnh xám, tức sử dụng ma trận hai chiều biểu diễn và xử lý ảnh đó. Giá trị của mỗi phần tử trong ma trận ảnh xám tương ứng với mức xám của điểm ảnh đó. Điểm ảnh càng xám thì giá trị của phần tử đó càng cao.

Xét ảnh màu RGB, dễ thấy rằng phương pháp trung bình là phương pháp đơn giản nhất để chuyển đổi thành ảnh xám: (𝑅 + 𝐺 + 𝐵) 𝑌= (2.3) 3 Tuy nhiên do mắt người nhạy với màu xanh lục và màu đỏ hơn màu xanh da trời nên việc sử dụng phương pháp trung bình khiến chúng ta dễ đánh giá sai ảnh xám. Thay vào đó, việc chuyển đổi ảnh xám được thực hiện dựa trên khuyến nghị ITU BT.601 của Liên minh Viễn thông quốc tế (ITU): 𝑌 = 0. Cân bằng lược đồ ảnh Lược đồ ảnh là một đồ thị thống kê tần suất xuất hiện của các mức sáng khác nhau trong ảnh. Trục hoành của lược đồ là độ sáng của điểm ảnh, trục tung của lược đồ là số lần xuất hiện của mức sáng đó trong ảnh.

Cân bằng lược đồ là một phương pháp xử lý hình ảnh trong việc điều chỉnh độ tương phản của hình ảnh. Cân bằng lược đồ được thực hiện bằng việc trải rộng hiệu quả các giá trị cường độ có tần suất thường xuyên nhất trên lược đồ. Thông qua điều chỉnh này, mức độ sáng của ảnh có thể được phân bố tốt hơn trên lược đồ.2: Lược đồ ảnh sau khi cân bằng có độ phân bố các mức sáng tốt hơn. 7 do an Lược đồ được cân bằng bằng thuật toán như sau: (1) Tạo lược đồ của ảnh: 𝐻(𝑖).

(4) Ánh xạ mức sáng kết quả theo 𝐻 ′ : 𝐼′ (𝑥, 𝑦) = 𝐻′(𝐼(𝑥, 𝑦)), với 𝐼(𝑥, 𝑦) là ảnh gốc, 𝐼′(𝑥, 𝑦) là ảnh sau khi cân bằng. Các phương pháp trích đặc trưng ảnh 2. Đặc trưng Haar Trong toán học và xử lý ảnh số, hàm wavelet họ Haar là một chuỗi các hàm có dạng hình vuông cùng nhau tạo thành một họ Wavelet. Phân tích Wavelet tương tự với phân tích Fourier ở chỗ nó cho phép một hàm mục tiêu trong một khoảng thời gian được biểu diễn dưới dạng cơ sở trực giao.

Chuỗi Haar được đề xuất vào năm 1909 bởi Alfréd Haar. Wavelet họ Haar là một trong những wavelet đơn giản nhất. Nhược điểm kỹ thuật của sóng con Haar là nó không liên tục. Tuy nhiên, tính chất này có thể là một lợi thế cho việc phân tích các tín hiệu có sự chuyển đổi đột ngột, chẳng hạn như giám sát lỗi công cụ trong máy.

Hàm sóng gốc 𝜓(𝑡) của wavelet họ Haar có dạng sau: 1 1, 0 ≤ 𝑡 < 2 𝜓(𝑡) = 1 (2.3: Dạng sóng wavelet họ Haar 8 do an 2. Đặc trưng giống Haar Được giới thiệu trong phương pháp Viola – Jones nhằm phát hiện đối tượng có trong ảnh theo thời gian thực (sẽ được đề cập chi tiết ở những phần sau), các đặc trưng giống Haar cơ bản được mô tả như hình 2. Theo thời gian đã phát triển thêm các đặc trưng giống Haar khác. Dễ thấy rằng tên gọi “giống Haar” vì chúng ta xem xét sự thay đổi sự thay đổi đột ngột mức xám giữa các điểm ảnh lân cận và tìm mối tương quan giữa chúng để xác định các thành phần chính của vật thể.

Đặc trưng giống Haar có phần tương tự như các hạt nhân chập (convolutional kernel). Mỗi đặc trưng giống Haar là một giá trị đơn lẻ thu được bằng việc trừ đi tổng số điểm ảnh trong hình chữ nhật màu trắng cho tổng số điểm ảnh trong hình chữ nhật màu đen. Trong những phần tiếp theo của báo cáo, đặc trưng Haar được đề cập đến chính là đặc trưng giống Haar này.4: Các đặc trưng giống Haar cơ bản 2. Đặc trưng LBP Đặc trưng LBP, viết tắt cho Local Binary Pattern – Mẫu nhị phân cục bộ, là một phương pháp mô tả đặc trưng ảnh được dùng để giải quyết bài toán phân loại trong thị giác máy tính.

LBP là một đặc trưng mạnh mẽ cho việc phân loại kết cấu. Trên một số tập dữ liệu, việc kết hợp LBP với Histogram of Oriented Gradients (HOG) cải thiện đáng kể việc phát hiện đối tượng trong ảnh.5 mô tả 3 ví dụ được dùng để định nghĩa một kết cấu và tính toán một mẫu LBP. 9 do an Hình 2.5: Một mẫu LBP Một toán tử LBP được mô tả bằng toán học như sau: 𝑃−1 𝐿𝐵𝑃(𝑥𝑐 , 𝑦𝑐 ) = ∑ 2𝑝 𝑠(𝑖𝑝 − 𝑖𝑐 ) (2.6) 𝑝=0 với (𝑥𝑐 , 𝑦𝑐 ) là điểm ảnh trung tâm có mức xám 𝑖𝑐 , và 𝑖𝑛 là mức xám của pixel lân cận. 𝑠 là hàm dấu được định nghĩa: 1, 𝑛ế𝑢 𝑥 ≥ 0 𝑠(𝑥 ) = { (2.7) 0, 𝑛ế𝑢 𝑘ℎá𝑐 Vector đặc trưng LBP trong dạng đơn giản nhất được tạo ra theo cách thức sau: (1) Chia cửa sổ được kiểm tra thành các ô (ví dụ các ô các có kích thước 3x3 điểm ảnh) (2) Với mỗi điểm ảnh trong ô, so sánh điểm ảnh đó với từng 8 điểm ảnh lân cận theo thứ tự thuận hoặc nghịch chiều kim đồng hồ.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Bài viết "Mô Hình Camera Nhận Diện Khuôn Mặt: Thiết Kế và Thi Công Tại HCMUTE" cung cấp cái nhìn sâu sắc về quy trình thiết kế và thi công hệ thống camera nhận diện khuôn mặt tại HCMUTE. Tác giả trình bày các công nghệ hiện đại được áp dụng, cũng như những lợi ích mà hệ thống này mang lại trong việc nâng cao an ninh và quản lý. Đặc biệt, bài viết nhấn mạnh tầm quan trọng của việc tích hợp công nghệ nhận diện khuôn mặt vào các ứng dụng thực tiễn, giúp độc giả hiểu rõ hơn về xu hướng công nghệ trong lĩnh vực an ninh.

Nếu bạn muốn mở rộng kiến thức về các hệ thống giám sát và bảo mật, hãy tham khảo thêm bài viết Đồ án hcmute điều khiển và giám sát hệ thống thông qua opc server, nơi bạn sẽ tìm thấy thông tin về cách điều khiển và giám sát hệ thống hiệu quả. Ngoài ra, bài viết Đồ án hcmute các tấn công và giải pháp bảo mật web sẽ giúp bạn nắm bắt các phương pháp bảo mật cần thiết trong môi trường trực tuyến. Cuối cùng, để tìm hiểu về các ứng dụng công nghệ trong sản xuất, bạn có thể xem bài viết Đồ án hcmute hoàn thiện quá trình sản xuất giày thể thao, nơi trình bày quy trình sản xuất hiện đại. Những tài liệu này sẽ giúp bạn có cái nhìn toàn diện hơn về các ứng dụng công nghệ trong nhiều lĩnh vực khác nhau.