1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo bài tập lớn môn thị giác máy tính đề tài thực hiện sign language recognition on the topicbreakfast

37 10 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 đề Sign language recognition on the topic "Breakfast"
Tác giả Ngô Thế Cao Sơn, Nguyễn Khắc Quang, Đoàn Văn Tâm
Người hướng dẫn Nguyễn Văn Tới
Trường học Trường Đại Học Phenikaa
Chuyên ngành Thị Giác Máy Tính
Thể loại Báo cáo bài tập lớn
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 37
Dung lượng 1,39 MB

Cấu trúc

  • Chương 1: Tổ ng quan (3)
  • Chương 2: Nề n t ả ng và công ngh ệ (5)
  • Chương 3: Thu th ậ p và chu ẩ n b ị d ữ li ệ u (19)
  • Chương 4: Xây d ự ng mô hình nh ậ n d ạ ng c ử ch ỉ tay (25)
  • Chương 5: Ứ ng d ụ ng th ự c t ế và k ế t qu ả (35)
  • Chương 6: Tài liệ u tham kh ỏ a (36)
  • Chương 7: Phụ l ụ c (36)

Nội dung

Giới thiệu Dự án "Sign language recognition" là một ứng dụng thú vị trong lĩnh vực xử lý dữ liệu thị giác và nhận biết cử chỉ bằng tay.. Dự án này chúng tôi sử dụng hai công nghệ chính:

Tổ ng quan

Dự án "Sign language recognition" là một ứng dụng thú vịtrong lĩnh vực xử lý dữ liệu thị giác và nhận biết cử chỉ bằng tay Dự án này chúng tôi sử dụng hai công nghệ chính: MediaPipe một framework mạnh mẽ của Google cho việc xử lý dữ liệu thị giác và âm thanh, và (SVM) một thuật toán học máy để phân loại và nhận biết cử chỉ từ dữ liệu bàn tay

Trong dự án này, chúng tôi sử dụng MediaPipe để trích xuất thông tin vị trí và cử chỉ từ tay trong thời gian thực MediaPipe đã xây dựng sẵn giải pháp nhận diện và theo dõi bàn tay, cho phép chúng ta xác định các điểm quan trọng trên tay và theo dõi chuyển động của nó

Sau khi chúng ta có thông tin cử chỉ từ bàn tay, chúng ta sử dụng SVM để phân loại các cử chỉ cụ thể SVM là một thuật toán học máy phân loại, cho phép chúng ta dựđoán hoặc nhận biết cử chỉ dựa trên dữ liệu đầu vào từ MediaPipe Ứng dụng của dự án có thể rất đa dạng, từ việc tạo ra ứng dụng nhận dạng ngôn ngữ ký hiệu cho người điếc đến việc điều khiển thiết bị bằng cử chỉ tay trong thời gian thực Dự án " Sign language recognition" thể hiện sự kết hợp giữa các công nghệ thú vịđể tạo ra các ứng dụng thông minh và sáng tạo trong lĩnh vực xử lý dữ liệu thị giác

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

Có một số lý do quan trọng để chúng tôi chọn đề tài " Sign language recognition

" (Nhận dạng ngôn ngữ ký hiệu): Ứng dụng trong thế giới thực: Nhận biết cử chỉ bằng tay là một khía cạnh quan trọng của giao tiếp con người-máy tính và tương tác người dùng trong thế giới thực Điều này có thể được áp dụng rộng rãi trong nhiều lĩnh vực, bao gồm y tế, giáo dục, và công nghiệp

Hỗ trợcho người khuyết tật: Công nghệ nhận biết cử chỉ bằng tay có thể cung cấp giải pháp cho người khuyết tật, đặc biệt là người điếc, đểtương tác với máy tính và các thiết bịdi động Điều này có thể tạo ra một môi trường thân thiện và truy cập hơn cho tất cả mọi người

Tích hợp và điều khiển thiết bị: Nhận biết cử chỉ bằng tay có thể giúp người dùng điều khiển và tương tác với các thiết bị và ứng dụng một cách trực quan và hiệu quả Ví dụ, bạn có thể dùng cử chỉ bằng tay để điều khiển trình phát truyền hình hoặc thiết bịđiều hòa nhiệt độ

