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

Nghiên cứu và ứng dụng kinect vào việc trình chiếu tài liệu báo cáo nghiên cứu khoa học sinh viên

60 1,1K 3
Tài liệu đã được kiểm tra trùng lặp

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên cứu và ứng dụng Kinect vào việc trình chiếu tài liệu báo cáo nghiên cứu khoa học sinh viên
Tác giả Nhóm tác giả
Người hướng dẫn PTS. Nguyễn Văn A
Trường học Trường Đại học Công nghệ Thông tin - Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Khoa học máy tính
Thể loại Luận văn tốt nghiệp
Năm xuất bản 2023
Thành phố Hồ Chí Minh
Định dạng
Số trang 60
Dung lượng 1,84 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 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 ở

Trang 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

Trang 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:

Trang 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

Trang 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

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

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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ữ

Trang 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

Trang 13

Ngoài ra khi cài đặt SDK 1.0 xong, thư viện này có những Sample giúp người

sử dụng Test thiết bị Kinect Sensor Từ đó, người sử dụng có thể phát triển thành

những ứng dụng vào những mục đích nghiên cứu cụ thể

SDK 1.0 hỗ trợ cho việc xử l âm thanh, cho phép xây dựng các ứng dụng điều khiển bằng giọng nói dễ dàng hơn

Tuy nhiên, thư viện Kinect SDK 1.0 chỉ có thể hỗ trợ trên các công cụ lập trình của NET của Microsoft

Nói về tầm nhìn xa hơn – về tính phát triển: Kinect SDK là một phương án tốt,

vì cả thiết bị Kinect và thư viện SDK đều là sản phẩm của Microsoft nên việc thống nhất và các giải thuật sẽ được khai thác sâu hơn các tính năng và nhiều ứng dụng mạnh hơn, chuyên nghiệp hơn Chính vì thế, trong phần nghiên cứu này chúng tôi chọn thư viện Kinect SDK 1.0 này để xây dựng ứng dụng

Hình 1.7 – Kiến Trúc Kinect Net SDK

Trang 14

2.1 ả

Giải pháp PrimeSensor của hãng PrimeSense có khả năng xử lý các cử chỉ dạng

3 chiều (3D), nhưng dữ liệu hình ảnh lại được từ cảm biến ảnh CMOS Giải pháp này,

có khả năng ghi nhận độ sâu, màu sắc và cả âm thanh ở chế độ thời gian thực của không gian cần kiểm soát mà không cần yêu cầu người dùng (người điều khiển hệ thống) phải mặc hay cầm bắt cứ công cụ nào khác, cũng như không bắt buột phải cân chỉnh hay truy xuất dữ liệu đã được số hóa từ máy tính trung tâm

Giải pháp System on a chip (SoC) của PrimeSense có khả năng tính toán giá trị

độ sâu của mỗi điểm ảnh (pixel), dựa trên tính hiệu trả về của cảm biến CMOS Ngoài

ra, SoC này cũng trang bị cảm biến CMOS để nhận dạng màu sắc của điểm ảnh, xử lý

nguồn sáng trả về dựa trên công nghệ phân mã nguồn sáng Light Coding Về nguyên tắc, Light Coding làm việc bằng cách mã hóa vùng quan sát thông qua đèn R – đèn này “vô hình” đối với mắt người

Hình 2.1 – Giải pháp PrimeSensor Giải pháp dựa trên sự mã hóa ánh sáng từ tia hồng ngoại của camera IR light Với việc hỗ trợ một cảm biến hồng ngoại bằng việc tạo ra 2 camera phát và nhận tia laser thì PrimeSense đã áp dụng vào rất nhiều thiết bị 3D của mình – trong đó Kinect Sensor là một điển hình

2.2 â l sâu

Trang 15

Hình 2.2 – Các kỹ thuật đo lường chiều sâu

2.2.1 l

