The invention is a method by which information and communication pertinent to an object is provided based on imagery of the object. A digital image of the object is captured and the object is recognized from a plurality of objects in a database. An information address corresponding to the object is then used to access information and initiate communication pertinent to the object.

Patent
   7477780
Priority
Nov 05 2002
Filed
Nov 05 2002
Issued
Jan 13 2009
Expiry
Jul 18 2025
Extension
986 days
Assg.orig
Entity
Large
384
20
all paid
1. A method for identifying an object from a digitally captured image thereof whose image characteristics are present in at least one database including:
decomposing the digitally captured image into a group of characterization parameter sets by normalizing the captured image in all color planes with linear gains and offset transformations;
comparing each of said characterization parameter sets with identical parameters of known objects stored in the at least one database;
producing a best match from the at least one database to identify the object; and
returning the best match from an identification server having access to the at least one database.
12. A method for identifying to a user a multi-dimensional object from at least one digitally captured image thereof whose image characteristics are present in at least one database including:
decomposing the at least one digitally captured image into a group of parameters of different types by normalizing the captured image in all color planes with linear gains and offset transformations;
comparing the parameters of each type of the group of different parameter types with parameters of matching types of the different parameter types of known objects stored in the at least one database;
producing a parameter match to a user from at least one parameter type, with respect to the at least one database for a high probability identification of the object; and
returning the parameter match from an identification server having access to the at least one database.
2. The method as defined in claim 1 further including before decomposing the digitally captured image:
determining if the digitally captured image includes at least one symbolic image, and if such is included;
decoding the at least one symbolic image;
comparing the decoded at least one symbolic image to a database of decoded symbolic images; and
determining a level of confidence that the object has been identified.
3. The method as defined in claim 2 further including:
reducing the database choices in accordance with the determined level of confidence with which said comparing each of said group of characterization parameter sets with identical parameters of known objects stored in the at least one database is performed.
4. The method as defined in claim 1 wherein the at least one database includes:
an information address associated with the objects, and wherein said method includes:
establishing a connection between an information address associated with the identified object and the user.
5. The method as defined in claim 1 wherein the at least one database includes:
operative devices for interaction with the user when identified as the object.
6. The method defined in claim 1 wherein the decomposing the digitally captured image into a group of characterization parameter sets includes:
performing a radiometric correction of the digitally captured image by:
transforming the digitally captured image to one of a set of digital numbers per color plane, RGB representation.
7. The method defined in claim 1 wherein the decomposing the digitally captured image into a group of characterization parameter sets includes:
grouping of image parameters to produce a plurality of related parameter sets.
8. The method defined in claim 1 further including:
further narrowing the classification of the at least one object by decoding at least one symbol in the at least one image.
9. The method defined in claim 1 further including:
obtaining information pertinent to at least one object by capturing at least one image of the at least one object;
recognizing the appearance of the at least one object in the at least one image;
determining at least one information address corresponding to the at least one object; and
communicating with at least one information resource, such as at least one computer, corresponding to the at least one information address.
10. The method defined in claim 1 further including:
establishing communication pertinent to to at least one object by capturing at least one image of the at least one object;
recognizing the appearance of the at least one object in the at least one image;
determining at least one information address corresponding to the at least one object; and
accessing information from at least one information resource, such as at least one computer, corresponding to the at least one information address.
11. The method defined in claim 1 wherein for each determined output:
comparing each against the at least one database; and
producing best matches from the at least one database.
13. The method defined in claim 12 wherein the producing a parameter match to a user from at least one parameter type, with respect to the at least one database for a high probability identification of the object includes:
producing the best parameter match from a plurality of parameters.
14. The method defined in claim 12 wherein the producing a parameter match to a user from at least one parameter type, with respect to the at least one database for a high probability identification of the object includes:
producing the best match from at least one group of a plurality of parameter types.
15. The method defined in claim 12 wherein the decomposing the digitally captured image into a group of parameters of different types includes:
performing a radiometric correction of the at least one digitally captured image by:
transforming the at least one digitally captured image to at least one of a set of digital numbers per color plane, RGB representation.
16. The method defined in claim 12 further including:
initiating a telephone call pertinent to the identified object, from a portable telephone;
capturing the at least one digitally captured image object using a camera in the portable telephone;
determining at least one telephone number corresponding to the object, and
initiating a telephone call to the at least one telephone number.

This application is a 371 of PCT/US02/35407 filed on Nov. 5, 2002.

1. Technical Field

The invention relates an identification method and process for objects from digitally captured images thereof that uses image characteristics to identify an object from a plurality of objects in a database.

2. Background Art

There is a need to provide hyperlink functionality in known objects without modification to the objects, through reliably detecting and identifying the objects based only on the appearance of the object, and then locating and supplying information pertinent to the object or initiating communications pertinent to the object by supplying an information address, such as a Uniform Resource Locator (URL), pertinent to the object.

There is a need to determine the position and orientation of known objects based only on imagery of the objects.

The detection, identification, determination of position and orientation, and subsequent information provision and communication must occur without modification or disfigurement of the object, without the need for any marks, symbols, codes, barcodes, or characters on the object, without the need to touch or disturb the object, without the need for special lighting other than that required for normal human vision, without the need for any communication device (radio frequency, infrared, etc.) to be attached to or nearby the object, and without human assistance in the identification process. The objects to be detected and identified may be 3-dimensional objects, 2-dimensional images (e.g., on paper), or 2-dimensional images of 3-dimensional objects, or human beings.

There is a need to provide such identification and hyperlink services to persons using mobile computing devices, such as Personal Digital Assistants (PDAs) and cellular telephones.

There is a need to provide such identification and hyperlink services to machines, such as factory robots and spacecraft.

Examples include:

Identifying pictures or other art in a museum, where it is desired to provide additional information about such art objects to museum visitors via mobile wireless devices;

provision of content (information, text, graphics, music, video, etc.), communications, and transaction mechanisms between companies and individuals, via networks (wireless or otherwise) initiated by the individuals “pointing and clicking” with camera-equipped mobile devices on magazine advertisements, posters, billboards, consumer products, music or video disks or tapes, buildings, vehicles, etc.;

establishment of a communications link with a machine, such a vending machine or information kiosk, by “pointing and clicking” on the machine with a camera-equipped mobile wireless device and then execution of communications or transactions between the mobile wireless device and the machine;

identification of objects or parts in a factory, such as on an assembly line, by capturing an image of the objects or parts, and then providing information pertinent to the identified objects or parts;

identification of a part of a machine, such as an aircraft part, by a technician “pointing and clicking” on the part with a camera-equipped mobile wireless device, and then supplying pertinent content to the technician, such maintenance instructions or history for the identified part;

identification or screening of individual(s) by a security officer “pointing and clicking” a camera-equipped mobile wireless device at the individual(s) and then receiving identification information pertinent to the individuals after the individuals have been identified by face recognition software;

identification, screening, or validation of documents, such as passports, by a security officer “pointing and clicking” a camera-equipped device at the document and receiving a response from a remote computer;

determination of the position and orientation of an object in space by a spacecraft nearby the object, based on imagery of the object, so that the spacecraft can maneuver relative to the object or execute a rendezvous with the object;

identification of objects from aircraft or spacecraft by capturing imagery of the objects and then identifying the objects via image recognition performed on a local or remote computer;

watching movie previews streamed to a camera-equipped wireless device by “pointing and clicking” with such a device on a movie theatre sign or poster, or on a digital video disc box or videotape box;

listening to audio recording samples streamed to a camera-equipped wireless device by “pointing and clicking” with such a device on a compact disk (CD) box, videotape box, or print media advertisement;

purchasing movie, concert, or sporting event tickets by “pointing and clicking” on a theater, advertisement, or other object with a camera-equipped wireless device;

purchasing an item by “pointing and clicking” on the object with a camera-equipped wireless device and thus initiating a transaction;

interacting with television programming by “pointing and clicking” at the television screen with a camera-equipped device, thus capturing an image of the screen content and having that image sent to a remote computer and identified, thus initiating interaction based on the screen content received (an example is purchasing an item on the television screen by “pointing and clicking” at the screen when the item is on the screen);

interacting with a computer-system based game and with other players of the game by “pointing and clicking” on objects in the physical environment that are considered to be part of the game;

paying a bus fare by “pointing and clicking” with a mobile wireless camera-equipped device, on a fare machine in a bus, and thus establishing a communications link between the device and the fare machine and enabling the fare payment transaction;

establishment of a communication between a mobile wireless camera-equipped device and a computer with an Internet connection by “pointing and clicking” with the device on the computer and thus providing to the mobile device an Internet address at which it can communicate with the computer, thus establishing communications with the computer despite the absence of a local network or any direct communication between the device and the computer;

use of a mobile wireless camera-equipped device as a point-of-sale terminal by, for example, “pointing and clicking” on an item to be purchased, thus identifying the item and initiating a transaction;

The present invention solves the above stated needs. Once an image is captured digitally, a search of the image determines whether symbolic content is included in the image. If so the symbol is decoded and communication is opened with the proper database, usually using the Internet, wherein the best match for the symbol is returned. In some instances, a symbol may be detected, but non-ambiguous identification is not possible. In that case and when a symbolic image can not be detected, the image is decomposed through identification algorithms where unique characteristics of the image are determined. These characteristics are then used to provide the best match or matches in the data base, the “best” determination being assisted by the partial symbolic information, if that is available.

Therefore the present invention provides technology and processes that can accommodate linking objects and images to information via a network such as the Internet, which requires no modification to the linked object. Traditional methods for linking objects to digital information, including applying a barcode, radio or optical transceiver or transmitter, or some other means of identification to the object, or modifying the image or object so as to encode detectable information in it, are not required because the image or object can be identified solely by its visual appearance. The users or devices may even interact with objects by “linking” to them. For example, a user may link to a vending machine by “pointing and clicking” on it. His device would be connected over the Internet to the company that owns the vending machine. The company would in turn establish a connection to the vending machine, and thus the user would have a communication channel established with the vending machine and could interact with it.

The decomposition algorithms of the present invention allow fast and reliable detection and recognition of images and/or objects based on their visual appearance in an image, no matter whether shadows, reflections, partial obscuration, and variations in viewing geometry are present. As stated above, the present invention also can detect, decode, and identify images and objects based on traditional symbols which may appear on the object, such as alphanumeric characters, barcodes, or 2-dimensional matrix codes.

When a particular object is identified, the position and orientation of an object with respect to the user at the time the image was captured can be determined based on the appearance of the object in an image. This can be the location and/or identity of people scanned by multiple cameras in a security system, a passive locator system more accurate than GPS or usable in areas where GPS signals cannot be received, the location of specific vehicles without requiring a transmission from the vehicle, and many other uses.

When the present invention is incorporated into a mobile device, such as a portable telephone, the user of the device can link to images and objects in his or her environment by pointing the device at the object of interest, then “pointing and clicking” to capture an image. Thereafter, the device transmits the image to another computer (“Server”), wherein the image is analyzed and the object or image of interest is detected and recognized. Then the network address of information corresponding to that object is transmitted from the (“Server”) back to the mobile device, allowing the mobile device to access information using the network address so that only a portion of the information concerning the object need be stored in the systems database.

Some or all of the image processing, including image/object detection and/or decoding of symbols detected in the image may be distributed arbitrarily between the mobile (Client) device and the Server. In other words, some processing may be performed in the Client device and some in the Server, without specification of which particular processing is performed in each, or all processing may be performed on one platform or the other, or the platforms may be combined so that there is only one platform. The image processing can be implemented in a parallel computing manner, thus facilitating scaling of the system with respect to database size and input traffic loading.

Therefore, it is an object of the present invention to provide a system and process for identifying digitally captured images without requiring modification to the object.

Another object is to use digital capture devices in ways never contemplated by their manufacturer.

Another object is to allow identification of objects from partial views of the object.

Another object is to provide communication means with operative devices without requiring a public connection therewith.

