cc-devel AT lists.ibiblio.org
Subject: Developer discussion for Creative Commons technology and tools
List archive
Re: [cc-devel] GSoC13: Media Fingerprinting Library
- From: Dan Mills <dan AT creativecommons.org>
- To: Stojan Dimitrovski <sdimitrovski AT gmail.com>
- Cc: cc-devel AT lists.ibiblio.org
- Subject: Re: [cc-devel] GSoC13: Media Fingerprinting Library
- Date: Mon, 29 Apr 2013 10:05:29 -0700
Hi Stojan!
Sorry I missed this last week - was extremely busy.
There is a fairly substantial body of work these days on this problem space (in general), so I advise against thinking you will come up with a clever trick you can just hack up :) Check out the links in the ideas page, there are some starting points there to learn.
Dan
On Monday, April 29, 2013 at 3:13 AM, Stojan Dimitrovski wrote:
(I am resending this message since I don't think anyone got it. If youdid and ignored it, well that's OK too.)Hello everyone!I'm a sophomore from Macedonia and am thinking about applying for theMedia Fingerprinting Library idea you have put on your Wiki.I don't have much experience with algorithms like this, but I think Ihave much of the fundamentals down. I'm fluent with C / C++,_javascript_ and node.js. In fact, here is my Github:http://github.com/hf which you can check out.I have been thinking on how to derive fingerprints from pixel imagesand I may have come up with a way.Simply put, the idea is this: The distinguishing elements in a pixelimage are regions of color. When two different regions of colorappear, an edge is formed. Those edges are what make up shapes andother perceptual elements we as humans see. Now, a statistical modelcan be built from that image that almost uniquely identifies theimage.Roughly, the statistical model is derived like this: Firstly the pixeldata is separated into Hues, Values and Saturation. Then, from thosethree separate sets of values, we compute a histogram. The histogramnow uniquely represents those surfaces of HSV values in the image.Now, we need to figure a way out to quantify the shapes in the image.What I'm thinking is that in those three sets of pixel data aconvolution operation is done in such a way that generates some formof edge-detection. Now, the histograms are updated using a weightingfactor that increases the occurrence of a pixel that is nearer to anegde. That way, the HSV values around the edges will have highervalues in the histogram, rather than those that are not.The resulting histograms can be converted into a hash. (This part Ihave not yet figured out.)To compare two images, is to run the histograms on both and comparetheir hashes.Why this method may work: by dealing with raw pixel data andhistograms we allow for transformations on the pixel data. Skews,rotations, blurs (to an extent), will generally produce the samehistogram. And since we will be deriving the histograms from the Hues,Saturation and Value channels of the pixel data, I think that changesin color, contrast, etc. will not have a great impact.Again, this is just a rough idea.Tell me what you think about this?Sincerely,Stojan_______________________________________________cc-devel mailing list
-
[cc-devel] GSoC13: Media Fingerprinting Library,
Stojan Dimitrovski, 04/23/2013
- <Possible follow-up(s)>
-
[cc-devel] GSoC13: Media Fingerprinting Library,
Stojan Dimitrovski, 04/29/2013
- Re: [cc-devel] GSoC13: Media Fingerprinting Library, Dan Mills, 04/29/2013
Archive powered by MHonArc 2.6.24.