Kỹ thuật này bao gồm 2 thành phần: 1 thành phần phát sóng tia laser, 1 thành phần nhận thông tin ảnh, nhận tia laser tương ứng Thành phần phát nhận tia laser giúp xác định vị trí của điểm laser trên vật tương ứng với điểm nào trên ảnh màu ghi nhận được từ thành phần còn lại Như vậy, với vị trí của điểm laser trên vật, vị trí của thành phần phát tia laser, thành phần nhận thông tin ảnh màu, laser, tạo thành tam giác Các thông tin cơ bản của tam giác này đã có sẵn như vị trí tương đối của thành phần thu/phát tia laser và thành phần nhận ảnh, góc hợp bởi 2 thành phần này, từ đó tính được khoảng cách thực tế của điểm trên vật, và có cả màu sắc của điểm đó đựa trên ảnh màu

u điểm của kỹ thuật này độ chính xác cao, tuy nhiên giới hạn trong 1 phạm vi

độ sâu nhất định do góc hợp bởi 2 thành phần này giới hạn lại Kĩ thuật này phù hợp khi các đối tượng có kích thước nhỏ, có hoa văn và đòi hỏi độ chính xác cao

Hình 2.3 – Minh họa vị trí 2 thành phần chính trong Triangulation

Trang 16

Hình 2.4 – Mô phỏng kỹ thuật Structured Light Trong hình 2.4, 1 bộ phát tia laser phát chùm tia laser theo 1 chiều, camera nghiêng 1 góc xác định với đối tượng, dựa vào độ lồi lõm của đường thằng ghi nhận được mà tính toán được cấu trúc 3D của vật được quét Chỉ 1lần chụp hình có thể tính được độ sâu của toàn bộ khuôn mặt dựa trên mẫu bị biến dạng như thế nào so với mẫu ban đầu Cách này thường áp dụng cho các chương trình đòi hỏi tốc độ cao hoặc ứng dụng tương tác trong thời gian thực Phụ thuộc nhiều vào thuật toán nội suy và độ

nhiễu của ảnh kết quả

2.2.3 – Of – Flight

Kỹ thuật này phát ra các tia laser để cảm nhận bề mặt của đồ vật, để tính toán được khoảng cách từ thiết bị đến từng điểm của đối tượng, người ta dùng cách tính thời gian di chuyển của chùm tia laser, tên gọi Time of flight cũng xuất phát từ đó Thiết bị thuộc nhóm này bao gồm 1 bộ phận phát tia laser và bộ cảm biến nhận tia laser Bộ phận phát tia laser sau khi phát chùm tia laser, ghi nhận lại thời điểm phát sóng, bộ phận nhận tia khi nhận đựa tia laser nào thì ghi nhận thời điểm nhận tia đó Khi đó, với mội điểm,

Trang 17

tương ứng 1 tia trong chùm tia phát ra, ta có khoảng thời gian “bay” t của tia laser đó Thời gian “bay” bao gồm thời gian chạm đối tượng, và thời gian phản chiếu lại vào thiết

bị nhận tia Ta đã biết thời gian di chuyển của ánh sáng là hằng số c, đã biết thời gian bay, ta tính khoảng cách d = (c * t) / 2

Độ chính xác của thiết bị càng lớn khi khoảng thời gian giữa các lần bắt tia laser trong thiết bị nhận tia càng nhỏ Để có thể đạt đến độ chính xác là milimet thì khoảng thời gian giữa 2 lần nhận tia phải là 3.3 picosecond Đây là khoảng thời gian mà chưa có thiết bị nào hiện nay có thể đạt được Khuyết điểm của kĩ thuật này là độ chính xác không cao, phụ thuộc vào thiết bị nhận Tuy nhiên khoảng cách mà thiết bị này có thể ghi nhận có thế đến con số kilomet, do đó, phù hợp cho việc quét các đối tượng có kích thước lớn

