Home

   Journals

   Personal Statement

   Career Path

   Resume

   Project Timeline

   Design Proposals

   Files

   Powerpoint

Journals:

05/01/2005

Well this is my last journal entry. I have spent the last week finishing up my documentation and preparing for my presentation. Look for my added new files under the files link. I have also added my power point to my web page and updated my career plan. I have had fun doing this project and would like to thank all the CS professor for all your help. I will miss St. Norbert, but also am excited about starting my new job. I look forward to the our discussion of my project this Tuesday. Please let me know if you have any question or concerns about my web page.

04/06/2005

Last week was a busy weak. I spent most of last week refining my application and deciding what else I wanted to add to the application before my presentation. I have come up with the following list of tasks I want to do before the semester is over with.

  • Refine the coordinate capture routine.
  • Refine the movement routine.
  • Add some functionality for a right click.
  • Add a personal setting save option.


  • One last obstacle I have not thought of a great solution, is how to allow for more mouse movement before my hand is outside the cameras view. I was thinking of raising the camera up but, this will make some the clicking more sensitive and also cause for even a more awkward setup having the camera so high.

    04/04/2005

    This week I have accomplished a lot. I was able to resolve my most pressing issue, which was continuing to receive frames when my application did not have focus. I accomplished this with some insight from Kevin Trost who informed me of a way to turn the callback function off and manually get frames with a timer. After overcoming that problem I moved on to refining my calibration method and movement method. I also refined my interface to be more user friendly and be able to hide in the system tray. I also spent some time this week meeting with Professor Blahnik and discussing his recent interactions with the Ariens corporations and seeing if any of my work so fare could benefit them. This next week I want to continue to refine my interface and also prefect my detection algorithm. I also want to incorporate an auto calibrating light sensitivity system so the user does not have to set it manually.

    03/17/2005

    I had some very big discoveries with my project this week and also one huge setback. As I discussed in my last journal I had an inspiration to use the width of the hand to represent such things as a mouse click. I was able to resolve my logic errors in my code and get this algorithm to work very smoothly. Unfortunately along with this great success came the most disturbing setback. Now that my application was running smoothly I started to test it and found that the Avicap callback function is disabled anytime my application does not have focus. I tried to overcome this issue in multiple ways. First I implemented some code which allowed my application to run in the system tray (the area in windows were the antivirus software shows up). The system tray code did not have any affect on the callback function. I also implemented some code which allowed me to change the priority level of my application. This also had no affect on the callback function. I have come to the conclusion after doing multiple tests and research that the Avicap callback function is disabled anytime the application is not in focus. I did find a article that talked about the Avicap function and they described the only way to continue to receive video feed from the camera while the program does not have focus is to use a get frame functions with a timer. Earlier in my project I was able to find an example of an application that used this method. The only downfall was the this application used properties from the windows clip board to store the picture. I discussed this process with Professor Blahnik and he suggested that the get frame function could be an option, but to avoid using the clip board because of all the overhead that come with it. Professor Blahnik and I also tested the capture routine using the Logitech software/drivers and found that they continued to capture frames even when the application loses focus. The only downfall to using the Logitech software is that it is not universal to all cameras and it requires a lot of installation of software which would be erased on the lab machines every time they rebooted because of deep freeze. My main goal when I get back from spring break is to rewrite my capture method. I think I am going to try to use the get frame function with a timer and see if I can store the picture in memory instead of on the clip board. If this does not work my last option might be to revert back to the Logitech software, but I would like to leave that for a last resort option.

    03/13/2005

    After my walk through I got a lot of interesting ideas on how to improve my application. This last week I have been working on trying to find a more natural way for After my walk through I got a lot of interesting ideas on how to improve my application. This last week I have been working on trying to find a more natural way for the user to relocate the mouse and click the mouse. I came up with an idea of using the spread of the hand to represent certain things. For example if your hand is completely spread the left and right darkest pixels in relation to the top darkest pixel should be greater than if your hand is closed. Different spreads of the hand could represent certain things such as a click or off button. The diagram below better describes my idea. Unfortunately I am having some trouble implementing my idea. I have some logic errors in my code to work out, but I also have the problem if the user tilts their hand sideways it would throw off the distance readings. I was able to write a calibration method to adjust for different users hands, which is working fairly well. This week I want to continue to refine this method and also review some of the other ideas I may get in writing from the responses to my walk through. By the end of this week I would like to have a main plan in mind to focus on so I can start refining my application and making it more user friendly.



    03/06/2005

    Last week I met with Dr. Pankratz and we discussed my progress. I have come to prefer my design B that operates like how a mouse moves. To get over the inability to relocate the mouse I implement an off key that when your hand is placed in it will stop the mouse moving and allow one to relocate the object used for movement. I am still not sure what would be the best way to account for a double or single click. I am hoping to get some suggestion during the presentation next week. I was also able to make some calibration interfaces to adjust the sensitivity and the reaction to light. I hope this week to implement some way to double click and single click on an object.

    02/27/2005

    This weekend has been very productive. I was able to experiment with some of my designs. I was able to expand on my design B, which dealt with moving a mouse, based on an object moving into a particular area of the camera. I was also able to get the mouse to move in relation to the objects movements, which was my design B proposal. Along with developing theses application new problems arose that I am going to need to overcome in my design. Some of those major issue deal with how to signal a mouse click or a double mouse click. Also with my design B proposal idea I am having trouble and complication with having relational movements. With a regular mouse you can pick it up and set it down, which allows a person to move the mouse all the way across the screen. With a camera you have a harder time signaling this so called disengagement to recalibrate the starting movement position. This makes me wonder if my first design would be easier for a user to master. I hope to work this week trying to pull both designs into one application and refining both techniques to move the mouse.

    02/21/2005

    This week I have been very busy. I was able to draw up and work on some design proposals. I also successfully was able to recognize when an object entered a particular segment of my frame. I continued to develop my application and soon had the mouse moving in reaction to an object entering a section of my frame. While experimenting I have discovered a possible obstacle to overcome. My frame rate currently is very slow causing the reaction to users movements to be very delayed and jerky. I hope to work this week to try to overcome this issue. I also want to try to experiment with another design option during the week. I started with my design A option and hope to work a little bit with my design B option. Please refer to my design description page for more details on my design ideas.

    02/16/2005

    I have accomplished a lot in the last couple of days. The weekend allowed me to complete my connection routine to the web camera. After I completed my connection routine I have been doing a lot of testing and experimenting to try to find a good design. I meet with Dr. Pankratz today and we discussed the redefinition of my project and also tried to break down some of my design ideas. My plan for the rest of this week is to document my design ideas and then try to implement one of them. Creating a prototype will allow me to see some of the other issue I will have to address with my project.

    02/09/2005

    Today I had another meeting with Dr. Pankratz. After addressing some of my concerns with him we decided that my project specification needed to be redefined to allow me a chance of finishing. We discussed that instead of focusing on the face we would use a more general figure like a finger or pencil. We also discussed that the I could use an extensive contrast between the object and the background to make it easier to identify my object. I felt better about my project after leaving Dr. Pankratz’s office. I am going to put in writing the updated requirements and submit them this week to Dr. Pankratz for approval.

    02/08/2005

    I have accomplished a lot in the last couple of days. I was able to write some sample programs to manipulate pictures. This has been very helpful in understanding how to design my solution. Through my experimenting I have come arose some major problems, which I need to resolve. The first problem is that the person face will not stay still. I will need to develop a way to first locate the region on the face were I am looking for the change. The other major concern I have is with the resolution of the camera. Through working with sample pictures I can clearly see that the differences between a closed eye and an open eye are very small. I hope this week to continue trying to develop solutions to the two major problems listed above. I also was able to successfully implement some windows mouse movement calls.

    02/02/2005

    Dr. Pankratz and I discussed more of the details of my project today. He encouraged me to work with Damian Wegner and Kevin Trost to develop an application to connect to the camera since we all three need that ability. We also concluded that it might help to first start by not even using the camera, but just to experiment will still pictures. After Dr. Pankratz discussion I have recognized the following tasks I want to complete by early next week. First I want to understand better how to connect to the camera through Visual Basic 6. I plan on also experimenting with some still pictures taken with the digital camera to get a better understand of the resolution capabilities of the camera. I plan to develop a very simple program to recognize the differences in two still pictures.

    01/30/2005

    This week I received my description of my senior capstone project. I have spent the last week working on researching and understanding my project along with developing my webpage. I did meet with Professor Blahnik to discuss his past work with web cams. Meeting with Professor Blahnik gave me more insight into how to break my project up into smaller tasks. The first tasks I plan on working on next week is to write a small application, in Visual Basic 6, that connects to a web cam. After I understand this process I believe then I can take a step back and try to develop a more detailed plan on how to solve my larger problem.