Nghiên cứu và phát triển: Lĩnh vực nhận biết cử chỉ bằng tay đang phát triển mạnh mẽ, và nó là một thách thức thú vị cho các nhà nghiên cứu và phát triển Điều này thúc đẩy sự sáng tạo trong việc phát triển các giải pháp và ứng dụng mới

Sự phổ biến của các công nghệ liên quan: Cả MediaPipe và các thuật toán học máy như SVM đã trở nên dễ dàng truy cập và phát triển Điều này giúp dự án nhận biết cử chỉ bằng tay trở nên thú vị và khả thi cho nhiều người

Như vậy, việc chọn đề tài "Sign language recognition " không chỉ mang tính thực tiễn mà còn đóng góp cho việc xây dựng các ứng dụng sáng tạo và hữu ích trong cuộc sống hàng ngày và cả lĩnh vực nghiên cứu

Mục tiêu chính của đề tài " Sign language recognition " là phát triển hệ thống nhận biết và nhận dạng các cử chỉ bằng tay dựa trên các công nghệ thị giác máy tính và học máy:

Nhận dạng Các Cử Chỉ Bằng Tay: Xây dựng một hệ thống có khả nhận dạng các cử chỉ bằng tay phổ biến Trong phạm vi dự án này chúng tôi sẽ dừng ở 10 cử chỉ mô tả bữa ăn sáng.

Tích Hợp MediaPipe: Sử dụng MediaPipe để trích xuất thông tin từ hình ảnh hoặc video, bao gồm việc xác định vị trí và cử chỉ của bàn tay Đây là công cụ sẽ đóng vai trò quan trọng trong việc lấy dữ liệu đầu vào cho hệ thống nhận dạng

Sử Dụng SVM: Để phân loại và nhận dạng các cử chỉ từ dữ liệu đầu vào từ

MediaPipe Huấn luyện mô hình dựa trên tập dữ liệu mà nhóm thu thập Đánh Giá Hiệu Suất: Đánh giá hiệu suất của hệ thống bằng cách đo đạc khả năng nhận biết và nhận dạng cử chỉ bằng tay Điều này giúp xác định độ chính xác và hiệu suất tổng thể của hệ thống

Nghiên Cứu và Phát Triển Tiếp: Tìm hiểu và phát triển mô hình, sao cho tối ưu nhất Tăng phần trăm khả năng nhận dạng cử chỉ

Mục tiêu của dự án này là tạo ra một hệ thống mạnh mẽ và linh hoạt có thể được tích hợp vào nhiều ứng dụng.

Nề n t ả ng và công ngh ệ

MediaPipe là một Framework để xây dựng các đường ống học máy để xử lý dữ liệu chuỗi thời gian như video, âm thanh, v.v Framework đa nền tảng này hoạt động trên Desktop / Server, Android, iOS và các thiết bịnhúng như Raspberry

Bộ công cụ MediaPipe bao gồm Framework và các Solutions (giải pháp) Sơ đồ sau đây cho thấy các thành phần của Bộ công cụ MediaPipe

Framework được viết bằng C ++, Java và Obj-C, bao gồm các API sau

-API xây dựng đồ thị (Protobuf)

-API thực thi đồ thị (C ++, Java, Obj-C)

Quy trình nhận dạng của MediaPipe được gọi là Graph Ví dụ:chúng tôi cung cấp một hình ảnh bàn tay làm đầu vào, kết quả đi ra với các mốc tay được hiển thị trên hình ảnh

Hình 2: Kết quả sau khi MediaPipe nhận dạng