Hình 2.5 – Mô phỏng kỹ thuật Time – Of – Flight

2.3 ộ â

Hình 2.6 – Cấu tạo bên trong Kinect

Trang 18

Cặp cảm biến IR camera và IR projector sẽ phối hợp với nhau cho ra giá trị độ sâu ảnh bằng công nghệ Light Coding của PrimeSense Để lấy các thông tin cần thiết

từ kinect, ta không thể tương tác trực tiếp với driver của thiết bị, việc này đòi hỏi kĩ thuật cao và khả năng lập trình rất tốt và am hiểu cấu tạo thiết bị ướng giải quyết là dùng một thư viện hỗ trợ để lấy dữ liệu một cách dễ dàng và được chuẩn hóa

Để hiện thực hóa 1 đối tượng 3D chúng ta cần xác định ít nhất phải có các thông tin về màu sắc độ sâu từ nhiều điểm trên đối tượng ở nhiều góc nhìn khác nhau Phần này trình bày cách thức hoạt động của kinect, những thông tin thu nhận được, để

có thể trả ra các thông tin về ảnh và độ sâu như mong muốn

Để thu nhận hình ảnh, sử dụng thiết bị thu nhận hình ảnh là 1 webcam bình thường Để thu nhận độ sâu từng điểm ảnh, Kinect hoạt động dựa trên công nghệ Light Coding Công nghệ Light Coding hoạt động dựa trên việc phát ra chùm tia hồng ngoại đặc trưng riêng từng tia (không thấy được dưới mắt thường) Kinect dùng 1 bộ cảm biến CMOS chuẩn, để ghi nhận lại các tia hồng ngoại bị phản xạ lại khi tiếp xúc với môi trường, dựa vào các đặc trưng mà xác định cụ thể vị trí tia hồng ngoại trong chùm

tia và độ sâu của tia đo được Sử dụng PS1080 SoC chip tính toán song song để xác

định độ sâu của toàn bộ chùm tia phản xạ và xuất ra độ sâu của tất cả điểm ảnh

Hình 2.7 – Quá trình thu về bản đồ độ sâu ảnh

Trang 19

Khác với kỹ thuật Stereo Camera với việc dùng cặp camera giống nhau để xây

dựng nên bản đồ độ sâu, hay kỹ thuật Time – Of – Flight (TOF) định nghĩa khoảng

cách bằng ước lượng thời gian di chuyển của tia sáng đi và về trong không gian Công

việc tính toán này được thực hiện bên trong Kinect bằng chip PS1080 SoC của

PrimeSense Công nghệ mới này được cho là đáp ứng chính xác hơn, giá cả rẻ hơn cho việc sử dụng ở môi trường trong nhà

Project sẽ chiếu một chùm sáng hồng ngoại, tạo nên những đốm sáng ở không gian phía trước Kinect, tập hợp đốm sáng được phát ra này là cố định Những đốm sáng này được tạo ra nhờ một nguồn sáng truyền qua lưới nhiễu xạ (diffraction grating) Tập hợp các điểm sáng này được IR camera chụp lại, thông qua giải thuật đặc

biệt được tích hợp trong chip PS1080 SoC cho ra bản đồ độ sâu Bản chất của giải

thuật này là các phép toán hình học dựa trên quan hệ hai cảm biến IR camera và Projector mà ta sẽ tìm hiểu ở phần tiếp theo

Hình 2.8 – Mẫu hình chiếu từ IR camera và Project

Để hiểu cách thức Kinect ước lượng khoảng cách tới vật thể trong môi trường,

ta cần phân tích một số điểm sau [1]

Ta giả sử Project phát đi một tia sáng dọc đường màu xanh lá, nó sẽ được chụp lại dưới dạng một đốm sáng bởi IR camera khi chạm vào bề mặt vật thể trong không gian

Trang 20

Hình 2.9 – Tính toán khoảng cách tới một điểm chiếu từ Project

Ta sẽ bắt đầu xét ba mặt phẳng ở ba khoảng cách khác nhau:

- Mặt phẳng gần Kinect (close plane)

- Mặt phẳng ở xa Kinect (Distant plane)

- Mặt phẳng tham chiếu (Reference plane) ở giữa hai mặt phẳng trên

Trong đó, mặt phẳng tham chiếu ngầm được biết trước bên trong Kinect với đầy đủ thông tin về khoảng cách Ngoài ra, ta cũng sẽ đề cập thêm đến mặt phẳng ảnh (image plane) của IR camera, là mặt phẳng hình chiếu của các điểm trong không gian thu về bởi IR camera

Ta xét ba trường hợp: Khi tia sáng màu xanh lá chạm vào 3 điểm trên 3 mặt phẳng lần lượt là A, B, C Ba điểm này được chiếu lên mặt phẳng ảnh tương ứng là A’, B’, C’ Quan sát vị trí A’, B’và C’, ta có nhận xét: Điểm A càng gần Kinect (hay close plane càng gần Kinect) thì A’ càng xa B’ về phía bên phải Ngược lại, điểm C càng xa Kinect (hay distant plane càng xa Kinect) thì C’ càng xa B’ về phía bên trái

Từ đó, khi ta biết trước hướng, điểm xuất phát của tia sáng từ Project và vị trí B’ là hình chiếu của điểm B trên mặt phẳng tham chiếu lên mặt phẳng ảnh, ta hoàn

toàn có thể tính toán được độ sâu ảnh hay khoảng cách tới vật thể

Trang 21

2.4

Dựa trên hình 2.10, ta đã có thông tin Cp, vị trí điểm trong mặt phẳng ảnh theo hệ trục Oxy, tương ứng là độ sâu CQ của điểm đó trong không gian 3D lấy từ kinect [2] Chuyển tư điểm m(x, y) sang M(X, Y, Z) xem như là đã có thông tin Z cần xác định thêm thông tin X và Y Do đó, phân tích điểm M thành 2 điểm Mx, My bằng cách chiếu

2 điểm này lên mặt phẳng Czx, và Czy

Hình 2.10 – Phân tích điểm M trong không gian

Để tính Y, Áp dụng công thức của 2 tam giác đồng dạng là Cpmy và CQMy ta có:

Thay = Y, biến đổi công thức và chuyển đổi hệ trục tọa độ từ Oxy sang puv (m(x, y) thành m(x – 320, y - 2 0)) ta được:

Đây là công thức tỉ lệ nên có thể áp dụng được với các đại lượng khác nhau (mét của độ sâu và pixel của ảnh) Tương tự áp dụng cho tính X, ta cũng có được công thức:

Trang 22

Như vậy từ 2 thông tin ảnh (màu sắc red, green, blue; vị trí trong mặt phẳng ảnh Oxy dòng, cột tính theo đơn vị pixel) và thông tin độ sâu tính theo đơn vị mét, ta tính được vị trí (X, Y, Z) của điểm đó trong không gian và màu sắc tương ứng

2.5 ộ ố

Vì là một sản phẩm thương mại Kinect của Microsoft nên khi lập trình với thiết

bị Kinect ta cần phải quan tâm đến một số thông số cơ bản sau [1]:

2.5.1 B

ai camera RGB và R được đặt cách nhau 2.5 cm nên có chút khác nhau ở khung hình thu về từ hai camera Để đảm bản khung hình RGB có thể chứa được khung hình R, người ta thiết kế góc mở của RGB camera lớn hơn Điều này cũng dẫn đến là tiêu cự của RGB camera nhỏ hơn

Feature

RGB camera

IR camera

Bảng 2.1 – Góc mở và tiêu cự RGB camera và IR camera 2.5.2 ồ ấ

