Abstract:
A system and method for performing pattern matching to locate zero or more instances of a template image in a target image. An image is received by a computer from an image source, e.g., a camera. First pattern matching is performed on the image using a first pattern matching technique to determine a plurality of candidate areas. Second pattern matching is performed on each of the candidate areas using a second different pattern matching technique to generate final pattern match results. An output is generated indicating the final pattern match results. The second pattern matching may determine a second plurality of candidate areas which may be analyzed to determine the final pattern match results. The first pattern matching may use a plurality of pattern matching techniques, the results of which may be used to select a best technique from the plurality of techniques to use for the second pattern match.
Abstract:
System and method for detecting symmetries of discrete curves. A mapping operator is applied to a first discrete curve to amplify its features, generating a first mapped discrete curve. A correlation of the first mapped discrete curve with each of a plurality of rotationally shifted versions of a second mapped discrete curve is computed, generating a corresponding plurality of correlation values. A minimum period of the two curves is determined based on the correlation values, and, based on the minimum period, a symmetry group (SG) of the two curves is determined and output. If the two curves are the same curve, the SG is the rotational SG of the discrete curve. If the second curve is a reflection of the first, the SG is the mutual reflection SG of the first. If the first and second curves are different curves, the SG is the mutual SG of the two curves.
Abstract:
System and method for determining the presence of an object of interest in a target data set. Portions of a target data set may be located that match an object of interest, e.g., in a template data set, with respect to various information, e.g., edge or boundary information. The invention includes improved methods for mapping point sets or curves to new point sets or curves for curve matching. The method determines the presence of an object of interest in a target data set despite of or using various types of topological transformations of the object of interest in the target data set. One or more mapping operators are determined based on template curves and/or example target curves. Pattern matching is performed on one or more target data sets using the mapping operator(s) to generate pattern matching results, and the pattern matching results output.
Abstract:
A system and method for scanning for an object within a region using a Low Discrepancy Sequence scanning scheme. The system may comprise a computer which includes a CPU and a memory medium which is operable to store one or more programs executable by the CPU to perform the method. The method may: 1) calculate a Low Discrepancy Sequence of points in the region; 2) generate a motion control trajectory from the Low Discrepancy Sequence of points (e.g., by generating a Traveling Salesman Path (TSP) from the Low Discrepancy Sequence of points and then re-sampling the TSP to produce a sequence of motion control points comprising the motion control trajectory); 3) scan the region along the motion control trajectory to determine one or more characteristics of the object in response to the scan. The method may also generate output indicating the one or more characteristics of the object.
Abstract:
A scanning system and method for scanning for an object within a region, or for locating a point within a region. Embodiments of the invention include a method for scanning for an object within a region using a Low Discrepancy Curve (LDC) scanning scheme. The method may: 1) generate a Low Discrepancy Sequence (LDS) of points in the region; 2) calculate an LDC in the region based on the LDS of points; and 3) scan the region along the LDC to determine one or more characteristics of the object in response to the scan. In calculating the LDC in the region based on the LDS of points, the method may connect sequential pairs of the LDS with contiguous orthogonal line segments (each parallel to a respective axis of the region), then sample the segments, generating points which may be used to generate the LDC, such as by a curve fit.
Abstract:
A system and method for estimating the shift between two signals. The shift estimation system method comprises: (a) receiving a first signal, where the first signal may be represented as a vector g having N components; (b) projecting the vector g to a space with dimension K less than N to obtain a projection vector X having K components; (c) computing measures of distance between the projection vector X and each vector in a set of stored vectors; (d) determining a stored vector p in the set of stored vectors with a minimum distance to the projection vector X. The stored vectors are generated from a template signal f, also represented as a vector with N components, by projecting shifted versions of the template signal f to the space of dimension K. The shifted versions of the template signal f may be referred to as shifted template vectors, or simply, shift vectors. The shift estimation method may provide a shift value corresponding to the shifted template vector which generates the stored vector p as an estimate for the shift between the received signal and the template signal f. The shift value defines the amount by which the template signal f must be shifted to obtain the shifted template vector.
Abstract:
A system and method for performing pattern matching to locate zero or more instances of a template image in a target image. The method first comprises sampling the template image using a Low Discrepancy sequence, also referred to as a quasi-random sequence, to determine a plurality of sample pixels in the template image which accurately characterize the template image. The Low Discrepancy sequence is designed to produce sample points which maximally avoid each other. After the template image is sampled or characterized, the method then performs pattern matching using the sample pixels and the target image to determine zero or more locations of the template image in the target image. The method may also perform a local stability analysis around at least a subset of the sample pixels to determine a lesser third number of sample pixels which have a desired degree of stability, and then perform pattern matching using the third plurality of sample pixels. In one embodiment, the local stability analysis determines a plurality of sets of sample pixels with differing stability neighborhood sizes, and the pattern matching performs a plurality of iterations of pattern matching using different sets of sample pixels, preferably performed in a coarse to fine manner, e.g., using sets of sample pixels with successively smaller stability neighborhood sizes and/or step sizes. The present invention also includes performing rotation invariant pattern matching by sampling the template image along one or more rotationally invariant paths, preferably circular perimeters, to produce one or more sets of sample pixels. These sample pixels from the circular paths are then used in the pattern matching. The rotationally invariant pattern matching may also use local stability analysis and coarse to fine searching techniques.
Abstract:
A conveyor-type sludge filtering device for extracting the liquid component from the sludge, the device including a horizontally moving supported strand of a perforate endless conveyor belt onto which a continuous flow of sludge is deposited, while rows of flow breaker members extend downwardly into the moving sludge, thereby preventing the formation of sludge layers, especially of a belt-plugging bottom layer of solid matter. The flow breakers are preferably wedge-shaped and pivotably supported on transverse rods.
Abstract:
System and method for estimating a rotational shift between a first discrete curve and a second discrete curve, where the second discrete curve is a rotationally shifted version of the first discrete curve. First and second discrete curves are received. A rotational shift between the first discrete curve and the second discrete curve is estimated based on the first discrete curve and the second discrete curve. A cumulative rotational shift is updated based on the estimated rotational shift. A rotationally shifted version of the second discrete curve is generated based on the cumulative rotational shift. The estimating, updating, and generating are performed in an iterative manner using the respective rotationally shifted discrete curve for each iteration until a stopping condition occurs, thereby determining a final estimate of the rotational shift between the first discrete curve and the second discrete curve. The final estimate may be used to perform curve matching.
Abstract:
A system and method for automatically generating a second graphical program based on a first graphical program. The first graphical program may be associated with a first programming development environment. For example, a user may have interactively created the first graphical program from within the first programming development environment, e.g., by using an editor to place various nodes on a block diagram, such that the nodes visually indicate functionality of the first graphical program. The method may operate to automatically, i.e., automatically, generate a second graphical program based on the first graphical program, such that the second graphical program is associated with a second programming development environment. The method may generate the second graphical program automatically, without relying on user input, or may prompt for user input to determine various options to use in generating the second graphical program. The second graphical program may implement the functionality of, or a portion of the functionality of, the first graphical program. The method preferably generates the second graphical program such that the second programming development environment is operable to treat the second graphical program identically to a graphical program interactively developed by a user using the second programming development environment. Thus, once the second graphical program has been generated, the user may use the second programming development environment to edit the second graphical program, execute the second graphical program, etc.