User:Bzeher/enes100/attendance

Write problem/project Goal
To take the class attendance using facial recognition software.

My First Task
Find out information on collision control.

Summary of actual work over first weekend
I looked into the software used in the previous semesters wiki pages.

Tested YawCam and it works great for automatically taking pictures of students using motion detection.

Tested Visual Control and found that it is a very slow program that does not work very good all the time. It can detect faces but takes some time. lighting is a big factor.

Picasa works good for organizing pictures by face, but I can not find any features to automatically detect faces when files are imported, it has to all be done manually. This would be a good tool for creating a database of faces.

Week1 Narrative
After testing Yawcam, Visual-Control and Picasa I organized the project to see what we needs to be done next.

I found that all three programs are needed to complete the project but the process needs to be automated.

1. take pictures with Yawcam with motion detection

2. organize them in Picasa

3. put pictures in Visual-Control

4. recognize faces with Visual-Control

5. write results to file

My Second Task
I am going to try to use Visual-Control to recognize faces with pictures imported directly from Yawcam's motion detection, or Picasa instead of taking the pictures manually within Visual-Control. I am going to try to automate steps 1 2 and 3 above.

Summary of actual work over second weekend
I took a picture with Yawcam motion detection and put it into Visual-Control and it would not use the images. I also edited the pictures in Picasa with the same exact properties the pictures taken within Visial-Control have. Error Training!.

Because Visual Control is not customizable and has no options, It looks like the only way for this to be accomplished is by editing the code in Visual Studio, unless we can find a better alternative to Visial-Control.

I have looked into programming with Open CV (what visual control uses) from online tutorials and it is a very long process to learn. I am going to start looking at the Visual-Control programming to see how it is organized and if I can edit it.

Features Visial-Control needs:

1. Train with imported images. 2. Export names to file when face is recognized. 3. Continually recognize visible faces (not manually)

Week2 Narrative
Just focusing on using Picasa for facial recognition, I found command line for picasa, but need to use googlecl to use commands. googlecl works with python and gdata.

Found how to program custom buttons in picasa. A button could be created to export the the organized pictures into folders by students name and then call a .exe to check the attendance by clicking one button in Picasa.

Could not get the custom button to auto export people albums (grouped pictures of people). Also could not get command line working.

Picasa will watch selected folder(s) for images and view them automatically. When faces are detected in a photo, Picasa will make a suggestion on who that person is based on the peoples faces already taged in Picasa. You then have to click 'confirm suggestions' to add the persons face to their album.

I Found Picasa's database is located at C:\Users\You\AppData\Local\Google\Picasa2\bd3. This is a list of .pmp files. The imagedata_suggestionpersonalbumid seems like it would have the information needed but it is in .pmp format and can not be viewed.

So, if the suggestions for a persons album > 0 then the student has attended class.

My Third task
Find a way to automatically group faces into people albums (not manually) in Picasa.

Find out how and where Picasa stores face data to begin taking attendance automatically based off faces detected from pictures.

Summary of actual work over third weekend
I created a batch file to delete excess pictures taken by Yawcam that are not needed. I did this by creating a batch file.

@echo off

del /q "C:\Users\Student\Desktop\DeleteFolder\*.*"

exit

Save the file as a .bat and run it in scheduled tasks with the following tutorial.

Week3 Narrative
Found this link to create a custom button in picasa to ExportCvs.. looking at options with the ExportCsv button.

This button exports Name Tag info from all files found in the directory of the selected file in a comma-seperated text file (.csv):

My Fourth task
Run a test with Yawcam and Picasa together. As Yawcam takes pictures of students entering the room their name should become Bold in Picasa with the number of new suggestions for that person under their name.

Summary of actual work over fourth weekend
I tested the Export to csv custom button in Picasa and it works, but it exports all information in the folder of the picture selected.

Week4 Narrative
I took pictures of myself and put them into picasa to see if it would recognize pictures of me taken by Yawcams motion detection.

I found that about ten pictures need to be in picasa for it to detect and add a suggestion automatically.

Complete Team Page
Fill out the Team Form (should have already copied the form, created the team page, linked to it and started filling it out).