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

Ứng dụng phương pháp học sâu để nhận diện khuôn mặt qua camera giám sát

86 16 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 86
Dung lượng 3,25 MB

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

Nội dung

TÓM TẮT LUẬN VĂN Đã có rất nhiều công trình công bố, đưa ra các hướng tiếp cận khác nhau cho việc giải quyết bài toán nhận dạng khuôn mặt như nhận dạng dựa trên đặc trưng của các phần tử

Trang 1

UBND TỈNH BÌNH DƯƠNG

TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT

NGUYỄN THANH TÙNG

ỨNG DỤNG PHƯƠNG PHÁP HỌC SÂU ĐỂ NHẬN DIỆN

KHUÔN MẶT QUA CAMERA GIÁM SÁT

LUẬN VĂN THẠC SĨ CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN

MÃ SỐ: 8 48 01 04

BÌNH DƯƠNG – 2019

Trang 2

UBND TỈNH BÌNH DƯƠNG

TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT

NGUYỄN THANH TÙNG

ỨNG DỤNG PHƯƠNG PHÁP HỌC SÂU ĐỂ NHẬN DIỆN

KHUÔN MẶT QUA CAMERA GIÁM SÁT

LUẬN VĂN THẠC SỸ

CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN

MÃ SỐ: 8 48 01 04

NGƯỜI HƯỚNG DẪN KHOA HỌC:

TS BÙI THANH HÙNG

BÌNH DƯƠNG – 2019

Trang 3

LỜI CAM ĐOAN

Tên tôi là: Nguyễn Thanh Tùng

Sinh ngày: 15/01/1983

Học viên lớp cao học CH17HT - Trường Đại học Thủ Dầu Một

Xin cam đoan: Đề tài “Ứng dụng phương pháp học sâu để nhận diện khuôn mặt qua camera giám sát.” do Thầy TS Bùi Thanh Hùng hướng dẫn là

công trình nghiên cứu của riêng tôi Tất cả tài liệu tham khảo đều có nguồn gốc, trích dẫn rõ ràng

Tác giả xin cam đoan tất cả những nội dung trong luận văn đúng như nội dung trong đề cương và yêu cầu của thầy giáo hướng dẫn Nếu sai tôi hoàn toàn chịu trách nhiệm trước hội đồng khoa học

Bình Dương, tháng 10 năm 2019

Tác giả luận văn

Nguyễn Thanh Tùng

Trang 4

Tôi xin bày tỏ lòng biết ơn sâu sắc đến:

Thầy hướng dẫn TS Bùi Thanh Hùng đã tận tình chỉ dẫn, giúp đỡ tôi hoàn

thành luận văn này Đồng thời tôi gửi lời cảm ơn đến các thầy, cô đã giảng dạy truyền đạt kiến thức quý báo cho tôi trong suốt thời gian học tập và nghiên cứu

Tôi chân thành cảm ơn bạn bè, đồng nghiệp và gia đình đã động viên, khích

lệ, tạo điều kiện giúp đỡ tôi trong suốt quá trình học tập, thực hiện và hoàn thành luận văn này

Trang 5

TÓM TẮT LUẬN VĂN

Đã có rất nhiều công trình công bố, đưa ra các hướng tiếp cận khác nhau cho việc giải quyết bài toán nhận dạng khuôn mặt như nhận dạng dựa trên đặc trưng của các phần tử trên khuôn mặt bao gồm biển đổi sóng Wavelet (Gabor Wavelet), phương pháp đồ thị đàn hồi (Elastic Bunch Graph Matching - EBGM), mạng Nơron (Neural Network - NN), học máy vector hỗ trợ (Support Vector Machine –SVM)… nhận dạng dựa trên xét tổng thể toàn khuôn mặt bao gồm phương pháp phân tích thành phần chính (Principal Component Analysis– PCA) phương pháp phân tích sự khác biệt tuyến tính (Linear Discriminant Analysis – LDA) Trong đó, nhận dạng khuôn mặt dùng mạng Nơron mang lại hiệu quả nhận dạng cao bởi nó hoạt động ổn định và có tính thích nghi cao khi dữ liệu đầu vào thay đổi nhiều

Luận văn trình bày khảo sát một số thuật toán nhận dạng khuôn mặt và đề xuất một mô hình hiệu quả để giải quyết bài toán nhận dạng khuôn mặt và có thể áp dụng để nhận dạng trực tiếp từ camera Trong đó, luận văn tập trung chính vào hai công đoạn: phát hiện và nhận dạng khuôn mặt Trong việc phát hiện và canh chỉnh khuôn mặt được đề xuất sử dụng phương pháp mô tả đặc trưng (Histogram of Oriented Gradients – HOG) và việc phân lớp, nhận dạng khuôn mặt sử dụng mô hình CNN cụ thể là thuật toán FaceNet Hiệu quả của mô hình nhận dạng được kiểm nghiệm trên tập cơ sở dữ liệu chuẩn ORL (Olivetti Research Laboratory) của AT&T, và bộ dữ liệu của cá nhân thu thập hình ảnh của 15 người Các kết quả thực nghiệm cho thấy mô hình đề xuất đạt độ chính xác cao và ổn định trên các tập dữ liệu

Trang 6

MỤC LỤC

LỜI CAM ĐOAN iii

LỜI CẢM ƠN iv

TÓM TẮT LUẬN VĂN v

MỤC LỤC vi

DANH MỤC THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT ix

DANH MỤC CÁC BẢNG x

DANH MỤC HÌNH VẼ, ĐỒ THỊ xi

CHƯƠNG 1: TỔNG QUAN VỀ LĨNH VỰC NGHIÊN CỨU 1

1.1 Lý do chọn đề tài 1

1.2 Mục tiêu nghiên cứu 2

1.3 Đối tượng, phạm vi nghiên cứu 2

1.4 Phương pháp nghiên cứu 2

1.5 Ý nghĩa khoa học và ý nghĩa thực tiễn 3

1.6 Bố cục luận văn 3

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN 5

2.1 Mạng Nơron tích chập 5

2.1.1 Mạng Nơron 5

2.1.2 Mạng nơron tích chập 15

2.2 Trích chọn đặc trưng 21

2.2.1 Tổng quan trích chọn đặc trưng 21

Trang 7

2.2.2 Phương pháp mô tả đặc trưng (Histogram of Oriented Gradients – HOG)

22

