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

Nhận diện khuôn mặt bằng python opencv (đồ án ngành điện tử)

29 30 2

Đ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

Tiêu đề Nhận diện khuôn mặt bằng python opencv (đồ án ngành điện tử)
Tác giả Trần Xuân Lộc, Hoàng Trung Kiên
Người hướng dẫn Nguyễn Phan Hải Phú
Trường học Trường Đại Học Bách Khoa Thành Phố Hồ Chí Minh
Chuyên ngành Điện Tử
Thể loại đồ án ngành điện tử
Năm xuất bản 2022
Thành phố Hồ Chí Minh
Định dạng
Số trang 29
Dung lượng 0,9 MB

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

Nội dung

 Nhận d愃⌀ng dựa trên xét tổng thể khuôn mặt Appearance based face b Nhận dạng dựa trên các đặc trưng khuôn mặt: Đây là phương pháp nhận d愃⌀ng khuôn mặt dựa trên việc xác định các đặc tr

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH

Trang 2

LỜI CẢM ƠN

Để thực hiện đề tài này, chúng em xin gửi lời cảm ơn sâu sắc đến thầy Hải Phú

đ愃̀ giúp đỡ, truyền đ愃⌀t cho chúng em như뀃ng kiến thư뀁c cơ bản và cchúng em c漃Ā thể thực hiện tốt đề tài

Do thời gian và kiến thư뀁c còn nhiều h愃⌀n chế, đề tài của em sẽ không tránh khỏi như뀃ng sai s漃Āt, em mong th

Xin chân thành cảm ơn!

Trang 3

MỤC LỤC:

CHƯƠNG 1 GIỚI THIỆU 4

1.1 TỔNG QUAN 4

1.2 GIỚI THIỆU ĐỀ TÀI 4

1.3) Phân chia công việc 5

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

2.1 Ngôn ngư뀃 lập trình, thư viện và công cụ hỗ trợ 6

2.1.1 Python 6

2.1.2 OpenCV 6

2.1.3 Các thư viện được sử dụng 6

2.2.1 Tiền xử lý 7

2.2.2 Đối tượng nhận d愃⌀ng 7

2.2.3 Các đặc trưng Haar-like 8

2.2.4 Cách áp dụng đặc trưng Haar-like để phát hiện khuôn mặt trong ảnh 9

2.2.5 Số lượng đặc trưng Haar-like 10

2.3 Nhận diện khuôn mặt opencv 10

2.3.1 Trích xuất tính năng 11

2.3.2 So sánh khuôn mặt 13

CHƯƠNG 3: QUY TRÌNH THỰC HIỆN 15

3.1 Phát hiện khuôn mặt sử dụng bộ phân t 3.1.1 Cài đặt các phụ thuộc 15

3.1.2 Áp dụng các t 3.1.3 Kết quả 16

3.2 Lấy dư뀃 liệu khuôn mặt tư뀀 webcam 17

3.2.1 Cài đặt các phụ thuộc 17

3.2.2 chụp ảnh tư뀀 webcam và lưu vào dataset 18

3.3 Huấn luyện tập dư뀃 liệu 18

3.3.1 đọc dư뀃 liệu tư뀀 id 18

3.3.2 Huấn luyện tập dư뀃 liệu sử dụng hàm training recognizer 19

3.4 Nhận diện khuôn mặt trong luồng video 19

3.4.1 Lấy dư뀃 liệu tư뀀 tập dư뀃 liệu đ愃̀ training 19

3.4.2 Đọc camera và nhận diện khuôn mặt trong luồng video 20

CHƯƠNG 4: KẾT QUẢ THỰC HIỆN 21

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

5.1 T漃Ām tắt và kết luận 23

5.2 Hướng phát triển 23

TÀI LIỆU THAM KHẢO 24

PHỤ LỤC 24

Trang 4

CHƯƠNG 1 GIỚI THIỆU 1.1 TỔNG QUAN

Hiện nay, cùng với sự phát triển của x愃̀ hội, vấn đề an ninh bảo mật đang được yêu cđược ra đời với độ tin cậy ngày càng cao Một trong các bài toán nhận d愃⌀ng con người rất được quan tâm hiện nay là nhận d愃⌀ng khuôn mặt

