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

đề tài 10 xây dựng hệ thống nhận dạng khuôn mặt sử dụng opencv

18 0 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

Tiêu đề Xây Dựng Hệ Thống Nhận Dạng Khuôn Mặt Sử Dụng Opencv
Tác giả Lê Bá Long, Ngô Xuân Sơn, Hoàng Đình Trường, Đoàn Văn Đức, Đỗ Thị Mai
Trường học Trường Đại Học Công Nghệ Đông Á
Chuyên ngành Trí Tuệ Nhân Tạo
Thể loại Bài Tập Lớn
Năm xuất bản 2024
Thành phố Bắc Ninh
Định dạng
Số trang 18
Dung lượng 144 KB

Nội dung

Partially Observable Quan sát một phần:Nếu tác nhân có thể nhận được toàn bộ thông tin về trạng thái của môi trường thông qua các cảm biến của nó, môi trường được xem là quan sát hoàn

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á

KHOA CÔNG NGHỆ THÔNG TIN

BÀI TẬP LỚNHỌC PHẦN: TRÍ TUỆ NHÂN TẠO

SỬ DỤNG OPENCV

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

KHOA: CÔNG NGHỆ THÔNG TIN

BÀI TẬP LỚNHỌC PHẦN: TRÍ TUỆ NHÂN TẠO

SỬ DỤNG OPENCV

STTSinh viên thực hiệnMã sinh

viênĐiểm bằng số Điểm bằng chữ 1Lê Bá Long 20212455

2Hoàng Đình Trường 20212613

5 Đoàn Văn Đức 20213888 CÁN BỘ CHẤM 1

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

CÁN BỘ CHẤM 2

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

Trang 3

MỤC LỤC

(Trình bầy trong trang riêng)

Contents

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

Trang 4

DANH MỤC CÁC TỪ VIẾT TẮT (Nếu có)

(trình bầy trong trang riêng)

123

Trang 5

LỜI NÓI ĐẦU

Trong thời đại Cách mạng Công nghệ 4.0, trí tuệ nhân tạo (AI) đang len lỏi vào mọi ngóc ngách của cuộc sống, từ các ứng dụng ngân hàng cho phép chúng ta gửi séc bằng hình ảnh đến các trợ lý ảo như Siri, Bixby trên thiết bị di động của Apple hay Samsung… Khắp nơi, truyền thông rầm rộ đưa tin về những tác động to lớn mà AI đem đến cho kinh tế, xã hội Tuy nhiên, vẫn luôn tồn tại hai quan điểm đối lập khi đánh giá về tác động của AI

Phe ủng hộ cho rằng AI sẽ đem lại những bước đi thần tốc đối với sự phát triển của thế giới, trong khi đó bên còn lại với đại diện là những “ông trùm” của làng công nghệ như Elon Musk… lại lo ngại AI chính là mối đe doạ kinh hoàng mà nhân loại phải đối mặt trong thế kỉ này Mỗi ngày qua đi, AI vẫn tiếp tục phát triển một cách nhanh chóng, là lĩnh vực được các cường quốc đầu tư mạnh mẽ và cũng là vấn đề thu hút giới nghiên cứu khắp nơi trên thế giới Từ những góc nhìn khác nhau, người ta hi vọng vào tiềm năng to lớn của AI nhưng cũng không ngừng lo ngại những nguy cơ tiêu cực mà AI mang lại

Vậy trí tuệ nhân tạo là gì? Trí tuệ nhân tạo (thường được dùng với từ viết tắt là AI - Artificial Intelligence) 114 trước hết được định nghĩa là “trí tuệ phát sinh bởi máymóc, đối lập với trí tuệ tự nhiên phát sinh bởi con người và các loài vật” Theo đó khái niệm trí tuệ nhân tạo được áp dụng khi máy móc bắt chước được các chức năng lý trí gắn với trí tuệ con người

Trang 6

Danh sách thành viên và phân công công việc từng thành viên trong nhóm