These and other objects and advantages of the present invention will become apparent to those skilled in the art after considering the following detailed specification, together with the accompanying drawings wherein:

FIG. 1 is a schematic block diagram top-level algorithm flowchart;

FIG. 2 is an idealized view of image capture;

FIGS. 3A and 3B are a schematic block diagram of process details of the present invention;

FIG. 4 is a schematic block diagram of a different explanation of invention;

FIG. 5 is a schematic block diagram similar to FIG. 4 for cellular telephone and personal data assistant (PDA0 applications; and

FIG. 6 is a schematic block diagram for spacecraft applications.

The present invention includes a novel process whereby information such as Internet content is presented to a user, based solely on a remotely acquired image of a physical object. Although coded information can be included in the remotely acquired image, it is not required since no additional information about a physical object, other than its image, needs to be encoded in the linked object. There is no need for any additional code or device, radio, optical or otherwise, to be embedded in or affixed to the object. Image-linked objects can be located and identified within user-acquired imagery solely by means of digital image processing, with the address of pertinent information being returned to the device used to acquire the image and perform the link. This process is robust against digital image noise and corruption (as can result from lossy image compression/decompression), perspective error, rotation, translation, scale differences, illumination variations caused by different lighting sources, and partial obscuration of the target that results from shadowing, reflection or blockage.

Many different variations on machine vision “target location and identification” exist in the current art. However, they all tend to provide optimal solutions for an arbitrarily restricted search space. At the heart of the present invention is a high-speed image matching engine that returns unambiguous matches to target objects contained in a wide variety of potential input images. This unique approach to image matching takes advantage of the fact that at least some portion of the target object will be found in the user-acquired image. The parallel image comparison processes embodied in the present search technique are, when taken together, unique to the process. Further, additional refinement of the process, with the inclusion of more and/or different decomposition-parameterization functions, utilized within the overall structure of the search loops is not restricted. The detailed process is described in the following.igure 1 shows the overall processing flow and steps. These steps are described in further detail in the following sections.

For image capture 10, the User 12 (FIG. 2) utilizes a computer, mobile telephone, personal digital assistant, or other similar device 14 equipped with an image sensor (such as a CCD or CMOS digital camera). The User 12 aligns the sensor of the image capture device 14 with the object 16 of interest. The linking process is then initiated by suitable means including: the User 12 pressing a button on the device 14 or sensor; by the software in the device 14 automatically recognizing that an image is to be acquired; by User voice command; or by any other appropriate means. The device 14 captures a digital image 18 of the scene at which it is pointed. This image 18 is represented as three separate 2-D matrices of pixels, corresponding to the raw RGB (Red, Green, Blue) representation of the input image. For the purposes of standardizing the analytical processes in this embodiment, if the device 14 supplies an image in other than RGB format, a transformation to RGB is accomplished. These analyses could be carried out in any standard color format, should the need arise.

If the server 20 is physically separate from the device 14, then user acquired images are transmitted from the device 14 to the Image Processor/Server 20 using a conventional digital network or wireless network means. If the image 18 has been compressed (e.g. via lossy JPEG DCT) in a manner that introduces compression artifacts into the reconstructed image 18, these artifacts may be partially removed by, for example, applying a conventional despeckle filter to the reconstructed image prior to additional processing.

The Image Type Determination 26 is accomplished with a discriminator algorithm which operates on the input image 18 and determines whether the input image contains recognizable symbols, such as barcodes, matrix codes, or alphanumeric characters. If such symbols are found, the image 18 is sent to the Decode Symbol 28 process. Depending on the confidence level with which the discriminator algorithm finds the symbols, the image 18 also may or alternatively contain an object of interest and may therefore also or alternatively be sent to the Object Image branch of the process flow. For example, if an input image 18 contains both a barcode and an object, depending on the clarity with which the barcode is detected, the image may be analyzed by both the Object Image and Symbolic Image branches, and that branch which has the highest success in identification will be used to identify and link from the object.

The image is analyzed to determine the location, size, and nature of the symbols in the Decode Symbol 28. The symbols are analyzed according to their type, and their content information is extracted. For example, barcodes and alphanumeric characters will result in numerical and/or text information.

For object images, the present invention performs a “decomposition”, in the Input Image Decomposition 34, of a high-resolution input image into several different types of quantifiable salient parameters. This allows for multiple independent convergent search processes of the database to occur in parallel, which greatly improves image match speed and match robustness in the Database Matching 36. The Best Match 38 from either the Decode Symbol 28, or the image Database Matching 36, or both, is then determined. If a specific URL (or other online address) is associated with the image, then an URL Lookup 40 is performed and the Internet address is returned by the URL Return 42.

The overall flow of the Input Image Decomposition process is as follows:

 Radiometric Correction
 Segmentation
 Segment Group Generation
 FOR each segment group
  Bounding Box Generation
  Geometric Normalization
  Wavelet Decomposition
  Color Cube Decomposition
  Shape Decomposition
  Low-Resolution Grayscale Image Generation
FOR END

Each of the above steps is explained in further detail below. For Radiometric Correction, the input image typically is transformed to an 8-bit per color plane, RGB representation. The RGB image is radiometrically normalized in all three channels. This normalization is accomplished by linear gain and offset transformations that result in the pixel values within each color channel spanning a full 8-bit dynamic range (256 possible discrete values). An 8-bit dynamic range is adequate but, of course, as optical capture devices produce higher resolution images and computers get faster and memory gets cheaper, higher bit dynamic ranges, such as 16-bit, 32-bit or more may be used.

For Segmentation, the radiometrically normalized RGB image is analyzed for “segments,” or regions of similar color, i.e. near equal pixel values for red, green, and blue. These segments are defined by their boundaries, which consist of sets of (x, y) point pairs. A map of segment boundaries is produced, which is maintained separately from the RGB input image and is formatted as an x, y binary image map of the same aspect ratio as the RGB image.

For Segment Group Generation, the segments are grouped into all possible combinations. These groups are known as “segment groups” and represent all possible potential images or objects of interest in the input image. The segment groups are sorted based on the order in which they will be evaluated. Various evaluation order schemes are possible. The particular embodiment explained herein utilizes the following “center-out” scheme: The first segment group comprises only the segment that includes the center of the image. The next segment group comprises the previous segment plus the segment which is the largest (in number of pixels) and which is adjacent to (touching) the previous segment group. Additional segments are added using the segment criteria above until no segments remain. Each step, in which a new segment is added, creates a new and unique segment group.

For Bounding Box Generation, the elliptical major axis of the segment group under consideration (the major axis of an ellipse just large enough to contain the entire segment group) is computed. Then a rectangle is constructed within the image coordinate system, with long sides parallel to the elliptical major axis, of a size just large enough to completely contain every pixel in the segment group.

For Geometric Normalization, a copy of the input image is modified such that all pixels not included in the segment group under consideration are set to mid-level gray. The result is then resampled and mapped into a “standard aspect” output test image space such that the corners of the bounding box are mapped into the corners of the output test image. The standard aspect is the same size and aspect ratio as the Reference images used to create the database.

For Wavelet Decomposition, a grayscale representation of the full-color image is produced from the geometrically normalized image that resulted from the Geometric Normalization step. The following procedure is used to derive the grayscale representation. Reduce the three color planes into one grayscale image by proportionately adding each R, G, and B pixel of the standard corrected color image using the following formula:
Lx,y=0.34*Rx,y+0.55*Gx,y+0.11*Bx,y
then round to nearest integer value. Truncate at 0 and 255, if necessary. The resulting matrix L is a standard grayscale image. This grayscale representation is at the same spatial resolution as the full color image, with an 8-bit dynamic range. A multi-resolution Wavelet Decomposition of the grayscale image is performed, yielding wavelet coefficients for several scale factors. The Wavelet coefficients at various scales are ranked according to their weight within the image.

For Color Cube Decomposition, an image segmentation is performed (see “Segmentation” above), on the RGB image that results from Geometric Normalization. Then the RGB image is transformed to a normalized Intensity, In-phase and Quadrature-phase color image (YIQ). The segment map is used to identify the principal color regions of the image, since each segment boundary encloses pixels of similar color. The average Y, I, and Q values of each segment, and their individual component standard deviations, are computed. The following set of parameters result, representing the colors, color variation, and size for each segment:

The parameters comprise a representation of the color intensity and variation in each segment. When taken together for all segments in a segment group, these parameters comprise points (or more accurately, regions, if the standard deviations are taken into account) in a three-dimensional color space and describe the intensity and variation of color in the segment group.

For Shape Decomposition, the map resulting from the segmentation performed in the Color Cube Generation step is used and the segment group is evaluated to extract the group outer edge boundary, the total area enclosed by the boundary, and its area centroid. Additionally, the net ellipticity (semi-major axis divided by semi-minor axis of the closest fit ellipse to the group) is determined.

For Low-Resolution Grayscale Image Generation, the full-resolution grayscale representation of the image that was derived in the Wavelet Generation step is now subsampled by a factor in both x and y directions. For the example of this embodiment, a 3:1 subsampling is assumed. The subsampled image is produced by weighted averaging of pixels within each 3×3 cell. The result is contrast binned, by reducing the number of discrete values assignable to each pixel based upon substituting a “binned average” value for all pixels that fall within a discrete (TBD) number of brightness bins.

The above discussion of the particular decomposition methods incorporated into this embodiment are not intended to indicate that more, or alternate, decomposition methods may not also be employed within the context of this invention.

In other words:

FOR each input image segment group
 FOR each database object
  FOR each view of this object
   FOR each segment group in this view of this
   database object
    Shape Comparison
    Grayscale Comparison
    Wavelet Comparison
    Color Cube Comparison
    Calculate Combined Match Score
   END FOR
  END FOR
 END FOR
END FOR

Each of the above steps is explained in further detail below.
FOR Each Input Image Segment Group

This loop considers each combination of segment groups in the input image, in the order in which they were sorted in the “Segment Group Generation” step. Each segment group, as it is considered, is a candidate for the object of interest in the image, and it is compared against database objects using various tests.

One favored implementation, of many possible, for the order in which the segment groups are considered within this loop is the “center-out” approach mentioned previously in the “Segment Group Generation” section. This scheme considers segment groups in a sequence that represents the addition of adjacent segments to the group, starting at the center of the image. In this scheme, each new group that is considered comprises the previous group plus one additional adjacent image segment. The new group is compared against the database. If the new group results in a higher database matching score than the previous group, then new group is retained. If the new group has a lower matching score then the previous group, then it is discarded and the loop starts again. If a particular segment group results in a match score which is extremely high, then this is considered to be an exact match and no further searching is warranted; in this case the current group and matching database group are selected as the match and this loop is exited.

FOR Each Database Object

This loop considers each object in the database for comparison against the current input segment group.

FOR Each View of This Object

This loop considers each view of the current database object, for comparison against the current input segment group. The database contains, for each object, multiple views from different viewing angles.

FOR Each Segment Group In This View of this Database Object

This loop considers each combination of segment groups in the current view of the database object. These segment groups were created in the same manner as the input image segment groups.

Shape Comparison

Inputs:

For the input image and all database images:

FOR each database segment group
 IF the group passes Step 1
  IF the group passes Step 2
   IF the group passes Step 3
    IF the group passes Step 4
     Successful comparison, save
     result
    END IF
   END IF
  END IF
 END IF
END FOR

Grayscale Comparison
Inputs:

For the input image and all database images:

FOR each database image
 FOR each tier, starting with the innermost and
 progressing to the outermost
  Compare the pixel values between the input and
  database image
  Calculate an aggregate matching score
  IF matching score is greater than some TBD limit
  (i.e., close match)
   Successful comparison, save result
  END IF
 END FOR
END FOR

Wavelet Comparison
Inputs:

For the input image and all database images:

Successively compare the wavelet coefficients of the input segment group image and each database segment group image, starting with the lowest-order coefficients and progressing to the highest order coefficients. For each comparison, compute a matching score. For each new coefficient, only consider those database groups that had matching scores, at the previous (next lower order) coefficient within TBD limits.

FOR each database image
 IF input image C0 equals database image C0 within TBD
 limit
  IF input image C1 equals database image C1 within
  TBD limit
   ...
   IF input image CN equals database image CN
   within TBD limit
    Close match, save result and match
    score
   END IF
   ...
  END IF
 END IF
END FOR

Notes:

FOR each database image
 FOR each segment group in the database image
  FOR each Color Cube Point in database segment group,
  in order of descending Npixels value
   IF Gaussian match between input (Y, I, Q) and
   database (Y, I, Q)
    I. Calculate match score for this segment
    II. Accumulate segment match score into
     aggregate match score for segment group
    III. IF aggregate matching score is greater than
     some TBD limit (i.e., close match)
      Successful comparison, save result
   END IF
  END FOR
 END FOR
END FOR
Notes:
I. The size of the Gaussian envelope about any Y, I, Q point is determined by RSS of standard deviations of Y, I, and Q for that point.

Calculate Combined Match Score

The four Object Image comparisons (Shape Comparison, Grayscale Comparison, Wavelet Comparison, Color Cube Comparison) each return a normalized matching score. These are independent assessments of the match of salient features of the input image to database images. To minimize the effect of uncertainties in any single comparison process, and to thus minimize the likelihood of returning a false match, the following root sum of squares relationship is used to combine the results of the individual comparisons into a combined match score for an image: CurrentMatch=SQRT(WOCMOC2+WCCCMCCC2+WWCMWC2+WSGCMSGC2), where Ws are TBD parameter weighting coefficients and Ms are the individual match scores of the four different comparisons.

The unique database search methodology and subsequent object match scoring criteria are novel aspects of the present invention that deserve special attention. Each decomposition of the Reference image and Input image regions represent an independent characterization of salient characteristics of the image. The Wavelet Decomposition, Color Cube Decomposition, Shape Decomposition, and evaluation of a sub-sampled low-resolution Grayscale representation of an input image all produce sets of parameters that describe the image in independent ways. Once all four of these processes are completed on the image to be tested, the parameters provided by each characterization are compared to the results of identical characterizations of the Reference images, which have been previously calculated and stored in the database. These comparisons, or searches, are carried out in parallel. The result of each search is a numerical score that is a weighted measure of the number of salient characteristics that “match” (i.e. that are statistically equivalent). Near equivalencies are also noted, and are counted in the cumulative score, but at a significantly reduced weighting.

One novel aspect of the database search methodology in the present invention is that not only are these independent searches carried out in parallel, but also, all but the low-resolution grayscale compares are “convergent.” By convergent, it is meant that input image parameters are searched sequentially over increasingly smaller subsets of the entire database. The parameter carrying greatest weight from the input image is compared first to find statistical matches and near-matches in all database records. A normalized interim score (e.g., scaled value from zero to one, where one is perfect match and zero is no match) is computed, based on the results of this comparison. The next heaviest weighted parameter from the input image characterization is then searched on only those database records having initial interim scores above a minimum acceptable threshold value. This results in an incremental score that is incorporated into the interim score in a cumulative fashion. Then, subsequent compares of increasingly lesser-weighted parameters are assessed only on those database records that have cumulative interim scores above the same minimum acceptable threshold value in the previous accumulated set of tests.

This search technique results in quick completion of robust matches, and establishes limits on the domain of database elements that will be compared in a subsequent combined match calculation and therefore speeds up the process. The convergent nature of the search in these comparisons yields a ranked subset of the entire database.

The result of each of these database comparisons is a ranking of the match quality of each image, as a function of decomposition search technique. Only those images with final cumulative scores above the acceptable match threshold will be assessed in the next step, a Combined Match Score evaluation.

Four database comparison processes, Shape Comparison, Grayscale Comparison, Wavelet Comparison, and Color Cube Comparison, are performed. These processes may occur sequentially, but generally are preferably performed in parallel on a parallel computing platform. Each comparison technique searches the entire image database and returns those images that provide the best matches, for the particular algorithm, along with the matching scores for these images. These comparison algorithms are performed on segment groups, with each input image segment group being compared to each segment group for each database image.

FIGS. 3A and 3B show the process flow within the Database Matching operation. The algorithm is presented here as containing four nested loops with four parallel processes inside the innermost loop. This structure is for presentation and explanation only. The actual implementation, although performing the same operations at the innermost layer, can have a different structure in order to achieve the maximum benefit from processing speed enhancement techniques such as parallel computing and data indexing techniques. It is also important to note that the loop structures can be implemented independently for each inner comparison, rather than the shared approach shown in the FIGS. 3A and 3B.

Preferably, parallel processing is used to divide tasks between multiple CPUs (Central Processing Units) and/or computers. The overall algorithm may be divided in several ways, such as:

Sharing the In this technique, all CPUs run the entire
Outer Loop: algorithm, including the outer loop, but
one CPU runs the loop for the first N
cycles, another CPU for the second N
cycles, all simultaneously.
Sharing the In this technique, one CPU performs the
Comparisons: loop functions. When the comparisons are
performed, they are each passed to a
separate CPU to be performed in parallel.
Sharing the This technique entails splitting database
Database: searches between CPUs, so that each CPU is
responsible for searching one section of
the database, and the sections are searched
in parallel by multiple CPUs. This is, in
essence, a form of the “Sharing the Outer
Loop” technique described above.

Actual implementations can be some combination of the above techniques that optimizes the process on the available hardware.

Another technique employed to maximize speed is data indexing. This technique involves using a priori knowledge of where data resides to only search in those parts of the database that contain potential matches. Various forms of indexing may be used, such as hash tables, data compartmentalization (i.e., data within certain value ranges are stored in certain locations), data sorting, and database table indexing. An example of such techniques is, in the Shape Comparison algorithm (see below), if a database is to be searched for an entry with an Area with a value of A, the algorithm would know which database entries or data areas have this approximate value and would not need to search the entire database.

Another technique employed is as follows. FIG. 4 shows a simplified configuration of the invention. Boxes with solid lines represent processes, software, physical objects, or devices. Boxes with dashed lines represent information. The process begins with an object of interest: the target object 100. In the case of consumer applications, the target object 100 could be, for example, beverage can, a music CD box, a DVD video box, a magazine advertisement, a poster, a theatre, a store, a building, a car, or any other object that user is interested in or wishes to interact with. In security applications the target object 100 could be, for example, a person, passport, or driver's license, etc. In industrial applications the target object 100 could be, for example, a part in a machine, a part on an assembly line, a box in a warehouse, or a spacecraft in orbit, etc.

The terminal 102 is a computing device that has an “image” capture device such as digital camera 103, a video camera, or any other device that an convert a physical object into a digital representation of the object. The imagery can be a single image, a series of images, or a continuous video stream. For simplicity of explanation this document describes the digital imagery generally in terms of a single image, however the invention and this system can use all of the imagery types described above.

After the camera 103 captures the digital imagery of the target object 100, image preprocessing 104 software converts the digital imagery into image data 105 for transmission to and analysis by an identification server 106. Typically a network connection is provided capable of providing communications with the identification server 106. Image data 105 is data extracted or converted from the original imagery of the target object 100 and has information content appropriate for identification of the target object 100 by the object recognition 107, which may be software or hardware. Image data 105 can take many forms, depending on the particular embodiment of the invention.

Examples of image data 105 are:

Compressed (e.g., JPEG2000) form of the raw imagery from camera 103;

Key image information, such as spectral and/or spatial frequency components (e.g. wavelet components) of the raw imagery from camera 103; and

MPEG video stream created from the raw imagery from camera 103;

The particular form of the image data 105 and the particular operations performed in image preprocessing 104 depend on:

Algorithm and software used in object recognition 107 Processing power of terminal 102;

Network connection speed between terminal 102 and identification server 106;

Application of the System; and

Required system response time;

In general, there is a tradeoff between the network connection speed (between terminal 102 and identification server 106) and the processing power of terminal 102. The results all of the above tradeoffs will define the nature of image preprocessing 104 and image data 105 for a specific embodiment. For example, image preprocessing 104 could be image compression and image data 105 compressed imagery, or image preprocessing 104 could be wavelet analysis and image data 105 could be wavelet coefficients.

The image data 105 is sent from the terminal 102 to the identification server 106. The identification server 106 receives the image data 105 and passes it to the object recognition 107.

The identification server 106 is a set of functions that usually will exist on computing platform separate from the terminal 102, but could exist on the same computing platform. If the identification server 106 exists on a separate computing device, such as a computer in a data center, then the transmission of the image components 105 to the identification server 106 is accomplished via a network or combination of networks, such a cellular telephone network, wireless Internet, Internet, and wire line network. If the identification server 106 exists on the same computing device as the terminal 102 then the transmission consists simply of a transfer of data from one software component or process to another.

Placing the identification server 106 on a computing platform separate from the terminal 102 enables the use of powerful computing resources for the object recognition 107 and database 108 functions, thus providing the power of these computing resources to the terminal 102 via network connection. For example, an embodiment that identifies objects out of a database of millions of known objects would be facilitated by the large storage, memory capacity, and processing power available in a data center; it may not be feasible to have such computing power and storage in a mobile device. Whether the terminal 102 and the identification server 106 are on the same computing platform or separate ones is an architectural decision that depends on system response time, number of database records, image recognition algorithm computing power and storage available in terminal 102, etc., and this decision must be made for each embodiment of the invention. Based on current technology, in most embodiments these functions will be on separate computing platforms.

The overall function of the identification server 106 is to determine and provide the target object information 109 corresponding to the target object 100, based on the image data 105.

The object recognition 107 and the database 108 function together to:

The object recognition 107 detects and decodes symbols, such as barcodes or text, in the input image. This is accomplished via algorithms, software, and/or hardware components suited for this task. Such components are commercially available (The HALCON software package from MVTec is an example). The object recognition 107 also detects and recognizes images of the target object 100 or portions thereof. This is accomplished by analyzing the image data 105 and comparing the results to other data, representing images of a plurality of known objects, stored in the database 108, and recognizing the target object 100 if a representation of target object 100 is stored in the database 108.

In some embodiments the terminal 102 includes software, such as a web browser (the browser 110), that receives an information address, connects to that information address via a network or networks, such as the Internet, and exchanges information with another computing device at that information address. In consumer applications the terminal 102 may be a portable cellular telephone or Personal Digital Assistant equipped with a camera 103 and wireless Internet connection. In security and industrial applications the terminal 102 may be a similar portable hand-held device or may be fixed in location and/or orientation, and may have either a wireless or wire line network connection.

Other object recognition techniques also exist and include methods that store 3-dimensional models (rather than 2-dimensional images) of objects in a database and correlate input images with these models of the target object is performed by an object recognition technique of which many are available commercially and in the prior art. Such object recognition techniques usually consist of comparing a new input image to a plurality of known images and detecting correspondences between the new input image and one of more of the known images. The known images are views of known objects from a plurality of viewing angles and thus allow recognition of 2-dimensional and 3-dimensional objects in arbitrary orientations relative to the camera 103.

FIG. 4 shows the object recognition 107 and the database 108 as separate functions for simplicity. However, in many embodiments the object recognition 107 and the database 108 are so closely interdependent that they may be considered a single process.

There are various options for the object recognition technique and the particular processes performed within the object recognition 107 and the database 108 depend on this choice. The choice depends on the nature, requirements, and architecture of the particular embodiment of the invention. However, most embodiments will usually share most of the following desired attributes of the image recognition technique:

All of these attributes do not apply to all embodiments. For example, consumer linking embodiments generally do not require determination of position and orientation of the target object 100, while a spacecraft target position and orientation determination system generally would not be required to identify human faces or a large number of different objects.

It is usually desirable that the database 108 be scalable to enable identification of the target object 100 from a very large plurality (for example, millions) of known objects in the database 108. The algorithms, software, and computing hardware must be designed to function together to quickly perform such a search. An example software technique for performing such searching quickly is to use a metric distance comparison technique for comparing the image data 105 to data stored in the database 108, along with database clustering and multiresolution distance comparisons. This technique is described in “Fast Exhaustive Multi-Resolution Search Algorithm Based on Clustering for Efficient Image Retrieval,” by Song, Kim, and Ra, 2000.

In addition to such software techniques, a parallel processing computing architecture may be employed to achieve fast searching of large databases. Parallel processing is particularly important in cases where a non-metric distance is used in object recognition 107, because techniques such database clustering and multiresolution search may not be possible and thus the complete database must be searched by partitioning the database across multiple CPUs.

As described above, the object recognition 107 can also detect identifying marks on the target object 100. For example, the target object 100 may include an identifying number or a barcode. This information can be decoded and used to identify or help identify the target object 100 in the database 108. This information also can be passed on as part of the target object information 109. If the information is included as part of the target object information 109 then it can be used by the terminal 102 or content server 111 to identify the specific target object 100, out of many such objects that have similar appearance and differ only in the identifying marks. This technique is useful, for example, in cases where the target object 100 is an active device with a network connection (such as a vending machine) and the content server establishes communication with the target object 100. A combination with a Global Positioning System can also be used to identify like objects by their location.

The object recognition 107 may be implemented in hardware, software, or a combination of both. Examples of each category are presented below.

Hardware object recognition implementations include optical correlators, optimized computing platforms, and custom hardware.

Optical correlators detect objects in images very rapidly by, in effect, performing image correlation calculations with light. Examples of optical correlators are:

Optimized computing platforms are hardware computing systems, usually on a single board, that are optimized to perform image processing and recognition algorithms very quickly. These platforms must be programmed with the object recognition algorithm of choice. Examples of optimized computing platforms are

Image recognition calculations can also be implemented directly in custom hardware in forms such as Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), and Digital Signal Processors (DSPs).

