WhyNot?

Searching for images

Category: Software
Responses: 6 (2 in support, 4 neutral, 0 in opposition)
Number of views: 1061
Tracking: Track this idea
Community Rating:Average AverageYour Rating:

Another anti-patent posting.

Build a distribution of spatial frequencies in an image, by energy density (self dot product) and normalize. This eliminates phase (direction) and brightness dependencies.

Take a reference image at some scale and dot product this with the test image. The result will have a high value if the correlation is high. This is independent of both phase (relative orientation of the images) and position of the corresponding image fragment in the test image.

Repeat with different scales of reference image. Better yet, fuzz the reference image so that the frequency distribution corresponds to several slightly differently scaled reference images. This will allow faster scanning at the expense of false positives, and will more likely catch perspective-distorted images.

When a hit occurs, perform dot products with phase-preserved frequency distributions to weed out the false positives. This wil involve rotating and perspective-distorting the reference.

When a hit passes that test, a more conventional scan of the image can be done now that the scale, orientation and perspective distortion are known.

Finally, give it (and context information) to the Mk1 eyeball to counter optical illusions, etc.

As an alternative, other phase-space transforms can be used instead of frequency distributions, an example being partial differential equations.

Both test and reference images can be preprocessed, e.g. with edge enhancement or noise reduction. In most cases, the same preprocessing should be applied to test and reference.

nihil, Apr 11 2007

What do you think of this idea or comment?
(You can change your vote at any time)

agree I agree no opinion No opinion disagree I disagree

Users who liked this idea also liked:

Other ideas in category (Software):

Better error messages (2 votes) Average
Upper/Lower Case Switching (1 votes) Average
Attachment Notation (139 votes) Very strong
Salty encryption (1 votes) Average
mute a web page (11 votes) Strong
Distributed set with bittorren (1 votes) Average
Text VoIP (1 votes) Average
Economics Simulation (9 votes) Strong
Invention Management Software (3 votes) Average
Fight Recognition Software (3 votes) Average
Make Photo Slideshow yourself (2 votes) Average
Studying leaf patterns (3 votes) Average
Encryption (3 votes) Weak
Searching for images (6 votes) Average
Compiler Security Optimization (4 votes) Average
Vector Datatype (3 votes) Weak
LIP-C (1 votes) Average
Spell checker collector (2 votes) Average
Cascading search (3 votes) Average
Software Formula for 2000 Years (3 votes) Weak
Triangular Pixels (4 votes) Average
Forwarding sent email message (5 votes) Average
Organise the Start menu (6 votes) Average
Simple Shared Key Setup (1 votes) Average
DDR-style piano software (4 votes) Average
root means suid (2 votes) Average
Scorchware (2 votes) Average
Six Degrees of Computation (2 votes) Average
X-drive ==> 2 physical drives (3 votes) Average
Fast parallel secure hashing (1 votes) Average
Standardized EULA (2 votes) Average
Description field for email (3 votes) Average
Honeypot feedback/automation (1 votes) Average
Audio bass and treble (3 votes) Average
Extension that highlights tags (1 votes) Average
Upper-lower case (2 votes) Average
New image file format (2 votes) Average
dual scroll bars (6 votes) Average
Tabbed Working (3 votes) Average
Temporary file highlight (5 votes) Strong
Better Search Engine Links (2 votes) Average
Smarter Programming (5 votes) Strong
Linux Distro for Business (2 votes) Average
File multiple rev eliminator (3 votes) Average
Mech. Design Software (2 votes) Average
Checking email addresses (3 votes) Average
Why Powerpoint? Be nonlinear (6 votes) Strong
Chat with iTunes Listeners (3 votes) Average
Ebay database (2 votes) Average
Encrypts the whole OS (2 votes) Average
Wind offset for car (3 votes) Weak
Collaborative License Rating (4 votes) Average
Multiscopic image modeler (2 votes) Average
Simple fix for posting here (1 votes) Average
Torrent-based podcasting (2 votes) Average
Browser Preloads Next Page (4 votes) Average
Officepets (3 votes) Average
Self Authentication & Decryptn (1 votes) Average
Ductile disk encryption (2 votes) Average
Printing Cost per Page (2 votes) Average
Community Font Classification (1 votes) Average
Ubiquitous virtual honeypots (7 votes) Strong
MS Outlook spouses (1 votes) Average
MS Outlook Contacts updates (1 votes) Average
One card for the wallet (12 votes) Strong
Camera as A4 Scanner (6 votes) Strong
Ogg/PCM (3 votes) Average
Keyboard equivalents (1 votes) Average
OS for visually impaired (4 votes) Average
Window Size Limiter (1 votes) Average
Print Police (1 votes) Average
MS Outlook Highlighter (1 votes) Average
Eye-Tracking Video Drivers (2 votes) Average
Linipedea (3 votes) Weak
MS Word Bookmarks & Summaries (3 votes) Average
anti-virus T-cells (2 votes) Average
savable scroll bars (2 votes) Average
save changes dialog options (3 votes) Average
Viral Marketing in Open Source (7 votes) Weak
Microsoft CD Bug Fixes (4 votes) Average
Virtual Scanner Software (6 votes) Average
Better Shrink Wrapped License (3 votes) Average
Bayesian learning for (4 votes) Average
enclosures (2 votes) Average
Chat Prog & Problem Solving (2 votes) Average
Comments from other members:

Add your comment

This was way beyond my understanding, sorry. Um, what is the goal?

wizard1961, Apr 11 2007

the only way this idea will ever be marketable is if you include radium in some way

toastydeath, Apr 12 2007

Interesting idea. Your method is often used in computational natural language to determine the similarity of two documents.

However, I believe that run-time will be VERY VERY slow. Can you think of any data structures that would speed processing up? Perhaps suffix trees?

nameless_centurian, May 28 2009