Bài toán nhận d愃⌀ng khuôn mặt phục vụ m愃⌀nh mẽ trong nhiều lĩnh vực của đời sống đặt biệt ở như뀃ng lĩnh vực công nghệ cao yêu c

Vì vậy bài toán nhận d愃⌀ng khuôn mặt vẫn còn là bài toán n漃Āng hổi và càng ngày người

ta luôn tìm cách hoàn thiện n漃Ā để mang l愃⌀i kết quả nhận d愃⌀ng tốt nhất

1.2 GIỚI THIỆU ĐỀ TÀI

Giới thiệu chung về các phương pháp nhận dạng mặt người:

a) Các phương pháp nhận dạng mặt người:

Phương pháp nhận d愃⌀ng hiện nay c漃Ā 2 lo愃⌀i:

 Nhận d愃⌀ng dựa trên các đặc trưng của các phbased face recognition)

 Nhận d愃⌀ng dựa trên xét tổng thể khuôn mặt (Appearance based face

b) Nhận dạng dựa trên các đặc trưng khuôn mặt:

Đây là phương pháp nhận d愃⌀ng khuôn mặt dựa trên việc xác định các đặc trưng hình học của các chi tiết trên một khuôn mặt (như vị trí, diện tích, hình d愃⌀ng của mắt, mũi, miệng,…), và mối quan hệ giư뀃a chúng (như 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nhận biết khuôn mặt Hơn nư뀃a với việc xác định đặc tính và các mối quan hệ, phương pháp này c漃Ā thể cho kết quả tốt trong các trường hợp ảnh c漃Ā nhiều nhiễu như bị

nghiêng, bị xoay hoặc ánh sáng thay đổi

Trang 5

Nhược điểm của phương pháp này là cài đặt thuật toán phư뀁c t愃⌀p do việc xác định mối quan hệ giư뀃a các đặc tính đòi hỏi các thuật toán phư뀁c t愃⌀p Mặt khác, với các ảnh kích thước bé 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) Nhận dạng dựa trên xét toàn diện khuôn mặt:

Nhận d愃⌀ng đựa trên toàn diện khuôn mặt, c漃Ā nghĩa mình sẽ không đi xét đến tư뀀ng thành phkhông gian cụ thể và mình tìm như뀃ng đặc trưng, như뀃ng đặc điểm chính trên không gian đ漃Ā

Nội dung chính của hướng tiếp cận này là xem mỗi ảnh c漃Ā kích thước RxC là một vector trong không gian RxC chiều Ta sẽ xây dựng một không gian mới c漃Ā chiều nhỏ hơn sao cho khi biểu diễn trong không gian đ漃Ā các đặc điểm chính của một khuôn mặt không bị mất đi Trong không gian đ漃Ā, các ảnh của cùng một người sẽ được tập trung l愃⌀i thành một nh漃Ām g

Hai phương pháp thường được sử dụng là trong hướng tiếp cận này:

 PCA (Principle Components Analysis)

 LDA (Linear Discriminant Analysis)

Vâng, với hướng tiếp cận này chúng ta c漃Ā thể hình dung tương đối dễ chịu hơn phải không Chúng ta không cđ漃Ā phương pháp tiếp cận này tương đối dễ cài đặt hơn và cũng khá hiệu quả trong việc nhận d愃⌀ng

Nhược điểm thì tất nhiên sẽ không khỏi tránh khỏi Tùy theo phương pháp chúng tasư뀃 dụng PCA hay LDA mà đánh giá nhược điểm trong hướng tiếp cận này

1.3) Phân chia công việc trong nhóm

Hoàng Trung Kiên Demo, kiểm duyệt, viết

Trang 6

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Ngôn ngữ lập trình, thư viện và công cụ hỗ trợ

2.1.1 Python

Python được thiết kế với ưu điểm m愃⌀nh là dễ đọc, dễ học, dễ nhớ Theo thời gian, Python ddụng được online trên các nền tảng web hiện nay Ở chủ đề này, nh漃Ām chọn lựa ngônngư뀃 lập trình Python dùng để lập trình cho việc nhận diện biển số xe vì các ưu điểm