Biểu đồdưới đây đại diện cho đồ thị giải pháp Hands MP (viết tắt của

Hình 3: đồ thị giải pháp Hands MediaPipe

Trong ngôn ngữ học máy tính, một đồ thị bao gồm các Nút được kết nối bởi các

Cạnh Trong đồ thị giải pháp MediaPipe, các nút được gọi là Calculators (bộ tính toán), và các cạnh được gọi là Streams (luồng dữ liệu) Mỗi luồng dữ liệu chứa một chuỗi các Gói dữ liệu có thời gian tăng dần

Trong hình ảnh ở trên, chúng tôi đã biểu diễn các Calculators bằng các khối hình chữ nhật và Streams bằng các mũi tên

MediaPipe Calculators Đây là các đơn vị tính toán cụ thểđược viết bằng C++ với các nhiệm vụđược gán để xử lý Các gói dữ liệu (khung hình video hoặc đoạn âm thanh) đi vào và ra thông qua các cổng trên một calculator Khi khởi tạo một calculator, nó xác định kiểu dữ liệu của gói dữ liệu sẽđi qua cổng Mỗi khi một đồ thị chạy,

Framework thực hiện các phương thức Open, Process và Close trong các calculators Phương thức Open khởi tạo calculator; quá trình chạy lặp đi lặp lại khi một gói dữ liệu đi vào Quá trình này kết thúc sau khi một lần chạy đồ thị hoàn tất

Ví dụ, hãy xem xét calculator đầu tiên được hiển thị trong đồ thịở trên

Calculator, ImageTransform, nhận một hình ảnh tại cổng nhập và trả về một hình ảnh đã được biến đổi tại cổng xuất Trong khi đó, calculator thứ hai,

ImageToTensor, nhận một hình ảnh làm đầu vào và xuất ra một tensor

Các giải pháp là các ví dụđược xây dựng sẵn dựa trên một mô hình TensorFlow hoặc TFLite đã được huấn luyện cụ thể Bạn có thể kiểm tra các mô hình cụ thể cho từng giải pháp ởđây Các giải pháp của MediaPipe được xây dựng dựa trên Framework Hiện tại, nó cung cấp mười sáu giải pháp, được liệt kê dưới đây.

Như đã nói ở trên nó hoạt động bằng cách kết hợp một loạt các giải pháp và tích hợp chúng để giúp xử lý và hiểu dữ liệu từ các nguồn như video, hình ảnh, âm thanh, và nhiều loại dữ liệu thịgiác và âm thanh khác nhau Dưới đây là cách hoạt động cơ bản của MediaPipe:

-Định dạng dữ liệu đầu vào: MediaPipe có khả năng xử lý nhiều loại dữ liệu đầu vào, chẳng hạn như video, hình ảnh, luồng video từ camera, dữ liệu âm thanh,

-Chọn và tùy chỉnh giải pháp: Chúng ta chọn một hoặc nhiều giải pháp đã được xây dựng sẵn bởi MediaPipe (ví dụ: nhận diện khuôn mặt, theo dõi tay, nhận dạng âm thanh, v.v.) dựa trên nhiệm vụ cụ thể Mỗi giải pháp là một mô hình máy học đã được huấn luyện để thực hiện một tác vụ cụ thể

-Kết nối các giải pháp: Bạn có thể kết hợp các giải pháp lại với nhau trong một đồ thị(graph) Đồ thị này chỉđịnh cách dữ liệu chuyển từ một giải pháp sang giải pháp khác, cho phép bạn xử lý dữ liệu qua nhiều bước liên tiếp

-Tiền xử lý và xử lý chính: Mỗi giải pháp hoạt động dựa trên mô hình máy học hoặc thuật toán riêng, tiền xử lý dữ liệu đầu vào và trả ra kết quả sau khi xử lý

-Tích hợp với ứng dụng: Kết quả từ các giải pháp có thểđược tích hợp vào ứng dụng của bạn, cho phép bạn hiển thị thông tin xử lý hoặc thực hiện hành động dựa trên dữ liệu đầu ra

-Triển khai trên nhiều nền tảng: MediaPipe hỗ trợ triển khai trên nhiều nền tảng, bao gồm máy tính, thiết bị di động và web

MediaPipe giúp đơn giản hóa việc phát triển các ứng dụng liên quan đến thị giác và âm thanh bằng cách cung cấp các giải pháp và cơ sở hạ tầng đã được xây dựng sẵn, từ việc xử lý dữ liệu đầu vào đến việc trình bày kết quả cho người dùng cuối

4 Kết luận và nhược điểm

MediaPipe là một framework mạnh mẽ phát triển bởi Google, được thiết kếđể giúp xây dựng các ứng dụng và dự án xử lý dữ liệu thịgiác và âm thanh Dưới đây là một sốđiểm kết luận về MediaPipe:

-Đa nhiệm và đa dạng: MediaPipe hỗ trợ xử lý nhiều loại dữ liệu đầu vào, chẳng hạn như video, hình ảnh, luồng video từ camera, dữ liệu âm thanh, và nhiều dạng dữ liệu thịgiác và âm thanh khác Điều này giúp bạn xây dựng ứng dụng đa dạng và đa nhiệm

Thu th ậ p và chu ẩ n b ị d ữ li ệ u

I Thu thập dữ liệu về cử chỉ tay

Thu nhập dữ liệu là một bước quan trọng trong quá trình phát triển, và nó đóng vai trò quan trọng trong việc huấn luyện mô hình nhận diện cử chỉ tay

Trong mô hình nhận dạng này, chúng tôi lựa chọn phương pháp quay video trực tiếp bằng điện thoại để xây dựng bộcơ sở dữ liệu

Do thiếu hụt nhân lực trong khi quay video, nên nhóm ghi dữ liệu chỉ bao gồm

3 thành viên trong nhóm (Quang , Tâm , Sơn).

II Ghi dữ liệu video

Vì mô hình chúng tôi dựđịnh sử dụng sẽ là trích xuất khung xương 2 tay sau đó kết hợp mô hình SVM để huấn luyện nên trong quá trình ghi lại dữ liệu , chúng tôi tập trung thu sắc nét 2 tay, không cần rõ mặt

Chúng tôi thu tổng 10 video cử chỉ mỗi người

III Xử lý dữ liệu và chuẩn bị cho huấn luyện

Khi có được bộ video, chúng tôi bắt đầu trích xuất frames từ video để xử lý

Hình 12: Quá trình trích xuất frame từ video

Với đoạn code trên với folder “xoi”, trong folder này chứa 3 video về cử chỉ

“xoi” của 3 người, tương ứng như vậy chúng tôi có 10 folder tương ứng với 10 cử chỉ Đoạn code trên sẽ chạy qua từng video trong folder, với mỗi video nó sẽ chạy đến 300 frame, lớn hơn 300 frame nó sẽ dừng lại, trong quá trình chạy cứ 2 frame chúng tôi lấy 1 frame, vì vậy khi chạy đến 300 frame chúng tôi sẽ lấy 150 frame Vậy lên mỗi video chúng tôi sẽ lấy 150 frame, 1 folder có 3 video chúng tôi sẽcó 450 frame, tương ứng với số lượn frame cho 1 cử chỉ

Tóm lại sau khi chúng tôi chạy xong 10 folder tương ứng với 10 cử chỉ sẽ có tổng là 450 x 10 = 4500 frame

Sau khi có các frames ( là các ảnh trích ra từ video ) chúng tôi xử dụng phương pháp gắn khung xương bằng MediaPipe rồi sau đó lấy ra tọa độ của các điểm làm input đầu vào cho mô hình huấn luyện

Hình 13.1: Quá trình gắn khung sương

Hình 13.2: Quá trình gắn khung sương

Hình 13.3: Quá trình gắn khung sương

Mỗi ảnh sẽ cho ra 42 điểm ( 21 điểm trên 1 tay) vs mỗi điểm sẽ có 3 giá trị x, y, z Đầu ra sẽ là vector gồm 127 giá trị, trong đó 126 giá trị là tọa độ x, y, z của

42 điểm tương ứng với bàn tay, còn 1 giá trị cuối cùng chính là giá trị label, giá trị label này chúng tôi lấy chính tên của folder chứa cử chỉđó đểđặt tên cho label Và được lưu vào trong file dataset.csv Ở quá trình gắn khung sương này, chúng tôi thực hiện bổ xung giá trị 0 cho những frame không đủ 42 điểm trên 2 bàn tay Hay nói cách khác với các vecter không đủ 126 giá trị x, y, z và 1 label là chúng tôi sẽ gán thêm giá trị 0

Hình 14: Skeleton của tay gồm 21 điểm quan trọng trên 1 bàn tay

Hình 15: Giá trị x, y, z của các 42 điểm trên 2 bàn tay

Vấn đề phát sinh, ban đầu chúng tôi chỉ tập trung thu dữ liệu 1 tay sau đó đưa vào xử lí , đối vs những cử chỉ có 2 tay thực hiện tương tự như nhau như

PHO,TRUNG, thì khi nhận diện kết quả cho ra khá tốt

Hình 16: Cử chỉ mô tả “PHO”

Nhưng đối vs các cử chỉ có 2 tay thực hiện không tương đối giống nhau như NUOC, BUN, CHAO,XOI, thì nhận diện không còn được tốt khi ta thực hiện tay không đúng dữ liệu huấn luyện

Hình 17: Cử chỉ mô tả“BANH_MI”

Vì vậy, chúng tôi đã phải tiến hành lại quá trình thu dữ liệu từ đầu vào, và ở đây mỗi động tác chúng tôi đều thu dữ liệu khi đổi tay

Hình 18: Cử chỉ mô tả “XOI”

Và vấn đềphát sinh đã được giải quyết khá ổn thỏa.

Xây d ự ng mô hình nh ậ n d ạ ng c ử ch ỉ tay

1 Chuẩn bị dữ liệu a) Sử dụng dữ liệu về cử chỉ tay đã thu thập từ Chương 3

