Tuesday, April 30, 2013

Week 7 - Problems encountered with Crysis

Below are a few images of problems we encountered when trying to debug our code. We thought it might be user access issues so we ran it in Administrator mode and changed our security settings around but unfortunately we were still encountering the same problem. We also thought it might be an issue due to the fact my laptop was running Windows 8 therefore I changed the compatibility to Windows 7 and we are still getting the errors. After all these issues we went back to basics and double checked all our paths for the editor in properties > debugging. After about a week of having errors. 

"Unfortunately CryEngine doesn't officially support Windows 8. The reason for this is that Windows 8 has differently-named and / or differently-functioning DLLs to Windows 7, so when CryEngine goes to find a DLL it needs and crashes, the DLL in question is either not there (as is the case here) or doesn't function the way CryEngine thinks it should (this is usually the case when you get a stack trace when crashing). From what I understand, you'll need to manually put copies of each DLL CryEngine says is missing into the Bin32 folder. That should let it compile." Steve



                                      



Saturday, April 27, 2013

Week 7 - Communication


Team Name: Shades of Black
Team Members: Daniel Rickard, Alex Lorenzelli, Andrea Bong, Ben Filler, Shaun Weisbrodt and Rebecca Araullo
Wiki Page: shadesofblack.wikispaces.com

Clarity of the oral presentation:

Each member presented a lengthy speech but I was a bit lost in all the information provided. I feel if they were able to focus on the key points and did not just regurgitate everything they had researched it would have been better and easier to follow. Some of the group members were more clear and concise about what they were talking about but the other members I felt were just reading off their pieces of paper. It was well rehearsed and it had a flow to the presentation.

Clarity of the written presentation:

The prezi presentation was clear and concise with only the key points of the presentation on the slides. Unfortunately I felt I was a bit lost in the presentation as the slides weren’t being controlled according to what was being said. It felt as if this part was unrehearsed with all the team members.

Distinctiveness and specificity of the examples:

The examples used were very useful and helped understand the topics.

Referencing:

Harvard style referencing was clearly used in their presentation and on their wiki.

The conceptual context:

I feel they have just started to find their way around their project. As they are brand new to everything they have been learning it has taken a while for them to research and understand everything they are doing. I feel now they have a better grasp on what is ahead and what needs to be done. They seem to be working well as a group and have very good communication skills as stated in their presentation.

The still images:

The images used I felt did not enhance their presentation. During the presentation I felt there were images lacking and the ones provided came from clip art and had no real meaning behind them. The video presentation was not utitlised to their advantage. The video was of them just talking and this could have just been done in a written format. I would have liked to see more of them dis assembling the bike and talking whilst showing what they were doing.

What information I learnt that will be beneficial to my project:

With my group we have not been communicating as much as I would like. After the presentation we have started using more ways in which we are able to get through to each other. 

Tuesday, April 23, 2013

Week 6 and 7 - My Individual Milestone Research

What I hope to research into and learn more about:

  • The difference between facial recognition and facial detection
  • The different types of approaches to facial recognition
  • Which one I have chosen and why
The difference between facial recognition and facial detection

Face detection: 
Face detection is a computer vision technology that determines the locations and sizes of human faces in arbitrary (digital) images. It detects facial features and ignores anything else such as buildings, trees and bodies. Face detection can be regarded as a specific case of object-class detection. In object-class detection, the task is to find the locations and sizes of all objects in a digital image that belongs to a given class.

Face Recognition:
Face recognition is a biometric identification by scanning a person's face and matching it against a library of known faces. 

The different approaches to recognise a face:

PCA Principal Components Analysis
PCA, commonly referred to as the use of eigenfaces, is the technique pioneered by Kirby and Sirivich in 1988.  With PCA, the probe and gallery images must be the same size and must first be normalized to line up the eyes and mouth of the subjects within the images. The PCA approach is then used to reduce the dimension of the data by means of data compression basics and reveals the most effective low dimensional structure of facial patterns.  This reduction in dimensions removes information that is not useful and precisely decomposes the face structure into orthogonal (uncorrelated) components known as eigenfaces. Each face image may be represented as a weighted sum (feature vector) of the eigenfaces, which are stored in a 1D array. A probe image is compared against a gallery image by measuring the distance between their respective feature vectors. The PCA approach typically requires the full frontal face to be presented each time; otherwise the image results in poor performance. The primary advantage of this technique is that it can reduce the data needed to identify the individual to 1/1000th of the data presented.


Figure 1: Standard Eigenfaces: Feature vectors are derived using eigenfaces.

MIT Media Laboratory Vision and Modeling Group, “Photobook/Eigenfaces Demo”  25 April 2013  <http://vismod.media.mit.edu/vismod/demos/facerec/basic.html>.

LDA: Linear Discriminant Analysis 
LDA is a statistical approach for classifying samples of unknown classes based on training samples with known classes. (Figure 2) This technique aims to maximize between-class (i.e., across users) variance and minimize within-class (i.e., within user) variance. In Figure 2 where each block represents a class, there are large variances between classes, but little variance within classes. 


Figure 2: Example of Six Classes Using LDA
Juwei Lu, “Boosting Linear Discriminant Analysis for Facial Recognition,” 2002. 

