How to make big photo mosaic with all unique tiles

How to make big mosaic with unique tiles

It was a challenge project. is a nice repository of public domain pictures. Lots of people submit their pictures there. They have more than 20,000 user accounts. 10,947 of these accounts have user avatar pictures. My idea was to make mosaic from all these avatars and link each avatar picture to corresponded user account on the site. We wanted to use all avatars and wanted to use them only once. Each picture should be unique.

So you should use all pictures and you should use them only once. It's a very strict limits.

From one hand, it's quite easy. To make this sort of things with Mazaika you just need to set "Repeat" parameter to "1" which means that pictures will be in use only once. Every used picture is unique.


When you assemble this sort of mosaic you need to organise already existed tiles into some new form. It's a kind of assembling puzzles.

And like puzzle it is very important where to start and where to place this or that piece, that is, in case of photo mosaic the order of picture assembling is important.

There are several different order modes in Mazaika.

That's what we get when we assemble the mosaic in random order:

Random rendering

Here we use Bottom to Top mode

Bottom to top rendering

Bottom part of mosaic looks very nice but top is very poor. We call this gradient decreasing of quality - "banding", because there are visible horizontal "bands" of the same quality over the whole mosaic. This effect is especially visible at large plain coloured areas. See the very top of the mosaic, above Pixabay caption.

As you know Mazaika have unique "Smart" rendering order. It renders picture contours first. That's what we get:

Smart rendering

It's almost nice. Text captions are perfect! But it seems the picture is not as good as we hoped.

Here we need to use one more unique feature of Mazaika. Rendering sequence at Mac and Mosaic Map Tool at Windows.


It allows us to designate different regions of main image to be rendered in specific order and in specific mode. That how we did it:

Our top priority are eyes. We paint them with #1 colour. Eyebrows are our next priority - #2. Some parts of face between eyes and eyebrows are #3. Now we need to render nose and forehead. These are large plane colour regions. We divide them central part with render order #4 and side parts that will be rendered in 5th order. As far as these are very plain coloured areas we assign them to Random render to avoid "banding" effect. The two remaining black stripes with text were assigned to lower priority, #9.

Here is a result:

Smart rendering with sequence map

Very nice eyes. Text is not as sharp as we get it in Smart mode but it is quite readable. But eyes are absolutely perfect. Please remember, these pictures are not corrected. Please see interactive mosaic here.

Indeed, if we would ever decide to print this mosaic we would apply some colour corrections.

Please click on thumbs below to compare pictures:

Smart rendering with sequence map corrected

Picture rendered with Render Sequence map and corrected

random mosaic bottom to top mosaic random mosaic random mosaic random mosaic

All above is possible with Photo mosaic Mazaika software only. No other program gives you all this set of mosaic rendering controls that gives you Mazaika!