Vì Kinect cần nhiều điện năng để hoạt động nên cổng USB của Xbox 360 không thể đáp ứng, mà phải qua một cổng chia, để chia thành 2 kết nối riêng là: USB

và kết nối nguồn, giúp cho thiết bị kết nối với Xbox 360 bằng cổng USB trong khi nguồn điện cần cho Kinect là 12 VDC được lấy từ adapter

Phiên bản Xbox 360 mới sẽ không cần adapter vì nó có các A X port đặc biệt

để cung cấp cho các cổng kết nối Với kết nối USB ta hoàn toàn có thể cho Kinect giao tiếp với máy tính

Trang 23

Hình 2.11 – Adapter của Kinect Công suất tiêu thụ được đo bằng thực nghiệm:

Power consumption (idle) ~3.3 W Power consumption (active) ~4.7W

Bảng 2.2 – Công suất tiêu thụ trên Kinect

2.5.3 ộ

Kinect là thiết bị được thiết kế sử dụng ở môi trường trong nhà (indoor) Ở môi trường ngoài trời, kết quả thử nghiệm cho bản đồ độ sâu không chính xác vào thời điểm ánh sáng mạnh, nhưng cho kết quả chấp nhận được khi ánh sáng yếu

2.5.4 ố ộ y

Ngoài những thông số trên, Kinect còn một điểm rất quan trọng là khả năng phân giải ở các chế độ hiển thị hình ảnh và các điểm “mù” – không nhìn thấy của thiết

bị Đều này cũng là một nhược điểm không nhỏ mà Microsoft vẫn chưa phát triển cao

- Chế độ phân giải độ sâu: 640 x 480 pixel

- Chế độ phân giải RBG: 1024 x 1200 pixel

- Khoảng cách cho độ chính xác tốt từ 0.8 m – 3.5 m

Trang 24

3.1 ấ

Trong nghiên cứu này, nhóm xây dựng chương trình với 2 project để chuyên biệt hóa cho các ứng dụng riêng: điều khiển bằng cử chỉ cánh tay và giọng nói trên nền ngôn ngữ C#

Để chạy ứng dụng thì chúng ta cần quan tâm đến một số cấu hình quan trọng

- Máy tính chạy hệ điều hành Windows 7 (hoặc những phiên bản cao hơn)

- Microsoft Visual Studio 2010

- Microsoft NET Framwork 4.0

- Kinect NET SDK 1.0

- Chương trình duyệt wed như: Chrom, E, Firefox,…

- Microsoft Office PowerPoint 2007

3.1.3

Máy tính cài đặt sẵn hệ điều hành Windows 7 (phiên bản nào cũng được)

Cài đặt phần mềm lập trình Microsoft Visual Studio 2010 (phiên bản nào cũng

được) Ở đây, chương trình được viết trên phiên bản ltimate

Tiếp theo, cài đặt bộ Net Framework .0, thông thường khi bạn cài đặt Visual Studio 2010 thì bộ Net Framework .0 cũng được tích hợp và tự động cài đặt theo

.Net

G bỏ các thư viện hỗ trợ khác như thư viện SDK beta khỏi máy tính (nếu như

đã cài đặt trước), sau đó mới cài đặt thư viện Kinect Net SDK 1.0

3.2 ă

Trang 25

Cũng như đã giới thiệu ở phần trên (Lời mở đầu), thì chương trình sẽ giúp người sử dụng điều khiển con trỏ chuột trong Windows 7 và trình chiếu tài liệu bằng PowerPoint 2007, cùng một số tiện ích nhỏ khác trên Windows

Do chương trình xử lý nhiều công việc nên chương trình được khởi tạo bằng 2 project: điều khiển con trỏ chuột Windows 7 bằng cử chỉ tay (MouseControl) và điềukhiển bằng giọng nói (SpeechRecognize)

