Logo recognition in images [closed]
Asked Answered
C

4

58

Does anyone know of recent academic work which has been done on logo recognition in images? Please answer only if you are familiar with this specific subject (I can search Google for "logo recognition" myself, thank you very much). Anyone who is knowledgeable in computer vision and has done work on object recognition is welcome to comment as well.

Update: Please refer to the algorithmic aspects (what approach you think is appropriate, papers in the field, whether it should work(and has been tested) for real world data, efficiency considerations) and not the technical sides (the programming language used or whether it was with OpenCV...) Work on image indexing and content based image retrieval can also help.

Cheatham answered 15/1, 2010 at 21:38 Comment(3)
If you would tell us what you're looking for and what you mean by "serious", your could improve the chances of getting a good answer. I've been working in the computer vision/object recognition area for 10+ years, but I'm not even sure what you mean by "logo recognition".Carroll
By logo recognition I mean for example getting an image containing the Coca Cola logo/trademark, detecting the logo and marking it as 'Coca Cola'. 10 years of work in the field sound serious to me.(I was mainly trying to avoid answers such as the one below which are not very informative)Cheatham
Did you find an alternative to treat your problem ? Because the problem is there are thousands of logos in the world so recognize logo is a bit difficult...I thought about BoW features but do we have class for each kind of logo ?Literally
H
39

You could try to use local features like SIFT here: http://en.wikipedia.org/wiki/Scale-invariant_feature_transform

It should work because logo shape is usually constant, so extracted features shall match well.

The workflow will be like this:

  1. Detect corners (e.g. Harris corner detector) - for Nike logo they are two sharp ends.

  2. Compute descriptors (like SIFT - 128D integer vector)

  3. On training stage remember them; on matching stage find nearest neighbours for every feature in the database obtained during training. Finally, you have a set of matches (some of them are probably wrong).

  4. Seed out wrong matches using RANSAC. Thus you'll get the matrix that describes transform from ideal logo image to one where you find the logo. Depending on the settings, you could allow different kinds of transforms (just translation; translation and rotation; affine transform).

Szeliski's book has a chapter (4.1) on local features. http://research.microsoft.com/en-us/um/people/szeliski/Book/

P.S.

  1. I assumed you wanna find logos in photos, for example find all Pepsi billboards, so they could be distorted. If you need to find a TV channel logo on the screen (so that it is not rotated and scaled), you could do it easier (pattern matching or something).

  2. Conventional SIFT does not consider color information. Since logos usually have constant colors (though the exact color depends on lightning and camera) you might want to consider color information somehow.

Hendrika answered 19/1, 2010 at 9:36 Comment(6)
Thanks. This approach sounds reasonable. Regarding the nearest neighbor for every feature - that sounds pretty intensive (I'm planning on having thousands of logos to be recognized), what would you think is a good way of optimizing? I thought of vector quantization or approximate nearest neighbors...Cheatham
liza, you are right, it is hard to find the NN in 128D. The current state-of-the-art is approximate NN search via kd-tree or k-means tree forest. It is implemented in Muja-Lowe FLANN: people.cs.ubc.ca/~mariusm/index.php/FLANN/FLANNHendrika
Thanks again. Also found these papers dealing with scalable and efficient image recognition: * "Small Codes and Large Image Databases for Recognition" by Torralba,Fergus,Weiss * "Scalable Recognition with a Vocabulary Tree" by Nister and SteweniusCheatham
vlfeat.org has an implementation of SIFT for MATLAB and C (along with some other computer vision algorithms)Dustindustman
Can you please explain, what is training here? The goal is to locate logo inside big image. So how to filter features which are not relating to a logo?Tedie
@SuzanCioc First of all, you need a training set of logos. For example, you can have pictures where logos are annotated by bounding boxes. Then you can extract the descriptors, and label them as logo or non-logo depending on the region where you extracted them. Does this answer your question?Hendrika
T
32

We worked on logo detection/recognition in real-world images. We also created a dataset FlickrLogos-32 and made it publicly available, including data, ground truth and evaluation scripts.

In our work we treated logo recognition as retrieval problem to simplify multi-class recognition and to allow such systems to be easily scalable to many (e.g. thousands) logo classes.

Recently, we developed a bundling technique called Bundle min-Hashing that aggregates spatial configurations of multiple local features into highly distinctive feature bundles. The bundle representation is usable for both retrieval and recognition. See the following example heatmaps for logo detections:

enter image description here enter image description here

You will find more details on the internal operations, potential applications of the approach, experiments on its performance and of course also many references to related work in the papers [1][2].

Trefoil answered 3/1, 2013 at 11:1 Comment(2)
You find the papers here: multimedia-computing.de/wiki/Stefan_Romberg. Look for "Bundle min-Hashing" or my PhD thesis. I have some demos which are not public (yet). The prototype has been sold.Trefoil
All links are broken...Vane
S
7

Worked on that: Trademark matching and retrieval in sports video databases get a PDF of the paper: http://scholar.google.it/scholar?cluster=9926471658203167449&hl=en&as_sdt=2000

We used SIFT as trademark and image descriptors, and a normalized threshold matching to compute the distance between models and images. In our latest work we have been able to greatly reduce computation using meta-models, created evaluating the relevance of the SIFT points that are present in different versions of the same trademark.

I'd say that in general working with videos is harder than working on photos due to the very bad visual quality of the TV standards currently used.

Marco

Snooker answered 23/3, 2010 at 15:8 Comment(0)
E
4

I worked on a project where we had to do something very similar. At first I tried using Haar Training techniques using this software

OpenCV

It worked, but was not an optimal solution for our needs. Our source images (where we were looking for the logo) were a fixed size and only contained the logo. Because of this we were able to use cvMatchShapes with a known good match and compare the value returned to deem a good match.

Expurgate answered 15/1, 2010 at 22:38 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.