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

Nhn dng c ch dng ca tay s dng c

68 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nhận dạng cử chỉ động của tay người sử dụng cảm biến KINECT
Tác giả Võ Tá Hoàng
Người hướng dẫn TS. Trần Thị Thanh Hải
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Kỹ thuật đo và tin học công nghiệp
Thể loại đồ án tốt nghiệp
Năm xuất bản 2014
Thành phố Hà Nội
Định dạng
Số trang 68
Dung lượng 2,9 MB

Cấu trúc

  • CHƯƠNG 1 TỔNG QUAN VỀ BÀI TOÁN NHẬN DẠNG CỬ CHỈ ĐỘNG CỦA TAY SỬ DỤNG KINECT (10)
    • 1.1. Nhận dạng cử chỉ động của tay người (10)
    • 1.2. Nghiên cứu một số phương pháp nhận dạng cử chỉ động của tay sử dụng Kinect (11)
      • 1.2.1. Nhận dạng cử chỉ động dựa vào thông tin RGB-D và phương pháp Extreme (11)
      • 1.2.2. Nhận dạng cử chỉ động dựa vào kết hợp dữ liệu video và Audio (15)
    • 1.3. Đề xuất phương pháp nhận dạng cử chỉ tay trong khuôn khổ ĐATN (23)
  • CHƯƠNG 2: BIỂU DIỄN VÀ NHẬN DẠNG CỬ CHỈ ĐỘNG CỦA TAY DỰA TRÊN DỮ LIỆU (27)
    • 2.1. Ảnh lịch sử chuyển động (MHI) (27)
    • 2.2. Bộ mô tả hàm nhân (30)
      • 2.2.1. Thiết kế “Match Kernel” cho đặc trƣng gradient (31)
      • 2.2.2. Học hệ vector cơ sở rút gọn sử dụng KPCA (33)
      • 2.2.3. Xây dựng bộ mô tả đặc trƣng (33)
    • 2.3. Giải thuật học máy SVM (35)
  • CHƯƠNG 3: BIỂU DIỄN VÀ NHẬN DẠNG CỬ CHỈ ĐỘNG CỦA TAY BỞI THÔNG TIN KHỚP XƯƠNG (38)
    • 3.1. Thông tin khớp xương từ cảm biến Kinect (38)
    • 3.2. Chuẩn hóa tọa độ các khớp (39)
    • 3.3. Thuật toán Dynamic Time Warping (DTW) (41)
    • 3.4. Giải thuật học máy K-Nearest Neighbors (KNN) (42)
  • CHƯƠNG 4: PHÂN TÍCH THIẾT KẾ VÀ TRIỂN KHAI MÔ ĐUN NHẬN DẠNG CỬ CHỈ ĐỘNG CỦA TAY NGƯỜI (44)
    • 4.1. Phương pháp 1: nhận dạng sử dụng ảnh MHI, hàm nhân và mô hình SVM (44)
      • 4.1.1. Thiết kế hệ thống (44)
      • 4.1.2. Module tính ảnh MHI (45)
        • 4.1.2.1. Tìm thời điểm hành động kết thúc (45)
        • 4.1.2.2. Tính ảnh MHI (47)
      • 4.1.3. Module tính vector đặc trƣng (47)
      • 4.1.4. Module học mô hình biểu diễn các lớp cử chỉ (48)
      • 4.1.5. Module xác định lớp của cử chỉ (49)
    • 4.2. Phương pháp 2: Nhận dạng sử dụng ảnh thông tin xương, giải thuật DTW và KNN (49)
      • 4.2.1. Thiết kế hệ thống (49)
      • 4.2.2. Module trích xuất dữ liệu khung xương (50)
      • 4.2.3. Module tạo vector mô tả cử chỉ (52)
      • 4.2.4. Module nhận dạng (52)
  • CHƯƠNG 5: THỬ NGHIỆM VÀ ĐÁNH GIÁ (54)
    • 5.1. Giới thiệu về CSDL sử dụng trong đề tài (54)
    • 5.2. Phương pháp đánh giá giải thuật nhận dạng (57)
    • 5.3. Thử nghiệm và đánh giá (58)
      • 5.3.1. Kết quả với phương pháp 1: (MHI-KD-SVM) (58)
        • 5.3.1.1. Dữ liệu sử dụng (58)
        • 5.3.1.2. Các tham số sử dụng trong KDES (59)
        • 5.3.1.3. Kết quả trên bộ dữ liệu MHI gốc (59)
        • 5.3.1.4. Kết quả thử nghiệm khi chuẩn hóa bộ dữ liệu và cải tiến KDES (59)
      • 5.3.2. Kết quả với phương pháp 2: (Ske-DTW-KNN) (60)
        • 5.3.2.1. Dữ liệu sử dụng (60)
        • 5.3.2.2. Kết quả nhận dạng đối với phương pháp KNN (60)
      • 5.3.3. So sánh và phân tích kết quả (61)
        • 5.3.3.1. Đánh giá phương pháp MHI-KDES_SVM (61)
        • 5.3.3.2. Đánh giá phương pháp Ske-DTW-KNN (64)
  • CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (66)
    • 6.1. Kết luận (66)
    • 6.2. Hướng phát triển (66)
  • TÀI LIỆU THAM KHẢO (67)

Nội dung

TỔNG QUAN VỀ BÀI TOÁN NHẬN DẠNG CỬ CHỈ ĐỘNG CỦA TAY SỬ DỤNG KINECT

Nhận dạng cử chỉ động của tay người

Nhận dạng đối tượng trong thị giác máy tính có thể áp dụng cho nhiều loại đối tượng như lá cây, logo, vân tay và đặc biệt là nhận dạng cử chỉ động của tay Trong khuôn khổ ĐATN, tôi tập trung vào việc giải quyết bài toán nhận dạng cử chỉ động của tay người, và dưới đây là định nghĩa cơ bản của bài toán này.

Nhận dạng cử chỉ tay là quá trình xác định loại cử chỉ mà một người thực hiện, dựa trên các tập cử chỉ đã được định nghĩa trước đó.

Hệ thống nhận dạng cử chỉ tay được thiết kế để xác định loại cử chỉ từ 20 loại đã được định nghĩa trước Nhiệm vụ của hệ thống là nhận diện cử chỉ được thu nhận và phân loại nó vào một trong 20 lớp đã xác định.

Các ứng dụng của nhận dạng cử chỉ động của tay người

Bài toán nhận dạng cử chỉ có nhiều ứng dụng nhƣ:

• Phát triển các công cụ trợ giúp nói chuyện bằng tay

• Giúp trẻ em có thể thao tác với máy tính

• Chuẩn đoán các cảm xúc của bệnh nhân, đo mức độ trầm cảm

• Thực hiện di chuyển vật thể trong môi trường ảo

• Trợ giúp dạy học từ xa

Hệ thống nhận dạng cử chỉ được phân loại thành hai loại chính, trong đó các cảm biến đóng vai trò quan trọng trong việc thu thập dữ liệu liên quan đến cử chỉ.

1) Dựa trên cảm biến gắn trên người: Theo loại này, người sẽ phải đeo một số cảm biến (vận tốc, gia tốc, cảm biến quang, v.v) ở một số vị trí thực hiện cử chỉ (cánh tay, ngón tay) Điển hình của phương pháp này là các hệ thống games, đồ họa sử dụng găng tay chuyên dụng để đo sự chuyển động của tay và các ngón tay [13]