2.2.3 Phương pháp phân tích thành phần chính (Principal Component Analysis - PCA) 23

2.2.4 Phương pháp mẫu nhị phân địa phương (Local Binary Pattern - LBP ) 26

2.3 Nhận dạng khuôn mặt 32

2.3.1 Tổng quan 32

2.3.2 Các hướng tiếp cận 35

2.3.3 Hướng đề xuất nghiên cứu 36

Tiểu kết chương 37

CHƯƠNG 3: MÔ HÌNH ĐỀ XUẤT 38

3.1 Tổng quan mô hình đề xuất 38

3.2 Các đặc trưng của mô hình đề xuất 40

3.2.1 Phát hiện khuôn mặt 40

3.2.2 Nhận dạng khuôn mặt 47

3.2.3 Mô hình kết hợp HOG-CNN 56

3.2.4 Phương pháp đánh giá mô hình 57

CHƯƠNG 4: THỰC NGHIỆM VÀ KẾT LUẬN 58

4.1 Dữ liệu 58

4.2 Huấn luyện mô hình 62

4.3 Đánh giá 64

4.4 Xây dựng ứng dụng 65

Trang 8

4.5 Kết luận và hướng phát triển 69 CÔNG TRÌNH CÔNG BỐ 70 TÀI LIỆU THAM KHẢO 71

Trang 9

DANH MỤC THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT

Trang 10

DANH MỤC CÁC BẢNG

Bảng 4.1 Đánh giá độ chính xác trên dữ liệu cá nhân 63 Bảng 4.2 Đánh giá độ chính xác trên dữ liệu ORL 64

Trang 11

DANH MỤC HÌNH VẼ, ĐỒ THỊ

Hình 2.1: Mạng nơron sinh học 5

Hình 2.2: Cấu trúc của mạng nơron nhân tạo 6

Hình 2.3: Quá trình xử lý của một nơron trong ANN 6

Hình 2.4: Đồ thị các hàm kích hoạt 8

Hình 2.5: AlphaGo của Google 11

Hình 2.6: Mô phỏng cách tính lan truyền ngược 13

Hình 2.7: Mô hình các lớp cơ bản CNN 16

Hình 2.8: Ví dụ một mô hình CNN 17

Hình 2.9: Minh họa tích chập trên ma trận ảnh 18

Hình 2.10: Phương thức Avarage Pooling và Max Pooling 20

Hình 2.11: Ví dụ về cấu trúc CNN 21

Hình 2.12: R-HOG và C-HOG 23

Hình 2.13: Ảnh sau khi biến đổi theo PCA 25

Hình 2.14: Ví dụ về phương pháp LBP 27

Hình 2.15: Ví dụ về ảnh khuôn mặt và các đặc trưng LBP 27

Hình 2.16: Tập hợp các điểm xung quanh Ptt 28

Hình 2.17: Các biến thể của LBP, LBP đồng dạng 29

Hình 2.18: Bảng thống kê các mẫu của LBP đồng dạng 30

Hình 2.19: Ví dụ về quá trình tính toán đặc trưng 31

Hình 2.20: Mô hình bài toán nhận dạng mặt người 33

Trang 12

Hình 2.21: Cấu trúc tổng quát của hệ thống nhận dạng khuôn mặt 33

Hình 3.1: Mô hình đề xuất 39

Hình 3.2: Số ảnh nhậndạng được 40

Hình 3.3: Biểu đồ tuyến tính HOG 40

Hình 3.4: Biểu đồ tuyến tính LBP 41

Hình 3.5: So sánh phát hiện khuôn mặt HOG và LBP 42

Hình 3.6: Chia khối trích đặc trưng HOG 43

Hình 3.7: Ví dụ về trích chọn đặc trưng bởi HOG 46

Hình 3.8: Ảnh input và kết quả phát hiện và canh chỉnh ảnh mặt với HOG 47

Hình 3.9: Hình minh họa output khoảng cách khi sử dụng FaceNet giữa các cặp khuôn mặt 48

Hình 3.10: Tóm tắt quy trình nhận dạng khuôn mặt sử dụng FaceNet 49

Hình 3.11: Cấu trúc mô hình FaceNet 50

Hình 3.12: Ví dụ về bộ ba sai số 51

Hình 3.13: Bộ ba sai số tối thiểu hóa khoảng cách giữa ảnh vào (Anchor) và ảnh cùng loại với ảnh vào (Positive) và tối đa hóa khoảng cách giữa ảnh vào và ảnh khác loại với ảnh vào (Negative) 52

Hình 3.14: Ảnh vào sau khi huấn luyện, thu được vector 128 chiều 54

Hình 3.15: Cấu trúc mạng do Zeiler và Fergus đề xuất 55

Hình 3.16: Module Inception dạng nguyên thủy và dạng giảm chiều 55

Hình 3.17: FaceNet sử dụng mô hình Inception tương tự với 56

Hình 3.18: Sơ đồ mô hình nhận dạng kết hợp HOG-FaceNet 57

Trang 13

Hình 4.1: Ví dụ các mẫu data đã cắt khuôn mặt 58

Hình 4.2: Phương pháp Xoay ngẫu nhiên tăng dữ liệu ảnh 59

Hình 4.3: Phương pháp độ sáng ngẫu nhiên tăng dữ liệu ảnh 60

Hình 4.4: Phương pháp phóng to thu nhỏ ngẫu nhiên tăng dữ liệu ảnh 60

Hình 4.5: Phương pháp dịch chuyển dọc tăng dữ liệu ảnh 61

Hình 4.6: Phương dịch chuyển ngang tăng dữ liệu ảnh 61

Hình 4.7: Tiền xử lý ảnh khuôn mặt 62

Hình 4.8: Kết quả huấn luyện mô hình 63

Hình 4.9: Các thông số huấn luyện mô hình 64

Hình 4.10: Giao diện chính của chương trình 65

Hình 4.11: Cửa sổ thêm người mới 66

Hình 4.12: Cửa sổ chụp ảnh người mới 66

Hình 4.13: Thực hiện huấn luyện lại mô hình 67

Hình 4.14: Cửa sổ nhận dạng khuôn mặt 67

Hình 4.15: Mô tả dữ liệu và kết quả 68

Trang 14

CHƯƠNG 1 TỔNG QUAN VỀ LĨNH VỰC NGHIÊN CỨU 1.1 Lý do chọn đề tài