Lê Bá Long Nhóm trưởng - hỗ trợ làm code

- hỗ trợ làm word- làm slide thuyết trình

- phân công công việc

- theo dõi tiến độ của nhóm

Ngô Xuân Sơn Thành viên - code chínhHoàng Đình Trường Thành viên - làm báo cáo

- hỗ trợ làm slideĐỗ Thị Mai Thành viên - làm báo cáo

- hỗ trợ làm slide

-Hỗ trợ code

Trang 7

Phần A: Cơ sở lý thuyết (2 điểm)1 Tóm tắt nội dung 1 chương trong tài liệu tham khảo môn học: “Artificial

Intelligence A Modern Approach - Third Edition - Stuart J Russell and PeterNorvig - Pearson Education, Inc, 2010”

1 Khái niệm về tác nhân- Định nghĩa: Tác nhân (agent) là một thực thể có khả năng nhận thức môi trường xungquanh qua các cảm biến (sensors) và tác động lại môi trường qua các cơ cấu chấp hành(actuators) Tác nhân có thể là một phần mềm, một hệ thống máy tính, hoặc một robot trong thế giới vật lý

- Ví dụ: - Một robot sử dụng camera để nhìn môi trường xung quanh và động cơ để di chuyển - Một phần mềm trên máy tính có thể thu thập dữ liệu từ Internet và trả lời câu hỏi của người dùng

2 Agent Function và Agent Program- Agent Function (Hàm tác nhân): Là một ánh xạ từ lịch sử cảm nhận (percept sequence) của tác nhân vào hành động tương ứng (action) Đây là một ánh xạ toán học,định nghĩa cái mà tác nhân cần làm trong mọi hoàn cảnh có thể

- Agent Program (Chương trình tác nhân): Là hiện thực của Agent Function, được triển khai trên phần cứng (kiến trúc) của tác nhân Nó quyết định hành động của tác nhân dựa trên các cảm nhận hiện tại

3 Môi trường và các thuộc tính- Môi trường: Là thế giới xung quanh nơi tác nhân hoạt động Tác nhân tương tác với môi trường qua cảm biến và cơ cấu chấp hành

- Các thuộc tính của môi trường:- Fully Observable (Quan sát hoàn toàn) vs Partially Observable (Quan sát một phần):Nếu tác nhân có thể nhận được toàn bộ thông tin về trạng thái của môi trường thông qua các cảm biến của nó, môi trường được xem là quan sát hoàn toàn Ngược lại, nếu tác nhân chỉ nhận được một phần thông tin, môi trường là quan sát một phần

- Deterministic (Quyết định) vs Stochastic (Ngẫu nhiên): Môi trường quyết định là môi trường trong đó hành động của tác nhân dẫn đến một kết quả xác định Nếu kết quả có thể thay đổi ngẫu nhiên, môi trường là ngẫu nhiên

- Episodic (Tập tin) vs Sequential (Tuần tự): Trong môi trường tập tin, trải nghiệm của tác nhân có thể chia thành các tập tin độc lập, trong khi ở môi trường tuần tự, các hành động hiện tại có thể ảnh hưởng đến các trải nghiệm trong tương lai

- Static (Tĩnh) vs Dynamic (Động): Môi trường tĩnh không thay đổi khi tác nhân đang quyết định hành động, trong khi môi trường động có thể thay đổi trong quá trình tác nhân đưa ra quyết định

- Discrete (Rời rạc) vs Continuous (Liên tục): Nếu số lượng các hành động hoặc cảm nhận là hữu hạn, môi trường là rời rạc Ngược lại, môi trường là liên tục nếu các trạng thái hoặc hành động là vô hạn hoặc liên tục

- Single Agent (Đơn tác nhân) vs Multi-agent (Đa tác nhân): Một môi trường đơn tác nhân chỉ có một tác nhân, còn môi trường đa tác nhân bao gồm nhiều tác nhân tương tác lẫn nhau