2) Dựa trên các cảm biến độc lập với người: Theo loại này, hệ thống cảm biến gắn bên ngoài môi trường Người không phải đeo bất kỳ loại cảm biến nào cả Điển hình của phương pháp này sử dụng cảm biến camera gắn trong môi trường Ưu điểm chính của phương pháp này so với phương pháp thuộc lớp thứ nhất là chi phí giá thành cho thiết bị thông dụng, rẻ Người không phải mang vác bất kỳ thiết bị nào nên thực hiện cử chỉ một cách tự nhiên Trong vài năm trở lại đây, với sự ra đời của cảm biến Kinect của Microsoft với giá thành rẻ nhưng lại cung cấp dữ liệu đa thể thức về môi trường như: âm thanh, hình

Tin học công nghiệp tại KSCLC - ĐHBKHN sử dụng 11 ảnh RGB và ảnh độ sâu, cho thấy việc kết hợp các loại dữ liệu khác nhau có thể nâng cao hiệu quả của quá trình nhận dạng.

Trong nghiên cứu này, tôi đã chọn phương pháp sử dụng cảm biến ngoài, đặc biệt là cảm biến Kinect, để thu thập dữ liệu về các cử chỉ thực hiện.

Bài toán nhận dạng thông thường được thực hiện thông qua 2 pha chính:

• Pha huấn luyện: hệ thống sẽ học các tham số mô hình biểu diễn các lớp cử chỉ từ dữ liệu thu thập được từ trước

• Pha nhận dạng: hệ thống đƣa ra kết quả nhận dạng với một dữ liệu vào mới.

Nghiên cứu một số phương pháp nhận dạng cử chỉ động của tay sử dụng Kinect

Nhận dạng cử chỉ tay là một lĩnh vực thu hút sự chú ý của nhiều nhà khoa học trong các ngành thị giác máy tính, máy học và robotics Cộng đồng nghiên cứu đã phát triển các bộ cơ sở dữ liệu chuẩn để đánh giá các phương pháp mới trong lĩnh vực này.

Năm 2013, cuộc thi CHALEARN về nhận dạng cử chỉ tay sử dụng cảm biến Kinect đã thu hút 54 nhóm tham gia toàn cầu, cung cấp một bộ CSDL gồm 20 cử chỉ tay của người Ý Trong khuôn khổ ĐATN, em quyết định sử dụng CSDL của cuộc thi này với hai lý do chính: thứ nhất, để tiết kiệm thời gian thu thập dữ liệu, và thứ hai, để có thể so sánh hiệu quả phương pháp đề xuất với các phương pháp khác trên cùng một CSDL chung.

Trong phần này, chúng tôi sẽ khám phá các phương pháp nhận dạng cử chỉ động của tay đã được đánh giá trên CSDL CHALEARN Những nghiên cứu này được trình bày tại hội thảo ICML 2013, liên quan đến nhận dạng cử chỉ đa phương thức trong khuôn khổ cuộc thi Việc đánh giá trên cùng một CSDL CHALEARN sẽ giúp dễ dàng so sánh với các nghiên cứu được đề xuất trong luận văn này.

Trên thế giới, nhiều nhóm nghiên cứu đang tập trung vào việc nhận dạng cử chỉ động của tay Hầu hết các phương pháp hiện có đều dựa trên việc trích xuất đặc trưng không gian và thời gian, kết hợp với các bộ phân loại Mỗi nhóm nghiên cứu đưa ra phương pháp riêng cho việc nhận dạng cử chỉ động, dẫn đến những kết quả khác nhau Dưới đây là một số phương pháp tiêu biểu từ các nhóm nghiên cứu khác nhau.

1.2.1 Nhận dạng cử chỉ động dựa vào thông tin RGB-D và phương pháp Extreme Learning Machine (ELM)

Phương pháp nhận dạng cử chỉ đa phương thức được đề cập trong bài báo của Xi Chen và Markus Koskela, mang tiêu đề "Nhận dạng cử chỉ RGB-D trực tuyến với máy học cực đại" [3].

Trong nghiên cứu này, các tác giả áp dụng dữ liệu xương và video RGB để nhận diện cử chỉ Họ đã trích xuất hai đặc trưng chính từ dữ liệu xương, bao gồm vị trí 3D của các khớp và khoảng cách giữa các cặp khớp Bên cạnh đó, nghiên cứu còn dựa vào các vị trí chung để phân tích.

Trong nghiên cứu của KSCLC tại ĐHBKHN, các tác giả đã sử dụng đặc trưng HOG (Histogram of Oriented Gradients) từ các khung hình RGB để trích xuất đặc điểm cho hai bên tay Những đặc trưng này được kết hợp để tạo thành mô tả cử chỉ, sau đó xác định cử chỉ là của tay trái hay tay phải dựa trên phạm vi tối đa của bàn tay Dựa vào quyết định này, các đặc trưng phù hợp được chọn để phân loại bằng bộ phân loại đã được huấn luyện cho tay trái hoặc tay phải Phương pháp phân loại sử dụng ELM (Extreme Learning Machines), một mô hình có hiệu quả tương đương SVM nhưng với thời gian huấn luyện và kiểm thử nhanh hơn Kết quả từ nhiều ELMs được hợp nhất để cung cấp kết quả phân loại chính xác hơn.

Mô hình nhận dạng kết hợp đƣợc thể hiện qua Hình 1.1

Hình 1.1: Nhận dạng cử chỉ động theo phương pháp ELM [3]

Các tác giả đã sử dụng thông tin xương, video RGB và phương pháp học máy Extreme Learning Machines (Findland) để phân loại các cử chỉ trong nghiên cứu này.

Do sự khác biệt về kích thước khung xương trong các mẫu cử chỉ, nhóm nghiên cứu đã tiến hành chuẩn hóa dữ liệu khung xương nhằm nâng cao hiệu quả nghiên cứu (Hình 1.2) Sau khi chuẩn hóa, kích thước khung xương trở nên đồng nhất trong tất cả các cử chỉ và được đặt ở cùng một vị trí trong hệ tọa độ.

Hình 1.3 thể hiện sự trích chọn đặc trưng HOG cho cả tay trái và tay phải Đặc trưng HOG với biên độ gradient lớn hơn sẽ được gán trọng số cao hơn trong quá trình kết hợp các đặc trưng.

Tin học công nghiệp – KSCLC – ĐHBKHN | 13

Hình 1.2: Các khung hình RGB và thông tin xương tương ứng cho 2 cử chỉ giống nhau

Hình 1.3: Đặc trưng HOG trích chọn từ vùng tay trái và tay phải

Kết quả nghiên cứu được trình bày trong Hình 1.4 cho thấy việc xác định bàn tay thực hiện cử chỉ là trái hay phải giúp giảm đáng kể tỷ lệ nhận dạng lỗi với các loại đặc trưng khác nhau.

Tin học công nghiệp – KSCLC – ĐHBKHN | 14

Hình 1.4: Tỷ lệ lỗi đối với tính đặc trưng trên 2 tay và trên tay trội hơn

Theo bài báo [3], tác giả áp dụng hai phương pháp kết hợp đặc trưng: kết hợp trước và kết hợp sau Trong giai đoạn kết hợp trước, họ kết hợp ba đặc trưng HOG, tọa độ khớp xương và khoảng cách khớp xương, hoặc từng cặp đặc trưng, trước khi đưa vào bộ phân loại ELM Ở giai đoạn kết hợp sau, giá trị trung bình của các kết quả từ từng bộ đặc trưng riêng lẻ và kết quả từ kết hợp trước được sử dụng để xác định nhãn cử chỉ.

Bảng 1.1: Tỷ lệ lỗi đối với các loại đặc trưng và loại kết hợp khác nhau Đặc trƣng Tỷ lệ lỗi (error rate)

Tọa độ khớp chuẩn hóa 0,293

Phương pháp kết hợp tối ưu trong Bảng 1.1 cho thấy việc kết hợp 3 đặc trưng riêng rẽ hoặc 2 trong 3 đặc trưng thành một vector mới để đưa vào mô hình phân loại Qua đó, các tác giả đã tạo ra 4 vector đặc trưng mới và tiếp tục kết hợp kết quả phân loại của chúng để đạt được kết quả tối ưu nhất Khi tọa độ các khớp trong khung xương được chuẩn hóa, lỗi nhận dạng giảm đáng kể, và việc áp dụng các phương pháp kết hợp trước, kết hợp sau hoặc kết hợp tối ưu càng giúp giảm thiểu lỗi nhận dạng.

Tin học công nghiệp – KSCLC – ĐHBKHN | 15

Hình 1.5: Kết quả khi kết hợp tối ưu đối với tập dữ liệu thử nghiệm

Hình 1.5 minh họa “confusion matrix” cho kết quả nghiên cứu của các tác giả, trong đó trục tung thể hiện nhãn đúng của các cử chỉ thử nghiệm, còn trục hoành thể hiện nhãn mà hệ thống nhận dạng được Đường chéo của ma trận đại diện cho số lượng mẫu được nhận dạng đúng của các lớp cử chỉ.

Hình 1.6: Tỷ lệ lỗi khi sử dụng từng đặc trưng và khi kết hợp tối ưu đối với mỗi cử chỉ của tập thử nghiệm

Trong Hình 1.6, tỷ lệ lỗi của đặc trưng kết hợp thường thấp nhất, cho thấy đây là đặc trưng hiệu quả nhất cho việc phân loại trong nghiên cứu này.

1.2.2 Nhận dạng cử chỉ động dựa vào kết hợp dữ liệu video và Audio

 Nghiên cứu của nhóm tác giả Jiaxiang Wu và Jian Cheng

Đề xuất phương pháp nhận dạng cử chỉ tay trong khuôn khổ ĐATN

Trong đề tài này, em tập trung vào việc nhận dạng cử chỉ động của tay trên CSDL CHALEARN, với giả định rằng các cử chỉ đã được tách sẵn Mục tiêu chính là giải quyết bài toán phân lớp cử chỉ động của tay, không thực hiện phân tách tự động Em sẽ nghiên cứu và lựa chọn phương pháp nhận dạng phù hợp, đồng thời so sánh và đánh giá kết quả đạt được trong cuộc thi để xác định điểm mạnh và điểm yếu của phương pháp đề xuất.

Tin học công nghiệp – KSCLC – ĐHBKHN | 24

Sau khi nghiên cứu các phương pháp liên quan, tôi nhận thấy rằng thông tin RGB, độ sâu và khung xương đều mang lại những kết quả thú vị cho bài toán nhận dạng cử chỉ Do đó, trong khuôn khổ của đề tài nghiên cứu, tôi sẽ áp dụng cả ba loại thông tin này.

Mô hình nhận dạng cử chỉ tay được đề xuất bao gồm hai pha chính: pha huấn luyện và pha nhận dạng Mỗi pha sẽ thực hiện một số bước quan trọng để đảm bảo hiệu quả trong quá trình nhận diện cử chỉ.

Đối với dữ liệu đầu vào là RGB-D, các bước thực hiện bao gồm: tiền xử lý để biểu diễn chuỗi ảnh thực hiện cử chỉ bằng ảnh lịch sử chuyển động (MHI), trích chọn đặc trưng bằng KDES trên MHI, vì KDES đã chứng minh được hiệu quả tốt trong nhận dạng đối tượng và khung cảnh gần đây Tiếp theo, mô hình phân loại được học bằng SVM Cuối cùng, trong quá trình nhận dạng, đặc trưng KDES được trích chọn từ ảnh MHI của cử chỉ thử nghiệm và được đưa vào mô hình SVM đã học để dự đoán nhãn của cử chỉ.

Đối với dữ liệu đầu vào là thông tin khớp xương, quá trình xử lý bao gồm các bước chính như sau: đầu tiên, thực hiện tiền xử lý để chuẩn hóa tọa độ của các khớp xương Tiếp theo, trích chọn đặc trưng bằng cách biểu diễn cử chỉ qua chuỗi tọa độ chuẩn hóa của các khớp chính theo thời gian Sau đó, áp dụng các mô hình phân loại như KNN và SVM để học và nhận dạng cử chỉ Việc tính khoảng cách giữa các vector mô tả cử chỉ và sử dụng thuật toán KNN giúp đoán nhãn cho cử chỉ Dù dữ liệu đầu vào là RGB-D hay thông tin khớp xương, các bước thực hiện đều tương tự như trong các hình minh họa Tuy nhiên, tùy thuộc vào từng trường hợp cụ thể, có thể áp dụng các chiến lược huấn luyện và nhận dạng khác nhau Đặc biệt, việc kết hợp kết quả từ hai phương pháp này có thể mang lại hiệu quả tốt hơn so với việc sử dụng từng phương pháp một cách riêng lẻ.

Tin học công nghiệp – KSCLC – ĐHBKHN | 25

Hình 1.15: Pha huấn luyện của mô hình nhận dạng cử chỉ động của tay

Hình 1.16: Pha thử nghiệm của mô hình nhận dạng cử chỉ động của tay

Nghiên cứu này tập trung vào việc phân tích và so sánh hai phương pháp đề xuất trên cơ sở dữ liệu, nhằm đánh giá hiệu quả của chúng Những đóng góp chính của đề tài là cung cấp cái nhìn sâu sắc về các phương pháp này và đưa ra những kết luận có giá trị cho việc áp dụng trong thực tiễn.

CHALEARN đã giới thiệu một số điểm mới trong công việc của mình, đặc biệt là phương pháp kết hợp biểu diễn cử chỉ bằng ảnh MHI và bộ mô tả KDES, một nghiên cứu chưa từng được thực hiện trước đây Trong quá trình tính toán ảnh lịch sử chuyển động, việc cài đặt và thực nghiệm ảnh MHI không đơn giản như lý thuyết, và việc chọn thời điểm dừng trong tính toán ảnh MHI là rất quan trọng Nếu thời điểm dừng được chọn quá xa, ảnh MHI chỉ lưu giữ những thông tin mới xảy ra, dẫn đến việc mất đi các dữ liệu quan trọng.

Tin học công nghiệp – KSCLC – ĐHBKHN đã thực hiện các bước tính toán để xác định thời điểm dừng cho việc tính toán ảnh MHI cho mỗi video shot Phương pháp thứ hai là so sánh hiệu quả của thông tin khớp xương với thuật toán DTW Trong bước này, quá trình chuẩn hóa tọa độ khớp xương được thực hiện về hệ tọa độ chuẩn, nhằm tạo ra bộ mô tả cử chỉ bất biến trước sự thay đổi về khoảng cách, góc nghiêng và kích thước của người tham gia thử nghiệm.

Trong hai chương tiếp theo, em sẽ trình bày chi tiết kỹ thuật của mỗi phương pháp đề xuất

Tin học công nghiệp – KSCLC – ĐHBKHN | 27

BIỂU DIỄN VÀ NHẬN DẠNG CỬ CHỈ ĐỘNG CỦA TAY DỰA TRÊN DỮ LIỆU

Ảnh lịch sử chuyển động (MHI)

Lịch sử chuyển động MHI là phương pháp đơn giản nhưng hiệu quả để biểu diễn chuyển động, được ứng dụng rộng rãi trong nghiên cứu nhận dạng hành động và phân tích hành động Bài báo này trình bày khái quát về kỹ thuật nhận dạng chuyển động của người dựa trên ảnh MHI, đặc biệt là ứng dụng trong nhận dạng cử chỉ tay Ảnh MHI là ảnh tĩnh với cường độ pixel thể hiện chuyển động gần nhất trong chuỗi video.

Hình bóng (silhouette) sẽ được chuyển đổi thành ảnh mức xám, trong đó giữ lại các thông tin chuyển động nổi bật Các pixel có giá trị cao sẽ đại diện cho những chuyển động mới xảy ra trong chuỗi video, trong khi pixel không có chuyển động hoặc chuyển động cũ sẽ có giá trị thấp Ảnh MHI cho phép nhận diện loại chuyển động trong ảnh Hình 2.1 minh họa ảnh MHI được tính toán tại một số thời điểm trong chuỗi khung hình với hai cử chỉ khác nhau, cho thấy thông tin tổng hợp về chuyển động của hành động.

Một trong những phương pháp tôi áp dụng là chuyển đổi chuỗi video thành hình ảnh lịch sử chuyển động MHI Tiếp theo, tôi tiến hành tính toán các vector đặc trưng trên các hình ảnh MHI này.

 Phương pháp tổng quát tính MHI

Chuyển động trong video được xác định bằng cách tính sai khác giữa các frame Nếu sự sai khác tại mỗi pixel lớn hơn một ngưỡng nhất định, thì pixel đó được coi là có chuyển động Trong nghiên cứu này, tôi sử dụng hiệu giữa hai frame liên tiếp để tính toán ảnh MHI Ảnh MHI cung cấp thông tin rõ ràng về cách một người di chuyển trong suốt quá trình hành động.

Giá trị cường độ tại mỗi pixel trên ảnh MHI là một hàm H  I biểu diễn lịch sử chuyển động đƣợc định nghĩa trong công thức (2.1)

Tin học công nghiệp – KSCLC – ĐHBKHN | 28

Trong đó: (x,y) là vị trí pixel, t là thời gian

Hàm (x,y,t) biểu thị sự hiện diện của chuyển động tại khung hình hiện tại trong chuỗi video Thời gian tồn tại của chuyển động được xác định bởi khoảng thời gian , trong khi tham số  thể hiện sự suy giảm theo thời gian.

Hàm update MHI được kích hoạt khi mỗi khung hình mới của chuỗi video được phân tích Kết quả của quá trình này là một ảnh giá trị vô hướng, trong đó các điểm có chuyển động gần đây sẽ có giá trị pixel cao nhất (sáng nhất), trong khi các điểm không chuyển động hoặc đã chuyển động từ lâu sẽ có giá trị pixel bằng 0 hoặc thấp hơn (tối hơn).

 Kỹ thuật xử lý tạo ảnh MHI

Có một số kỹ thuật xử lý để định nghĩa hàm (x,y,t) là phương pháp “trừ nền” (background subtraction), tính hiệu 2 khung hình (image differencing) và phương pháp

Trong nghiên cứu về "optical flow", tôi thực hiện tính toán giữa hai khung hình để xác định hàm cập nhật MHI Phương pháp xây dựng ảnh MHI có khả năng chống lại nhiễu và hiệu ứng chiếu sáng, đồng thời có thể theo dõi các đối tượng biến dạng Tuy nhiên, độ phức tạp trong tính toán cao và chất lượng so khớp mẫu phụ thuộc vào đặc điểm của đối tượng Theo nghiên cứu của nhóm P Doliotis và cộng sự, việc kết hợp ảnh MHI thông thường với backwardMHI và forwardMHI để tạo thành ảnh MHI 3 chiều (3D-MHI) sẽ nâng cao hiệu quả nhận dạng Bài viết này sẽ trình bày chi tiết về cả ba loại MHI này.

Hàm mô tả (x,y,t) nhƣ sau:

Với công thức D(x,y,t) = |I(x,y,t) – I(x,y,t ± Δ)|, trong đó I(x,y,t) đại diện cho cường độ mức xám tại pixel (x,y) và thời điểm t trong chuỗi video, bài viết này tập trung vào việc tính toán sự sai khác giữa hai frame liên tiếp để xác định hàm Update Motion History.

Tin học công nghiệp – KSCLC – ĐHBKHN | 29

Hình 2.1: Hàng trên: Các keyframes của một chuyển động của tay Hàngdưới: Ảnh MHI tương ứng với mỗi keyframe b) Backward MHI

Backward MHI được tính toán tương tự như MHI, nhưng khác ở chỗ công thức xác định độ sai khác giữa hai khung hình không sử dụng giá trị tuyệt đối Thay vào đó, nó so sánh độ sai khác giữa khung hình hiện tại và khung hình trước đó.

Forward MHI cũng tương tự như trên, với hàm ngưỡng như sau:

Hình 2.3 minh họa ảnh MHI được tính từ chuỗi hình ảnh RGB và độ sâu, cùng với các fMHI và bMHI tính trên ảnh độ sâu Trong trường hợp này, fMHI và bMHI không tạo ra sự khác biệt lớn so với ảnh MHI trên dữ liệu độ sâu Do đó, như sẽ được trình bày trong phần kết quả, việc kết hợp các thông tin này không mang lại nhiều ý nghĩa.

Tin học công nghiệp – KSCLC – ĐHBKHN | 30

Hình 2.2: MHI-Color,MHI-Depth, bMHI và fMHI của cử chỉ Buonissimo

 Ảnh hưởng của tham số  lên ảnh MHI

Tham số  đóng vai trò quan trọng trong việc ảnh hưởng đến kết quả của ảnh MHI Khi tải khung hình để cập nhật MHI, nếu không có sự thay đổi nào tại pixel đã từng có chuyển động, giá trị của pixel đó sẽ bị giảm bởi  Tuy nhiên, các giá trị  khác nhau có thể cung cấp thông tin khác nhau, và việc lựa chọn giá trị này thường dựa trên kinh nghiệm.

Nghiên cứu cho thấy rằng khi giá trị cao hơn, việc xóa bỏ dấu vết chuyển động diễn ra nhanh chóng hơn Điều này phụ thuộc vào giá trị tham số suy giảm , ảnh hưởng đến MHI như được thể hiện trong Hình 2.3.

Hình 2.3: Ảnh hưởng của tham số suy giảm  đối với tính toán MHI của cử chỉ Basta

Bộ mô tả hàm nhân

Sau khi tạo ảnh lịch sử chuyển động MHI từ video, bước tiếp theo là trích chọn các đặc trưng phù hợp từ những ảnh này Tôi đã sử dụng bộ mô tả đặc trưng với hàm nhân để thực hiện việc này Phương pháp này được đánh giá là mang lại biểu diễn ảnh tốt nhất trong việc nhận dạng và phân lớp đối tượng.

Trong nghiên cứu của mình, tôi tập trung vào việc đánh giá sự phù hợp và khả năng biểu diễn của bộ mô tả trên ảnh MHI nhằm phục vụ cho bài toán nhận dạng.

Quá trình trích chọn này bao gồm ba bước chính: đầu tiên, thiết kế "match kernel" dựa trên các thuộc tính pixel; tiếp theo, áp dụng phương pháp phân tích các thành phần chính KPCA để học một hệ vector cơ sở rút gọn; cuối cùng, xây dựng bộ mô tả đặc trưng bằng cách chiếu các vector đặc trưng có số chiều lớn lên hệ vector cơ sở đã được học ở bước trước.

2.2.1 Thiết kế “Match Kernel” cho đặc trƣng gradient

 Đặc trưng theo phương pháp Kernel Descriptor

Trong nghiên cứu này, chúng tôi thiết kế hàm nhân tùy chỉnh dựa trên đặc trưng gradient của ảnh MHI, với trọng tâm là lược đồ hướng của các vector gradient tại từng pixel Để làm rõ ý tưởng về hàm nhân, chúng tôi sẽ trình bày các khía cạnh liên quan đến lược đồ hướng (Orientation Histogram) từ góc độ Kernel.

