You are viewing our Forum Archives. To view or take place in current topics click here.
.NET/C# Facial Recognition assistance
Posted:

.NET/C# Facial Recognition assistancePosted:

ip
  • TTG Contender
Status: Offline
Joined: Dec 30, 201212Year Member
Posts: 3,778
Reputation Power: 3016
Status: Offline
Joined: Dec 30, 201212Year Member
Posts: 3,778
Reputation Power: 3016
My teacher today informed me that he would like to incorporate a station while walking into class to take attendance for him. I have been looking at api's and such but haven't found a definite result to begin coding and testing it. If you could assist me, it would be greatly appreciated. If you could help me with this and it works when completed, the teacher offered to pay me. Now I am unsure if he was joking or not, if he isn't, I won't hesitate to pay you.

Here is a list that he wants to happen when the student steps in front of a the camera
  • Assign a name to the picture of the student through facial features/self input
  • A way to log if the student has stepped in front of the camera
  • Sending the log to the teacher or creating a simple text with student name/status


I could do these, I just need help with the face recognition and shtuff. Thanks.
#2. Posted:
QuantumRevenger
  • New Member
Status: Offline
Joined: Nov 13, 201410Year Member
Posts: 5
Reputation Power: 0
Status: Offline
Joined: Nov 13, 201410Year Member
Posts: 5
Reputation Power: 0
May I suggest finger print recognition as a more reliable method for this task.

Students could just have a mate show a photograph of them to trick the system into thinking they're attending. Finger prints are harder to forge, quicker and more reliable than current face recognition libraries.
#3. Posted:
ProJimmyRustler
  • E3 2016
Status: Offline
Joined: Jul 14, 201410Year Member
Posts: 1,720
Reputation Power: 71
Status: Offline
Joined: Jul 14, 201410Year Member
Posts: 1,720
Reputation Power: 71
Seeing as you've been pretty helpful to me in the past, I'll provide some assistance.

[ Register or Signin to view external links. ]

This just locates faces.
What you could do with this is create a function that locates eyes, nose, and mouth.
Then have it save the profile of each student.

Out of curiosity is this for a high school class? My high school would flip shit over this, that's why I ask. lol
both types of recognition invade privacy in the eyes of parents.

More:
SIMPLE FACE RECOGNITION IMPLEMENTATION FOR COMPUTER AUTHENTICATION

Josh Easton, Tin-Yau Lo

INTRODUCTION

The topic of face recognition for video and complex real-world environments has garnered tremendous attention from governments for crime fighting as well as airport terrorism deterrence. However, there has been little attention towards consumer use of face recognition products. The aim of this project is to come up with a simple implementation for computer authentication to replace the popular pass-phrase based authentication on personal computers. The popularity of high-resolution cameras on market made the possibility of face recognition based computer authentication possible.

Humans can recognize face even when the matching image is distorted, such as a person wearing glasses, and humans can perform the task fairly easy. Understanding how humans decipher and do matching is an important research topic for medical and neural scientists.


APPROACH

Facial recognition is an easy task for a human to perform; it is nearly automatic, and requires little mental effort. A computer, on the other hand, has no innate ability to recognize a face, and must be programmed with an algorithm to do so. Even the best algorithms available today are not even close to perfect, and rely a lot on statistically probability.
There are a few algorithms that can be used, one of which is the Eigenfaces algorithm. It first must be trained by being given several images of the same face. These images are used to train the computer to recognize several features of a persons face. Since the face will not be in the exact same pose every time, the face in the picture must be centered and scaled. Generally the persons eyes are used to center the images. After this minor preprocessing, over a hundred signatures are taken of the face. In order to get a good set of signatures, the face needs to be completely exposed, without any form of obstruction.
After the computer has been trained to recognize a certain face, it can then look at any picture of a face, calculate a set of signatures on it, and compare it to every face it has been trained to recognize. It then will compute a set of probabilities for each trained face, and whichever is the most probable will be considered a match. If none of the faces appear to be very probable, then no match will be returned.

The Hidden Markov Models method works in much the same way. A set of signatures are taken of a face to train it, and are used to compare to a target face to find a match.

WORK PERFORMED

The first step in our project consisted of researching the various facial-recognition algorithms, and determining which would be the most fit for our application. There are many open source libraries and applications available, each with a different level of ease-of-use and completeness. Intel OpenCV and CSU Face Recognition engine are very featured-rich but they are overly bloated. We decide to use Eigenface engine by Konrad Darnok. As the engine itself was written in Java, we used Java to implement the video grabbing and the rest of the front-end. The result is a program that can be used in conjunction with a video camera. The capture program is shown at figure #1.

The FaceRecognitionCap program in figure #1 is written in Java which utilizes Quicktime Java library sequence grabber library, running on Mac OS X and Windows (with Quicktime installed) to take Snapshot into gray scale image. Therefore we simulate the authentication by taken a series of trained image using the firewire camera and in our