Với sự phát triển nhanh chóng của các loại máy móc hiện đại như máy ảnh

số, máy quay phim kỹ thuật số, máy vi tính,… thì lượng thông tin con người thu được dưới dạng hình ảnh là khá lớn Xử lý ảnh là một trong những lĩnh vực ngày càng được phổ biến trong đời sống xã hội Không chỉ dừng lại ở việc xử lý những vết nhòe, tái chế và phục hồi các ảnh cũ, ngày nay các kỹ thuật, phương pháp xử lý ảnh đã mang lại những tiến bộ vượt bậc như nhận dạng vân tay, nhận dạng khuôn mặt, nhận dạng đối tượng khi nó kết hợp với lĩnh vực trí tuệ nhân tạo

Bên cạnh đó, vấn đề an ninh bảo mật đang được yêu cầu khắc khe tại mọi quốc gia trên thế giới Các hệ thống xác định, nhận dạng con người được ra đời với

độ tin cậy cao Một trong những bài toán nhận dạng con người được quan tâm nhất hiện nay đó là nhận dạng qua khuôn mặt

Các phương pháp nhận dạng phổ biến hiện nay là nhận dạng dựa trên đặc trưng của các phần tử trên khuôn mặt và nhận dạng dựa trên xét tổng thể toàn khuôn mặt như phương pháp Phân tích thành phần chính (Principal Component Analysis – PCA) phương pháp Phân tích sự khác biệt tuyến tính (Linear Discriminant Analysis – LDA), phương pháp mẫu nhị phân địa phương (Local Binary Pattern - LBP), phương pháp mô tả đặc trưng (Histogram of Oriented Gradients – HOG) và hiện nay việc áp dụng các phương pháp học sâu của mạng nơron (Neural Network) cho ra kết quả nhận dạng rất tốt Các nghiên cứu gần đây cho thấy việc kết hợp giữa phương pháp phân tích đặc trưng và mạng học sâu nơron mang lại hiệu quả nhận dạng cao bởi nó hoạt động ổn định và có tính thích nghi cao khi dữ liệu đầu vào thay đổi

nhiều Vì vậy tôi chọn đề tài: “Ứng dụng phương pháp học sâu để nhận diện

Trang 15

khuôn mặt qua camera giám sát” để nghiên cứu cho luận văn tốt nghiệp cao học

của mình

1.2 Mục tiêu nghiên cứu

Luận văn “Ứng dụng phương pháp học sâu để nhận diện khuôn mặt qua camera giám sát” Hướng tới một chương trình có chức năng phát hiện ra khuôn mặt người và nhận dạng ra đó là ai thông qua các phương pháp phát hiện và nhận dạng Thông qua nghiên cứu các phương pháp học sâu cho bài toán nhận dạng khuôn mặt

và ngôn ngữ lập trình Python luận văn muốn xây dựng một chương trình có thể nhận dạng được khuôn mặt người thông qua camera theo thời gian thực

1.3 Đối tượng, phạm vi nghiên cứu

Với mục tiêu đã đề ra ở trên, luận văn thực hiện những vấn đề sau:

- Đối tượng nghiên cứu là các phương pháp phát hiện khuôn mặt người và nhận dạng khuôn mặt qua đó lựa chọn một phương pháp phù hợp Tìm hiểu và đề xuất một phương pháp cụ thể

- Nghiên cứu và sử dụng phương pháp học sâu trên nền tảng Python

- Phạm vi thực hiện: trên camera và video giám sát theo thời gian thực

1.4 Phương pháp nghiên cứu

- Phương pháp nghiên cứu lý thuyết: Tổng hợp, nghiên cứu các tài liệu về

nhận dạng khuôn mặt; nghiên cứu các phương pháp, thuật toán nhận dạng khuôn mặt; nghiên cứu các phương pháp học sâu Tìm hiểu các kiến thức liên quan như lý thuyết xử lý ảnh, học máy, kỹ thuật lập trình

- Phương pháp nghiên cứu thực nghiệm: Sau khi nghiên cứu lý thuyết, phát

biểu bài toán, đề xuất mô hình; xây dựng và phát triển ứng dụng dựa trên mô hình đề xuất; cài đặt thử nghiệm chương trình, đánh giá các kết quả đạt được; công bố kết quả nghiên cứu trong các Hội thảo

Trang 16

1.5 Ý nghĩa khoa học và ý nghĩa thực tiễn

Ý nghĩa khoa học:

Luận văn góp phần giới thiệu các bước tiến hành để xây dựng hệ thống nhận dạng nói chung và nhận dạng khuôn mặt nói riêng

Nghiên cứu về phương pháp trích chọn đặc trưng nhận dạng khuôn mặt HOG

và mạng Nơron trong việc nhận dạng khuôn mặt

Cài đặt thử nghiệm và đánh giá bằng thực nghiệm các kỹ thuật trong trích chọn đặc trưng HOG và phân loại đối tượng dựa trên mạng nơron

Nghiên cứu này tạo tiền đề cho những nghiên cứu tiếp theo trong tương lai

Ý nghĩa thực tiễn:

Luận văn nghiên cứu một số kỹ thuật, các thuật toán hỗ trợ cho việc phát hiện

và nhận dạng khuôn mặt người

Luân văn đã xây dựng thành công hệ thống nhận dạng khuôn mặt dựa trên

trích chọn đặc trưng HOG và mạng nơron

Bên cạnh đó, luận văn này góp phần xây dựng chương trình nhận dạng khuôn mặt người để áp dụng cho nhiều ứng dụng thực tiễn, nhằm đáp ứng cho các yêu cầu như nhận dạng, bảo mật ngày càng cao

Ngoài ra, luận văn đã xây dựng cơ sở dữ liệu trong thực tế trên khuôn mặt người cán bộ công chức tạo tiền đề cho việc xây dựng cơ sở dữ liệu nhận dạng cán

bộ công chức một cách tự động

1.6 Bố cục luận văn

Nội dung của luận văn được chia thành các phần như sau:

Chương 1: Tổng quan về lĩnh vực nghiên cứu Chương này trình bày khái quát về bài toán nhận dạng khuôn mặt, những ứng dụng cũng như yêu cầu đề tài

Trang 17

Chương 2: Cơ sở lý thuyết và các nghiên cứu liên quan: Chương này trình bày các thuật toán nhận dạng khuôn mặt và các nghiên cứu liên quan

