Best approach to detect different known objects

I’m trying to develop an app that detects tools and shows brief how-to-use instructions. I have tried with cascade classifiers and I have achieved detection of faces (using a sample lbp classifier, just to test), but since I have to detect more than one object (let’s say about 6 different tools), I don’t know if my approach is correct and I should use 6 different classifiers or I should have used HOG descriptors, feature detection, BagOfWords…
I’m quite new to OpenCV, so any help would be appreciated :slight_smile:

instead of a face detection screenshot (we all know…)
please rather show objects you want to detect :wink:

and just use deep learning.

as soon as your objects can be rotated, you can completely forget about haar cascade and HoG classifiers.

anything based on feature descriptors (VBoW) can’t come close to the quality of deep neural networks.

I don’t understand the purpose of your answer. I used the face classifier because it is given as a sample , once I’m able to detect more than one object efficiently I will traim my own classifiers. I just wanted recommendation/advice on whether I was on the right track or should I deal with it differently, did’t ask for the sassy answer though.

Why is it important if the object can be rotated? I am only interested in object recognition (for example scissors, hammer…), not image manipulation. Although I’m using LBP instead of HAAR as it’s mobile phone oriented and it’s supposed to be lighter/faster (at least is what I have read). Thanks for the answer :slight_smile:

you misunderstand.

“rotated” meaning the object is viewed from different angles. haar cascades already fail if the subject tilts their head (or you rotate your smartphone). LBP is no different in this regard.

you need learn before you understand the algorithms you are going to deal with, and you can’t successfully use them with the lack of insight you currently have. take a comprehensive computer vision course.

because both cascadés and hog descriptors will degrade

definitly not (and same problem for cascadés and hog descriptors)

great to get a homography between scenes,
terrible at discriminating object classes

great for CBIR / knn search, but (probably) not what you wanted.


please do some more research on cnns, and have a look at [the android detection sample](https://github.com/opencv/opencv/tree/master/samples/android/mobilenet-objdetect)

Thanks both for the answers, I thought that I was doing something but I guess my first approach wasn’t good at all :confused: . About what you said on cnns, my goal is to scan a tool and after a few seconds show how to use it, so I guess I have to use Keras and TensorFlow to make this, as cascade classifiers aren’t suitable for rotating objects and the rest of options aren’t suitable for object detection…? (I don’t know if OpenCv has any other solution for this). Btw I would like to know how to download the sample from github, but I am afraid I am a noob there too :frowning_face: