Separating style and content with bilinear models