Hình 3.1 – Tổng quan cấu trúc chương trình Chương trình sẽ hỗ trợ người sử dụng những chức năng sau (xem hướng dẫn sử dụng ở phần phụ lục) Khi sử dụng chương trình thì điều kiện tốt nhất là người sử dụng nên đứng ở khoảng cách trong khoảng 1.2 m – 3m, cùng cách thức đặt thiết bị với góc

mở rộng để thiết bị Kinect có thể quan sát và theo dõi toàn bộ các điểm Joint và nên tránh ở những nơi có ánh sáng mạnh vì sẽ làm ảnh hưởng đến sự đi và về của tia hồng

ngoại mà camera IR light phát ra

3.3

Chương trình sẽ tạo ra một ứng dụng mới trong việc tương tác giữa người và máy tính một cách tự nhiên và dễ dàng hơn Để có thể tối ưu hóa và nhận dạng được

cử chỉ, hành động người sử dụng từ thiết bị Kinect, thì vấn đề được đặt ra và giải quyết

đó là làm thế nào để từ những hình ảnh số liệu thô nhận được từ thiết bị ghi nhận Kinect, để chuyển chúng vào chương trình và thực hiện lệnh theo yêu cầu?

Trang 26

Hình 3.2 – Qui trình cài đặt và xử lý thông tin

ình 3.3 – Kiểm tra Kinect driver trong Device Manager

ình 3.4 – Kiểm tra Kinect driver sound, video và game controllers

Để kiểm tra việc kết nối đã thành công, thì trong bộ SDK 1.0 có sẵn những

chương trình mẫu để kiểm tra bằng cách “Viewer mẫu xương”

Trang 27

3.3.2 ồ ộ ố ả

Sau khi đã kết nối thiết bị Kinect với máy tính thì giờ đây chúng ta có thể từng bước xây dựng chương trình và xử lý những thông tin cần thiết từ những hình ảnh mà thiết bị ghi nhận được

Hình 3.5 – Hệ thống ghi nhận cử chỉ Với khả năng có thể ghi nhận 30 hình/giây của Kinect theo thời gian thực, đó chính là lựa chọn tốt nhất cho công trình nghiên cứu này Với tất cả những hành động,

cử chỉ của người sử dụng khi đứng trước Kinect đều được ghi nhận lại Một hình ảnh được ghi nhận lại với các thông số gồm: tọa độ x, y (là vị trí đang tọa của điểm ảnh) và tọa độ z (đó là khoảng cách từ máy ảnh đến điểm ảnh)

Cùng với những khả năng thông minh của mình – Kinect sẽ chụp lại những động tác khi người sử dụng di chuyển trước camera Những thông tin hình ảnh đó sẽ được lưu lại theo hình 3.3 ở trên: từ việc bắt hình ảnh -> lọc nền -> định tuyến điểm

ảnh -> theo dõi cử chỉ và cuối cùng là ghi nhận

3.4 ả t

3.4.1 x l

Hình 3.6 – Sơ đồ xử lý chung

Trang 28

Chức năng và nhiệm vụ của từng phần:

- User: Gửi yêu cầu bằng hành động tay hoặc giọng nói cho Kinect

- Kinect Sensor: Ghi nhận những yêu cầu của người sử dụng để đưa vào

chương trình theo trình tự để xử lý

- : Khi những thông tin được Kinect đưa vào thì ở đây chương

trình sẽ dùng những thuật toán tìm kiếm và mô tả theo đúng chức năng, yêu cầu của người sử dụng để xử lý Bằng những giải thuật thông minh, chương trình sẽ gửi tất cả những lệnh cần thiết vào bộ xử lý của Windows và ứng dụng thực thi lệnh

Ở đây, chương trình sẽ hỗ trợ cho người dùng tùy chức năng yêu cầu sử dụng ở

2 chế độ điều khiển: bằng cử chỉ và giọng nói

- Giao di n s d ng: Sau khi hoàn tất mọi công việc trong chu trình giải