mà ngôn ngư뀃 này mang l愃⌀i

2.1.2 OpenCV

OpenCV (Open Computer Vision) là một thư viện m愃̀ nguồn mở hàng đ

xử lý về thị giác máy tính, machine learning, xử lý ảnh OpenCV đươc viết bằng C/C++, vì vậy c漃Ā tốc độ tính toán rất nhanh, c漃Ā thể sử dụng với các ư뀁ng dụng liên quan đến thời gian thực Opencv c漃Ā các interface cho C/C++, Python Java vì vậy

hỗ trợ được cho Window, Linux, MacOs lẫn Android, iOS OpenCV OpenCV c漃Ā nhiều ư뀁ng dụng trong nhận d愃⌀ng và xử lí ảnh

2.1.3 Các thư viện được sử dụng.

- Thư viện numpy: là một thư viện toán học rât phổ biến và m愃⌀nh mẽ của Python NumPy được trang bị các hàm số đ愃̀ được tối ưu, cho phép làm việc hiệu quả với ma trận và mảng, đặc biệt là dư뀃 liệu ma trận và mảng lớn với tốc độ xử lý nhanh hơn nhiều l

- Thư viện os: module os trong Python cung cấp các chư뀁c năng được sử dụng để tương tác với hệ điều hành và cũng c漃Ā được thông tin liên quan về n漃Ā OS đi theo các Module tiện ích tiêu chuẩn của Python Module này cung cấp một cách linh động sử dụng chư뀁c năng phụ thuộc vào hệ điều hành

- Thư viện sqlite: là cơ sở dư뀃 liệu Back -end, b愃⌀n c漃Ā thể sử dụng Python để xây dựng

một trang web hoặc t愃⌀o các công cụ c漃Ā yêu cdụng rộng r愃̀i trong các trường khác, chẳng h愃⌀n như HTML5 và các thiết bị đđộng Python sqlite3 Trong thư viện tiêu chuẩn cung cấp giao diện của cơ sở dư뀃 liệu

2.2 Phát hiện khuôn mặt bằng bộ phân tầng haar

