Subject: Updated Prevention and Cure Report

From: Epidemic PSA (Video) <[email-masked]>
Date: Fri, 06 Jun 2014 12:24:36 -0700

Note of Epidemic Warning: 

Parasites using Human Bodies as personal Feeding Ground

Effects:

1. Stomach
2. G.I. Tract
3. Destroys Body from Inside Out

>> Scared you might be infected? 

View Symptoms and Solution Here: http://www.neeseedrob.com/psa/video/epidemic.index

National Prevention and Cure Committee 

to stop further health notifications - write Member Update Systems
at_9167 R o a d 1 7 7_Oakwood, OH 45873 or http://www.neeseedrob.com/j4tf.sgt4

This is all way over my head, but I was thinking: "why not use OpenCV's GPU module and take advantage of your GPU to speed it up dramatically?" OpenCV basically have a GPU module that has algorithms like Hough Transforms and what-not written in CUDA and run on CUDA-enabled GPU's. The great thing here is that there is no need to learn any CUDA. Just import the gpu module and start using it. I hope this helps (it should theoretically increase performance by an order of magnitude or more Is there any way, from where you could compare the Coca-Cola text , i.e content from the image. Just don't bother, its not the solution for yours, I need to implement something where I can mark the point of interest from other objects & later on can read the text from that capture. How can I achieve this ? ThanksSounds interesting. Does this algorithm also handle orientation invariance (i.e. if the can doesn't directly face the objective of the camera)? This is one of the major points where my algorithm
  failedr you could take a few pictures of the 3D-object by rotating (around objects y-axis a can look different from front and backside you would try to find the closest match and estimate its orientation regarding cases where the logo isn't fully visible.Ideally I'd like to apply this algorithm in case of randomly sampled images, where I just have a plain jpeg or png image. Would this algorithm still work in this case, or do I need some special images? Could you provide an example in your answer on how to use it with OpenCV? That would be way coolr I tried to run it using your images, but the coke can in the scene image was probably too small (maybe a higher resolution would work) to extract enough features. If you have trouble with the features change the minHessian parameter (Step 1).Excellent post, thanks for the details! Yes I'ly reduces the size of the images here to reduce bandwidth, but my original images have much better quality. I'll give this a try, but sounds like exactl
 y what it's made for and much simpler than I agree with @stacker - SIFT is an excellent choice. It's very robust against scale and rotation operations. It 's somewhat robust against perspective deformation (this can be improved as suggested by stacker: a template database with different perspective views of the desired object). Its Achilles' heel in my experience would be strong lighting variations and very expensive computation. I don't know of any Java implementations. I'm aware of an OpenCV implementation and have used a GPU c++/Windows (SiftGPU) implementation suitable for realtime performance.   A note of warning: as much as I love SIFT/SURF and what they have done to me, they are patent encumbered. This might be a problem, depending on a number of conditions including geographic location AFAIK.So try OpenCV's ORB or FREAK which have no patent issues. ORB is much faster than SIFT. ORB it is a bit poor with scale and light variations in my experience but test it yourself. How ca
 n you accept this as an answer... None of the feature descriptors can differentiate bottles from a cans.. They all just view invariant local pattern descriptors. I agree that SIFT,SURF,ORB,FREAK etc. can help you in feature matching but.. What about your other parts of the question like occlusions, Bottle vs Can etc. I hope this is not a complete solution in fact if you would have GOOGLED your problem probably the first result would be this answer only. 3 you are absolutely right! Probably he was fascinated by the performance of SHIFT and forgot that feature extraction and matching wI also agree with @G453, but I think feature matching is still the best starting point. About occlusions, feature matching will have some degree of robustness, 1/3 of the Cola logo visible might be enough for the detection. To filter only the cans cans I would probably do something like Back Projection to detect the metal, I see no other way around using cans distinctive color features. Other than that, 
 maybe its geometry.