Engineering Projects/Attendance/Howard Community College/fall2012/p1-503-bcs

Problem Statement edit

We want to find an easy way of taking attendance autonomously using facial recognition software.

Team Members edit

Cale
Broemmelsiek
Shin

Summary edit

We initially struggled to implement the open source facial recognizer from OpenCV. However, we got a program called Visual Control to begin working and recognizing faces. Also, we explored Picasa's face recognizing software and organized pictures of our classmates by their names.

Poster edit

 

Story edit

9/18/12

We accessed the previous group's work and decided to set up tasks using their strategy first. This included using a Python coding program that was inputted into Picasa. We tried other open source programs, like OpenCV as another option for facial recognition. We are comparing the differences between the two programs.

9/20/12

We decided to narrow in on social network programs as an intuitive way of taking attendance, as the software is built in and already sorts things into folders. We are also exploring the ideas of more specific avenues of recognitoin like with OpenCV and video calibration programs.

9/27/12

We have started downloading Python and C++ command lines form http://opencv.willowgarage.com/wiki/FaceRecognition , ran into trouble implementing the input and output files, but software is customizable if we can master it.

We have started to manipulate Picasa with varying results. We are trying to get Picasa to automatically recognize faces after a limited number of inputs and place them into folders that are private.

We have made a Facebook group page for this class called "Facial Recognition." This group can store photographs that tag people's names automatically. More importantly, this group is a secret group, so the only way someone can access these photos is if they are invited to the group, protecting our class's privacy.


10/2/12

We got an open source code to run and actively recognize faces. It is called Visual Control and can be found under the software list. The program requires the user to be fairly close to the webcamera, so we are exploring ways to use an external webcam that can be positioned next to the door of the classroom. The program only needs about three pictures to begin recognizing the person in the picture and stores the pictures into a single folder. The folder has to have already formatted pictures, meaning we need to find a way to format the pictures in a separate program so that we can just input the images into the program's trainer. We are now exploring how to take this data and convert it to a representation of attendance.

10/9/12

we used the visual control code and began to look for ways to import pictures from an outside source in order to recognize faces and also to use as gray scaled images to use them as the original to compare new pictures with and to get the software to periodically take pictures when motion was sensed.

Decision List edit

Material List edit

Webcam (borrowed)

Laptop (borrowed)

Software List edit

Picasa

Facebook

OpenCV Face Recognition

Visual Control

Dev C++

Time edit

37 hours 52 minutes

Tutorials edit

 
Step 1: Go to visual control and download the executable file. This is the link on the bottom
 
Step 2: Once you open up the file you downloaded, you click the .exe file that is highlighted here and the program should start running. The program will automatically utilize a computer's integrated webcam, or it will use a USB connected webcam
 
Step 3: This screen should pop up when you run the file. Position the faces you want to recognize in front of the webcamera. When you see the boxes appear on a face, you can now click the button on the left that says "Capture face and store it as training image"
 
Step 4: Name the file with the person's name as the filename, followed by .jpg (Marc.jpg) You may want to use more than one training image, we found three to normally get the job done, just name them different permutations of the same person (Marc1.jpg, Marc2.jpg, etc...)
 
The images are stored in the folder that is highlighted called "images". The program calls this folder when it runs the trainer
 
The images are automatically converted to a format that the program can recognize. It looks like it just grayscales the images and converts it to a 150x200 resolution.
 
Step 5: Once you have stored and named your images, you want to click the "Train Recognizer" button in the middle. If the program has compiled correctly you should get this message saying that the recognizer has finished training.
 
Step 6: Click the "Recognize Visible Faces" button on the right while standing in front of the webcamera. The person's designated filename should appear in the information bar below the command buttons.

Next Steps edit

1. Download the visual control software, the one listed on the bottom is fully working and the link on the top allows you to view the code and edit it. We now just need to integrate a capture device so it automatically take pictures and create an output interface so its just a list of students.

2. Find a program that can analyze filenames and sort the results in Visual Control or Picasa. These should be able to be sent to a spreadsheet like Excel, so they can be represented in some way.