Xây dựng game tương tác cho trẻ em sử dụng KINECT

26 338 1
Xây dựng game tương tác cho trẻ em sử dụng KINECT

Đ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

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA ⎯⎯⎯⎯⎯⎯⎯⎯⎯ NGUYỄN THỊ PHƯỢNG VĨ XÂY DỰNG GAME TƯƠNG TÁC CHO TRẺ EM SỬ DỤNG KINECT Chuyên ngành: Khoa học máy tính Mã số: 60.48.01.01 TĨM TẮT LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Đà Nẵng – Năm 2018 Cơng trình hồn thành TRƯỜNG ĐẠI HỌC BÁCH KHOA Người hướng dẫn khoa học: TS HUỲNH HỮU HƯNG Phản biện 1: TS Phạm Minh Tuấn Phản biện 2: TS Lê Xuân Vinh Luận văn bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp thạc sĩ Khoa học máy tính Trường Đại học Bách Khoa – Đại Học Đà Nẵng vào ngày 16 tháng 06 năm 2018 Có thể tìm hiểu luận văn tại: − Trung tâm Học liệu, Đại học Đà Nẵng Trường Đại học Bách khoa − Thư viện Khoa Công nghệ thông tin, Trường Đại học Bách khoa – ĐHĐN MỞ ĐẦU Lý chọn đề tài Với phát triển máy tính điện tử việc tiếp cận game giải trí người dùng ngày dễ dàng Việc chơi game giúp bạn xả stress lúc nơi Hiện nay, thị trường có nhiều loại game để tham gia vào loại game bắt buộc game thủ phải tương tác với máy tính thơng qua thiết bị chuột, phím, remote điều khiển…thường tạo cho game thủ bất tiện cảm giác để trải nghiệm game chưa thật hấp dẫn nhập vai Ngày nay, nhu cầu đặt game thủ làm cách người chơi nhập vai để trải nghiệm cảm giác trực tiếp tương tác để điều khiển thiết bị mà chơi đứng trước hình tham gia vào game show mà khơng đòi hỏi nhiều hệ thống thiết bị Với kỹ thuật phát nhận dạng cử người chơi game thị trường nói chung nhận dạng cử người chơi game tương tác cho trẻ em nói riêng người chơi thực động tác nào?, người chơi mong muốn máy phản ứng sao? …được ứng dụng lĩnh vực game tương tác sử dụng Kinect cho phép người chơi tương tác với máy dễ dàng thuận tiện mà không cần phải mang thêm thiết bị ngoại vi thách thức nhà sản xuất game Với lí trên, tơi đề xuất chọn đề tài luận văn cao học: “Xây dựng game tương tác cho trẻ em sử dụng Kinect” Mục tiêu nhiệm vụ nghiên cứu 2.1 Mục tiêu nghiên cứu Đề xuất giải pháp nhận dạng cử tay động tác người trước Kinect để điều khiển với liệu thu từ camera Kinect để xây dựng chương trình cho phép người dùng chọn tương tác cử tay động tác người trước Kinect để điều khiển ứng dụng hỗ trợ chơi game tương tác cho trẻ em 2.2 Nhiệm vụ nghiên cứu - Nghiên cứu kỹ thuật xử lý ảnh - Tìm hiểu phương pháp nhận dạng, phân tích hành vi người trước Kinect nhằm phục vụ tương tác người – máy - Xây dựng chương trình demo để kiểm tra tính hiệu giải pháp Đối tượng phạm vi nghiên cứu 3.1 Đối tượng nghiên cứu - Các cử tay bàn tay - Các phương pháp, giải thuật nhận dạng cử chỉ, động tác người trước Kinect để điều khiển người chơi - Các kỹ thuật xử lý nhận dạng để phục vụ toán nhận dạng cử chỉ, động tác người trước Kinect để điều khiển người chơi 3.2 Phạm vi nghiên cứu - Nghiên cứu kỹ thuật xử lý ảnh nhận dạng đối tượng - Nghiên cứu phương pháp phát chuyển động đối tượng bàn tay, khớp tay nhận dạng cử tay để tương tác người chơi– máy Phương pháp nghiên cứu 4.1 Phương pháp nghiên cứu lý thuyết - Cơ sở lý thuyết kỹ thuật xử lý ảnh - Cơ sở lý thuyết phương pháp nhận dạng cử tay động tác trước Kinect để điều khiển 4.2 Phương pháp nghiên cứu thực nghiệm - Nghiên cứu khai thác công cụ Kinect Microsoft - Xây dựng chương trình demo dựa giải pháp đề xuất - Thực nghiệm liệu đầu vào hình ảnh thu thập vào từ Kinect Ý nghĩa khoa học thực tiễn luận văn 5.1 Ý nghĩa khoa học Cung cấp mặt lý thuyết để làm rõ phương pháp nhận dạng cử tay động tác người trước Kinect để điều khiển kỹ thuật xử lý ảnh phục vụ toán nhận dạng Kết thu hệ thống nhận dạng cử tay động tác người trước Kinect để điều khiển hỗ trợ việc chọn chơi game cách trực quan, hấp dẫn dễ dàng 5.2 Ý nghĩa thực tiễn Góp phần hỗ trợ cho việc điều khiển máy tính làm việc cử tay động tác người trước Kinect để điều khiển cách hiệu quả, nâng cao tương tác người máy, ứng dụng hỗ trợ tích cực cho nhà sản xuất game thời đại ngày CHƯƠNG -TỔNG QUAN VỀ XÂY DỰNG GAME TƯƠNG TÁC CHO TRẺ EM SỬ DỤNG KINECT 1.1 Các vấn đề liên quan đến thiết bị camera Kinect 1.1.1 Giới thiệu thiết bị camera Kinect Kinect sử dụng webcam, thiết bị thu phát sóng hồng ngoại thiết bị thu nhận âm để ghi nhận tín hiệu chuyển động game thủ nhận dạng lệnh điều khiển thông qua giọng nói, giúp cho game thủ tương tác với Xbox 360 mà khơng cần chạm vào thiết bị điều khiển Trong đó, game thủ thao tác thật 1.1.2 Những thành phần Kinect 1.1.3 Thư viện hỗ trợ Kinect - Thư viện Libfreenect - Thư viện Code Laboratories Kinect - Thư viện OpenNI - Thư viện Kinect SDK 1.1.4 Một số ứng dụng Kinect 1.2 Giới thiệu nhận dạng cử tay giao tiếp người-máy 1.2.1 Tiến trình nhận dạng cử tay a Sơ đồ khối hệ thống nhận dạng cử tay Tiến trình nhận dạng cử tay có dạng sau: Hình 1.7 - Sơ đồ khối hệ thống nhận dạng cử tay b Dữ liệu vào Dữ liệu vào hình ảnh, chuỗi hình ảnh (video) chụp máy ảnh hướng phía bàn tay người thực cử c.Tiền xử lý Mục đích giai đoạn tối ưu hình ảnh thu từ giai đoạn trước để chuẩn bị trích xuất đặc trưng giai đoạn Chất lượng hình ảnh thu phụ thuộc vào điều kiện sáng chất lượng thiết bị ghi hình Từ hình ảnh thu nhận liệu vào ta thực xử lý ảnh như: chỉnh ảnh, chuẩn hóa ánh sáng, loại bỏ nhiễu, phân đoạn ảnh, lọc màu da, d Trích chọn đặc trưng Trong giai đoạn trích chọn đặc trưng, đối tượng đại diện véc tơ đặc trưng Mục tiêu chủ yếu trích chọn đặc trưng trích xuất tập hợp đặc trưng, tối đa hóa tỷ lệ nhận dạng với nhầm lẫn nhỏ Các đặc điểm đối tượng trích chọn tuỳ theo mục đích nhận dạng q trình xử lý ảnh e.Nhận dạng Có nhiều kỹ thuật nhận dạng khác như: đối sánh mẫu, máy hỗ trợ véc tơ (SVM), mạng nơ-ron nhân tạo (ANN), mơ hình Makov ẩn (HMM),… 1.2.2 Một số ứng dụng dựa nhận dạng cử tay a Ứng dụng thực tế ảo b Ứng dụng điều khiển robot c Điều khiển máy tính d Ứng dụng y học e Ứng dụng lĩnh vực giải trí f Ứng dụng ngôn ngữ ký hiệu 1.3 Lập trình game sử dụng Unity 1.3.1 Unity gì? 1.3.2 Tổng quan engine Unity Giao diện Unity giống nhiều mơi trường làm việc khác layout tùy chỉnh Layout Unity bao gồm nhiều tab khác bật tắt Chúng ta xem xét cách bố trí giao diện Unity điển hình: Hình 1.21 - Giao diện Editor Unity 1.3.3 Tính engine Unity 1.3.4 Tổng quan kiến trúc engine Unity 1.4 Giới thiệu game tương tác cho trẻ em Game chém hoa tên tiếng Việt game Fruit Ninja, tên gọi người chơi chém loại quen thuộc sống hàng ngày như: dứa, dâu, dưa hấu, táo, dừa theo cách mãnh liệt Ninja thực thụ Những đặc điểm bật game: - Game có yếu tố giải trí cao - Game có đồ họa đẹp - Âm sống động hút hồn - Nhiều chơi, chế độ chơi - Rủi ro game KẾT CHƯƠNG Chương giới thiệu tổng quan thiết bị camera Kinect để nhận dạng cử tay giao tiếp người – máy, giới thiệu nhận dạng cử tay, giới thiệu lập trình game unity game tương tác cho trẻ em sử dụng camera Kinect CHƯƠNG - MỘT SỐ KỸ THUẬT TRÍCH CHỌN ĐẶC TRƯNG VÀ NHẬN DẠNG CỬ CHỈ TAY 2.1 Một số kỹ thuật trích chọn đặc trưng cử tay 2.1.1 Đặc trưng chuyển động bàn tay Kênh khung xương liệu thu từ camera Kinect cho phép ta trích vị trí bàn tay theo thời gian Như ta có quỹ đạo chuyển động bàn tay danh sách điểm khơng gian chiều Vì số lượng khung ảnh cử tay không giống nên ta sử dụng trực tiếp danh sách điểm đặc trưng quỹ đạo Ta cần phải trích đặc trưng cho độc lập với số lượng khung ảnh cử Nhóm tác giả [4] tiến hành nghiên cứu đặc trưng có tính chất theo hướng: canh lề nội suy theo quỹ đạo, tổng hợp thông tin theo thời gian kết hợp hai hướng dựa tinh thần đặc trưng cục SIFT Từ đó, đề xuất phương pháp cho việc trích xuất đặc trưng quỹ đạo chuyển động 2.1.2 Đặc trưng thành phần PCA Thuật tốn PCA xây dựng theo bước: - Bước 1: Tiền xử lí - Bước 2: Xây dựng không gian - Bước 3: Chuyển liệu từ không gian ban đầu sang không gian 2.1.3 Đặc trưng HOG Các bước trích đặc trưng HOG ảnh: Bước 1: Tính cường độ hướng biến thiên pixel Bước 2: Chia ảnh đầu bước thành nhiều khối (block), khối có số nhau, có số pixels Bước 3: Tính vectơ đặc trưng cho khối tính vectơ đặc 10 Hình 2.9 – Các đặc trưng Haar-Like Để phát đối tượng ảnh tốt hơn, đặc trưng HaarLike mở rộng thành nhóm đặc trưng cạnh, đặc trưng đường đặc trưng tâm [37] (xem Hình 2.10) Hình 2.10 – Các đặc trưng Haar-Like mở rộng 2.1.6 Đặc trưng GIST a Giới thiệu ý tưởng b Tính tốn đặc trưng GIST Đặc trưng GIST tiến hành theo bước sau: - Ảnh đầu vào sau tiền xử lý tách thành kênh màu Red, Green Blue riêng biệt - Áp dụng phép biến đổi Fourier kênh màu - Ứng với ảnh Fourier áp dụng 20 lọc Gabor lên ảnh Bộ lọc Gabor tạo scale hướng Trong đó, scale scale sử dụng lọc, scale sử dụng lọc - Cuối cùng, kết lọc đưa qua phép biến đổi Fourier ngược, sau chia thành 16 vùng trích đặc trưng Kết vùng đặc trưng 2.1.7 Đặc trưng xương ảnh bàn tay (Skeleton of the Hand) a Giới thiệu ý tưởng b Phương pháp tìm xương ảnh Các kỹ thuật tìm xương ln chủ đề nghiên cứu xử lý ảnh Do tính phức tạp nên có nỗ lực cho việc 11 phát triển thuật tốn tìm xương phương pháp đưa bị mát thơng tin Có thể chia thành hai loại cho thuật tốn tìm xương bản: Các thuật tốn tìm xương dựa làm mảnh thuật tốn tìm xương khơng dựa làm mảnh 2.2 Một số kỹ thuật nhận dạng cử tay 2.2.1 Kỹ thuật sử dụng máy vector hỗ trợ - SVM Máy vectơ hỗ trợ (SVM - viết tắt tên tiếng Anh support vector machine) khái niệm thống kê khoa học máy tính cho tập hợp phương pháp học có giám sát liên quan đến để phân loại phân tích hồi quy SVM dạng chuẩn nhận liệu vào phân loại chúng vào hai lớp khác Do SVM thuật toán phân loại nhị phân Nhiều thử nghiệm ứng dụng khác cho thấy SVM phương pháp phân loại có độ xác cao tương đối tổng quát cho tốn nhận dạng Hình 2.16 - Minh họa mơ hình SVM Xét tốn nhị phân có giám sát Nếu liệu biểu diễn bởi, {xi,yi}, i=1, 2, …, N yi ∈ {−1, +1}, với N số mẫu huấn luyện, yi=+1 mẫu huấn luyện lớp dương lớp 𝜔1 yi= -1 mẫu huấn luyện lớp âm lớp 𝜔2 [14],[25],[28] Giả sử lớp phân tách tuyến tính (linearly separable), có nghĩa tìm thấy siêu phẳng xác định vecto w với sai lệch w0, tối thiểu hóa giới hạn lỗi (phân lớp) mắc phải: 𝑓(𝑥) = 𝑤 𝑥 + 𝑤0 = (2.35) 12 Để tìm siêu phẳng, w w0 cần tính sau: 𝑦𝑖 (𝑤 𝑥𝑖 + 𝑤0 ) ≥ +1, 𝑦𝑖 = +1 ( lớp𝜔1 ) 𝑦𝑖 (𝑤 𝑥𝑖 + 𝑤0 ) ≤ −1, 𝑦𝑖 = −1 (lớp 𝜔2 ) Hai phương trình kết hợp để có được: 𝑦𝑖 (𝑤 𝑥𝑖 + 𝑤0 ) − ≥ Chúng ta cần chọn w w0 mặt phẳng siêu phẳng phân tách có biên (margin) lớn Các siêu mặt phẳng xác định sau: 𝑤 𝑥𝑖 + 𝑤0 = ±1 Hình 2.17 - Minh họa khoảng cách biên Với liệu chia tách cách tuyến tính, ta chọn hai siêu phẳng biên cho khơng có điểm chúng sau tăng khoảng cách chúng đến tối đa Bằng hình học, ta tìm khoảng cách hai siêu phẳng ‖𝑤‖ Vì ta cần cực tiểu hóa giá trị ‖𝑤‖ Để đảm bảo khơng có điểm liệu biên ta thêm vào điều kiện sau, với i ta có: 𝑦𝑖 (𝑤 𝑥𝑖 + 𝑤0 ) − ≥ 0, 𝑖 = 0,1, , , 𝑁 Sử dụng cơng thức Lagrange, vấn đề chuyển thành: Cực đại hóa: 𝑁 ∑𝑁 𝑖=1 λ𝑖 − ∑𝑖,𝑗=1 λ𝑖 λ𝑗 𝑦𝑖 𝑦𝑗 (𝑥𝑖 𝑥𝑗 ) Với điều kiện: (2.36) 13 𝑁 ∑ λ𝑖 𝑦𝑖 = 𝑣à λ𝑖 ≥ 0, 𝑖 = 1, 2, … , 𝑁 𝑖=1 Với λ𝑖 hệ số nhân Lagrange Theo công thức này, hàm phân lớp siêu phẳng tối ưu trở thành: 𝑓(𝑥) = ∑ λ𝑖 𝑦𝑖 (𝑥𝑖 𝑥) + 𝑤0 𝑖∈𝑆 Với S tập mẫu huấn luyện tương ứng với hệ số nhân Lagrange khác Mẫu huấn luyện gọi vecto hỗ trợ Để xử lý trường hợp chứa nhiễu, cần nới lỏng điều kiện biên cách sử dụng biến slack ξ 𝑖 (≥ 0) Hình 2.19 - Xử lý trường hợp chứa nhiễu Cần phải tích hợp lỗi hàm tối ưu mục tiêu cách gán giá trị chi phí (cost) cho lỗi tích hợp chi phí hàm mục tiêu mới: Cực tiểu hóa: 𝐽(𝑤, 𝑤0 , ξ ) = ‖𝑤‖ + 𝐶 ∑𝑁 𝑖=1 ξ 𝑖 (2.37) Với điều kiện: 𝑖 (𝑤 𝑥 + 𝑤0 ) ≥ − ξ 𝑖 Trong trường hợp phân chia tuyến tính, cách tiếp cận sử dụng SVM ánh xạ vectơ không gian gốc sang khơng gian mới, thường có số chiều lớn Vấn đề việc tính tốn ánh xạ có độ phức tạp tính tốn lớn Để tránh việc 14 tính tốn ánh xạ, kỹ thuật sử dụng dùng hàm nhân Hàm nhân cho phép tính tích vơ hướng hai vectơ không gian mà không cần biết ánh xạ thực véctơ khơng gian Φ(x) Φ(z)=K(x,z) Hình 2.20 - Áp dụng Kernel phân loại khơng gian đặc trưng Trong K(x,z) hàm nhân, hàm sử dụng trực tiếp mà khơng cần tìm hàm ánh xạ Φ Đối với toán tối ưu kép tạo sau: Cực đại hóa: 𝑁 ∑𝑁 𝑖=1 𝜆𝑖 − ∑𝑖,𝑗=1 𝜆𝑖 𝜆𝑗 𝑦𝑖 𝑦𝑗 𝐾(𝑥𝑖 𝑥𝑗 ) (2.38) Với điều kiện: 𝑁 ∑ 𝜆𝑖 𝑦𝑖 = 𝑣à 𝜆𝑖 ≥ 0, 𝑖 = 1,2, … , 𝑁 𝑖=1 Kết phân lớp: 𝑓(𝑥) = ∑ 𝜆𝑖 𝑦𝑖 𝐾(𝑥𝑖 𝑥) + 𝑤0 𝑖∈𝑆 Mục đích thuật tốn SVM tìm khoảng cách biên lớn để tạo kết phân lớp tốt Khoảng cách biên lớn mặt phẳng định tốt đồng thời việc phân loại xác 2.2.2 Kỹ thuật sử dụng mạng nơ-ron nhân tạo - ANN 2.2.3 Kỹ thuật K-láng giềng gần 2.2.4 Kỹ thuật sử dụng mơ hình Markov ẩn – HMM 15 2.3 Mô tả game chém trái sử dụng Kinect Hình 2.26 - Sơ đồ mô tả game chém trái sử dụng Kinect KẾT CHƯƠNG Trong chương luận văn giới thiệu số kỹ thuật trích chọn đặc trưng nhận dạng cử tay thường sử dụng phổ biến, phương pháp có ưu điểm hạn chế riêng, việc áp dụng phương pháp tùy thuộc vào toán cụ thể Trong số toán, người ta sử dụng kết hợp số phương pháp với SVM/HMM, ANN/HVM,… để có kết nhận dạng tốt 16 CHƯƠNG - XÂY DỰNG HỆ THỐNG NHẬN DẠNG CỬ CHỈ TAY ỨNG DỤNG CHƠI GAME CHÉM TRÁI CÂY SỬ DỤNG KINECT 3.1 Mơ tả tốn Hình 3.1 - Sơ đồ khối toán 3.2 Giải pháp đề xuất hệ thống 3.2.1 Sơ đồ hoạt động hệ thống Hình 3.2 - Sơ đồ khối hệ thống nhận dạng cử tay ứng dụng chơi game chém trái 17 3.2.2 Phát bàn tay Hình 3.3 - Sơ đồ vị trí người thực cử camera Kinect Khi biểu diễn cử chỉ, người thực đưa tay vào miền [0.8, 0.8 + α] ảnh độ sâu thu chứa vùng bàn tay Ràng buộc không gây bất tiện đáng kể nào, người sử dụng thường có xu hướng đứng vị trí cách camera khoảng cố định 3.2.3 Tiền xử lý 3.2.4 Trích chọn đặc trưng 3.2.5 Nhận dạng cử tay Thuật toán SVM: Xét toán phân lớp đơn giản – phân lớp hai lớp với tập liệu mẫu {(xi, yi), i = 1, 2,…, N, xi ∈Rm}, tập mẫu vector đối tượng gán nhãn thành mẫu dương mẫu âm sau : - Mẫu dương mẫu xi thuộc lớp quan tâm gán nhãn yi = - Mẫu âm mẫu xi không thuộc lớp cần quan tâm gán yi = - Phương pháp thực chất lời giải cho tốn tối ưu, mục tiêu tìm không gian H siêu mặt phẳng định h H cho sai số phân lớp thấp Trong 18 trường hợp này, tập phân lớp SVM mặt siêu phẳng phân tách mẫu dương khỏi mẫu âm với độ chênh lệch cực đại, độ chênh lệch – gọi lề - xác định khoảng cách mẫu dương mẫu âm gần siêu phẳng Siêu phẳng gọi siêu phẳng lề tối ưu Hình 3.6 - Minh họa tốn phân lớp phương pháp SVM Các siêu phẳng không gian đặc trưng n chiều có phương trình tổng qt: C + w1x1+ w2x2+ … + wnxn= (3.1) Phương trình tương đương với C + Σwi xi= (với i = 1,…,n), giá trị w = (w1, w2, …, wn) hệ số siêu phẳng vector trọng số, C độ dịch chuyển, thay đổi w C hướng khoảng cách từ gốc toạ độ đến siêu phẳng thay đổi Bộ phân lớp SVM định nghĩa sau: f(x) = sign(C + Σwixi) (3.2) Trong đó: sign(z) = +1 z ≥ 0, (3.3) sign(z) = -1 z < Nếu f(x) = +1 x thuộc lớp dương (miền quan tâm) Ngược lại, f(x) = -1 x thuộc lớp âm (miền khác) Mơ hình học máy SVM tạo siêu phẳng phụ thuộc vào tham số vector trọng số w độ dịch chuyển C Mục tiêu phương pháp SVM ước lượng w C để cực đại hóa lề lớp liệu 19 dương âm Các giá trị khác lề cho ta họ siêu mặt phẳng khác nhau, lề lớn khả phân lớp SVM tăng sai số tổng quát giảm Quá trình phân lớp tối ưu sai số phân lớp cực tiểu Ta có phương trình sau: 𝐶 ∑ℓ𝑖=1 n𝑖 + w,b,n ‖𝑤‖2 (3.4) 𝑠 𝑡 𝑦𝑖 [𝑤 𝑥𝑖 − 𝑏] + n𝑖 ≥ n𝑖 ≥ 0, 𝑖 = 1, … , ℓ Tìm vector trọng số w sai số điểm tập huấn luyện ηi, ta có phương trình tổng qt siêu phẳng tìm thuật tốn SVM: f(x1, x2,…, xn) = C +Σwi xi (3.5) với i = 1,…, n, n số liệu huấn luyện Sau tìm phương trình siêu phẳng thuật tốn SVM, áp dụng cơng thức để tìm nhãn lớp cho liệu Huấn luyện SVM: Ứng dụng SVM toán phân lớp cử tay: Một mơ hình SVM phân lớp nhị phân Vì vậy, để áp dụng SVM cho toán phân lớp cử tay, với số lớp liệu lớn 2, người ta thường sử dụng hai chiến lược chính: – tất hay – để xử lý liệu đa lớp Với chiến lược – tất cần xây dựng k mơ hình SVM ứng với k lớp Với mơ hình thứ i, ta xem lớp i lớp dương lớp khác xem lớp âm Để nhận dạng phần tử liệu thuộc lớp ta cho k mô hình SVM phân lớp phần tử, sau định lớp phần tử phương pháp bình chọn số 20 đông Với Chiến lược – xử lý tương tự Tuy nhiên, ta cần phải xây dựng 𝐶2𝑘 = 𝑘(𝑘−1) mơ hình tất cả, mơ hình xây dựng dựa liệu lớp 3.3 Xây dựng chương trình ứng dụng 3.3.1 Tổng quan chương trình Chương trình viết ngơn ngữ lập trình C# phần mềm Visual Studio 2017 Microsoft, với hỗ trợ thư viện Microsoft Kinect SDK Chương trình xây dựng với chức cho phép người chơi chơi game chém trái cử tay Khi người chơi đứng trước Camera Kinect, hình khởi động xuất hiện; người chơi chém vào nút “bắt đầu” để vào game Các loại trái bom bay ngẫu nhiên hình, người chơi cần dùng tay chém vào khơng gian cho “trúng” trái để ghi điểm, trúng bom bị trừ điểm Camera Kinect thu lại tọa độ khớp xương cần thiết để vẽ lại hình bóng người chơi để người chơi dễ dàng xác định vị trí Người chơi sử dụng cử nắm tay để chém lúc tất trái xuất hình đạt mốc điểm quy định Mỗi loại trái có giá trị điểm số khác Khi chém trúng trái cộng điểm tương ứng Chém trúng bom bị trừ điểm Game kết thúc điểm số chém trúng bom lần 21 3.3.2 Xây dựng CSDL hình ảnh trái 3.3.3 Thuật toán Bước 1: - Khởi động Kinect; - Lấy tọa độ khớp xương người dùng để lấy tọa độ khớp xương bàn tay; - Tạo giao diện game cho loại trái cây, bom xuất ngẫu nhiên Bước 2: Kiểm tra tọa độ bàn tay có trùng khớp với tọa độ trái bay? - Đúng: Thực bước 3; - Sai: Chuyển bước 7; Bước 3: Kiểm tra trạng thái bàn tay có mở khơng? - Mở: Thực bước 4; - Nắm: Chuyển bước 5; Bước 4: Cho xuất hình ảnh trái bị chém cộng điểm tương ứng Bước 5: Kiểm tra điểm số có đạt ngưỡng để chém tất chưa? - Đúng: Thực bước 6; - Sai: bỏ qua; Bước 6: Cho tất trái xuất hình bị chém.Tính điểm Bước 7: Kiểm tra tọa độ bàn tay có trùng khớp với tọa độ bom bay không? - Đúng: Thực bước 8; - Sai: Bỏ qua; Bước 8: Kiểm tra số điểm âm chưa? - Đúng: Chuyển qua bước 10; 22 - Sai: Chuyển qua bước 9; Bước 9: Kiểm tra số lần chém trúng bom vượt qua chưa? - Đúng: Chuyển qua bước 10; - Sai: tăng số lần chém trúng bom lên 1; Trừ điểm; Bước 10: Kết thúc 3.3.4 Chương trình Thuật tốn cài đặt chương trình: Hình 3.9 - Sơ đồ mơ tả thuật tốn cài đặt chương trình Giao diện chương trình Dùng cử tay để thực chơi game 3.3.5 Thực nghiệm KẾT CHƯƠNG Chương trình bày hệ thống nhận dạng cử tay ứng dụng hỗ trợ cho người dùng chơi game chém trái bao gồm: Mô tả toán; Đưa giải pháp đề xuất cho hệ thống nhận dạng (Phát bàn tay; Tiền xử lý; Trích chọn đặc trưng; Thuật tốn SVM thơng qua việc huấn luyện SVM ứng dụng SVM toán phân lớp cử tay); Xây dựng chương trình ứng dụng dựa giải pháp đề xuất; Thực nghiệm chương trình 23 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Lĩnh vực nhận dạng nước giới phát triển đạt thành tựu đáng kể thời gian gần Trong luận văn tơi trình bày tổng qt kiến thức tảng lĩnh vực xử lý ảnh ứng dụng ngành công nghệ nhận dạng cử tay Từ đó, tơi thực đề tài nhận dạng cử tay giao tiếp người-máy, với mục tiêu thiết kế giao diện người-máy cho phép giao tiếp hiệu hấp dẫn, hỗ trợ người chơi game chém trái cách vui vẻ, thú vị với giao diện dễ sử dụng, đẹp mắt hấp dẫn Qua trình nghiên cứu thực hiện, luận văn trình bày kiến thức tổng quan cử tay sở lý thuyết nhận dạng cử tay giao tiếp người-máy Luận văn nghiên cứu lựa chọn kỹ lưỡng số kỹ thuật trích chọn đặc trưng ảnh cử tay, thuật toán nhận dạng cử tay phổ biến hiệu Đồng thời luận văn tìm hiểu khả ứng dụng hiệu nhận dạng xác số hệ thống nhận dạng cử tay số tác giả xây dựng trước Từ lựa chọn thuật tốn SVM thơng qua việc huấn luyện SVM ứng dụng SVM toán phân lớp cử tay; Xây dựng thành cơng chương trình ứng dụng dựa giải pháp đề xuất; góp phần xây dựng chương trình ứng dụng với chức cho phép người chơi game chém trái cử tay với hỗ trợ thư viện Microsoft Kinect SDK Trong q trình thực đề tài, có nhiều hạn chế nên kết đạt chưa cao: CSDL chưa phong phú, giới hạn người chơi, giới hạn cử điều khiển đơn giản người chơi vào vị trí tầm nhìn khuất việc nhận dạng cử tay ảnh hưởng khơng nhận dạng cử 24 Hướng phát triển Trong tương lai, tơi cải thiện thuật tốn phát bàn tay số thao tác xử lý để xác định bàn tay xác Bên cạnh tơi bổ sung số đặc trưng khác xem xét hình dạng bàn tay từ nhiều hướng để phân biệt nhầm lẫn q trình nhận dạng Tơi nâng cấp để hệ thống nhận dạng cử hai tay, nhiều người chơi lúc Cải tiến hình ảnh trái hình ảnh 3D tạo hiệu ứng hấp dẫn cho người chơi ... chơi game tương tác cho trẻ em nói riêng người chơi thực động tác nào?, người chơi mong muốn máy phản ứng sao? …được ứng dụng lĩnh vực game tương tác sử dụng Kinect cho phép người chơi tương tác. .. CHƯƠNG -TỔNG QUAN VỀ XÂY DỰNG GAME TƯƠNG TÁC CHO TRẺ EM SỬ DỤNG KINECT 1.1 Các vấn đề liên quan đến thiết bị camera Kinect 1.1.1 Giới thiệu thiết bị camera Kinect Kinect sử dụng webcam, thiết bị... thêm thiết bị ngoại vi thách thức nhà sản xuất game Với lí trên, tơi đề xuất chọn đề tài luận văn cao học: Xây dựng game tương tác cho trẻ em sử dụng Kinect Mục tiêu nhiệm vụ nghiên cứu 2.1 Mục

Ngày đăng: 11/08/2018, 07:09

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan