Monday, October 17, 2011

Still Making Progress...

Though I have fallen behind in the blog posts, I am still making steady progress in small increments. The program is actually making some steps toward actually calculating acceleration and velocity of a persons hands and head. This has been incorporated by making a custom class that stores values of the x y and z positions of each of these points.  How many points it stores can be edited in the code. I haven't made a decision if I will allow the user to make this change via an option in the UI.
A screenshot has been placed below, as you can see the layout is roughly the same as it was for the last post although now it shows the frames per second (31 down in the lower part of the frame).


I have plans to take the display of the locations of the joints from the right side of the frame. I have not made a decision on this though (they may stay). I need screen space to display something for acceleration and velocity in their x, y, and z components. The lower right screen showing the depth data could go away in time. I find that this information may not be of much use to the end user.  That is all I have to report for now, when some of the code is completed I may show it here to give a better idea as to what is going on underneath the surface of the program.

Tuesday, September 13, 2011

Testing 1, 2, 3...


It has been a while since I have updated this blog and an update is far overdue.
So what's new?
The project proposal is written and is at least in rough draft form if not in final draft form.
The test procedure has been developed and is as follows:

The accuracy of the final product will be tested by using the video frames captured by a secondary video capturing device and then compared to the data that the Kinect recorded during the run. The object in view will be in front of a background that is marked with either a checker board pattern where each square has a known height and width or a stripped pattern with a known width of each stripe.  Figure 2 shows the concept of this idea in more detail from the point of view of the secondary camera.

Figure 2 Simulated view of secondary camera.
The circle represents a moving object while the squares behind this object would have a known width and height. This will allow the distance traveled by the object to be obtained.  The time for this movement to occur will be taken from the frame rate of the captured frames.To increase the accuracy of this measurement, the width of the strips could be decreased or a higher frame rate could be used on the secondary camera. If the camera is placed from the same point of view as the Kinect sensor then it will be used to verify two of the coordinate directions and to test the third the secondary camera will be placed with a perpendicular viewpoint to the Kinect sensor. This data will then be directly compared to the data obtained by the Kinect in order to determine its accuracy.  
               
This is a screenshot of the program.


Don’t mind me attempting to make a screen shot and posing for the Kinect at the same time. None of my roommates were available at the time of this post. You may not notice much change but the circles get larger if the joints are further away from the Kinect and it also displays the depth information in the lower right hand side of the screen. Also the program has an icon! I couldn’t stand the default one Visual Studio was giving it. There is a second display box, it serves no purpose at this time. The group box to the right will display the coordinates of the head and hands in the near future and you will not be able to tell from a simple screenshot but the window has a fixed size of 1000x1440. This will most likely be changed in the future to support smaller screens. This screen also shows how low the resolution of the camera on the Kinect is. This should not be an issue for the project as it does not depend on the resolution for it to work. Hopefully Microsoft will release a new Kinect in the future that has a 720p or higher resolution but we can only hope.

If you have any questions or comments, please feel free post them.

Thursday, August 25, 2011

first functioning block of code

The first part of the program is written and working well.

The purpose of this first programs was to demonstrate how Kinect can easily track different points of the human body.
Here is the screenshot of what it does.




As you can see, it is very simple.
It puts a circle on the head and hands of the person it sees in the field of view.


Just to show that it actually does something, here is a screenshot of when there is no one in view.




That is all I have at this point and there is long way to go. The next step I want to take is to have the circles change radius depending on the depth data it is collecting about the subject in view.

Wednesday, August 17, 2011

Start.


Welcome to Kinect and Kinematics. This blog will serve as a place to get news and updates on the progress of this project (updated once a week!). I am a senior mechanical engineering student at the University of Texas at Tyler. I am working with the Kinect for a research class (it's pretty awesome I know).

So far, I have only installed the Kinect SDK and studied some webpages pertaining to how the Kinect works and how to utilize Visual Basic as a developing platform.

MaximumPC article on how Kinect works:
http://www.maximumpc.com/article/features/two_gaming_technologies_explained_white_paper_round-
Another article by Wired.com:
http://www.wired.com/gadgetlab/2010/11/tonights-release-xbox-kinect-how-does-it-work/
Kinect for Windows homepage:
http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/
Channel 9 Coding4Fun Kinect Projects:
http://channel9.msdn.com/coding4fun/kinect/


The final goal of this project is to be able to track the movement of the appendages of a human and thus be able to calculate their velocity, acceleration and whatever else is deemed important later on. We can call this Appendage Kinematics, because you and I both know this will soon be its own heading in a Dynamics book soon enough. That is really all there is to it at this point, school does not start till next week.