System and method for finding the centerline of an image using a vision system

By calculating the gradient field in the image and detecting the gradient extreme value, combining model line matching and RANSAC method, the problem of difficult to identify multiple line features in the prior art is solved, and efficient and accurate line search effect is achieved.

CN112927249BActive Publication Date: 2025-03-11COGNEX CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110169339.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2016-10-31
Filing Date
2016-11-02
Publication Date
2025-03-11
Estimated Expiration
2036-11-02

AI Technical Summary

Technical Problem

It is difficult for existing machine vision systems to accurately identify multiple lines when looking for line features in images, especially when there are multiple dense lines with similar orientations and polarities in the image, the reliability and efficiency of traditional tools are limited.

Method used

The gradient extreme values ​​are detected to generate edge points by calculating the x and y components of the gradient field at each position of the image and projecting it onto multiple image subregions. Then, the two edge points are selected iteratively, match the model lines, and calculate the inner points according to gradient consistency, retaining the candidate lines of the maximum number of inner points, and repeating the process until all edge points are matched. This process can be performed using an exhaustive or RANSAC method.

Benefits of technology

It realizes the efficient and correct identification and characterization of multiple line features in the image, and improves the accuracy and reliability of line searches, especially in dense lines.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112927249B_ABST
    Figure CN112927249B_ABST
Patent Text Reader

Abstract

This invention provides a system and method for finding multiple line features in an image. Two related steps are used to identify line features. First, the method computes the x and y components of a gradient field at each image location, projects the gradient field onto multiple sub-regions, and detects multiple gradient extrema, generating multiple edge points with location and gradient. Next, the method iteratively selects two edge points, assigns a model line to them, and computes a set of interior points whose location and gradient match the model when the edge point gradient is consistent with the model. The candidate line with the maximum number of interior points is retained, and a set of remaining exterior points is output. The method then repeatedly applies the line matching operation to this and applies subsequent sets of exterior points to find multiple line results. This process is based on exhaustive RANSAC.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Divisional application

[0002] This application is a divisional application of application number 201610945410.2, application date November 2, 2016, and titled “System and method for finding the center line of an image through a visual system”.

[0003] Related Applications

[0004] This application claims the benefit of co-pending U.S. Provisional Application No. 62 / 249,918, filed on November 2, 2015, entitled SYSTEM AND METHOD FOR FINDING LINES IN AN IMAGE WITH A VISION SYSTEM, the teachings of which are incorporated herein by reference. Technical Field

[0005] The present invention relates to machine vision systems, and more particularly to vision system tools for finding line features in acquired images. Background Art

[0006] Machine vision systems (also referred to herein as "vision systems") are used for a wide variety of tasks in manufacturing, logistics, and industry. These tasks include surface and part inspection, object alignment during assembly, pattern and ID code reading, and any other operation that requires visual data and interprets it for further processing. Vision systems typically use one or more cameras that obtain images of a scene that includes an object or subject of interest. The object or subject can be stationary or in relative motion. In the case of robots performing multi-part operations, the information generated by the vision system can also control the motion.

[0007] A common task for vision systems is to find and represent line features in an image. A variety of tools are used to identify and analyze these line features. Typically, these tools rely on sharp contrast differences that appear in a portion of an image. The contrast differences are analyzed by using, for example, a caliper tool to determine whether individual points in the image and the contrast differences can be combined into linear features. If so, the line is identified in the image. It should be noted that the tools for finding edge points and the tools that attempt to match lines to points act independently of each other. This increases processing overhead and reduces reliability. Where an image includes multiple lines, these tools are limited in their ability to accurately identify these lines. In addition, when an image includes multiple dense lines with similar orientations and polarities, traditional line finding tools designed to find a single line in an image will have problems when used. Summary of the invention

[0008] The present invention overcomes the shortcomings of the prior art and provides a system and method for finding line features in an image, which can effectively and correctly identify and characterize multiple lines. First, the process calculates the x and y components of the gradient field at each image position, projects the gradient field over multiple image sub-regions and detects multiple gradient extrema in each sub-region, generating multiple edge points with associated positions and gradients. Next, the process iteratively selects two edge points, matches a model line to those edge points, and when the gradients of those edge points are consistent with the model line, calculates the entire set of inliers whose positions and gradients are consistent with the model line. The candidate line with the largest number of inliers is retained as the line result, generating a set of remaining outliers. The process then repeatedly applies the line matching operation thereto and applies the subsequent outlier set to find multiple line results. The line matching process can be exhaustive or based on a random sample consensus (RANSAC) method.

[0009] In an illustrative embodiment, a system for finding line features in an acquired image is provided. A visual system processor receives image data of a scene including line features. An edge point extractor generates an intensity gradient image of the image data and finds edge points based on the intensity gradient image. Next, a line finder matches the edge points to one or more lines based on the intensity gradients of the edge points. Illustratively, the line finder runs a RANSAC-based process to match inlier edge points to new lines, including iteratively defining lines from outlier edge points associated with previously defined lines. The edge point extractor performs a gradient field projection of the region of the intensity gradient image including the line features. Illustratively, the gradient field projection is oriented along a direction that is set to be responsive to the expected orientation of one or more line features, and the gradient field projection can define a granularity based on a 1D Gaussian kernel. Illustratively, the image data can include data of multiple images acquired from multiple cameras and transformed to a common coordinate space. The image data can also be smoothed using a smoothing (weighted) kernel that can include a 1D Gaussian kernel or another weighting function. The edge points can be selected based on a threshold defined by an absolute contrast and a normalized contrast, the normalized contrast being based on the average intensity of the image data. Illustratively, the line finder is constructed and configured to swap edge points representing a portion of parallel lines or intersecting lines to correct for incorrect orientation and / or identify lines with polarity changes, the polarity changes comprising mixed polarity in line features based on gradient values ​​of the edge points. Furthermore, illustratively, the edge point extractor is configured to find a plurality of gradient magnitude maxima in each of the gradient projection subregions. These gradient magnitude maxima can be respectively identified as some of the plurality of edge points, the plurality of edge points being described by position vectors and gradient vectors. Furthermore, the line finder can be configured to determine consistency between at least one edge point of the extracted plurality of edge points and at least one candidate line of the found plurality of lines by calculating a metric. The metric can be based on a distance of the at least one edge point to the candidate line and an angular difference between a gradient direction of the edge point and a normal direction of the candidate line. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] The present invention is described below with reference to the accompanying drawings, in which:

[0011] Figure 1 is a schematic diagram of a typical vision system configuration and a vision system processor according to an illustrative embodiment, the vision system configuration acquiring an image of an object including a plurality of edge features, the vision system processor including an edge finding tool or module;

