User:Mbaig5753/enes100/My Work

3D Scan

Write problem/project Goal
Manipulate a Kinect to have it check attendance by using facial recognition.

My First Task
Look into the open source development tools on the Kinect. And how to use them properly.

Summary of actual work over first weekend
Well I looked into open source software on using the Kinect with the PC. I found KinEmote and MEX(a Matlab Executable Software). The KinEmote is your'e run of the mill software that allows you to use the Kinect, also has a lot of built in software too. MEX allows the user to scan stuff using the 3-D modeling from the Kinect and modeling it with MatLab.

Week1 Narrative
I downloaded various open source software's for the Kinect, and basically played around with them. So I could familiarize myself with the Kinect and its intricacies.I learned that the Kinect can not recognize faces using the camera, but it can count persons as the enter the Kinect's frame. It can count up to 4 people at a time.

My Second Task
I plan on finding the ideal location to mount the Kinect. Moreover I want to edit the Skeletal program that comes with the Microsoft Kinect Software and change the code so it counts persons as they walk in and stores them into an array, and compares them to the actual count of persons in the class.

Summary of actual work over second weekend
How is what you did different than what you planned?

I was assigned and planned on working on the mounts and brainstorm ideas on how to come up with the logic for the coding to count people. I came across various internet users trying to do the exact same thing. There is also a lot of information out online and I learned a lot from forums on people discussing these things. I have attached links and pictures on my Narrative paragraph.

Week2 Narrative
Tell a detailed story describing what you did for your team over the weekend.

I looked very throughly into other work people have done on the project. Came across this YouTube Video This YouTube video actually shows the Kinect counting people as they walk in. Pretty much what we want to do. Looked into forums on people using the Kinect and noticed that many people are trying to do the same thing with the Kinect. Learned that I need to use this function "inline XnUInt16 GetNumberOfUsers const " from Online forum discussing counting people

My Third task
Start actual coding for the Kinect, (I got the logic down and the idea) now its time to implement and see how far I can take it. Use the built in functions that various other users online have recommended.

Summary of actual work over third weekend
How is what you did different than what you planned? I was assigned to code in C# using Visual Basic 2010, and see how far I can take it to start counting individuals. I have been coding over this weekend heavily. Also used Google Sketchup to make a 3_d mount

Week3 Narrative
Tell a detailed story describing what you did for your team over the weekend. What was done this weekend was I did more research into the Kinect on the built in functions and looked through the forums on how people were trying to do the same thing as I. Moreover I installed the Visual Basic Software, here is a link for anyone that wants the software too (its free-ware) Visual Basic. This as the most important thing so far because it gave me a solid starting point on programming for the Kinect There are multiple videos online that I used that tutored me in how to program for the Kinect. Here is what I basically want to do I came across this YouTube Video This YouTube video actually shows the Kinect counting people as they walk in. Pretty much what we want to do. Looked into forums on people using the Kinect and noticed that many people are trying to do the same thing with the Kinect. Learned that I need to use this function "inline XnUInt16 GetNumberOfUsers const " from Online forum discussing counting people Also that a for loop will be needed to implement this code completely. I basically have the logic down and now need to work on the coding. I was having a hard time finding the files although to edit the code.

After this is done I wrote code that starts up the Kinect and turns on all the modes such as -Depth Viewer -Camera -Audio Moreover I also added trouble shooting code that makes sure the Kinect is turned on and properly connected. Here is a link to the videos I watched Videos I also made a mount on Google SketchUp for the Kinect. Here is a 3-D picture. Came across this YouTube Video Lastly here is the Sketch i made using google sketchup Here is the sketch up I have came up with using Google Sketch Up. Basically a mount that will have velcro at the bottom to hold the Kinect.
 * Firstly I had to install the Microsoft.Kinect package so I could reference the Kinect sources when programming
 * Then add another reference which is the Kinect SDK sample

My Fourth task
I hopefully plan on finishing the coding this week so I can have a working counter using the Kinect.

Summary of actual work over fourth weekend
How is what you did different than what you planned? I planned on finishing the coding using the Kinect but ran into several roadblocks that I could not overcome. These were I hard a time modeling the Skeletal Program used by Microsoft in their user SDK toolkit. Here is a link for persons reading this that are interested and would like to continue working on this Link.

Week4 Narrative
Tell a detailed story describing what you did for your team over the weekend. I started programming in Visual Basic C#. Watch the entire video series on the introduction to programming the Kinect on MSDN website. (See previous Week 3 post for link) Learned that the I have to use a lot of references to the SDK. Which I did. Wrote code that does basic start up checks to make sure the Kinect is properly connected. Ran into problems when trying to model the skeletel program. Reason being is that the skeletel program can track users as the enter and assign a skeletal overlay to their body. I wanted to use this pre-existing code and add the which is a built in function that counts the users based of the skeletal read out. I was having trouble writing the code for this in C# coming from a Java background I thought it wouldn't be that hard but I was wrong. C# is a Microsoft language, that I had a hard time grasping. Regardless I did learn a lot about programming the Kinect and various functions that go with it. Here is a video of a successful build of what I was trying. (Note this is not me) Video My team had a back up plan which did end up working which was to use a webcam with motion detection and a facial recognition software together to check attendance.
 * inline XnUInt16 GetNumberOfUsers const (built in function that is very helpful for those that are doing the same project)

Complete Project Page
Follow the "project done" format.