1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo bài tập lớn truyền thông đa phương tiện

14 14 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 14
Dung lượng 806,21 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong phương pháp này, một cửa sổ kích thước mặc định 20 x 20 pixel được trượt trên hình ảnh từng hàng để tìm các đặc điểm trên khuôn mặt.. Ảnh đạo hàm Gx và Gy là ma trận ví dụ: 640x640

Trang 1

Báo cáo bài tập lớn

Truyền thông đa phương tiện

Giảng viên hướng dẫn : Vũ Hữu Tiến

Trang 2

Đề tài:

Thuật toán phát hiện khuôn mặt

Trang 3

Danh sách sinh viên:

 Đào Duy Khánh - B18DCDT108

 Phạm Phú Phúc - B18DCDT187

 Trần Long Thành - B18DCDT236

Trang 4

Lý do chọn đề tài:

Bài toán nhận dạng khuôn mặt đóng vai trò quan trọng trong nhiều lĩnh vực đời sống hằng ngày của con người như các

hệ thống giám sát, quản lý vào ra, tìm kiếm thông tin một người nổi

tiếng, đặc biệt là an ninh, bảo mật.

Trang 5

1 Chức năng app

 Vẽ ra đồ thị điểm ảnh

 Phát hiện khuôn mặt

 Nhận diện khuôn mặt (đang cập nhật bổ sung)

Trang 6

2 Sơ đồ thuật toán

Trang 7

Nguyên lý hoạt động

 Bộ phân loại Haar Cascade của OpenCV hoạt động trên phương pháp tiếp cận cửa sổ trượt Trong phương pháp này, một cửa sổ (kích thước mặc định 20 x 20 pixel) được trượt trên hình ảnh (từng hàng) để tìm các đặc điểm trên khuôn mặt Sau mỗi lần lặp, hình ảnh được thu nhỏ (thay đổi kích thước) theo một yếu tố nhất định (được xác định bởi tham số ' scaleFactor ') Kết quả đầu ra của mỗi lần lặp được lưu trữ và thao tác trượt được lặp lại trên hình ảnh nhỏ hơn, đã thay đổi kích thước Quá trình thu nhỏ và

mở rộng cửa sổ này tiếp tục cho đến khi hình ảnh quá nhỏ so với cửa sổ trượt Giá trị của scaleFactor càng nhỏ thì độ chính xác càng lớn và chi phí tính toán càng cao

Trang 8

Dò biên (Phương pháp canny)

Giảm nhiễu: Làm mờ ảnh, giảm nhiễu dùng bộ lọc Gaussian kích thước 5x5 Kích

thước 5x5 thường hoạt động tốt cho giải thuật Canny Dĩ nhiên bạn cũng có thể thay đổi kích thước của bộ lọc làm mờ cho phù hợp

Tính Gradient và hướng gradient: ta dùng bộ lọc Sobel X và Sobel Y (3x3) để tính

được ảnh đạo hàm Gx và Gy Sau đó, ta tiếp tục tính ảnh Gradient và góc của Gradient theo công thức Ảnh đạo hàm Gx và Gy là ma trận (ví dụ: 640x640), thì kết quả tính ảnh đạo hàm Edge Gradient cũng là một ma trận (640x640), mỗi pixel trên ma trận này thể hiện độ lớn của biến đổi mức sáng ở vị trí tương ứng trên ảnh gốc

Trang 9

Dò biên (Phương pháp canny)

 Tương tự, ma trận Angle cũng có cùng kích thước (640x640), mỗi pixel trên Angle thể hiện góc, hay nói cách khác là hướng của cạnh Ví dụ dễ hiểu, nếu góc gradient là 0 độ, thì cạnh của ta trên ảnh sẽ là một đường thẳng đứng (tức tạo góc 90 độ so với trục

hoành) (vuông góc hướng gradient) Khi tính toán, giá trị hướng gradient sẽ nằm

