Kinect v2 Mouse Control w/ Source Code

A mouse control application for Kinect v2, including a couple of options for various uses.

Kinect v2 Mouse Control Form Screenshot


I’m so glad that I’ve just become a Microsoft Kinect MVP since this July, so I think I need to do something more.

One request asked most since the original Kinect came out is, “can I use my hand to control the mouse cursor?” There you can find a few applications for doing this with original Kinect on the web.

These days, some people still asked me about this kind of application for Kinect v2. Then I strangely found there’s no such downloadable applications on the web. I gotta release a Kinect v2 version app. And here’s it, with source code!

I initially develop this for Francis Kim(He’s a Magento Developer). Thanks Francis for letting me release this freely!


Options:

  • Mouse Sensitivity
  • Pause-To-Click Time Required
  • The time you hold your hand for as a click

  • Pause Movement Thresold
  • How large the circle range you hold your hand inside for a little while would be a click

  • Cursor Smoothing
  • The large it is, the smoother the cursor would move, more slowly as well.

  • Grip Gesture
    Grip to drag/click
  • Pause To Click
    Hold your hand and don’t move for a little while to click.
  • No clicks, move cursor only

Github: KinectV2MouseControl
EXE files: [download id=”24″]


Posted in Kinect, Tech | 49 Comments

Do you see the Products menu?

Hey guys, Don’t forget to check out the pages under [Products] menu, it contains a couple of good posts that wouldn’t show up in here the timeline.

I’ll try to post updates when new pages are added.
[Nothing more for reading]

Posted in Life | Leave a comment

Motion Server – One Kinect v2 on Multiple Devices

One day I felt that using one Kinect on one PC isn’t enough. There could be more interesting things to do with multiple screens.
So I consider sharing the Kinect data with multiple devices. You may know that I created an app called Kv2 Viewer that can access Kinect data on the phone. With the similar technology, I successfully send Kinect data to multiple devices.
Firstly I write a server program to make a Win 8.1 PC as a server. Then all other clients that want the Kinect data would just need to connect to this PC.

Here are the simple demos I made in the video:

Body views
MotionServer
They all get the joint positions, joint states first and generate the body views on screen, not reciving body view images from the server.

Girls staring at target
MotionServer_Girls
The girls from different directions would stares at you (According to your head position). And if you act like pointing at something, they would stare at that (According to your hand position.)

Posted in Kinect, Tech | 3 Comments

高通Vuforia + Unity iOS AR常见问题解决

最近Vuforia + Unity iOS总能折腾出各种问题.容易令人捉急.
下面是我遇到的很新的3个常见问题:

1. 问题: Unity (4.5.4, 4.5.5, 4.6) + Vuforia 3.0.9 iOS下闪退.
解决:
Unity生成Xcode文件后打开,设置Info.plist文件.
点击Informaition Property List,右方出现加号,点加号.
Key输入
UIInterfaceOrientationInitial interface orientation. (都一样的)
Value输入
UIInterfaceOrientationPortraitPortrait (bottom home button)

如图
Screenshot_SetInfoPlist

2. 问题: Unity 5 + Vuforia 4 黑屏,无相机画面.
解决:
点File菜单->Build Setting…->Player Setting…
在PlayerSetting的Other Setting处,把Graphics API设置为Open GL ES 2.0.
默认的Automatic可能会启用Metal,而目前还不支持的原因吧.
Screenshot_SetGraphicsAPI

3. 问题: Unity5 + Vuforia 4 无法生成ipa文件,总报错提示Codesign Failed.
打开终端,用cd命令进入Xcode项目目录.
比如
cd /user/TangoChen/Projects/DemoExports

我们将用终端一步步生成ipa:

  • Clean
    xcodebuild clean -project 项目名称.xcodeproj -configuration Release -alltargets
  • Archive
    xcodebuild archive -project 项目名称.xcodeproj -scheme 项目名称 -archivePath 项目名称.xcarchive
  • Export
    xcodebuild -exportArchive -archivePath 项目名称.xcarchive -exportPath 项目名称 -exportFormat ipa

* 项目名称通常是iPhone-Unity
这样就可以在目录下找到iPhone-Unity.ipa了.

转载请保留此原文出处链接,谢谢: http://tangochen.com/blog/?p=2045 by TangoChen

Posted in Augmented Reality, Tech | Leave a comment

Virtual Shoe Fitting Experiment with Kinect v2


The virtual shoe fitting store from Goertz in 2012 is quite impressing. They used 3 original Kinects. I decided to make my virtual shoe fitting application with a Kinect v2 last month. It’s still something rare, though we’ve seen many virtual dressing room demos.

I placed the Kinect low on a box, so it can capture my feet only. In this case, we can see more details of the shoe. But, I’ll need to write my own feet tracking algorithm as the original body tracking won’t work. This is one of the big challenges.

Another challenge is that I need to hide some parts of the shoes that covered by my feet. If you’ve ever tried implementing the virtual dressing room, you’ll also face this problem. Using single-sided materials is one of the solutions. But it won’t work in some cases and it’s flawed. For some reasons, I’d keep my solution private. 😉