Hình 19: Class chứa các frames tương ứng với các cử chỉ Đây là bộ dữ liệu đã thu thập ởchương 3 gồm 10 folder chứa các frame đã được gắn khung sương của 10 cử chỉ mô tả bữa ăn sáng b) Phân chia dữ liệu thành tập huấn luyện và tập kiểm tra

Hình 20: chia dữ liệu thành tập train và test

“X” là tập dữ liệu chứa các đặc trưng

“Y” là tập dữ liệu chứa nhãn muốn dự đoán hoặc phân loại

“test_size” là tỷ lệ muốn chia dữ liệu thành tập kiểm tra Trong trường hợp này, chúng tôi để test_size=0.2 ý muốn chia dữ liệu thành 80% cho tập huấn luyện và 20% cho tập kiểm tra

“random_state” là một giá trị sốnguyên, nó được sử dụng để cốđịnh một trạng thái ngẫu nhiên Ởđây chúng tôi để bằng 0 để mỗi lần chạy mã, phân chia dữ liệu sẽ luôn giống nhau Điều này vô cùng hữu ích đểđảm bảo tính nhất quán của kết quả mỗi khi chúng tôi thực hiện phân chia dữ liệu hoặc thực hiện các phép thử nghiệm trên mô hình

Khi chạy xong đoạn code trên chúng tôi sẽ có

