IP Library Granted Patent US 10,242,035
Granted Patent B1
US 10,242,035 · App. 16/133,754 · Granted Mar 26, 2019

Method and system for image searching

Inventors: Carl Asman (New York, NY); Jonas Persson (New York, NY); Marcus Engene (New York, NY)
Assignee: POND5, INC.
G06F17/30271G06F17/3028G06K9/4652G06K9/6215G06K9/6223G06N3/08G06T3/40G06T5/005G06T3/20G06T3/60G06T2207/10004G06T2207/10016G06T2207/20076G06T2207/20081G06T2207/20084G06T2207/20192H04N5/232
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,242,035
App. No.
16/133,754
Granted
Mar 26, 2019
Kind
B1
Abstract

A real-time reverse image searching for images analogous to a frame having patterns, performed using a processor connected to a network and having access to digital libraries warehousing a plurality of vectors and respective images/videos associated with each of the plurality of vectors, including: calculating representations for each of the patterns in the frame to form a vector, the representations corresponding to dimensions of the vector; reducing a size of the vector by reducing a number of the dimensions to one of about 8% and a maximum trade-off between the quality of the image and the size of vector; detecting, in the digital libraries, of the plurality of vectors that are most similar to the vector of the frame; and offering, in real-time via the network, images/videos associated with the selected of the plurality of vectors, wherein a number of the offered images and videos is pre-determined.

Claims (58)

1. A method of real-time reverse image searching for one or more images analogous to a representative frame having one or more patterns, the method comprising steps of:

providing a computing device connected to the network, the computing device:

capturing, in real time, one or more images; and

identifying at least one of the captured one or more images as the representative frame for use as input in the reverse search;

providing a processor connected to a network and having access to at least one digital library warehousing a plurality of vectors and respective images and videos associated with each of the plurality of vectors, the processor:

calculating one or more mathematical representations for each of the one or more patterns in the representative frame to form a representative vector, the one or more mathematical representations corresponding to dimensions of the vector;

reducing a size of the vector by reducing a number of the dimensions to one of about 8% and a maximum trade-off between the quality of the image and the size of vector;

detecting, in the at least one digital library, one or more of the plurality of vectors that are most similar to the vector of the representative frame; and

offering, in real-time via the network, images and videos associated with the selected one or more of the plurality of vectors, wherein a number of the offered images and videos is pre-determined.

2. The method of claim 1 , wherein the computing device comprises at least one video camera and the capturing is selected from one of training the at least one video camera on an object of interest and/or uploading an image and a video.

3. The method of claim 2 , wherein the captured one or more images are updated automatically in response to a change in a context of the representative frame.

4. The method of claim 1 , wherein the representative frame comprises a plurality of representative frames and at least one of the plurality of representative frames is one of a pre-selected representative frame and a representative frame selected in real-time.

5. The method of claim 1 , wherein identifying the representative frame comprises steps of:

selecting a first plurality of frames of the video;

calculating, for each frame, a number of pixels for each color value, the color value is selected from one of RGB, YUV, and LAB, wherein components of the color value are processed separately, and a score based on the color value of the components and a scaling based on the total number of pixels in the frame using a formula where score=log 2 (1.0+scaling×number of pixels); and

comparing a sum of all scores in each frame to the sum of all scores of all of the first plurality of frames, wherein a frame of the first plurality of frames having a highest sum of all scores is selected as the representative frame.

6. The method of claim 5 , wherein the step of identifying the representative frame further comprises steps of:

receiving the at least one of the captured one or more images as still images and/or video, the captured one or more images are selected from 2-dimensional images and 3-dimensional images; and

editing the representative frame by removing portions of the one or more patterns from, and/or adding one or more patterns to the representative frame.

7. The method of claim 6 , further comprising a step of identifying one or more attributes of images corresponding to the detected one or more of the plurality of vectors, wherein the attributes are selected from at least one of a size, a degree of similarity to the representative frame, color, a value, and a membership in a specific of the at least one digital library.

8. The method of claim 6 , wherein the step of adding one or more patterns to the representative frame comprises steps of:

superimposing one or more additional patterns on to the representative frame, and

changing any of a size, an angle, and a position of the superimposed one or more additional patterns in the edited representative frame.

9. The method of claim 1 , further comprising the steps of:

clustering the plurality of vectors in the at least one digital library to form a first number of clusters; and

re-clustering the plurality of vectors to form a second number of clusters different from the first number, wherein the number of clusters is determined dynamically to correct an edge problem.

