Have you had a picture you've found on the internet of a movie or TV show that you don't know the name of? Our website allows you to plug in a link to that image and then recognize the faces of all the actors in that picture and return you a list of everything they've appeared in together, hopefully giving you the . This is of course, in theory, in practice we can't recognize any actor you give us but instead have a small (but easily expandable) database of actors that we used as a Proof of Concept.
What it does
To use our website, simply paste an image URL to the link above and the website will use Azure's facial recognition to match any faces in the image with any of the people stored in its database, and then cross reference that data with our database to find their The Movie Database IDs, and finally use the TMDB API to retrieve the actors' filmographies and cross-referenced them to find a list of every film all the recognized actors have participated in together.
How we built it
Our MongoDB server keeps track of the ID's for TMDB and Azure's Face Database that we have manually added beforehand. The node.js backend communicates with our site's API in order to retrieve that information and then bridge the gap between the Azure Database (which handles all the facial recognition) and the TMDB API (which contains all the information regarding the actors, movies and tv shows we display).
Challenges we ran into
- The Azure API calls were definitely tricky to puzzle out, as were some really head-scratching errors when trying to submit http posts using jquery vs. straight XML http request.
- Scraping IMDB.com for actor images and filmography, our initial idea, was a bit of a dead end, as they didn't have nearly as accessible of an API.
- Trying to figure out the many cross-browser quirks of the HTML5 drag and drop specification, which we eventually decided to leave out.
Accomplishments that we're proud of
Getting it to recognize every actor in a promo picture for Anchorman and then correctly identifying that the common element between each actor was that they had all in fact starred in Anchorman!
What we learned
How powerful of a technology Azure's Facial Recognition is, and how good looking Kit Harington is!
What's next for WAMSIT: What Actor/Movie/Show Is It
There is also sufficient optimization that could be done on the movie cross-referencing, especially sorting to reduce the complexity of the search operations required and truncating the range of searches into subsequent actor filmographies.
UI: Giving the results a little flair would be a nice addition, such as:
- including a small thumbnail of the face recognized in the image by Azure beside the actor
- including a small thumbnail of the poster of the movie as provided by TMDB
Interfacing: Having an interface for instagram posts, or common sites such as reddit or imgur could improve usability.