Chương 3: Mô hình đề xuất: Chương này trình bày phương pháp nhận dạng khuôn mặt kết hợp giữa phương pháp phân tích đặc trưng HOG và mạng nơron tích chập (CNN)

Chương 4: Thực nghiệm: Chương 4 trình bày quá trình và kết quả đạt được khi thực nghiệm, phân tích và đánh giá các kết quả đạt được

Chương 5: Kết luận và hướng phát triển

Trang 18

CHƯƠNG 2

CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN

2.1 Mạng Nơron tích chập

2.1.1 Mạng Nơron

Mạng Nơron nhân tạo (Artificial Neural Network – ANN) là mô hình xử lý

thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật hay còn gọi là mạng Nơron sinh học (hình 2.1) [1] Cấu tạo từ số lượng lớn các nơron được kết nối với nhau để xử lý thông tin ANN giống như bộ não con người, được học bởi kinh nghiệm thông qua huấn luyện, có khả năng lưu giữ những kinh nghiệm tri thức và sử dụng những tri thức đó trong việc dự đoán các dữ liệu chưa biết ANN được giới thiệu năm 1943 bởi nhà thần kinh học Warren McCulloch và nhà logic học Walter Pits [1]

Hình 2.1: Mạng nơron sinh học [1]

Các ứng dụng của Mạng neuron được sử dụng trong rất nhiều lĩnh vực như điện, điện tử, kinh tế, quân sự,… để giải quyết các bài toán có độ phức tạp và đòi hỏi

có độ chính xác cao như điều khiển tự động, khai phá dữ liệu, nhận dạng,…

Một ANN gồm ba tầng lớp đầu vào (input layer), các lớp ẩn (hidden layers)

và cuối cùng là lớp đầu ra (output layer) được mô tả trong hình 2.2 [1], trong đó,

lớp ẩn gồm nhiều nơron nhận dữ liệu đầu vào từ các lớp trước đó để xử lý và chuyển

Trang 19

đổi các dữ liệu này cho các lớp tiếp theo Một ANN có thể có nhiều lớp ẩn hoặc không có lớp ẩn

Hình 2.2: Cấu trúc của mạng nơron nhân tạo [1]

Mỗi node trong mạng gọi là một nơron Mỗi nơron nhận các dữ liệu đầu vào

xử lý chúng và trả ra một kết quả duy nhất Kết quả đầu ra của nơron này có thể làm

dữ liệu đầu vào của các nơron khác

Hình 2.3 [1] mô tả quá trình xử lý của một nơron trong ANN Trong đó input

là dữ liệu đầu vào, output là kết quả đầu ra Trọng số liên kết hay trọng số (connection weights hay gọi tắt là weights) là thành phần rất quan trọng, thể hiện mức độ quan trọng đối với quá trình xử lý dữ liệu từ lớp này sang lớp khác Quá trình học của ANN thực ra là quá trình điều chỉnh trọng số của các dữ liệu đầu vào

Hình 2.3: Quá trình xử lý của một nơron trong ANN [1]

Trang 20

Hàm tổng Σ tính tổng của tích trọng số và dữ liệu vào Hàm tính tổng một nơron của k dữ liệu đầu vào của lớp thứ i

𝑎𝑖 = ∑ 𝑥𝑘𝜔𝑖,𝑘 (2.1) Hàm kích hoạt hay hàm chuyển đổi 𝑓 tính toán đầu ra của một nơron để chuyển đến lớp tiếp theo trong mạng nơron Hàm kích hoạt phi tuyến được sử dụng

vì mạng chỉ sử dụng các hàm kích hoạt tuyến tính có thể lược giản thông qua các biến đổi đại số thành mô hình perceptron một lớp (là mô hình ANN đơn giản nhất, không có lớp ẩn) Một số hàm kích hoạt phi tuyến thường dùng là ReLU (Rectified Linear Unit), sigmoid, logistic, Gaussian, tanh, softmax Hình 2.4 [1]

Trang 21

Hình 2.4: Đồ thị các hàm kích hoạt: (a) Hàm Tanh; (b) Hàm ReLU;

(c) Hàm Sigmoid Kết quả xử lý đầu ra hàm tổng của nơron đôi khi quá lớn, hàm kích hoạt thường dùng để xử lý đầu ra này trước khi chuyển đến lớp tiếp theo Đôi khi thay vì

sử dụng hàm kích hoạt, ta thường sử dụng giá trị ngưỡng để kiểm soát đầu ra của

Trang 22

nơron Nếu đầu ra của một nơron nhỏ hơn ngưỡng thì sẽ không được chuyển đến lớp tiếp theo

Một số dạng mạng nơron:

Mạng liên kết đầy đủ (fully connected-FC) nếu mọi đầu ra của một lớp liên kết với mọi nơron của lớp tiếp theo

Mạng lan truyền thẳng (feedforward network) nếu không tồn tại liên kết giữa các nơron thuộc cùng một lớp

Mạng phản hồi (feedback network) nếu tồn tại đầu ra của một nơron liên kết ngược lại làm đầu vào của một nơron cùng lớp

Mạng hồi quy (recurrent network) nếu các mạng phản hồi có các vòng lặp kín

Quá trình học của mạng nơron là quá trình lan truyền thông tin để làm thay

đổi các trọng số tốt nhất có thể Mạng nơron được huấn luyện hay được học theo ba

phương pháp học có giám sát, học không giám sát và học tăng cường:

Học có giám sát (supervised learning) là phương pháp học từ một tập dữ liệu

huấn luyện ta đã biết trước nhãn của dữ liệu cần học và số lớp cần phân loại của bộ

dữ liệu được đem đi huấn luyện Đây là phương pháp học phổ biến nhất trong các phương pháp học của mạng nơron Mục đích của phương pháp này là từ tập dữ liệu

đã gán nhãn qua quá trình học tạo ra một hàm số thật tốt để khi có dữ liệu mới ta có thể tính hay dự đoán được nhãn tương ứng của dữ liệu đó [1]

Phương pháp học giám sát chia ra thành hai loại chính là:

- Phân loại (classification): Nếu nhãn của các dữ liệu đầu vào được chia thành một số hữu hạn nhóm Như các bài toán nhận dạng chữ số viết tay, dò tìm khuôn mặt người, …

Trang 23