C漃Ā rất nhiều phương pháp để giải quyết bài toán xác định khuôn mặt người trên ảnh 2D dựa trên các hướng tiếp cận khác nhau Phương pháp Haar-like – Adaboost(viết tắt

Trang 7

dựa theo hướng tiếp cận trên diện m愃⌀o.

Hướng tiếp cận trên diện m愃⌀o tư뀁c là hệ thống nhận d愃⌀ng khuôn mặt sẽ được học các mẫu của khuôn mặt tư뀀 một tập ảnh mẫu Sau khi quá trình học hay quá trình huấn luyện này (training) thực hiện xong, hệ thống sẽ rút ra được như뀃ng tham số để phục vụcho quá trình nhận d愃⌀ng.Vì vậy tiếp cận trên diện m愃⌀o còn được biết đến với tên gọi tiếp cận theo phương pháp học máy Bài báo cáo tập trung chủ yếu vào quá trình nhận d愃⌀ng(sau khi đ愃̀ thực hiện quá trình học)

Về tổng quan, phương pháp HA được xây dựng dựa trên sự kết hợp, lắp ghép của 4 thành ph

- Các đặc trưng Haar-like: các đặc trưng được đặt vào các vùng ảnh để tính toán các giá trị của đặc trưng, tư뀀 như뀃ng giá trị đặc trưng này đưa vào bộ phân lo愃⌀i Adaboost ta sẽ xác định được ảnh c漃Ā khuôn mặt hay không

- Ảnh tích hợp(Integral Image): thực ra đây là một công cụ giúp việc tính toán các giá trị đặc trưng Haar-like nhanh hơn

- Adaboost(Adaptive Boost): bộ phân lo愃⌀i (bộ lọc) ho愃⌀t động dựa trên nguyên tắc kết hợp các bộ phân lo愃⌀i yếu để t愃⌀o lên bộ phân lo愃⌀i m愃⌀nh Adaboost sử dụng giá trị đặc trưng Haar-like để phân lo愃⌀i ảnh là mặt hay không phải mặt

- Cascade of Classifiers: bộ phân lo愃⌀i tAdaboost, c漃Ā tác dụng tăng tốc độ phân lo愃⌀i

Như vậy bài toán xác định mặt người trong ảnh cũng chính là bài toán phân lo愃⌀iảnh thành hai lớp mặt hoặc không phải mặt

2.2.1 Tiền xử lý

Một lưu ý nhỏ là phương pháp HA thực hiện trên ảnh xám (gray image) Mỗi điểmảnh(pixel) sẽ c漃Ā giá trị mư뀁c xám tư뀀 0 đến 255(không gian màu 8 bit) Như vậyphương pháp HA sẽ không khai thác như뀃ng đặc điểm về màu sắc khuôn mặt để nhậnd愃⌀ng song vẫn rất hiệu quả Ảnh màu sẽ được chuyển về ảnh xám để nhận d愃⌀ng, việcchuyển đổi này khá đơn giản, thực hiện bằng một hàm chuyển đổi và sử dụng chỉ vớimột câu lệnh trong Opencv nên báo cáo chưa đề cập tới

Sau khi chuyển thành ảnh xám, ảnh l愃⌀i tiếp tục được chuyển thành “ảnh tích hợp”(sẽ trình bày ở phtrưng Haar-like sẽ làm việc trực tiếp trên ảnh tích hợp

2.2.2 Đối tượng nhận dạng.

Trên ảnh, vùng khuôn mặt là tập hợp các điểm ảnh c漃Ā nhưng mối quan hệ khác biệt so với các vùng ảnh khác, như뀃ng mối quan hệ này t愃⌀o lên các đặc trưng riêng của khuôn mặt Tất cả khuôn mặt người đều c漃Ā chung như뀃ng đặc điểm sau khi đ愃̀ chuyển qua ảnh xám, ví dụ như:

- Vùng hai mắt sẽ tối hơn vùng má và vùng chán, tư뀁c mư뀁c xám của vùng này cao hơn vượt trội so với hai vùng còn l愃⌀i

- Vùng giư뀃a sống mũi cũng tối hơn vùng hai bên mũi

- …

Trang 8

Và còn rất nhiều như뀃ng đặc điểm khác của khuôn mặt và các đặc trưng Haar like dựa vào các đặc điểm này để nhận d愃⌀ng.

Về tổng quát, các đặc trưng Haar like không chỉ được sử dụng để nhận d愃⌀ng khuôn mặt mà c漃Ā thể dùng để nhận d愃⌀ng bất kì một đối tượng nào trên ảnh( thân người, tay, chân, ô tô, đồ vật,….) Bởi vì cũng giống như khuôn mặt, mỗi đối tượng c漃Ā như뀃ng đặc điểm riêng biệt đặc trưng bởi các vùng điểm ảnh, công việc của đặc trưng Haar-like là tính toán các giá trị tương quan giư뀃a các vùng ảnh đ漃Ā

Đây chỉ là bước ban đtiết cách phân lo愃⌀i của bộ Adaboost và Cascade of Classifiers sẽ trình bày ở mục sau

o Đặc trưng tâm – xung quanh:

Giá trị của một đặc trưng Haar-like là sự khác biệt giư뀃a tổng các giá trị xám củacác pixel trong vùng “đen” với tổng các giá trị xám của các pixel trong vùng “trắng”:

f(x) = Tổng vùng đen (pixel) - Tổng vùng trắng (pixel) (1)

Vậy khi được đặt lên một vùng ảnh, đặc trưng Haar-like sẽ tính toán và đưa ra

giá trị đặc trưng h(x) của vùng ảnh đ漃Ā.

2.2.4 Cách áp dụng đặc trưng Haar-like để phát hiện khuôn mặt trong ảnh.

Trang 9

Như đ愃̀ trình bày ở bài báo cáo 1, để phát hiện khuôn mặt, hệ thống sẽ cho một cửa sổ con(sub-window) c漃Ā kích thước cố định quét lên toàn bộ ảnh đ

sẽ c漃Ā rất nhiều ảnh con ư뀁ng với tư뀀ng cửa sổ con, các đặc trưng Haar-like sẽ được đặc lên các cửa sổ con này để tư뀀 đ漃Ā tính ra giá trị của đặc trưng Sau đ漃Ā các giá trị này được bộ phân lo愃⌀i xác nhận xem khung hình đ漃Ā c漃Ā phải khuôn mặt hay không

Hình dưới là một ví dụ: khung màu xanh là cửa sổ con, một đặc trưng Haar-likevới kích thước và vị trí đặt như trong hình vẽ

Ứng với mỗi một đặc trưng như trên, một bộ phân lớp yếu(weak classifier)

hk(x) được định nghĩa như sau:

(2)

Trong đ漃Ā:

X : cửa sổ con c

: ngưỡng

fk: giá trị của đặc trưng Haar-like

pk: hệ số quyết định chiều của bất phương trình

Ta hiểu công thư뀁c trên đơn giản như sau: khi giá trị của đặc trưng Haar-like k:fk

t愃⌀i cửa sổ con x vượt qua một ngưỡng thì bộ phân lớp hk(x) sẽ kết luận cửa sổ con x là

khuôn mặt(hk(x)=1), còn fk không vượt qua ngưỡng đ漃Ā thì không là khuôn mặt

Ngưỡng là giá trị đ愃̀ rút ra sau qua trình huấn luyện bộ phân lớp, sẽ trình bày sau

Đương nhiên sẽ c漃Ā như뀃ng vị trí khác trên ảnh đk vượt

Trang 10

ngưỡng và bộ phân lớp yếu hk(x) kết luận đấy là khuôn mặt, nhưng ta không chỉ dùng một đặc trưng Haar-like mà dùng rất nhiều đặc trưng ở như뀃ng vị trí và kích thước khácnhau trong cửa sổ con làm giảm đi sự trùng hợp ngẫu nhiên.

2.2.5 Số lượng đặc trưng Haar-like

Việc xác định một cửa sổ con c漃Ā phải là mặt hay không phải sử dụng rất nhiều đặc trưng Haar-like Ứng với mỗi một kích thước, kiểu đặc trưng và vị trí đặt trong cửa

sổ con cho ta một đặc trưng ư뀁ng với một bộ phân lớp yếu x Vì vậy tập hợp đ

lượng các đặc trưng trong một cửa sổ con là rất lớn Theo như sự tính toán của hai tác giả, với một cửa sổ con ở kích thước cơ bản 2424 pixel số lượng đHaar-like là hơn 160000.C漃Ā hai vấn đề đặt ra ở đây:

Thư뀁 nhất là giá trị của mỗi một đặc trưng Haar-like được tính bằng tổng giá trị các điểm ảnh vùng đen trư뀀 đi tổng các điểm ảnh vùng trắng, như vậy là với số lượng lớn các đặc trưng sẽ t愃⌀o ra một khối lượng tính toán khổng lồ Điều này là không phù hợp để đáp ư뀁ng thời gian thực vì thời gian xử lý rất lâu

Thư뀁 hai là trong số hàng trăm nghìn đặc trưng đ漃Ā thì không phải đặc trưng nào cũng c漃Ā ích cho công việc phân lo愃⌀i Nếu chúng ta không tìm cách lo愃⌀i bổ như뀃ng đặc trưng không c漃Ā ích để tập trung vào như뀃ng đặc trưng c漃Ā hiệu quả cao thì cũng sẽ mất thời gian xử lý một cách vô ích

Như뀃ng ph

2.3 Nhận diện khuôn mặt opencv

Cách nhận dạng khuôn mặt của OpenCV hoạt động:

Trang 11

Hình 1: Tổng quan về đường ống nhận d愃⌀ng khuôn mặt OpenCV Bước quan trọng là

một công cụ trích xuất tính năng CNN để t愃⌀o ra các hình ảnh nhúng trên khuôn mặt 128-d

Để xây dựng quy trình nhận d愃⌀ng khuôn mặt OpenCV của chúng tôi, chúng tôi sẽ áp dụng học sâu theo hai bước chính:

1 Để áp dụng tính năng nhận diện khuôn mặt , phát hiện sự hiện diện và vị trí của

một khuôn mặt trong hình ảnh, nhưng không xác định được khuôn mặt đ漃Ā

2 Để trích xuất các vectơ đặc trưng 128-d (được gọi là "nhúng") định lượng tư뀀ng

khuôn mặt trong một hình ảnh

2.3.1 Trích xuất tính năng

Bây giờ chúng ta đ愃̀ cắt khuôn mặt ra khỏi hình ảnh, chúng ta trích xuất các tính năng tư뀀 n漃Ā Ở đây chúng ta sẽ sử dụng phương pháp nhúng khuôn mặt để tách các đặc điểm ra khỏi khuôn mặt Một m愃⌀ng nơ-ron lấy hình ảnh khuôn mặt của một người làm đcủa khuôn mặt Trong học máy, vectơ này được gọi là nhúng và do đ漃Ā chúng tôi gọivectơ này là nhúng khuôn mặt Bây giờ điều này giúp ích như thế nào trong việc nhận d愃⌀ng khuôn mặt của như뀃ng người khác nhau?

Trong khi huấn luyện m愃⌀ng nơ-ron, m愃⌀ng sẽ học cách xuất ra các vectơ tương tự cho các khuôn mặt trông giống nhau Ví dụ: nếu c漃Ā nhiều hình ảnh khuôn mặt trongkhoảng thời gian khác nhau, tất nhiên, một số đặc điểm trên khuôn mặt c漃Ā thể thay đổi nhưng không nhiều Vì vậy, trong trường hợp này các vectơ liên kết với các mặt

là tương tự nhau hay n漃Āi ngắn gọn là chúng rất g

vectơ H愃̀y xem sơ đồ dưới đây để biết sơ bộ:

Trang 12

Bây giờ sau khi huấn luyện m愃⌀ng, m愃⌀ng học cách xuất ra các vectơ g(tương tự) cho các khuôn mặt của cùng một người (trông giống nhau) Các vectơ trên bây giờ biến đổi thành:

Chúng tôi sẽ không đào t愃⌀o một m愃⌀ng như vậy ở đây vì c

và sư뀁c m愃⌀nh tính toán để đào t愃⌀o các m愃⌀ng như vậy Chúng tôi sẽ sử dụng một m愃⌀ng được huấn luyện trước do Davis King đào t愃⌀o trên tập dư뀃 liệu gồm ~ 3 triệu hình ảnh M愃⌀ng xuất ra một vectơ gồm 128 số đ愃⌀i diện cho các đặc điểm quan trọngnhất của một khuôn mặt

Trang 13

2.3.2 So sánh khuôn mặt

Bây giờ chúng ta đ愃̀ nhúng khuôn mặt cho mọi khuôn mặt trong dư뀃 liệu của chúng ta được lưu trong một tệp, bước tiếp theo là nhận d愃⌀ng một hình ảnh t mới không c漃Ā trong dư뀃 liệu của chúng ta Vì vậy, bước đkhuôn mặt cho hình ảnh bằng cùng một m愃⌀ng mà chúng ta đ愃̀ sử dụng ở trên và sauđ漃Ā so sánh cách nhúng này với ph

c漃Ā Chúng tôi nhận ra khuôn mặt nếu cách nhúng được t愃⌀o gvới bất kỳ cách nhúng nào khác như được hiển thị bên dưới:

Trang 14

Vì vậy, chúng tôi chuyển qua hai hình ảnh, một trong như뀃ng hình ảnh là của

Vladimir Putin và hình ảnh khác của George W Bush Trong ví dụ của chúng tôi ở trên, chúng tôi đ愃̀ không lưu các nhúng cho Putin nhưng chúng tôi lưu các nhúng của Bush Vì vậy, khi chúng tôi so sánh hai phương pháp nhúng mới với các

phương pháp hiện c漃Ā, vectơ cho Bush gkhác của Bush trong khi các phương pháp nhúng khuôn mặt của Putin không gvới bất kỳ phương pháp nhúng nào khác và do đ漃Ā chương trình không thể nhận ra ông ấy

CHƯƠNG 3: QUY TRÌNH THỰC HIỆN

3.1 Phát hiện khuôn mặt sử dụng bộ phân tầng Haar

3.1.1 Cài đặt các phụ thuộc

Trước tiên, chúng ta cphân lo愃⌀i t

3.1.2 Áp dụng các tầng Haar

Ngày đăng: 22/06/2023, 20:48

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w