CNN in combination with KNN

I’d suggest getting the dense activations from your images and then training separate models to detect furniture type, pattern, colour.

You could then do KNN on the images that match the type, pattern and colour of your input image.

Alternatively, you can just do KNN on the dense activations themselves but you might end up with one feature dominating e.g. it’ll find furniture of the same type and pattern but not the same colour

Hope that helps?