Our 36 Hours
We believe in solid systems that cannot be thwarted or deceived. And when we envision those, we can enumerate the many ways thieves and trespassers can break into a physical system. After all, they can hide their face, hide their clothes, hide their presence – but they can’t hide their temperature, can they? With that in mind, we decided to work on an idea for a heat map security system, one that updates based on the users’ preferences, and alerts them to any new and drastic changes in temperature.
Our work starts off with the Intel Edison superchip, where Shubin and Guangzheng were able to configure the chip for its temperature scanner. They worked in C++ to handle the data, convert it all to Fahrenheit and subsequently simplified it into a matrix of temperatures, which would be a picture of the scanned region, but with numbers representing the people, objects and nearby items.
After that, Maaz took the textfile with the matrix of temperatures, and plugged it into MATLAB. Since heat maps are colored relative to the highest and lowest temperature of the picture, the data was computed to automatically pinpoint the highest and lowest temperature in the matrix, and associate color to each temperature value. When this was done, the matrix of temperatures now had a colored image of the scanned area, where reddish colors signified hotter temperatures and bluer / blacker colors signified colder temperatures.
A suggestion to the processing was to add a segment that detected drastic changes in temperature, and alert the user of a suspicious entry. In addition, when the program compared the outlier temperatures to the average temperature of the outlier’s ambience, it would run through a table of potential threats classified by initial temperature and temperature difference. From this, when it sends an alert to the user, it also suggests a possible cause for the change in temperature. Unfortunately, we were not able to implement all of these changes in the time we had, though we certainly are and will be working on it after the judging is over.
In the unpredictable case that MATLAB failed with its processing, Nitharjan worked on R Programming to come up with code that would also take the matrix of temperatures ( this time in a .csv file ), attach colors to each temperature value, and produce a brilliantly colored heat map. Even though MATLAB has been selected for our setup, the heatmap code and support in R Programming also gives us a feasible alternative in case there is a system that does not support MATLAB.
After that, Huang took the heatmap pictures from MATLAB and added to our project’s website, which has the constantly updating heatmap right on the front page, along with a list of user alerts generated by the code. Heat Maps are best viewed on large screens ( i.e. computers, TVs, security camera monitors ), so the idea of developing an app for mobile devices to load a constantly updating heat map was quickly ruled out. Thus, a website was used to bring all the data and results together, and present our hack in a neat and considerable fashion.
With that, thank you for reading, and if we have not already, we would be proud to present our HackGSU’s hack: Heat Signature Security.
Challenges I ran into
We ran into two major roadblocks along the way. The first one involved the Intel Edison's temperature scanner having a scan range that was infinitesimally smaller than what we had estimated. We continued our code in the hopes that when we are able to use technology of our own choosing, our code will work as intended, and return a very accurate and colorful heatmap of the surroundings. For now, we are working with the Intel Edison in lieu of the proper technology.
The other challenge was more of a disagreement over whether MATLAB would be compatible with the data we got from the Intel Edison, and after we talked about our choices, we decided to invest some time in R Programming, where Nitharjan spent time on Saturday learning the basics and in-depth functions to replicate the heat map in R Programming. It was a worthwhile adventure, as we currently now have 2 methods to process the data and produce heat maps that we can add to the website.
Accomplishments that I'm proud of
On the first day, we all came together and had a laugh over the notion that we beginners, could create something interesting and catchy from our combined lack of experience and recent introduction to programming. But we did exactly that. We pooled together whatever computer languages we knew, and managed to create a system that not only works, but looks great while protecting your interests at home. On top of that, we were able to acknowledge our technological constraints and proceed with our project, despite the fact that it's likely that someone points out how tiny our scanner is. Our project isn't perfect, but after all, who said it had to be perfect after a measly 36 hours of work?
What I learned
It's incredible to recount just how many things we've learned since we started. For starters, we set out as beginners in programming, and spent a good chunk of time studying, coding, debugging, and learning about all sorts of functions, methods - code that we probably would never see in class for the next several years. The introduction workshops were pretty nice as well, but we also immensely benefited by going around the hall and talking to other groups. Ideas fly quickly in an environment like this, and learning of other hackers' hacks and methodology really gave us a fresh set of perspectives that we used to keep looking at our project, and determine if it was still feasible, still relevant, and still accomplishing our goal. We learned a helluva' lot, and it's only just starting.
What's next for Heat Signature Security
For the sake of appearances and an ideal implementation, we have a list of user alerts on the website that note drastic temperature changes and suggest a reason for the drop or rise. However, our code does not return that list at the moment. After our judging, we plan to return to our code to analyze the interference's temperature, the surrounding temperature, and the temperature discrepancy, and compare it to a table of values we plan to include. These values, if satisfied by the three temperature conditions, will suggest an already coded reason as to why there might be a difference in temperature.
For example, if the room is at room temperature, and a stove is lit to temperatures of above 100 deg F, then the program can use a heat map to look at these three temperature values, and suggest that the stove is being turned on. In regards to the cold weather outside, if someone decided to break into a house by breaking or opening a window, the heat map system would detect the sudden drop in temperature near the window, compare it to the room temperature, and conclude that the window was opened.
As it is right now, it is not an AI system, though it would be certainly nice to move it in that direction.