figure #1


case, the Apple iSight to capture a 320x240 image from sequence grabber (using Quicktime Java) and convert it into grayscale (with java.awt framework) and finally save it into JPEG format using Suns JIMI image library.

Then the FaceRecognition Java program is to run the resultant test image against a trained library. The result is printed out in a text window. In a real system, this would be passed to a program that wanted to authenticate a user, such as a screen saver or login screen.


figure #2

RESULTS

The resulting program we created seemed to function as one would expect by matching the test image to the closest image. It is good enough for a user to use to login to their computer. However, it took considerably a while to be able to come up a matching as the algorithm has to enumerate the trained images.

DISCUSSION

Using facial recognition for a simple task such as computer authentication is very ideal. Computer users often have several passwords to remember, and using such software can eliminate the need to remember them.

Facial recognition software is currently used mostly for surveillance. However, computer authentication could potentially be a better use of such software. One reason why is because for normal consumer use, the occasional false negative can be dealt with. However, when doing surveillance, false negatives and false positives are a huge problem.

All computer facial recognition algorithms in use today have trouble dealing with obstructions on a persons face, such as sunglasses. These obstructions can cause false negatives. For a home or small office user, a false negative is ok, since the solution is to simply remove the obstruction from the persons face and to retry.

Also all computer facial-recognition systems which take images from camera can be easily fooled. A simple method is to put a picture of the person in front of the video camera, and then requesting authentication. This will trick the program into thinking the real user is there and grant access. This method should therefore not be used for systems that require high security. Instead it is only sufficient to protect unimportant data, such as for someones personal email.

However, when using facial recognition on a large scale, such as for surveillance, false negatives are very bad. Since simply wearing sunglasses can defeat the software, then the criminal/bad guys can walk around undetected by wearing sunglasses. There is not an easy solution for this problem. For the home user, you can simply ask them to remove the obstruction and retry. However, on a large scale, you cannot make sunglasses illegal, and so the problem cannot be worked around.

One more issue to keep in mind is the difficulty a facial recognition device will have scaling up to a large database of faces. Large events such as the Olympics are places where facial recognition software is touted as being a great tool. However it is also large public events like this where the software would encounter major scalability problems. A large database of people becomes too much of a strain when dealing with large crowded events like this, as there are too many faces to check.

For computer authentication, you are generally authenticating a single person. It also does not have to be done instantaneously, as most people are willing to wait a couple of seconds to login. So in a situation such as this, facial recognition software is perfect.

Hopefully more work will be done in the coming years to bring facial recognition to the everyday person. This is an area where the software will stand out, and can make everyones life a little bit easier.




TASK PERFORMED BY MEMBERS

Description of task % done by Josh Easton % done by Tin-Yau Lo
Research for project 50% 50%
Programming 50% 50%
Report 50% 50%
PowerPoint presentation 50% 50%
Overall contribution 50% 50%


REFERENCE

Tracking and Recognizing Rigid and Non-Rigid Facial Motions using Local Parametric Model of Image Motion". In Proceedings of International Conference on Computer Vision, 1995.

E. Hillesland, S. Molinov, R. Grzeszczuk, Nonlinear Optimization Framework for Image-Based Modeling on Programmable Graphics Hardware. ACM Transactions on Graphics. 22 (3), 2003.

Ara V Nefian, Lu Hong Liang, Xiao Xing Liu, Xiaobo Pi and Kevin Murphy, Dynamic Bayesian networks for audio-visual speech recognition, to appear in EURASIP, Journal of Applied Signal Processing, special issue on Joint Audio Visual Speech Processing.
RUNNING THE PROGRAMS

The distribution came with the directory FaceRecognitionCap and FaceRecognition.

FaceRecognitionCap is a Quicktime Java program, that requires Quicktime 6.1 and a compatible camera that support Quicktime on Windows with a simple recompilation. It runs out of the box on MacOS X by double-clicking the FaceRecognitionCap Icon. Push Power to initialize the Firewire bus, and click Take Snapshot to produce a 320x240 greyscale image suitable for FaceRecognition. The resultant capture file is test.jpg

FaceRecognition is the actual face recognition engine. Type the following at the FaceRecognition directory :

java FaceRecognition trainedimages testing.jpg


A sample running such as the following will be produced :

kenneth% java FaceRecognition trainedimages testing.jpg
Constructing face-spaces from trainedimages ...
Comparing testing.jpg ...
Most closly reseambling: 15.jpg with 2.108734631580217 distance.
kenneth%

http://blog.octo.com/en/basics-face-recognition/

#4. Posted:
Vix
  • Resident Elite
Status: Offline
Joined: May 11, 201113Year Member
Posts: 267
Reputation Power: 17
Status: Offline
Joined: May 11, 201113Year Member
Posts: 267
Reputation Power: 17
sounds like alot of work but sounds so cool
Jump to:
You are viewing our Forum Archives. To view or take place in current topics click here.