1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

ỨNG DỤNG XỬ LÝ ẢNH TRONG HỆ THỐNG TIỆN NGHI TRÊN Ô TÔ

113 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 113
Dung lượng 4,79 MB
File đính kèm XỬ LÝ ẢNH HỆ THỐNG TIỆN NGHI Ô TÔ.rar (27 MB)

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

Nội dung

LỜI CẢM ƠN ........................................................................................................iv TÓM TẮT ...............................................................................................................v MỤC LỤC ..............................................................................................................vi DANH MỤC CÁC TỪ VIẾT TẮT ......................................................................ix DANH MỤC CÁC BẢN BIỂU ..............................................................................x DANH MỤC CÁC HÌNH ẢNH............................................................................xi Chương 1: TỔNG QUAN .....................................................................................1 1.1. Lý do chọn đề tài..........................................................................................1 1.2. Mục tiêu đề tài..............................................................................................2 1.3. Đối tượng nghiên cứu...................................................................................2 1.4. Giới hạn đề tài ..............................................................................................2 1.5. Phương pháp nghiên cứu..............................................................................2 1.6. Nội dung đồ án .............................................................................................2 1.7. Bố cục đồ án.................................................................................................3 Chương 2: CƠ SỞ LÝ THUYẾT .........................................................................4 2.1. Tổng quan về xử lý ảnh................................................................................4 2.1.1. Giới thiệu xử lý ảnh............................................................................4 2.1.2. Những vấn đề trong xử lý ảnh............................................................4 2.1.3. Các bước cơ bản trong xử lý ảnh......................................................11 2.2. Giải thuật AdaBoost...................................................................................13 2.3. Đặc trưng Haar Like ................................................................................14 2.4. Giải thuật Facial Landmarks ......................................................................18 2.4.1. Giới thiệu về Facial Landmarks .......................................................18 2.4.2. Tìm hiểu về bộ phát hiện dấu mốc trên khuôn mặt của Dlib ...........19 2.5. Khoảng cách Euclide..................................................................................20 2.6. Giới thiệu ngôn ngữ Python và thư viện OpenCV.....................................20 2.6.1. Ngôn ngữ Python..............................................................................20vii 2.6.2. Thư viện OpenCV ............................................................................24 2.7. Thư viện Dlib .............................................................................................25 2.8. Tổng quan về Kit Raspberry Pi 4...............................................................26 2.8.1. Giới thiệu tổng quan .........................................................................26 2.8.2. Cấu tạo phần cứng của kit Raspberry Pi 4 .......................................27 2.8.3. Hệ điều hành của kit Raspberry Pi 4 ................................................30 2.8.4. Ứng dụng ..........................................................................................30 2.9. Tổng quan về màn hình LCD 7inch...........................................................31 2.9.1. Giới thiệu..........................................................................................31 2.9.2. Thông số kỹ thuật .............................................................................31 2.9.3. Ứng dụng ..........................................................................................32 2.10. Tổng quan về Wedcam Logitech C270....................................................32 2.10.1. Giới thiệu........................................................................................32 2.10.2. Thông số kỹ thuật ...........................................................................32 2.10.3. Ứng dụng ........................................................................................33 2.11. Tổng quan về chuột và bàn phím Raspberry Pi .......................................33 2.11.1. Giới thiệu........................................................................................33 2.11.2. Thông số kỹ thuật ...........................................................................33 2.11.3. Ứng dụng ........................................................................................34 2.12. Tổng quan về Module Relay 4 kênh ........................................................34 2.12.1. Giới thiệu........................................................................................34 2.12.2. Thông số kỹ thuật ...........................................................................35 2.12.3. Ứng dụng ........................................................................................35 2.13. Ghế xe Lexus RX350 (1999) ...................................................................35 2.13.1. Sơ đồ mạch điện ghế ......................................................................36 2.14. Cài đặt hệ điều hành cho Kit Raspberry Pi 4 ...........................................42 2.14.1. Thiết bị cần dùng để cài đặt............................................................42 2.14.2. Cài đặt hệ điều hành Raspbian .......................................................42 2.14.3. Điều khiển Raspberry Pi 4 từ xa bằng phần mềm VNC ................44viii Chương 3: TÍNH TOÁN VÀ THIẾT KẾ..........................................................48 3.1. Giới thiệu....................................................................................................48 3.2. Tính toán và thiết kế hệ thống....................................................................48 3.2.1. Thiết kế sơ đồ khối hệ thống ............................................................48 3.2.2. Sơ đồ mạch điện kết nối hệ thống ....................................................50 Chương 4: THI CÔNG HỆ THỐNG.................................................................57 4.1. Giới thiệu....................................................................................................57 4.2. Thi công hệ thống.......................................................................................57 4.2.1. Chuẩn bị phần cứng..........................................................................57 4.2.2. Lắp ráp và kiểm tra...........................................................................58 4.3. Lập trình hệ thống ......................................................................................61 4.3.1. Lưu đồ giải thuật trên Raspberry Pi .................................................61 4.3.2. Các bước truy cập kit Raspberry Pi..................................................64 4.3.3. Hướng dẫn sử dụng và thao tác ........................................................66 Chương 5: KẾT QUẢ THỰC NGHIỆM...........................................................73 5.1. Kết quả .......................................................................................................73 5.1.1. Nhận dạng khuôn mặt ở vị trí góc thẳng đứng.................................73 5.1.2. Nhận dạng khuôn mặt ở vị trí góc nghiêng ......................................75 5.2. Nhận xét và đánh giá..................................................................................76 Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ......................................78 6.1. Kết luận ......................................................................................................78 6.1.1. Kết quả đạt được...............................................................................78 6.1.2. Hạn chế.............................................................................................78 6.2. Kiến nghị ....................................................................................................78 TÀI LIỆU THAM KHẢO....................................................................................80 PHỤ LỤC ..............................................................................................................81

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH

KHOA ĐÀO TẠO CHẤT LƯỢNG CAO

ĐỒ ÁN TỐT NGHIỆP

ỨNG DỤNG XỬ LÝ ẢNH TRONG HỆ THỐNG TIỆN NGHI TRÊN Ô TÔ

Trang 2

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH

KHOA ĐÀO TẠO CHẤT LƯỢNG CAO

ĐỒ ÁN TỐT NGHIỆP

ỨNG DỤNG XỬ LÝ ẢNH TRONG HỆ THỐNG TIỆN NGHI TRÊN Ô TÔ

Trang 3

CỘNG HÒ A XÃ HỘI CHỦ NGHĨA VIỆT NAM

1 Các số liệu ban đầu:

 1 bộ kit Raspberry Pi 4, 1 thẻ nhớ SD, 1 màn hình LCD 7inch, 1 Webcam Logitech C270, 1 module relay 4 kênh, bàn phím và chuột điều khiển…

2 Nội dung thực hiện:

 Tổng quan về xử lý ảnh; Tìm hiểu phương pháp phát hiện khuôn mặt và nhận dạng khuôn mặt; Tìm hiểu kit Raspberry Pi 4 và các linh kiện liên quan; Tìm hiểu về ngôn ngữ lập trình Python và các thư viện hỗ trợ lập trình; Viết chương trình nhận dạng khuôn mặt trên kit Raspberry Pi 4; Thiết kế mô hình điều khiển ghế ô tô thông qua bộ nhớ ghế

II TÀI LIỆU THAM KHẢO

 Sách tham khảo

 Mô hình

 Tài liệu mềm

III TRÌNH BÀY

 1 quyển thuyết minh đồ án

 Upload các ấn phẩm lên Google Drive (Hồ sơ NCKH, file word, powerpoint ĐATN)

IV THỜI GIAN THỰC HIỆN

 Ngày bắt đầu: 15/03/2020

 Ngày hoàn thành: 01/08/2021

Tp Hồ Chí Minh, ngày 20 tháng 03 năm 2021

Trang 4

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập – Tự do – Hạnh phúc

*****

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Họ và tên SV1: MSSV:

Họ và tên SV2: MSSV:

Ngành:

Tên đề tài:

Họ và tên Giáo viên hướng dẫn:

NHẬN XÉT 1 Về nội dung đề tài & khối lượng thực hiện:

2 Ưu điểm:

3 Khuyết điểm:

4 Đề nghị cho bảo vệ hay không:

5 Đánh giá loại:

6 Điểm: (Bằng chữ )

Tp Hồ Chí Minh, ngày tháng 08 năm 2021

Giáo viên hướng dẫn

(Ký & ghi rõ họ tên)

Trang 5

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập – Tự do – Hạnh phúc

*****

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

Họ và tên SV1: MSSV:

Họ và tên SV2: MSSV:

Ngành:

Tên đề tài:

Họ và tên Giáo viên phản biện:

NHẬN XÉT 1 Về nội dung đề tài & khối lượng thực hiện:

2 Ưu điểm:

3 Khuyết điểm:

4 Đề nghị cho bảo vệ hay không:

5 Đánh giá loại:

6 Điểm: (Bằng chữ )

Tp Hồ Chí Minh, ngày tháng 08 năm 2021

Giáo viên phản biện (Ký & ghi rõ họ tên)

Trang 6

Ngoài sự cố gắng của bản thân, nhóm em không thể nào không nhắc đến công lao đã vạch ra hướng đi cho đề tài và hướng dẫn từng yêu cầu của đề tài mà Thầy

