For my third year project, I wanted to do some Image Processing. My and I came up with the Forward Looking Infrared Tracking Turret, or FLIRTT for short. The original idea was to make a motion tracking camera, and enhance it by adding heat detection. This would allow us to differentiate between an actual person in front of the camera, and something like a moving sign with a person on it. For something like security, a sensor using this concept can prevent breaches of outer doors using one-way badging.
Project FLIRTT was very much a learning project for me. My partner and I purposefully chose to use things we hadn't ever tried before, so we could learn about them. We chose to use a Raspberry Pi, running its basic Debian OS, as the computer to process the video feeds. The turret itself was planned to have two cameras. One was a normal camera used to track motion, and the other was a low resolution (80 X 60) FLIR camera that would fit in the budget. After spending some time with my partner getting the FLIR camera working, I took the regular camera to begin motion processing.
For the sake of learning, I decided to use Python for the language to program everything. At the time, I had very little experience with Python, so things went a little slower than usual as we learned the nuances of the language. Once I got in the groove of using it things went very smoothly and I was able to complete the implementation.
For the Motion tracking, I used OpenCV in order to learn how the process worked. I learned the reasoning of switching to grayscale for image processing, blurs to soften the edges that were too hard, thresholding to pick out various parts of an image, and a way to use the area of contours to see where motion was happening. It was a very basic motion detection, which just compared an older image to the current frame in the video feed. After the project ended, I was able to go back and implement a long-term running average of the background in order to detect motion a little more accurately.
Due to DigiPen's small manufacturing ability, we couldn't get the parts made in order to put together the final turret, but we got the project to a place where it could simply be put in a frame, and have just a little programming on the Pi in order to make two servomotors work based on their spec.