- Hồi quy (regression): Nếu nhãn của các dữ liệu đầu vào không được chia thành các nhóm mà là một giá trị thực cụ thể Ví dụ như bài toán dự đoán giá của một căn nhà, giá trị dinh dưỡng của một món ăn,…

Học không giám sát (Unsupervised Learning) là phương pháp học từ một tập

dữ liệu cần học ta không biết trước nhãn của dữ liệu, cũng như số lớp đầu ra Thuật toán sẽ dựa vào cấu trúc của dữ liệu để phân nhóm hay giảm chiều của dữ liệu,… Học không giám sát có liên quan chặt chẽ đến việc ước lượng mật độ trong thống

kê Cách học này không sử dụng tri thức từ bên ngoài trong quá trình học nên còn được gọi là tự tổ chức

Mạng nơron điển hình cho cách học này là Self – Organizing Map (SOM) Một số thuật toán học không giám sát khác như k-means, Hierarchical Agglomerative Clustering (HAC), Fuzzy Cognitive Map (FCM),….[1]

Phần lớn ứng dụng học không giám sát vào các bài toán ước lượng như mô hình hóa thống kê, nén, lọc, phân nhóm,…

Học tăng cường (Reinforcement Learning) là phương pháp học giúp cho một

hệ thống tự động xác định hành động dựa trên hoàn cảnh để đạt lợi ích cao nhất Học tăng cường bằng cách thử nghiệm dữ liệu để khám phá ra hành động nào là tốt nhất Hành động đó không chỉ có lợi ích tốt cho bước hiện tại mà còn cho các bước tiếp theo Hai đặc điểm quan trọng để phân biệt học tăng cường là tìm kiếm thử - sai (trialand-error search) và bồi dưỡng chậm (delayed reward).[1]

Môi trường học thường được biểu diễn dưới dạng quy trình quyết định markov (Markov Decision Process - MDP) trạng thái hữu hạn Và các thuật toán học tăng cường liên quan đến các kỹ thuật quy hoạch động

Hiện tại, học tăng cường chủ yếu được áp dụng vào Lý thuyết trò chơi, thuật toán cần xác định hành động tiếp theo để đạt số điểm tốt nhất Ví dụ, AlphaGo của

Trang 24

Google đánh cờ vây thắng con người, trong khi cờ vây có độ phức tạp cao xấp xỉ

10761 AlphaGo kết hợp cả học có giám sát và học tăng cường, Hình 2.5

Hình 2.5: AlphaGo của Google1

Thuật toán lan truyền ngược

Với thuật toán lan truyền ngược (Backpropagation Algorithm), giả sử L(W,b,X,Y) là một hàm lỗi của bài toán, trong đó W,b là tập hợp tất cả các ma trận trọng số giữa các lớp và hướng của mỗi lớp X,Y là cặp dữ liệu huấn luyện, X là tập hợp các điểm dữ liệu, Y là nhãn của các điểm dữ liệu tương ứng trong X Đầu ra dự đoán 𝑦̂ của dữ liệu đầu vào x của mạng neural truyền thẳng đa lớp được tính như sau:

Trang 25

Với 𝑙 = 1, … , 𝐿 là số thứ tự của lớp, a là kết quả của hàm kích hoạt tại mỗi node của một lớp

Bước này được gọi là truyền thẳng vì cách tính toán được thực hiện từ lớp đầu tiên đến lớp cuối của mạng nơron

Phương pháp phổ biến nhất để tối ưu mạng nơron truyền thẳng đa lớp là trượt dốc Để có thể áp dụng trượt dốc, ta cần tính được đạo hàm của hàm lỗi theo từng

Với N là số cặp dữ liệu (X,Y) trong tập huấn luyện

Theo công thức (2.12) thì việc tính đạo hàm của hàm lỗi theo trọng số và hướng một cách trực tiếp là cực kỳ phức tạp, vì hàm lỗi không phụ thuộc trực tiếp vào các hệ số

Phương pháp phổ biến nhất để tính đạo hàm của hàm lỗi có tên là lan truyền ngược Lan truyền ngược giúp tính đạo hàm ngược từ lớp cuối cùng đến lớp đầu tiên Lớp cuối cùng được tính trước vì nó gần hơn với đầu ra dự đoán và hàm lỗi Việc tính toán đạo hàm của các lớp trước được thực hiện dựa trên nguyên tắc xích, tức là đạo hàm của hàm hợp

Trang 26

Với một cặp điểm dữ liệu huấn luyện (x,y) và hàm lỗi L chỉ xét cho cặp điểm này, ta có thể tính đạo hàm của hàm lỗi theo ma trận trọng số và hướng Đạo hàm của hàm lỗi theo chỉ một thành phần của ma trận trọng số của lớp cuối cùng

𝜕𝑤𝑖,𝑗(𝐿) thường là một đại lượng dễ tính toán và

Trang 27

Dựa vào hình 2.6 [1], ta có thể tính được đạo hàm của hàm lỗi theo hệ

Tương tự suy ra

𝜕𝐿

Trang 28

Từ các công thức trên, thấy rằng việc tính 𝑒𝑗(𝑙) là rất quan trọng Và theo công thức (2.25) để tính được 𝑒𝑗(𝑙) ta cần tính được các 𝑒𝑗(𝑙+1) hay nói cách khác thì ta cần tính ngược giá trị này từ lớp cuối đến lớp đầu

2.1.2 Mạng nơron tích chập

Mạng nơron tích chập (Convolutional Neural Network - CNN) [2] là một

trong những mô hình học sâu tiên tiến giúp chúng ta xây dựng được những hệ thống thông minh với độ chính xác cao Như hiện nay, các hệ thống xử lý ảnh lớn như Facebook, Google hay Amazon đã đưa vào sản phẩm của mình những chức năng thông minh như nhận dạng khuôn mặt người dùng, phát triển xe hơi tự lái hay máy bay giao hàng tự động,…

Mô hình mạng nơron truyền thẳng ra đời đã được áp dụng nhiều vào các bài toán nhận dạng Tuy nhiên, đối với dữ liệu hình ảnh, mạng nơron truyền thẳng thể hiện không thực sự tốt Chính sự liên kết quá đầy đủ tạo nên những hạn chế cho mô hình Dữ liệu ảnh có kích thước khá lớn, một bức ảnh xám 32x32 điểm ảnh sẽ cho ra vector đặc trưng có 1024 chiều, đối với ảnh màu cùng kích thước sẽ có 3072 chiều Điều này cũng có nghĩa là cần tới 3072 trọng số 𝜃 nối giữa lớp đầu vào và một node trong lớp ẩn tiếp theo Số lượng trọng số sẽ càng nhân rộng hơn nếu số lượng node trong lớp ẩn tăng lên và số lượng lớp ẩn tăng lên Như vậy chỉ với một bức ảnh nhỏ 32x32 thì cũng cần đến một mô hình mạng nơron truyền thẳng khá đồ sộ, điều này khiến cho việc thao tác với các bức ảnh lớn hơn khá khó khăn