bộ môn cũng như giảng viên hướng dẫn đã truyền đạt cho nhóm những kiến thức hết sức bổ ích và những ứng dụng thực tế Thầy đã giúp chúng em tích lũy thêm nhiều kiến thức quý báu để có cái nhìn sâu sắc và hoàn thiện hơn trong chuyên môn của mình Từ những buổi trò chuyện cùng thầy ngoài giờ học, chúng em đã dần trả lời được những câu hỏi trong cuộc sống thông qua những kinh nghiệm sống đáng quý từ Thầy

Nhóm cũng xin cám ơn tới các Anh, Chị khóa trên cùng các bạn sinh viên đã tạo điều kiện giúp đỡ, từ những tài liệu liên quan tới đề tài cho tới những kinh nghiệm sống thực tế Nhờ họ mà nhóm có được sự động viên, ủng hộ và giúp đỡ trong suốt quá trình nghiên cứu và hoàn thành đồ án tốt nghiệp

Mong rằng, những điều tốt đẹp sẽ luôn đến với mọi người

Thành phố Hồ Chí Minh, ngày 10 tháng 06 năm 2021

Nhóm thực hiện

Trang 7

TÓM TẮT

Ngày nay, cùng với sự phát triển và tiến bộ không ngừng của khoa học kỹ thuật thì xử lý ảnh là một trong những đề tài cần được quan tâm và phát triển Từ những nghiên cứu ban đầu về ảnh trắng đen, ảnh xám, ảnh màu, xử lý ảnh đã được nghiên cứu chuyên sâu và ứng dụng rất nhiều trong cuộc sống Bên cạnh

đó, sự phổ biến của kit Raspberry Pi với kích thước nhỏ gọn, được xem như một máy tính thu nhỏ nên có nhiều đề tài nghiên cứu và ứng dụng kit Raspberry Pi trong thực tiễn

Mục tiêu tiêu chính của đồ án tốt nghiệp xoay quanh việc tìm hiểu xử lý ảnh, tìm hiểu các phương pháp phát hiện và nhận dạng khuôn mặt, tìm hiểu kit Raspberry

Pi 4 và các linh kiện liên quan khác, tìm hiểu về ngôn ngữ lập trình Python và các thư viện hỗ trợ lập trình, viết chương trình nhận dạng khuôn mặt trên kit Raspberry Pi 4, thiết kế mô hình điều khiển ghế ô tô thông qua bộ nhớ vị trí ghế

Đề tài “Ứng dụng xử lý ảnh trong hệ thống tiện nghi trên ô tô” là mô hình sử dụng kit Raspberry Pi lập trình nhận dạng khuôn mặt người dùng để điều khiển ghế ô tô thông qua bộ nhớ ghế, dựa trên ngôn ngữ lập trình Python với các thư viện hỗ trợ lập trình Ở đây, việc nhận diện được sử dụng phương pháp phát hiện khuôn mặt Resnet-10 và phương pháp sao chép đặc trưng Model-symbol để nhận dạng khuôn mặt và sau đó xuất tín hiệu vào bộ nhớ ghế để điều khiển ghế Kết quả thực hiện của đề tài đã nhận dạng được khuôn mặt của người dùng và điều khiển vị trí ghế đúng theo vị trí mà người dùng đã lưu trước đó

Trang 8

MỤC LỤC

LỜI CẢM ƠN iv

TÓM TẮT v

MỤC LỤC vi

DANH MỤC CÁC TỪ VIẾT TẮT ix

DANH MỤC CÁC BẢN BIỂU x

DANH MỤC CÁC HÌNH ẢNH xi

Chương 1: TỔNG QUAN 1

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

1.2 Mục tiêu đề tài 2

1.3 Đối tượng nghiên cứu 2

1.4 Giới hạn đề tài 2

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

1.6 Nội dung đồ án 2

1.7 Bố cục đồ án 3

Chương 2: CƠ SỞ LÝ THUYẾT 4

2.1 Tổng quan về xử lý ảnh 4

2.1.1 Giới thiệu xử lý ảnh 4

2.1.2 Những vấn đề trong xử lý ảnh 4

2.1.3 Các bước cơ bản trong xử lý ảnh 11

2.2 Giải thuật AdaBoost 13

2.3 Đặc trưng Haar - Like 14

2.4 Giải thuật Facial Landmarks 18

2.4.1 Giới thiệu về Facial Landmarks 18

2.4.2 Tìm hiểu về bộ phát hiện dấu mốc trên khuôn mặt của Dlib 19

2.5 Khoảng cách Euclide 20

2.6 Giới thiệu ngôn ngữ Python và thư viện OpenCV 20

2.6.1 Ngôn ngữ Python 20

Trang 9

2.6.2 Thư viện OpenCV 24

2.7 Thư viện Dlib 25

2.8 Tổng quan về Kit Raspberry Pi 4 26

2.8.1 Giới thiệu tổng quan 26

2.8.2 Cấu tạo phần cứng của kit Raspberry Pi 4 27

2.8.3 Hệ điều hành của kit Raspberry Pi 4 30

2.8.4 Ứng dụng 30

2.9 Tổng quan về màn hình LCD 7inch 31

2.9.1 Giới thiệu 31

2.9.2 Thông số kỹ thuật 31

2.9.3 Ứng dụng 32

2.10 Tổng quan về Wedcam Logitech C270 32

2.10.1 Giới thiệu 32

2.10.2 Thông số kỹ thuật 32

2.10.3 Ứng dụng 33

2.11 Tổng quan về chuột và bàn phím Raspberry Pi 33

2.11.1 Giới thiệu 33

2.11.2 Thông số kỹ thuật 33

2.11.3 Ứng dụng 34

2.12 Tổng quan về Module Relay 4 kênh 34

2.12.1 Giới thiệu 34

2.12.2 Thông số kỹ thuật 35

2.12.3 Ứng dụng 35

2.13 Ghế xe Lexus RX350 (1999) 35

2.13.1 Sơ đồ mạch điện ghế 36

2.14 Cài đặt hệ điều hành cho Kit Raspberry Pi 4 42

2.14.1 Thiết bị cần dùng để cài đặt 42

2.14.2 Cài đặt hệ điều hành Raspbian 42

2.14.3 Điều khiển Raspberry Pi 4 từ xa bằng phần mềm VNC 44

Trang 10

Chương 3: TÍNH TOÁN VÀ THIẾT KẾ 48

3.1 Giới thiệu 48

3.2 Tính toán và thiết kế hệ thống 48

3.2.1 Thiết kế sơ đồ khối hệ thống 48

3.2.2 Sơ đồ mạch điện kết nối hệ thống 50

Chương 4: THI CÔNG HỆ THỐNG 57

4.1 Giới thiệu 57

4.2 Thi công hệ thống 57

4.2.1 Chuẩn bị phần cứng 57

4.2.2 Lắp ráp và kiểm tra 58

4.3 Lập trình hệ thống 61

4.3.1 Lưu đồ giải thuật trên Raspberry Pi 61

4.3.2 Các bước truy cập kit Raspberry Pi 64

4.3.3 Hướng dẫn sử dụng và thao tác 66

Chương 5: KẾT QUẢ THỰC NGHIỆM 73

5.1 Kết quả 73

5.1.1 Nhận dạng khuôn mặt ở vị trí góc thẳng đứng 73

5.1.2 Nhận dạng khuôn mặt ở vị trí góc nghiêng 75

5.2 Nhận xét và đánh giá 76

Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 78

6.1 Kết luận 78

6.1.1 Kết quả đạt được 78

6.1.2 Hạn chế 78

6.2 Kiến nghị 78

TÀI LIỆU THAM KHẢO 80

PHỤ LỤC 81

Trang 11

DANH MỤC CÁC TỪ VIẾT TẮT

AI: Artificia Intelligence

OpenVC: Open Computer Vision

SOC: System On Chip

GPIO: General Purpose Input Output

DSI: Display Serial Interface

CSI: Camera Serial Interface

LCD: Liquid Crystal Display

NC: Normal Close

NO: Normal Open

USB: Universal Serial Bus

HDMI: High-Definition Multimedia Interface

Trang 12

DANH MỤC CÁC BẢN BIỂU

Bảng 2.1: Thông số các dòng Raspberry Pi 4 B 26

Bảng 2.2: Thông số kỹ thuật màn hình LCD 7inch 31

Bảng 2.3: Thông số kỹ thuật Wedcam Logitech C270 32

Bảng 2.4: Thông số kỹ thuật chuột Raspberry Pi 33

Bảng 2.5: Thông số kỹ thuật bàn phím Raspberry Pi 34

Bảng 2.6: Thông số kỹ thuật Module Relay 4 kênh 35

Bảng 2.7: Bảng thông số kỹ thuật động cơ DC 12V 38

Bảng 2.8: Bảng thông số kỹ thuật Module điều khiển 39

Bảng 2.9: Bảng thông số kỹ thuật Board Arduino Uno R3 41

Bảng 3.1: Thống kê dòng tiêu thụ 53

Bảng 4.1: Thông số các linh kiện 57

Bảng 5.1: Độ chính xác kết quả nhận dạng khuôn mặt ở vị trí góc thẳng đứng 75

Bảng 5.2: Độ chính xác kết quả nhận dạng khuôn mặt ở vị trí góc nghiêng 76

Trang 13

DANH MỤC CÁC HÌNH ẢNH

