Thursday, March 13, 2014

Software Progress

     At this point, software wise, we have put together a functional algorithm that will point in the direction of movement using our fancy LED board that we put together. This was done by using the motion detection method of frame subtraction.

     Frame subtraction is a relatively simple concept. By saving each frame as a matrix that has a value for each pixel, motion can be detected by subtracting the frames and looking for differences in pixel values. We do this with the video in gray scale, which simplifies the process because we aren't worrying about color. Once motion is detected, a bounding box is placed around the area of the motion. Using the bounding box, we can look at the area of the motion and decide if it is large enough or small enough for us to care about. This helps with ignoring false positives. After motion is deemed significant, we use some trigonometry to find out which quadrant the motion is coming from. From there, we can send that information to the LEDs so that they will light up in relation to the motion.

     This is a pretty significant milestone. Now that we are detection motion with our hardware, the next biggest thing is working with the wireless communication so that we can test a more accurate prototype. This will be done using an Arduino board and some wireless communication modules called xBees. The difficult part of this will be getting the ArduPi libraries working on the RaspberryPi, although it seems the difficult part of all of this is getting libraries working on the Pi.. Once those libraries are up and running, we will be able to write code that will split up the task of detection and visual indication. The Pi will handle the computation, and the Arduino will handle the LEDs.

No comments:

Post a Comment