4 Cấu trúc và loại tác nhân- Simple Reflex Agents (Tác nhân phản xạ đơn giản):

Trang 8

- Tác nhân này hoạt động dựa trên quy tắc điều kiện-hành động (condition-action rules) như "Nếu cảm nhận X thì hành động Y" Tác nhân này không cần nhớ về quá khứ hoặc dự đoán tương lai.

- Ví dụ: Một bộ điều chỉnh nhiệt độ bật máy sưởi khi nhiệt độ giảm dưới một mức nhấtđịnh

- Model-Based Reflex Agents (Tác nhân phản xạ dựa trên mô hình):- Ngoài việc sử dụng quy tắc điều kiện-hành động, tác nhân này còn duy trì trạng thái bên trong của môi trường để đưa ra quyết định Mô hình này giúp tác nhân xử lý các môi trường mà không thể quan sát hoàn toàn

- Ví dụ: Robot hút bụi có thể giữ thông tin về những khu vực đã được dọn sạch để không dọn dẹp lại

- Goal-Based Agents (Tác nhân dựa trên mục tiêu):- Tác nhân này đưa ra hành động dựa trên việc đạt được một hoặc nhiều mục tiêu cụ thể Tác nhân phải tìm kiếm hành động hoặc chuỗi hành động để đạt được mục tiêu.- Ví dụ: Một hệ thống GPS tìm kiếm con đường tốt nhất để đi từ điểm A đến điểm B.- Utility-Based Agents (Tác nhân dựa trên giá trị sử dụng):

- Thay vì chỉ đơn giản đạt được mục tiêu, tác nhân này sử dụng hàm giá trị (utility function) để đánh giá các trạng thái và đưa ra hành động nhằm tối đa hóa giá trị sử dụng Điều này giúp tác nhân đưa ra quyết định tốt hơn khi có nhiều cách để đạt được mục tiêu nhưng với mức độ khác nhau

- Ví dụ: Một hệ thống quản lý tài chính tìm cách tối đa hóa lợi nhuận trong khi giảm thiểu rủi ro

- Learning Agents (Tác nhân học tập):- Tác nhân học tập có khả năng cải thiện hiệu suất của mình qua thời gian bằng cách học hỏi từ kinh nghiệm Nó bao gồm bốn thành phần chính: bộ học tập (learning element), bộ hiệu chỉnh (performance element), bộ phê phán (critic), và bộ sinh vấn đề(problem generator)

- Ví dụ: Một phần mềm nhận dạng giọng nói cải thiện độ chính xác bằng cách học từ các lỗi đã mắc phải

5 Thiết kế tác nhân- Yếu tố cần xem xét: Thiết kế một tác nhân hiệu quả đòi hỏi phải xem xét các yếu tố như môi trường mà tác nhân sẽ hoạt động, các mục tiêu cần đạt được, và cách đo lường sự thành công của tác nhân

- Tích hợp các loại tác nhân: Các loại tác nhân có thể được kết hợp để tạo ra các hệ thống phức tạp hơn Ví dụ, một tác nhân có thể vừa là utility-based vừa là goal-based, vừa có khả năng học tập

Chương này đặt nền tảng lý thuyết cho việc xây dựng các hệ thống trí tuệ nhân tạo bằng cách giải thích các loại tác nhân khác nhau và các yếu tố môi trường mà chúng hoạt động Những kiến thức này là cơ sở cho việc nghiên cứu và phát triển các hệ thống AI có thể hoạt động hiệu quả trong nhiều loại môi trường khác nhau

2 Tìm hiểu thuật toán tìm kiếm theo chiều sâu có hạn và tìm kiếm sâu dần So sánhưu, nhược điểm với thuật toán tìm kiếm theo chiều sâu.

1 Thuật toán Tìm kiếm Theo Chiều Sâu Có Hạn (Depth-Limited Search - DLS)a Mô tả:

Trang 9