Để tính lược đồ hướng của một patch ảnh P, trước tiên cần xác định các vector gradient cho tất cả các pixel trong P, ký hiệu là δ(z) Biên độ gradient tại pixel z được gọi là m(z) Lược đồ hướng Gradient có trọng số của patch ảnh P được biểu diễn dựa trên các giá trị này.

P là patch ảnh, z là mộtpixel trong patch P,

   là biên độ vector gradient tại pixel z đƣợc chuẩn hóa, g là một hằng số nhỏ

Với (z) biểu diễn hướng của vector gradient

Các phương pháp truyền thống thường lượng tử hóa không gian 360 độ, như các đặc trưng SIFT và HOG, thành một số hướng nhất định và phân vector vào những hướng này Cách tiếp cận này được gọi là Hard binning, với hàm δ(z) được xác định theo cách cụ thể.

Trên thực tế, chúng ta hoàn toàn có thể định nghĩa hàm gán hướng một cách mềm hơn (Soft binning), ví dụ nhƣ:

Tin học công nghiệp – KSCLC – ĐHBKHN | 32

Với định nghĩa (2 1), sự tương quan giữa hai patch ảnh được thực hiện thông qua

Công thức (2.4) sử dụng tích vô hướng của hai vector để đánh giá sự tương quan giữa hai patch ảnh Tuy nhiên, sự tương quan này không tuyến tính, do đó cần điều chỉnh bằng các thước đo phù hợp hơn như trong công thức (2.5).

    là vector gradient đã chuẩn hóa tại pixel z

