In a recent post I published a mosaic photo of london made out of 90k Instagram photos posted in London. Later I posted a Tweet with mosaic photos of London, Munich, and Manhattan generated with the same Python code. In this post I'm gonna publish an interface using which you can upload your own photo and generate a mosaic photo using the Instagram photos posted in one of the available 15 cities. Let's directly start with the fun part. I will explain the details of the algorithm in a later post.
Make your own mosaic!
Please click on choose file, select an image with size less than 5mb. Then after choosing the desired city, click on upload button. Keep in mind it might take till 4 minutes or more to generate your mosaic! So be patient!
Highlight
You can generate your own mosaic photo!
There are about a million available photos which might be tiled in your mosaic photo!
The whole algorithm is running on one of the least powerful Amazon EC2 servers.
Overview of the Algorithms
The process of generation of a mosaic photo is a computationally expensive. As I wanted the whole process to be seamlessly automated, smooth, and user-friendly, I decided to pre-process the Instagram photos first. Therefore first I downloaded about a million public available geo-tagged photos from instagram.
After resizing and pre-processing the photos, I saved them on a t2.micro Amazon server. This is one of the least powerfull Amazon cloud compute servers with only 1gb of memory and 1 cpu.
Analysis
Which Platforms are Implemented?
This interface is a combination of PHP, JS, Python, and Linux shell platforms. I implemented the codes on a t2.micro Amazon server and also Amazon S3 storage services.
Notice that for privacy reasons the download picture is resized to a smaller size.