There are many object and image recognition software applications available commercially and many algorithms published in the literature. Examples of commercially available image/object recognition software packages include:

Some of the above recognition systems include 3-dimensional object recognition capability while others perform 2-dimensional image recognition. The latter type are used to perform 3-dimensional object recognition by comparing input images to a plurality of 2-dimensional views of objects from a plurality of viewing angles.

Examples of object recognition algorithms in the literature and intended for implementation in software are:

Part of the current invention is the following object recognition algorithm specifically designed to be used as the object recognition 107 and, to some extent, the database 108. This algorithm is robust with respect to occlusions, reflections, shadows, background/foreground clutter, object deformation and breaking, and is scalable to large databases. The task of the algorithm is to find an object or portion thereof in an input image, given a database of multiple objects with multiple views (from different angles) of each object.

This algorithm uses the concept of a Local Image Descriptor (LID) to summarize the information in a local region of an image. A LID is a circular subset, or “cutout,” of a portion of an image. There are various formulations for LIDs; two examples are:

LID Formulation 1

A LID in the input image is compared to a LID in a database image by a comparison technique such the L1 Distance, L2 Distance, Unfolded Distance, Earth Mover Distance, or cross-correlation. Small distances indicate a good match between the portions of the images underlying the LIDs. By iteratively changing the position and size of the LIDs in the input and database images the algorithm converges on the best match between circular regions in the 2 images.