10. The method of claim 9 , wherein unions of re-clustered sets are used in the reverse search, and the clustering and re-clustering is automatically updated due to changes in the representative frame.

11. The method of claim 1 , wherein

the mathematical representations is a probability in a range from 0 to 1 of each of the one or more patterns being present in the representative frame, and

the step of reducing utilizes at least one of neural network techniques, an autoencoder and Principal Component Analysis (PCA).

12. The method of claim 1 , wherein the one or more collections of vectors are formed by a Convolutional Neural Network (CNN) pre-trained on ImageNet to perform image analysis and classification of the images, and

wherein the vectors in the one or more collections of vectors having similar patterns are grouped to form clusters, in accordance with one of k-means, EM clustering, and affinity propagation algorithms, and a size of the cluster is adjusted dynamically to produce a pre-determined number of clusters.

13. A system of real-time reverse image searching for one or more images analogous to a representative frame having one or more patterns, the system comprising:

a computing device connected to the network, the computing device is configured to:

capture in real time one or more images; and

identify at least one of the captured one or more images as the representative frame for use as input in the reverse search;

a processor connected to a network and having access to at least one digital library warehousing a plurality of vectors and respective images and videos associated with each of the plurality of vectors, the processor is configured to:

calculate one or more mathematical representations for each of the one or more patterns in the representative frame to form a representative vector, the one or more mathematical representations corresponding to dimensions of the vector;

reduce a size of the vector by reducing a number of the dimensions to one of about 8% and a maximum trade-off between the quality of the image and the size of vector;

detect, in the at least one digital library, one or more of the plurality of vectors that are most similar to the vector of the representative frame; and

offer, in real-time via the network, images and videos associated with the selected one or more of the plurality of vectors, wherein a number of the offered images and videos is pre-determined.

14. The system of claim 13 , wherein the computing device comprises at least one video camera and the capturing is selected from one of training the at least one video camera on an object of interest and/or uploading an image and a video.

15. The system of claim 14 , wherein the captured one or more images are updated automatically in response to a change in a context of the representative frame.

16. The system of claim 13 , wherein the representative frame comprises a plurality of representative frames and at least one of the plurality of representative frames is one of a pre-selected representative frame and a representative frame selected in real-time.

17. The system of claim 13 , wherein to identify the representative frame, the processor is further configured to:

select a first plurality of frames of the video;

calculate, for each frame, a number of pixels for each color value, the color value is selected from one of RGB, YUV, and LAB, wherein components of the color value are processed separately, and a score based on the color value of the components and a scaling based on the total number of pixels in the frame using a formula where score=log 2 (1.0+scaling×number of pixels); and

compare a sum of all scores in each frame to the sum of all scores of all of the first plurality of frames, wherein a frame of the first plurality of frames having a highest sum of all scores is selected as the representative frame.

18. The system of claim 17 , wherein to identify the representative frame the processor is further configured to:

receive the at least one of the captured one or more images as still images and/or video, the captured one or more images are selected from 2-dimensional images and 3-dimensional images; and

edit the representative frame by removing portions of the one or more patterns from, and/or adding one or more patterns to the representative frame;

identify one or more attributes of images corresponding to the detected one or more of the plurality of vectors, wherein the attributes are selected from at least one of a size, a degree of similarity to the representative frame, color, a value, and a membership in a specific of the at least one digital library.

19. The system of claim 18 , wherein to add the one or more patterns the processor is further configured to:

superimpose one or more additional patterns on to the representative frame, and

change any of a size, an angle, and a position of the superimposed one or more additional patterns in the edited representative frame.

20. The system of claim 13 , further comprising the steps of:

cluster the plurality of vectors in the at least one digital library to form a first number of clusters; and

re-cluster the plurality of vectors to form a second number of clusters different from the first number, wherein the number of clusters is determined dynamically to correct an edge problem.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE REGISTERED PATENTS WERE MISTAKENLY INDICATED AS APPLICATIONS SO THE WRONG ITEMS WERE RELEASED PREVIOUSLY RECORDED AT REEL: 060021 FRAME: 0012. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Oct 23, 2023
From: PACIFIC WESTERN BANK
To: POND5, INC.
Reel/Frame 065425/0289 →
SECURITY INTEREST Recorded May 18, 2020
From: POND5, INC.
To: PACIFIC WESTERN BANK
Reel/Frame 052689/0622 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2018
From: ASMAN, CARL; PERSSON, JONAS; ENGENE, MARCUS
To: POND5, INC.
Reel/Frame 046915/0631 →
Continuity (1)
Provisional Application 62651304 · Apr 2, 2018