It is a common misconception to assume that neural networks are able to learn car models. They don't, a neural networks needs a working model before it can learn anything, otherwise the state space is to big for determine the parameters. So the question is: how to create a model for vehicle identification which can be later used by the neural network?
The answer is called “stochastic graph grammar” and the idea is, that an object contains sub objects like the front of the car, the back, the side and so on. And the front can be small, big or middle. The grammar defines a language in which all the objects are fit into. In the gaming community, the reverse principle is used under the term “procedural generation of cars with a grammar”. And yes, the grammar works in both directions for recognizing and for producing car shapes. Such a graph grammar is usually generated manual in a software engineering process. It takes some man years for doing so. At the end, the grammar is a model, that means it is a template which can be used for general identification.
And now comes the part with neural networks. The grammar model has some degree of freedoms, that are fine-tuning parameters which matches the general grammar onto a certain car. These fine-tuning parameters can be learned by a neural network. The principle is well described in the literature as a data driven approach. That means, a huge amount of data is matched against the grammar model and this helps the neural network to find it's parameters.