[0012] Figure 2 is a schematic diagram showing an overview of a system and method for edge point extraction and line finding in an acquired image according to an illustrative embodiment;

[0013] Figure 3 Based on Figure 2 A flowchart of an edge point extraction process of a system and method;

[0014] Figure 4 is a schematic diagram of field projection of an image region including edge features. The steps are: Figure 3 Part of the edge point extraction process;

[0015] Figure 5 is a schematic diagram showing the application of a Gaussian kernel to an image to smooth the image. Figure 3 The edge point extraction process;

[0016] Figure 6 Schematic diagram of field projection, including the application of a Gaussian kernel for projection smoothing, for Figure 3 The edge point extraction process;

[0017] Figure 7 To show Figure 3 Schematic diagram of a graphical overview of the edge point extraction process, including the application of the Gaussian kernel and the calculation of the absolute and normalized contrast thresholds for the edge points;

[0018] Figure 8 A diagram showing qualified contrast regions of edge points having sufficient absolute contrast thresholds and normalized contrast thresholds;

[0019] Fig. 9 According to an illustrative embodiment, Figure 3 Flowchart of the line finding process for the found edge points, using the typical RANSAC process;

[0020] Fig.10 and 11 Schematic diagrams showing misalignment and accurate alignment of edge points with respect to densely parallel line features, respectively;

[0021] Fig.12 and 13 Schematic diagrams showing accurate and incorrect alignment of edge points with respect to intersecting line features, respectively, which a line finder according to illustrative systems and methods can resolve;

[0022] Figure 14-17 are schematic diagrams showing examples of various lines, respectively, showing light to dark polarity, dark to light polarity, light to dark or dark to light polarity, or mixed polarity, which a line finder according to illustrative systems and methods can address; and

[0023] Fig.18Schematic diagram showing the improvement of the coverage score for found lines in a view of a user defined mask. DETAILED DESCRIPTION

[0024] Figure 1 A typical vision system configuration 100 that can be used according to an illustrative embodiment is shown. The system 100 includes at least one vision system camera 110, and can include one or more additional optional cameras 112 (shown in phantom). The illustrative camera (or cameras) 110, 112 include an image sensor (or imager) S and associated electronics for acquiring image frames and transmitting the image frames to a vision system program (processor) 130, which can be embodied in a separate processor and / or computing device 140. The camera 110 (and 112) includes an appropriate lens / optics 116 for focusing on a scene, including an object 150 under inspection. The camera 110 (and 112) can include internal and / or external lighting (not shown) that operates according to the image acquisition process. According to the illustrative embodiment, the computing device 140 can be any acceptable processor-based system capable of storing and processing image data. For example, the computing device 140 can include a PC (as shown), a server, a laptop, a tablet, a smart phone, or other similar device. The computing device 140 can include suitable peripherals, such as a bus-based frame grabber interconnected to the camera. In an alternative embodiment, the vision processor can be partially or entirely incorporated into the camera body itself and can be networked with multiple other PCs, servers and / or camera-based processors that share and process image data. Optionally, the computing device 140 includes a suitable display 142 that can support a suitable graphical user interface (GUI) that can operate based on the vision system tools and processor 132 that are provided in the vision system process (processor) 130. It should be noted that the display can be omitted and / or provided only as a setup and service function in various embodiments. The vision system tools can be part of any acceptable software and / or hardware package that is acceptable for use in object detection, such as commercially available from Cognex Corporation of Natick, MA. The computing device can also include associated user interface (UI) components, such as keyboard 144 and mouse 146 and touch screen within the display 142.

[0025] Camera (s) 110 (and 112) images part or all of an object 150 located within the scene. Each camera defines an optical axis OA, and a field of view is established around the optical axis OA based on the optical device 116, focal length, etc. Object 150 includes multiple edges 152, 154 and 156 respectively arranged in different directions. For example, the edge of the object can include the edge of a protective glass installed in the body of a smartphone. Illustratively, the camera (s) can image the entire object or a specific location (such as the corner where the glass meets the body). A (common) coordinate space can be established with respect to the object, one of the cameras, or another reference point (such as a mobile platform supporting the object 150). As shown in the figure, the coordinate space is represented by coordinate axes 158. Illustratively, these coordinate axes define orthogonal x, y and z axes and a rotation θz about the z axis in the xy plane.

[0026] According to one illustrative embodiment, the vision system process 130 operates in conjunction with one or more applications / processes (running on the computing device 140) that collectively comprise a set of vision system tools / programs 132. These tools can include various conventional and specialized applications for parsing image data - for example, various calibration tools and affine transformation tools can be used to transform acquired image data into a predetermined (e.g., common) coordinate system. Tools for converting image grayscale intensity data into a binary image based on a predetermined threshold can also be included. Similarly, tools for analyzing intensity gradients between adjacent image pixels (and sub-pixels) can be provided.

[0027] According to one illustrative embodiment, the vision system process (processor) 130 includes a line finding program, tool or module 134 that locates a plurality of lines in the acquired image. Figure 2, which graphically describes an overview of a line finding process 200 according to an illustrative embodiment. The process 200 consists of two main parts. An input image 210 is provided to a processor. As shown in the figure, the image includes a pair of intersecting edges 212 and 214. These edges can represent the corner regions of the above-mentioned object 150. An edge point extractor 220 processes the input image 210 to obtain a candidate edge point group 230, and the candidate edge point group 230 includes edge points 232 and 234 that reside along the edges 212 and 214, respectively. The edge points 232, 234 and their related data (such as intensity gradient information described below) are provided to a recursive line finder 240, which performs a series of iterative processes on the selected edge points. The purpose of the iterative process is to try to match other found edge points to candidate line features. The line finding process 240 produces found lines 252 and 254, as shown in the figure. These results can be provided to other downstream processes 260 that use the information - such as alignment processes, robotic manipulation, inspection, ID reading, part / surface inspection, etc.

[0028] refer to Figure 3 , Figure 3 A process for extracting edge points according to one embodiment is described. One or more images of a scene are acquired, which include an object or surface having edge features to be found (step 310). The image(s) can be acquired by a single camera or multiple cameras. In step 320, in either case, the image pixels can (optionally) be converted to a new and / or common coordinate space by suitable calibration parameters. This step can also include smoothing of the image as described below. In certain embodiments where multiple cameras image discontinuous regions of the scene - for example, focusing on the corner regions of a larger object - the common coordinate space can account for the blank areas between the camera fields of view. As described below, the lines extending between these fields of view (for example, the edges of objects connecting two found corner regions) can be determined by the system and method of this illustrative embodiment. In step 330, the edge points required for the search line are extracted from the image in a suitable coordinate space by an edge point extractor using a gradient field projection. First, a gradient value is calculated for each pixel, and two images are generated for the x and y gradient components. Further, the image(s) are processed by projecting the gradient field onto a number of areas similar to a caliper. Unlike conventional caliper tools that project intensity values, according to this embodiment, by projecting the gradient field, the gradient direction can be preserved, which facilitates the subsequent line finding process, as described below.

[0029] In step 340, reference Figure 4Schematic diagram of a portion of an image (caliper-like region) 400 including a candidate edge feature, the step of performing a gradient field projection (represented by a plurality of projections 410, 420, 430) on the portion of the image 400, and performing a search in a search direction (arrow SD) at (appropriately) expected edge orientations, and repeatedly projecting the region 400 in orthogonal projection directions (arrow PD). For each projection (e.g., projection 420), the edge appears as a local maximum in the gradient field 440 associated with the projection. In general, a series of edge points within a projection associated with an edge will exhibit intensity gradients (vectors 552, 554) orthogonal to the direction in which the edge extends. As described below, a user can define a projection direction based on the orientation of the expected line. Alternatively, this can be provided by default or another mechanism - such as analysis of features in the image.

[0030] There are two granularity parameters involved in the above gradient projection step. Before the gradient field is calculated, the user can choose to use an isotropic Gaussian kernel to smooth the image. The first granularity determines the size of the Gaussian smoothing kernel. Figure 5 As shown in the schematic diagram 500, Gaussian kernels of appropriate sizes (eg, large 512, medium 514, small 516) are applied to smooth the image 210. Thus, the first granularity parameter determines the size of the isotropic Gaussian smoothing kernel prior to field calculation.

[0031] After the gradient field is calculated, the process thus performs a Gaussian weighted projection, rather than uniform weighting as in conventional caliper tools. Figure 6 As shown, the second granularity parameter determines the size of the one-dimensional (1D) Gaussian kernel used during field projection, and the area 600 is processed by Gaussian smoothing kernels 610, 620, and 630. During a typical operation, the user verifies (using the GUI) all extracted edges covered on the image, and then adjusts the granularity and contrast threshold until a satisfactory result is obtained in the number of edges extracted along the line to be found, while avoiding an excessive number of edges due to the background noise of the image. In other words, this step allows the signal-to-noise ratio to be optimized with respect to the image features. This adjustment can also be performed automatically by the system using default values ​​in various embodiments. It should be noted that the use of a Gaussian weighting function is one of various methods for weighted projection, and the various methods for weighted projection include (for example) average weighting.

[0032] The entire process of gradient field extraction and projection is Figure 7700. The two particle size parameters, the isotropic Gaussian kernel 710 and the 1D Gaussian kernel 720, are shown in each half of the entire schematic diagram 700. As shown, each acquired image 210 is processed by smoothing and decimation 730. As described above, the resulting image 740 is then processed by gradient field calculation 750 to generate two gradient images 752 and 754. These gradient images are also denoted as g x and g y , representing two orthogonal axes in a common coordinate space. Note that, in accordance with an embodiment, since the processed intensity information is also used to calculate the normalized contrast, in addition to the two gradient images, the intensity image 756 is also typically processed by a smoothing, decimation, and projection process 760 (using a Gaussian weighted projection 770 based on a 1D Gaussian kernel 720) - as described below. The result is a gradient image 772 (g x )、774(g y ) and the projection profile of the intensity image 776.

[0033] Further reference is made to step 350 of process 300 (see Figure 3 ), and then extract qualified edge points by combining the 1D projection profiles of both the x and y gradient images. This is achieved based on the intensity image using the original contrast calculation 780 and the normalized contrast calculation 790. More specifically, any local peak with both the original projection gradient magnitude and the normalized projection gradient magnitude exceeding respective thresholds is considered a candidate edge point for subsequent line finding according to the following illustrative equations:

[0034]

[0035]

[0036] where g x and g y are the values ​​of the x-gradient and y-gradient projections at the pixel position, I is the intensity, T ABS is the absolute contrast threshold of the original projection gradient amplitude, T NORM Normalized contrast threshold for intensity-normalized projected gradient magnitude.

[0037] It should be noted that a point is considered a candidate edge point only when both its absolute and normalized contrast exceed their respective thresholds. This is done by normalizing the contrast threshold T NORM For the absolute contrast threshold T ABS800 is shown in the upper right quadrant 810 of the typical graph 800 of FIG. The use of dual (absolute and normalized) thresholds is generally different from existing methods, which typically use absolute contrast thresholds. The benefits of dual contrast thresholds are obvious, by way of example, when an image includes both dark and bright intensity regions, both of which include edges of interest. In order to detect edges in the dark regions of the image, a low contrast threshold needs to be set. However, such a low contrast threshold may lead to the detection of false edges in the bright portions of the image. Conversely, in order to avoid the detection of false edges in the bright regions of the image, a high contrast threshold needs to be set. However, at a high contrast setting, the system may not be able to adequately detect edges in the dark regions of the image. By using a secondary normalized contrast threshold in addition to the traditional absolute contrast threshold, the system is able to properly detect edges in both dark and bright regions and avoid detecting false edges in the bright regions of the image. Therefore, the use of dual contrast thresholds helps to maximize the speed and robustness of the subsequent line finding stage of the overall process by enabling the detection of relevant edges while avoiding false edges.

[0038] Further, referring to process step 350 ( Figure 3 ), once all edge points are extracted, they are represented and stored in a data structure that facilitates subsequent line finder operations. Note that, for example, the following tuple:

[0039] p=(x,y,gx,gy,gm,go,I,gm / I,m,n)

[0040] Where (x, y) is the position of the edge point, (g x ,g y ) are the values ​​of their respective x-gradient and y-gradient projections, (g m ,g o ) is from (g x ,g y ) is the gradient amplitude and orientation calculated in, I is the intensity of the edge point position, g m / I is the gradient amplitude g m The intensity normalized contrast is obtained by dividing by the intensity I, m is the image index, and n is the projection region index. As in the standard caliper tool, the position of the edge point can be interpolated to provide precision.

[0041] It should be noted that the edge point extraction process is typically operated by running a field projection in a single direction that substantially matches the expected line angle. Therefore, the tool is most sensitive to edges at that angle, and its sensitivity gradually decays for edges at other angles, where the rate of decay depends on the granularity setting that indirectly determines the length of the field projection. Therefore, the process is limited in finding lines with angles "close" to the expected line angle, subject to the user-specified angle range. While the process is adapted to find lines that are not orthogonal, it is contemplated that in various embodiments it can be generalized to finding lines of any angle exceeding 360 degrees (omnidirectional line finding) by projecting in multiple directions, including orthogonal directions.

[0042] Referring now to step 360 of process 300 ( Figure 3 ), according to an illustrative embodiment, the thresholded edge point candidates are provided to a line finder. Illustratively, the line finder operates recursively and uses, for example, a method based on random sampling consensus (RANSAC). And refer to Fig. 9900 in the line finding process. In step 910, the user specifies the maximum number of expected lines in the image, as well as the expected angle, angle tolerance, distance tolerance, and (illustratively) the minimum coverage score (generally defined below) through (for example) a GUI. These parameters are used by the line finder to operate the following process. By recursively running the RANSAC line finder to find lines for each sub-region of the image, the edge points and outliers from one stage become the input points for the next stage. Therefore, in step 920, the process 900 selects a pair of edge points, which are part of a group of edge points that are identified as extreme values ​​in the edge finding process. The process 900 attempts to match a model line to the selected edge point based on matching gradient values ​​(within a selected range of tolerances), and the matching gradient values ​​are consistent with the model line. In step 924, one or more line candidates of step 922 are returned. Each line finding stage returns a candidate line, its inliers and outliers. The returned line(s) are subjected to calculation of inlier edge points, which have positions and gradients consistent with the line candidates (step 926). In step 928, the candidate line with the maximum number of inliers is identified. The line finding phase (steps 920-928) terminates when the line finding phase reaches the maximum number of RANSAC iterations allowed (decision step 930). The maximum number of iterations within each line finding phase is automatically calculated using the worst-case external point ratio calculated internally and the user-specified assurance level. Each line finding phase returns a line with the maximum number of edge points collected from all its iterations - subject to the user-specified matching tolerance, geometric constraints and polarity. Each edge point can only be assigned to the inlier list of a single line, and each line is only allowed to include at most one edge point from each projection region. The gradient direction of the edge point and its position are used to determine whether it should be included in the inlier list of the candidate line. In particular, the edge point should have a gradient direction consistent with the angle of the candidate line.

[0043] If decision step 930 determines that more iterations are allowed, then the outliers from the best inlier candidates are returned (step 940) to the RANSAC process (step 920) for use in finding line candidates.

[0044] During each RANSAC iteration, two edge points belonging to different projection regions are randomly picked and a line is matched to those two points. The resulting candidate line is only considered further if its angle is consistent with the gradient angle of the two edges on the point pair and the angle of the line is consistent with the user-specified uncertainty angle. In general, the gradient directions of edge points are nominally orthogonal, but are allowed to differ by a user-configured angle tolerance. If a candidate line passes these initial tests, the number of inlier edge points is evaluated, otherwise a new RANSAC iteration is started. An edge point is considered an inlier of a candidate line only if its gradient direction and position are consistent with the line - based on the user-specified gradient angle and distance tolerance.

[0045] When the RANSAC iterations reach a maximum (decision step 930), a set of inlier edge points is re-evaluated by refining the line matching of the inliers of the best line candidate found using, for example, least squares regression or another acceptable approximation, and by repeating these steps up to N (e.g., 3 or more) times until the number of inliers stops increasing or decreasing further (step 960). This is indicated as the line found in step 970.

[0046] Decision step 980 determines whether more lines need to be found (based on (e.g.) further search sub-regions or another criterion), and if so, the process loops back to step 920 to operate on a new set of edge points (step 982). When points have been exhausted or the maximum number of iterations has been reached, process 900 returns a set (i.e., multiple) of found lines to the image in step 990.

[0047] In some cases where the result is that two lines intersect within the detection area, the multi-line finder is adapted to make a final adjustment of the existing results. Fig.10 and 11 As shown, for dense parallel lines 1010 and 1020, due to the statistical nature of the RANSAC process, sometimes wrong line results (i.e. Fig.10 ). However, when this error occurs, the inlier point group ( Fig.11 Swapping the points (arrows 1120 in group 1110) sometimes locates the correct line with increased coverage score and reduced matching residual. As shown, point swapping can be most effective when the image includes dense parallel lines. Conversely, if Fig.12 and 13 As shown, when the image includes lines 1210 and 1220 that actually intersect, after the points are swapped, the coverage score decreases ( Fig.12 ), so the initial result obtained before the exchange is retained by the process to successfully detect the intersection line.

[0048] It should be noted that the RANSAC process is only one of a variety of methods by which a line finder can match points to lines. In alternative embodiments, candidate points can be selected based on displacements set therebetween, or images can be processed using, for example, an exhaustive search method. Therefore, reference to the RANSAC method as used herein should be generalized to include a variety of similar point matching methods.

[0049] The system and method can provide additional functionality. These include support for mixed polarity, automatic calculation of projection area width, support for multi-view line finding, and allowing input images to be free from pre-warping to remove optical distortion. These features are further described below.

[0050] Further references Figure 14-16 For example, for the edge contrast found, the line finding system and method of the illustrative embodiment generally supports standard light to dark, dark to light, and either polarity settings (respectively). In addition, the system and method can also support mixed polarity settings ( Fig.17 ), in a mixed polarity setting both light to dark and dark to light features appear on the same line. The line finding results for all four settings are shown in the following figures. In one illustrative embodiment, the system and method can include a mixed polarity setting that allows finding a single line that includes edge points of opposite polarities. This is different from the traditional setting of "either" polarity, in which all edge points of a single line are one of two polarities - but only one polarity. Among other applications, this mixed polarity setting can be advantageous when used to analyze, for example, a light and dark checkerboard of a calibration plate.

[0051] The user can select improved shift invariance of line finding. In this case, the edge point extractor uses substantially overlapping projected regions to improve result stability. When the regions are not overlapping, the pixel under consideration can potentially move out of the projected region when the image is shifted, resulting in poor shift invariance of the line finding result. Overlapping projected regions ensure that the pixel under consideration is continuously covered by the projected region. If overlapping projected regions are used, incremental calculations can be performed to maintain speed, as well as possible low-level optimizations.

[0052] The user is able to provide a mask that omits certain portions of the acquired image and / or imaged surface from the analysis of line features. This may be desirable where the surface includes known line features that are not of interest (e.g., barcodes analyzed by other mechanisms, text, and any other structures not relevant to the task of finding lines). Therefore, the edge point extractor is able to support image masking, where "don't consider" image areas can be masked out and "consider" areas masked in. Illustratively, where this masking occurs, the found line coverage scores are re-weighted according to the number of edge points that fall within the mask.

[0053] refer to Fig.18 A typical image region 1800 of FIG. 1800 is shown, which shows the coverage score when the image mask appears and the effect of the image mask on the coverage score. The edge point extractor supports image masks where the "don't consider area" of the image can be masked out. As shown, the found line 1810 is represented by the considered edge points (based on the "considered" mask area 1820). The considered edge points are composed of the considered edge point inner points 1830 of the line 1810 and the considered edge point outer points 1840 of the line 1810. The ignored edge points 1850 on the line 1810 reside between the considered areas 1820 of the mask, as shown in this example, and are not included in the coverage score calculation, even if they reside on the line as inner points. As shown, the potential positions 1860 of the edge points along the line 1810 are also determined. These potential positions are located between known points, which are foreseeable intervals based on the intervals of the found points. Illustratively, the coverage score of the found line is reweighted according to the number of edge points falling into the mask. Therefore, the coverage score is modified as follows:

[0054] Coverage score = number of points inside the considered edge points of a line / (number of points inside the considered edge points of a line + number of points outside the considered edge points of a line + number of considered potential positions of edge points).

[0055] After running the line finding process according to the systems and methods herein, the found lines can be classified in various ways based on user-specified classification criteria (via, for example, a GUI). The user can select from intrinsic classification measures, such as inlier coverage score, intensity, or contrast. The user can also select from extrinsic classification measures, such as distance or relative angle of the markers. When using extrinsic classification measures, the user can specify a reference line segment for which the extrinsic measures of the found lines will be calculated.

[0056] Generally as described above, the system and method can include a multi-field of view (MFOV) overload, where image vectors from different fields of view can enter the process. The images should all be in a common client coordinate space based on calibration. As described above, this functionality can be extremely useful in application scenarios where multiple cameras are used to capture a partial area of ​​a single part. Because edge points retain gradient information, line features projected between gaps in the fields of view can also be resolved (when the gradients in both fields of view match for a given line direction and alignment of each field of view).

[0057] It should be noted that if the distortion is not severe, the system and method do not require (allow the image to be unaffected by) warping removal (i.e., do not require the image to be unwarped) to remove the nonlinear distortion. Where the image is unwarped, the system and method can still detect candidate edge points and map point positions and gradient vectors through nonlinear transformations.

[0058] It should be clear that the line finder provided by the system, and methods and various alternative embodiments / improvements, is an effective and robust tool for determining multiple line features under various conditions. In general, when used to find line features, the system and method have no particular limit on the maximum number of lines to be found on an image. Only memory and computation time will impose practical limits on the number of lines that can be found.

[0059] The foregoing has described in detail the illustrative embodiments of the present invention. Various modifications and additions may be made without departing from the spirit and scope of the present invention. In order to provide a variety of combined features associated with new embodiments, the features of each of the various embodiments described above may be appropriately combined with the features of other described embodiments. In addition, although the foregoing describes some separate embodiments of the apparatus and method of the present invention, the description herein is merely an illustration of the application of the principles of the present invention. The terms "process" and / or "processor" used herein should be extended to include various electronic hardware and / or software based on functions and components (and alternatively, can be referred to as functional "modules" or "elements"). In addition, a process or processor described above can be combined with other processes and / or processors or divided into multiple sub-processes or processors. Various different combinations of such sub-processes and / or sub-processors can be made according to the embodiments herein. Similarly, it is clearly contemplated that any function, process and / or processor described herein can be implemented using electronic hardware, software or a combination of hardware and software, and these software include non-temporary computer-readable media of process instructions. Also, various directional and orientation terms used herein, such as "longitudinal", "horizontal", "above", "below", "bottom", "bottom", "top", "side", "front", "back", "left", "right", etc., are only used in relative situations and are not to be regarded as absolute positions / inclinations with respect to a fixed coordinate space, such as the direction of gravity. In addition, where the term "substantially" or "approximately" is used with respect to a given measurement, value or feature, it refers to an amount within the normal operating range to achieve the desired result, except that it includes some variations due to inherent errors and faults within the system's allowed tolerance (e.g., 1-5%). Therefore, this description is intended to be exemplary only and is not intended to limit the scope of the present invention.

Claims

1. A system for finding the online features of the acquired images, including: A vision system camera assembly including one or more cameras configured to acquire image data of a scene containing line features; A vision system processor receives image data of a scene containing line features and has an edge point extractor, wherein: (a) calculating the gradient vector field of the image data; (b) projecting the gradient vector field onto a plurality of gradient projection sub-regions; and (c) searching for multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as The vision system processor also has a line finder that generates a plurality of lines that coincide with edge points extracted from the image.

2. The system of claim 1, wherein the vision system processor comprises a stand-alone processor.

3. The system of claim 1, wherein the vision system processor is partially or fully contained within a camera body of the vision system camera assembly.

4. A method for finding online features of an acquired image, the method comprising the steps of: acquiring image data of a scene containing line features through a vision system camera component; receiving, by a vision system processor, image data of the scene, the image data comprising line features; Calculating a gradient vector field of the image data; Projecting the gradient vector field onto a plurality of gradient projection sub-regions; Based on the projected gradient data, searching for multiple edge points in each gradient projection sub-region; as well as A plurality of lines are generated that are consistent with edge points extracted from the image.

5. Visual system camera components that find online features in acquired images, including: a vision system camera defining a camera body and configured to acquire image data of a scene containing line features; A vision system processor is at least partially or fully contained within a camera body and is configured to receive image data of a scene containing line features and has an edge point extractor, the edge point extractor: (a) calculating the gradient vector field of the image data; (b) projecting the gradient vector field onto a plurality of gradient projection sub-regions; and (c) searching for multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as The vision system processor also has a line finder that generates a plurality of lines that coincide with edge points extracted from the image.

6. A system for finding the online features of the acquired images, including: A vision system processor receives image data of a scene containing line features and has an edge point extractor, wherein the edge point extractor: (a) calculating the gradient vector field of the image data, (b) projecting the gradient vector field onto a plurality of gradient projection sub-regions; and (c) searching for multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as The vision system processor also has a recursive line finder that generates a plurality of lines consistent with edge points extracted from the image.

7. The system of claim 6, wherein the recursive line finder is a RANSAC based line finder.

8. The system of claim 6, wherein the recursive line finder: operating on a selected pair of edge points to match the model line to the selected edge points; Returning line candidates from edge points having gradients consistent with the model line and inliers and outliers associated with the candidate line; Identify the candidate line with the maximum number of inliers; as well as Operate the recursive line finder on the exterior points.

9. A method for finding the online features of the acquired image comprises the following steps: receiving, by a vision system processor, image data of a scene, the data comprising line features; Calculating a gradient vector field of the image data; Projecting the gradient vector field onto a plurality of gradient projection sub-regions; Find multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as A plurality of lines consistent with edge points extracted from the image are generated by a recursive line finder.

10. A system for finding the online features of the acquired images, including: A vision system processor receives image data from a plurality of images of a scene containing line features and has an edge point extractor, the edge point extractor: (a) transforming image data from multiple images into a common coordinate space; (b) calculating the gradient vector field of the image data, (c) projecting the gradient vector field onto a plurality of gradient projection sub-regions, and (d) searching for a plurality of edge points in each gradient projection sub-region based on the projected gradient data; and The vision system processor also has a line finder that generates a plurality of lines consistent with edge points extracted from the image. The system of claim 10 , wherein the plurality of images are from different fields of view.

12. A method for finding the online features of an acquired image comprises the following steps: receiving, by a vision system processor, image data from a plurality of images of a scene, the data comprising line features; transforming image data from multiple images into a common coordinate space; Calculating a gradient vector field of the image data; Projecting the gradient vector field onto a plurality of gradient projection sub-regions; Find multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as A plurality of lines are generated that are consistent with edge points extracted from the image.

13. A system for finding the online features of the acquired images, including: A vision system processor receives image data of a scene containing line features and has an edge point extractor, wherein the edge point extractor: (a) Smooth image data; (b) calculating the gradient vector field of the image data; (c) projecting the gradient vector field onto a plurality of gradient projection sub-regions, and (d) searching for a plurality of edge points in each gradient projection sub-region based on the projected gradient data; and The vision system processor also has a line finder that generates a plurality of lines that coincide with edge points extracted from the image.

14. The system of claim 13, wherein smoothing the image data comprises smoothing the image data using an isotropic Gaussian kernel having a user-defined granularity, wherein the user-defined granularity comprises at least one of large, medium, or small.

15. A method for finding the online features of an acquired image comprises the following steps: receiving, by a vision system processor, image data of a scene, the data comprising line features; Smoothing image data; Calculating a gradient vector field of the image data; Projecting the gradient vector field onto a plurality of gradient projection sub-regions; Find multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as A plurality of lines are generated that are consistent with edge points extracted from the image.

16. A system for finding the online features of the acquired image, including: A vision system processor receives image data of a scene containing line features and has an edge point extractor, wherein the edge point extractor: (a) Calculate the gradient vector for each pixel of the image data, (b) generating a gradient vector field according to the gradient vector; (c) projecting one or more gradient component images of the gradient vector field onto a plurality of gradient projection sub-regions, and (d) searching for multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as The vision system processor also has a line finder that generates a plurality of lines consistent with edge points extracted from the image.

17. A method for finding an online feature of an acquired image, comprising the following steps: receiving, by a vision system processor, image data of a scene, the data comprising line features; Calculate the gradient vector for each pixel of the image data; Generate a gradient vector field according to the gradient vector; projecting one or more gradient component images of the gradient vector field onto a plurality of gradient projection sub-regions; Find multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as A plurality of lines are generated that are consistent with edge points extracted from the image.

18. A system for finding the online features of the acquired image, including: A vision system processor receives image data of a scene containing line features and has an edge point extractor, wherein the edge point extractor: (a) Calculate the gradient vector of each pixel of the image data; (b) generating a gradient vector field according to the gradient vector; (c) projecting the x-gradient component image of the gradient vector field onto a plurality of gradient projection sub-regions, and (d) searching for multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as The vision system processor also has a line finder that generates a plurality of lines consistent with edge points extracted from the image.

19. A method for finding an online feature of an acquired image comprises the following steps: receiving, by a vision system processor, image data of a scene, the data comprising line features; Calculate the gradient vector for each pixel of the image data; Generate a gradient vector field according to the gradient vector; Projecting the x-gradient component image of the gradient vector field onto a plurality of gradient projection sub-regions; Find multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as A plurality of lines are generated that are consistent with edge points extracted from the image.

20. A system for finding online features of acquired images, including: A vision system processor receives image data of a scene containing line features and has an edge point extractor, wherein the edge point extractor: (a) Calculate the gradient vector for each pixel of the image data, (b) generating a gradient vector field according to the gradient vector; (c) projecting the y gradient component image of the gradient vector field onto a plurality of gradient projection sub-regions, and (d) searching for a plurality of edge points in each gradient projection sub-region based on the projected gradient data; and The vision system processor also has a line finder that generates a plurality of lines consistent with edge points extracted from the image.

21. A method for finding an online feature of an acquired image, comprising the following steps: receiving, by a vision system processor, image data of a scene, the data comprising line features; Calculate the gradient vector for each pixel of the image data; Generate a gradient vector field according to the gradient vector; Projecting the y gradient component image of the gradient vector field onto a plurality of gradient projection sub-regions; Find multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as A plurality of lines are generated that are consistent with edge points extracted from the image.

22. A system for finding online features of acquired images, comprising: A vision system processor receives image data of a scene containing line features and has an edge point extractor, wherein the edge point extractor: (a) Calculate the gradient vector of each pixel of the image data; (b) generating a gradient vector field according to the gradient vector; (c) projecting an x-gradient component image and a y-gradient component image of the gradient vector field onto a plurality of gradient projection sub-regions; and (d) searching for multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as The vision system processor also has a line finder that generates a plurality of lines consistent with edge points extracted from the image.

23. A system for finding online features of an acquired image, comprising the following steps: receiving, by a vision system processor, image data of a scene, the data comprising line features; Calculate the gradient vector for each pixel of the image data; Generate a gradient vector field according to the gradient vector; Projecting an x-gradient component image and a y-gradient component image of the gradient vector field onto a plurality of gradient projection sub-regions; Find multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as A plurality of lines are generated that are consistent with edge points extracted from the image.

24. A system for finding online features of acquired images, including: A vision system processor receives image data of a scene containing line features and has an edge point extractor, wherein the edge point extractor: (a) Calculate the gradient vector for each pixel of the image data, (b) generating a gradient vector field according to the gradient vector; (c) projecting the x-gradient component image and the y-gradient component image of the gradient vector field and the intensity image onto a plurality of gradient projection sub-regions, and (d) searching for multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as The vision system processor also has a line finder that generates a plurality of lines consistent with edge points extracted from the image.

25. A method for finding an online feature of an acquired image, comprising the following steps: receiving, by a vision system processor, image data of a scene, the data comprising line features; Calculate the gradient vector for each pixel of the image data; Projecting an x-gradient component image and a y-gradient component image and an intensity image of the gradient vector field onto a plurality of gradient projection sub-regions; Find multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as A plurality of lines are generated that are consistent with edge points extracted from the image.

26. A system for finding online features of acquired images, comprising: A vision system processor receives image data of a scene containing line features and has an edge point extractor, wherein the edge point extractor: (a) Calculate the gradient vector of each pixel of the image data; (b) generating a gradient vector field according to the gradient vector; (c) calculating multiple Gaussian weighted projections of the gradient vector field on multiple gradient projection sub-regions; as well as (d) searching for a plurality of edge points in each gradient projection sub-region based on the projected gradient data; and The vision system processor also has a line finder that generates a plurality of lines consistent with edge points extracted from the image.

27. A method for finding an online feature of an acquired image, comprising the following steps: receiving, by a vision system processor, image data of a scene, the data comprising line features; Calculate the gradient vector for each pixel of the image data; Generate a gradient vector field according to the gradient vector; computing a plurality of Gaussian weighted projections of the gradient vector field on a plurality of gradient projection sub-regions; Find multiple edge points in each gradient projection sub-region based on the projected gradient data; and A plurality of lines are generated that are consistent with edge points extracted from the image.

28. A system for finding the online features of the acquired image, comprising: A vision system processor receives image data of a scene containing line features and has an edge point extractor, wherein the edge point extractor: (a) Calculate the gradient vector for each pixel of the image data, (b) generating a gradient vector field according to the gradient vector; (c) projecting one or more gradient component images and an intensity image of the gradient vector field onto a plurality of gradient projection sub-regions, and (d) using the original contrast calculation and the standardized contrast calculation of the projection gradient magnitude and the threshold of the edge point to find a plurality of edge points in each gradient projection sub-region based on the projected gradient data, wherein the standardized contrast is based on the intensity of the image data; and The vision system processor also has a line finder that generates a plurality of lines consistent with edge points extracted from the image.

29. A method for finding an online feature of an acquired image, comprising the following steps: receiving, by a vision system processor, image data of a scene, the data comprising line features; Calculate the gradient vector for each pixel of the image data; Generate a gradient vector field according to the gradient vector; projecting one or more gradient component images and an intensity image of the gradient vector field onto a plurality of gradient projection sub-regions; Using the original contrast calculation and the standardized contrast calculation of the projection gradient magnitude and the threshold of the edge point, searching for a plurality of edge points in each gradient projection sub-region based on the projected gradient data, wherein the standardized contrast is based on the intensity of the image data; and A plurality of lines are generated that are consistent with edge points extracted from the image.

30. A system for finding the online features of the acquired image, comprising: A vision system processor receives image data of a scene containing line features and has an edge point extractor, wherein the edge point extractor: (a) Calculate the gradient vector for each pixel of the image data, (b) generating a gradient vector field according to the gradient vector; (c) projecting one or more gradient component images and an intensity image of the gradient vector field onto a plurality of gradient projection sub-regions, and (d) when one or both of the original contrast calculation and the normalized contrast calculation of the projected gradient magnitude of the candidate edge point exceeds a user-defined threshold, searching for a plurality of edge points in each gradient projection sub-region based on the projected gradient data, wherein the normalized contrast is based on the intensity of the image data; and The vision system processor also has a line finder that generates a plurality of lines consistent with edge points extracted from the image.

31. The system of claim 30, wherein the user-defined threshold used for the original contrast calculation is different from the user-defined threshold used for the normalized contrast calculation.

32. A method for finding an online feature of an acquired image, comprising the following steps: receiving, by a vision system processor, image data of a scene, the data comprising line features; Calculate the gradient vector for each pixel of the image data; Generate a gradient vector field according to the gradient vector; projecting one or more gradient component images and an intensity image of the gradient vector field onto a plurality of gradient projection sub-regions; When one or both of the original contrast calculation and the normalized contrast calculation of the projected gradient magnitude of the candidate edge point exceeds a user-defined threshold, searching for a plurality of edge points in each gradient projection sub-region based on the projected gradient data, wherein the normalized contrast is based on the intensity of the image data; and A plurality of lines are generated that are consistent with edge points extracted from the image.

33. A system for finding online features of acquired images, comprising: A vision system processor receives image data of a scene containing line features and has an edge point extractor, wherein the edge point extractor: (a) calculating the gradient vector field of the image data; (b) projecting the gradient vector field onto a plurality of gradient projection sub-regions, and (c) searching for multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as The vision system processor also has a line finder that generates a plurality of lines consistent with edge points extracted from the image based on a plurality of user-specified line parameters.

34. The system of claim 33, wherein the plurality of user-specified line parameters comprises one or more of: a maximum number of expected lines; an expected angle; an angle tolerance; a distance tolerance; or a minimum coverage score.

35. A method for finding an online feature of an acquired image, comprising the following steps: receiving, by a vision system processor, image data of a scene, the data comprising line features; Calculating a gradient vector field of the image data; Projecting the gradient vector field onto a plurality of gradient projection sub-regions; Find multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as A plurality of lines are generated consistent with edge points extracted from the image based on a plurality of user-specified line parameters.

36. A system for finding online features of acquired images, comprising: A vision system processor receives image data of a scene containing line features and has an edge point extractor, wherein the edge point extractor: (a) calculating the gradient vector field of the image data; (b) projecting the gradient vector field onto a plurality of gradient projection sub-regions; and (c) searching for multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as The vision system processor also has a line finder that generates at least one candidate line and a set of inlier edge points associated with the at least one candidate line, the inlier edge points being consistent with edge points extracted from the image.

37. The system of claim 36, wherein the line finder generates a set of outlier edge points that are not associated with the at least one candidate line.

38. A method for finding an online feature of an acquired image, comprising the following steps: receiving, by a vision system processor, image data of a scene, the data comprising line features; Calculating a gradient vector field of the image data; Projecting the gradient vector field onto a plurality of gradient projection sub-regions; Find multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as At least one candidate line and a set of inlier edge points associated with the at least one candidate line are generated, the inlier edge points being consistent with edge points extracted from the image.

39. A system for finding online features of acquired images, comprising: A vision system processor receives image data of a scene containing line features and has an edge point extractor, wherein the edge point extractor: (a) calculating the gradient vector field of the image data; (b) projecting the gradient vector field onto a plurality of gradient projection sub-regions; and (c) searching for a plurality of edge points in each gradient projection sub-region based on the projected gradient data; and The vision system processor also has a line finder that generates a plurality of lines consistent with edge points extracted from the image, wherein the plurality of lines includes at least two intersecting lines, and the line finder swaps inlier edge points between the at least two intersecting lines.

40. The system of claim 39, wherein the plurality of lines comprises parallel lines.

41. A method for finding an online feature of an acquired image, comprising the following steps: receiving, by a vision system processor, image data of a scene, the data comprising line features; Calculating a gradient vector field of the image data; Projecting the gradient vector field onto a plurality of gradient projection sub-regions; Find multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as A plurality of lines are generated consistent with edge points extracted from the image, wherein the plurality of lines includes at least two intersecting lines, and a line finder swaps inlier edge points between the at least two intersecting lines.

42. A system for finding online features of acquired images, comprising: A vision system processor receives image data of a scene containing line features and has an edge point extractor, wherein the edge point extractor: (a) calculating the gradient vector field of the image data; (b) projecting the gradient vector field onto a plurality of gradient projection sub-regions; and (c) searching for multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as The vision system processor also has a line finder that generates multiple lines consistent with edge points extracted from the image, the line finder using at least one of polarity settings of light to dark, dark to light, and either polarity setting, and a mixed polarity setting of light to dark and dark to light.

43. A method for finding an online feature of an acquired image, comprising the following steps: receiving, by a vision system processor, image data of a scene, the data comprising line features; Calculating a gradient vector field of the image data; Projecting the gradient vector field onto a plurality of gradient projection sub-regions; Find multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as A plurality of lines are generated consistent with edge points extracted from the image, the line finder using at least one of light to dark, dark to light, and any polarity setting of both, and a mixed polarity setting of light to dark and dark to light.

44. A system for finding online features of acquired images, comprising: A vision system processor receives image data of a scene containing line features and has an edge point extractor, wherein the edge point extractor: (a) based on a user-provided mask applied to the image data, computing a gradient vector field of the image data corresponding to the masked region, wherein the masked region is a considered region; (b) projecting the mask provided by the user and projecting the gradient vector field onto a plurality of gradient projection sub-regions; and (c) searching for a plurality of edge points in each gradient projection sub-region based on the projected gradient data, wherein the plurality of edge points correspond to a mask region of the image data; as well as The vision system processor also has a line finder that generates a plurality of lines consistent with edge points extracted from the image.

45. A method for finding an online feature of an acquired image, comprising the following steps: receiving, by a vision system processor, image data of a scene, the data comprising line features; Calculating a gradient vector field of the image data; Projecting the gradient vector field onto a plurality of gradient projection sub-regions; Searching for a plurality of edge points in each gradient projection sub-region based on the projected gradient data, wherein the plurality of edge points correspond to a mask region of the image data, wherein the mask region is a considered region; as well as A plurality of lines are generated that are consistent with edge points extracted from the image.

46. ​​A system for finding online features of acquired images, comprising: A vision system processor receives image data of a scene containing line features and has an edge point extractor, wherein the edge point extractor: (a) calculating the gradient vector field of the image data; (b) projecting the gradient vector field onto a plurality of gradient projection sub-regions; and (c) searching for multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as The vision system processor also has a line finder that generates a plurality of lines consistent with edge points extracted from the image and calculates a coverage score associated with at least one line of the plurality of lines; wherein the coverage score corresponds to the number of inlier edge points divided by the maximum possible number of inlier edge points; or The coverage score corresponds to the number of considered edge point inliers of the at least one line / (the number of considered edge point outliers of the at least one line + the number of considered edge point inliers of the at least one line + the number of potential positions of edge points along the at least one line).

47. A method for finding an online feature of an acquired image, comprising the following steps: receiving, by a vision system processor, image data of a scene, the data comprising line features; Calculating a gradient vector field of the image data; Projecting the gradient vector field onto a plurality of gradient projection sub-regions; Find multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as generating a plurality of lines consistent with edge points extracted from the image, and calculating a coverage score associated with at least one line of the plurality of lines; wherein the coverage score corresponds to the number of inlier edge points divided by the maximum possible number of inlier edge points; or The coverage score corresponds to the number of considered edge point inliers of the at least one line / (the number of considered edge point outliers of the at least one line + the number of considered edge point inliers of the at least one line + the number of potential positions of edge points along the at least one line).

48. A system for finding online features of acquired images, comprising: A vision system processor receives image data of a scene containing line features and has an edge point extractor, wherein the edge point extractor: (a) calculating the gradient vector field of the image data; (b) projecting the gradient vector field onto a plurality of gradient projection sub-regions; and (c) searching for a plurality of edge points in each gradient projection sub-region based on the projected gradient data; and The vision system processor also has an omnidirectional line finder that generates a plurality of lines consistent with edge points extracted from the image, wherein the omnidirectional line finder is configured to find lines at any angle exceeding 360 degrees by projecting in multiple directions.

49. The system of claim 48, wherein the plurality of directions comprises orthogonal directions.

50. A method for finding an online feature of an acquired image, comprising the following steps: receiving, by a vision system processor, image data of a scene, the data comprising line features; Calculating a gradient vector field of the image data; Projecting the gradient vector field onto a plurality of gradient projection sub-regions; Find multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as A plurality of lines consistent with edge points extracted from the image are generated by an omni-directional line finder, wherein the omni-directional line finder is configured to find lines at any angle exceeding 360 degrees by projecting in multiple directions.

51. A system for finding online features on an acquired image, wherein the acquired image has nonlinear distortion, the system comprising: A visual system processor receives image data of a scene containing line features, transforms the image by a nonlinear transformation to remove nonlinear distortion, and has an edge point extractor, wherein: (a) calculating the gradient vector field of the image data; (b) projecting the gradient vector field onto a plurality of gradient projection sub-regions; and (c) searching for multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as The vision system processor also has a line finder that generates a plurality of lines that coincide with edge points extracted from the image.

52. A method for finding a linear feature on an acquired image, wherein the acquired image has nonlinear distortion, the method comprising the following steps: receiving, by a vision system processor, image data of a scene, the data comprising line features; transforming the image data by a nonlinear transformation to remove nonlinear distortion; Calculating a gradient vector field of the image data; Projecting the gradient vector field onto a plurality of gradient projection sub-regions; Find multiple edge points in each gradient projection sub-region based on the projected gradient data; as well as A plurality of lines are generated that are consistent with edge points extracted from the image.

Citation Information

Patent Citations

  • Image definition detecting method and device

    CN103793918A

  • Rapid sub pixel edge detection and locating method based on machine vision

    CN104268857A