Reverse Engineering Instagram’s “Hefe” Filter

(11, 2014)

Recreated Filter Output

I performed a quantitative analysis of Instagram’s “Hefe” Filter, proposing procedures for applying and inverting the filter on images in MATLAB. This research was incorporated into GNOME 3’s native photo editing program.

From the abstract:

Instagram is a popular image-sharing platform available for mobile devices that allows users to capture pictures, apply one of several “artistic” filters, and post the resultant images online for others to view. These filters are presented as black-box systems, providing no user-definable parameters or configurations, save the input image itself. In this exercise, I recreated the Instagram filter “Hefe.”

To achieve this, I generated a set of test images, applied the filter to each one in the Instagram app, and compared the pre- and post-filter images quantitatively. As a result of this exercise, I distilled my work down to a simple function that replicates the “Hefe” filter when applied to an image array. I was also able to create an inverse filter which, given an Instagram-processed image, was able to recover the original data. The images produced by these functions were accurate to a high degree of similarity.


Research paper (pdf)

Data sets and research paper (zip)