Hơn nữa, việc liên kết đầy đủ các điểm ảnh vào một node trong mạng là dư thừa vì sự phụ thuộc lẫn nhau giữa các điểm ảnh xa nhau là không nhiều, mà chủ yếu là sự phụ thuộc giữa các điểm ảnh lân cận nó Dựa trên tư tưởng này, mạng nơron tích chập ra đời với cấu trúc khác hẳn mạng nơron truyền thẳng Thay vì toàn

bộ ảnh nối trực tiếp với một node thì chỉ có một phần cục bộ trong ảnh nối với một

Trang 29

node trong lớp tiếp theo Dữ liệu hình ảnh ban đầu qua các lớp của mô hình mạng nơron tích chập sẽ học được ra các đặc trưng để tiến hành phân lớp hiệu quả

Về cơ bản, CNN bao gồm các lớp sau: lớp tích chập (Convolutional layer), lớp hàm kích hoạt (Activation layer), lớp pooling (Pooling layer) hay còn gọi là lớp subsampling, lớp kết nối đầy đủ (Fully Connected layer) Hình 2.7 [2]

Hình 2.7: Mô hình các lớp cơ bản CNN [2]

Trong mô hình CNN (Hình 2.8), các lớp được liên kết với nhau thông qua cơ chế tích chập Lớp tiếp theo là kết quả của tích chập của lớp trước đó, nhờ vậy mà ta

có được các kết nối cục bộ Nghĩa là mỗi nơron ở lớp tiếp theo được sinh ra từ các

bộ lọc áp đặt lên một vùng ảnh cục bộ của nơron ở lớp trước đó

Mỗi lớp như vậy được áp đặt các bộ lọc khác nhau, thông thường có vài trăm đến vài nghìn bộ lọc như vậy Một số lớp khác như pooling/subsampling được dùng

để chắt lọc lại các thông tin hữu ích hơn

Trong suốt quá trình huấn luyện, mạng nơron tích chập tự động học được các thông số cho các bộ lọc Như trong phân loại ảnh, CNN sẽ cố gắng tìm ra thông số

tối ưu cho các bộ lọc tương ứng theo thứ tự Điểm ảnh ban đầu > cạnh > hình dạng

> mặt > đặc trưng mức cao Lớp cuối cùng thường được dùng để phân loại ảnh

Trang 30

Hình 2.8: Ví dụ một mô hình CNN2

Lớp tích chập:

Tích chập (Convolution) là phép toán thực hiện với hai hàm số, kí hiệu là * Phép tích chập được ứng dụng trong thống kê, thị giác máy tính, xử lý ảnh và xử lý tín hiệu,…

Tích chập của hàm số f và g được viết là f * g, là một phép biến đổi tích phân đặc biệt:

Trang 31

Tích chập trong xử lý ảnh

Tích chập lần đầu tiên được sử dụng trong xử lý tín hiệu số (Signal processing) Nhờ vào nguyên lý biến đổi thông tin, các nhà khoa học đã áp dụng kỹ thuật này vào xử lý ảnh và video

Để dễ hình dung, ta có thể xem tích chập như một cửa sổ trượt (sliding window) áp lên một ma trận Cửa sổ trượt còn được gọi là nhân (kernel)

Hình 2.9 minh họa cách tính tích chập trên ma trận ảnh đen trắng Ma trận ảnh đen trắng có mỗi ô giá trị là một điểm ảnh, 1 là màu đen, 0 là màu trắng Ta dùng một ma trận nhân, nhân từng thành phần tương ứng với ma trận ảnh Giá trị đầu ra do tích các thành phần này cộng lại Kết quả của tích chập là một ma trận sinh

ra từ việc trượt ma trận nhân và thực hiện tích chập cùng lúc lên toàn bộ ma trận ảnh gốc

Hình 2.9: Minh họa tích chập trên ma trận ảnh [3]

Trang 32

Lớp hàm kích hoạt

Lớp này được xây dựng với ý nghĩa đảm bảo tính phi tuyến của mô hình huấn luyện sau khi đã thực hiện một loạt các phép tính toán tuyến tính qua các lớp Tích chập Lớp Kích hoạt phi tuyến nói chung sử dụng các hàm kích hoạt phi tuyến như ReLU hoặc sigmoid, tanh… để giới hạn phạm vi biên độ cho phép của giá trị đầu ra Trong số các hàm kích hoạt này, hàm ReLU được chọn do cài đặt đơn giản, tốc độ

xử lý nhanh mà vẫn đảm bảo được tính toán hiệu quả Cụ thể, phép tính toán của hàm ReLU chỉ đơn giản là chuyển tất cả các giá trị âm thành giá trị 0

Thông thường, lớp ReLU được áp dụng ngay phía sau lớp Tích chập, với đầu

ra là một ảnh mới có kích thước giống với ảnh đầu vào, các giá trị điểm ảnh cũng hoàn toàn tương tự trừ các giá trị âm đã bị loại bỏ

Lớp pooling

Một thành phần tính toán chính khác trong mạng CNN là lấy mẫu (Pooling), thường được đặt sau lớp Tích chập và lớp ReLU để làm giảm kích thước kích thước ảnh đầu ra trong khi vẫn giữ được các thông tin quan trọng của ảnh đầu vào Việc giảm kích thước dữ liệu có tác dụng làm giảm được số lượng tham số cũng như tăng hiệu quả tính toán Lớp lấy mẫu cũng sử dụng một cửa sổ trượt để quét toàn bộ các vùng trong ảnh tương tự như lớp Tích chập, và thực hiện phép lấy mẫu thay vì phép tích chập – tức là ta sẽ chọn lưu lại một giá trị duy nhất đại diện cho toàn bộ thông tin của vùng ảnh đó