EBGM:  Elastic Bunch Graph Matching
EBGM relies on the concept that real face images have many non- linear characteristics that are not addressed by the linear analysis methods discussed earlier, such as variations in illumination (outdoor lighting vs. indoor fluorescents), pose (standing straight vs. leaning over) and expression (smile vs. frown). 


Figure 3: Elastic Bunch Map Graphing.
Laurenz Wiskott, “Face Recognition by Elastic Bunch Graph Matching, ” <http://www.neuroinformatik.ruhr-uni- bochum.de/ini/VDM/research/computerVision/graphMatching/ide ntification/faceRecognition/contents.html>

References:
  1. L. Sirovich and M. Kirby, "A Low-Dimensional Procedure for the Characterization of Human Faces," J. Optical Soc. Am. A, 1987, Vol. 4, No.3, 519-524.  
  2. M. A. Turk and A. P. Pentland, "Face Recognition Using Eigenfaces," Proc. IEEE, 1991, 586-591.  
  3. D. Bolme, R. Beveridge, M. Teixeira, and B. Draper, “The CSU Face Identification Evaluation System: Its Purpose, Features and Structure,” International Conference on Vision Systems, Graz, Austria, April 1-3, 2003. (Springer-Verlag) 304-311. 
  4. “Eigenface Recognition” <http://et.wcu.edu/aidc/BioWebPages/eigenfaces.htm>.
Which one I have chosen and why:

I have chosen to use PCA - Principal Component Analysis using Eigenfaces. The reason i chose this method is because it's a good place for a beginner like me to begin. This method allows me to load the classes and call their functions so I won't need to code the algorithm.

After I chose to go with PCA using Eigenfaces I watched the youtube videos below to gain a deeper understanding behind PCA.

What is PCA:

How PCA Recognises Faces - Algorithm in Simple Steps 1 of 3
http://www.youtube.com/watch?feature=player_embedded&v=n3sDhHH5tFg

How PCA Recognises Faces - Algorithm in Simple Steps 2 of 3

How PCA Recognises Faces - Algorithm in Simple Steps 3 of 3

Saturday, April 20, 2013

My Individual Milestone

For my individual milestone I will be focusing on facial recognition. I will be doing more research into the difference between 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.

Friday, April 19, 2013

Week 6 - Planning

Team Name: 3RDiConstruct
Team Members: Nikko Sudirman, Daniel Pantelas, Tim Lin, Matthew Whellan, Demetra Alexandrou and Salli Hanninen
Wiki Page: https://sites.google.com/site/3rdiconstruct/


Clarity of the oral presentation:

Each member presented their part clearly, concisely and in a professional manner. Unfortunately they were reading directly off their presentation which was distracting for the audience. Their presentation showed their understanding of extensive research which was further enhanced by using examples. The significance of planning in the industry and in their project was clearly conveyed during their presentation.

Clarity of the written presentation:

The prezi presentation was unfortunately overloaded with text on some slides and it was hard to decipher the key points. The use of images and charts were helpful in understanding the context. The topics which were covered were in a well organised sequential order that enhanced the audience’s understanding.

Distinctiveness and specificity of the examples:

Each member of their group had a clear understanding of their roles and responsibilities in their project. For each topic they explained the reasoning behind why planning is so important in project management and how it can be implemented.

Referencing:

There was no referencing in the presentation; although they listed their references at the end of their Wiki page but did not state which reference was for which image.

The conceptual context:

They seemed to have done a lot of research into planning and linked examples of how they incorporated planning into their project structure. Even after all their research they found they were too far into their project to be able to implement most of their planning research and found that the planning structure they had from the beginning was working for them.

The still images:

There weren’t many images used and the images that were used weren’t referenced. The presentation done on prezi was enhanced with their images added to support their text. The use of ghantt charts and diagrams were useful in supporting the use of schedules in project management.

What information I learnt that will be beneficial to my project:

After listening to the presentation I have realised that with our project we don’t have a precise plan in motion. After doing some research into planning we have come to the decision that our project planning needs to be more clear and specific where our roles, responsibilities and requirements are well understood. 

Planning is the process of linking strategic goals and objectives to tactical goals and objectives. It describes milestones, conditions for success and explains how, or what portion of, a strategic plan will be put into operation during a given operational period, in the case of commercial application, a fiscal year or another given budgetary term.

Where are we now?

  • Research
  • Designing the mechanical system
  • Code facial recognition
  • Import code for kinect to arduino

Where do we want to be?

  • Mechanical system made of the right materials (working prototype)
  • Send data from the kinect to the arduino (working prototype)
  • Kinect data to cryengine3
  • Cryengine 3 animation
  • Crysis environment

How do we get there?

  • We will be using asana to delegate tasks
  • We have a weekly schedule outlining who is doing which task and when it needs to be completed and how long the task will take

How do we measure our progress?

  • We will be measuring the amount of work we accomplish by the end of each week then we will compare it to how much work we need to accomplish to stay on track.

Clear objectives

  • Create a mechanical storage system for a bathroom using the output from the Kinect data. This system will be using materials that will withstand the varying temperatures of the bathroom.
Desired outcomes

  • Working prototype
  • Facial recognition for Kinect
  • Kinect data to Cry Engine 3 to animate model
  • Mechanical drawings of the storage system
Staffing and resource requirements

  • Kinect
  • Arduino kit
  • Kinect to arduino code
  • Budget for materials to build the prototype
A process for monitoring progress

  • Asana
  • Keeping with the schedule