Công nghệ điện tử Viễn thông Ứng dụng cảm biến 3D Kinect trong nhận diện ngôn ngữ cử chỉ tiếng Việt hỗ trợ việc giao tiếp với người khuyết tật khiếm thính

28 522 0
Công nghệ điện tử  Viễn thông Ứng dụng cảm biến 3D Kinect trong nhận diện ngôn ngữ cử chỉ tiếng Việt hỗ trợ việc giao tiếp với người khuyết tật khiếm thính

Đ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 QUỐC GIA HÀ NỘI ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TRƯỜNG ĐẠI HỌC CÔNG NGHỆ QUÁCH CÔNG HOÀNG QUÁCH CÔNG HOÀNG ỨNG DỤNG CẢM BIẾN 3D KINECT TRONG NHẬN DIỆN NGÔN NGỮ CỬ CHỈ TIẾNG VIỆT HỖ TRỢ VIỆC GIAO TIẾP VỚI NGƯỜI KHUYẾT TẬT KHIẾM THÍNH ỨNG DỤNG CẢM BIẾN 3D KINECT TRONG NHẬN DIỆN NGÔN NGỮ CỬ CHỈ TIẾNG VIỆT HỖ TRỢ VIỆC GIAO TIẾP VỚI NGƯỜI KHUYẾT TẬT KHIẾM THÍNH Ngành: Công Nghệ Điện Tử - Viễn Thông Chuyên ngành: Kỹ thuật Điện tử Mã số: 60 52 0203 LUẬN VĂN THẠC SĨ CÔNG NGHỆ ĐIỆN TỬ - VIỄN THÔNG LUẬN VĂN THẠC SĨ CÔNG NGHỆ ĐIỆN TỬ - VIỄN THÔNG NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS TRẦN QUANG VINH HÀ NỘI – 2014 HÀ NỘI – 2014 LỜI CAM ĐOAN LỜI CẢM ƠN Tôi xin cam đoan nội dung luận văn “Ứng dụng cảm biến 3D Kinect nhận diện ngôn ngữ cử tiếng Việt hỗ trợ việc giao tiếp với người khuyết tật khiếm thính” sản phẩm thực hướng dẫn PGS.TS Trần Quang Vinh Trong toàn nội dung luận văn, điều trình bày cá nhân tổng hợp từ nhiều nguồn tài liệu Tất tài liệu tham khảo có xuất xứ rõ ràng trích dẫn hợp pháp Tôi xin hoàn toàn chịu trách nhiệm chịu hình thức kỷ luật theo quy định cho lời cam đoan Trước tiên xin gửi lời cảm ơn chân thành tới tập thể các thầy cô giáo Khoa Điện tử - Viễn thông, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội giúp đỡ tận tình chu có môi trường tốt học tập nghiên cứu Đặc biệt, xin bày tỏ lòng biết ơn sâu sắc tới PGS.TS Trần Quang Vinh NCS Phùng Mạnh Dương, người trực tiếp hướng dẫn, bảo tận tình suốt trình nghiên cứu hoàn thiện luận văn Một lần xin gửi lời cảm ơn đến tất thầy cô giáo, bạn bè gia đình giúp đỡ thời gian vừa qua Tôi xin kính chúc thầy cô giáo, anh chị bạn mạnh khỏe hạnh phúc Hà Nội, ngày 17 tháng 10 năm 2014 Hà Nội, ngày 17 tháng 10 năm 2014 TÁC GIẢ TÁC GIẢ Quách Công Hoàng Quách Công Hoàng MỤC LỤC 5.1 Mô .47 5.2 Thực nghiệm .49 Chương 6: KẾT LUẬN 51 6.1 Tổng kết 51 LỜI CAM ĐOAN 6.2 Hạn chế hướng phát triển 51 LỜI CẢM ƠN TÀI LIỆU THAM KHẢO 52 MỤC LỤC .3 DANH MỤC KÍ HIỆU VÀ CHỮ VIẾT TẮT DANH MỤC HÌNH VẼ VÀ ĐỒ THỊ MỞ ĐẦU Chương 1: TỔNG QUAN 1.1 Mục tiêu đối tượng nghiên cứu 1.1.1 Nhận dạng ngôn ngữ kí hiệu Tiếng Việt 1.1.2 Nhận dạng tư bàn tay .10 1.2 Các nghiên cứu liên quan .11 1.3 Nội dung nghiên cứu 14 Chương 2: MÔ HÌNH BÀN TAY .15 2.1 Mô hình động học bàn tay .15 2.2 Xây dựng mô hình giả định đồ họa máy tính 16 2.2.1 Các khối hình học 17 2.2.2 Phương pháp xây dựng mô hình thư viện phần mềm đồ họa 19 2.3 Xác định mô hình quan sát bàn tay cảm biến .23 2.3.1 Tóm lược cảm biến Kinect .23 2.3.2 Xác định mô hình bàn tay từ cảm biến Kinect 26 Chương 3: GIẢI THUẬT NHẬN DẠNG 30 3.1 Xây dựng hàm mục tiêu .31 3.2 Nhận dạng sử dụng phương pháp tối ưu bầy đàn .32 3.2.1 Giới thiệu giải thuật tối ưu bầy đàn PSO 33 3.2.2 Ứng dụng giải thuật tối ưu bầy đàn vào nhận dạng 38 Chương 4: TĂNG TỐC THUẬT TOÁN SỬ DỤNG KHỐI XỬ LÝ ĐỒ HỌA GPU 39 4.1 Xử lý song song máy tính tiêu chuẩn OpenCL 39 4.2 Tăng tốc thuật toán GPU .44 Chương 5: MÔ PHỎNG VÀ THỰC NGHIỆM 47 DANH MỤC KÍ HIỆU VÀ CHỮ VIẾT TẮT Kí hiệu CPU GPU 3D DOF PSO RGB-D ROS OpenGL OpenCL OpenCV OpenNI API SDK CUDA RAM GA ACO GPGPU ALU Tiếng anh Cental processing unit Graphic processing unit Three-dimensional space Degree of freedom Particle swarm optimization Red Green Blue - Depth Robotics Operating System Open Graphic Library Open Computing Language Open Computer Vision Open Natural Interaction Application programming interface Software development kit Compute Unified Device Architecture Random access memory Genetic algorithms Ant colony optimization General purpose Graphic processing uint Arithmetic logic unit Tiếng việt Khối xử lý trung tâm Khối xử lý đồ họa Không gian ba chiều Bậc tự Giải thuật tối ưu bầy đàn Ảnh màu – độ sâu Hệ điều hành robot Thư viện đồ họa mở Ngôn ngữ tính toán mở Thư viện thị giác máy tính mở Thư viện tương tác tự nhiên mở Giao diện lập trình ứng dụng Bộ công cụ phát triển phần mềm Kiến trúc tính toán thiết bị đồng Bộ nhớ truy cập ngẫu nhiên Giải thuật di truyền Giải thuật tối ưu đàn kiến Khối xử lý đồ họa mục đích chung Đơn vị logic số học DANH MỤC HÌNH VẼ VÀ ĐỒ THỊ Hình 1: Một số từ ngữ ngôn ngữ kí hiệu bảng chữ tiếng Việt Hình 2: Lưu đồ tổng quát phương pháp nhận dạng theo hình dáng 11 Hình 3: Lưu đồ tổng quát phương pháp nhận dạng mô hình 12 Hình 4: Kết nhận dạng nghiên cứu Stenger .13 Hình 5: Kết nhận dạng cảm biến Kinect Oikonomidis [2] 13 Hình 6: Cấu trúc xương mô hình động học bàn tay 15 Hình 7: Thí dụ mặt bậc hai: (a) ellipsoid, (b) hình nón, (c) hình trụ, (d) mặt phẳng 17 Hình 8: Đường ống lệnh OpenGL 19 Hình 9: Biểu diễn mặt nón cụt mặt cầu OpenGL .20 Hình 10: Ảnh mô hình bàn tay tạo khối hình học 21 Hình 11: Mô tả phép chiếu 3D xuống 2D không gian .22 Hình 12: Bề mặt độ sâu bàn tay góc nhìn khác (màu đậm khoảng cách gần) 22 Hình 13: Biến đổi z-screen không gian mô n=1 f=5 .23 Hình 14: Sơ đồ phần cứng cảm biến Kinect 24 Hình 15: Tái tạo lại bề mặt sử dụng nguyên lý ánh sáng cấu trúc 24 Hình 16: Thiết kế thấu kính Kinect 25 Hình 17: Xác định độ sâu nguyên lý stereo 25 Hình 18: Kết trước sau calibration liệu ảnh độ sâu không gian ảnh màu 27 Hình 19: Kết nhận dạng mô hình quan sát bàn tay kết hợp ảnh màu độ sâu từ cảm biến Kinect 29 Hình 20: Sơ đồ giải thuật nhận dạng theo phương pháp mô hình đề xuất .30 Hình 21: Đồ thị Stenger biểu diễn biến thiên hàm đánh giá mục tiêu Chamfer Distance bàn tay di chuyển không gian .33 Hình 22: Sơ đồ mô tả giải thuật di truyền 35 Hình 23: Hành vi bầy kiến gặp vật cản .36 Hình 24: So sánh di chuyển đàn kiến đàn chim không gian chiều .37 Hình 25: Mô hình tảng với host điều phối thiết bị tính toán .41 Hình 26: Lưu đồ thực thi OpenCL với Host CPU thiết bị tính toán GPGPU 41 Hình 27: Mô hình nhớ host thiết bị OpenCL .43 Hình 28: So sánh kiến trúc CPU GPGPU 44 Hình 29: Sơ đồ khối quy trình tính toán GPU 45 Hình 30: Kết nhận dạng 26 bậc tự bàn tay với tư bên trái ảnh quan sát bên phải ảnh nhận dạng .48 Hình 31: Biến thiên giá trị hàm mục tiêu theo bước tiến hóa với tư ứng với chữ “a”, “b”, “c”, “d” 48 Hình 32: Kết thực nghiệm nhận dạng tư tay: (a) Ảnh quan sát màu; (b) Ảnh quan sát độ sâu; (c) Ảnh kết nhận dạng 49 Hình 33: Biến thiên giá trị hàm mục tiêu theo bước tiến hóa với tư hình 32 49 Hình 34: Kết nhận dạng chuỗi ảnh chuyển động bàn tay 50 MỞ ĐẦU Khi máy tính ngày thu nhỏ kích thước kính hay đồng hồ đeo tay việc sử dụng bàn phím, chuột hay hình cảm ứng trở nên không thích hợp Thay vào đó, cách thức tương tác người – máy cần thúc đẩy nghiên cứu Bàn tay, phận hoạt động xác hiệu người sử dụng công cụ, đánh giá nhiều tiềm Và thực tế toán nhận dạng tư tay nhận nhiều quan tâm nghiên cứu có ứng dụng cụ thể tương tác robot, nhận diện ngôn ngữ cử chỉ, hay điều khiển thiết bị [1]… Tuy nhiên, ứng dụng tương tác qua bàn tay thường đòi hỏi độ xác cao số bậc tự lớn khiến phương pháp truyền thống tỏ hiệu Thay vào đó, phương pháp mô hình xem hướng tiếp cận khả thi [1] – [4] Trong luận văn này, tiếp cận theo hướng mô hình để giải toán nhận dạng tư bàn tay, hay cụ thể trạng thái khớp nối bàn tay tư tay ngôn ngữ kí hiệu tiếng Việt Vấn đề nhận dạng xây dựng toán tối ưu với mục tiêu tối thiểu sai khác ảnh mô hình tư tay giả định với ảnh quan sát thu từ cảm biến ảnh Kinect Giải thuật bầy đàn cải tiến sau sử dụng để giải toán tối ưu Đồng thời, tác vụ đòi hỏi tính toán lớn đưa vào khối xử lý đồ họa GPU máy tính để tính toán song song Kết thực nghiệm cho thấy hệ thống nhận dạng 26 bậc tự bàn tay thời gian 0.8s Kết nhận dạng nhạy với nhiễu môi trường yêu cầu phần cứng đơn giản Chương 1: TỔNG QUAN 1.1 Mục tiêu đối tượng nghiên cứu Mục tiêu nghiên cứu nhận dạng tư bàn tay người không gian ba chiều (3D) khung liệu thu từ cảm biến Kinect Địa ứng dụng toán bước đầu nhận dạng kí tự chữ bảng ngôn ngữ kí hiệu mong muốn mở rộng sang ứng dụng tương tác thực tế ảo, thực tế tăng cường điều khiển thiết bị 1.1.1 Nhận dạng ngôn ngữ kí hiệu Tiếng Việt kể trên, nhận dạng tư bàn tay toán có nhiều vấn đề cần phải nghiên cứu phát triển 1.1.2 Nhận dạng tư bàn tay Cách làm có độ xác cao cho toán sử dụng găng tay chuyên dụng Thiết bị đeo vào tay có nhiều cảm biến để vị trí bàn tay độ mở khớp ngón tay Cách làm xử lý theo thời gian thực có khả phát đầy đủ hoạt động bàn tay tương tác Tuy nhiên hạn chế phương pháp găng tay chuyên dụng đắt tiền đòi hỏi trình hiệu chỉnh ban đầu phức tạp Ngoài ra, việc đeo găng tay cản trở di chuyển tự nhiên bàn tay, làm giảm phạm vi ứng dụng phương pháp Nhận diện bàn tay sử dụng kĩ thuật xử lý ảnh xem giải pháp thay không yêu cầu người sử dụng đeo găng tay, tương tác từ bàn tay thoải mái tự nhiên Tuy nhiên việc nhận diện bàn tay kĩ thuật xử lý ảnh gặp phải vấn đề khó khăn sau: Nhận diện thông dịch ngôn ngữ kí hiệu nói chung ngôn ngữ kí hiệu tiếng Việt nói riêng cần kết hợp nhiều công việc như: nhận diện tư bàn tay nhận diện chuyển động cánh tay, hình Khả nhận diện đặc trưng tốt khả thông dịch sang ngôn ngữ kí hiệu xác Trong vấn đề nhận dạng • Bài toán có nhiều chiều: bàn tay đối tượng có nhiều khớp nối với 20 bậc tự Mặc dù có ràng buộc ngón tay khớp ngón tay khiến cho chuyển động thực tế 20 bậc tự do, nhiên nghiên cứu cho thấy việc mô tả tư bàn tay với bậc tự Kết hợp với vị trí hướng bàn tay, tương đương bậc tự do, việc nhận dạng tư bàn tay đòi hỏi phải ước lượng nhiều tham số • Hiện tượng bị che khuất: lẽ tay đối tượng nhiều khớp nối, nên quan sát bàn tay từ cảm biến ảnh, kết phép chiếu từ không gian 3D xuống mặt phẳng 2D khiến lượng lớn thông tin hình khối bị che khuất Điều gây khó khăn cho việc phân hoạch trích chọn đặc trưng từ bàn tay • Tốc độ xử lý: khung hình, hệ thống xử lý ảnh thời gian thực cần xử lý lượng lớn liệu Nói cách khác, độ trễ yêu cầu vài ứng dụng đòi hỏi khả tính toán lớn Với công nghệ phần cứng nay, số giải thuật đòi hỏi phần cứng chuyên dụng, đắt tiền có khả xử lý song song để thực thi thời gian thực • Môi trường không kiểm soát: để mở rộng ứng dụng, nhiều hệ thống tương tác người máy kì vọng hoạt động môi trường có không bị giới hạn điều kiện ánh sáng thay đổi lớn Nói cách khác, làm việc tùy ý thách thức với hầu hết hệ thống xử lý ảnh • Chuyển động nhanh bàn tay: bàn tay có khả chuyển động nhanh, cổ tay tốc độ lên tới mét/giây cho dịch chuyển tịnh tiến 300 độ / giây cho chuyển động xoay Hiện nay, cảm bến ảnh thông dụng hỗ trợ tốc độ khung hình 30-60 Hz Mặt khác, nhiều giải thuật khó đạt đến tốc độ 30Hz Tốc độ di chuyển nhanh bàn tay kết hợp với tần số lấy mẫu thấp từ cảm biến gây thêm khó khăn cho thuật 10 Hình 1: Một số từ ngữ ngôn ngữ kí hiệu bảng chữ tiếng Việt toán nhận dạng Thí dụ: ảnh thu khung hình liên tiếp có độ tương quan thấp dần tốc độ di chuyển bàn tay tăng lên Rất khó thỏa mãn tất vấn đề trên, số nghiên cứu tìm cách giới hạn với người dùng môi trường Thí dụ coi môi trường không thay đổi bàn tay đối tượng có màu da Tuy nhiên ứng dụng chấp nhận giới hạn này, đặc biệt ứng dụng tương tác thực ảo, tốc độ xử lý cần phải đạt tới 100 Hz Hai vấn đề xem khó khăn phải đối mặt với toán có nhiều chiều thông tin bị thiếu hụt bị che khuất ngón tay Một số nghiên cứu muốn giảm thiểu tượng bị che khuất cách quan sát bàn tay hệ thống nhiều camera Một số nghiên cứu khác tiếp cận theo cách giới hạn số tư bàn tay: thí dụ giới hạn tư kí tự bảng chữ cái, giới hạn tư cầm nắm, kéo thả để tăng tốc độ xử lý Tuy nhiên việc xây dựng hệ thống tương tác người máy không giới hạn chuyển động bàn tay cần phải nghiên cứu 1.2 Các nghiên cứu liên quan Để nhận diện đầy đủ bậc tự bàn tay có phương pháp phương pháp dựa vào hình dáng quan sát (appearance-based method) phương pháp dựa thông tin mô hình (model-based method) Thu nhận ảnh Các khung ảnh Định vị bàn tay & Trích chọn đặc trưng Các đặc trưng thân loại cử Ước lượng tư Loại cử Các tham số tư Khung ảnh thứ Ước lượng tư Khởi tạo Khung ảnh thứ k Trích chọn đặc trưng Tính toán đặc trưng mô hình Đặc trưng quan sát Dự đoán Đặc trưng mô hình Tính toán sai khác Tìm kiếm Trạng thái tối ưu Cếp nhết trạng thái Hình 3: Lưu đồ tổng quát phương pháp nhận dạng mô hình Phương pháp mô hình nhận dạng dựa so sánh ảnh quan sát với ảnh mô hình chiều Ảnh quan sát hình ảnh thu từ hệ nhiều camera kèm thông tin độ sâu Phương pháp đòi hỏi tài nguyên tính toán lớn độ xác phụ thuộc nhiều vào lượng thông tin mô hình quan sát Trong đó, ảnh mô hình xây dựng dựa cấu trúc giải phẫu học ma trận đồ họa Tùy mục đích ứng dụng giải thuật, ảnh mô hình khác nhóm nghiên cứu Trong [3], mô hình bàn tay xây gồm 12 bậc tự với 10 bậc dành cho ngón tay bậc dành cho chuyển động tịnh tiến không gian Để nhận dạng tư tay, có hai phép đo sử dụng Phép đo thứ đo mức độ chồng chập diện tích ảnh quan sát ảnh mô hình chiếu mặt phẳng quan sát Phép đo thứ hai đánh giá sai khác khoảng cách đường biên hai ảnh Kĩ thuật tối ưu xuống dốc đơn hình (downhill simplex) sau sử dụng để tìm tư cho sai khác nhỏ Các ràng buộc sinh học sử dụng nhằm thu hẹp không gian tìm kiếm loại bỏ trường hợp không thực Kết thực nghiệm cho thấy giải thuật nhận dạng chuyển động đơn giản bàn tay điều kiện đồng màu Ứng dụng Hình 2: Lưu đồ tổng quát phương pháp nhận dạng theo hình dáng Phương pháp nhận dạng dựa vào hình dáng quan sát bao gồm việc phân hoạch trích chọn đặc trưng, sau phân loại thành tư tay Ưu điểm phương pháp không tốn nhiều tài nguyên tính toán phần cứng phức tạp.Tuy nhiên số lượng tư tay nhận dạng tập hữu hạn tư xây dựng trước để đưa vào để huấn luyện 11 Tư dự đoán 12 1.3 Nội dung nghiên cứu Trong luận văn này, tiếp cận theo hướng mô hình với ý tưởng phát triển từ nghiên cứu Oikonomidis để giải toán nhận dạng tư bàn tay dựa thiết bị phần cứng sẵn có Nội dung chương trình bày sau: Hình 4: Kết nhận dạng nghiên cứu Stenger Trong nghiên cứu khác [4], Stenger đề xuất mô hình bàn tay với 27 bậc tự biểu diễn 39 mặt bậc hai cụt Việc sử dụng mặt bậc hai giúp đơn giản trình khởi tạo mô hình chiều đồng thời dễ dàng thực phép chiếu Bộ lọc Kalman sau sử dụng để ước lượng tối thiểu sai số hình học đường biên ảnh quan sát ảnh mô hình Kết cho thấy giải thuật nhận dạng bậc tự với tốc độ hình/giây Để nâng cao độ xác, Stenger sau đề xuất sử dụng tập hợp mẫu gồm 16.055 tư bàn tay kết hợp với lọc Bayes phân cấp [5] Các hàm so sánh tương quan cải tiến để làm việc điều kiện nhiễu môi trường lớn Giải thuật thành công với tỉ lệ nhận dạng 90% độ xác 9.3 điểm ảnh cho ảnh 320x240 Tuy nhiên, trình cài đặt thuật toán tương đối phức tạp với nhiều bước chỉnh thủ công đồng thời yêu cầu phải có tập liệu quan sát lớn Gần đây, Oikonomidis đề xuất mô hình bàn tay gồm 26 bậc tự xây dựng từ hình đồ họa hình cầu, hình trụ hình elipsoid [2] Ảnh quan sát sử dụng bao gồm ảnh màu ảnh độ sâu thu thập cảm biến ảnh Kinect Giải thuật tối ưu bầy đàn sau áp dụng để tìm nghiệm cho toán cực tiểu sai khác ảnh quan sát ảnh mô hình Kết cho thấy giải thuật nhận diện đầy đủ 26 bậc tự bàn tay với tốc độ 15 hình/giây Chương Phân tích đặc trưng cấu trúc động học bàn tay đặc trưng cảm biến RGB-D Kinect Từ đánh giá này, nghiên cứu xây dựng mô hình 3D bàn tay đồ họa máy tính mô liệu thu từ cảm biến Kinect với góc nhìn khoảng cách khác không gian Chương Xây dựng giải thuật nhận dạng theo mô hình bao gồm hai công công việc chính: xây dựng hàm đánh giá mô hình với quan sát; xây dựng phương pháp nhận dạng sử dụng giải thuật tối ưu bầy đàn PSO để thay đổi tham số khớp ngón tay tối thiểu hóa sai khác Chương Trình bày giải pháp xử lý song song CPU/GPU Ứng dụng tảng tính toán song song OpenCL để tăng cường tốc độ xử lý thuật toán công đoạn cụ thể Chương Mô hệ thống nhận dạng thực nghiệm liệu thật thu từ cảm biến Kinect Đánh giá khả nhận dạng, độ xác thời tài nguyên tính toán giải thuật Chương Kết luận đánh giá ưu nhược điểm hệ thống Bàn luận đề xuất phương hướng phát triển nghiên cứu tương lai Hình 5: Kết nhận dạng cảm biến Kinect Oikonomidis [2] 13 14 Chương 2: MÔ HÌNH BÀN TAY Phương pháp nhận dạng theo mô hình có mục tiêu khôi phục lại mô hình 3D tư bàn tay Mô hình dùng để mô tả khái quát đặc điểm bề mặt bàn tay tư tay hợp lý Phần đầu chương trình bày cách làm để xây dựng mô hình 3D bàn tay dựa khối hình cở bản, đánh giá đặc điểm động học bàn tay thực tế Phần chương trình bày đặc trưng của cảm biến Kinect, vấn đề lý thuyết ánh xạ mô hình 3D xuống mặt phẳng 2D Mục đích nghiên cứu vần vấn đề để xây dựng mô hình giả định tương ứng với góc nhìn cảm biến Phần cuối chương trình bày giải thuật xác định mô hình quan sát từ cảm biến bao gồm thông tin màu sắc độ sâu Mô hình quan sát mô hình giả định xây dựng chương phục vụ cho giải thuật nhận dạng đề cập chương 2.1 Mô hình động học bàn tay Bàn tay người bao gồm 27 xương, có xương cổ tay 19 xương cho lòng bàn tay ngón tay Các xương kết nối với khớp nối có nhiều bậc tự Hình biểu diễn khớp nối số bậc tự tương ứng tạo thành tổng cộng 26 bậc tự [1] Trong đó, cổ tay có bậc tự với bậc tự cho chuyển động tịnh tiến không gian bậc tự cho chuyển động xoay quanh trục Năm ngón tay ngón có bậc tự với bậc cho khớp gốc ngón tay (gập/ngửa khép/mở) bậc cho khớp lại Với cách biểu diễn vậy, động học ngón tay xác định vector gồm tham số góc: x z qi = (q MP , q MP , q PIP , q DIP ) (2.1) x z θ MP θ MP hai góc quay khớp gốc, θ PIP góc quay khớp θ DIP góc quay khớp đỉnh Tương tự, vị trí hướng bàn tay xác định qua cổ tay vectơ gồm tham số: qc = ( xc , yc , zc , q cx , q cy , q cz ) (2.2) , , ) hướng bàn tay ( xc , yc , zc ) tọa độ cổ tay không gian (θθθ quay quanh trục tương ứng Như vậy, tư bàn tay hoàn toàn xác định biết 26 tham số góc: x c y c z c = h (= qi , qc ), i 1, 2, ,5 (2.3) Do đặc điểm giải phẫu học, chuyển động khớp ngón tay bị ràng buộc giằng dẫn tới góc quay cổ tay đốt ngón tay bị giới hạn Đặc điểm quan trọng giúp giới hạn đáng kể không gian tìm kiếm giải thuật bầy đàn sau Bảng trình bày giới hạn tham số góc ngón tay Bảng trình bày giới hạn tham số cổ tay Lưu ý giới hạn vị trí ( xc , yc , zc ) xác định thị trường camera BẢNG 1: GIỚI HẠN CÁC THAM SỐ GÓC CỦA NGÓN TAY x θ MP Ngón Ngón trỏ Ngón Ngón đeo nhẫn Ngón út 0 – 90 00 – 900 00 – 900 00 – 900 00 – 900 z θ MP θ PIP θ DIP -150 – 600 -150 – 150 -100 – 100 -300 – 00 -450 – 00 00 – 500 00 – 1000 00 – 1000 00 – 1000 00 – 1000 -150 – 700 00 – 600 00 – 600 00 – 600 00 – 600 BẢNG 2: GIỚI HẠN CÁC THAM SỐ GÓC VÀ VỊ TRÍ CỦA CỐ TAY xc yc zc -0,9 m – 0,9 m -0,68 m – 0,68 m 0,5 m – 1,5 m θ cx -30 – 120 θ cz θ cy 0 -70 – 75 -350 – 200 2.2 Xây dựng mô hình giả định đồ họa máy tính Hình 6: Cấu trúc xương mô hình động học bàn tay 15 Trên thực tế, mô hình bàn tay vừa có thành phần khớp nối, lại vừa có thành phần đàn hồi Tuy nhiên, để giảm bớt khối lượng tính toán, mô hình phức tạp bàn tay không sử dụng Trong nhiều nghiên cứu, mô hình 3D bàn tay cần phải ánh xạ 16 lên ảnh 2D ảnh quan sát để tìm đặc trưng Bên cạnh cần tính đến yếu tố hiển thị phần bàn tay bị che khuất Chính lý nên mô hình 3D bàn tay nên xây dựng từ khối hình thô, bao gồm khối hình cầu, hình trụ, hình nón cụt hình ellipsoid (2.7) 2.2.1 Các khối hình học Những thí dụ khác bề mặt biểu diễn với ma trận kiểu paraboloids hyperboloid Nếu ma trận Q ma trận đơn nhất, mặt bậc hay xem suy biến • Hình nón hình trụ: biểu diễn ma trận Q với hạng Phương trình hình nón với trục 0y có dạng (2.8) ma trận tương đương là: (2.9) Hình 7: Thí dụ mặt bậc hai: (a) ellipsoid, (b) hình nón, (c) hình trụ, (d) mặt phẳng Các khối hình nêu mặt toán học coi mặt bậc hai biểu diễn tọa độ đồng ma trận Q có kích thước 4x4 Bề mặt định nghĩa tập điểm X thỏa mãn phương trình: T X QT = Phương trình hình trụ có trục Oy là: (2.10) (2.4) với X = [x,y,z,1] vector đồng biểu diễn điểm không gian 3D Phương trình cách viết đơn giản phương trình: T ma trận tương ứng: (2.11) (2.5) Các họ mặt bậc hai thu từ ma trận Q với hạng khác nhau, cụ thể là: • Ellipsoid: biểu diễn ma trận Q với hạng cao Vector pháp tuyến xuất pháp từ tâm tập điểm bề mặt thỏa mãn phương trình: (2.6) • Cặp mặt phẳng πo π1: biểu diễn Q = πo π1T+ π1 πoT có hạng ma trận 2, cặp mặt phẳng song song với mặt xz biểu diễn phương trình: (2.12) phương trình tương đương với ma trận: trường hợp πo =[0,1,0,-y0]T π1 =[0,1,0,-y1]T Ma trận tương đương là: 17 18 2.3.2 Xác định mô hình bàn tay từ cảm biến Kinect Để có mô hình bàn tay quan sát từ cảm biến, hiểu cách đơn giản tách vùng độ sâu tương ứng với bàn tay đủ độ phân giải độ sâu Kinect lên tới 1-2 mm Tuy nhiên thực tế Kinect cảm biến thiết kế để phù hợp với đối tượng có kích thước lớn môi trường nhà bàn ghế, người Vì mô hình bàn tay quan sát từ ảnh độ sâu cảm biến Kinect không đủ mát thông tin từ nhiễu, giải thuật Kinect không đủ thông tin để nội suy độ sâu Các khu vực mát thông tin tường nằm vùng biên, đầu ngón tay, tư hướng vuông góc với mặt phẳng ảnh Trong trường hợp diện tích tiếp xúc với tia sáng cấu trúc nhỏ, thông tin cửa số ước lượng theo stereo không đủ để đánh giá độ sâu Trong trường hợp ảnh độ sâu thường trả giá trị Để giải vấn đề này, cần thiết phải có kết hợp ảnh màu ảnh độ sâu để có thông tin đầy đủ mô hình bàn tay Việc trích chọn mô hình quan sát bàn tay thực qua ba bước chính: Hình 16: Thiết kế thấu kính Kinect - Biến đổi ảnh màu ảnh độ sâu hệ trục tọa độ Xác định vùng bàn tay ảnh độ sâu Xác định vùng bàn tay ảnh màu phương pháp nhận diện màu da a) Biến đổi ảnh màu ảnh độ sâu trục tọa độ: Ảnh màu ảnh độ sâu Kinect có độ phân giải 640x480 nhiên hai cảm biến có thị trường khác nên không biểu diễn đối tượng Theo tài liệu khảo sát cảm biến Kinect ROS, hai thấu kính IR RGB cách khoảng 2.5cm theo trục x, hướng nhìn hai thấu kính gần song song với sai khác khoảng độ - tương đương với độ dịch chuyển 1cm khoảng cách 1.5m Việc calibrate ảnh độ sâu vè ảnh màu thực biết trước tham số sau: BẢNG 3: BẢNG CÁC THAM SỐ CALIBARATION Hình 17: Xác định độ sâu nguyên lý stereo Việc xác định độ sâu thực thu phát chùm tia hồng ngoại Khoảng cách thu phát 7.5cm Việc ước lượng biến dạng theo nguyên lý stereo thực cửa sổ có kích thước 9x9 pixel 9x7 pixel Tham số doff fir b frgb k1, k2, cx, cy R, t u,v Giải thích Offset liệu độ sâu Tiêu cự cảm biến ảnh độ sâu (dùng hồng ngoại) Khoảng cách cảm biến ảnh Tiêu cự cảm biến ảnh màu RGB Hệ số biến dạng cảm biến ảnh màu Ma trận chuyển đổi từ ảnh độ sâu sang ảnh màu RGB Tọa độ điểm ảnh ma trận ảnh số Các bước biến đổi ảnh độ sâu không gian thực theo lưu đồ sau: 25 26 [u,v,kd]ir (doff, fir, b) > [XYZ]ir (R,t) > [XYZ]rgb (frgb) > [u,v]rgb (2.17) Các trình biển diễn ma trận D có kích thước 4x3 dùng để biến đổi điểm ảnh hệ tọa độ đồng nhất: [u,v,w]rgb = D * [u,v,kd,1]ir (2.18) Việc tính toán ma trận D thực công cụ calibration sẵn có mạng sử dụng kết sẵn có SDK Kinect Microsoft cung cấp b) Xác định vùng bàn tay ảnh độ sâu Vấn đề xác định vùng bàn tay xem toán tracking đối tượng chuyển động Từ thông tin độ sâu dễ dàng tách bàn tay với biết trạng thái trước bàn tay Vì vấn đề quan trọng cần phải luận văn nên sử dụng thư viện NITE2 Primesense để tracking chuyển động bàn tay So với thư viện tracking khung xương Microsoft, NITE2 có ưu điểm tốn tài nguyên CPU Tuy nhiên nay, nhà phát triển NITE2 không hoạt động giải thuật thư viện không công bố Vì tương lai cần phải tự phát triển thêm modun giải thuật thay cho thư viện c) Xác định vùng bàn tay ảnh màu phương pháp nhận diện màu da Phân tích thiết kế Kinect phần 2.3.1 cho thấy cảm biến Kinect hoạt động dựa công nghệ xử lý ảnh công nghệ phát chùm tia hồng ngoại Vì ảnh độ sâu thu mát thông tin nhiều lý kể đến như: bề mặt nhỏ nội suy xác, tia hồng ngoại từ cảm biến bị che khuất, nhiễu hồng ngoại từ môi trường bên v.v… Cảm biến ảnh màu bị tác động bới yếu tố bổ sung thiếu hụt thông tin từ ảnh độ sâu Mô hình tay xác định từ ảnh độ sâu trước mở rộng với bán kính pixel Giải thuật nhận diện màu da theo nghiên cứu Antonis Argyros [2] thực thi để đánh giá điểm ảnh màu da tay Kết hợp vùng da tay với ảnh độ sâu ta có quan sát tốt mô hình bàn tay cảm biến Kinect Hình 18: Kết trước sau calibration liệu ảnh độ sâu không gian ảnh màu 27 28 Chương 3: GIẢI THUẬT NHẬN DẠNG Hình 20 trình bày sơ đồ giải thuật nhận dạng đề xuất luận văn Giải thuật bao gồm giai đoạn chính: - Trích chọn ảnh quan quan sát bàn tay - Xây dựng ảnh mô hình giả định bàn tay tương ứng với góc nhìn quan sát - Tìm tư tối ưu – 26 bậc tự mô hình - giải thuật bầy đàn Gữ liệu Pừ KinecP Hướng nhìn camera (C) Mô hình bàn Pay Tư tay (h) Ảnh độ sâu mô hình (r) Ảnh màu ảnh độ sâu Pay (O) Ước lượng sai khác (E) GPU Tư tay (h) Hình 19: Kết nhận dạng mô hình quan sát bàn tay kết hợp ảnh màu độ sâu từ cảm biến Kinect Tìm kiếm Pư Phế Pay PSO Tư Phế Pay Pối ưu (hkq) Hình 20: Sơ đồ giải thuật nhận dạng theo phương pháp mô hình đề xuất Phần xây dựng ảnh mô hình ảnh quan sát trình bày chương Chương trình bày bước giải thuật: tìm tư tối ưu thực qua hai giai đoạn Giai đoạn thứ xây dựng hàm mục tiêu để đánh giá sai khác ảnh quan sát ảnh mô hình Qua đó, chuyển toán nhận dạng thành toán tối ưu Giai đoạn thứ hai giải toán tối ưu sử dụng giải thuật bầy đàn PSO 29 30 = E ( h, O ) D ( O, h, C ) + λk kc ( h ) 3.1 Xây dựng hàm mục tiêu tham số cho D ( O, h, C ) E ( h, O ) chọn sau: Theo phương pháp mô hình trình bày chương 1, với mô hình quan sát O, mục kq kq tiêu toán tìm 26 tham số động học bàn tay ( qi , qc ) cho ảnh mô hình hkq tạo tham số giống với ảnh tạo bợi mô hình quan sát O Tiêu chí để so sánh sai khác ảnh mô hình ảnh quan sát xây dựng theo [2] sau Xét ảnh mô hình h bất kì, phép chiếu hình học lên mặt phẳng quan sát với thông tin tiêu cự góc nhìn camera C, ta thu ảnh độ sâu rd ( h, C ) Ảnh độ sâu sau so sánh với ảnh độ sâu quan sát Od để tìm ảnh tương quan nhị phân rm ( h, C ) Quy tắc tính ảnh tương quan sau: Giá trị điểm ảnh rm ( h, C ) “1” vị trí sai khác rd (h, C ) Od nhỏ khoảng dm Od không xác định; trường hợp lại, giá trị rm ( h, C ) “0” Ảnh tương quan sau tiếp tục so sánh với ảnh màu Os để loại bớt vùng độ sâu không thích hợp Kết dẫn đến hàm đánh giá sai khác toàn mô sau: D ( O , h, C ) = ∑min ( o ∑(o d − rd , d M ) s ∨ rm ) (3.1) d m = cm, d M = cm λ = 20, λk = 10 kc = ( h) ∑ p∈Q − min(φ ( p, h), 0) Q cặp ngón tay không tính ngón φ biểu diễn sai khác góc ngón tay cặp Với hàm mục tiêu (5), toán nhận dạng trở thành toán tối ưu cần tìm 26 tham số tư h để E ( h, O ) cực tiểu Để giải toán này, sử dụng phương pháp tối ưu bầy đàn 3.2 Nhận dạng sử dụng phương pháp tối ưu bầy đàn Về lý thuyết, khó để tìm lời giải tường minh cho phương trình (5) mà không gian lời giải toán dạng hàm mũ số bậc tự ngón tay Thật vậy, khảo sát Stenger với hàm mục tiêu Chamfer Distance (Hình 21) cho thấy ngón tay mô hình giả định trùng với mô hình quan sát, việc dịch chuyển sáu bậc tự cổ tay cho kết đồ thị hàm có nhiều cực trị   2∑(os ∧ rm ) + λ 1 −   ∑(os ∧ rm ) + ∑(os ∨ rm )    ∨ kí hiệu phép HOẶC lôgic; ∧ kí hiệu phép VÀ lôgic; dM số dương giới hạn khác biệt độ sâu; λ số chuẩn hóa sai khác diện tích; tổng Σ tính toàn điểm ảnh Xét mặt ý nghĩa, tỉ số: (3.2) ∑min ( o ∑(o ảnh quan sát ảnh mô hình; tỉ số d − rd , d M ) s ∨ rm ) thể sai khác độ sâu 2∑(os ∧ rm ) ∑(os ∧ rm ) + ∑(os ∨ rm ) thể sai khác diện tích hai ảnh Nói cách khác, tư bàn tay h xem nghiệm cần tìm ảnh mô hình tạo có sai khác độ sâu diện tích với ảnh quan sát nhỏ Để loại trừ tư bàn tay vô lý ví dụ ngón trỏ ngón xuyên qua nhau, lượng λk kc(h) thêm vào để tăng giá trị sai khác trường hợp Kết hàm mục tiêu sau biểu diễn sau: 31 32 a) Giải thuật di truyền - GA Giải thuật di truyền phân ngành giải thuật tiến hóa vận dụng nguyên lý tiến hóa di truyền, đột biến, chọn lọc tự nhiên, trao đổi chéo để tìm kiếm giải pháp tích hợp cho toán tối ưu Giải thuật di truyền thuật toán tiến hoá hình thành dựa quan niệm coi tiên đề phù hợp với thực tế khách quan Đó quan niệm "Quá trình tiến hoá tự nhiên trình hoàn hảo nhất, hợp lý tự mang tính tối ưu" Quá trình tiến hoá thể tính tối ưu chỗ hệ sau tốt hệ trước Giải thuật di truyền có khái niệm sau: • Cá thể, nhiễm sắc thể: Trong giải thuật di truyền, cá thể biểu diễn giải pháp toán Không giống với tự nhiên, cá thể có nhiều nhiễm sắc thể (NST), ta quan niệm cá thể có nhiễm sắc thể Do khái niệm cá thể nhiễm sắc thể giải thuật di truyền coi tương đương Một NST tạo thành từ nhiều gen, gen có giá trị khác để quy định tính trạng Trong GA, gen coi phần tử chuỗi NST • Quần thể: tập hợp cá thể có số đặc điểm Trong giải thuật di truyền ta quan niệm quần thể tập lời giải toán Hình 21: Đồ thị Stenger biểu diễn biến thiên hàm đánh giá mục tiêu Chamfer Distance bàn tay di chuyển không gian (a) ảnh đầu vào với mô hình đường biên vẽ chồng lên, (b) kết tách biên ảnh đầu vào, (c) đồ thị biến thiên hàm mục tiêu dịch chuyển mô hình giả định không gian – mô hình giả định trùng với mô hình quản sát hình a , (d) đổ thị biến thiên hàm mục tiêu dịch chuyển mô hình giả định có trạng thái không giống với mô hình quan sát Một xu hướng áp dụng thuật toán heuristic vào toán tối ưu nhằm tìm giá trị gần với giá trị tối ưu Các thuật toán xấp xỉ phát triển để tìm lời giải tốt nằm cận xấp xỉ lời giải tối ưu Trong toán nhận dạng bàn tay, phương pháp giải thống kê thường sử dụng giải thuật Powell [6], giải thuật Nelder – Mead [7], hay giải thuật di truyền [8] Trong luận văn này, sử dụng phương pháp tối ưu bầy đàn nhờ tốc độ hội tụ nhanh đơn giản cài đặt [9] 3.2.1 Giới thiệu giải thuật tối ưu bầy đàn PSO Phương pháp tối ưu bầy đàn dạng thuật toán tiến hóa quần thể biết đến trước thuật giải di truyền (Genetic algorithm), thuật toán đàn kiến (Ant colony algorithm) 33 • Chọn lọc: tự nhiên, trình chọn lọc đấu tranh sinh tồn làm thay đổi cá thể quần thể Những cá thể tốt, thích nghi với điều kiện sống có khả đấu tranh lớn hơn, tồn sinh sản Các cá thể không thích nghi với điều kiện sống dần Dựa vào nguyên lý trình chọn lọc đấu tranh sinh tồn tự nhiên, chọn lựa cá thể GA cách chọn cá thể có độ thích nghi tốt để đưa vào hệ lai ghép, với mục đích sinh cá thể tốt Có nhiều cách để lựa chọn cuối nhằm đáp ứng mục tiêu cá thể tốt có khả chọn cao • Lai ghép: tự nhiên kết hợp tính trạng bố mẹ để sinh hệ Trong giải thuật di truyền, lai ghép coi tổ hợp lại tính chất (thành phần) hai lời giải cha mẹ để sinh lời giải mà có đặc tính mong muốn tốt hệ cha mẹ Đây trình xảy chủ yếu giải thuật di truyền • Đột biến: biến đổi ( hay số ) gen nhiễm sắc thể ban đầu để tạo nhiễm sắc thể Đột biến có xác suất xảy thấp lai ghép Đột biến tạo cá thể tốt xấu cá thể ban đầu Tuy nhiên giải thuật di truyền ta muốn tạo phép đột biến cho phép cải thiện lời giải qua hệ 34 Các thuật toán kiến thuật toán dựa vào quan sát bầy kiến thực Kiến loại cá thể sống bầy đàn Chúng giao tiếp với thông qua mùi mà chúng để lại hành trình mà chúng qua Mỗi kiến qua đoạn đường để lại đoạn chất mà gọi mùi Số lượng mùi tăng lên có nhiều kiến qua Các kiến khác tìm đường dựa vào mật độ mùi đường, mật độ mùi lớn chúng có xu hướng chọn Dựa vào hành vi tìm kiếm mà đàn kíên tìm đường ngắn từ tổ đến nguồn thức ăn sau quay trở tổ Bắt đầu Nhận tham số toán Khởi tạo quần thể ban đầu Sau ví dụ luồng đàn kiến thực tế: Tính giá trị thích nghi Điều kiện dừng Sinh sản Lai ghép Lựa chọn giải pháp tốt Đột biến Kết thúc Hình 22: Sơ đồ mô tả giải thuật di truyền Thông thường, giải pháp thể dạng nhị phân với chuỗi 1, lại mang nhiều thông tin mã hóa khác Quá trình tiến hóa xảy từ tập hợp cá thể hoàn toàn ngẫu nhiên tất hệ Trong hệ, tính thích nghi tập hợp ước lượng, nhiều cá thể chọn lọc định hướng từ tập hợp thời (dựa vào thể trạng), sửa đổi (bằng đột biến tổ hợp lại) để hình thành tập hợp Tập hợp tiếp tục chọn lọc lặp lặp lại hệ giải thuật Hình 23: Hành vi bầy kiến gặp vật cản Kiến theo đường thẳng A E Khi có chướng ngại vật kiến chọn hướng đi, có hai hướng với khả kiến chọn - Trên đường ngắn nhiều mùi (pheromone) Thuật toán tối ưu bầy kiến (ACO) nghiên cứu hệ thống nhân tạo dựa vào hành vi tìm kiếm bầy kiến thực sử dụng để giải vấn đề tối ưu rời rạc Thuật toán bầy kiến siêu tìm kiếm (ACO meta_heuristic) lần Dorigo, Di Caro Gambardella đề xuất vào năm 1999 - b) Giải thuật tối ưu đàn kiến – ACO c) Giải thuật tối ưu bầy đàn - PSO Các thuật toán kiến lần giới thiệu Dorigo cộng cách tiếp cận đa tác tử tới vấn đề tối ưu tổ hợp khó, toán người du lịch (TSP), toán người đưa thư Hiện số lượng ứng dụng ngày tăng nhà khoa học ứng dụng vào nhiều vấn đề tối ưu rời rạc Các ứng dụng gần kể đến toán lập lịch, tô màu đồ thị, định hướng mạng truyền thông, v.v… Tuy PSO khác với GA chỗ thiên sử dụng tương tác cá thể quần thể để khám phá không gian tìm kiếm PSO kết mô hình hóa việc đàn chim bay tìm kiếm thức ăn thường xếp vào loại thuật toán có sử dụng trí tuệ bầy đàn Được giới thiệu vào năm 1995 hội nghị IEEE 35 36 vk +1 = w ( vk + c1r1 ( Pk − xk ) + c2 r2 ( Gk − xk ) ) James Kennedy kỹ sư Russell C Eberhart Thuật toán có nhiều ứng dụng quan trọng tất lĩnh vực mà đòi hỏi phải giải toán tối ưu hóa xk += xk + vk +1 (3.3) (3.4) với w hệ số giảm vận tốc, c1 số đặc trưng cho yếu tố cá thể, c2 số đặc trưng cho yếu tố bầy đàn, r1 r2 hai biến ngẫu nhiên phân phối khoảng [0,1] Phương trình (6) (7) hàm ý phần tử di chuyển ngẫu nhiên có khuynh hướng tiến vị trí tốt đàn vị trí tốt mà qua Tương quan yếu tố bầy đàn yếu tố cá thể thể qua hệ số c1 c2 Hình 24: So sánh di chuyển đàn kiến đàn chim không gian chiều Ví dụ đơn giản PSO trình tìm kiếm thức ăn đàn chim Không gian tìm kiếm thức ăn lúc toàn không gian ba chiều mà sinh sống Tại thời điểm bắt đầu tìm kiếm đàn bay theo hướng đó, ngẩu nhiên Tuy nhiên sau thời gian tìm kiếm số cá thể đàn bắt đầu tìm nơi có chứa thức ăn Tùy theo số lượng thức ăn vừa tìm kiếm, mà cá thể gửi tín hiệu đến các cá thể khác tìm kiếm vùng lân cận Tín hiệu lan truyền toàn quần thể Dựa vào thông tin nhận cá thể điều chỉnh hướng bay vận tốc theo hướng nơi có nhiều thức ăn Cơ chế truyền tin thường xem kiểu hình trí tuệ bầy đàn Cơ chế giúp đàn chim tìm nơi có nhiều thức ăn không gian tìm kiếm vô rộng lớn Giải thuật bầy đàn giải toán tối ưu cách tạo tập hợp gồm n phần tử, phần tử di chuyển tiến hóa qua bước để cuối hội tụ điểm tối ưu Ban đầu, phần tử gán vị trí vận tốc ngẫu nhiên Sau đó, bước, phần tử cập nhật vị trí tốt nó, Pk, vị trí tốt đàn, Gk Gọi xk vk vị trí vận tốc phần tử Khi đó, vị trí vận tốc phần tử cập nhật sau: 37 3.2.2 Ứng dụng giải thuật tối ưu bầy đàn vào nhận dạng Áp dụng vào toán nhận dạng, vị trí phần tử định nghĩa vectơ 26 chiều ứng với 26 tham số động học bàn tay tư h bàn tay Vận tốc định nghĩa vectơ 26 chiều thể thay đổi tư bàn tay qua bước Khi khởi tạo, vị trí phần tử gieo ngẫu nhiên tạo thành tư h1, h2, …hn Vận tốc ban đầu đặt Từ phương trình (5), giá trị hàm mục tiêu E ( hi , O ) tính cho tư Từ đó, vị trí tốt phần tử Pk vị trí tốt đàn Gk xác định Vận tốc phần tử hệ sau xác định phương trình (6) vị trí xác định phương trình (7) Trải qua bước tiến hóa, vị trí ( hay tư bàn tay) phần tử tiến dần tới tư thực quan sát camera Thuật toán dừng sai số hàm mục tiêu nhỏ giá trị đặt số bước tiến hóa đạt tới giá trị tối đa cho phép Trong hệ thống chúng tôi, số phần tử đàn đặt 64 Không gian tìm kiếm giới hạn khoảng giá trị phần tử theo bảng bảng Điều kiện dừng giá trị hàm mục tiêu nhỏ 1.0 số bước tiến hóa đạt 30 Các hệ số phương trình (6) đặt sau: c1 = 2.8, c2 = 1.3, w= / −ψ − ψ − 4ψ với ψ= c1 + c2 Trong di chuyển theo giải thuật PSO, số chiều lớn nên vị trí đốt ngón tay thường bị kẹt đỉnh tối ưu cục thay tiến tới đỉnh tối ưu toàn cục Để giải vấn đề này, phần tử tạo đột biến (mutation) Cứ sau bước tiến hóa, nửa số phần tử đàn gieo lại ngẫu nhiên 20 chiều tương ứng với tham số góc đốt ngón tay 38 Chương 4: TĂNG TỐC THUẬT TOÁN SỬ DỤNG KHỐI XỬ LÝ ĐỒ HỌA GPU Do không gian tìm kiếm lớn với 26 chiều tương ứng với 26 bậc tự bàn tay, giải thuật bầy đàn cần sử dụng số lượng phép tính lớn để tìm kiếm mà xử lý CPU không đảm bảo yếu tố thời gian thực Để giải vấn đề này, khả xử lý song song khối xử lý đồ họa GPU máy tính tận dụng để cải thiện khả xử lý hệ thống nhận dạng 4.1 Xử lý song song máy tính tiêu chuẩn OpenCL Trong hai thập kỉ gần đây, công nghiệp máy tính phát triển ảnh hưởng định luật Gordon Moore: mật độ bán dẫn inch vuông tăng gấp đôi sang 18 tháng Theo dự đoán hiệu ứng dụng thông thường tăng gấp đôi hai năm hệ vi xử lý đời Sự cải thiện liên tục trình sản xuất bán dẫn công nghệ thiết kế vi xử lý nguyên nhân xu này, bời lẽ nhờ chúng mà vi xử lý hệ thu nhỏ tất bóng bán dẫn giảm lượng điện tiêu thụ Vì vậy, vi xử lý đời tăng gấp đôi mật độ bóng bán dẫn để cải thiện tốc độ (xung nhịp) lên 50% lượng điện tiêu thụ không thay đổi Khi có nhu cầu hiệu cao hơn, kiến trúc sư máy tính tập trung vào việc tăng số bóng bán dẫn để đẩy số xung nhịp cao thêm, thêm vào thuộc tính kiến trúc có mục tiêu cải thiện thêm hiệu cho ứng dụng Trong năm 2000, bóng bán dẫn trở nên nhỏ đến mức định luật nhiệt động học lượng tử bắt đầu ảnh hưởng tới đặc tính toàn chip Vì tần số xung nhịp mật độ bóng bán dẫn tăng, đồng nghĩa với việc phải tăng lượng tiêu thụ điện Nhiều hãng công nghệ cho rằng, định luật Moore không tương lai không xa Để giải đáp ứng kì vọng trì định luật Moore - tăng gấp đôi hiệu sau chu kì thời gian (không phải năm trước nữa), có hai hướng thay đổi sảy (1) thay tăng tần số xung nhịp, vi xử lý đại tăng số lượng lõi xử lý đế Xu bắt buộc phần mềm phải có thay đổi tương thích Do kì vọng phần cứng hoạt động tốt với phần mềm nào, cần phải phát triển cách thức triển khai cho ứng dụng mà đảm bảo khả phát huy ưu điểm kiến trúc nhiều nhần vi xử lý, (2) nhiệt độ công suất tiêu thụ phải ưu tiên hàng đầu cho thiết kế phần cứng tương lai Xu thúc đẩy cộng đồng bắt đầu tìm kiếm giải pháp cho tính toán không đồng nhất: hệ thống tổ hợp hệ thống khác nhau, hệ thống lại tối ưu cho công việc Thí dụ điển hình 39 nhiều hệ thống kết hợp CPU truyền thống với khối xử lý đồ họa GPU hay bo mạch FPGA Sự tích hợp thực nhiều cấp độ khác nhau: cấp độ hệ thống, cấp độ bo mạch cấp độ lõi Việc phát triển phần mềm cho hệ thống song song đồng phân tán cho công việc không đơn giản, có nhiều ngôn ngữ lập trình, phương thức phát triển, thuật toán công cụ phát lỗi nghiên cứu Phát triển phần mềm cho hệ thống không đồng – đa dụng tương đối chưa hoàn thiện gặp nhiều khó khăn Bởi việc thiết kế hệ thống không đồng tránh khỏi, nhiều nhà sản xuất phần mềm phần cứng lớn AMD, Nvidia, Intel, IBM bắt đầu tạo môi trường phần mềm hỗ trợ chúng Ngôn ngữ tính toán mở (OpenCL) thiết kế để đáp ứng nhu cầu cần thiết Chúng định nghĩa quản lý tổ chức công nghệ phi lợi nhận Khronos Ngôn ngữ môi trường phát triển chúng vay mượn từ nhiều thiết kế từ nhiều tiêu chuẩn phần cứng tiếng thành công CUDA, CAL, CTM, tập hợp lại để tạo môi trường phát triển phần mềm độc lập cho phần cứng Nó hỗ trợ cấp độ khác xử lý song song phương thức chia sẻ hiệu cho hệ thống đồng không đồng nhất, hệ thống sử dụng nhiều CPU, GPU, FPGA hứa hẹn thêm nhiều thiết bị tương lai Để hỗ trợ nhiều thiết bị tương lai, OpenCL định nghĩa run-time cho phép quản lý tài nguyên kết hợp loại phần cứng khác môi trường thực thi hi vọng tương lai cho phép cân động trình tính toán, lượng tiêu thụ tài nguyên nhớ Tiêu chuẩn OpenCL cung cấp giao diện lập trình ứng dụng (API) tổng quát đủ để chạy kiến trúc phần cứng khác có khả thích nghi với tảng để đạt tới hiệu tốt Sử dụng ngôn ngữ lõi chuẩn hóa theo đặc điểm kĩ thuật, chương trình phần mềm thiết kế nhà sản xuất phần mềm hoạt động thiết bị phần cứng khác Một tập bốn mô hình OpenCL tạo nên tính dễ chuyển đổi, độc lập thiết bị phần mềm phần mềm có khả tăng tốc cách thực thi nhiều thiết bị khác Giao diện lập trình OpenCL viết ngôn ngữ C có bọc thêm giao diện lập trình C++ Ngoài nhiều ứng dụng bên thứ ba viết thêm giao diện cho OpenCL từ ngôn ngữ Java, Python NET Mã nguồn hoạt động thiết bị OpenCL viết ngôn ngữ C – theo phiên giới hạn tiêu chuẩn C99 với mở rộng phù hợp với liệu song song với nhiều loại thiết bị khác Tiêu chuẩn OpenCL định nghĩa làm phần, gọi mô hình, tổng kết ngắn sau: Mô hình tảng: định nghĩa có vi xử lý thực công việc điều phối thực thi (gọi host) nhiều vi xử lý có khả thực thi mã C OpenCL (gọi 40 thiết bị) Nó định nghĩa mô hình phần cứng trừu tượng sử dụng lập trình viên viết hàm chức OpenCL C (gọi tắt nhân / kernel ) để thực thiết bị Chú thích lưu đồ hình 26: - Kernels: hay nhân chương trình hàm OpenCL chạy thiết bị - Program objects: mã nguồn chương trình chạy nhân - Memory objects: tập đối tượng nhớ vật lý mà thiết bị OpenCL truy cập vào Nó chứa tham số đầu vào để thực thi nhân chương trình Đối tượng nhớ mảng chiều (buffer) hay mảng hai chiều (image) - Command-Queues: Sự tương tác host thiết bị OpenCL xảy thông qua lệnh gửi host đến Command-Queues – hay hàng đợi lệnh Các lệnh chờ đợi hàng đợi lệnh họ thực thiết bị OpenCL Một hàng đợi lệnh tạo host gắn liền với thiết bị OpenCL sau context xác định Host đưa lệnh vào hàng đợi, sau lên kế hoạch thực thi tới thiết bị tính toán OpenCL hỗ trợ ba loại lệnh chính: Hình 25: Mô hình tảng với host điều phối thiết bị tính toán Mô hình thực thi: định nghĩa OpenCL cấu hình môi trường host làm nhân thực thiết bị Điều bao gồm việc thiết lập bối cảnh (context) host, cung cấp chế tương tác host với thiết bị, xác định mô hình đồng thời sử dụng để thực thi nhân chương trình thiết bị o Kernel execution commands: lệnh để thực thi nhân phần tử tính toán thiết bị o Memory commands: truyền liệu host đối tượng nhớ khác (Memory objects), chuyển tiếp liệu đối tượng nhớ, ánh xạ ngừng ánh xạ từ không gian địa host tới đối tượng nhớ o Synchronization commands: đặt giới hạn hay trình tự để lệnh thực thi Mô hình nhớ: xác định hệ thống phân cấp nhớ trừu tượng mà nhân chương trình sử dụng, không phụ thuộc vào kiến trúc nhớ thực tế Mô hình nhớ gần giống với hệ thống phân cấp nhớ GPU tại, điều không giới hạn khả thích ứng với thiết bị khác Hình 26: Lưu đồ thực thi OpenCL với Host CPU thiết bị tính toán GPGPU 41 - Host memory: vùng nhớ hiển thị host Như với hầu hết chi tiết liên quan đến host, OpenCL định nghĩa cách thực tương tác nhớ máy chủ với đối tượng OpenCL cấu trúc - Global memory: vùng nhớ cho phép đọc/ghi truy cập tới tất các workitems tất work-groups.Work-items đọc ghi vào tất phần tử đối tượng nhớ nằm global memory Việc đọc ghi vùng nhớ lưu trữ tạm thời tùy thuộc vào khả thiết bị - Constant memory: vùng nhớ lưu trữ số suốt trình thực thi nhân Host cấp phát khởi tạo đối tượng nhớ đặt vào constant memory Work-items có quyền truy cập vào đối tượng nhớ - Local memory: vùng nhớ cục work-group Bộ nhớ sử dụng để cấp phát giá trị chia sẻ tất work-items work42 groups Nó sử dụng vùng nhớ chuyên dụng thiết bị OpenCL Ngoài ra, khu local memory ánh xạ lên phần global memory - Private memory: vùng nhớ vùng nhớ riêng work-items Các workitem nhìn thấy giá trị định nghĩa vùng nhớ 4.2 Tăng tốc thuật toán GPU Với mục đích sử dụng khác nên CPU GPU (và GPGPU) có thiết kế vật lý khác nhau: Hình 28: So sánh kiến trúc CPU GPGPU BẢNG 4: SO SÁNH CPU VÀ GPU CPU GPU - Thiết kế chip ưu tiên nhiều cho khu vực điều khiển (Control) thay logic số học (ALU) - Tộc độ xử lý với luồng nhanh do: khả dự đoán đường ống lệnh rẽ nhánh tốt, khả Đặc điểm điều khiển song song tốt thiết kế - Nhiều cấp độ nhớ cache để giảm bớt độ trễ truy cập Hình 27: Mô hình nhớ host thiết bị OpenCL Thiết kế với nhiều ALU Ít không gian cho điều khiển logic nhớ caches Nhiều ghi để hỗ trợ nhiều luồng hoạt động Quản lý lập kế hoạch cho luồng phần cứng Băng thông nhớ lớn để phục vụ hoạt động nhiều ALU - Tệp tin ghi nhỏ số lượng luồng hoạt động Luồng quản lý hệ điều hành Mô hình lập trình: Xác định làm mô hình đồng thời ánh xạ tới phần cứng vật lý Ưu nhược - Ưu điểm: nhanh linh hoạt với - Ưu điểm: công suất thông lượng điểm luồng Phù hợp với công tính toán lớn việc có tính cao - Nhược điểm: xử lý luồng đơn - Nhược điểm: công suất tính toán giản không nhanh CPU thấp thiết kế ưu tiên thời gian đáp ứng 43 44 Vì đặc điểm phần cứng nêu nên phần giải thuật nhận dạng phương pháp mô hình sử dụng giải thuật PSO thực GPU máy tính Các tính toán song song thực phần tử phần tử đàn, cụ thể tiến trình song song gồm bước sau: Bộ nhớ GPU r2 GPU r3 r4 r5 mn • Bước 3: Kết phép tính bước lưu vùng nhớ có kích thước với vùng nhớ ri Để tính D ( O, h, C ), ta cần phải tính tổng phần tử vùng nhớ (phương trình (4)) Để tận dụng triệt để khả song song GPU, tiếp tục sử dụng giải thuật tính tổng song song theo mô hình kim tự tháp [13] (Parallel Reduction) Kết là, với cấu hình GPU hỗ trợ tới 256 luồng xử ly song song, ghi kích thước 128 bit, kiểu số thực 32 bit, có 1024 phép tính tổng thực đồng thời Giá trị cuối D ( O, h, C ) sau chuyển sang nhớ CPU để tiếp tục bước giải thuật bầy đàn Tính thành phần tổng D OpenCL Mô hình quan sát (O) Bộ nhớ GPU rn cầu cần phải thực phép tính od − rd , Os ∧ rm, Os ∨ rm với điểm ảnh Với độ phân giải 640x480 Kinect, số điểm ảnh vùng bàn tay lớn không phù hợp cho tính Song song hóa phép tính cần thực Ý tưởng áp dụng phép toán xử lý logic trực tiếp hai vùng nhớ thay truy vấn ô nhớ để xử lý Cụ thể, ảnh quan sát màu Os ảnh độ sâu Od chuyển từ CPU vào nhớ GPU Các vùng nhớ sau chép 64 vùng tương ứng với số phần tử đàn để tránh tượng tranh đua tài nguyên luồng xử lý Các phép tính thực cho đồng thời tất điểm ảnh vùng nhớ lưu Os, Od ri Vẽ ảnh mô hình OpenGL r1 m1 m2 m3 m4 m5 • Bước 2: Bây giờ, với phần tử, ta cần tính giá trị sai khác D ( O, h, C ) theo phương trình (4) để từ tính giá trị hàm mục tiêu E ( h, O ) theo phương trình (5) Phương trình (4) yêu Các tư h1,h2 … hn hướng nhìn C Các đa giác mô hình bàn tay chuẩn r1, r2, …, r64 để dùng cho bước tính hàm mục tiêu Toàn tiến trình tiến trình bước thực đồng thời cho 64 phần tử 64 vùng nhớ riêng GPU Vì vậy, giải thuật bầy đàn song song hóa phần tử Tính tổng D1,D2 … Dn OpenCL Như vậy, cách sử dụng khối xử lý đồ họa GPU, giải thuật bầy đàn PSO song song hóa hoàn toàn Qua thử nghiệm chúng tôi, phương pháp giảm thời gian xử lý khung hình 450 lần từ phút xuống 0.8 giây nhờ đảm bảo yếu tố thời gian thực Tính E cho PSO Hình 29: Sơ đồ khối quy trình tính toán GPU • Bước 1: Mỗi phần tử đàn cấp vùng nhớ riêng GPU Vị trí phần tử tư h bàn tay Bằng thư viện đồ họa OpenGL [12] mô hình bàn tay định nghĩa phần II.A, ảnh mô hình chiều bàn tay tạo với tư h Bằng phép chiếu hình học với thông tin hướng nhìn C thông số camera biết, ta tính ảnh độ sâu r từ ảnh mô hình Với 64 phần tử đàn, ta tạo 64 ảnh độ sâu 45 46 Chương 5: MÔ PHỎNG VÀ THỰC NGHIỆM Để đánh giá hiệu phương pháp đề xuất, tiến hành mô với liệu tổng hợp thực nghiệm với liệu thật Hệ thống cài đặt máy tính xách tay có cấu hình - CPU Intel i7 740qm, - GB RAM, - GPU AMD HD5870m, 800 MADD core, lực xử lý 1.12 TFlops GB nhớ Chương trình phần mềm viết tảng Visual C++ 2010 [14] kết hợp với thư viện xử lý ảnh OpenCV 2.4.9 [15], thư viện đồ họa OpenGL 4.3 [12] thư viện tính toán song song GPU OpenCL 1.2 [11] Giải thuật bầy đàn thực với 64 phần tử tiến hóa qua 30 hệ nửa số phần tử đột biến hệ 5.1 Mô Hình 30: Kết nhận dạng 26 bậc tự bàn tay với tư bên trái ảnh quan sát bên phải ảnh nhận dạng Mô thực với mục đích đánh giá hoàn thiện giải thuật trước áp dụng với liệu thực Chi tiết sau: 1) Cài đặt mô phỏng: Để thực mô phỏng, tư tay tùy chọn đưa vào hệ thống để tạo ảnh mô hình href Giả thiết có hướng nhìn C, thông tin camera mặt phẳng quan sát, ảnh màu ảnh độ sâu tạo từ ảnh mô hình phép chiếu hình học Các ảnh giả thiết ảnh quan sát màu Os ảnh độ sâu Od thu từ camera Với ảnh giả thiết này, giải thuật nhận dạng thực với liệu thực 2) Kết mô phỏng: hình 30 trình kết nhận dạng 26 bậc tự tư tay tương ứng với chữ đầu bảng chữ ngôn ngữ kí hiệu ảnh bên trái biểu diễn tư tay quan sát href ảnh bên phải biểu diễn tư tay nhận dạng hkq Có thể nhận thấy giải thuật xác định xác 26 bậc tự bàn tay với số tư Trong số tư khác, bậc tự gắn với đốt ngón tay cho kết chưa xác phần tử đàn bị tắc điểm tối ưu cục Hình 31 trình bày thay đổi giá trị hàm mục tiêu qua bước tiến hóa Có thể nhận thấy giá trị hàm mục tiêu giảm số bước tiến hóa tăng hay nói cách khác vị trí phần tử đàn tiến dần tới tư cần tìm Trung bình, việc nhận dạng tư thực 0.8 giây, 0,45 giây tiêu tốn cho việc xây dựng ảnh mô hình, ảnh quan sát, ảnh màu 0,35 giây cho việc tính toán hàm mục tiêu E 47 Hình 31: Biến thiên giá trị hàm mục tiêu theo bước tiến hóa với tư ứng với chữ “a”, “b”, “c”, “d” 48 5.2 Thực nghiệm Trong thực nghiệm, ảnh quan sát liệu thu từ cảm biến ảnh Kinect phiên 1.5 điều kiện nhà ánh sáng ổn định Vị trí bàn tay đặt cách cảm biến khoảng từ 0.5 m đến 1.5 m Hình 34: Kết nhận dạng chuỗi ảnh chuyển động bàn tay Hình 32: Kết thực nghiệm nhận dạng tư tay: (a) Ảnh quan sát màu; (b) Ảnh quan sát độ sâu; (c) Ảnh kết nhận dạng Hình 32 trình bày kết nhận dạng Trong hai tư thế, bậc tự cổ tay bậc tự ngón nhận dạng xác Với bậc tự ngón tay lại, tư duỗi ngón nhận dạng xác Các tư gập ngón phần ngón tay bị che khuất nên thường dẫn tới kết không xác Đồ thị giá trị hàm mục tiêu (hình 33) cho thấy, việc thay đổi tư đốt ngón tay không dẫn tới thay đổi lớn giá trị hàm mục tiêu không giúp phần tử thoát khỏi đỉnh tối ưu cục Để khắc phục vấn đề này, cần thiết phải cải tiến hàm mục tiêu để nâng cao khả phân biệt Việc thực nghiên cứu Hình 33: Biến thiên giá trị hàm mục tiêu theo bước tiến hóa với tư hình 32 49 50 Chương 6: KẾT LUẬN 6.1 Tổng kết TÀI LIỆU THAM KHẢO [1] A Erol, G Bebis, M Nicolescu, R.D Boyle, X Twombly, “Vision-based Hand Pose Kết luận văn xây dựng thành công giải thuật nhận nhận dạng 26 bậc tự bàn tay theo phương pháp mô hình Các công việc bao gồm từ khâu thu thập liệu, xây dựng mô hình, xây dựng hàm mục tiêu tới triển khai giải thuật tối ưu bầy đàn Việc tính toán song song giải thuật bầy đàn khối xử lý đồ họa GPU giúp cải thiện đáng kể hiệu xử lý hệ thống mà không yêu cầu phần cứng bổ sung Trong trình nghiên cứu tìm hiểu giải thuật nhận dạng, nhiều phép mô thực nghiệm tiến hành để khẳng định tính đắn phương pháp mô hình việc xử lý thông tin từ ảnh RGB-D Nghiên cứu luận văn báo cáo Hội thảo quốc gia 2014 Điện tử, Truyền thông Công nghệ thông tin (REV-ECIT2014) Trên sở kết ban đầu luận văn, đề xuất nghiên cứu phát triển ứng dụng tập đoàn Samsung chấp nhận Estimation: A review”, J Computer Vision and Image Understanding, vol.108(1-2), pp.52–73, 2007 [2] I Oikonomidis, N Kyriazis, A Argyros, “Efficient model-based 3D tracking of hand articulations using Kinect”, Proceedings of the British Machine Vision Conference, pp 101.1-101.11, 2011 [3] H Ouhaddi, P Horain, “3D Hand gesture tracking by model registration”, International Workshop on Synthetic—Natural Hybrid Coding and Three Dimensional Imaging, 1999 [4] B Stenger, P.R.S Mendonca, R Cipolla, Model-based 3D tracking of an articulated hand, IEEE Computer Society Conference on Computer Vision and Pattern Recognition 02 (2001) 310 6.2 Hạn chế hướng phát triển Do thời gian có hạn, luận văn chưa xây dựng hệ thống có ứng dụng hoàn chỉnh Bên cạnh giải thuật nhận dạng tồn nhiều vấn đề nhận diện bàn tay thời gian xử lý cao v.v Trong thời gian tiếp theo, mong muốn hệ thống tiếp tục cải tiến theo hướng chính: [5] B Stenger, Model-based hand tracking using a hierarchical bayesian filter, Ph.D thesis, Department of Engineering, University of Cambridge, 2004 [6] W H Press, B P Flannery, S A Teukolsky, W T Vetterling, Numerical Recipes in C, Cambridge University Press, 1992 - Cải thiện phần tiền xử lý trích chọn thêm đặc trưng bàn tay để cải thiện khả đánh giá hàm mục tiêu [7] J A Nelder and R Mead, “A Simplex Method for Function Minimization”, Computer - Tăng cường phần cứng tối ưu lập trình cho phần giải thuật song song để xử lý 30 hình/giây [8] David Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning, - Xây dựng trình hiệu chuẩn tự động phương pháp tối ưu bầy đàn để giải thuật nhận dạng phù hợp với mô hình kích thước bàn tay khác - Nghiên cứu phát triển giải thuật để nhận dạng chuyển động tương tác hai bàn tay Bằng việc kết hợp với giải thuật khác nhận dạng khuôn mặt, nhận dạng chuyển động cánh tay người, mạng neuron v.v… hi vọng xây dựng hệ thống tương tác người máy có khả nhận diện ngôn ngữ kí hiệu tiếng Việt tương lai không xa Journal, vol 7, 1965, pp 308-313 Addison-Wesley Professional, 1989 [9] J Kennedy, R.C Eberhart, Swarm Intelligence, Morgan Kaufmann, 2001 [10] Nicholas Wilt, The CUDA Handbook: A Comprehensive Guide to GPU Programming, Addison-Wesley Professional, edition, 2013 [11] Matthew Scarpino, OpenCL in Action: How to Accelerate Graphics and Computations, Manning Publications, edition, 2011 [12] Dave Shreiner, Graham Sellers, John M Kessenich, Bill M Licea-Kane, OpenGL Programming Guide: The Official Guide to Learning OpenGL, Addison-Wesley Professional, edition, 2013 51 52 [13] L Williams, Pyramidal parametrics, In ACM SIGGRAPH Computer Graphics, vol 17, pp 1–11, 1983 [14] Ivor Horton, Ivor Horton's Beginning Visual C++ 2010, Wrox; edition, 2010 [15] Samarth Brahmbhatt, Practical OpenCV (Technology in Action), Apress, edition, 2013 [16] Jana Abhijit, Kinect for Windows SDK Programming Guide (Community Experience Distilled), Packt Publishing, 2012 53 [...]... (2.16) 22 Hình 13: Biến đổi của z-screen trong không gian mô phỏng n=1 và f=5 2.3 Xác định mô hình quan sát bàn tay trên cảm biến 2.3.1 Tóm lược về cảm biến Kinect Cảm biến Kinect được Microsoft nghiên cứu và phát triển với mục đích tương tác người sử dụng với máy tính trong môi trường trong nhà từ khoảng cách 0.5m đến 3.5m Cảm biến có khả năng thu thập dữ liệu màu RGB và độ sâu với độ phân giải điểm... dọc • Motor điều chỉnh góc nghiêng: phạm vi từ -27 độ đến +27 độ • Bộ cảm biến âm thanh: bao gồm 4 microphone 24bit ADC có khả năng lọc nhiễu tiếng vọng và ồn từ môi trường xung quanh • Cảm biến gia tốc 3 chiều: có độ chính xác trên 1 độ Hình 14: Sơ đồ phần cứng của cảm biến Kinect Ưu điểm lớn nhất của công nghệ cảm biến Kinect là có thể đo được ảnh độ sâu với độ phân giải rất lớn trong khi đó giá... nhiều thiết bị khác Giao diện lập trình OpenCL viết bằng ngôn ngữ C và có bọc thêm giao diện lập trình C++ Ngoài ra rất nhiều ứng dụng bên thứ ba viết thêm giao diện cho OpenCL từ những ngôn ngữ như Java, Python và NET Mã nguồn hoạt động trên thiết bị của OpenCL được viết bằng ngôn ngữ C – theo một phiên bản giới hạn của tiêu chuẩn C99 với các mở rộng phù hợp với dữ liệu song song và với nhiều loại thiết... sát được từ cảm biến, hiểu một cách đơn giản là tách vùng độ sâu tương ứng với bàn tay là đủ vì độ phân giải độ sâu của Kinect lên tới 1-2 mm Tuy nhiên trên thực tế Kinect là cảm biến được thiết kế để phù hợp với những đối tượng có kích thước lớn trong môi trường trong nhà như bàn ghế, con người Vì vậy mô hình bàn tay quan sát được từ ảnh độ sâu của cảm biến Kinect là không đủ do mất mát thông tin từ... viện cũng không được công bố Vì vậy trong tương lai cần phải tự phát triển thêm modun giải thuật thay thế cho thư viện này c) Xác định vùng bàn tay trong ảnh màu bằng phương pháp nhận diện màu da Phân tích thiết kế của Kinect trong phần 2.3.1 cho thấy cảm biến Kinect hoạt động dựa trên công nghệ xử lý ảnh và công nghệ phát chùm tia hồng ngoại Vì vậy ảnh độ sâu thu được có thể mất mát thông tin vì nhiều... là cách tiếp cận đa tác tử tới các vấn đề về tối ưu tổ hợp khó, như bài toán người du lịch (TSP), bài toán người đưa thư Hiện nay số lượng các ứng dụng càng ngày càng tăng và các nhà khoa học đã ứng dụng nó vào rất nhiều các vấn đề tối ưu rời rạc Các ứng dụng gần đây có thể kể đến như các bài toán lập lịch, tô màu đồ thị, định hướng trong mạng truyền thông, v.v… Tuy vậy PSO khác với GA ở chỗ nó thiên... tìm hiểu giải thuật nhận dạng, nhiều phép mô phỏng và thực nghiệm đã được tiến hành để khẳng định tính đúng đắn của phương pháp mô hình trong việc xử lý thông tin từ ảnh RGB-D Nghiên cứu trong luận văn được báo cáo trong Hội thảo quốc gia 2014 về Điện tử, Truyền thông và Công nghệ thông tin (REV-ECIT2014) Trên cơ sở các kết quả ban đầu của luận văn, đề xuất nghiên cứu phát triển ứng dụng đã được tập đoàn... tiến hóa với 4 tư thế ứng với các chữ cái “a”, “b”, “c”, “d” 48 5.2 Thực nghiệm Trong thực nghiệm, ảnh quan sát là dữ liệu thu được từ cảm biến ảnh Kinect phiên bản 1.5 trong điều kiện trong nhà và ánh sáng ổn định Vị trí bàn tay đặt cách cảm biến trong khoảng từ 0.5 m đến 1.5 m Hình 34: Kết quả nhận dạng một chuỗi các ảnh chuyển động của bàn tay Hình 32: Kết quả thực nghiệm nhận dạng tư thế tay: (a)... phát triển giải thuật để nhận dạng được chuyển động và tương tác của hai bàn tay Bằng việc kết hợp với các giải thuật khác như nhận dạng khuôn mặt, nhận dạng chuyển động cánh tay người, mạng neuron v.v… tôi hi vọng xây dựng được một hệ thống tương tác người máy có khả năng nhận diện được ngôn ngữ kí hiệu tiếng Việt trong tương lai không xa Journal, vol 7, 1965, pp 308-313 Addison-Wesley Professional,... [11] Giải thuật bầy đàn được thực hiện với 64 phần tử tiến hóa qua 30 thế hệ trong đó một nửa số phần tử được đột biến cứ mỗi 3 thế hệ 5.1 Mô phỏng Hình 30: Kết quả nhận dạng 26 bậc tự do bàn tay với 4 tư thế trong đó bên trái là ảnh quan sát và bên phải là ảnh nhận dạng Mô phỏng được thực hiện với mục đích đánh giá và hoàn thiện giải thuật trước khi áp dụng với dữ liệu thực Chi tiết như sau: 1) Cài

Ngày đăng: 04/08/2016, 15:37

Từ khóa liên quan

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

Tài liệu liên quan