top of page

Project Updates

Project Idea Finalized After Brainstorming

Mar 22, 2022

After our initial brainstorming session on what we would like to investigate for our DSP project, we selected the project in which we use DSP and image processing techniques to control lights using a gesture based system, similar to how a smart home voice assistant functions. Our plan for this project is that the lights will be operated and controlled by an Arduino. The gesture system that we plan to implement will involve first detecting a hand in a video stream provided by a webcam, counting the number of fingers being held up to control a certain light, and then recognizing a thumbs up or thumbs down to toggle the state of the light.

 

Researching Ways to Count the Number of Fingers in an Image

March 25, 2022

We researched several different papers to determine an algorithm for detecting the number of fingers. There are several different methods, however, several of the papers had common initial steps and diverged once it was ready to count the fingers in the image. They started with initial steps of converting an image in black and white, then the hand gesture image is converted into a binary image. Most papers began to diverge at this point where some papers offered image subtraction as a solution where the resulting image would have just the fingers. Then using matlab functions you would be able to count those resulting fingers. The other branch that was commonly seen was to form a circle around the palm that intersected the fingers and then find the magnitude along those intersections. The spikes in the magnitude plot would determine the number of fingers. Lastly, we researched different functions in the image processing toolbox to determine the necessary components to do any necessary conversions, analysis, or determination of the number of specified objects in an image.
 

Learning Something New - A Way to Control an Arduino from MATLAB

March 29, 2022

In order to control the Arduino from our main MATLAB function, we were investigating ways in which we could communicate with the Arduino over a USB port. During our research we found two ways in which we could accomplish this, one method was a more manual method of opening up a serial port with the correct baud rate using the serial() command. The other method which we found, and will most likely use, is the Arduino Support Package for MATLAB. This hardware support package comes with convenient commands that let us easily communicate with the Arduino by initializing the port with the arduino() command. Similarly, telling different pins to turn on or off becomes as simple as using the command writeDigitalPin(). See more details on the “Hardware Intergration” page.

 

Initial Version of Finger Counting Algorithm Complete

April 5, 2022

The initial algorithm to detect the number of fingers being held up in an image based on Park and Warren’s method is complete. The algorithm takes in a clean image of just a hand and converts it to a binary image mask in which only the hand and fingers are selected. Then, a circle of a mean radius is drawn around the center of the palm and intersection points are determined. The regions of connected intersection points are then used as the number of fingers with one region being subtracted, as it is assumed that the wrist has been detected. See more details on the “Finger Counting” page.

Classifier

April 26, 2022

The Classifier has been trained and is able to detect hands, however there are times when it may detect blank spaces as hands. It still needs to be trained and updated. However this initial training should allow our project to run in full completeness. May need to update or use different samples in order for better results.

QQ截图20220406164016.png

Figure 1: Original Image and Detected Fingers

bottom of page