Limiting the comparisons to subsets (circular LIDs) of the images enables the algorithm to discriminate an object from the background. Only LIDs that fall on the object, as opposed to the background, yield good matches with database images. This technique also enable matching of partially occluded objects; a LID that falls on the visible part of an occluded object will match to a LID in the corresponding location in the database image of the object.

The iteration technique used to find the best match is simulated annealing, although genetic search, steepest descent, or other similar techniques appropriate for multivariable optimization can also be used individually or in combination with simulated annealing. Simulated annealing is modeled after the concept of a molten substance cooling and solidifying into a solid. The algorithm starts at a given temperature and then the temperature is gradually reduced with time. At each time step, the values of the search variables are perturbed from the their previous values to a create a new “child” generation of LIDs. The perturbations are calculated statistically and their magnitudes are functions of the temperature. As the temperature decreases the perturbations decrease in size. The child LIDs, in the input and database images, are then compared. If the match is better than that obtained with the previous “parent” generation, then a statistical decision is made regarding to whether to accept or reject the child LIDs as the current best match. This is a statistical decision that is a function of both the match distance and the temperature. The probability of child acceptance increases with temperature and decreases with match distance. Thus, good matches (small match distance) are more likely to be accepted but poor matches can also be accepted occasionally. The latter case is more likely to occur early in the process when the temperature is high. Statistical acceptance of poor matches is included to allow the algorithm to “jump” out of local minima.

When LID Formulation 1 is used, the rotation angle of the LID need not necessarily be a simulated annealing search parameter. Faster convergence can be obtained by performing a simple step-wise search on rotation to find the best orientation (within the tolerance of the step size) within each simulated annealing time step.

The search variables, in both the input and database images, are:

LID x-stretch and LID y-stretch are measures of “stretch” distortion applied to the LID circle, and measure the distortion of the circle into an oval. This is included to provide robustness to differences in orientation and curvature between the input and database images.

The use of multiple simultaneous LIDs provides additional robustness to occlusions, shadows, reflections, rotations, deformations, and object breaking. The best matches for multiple input image LIDs are sought throughout the database images. The input image LIDs are restricted to remain at certain minimum separation distances from each other. The minimum distance between any 2 LIDs centers is a function of the LID radii. The input image LIDs converge and settle on the regions of the input image having the best correspondence to any regions of any database images. Thus the LIDs behave in the manner of marbles rolling towards the lowest spot on a surface, e.g., the bottom of a bowl, but being held apart by their radius (although LIDs generally have minimum separation distances that are less than their radii).

In cases where the object in the input image appears deformed or curved relative to the known configuration in which it appears in the database, multiple input image LIDs will match to different database images. Each input image LID will match to that database image which shows the underlying portion of the object as it most closely resembles the input image. If the input image object is bent, e.g., a curved poster, then one part will match to one database orientation and another part will match to a different orientation.

In the case where the input image object appears to be broken into multiple pieces, either due to occlusion or to physical breakage, use of multiple LIDs again provides robust matching: individual LIDs “settle” on portions of the input image object as they match to corresponding portions of the object in various views in the database.

Robustness with respect to shadows and reflections is provided by LIDs simply not detecting good matches on these input image regions. They are in effect accommodated in the same manner as occlusions.

Robustness with respect to curvature and bending is accommodated by multiple techniques. First, use of multiple LIDs provides such robustness as described above. Secondly, curvature and bending robustness is inherently provided to some extent within each LID by use of LID range bin sizes that increase with distance from the LID center (e.g., logarithmic spacing). Given matching points in an input image and database image, deformation of the input image object away from the plane tangent at the matching point increases with distance from the matching point. The larger bin sizes of the outer bins (in both range and angle) reduce this sensitivity because they are less sensitive to image shifts.

Robustness with respect to lighting color temperature variations is provided by normalization of each color channel within each LID.

Fast performance, particular with large databases, can be obtained through several techniques, as follows:

This technique is similar to that described by Betke & Makris in “Fast Object Recognition in Noisy Images Using Simulated Annealing”, 1994, with the following important distinctions:

In addition to containing image information, the database 108 also contains address information. After the target object 100 has been identified, the database 108 is searched to find information corresponding to the target object 100. This information can be an information address, such as an Internet URL. The identification server 106 then sends this information, in the form of the target object information 109, to the terminal 102. Depending on the particular embodiment of the invention, the target object information 109 may include, but not be limited to, one or more of the following items of information pertaining to the target object 100:

Thus, the identification server determines the identity and/or various attributes of the target object 100 from the image data 105.

The target object information 109 is sent to the terminal 102. This information usually flows via the same communication path used to send the image data 105 from the terminal 102 to the identification server 106, but this is not necessarily the case. This method of this flow information depends on the particular embodiment of the invention.

The terminal 102 receives the target object information 109. The terminal 102 then performs some action or actions based on the target object information 109. This action or actions may include, but not be limited to:

In many embodiments, the terminal 102 sends the target object information 109 to the browser 110. The browser 110 may or may not exist in the terminal 102, depending on the particular embodiment of the invention. The browser 110 is a software component, hardware component, or both, that is capable of communicating with and accessing information from a computer at an information address contained in target object information 109.

In most embodiments the browser 110 will be a web browser, embedded in the terminal 102, capable of accessing and communicating with web sites via a network or networks such as the Internet. In some embodiments, however, such as those that only involve displaying the identity, position, orientation, or status of the target object 100, the browser 110 may be a software component or application that displays or provides the target object information 109 to a human user or to another software component or application.

In embodiments wherein the browser 110 is a web browser, the browser 110 connects to the content server 111 located at the information address (typically an Internet URL) included in the target object information 109. This connection is effected by the terminal 102 and the browser 110 acting in concert. The content server 111 is an information server and computing system. The connection and information exchanged between the terminal 102 and the content server 111 generally is accomplished via standard Internet and wireless network software, protocols (e.g. HTTP, WAP, etc.), and networks, although any information exchange technique can be used. The physical network connection depends on the system architecture of the particular embodiment but in most embodiments will involve a wireless network and the Internet. This physical network will most likely be the same network used to connect the terminal 102 and the identification server 106.

The content server 111 sends content information to the terminal 102 and browser 110. This content information usually is pertinent to the target object 100 and can be text, audio, video, graphics, or information in any form that is usable by the browser 110 and terminal 102. The terminal 102 and browser 110 send, in some embodiments, additional information to the content server 111. This additional information can be information such as the identity of the user of the terminal 102 or the location of the user of the terminal 102 (as determined from a GPS system or a radio-frequency ranging system). In some embodiments such information is provided to the content server by the wireless network carrier.

The user can perform ongoing interactions with the content server 111. For example, depending on the embodiment of the invention and the applications, the user can:

In some embodiments the content server 111 may reside within the terminal 102. In such embodiments, the communication between the terminal 102 and the content server 111 does not occur via a network but rather occurs within the terminal 102.

In embodiments wherein the target object 100 includes or is a device capable of communicating with other devices or computers via a network or networks such as the Internet, and wherein the target object information 109 includes adequate identification (such as a sign, number, or barcode) of the specific target object 100, the content server 111 connects to and exchanges information with the target object 100 via a network or networks such as the Internet. In this type of embodiment, the terminal 102 is connected to the content server 111 and the content server 111 is connected to the target object 100. Thus, the terminal 102 and target object 100 can communicate via the content server 111. This enables the user to interact with the target object 100 despite the lack of a direct connection between the target object 100 and the terminal 102.

The following are examples of embodiments of the invention.

FIG. 5 shows a preferred embodiment of the invention that uses a cellular telephone, PDA, or such mobile device equipped with computational capability, a digital camera, and a wireless network connection, as the terminal 202 corresponding to the terminal 102 in FIG. 4. In this embodiment, the terminal 202 communicates with the identification server 206 and the content server 211 via networks such as a cellular telephone network and the Internet.

This embodiment can be used for applications such as the following (“User” refers to the person operating the terminal 202, and the terminal 202 is a cellular telephone, PDA, or similar device, and “point and click” refers to the operation of the User capturing imagery of the target object 200 and initiating the transfer of the image data 205 to the identification server 206).

The User “points and clicks” the terminal 202 at a compact disc (CD) containing recorded music or a digital video disc (DVD) containing recorded video. The terminal 202 browser connects to the URL corresponding to the CD or DVD and displays a menu of options from which the user can select. From this menu, the user can listen to streaming audio samples of the CD or streaming video samples of the DVD, or can purchase the CD or DVD.

The User “points and clicks” the terminal 202 at a print media advertisement, poster, or billboard advertising a movie, music recording, video, or other entertainment. The browser 210 connects to the URL corresponding to the advertised item and the user can listen to streaming audio samples, purchase streaming video samples, obtain show times, or purchase the item or tickets.

