Saturday, May 4, 2013

My Individual Milestone Submission


My contribution to Kinecting the Blocks:

  • Helping manage the team
  • Help create a schedule to keep our team on track 
  • Research different types of existing mechanical storage systems 
  • Help design our storage system so it will work
  • Create a draft drawing of our storage system so I can hand it over to the visualisers to mock up a model
  • Help edit the wiki page
  • Researched into facial recognition
  • Helped set up Kinect for Crysis
  • Experimented with the Kinect and a webcam for programming purposes

My Focus

For my individual milestone I focused on facial recognition. I researched into the difference between face detection and face recognition, the different types of facial recognition and which would be the best for our project. Facial recognition is an integral part of our project as it provides us with user recognition.


My Research

You're able to find my research into facial recognition in a different post called My Individual Milestone Research or please follow the link: http://januarch1392.blogspot.com.au/2013/04/my-individual-milestone-research.html

My Final Product

I have been focusing on facial recognition using PCA - Principal Component Analysis using Eigenfaces . To begin with I was more focused on being able to recognise between a male and female as my goal. After a lot of research I was able to have a working example up and running of the facial recognition to go beyond and recognise almost everyone as individuals.

Problems Encountered

Currently I am facing two problems. The first problem I have encountered so far is that it's having a bit of trouble differentiating between my mother and me (Figure 1), as we look similar. Since our facial features are similar, if I’m facing the camera on a slight angle or if I’m moving around slightly the program is having a bit of trouble recognising who it is correctly. To fix this problem I will be putting in a counter so when the counter reaches to 5 consecutive identical identifications it will identify that person and move onto the next stage.

 
Figure 1 – Unable to identify between my mother and I

If I'm facing the camera front on (Figure 2) where it’s able to pick up every feature of my face I am getting a better result.

Figure 2 – Facing camera front on

The second problem I have been facing is the difference in lighting is making a big difference in how fast it will identify a person and the accuracy at which it identifies a person. This is a risk when using web cameras as they tend to depend on natural lighting that is not always uniform. As you can see below in video 1, the video was taken outisde in natural light and i have a shadow across my face. Due to the shadow the lighting is not uniform, so when I rotate my head it is dropping out and is not able to recognise my face when it is at a slight angle. I must be looking straight at the camera. In video 2, the video was taken in day light in a room where the light was more uniform. You are able to see the difference between the first and second video on the right hand side as the program is able to identify the face a lot faster. In video 3, I took the video at night with the light on. In that video you are able to see the difference from video 2 to video 3. In video 2 I'm able to rotate my head and the program still picks up my face where as if I rotate my head in video 3, it's either picking up my mum or it is dropping out. 

Video 1 – Natural light - Exterior


Video 2 – Natural Light - Interior - Bright

Video 3 – Natural Light - Interior - Dark

To fix this problem I may need to switch from web camera to the Kinect. I will need to test the output from both and see which would be the better option to work with for the final project.


Reflection

After numerous weeks of working on this section of the project I feel like I could have accomplished it earlier and started working on the next section. It feels great to have this finished and out of the way but i'm very happy with outcome. More than anything I think it was the amount of research that needed to be done to figure out which would be the best method to use to move forward in our project.

Refrences

To learn more about EmgyCV I first went through the following tutorials on the page below:
http://fewtutorials.bravesites.com/tutorials

After that I was able to find another site that provided me with a more enhanced facial recognition that was more accurate. I went through the facial recognition tutorials to enhance the code.
http://www.codeproject.com/Articles/261550/EMGU-Multiple-Face-Recognition-using-PCA-and-Paral

No comments:

Post a Comment