When we came to MHacks, we decided we wanted to build something fun and creative. After tossing around a few ideas, we decided it would be fun to build something using computer vision. Shortly afterwards, FaceSwapHack was born.
We know that face swapping has already been done before, but most (if not all) face swapping thus far has been done by hand. Our program uses computer vision (the Python OpenCV bindings) to detect the location of two or more faces, extract them, resize them, swap them, and blend them. The blending is done using Poisson Blending, a relatively recent technique developed for combining items from different images (see https://github.com/fbessho/PyPoi).
Additionally, we made use of the Tweepy API to send all of our face swaps to our Twitter page, https://twitter.com/FaceSwapHack. Everyone who has their face swapped during the demos will be able to view them there.
Happy face swapping!