Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Trung học phổ thông Nghiên cứu và ứng dụng kinect vào việc trình chiếu tài liệu ...

Tài liệu Nghiên cứu và ứng dụng kinect vào việc trình chiếu tài liệu

.PDF
68
572
143

Mô tả:

TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ THÔNG TIN ---------- BAÙO CAÙO NGHIEÂN CÖÙU KHOA HOÏC ĐỀ TÀI: NGHIEÂN CÖÙU VAØ ÖÙNG DUÏNG KINECT VAØO VIEÄC TRÌNH CHIEÁU TAØI LIEÄU Giáo viên hướng dẫn: ThS. Nguyễn Phát Nhựt Sinh viên thực hiện: Trần Việt Đức Trương Minh Hiếu BIÊN HÒA, THÁNG 06/2012 LỜI CẢM ƠN ---------- Lời đầu tiên, chúng em xin gửi đến Thầy ThS. Nguyễn Phát Nhựt lời cảm ơn chân thành và sâu sắc nhất. Nhờ có sự hướng dẫn và giúp đỡ tận tình của Thầy trong suốt thời gian qua, chúng em đã có thể thực hiện và hoàn thành Thực Tập Tốt Nghiệp và Luận Văn Tốt Nghiệp. Những lời nhận xét, góp ý và hướng dẫn tận tình của Thầy đã giúp chúng em có một định hướng đúng đắn trong suốt quá trình thực hiện Đề tài, giúp chúng em nhìn ra được những ưu khuyết điểm của Đề tài và từng bước hoàn thiện hơn. Đồng thời, chúng em xin trân trọng cảm ơn các Thầy Cô của Trường Đại Học Lạc Hồng nói chung và của khoa Công Nghệ Thông Tin nói riêng đã dạy dỗ chúng em suốt quãng thời gian ngồi trên ghế giảng đường Đại học. Những lời giảng của Thầy Cô trên bục đã trang bị cho chúng em những kiến thức, những kỹ năng và giúp chúng em tích lũy thêm những kinh nghiệm. Bên cạnh đó, chúng tôi xin cảm ơn sự hỗ trợ và giúp đỡ của bạn bè trong thời gian học tập tại Trường Đại Học Lạc Hồng và trong quá trình hoàn trình hoàn thành Luận Văn Tốt Nghiệp này. Cuối cùng, chúng con cũng chân thành cảm ơn sự động viên và sự hỗ trợ của gia đình và cha mẹ trong suốt thời gian học tập. Đặc biệt, chúng con xin gửi lời cảm ơn trân trọng nhất đến cha mẹ, người đã sinh ra và nuôi dưỡng chúng con nên người. Sự quan tâm, lo lắng và hy sinh lớn lao của cha mẹ luôn là động lực cho chúng con cố gắng phấn đấu trên con đường học tập của mình. Một lần nữa, chúng con xin gửi đến cha mẹ sự biết ơn sâu sắc nhất. BIÊN HÒA, ngày 04 tháng 06 năm 2012 TRẦN VIỆT ĐỨC TRƯƠNG MINH HIẾU MỤC LỤC  Trang Trang phụ bìa Lời cảm ơn Mục lục Danh mục từ viết tắt Danh mục hình ảnh, bảng biểu Lời nói đầu........................................................................................................ 1 Chương : CƠ S 1.1 L TH T..................................................................... 6 ựa chọn tin học ..................................................................................... 6 1.2 Tìm hiểu về Kinect.................................................................................... 6 1.2.1 Sự ra đời và phát triển .................................................................... 6 1.2.2 Những thành phần chính của Kinect ............................................... 8 1.3 Thư viện hỗ trợ Kinect............................................................................. 10 1.3.1 Thư viện Libfreenect .................................................................... 10 1.3.2 Thư viện Code Laboratories ......................................................... 10 1.3.3 Thư viện OpenNI ......................................................................... 10 1.3.4 Thư viện Kinect SDK ................................................................... 10 1.3.4.1 Kinect SDK Beta .................................................................... 11 1.3.4.2 Kinect SDK 1.0 ...................................................................... 11 1.4 Đặc điểm của Kinect SDK 1.0 .................................................................. 11 1.5 Kết luận ................................................................................... 13 Chương : NG N L H ẠT Đ NG C IN CT ............................. 14 2.1 Giải pháp PrimeSensor ............................................................................ 14 2.2 hân tích các kỹ thuật đo lường chiều sâu .................................................. 14 2.3.1 ỹ thuật Triangution .................................................................... 15 2.3.2 ỹ thuật tructure light ................................................................ 16 2.3.3 ỹ thuật Time - Of - Flight ........................................................... 16 2.3 Tính toán độ sâu ................................................................................... 17 2.4 Xác định vị trí trong không gian ............................................................ 21 2.5 Một số đặc tính khác của Kinect............................................................ 22 2. .1 Tiêu cự, góc m IR camera và RG camera ................................. 22 2.5.2 Nguồn và công suất tiêu thụ ......................................................... 22 2. .3 Môi trường hoạt động................................................................... 23 2. .4 ác thông số về độ tin cậy ............................................................ 23 Chương 3: CHƯƠNG T NH VÀ GIẢI TH T ........................................ 24 3.1 Cấu hình chương trình ............................................................................. 24 3.1.1 Về phần cứng ............................................................................... 24 3.1.2 Về phần mềm ............................................................................... 24 3.1.3 ài đặt phần mềm ........................................................................ 24 3.2 hức năng chương trình........................................................................... 24 3.3 Tương tác sử dụng .................................................................................. 25 3.3.1 ết nối thiết bị ............................................................................. 26 3.3.2 Đồng bộ các thông số hình ảnh ..................................................... 27 3.4 Giải thuật ................................................................................... 27 3.4.1 ui trình xử lý chung ................................................................... 27 3.4.2 Xử lý dữ liệu thô .......................................................................... 29 3.5 hương trình điều khiển b ng tay ............................................................. 32 3. .1 ự kiện nhấp chuột trái (Left click) .............................................. 36 3. .2 ự kiện nhấp chuột phải (Righ clik) .............................................. 37 3. 1 ự kiện nhấp đúp chuột trái (Double click) .................................... 38 3. .2 ự kiện kéo và thả đối tượng rag và rop) ................................ 40 3.6 hương trình điều khiển slide po erpoint .................................................. 42 3.7 hương trình điều khiển b ng giọng nói................................................ 44 Chương : GIẢI PH P VÀ H ÀN THIỆN.................................................. 52 4.1 Nhận xét chung ................................................................................... 52 4.2 Giải pháp hoàn thiện ............................................................................. 52 4.3 Hướng phát triển................................................................................... 53 Tài liệu tham khảo ......................................................................................... 54 Phụ ục : Hướng dẫn c i đ t chương tr nh ứng dụng ................................. 55 Phụ ục : Hướng dẫn dụng ...................................................................... 57 nh mục từ viết tắt ADC Analog Digital Converter API Application Programming Interface AUV Autonomous Underwater Vehicles AUX AU Xiliary CL Code Laboratories CNC Computerized Numerical CPU Central Processing Unit IR Infrared JNA Java Native Access JNI Java Native Interface NI Natural Interaction NUI Natural User Interface RAM Ramdom Access Memory RGB Red, Green, Blue SDK Software Development Kit SoC System on chip TOF Tim Of Flight TTL Transistor – Transistor logic USB Universal Serial Bus Danh mục hình Hình 1.1: Thiết bị Kinect .............................................................................................. 6 Hình 1.2: Nhận dạng hành động Game thủ và điều khiển nhân vật trong game ............. 7 Hình 1.3: Các chức năng thường dùng của Kinect ........................................................ 8 Hình 1.4: Những thành phần chính của Kinect .............................................................. 8 Hình 1.5: ơ chế hoạt động của PrimeSense PS1080-A2 .............................................. 9 Hình 1.6: ác điểm chuyển động trên cơ thể ............................................................... 12 Hình 1.7: Kiến trúc Kinect .Net SDK .......................................................................... 13 Hình 2.1: Giải pháp PrimeSense ................................................................................. 14 Hình 2.2: Các kỹ thuật đo lường chiều sâu .................................................................. 15 Hình 2.3:Minh họa 2 thành phần chính trong Triangulation ........................................ 15 Hình 2.4: Mô phỏng kỹ thuật Structured light ............................................................. 16 Hình 2.5: Mô phỏng kỹ thuật Time – Of – Flight ........................................................ 17 Hình 2.6: Cấu tạo bên trong Kinect ............................................................................. 17 Hình 2.7: Quá trình thu về bản đồ độ sâu .................................................................... 18 Hình 2.8: Mẫu hình chiếu từ IR camera và Project ...................................................... 19 Hình 2.9: Tính toán khoảng cách tới một điểm chiếu từ Project .................................. 20 Hình 2.10: hân tích điểm M trong không gian ........................................................... 21 Hình 2.11: Adapter của Kinect .................................................................................... 23 Hình 3.1: Tổng quan cấu trúc chương trình ................................................................. 25 Hình 3.2: ui trình cài đặt và xử lý thông tin .............................................................. 26 H nh 3.3 iểm tra inect driver trong evice Manager ............................................. 26 H nh 3.4 iểm tra inect driver sound, video và game .............................................. 26 Hình 3.5: Hệ thống ghi nhận cử chỉ............................................................................. 27 Hình 3.6: ơ đồ xử lý chung ....................................................................................... 27 Hình 3.7: orm hiển thị của chương trình ................................................................... 31 Hình 3.8: ơ đồ xử lý chọn tay điều khiển con trỏ Windows ....................................... 33 Hình 3.9: ự di chuyển của bàn tay ............................................................................. 35 Hình 3.10: ơ đồ xử lý sự kiện left click và right click................................................ 36 Hình 3.11:Mô phỏng sự kiện left click ........................................................................ 37 Hình 3.12: Mô phỏng sự kiện right click ..................................................................... 38 Hình 3.13: ơ đồ xử lý sự kiện double click................................................................ 39 Hình 3.14: Sự kiện double click .................................................................................. 39 Hình 3.15: ơ đồ xử lý sự kiện rop và rag ............................................................. 40 Hình 3.16: ơ đồ xử lý chạy slide show ...................................................................... 42 Hình 3.17: Hành động trình chiếu Slide powerpoint.................................................... 42 Hình 3.18: ơ đồ xử lý bắt đầu và kết thúc trình chiếu slide........................................ 44 Danh mục bảng Bảng 2.1: Góc m và tiêu cự RGB camera và IR camera ............................................ 22 Bảng 2.2: Công suất tiêu thụ trên Kinect ..................................................................... 23 1 n Từ xưa, khi những thế hệ máy tính đầu tiên ra đời thì con người đã bắt đầu có những ước mơ xa hơn về thế giới tương lai của mình. Trong tương lai ấy, con người sẽ làm chủ được mọi thứ, có thể tương tác với máy tính thông qua hành động, cử chỉ và giọng nói của mình. Và câu hỏi được đặt ra là: Có thể thực hiện được ước mơ đó không? Nhưng ngày nay - thế kỷ 21, cùng với sự phát triển nhanh của ngành công nghệ số và các thiết bị số kỹ thuật cao, cùng với sự ra đời của thiết bị Microsoft Kinect, thì câu trả lời đó là: Có thể! Sự tương tác giữa người sử dụng với máy tính ngày càng trở nên phong phú, đa dạng. Trong những thập niên 70, bàn phím hầu như là công cụ duy nhất để điều khiển máy tính. Sau đó đến khi giao diện đồ họa phát triển, con chuột máy tính đã được phát minh và hỗ trợ việc tương tác trở nên thuận tiện hơn. Cùng với sự phát triển của công nghệ, và các thuật toán, con người có thể giao tiếp với máy tính thông qua các màn hình chạm, hành vi, cũng như giọng nói. Trong nghiên cứu này, chúng tôi sẽ thực hiện một phần ước mơ đó, bằng việc hỗ trợ sự tương tác giữa con người với máy tính thông qua thiết bị Kinect để điều khiển việc trình chiếu tài liệu bằng Slide PowerPoint và con trỏ chuột trên nền Window mà không cần đến nhiều thiết bị hỗ trợ mà chỉ cần: một thiết bị Kinect Sensor, một máy tính sử dụng hệ điều hành Windows ( từ Windows 7 trở lên). Giờ đây, không cần phải chạm tay vào bàn phím, thậm chí không cần phải cầm con chuột hoặc chạm tay vào màn hình mà chỉ cần đứng trước Kinect bằng hành động và giọng nói của mình là có thể thực hiện được những gì mà mình mong muốn. Ngày nay, hầu hết các đều biết đến hoặc đã xem qua các buổi hội nghị, tọa đàm, hay một buổi báo cáo, thậm chí là một giáo viên giảng dạy nào đó,… người ta sử dụng rất nhiều Slide PowerPoint để thuyết trình tài liệu của mình. Nắm bắt được nhu cầu phát triển trên, chúng em đã tìm ra một giải pháp mới, một phong cách mới nhằm hỗ trợ cho việc thuyết trình và tạo ra nhiều hứng thú hơn khi công việc đó giờ đây chỉ là một cử động của cơ thể hoặc ra lệnh bằng giọng nói. Đề tài mà chúng em giới thiệu ở 2 đây, được viết trên Visual Studio 2010 bằng ngôn ngữ C#, lâp trình phát triển trên nền thư viện Microsoft SDK. Bên cạnh đó, chúng tôi cũng giúp các điều khiển một số thao tác trên con trỏ chuột của Window thông qua Kinect của Microsoft. Chúng em sẽ nói rõ vấn đề trên ở những phần sau. Kinect thật sự tạo ra cơn sốt, không chỉ trong cộng đồng Game thủ mà cả trong giới nghiên cứu, lập trình viên và nhà thiết kế trên thế giới. Nhờ vào những ưu điểm của mình mà Kinect đã được ứng dụng vào nhiều lĩnh vực đời sống về giáo dục, điều khiển Window, y khoa, robot,… Trong y khoa: Hãng InfoStrat đã có sáng kiến ứng dụng Kinect cho các màn hình khổ lớn trong công tác hội chẩn. Ví dụ, với thao tác gõ nhẹ bàn tay vào “không khí” ngay phía trước màn hình hiển thị khổ lớn, các bác sỹ có thể cuộn qua các hình ảnh X-quang và những hình ảnh y khoa khác. Khi sử dụng cả 2 tay, bác sỹ có thể phóng to hay thu nhỏ hình ảnh ở từng vùng hiển thị để quan sát rõ hơn. Trong khi đó, phòng thí nghiệm Red Hill tại đại học San Francisco (California, Mỹ) đã “sáng tạo” ra một trò chơi giúp bệnh nhân Parkinson vừa thực hiện các bài vật lý trị liệu vừa giải trí để giảm ưu phiền. Trong công nghệ Robot và điều khiển tự động: Nghiên cứu tại đại học Berkeley (California, Mỹ) đã sử dụng camera trên Kinect và các cảm biến xác định độ sâu để giúp rô-bốt có được khả năng quan sát và qua đó có thể tự định hướng, phát hiện vật cản. Vài nghiên cứu trang bị Kinect trên xe nâng hàng trong nhà xưởng, kho bãi cũng đang được triển khai tại Mỹ và kết quả bước đầu khá khả quan. Theo Adept Technology, một hãng sản xuất rô-bốt cho các nhà máy thì lợi thế của Kinect là khả năng quan sát 3 chiều và điều này giúp rô-bốt cũng như xe nâng có thể quan sát tốt hơn, từ đó giảm thiểu tai nạn khi di chuyển. Trong kinh doanh, bán hàng: Hãng FaceCake Marketing Technologies đã thành công trong việc vận hành một phòng thử đồ tương tác với tên gọi Swivel. Về cơ bản, Swivel là một tấm gương tương tác, cho phép người mua hàng xem các món hàng “ảo” sẽ xuất hiện như thế nào trên một “manơcanh” (người nộm mẫu) có kích thước được “sao chụp” từ chính người 3 mua. Nói cho dễ hiểu, người mua và cửa hàng sẽ nhìn thấy nhau, và 2 bên sẽ chọn đúng kích thước món hàng cần thử. Trong nhiều tình huống, Swivel có thể đề xuất trang phục, kích thước món đồ dựa trên hình ảnh người mua được camera Kinect ghi nhận. Hãng AR Door của Nga cũng đã triển khai thành công giải pháp tương tự cho chuỗi cửa hàng bán lẻ Topshop. Cũng tại Mỹ, tại hệ thống cửa hãng thời trang Nodstrom, bên cạnh dịch vụ thử đồ ảo với Swivel, khách hàng có thể đứng trước các cửa kiếng trưng bày, sau đó dùng tay “vẽ” những lời nhận xét, đánh giá hay thậm chí đề xuất mẫu thiết kế mới. Xây dựng một chương trình điều khiển từ xa thông qua một số cử chỉ của các phần trên cơ thể người nhằm phục vụ trong việc trình chiếu Slide PowerPoint và điều khiển một số thao tác con trỏ chuột trên nền Window. Tạo ra một thế giới “ảo hóa”- giả lập cảm ứng cho người sử dụng và cách nhìn mới về một tương lai số mà ở đó con người chỉ cần “chạm” vào khoảng không và “điều khiển”. Giúp con người có thể tương tác với máy tính một cách dễ dàng hơn. Bên cạnh đó, đề tài sẽ giúp ta rút ngắn khoảng cách giữa thế thực và ảo, giao tiếp dễ dàng giữa người và máy. Ngoài ra, chương trình sẽ giúp cho người sử dụng có nhiều bài giảng, thuyết trình sinh động hơn và một cảm giác thoải mái, tự nhiên trong khi trình bày. Thông qua thiết bị Kinect Sensor để nhận dạng những cử chỉ, hành động trên cơ thể người và bằng giọng nói để điều khiển ứng dụng trình chiếu tài liệu, con trỏ Window. Từ việc bắt được những hình ảnh của những điểm trên cơ thể và giọng nói mà người dùng yêu cầu, chương trình sẽ xử lý chúng và chuyển thành những thao tác, sự kiện trên máy tính. Để thực hiện được những vấn đề trên chúng tôi cần phải: 4 Tìm hiểu đặc điểm cấu tạo và những ưu cũng như nhược điểm của thiết bị Kinect Sensor. Tìm hiểu cách thức ghi nhận hình ảnh và nhận dạng giọng nói của Kinect từ môi trường bên ngoài. Sử dụng giải thuật để xử lý hình ảnh dạng thô nhận được từ thiết bị đưa về và “chế biến” chúng thành những phương thức để máy có thể hiểu và đáp ứng được yêu cầu. Trong thời gian đảm nhận đề tài, chúng tôi cố gắng nghiên cứu và tìm hiểu một số nội dung sau: Tìm hiểu phương pháp trình chiếu tài liệu bằng Slide PowerPoint và những thao tác của con trỏ trên nền Windows. Tìm hiểu về .NET 2010 và thư viện hỗ trợ Kinect Microsoft SDK 1.0. Các đặc điểm cấu tạo và những ưu – khuyết điểm của thiết bị Kinect Sensor. Trong quá trình ghi nhận từ Kinect cho đến việc điều khiển được ứng dụng phải trải qua nhiều giai đoạn nên chúng tôi đã chia ra từng giai đoạn và xử lý: ghi nhận lại hình ảnh theo nhiều chế độ và đưa vào dữ liệu. Sau đó, dùng những giải thuật và hàm trong thư viện SDK 1.0 để xử lý và thực hiện yêu cầu. Đồng thời, cần giải quyết vấn đề nhận dạng điểm nào trên cơ thể và cách lọc âm, giảm ồn để nhận dạng một cách chính xác nhất khẩu lệnh mà người sử dụng đưa ra. Từ những Project xây dựng cho từng phần và những tính năng cụ thể, chúng tôi sẽ kết tất cả lại thành một chương trình logic hoàn chỉnh. So với những nghiên cứu khác từ thiết bị Kinect Sensor và việc hỗ trợ trình chiếu tài liệu, phần lớn là dựa trên bộ cảm biến của Kinect để bắt cử chỉ chuyển động cơ thể, một phần rất ít còn lại là điều khiển bằng giọng nói. Thì ở đây, chúng tôi đã “kết hợp” chúng lại thành “2 trong 1” - hành động và giọng nói, để tạo ra một ứng dụng. Nếu như việc trình chiếu tài liệu và điều khiển con trỏ cần phải dùng đến bàn phím và con chuột vi tính, thì giờ đây chương trình sẽ giúp người sử dụng không cần phải dùng đến những thiết bị trên, mà chỉ cần đứng trước “không gian” của Kinect 5 bằng hành động hoặc lời nói của mình để ra lệnh và bắt đầu điều khiển. Chương trình sẽ tạo ra một thế giới điều khiển “ảo” bằng cảm ứng nhưng không cần phải chạm vào màn hình hay bất cứ gì. S CC TR C Đ T ời mở đầu Trình bày lý do chọn đề tài, tổng quan đề tài, mục tiêu, phương pháp nghiên cứu, tính mới của đề tài, giới hạn và sơ lược cấu trúc của đề tài. Chương 1: Cơ sở l thuyết Lựa chọn tin học, giới thiệu về thiết bị Kinect, lịch sử phát triển của Kinect, các thư viện hỗ trợ Kinect, thư viện Microsoft SDK và những ứng dụng của Kinect. Chương 2: Nguyên l hoạt động của Kinect Cách tính toán độ sâu và nhận dạng giọng nói của Kinect, các giải pháp và phương thức lấy hình ảnh xử lý. Chương 3: Chương trình và giải thuật Giới thiệu về chương trình nghiên cứu và các giải thuật, hướng ứng dụng chương trình. Chương : Giải pháp và hoàn thiện Đưa ra những vấn đề đạt được và chưa đạt, cùng hướng giải quyết để hoàn thiện chương trình. 6 1.1. Có một vấn đề phải đối mặt trong những phòng học hiện đại ngày nay và những ứng dụng của tin học vào đời đời sống. Dự án mà nhóm chúng tôi đang nghiên cứu ở đây sẽ giúp đưa mọi người đến gần hơn với một cuộc sống tương lai số. Một ứng dụng Kinect sẽ là một giải pháp tốt . Thay vì ngồi đằng sau một màn hình máy tính hoặc phải phải tốn nhiều thời gian và công sức để điều khiển các Slide PowerPoint, thì giờ đây người sử dụng có thể đứng từ xa để điều khiển chúng. Chúng ta sẽ cùng tìm hiểu ở những chương tiếp theo. 1.2. 1.2.1. ình 1.1 – Thiết bị Kinect Kinect (hay còn biết với mã là Project Natal) là 1 thiết bị thu nhận các cảm biến chuyển động, được phát triển bởi Microsoft. Thời gian đầu, Kinect là thiết bị chuyên dụng của hệ máy Xbox 360, phục vụ cho việc chơi game. Các mốc thời gian ra đời, phát triển của kinect và các thành phần liên quan [4]: - 5/30/2007: Microsoft nung nấu tưởng về 1 thiết bị dùng camera ghi nhận cử động điều khiển thay cho các thiết bị truyền thống. - 6/1/2009: Microsoft công bố “Project Natal” ở hội nghị thường niên E3. - 6/13/2010: Trong suốt hội nghị E3, đổi tên “Project Natal” thành Kinect, chính thức là 1 thiết bị hỗ trợ cho Xbox 360. 7 - 11/4/2010: Microsoft chính thức tung ra thị trường Kinect, cũng từ đây, nhưng kế hoạch phát triển Driver nguồn mở cho Kinect của các tổ chức/ hacker cũng bắt đầu thực hiện. - 11/10/2010: hacker trẻ tuổi ector đã phát triển thành công Driver cho Kinect. - 2/21/2011: Microsoft lên kế hoạch cho việc phát triển bộ SDK hỗ trợ cho kinect, tuy nhiên đến nay (6/2011), các API hỗ trợ từ thư viện này còn rất sơ khai. Kinect sử dụng webcam, thiết bị thu phát sóng hồng ngoại, và thiết bị thu nhận âm thanh để ghi nhận tín hiệu chuyển động của game thủ và nhận dạng các lệnh điều khiển thông qua giọng nói, giúp cho các game thủ tương tác với Xbox 360 mà không cần chạm vào bất kì thiết bị điều khiển nào. Trong hình 1.2, game thủ có thể đấm bốc như thật. Hình 1.2 – Nhận diện hành động game thủ và điều khiển nhân vật trong game Kinect được bán rộng rãi lần đầu tại Bắc Mỹ vào tháng 11 năm 2010, sau đó là Úc, New Zealand, Singapore, Nhật Bản và nhanh chóng có mặt trên khắp các cửa hàng đồ chơi trên toàn thế giới. Kinect là một thiết bị giải trí tiên tiến, đi tiên phong trong lĩnh vực thực tế ảo, nên hiện đang lập kỉ lục là thiết bị kĩ thuật số được bán chạy nhất trên toàn thế giới [5]. Kinect, hỗ trợ các chức năng tương tác sau: - Ghi nhận chuyển động tay (hand gesture), bao gổm các hành động xoay vòng (circle), di chuyển tay (wave gesture), push,... - Ghi nhận chuyển động toàn cơ thể (full body skeleton), xác định các vị trí chính của cơ thể như đầu, vai, cẳng tay, chân,… - Điều khiển bằng giọng nói. 8 - Nhận dạng số người đang chơi - Phân biệt đối tượng dựa vào độ sâu. Hình 1.3 – Các chức năng thường dùng của Kinect Kinect có cấu tạo thon, dài, nằm ngang bao gồm 1 webcam có thể ghi nhận được hình ảnh; 1 thiết bị phát tia hồng ngoại, 1 thiết bị thu nhận tín hiện hồng ngoại 1 thiết bị ghi nhận âm thanh. Kinect dùng công nghệ xác định khoảng cách dùng camera kết hợp thiết bị thu phát tia hồng ngoại, phát triển bởi các lập trình viên Israel thuộc PrimeSense, có khả năng ghi nhận thông tin 3D của đối tượng dựa trên các thông tin, cấu trúc của các tia hồng ngoại nhận được. Có thể xem như Kinect là một 3D scanner, xây dựng cấu trúc vật thể 3D dựa trên thông tin ảnh và khoảng cách đến từng điểm của ảnh. 1.2.2. Hình 1.4 – Những thành phần chính của Kinect 9 Các thành phần bên trong Kinect gồm có: bộ nhớ RAM, bộ cảm ứng Prime Sense PS1080-A2, quạt tản nhiệt, động cơ điều khiển gốc ngẩng (Motorized Tilt), bộ gia tốc 3 trục, microphone (Multi – Array Mic) và 3 camera: RGB camera, bộ cảm biến độ sâu (3D Depth Sensors). Các thông số kỹ thuật: - RGB camera: như một camera thông thường, có độ phân giải 640 x 480 với tốc độ 30 khung hình/giây, 32 bit màu sắc. - Bộ cảm biế ộ sâu: độ sâu sẽ được lấy về thông qua sự kết hợp của 2 cảm biến: đèn chiếu hồng ngoại (IR light) và camera hồng ngoại (Depth Sensor). - Dãy hone: gồm microphone được bố trí dọc Kinect như trên hình 1.2, được ứng dụng vào các ứng dụng bằng giọng nói, 16 bit, tần số 16 Hz. - ộ u khi n gốc ngẩn: là loại động cơ DC khá nhỏ, cho phép ta điều khiển camera lên xuống để đảm bảo camera có góc nhìn tốt nhất. - PrimeSense PS1080-A2: chip này được xem như là bộ não của Kinect – tất cả các cảm biến được nối vào đây để xử l trước khi truyền ra được một chiều sâu hình ảnh và nhận dạng được giọng nói. Hình 1.5 – Cơ chế hoạt động của bộ cảm biến Prime Sense PS1080-A2 Một trong những đặc tính quan trọng nhất của Kinect đó là thu về giá trị độ sâu hay giá trị khoảng cách từ camera tới vật thể trong thế giới thực và nhận dạng được giọng nói. Phần tiếp theo sẽ nói về nguyên lý hoạt động của Kinect trong việc tính toán giá trị và cách thức nhận dạng giọng nói này. 10 1.3. Ngay khi mới ra đời, Kinect đã được quan tâm bởi rất nhiều nhà phát triển phần mềm, không chỉ trên mảng phát triển game cho Xbox mà còn trên mảng xử lý ảnh ứng dụng trong y học, robot, mapping … Do đó, mà nhiều thư viện được viết cho Kinect ra đời. Cho đến thời điểm hiện tại, các thư viện đáng chú là ibfreenect, Code Laboratories Kinect, OpenNI và Kinect SDK. 1.3.1. ibfreenect là thư viện được phát triển bởi OpenKinect, do một cộng đồng những người quan tâm đến phần cứng Kinect viết ra và chia sẻ. Cộng đồng OpenKinect làm việc hoàn toàn tự nguyện và không vì mục đích lợi nhuận, họ phát triển Libfreenect thành một mã nguồn mở cho các hệ điều hành khác nhau Windows, Linux và OS X. Hiện tại, ibfreenect được đóng gói cho việc sử dụng trên Python, C, C++, C#, Java JNI, Java JNA, Javascript. 1.3.2. Code Laboratories (CL) là một công ty phần mềm chuyên hỗ trợ các nhà phát triển, lập trình viên khai thác các tính năng của các thiết bị xử lý ảnh. Trong số đó Kinect không phải là ngoại lệ, CL cung cấp cho người sử dụng những tính năng cơ bản nhất của Kinect về camera, audio và motor. 1.3.3. Thư viện OpenN được xem là thư viện mạnh nhất trước sự có mặt của Kinect SDK 1.0, thư viện này hỗ trợ đa ngôn ngữ trên nhiều platform khác nhau, giúp cho các lập trình viên có thể viết các ứng dụng trên Kinect rất dễ dàng tương tác tự nhiên Natural Interaction (NI). Mục đích chính của OpenNI là xây dựng các hàm API chuẩn, cho phép thư viện có khả năng kết hợp với các middleware nhằm làm tăng sức mạng cho Kinect. 1.3.4. SDK SDK cung cấp cho nhà phát triển những bộ cảm biến có chiều sâu, camera cảm biến màu sắc và xác định nguồn âm thanh theo chùm tia. Các nhà phát triển cũng có thể theo dõi ảnh ở dạng khung sườn của một hay hai người đang di chuyển trong tầm 11 ngắm Kinect, từ đó các nhà phát triển có thể tạo ra những ứng dụng hướng theo cử chỉ (gesture). SDK gồm tính năng âm thanh như giảm tiếng ồn và hạn chế tiếng vang. Các nhà phát triển có thể truy cập vào công nghệ hình thành tia để nhận diện ra nguồn âm thanh hay có thể truy cập vào giao diện trình ứng dụng (AP ) để nhận diện giọng nói trong hệ thống Windows. Các nhà phát triển có thể viết ứng dụng bằng ngôn ngữ C#, C++ và bất cứ ngôn ngữ .Net nào. 1.3.4.1. Kinect SDK beta Kinect SDK beta được Microsoft đưa ra vào ngày 16 tháng 6 năm 2011, là một công cụ lập trình mạnh cho các nhà phát triển. Nó cho phép lập trình viên truy xuất toàn bộ tính năng của thiết bị Kinect. Một điều bất tiện là thư viện này chỉ hỗ trợ trên công cụ lập trình của Microsoft là Visual Studio 2010 trở lên, với các ngôn ngữ là C++, C# và Visual Basic. Các tính năng nổi bật như: thu ảnh từ các sensor, skeleton tracking và điều khiển bằng giọng nói thông qua công cụ nhận biết giọng nói, Windows Speech Recornition API. Phiên bản beta chỉ cho phép sử dụng vào những mục đích phi lợi nhuận và phiên bản mới nhất được cập nhật vào ngày 1 tháng 11 năm 2011 với nhiều lỗi được sửa và chạy tốt trên Windows 8 Developer Preview. 1.3.4.2. Kinect SDK 1.0 Kinect SDK 1.0 ra đời vào tháng 2 năm 2012, SDK 1.0 có nhiều cải tiến hơn so với phiên bản beta. Bản mới này có khả năng hỗ trợ lên đến 4 bộ cảm biến Kinect cho một máy tính cho việc theo dõi khung xương của người sử dụng và chế độ theo dõi chuyển động ở khoảng cách là 40 cm ở phía trước thiết bị. Ngoài ra, đây cũng là bản được Microsoft tích hợp công nghệ nhận dạng giọng nói mới nhất nhưng chỉ hỗ trợ 4 tiếng là tiếng Anh, Mexico, Nhật và Canada và sẽ có nhiều ngôn ngữ hơn trong tương lai. Microsoft đang cố gắng hoàn thiện phần mềm nhận dạng giọng nói để giúp hệ thống nhận ra những từ địa phương trong các ngôn ngữ. 1.4. D 1.0 Kinect chạy trên Windows SDK, tương thích Windows 7, bao gồm các trình điều khiển, cảm biến AP mạnh mẽ cho Bộ Cảm Biến cử động, giao diện người dùng tự nhiên, tài liệu cài đặt cho các ứng dụng và thiết bị. SDK cung cấp các khả năng của 12 Kinect cho các nhà phát triển để xây dựng các ứng dụng với C++, C# hoặc Visual Basic® sử dụng Microsoft® Visual Studio® 2010. Hình 1.6 – Các điểm chuyển động trên cơ thể ă D ồ Raw Sensor Streams - Bộ ả Bế ộ : Các nhà phát triển có thể truy cập dữ liệu thô từ bộ cảm biến sâu, camera cảm biến mầu sắc và dải yếu tố microphone. Điều đó cho phép họ xây dựng các cảm biến cấp độ thấp hơn thông qua cảm biến Kinect. õ ấ ú : SDK có khẳ năng theo dõi kiến trúc xương của một hoặc hai người đang cử động trong tầm nhìn của Kinect giúp điều chỉnh các ứng dụng về cử động. Bên cạnh đó, thư viện này hỗ trợ theo dõi cùng lúc 20 khớp xương trên cơ thể. ả ă x l â bao gồm loại bỏ tiếng ồn và tiếng vang, hình thành chùm tia để xác định nguồn âm thanh, và tích hợp với các hàm AP nhận dạng giọng nói của Windows. Dễ . SDK nhanh chóng cài đặt theo tiêu chuẩn cho Windows 7 mà không đòi hỏi các cấu hình phức tạp với dung lượng nhỏ hơn 100 MB. Các nhà phát triển có thể cài đặt và chạy chỉ trong một vài phút với một cảm biến tiêu chuẩn Kinect được phổ biến rộng rãi tại kênh bán lẻ. l ẫ : SDK bao gồm hơn 100 trang tài liệu công nghệ chất lượng cao. Ngoài việc có các thông tin trợ giúp tổ hợp sẵn, tài liệu còn bao gồm những hướng dẫn chi tiết cho hầu hết các mẫu tham khảo được cung cấp với SDK.
- Xem thêm -

Tài liệu liên quan