I think a (N, D) array can be used as a lookup table.
Here, N is the number of emojies and D is the dimensionality of the color space (say 3 for RGB).
Each emoji is converted to a D-dimensional vector by computing the dominant color.
Then, we can take a D-dimensional vector from an input image and compute the closest emoji by using cosine similarity.
To minimize the loss function, we can increase the number of dominant colors, so the table would be (N, DxM).
In this case, each emoji is represented by M D-dimensional vectors, each one encoding a dominant color.