Hình 2.1: Lân cận 4 và lân cận 8 5

Hình 2.2: Hình tách biên 7

Hình 2.3: Phép giãn 10

Hình 2.4: Phép co 10

Hình 2.5: Sơ đồ xử lý ảnh 11

Hình 2.6: Mô hình phân tầng kết hợp các bộ phân loại yếu 13

Hình 2.7: Kết hợp các bộ phân loại yếu thành bộ phân loại mạnh 14

Hình 2.8: Đặc trưng theo cạnh 15

Hình 2.9: Đặc trưng theo đường 15

Hình 2.10: Đặc trưng theo xung quanh tâm 15

Hình 2.11: Đặc trưng theo đường chéo 15

Hình 2.12: Cách tính Integral Image của ảnh 16

Hình 2.13: Cách tính tổng giá trị pixel vùng cần tính 17

Hình 2.14: Hệ thống phát hiện khuôn mặt 17

Hình 2.15: Cấu trúc khuôn mặt từ tập dữ liệu iBUG 300-W 19

Hình 2.16: Thư viện Dlib 25

Hình 2.17: Raspberry Pi 4 Model B 27

Hình 2.18: Các cổng giao tiếp ngoại vi 29

Hình 2.19: Sơ đồ các chân GPIO của Raspberry Pi 4 29

Hình 2.20: Màn hình LCD 7inch 31

Hình 2.21: Wedcam Logitech C270 32

Hình 2.22: Chuột và bàn phím Raspberry Pi 33

Hình 2.23: Module Relay 4 kênh 34

Hình 2.24: Ghế xe Lexus RX350 (1999) 35

Hình 2.25: Sơ đồ mạch điện ghế xe Lexus RX350 36

Hình 2.26: Sơ đồ mạch điện thực tế 36

Hình 2.27: Nút ấn điều khiển ghế 37

Hình 2.28: Jack cấm 37

Hình 2.29: Sơ đồ nút điều khiển vị trí 37

Hình 2.30: Động cơ DC 12V 38

Hình 2.31: Module điều khiển động cơ DC 12V 39

Hình 2.32: Cảm biến Hall A3144 40

Hình 2.33: Board Arduino UNO R3 40

Hình 2.34: Hệ điều hành Raspbian Stretch 43

Trang 14

Hình 2.35: Phần mềm SD Card Formatter 43

Hình 2.36: Phần mềm Raspberry Pi Imager 44

Hình 2.37: Giao diện Raspbian của Raspberry Pi 44

Hình 2.38: Đăng nhập Wifi cho Raspberry Pi 45

Hình 2.39: Bật phần mềm VNC Viewer trên Raspberry Pi 45

Hình 2.40: Phần mềm Advanced IP Scanner 46

Hình 2.41: Phần mềm VNC Viewer 46

Hình 2.42: Đăng nhập vào Raspberry Pi 47

Hình 3.1: Sơ đồ kết nối hệ thống 48

Hình 3.2: Sơ đồ khối hệ thống 49

Hình 3.3: Sơ đồ mạch điện kết nối hệ thống 50

Hình 3.4: Khối xử lý trung tâm 51

Hình 3.5: Khối xử lý trung tâm thực tế 51

Hình 3.6: Sơ đồ các cổng ngoại vi sử dụng 52

Hình 3.7: Gắn thẻ nhớ MicroSD vào khay 53

Hình 3.8: Gắn Webcam vào cổng USB của kit Raspberry Pi 4 54

Hình 3.9: Kết nối màn hình LCD với kit Raspberry Pi 4 55

Hình 3.10: Relay được kết nối với Raspberry Pi 55

Hình 3.11: Khối cơ cấu chấp hành 56

Hình 4.1: Màn hình LCD hiển thị kết quả 58

Hình 4.2: Lắp ráp giữa Webcam, Chuột, Bàn phím với kit Raspberry Pi 59

Hình 4.3: Kết nối Relay với kit Raspberry Pi 60

Hình 4.4: Mô hình hệ thống nhận dạng khuôn mặt điều khiển ghế 61

Hình 4.5: Lưu đồ giải thuật xử lý ảnh trên Raspberry Pi 62

Hình 4.6: Phần mềm Advanced IP Scanner 65

Hình 4.7: Phần mềm VNC Viewer 65

Hình 4.8: Đăng nhập vào hệ thống 66

Hình 4.9: Giao diện hệ điều hành Raspbian 66

Hình 4.10: Thư mục FR 67

Hình 4.11: Truy cập đường dẫn 67

Hình 4.12: Gọi lệnh thực thi chương trình 68

Hình 4.13: Giao diện hiển thị 68

Hình 4.14: Đăng ký người dùng mới 69

Hình 4.15: Chụp ảnh thành công 69

Hình 4.16: Trích xuất đặt trưng khuôn mặt thành công 70

Hình 4.17: Nhận dạng khuôn mặt 70

Trang 15

Hình 4.18: Không nhận dạng được khuôn mặt 71

Hình 4.19: Điều chỉnh bằng tay 71

Hình 5.1: Đủ ánh sáng góc thẳng đứng 74

Hình 5.2: Thừa ánh sáng góc thẳng đứng 74

Hình 5.3: Thiếu ánh sáng góc thẳng đứng 74

Hình 5.4: Đủ ánh sáng góc nghiêng 75

Hình 5.5: Thừa ánh sáng góc nghiêng 75

Hình 5.6: Thiếu ánh sáng góc nghiêng 76

Trang 16

Chương 1: TỔNG QUAN

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

Cùng với sự phát triển ngày càng mạnh mẽ của khoa học kỹ thuật trong một vài thập kỷ gần đây, xử lý ảnh tuy là một ngành khoa học còn tương đối mới mẻ so với nhiều ngành khoa học khác nhưng hiện nay nó đang là một trong những lĩnh vực phát triển rất nhanh và thu hút sự quan tâm đặc biệt từ các nhà khoa học, thúc đẩy các trung tâm nghiên cứu, ứng dụng về lĩnh vực tiềm năng này Xử lý ảnh đóng vai trò quan trọng trong nhiều ứng dụng thực tế về khoa học kĩ thuật cũng như trong cuộc sống thường ngày như: sản xuất và kiểm tra chất lượng, sự

di chuyển của Robot, các phương tiện đi lại tự trị, công cụ hướng dẫn cho người

mù, an ninh và giám sát, nhận dạng đối tượng, nhận dạng khuôn mặt, nhận dạng biển số, các ứng dụng trong y học, sản xuất, hiệu chỉnh video…

Trong xu thế phát triển mạnh mẽ của ngành công nghệ ô tô hiện nay, các hãng xe không ngừng đầu tư nghiên cứu để có thể sản xuất ra các mẫu xe không những

có công suất cao, tiết kiệm nhiên liệu mà còn phải có mẫu mã đẹp và phần không thể thiếu trên những chiếc xe đó là hệ thống an toàn tiện nghi thật hiện đại Để có thể bắt kịp xu thế hiện đại hiện này, thì việc “cá nhân hóa” chiếc xe của khách hàng đang là lựa chọn để phát triển hàng đầu Khi khách hàng sử dụng chiếc xe của mình, bằng hệ thống quản lý người dùng thì hệ thống nhận dạng khuôn mặt

sẽ tự động điều chỉnh các chế độ tiện nghi của xe như là gương chiếu hậu, vị trí ghế ngồi, vô lăng, khóa cửa, kể cả playlist nhạc ứng với mỗi người sử dụng xe

để phát ra cũng tạo cho khách hàng sự thoải mái khi sử dụng chiếc xe của mình Bên cạnh đó, trong thời gian gần đây, hiệu quả sử dụng của kit Raspberry Pi vào các ứng dụng trong khoa học kỹ thuật đã thôi thúc nhóm nghiên cứu ứng dụng kit Raspberry Pi vào xử lý ảnh Với đặc điểm như một máy tính thu nhỏ có kích thước xấp xỉ chiếc điện thoại cầm tay, chạy hệ điều hành mở, được trang bị bộ vi

xử lý mạnh mẽ, mức tiêu thụ điện năng thấp, giá thành rẻ, cho phép ta có thể cấu hình cho kit Raspberry Pi như một máy tính xử lý các bài toán

Nhận thấy điều này, nhóm đã chọn đề tài “Ứng dụng xử lý ảnh trong hệ thống tiện nghi trên xe ô tô” nhằm mục đích cho sinh viên có thể nghiên cứu, tìm hiểu

xử lý ảnh là gì, đồng thời cho thấy ứng dụng của xử lý ảnh trên xe ô tô để có thể tạo dựng mô hình xe tự lái, khóa bảo mật, phanh khẩn cấp, đỗ xe tự động,…Từ

đó cho ta thấy tầm quan trọng của máy tính AI đối với con người và ứng dụng rộng rãi của nó

Trang 17

1.2 Mục tiêu đề tài

 Tìm hiểu lý thuyết về xử lý ảnh

 Tìm hiểu về các phương pháp phát hiện và nhận dạng khuôn mặt

 Tìm hiểu về kit Raspberry Pi 4 và các linh kiện điện tử liên quan khác

 Tìm hiểu về ngôn ngữ lập trình Python và các thư viện hỗ trợ lập trình

 Xây dựng mô hình hệ thống nhận dạng khuôn mặt và xuất tín hiệu điều khiển ghế ô tô thông qua bộ nhớ vị trí ghế

1.3 Đối tượng nghiên cứu

 Kit Raspberry Pi 4 và các linh kiện điện tử liên quan khác

 Ngôn ngữ lập trình Python và các thư viện hỗ trợ lập trình

 Thư viện lập trình giao diện PyQt5

 Module relay 4 kênh

 Sơ đồ mạch điện ghế xe Lexus RX350

1.4 Giới hạn đề tài

Do thời gian và điều kiện có hạn, nhóm tập trung lập trình nhận dạng khuôn mặt trên kit Raspberry Pi 4 thông qua các phương pháp phát hiện và trích xuất đặt trưng khuôn mặt Từ kết quả nhận diện khuôn mặt, xuất tín hiệu giả lập nút ấn vị trí của bộ nhớ vị trí ghế để điều khiển ghế ô tô Việc ứng dụng nhận diện khuôn mặt lên ô tô chỉ mới dừng lại ở việc điều khiển ghế, tuy nhiên, đề tài là bước đệm

để có thể ứng dụng xử lý ảnh nhiều hơn vào các hệ thống tiện nghi khác trên ô tô

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

Nhóm nghiên cứu tổng quan tài liệu, giáo trình và các công trình nghiên cứu của các sinh viên, giảng viên các trường Đại học

1.6 Nội dung đồ án

 Xây dựng sơ đồ khối hệ thống

 Xây dựng lưu đồ giải thuật cho hệ thống

 Tính toán, thiết kế để xuất tín hiệu giả lập nút ấn vị trí của bộ nhớ ghế

 Viết chương trình nhận dạng khuôn mặt

 Thiết kế giao diện hiển thị cho chương trình

 Thực nghiệm, đánh giá và kết luận

Trang 19

Chương 2: CƠ SỞ LÝ THUYẾT

2.1 Tổng quan về xử lý ảnh

2.1.1 Giới thiệu xử lý ảnh

Xử lý ảnh không còn là đề tài quá mới, nó được áp dụng từ trong các hoạt động thường ngày cho đến việc nâng cao sản xuất Nó không những giúp ích cho cá nhân hay gia đình, mà còn ứng dụng cả trong Chính trị, Y tế, Giáo dục,… Xử lý tín hiệu là một môn học trong kỹ thuật điện tử, viễn thông và trong toán học, liên quan đến nghiên cứu và xử lý tín hiệu kỹ thuật số và analog, giải quyết các vấn

đề về lưu trữ, các thành phần bộ lọc, các hoạt động khác trên tín hiệu Các tín hiệu này bao gồm truyền dẫn tín hiệu, âm thanh hoặc giọng nói, hình ảnh, và các tín hiệu khác,…

Trong số các phương pháp xử lý tín hiệu kể trên, lĩnh vực giải quyết với các loại tín hiệu mà đầu vào là một hình ảnh và đầu ra cũng là một hình ảnh, sản phẩm đầu ra được thực hiện trong một quá trình xử lý, đó chính là quá trình xử lý ảnh

Nó có thể được chia thành xử lý hình ảnh tương tự và xử lý hình ảnh kỹ thuật số

Để có 1 bức ảnh số ta có quá trình thực hiện như sau: Chụp ảnh từ một máy ảnh

là một quá trình vật lý Ánh sáng mặt trời sử dụng như một nguồn năng lượng Một dãy cảm biến được sử dụng cho việc thu lại của hình ảnh Vì vậy, khi ánh sáng mặt trời rơi trên người đối tượng, sau đó số lượng ánh sáng phản xạ của đối tượng được cảm nhận từ các cảm biến, và một tín hiệu điện áp liên tục được tạo

ra bởi số lượng dữ liệu cảm biến đó Để tạo ra một hình ảnh kỹ thuật số, chúng ta cần phải chuyển đổi dữ liệu này thành một dạng kỹ thuật số Điều này liên quan đến việc lấy mẫu và lượng tử hóa Kết quả của việc lấy mẫu và lượng tử hóa sau một quá trình xử lý là một hình ảnh kỹ thuật số

2.1.2 Những vấn đề trong xử lý ảnh

2.1.2.1 Điểm ảnh

Là đơn vị cơ bản nhất để tạo nên một bước ảnh kỹ thuật số Địa chỉ của điểm ảnh được xem như là một tọa độ (x, y) nào đó Một bức ảnh kỹ thuật số, có thể được tạo ra bằng cách chụp hoặc bằng một phương pháp đồ họa nào khác, được tạo nên

từ hàng ngàn hoặc hàng triệu pixel riêng lẻ Bức ảnh càng chứa nhiều pixel thì càng chi tiết Một triệu pixel thì tương đương với 1 megapixel

2.1.2.2 Ảnh số

Ảnh số là tập hợp hữu hạn các điểm ảnh với mức xám phù hợp dùng để mô tả ảnh gần với ảnh thật Số điểm ảnh xác định độ phân giải của ảnh Ảnh có độ phân

Trang 20

giải càng cao thì càng thể hiện rõ nét các đặt điểm của tấm hình càng làm cho tấm ảnh trở nên thực và sắc nét hơn Một hình ảnh là một tín hiệu hai chiều, nó được xác định bởi hàm toán học f(x, y) trong đó x và y là hai tọa độ theo chiều ngang

và chiều dọc Các giá trị của f(x, y) tại bất kỳ điểm nào là cung cấp các giá trị điểm ảnh (pixel) tại điểm đó của một hình ảnh

2.1.2.3 Phân loại ảnh

Mức xám của điểm ảnh là cường độ sáng, gán bằng một giá trị tại điểm đó Các mức ảnh xám thông thường: 16, 32, 64, 128, 256 Mức đước sử dụng thông dụng nhất là 265, tức là dùng 1 byte để biểu diễn mức xám [2] Trong đó:

 Ảnh nhị phân: Là ảnh có 2 mức trắng và đen, chỉ có 2 giá trị 0 và 1 và chỉ

sử dụng 1 byte dữ liệu trên 1 điểm ảnh

 Ảnh đen trắng: Là ảnh có hai màu đen, trắng (không chứa màu khác) với mức xám ở các điểm ảnh có thể khác nhau

 Ảnh màu: Là ảnh kết hợp của 3 màu cơ bản lại với nhau để tạo ra một thế giới màu sinh động Người ta thường dùng 3 byte để mô tả mức màu, tức

là có khoảng 16,7 triệu mức màu

2.1.2.4 Quan hệ giữa các điểm ảnh

Lân cận điểm ảnh: được nói một cách hài hước như là hàng xóm của cái điểm ảnh Có 2 loại lân cận cơ bản là lân cận 4 và lân cận 8 [3]

Hình 2.1: Lân cận 4 và lân cận 8

Bốn điểm ảnh lân cận 4 theo cột và hàng với tọa độ lần lượt là (x+1, y), (x-1, y), (x, y+1), (x, y-1) ký hiệu là tập N4(p) 4 điểm ảnh lân cận 4 theo đường chéo có tọa độ lần lượt là (x+1, y+1), (x+1, y+1), (x-1, y+1), (x-1, y-1) ký hiệu là tập ND(p) Tập 8 điểm ảnh lân cận 8 là hợp của 2 tập trên:

N8(p) = N4(p) + ND(p) (2.1)

Liên kết ảnh: Các mối liên kết của ảnh được xem như là mối liên kiết của 2 điểm

Trang 21

ảnh gần nhau, có 3 loại liên kết: liên kết 4, liên kết 8, lên kết m(liên kết hỗn hợp) Trong ảnh đa mức xám, ta có thể đặt V chứa nhiều giá trị như V={tập con} Cho

2.1.2.5 Lọc nhiễu

Ảnh thu nhận được thường sẽ bị nhiễu nên cần phải loại bỏ nhiễu Các toán tử không gian dùng trong kỹ thuật tăng cường ảnh được phân nhóm theo công dụng: làm trơn nhiễu, nổi biên Để làm trơn nhiễu hay tách nhiễu, người ta sử dụng các bộ lọc tuyến tính (lọc trung bình, thông thấp) hoặc lọc phi tuyến (trung

vị, giả trung vị, lọc đồng hình) Từ bản chất của nhiễu (thường tương ứng với tần

số cao) và từ cơ sở lý thuyết lọc là: bộ lọc chỉ cho tín hiệu có tần số nào đó thông qua, để lọc nhiễu người ta thường dùng lọc thông thấp (theo quan điểm tần số không gian) hay lấy tổ hợp tuyến tính để san bằng (lọc trung bình) Để làm nổi cạnh (ứng với tần số cao), người ta dùng các bộ lọc thông cao, lọc Laplace Phương pháp lọc nhiễu Chia làm 2 loại: lọc tuyến tính, lọc phi tuyến [2] [3]

Làm trơn nhiễu bằng lọc tuyến tính: Khi chụp ảnh có thể xuất hiện nhiều loại

nhiễu vào quá trình xử lý ảnh, nên ta cần phải lọc nhiễu Gồm các phương pháp

cơ bản lọc trung bình, lọc thông thấp,…Ví dụ lọc trung bình: Với lọc trung bình, mỗi điểm ảnh được thay thế bằng trung bình trọng số của các điểm lân cận

Làm trơn nhiễu bằng lọc phi tuyến: Các bộ lọc phi tuyến cũng hay được dùng

