Looking for general advice on classification of paintings by painter

asked 2017-10-25 05:33:47 -0600

I want to try to do something like this:

http://cs229.stanford.edu/proj2010/Bl...

But I've noticed that it looks like sort of cutting-edge research. First thing I'd like to know is whether someone who has done a good deal of machine learning before but none on images (me) could realistically hope to accomplish such a thing.

If it is realistic, all I'm looking for is a broad list of steps for what I need to do to get a good result with what OpenCV has on offer. I'm not looking for code, or even pseudocode. I can do all of that once I know what I should do. For example, the paper linked above talks about normalizing the images to 100x100. Do I just take a chunk that size out of the center of the image or something? And the OpenCV books I have on hand don't talk much about how to use the machine learning tools of OpenCV, though they are strangely still documented for some reason. I already know what SVM and decision trees are. All I need to know is how to get the images into a form that is suitable for them. All these features (SIFT, HOG, etc.) are very baffling if you haven't done CV before.

edit retag flag offensive close merge delete

Comments

ahh, sounds you have a problem getting started, finding a sizeable bite in all of this ?

start small. resize() all images to 100x100, and compare them in a loop with distance = norm(im1,im2). (L2 distance). just START, and write some code.

then, improve. flatten the images to a single row (reshape()), stack all off them into a huge Mat, and use an SVM (or DTree, if you want) for the classification.

then, try with different features than "plain pixels", and try to read about neural networks, too (cs231).

sure, this is all very baffling, so do one small step, then the next.

p.s try the search bar on this site, there are lots of good examples here.

berak gravatar imageberak ( 2017-10-25 06:28:38 -0600 )edit

If they aren't square to begin with how should I resize them?

readyready15728 gravatar imagereadyready15728 ( 2017-10-25 21:32:56 -0600 )edit

resize(img,img, Size(100,100));

berak gravatar imageberak ( 2017-10-26 11:21:56 -0600 )edit

I'm on my phone right now, away from my development environment. May I ask what outcome this has exactly?

readyready15728 gravatar imagereadyready15728 ( 2017-10-26 11:57:37 -0600 )edit

it resizes an image to 100x100, obviously ;)

(even if the image is not originally square)

berak gravatar imageberak ( 2017-10-26 11:59:37 -0600 )edit

How does it decide what to throw away and is there a method that is optimal for computer vision, at least in this context?

readyready15728 gravatar imagereadyready15728 ( 2017-10-26 13:42:26 -0600 )edit

it doesnt. it's just brute force interpolation

berak gravatar imageberak ( 2017-10-26 13:48:57 -0600 )edit

Alright, well, we'll see what happens

readyready15728 gravatar imagereadyready15728 ( 2017-10-27 18:48:30 -0600 )edit