I'm trying to use OpenCV to detect and subsequently distinguish between different types of an objects. Say that I want to be able to detect if an object is a bottle and then based on some of its specific characteristics I'd like to be able to distinguish what kind of bottle it is (eg beer bottle, wine bottle, etc). How would I approach this? My idea so far has been to create a separate classifier for each type of the object, and then run comparison on all these classifiers. However this seems inefficient, especially if there are thousands of different types of an object, and I'd like to be able to get a result within few seconds...
I would appreciate if somebody could point me in the right direction here.
On another note as you might imagine I'm completely new to the field of computer vision, so if you can recommend some useful material to learn this from the ground up, I'd be very grateful.