Object detection for other specific objects, possible?

  • Thread starter kolleamm
  • Start date
  • #1
376
34

Main Question or Discussion Point

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.
 

Answers and Replies

  • #3
Spinnor
Gold Member
2,123
318
My Google Chrome browser gives me the following warning when I click on the link above,

upload_2016-5-18_8-19-25.png
 
  • #5
196
42
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.
 
  • #6
376
34
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.
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)
 
  • #7
chiro
Science Advisor
4,790
131
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.
 
  • #8
1,516
617
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.
 

Related Threads on Object detection for other specific objects, possible?

  • Last Post
Replies
4
Views
2K
Replies
1
Views
3K
Replies
7
Views
844
Replies
1
Views
2K
  • Last Post
Replies
1
Views
3K
  • Last Post
Replies
13
Views
5K
  • Last Post
Replies
13
Views
2K
Replies
3
Views
1K
Top