Object detection for other specific objects, possible?

AI Thread Summary
To get started with object detection for specific objects like smiles using C#, one must understand that while OpenCV can perform face detection, general object recognition is complex and relies heavily on prior learning and large datasets. Training a model typically involves providing thousands of images of the target object and non-target images to identify distinguishing features. Many discussions emphasize the importance of leveraging existing resources and cloud-based solutions from major tech companies for effective training. The process is mathematically intensive, and finding straightforward code examples can be challenging. Ultimately, successful implementation requires a solid understanding of computer vision principles and access to substantial training data.
kolleamm
Messages
476
Reaction score
44
How would I get started in object detection of specific objects? I know about OpenCV, it can perform face detection, but what about other objects?

I've seen talks on the web of training the program, but I'm not exactly sure how I would do that. I would like to give my software, written in C#, the ability to detect smiles.

There are practically no tutorials for this in C#.

Any help is appreciated.
 
Technology news on Phys.org
My Google Chrome browser gives me the following warning when I click on the link above,

upload_2016-5-18_8-19-25.png
 
Just a warning, almost everything in CV is a hack... Valuable things like face recognition have had loads of time thrown at them so they're decent hacks, (and you may have luck with smiles, valuable for marketing) but general object recognition mathematically has no simple solution, its dependant on prior learning.

For instance suppose you see an image of a basketball in the air at a game passing in front of a sign in the stands that's the same color: your brain will recogize the round shape of the ball because you know what a basketball looks like and see its a game, but without that world knowledge no algorithm can. Consequently, the big players in this are the people with huge amounts of data to train AIs about world knowledge. So cloud based solutions from big companies:
http://googleresearch.blogspot.com/2016/03/train-your-own-image-classifier-with.html?m=1
Will probably the way forward, as unsatisfying as it may be.
 
Simon Bridge said:
The first thing you do with any programming project is check to see what others have done before you.
ie. https://www.csie.ntu.edu.tw/~fuh/personal/FaceDetectionandSmileDetection.pdf
Yeah but those just explain how the algoritm works.
Fooality said:
Just a warning, almost everything in CV is a hack... Valuable things like face recognition have had loads of time thrown at them so they're decent hacks, (and you may have luck with smiles, valuable for marketing) but general object recognition mathematically has no simple solution, its dependant on prior learning.

For instance suppose you see an image of a basketball in the air at a game passing in front of a sign in the stands that's the same color: your brain will recogize the round shape of the ball because you know what a basketball looks like and see its a game, but without that world knowledge no algorithm can. Consequently, the big players in this are the people with huge amounts of data to train AIs about world knowledge. So cloud based solutions from big companies:
http://googleresearch.blogspot.com/2016/03/train-your-own-image-classifier-with.html?m=1
Will probably the way forward, as unsatisfying as it may be.
From my research on CV you give the program thousands of images of the object and thousands of images not containing the object. Afterwards it runs a long search lasting days that finds a handful of features that could be used to identify the object. Its a lot of data to provide but finding some code on how to do it might be harder.

I'd love to find something as simple as :
Train_detector (obj imgs path, false positive imgs path)

The result would be a file you can reference
Object_detect (obj_with_these_features.txt)
 
Hey kolleam.

Have you looked at data mining and classification algorithms?

A lot of this stuff involves quite a lot of mathematics in different fields and in different context of application.
 
Yes, OpenCV gives you raw image data, from that you can apply whatever algorithm you want. I once used it to keep score in billiards by tracking the balls.
 
Back
Top