- Thuật toán Tìm kiếm Theo Chiều Sâu Có Hạn (DLS) là một biến thể của thuật toán Tìm kiếm Theo Chiều Sâu (Depth-First Search - DFS) với một giới hạn độ sâu được xác định trước Tại mỗi nút, thuật toán sẽ mở rộng các nút con và tiếp tục tìm kiếm chođến khi đạt tới độ sâu giới hạn Nếu nút mục tiêu không nằm trong phạm vi này, thuật toán sẽ dừng lại.

b Ưu điểm:- Tránh lặp vô hạn: Giới hạn độ sâu giúp tránh trường hợp thuật toán bị rơi vào vòng lặp vô hạn trong các không gian tìm kiếm vô hạn

- Sử dụng bộ nhớ hiệu quả: DLS chỉ lưu trữ các nút trên đường dẫn hiện tại, nên yêu cầu ít bộ nhớ hơn so với các thuật toán như Tìm kiếm Theo Chiều Rộng (Breadth-FirstSearch - BFS)

c Nhược điểm:- Không đảm bảo tìm ra giải pháp: Nếu nút mục tiêu nằm ngoài độ sâu giới hạn, DLS sẽ không tìm thấy nó

- Không tối ưu: Giải pháp có thể không phải là tối ưu nếu có nhiều giải pháp tồn tại ở các độ sâu khác nhau

2 Thuật toán Tìm kiếm Sâu Dần (Iterative Deepening Search - IDS)a Mô tả:

- Thuật toán Tìm kiếm Sâu Dần (IDS) là một phương pháp kết hợp giữa DFS và BFS IDS thực hiện các lần tìm kiếm theo chiều sâu với giới hạn độ sâu tăng dần Bắt đầu từđộ sâu 0, thuật toán lặp lại quá trình tìm kiếm theo chiều sâu với độ sâu tăng dần cho đến khi tìm thấy giải pháp hoặc không còn nút nào để mở rộng

b Ưu điểm:- Đảm bảo tìm thấy giải pháp: IDS có khả năng tìm ra giải pháp nếu nó tồn tại, giống như BFS, nhưng với yêu cầu bộ nhớ ít hơn

- Giải pháp tối ưu: Nếu có nhiều giải pháp, IDS sẽ tìm ra giải pháp ở độ sâu nhỏ nhất, giống như BFS

c Nhược điểm:- Thời gian có thể kéo dài: IDS có thể tốn thời gian hơn do phải lặp lại tìm kiếm nhiều lần từ độ sâu 0 đến độ sâu hiện tại

3 So sánh với Thuật toán Tìm kiếm Theo Chiều Sâu (DFS)a Ưu điểm của DFS:

- Sử dụng bộ nhớ hiệu quả: DFS sử dụng ít bộ nhớ hơn so với BFS và đôi khi cả IDS, vì nó chỉ lưu trữ đường dẫn từ gốc đến nút hiện tại

- Dễ triển khai: DFS là một trong những thuật toán tìm kiếm đơn giản và dễ triển khai nhất

b Nhược điểm của DFS:- Không tối ưu: DFS có thể không tìm ra giải pháp tối ưu, đặc biệt là nếu có nhiều giải pháp ở các độ sâu khác nhau

- Lặp vô hạn: DFS có thể bị rơi vào vòng lặp vô hạn trong không gian tìm kiếm vô hạnhoặc chứa các chu trình

4 So sánh giữa DLS, IDS và DFS:- Giới hạn độ sâu (DLS): DLS có ưu điểm trong việc tránh lặp vô hạn và tiết kiệm bộ nhớ, nhưng không đảm bảo tìm ra giải pháp nếu giới hạn độ sâu không được chọn hợp lý

- Tìm kiếm Sâu Dần (IDS): IDS là sự kết hợp của DLS và BFS, giúp đảm bảo tìm kiếm toàn diện và giải pháp tối ưu với chi phí thời gian cao hơn IDS yêu cầu ít bộ nhớhơn BFS và tránh được vòng lặp vô hạn so với DFS

Trang 10

- Tìm kiếm Theo Chiều Sâu (DFS): DFS là thuật toán đơn giản, dễ triển khai, nhưng không đảm bảo tìm kiếm toàn diện hoặc tối ưu và có thể gặp vấn đề với vòng lặp vô hạn

Tóm lại, DLS và IDS khắc phục một số nhược điểm của DFS, nhưng sự lựa chọn giữa các thuật toán này phụ thuộc vào đặc điểm cụ thể của bài toán, chẳng hạn như kích thước không gian tìm kiếm và yêu cầu về tối ưu hóa bộ nhớ và thời gian

a Tìm hiểu thuật toán Gen Đánh giá độ phức tạp của thuật toán 1 Thuật toán Di truyền (Genetic Algorithm - GA)

a Mô tả Thuật toán:Thuật toán Di truyền (Genetic Algorithm - GA) là một phương pháp tối ưu hóa và tìm kiếm dựa trên các nguyên tắc chọn lọc tự nhiên của quá trình tiến hóa sinh học GA mô phỏng quá trình tiến hóa bằng cách xử lý một quần thể các cá thể (lời giải tiềm năng) và thực hiện các phép toán di truyền như lai ghép (crossover), đột biến (mutation), và chọn lọc (selection) để dần dần tiến hóa các cá thể đến lời giải tốt hơn.Các bước chính của GA:

1 Khởi tạo quần thể: Bắt đầu với một tập hợp các cá thể ngẫu nhiên hoặc do người dùng định nghĩa

2 Đánh giá (Evaluation): Tính toán giá trị hàm fitness cho mỗi cá thể để đánh giá chất lượng của chúng

3 Chọn lọc (Selection): Chọn các cá thể tốt nhất để tham gia vào quá trình sinh sản Các phương pháp chọn lọc phổ biến bao gồm chọn lọc tỷ lệ (Roulette Wheel

Selection), chọn lọc giải đấu (Tournament Selection).4 Lai ghép (Crossover): Kết hợp các cặp cá thể để tạo ra thế hệ con cái mới Quá trìnhnày thường kết hợp một số đặc điểm của hai cá thể cha mẹ

5 Đột biến (Mutation): Thay đổi ngẫu nhiên một phần của cá thể để duy trì đa dạng di truyền trong quần thể

6 Thay thế (Replacement): Thay thế các cá thể cũ bằng các cá thể con được tạo ra từ quá trình lai ghép và đột biến

7 Lặp lại: Quay lại bước 2 và lặp lại cho đến khi đạt tiêu chí dừng (số thế hệ cố định, đạt đến mức độ hàm fitness nhất định, v.v.)

b Đánh giá Độ phức tạp của Thuật toán:1 Độ phức tạp thời gian:

- Độ phức tạp thời gian của GA phụ thuộc vào: - Kích thước quần thể (P): Số lượng cá thể trong mỗi thế hệ.- Số thế hệ (G): Số lần lặp của thuật toán

- Chi phí tính toán hàm fitness (f): Độ phức tạp của việc tính toán hàm fitness cho mỗi cá thể

- Độ phức tạp thời gian của GA có thể ước tính là: [O(PxG xf)]

Trong đó, P là kích thước quần thể, G là số thế hệ, và f là độ phức tạp tính toán hàm fitness Điều này có nghĩa là nếu quần thể lớn và số thế hệ cao, thời gian tính toán có thể tăng lên đáng kể

2 Độ phức tạp không gian:- Độ phức tạp không gian: - GA yêu cầu lưu trữ toàn bộ quần thể, tức là lưu trữ thông tin về tất cả các cá thể trongquần thể, cũng như các cấu trúc dữ liệu cần thiết cho quá trình tính toán fitness, lưu trữcon cái, v.v

- Độ phức tạp không gian:

Trang 11

[O(Px|hromosome|)] Trong đó, |chromosome| là kích thước của một cá thể (số lượng biến hoặc chiều dài của mã gen).

