I suspect calculating the average RGB of each emoji and comparing the distances between the average RGB of subsections of the image would have resulted in better emoji choices and better output (simpler, too).
I mean, I get that maybe it’s not the point of this article, but I think the end result would have been a better ‘mosaic’.