trong kỹ thuật tăng cường ảnh Một số phương pháp lọc cơ bản bộ lọc trung vị, lọc ngoài,…Với lọc trung vị, điểm ảnh đầu vào sẽ được thay thế bởi trung vị các điểm ảnh còn lọc giả trung vị sẽ dùng trung bình cộng của hai giá trị “trung vị” (trung bình cộng của max và min)

Lọc trung vị: Kỹ thuật này đòi hỏi giá trị các điểm ảnh trong cửa sổ phải xếp theo thứ tự tăng hay giảm dần so với giá trị trung vị Kích thước cửa số thường được chọn sao cho số điểm ảnh trong cửa sổ là lẻ

Trang 22

Lọc ngoài: Giả thiết có ngưỡng nào đó cho các mức nhiễu (có thể dựa vào lược

đồ xám) Tiến hành so sánh giá trị độ xám của một điểm ảnh với trung bình số học 8 lân cận của nó Nếu sai lệch lớn hơn ngưỡng, điểm ảnh này được coi như nhiễu Trong trường hợp đó, thay thế giá trị của điểm ảnh bằng giá trị trung bình

8 lân cận vừa tính được

2.1.2.6 Phương pháp phát hiện biên

Biên là một trong những vấn đền ta cần quan tâm trong xử lý ảnh Vì ở giai đoạn phân đoạn ảnh chủ yếu dựa vào biên

Hình 2.2: Hình tách biên

Điểm biên: Một điểm ảnh được coi là điểm biên nếu có sự thay đổi nhanh hoặc đột ngột về mức xám (hoặc màu) Ví dụ trong ảnh nhị phân, điểm đen gọi là điểm biên nếu lân cận nó có ít nhất một điểm trắng Đường biên (đường bao: boundary): tập hợp các điểm biên liên tiếp tạo thành một đường biên hay đường bao

Ý nghĩa của đường biên trong xử lý: ý nghĩa đầu tiên của đường biên là một loại đặc trưng cục bộ tiêu biểu trong phân tích, nhận dạng ảnh Thứ hai, người ta sử dụng biên làm phân cách các vùng xám (màu) cách biệt Ngược lại, người ta cũng

sử dụng các vùng ảnh để tìm đường phân cách Tầm quan trọng của biên: để thấy

rõ tầm quan trọng của biên, xét ví dụ sau: khi người họa sỹ muốn vẽ một danh nhân, họa sỹ chỉ cần vẽ vài đường nứt tốc họa mà không cần vẽ một cách đầy đủ Như vậy, phát hiện biên một cách lý tưởng là phát hiện được tất cả các đường biên trong các đối tượng Định nghĩa toán học của biên ở trên là cơ sở cho các kỹ thuật phát hiện biên Điều quan trọng là sự biến thiên giữa các điểm ảnh thường nhỏ, trong khi đó biến thiên độ sáng của điểm biên thường là khá lớn khi qua biên Xuất phát cơ sở này người ta thường sử dụng hai phương pháp phát hiện biên như sau: Tách biên theo đạo hàm bậc một: Có 2 phương pháp cơ bản là: một

là tạo gradient của hai hướng và trực giao trong ảnh, hai là dùng tập đạo hàm có hướng Tách biên theo đạo hàm bậc hai: được thực hiện trên một số dạng vi

Trang 23

phân bậc 2 để làm xuất hiện biên Có hai dạng của phương pháp đạo hàm bậc hai

đã được nghiên cứu là: phương pháp Lapplace và đạo hàm trực tiếp [2]

Bộ tách biên Canny: phương pháp phát hiện này được sử dụng phổ biến vì nó có nhiều ưu điểm hơn các phương pháp khác Các bước thực hiện: Làm phẳng dùng

bộ lọc Gauss; Sau đó, Gradient cục bộ của biên độ và hướng được tính Tìm điểm ảnh có biên độ lớn nhất dùng kỹ thuật nonmaximal suppression; Các điểm ảnh đỉnh (tìm được từ bước 2) được chia làm hai ngưỡng T1 và T2, T1 < T2 Các điểm ảnh đỉnh có giá trị lớn hơn T2 được gọi là Strong và nằm trong khoảng T1

và T2 được gọi là Weak Liên kiết các điểm ảnh Weak có 8 kết nối đến điểm ảnh Strong [1]

Phương pháp gradient: Gradient là một vector có các thành phần biểu thị tốc độ thay đổi giá trị của điểm ảnh theo 2 hướng x và y, hay có thể nói là nó đại diện cho sự thay đổi về hướng và độ lớn của một vùng ảnh

(2.2)

(2.3) Với dx, dy lần lượt là khoảng cách giữa 2 điểm lân cận theo chiều x và chiều y (Ta có thể xem dx, dy là số lượng điểm ảnh giữa 2 điểm.)

(2.4)

(2.5) Nếu định nghĩa g1 (f’x), g2 (f’y) là Gradient (vector gradient thành G(g1, g2)) theo hai hướng x, y tướng ứng thì biên độ (tức độ lớn) g(m, n) và hướng của biên tại điểm (m, n) được tính như sau:

(2.6)

(2.7) Việc tính xấp xỉ đạo hàm bậc nhất (f’x và f’y ở đây là g1 và g2) theo các hướng x

và y được thực hiện thông qua 2 mặt nạ nhân chập (toán tử đạo hàm), tương ứng

Trang 24

sẽ cho ta các kỹ thuật phát hiện biên khác nhau tương ứng với mặt nạ mà nó sử dụng (Roberts, Sobel, Prewitt,…)

2.1.2.7 Phân đoạn ảnh

Phân đoạn ảnh là bước then chốt trong xử lý ảnh Giai đoạn này nhằm phân tích ảnh thành các vùng có cùng tính chất nào đó dựa theo biên hay các vùng liên thông Tiêu chuẩn để xác định các vùng liên thông có thể là cùng mức xám, cùng màu hay cùng độ nhóm [2]

Quá trình phân đoạn ảnh nhằm tách đối tượng cần khảo sát ra khỏi phần nội dung còn lại của ảnh, hay phân chia các đối tượng trong ảnh thành những đối tượng riêng biệt Như vậy quá trình phân đoạn ảnh là quá trình giảm bớt số lượng thông tin trong ảnh và chỉ giữ lại những thông tin cần thiết cho ứng dụng Do đó phân đoạn ảnh là quá trình loại bỏ các đối tượng không quan tâm trong ảnh Có nhiều phương pháp phân đoạn ảnh khác nhau Trong đó quá trình phân đoạn ảnh sử dụng một ngưỡng giá trị xám để phân đoạn ảnh ra thành các đối tượng và nền là phương pháp đơn giản nhất Lúc này các điểm ở bên dưới ngưỡng giá trị xám thuộc về nền còn những điểm ảnh ở bên trên ngưỡng giá trị xám thuộc về đối tượng Phương pháp phân đoạn ảnh này hiệu quả lớn đối với ảnh nhị phân, văn bản in hay đồ họa Dựa vào đặc tính vật lý của vùng ảnh, các kỹ thuật phân đoạn vùng có thể được chia làm 3 loại:

 Các kỹ thuật cục bộ: dựa trên các đặc tính cục bộ của các điểm ảnh và các lân cận của nó

 Các kỹ thuật tổng thể: phân đoạn một ảnh dựa trên cơ sở của thông tin lấy

từ tổng thể như sử dụng biểu đồ mức xám histogram

 Các kỹ thuật chia, nối và phát triển: dựa trên các khái niệm tương đồng về hình dạng và tính đồng nhất Hai vùng có thể được nối lại với nhau và liền

kề bên nhau Các vùng không đồng nhất có thể được chia thành các vùng nhỏ Một vùng có thể được phát triển bằng các nối các điểm ảnh sao cho

nó đồng nhất với nhau

2.1.2.8 Các phép toán hình thái Morphology

Khái niệm Morphology trong xử lý ảnh số khởi nguồn từ một ngành của sinh học, nghiên cứu về hình thể và cấu trúc của động thực vật Đây là một công cụ giúp rút trích các thành phần trong ảnh nhị phân, biễu diễn và mô tả chúng dưới dạng các vùng hoặc dạng như các đường biên, xương và bao lồi Kỹ thuật morphology cũng được áp dụng trên ảnh xám cho các công đoạn tiền/hậu xử lý ảnh (pre or post processing) Các phép toán đầu tiên trong Morphology được phát triển vào những năm 1964 bởi Georges Matheron (1930 - 2000) và Jean Serra

Trang 25

(1940) tại trường đại học École des Mines de Paris, Pháp Matheron là tiến sĩ hướng dẫn của Jean, họ cố gắng xác định số lượng đặc tính của khoáng sản thông qua “thin cross section” và công việc cho ra kết quả là một phương pháp tiếp cận mới, cũng như sự tiến bộ trong hình học tích phân và tô pô Từ đó đến hết năm

1970, Morphology xử lý cơ bản với các ảnh nhị phân, tạo ra các phép toán và kĩ thuật như: Dilation, Erosion, Opening, Closing… [2]

Phép giãn (Dilation): Phép toán Dilation là thao tác giãn nở/phình to các đối tượng ảnh đơn sắc [1]

Hình 2.3: Phép giãn

Phép co (Erosion): Phép toán Erosion là thao tác xói mòn/co hẹp các đối tượng ảnh đơn sắc Nếu như phép dãn có thể nói là thêm điểm ảnh vào trong đối tượng ảnh, làm cho đối tượng ảnh trở nên lớn hơn thì phép co sẽ làm cho đối tượng ảnh trở nên nhỏ hơn, ít điểm ảnh [1]