The User “points and clicks” the terminal 202 at a television screen to interact with television programming in real-time. For example, the programming could consist of a product promotion involving a reduced price during a limited time. Users that “point and click” on this television programming during the promotion are linked to a web site at which they can purchase the product at the promotional price. Another example is a interactive television programming in which users “point and click” on the television screen at specific times, based on the on-screen content, to register votes, indicate actions, or connect to a web site through which they perform real time interactions with the on-screen program.

The User “points and clicks” on an object such as a consumer product, an advertisement for a product, a poster, etc., the terminal 202 makes a telephone call to the company selling the product, and the consumer has a direct discussion with a company representative regarding the company's product or service. In this case the company telephone number is included in the target object information 209. If the target object information 209 also includes the company URL then the User can interact with the company via both voice and Internet (via browser 210) simultaneously.

The User “points and clicks” on a vending machine (target object 200) that is equipped with a connection to a network such as the Internet and that has a unique identifying mark, such as a number. The terminal 202 connects to the content server 211 of the company that operates the vending machine. The identification server identifies the particular vending machine by identifying and decoding the unique identifying mark. The identity of the particular machine is included in the target object information 209 and is sent from the terminal 202 to the content server 211. The content server 211, having the identification of the particular vending machine (target object 200), initiates communication with the vending machine. The User performs a transaction with the vending machine, such as purchasing a product, using his terminal 202 that communicates with the vending machine via the content server 211.

The User “points and clicks” on part of a machine, such as an aircraft part. The terminal 202 then displays information pertinent to the part, such as maintenance instructions or repair history.

The User “points and clicks” on a magazine or newspaper article and link to streaming audio or video content, further information, etc.

The User “points and clicks” on an automobile. The location of the terminal 206 is determined by a Global Position System receiver in the terminal 206, by cellular network radio ranging, or by another technique. The position of the terminal 202 is sent to the content server 211. The content server provides the User with information regarding the automobile, such as price and features, and furthermore, based on the position information, provides the User with the location of a nearby automobile dealer that sells the car. This same technique can be used to direct Users to nearby retail stores selling items appearing in magazine advertisements that Users “point and click” on.

For visually impaired people:

FIG. 6 shows an embodiment of the invention for spacecraft applications. In this embodiment, all components of the system (except the target object 300) are onboard a Spacecraft. The target object 300 is another spacecraft or object. This embodiment is used to determine the position and orientation of the target object 300 relative to the Spacecraft so that this information can be used in navigating, guiding, and maneuvering the spacecraft relative to the target object 300. An example use of this embodiment would be in autonomous spacecraft rendezvous and docking.

This embodiment determines the position and orientation of the target object 300, relative to the Spacecraft, as determined by the position, orientation, and size of the target object 300 in the imagery captured by the camera 303, by comparing the imagery with views of the target object 300 from different orientations that are stored in the database 308. The relative position and orientation of the target object 300 are output in the target object information, so that the spacecraft data system 310 can use this information in planning trajectories and maneuvers.

The industrial applicability is anywhere that objects are to be identified by a digital optical representation of the object.

Boncyk, Wayne C., Cohen, Ronald H.

