You can for instance tackle that as an Object Recognition task.
Then, one possible solution is to use YOLO for object detection;
Such networks split input images into many cells, and for each cell they predict a set of bounding boxes (and the corresponding object label, if any).
You can for instance configure your network to recognize as much classes as there are unique objects' settings; In your case for example it could be: N = 3*#make*#model#color + 1 classes, and you'd probably need to prepare (label) a dataset specifically for that! which is not your objective. The +1 is to make sure we included Person.
Or, you can leverage pre-trained YOLO on some dataset so that it's able to recognize: Person, Truck, Car, Tanker (I guess you should be able to find such weights easily, https://cocodataset.org/#explore) and manage to use that in prediction mode on your images. If you got more specific training examples from your specific distribution, then consider fine tuning on top of that. But you should be able to get reliable predictions even without retraining (and thus, without the need for tagged data). But following this approach, you still have to label things for make, model, colour detection ..