Hình 2.4: Phép co

2.1.2.9 Những định dạng của ảnh

Ảnh thu nhận được sau quá trình số hóa thường được lưu lại cho các quá trình xử

lý tiếp theo hay truyền đi Trong quá trình truyền của kỹ thuật xử lý ảnh, tồn tại nhiều định dạng khác nhau từ ảnh đen trắng như định dạng IMG, ảnh đa cấp xám cho đến ảnh màu (BMP, JPEG, GIF)

Trang 26

2.1.2.10 Các phần mềm hỗ trợ xử lý ảnh

Hiện nay xử lý ảnh được giảng dạy trường đại học và ứng dụng vào thực tế rất nhiều như các phần mềm chỉnh sửa hình ảnh hay nhận biết khuôn mặt Chính vì thế có rất nhiều công cụ để chúng ta lập trình ứng dụng vào thực tế, như phải kể đến Matlab, Python, Java,…

2.1.3 Các bước cơ bản trong xử lý ảnh

Để dễ tưởng tượng, xét các bước cần thiết trong xử lý ảnh Đầu tiên, ảnh tự nhiên

từ thế giới ngoài được thu nhận qua các thiết bị thu (như camera, máy chụp ảnh) Sau đó được chuyển trực tiếp thành ảnh số tạo thuận lợi cho xử lý tiếp theo

Hình 2.5: Sơ đồ xử lý ảnh

2.1.3.1 Phần thu nhận ảnh

Là quá trình mà ảnh có thể nhận qua camera màu hoặc trắng đen Thường ảnh nhận qua camera là ảnh tương tự (loại camera ống chuẩn CCIR với tần số 1/25, mỗi ảnh 25 dòng), cũng có loại camera đã số hóa (như loại CCD_change Coupled Device) là loại photodiot tạo cường độ sáng tại mỗi điểm ảnh Camera thường dùng là loại quét dòng, ảnh tạo ra có dạng hai chiều chất lượng một ảnh thu nhận được phụ thuộc vào thiết bị thu, vào môi trường (ánh sáng, phong cảnh)

2.1.3.2 Tiền xử lý

Sau bộ phận thu nhận, ảnh có thể nhiễu độ tương phản thấp nên đưa ra bộ tiền xử

lý để nâng cao chất lượng Chức năng chỉnh của bộ tiền xử lý là lọc nhiễu, nâng độ tương phản để làm ảnh rõ nét hơn

2.1.3.3 Phân đoạn hay phân vùng ảnh

Phân vùng ảnh là tách một ảnh đầu vào thành các vùng thành phần để biểu diễn phân tích, nhận dạng ảnh Ví dụ: để nhận dạng chữ (hoặc mã vạch) trên phong bì thư cho mục đích phân loại bưu phẩm, cần chia các câu, chữ về địa chỉ hoặc tên

Trang 27

người thành các từ, các chữ, các số (hoặc các vạch) riêng biệt để nhận dạng Đây

là phần phức tạp khó khăn nhất trong xử lý ảnh và cũng dễ gây lỗi, làm mất độ chính xác của ảnh Kết quả nhận dạng ảnh phụ thuộc vào nhiều công đoạn này

tự này với ký tự khác

2.1.3.5 Nhận dạng và nội suy ảnh

Nhận dạng ảnh là quá trình xác minh ảnh Quá trình này thường được so sánh với mẫu chuẩn thường được học hoặc lưu từ trước Nội suy là phán đoán theo ý nghĩa trên cơ sở nhận dạng Ví dụ: một loạt chữ số và nét gạch ngang trên phong

bì thư có thể được nội suy thành mã điện thoại Có nhiều cách phân biệt khác nhau về ảnh Theo lý thuyết về nhận dạng, các mô hình toán học về ảnh được phân chia theo hai loại nhận dạng cơ bản: Nhận dạng theo tham số Nhận dạng theo cấu trúc Một số đối tượng nhận dạng khá phổ biến hiện nay đang được áp dụng trong khoa học và công nghệ là: nhận dạng ký tự (chữ in, chữ viết tay, chữ

ký điện tử), nhận dạng văn bản, nhận dạng vân tay, nhận dạng mã vạch, nhận dạng mặt người

2.1.3.6 Cơ sở tri thức

Như đã nói ở trên ảnh là đối tượng khá phúc tạp về đường độ nét, độ sáng tối, dung lượng điểm ảnh, môi trường để thu ảnh phong phú kéo theo nhiễu Trong nhiều khâu xử lý và phân tích ảnh ngoài việc đơn giản hóa các phương pháp toán học tiện lợi cho xử lý, người ta mong muốn bắt chước quy trình tiếp nhận và xử lý ảnh theo cách con người Vì vậy, ở đây các cơ sở tri thức được phát huy

2.1.3.7 Mô tả

Ảnh sau khi số hóa sẽ lưu vào bộ nhớ, hoặc truyền sang các khâu tiếp theo để phân tích Nếu lưu trữ ảnh trực tiếp từ các ảnh thô, đòi hỏi dung lượng bộ nhớ cực lớn và không hiệu quả theo quan điểm ứng dụng và công nghệ Thông thường, các ảnh được gọi là các đặc trưng ảnh như: biên ảnh, vùng ảnh

Trang 28

2.2 Giải thuật AdaBoost

AdaBoost là một bộ phân loại mạnh phi tuyến phức dựa trên hướng tiếp cận boosting được Freund và Schapire đưa ra vào năm 1995 Adaboost cũng hoạt động trên nguyên tắc kết hợp tuyến tính các “weak classifiers” để hình thành một

“strong classifier”

Là một cải tiến của tiếp cận boosting, AdaBoost sử dụng thêm khái niệm trọng số (weight) để đánh dấu các mẫu khó nhận dạng Trong quá trình huấn luyện, cứ mỗi “weak classifier” được xây dựng, thuật toán sẽ tiến hành cập nhật lại trọng

số để chuẩn bị cho việc xây dựng “weak classifier” kế tiếp: tăng trọng số của các mẫu bị nhận dạng sai và giảm trọng số của các mẫu được nhận dạng đúng bởi

“weak classifier” vừa xây dựng Bằng cách này “weak classifer” sau có thể tập trung vào các mẫu mà các “weak classifiers” trước nó làm chưa tốt Sau cùng, các “weak classifers” sẽ được kết hợp tùy theo mức độ tốt của chúng để tạo nên

Trang 29

Trong đó, hk là các bộ phân loại yếu, được biểu diễn như sau:

(2.8) x: cửa sổ con cần xét

Ok: ngưỡng (O = teta)

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

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

AdaBoost sẽ kết hợp các bộ phân loại yếu thành bộ phân loại mạnh như sau:

H(x) = sign(a1h1(x) +a2h2(x) + + anhn(x)) (a = alpha)

Với: at > = 0 là hệ số chuẩn hoá cho các bộ phân loại yếu

Hình 2.7: Kết hợp các bộ phân loại yếu thành bộ phân loại mạnh

2.3 Đặc trưng Haar - Like

Đặc trưng Haar-like được sử dụng trong việc nhận dạng đối tượng trong ảnh số được phát biểu bởi Viola và Jones gồm 4 đặc trưng cơ bản để xác định một đối tượng trong ảnh Mỗi đặc trưng Haar-like là sự kết hợp gồm 2 hoặc 3 khối chữ nhật mang giá trị “đen” hoặc “trắng” Những khối chữ nhật này thể hiện sự liên

hệ tương quan giữa các bộ phận trong ảnh mà bản thân từng giá trị pixel không thể diễn đạt được.[5]

Trang 30

Hình 2.8: Đặc trưng theo cạnh

Hình 2.9: Đặc trưng theo đường

Hình 2.10: Đặc trưng theo xung quanh tâm

Hình 2.11: Đặc trưng theo đường chéo

Trang 31

Dựa theo các đặc trưng trên, giá trị của đặc trưng Haar-like được xây dựng bởi

độ chênh lệch giữa tổng các pixel của các vùng đen so với tổng các pixel của các vùng trắng

Dưới đây là công thức tính giá trị đặc trưng Haar-like:

(2.9) Như vậy để tính giá trị đặc trưng Haar-like cần phải thực hiện tính toán tổng các vùng pixel trên ảnh Điều này làm cho chi phí bài toán lớn không thể đáp ứng các tính năng yêu cầu thời gian thực Do vậy Viola và Jones đã đề xuất ra khái niệm

“Integral Image” để giảm thiểu chi phí cho bài toán tính giá trị của đặc trưng Haar-like để bài toán có thể xử lý với thời gian thực Tính “Integral Image” bằng cách sử dụng mảng 2 chiều với kích thước bằng kích thước của ảnh cần tính giá trị đặc trưng Haar-like Ảnh chia nhỏ ở vị trí (x, y) được tính bằng tổng các giá trị pixel của vùng từ vị trí (0, 0) đến vị trí (x-1, y-1) Việc tính toán đơn giản là thực hiện phép cộng số nguyên nên tốc độ thực hiện được tối ưu hóa

Hình 2.12: Cách tính Integral Image của ảnh

(2.10) Kết quả có được sau khi tính Integral Image, việc tính tổng giá trị pixel trong vùng cần tính thực hiện như sau:

Gọi vùng cần tính tổng các giá trị pixel là vùng “A4”

𝑃1(𝑥1, 𝑦1) = 𝐴1 (2.11) 𝑃2(𝑥2, 𝑦2) = 𝐴1 + 𝐴2 (2.12) 𝑃3(𝑥3, 𝑦3) = 𝐴1 + 𝐴3 (2.13)

Trang 33

không phải khuôn mặt và xác định vùng nào là khuôn mặt Và đưa ra kết quả cuối cùng

2.4 Giải thuật Facial Landmarks

Chúng ta sẽ sử dụng Dlib và OpenCV để phát hiện các điểm đánh dấu các bộ phận trên khuôn mặt trong một hình ảnh Điểm đánh dấu các bộ phận trên khuôn mặt được sử dụng để định vị và trình bày cho các vùng nổi bật trên mặt, chẳng hạn như: Mắt, lông mày, mũi, miệng, đường viền khuôn mặt

2.4.1 Giới thiệu về Facial Landmarks

Facial Landmarks là một tập con của vấn đề dự đoán hình dạng Với một hình ảnh ngõ vào (và thông thường là một ROI chỉ định đối tượng quan tâm trong ảnh), một dự đoán hình dạng cố gắng định vị điểm quan trọng theo hình dạng Mục tiêu là phát hiện các cấu trúc khuôn mặt quan trọng trên mặt bằng các phương pháp dự đoán hình dạng Việc phát hiện các điểm đánh dấu trên mặt là một quá trình gồm hai bước [6]:

Bước 1: Định vị khuôn mặt trong hình ảnh

Bước 2: Phát hiện các cấu trúc mặt chính trên mặt ROI

Phát hiện khuôn mặt (Bước 1) có thể đạt được theo nhiều cách:

- Chúng ta có thể sử dụng thuật toán Haar Cascade được xây dựng trong OpenCV

- Chúng ta có thể áp dụng một máy phát hiện dùng thuật toán HOG kết hợp Linear SVM đã được huấn luyện đặc biệt cho nhiệm vụ phát hiện khuôn mặt Trong cả hai trường hợp, thuật toán thực tế được sử dụng để phát hiện khuôn mặt trong hình ảnh mục đích là để thông qua các phương pháp đó chúng tôi có được hộp bao quanh khuôn mặt (tức là, các tọa độ của (x, y) của khuôn mặt trong hình ảnh)

Khi đã có vùng mặt, chúng ta có thể áp dụng Bước 2 để phát hiện các cấu trúc mặt chính ở vùng mặt Có rất nhiều bộ phát hiện các điểm đánh dấu bộ phận trên khuôn mặt nhưng tất cả các phương pháp chủ yếu là cố gắng để định vị và gắn nhãn các khu vực mặt sau đây: Miệng, lông mày phải, lông mày trái, mắt phải, mắt trái, mũi, hàm Máy phát hiện các dấu mốc trên khuôn mặt trong thư viện

dlib là việc thực hiện tài liệu One Millisecond Face Alignment with an Ensemble

of Regression Trees của Kazemi và Sullivan (2014)

Phương pháp này bắt đầu bằng cách sử dụng tập huấn luyện các điểm đánh dấu trên khuôn mặt được gắn nhãn trên một hình ảnh Những hình ảnh này được dán

Trang 34

nhãn theo cách thủ công, chỉ định các tọa độ cụ thể (x, y) của các vùng xung quanh mỗi cấu trúc mặt Cụ thể hơn hết là xác suất về khoảng cách giữa các cặp điểm ảnh đầu vào Với dữ liệu huấn luyện này, một nhóm các cây hồi qui được đào tạo để ước lượng các vị trí dấu mốc trên khuôn mặt trực tiếp từ các cường độ điểm ảnh (nghĩa là không có "trích xuất các đặc trưng" nào đang diễn ra) Kết quả cuối cùng là máy phát hiện điểm đánh dấu trên mặt có thể được sử dụng để phát hiện trong thời gian thực với các dự đoán chất lượng cao

2.4.2 Tìm hiểu về bộ phát hiện dấu mốc trên khuôn mặt của Dlib

Bộ phát hiện các dấu mốc trên khuôn mặt đã được huấn luyện trước trong thư viện dlib được sử dụng để ước tính vị trí của 68 tọa độ (x, y) các cấu trúc mặt trên mặt [6]

Các chỉ số của 68 tọa độ có thể được hình dung trên hình dưới đây:

Hình 2.15: Cấu trúc khuôn mặt từ tập dữ liệu iBUG 300-W

Các chú thích này là một phần của bộ dữ liệu iBUG 300-W 68 điểm mà bộ dự đoán mốc mặt trên dlib đã được huấn luyện Điều quan trọng cần lưu ý để thêm sinh động cho máy phát hiện mốc mặt là mô hình điểm 194 có thể được huấn luyện về bộ dữ liệu HELEN

Bất kể bộ dữ liệu nào được sử dụng, cùng một khuôn khổ dlib có thể được tận dụng để đào tạo một dự đoán hình dạng trên dữ liệu huấn luyện đầu vào Dấu mốc trên khuôn mặt đã được áp dụng thành công để căn chỉnh mặt, ước tính đầu

Trang 35

người, trao đổi khuôn mặt, phát hiện chớp mắt và nhiều hơn nữa

2.5 Khoảng cách Euclide

Trong toán học, khoảng cách Euclide là khoảng cách giữa hai điểm mà người ta

có thể đo bằng thước, và được tính bằng công thức Pytago [7]

Khoảng cách Euclide giữa hai điểm A và B là chiều dài đoạn thẳng 𝐴𝐵 Trong hệ tọa độ Descartes, nếu A = (A1, A2,…, An) và B = (B1, B2,…, Bn) là hai điểm

trong không gian Euclide n chiểu thì khoảng cách từ A đến B bằng:

(2.16) Dạng chuẩn Euclide là khoảng cách của một điểm đến điểm gốc trong không gian Euclide

(2.17) Trong đó phương trình sau cùng là tích vô hướng Đây là chiều dài của p, khi ta xem nó là một Véc-tơ Euclide có gốc nằm ở gốc tọa độ Khoảng cách khi đó bằng:

(2.18)

2.6 Giới thiệu ngôn ngữ Python và thư viện OpenCV

2.6.1 Ngôn ngữ Python

2.6.1.1 Giới thiệu

Python là một ngôn ngữ lập trình hướng đối tượng và rất thông dụng Bộ thông

dịch có thể được dùng một cách tương tác, làm cho việc thử nghiệm các tính năng của ngôn ngữ trở nên dễ dàng Được tạo ra bởi Guido van Rossum tại Amsterdam vào năm 1990 Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động Python được phát triển trong một dự án mã mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý Python là một ngôn ngữ lập trình mạnh và dễ học Python có tính hiệu quả rất cao với các cấu trúc dữ liệu và đơn giản nhưng lại rất hữu dụng với ngôn ngữ lập trình hướng đối tượng Cú pháp Python gọn gàng và có tính năng gõ động, cùng với tính diễn dịch tự nhiên làm Python là một ngôn ngữ lý tưởng dành cho viết kịch bản và phát triển ứng dụng nhanh chóng trong nhiều lĩnh vực trên nhiều nền tảng khác nhau

Trang 36

2.6.1.2 Các đặc điểm của ngôn ngữ Python

Dễ học, dễ đọc: Python được thiết kế để trở thành một ngôn ngữ dễ học, mã nguồn dễ đọc, bố cục rõ ràng, dễ hiểu

Từ khóa: Python tăng cường sử dụng từ khóa tiếng Anh, hạn chế các kí hiệu và cấu trúc, cú pháp so với các ngôn ngữ khác Python là một ngôn ngữ phân biệt kiểu chữ HOA, chữ thường

Khối lệnh: Trong các ngôn ngữ khác, khối lệnh thường được đánh dấu bằng cặp kí hiệu hoặc từ khóa Ví dụ, trong C/C++, cặp ngoặc nhọn { } được dùng

để bao bọc một khối lệnh Ngược lại, Python có một cách rất đặc biệt để tạo khối lệnh, đó là thụt các câu lệnh trong khối vào sâu hơn (về bên phải) so với các câu lệnh của khối lệnh cha chứa nó Ta có thể dùng dấu Tab để thụt các khối lệnh vào để dễ dàng viết lệnh hơn

Khả năng mở rộng: Python có thể được mở rộng Nếu ta biết sử dụng C, ta có thể dễ dàng viết và tích hợp vào Python nhiều hàm tùy theo nhu cầu Các hàm này sẽ trở thành hàm xây dựng sẵn (built-in) của Python Ta cũng có thể mở rộng chức năng của trình thông dịch, hoặc liên kết các chương trình Python với các thư viện chỉ ở dạng nhị phân (như các thư viện đồ họa do nhà sản xuất thiết

bị cung cấp) Hơn thế nữa, ta cũng có thể liên kết trình thông dịch của Python với các ứng dụng viết từ C và sử dụng nó như là một mở rộng hoặc một ngôn ngữ dòng lệnh hỗ trợ cho ứng dụng đó

Trình thông dịch: Python là một ngôn ngữ lập trình dạng thông dịch, vì vậy nên Python tiết kiệm được thời gian phát triển ứng dụng vì không cần phải thực hiện biên dịch và liên kết Trình thông dịch có thể được sử dụng để chạy file script, hoặc cũng có thể được sử dụng theo cách tương tác Ở chế độ tương tác, trình thông dịch Python tương tự shell của các hệ điều hành họ Unix Tại đó, ta