Patent Priority Assignee Title
10003833, Jan 18 2011 HSNi, LLC System and method for recognition of items in media data and delivery of information related thereto
10013423, Feb 02 2012 Visa International Service Association Multi-source, multi-dimensional, cross-entity, multimedia analytical model sharing database platform apparatuses, methods and systems
10037537, Feb 19 2016 Alitheon, Inc.; ALITHEON, INC Personal history in track and trace system
10043073, Mar 02 2011 ALITHEON, INC Document authentication using extracted digital fingerprints
10078832, Aug 24 2011 Visa International Service Association Method for using barcodes and mobile devices to conduct payment transactions
10095945, Feb 14 2014 NANT HOLDINGS IP, LLC Object ingestion through canonical shapes, systems and methods
10096022, Dec 13 2011 Visa International Service Association Dynamic widget generator apparatuses, methods and systems
10102195, Jun 25 2014 Amazon Technologies, Inc Attribute fill using text extraction
10108589, Feb 25 2013 NANT HOLDINGS IP, LLC Link association analysis systems and methods
10121129, Jul 05 2011 Visa International Service Association Electronic wallet checkout platform apparatuses, methods and systems
10122889, May 08 2017 Bank of America Corporation Device for generating a resource distribution document with physical authentication markers
10127733, Apr 08 2011 NANT HOLDINGS IP, LLC Interference based augmented reality hosting platforms
10129126, Jun 08 2016 Bank of America Corporation System for predictive usage of resources
10130196, Aug 07 2014 Artform International Limited Product display shelf, system and method
10133742, May 24 2012 NANT HOLDINGS IP, LLC Event archiving, systems and methods
10136168, Jan 18 2011 HSNi LLC System and method for recognition of items in media data and delivery of information related thereto
10140317, Oct 17 2013 NANT HOLDINGS IP, LLC Wide area augmented reality location-based services
10154084, Jul 05 2011 Visa International Service Association Hybrid applications utilizing distributed models and views apparatuses, methods and systems
10178101, Jun 08 2016 Bank of America Corporation System for creation of alternative path to resource acquisition
10191559, Jan 30 2004 ELECTRONIC SCRIPTING PRODUCTS, INC Computer interface for manipulated objects with an absolute pose detection component
10192140, Mar 02 2012 ALITHEON, INC Database for detecting counterfeit items using digital fingerprint records
10204327, Feb 05 2011 Visa International Service Association Merchant-consumer bridging platform apparatuses, methods and systems
10216984, Jun 17 2014 NANT HOLDINGS IP, LLC Activity recognition systems and methods
10223691, Feb 22 2011 Visa International Service Association Universal electronic payment apparatuses, methods and systems
10223710, Jan 04 2013 Visa International Service Association Wearable intelligent vision device apparatuses, methods and systems
10223730, Sep 23 2011 Visa International Service Association E-wallet store injection search apparatuses, methods and systems
10242358, Aug 18 2011 Visa International Service Association Remote decoupled application persistent state apparatuses, methods and systems
10255552, Mar 22 2011 NANT HOLDINGS IP, LLC Reasoning engine services
10262001, Feb 02 2012 Visa International Service Association Multi-source, multi-dimensional, cross-entity, multimedia merchant analytics database platform apparatuses, methods and systems
10262148, Jan 09 2012 Visa International Service Association Secure dynamic page content and layouts apparatuses, methods and systems
10268890, Mar 08 2011 Bank of America Corporation Retrieving product information from embedded sensors via mobile device video analysis
10268891, Mar 08 2011 Bank of America Corporation Retrieving product information from embedded sensors via mobile device video analysis
10290005, Feb 19 2016 Alitheon, Inc.; ALITHEON, INC Preserving a level of confidence of authenticity of an object
10291487, Jun 08 2016 Bank of America Corporation System for predictive acquisition and use of resources
10296839, Mar 22 2011 NANT HOLDINGS IP, LLC Relationship reasoning engines
10296840, Mar 22 2011 NANT HOLDINGS IP, LLC Reasoning engine services
10313337, Nov 04 2010 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT System and method for protecting specified data combinations
10313480, Jun 22 2017 Bank of America Corporation Data transmission between networked resources
10318941, Dec 13 2011 Visa International Service Association Payment platform interface widget generation apparatuses, methods and systems
10346852, Feb 19 2016 Alitheon, Inc.; ALITHEON, INC Preserving authentication under item change
10354194, Mar 22 2011 NANT HOLDINGS IP, LLC Reasoning engine services
10354240, Aug 18 2011 Visa International Service Association Multi-directional wallet connector apparatuses, methods and systems
10367786, Aug 12 2008 Musarubra US LLC Configuration management for a capture/registration system
10373316, Apr 20 2017 Ford Global Technologies, LLC Images background subtraction for dynamic lighting scenarios
10388409, Oct 06 2011 NANT HOLDINGS IP, LLC Healthcare object recognition systems and methods
10402661, Jul 22 2013 Opengate Development, LLC Shape/object recognition using still/scan/moving image optical digital media processing
10402815, Aug 24 2011 Visa International Service Association Method for using barcodes and mobile devices to conduct payment transactions
10403051, Apr 08 2011 NANT HOLDINGS IP, LLC Interference based augmented reality hosting platforms
10405674, Mar 23 2016 Retail Space Solutions LLC Low product indicator for self facing merchandiser and related methods
10419529, Jul 05 2011 Visa International Service Association Hybrid applications utilizing distributed models and views apparatuses, methods and systems
10430381, Feb 02 2012 Visa International Service Association Multi-source, multi-dimensional, cross-entity, multimedia centralized personal information database platform apparatuses, methods and systems
10430499, Feb 25 2013 NANT HOLDINGS IP, LLC Link association analysis systems and methods
10432601, Feb 24 2012 NANT HOLDINGS IP, LLC Content activation via interaction-based authentication, systems and method
10433196, Jun 08 2016 Bank of America Corporation System for tracking resource allocation/usage
10438176, Jul 17 2011 Visa International Service Association Multiple merchant payment processor platform apparatuses, methods and systems
10438196, Nov 21 2011 FINTIV, INC Using a mobile wallet infrastructure to support multiple mobile wallet providers
10438260, Jun 15 2007 Amazon Technologies, Inc. System and method for evaluating correction submissions with supporting evidence
10438264, Aug 31 2016 Amazon Technologies, Inc. Artificial intelligence feature extraction service for products
10460446, Oct 16 2017 NANT HOLDINGS IP, LLC Image-based circular plot recognition and interpretation
10469912, Dec 13 2013 NANT HOLDINGS IP, LLC Visual hash tags via trending recognition activities, systems and methods
10470594, Aug 07 2014 Artform International Limited Product display shelf, system and method
10482398, Feb 28 2011 Visa International Service Association Secure anonymous transaction apparatuses, methods and systems
10489756, May 11 2011 Toyota Jidosha Kabushiki Kaisha Electronic receipt manager apparatuses, methods and systems
10500481, Oct 20 2010 Playspan Inc. Dynamic payment optimization apparatuses, methods and systems
10511692, Jun 22 2017 Bank of America Corporation Data transmission to a networked resource based on contextual information
10524165, Jun 22 2017 Bank of America Corporation Dynamic utilization of alternative resources based on token association
10540319, May 24 2012 NANT HOLDINGS IP, LLC Event archiving, systems and methods
10540664, Feb 19 2016 Alitheon, Inc. Preserving a level of confidence of authenticity of an object
10572724, Jun 17 2014 NANT HOLDINGS IP, LLC Activity recognition systems and methods
10572883, Feb 19 2016 Alitheon, Inc.; ALITHEON, INC Preserving a level of confidence of authenticity of an object
10581988, Jun 08 2016 Bank of America Corporation System for predictive use of resources
10586227, Feb 16 2011 Visa International Service Association Snap mobile payment apparatuses, methods and systems
10588427, Mar 23 2016 Retail Space Solutions LLC Low product indicator for self facing merchandiser and related methods
10607424, Feb 10 2012 Appareo Systems, LLC Frequency-adaptable structural health and usage monitoring system (HUMS) and method with smart sensors
10614302, May 26 2016 Alitheon, Inc. Controlled authentication of physical objects
10621363, Jun 13 2017 Bank of America Corporation Layering system for resource distribution document authentication
10621594, Feb 19 2016 Alitheon, Inc.; ALITHEON, INC Multi-level authentication
10621605, Feb 10 2011 Visa International Service Association Electronic coupon issuance and redemption apparatuses, methods and systems
10628673, Jul 19 2013 NANT HOLDINGS IP, LLC Fast recognition algorithm processing, systems and methods
10664518, Oct 17 2013 NANT HOLDINGS IP, LLC Wide area augmented reality location-based services
10666646, Nov 04 2010 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT System and method for protecting specified data combinations
10685379, Jan 05 2012 Visa International Service Association Wearable intelligent vision device apparatuses, methods and systems
10688385, Oct 20 2010 Playspan Inc. In-application universal storefront apparatuses, methods and systems
10702076, Jan 18 2016 Atlas Bolt & Screw Company LLC Sensors, devices, adapters and mating structures for merchandisers and related methods
10706216, Feb 25 2013 NANT HOLDINGS IP, LLC Link association analysis systems and methods
10706449, Jun 13 2016 NUTRAPAS LLC Systems and methods for a real time configuring, ordering and manufacturing of color related products
10726632, Apr 08 2011 NANT HOLDINGS IP, LLC Interference based augmented reality hosting platforms
10740767, Jun 28 2016 Alitheon, Inc.; ALITHEON, INC Centralized databases storing digital fingerprints of objects for collaborative authentication
10762433, Mar 22 2011 NANT HOLDINGS IP, LLC Distributed relationship reasoning engine for generating hypothesis about relations between aspects of objects in response to an inquiry
10779019, Jan 18 2011 HSNi, LLC System and method for recognition of items in media data and delivery of information related thereto
10803449, Jul 05 2011 Visa International Service Association Electronic wallet checkout platform apparatuses, methods and systems
10825001, Aug 18 2011 Visa International Service Association Multi-directional wallet connector apparatuses, methods and systems
10832075, Feb 14 2014 NANT HOLDINGS IP, LLC Object ingestion through canonical shapes, systems and methods
10839528, Aug 19 2016 Alitheon, Inc. Authentication-based tracking
10841292, Feb 24 2012 NANT HOLDINGS IP, LLC Content activation via interaction-based authentication, systems and method
10846670, Dec 13 2011 Visa International Service Association Payment platform interface widget generation apparatuses, methods and systems
10861026, Feb 19 2016 Alitheon, Inc. Personal history in track and trace system
10867301, Apr 18 2016 ALITHEON, INC Authentication-triggered processes
10872195, Feb 25 2013 NANT HOLDINGS IP, LLC Link association analysis systems and methods
10872265, Mar 02 2011 Alitheon, Inc. Database for detecting counterfeit items using digital fingerprint records
10891039, Jan 14 2013 NANT HOLDINGS IP, LLC Shared real-time content editing activated by an image
10902540, Aug 12 2016 ALITHEON, INC Event-driven authentication of physical objects
10915612, Jul 05 2016 Alitheon, Inc.; ALITHEON, INC Authenticated production
10915749, Mar 02 2011 Alitheon, Inc. Authentication of a suspect object using extracted native features
10952548, Oct 18 2016 Retail Space Solutions LLC Illuminated merchandiser, retrofit kit and related methods
10963670, Feb 06 2019 Alitheon, Inc. Object change detection and measurement using digital fingerprints
10977624, Apr 12 2017 Bank of America Corporation System for generating paper and digital resource distribution documents with multi-level secure authorization requirements
10983960, Feb 02 2012 Visa International Service Association Multi-source, multi-dimensional, cross-entity, multimedia centralized personal information database platform apparatuses, methods and systems
10986541, Jun 22 2017 Bank of America Corporation Dynamic utilization of alternative resources based on token association
11004129, Oct 31 2005 SONY EUROPE B V Image processing
11010753, Jul 05 2011 Visa International Service Association Electronic wallet checkout platform apparatuses, methods and systems
11010756, Aug 18 2011 Visa International Service Association Remote decoupled application persistent state apparatuses, methods and systems
11017897, Mar 22 2011 NANT HOLDINGS IP, LLC Healthcare management objects
11023886, Feb 22 2011 Visa International Service Association Universal electronic payment apparatuses, methods and systems
11036681, Feb 02 2012 Visa International Service Association Multi-source, multi-dimensional, cross-entity, multimedia analytical model sharing database platform apparatuses, methods and systems
11037138, Aug 18 2011 Visa International Service Association Third-party value added wallet features and interfaces apparatuses, methods, and systems
11061855, May 24 2012 NANT HOLDINGS IP, LLC Event archiving, systems and methods
11062118, Jul 25 2017 ALITHEON, INC Model-based digital fingerprinting
11068909, Feb 19 2016 Alitheon, Inc. Multi-level authentication
11074218, Feb 02 2012 Visa International Service Association Multi-source, multi-dimensional, cross-entity, multimedia merchant analytics database platform apparatuses, methods and systems
11087013, Jan 22 2018 ALITHEON, INC Secure digital fingerprint key object database
11093919, Feb 05 2011 Visa International Service Association Merchant-consumer bridging platform apparatuses, methods and systems
11100517, Feb 19 2016 Alitheon, Inc. Preserving authentication under item change
11107289, Apr 08 2011 NANT HOLDINGS IP, LLC Interference based augmented reality hosting platforms
11115724, Dec 13 2013 NANT HOLDINGS IP, LLC Visual hash tags via trending recognition activities, systems and methods
11120413, Jun 03 2011 FINTIV, INC Monetary transaction system
11170882, Oct 06 2011 NANT HOLDINGS IP, LLC Healthcare object recognition, systems and methods
11190617, Jun 22 2017 Bank of America Corporation Data transmission to a networked resource based on contextual information
11216468, Feb 08 2015 Visa International Service Association Converged merchant processing apparatuses, methods and systems
11232292, Jun 17 2014 NANT HOLDINGS IP, LLC Activity recognition systems and methods
11237715, Jan 14 2013 NANT HOLDINGS IP, LLC Shared real-time content editing activated by an image
11238146, Oct 17 2019 ALITHEON, INC Securing composite objects using digital fingerprints
11250286, May 02 2019 ALITHEON, INC Automated authentication region localization and capture
11250352, Feb 28 2011 Visa International Service Association Secure anonymous transaction apparatuses, methods and systems
11263601, May 11 2011 Visa International Service Association Electronic receipt manager apparatuses, methods and systems
11263640, Mar 04 2011 Visa International Service Association Cloud service facilitator apparatuses, methods and systems
11288661, Feb 16 2011 Visa International Service Association Snap mobile payment apparatuses, methods and systems
11291312, Mar 23 2016 Retail Space Solutions LLC Low product indicator for self facing merchandiser and related methods
11295281, Jun 03 2011 FINTIV, INC Monetary transaction system
11301872, Feb 19 2016 Alitheon, Inc. Personal history in track and trace system
11308227, Jan 09 2012 Visa International Service Association Secure dynamic page content and layouts apparatuses, methods and systems
11311797, Oct 20 2010 Playspan Inc. Dynamic payment optimization apparatuses, methods and systems
11316848, Nov 04 2010 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT System and method for protecting specified data combinations
11321964, May 10 2019 ALITHEON, INC Loop chain digital fingerprint method and system
11341348, Mar 23 2020 Alitheon, Inc. Hand biometrics system and method using digital fingerprints
11354723, Sep 23 2011 Visa International Service Association Smart shopping cart with E-wallet store injection search
11379856, Jun 28 2016 Alitheon, Inc. Centralized databases storing digital fingerprints of objects for collaborative authentication
11380080, Feb 14 2014 NANT HOLDINGS IP, LLC Object ingestion through canonical shapes, systems and methods
11386472, Jun 13 2016 NUTRAPAS LLC Systems and methods for a real time configuring, ordering and manufacturing of color related products
11386697, Feb 06 2019 Alitheon, Inc. Object change detection and measurement using digital fingerprints
11392636, Oct 17 2013 NANT HOLDINGS IP, LLC Augmented reality position-based service, methods, and systems
11397931, Aug 18 2011 Visa International Service Association Multi-directional wallet connector apparatuses, methods and systems
11405664, Jan 18 2011 HSNi, LLC System and method for recognition of items in media data and delivery of information related thereto
11412054, Jun 08 2016 Bank of America Corporation System for predictive use of resources
11423641, Mar 02 2011 Alitheon, Inc. Database for detecting counterfeit items using digital fingerprint records
11468434, Nov 21 2011 FINTIV, INC Using a mobile wallet infrastructure to support multiple mobile wallet providers
11475637, Oct 21 2019 WORMHOLE LABS, INC Multi-instance multi-user augmented reality environment
11488413, Feb 06 2019 Alitheon, Inc. Object change detection and measurement using digital fingerprints
11503007, Feb 24 2012 NANT HOLDINGS IP, LLC Content activation via interaction-based authentication, systems and method
11514652, Apr 08 2011 NANT HOLDINGS IP, LLC Interference based augmented reality hosting platforms
11543953, Jan 14 2013 NANT HOLDINGS IP, LLC Shared real-time content editing activated by an image
11568683, Mar 23 2020 ALITHEON, INC Facial biometrics system and method using digital fingerprints
11577159, May 26 2016 ELECTRONIC SCRIPTING PRODUCTS, INC Realistic virtual/augmented/mixed reality viewing and interactions
11587432, Aug 19 2008 Digimarc Corporation Methods and systems for content processing
11593503, Jan 22 2018 Alitheon, Inc. Secure digital fingerprint key object database
11593815, Feb 19 2016 Alitheon Inc. Preserving authentication under item change
11631481, Oct 06 2011 NANT HOLDINGS IP, LLC Healthcare object recognition, systems and methods
11636191, Jul 05 2016 Alitheon, Inc. Authenticated production
11663849, Apr 23 2020 ALITHEON, INC Transform pyramiding for fingerprint matching system and method
11682026, Feb 19 2016 Alitheon, Inc. Personal history in track and trace system
11688060, Oct 16 2017 NANT HOLDINGS IP, LLC Image-based circular plot recognition and interpretation
11700123, Jun 17 2020 ALITHEON, INC Asset-backed digital security tokens
11741205, Aug 19 2016 Alitheon, Inc. Authentication-based tracking
11748990, Feb 14 2014 NANT HOLDINGS IP, LLC Object ingestion and recognition systems and methods
11763294, Aug 18 2011 Visa International Service Association Remote decoupled application persistent state apparatuses, methods and systems
11803825, Aug 18 2011 Visa International Service Association Multi-directional wallet connector apparatuses, methods and systems
11817192, Oct 06 2011 NANT HOLDINGS IP, LLC Healthcare object recognition, systems and methods
11830003, Apr 18 2016 Alitheon, Inc. Authentication-triggered processes
11837027, Jun 17 2014 NANT HOLDINGS IP, LLC Activity recognition systems and methods
11843709, Jan 22 2018 Alitheon, Inc. Secure digital fingerprint key object database
11853977, May 11 2011 Visa International Service Association Electronic receipt manager apparatuses, methods and systems
11854153, Apr 08 2011 NANT HOLDINGS IP, LLC Interference based augmented reality hosting platforms
11861154, Jan 14 2013 NANT HOLDINGS IP, LLC Shared real-time content editing activated by an image
11869160, Apr 08 2011 NANT HOLDINGS IP, LLC Interference based augmented reality hosting platforms
11900276, Mar 22 2011 NANT HOLDINGS IP, LLC Distributed relationship reasoning engine for generating hypothesis about relations between aspects of objects in response to an inquiry
11900359, Jul 05 2011 Visa International Service Association Electronic wallet checkout platform apparatuses, methods and systems
11915503, Jan 28 2020 ALITHEON, INC Depth-based digital fingerprinting
7577684, Apr 04 2006 Sony Corporation; Sony Electronics Inc. Fast generalized 2-Dimensional heap for Hausdorff and earth mover's distance
7602976, Feb 17 2006 Sony Corporation; Sony Electronics Inc.; Sony Electronics INC Compressible earth mover's distance
7657104, Nov 21 2005 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Identifying image type in a capture system
7689614, May 22 2006 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Query generation for a capture system
7730011, Oct 19 2005 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Attributes of captured objects in a capture system
7751805, Feb 20 2004 GOOGLE LLC Mobile image-based information retrieval system
7774604, Dec 10 2003 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Verifying captured objects before presentation
7814327, Dec 10 2003 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Document registration
7818326, Aug 31 2005 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT System and method for word indexing in a capture system and querying thereof
7819314, Dec 27 2004 Evolution Robotics Retail, Inc. Systems and methods for merchandise checkout
7899828, Dec 10 2003 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Tag data structure for maintaining relational data over captured objects
7907608, Aug 12 2005 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT High speed packet capture
7909248, Aug 17 2007 DATALOGIC ADC, INC Self checkout with visual recognition
7930540, Jan 22 2004 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Cryptographic policy enforcement
7949849, Aug 24 2004 JPMORGAN CHASE BANK, N A ; MORGAN STANLEY SENIOR FUNDING, INC File system for a capture system
7958227, May 22 2006 JPMORGAN CHASE BANK, N A ; MORGAN STANLEY SENIOR FUNDING, INC Attributes of captured objects in a capture system
7962128, Feb 20 2004 GOOGLE LLC Mobile image-based information retrieval system
7962591, Jun 23 2004 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Object classification in a capture system
7984175, Dec 10 2003 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Method and apparatus for data capture and analysis system
8005863, May 22 2006 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Query generation for a capture system
8010689, May 22 2006 Musarubra US LLC Locational tagging in a capture system
8064727, Sep 22 2005 GOOGLE LLC Adaptive image maps
8068674, Sep 04 2007 DATALOGIC ADC, INC UPC substitution fraud prevention
8090712, May 16 2006 Canon Kabushiki Kaisha Method for navigating large image sets using sort orders
8108055, Dec 28 2007 Method, system and apparatus for controlling an electrical device
8166307, Dec 10 2003 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Document registration
8176049, Oct 19 2005 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Attributes of captured objects in a capture system
8179563, Aug 23 2004 Kyocera Corporation Portable scanning device
8194986, Aug 19 2008 Digimarc Corporation Methods and systems for content processing
8196822, Aug 17 2007 DATALOGIC ADC, INC Self checkout with visual recognition
8200026, Nov 21 2005 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Identifying image type in a capture system
8205242, Jul 10 2008 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT System and method for data mining and security policy management
8261094, Apr 19 2004 Kyocera Corporation Secure data gathering from rendered documents
8267316, Dec 27 2004 DATALOGIC ADC, INC Systems and methods for merchandise checkout
8271794, Dec 10 2003 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Verifying captured objects before presentation
8279716, Oct 26 2011 GOOGLE LLC Smart-watch including flip up display
8301635, Dec 10 2003 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Tag data structure for maintaining relational data over captured objects
8307007, May 22 2006 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Query generation for a capture system
8307206, Jan 22 2004 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Cryptographic policy enforcement
8319665, Feb 20 2009 Appareo Systems, LLC Adaptive instrument and operator control recognition
8319666, Feb 20 2009 Appareo Systems, LLC Optical image monitoring system and method for vehicles
8331628, Dec 08 2008 Vision assistance using mobile telephone
8379488, Oct 26 2011 GOOGLE LLC Smart-watch including flip up display
8418055, Feb 18 2009 Kyocera Corporation Identifying a document by performing spectral analysis on the contents of the document
8428754, Dec 28 2007 Method, system and apparatus for controlling an electrical device
8430311, Feb 27 2004 DATALOGIC ADC, INC Systems and methods for merchandise automatic checkout
8438110, Mar 08 2011 Bank of America Corporation Conducting financial transactions based on identification of individuals in an augmented reality environment
8447066, Mar 12 2009 Kyocera Corporation Performing actions based on capturing information from rendered documents, such as documents under copyright
8447722, Mar 25 2009 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT System and method for data mining and security policy management
8463800, Oct 19 2005 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Attributes of captured objects in a capture system
8473442, Feb 25 2009 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT System and method for intelligent state management
8474715, Aug 17 2007 Datalogic ADC, Inc. Self checkout with visual recognition
8503791, Aug 19 2008 Digimarc Corporation Methods and systems for content processing
8504537, Mar 24 2006 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Signature distribution in a document registration system
8505090, Apr 01 2004 Kyocera Corporation Archive of text captures from rendered documents
8520979, Aug 19 2008 Digimarc Corporation Methods and systems for content processing
8548170, Dec 10 2003 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Document de-registration
8548214, Mar 08 2011 Bank of America Corporation Providing information regarding medical conditions
8554774, Aug 31 2005 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT System and method for word indexing in a capture system and querying thereof
8560534, Aug 23 2004 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Database for a capture system
8560808, Jan 03 2012 BEIJING ZITIAO NETWORK TECHNOLOGY CO , LTD Dynamically updating current communication information
8566605, Jan 03 2012 BEIJING ZITIAO NETWORK TECHNOLOGY CO , LTD Dynamically updating current communication information
8571888, Mar 08 2011 Bank of America Corporation Real-time image analysis for medical savings plans
8571937, Oct 20 2010 PLAYSPAN INC Dynamic payment optimization apparatuses, methods and systems
8577803, Jun 03 2011 Visa International Service Association Virtual wallet card selection apparatuses, methods and systems
8582850, Mar 08 2011 Bank of America Corporation Providing information regarding medical conditions
8600196, Sep 08 2006 Kyocera Corporation Optical scanners, such as hand-held optical scanners
8601537, Jul 10 2008 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT System and method for data mining and security policy management
8606021, Aug 19 2008 Digimarc Corporation Methods and systems for content processing
8606316, Oct 21 2009 Xerox Corporation Portable blind aid device
8611601, Mar 08 2011 Bank of America Corporation Dynamically indentifying individuals from a captured image
8620083, Dec 03 2004 Kyocera Corporation Method and system for character recognition
8635706, Jul 10 2008 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT System and method for data mining and security policy management
8638363, Feb 18 2009 Kyocera Corporation Automatically capturing information, such as capturing information using a document-aware device
8656039, Dec 10 2003 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Rule parser
8660951, Mar 08 2011 Bank of America Corporation Presenting offers on a mobile communication device
8667121, Mar 25 2009 Musarubra US LLC System and method for managing data and policies
8668498, Mar 08 2011 Bank of America Corporation Real-time video image analysis for providing virtual interior design
8683035, May 22 2006 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Attributes of captured objects in a capture system
8687898, Feb 01 2010 Toyota Jidosha Kabushiki Kaisha System and method for object recognition based on three-dimensional adaptive feature detectors
8688508, Jun 15 2007 Amazon Technologies, Inc System and method for evaluating correction submissions with supporting evidence
8688559, Mar 08 2011 Bank of America Corporation Presenting investment-related information on a mobile communication device
8700561, Dec 27 2011 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT System and method for providing data protection workflows in a network environment
8706709, Jan 15 2009 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT System and method for intelligent term grouping
8707008, Aug 24 2004 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT File system for a capture system
8718612, Mar 08 2011 Bank of American Corporation Real-time analysis involving real estate listings
8721337, Mar 08 2011 Bank of America Corporation Real-time video image analysis for providing virtual landscaping
8730955, Aug 12 2005 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT High speed packet capture
8736458, Apr 29 2010 Signature Research, Inc. Weigh-in-motion scale
8744230, Aug 12 2011 BAE Systems Information and Electronic Systems Integration Inc. Method for real-time correlation of streaming video to geolocation
8762386, Dec 10 2003 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Method and apparatus for data capture and analysis system
8779944, Feb 20 2009 Appareo Systems, LLC Optical image monitoring system and method for vehicles
8781228, Apr 01 2004 Kyocera Corporation Triggering actions in response to optically or acoustically capturing keywords from a rendered document
8799099, May 17 2004 Kyocera Corporation Processing techniques for text capture from a rendered document
8799201, Jul 25 2011 Toyota Jidosha Kabushiki Kaisha Method and system for tracking objects
8806615, Nov 04 2010 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT System and method for protecting specified data combinations
8811711, Mar 08 2011 Bank of America Corporation Recognizing financial document images
8831365, Apr 01 2004 Kyocera Corporation Capturing text from rendered documents using supplement information
8850591, Jan 13 2009 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT System and method for concept building
8860787, May 11 2011 GOOGLE LLC Method and apparatus for telepresence sharing
8873807, Mar 08 2011 Bank of America Corporation Vehicle recognition
8874504, Dec 03 2004 Kyocera Corporation Processing techniques for visual capture data from a rendered document
8892495, Feb 01 1999 Blanding Hovenweep, LLC; HOFFBERG FAMILY TRUST 1 Adaptive pattern recognition based controller apparatus and method and human-interface therefore
8902714, Oct 26 2011 GOOGLE LLC Smart-watch including flip up display
8918359, Mar 25 2009 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT System and method for data mining and security policy management
8922657, Mar 08 2011 Bank of America Corporation Real-time video image analysis for providing security
8929591, Mar 08 2011 Bank of America Corporation Providing information associated with an identified representation of an object
8953886, Aug 23 2004 Kyocera Corporation Method and system for character recognition
8990235, Mar 12 2009 Kyocera Corporation Automatically providing content associated with captured information, such as information captured in real-time
9075779, Mar 12 2009 Kyocera Corporation Performing actions based on capturing information from rendered documents, such as documents under copyright
9081799, Dec 04 2009 GOOGLE LLC Using gestalt information to identify locations in printed information
9091221, Jun 17 2009 HITACHI CONSTRUCTION MACHINERY CO , LTD Engine speed control device for industrial vehicle
9092471, Dec 10 2003 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Rule parser
9094338, May 22 2006 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Attributes of captured objects in a capture system
9104915, Aug 19 2008 Digimarc Corporation Methods and systems for content processing
9105011, Mar 08 2011 Bank of America Corporation Prepopulating application forms using real-time video analysis of identified objects
9116890, Apr 01 2004 Kyocera Corporation Triggering actions in response to optically or acoustically capturing keywords from a rendered document
9117225, Sep 16 2011 Visa International Service Association Apparatuses, methods and systems for transforming user infrastructure requests inputs to infrastructure design product and infrastructure allocation outputs
9143638, Apr 01 2004 Kyocera Corporation Data capture from rendered documents using handheld device
9165294, Aug 24 2011 Visa International Service Association Method for using barcodes and mobile devices to conduct payment transactions
9177381, Dec 22 2010 QUTBLUEBOX PTY LIMITED IN ITS CAPACITY AS TRUSTEE FOR THE QUTBLUEBOX TRUST Depth estimate determination, systems and methods
9195937, Feb 25 2009 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT System and method for intelligent state management
9208488, Nov 21 2011 FINTIV, INC Using a mobile wallet infrastructure to support multiple mobile wallet providers
9223902, Nov 29 2011 Amazon Technologies, Inc Architectures for content identification
9224166, Mar 08 2011 Bank of America Corporation Retrieving product information from embedded sensors via mobile device video analysis
9253154, Aug 12 2008 Musarubra US LLC Configuration management for a capture/registration system
9268852, Apr 01 2004 Kyocera Corporation Search engines and systems with handheld document data capture devices
9269105, Oct 31 2005 SONY EUROPE B V Image processing
9275051, Jul 19 2004 Kyocera Corporation Automatic modification of web pages
9305215, Aug 17 2012 NHN Corporation Apparatus, method and computer readable recording medium for analyzing video using image captured from video
9313232, Mar 25 2009 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT System and method for data mining and security policy management
9317835, Mar 08 2011 Bank of America Corporation Populating budgets and/or wish lists using real-time video image analysis
9317860, Mar 08 2011 Bank of America Corporation Collective network of augmented reality users
9323784, Dec 09 2009 Kyocera Corporation Image search using text-based elements within the contents of images
9344774, Jan 18 2011 HSNi, LLC System and method for recognition of items in media data and delivery of information related thereto
9350552, Mar 02 2011 ALITHEON, INC Document fingerprinting
9355393, Aug 18 2011 Visa International Service Association Multi-directional wallet connector apparatuses, methods and systems
9374225, Dec 10 2003 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT Document de-registration
9396589, Apr 08 2011 NANT HOLDINGS IP, LLC Interference based augmented reality hosting platforms
9406031, Mar 08 2011 Bank of America Corporation Providing social impact information associated with identified products or businesses
9430564, Dec 27 2011 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT System and method for providing data protection workflows in a network environment
9443298, Mar 02 2012 ALITHEON, INC Digital fingerprinting object authentication and anti-counterfeiting system
9501498, Feb 14 2014 NANT HOLDINGS IP, LLC Object ingestion through canonical shapes, systems and methods
9503762, Jan 18 2011 HSNi, LLC System and method for recognition of items in media data and delivery of information related thereto
9508009, Jul 19 2013 NANT HOLDINGS IP, LLC Fast recognition algorithm processing, systems and methods
9514134, Apr 01 2004 Kyocera Corporation Triggering actions in response to optically or acoustically capturing keywords from a rendered document
9519913, Mar 08 2011 Bank of America Corporation Providing social impact information associated with identified products or businesses
9519923, Mar 08 2011 Bank of America Corporation System for collective network of augmented reality users
9519924, Mar 08 2011 Bank of America Corporation Method for collective network of augmented reality users
9519932, Mar 08 2011 Bank of America Corporation System for populating budgets and/or wish lists using real-time video image analysis
9524524, Mar 08 2011 Bank of America Corporation Method for populating budgets and/or wish lists using real-time video image analysis
9530100, Mar 22 2011 NANT HOLDINGS IP, LLC Reasoning engines
9530145, Mar 08 2011 Bank of America Corporation Providing social impact information associated with identified products or businesses
9535563, Feb 01 1999 Blanding Hovenweep, LLC; HOFFBERG FAMILY TRUST 1 Internet appliance system and method
9544655, Dec 13 2013 NANT HOLDINGS IP, LLC Visual hash tags via trending recognition activities, systems and methods
9547678, Jun 17 2014 NANT HOLDINGS IP, LLC Activity recognition systems and methods
9576242, Mar 22 2011 NANT HOLDINGS IP, LLC Reasoning engine services
9582714, Mar 02 2011 ALITHEON, INC Digital fingerprinting track and trace system
9587946, Jun 16 2010 NAVITIME JAPAN CO , LTD Navigation system, terminal apparatus, navigation server, navigation apparatus, navigation method, and computer program product
9602548, Feb 25 2009 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT System and method for intelligent state management
9613061, Mar 19 2004 GOOGLE LLC Image selection for news search
9626939, Mar 30 2011 Amazon Technologies, Inc. Viewer tracking image display
9633013, Apr 01 2004 Kyocera Corporation Triggering actions in response to optically or acoustically capturing keywords from a rendered document
9646206, Sep 15 2011 ALITHEON, INC Object identification and inventory management
9646291, May 11 2011 Visa International Service Association Electronic receipt manager apparatuses, methods and systems
9652765, Aug 26 2008 Visa International Service Association System and method for implementing financial assistance programs
9659104, Feb 25 2013 NANT HOLDINGS IP, LLC Link association analysis systems and methods
9678617, Jan 14 2013 NANT HOLDINGS IP, LLC Shared real-time content editing activated by an image
9681202, Jan 18 2011 HSNi, LLC System and method for recognition of items in media data and delivery of information related thereto
9690991, Jul 19 2013 NANT HOLDINGS IP, LLC Fast recognition algorithm processing, systems and methods
9710807, Aug 18 2011 Visa International Service Association Third-party value added wallet features and interfaces apparatuses, methods and systems
9757644, Oct 20 2010 PLAYSPIN INC. Dynamic payment optimization apparatuses, methods and systems
9773212, Feb 28 2011 Visa International Service Association Secure anonymous transaction apparatuses, methods and systems
9773285, Mar 08 2011 Bank of America Corporation Providing data associated with relationships between individuals and images
9794254, Nov 04 2010 JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT System and method for protecting specified data combinations
9797801, Feb 10 2012 Appareo Systems, LLC Frequency-adaptable structural health and usage monitoring system
9824501, Apr 08 2011 NANT HOLDINGS IP, LLC Interference based augmented reality hosting platforms
9830328, Feb 02 2012 Visa International Service Association Multi-source, multi-dimensional, cross-entry, multimedia merchant analytics database platform apparatuses, methods and systems
9842325, Jun 03 2011 Mozido, Inc. Monetary transaction system
9843824, Jan 18 2011 HSNi, LLC System and method for recognition of items in media data and delivery of information related thereto
9852135, Nov 29 2011 Amazon Technologies, Inc Context-aware caching
9857964, Jan 14 2013 NANT HOLDINGS IP, LLC Shared real-time content editing activated by an image
9860601, Dec 13 2013 NANT HOLDINGS IP, LLC Visual hash tags via trending recognition activities, systems and methods
9886625, Jun 17 2014 NANT HOLDINGS IP, LLC Activity recognition systems and methods
9886845, Aug 19 2008 Digimarc Corporation Methods and systems for content processing
9892386, Jun 03 2011 FINTIV, INC Monetary transaction system
9898884, Apr 04 2013 CANTALOUPE, INC Method and system of personal vending
9904850, Jul 19 2013 NANT HOLDINGS IP, LLC Fast recognition algorithm processing, systems and methods
9916290, Feb 25 2013 Nant Holdigns IP, LLC Link association analysis systems and methods
9918183, Sep 12 2008 Digimarc Corporation Methods and systems for content processing
9939911, Jan 30 2004 ELECTRONIC SCRIPTING PRODUCTS, INC Computer interface for remotely controlled objects and wearable articles with absolute pose detection component
9940655, Oct 31 2005 SONY EUROPE B V Image processing
9953334, Feb 10 2011 Visa International Service Association Electronic coupon issuance and redemption apparatuses, methods and systems
9953378, Apr 27 2012 Visa International Service Association Social checkout widget generation and integration apparatuses, methods and systems
9959531, Aug 18 2011 Visa International Service Association Multi-directional wallet connector apparatuses, methods and systems
9968845, Sep 18 2007 Sony Corporation Image processing device and image processing method, and program
9996838, Mar 04 2011 Visa International Service Association Cloud service facilitator apparatuses, methods and systems
Patent Priority Assignee Title
5579471, Nov 09 1992 GOOGLE LLC Image query system and method
5615324, Mar 17 1994 Fujitsu Limited Distributed image processing apparatus
5724579, Mar 04 1994 Olympus Optical Co., Ltd. Subordinate image processing apparatus
5768633, Sep 03 1996 Intellectual Ventures Fund 83 LLC Tradeshow photographic and data transmission system
5926116, Dec 22 1995 Sony Corporation Information retrieval apparatus and method
6055536, Jun 11 1996 Sony Corporation Information processing apparatus and information processing method
6181817, Nov 17 1997 Cornell Research Foundation, Inc Method and system for comparing data objects using joint histograms
6286036, Aug 06 1998 DIGIMARC CORPORATION AN OREGON CORPORATION Audio- and graphics-based linking to internet
6393147, Apr 13 1998 Intel Corporation Color region based recognition of unidentified objects
6842181, Nov 27 2000 Intel Corporation Euler vector for color images
6885771, Apr 07 1999 Panasonic Corporation Image recognition method and apparatus utilizing edge detection based on magnitudes of color vectors expressing color attributes of respective pixels of color image
7362922, Dec 13 2001 FUJIFILM Corporation Image database apparatus and method of controlling operation of same
20020055957,
20020089524,
20020102966,
20020103813,
20020140988,
20020156866,
EP920179,
WO2082799,
/////////////////////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Nov 05 2002Evryx Technologies, Inc.(assignment on the face of the patent)
Mar 04 2004BONCYK, WAYNE C Evryx TechnologiesASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0151120077 pdf
Mar 04 2004COHEN, RONALD H Evryx TechnologiesASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0151120077 pdf
Apr 11 2004COHEN, RONALD H Evryx TechnologiesASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0152290144 pdf
Apr 12 2004BONCYK, WAYNE C Evryx TechnologiesASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0152290144 pdf
Oct 06 2009EVRYX TECHNOLOGIES, INC G TYLER RUNNELS & JASMINE NIKLAS RUNNELS TTE THE RUNNELS FAMILY TRUSTSECURITY AGREEMENT0237500778 pdf
Oct 06 2009EVRYX TECHNOLOGIES, INC BRISTOL INVESTMENT FUND, LTD SECURITY AGREEMENT0237500778 pdf
Oct 06 2009EVRYX TECHNOLOGIES, INC EMERSON PARTNERSSECURITY AGREEMENT0237500778 pdf
Oct 06 2009EVRYX TECHNOLOGIES, INC JONATHAN M GLASER & NANCY ELLEN GLASER, TTEES OF THE JONATHAN & NANCY GLASER FAMILY TRUSTSECURITY AGREEMENT0237500778 pdf
Oct 06 2009EVRYX TECHNOLOGIES, INC IRA ROTH FBO J STEVEN EMERSON, PERSHING LLC AS CUSTODIANSECURITY AGREEMENT0237500778 pdf
Oct 06 2009EVRYX TECHNOLOGIES, INC IRA ROLLOVER II FBO J STEVEN EMERSON, PERSHING LLC AS CUSTODIANSECURITY AGREEMENT0237500778 pdf
Oct 06 2009EVRYX TECHNOLOGIES, INC HIGH TIDE, LLCSECURITY AGREEMENT0237500778 pdf
Feb 17 2011BRISTOL INVESTMENT FUND, LTD EVRYX TECHNOLOGIES, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0280500698 pdf
Feb 17 2011JONATHAN M GLASER & NANCY ELLEN GLASER, TTEES OF THE JONATHAN AND NANCY GLASER FAMILY TRUST DTD 12-16-08EVRYX TECHNOLOGIES, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0501410048 pdf
Feb 17 2011IRA ROTH FBO J STEVEN EMERSON, PERSHING LLC AS CUSTODIANEVRYX TECHNOLOGIES, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0501410033 pdf
Feb 17 2011IRA ROLLOVER II FBO J STEVEN EMERSON, PERSHING LLC AS CUSTODIANEVRYX TECHNOLOGIES, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0501410005 pdf
Feb 17 2011HIGH TIDE, LLCEVRYX TECHNOLOGIES, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0501400957 pdf
Feb 17 2011G TYLER RUNNELS AND JASMINE NIKLAS RUNNELS TTEES THE RUNNELS FAMILY TRUST DTD 1-11-2000EVRYX TECHNOLOGIES, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0501400906 pdf
Feb 17 2011EMERSON PARTNERSEVRYX TECHNOLOGIES, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0501400791 pdf
Feb 23 2011EVRYX TECHNOLOGIES, INC EVRYX ACQUISITION LLCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0262590759 pdf
May 16 2011EVRYX ACQUISITION, LLCNANT HOLDINGS IP, LLCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0263540291 pdf
Date Maintenance Fee Events
Jul 13 2012M2551: Payment of Maintenance Fee, 4th Yr, Small Entity.
Oct 02 2012STOL: Pat Hldr no Longer Claims Small Ent Stat
Nov 07 2012ASPN: Payor Number Assigned.
Jul 05 2016M1552: Payment of Maintenance Fee, 8th Year, Large Entity.
Jul 06 2020M1553: Payment of Maintenance Fee, 12th Year, Large Entity.


Date Maintenance Schedule
Jan 13 20124 years fee payment window open
Jul 13 20126 months grace period start (w surcharge)
Jan 13 2013patent expiry (for year 4)
Jan 13 20152 years to revive unintentionally abandoned end. (for year 4)
Jan 13 20168 years fee payment window open
Jul 13 20166 months grace period start (w surcharge)
Jan 13 2017patent expiry (for year 8)
Jan 13 20192 years to revive unintentionally abandoned end. (for year 8)
Jan 13 202012 years fee payment window open
Jul 13 20206 months grace period start (w surcharge)
Jan 13 2021patent expiry (for year 12)
Jan 13 20232 years to revive unintentionally abandoned end. (for year 12)