c Ưu điểm:- Tìm kiếm trong không gian lớn: GA rất hiệu quả trong việc tìm kiếm các giải pháp trong không gian rất lớn và phức tạp

- Khả năng tránh cực trị cục bộ: GA có khả năng tránh rơi vào cực trị cục bộ, một vấn đề phổ biến trong các thuật toán tối ưu hóa truyền thống

- Đa dạng giải pháp: Do tính chất ngẫu nhiên của quá trình chọn lọc và đột biến, GA có thể cung cấp nhiều giải pháp tiềm năng khác nhau cho cùng một vấn đề

d Nhược điểm:- Yêu cầu tính toán cao: GA có thể yêu cầu nhiều tài nguyên tính toán, đặc biệt khi kích thước quần thể lớn hoặc số thế hệ cao

- Không đảm bảo tìm ra giải pháp tối ưu tuyệt đối: GA có thể hội tụ vào một giải pháp khá tốt, nhưng không đảm bảo đó là giải pháp tối ưu tuyệt đối

- Phụ thuộc vào tham số: Hiệu quả của GA phụ thuộc nhiều vào các tham số như kích thước quần thể, tỷ lệ lai ghép, tỷ lệ đột biến, v.v Việc điều chỉnh những tham số này có thể phức tạp và cần thử nghiệm nhiều lần

Tóm lại:Thuật toán di truyền là một công cụ mạnh mẽ trong tối ưu hóa và tìm kiếm, đặc biệt trong các không gian tìm kiếm phức tạp và rộng lớn Tuy nhiên, nó đi kèm với chi phí tính toán cao và yêu cầu điều chỉnh tham số cẩn thận để đạt được hiệu suất tối ưu

2 Tìm hiểu và đánh giá độ phức tạp của thuật toán DFS, BFS, A*3.1 Thuật Toán

DFS (Depth-First Search)Mô Tả: DFS là một thuật toán tìm kiếm cây hoặc đồ thị bắt đầu từ một đỉnh gốc và khám phá càng sâu càng tốt trước khi quay lại.Độ Phức Tạp Thời Gian:

3 Đồ thị có VVV đỉnh và EEE cạnh:Trong trường hợp tệ nhất, DFS sẽ duyệt qua tất cả các đỉnh và cạnh một lần.Độ phức tạp thời gian: O(V+E)O(V + E)O(V+E)

Độ Phức Tạp Không Gian: Tập hợp đỉnh được lưu trữ: Lưu trữ các đỉnh đã thăm và trạng thái của chúng

Ngăn xếp (stack) để lưu trữ các đỉnh hiện tại: Trong trường hợp tệ nhất, đỉnh có thể được lưu trữ trong ngăn xếp

Độ phức tạp không gian: O(V)O(V)O(V)Ưu Điểm và Nhược Điểm:

Ưu điểm: DFS dễ dàng cài đặt, phù hợp cho các bài toán cần khám phá toàn bộ cây hoặc đồ thị (như tìm chu trình, các thành phần liên thông)

Nhược điểm: DFS không đảm bảo tìm được giải pháp ngắn nhất trong đồ thị có trọng số Có thể tiêu tốn nhiều bộ nhớ nếu độ sâu của đồ thị rất lớn

3.2 Thuật Toán BFS (Breadth-First Search)Mô Tả: BFS là một thuật toán tìm kiếm cây hoặc đồ thị bắt đầu từ một đỉnh gốc và khám phá tất cả các đỉnh ở mức độ hiện tại trước khi chuyển đến các mức độ tiếp theo

Độ Phức Tạp Thời Gian:Đồ thị có VVV đỉnh và EEE cạnh:BFS duyệt qua tất cả các đỉnh và cạnh một lần.Độ phức tạp thời gian: O(V+E)O(V + E)O(V+E)

Ngày đăng: 23/09/2024, 10:06

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

TÀI LIỆU LIÊN QUAN

w