( ( ), ( ')) exp( ( ) ( ') 2 o o k  z  z    z  z là hàm thể hiện sự tương quan giữa 2 hướng.

( , ') exp( ' 2 o p k z z    z  z là hàm thể hiện sự tương quan giữa 2 vị trí với z là vector

2 chiều biểu diễn vị trí Ở đây, hàm tương quan đã lợi dụng ưu thế của hàm mũ e đối với chuẩn của hiệu, nếu

Hai pixel có sự tương quan lớn sẽ tạo ra hiệu ứng nhỏ, dẫn đến hàm tương quan có kết quả lớn Vì vậy, nếu hai vùng (patch) càng giống nhau, giá trị của Matching kernel sẽ càng cao.

Kernel này bao gồm ba thành phần, thể hiện sự tương quan giữa hai patch ảnh về biên độ vector gradient, hướng gradient và vị trí của hai patch ảnh Khoảng cách theo chuẩn L2 giữa patch P và patch Q được tính bằng công thức D(P,Q) = 2 – 2F(P) T P(Q), trong đó F(P) T F(P) = 1.

Hình 2.4 mô tả thuộc tính pixel, thể hiện hướng của gradient và đo khoảng cách giữa hai pixel với các hướng khác nhau, θ và θ' Để đo khoảng cách giữa hai vector θ = [sin(θ), cos(θ)] và θ' = [sin(θ'), cos(θ')], chúng ta sử dụng chuẩn L2.

Tin học công nghiệp – KSCLC – ĐHBKHN | 33

2.2.2 Học hệ vector cơ sở rút gọn sử dụng KPCA

“Match kernel” là phương pháp đo sự tương quan giữa hai patch ảnh, nhưng việc tính toán trên các kernel phức tạp sẽ gặp khó khăn khi kích thước patch lớn Do đó, cần giảm số chiều không gian đặc trưng mà vẫn đảm bảo khả năng biểu diễn tốt cho các đặc trưng của ảnh MHI Một cách tiếp cận để trích chọn các đặc trưng số chiều thấp từ “match kernel” bao gồm: (1) Lấy mẫu đều và dày các vector cơ sở để xấp xỉ tốt các “match kernel”, và (2) Học các vector cơ sở rút gọn thông qua kỹ thuật phân tích thành các thành phần chính dựa trên hàm nhân (Kernel Principal Component Analysis - KPCA).

Trích chọn đặc trƣng mức patch

Một lưới đều được lấy từ ảnh MHI, sau đó xác định vùng xung quanh mỗi pixel trên lưới để tính đặc trưng, gọi là patch ảnh Như đã trình bày ở mục 2.2.1.2, các thuộc tính gradient của pixel sẽ được trích xuất và liên kết lại để tạo thành đặc trưng mức patch (Hình 2.5).

Hình 2.5: Lấy lưới đều trên ảnh MHI của cử chỉ Basta

2.2.3 Xây dựng bộ mô tả đặc trƣng Để xây dựng bộ mô tả đặc trƣng cho các ảnh MHI ta chiếu các vector đặc trƣng có số chiều rất lớn đã tính lên hệ vector cơ sở rút gọn

Mỗi ảnh có số lượng "patch" khác nhau, dẫn đến các vector mô tả đặc trưng cũng có số chiều không đồng nhất Do đó, cần xây dựng một từ điển để chuẩn hóa các vector này về cùng một số chiều Từ tổng số patch đã trích xuất, thuật toán K-means được sử dụng để tìm kiếm N visual words cho từ điển, với N được chọn đủ lớn để biểu diễn tốt vector mô tả Theo kinh nghiệm của tôi, việc chọn N mang tính thực nghiệm, và trong nghiên cứu này, tôi đã chọn N = 1000.

 Thuật toán K-Mean thực hiện qua các bước chính sau [20]:

1 Chọn ngẫu nhiên K tâm cho K cụm Mỗi cụm đƣợc đại diện bằng tâm của cụm

Tin học công nghiệp – KSCLC – ĐHBKHN | 34

2 Tính khoảng cách giữa các đối tượng đến K tâm (thường dùng khoảng cách Euclide)

3 Nhóm các đối tƣợng vào nhóm gần nhất

4 Xác định lại tâm mới cho các nhóm

5 Thực hiện lại bước 2 cho đến khi không thấy có sự thay đổi nhóm nào của các đối tƣợng nữa

 Xây dựng đặc trƣng mức ảnh

Phương pháp matching được sử dụng là "Spatial Pyramid Matching", trong đó mỗi ảnh được chia thành M tầng, đánh số từ 0 trở đi Ở tầng k, ảnh được phân chia thành (2^k)² ô có kích thước đều nhau Tổng số ô nhận được qua các tầng là một yếu tố quan trọng trong quá trình matching, và trong mỗi ô, chiến thuật matching sẽ được áp dụng để tối ưu hóa kết quả.

 Tìm tất cả các patch trên ảnh mà có điểm trung tâm nằm trong ô

Giải thuật học máy SVM

Sau khi trích chọn đặc trưng mô tả đối tượng người, cần áp dụng các thuật toán học để mô hình hóa cử chỉ động của tay từ một cơ sở dữ liệu cụ thể, nhằm phân loại các cử chỉ khác nhau Các phương pháp học được chia thành hai loại chính: học có giám sát và học không có giám sát.

Học có giám sát là phương pháp học mà chúng ta xác định trước các lớp cần chú ý, với nhiệm vụ chính là dự đoán xem một đối tượng có thuộc lớp đó hay không Một số phương pháp phổ biến trong học có giám sát bao gồm SVM, Cascaded Adaboost và Neural Network.

Học không giám sát là phương pháp phân nhóm các vector thành các cụm (cluster) nhằm phân lớp đối tượng mà không cần biết trước lớp của chúng Khác với học có giám sát, phương pháp này chỉ cung cấp tập hợp các đối tượng cùng lớp mà chưa xác định rõ lớp đó Một số kỹ thuật phổ biến trong học không giám sát bao gồm K-means, C-mean và Mean Shift.

Trong bài viết này, tôi sẽ trình bày phương pháp học có giám sát SVM để phân lớp cử chỉ tay Đồng thời, tôi cũng sẽ đề xuất phương pháp DTW-KNN, sử dụng thông tin xương skeleton của dữ liệu, sẽ được trình bày chi tiết trong chương 3.

Thuật toán máy vector hỗ trợ (Support Vector Machines - SVM) được giới thiệu bởi Corters và Vapnik vào năm 1995, nổi bật trong việc xử lý dữ liệu có số chiều lớn như vector văn bản, vector hình ảnh và vector cử chỉ Ban đầu, SVM được thiết kế cho bài toán phân lớp nhị phân với hai lớp Ngày nay, SVM được công nhận là bộ phân lớp chính xác nhất cho phân loại văn bản, nhờ vào tốc độ nhanh và hiệu quả của nó.

Thuật toán huấn luyện SVM sử dụng một bộ dữ liệu với các lớp khác nhau để xây dựng mô hình phân loại các ví dụ vào các lớp đã cho Mô hình SVM thể hiện các điểm trong không gian và xác định ranh giới giữa các lớp sao cho khoảng cách từ các ví dụ huấn luyện đến ranh giới là lớn nhất Các ranh giới này, hay còn gọi là siêu phẳng, nằm ở vị trí tối ưu để giảm thiểu sai số tổng quát hóa của thuật toán Trong nhiều trường hợp, các lớp dữ liệu không thể phân chia tuyến tính trong không gian ban đầu, do đó cần phải ánh xạ dữ liệu vào một không gian nhiều chiều hơn để việc phân tách trở nên khả thi.

Các ví dụ mới được đưa vào không gian và thuật toán sẽ dự đoán chúng thuộc về một trong các lớp đã xác định, dựa trên vị trí của các ví dụ đó so với các ranh giới.

Tin học công nghiệp – KSCLC – ĐHBKHN | 36 Để dễ hình dung, giả sử có một tập các điểm 2D thuộc 2 lớp khác nhau, để phân loại

2 lớp này cần tìm một đường thẳng chia không gian 2D mà mỗi lớp thuộc về một nửa không gian

Trong Hình 2.7, nhiều đường thẳng có khả năng phân chia không gian 2D thành hai phần, mỗi phần tương ứng với một lớp khác nhau Để lựa chọn đường thẳng tối ưu cho việc phân chia này, chúng ta cần xác định tiêu chuẩn là chọn đường thẳng có khoảng cách xa nhất với các điểm gần nhất.

Thuật toán SVM (Support Vector Machine) sử dụng một phép biểu diễn để xác định cấu trúc của một siêu phẳng, được mô tả bằng công thức f(x) = β0 + β T x, trong đó β là vector trọng số và β0 là hệ số sai lệch.

Siêu phẳng tối ƣu có thể được biểu diễn qua nhiều dạng khác nhau thông qua các hệ số β và β0 Theo quy ước, siêu phẳng được chọn phải thỏa mãn điều kiện |β 0 + β T x| = 1, trong đó x là vector đặc trưng của tập dữ liệu huấn luyện gần nhất với các siêu phẳng khả thi Những vector này được gọi là "support vector" và biểu diễn này được biết đến như một siêu phẳng kiểu mẫu (canonical hyperplane).

Sau đó, chúng ta tính khoảng cách giữa 1 điểm x và 1 siêu phẳng (β0 ,β): distance = | 0

Tin học công nghiệp – KSCLC – ĐHBKHN | 37

Nhƣ đã nói,với siêu phẳng kiểu mẫu, : |β0 + β T x| = 1 và khoảng cách tới “support vector” là: distancesupport vector = 1

|||| đƣợc gọi là biên của siêu phẳng và bài toán tìm siêu phẳng tối ƣu trở thành bài toán cực đại hóa biên (Hình 2.8 )

Hình 2.8: Minh họa cho lựa chọn đường phân chia tốt nhất

Cuối cùng, việc tối đa hóa M được chuyển thành bài toán tối thiểu hóa hàm L(β) với một số ràng buộc Mô hình này yêu cầu các ràng buộc đối với siêu phẳng nhằm phân loại chính xác tất cả các vector đặc trưng trong tập huấn luyện.

Trong bài toán tối ưu Lagrangian, yi đại diện cho nhãn của mỗi vector đặc trưng xi trong tập huấn luyện Bằng cách sử dụng các hệ số Lagrange, chúng ta có thể giải quyết bài toán này để tìm ra vector trọng số β và hệ số sai lệch β0 cho siêu phẳng tối ưu.

Tin học công nghiệp – KSCLC – ĐHBKHN | 38

BIỂU DIỄN VÀ NHẬN DẠNG CỬ CHỈ ĐỘNG CỦA TAY BỞI THÔNG TIN KHỚP XƯƠNG

Thông tin khớp xương từ cảm biến Kinect

Khung xương là một đặc trưng quan trọng, cung cấp cái nhìn tổng quan về tư thế cơ thể con người trong từng khung hình video Mỗi bộ xương được biểu diễn bởi 20 khớp, như minh họa trong Hình 3.1, và mỗi khớp xương chứa những thông tin cụ thể về vị trí và chuyển động của cơ thể.

JointType: kiểu của khớp trong số 20 khớp của xương

Hình 3.1: Biểu diễn các khớp xương trong dữ liệu CHALEARN

WorldPosition: Tọa độ X, Y, Z của khớp xương trong hệ tọa độ thế giới thực

PixelPosition: Tọa độ (x,y) của khớp xương trong mặt phẳng ảnh

WorldRotation: Biểu diễn có quay của khớp xương trong không gian 3D

 Khai thác thông tin khớp xương từ cơ sở dữ liệu CHALEARN (Dữ liệu WorldPosition 3D)

Trong nghiên cứu của mình, tôi đã khảo sát dữ liệu và nhận thấy rằng các cử chỉ tay chủ yếu được thực hiện bởi cánh tay và bàn tay Do đó, tôi đã chọn trích xuất bốn khớp xương quan trọng nhất trong việc biểu diễn cử chỉ tay, bao gồm khuỷu tay trái, cổ tay trái, khuỷu tay phải và cổ tay phải.

Tin học công nghiệp – KSCLC – ĐHBKHN | 39

Chuẩn hóa tọa độ các khớp

Trong quá trình thu thập dữ liệu, khoảng cách giữa người tham gia và Kinect có thể thay đổi, dẫn đến sự khác biệt về kích thước của người Để đảm bảo tính nhất quán trong việc trích xuất thông tin từ 4 khớp xương, các khớp đã được chuẩn hóa về cùng một hệ tọa độ, với Joint Heap Center (khớp hông) làm gốc tọa độ và đồng nhất kích thước Việc chuẩn hóa này giúp biểu diễn cử chỉ một cách bất biến, bất chấp sự thay đổi về khoảng cách giữa người và camera cũng như kích thước cơ thể.

Trong đề tài của mình, em đã thực hiện chuẩn hóa theo cách nhƣ sau:

 Đầu tiên, đƣa Hip Center (khớp hông) về gốc tọa độ và dịch chuyển toàn bộ các khớp xương tịnh tiến cùng Hip Center

Tiếp theo, chúng ta cần tính khoảng cách giữa hai khớp Hip Center và Shoulder Center (khớp cổ) Theo quan điểm của tôi, trong quá trình thực hiện cử chỉ tay, khoảng cách giữa hai khớp này không thay đổi, và có thể coi đây là mốc để chuẩn hóa các khớp.

Để chuyển đổi tọa độ các khớp xương sang tọa độ mới, ta sử dụng tỷ số giữa tọa độ cũ của khớp và khoảng cách đã tính ở bước trước Tọa độ mới này được coi là dữ liệu chuẩn hóa của khung xương Để kiểm tra tính hợp lý của kết quả chuẩn hóa, tôi đã sử dụng phần mềm Matlab 2013a để vẽ đồ thị các khung xương cho các cử chỉ, so sánh giữa tọa độ khớp gốc và tọa độ đã chuẩn hóa Kết quả cho thấy rằng khung xương đã được chuẩn hóa một cách hợp lý.

Hình 3.2.a và Hình 3.2.b thể hiện dữ liệu RGB cùng thông tin xương của cùng một cử chỉ Cosatifarei được thực hiện bởi hai người khác nhau Hình 3.3.a và Hình 3.4.a lần lượt là khớp xương trước và sau khi chuẩn hóa của cử chỉ trong Hình 3.2.a, trong khi Hình 3.3.b và Hình 3.4.b tương ứng với Hình 3.2.b.

Hình 3.2: Cử chỉ cosatifarei do 2 người khác nhau thực hiện

Tin học công nghiệp – KSCLC – ĐHBKHN | 40

Hình 3.3: Khung xương của cử chỉ cosatifarei do 2 người khác nhau thực hiện( theo trục X-Y)

Hình 3.4: Khung xương của cử chỉ cosatifarei do 2 người khác nhau thực hiện

Biểu diễn cử chỉ bởi chuỗi tọa độ một số khớp chính theo thời gian

Sau khi chuẩn hóa dữ liệu khớp xương, chúng tôi tiến hành trích xuất tọa độ của các khớp chính theo chuỗi thời gian để tạo ra một vector đặc trưng mô tả cử chỉ Trong nghiên cứu này, chúng tôi chọn vị trí 3D của 4 khớp trong mỗi khung hình, tạo thành một vector đặc trưng có kích thước 12 chiều Với một chuỗi cử chỉ gồm N khung hình, cử chỉ đó sẽ được biểu diễn bằng một vector có kích thước 12×N chiều.

Tin học công nghiệp – KSCLC – ĐHBKHN | 41

Hình 3.5 minh họa trạng thái khớp xương của hai cử chỉ khác nhau theo thời gian Tọa độ khớp xương của mỗi cử chỉ biến đổi theo một quy luật cụ thể, cho phép chúng ta biểu diễn cử chỉ đó bằng một vector nhiều chiều dựa trên thông tin tọa độ khớp xương.

Thuật toán Dynamic Time Warping (DTW)

Thuật toán DTW được sử dụng để so sánh hai mẫu tín hiệu có độ dài khác nhau theo thời gian, đặc biệt trong bài toán nhận dạng cử chỉ dựa trên thông tin xương Các cử chỉ được biểu diễn bằng các vector đặc trưng với số chiều khác nhau do số lượng khung hình không đồng nhất Việc áp dụng thuật toán DTW là cần thiết để so sánh hai chuỗi vector này, nhằm tối thiểu hóa tổng độ lệch giữa chúng Thuật toán thực hiện so sánh theo các quy tắc nhất định, đảm bảo rằng đường đi giữa các cặp vector là tối ưu nhất, từ đó cho ra kết quả tính toán hiệu quả nhất.

Hình 3.6: Mô tả thuật toán DTW

 Thuật toán DTW đƣợc mô tả nhƣ sau: int DTWDistance(s: array[1 n], t:array[1 m]{

Tin học công nghiệp – KSCLC – ĐHBKHN | 42

DTW[0,0] := 0 ; for i := 1 to n for j := 1 to m

{ cost := d(s[i], t[j]) ; DTW[i,j] := cost + min(DTW[i-1,j],DTW[i,j-1],DTW[i-1,j-1]) ;

Trong đó, d là khoảng cách, d(x,y) = |x-y|

Cho 2 chuỗi đầu vào X = {x1 ,x2 , … , xL} có độ dài L và Y = {y1, y2 , … ,yM) Khoảng cách D(X,Y) giữa chuỗi X và chuỗi Y có độ dài khác nhau L≠M đƣợc xác định bằng tổng các khoảng cách cục bộ d ij = d(x i ,y j ) trên cả đường đi của quá trình biến đổi thời gian Thuật toán sẽ tìm đường đi tối ưu của chuỗi Y theo chuỗi X (tức là các vị trí khác nhau giữa 2 chuỗi theo thời gian) sao cho tổng chênh lệch giữa 2 chuỗi vector là nhỏ nhất Khoảng cách tích lũy Dij = D(x1 … xi , y1 … yj) đƣợc xác định theo công thức: ij 1, 1 1, , 1

Và khoảng cách tổng D = DLM.

Giải thuật học máy K-Nearest Neighbors (KNN)

Thuật Toán K-Nearest Neighbor (K-NN) là một phương pháp phân loại, sử dụng các thuộc tính và lớp của các mẫu dữ liệu đã có (Training Data) để xác định lớp cho một mẫu mới Các mẫu này được tổ chức trong một không gian gọi là không gian mẫu.

Một đối tượng được phân lớp dựa vào K láng giềng gần nhất, với K là số nguyên dương được xác định trước Để tính khoảng cách giữa các đối tượng, thuật toán sử dụng khoảng cách Euclidean Trong đồ án của mình, em áp dụng thuật toán DTW để tính khoảng cách giữa các đối tượng cần phân lớp, vì các vector có số chiều khác nhau.

Các bước được thực hiện trong thuật toán KNN

 Xác định giá trị tham số K (số láng giềng gần nhất)

Tin học công nghiệp – KSCLC – ĐHBKHN | 43

 Tính khoảng cách giữa đối tƣợng cần phân lớp với tất cả các đối tƣợng trong training data (thường sử dụng khoảng cách Euclidean, Cosine…)

 Sắp xếp khoảng cách theo thứ tự tăng dần và xác định k láng giềng gần nhất của đối tƣợng cần phần lớp trong mỗi một lớp

Để phân lớp đối tượng, chúng ta cần tính khoảng cách trung bình của K láng giềng gần nhất cho từng lớp Cụ thể, sẽ có 20 khoảng cách trung bình được tính cho đối tượng cần phân lớp đối với 20 lớp chỉ định.

KNN (K-Nearest Neighbors) được sử dụng để phân lớp đối tượng bằng cách xác định khoảng cách trung bình giữa các điểm dữ liệu Để xác định lớp cho một đối tượng, ta sẽ xem xét khoảng cách ngắn nhất từ đối tượng đó đến các điểm lân cận Hình minh họa dưới đây sẽ giúp minh họa rõ hơn về cách hoạt động của KNN trong việc phân lớp.

Trong hình dưới đây, có 20 cử chỉ được biểu thị bằng dấu “+” và “-”, trong đó đối tượng cần phân lớp là hình mặt cười đỏ Nhiệm vụ của chúng ta là ước lượng và xác định số láng giềng gần nhất với đối tượng này.

Hình 3.7: Mô tả thuật toán K-NN

Ta có thể hiểu cách phân loại láng giềng nhƣ sau:

1-Nearest neighbor : Kết quả là “+”, đƣợc phân vào lớp “+”

Trong phương pháp 2-Nearest Neighbors, không thể xác định được lớp của điểm dữ liệu khi có hai láng giềng gần nhất, trong đó một thuộc lớp dương (+) và một thuộc lớp âm (–) Điều này xảy ra khi số lượng đối tượng trong hai lớp này không có sự chênh lệch đáng kể.

Kết quả phân loại theo phương pháp 5 láng giềng gần nhất cho thấy đối tượng được xếp vào lớp dấu – vì trong số 5 láng giềng gần nhất, có 3 đối tượng thuộc lớp dấu – nhiều hơn so với lớp + chỉ có 2 đối tượng.

Thuật toán DTW kết hợp với KNN cho phép phân loại các tập dữ liệu, xác định số lượng dữ liệu thuộc về từng phân lớp, đặc biệt là trong 20 tập cử chỉ của Chalearn.

Tin học công nghiệp – KSCLC – ĐHBKHN | 44

PHÂN TÍCH THIẾT KẾ VÀ TRIỂN KHAI MÔ ĐUN NHẬN DẠNG CỬ CHỈ ĐỘNG CỦA TAY NGƯỜI

THỬ NGHIỆM VÀ ĐÁNH GIÁ

Ngày đăng: 23/12/2021, 10:34

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[4] Bingbing Ni, Gang Wang, Pierre Moulin. RGBD-HuDaAct: A Color –Depth Video Database for human daily activity recognition, 1 st IEEE workshop on Consumer Depth Cameras for Computer Vision, in conjunction with ICCV 2011 Sách, tạp chí
Tiêu đề: 1"st" IEEE workshop on Consumer Depth Cameras for Computer Vision
[5] L. Bo, X. Ren, D. Fox. Kernel Descriptors for Visual Recognition, University of Washington & Intel Labs Seattle, NIPS 2010 Sách, tạp chí
Tiêu đề: University of Washington & Intel Labs Seattle
[6] Thi Thanh Hai Tran, Van Toi Nguyen, Van Ngoc Nguyen, Quentin Midy. Vision based dynamic hand gesture recognition, ICT PAMM Workshop on Mobility Assistance and service Robotics Program, 2013 Sách, tạp chí
Tiêu đề: ICT PAMM Workshop on Mobility Assistance and service Robotics Program
[7] Olivier Chapelle. Support vector machines for image classification, Stage de deuxième année de magistère d’informatique de l’École Normale Supérieur de Lyon, 1998 Sách, tạp chí
Tiêu đề: Stage de deuxième année de magistère d’informatique de l’École Normale Supérieur de Lyon
[10] N.Dalal, B.Triggs. Histograms of Oriented Gradients for Human Detection. In Computer Vision and Pattern Recognition, 2005. CVPR, 2005. IEEE Computer Society Conference on, volume 1, pages 886-893. IEEE, 2005 Sách, tạp chí
Tiêu đề: In Computer Vision and Pattern Recognition
[1] ChaLearn. Multi-modal Gesture Recognition Challenge 2013. http://gesture.chalearn.org/ Link
[8] L. Auria, R.-A Moro. Support Vector Machine (SVM) as a technique for solvency analysis, Berlin, August 2008 Khác
[9] D.I.,Kosmopoulos, P. Doliotis,V. Athitsos, I. Maglogiannis. Fusion of Color and Depth Video for Human Behavior Recognition in an Assistive Environment. In HCI (25)(2013) Khác
[11] James W. Davis. Hierarchical Motion History Images for Recognizing Human Motion, in Detection and Recognition of Events in Video, In IEEE Workshop, 2001 Khác
[12] Md. Atiqur Rahman Ahad, J. K. Tan, H. Kim, S. Ishikawa. Motion history image: its variants and applications, Springer-Verlag New York, Inc. Secaucus, NJ, USA, 03-2012 Khác
[13] Andreas Bulling, Ulp Blanke, Bernt Schiele. A Tutorial on Human Activity Recognition Using Body-worn Inertial Sensors, ACM Computing Surveys, Vol. X, No. X, 06-2013 Khác
[14] S. Lazebnik, C. Schmid, J. Ponce. Computer Vision and Pattern Recognition, IEEE Computer Society Conference on (Volume 2), pages 2169-2178, 2006 Khác
[15] Liang Wang, Weiming Hu, Tieniu Tan. Recent developments in human motion analysis, In Pattern Recognition, Volume 36, Issue 3, pages 585-601, 03-2003 Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Nhận dạng cử chỉ động theo phương pháp ELM [3] - Nhn dng c ch dng ca tay s dng c
Hình 1.1 Nhận dạng cử chỉ động theo phương pháp ELM [3] (Trang 12)
Hình 1.2: Các khung hình RGB và thông tin xương tương ứng cho 2 cử chỉ giống nhau - Nhn dng c ch dng ca tay s dng c
Hình 1.2 Các khung hình RGB và thông tin xương tương ứng cho 2 cử chỉ giống nhau (Trang 13)
Hình 1.3: Đặc trưng HOG trích chọn từ vùng tay trái và tay phải - Nhn dng c ch dng ca tay s dng c
Hình 1.3 Đặc trưng HOG trích chọn từ vùng tay trái và tay phải (Trang 13)
Hình 1.4: Tỷ lệ lỗi đối với tính đặc trưng trên 2 tay và trên tay trội hơn - Nhn dng c ch dng ca tay s dng c
Hình 1.4 Tỷ lệ lỗi đối với tính đặc trưng trên 2 tay và trên tay trội hơn (Trang 14)
Hình 1.5: Kết quả khi kết hợp tối ưu đối với tập dữ liệu thử nghiệm - Nhn dng c ch dng ca tay s dng c
Hình 1.5 Kết quả khi kết hợp tối ưu đối với tập dữ liệu thử nghiệm (Trang 15)
Hình 1.7: Kết quả phát hiện điểm kết thúc của cử chỉ - Nhn dng c ch dng ca tay s dng c
Hình 1.7 Kết quả phát hiện điểm kết thúc của cử chỉ (Trang 16)
Hình 1.9: Kết quả phân loại dựa trên dữ liệu Audio  Bảng 1.2: Kết quả khi sử dụng đặc trưng Audio - Nhn dng c ch dng ca tay s dng c
Hình 1.9 Kết quả phân loại dựa trên dữ liệu Audio Bảng 1.2: Kết quả khi sử dụng đặc trưng Audio (Trang 17)
Hình 1.10: Kết quả phân loại cử chỉ dựa trên đặc trưng skeleton - Nhn dng c ch dng ca tay s dng c
Hình 1.10 Kết quả phân loại cử chỉ dựa trên đặc trưng skeleton (Trang 18)
Hình 1.12: Đồ thị so sánh kết quả của 3 cách sử dụng dữ liệu - Nhn dng c ch dng ca tay s dng c
Hình 1.12 Đồ thị so sánh kết quả của 3 cách sử dụng dữ liệu (Trang 20)
Hình 1.13: Một chuỗi với các xác suất phân lớp - Nhn dng c ch dng ca tay s dng c
Hình 1.13 Một chuỗi với các xác suất phân lớp (Trang 22)
Hình 1.15: Pha huấn luyện của mô hình nhận dạng cử chỉ động của tay - Nhn dng c ch dng ca tay s dng c
Hình 1.15 Pha huấn luyện của mô hình nhận dạng cử chỉ động của tay (Trang 25)
Hình 1.16: Pha thử nghiệm của mô hình nhận dạng cử chỉ động của tay - Nhn dng c ch dng ca tay s dng c
Hình 1.16 Pha thử nghiệm của mô hình nhận dạng cử chỉ động của tay (Trang 25)
Hình 2.1: Hàng trên: Các keyframes của một chuyển động của tay      Hàngdưới: Ảnh MHI tương ứng với mỗi keyframe - Nhn dng c ch dng ca tay s dng c
Hình 2.1 Hàng trên: Các keyframes của một chuyển động của tay Hàngdưới: Ảnh MHI tương ứng với mỗi keyframe (Trang 29)
Hình 2.2: MHI-Color,MHI-Depth, bMHI và fMHI của cử chỉ Buonissimo - Nhn dng c ch dng ca tay s dng c
Hình 2.2 MHI-Color,MHI-Depth, bMHI và fMHI của cử chỉ Buonissimo (Trang 30)

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

TÀI LIỆU LIÊN QUAN

w