Ideally should be a Decorator over any ObjecModel that has an image in the template.
If not possible to get a Decorator it can be just a subclass (or superclass) for ModelImageGray and others.
See paper:
Robust 3D Tracking with Descriptor Fields
Alberto Crivellaro, Vincent Lepetit
CVPR 2014