Nghiên cứu và ứng dụng KINECT vào việc trình chiếu tài liệu
Trang 1NGHIÊN CỨU VÀ ỨNG DỤNG KINECT VÀO VIỆC
TRÌNH CHIẾU TÀI LIỆU
Trần Việt Đức – Trương Minh Hiếu
Khoa Công nghệ thông tin, Trường Đại học Lạc Hồng 1
Email: [ductran1980, truongminhhieu.winit] @gmail.com
Tóm tắt: Trong bài báo này, chúng tôi sẽ giới thiệu một chương trình ứng dụng nhằm
hỗ trợ việc trình chiếu tài liệu bằng giao diện giả lập cảm ứng và điều khiển từ xa thông qua thiết bị kinect Bên cạnh đó, chương trình còn có thể giúp người sử dụng điều khiển con trỏ Windows và ra lệnh bằng giọng nói
1 Giới thiệu
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 cảm ứng chạm, hành vi, cũng như giọng nói
Công trình nghiên cứu của chúng tôi sẽ đem đến cho người sử dụng một trải nghiệm mới trong việc trình bày các nội dung thuyết trình tài liệu bằng slide powerpoint hoặc tập tin định dạng pdf
Chương trình được xây dựng bằng ngôn ngữ lập trình Visual Studio 2010, Net Framwwork 4.0, cùng thư viện kinect SDK 1.0 và thiết bị kinect sensor, chạy trên nền Windows 7 và Microsoft Office Powerpoint 2007
2 Đặt vấn đề
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
1
Số 10 Huỳnh Văn Nghệ - Biên Hòa – Đồng Nai
Trang 2Chương trình sẽ tạo ra một thế “ảo” mà nơi này, người sử dụng chỉ cần diễn tả hành động hoặc giọng nói của mình trước thiết bị Kinect, thì mọi yêu cầu đó sẽ được đưa vào chương trình và thực hiện chức năng tương ứng 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 sensor, thì câu trả lời đó là: Có thể!
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
3 Nội dung và phương pháp nghiên cứu
3.1 Cơ sở lý thuyết
Chương trình được lập trình trên Visual Studio 2010, Net Framewwork 4.0, cùng thư viện kinect SDK 1.0 và quan trọng nhất là thiết bị kinect sensor
Giới thiệu về kinect
Trang 3Kinect 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 [3]
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
- Nhận dạng số người đang chơi
- Phân biệt đối tượng dựa vào độ sâu
Thư viện kinect SDK 1.0
Kinect SDK 1.0 [2] 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 và chế độ theo dõi chuyển động các điểm trên
cơ thể người sử dụ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
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 API 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 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
Trang 4Các tính năng của SDK [1]:
- Raw Sensor Streams - Bộ Cảm Biến cử động
- Theo dõi cấu trúc
- Khả năng xử lý âm thanh
- Dễ dàng cài đặt
3.2 Mục tiêu và phương pháp nghiên cứu
Trong khuôn khổ của đề tài, nhóm sẽ tập trung xây dựng hoàn chỉnh các công
cụ và chức năng chính hỗ trợ người sử dụng trong việc trình chiếu tài liệu Bên cạnh
đó, đề tài còn phát triển thêm việc điều khiển con trỏ Windows 7 và khả năng điều khiển bằng giọng nói
Dựa vào những đặc điểm cảm biến chiều sâu và khả năng nhận dạng giọng nói của thiết bị Kinect, cùng thư viện kinect SDK 1.0 chúng tôi sẽ tạo ra một chương trình ứng dụng thông qua điều khiển máy tính từ xa
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ẽ dùng những thuật toán từ thư viện kinect SDK để
xử lý chúng và chuyển thành những thao tác, sự kiện trên máy tính
4 Triển khai hệ thống
Sau khi cài đặt và kết nối thiết bị kinect vào máy tính cá nhân, người sử dụng
có thể chạy chương trình và bắt đầu điều khiển Thông qua giao diện chương trình, người sử dụng có thể tùy chỉnh các chức năng theo ý muốn và các điểm theo dõi chuyển động trên cơ thể
Trang 5Từ giao diện chính của chương trình, giúp người sử dụng có thể điều chỉnh theo các chế độ phân giải màn hình, điều chỉnh góc ngẩn của kinect, tạp ngưng và chạy chương trình và cả chọn chế độ điều khiển bằng tay
Các nút chức năng chương trình:
- Thanh trượt Muose speed: dùng điều chỉnh tốc độ con trỏ để phù hợp với các chế độ phân giải của máy tính người sử dụng
- Các radio button: One hand control và true hand control Người sử dụng có
thể chọn chế độ điều khiển bằng 1 tay hoặc 2 tay tùy theo yêu cầu
- Camera down: điều chỉnh cho camera kinect quay xuống
- Camera up: điều chỉnh cho camera quay lên
- Kinect stop: tạm ngưng chương trình điều khiển
- Kinect start: kích hoạt chương trình điều khiển
Khi kích hoạt chương trình người sử dụng chỉ cần đứng trước thiết bị kinect diễn tả hành động mà mình muốn thực hiện, kinect sẽ ghi nhận tất cả những hành động
Trang 6Việc điều khiển trình chiếu tài liệu bằng slide Powerpoint trở nên rất phổ biến, thì trong phần nghiên cứu này chúng tôi sẽ tạo ra một chương trình giúp có thể đứng
từ xa và điều khiển trình chiếu SlideShow Chương trình sẽ bắt cử động bàn tay và gửi những phím chức năng xuống hệ thống để xử lý như:
- Phím F5: chạy slideshow
- Phím qua phải () hoặc phím Enter: chạy tới một Slide sau
- Phím qua phải (): chạy ngược trở lại Slide trước
- Phím Esc: thoát trình chiếu SlideShow
- ………
Khi người sử dụng chọn trang và di chuyển bàn tay qua phải hoặc qua trái tùy theo ý điều khiển:
Trang 7- Nếu bàn tay di chuyển qua phải thì người sử dụng đang yêu cầu chạy sang trang kế tiếp
- Nếu bàn tay di chuyển qua trái thì người sử dụng đang yêu cầu quay lại trang phía trước trang vừa trình bày
Sơ đồ xử lý trên cho thấy: khi người sử dụng muốn bắt đầu chạy trình chiếu thì người sử dụng chỉ cần đưa tay mình đang điều khiển qua khỏi đầu hoặc muốn kết thúc
trình chiếu thì chỉ cần chéo 2 tay lại với nhau ngang vai
4.2 Điều khiển con trỏ Windows
- Sự kiện nhấp chuột trái (Left click) và chuột phải (Right click)
Trang 8- Sự kiện kéo và thả đối tượng (Drag và Drop item)
4.3 Điều khiển bằng giọng nói
Việc phát triển chương trình nhận dạng giọng nói cũng được chúng tôi thực hiện trong nghiên cứu này
Đối với điều khiển bằng giọng nói thì người sử dụng có thể đứng ở cách tùy ý miễn sao cường độ âm thanh phát ra đủ lớn và chính xác để kinect có thể nghe thấy
Để nâng cao khả năng điều khiển bằng giọng nói nhằm làm tăng tính tiện dụng, thì chương trình sẽ cho người sử dụng có thể tùy ý điều chỉnh cường độ âm thanh mà chương trình sẽ nghe Từ đó, người sử dụng sẽ có thể điều khiển bắt kỳ nơi nào tùy theo khả năng phát âm của mình
Trang 9Khi nhận được chỉ lệnh bằng giọng nói, kinect sẽ dùng cấu trúc đọc ngữ pháp của mình để so sánh với những chuỗi ký tự mà chương trình đã định nghĩa, rồi tìm đến những phần xử lý tương ứng
5 Kết luận và đánh giá
5.1 Môi trường phát triển
Chương trình ứng dụng thích nghi được hầu như rất tốt trong các điều kiện ở các phòng học, phòng họp lớn, điều kiện tốt nhất là nơi có ánh sáng vừa phải và góc đặt thiết bị kinect
Chương trình sẽ tiếp tục phát triển để đáp ứng được mọi yêu cầu của người sử dụng và trong các điều kiện khác nhau nhằm nâng cao tính đa dụng và tiện ích của chương trình
5.2 Kết quả thực nghiệm
Chương trình mang đến một hiệu quả khá cao, đồng thời cũng là một giải pháp, hướng phát triển mới trong tương lai Nó sẽ đem đến cho người sử dụng một sự tương tác tự nhiên và nhiều khoảng không gian hơn trong việc tiếp xúc với máy tính
Kết quả thử nghiệm cho thấy, người sử dụng rất thích thú và tự tin hơn khi trình bày trước đám đông và đạt kết quả cao hơn cho bài thuyết trình, gây cảm hứng và tiếp nhận thông tin một cách sinh động hơn
5.3 Kết luận và hướng phát triển
Hệ thống sẽ hỗ trợ người sử dụng rất tốt trong việc trình chiếu các tài liệu của mình Bên cạnh đó, nó còn có khả năng điều khiển máy tính từ xa thông qua điều khiển con trỏ chuột Windows và nhận dạng giọng nói để thực thi lệnh theo yêu cầu
Hướng phát triển: Chương trình sẽ hoàn thiện hơn các công cụ hỗ trợ trình
chiếu tài liệu Ngoài ra, chúng tôi sẽ cố gắng nghiên cứu và phát triển thêm nhiều ứng dụng khác để tích hợp vào, giúp cho chương trình sẽ ngày càng đa tính năng, đa dụng hơn
Nếu có thời gian, sắp đến chúng tôi sẽ tích hợp điều khiển một số game hay nhằm đáp ứng nhu cầu người sử dụng Chương trình sẽ có thể thay thế cả bàn phím và
Trang 10[2] Tìm hiểu về Microsoft Kinect SDK 1.0,
http://www.i-programmer.info/programming/hardware/2623-getting-started-with-microsoft-kinect-sdk.html
[3] Lịch sử ra đời và phát triển của Kinect và những ứng dụng,
http://forums.gamevn.com/showthread.php?673733-Kinect-Center-Thong-tin-chi-tiet-cap-nhat-thao-luan-hoi-dap