As I walked into the studio, the Technology Director gave me a concerned look, and mused:
"People haven't been checking into the studio."
This wasn't anything new. WIRE members had always been notoriously bad about indicating when they entered and exited the studio. But perhaps the problem had gotten worse? To be sure, I asked: "How bad is it, do you think?"
"Well, I'd be surprised if more than half of all DJs were signing in and out, to be honest" he responded.
No good. People were indeed even less vigilant than usual. "Yikes! What should we do about it?" I retorted.
"Beyond telling them that they have to sign in? No clue."
As the Station Director of WIRE (Wentworth Internet Radio + Entertainment), I spend a lot of my time resolving issues and maintaining operations. And as a Computer Information Systems major, I am taught and trained to look for ways to implement technology in order to provide clever and powerful solutions to often-times complex problems.
Speaking of which, this was one of them. Having all members of WIRE sign in and out is a critical component to our operations, since it means we can audit DJs, and since it allows for the directors of WIRE to understand and control who is in our studio (which is very important when the value of our equipment is considered). Yet, even with constant reminders, frequent pestering, and the possibility of disciplinary action, DJs were simply not taking the time to record their presence, whether due to negligence or forgetfulness.
I spent a fair amount of time considering my options, and trying to think of a way to solve this problem once and for all. I pondered: If people will not check in themselves, I need something to check them in for them. But what? And how?
...Meanwhile, a company by the name of AXIS had just given WIT a whole box of various network cameras, all of which had on-board silicon -- running a Linux variant -- that allowed for applications to be developed for the cameras themselves. Furthermore, AXIS was looking to test an idea they had: What if cameras were given to students for them to create applications for? What if we told them to just develop whatever they wanted? What would come about that?
Anyhow, as I continued about my duties as Station Director and CIS student, I eventually heard about the cameras provided by AXIS, and about the opportunity to write some software for them. And, over time, an idea occurred: Could I possibly have a camera and some software recognize and remember people? What if the software could check people in and out as they were seen? And what if this data could be thrown into a readable text file?
You know, that could actually work!
So I decided to see if I could get my hands on a camera. And, after a few conversations with a past professor and the provost, I had a camera to use the very next day!
Of course, I knew that I had a major handicap: Namely, I had never worked with network cameras before, let alone written software for them. I knew of things such as OpenCV, but I certainly hadn't worked with it in the past. How could I possibly create software so complex with such limited knowledge? And how much could I really do with the already-limited time I had free?
I decided to stand on the shoulders of giants. I knew of some incredibly useful, open-source code for object recognition and tracking called OpenTLD. Although quite barebones, and not specifically made for faces and people, I realized that I could treat individuals and their heads as unique "objects" that could then be identified and tracked.
I also knew of the aforementioned OpenCV libraries, which I figured would become very useful, particularly for a GUI. I could even implement generic facial recognition if I wanted to, in order to increase tracking accuracy and perhaps even allow for strangers to be learnt and tracked by my program.
And so, I began work on what I eventually called "Project Alibi": A solution that would be the 'alibi' for WIRE members when asked about when they had been in the studio. I started putting together these unrelated projects and snippets and libraries, whilst developing my own code to get everything to work well together. Simultaneously, I developed and programmed the logical component of Alibi - that is, the sort of reaction and decision-making that the program would have to do once someone was (or wasn't) recognized.
All the while, time simply flew by, while finals for WIT quickly approached. As my work progressed, I had the opportunity to attend several meetings with representatives of AXIS, alongside professors and others within the school, where I was able to provide progress updates on my project, and reach out for additional help and advice where needed.
Before I knew it, Project Alibi was no longer a set of disjoint libraries, but one cohesive (and functional!) program. Although certainly not where it needed to be to be called final, I had overcome the largest challenges that were blocking me from completing the project - namely, the persistence and recognition of multiple objects simultaneously. Plus, Alibi was even demoable, with most of the graphic elements working for illustrative purposes.
Needless to say, I was quite happy with the project after only about six weeks of development, even if there were many weeks ahead of further work.
I have to admit that, although a chance to demo my work at ISC West was a wonderful incentive to work on Project Alibi, I never expected to be one of the two students chosen to go, and I still consider it quite the honor and recognition.
See, AXIS had let students in on the fact that they wanted to give two projects a chance to be demonstrated at their booth in Las Vegas, during perhaps the largest security conference of the year. And so, being flown in to Sin City to present Project Alibi was an immensely fun experience, let alone an opportunity to connect and network with many professionals in the security field, both inside and outside of AXIS.
I was joined by Nick Gelfman and his project (which detected velocity of a person towards a camera), and together we had a table within the AXIS booth, at ISC West, demonstrating our projects and advocating the ACAP program that AXIS had been trying out with WIT. The three-day conference was a fantastic event, and our table offered demos for hours to countless vendors and visitors, with very few hiccups. After communicating with AXIS shortly after the event, it was clear that, for all parties, the entire initiative was quite successful, and I eagerly await to see where and how ACAP and the student projects continue to develop.
It is crazy for me to think that I could have very easily let this opportunity pass by me, in the general craziness and busyness of my life, and I am so glad that I took the time to seize it. I really think that AXIS has figured out a brilliant way to introduce a plethora of new applications and use cases for their network cameras, through providing the hardware and support needed for students to have fun and learn a lot through real-world, applied development.
I am excited to see where Project Alibi goes as I look to further work on it later this summer, and I am equally interested to see what will come of ACAP and of the many brilliant projects that other WIT students have been working on. This sort of program (and the results of it therein) would have been really difficult to provide (let alone succeed with) just a few short years ago, and yet with the continuous exponential growth of computational power that we can harness from silicon, alongside the flow of ever-improving and savvy programmers from higher education, the potential is huge for groundbreaking and fundamental disruptions to the current state of security, among many other industries.
And it sure is great to be amongst the trailblazers of that frontier.
Indeed, the future is now.