Overall, the application doesn’t work very well due to the CPU capability and the current algorithm. But I enjoy the process of making it!

Posted in Kinect, Tech | 4 Comments

Kv2 Tongue Tracking – Tip of Tongue Tracking with Kinect v2

I had been so busy recently. Finally got some time and done this work, tracking the tip of tongue with Kinect v2.
Video:
Github: https://github.com/TangoChen/Kv2TongueTracking

Here’s the steps to track tip of tongue with Kinect sensor.

  • Get the mouth area in the depth image by using face tracking.
  • Get the smallest depth(then it is closest to the Kinect sensor) inside the mouth area. That’s the depth part of the tongue’s tip!
  • Get the relative position according to the mouth area to know the tongue’s direction.
  • Show the tracking results when the mouth is open.

* P.S. I gotta say the researchers from Japan made it 2 years ago, too. They beat me to it. So it’s not me that showed you the tip-of-tongue tracking ability first. 🙂

Posted in Kinect, Tech | Tagged | 1 Comment

Kinect v2 Transformers Game Project

Kinect v2 Transformers[10-00-30]

Kinect v2 Transformers[10-14-02]

Kinect v2 Transformers[10-16-09]

Inspired by the movie Transformers 4, I decided to make a transformers-alike game. Imagine
that I can control the transformer and switch between robot and car, hit the enemies. That would be a lot of fun! So I do this.
I bought the 3D models on the web. It’s not one of the official Transformers though. (I will not be able to buy and use it if it is…)
It’s not so good-looking when looking from the back. Here’s the front looking.

[Click Play button on bottom-left to play the video]

By using Unity 4, all the work is done in 4 days.
To do it, what I needed to solve are:

  • Controlling the 3D model
  • Walk/Run/Turn left/Turn right detecting
  • Two-hands-above-head gesture to switch to car/robot
  • Animations of switching to car/robot
  • Driving gesture detecting
  • Spawn enemies(Helicopter/Car) and make them follow the target(Transformer robot)
  • Enemies exploding when hit. “Hit Targets” +1

If you like my works, you can subscribe to my Youtube channel.

Posted in Kinect, Tech | 4 Comments

Kinxct Ray – Turn the New Kinect v2 Sensor Into an X-Ray Machine

This is my first Kinect 2.0 project.

I downloaded a free 3D model on the web.
It’s all done in 2 days by using Unity3D.

KinxctRay_Screenshot_0

KinxctRay_Screenshot_1

KinxctRay_Screenshot_2
Neither the program nor the source code is available for download for now.

This is based on preliminary software and/or hardware, subject to change.

Posted in Kinect, Tech | 3 Comments

The Idea of Playing Blocks Game w/ Leap Motion Is Done!

I post an idea here on Nov 10th last year. Now I finally did it!
Video:

The laptop get data from Leap Motion controller and send it to the Android pad via Wifi network.
The pad gets the direction to the virtual blocks via gyroscope.

Posted in Life | 2 Comments

我的Chrome/Google.com用户体验建议

一些习惯..也不多..可能暂时忘了一些..

1.
Chrome的默认首页改为8个选项卡上一搜索引擎文本框后..用起来总感觉有点不妥…
文本框在窗口中央..用户视线先聚焦在此..一输入文本就跳到上方的地址栏…
这样做的目的大概是为了说明地址栏已经有搜索框的功能…
但一瞬间的Focus转移在体验上感觉有点欠缺…
我要这样做的话..可能会做一个矩形…一般截图功能可能会用到的半透明闪动的框…
从窗口中央的文本框在短时间内逐渐移动缩放到上方的搜索框…
告诉用户这个时候焦点做了转移…
Chrome

2.
地址栏有搜索引擎的功能..直接敲击要搜索的内容就能进入搜索..
但我还是很少用..甚至避免..
通常打开搜索引擎网页..或者打开隐身模式再使用(隐身模式下用地址栏的搜索功能)…
因为希望地址栏的提示显示有效常用的列表…不希望一次相比下无关紧要的搜索内容列在列表内…
(其他记录都挺有用..不想这样一次搜索把他们挤开或占一个位置..)
有时抓狂的是打错的内容..一条输错的搜索内容列在列表上很不养眼…
为此我会趁这是刚输错的搜索去历史记录里删了这条搜索记录…
如果搜索记录列表后有个X可以删掉这条记录就好了…
Chrome_1

3.
我不太习惯Google页面上的常用应用集合小窗口(暂称为”窗口”)设计…
上下滚动后窗口大小改变..这个功能区域大小非固定..界面体验是先进的..但对我可能觉得添了一点凌乱的感觉…
页面共两页..滚动不是固定上下两个状态..(要么在第一页,要么在第二页)可以是介于中间的状态…
之前那个滚动条还是Windows内置的..不美观..现在改好了…
Chrome_3
Chrome_4
Chrome_5

4.搜索引擎按了搜索框右边的语音搜索..返回时焦点没有恢复到搜索文本框…

P.S. Chrome还是我最常用最喜欢的浏览器…

Posted in Life | Leave a comment