thuật, kết quả sẽ được gửi lại theo yêu cầu của người sử dụng lên màn hình này

Điều đầu tiên, khi bắt đầu thiết lập Kinect để thực hiện các thủ tục theo dõi chuyển động skeletonizatio cũng như trả về thông tin chiều sâu của người sử dụng, thì cần phải chỉ đường dẫn đến tập tin D chứa thư viện hỗ trợ Kinect (Microsoft.Kinect) bằng cách Add reference vào Solution đang lập trình

Kinect ghi nhận rất nhiều dữ liệu chuyên sâu về khoảng cách để cung cấp những hình ảnh cơ bản về các điểm chuyển động trong không gian Để có được những thông tin thô về chiều sâu, chúng tôi tạo ra một lớp KinectSensor với những khai báo

để khởi tạo và nắm bắt hình ảnh từ Kinect [7]

Tiếp đến, là việc chuyển đổi dữ liệu sang định dạng chính xác dưới dạng độ sâu bit Với các dữ liệu video, thì các dữ liệu độ sâu “thô sơ” này được Kinect đóng lại thành các gói dữ liệu trong đó chứa các đối số sự kiện theo một trình tự

Trang 29

- Sử dụng phương pháp OpenDepth mageFrame để có thể lấy một đối tượng DepthImageFrame

- Sử dụng phương pháp CopyPixelDataTo của đối tượng Depth mageFrame để lấy một mảng dữ liệu pixel

Depth mageFrame chứa một số thuộc tính và phương pháp hữu ích về kích thước và một số đặc điểm khác của các dữ liệu về hình ảnh Đồng thời, phương thức

Depth mageStream cũng được dùng để thiết lập phạm vi hoạt động cho Kinect

Chương trình sẽ lấy những dữ liệu về độ sâu đã được lưu trữ trước đó:

Trang 30

var HipCenter = sd.Joints[JointType.HipCenter];

var Spine = sd.Joints[JointType.Spine];

var ShoulderCenter = sd.Joints[JointType.ShoulderCenter];

var Head = sd.Joints[JointType.Head];

var ShoulderLeft = sd.Joints[JointType.ShoulderLeft];

var ElbowLeft = sd.Joints[JointType.ElbowLeft];

var WristLeft = sd.Joints[JointType.WristLeft];

var HandLeft = sd.Joints[JointType.HandLeft];

var ShoulderRight = sd.Joints[JointType.ShoulderRight];

var ElbowRight = sd.Joints[JointType.ElbowRight];

var WristRight = sd.Joints[JointType.WristRight];

var HandRight = sd.Joints[JointType.HandRight];

var HipLeft = sd.Joints[JointType.HipLeft];

var KneeLeft = sd.Joints[JointType.KneeLeft];

var AnkleLeft = sd.Joints[JointType.AnkleLeft];

var FootLeft = sd.Joints[JointType.FootLeft];

var HipRight = sd.Joints[JointType.HipRight];

var KneeRight = sd.Joints[JointType.KneeRight];

var AnkleRight = sd.Joints[JointType.AnkleRight];

var FootRight = sd.Joints[JointType.FootRight];

Ngày đăng: 18/12/2013, 14:28

HÌNH ẢNH LIÊN QUAN