“x_train”: Tập dữ liệu huấn luyện chứa các đặc trưng.

“x_test”: Tập dữ liệu kiểm tra chứa các đặc trưng.

“y_train”: Tập nhãn tương ứng với tập huấn luyện

“y_test”: Tập nhãn tương ứng với tập kiểm tra

Sau khi phân chia như ở trên xong, chúng tôi có thể sử dụng “x_train” và

“y_train” để huấn luyện mô hình SVM và sử dụng “x_test” để kiểm tra hiệu suất của mô hình

Hình 21: Lựa chọn SVM Classifier

Trong dự án chúng tôi sử dụng kiểu SVM (Kernel SVM) hay còn gọi là:”

Support Vector Machine with Radial Basis Function kernel (RBF kernel)”

“SVC” là viết tắt của "Support Vector Classification," đây là một loại SVM được sử dụng cho bài toán phân loại

“kernel='rbf' “ đặt loại hạt nhân là RBF (Radial Basis Function), đây là một trong những hạt nhân phổ biến được sử dụng trong SVM Hạt nhân RBF cho phép mô hình SVM tạo ra một ranh giới phi tuyến tính giữa các lớp dữ liệu Các siêu tham số khác bao gồm:

“C ”: Siêu tham số C quyết định mức độđiều chỉnh mức độ phân loại sai số Giá trị C càng cao, mô hình càng cố gắng phân loại mọi điểm dữ liệu một cách chính xác tại mức cực đại, có nguy cơ gây overfitting nếu không được điều chỉnh thích hợp

“gamma=0.5”: Siêu tham số gamma quyết định hình dạng của hạt nhân RBF Giá trị gamma càng cao, hạt nhân có độ cong càng lớn, có thể dẫn đến mô hình quá phức tạp

Do quá trình lấy từng frame trong video input, cứ 2 frame sẽ lấy 1 frame

Hình 22: Tách frame ra từ video

Chính vì các frame khá là xát nhau như vậy nên việc giống nhau của các frame giữa các động tác này với các động tác khác là không tránh khỏi Chính vì điều đó sau các lần điều chỉnh các tham số (C, gamma) chúng tôi đã quyết định để chúng là (C , gamma=0.5) Nó cho chúng tôi kết quả tương đối tốt

Sau khi phân chia, tập kiểm tra được lưu trong x_test (đặc trưng kiểm tra) và y_test (nhãn kiểm tra)

Mô hình SVM được huấn luyện bằng cách sử dụng tập huấn luyện (x_train và y_train):

Hình 23: SVM được huấn luyện

Sau đó, mô hình được sử dụng để dự đoán trên tập kiểm tra:

Cuối cùng, các phân tích và đánh giá hiệu suất của mô hình trên tập kiểm tra được thực hiện bằng cách tính các số liệu thống kê như ma trận nhầm lẫn

Chúng tôi đã vẽ ma trận nhầm lẫn (Confusion Matrix):

Hình 25: Vẽ ma trận nhầm lẫn (Confusion Matrix):

Kết quả là một biểu đồ ma trận nhầm lẫn hiển thị kết quả cách mô hình SVM đã phân loại với 10 cử chỉ tay trong tập (“y_test”) dựa trên các dự đoán của mô hình (y_pred) Biểu đồ này cho thấy mối quan hệ giữa các dự đoán và thực tế trên các lớp dữ liệu

Hình 26: một biểu đồ ma trận

-Đầu tiên các bạn phải hiểu

+Các hàng biểu thị nhãn thực tế (true labels) trong dữ liệu kiểm tra

+Các cột biểu thị nhãn dự đoán (predicted labels) của mô hình

+Ô ở hàng i và cột j của ma trận hiển thị sốlượng mẫu thực tế thuộc vào lớp i mà mô hình dự đoán là lớp j

-Các phần quan trọng trong biểu đồ

+Đường chéo chính (diagonal) của ma trận biểu thị sốlượng dự đoán đúng Nói cách khác, các ô trên đường chéo chính là True Positives (TP) và

+Phần trên đường chéo chính hiển thị False Positives (FP) - các trường hợp mà mô hình dựđoán sai.

+Phần dưới đường chéo chính hiển thị False Negatives (FN) - các trường hợp mà mô hình đã bỏ sót

-Quan sát biểu đồ trên chúng ta có rất nhiều điều để nói

+Với các cử chỉ có động tác có sựa khác biệt nhiều so với các động tác còn lại tì kết quả đen lại rất tốt, sự chùng lặp vs các động tác khác là rất ít có thể kể đến như động tác: PHO, BANH_MI, SUA_CHUA Đó là các lớp mà mô hình của chúng tôi nhận biết và chả về kết quả khi dựđoán là tốt nhất

+Như đã quan sát thi các bạn cũng đã nhận thấy những động tác trả về kết quả dự đoán không thật sự tốt là các động tác có các cử chỉ tay có sựtương đồng nhau, chỉ khác ở tư thế và vịtrí đặt tay có thể kẻ đến như: BUN, CHAO,

COFFEE, TRUNG_OP Mô hình của chũng tôi dự đoán không tốt cho các động tác này chúng có sự giống cao, chỉ khác tư thế Ví dụnhư: CHAO và BUN

Có thể thấy động tác CHAO và BUN khá giống nhau chỉ khác là CHAO xòe cả

10 ngón tay, BUN thì có 3 ngón gập lại chính vì vậy mà mô hình của chúng tôi gặp khó khăn và nhầm lẫn rất nhiều khi phân biệt các động tác kiểu như này

II Tối ưu hóa siêu tham số