Hình 2.10 [2] thể hiện các phương thức lấy mẫu thường được sử dụng nhất hiện nay, đó là Max Pooling (lấy giá trị điểm ảnh lớn nhất) và Average Pooling (lấy giá trị trung bình của các điểm ảnh trong vùng ảnh cục bộ)

Trang 33

Hình 2.10: Phương thức Average Pooling và Max Pooling [2]

Như vậy, với mỗi ảnh đầu vào được đưa qua lấy mẫu ta thu được một ảnh đầu

ra tương ứng, có kích thước giảm xuống đáng kể nhưng vẫn giữ được các đặc trưng cần thiết cho quá trình tính toán sau này

Lớp kết nối đầy đủ

Lớp kết nối đầy đủ này được thiết kế hoàn toàn tương tự như trong mạng nơron truyền thống, tức là tất cả các điểm ảnh được kết nối đầy đủ với node trong lớp tiếp theo So với mạng nơron truyền thống, các ảnh đầu vào của lớp này đã có kích thước được giảm bớt rất nhiều, đồng thời vẫn đảm bảo các thông tin quan trọng cho việc nhận dạng Do vậy, việc tính toán nhận dạng sử dụng mô hình truyền thẳng

đã không còn phức tạp và tốn nhiều thời gian như trong mạng nơron truyền thống

Nguyên lý hoạt động

CNN được hình thành bằng cách ghép các lớp đã nêu ở trên lại CNN bắt đầu với lớp tích chập Theo sau lớp tích chập luôn là một lớp hàm kích hoạt, đôi khi ta

có thể ghép cả hai lớp lại thành một lớp Các lớp tiếp theo có thể là lớp pooling hoặc lớp tích chập tùy theo kiến trúc mà ta muốn xây dựng Cuối cùng sẽ là lớp FC, để tiến hành phân lớp dữ liệu Hình 2.11 là ví dụ về cấu trúc của CNN [2]

Trang 34

Hình 2.11: Ví dụ về cấu trúc CNN [2]

2.2 Trích chọn đặc trưng

2.2.1 Tổng quan trích chọn đặc trưng

Mỗi đối tượng nói chung đều có những đặc trưng riêng, đặc trưng chính là yếu tố giúp phân biệt đối tượng này với đối tượng khác Ví dụ đặc trưng của xe ô tô

là có 4 bánh, có vô lăng,… còn đặc trưng của xe máy là có hai bánh; đặc trưng của mỗi con người thể hiện là chiều cao, cân nặng, màu tóc, màu da,… Tóm lại đặc trưng là các yếu tố xác định nên đối tượng Một đối tượng chỉ được xác định khi có

đủ số đặc trưng xác định nên nó

Trong lĩnh vực nhận dạng mặt người nói chung bài toán trích chọn đặc trưng

là khâu vô cùng quan trọng, nó sẽ quyết định đến các pha tiếp theo như phân lớp đối tượng, phân cụm đối tượng Về mặt bản chất ảnh được biểu diễn qua một ma trận kích thước mn trong đó m là số hàng và n là số cột của ảnh Cách đơn giản nhất khi xây dựng vector đặc trưng cho ảnh là đem mn điểm ảnh xếp vào vector một chiểu sau đó có thể thực hiện các phép toán trên vector đó Tuy nhiên cách làm này có hạn chế rất lớn là sẽ làm mất đi tính chất không gian của ảnh tức là mất đi thuộc tính vô cùng quan trọng của mỗi điểm ảnh là những điểm hàng xóm của chúng Chính vì vậy rất nhiều phương pháp trích chọn đặc trưng được nghiên cứu và giới thiệu, các phương pháp này nhằm mục đích tận dụng tối đa tính chất không gian của ảnh trong việc xây dựng các vector đặc trưng

Trang 35

2.2.2 Phương pháp mô tả đặc trưng (Histogram of Oriented Gradients – HOG)

Nguyên lý chung

Phương pháp HOG (Histogram of Oriented Gradients) là một mô tả đặc trưng được sử dụng trong ngành thị giác máy tính và xử lý hình ảnh, ban đầu được thiết kế

để phát hiện người (human detection) trong dữ liệu ảnh nhưng sau đó được mở rộng

và sử dụng rộng rãi cho các bài toán dùng để phát hiện đối tượng nói chung (object detection) Các khái niệm về HOG được nêu ra từ năm 1986 tuy nhiên cho đến năm

2005 HOG mới được sử dụng rộng rãi sau khi Navneet Dalal và Bill Triggs công bố những bổ sung về HOG [4] HOG tương tự như các biểu đồ edge orientation, scale-invariant feature transform descriptors(như sift, surf, ), shape contexts nhưng HOG được tính toán trên một lưới dày đặc các cell và chuẩn hóa sự tương phản giữa các block để nâng cao độ chính xác

Mục đích của mô tả đặc trưng là trừu tượng hóa đối tượng bằng cách trích xuất ra những đặc trưng của đối tượng đó và bỏ đi những thông tin không hữu ích Vì vậy, HOG được sử dụng chủ yếu để mô tả hình dạng và sự xuất hiện của một đối tượng trong ảnh

Bản chất của phương pháp HOG là sử dụng thông tin về sự phân bố của các cường độ gradient (intensity gradient) hoặc của hướng biên (edge directions) để mô

tả các đối tượng cục bộ trong ảnh Các toán tử HOG được cài đặt bằng cách chia nhỏ một bức ảnh thành các vùng con, được gọi là “tế bào” (cells) và với mỗi cell, ta sẽ tính toán một biểu đồ về các hướng của gradients cho các điểm nằm trong cell Ghép các biểu đồ lại với nhau ta sẽ có một biểu diễn cho bức ảnh ban đầu Để tăng cường hiệu năng nhận dạng, các biểu đồ cục bộ có thể được chuẩn hóa về độ tương phản bằng cách tính một ngưỡng cường độ trong một vùng lớn hơn cell, gọi là các khối (blocks) và sử dụng giá trị ngưỡng đó để chuẩn hóa tất cả các cell trong khối Kết quả sau bước chuẩn hóa sẽ là một vector đặc trưng có tính bất biến cao hơn đối với các thay đổi về điều kiện ánh sáng

Trang 36

Đặc trưng HOG có một số biến thể thường gặp như: R-HOG, R2-HOG, C-HOG Các đặc trưng này khác nhau ở cách phân bố và hình dạng của các ô như trong hình 2.12.[4]

Trang 37