có thể nhập vào từng biểu thức rồi gõ Enter, và kết quả thực thi sẽ được hiển thị ngay lập tức Đặc điểm này rất hữu ích cho người mới học, giúp họ nghiên cứu tính năng của ngôn ngữ; hoặc để các lập trình viên chạy thử mã lệnh trong suốt quá trình phát triển phần mềm Ngoài ra, cũng có thể tận dụng đặc điểm này để thực hiện các phép tính như với máy tính bỏ túi

Lệnh và cấu trúc điều khiển: Mỗi câu lệnh trong Python nằm trên một dòng mã nguồn Ta không cần phải kết thúc câu lệnh bằng bất kì kí tự gì Như các ngôn ngữ khác, Python cũng có các cấu trúc điều khiển

Chúng bao gồm:

 Cấu trúc rẽ nhánh: Cấu trúc if (có thể sử dụng thêm elif hoặc else), dùng

để thực thi có điều kiện một khối mã cụ thể

Trang 37

 Lệnh while: Thực thi lặp đi lặp lại các lệnh hoặc phần thân của vòng lặp miễn là điều kiện đã cho là true Khi điều kiện là false, thì điều khiển sẽ thoát ra khỏi vòng lặp

 Vòng lặp for: Lặp qua từng phần tử của một dãy, mỗi phần tử sẽ được đưa vào biến cục bộ để sử dụng với khối mã trong vòng lặp

Python cũng có từ khóa class dùng để khai báo lớp (sử dụng trong lập trình hướng đối tượng) và lệnh def dùng để định nghĩa hàm

Hệ thống kiểu dữ liệu: Python sử dụng hệ thống kiểu duck typing, còn gọi là latent typing (tự động xác định kiểu) Có nghĩa là, Python không kiểm tra các ràng buộc về kiểu dữ liệu tại thời điểm dịch, mà là tại thời điểm thực thi Khi thực thi, nếu một thao tác trên một đối tượng bị thất bại, thì có nghĩa là đối tượng đó không sử dụng một kiểu thích hợp Python cũng là một ngôn ngữ định kiểu mạnh Nó cấm mọi thao tác không hợp lệ Ở Python, ta không cần phải khai báo biến Biến được xem là đã khai báo nếu nó được gán một giá trị lần đầu tiên Căn cứ vào mỗi lần gán, Python sẽ tự động xác định kiểu dữ liệu của biến

Module: Python cho phép chia chương trình thành các module để có thể sử dụng lại trong các chương trình khác Python cũng cung cấp sẵn một tập hợp các modules chuẩn mà lập trình viên có thể sử dụng lại trong chương trình của họ Các module này cung cấp nhiều chức năng hữu ích, như các hàm truy xuất tập tin, các lời gọi hệ thống, trợ giúp lập trình mạng

Đa năng: Python là một ngôn ngữ lập trình đơn giản nhưng rất hiệu quả

- So với Unix shell, Python hỗ trợ các chương trình lớn hơn và cung cấp nhiều cấu trúc hơn

- So với C, Python cung cấp nhiều cơ chế kiểm tra lỗi hơn Nó cũng có sẵn nhiều kiểu dữ liệu cấp cao, ví dụ như các mảng (array) linh hoạt và từ điển (dictionary) mà ta sẽ phải mất nhiều thời gian nếu viết bằng C

Python là một ngôn ngữ lập trình cấp cao có thể đáp ứng phần lớn yêu cầu của lập trình viên:

 Python thích hợp với các chương trình lớn hơn cả AWK và Perl

 Python được sử dụng để lập trình Web Nó có thể được sử dụng như một ngôn ngữ kịch bản

 Python được tích hợp sẵn nhiều công cụ và có một thư viện chuẩn phong phú, Python cho phép người dùng dễ dàng tạo ra các dịch vụ Web, sử dụng các thành phần COM hay CORBA, hỗ trợ các loại định

Trang 38

dạng dữ liệu Internet như email, HTML, XML và các ngôn ngữ đánh dấu khác Python cũng được cung cấp các thư viện xử lý các giao thức Internet thông dụng như HTTP, FTP,…

 Python có khả năng giao tiếp đến hầu hết các loại cơ sở dữ liệu, có khả năng xử lí văn bản, tài liệu hiệu quả, và có thể làm việc tốt với các công nghệ Web khác

 Python đặc biệt hiệu quả trong lập trình tính toán khoa học nhờ các công

cụ Python Imaging Library, pyVTK, MayaVi 3D Visualization Toolkits, Numeric Python, Scientific Python,…

 Python có thể được sử dụng để phát triển các ứng dụng desktop Lập trình viên có thể dùng wxPython, PyQt, PyGtk để phát triển các ứng dụng giao diện đồ họa (GUI) chất lượng cao Python còn hỗ trợ các nền tảng phát triển phần mềm khác như MFC, Carbon, Delphi, X11, Motif,

2.6.1.3 Ứng dụng

Python được ứng dụng trong nhiều lĩnh vực khác nhau:

 Xây dựng các tiện ích nhỏ để tự động hóa các công việc nào đó như: tự động tìm kiếm, phân loại tập tin theo tiêu chí riêng, tự động cập nhật các tập tin văn bản theo yêu cầu nào đó…

 Xây dựng ứng dụng web: Python cung cấp nhiều framework để ta có thể lựa chọn để phát triển ứng dụng web tùy theo mô hình của ứng dụng như: Django, Pyramid, Flask,…

 Lập trình các tính toán khoa học, số liệu nhờ các công cụ và lớp thư viện được xây dựng sẵn như: SciPy, IPython,…

Trang 39

 Lập trình ứng dụng desktop (wxWidgets), lập trình màn hình tương tác (Kivy),…

Bên cạnh đó, Python còn là ngôn ngữ lập trình được lựa chọn để giảng dạy về lập trình các khóa học nhập môn lập trình ở các trường Đại học lớn trên thế giới

2.6.2 Thư viện OpenCV

2.6.2.1 Giới thiệu

OpenCV (Open Source Computer Vision Library) là một thư viện mã nguồn mở,

nó là miễn phí cho những ai bắt đầu tiếp cận với các học thuật OpenCV được ứng dụng trong nhiều lĩnh vực như cho thị giác máy tính hay xử lý ảnh và máy học Thư viện được lập trình trên các ngôn ngữ cấp cao: C++, C, Python, hay Java và hỗ trợ trên các nền tảng Window, Linux, Mac OS, iOS và Android OpenCV đã được tạo ra tại Intel vào năm 1999 bởi Gary Bradsky, và ra mắt vào năm 2000 OpenCV có rất nhiều ứng dụng: Nhận dạng ảnh, xử lý hình ảnh, phục hồi hình ảnh/video, thực tế ảo,… Ở đề tài này thư viện OpenCV được chạy trên ngôn ngữ Python OpenCV được dùng làm thư viện chính để xử lý hình ảnh đầu vào và sau đó đi nhận dạng ảnh

2.6.2.2 Các đặc điểm thư viện OpenCV

OpenCV Là một thư viện mở nên sử dụng các thuật toán một cách miễn phí, cùng với việc chúng ta cũng có thể đóng góp thêm các thuật toán giúp Thư viện thêm ngày càng phát triển

Các tính năng của thư viện OpenCV:

Đối với hình ảnh, chúng ta có thể đọc và lưu hay ghi chúng

Về Video cũng tương tự như hình ảnh cũng có đọc và ghi

Xử lý hình ảnh có thể lọc nhiễu cho ảnh, hay chuyển đổi ảnh

Thực hiện nhận dạng đặc điểm của hình dạng trong ảnh

 Phát hiện các đối tượng xác định được xác định trước như khuôn mặt,

mắt, xe trong video hoặc hình ảnh

 Phân tích video, ước lượng chuyển động của nó, trừ nền ra và theo dõi

các đối tượng trong video

Trang 40

2.7 Thư viện Dlib

Hình 2.16: Thư viện Dlib

Ngoài thư viện OpenCV, chúng tôi còn sử dụng dlib, một thư viện mã nguồn mở khác cho việc cài đặt hệ thống Dlib được tạo ra từ 2002 bởi tác giả Davis King, được viết trên ngôn ngữ lập trình C++

Khác với mục đích của OpenCV là cung cấp hạ tầng thuật toán cho các ứng dụng

xử lý ảnh và thị giác máy tính, dlib được thiết kế cho các ứng dụng máy học và trí tuệ nhân tạo với các thư viện con chính như sau:

Classification: các kỹ thuật phân lớp chủ yếu dựa trên hai phương pháp cơ sở là kNN và SVM

- Data transformation: các thuật toán biến đổi dữ liệu nhằm giảm số chiều, loại

bỏ các dữ liệu dư thừa và tăng cường tính khác biệt (discriminant) của các đặc điểm được giữ lại

- Clustering: các kỹ thuật phân cụm

- Regression: các kỹ thuật hồi qui

- Structure prediction: các thuật toán dự đoán có cấu trúc

- Markov Random Fields: các thuật toán dựa trên các trường Markov ngẫu

nhiên

Cụ thể trong bài này, phần phát hiện khuôn mặt người một cách tự động sẽ được

Ngày đăng: 21/08/2022, 21:47

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