Tôi ưu hóa siêu tham sốlà điều mà mọi mô hình nhận dạng hay phân loại nên thực hiện và có phương hướng giải quyết Với mô hình của chúng tôi, chúng tôi nhận thấy kết quảmà nó đem lại chưa có hiệu quả, cần có sự cải thiên vềđộ chính xác Để cải thiện được khả năng dự đoán của mô hình thì chúng tôi sẽ tối ưu hóa tham số“C” và “gamma”:

+Là một tham số quan trọng kiểm soát hình dạng của hạt nhân (kernel) RBF (Radial Basis Function) Hạt nhân RBF là một trong những hạt nhân phổ biến được sử dụng trong SVM để xử lý bài toán phân loại phi tuyến tính

+Siêu tham số gamma ảnh hưởng đến độ cong của hạt nhân RBF và do đó ảnh hưởng đến mức độ phức tạp của mô hình Cụ thể:

Ứ ng d ụ ng th ự c t ế và k ế t qu ả

I Xây dựng ứng dụng nhận dạng cử chỉ tay Đây là một đề tài cho bài tập lớn của chúng tôi, nên chúng tôi mới dựng lại ở mức cơ bản chỉ thực hiện nhận dạng với 10 cử chỉ của bữa ăn sáng Vì vậy mô hình chưa đủ mạnh để ứng dụng vào thực tế

II Giao diện người dùng

Giao diện của chúng tôi mới chỉ dừng lại ở giao diện code thuần, nhận diện cử chỉ thông qua wecam của laptop, PC

III Tương tác và kết quả thực tế

Chúng tôi tương tác giao tiếp trực tiếp qua các dòng code mã nguồn

Kết quảmà mô hình đem lại khi dự đoán chưa thực sự tốt, còn nhiều nhầm lẫn, chưa đúng với mong đợi của chúng tôi

Mô hình còn nhiều hạn chế vì chỉ dừng lại ở 10 cử chỉ, chưa thể ứng dụng vào trong thực tế được

Trong quá trình trích xuất đực trưng của mô hình, khi gắn khung sương chúng tôi mới chỉ gắn khung sương cho 2 bàn tay, nhiều động tác cần có sự kết hợp của cả cánh tay Mô hình sẽ gặp khó khăn và sai sót khi phân loại Để tăng độ chân thực trong việc diễn tả hành động, có một sốđộng tác cần cả biểu cảm của khuân mặt, nhưng chúng tôi chưa thể áp dụng để trích xuất đặc chưng của khuân mặt để thêm thông tin cho quá trình nhận dạng và phân loại cử chỉ

IV Đề xuất cho tương lai

Nhóm chúng tôi mong muốn mô hình của mình sẽđược áp dụng trong thực tế Chính vì vậy, chúng tôi cần phát triển mô hình rộng ra hơn 10 cử chỉ bữa ăn sáng

Có thể trích xuất được nhiều thông tin của người diễn đạt cử chỉđể tối ưu cho quá trình nhận dạng và phân loại của mô hình

Phát triển giao diện người dùng trên nhiều nền tảng khác nhau, để nhiều người có thể tiếp cận.

Tài liệ u tham kh ỏ a

I Liên kết và tài liệu trực tuyến

• https://en.wikipedia.org/wiki/Support_vector_machine

• https://medium.com/machine-learning-101/chapter-2-svm-support- vector-machine-theory-f0812effc72

• https://viblo.asia/p/gioi-thieu-ve-support-vector-machine-svm-

Phụ l ụ c

I Mã nguồn và tài liệu kỹ thuật

• https://drive.google.com/drive/folders/1bwYVgN6FfFeXFSDFQeKWpJ O0KeGxakgL?usp=sharing

Chúng tôi sử dụng Visual Studio Code để chạy mã nguồn

II Bảng phân công công việc

Tên từng thành viên Công việc thực hiện

Phần trăm hoàn thành công việc Ký tên xác nhận

Ngô Thế Cao Sơn Thu dữ liệu, phát triển code

Nguyễn Khắc Quang Thu dữ liệu, phát triển code

90% Đoàn Văn Tâm Thu dữ liệu, sử lý dữ liệu, tổng hợp báo cáo

Ngày đăng: 24/07/2024, 16:10

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

TÀI LIỆU LIÊN QUAN

w