những đặc trưng cơ bản nhất của ảnh cần nhận dạng PCA không cần quan tâm đến việc tìm ra các đặc điểm cụ thể của thực thể cần nhận dạng và mối quan hệ giữa các đặc điểm đó Tất cả các chi tiết đó đều được thể hiện ở ảnh mới được tạo ra từ PCA [5]

Về bản chất, PCA tìm ra một không gian mới theo hướng biến thiên mạnh nhất của một tập hợp các vector trong không gian cho trước Trong không gian mới, người ta hy vọng rằng việc phân loại sẽ mang lại kết quả tốt hơn so với không gian ban đầu

Ý tưởng chính của phương pháp phân tích thành phần chính (Principal Component Analysis - PCA) là tìm các vector biểu diễn những sự phân bố đặc trưng nhất của các ảnh trong toàn bộ không gian ảnh Những vector này hình thành nên một không gian con của các ảnh được gọi là “không gian mặt người” [6]

Nội dung thuật toán PCA

Không gian mới được tạo bởi PCA được cấu thành từ K vector đơn vị có chiều là N Mỗi vector được gọi là một Eigenface

Với T là ma trận chuyển đổi, T có kích thước KxN

Gọi M là số ảnh đầu vào, mỗi ảnh được chuyển thành vector N chiều Ta có tập hợp đầu vào X={x1,x2,…,xM} (xi Є RN)

Trung bình của các vector đầu vào: 𝑥 = 1

Sai lệch so với tâm: ∅𝑖 = 𝑥𝑖− 𝑥 (2.32)

Gọi A=[Ф1,Ф2,…,ФM] ta có ma trận tương quan của A là:

𝐶 = 1

Trang 38

Gọi các giá trị riêng của C là λ1, λ2,…, λN sắp xếp theo thứ tự giảm dần, tương ứng với N vector riêng u1, u2,…, uN Các vector riêng này trực giao từng đôi một Mỗi vector riêng ui được gọi là một eigenface Tập hợp các vector ban đầu được biểu diễn trong không gian tạo bởi N eigenface theo mô tả:

𝑥 − 𝑥 = 𝑤1𝑢1+ 𝑤2𝑢2+ ⋯ + 𝑤𝑁𝑢𝑁 = ∑𝑁𝑖=1𝑤𝑖𝑢𝑖 (2.34) Vấn đề cần giải quyết ở đây là ma trận tương quan C=A.AT có kích thước N2 Với N=180x200=36000, khối lượng tính toán sẽ rất lớn Do đó để tính được các eigenface mà không cần tính cả ma trận C, người ta đưa ra phương pháp tính nhanh dựa vào vector riêng và giá trị riêng của ma trận L=AT.A có kích thước MxM với M

là số ảnh đầu vào Ta có thể chứng minh như sau: gọi vi, µi lần lượt là vector riêng

và giá trị riêng của ma trận L:

𝐴𝑇 𝐴 𝑣𝑖 = 𝜇𝑖 𝑣𝑖 (2.35) Nhân cả 2 vế với A ta có:

𝐴 𝐴𝑇 𝐴 𝑣𝑖 = 𝜇𝑖 𝐴 𝑣𝑖 (2.36)

Ta thấy A.v i chính là vector riêng của C=A.A T ứng với giá trị riêng µi

Hình 2.13: Ảnh sau khi biến đổi theo PCA [5]

Trang 39

Ưu điểm của phương pháp PCA:

- Tìm được các đặc tính tiêu biểu của đối tượng cần nhận dạng mà không cần phải xác định các thành phần và mối quan hệ giữa các thành phần đó

- Thuật toán có thể thực hiện tốt với các ảnh có độ phân giải cao, do PCA sẽ thu gọn ảnh thành một ảnh có kích thước nhỏ hơn

- PCA có thể kết hợp với các phương pháp khác như mạng Nơron, Support Vector Machine … để mang lại hiệu quả nhận dạng cao hơn

Nhược điểm của PCA:

- PCA phân loại theo chiều phân bố lớn nhất của tập vector Tuy nhiên, chiều phân bố lớn nhất không phải lúc nào cũng mang lại hiệu quả tốt nhất Đây là nhược điểm cơ bản của PCA

- PCA rất nhạy với nhiễu

2.2.4 Phương pháp mẫu nhị phân địa phương (Local Binary Pattern - LBP )

Nguyên lý chung

Local Binary Pattern (LBP) được Ojala trình bày vào năm 1996 như là một cách đo độ tương phản cục bộ của ảnh [7] Phiên bản đầu tiên của LBP được dùng với 8 điểm ảnh xung quanh và sử dụng giá trị của điểm ảnh ở trung tâm làm ngưỡng Giá trị LBP được xác định bằng cách nhân các giá trị ngưỡng với trọng số ứng với mỗi điểm ảnh sau đó cộng tổng lại Hình dưới minh họa cách tính độ tương phản trực giao (C) là hiệu cấp độ xám trung bình của các điểm ảnh lớn hơn hoặc bằng ngưỡng với các điểm ảnh thấp hơn ngưỡng

Kể từ khi được đưa ra, theo định nghĩa là bất biến với những thay đổi đơn điệu trong ảnh đen trắng Để cải tiến phương pháp, bổ sung thêm phương pháp tương phản trực giao địa phương Hình dưới minh họa cách tính độ tương phản trực giao (C) là ký hiệu cấp độ xám trung bình của các điểm ảnh lớn hơn hoặc bằng

Trang 40

ngưỡng với các điểm ảnh thấp hơn ngưỡng Phân phối hai chiều của mã LBP và độ tương phản cục bộ được lấy làm đặc trưng gọi là LBP/C

Hình 2.14: Ví dụ về phương pháp LBP [8]

Hình 2.15: Ví dụ về ảnh khuôn mặt (trái) và các đặc trưng LBP (phải) [8]

Nội dung thuật toán LBP:

Dãy LBP được Ojala trình bày vào năm 2002 Định nghĩa một cấu trúc điểm ảnh T là một phân phối đại số của cấp độ xám của P +1 (P > 0) điểm ảnh

Với gc ứng với cấp độ xám của điểm ảnh trung tâm Ptt, gp (p = 0,…,1) tương ứng với P điểm ảnh xung quanh, P điểm ảnh này nằm trên đường tròn bán kính R và tâm là Ptt

Ngày đăng: 21/06/2021, 21:56

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

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

w