A method for automatic surface inspection using a model-based 3D descriptor