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

Ứng dụng kit raspberry nhận dạng mặt người

65 0 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 65
Dung lượng 4,03 MB

Nội dung

MỤC LỤC TRANG BÌA i PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP ii LỊCH TRÌNH THỰC HIÊN ĐỒ ÁN TỐT NGHIỆP iii PHIẾU ĐÁNH GIÁ KHÓA LUẬN TỐT NGHIỆP iv LỜI CAM DOAN v LỜI CẢM ƠN vi MỤC LỤC vii LIỆT KÊ HÌNH ix LIỆT KÊ BẢNG xi TÓM TẮT xii CHƯƠNG 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 1.5 BỐ CỤC CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU VỀ KIT RASPBERRY PI VÀ MODULE CAMERA PI 2.2 GIỚI THIỆU VỀ THƯ VIỆN OPENCV 2.3 ĐẶC TRƯNG HAAR-LIKE 2.4 ADABOOST 12 2.5 CHUỖI CÁC BỘ PHÂN LỚP (CASCADE OF CLASSIFIER) 15 2.5.1 Ý tưởng 15 2.5.2 Huấn luyện cascade 16 CHƯƠNG TÍNH TỐN VÀ THIẾT KẾ 19 3.1 GIỚI THIỆU 19 3.1.1 Thiết kế sơ đồ khối hệ thống 19 3.1.2 Tính tốn thiết kế 22 a Thiết kế khối đầu vào 22 b Thiết kế khối xử lý đầu vào 23 c Thiết kế khối phát khuôn mặt 24 vii d Thiết kế khối xử lý khuôn mặt phát 24 e Thiết kế khối sở liệu 25 f Thiết kế khối so sánh 25 g Thiết kế khối kết luận 25 3.1.3 Sơ đồ nguyên lý phần cứng 26 CHƯƠNG THI CÔNG HỆ THỐNG 28 4.1 GIỚI THIỆU 28 4.2 THI CƠNG MƠ HÌNH 28 4.3 LẬP TRÌNH HỆ THỐNG 29 4.3.1 Lưu đồ giải thuật 29 4.3.2 Phần mềm lập trình cho hệ thống 34 4.4 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC 35 4.4.1 Tài liệu hướng dẫn sử dụng 35 4.4.2 Quy trình thao tác 36 CHƯƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 37 5.1 KẾT QUẢ 37 5.1.1 Tổng quan kết đạt 37 5.1.2 Kết thực tế 37 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 42 6.1 KẾT LUẬN 42 6.2 HƯỚNG PHÁT TRIỂN 42 TÀI LIỆU THAM KHẢO 44 PHỤ LỤC 45 viii LIỆT KÊ HÌNH Hình 2.1 Cấu tạo Raspberry Pi model B Hình 2.2 Các chân GPIO Raspberry Pi model B Hình 2.3 Module Camera Hình 2.4 Cách kết nối module camera với kit raspberry PI Hình 2.5 Cấu trúc OpenCV Hình 2.6 Minh họa kiểu liệu toán tử mat Hình 2.7 Bốn đặt trưng Haar-like Hình 2.8 Các đặc trưng mở rộng đặc trưng Haar-like sở Hình 2.9 Cách tính Integral Image ảnh 10 Hình 2.10 Cách tính nhanh tổng điểm ảnh vùng D ảnh 11 Hình 2.11 Cách tính nhanh tổng điểm ảnh vùng D với đặc trưng xoay 45o 11 Hình 2.12 Mơ hình phân tần kết hợp phân loại yếu để xác định khn mặt 12 Hình 2.13 Kết hợp phân loại yếu thành phân loại mạnh 13 Hình 2.14 Mơ hình Cascade Classifier 16 Hình 3.1 Sơ đồ khối trình huấn luyện 20 Hình 3.2 Sơ đồ khối trình nhận dạng 21 Hình 3.3 Sơ đồ nguyên lý phần cứng khối đầu vào 23 Hình 3.4 Sơ đồ nguyên lý phần cứng khối kết luận 25 Hình 3.5 Sơ đồ nguyên lý phần cứng 26 Hình 4.1 Mơ hình q trình thực 28 Hình 4.2 Lưu đồ chương trình 29 Hình 4.3 Lưu đồ chương trình huấn luyện 30 Hình 4.4 Lưu đồ chương trình nhận dạng 31 Hình 4.5 Lưu đồ chương trình xử lý sở liệu 32 Hình 4.6 Lưu đồ chương trình xử lý ảnh chụp 33 Hình 4.7 Một số hệ điều hành chạy kit Raspberry PI 34 Hình 4.8 Giao diện hệ điều hành raspbian 34 Hình 4.9 Thiết lập để sử dụng camera pi 35 Hình 4.10 Quy trình thao tác 36 Hình 5.1 Phát khn mặt trường hợp nhìn sang trái 37 Hình 5.2 Phát khn mặt trường hợp nhìn sang phải 38 ix Hình 5.3 Phát khn mặt trường hợp nhìn thẳng 38 Hình 5.4 Nhận dạng khn mặt trường hợp nhìn sang trái 39 Hình 5.5 Nhận dạng khn mặt trường hợp nhìn sang phải 39 Hình 5.6 Nhận dạng khn mặt trường hợp nhìn thẳng 40 x LIỆT KÊ BẢNG Bảng Kết trình huấn luyện độ sáng 45 lux 40 Bảng Kết phát nhiều khuôn mặt 40 Bảng Kết trình nhận dạng với độ sáng 40 lux ngưỡng 4000 41 Bảng Kết nhận dạng với độ sáng 110 lux ngưỡng 4000 41 xi TĨM TẮT Nhận diện mặt người tốn xuất cách không lâu, khoảng vài thập niên trở lại đây, có nhiều nghiên cứu Các nghiên cứu ban đầu đơn giản, ảnh đen trắng có khn mặt chụp thẳng, sau mở rộng cho ảnh màu, ảnh có nhiều khn mặt với nhiều góc độ khác nhau, môi trường xung quanh từ đơn giản đến phức tạp Ngày hệ thống nhận dạng mặt người ứng dụng nhiều lĩnh vực, đặc biệt an ninh bảo mật Trong đề tài “Ứng dụng kit Raspberry nhận dạng mặt người” nhóm thực xây dựng hệ thống phát nhận dạng khuôn mặt nhanh tương đối xác Các nội dung nghiên cứu bao gồm: Tìm hiểu kit Raspberry, tìm hiểu giải thuật nhận dạng phát khuôn mặt, xây dựng thuật tốn nhận dạng khn mặt, áp dụng thư viện mã nguồn mở OpenCV vào toán nhận dạng khn mặt Sau tìm hiểu nhiều phương pháp khác nhóm thực đề tài chọn phương pháp phân tích thành phần đặc trưng Haarlike kết hợp phương pháp học máy Adaboost, chuỗi phân lớp Cascade of Classifers Đề tài xây dựng tảng Visual Studio C++ Microsoft thực kit Raspberry Pi, xử lý trực tiếp ảnh nhận từ Camera Pi Mơ hình nhóm thực đạt khoảng 85% mục tiêu nhóm đặt Tỉ lệ phát khn mặt cao khoảng 96%, phụ thuộc vào góc nhìn người camera Tỉ lệ nhận dạng người đạt khoảng 90% phụ thuộc vào góc nhìn độ sáng Mơ hình phát nhiều khuôn mặt lúc, nhiên so sánh với thư mục ảnh nên nhận dạng người thời gian Ngồi ra, mơ hình hoạt động cịn giật lag camera pi, cấu hình kit Raspberry khơng cao đoạn chương trình chưa tối ưu tốt xii CHƯƠNG TỔNG QUAN TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ Nhận dạng mặt người nghiên cứu từ năm 1980, lĩnh vực nghiên cứu ngành thị giác máy tính, xem lĩnh vực nghiên cứu ngành sinh trắc học tương tự nhận dạng vân tay, hay nhận dạng mống mắt Trong nhận dạng vân tay mống mắt áp dụng thực tế cách rộng rãi nhận dạng mặt người nhiều thách thức So với nhận dạng vân tay mống mắt, nhận dạng mặt có nguồn liệu phong phú địi hỏi tương tác có kiểm sốt Bài tốn nhận dạng mặt người cịn nhiều thách thức nên hàng năm ngồi nước có nhiều nghiên cứu phương pháp nhận dạng mặt người Nhiệm vụ đặt cho toán nhận dạng mặt người nghiên cứu xây dựng chương trình sử dụng phương pháp nhận dạng có độ xác cao mà khối lượng thời gian tính tốn lại Để giải vấn đề nhóm thực đề tài nhận thấy phương pháp phân tích thành phần đặc trưng khn mặt giảm bớt số thành phần không cần thiết tạo hiệu tính tốn nhanh mà đảm bảo độ xác Do đó, nhóm thực chọn đề tài: “Ứng dụng kit Raspberry nhận dạng mặt người” dựa đặc trưng Haar-like viết ngôn ngữ C++ thực kit Raspberry Pi 1.2 MỤC TIÊU Mục tiêu đề tài xây dựng hệ thống nhận dạng mặt người với đầu vào ảnh khuôn mặt người, hệ thống xử lý tìm kiếm xem người có sở liệu hay không cho đầu thông tin liên quan đến người nhận dạng 1.3 NỘI DUNG NGHIÊN CỨU Với mục tiêu xây dựng hệ thống nhận dạng mặt người nhóm nghiên cứu nội dung sau:  NỘI DUNG 1: Tìm hiểu giải thuật phát nhận dạng khuôn mặt  NỘI DUNG 2: Xây dựng thuật toán phát nhận dạng khuôn mặt  NỘI DUNG 3: Áp dụng mã nguồn thư viện mở OpenCV vào thuật toán BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP CHƯƠNG TỔNG QUAN  NỘI DUNG 4: Xây dựng chương trình phát nhận dạng khuôn mặt dựa mã nguồn thư viện mở Open CV thực Kit Raspberry Pi  NỘI DUNG 5: Đánh giá kết 1.4 GIỚI HẠN Trong đề tài này, nhóm nghiên cứu tập trung vào việc xác định khuôn mặt từ camera Từ theo dõi xử lý khn mặt phát Sau so sánh ảnh khn mặt với sở liệu có sẵn Vì luận văn nhóm nghiên cứu đưa giả định ràng buộc sau làm giảm độ phức tạp tốn sau:  Các khn mặt quay thẳng góc nghiêng khơng đáng kể (bé 20 0)  Phông không phức tạp, không bị che khuất  Camera quay điều kiện ánh sáng khoảng 90 LUX, ngưỡng nhận dạng khoảng 4000  Đối với camera q chương trình khơng thực tốt 1.5 BỐ CỤC Với mục tiêu tìm hiểu giải thuật AdaBoost, đặc trưng Haar-like, chuỗi phân lớp (Cascade of Classifiers) đồng thời áp dụng vào toán phát nhận dạng mặt người từ camera, đồ án trình bày sáu chương với bố cục sau:  Chương 1: Tổng quan Chương trình bày đặt vấn đề dẫn nhập lý chọn đề tài, mục tiêu, nôi dung nghiên cứu, giới hạn thông số bố cục đồ án  Chương 2: Cơ sở lý thuyết Giới thiệu kit Raspberry Pi module Camera Pi Tiếp đến giới thiệu thư viện mã nguồn mở OpenCV Đi sâu vào hướng tiếp cận dựa theo thuật toán học máy AdaBoost Giới thiệu đặc trưng Haar-like khn mặt, cách tính đặc trưng Haar-like, chuỗi phân lớp (cascade of classifeers) cách áp dụng vào toán phát mặt người  Chương 3: Thiết kế tính tốn Xây dựng chương trình phát nhận dạng mặt người viết Visual C ++ Microsoft, sử dụng thư viện mã nguồn mở OpenCV Intel BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP CHƯƠNG TỔNG QUAN kit Raspberry Pi Nêu lên phân tích, thiết kế chương trình, sơ đồ khối hệ thống, sơ đồ nguyên lý phần cứng  Chương 4: Thi công hệ thống Các bước xây dựng chương trình, tạo tập tin huấn luyện, hàm, lưu đồ, chương trình sử dụng Viết tài liệu hướng dẫn sử dụng, quy trình thao tác  Chương 5: Kết quả, Nhận xét Đánh giá Nêu kết đạt thực thi chương trình, sau phân tích, nhận xét, đánh giá kết thực thi  Chương 6: Kết luận hướng phát triển Tóm tắt kết đạt được, hạn chế nêu lên hướng phát triển tương lai BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP CHƯƠNG CƠ SỞ LÝ THUYẾT CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU VỀ KIT RASPBERRY PI VÀ MODULE CAMERA PI Raspberry Pi–Chiếc máy tính mini bắt đầu sản xuất Quỹ Raspberry Pi vào tháng 12/2011 Chiếc máy tính có kích cỡ thẻ tín dụng với đầy đủ kết nối tuỳ dung lượng RAM mà người mua lựa chọn Trong vấn đây, người đứng đầu quỹ David Braben cho biết có giá rẻ kích cỡ nhỏ gọn máy tính họ hồn tồn chơi game Quake III Arena hay chơi video độ phân giải Full-HD Hình 2.1 Cấu tạo Raspberry Pi model B Trái tim Pi chip SOC (System-On-Chip) Broadcom BCM2837 chạy tốc độ 1.2GHz Chip tương đương với nhiều loại sử dụng smartphone phổ thơng nay, chạy hệ điều hành Linux Tích hợp chip nhân đồ họa (GPU) Broadcom VideoCore IV GPU đủ mạnh để chơi số game phổ thông phát video chuẩn full HD 40 chân GPIO (General Purpose Input Output): tên gọi nó, từ kết nối điều khiển nhiều thiết bị điện tử/cơ khí khác Ngõ HDMI: dùng để kết nối Pi với hình máy tính hay tivi có hỗ trợ cổng HDMI BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP PHỤ LỤC PHỤ LỤC Phụ lục I: Các bước cài đặt hệ điều hành Raspbian kit Raspberry PI Bước 1: Cài đặt hệ điều hành cho Raspberry Pi Raspberry Pi chủ yếu sử dụng hệ điều hành dựa nhân Linux (Linux Kernel) Chuẩn bị thẻ nhớ để cài Raspbian: Bản cài đặt Raspbian tải từ trang chủ Raspberry Pi địa chỉ: https://www.raspberrypi.org/downloads/ Giải nén file OS vừa tải ta dùng Win32DiskImager để tạo file cài đặt hệ điều hành lên Raspberry Pi, nên sử dụng thẻ SD có dung lượng tối thiểu 4GB Chờ cho q trình ghi hồn tất BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP 45 PHỤ LỤC Nhấn OK để kết thúc Bước 2: Thiết lập địa IP cho Raspberry Pi Sau ghi hệ điều hành vào thẻ nhớ thành công, lúc thẻ nhớ đổi tên thành “boot” Ta tiến hành truy cập vào file “cmdline” theo đường dẫn: boot:\cmdline thực thao tác sau: Tìm đến dịng cuối tập lệnh sau “deadline rootwait” Thêm địa ip mạng LAN máy tính vào theo nguyên tắc: ip=:: Cụ thể ví dụ máy tính có ip mạng LAN 192.168.1.47 nội dung phải thêm vào cuối file “cmdline” là: “ ip=192.168.1.100::192.168.1.47” Giải thích: 192.168.1.47 ip mạng LAN máy tính dùng kết nối với kit raspberry 192.168.1.100 địa ip người dùng đặt cho kit Địa phải thiết lập cho kit máy tính phải “dải tần” khác “số thứ tự” ví dụ 192.168.1 tạm gọi “dải tần” 100 tạm gọi “số thứ tự” Vậy máy tính có ip 192.168.1.47 ip đặt cho kit là: 169.254.1.x với 1

Ngày đăng: 31/10/2022, 16:55