Devin Üner

Samaritan

One of my absolute all time favorite TV shows is person of interest. It has everything I like in a show: action, adventure, and a (spoiler alert) war between super intelligent ASIs. The “bad guy” in the later seasons of the show is a rival ASI that seeks to control all of humanity through a mass surveillance system. The UI they used, and the premise of it was so inspiring, I decided to do a hackathon project trying to recreate it. My team obviously couldn’t do every part of it (creating an ASI was a bit out of reach) but we did end up with something pretty powerful. The project had two different components:

Webscraping

Using nightmare.js, we were able to automate the process of finding personal information about a subject given their names. Nightmare is great because it simulates an actual browser using electron, which means its a lot harder to block than say, a python program just scraping the raw html code using requests. It can even show you the window its looking at while it scrapes for stuff. Using this, we wrote a script that, given a name, searches linkedin and the Iowa State university directory for the given name, and stores all data it can find. It also saves photos it finds of the subjects for the second stage of the project.

Facial Recognition

The next stage in the project uses the faces it found to search camera feeds for the targets. To do this, we used openCV and Pythons face recognition module. We saved the targets linkedin profile pictures and used our laptops camera. We wanted to use Iowa states camera feeds, but decided this might get us banned. Once it found the targets face, it would remember where it saw them, so if they turned away, it could recognize a body, and remember their face was near that body, and then track them using their body.

Demo

I made a short demo video of the final project below. I had to do a lot of editing to try to avoid releasing any PII, so it isn’t that long, but it gives a good demonstration of what Samaritan is capable of. The only human intervention is in step one, for the rest of it, anything typed is all the programs work.

here’s the demo