trong đoạn [-180, 180] độ, ta không giữ nguyên các góc này mà gom các giá trị này về

4 bin đại diện cho 4 hướng: hướng ngang (0 độ), hướng chéo bên phải (45 độ), hướng dọc (90 độ) và hướng chéo trái (135 độ)

Trang 10

Dò biên (Phương pháp canny)

Non-maximum Suppression (viết tắt NMS): loại bỏ các pixel ở vị trí không phải cực

đại toàn cục Ở bước này, ta dùng một filter 3x3 lần lượt chạy qua các pixel trên ảnh gradient Trong quá trình lọc, ta xem xét xem độ lớn gradient của pixel trung tâm có phải là cực đại (lớn nhất trong cục bộ - local maximum) so với các gradient ở các pixel xung quanh Nếu là cực đại, ta sẽ ghi nhận sẽ giữ pixel đó lại Còn nếu pixel tại đó không phải là cực đại lân cận, ta sẽ set độ lớn gradient của nó về zero Ta chỉ so sánh

pixel trung tâm với 2 pixel lân cận theo hướng gradient.

Trang 11

Dò biên (Phương pháp canny)

Lọc ngưỡng: ta sẽ xét các pixel dương trên mặt nạ nhị phân kết quả của bước trước

Nếu giá trị gradient vượt ngưỡng max_val thì pixel đó chắc chắn là cạnh Các pixel

có độ lớn gradient nhỏ hơn ngưỡng min_val sẽ bị loại bỏ Còn các pixel nằm trong

khoảng 2 ngưỡng trên sẽ được xem xét rằng nó có nằm liền kề với những pixel được cho là "chắc chắn là cạnh" hay không Nếu liền kề thì ta giữ, còn không liền kề bất cứ pixel cạnh nào thì ta loại Sau bước này ta có thể áp dụng thêm bước hậu xử lý loại bỏ nhiễu (tức những pixel cạnh rời rạc hay cạnh ngắn) nếu muốn

Trang 12

Làm mịn ảnh (Bộ lọc Bilateral)

cv.bilateralFilter() : Là bộ lọc hiệu quả cao trong công việc loại bỏ nhiễu mà vẫn giữ

lại được các đường viền (cạnh) trong ảnh

 Bộ lọc Gauss quyết định giá trị một điểm ảnh bằng cách lấy trung bình thap hàm Gauss các giá trị điểm ảnh xung quanh điểm đó Hàm trọng số Gauss chỉ phụ thuộc vào

khoảng cách trong không gian so với trung tâm điểm ảnh, không quan tâm đến sự

tương quan giữa mức xám của điểm trung tâm với các điểm xung quanh đó Nó cũng không quan tâm rằng điểm ảnh trung tâm có nằm tại một đường biên trong ảnh không,

vì thế làm nhòe đi các đường biên trong ảnh

Trang 13

Làm mịn ảnh (Bộ lọc Bilateral)

 Bộ lọc Bilater cũng sử dụng một bộ lọc Gauss với khoảng cách đến điểm trung tâm, đảm bảo chỉ có các điểm ở gần vào giá trị điểm trung tâm Tuy vậy nó sử dụng thêm một hàm Gauss cho mức xám , đảm bảo chỉ các điểm ảnh có mức xám tương đồng với điểm ảnh trung tâm tham gia vào quá trình làm mịn Vì thế bộ lọc mức xám rất rõ ràng hơn Hơn nữa, thay vì hoạt động trên các kênh màu một cách riêng lẻ như bộ lọc trung bình hay bộ lọc Gauss, bộ lọc Bilater có thể thi hành việc đo đạc màu sắc có chủ đích trong không gian màu CIE – Lab, làm mượt màu và bảo toàn các biên theo hướng phù hợp hơn với nhận thức con người

Trang 14

K t qu ch y demo ết quả chạy demo ả chạy demo ạy demo

Ngày đăng: 05/07/2022, 05:16

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w