Hình 1.4 – Những thành phần chính của Kinect - Nghiên cứu và ứng dụng kinect vào việc trình chiếu tài liệu báo cáo nghiên cứu khoa học sinh viên
Hình 1.4 – Những thành phần chính của Kinect (Trang 8)
Hình 1.3 – Các chức năng thường dùng của Kinect - Nghiên cứu và ứng dụng kinect vào việc trình chiếu tài liệu báo cáo nghiên cứu khoa học sinh viên
Hình 1.3 – Các chức năng thường dùng của Kinect (Trang 8)
Hình 1.7 – Kiến Trúc Kinect .Net SDK - Nghiên cứu và ứng dụng kinect vào việc trình chiếu tài liệu báo cáo nghiên cứu khoa học sinh viên
Hình 1.7 – Kiến Trúc Kinect .Net SDK (Trang 13)
Hình 2.2 – Các kỹ thuật đo lường chiều sâu - Nghiên cứu và ứng dụng kinect vào việc trình chiếu tài liệu báo cáo nghiên cứu khoa học sinh viên
Hình 2.2 – Các kỹ thuật đo lường chiều sâu (Trang 15)
Hình 2.4 – Mô phỏng kỹ thuật Structured Light - Nghiên cứu và ứng dụng kinect vào việc trình chiếu tài liệu báo cáo nghiên cứu khoa học sinh viên
Hình 2.4 – Mô phỏng kỹ thuật Structured Light (Trang 16)
Hình 2.5 – Mô phỏng kỹ thuật Time – Of – Flight - Nghiên cứu và ứng dụng kinect vào việc trình chiếu tài liệu báo cáo nghiên cứu khoa học sinh viên
Hình 2.5 – Mô phỏng kỹ thuật Time – Of – Flight (Trang 17)
Hình 2.7 – Quá trình thu về bản đồ độ sâu ảnh - Nghiên cứu và ứng dụng kinect vào việc trình chiếu tài liệu báo cáo nghiên cứu khoa học sinh viên
Hình 2.7 – Quá trình thu về bản đồ độ sâu ảnh (Trang 18)
Hình 2.8 – Mẫu hình chiếu từ IR camera và Project - Nghiên cứu và ứng dụng kinect vào việc trình chiếu tài liệu báo cáo nghiên cứu khoa học sinh viên
Hình 2.8 – Mẫu hình chiếu từ IR camera và Project (Trang 19)
Hình 2.9 – Tính toán khoảng cách tới một điểm chiếu từ Project - Nghiên cứu và ứng dụng kinect vào việc trình chiếu tài liệu báo cáo nghiên cứu khoa học sinh viên
Hình 2.9 – Tính toán khoảng cách tới một điểm chiếu từ Project (Trang 20)
Hình 3.1 – Tổng quan cấu trúc chương trình - Nghiên cứu và ứng dụng kinect vào việc trình chiếu tài liệu báo cáo nghiên cứu khoa học sinh viên
Hình 3.1 – Tổng quan cấu trúc chương trình (Trang 25)
Hình 3.2 – Qui trình cài đặt và xử lý thông tin - Nghiên cứu và ứng dụng kinect vào việc trình chiếu tài liệu báo cáo nghiên cứu khoa học sinh viên
Hình 3.2 – Qui trình cài đặt và xử lý thông tin (Trang 26)
Hình 3.8 – Sơ đồ xử lý chọn tay điều khiển con trỏ Windows - Nghiên cứu và ứng dụng kinect vào việc trình chiếu tài liệu báo cáo nghiên cứu khoa học sinh viên
Hình 3.8 – Sơ đồ xử lý chọn tay điều khiển con trỏ Windows (Trang 33)
Hình 3.9 – Sự di chuyển của bàn tay - Nghiên cứu và ứng dụng kinect vào việc trình chiếu tài liệu báo cáo nghiên cứu khoa học sinh viên
Hình 3.9 – Sự di chuyển của bàn tay (Trang 35)
Hình 3.10 – Sơ đồ xử l  sự kiện Left click và Right click - Nghiên cứu và ứng dụng kinect vào việc trình chiếu tài liệu báo cáo nghiên cứu khoa học sinh viên
Hình 3.10 – Sơ đồ xử l sự kiện Left click và Right click (Trang 36)
Hình 3.14 – Sự kiện double click - Nghiên cứu và ứng dụng kinect vào việc trình chiếu tài liệu báo cáo nghiên cứu khoa học sinh viên
Hình 3.14 – Sự kiện double click (Trang 39)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w