Machine vision method for detecting concentric circles

By using a machine vision-based concentric circle detection method, which fits circles using the ray method and the least squares method, the problem of poor detection performance under noise and occlusion in existing technologies is solved, improving detection efficiency and robustness, and simplifying the requirements for templates and training data.

CN117611517BActive Publication Date: 2026-06-19SUZHOU DELPHI LASER

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SUZHOU DELPHI LASER
Filing Date
2023-10-12
Publication Date
2026-06-19

AI Technical Summary

Technical Problem

Existing circular detection methods perform poorly in noisy and partially occluded conditions, are inefficient when there are large differences in shape and size or a large number of circular objects, and require pre-prepared templates and a large amount of training data.

Method used

A machine vision-based concentric circle detection method is adopted. By configuring the circle detection parameters, the ray method is used to detect the middle region of the concentric circles, the sector region is shielded, the intersection points are calculated, outliers are removed, the center and radius of the circle are fitted, and the least squares method is used to fit the circle.

Benefits of technology

It improves robustness under noise and occlusion conditions, reduces reliance on templates and training data, simplifies the detection process, and improves detection efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117611517B_ABST
    Figure CN117611517B_ABST
Patent Text Reader

Abstract

This invention relates to a machine vision method for concentric circle detection. The method involves configuring circular detection parameters in a process parameter template; acquiring an image to be detected; converting the image to grayscale; obtaining the detection area based on the central region of the concentric circles and the shielded fan-shaped region configured in the process parameters; calculating the angle between each ray based on the number of rays POINTS_NUM and the shielded fan-shaped region; and determining the ray L. n The intersection point with the concentric circles; using the search strategies INSIDE2OUTSIDE and BLACK2WHITE, find point C1 on the boundary of the circle; find other boundary points C2…C… n Let C_LIST be the set of all boundary points. Based on the number of outliers (OUTLIERS_NUM), remove outliers from C_LIST to obtain the final C_LIST_LAST. Use the C_LIST_LAST point set to fit a circle, obtaining the circle's center and radius. This method is more robust.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a machine vision method for detecting concentric circles. Background Technology

[0002] Currently, circle detection is a fundamental problem in machine vision, involving the automatic detection of parameters (center coordinates and radius) of circles in a given image. Commonly used circle detection methods include:

[0003] 1) Hough transform is a commonly used circle detection method that can detect circles of any scale and location. It represents a circle as a point in a parameter space and finds the best circle fit by searching for the center and radius in the parameter space.

[0004] 2) Edge detection: Circles are detected by detecting the edges of the image. At the edge of the circle, the gradient direction of the edge will be perpendicular to the tangent of the circle. After detecting the edge of the circle, the asymptote method is used to calculate the center and radius of the circle.

[0005] 3) Template matching: Circular detection is performed by matching a circular template with the circular edges in the image. A circular template is prepared in advance and then slid onto the image to find the best matching position.

[0006] 4) Machine learning: Use machine learning algorithms for circle detection. Input circular data from the training samples into the model for training, and then use the model to perform circle detection on the test data.

[0007] The above detection methods have the following problems: ① The detection effect is not good in cases of circular noise and partial occlusion; ② The detection efficiency is low for circles with large differences in shape and size or a large number of circles; ③ Template matching requires pre-prepared templates, and the accuracy of the templates has a significant impact on the detection effect; ④ Machine learning requires a large amount of training data, and the data needs to cover variations in size, pose, etc. Summary of the Invention

[0008] The purpose of this invention is to overcome the shortcomings of the existing technology and provide a machine vision method for detecting concentric circles.

[0009] The objective of this invention is achieved through the following technical solution:

[0010] The machine vision method for detecting concentric circles is characterized by the following steps:

[0011] Step 1) Configure the circular detection parameters in the process parameter template;

[0012] Step 2) Obtain the image to be detected;

[0013] Step 3) Preprocess the image by converting it to grayscale;

[0014] Step 4) Based on the concentric circle center area and the shielded sector area configured in the process parameters, the area to be detected is obtained;

[0015] Step 5) Calculate the angle between each ray based on the number of rays POINTS_NUM and the shielded sector area;

[0016] Step 6) Using the angle obtained in Step 5), calculate ray L. n The intersection point with concentric circles;

[0017] Step 7) Based on the search strategies INSIDE2OUTSIDE and BLACK2WHITE, find point C1 on the circular boundary;

[0018] Step 8) Repeat steps 6) and 7) to find other boundary points C2…C n Let C_LIST be the set of all boundary points;

[0019] Step 9) Based on the number of outliers OUTLIERS_NUM, remove outliers from C_LIST to obtain the final C_LIST_LAST;

[0020] Step 10) Use the C_LIST_LAST point set to fit a circle to obtain the circle's center (X, Y) and radius R.

[0021] Furthermore, in the above-described machine vision concentric circle detection method, step 1) includes the following template parameters:

[0022] The concentric circles have center O(x,y) and radii MAX_R and MIN_R.

[0023] Set up a shielded sector area;

[0024] Scanning direction: from inside to outside, from outside to inside;

[0025] Boundary detection strategy: from bright to dark, from dark to bright;

[0026] Number of rays (number of fitted points): POINTS_NUM;

[0027] The number of outliers removed, OUTLIERS_NUM; a circle is fitted from POINTS_NUM - OUTLIERS_NUM points.

[0028] Furthermore, in the above-mentioned machine vision concentric circle detection method, step 8), the method for solving the boundary points is as follows:

[0029] Let the value of the i-th pixel be p. _i ;

[0030] The difference between two adjacent pixels is called diff. _i =|p _i -p _{i-1} |;

[0031] If diff _i >k, where k refers to the condition for determining whether a pixel is a boundary point. When the difference between two adjacent pixels is greater than k, the point is considered a boundary point. This condition is changed according to different scenarios.

[0032] Then, the pixel is considered a boundary point, and the coordinates of the pixel, i.e., boundary point C, are returned. i The k-coordinate;

[0033] Iterate through all rays to obtain the coordinates of all boundary points.

[0034] Furthermore, in the aforementioned machine vision concentric circle detection method, a boundary detector is created based on set boundary conditions. When the difference in pixel values ​​is greater than or equal to K, it is determined to be a circular boundary. Then, based on the set conditions, i.e., the scanning direction is from the inside out or from the outside in, the difference in pixel values ​​of two adjacent pixels is iteratively judged. If the difference in pixel values ​​of two adjacent points is greater than or equal to K, then the point is considered to be a point Cn on the circle and the point is saved in P_LIST. If no point meets the edge detector conditions after the ray iteration ends, the next ray is iteratively scanned until all rays are scanned. After all ray iterations are completed, the circle is fitted using P_LIST, and the circle is the circle detected by the concentric circle detection method.

[0035] Furthermore, in the above-mentioned machine vision concentric circle detection method, step 9), the method for removing outliers is as follows:

[0036] Fit the C_LIST obtained in step 8) to a circle, and obtain the center of C_LIST, C_LIST_CENTER(X_TEMP, Y_TEMP).

[0037] Remove the point in C_LIST that has the farthest Euclidean distance from the center C_LIST_CENTER, and obtain C_LIST_TEMP;

[0038] Repeat OUTLIERS_NUM times to obtain the final set C_LIST_LAST used to fit the circle.

[0039] Furthermore, in the above-described machine vision concentric circle detection method, step 9), the method of fitting a circle using a point set, is as follows:

[0040] Let the equation of the circle be: (xa) 2 +(yb) 2 =R 2If the coordinates of the center of the circle are (a, b), then the radius is R.

[0041] Through the point set (x1, y1), (x2, y2), ..., (x n ,y n By taking the coordinates of (), we obtain the following system of equations:

[0042] ∑(x i 2 +a 2 -2ax i +y i 2 +b 2 -2by i )=nR 2 ∑(x i -a) 2 +∑(y i -b) 2 =nR 2 Solving the above formula using the least squares method yields:

[0043] a≈(x1+x2+...+x n ) / n

[0044] b≈(y1+y2+...+y n ) / n

[0045] R 2 ≈((x1-a) 2 +(x2-a) 2 +(y1-b) 2 +(y2-b) 2 +...+(x n

[0046] -a) 2 +(y n -b) 2 ) / n

[0047] The least squares method is used to fit a circle, which is formed by fitting three points that are not on the same straight line.

[0048] Furthermore, in the aforementioned machine vision concentric circle detection method, the following steps are taken: First, a point set P_LIST for fitting a circle is obtained. Then, a circle is fitted to P_LIST, assuming the center coordinates of the fitted circle are P_center1(X1, Y1) and the radius is R1. Next, the points in P_LIST are iterated, and the distance D_LIST1 from each point to the center P_center1 is calculated. Then, the radius R1 is subtracted from D_LIST1 to obtain the offset difference between each point and the fitted circle contour. The point with the largest offset difference is removed, resulting in the remaining point set P_LIST_2. This process of removing offset points is repeated K times to obtain the final point set P_LIST_K. Finally, a circle is fitted using P_LIST_K to fit the detected circle, and the center P_centerK and radius RK are output.

[0049] Furthermore, in the above-mentioned machine vision concentric circle detection method, step 10) uses the least squares method to fit a circle, fitting a circle between three points that are not on the same straight line.

[0050] Compared with the prior art, the present invention has significant advantages and beneficial effects, specifically reflected in the following aspects:

[0051] This invention utilizes concentric circles to detect the central circle, and employs ray tracing to detect the target edge in the middle region of the concentric circles. Template parameters can be configured according to the actual application scenario. While detecting the target circle, it can simultaneously shield or cross interfering backgrounds or non-target circles. Compared to existing technologies, it is more robust in handling noise and partial occlusion, and it eliminates the need for pre-training and template matching, making it easier to use.

[0052] Other features and advantages of the invention will be set forth in the following description, and will be apparent in part from the description, or may be learned by practicing specific embodiments of the invention. The objects and other advantages of the invention may be realized and obtained by means of the structures particularly pointed out in the written description and the accompanying drawings. Attached Figure Description

[0053] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of the present invention and should not be regarded as a limitation on the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0054] Figure 1 Step 1) Logic diagram;

[0055] Figure 2 : A schematic diagram of the boundary point solving process of this invention;

[0056] Figure 3 : Schematic diagram of the present invention for removing noise from circular fitted point sets. Detailed Implementation

[0057] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. The components of the embodiments of the present invention described and shown in the accompanying drawings can generally be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present invention provided in the accompanying drawings is not intended to limit the scope of the claimed invention, but merely to illustrate selected embodiments of the invention. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without inventive effort are within the scope of protection of the present invention.

[0058] It should be noted that similar reference numerals and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures. Furthermore, in the description of this invention, directional and ordinal terms are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.

[0059] To address the issues of poor detection performance under conditions of shape noise and partial occlusion, as well as the low detection efficiency for circles with large differences in shape and size or a large number of circles, and to avoid the problems of traditional techniques requiring pre-prepared circular detection templates and the significant impact of template accuracy on detection results, machine learning requires a large amount of training data that covers variations in size and pose. Furthermore, due to the need to train the model, more time is required to build and adjust the model.

[0060] The machine vision concentric circle detection method of the present invention specifically includes the following steps:

[0061] Step 1) Configure the circular detection parameters in the process parameter template;

[0062] like Figure 1 The template parameters include:

[0063] The concentric circles have center O(x,y) and radii MAX_R and MIN_R.

[0064] Set up a shielded sector area to detect circular scenes where the circle is partially occluded;

[0065] Scanning direction, from inside to outside, from outside to inside: INSIDE2OUTSIDE (from inside to outside, from the center to the edge); e.g., from inside to outside, which is A→B;

[0066] Boundary detection strategy, from bright to dark, from dark to bright: BLACK2WHITE; e.g. Figure 1 As shown in the diagram, in the case of scanning from A to B, C1 is found by moving from the bright field to the dark field (finding the boundary between bright and dark).

[0067] Number of rays, i.e., number of fitted points: POINTS_NUM; Figure 1 The quantities shown are 5, namely C1, C2, C3, C4, and C5;

[0068] The number of outliers removed, OUTLIERS_NUM; a circle is fitted from POINTS_NUM - OUTLIERS_NUM points;

[0069] Step 2) Obtain the image to be detected;

[0070] Step 3) Preprocess the image by converting it to grayscale;

[0071] Step 4) Based on the concentric circle center area and the shielded sector area configured in the process parameters, the area to be detected is obtained;

[0072] Step 5) Calculate the angle between each ray based on the number of rays POINTS_NUM and the shielded sector area;

[0073] Step 6) Using the angle obtained in Step 5), calculate ray L. n The intersection with concentric circles, such as Figure 1 A and B;

[0074] Step 7) Based on the search strategies INSIDE2OUTSIDE and BLACK2WHITE, find point C1 on the circular boundary;

[0075] Step 8) Repeat steps 6) and 7) to find other boundary points C2…C n Let C_LIST be the set of all boundary points;

[0076] The method for solving the boundary points is as follows:

[0077] Let the value of the i-th pixel be p. _i ;

[0078] The difference between two adjacent pixels is called diff. _i =|p _i -p _{i-1} |;

[0079] If diff _i >k, where k refers to the condition for determining whether a pixel is a boundary point. When the difference between two adjacent pixels is greater than k, the point is considered a boundary point. k is changed according to different scenarios.

[0080] Then, the pixel is considered a boundary point, and the coordinates of the pixel, i.e., boundary point C, are returned. i The k-coordinate;

[0081] Iterate through all rays to obtain the coordinates of all boundary points;

[0082] Step 9) Based on the number of outliers OUTLIERS_NUM, remove outliers from C_LIST to obtain the final C_LIST_LAST;

[0083] like Figure 3 The method for removing outliers is as follows:

[0084] Fit the C_LIST obtained in step 8) to a circle, and obtain the center of C_LIST, C_LIST_CENTER(X_TEMP, Y_TEMP).

[0085] Remove the point in C_LIST that has the farthest Euclidean distance from the center C_LIST_CENTER, and obtain C_LIST_TEMP;

[0086] Repeat OUTLIERS_NUM times to obtain the final set C_LIST_LAST used to fit the circle;

[0087] The method for fitting a circle using a set of points is as follows:

[0088] Let the equation of the circle be: (xa) 2 +(yb) 2 =R 2 If the coordinates of the center of the circle are (a, b), then the radius is R.

[0089] Through the point set (x1, y1), (x2, y2), ..., (x n ,y n By taking the coordinates of (), we obtain the following system of equations:

[0090] ∑(x i 2 +a 2 -2ax i +y i 2 +b 2 -2by i )=nR 2 ∑(x i -a) 2 +∑(y i -b) 2 =nR 2 Solving the above formula using the least squares method yields:

[0091] a≈(x1+x2+...+xn ) / n

[0092] b≈(y1+y2+...+y n ) / n

[0093] R 2 ≈((x1-a) 2 +(x2-a) 2 +(y1-b) 2 +(y2-b) 2 +...+(x n

[0094] -a) 2 +(y n -b) 2 ) / n

[0095] Using the least squares method to fit a circle, fit a circle to three points that are not on the same straight line;

[0096] Step 10) Use the C_LIST_LAST point set to fit a circle to obtain the circle's center (X, Y) and radius R; use the least squares method to fit the circle, fitting a circle with three points that are not on the same straight line.

[0097] Step 1) You can add or replace other detection strategies (mainly for the detection of multi-layered nested circles), the target circle radius range restriction strategy; the target circle is the nth circle from inside to outside / outside to inside; the target circle is the nth circle from bright to dark / dark to bright.

[0098] Euclidean distance can be calculated using the distance definition:

[0099] Manhattan distance is measured by the sum of the absolute values ​​of the differences between two points on each coordinate axis. It is used to handle discrete features or situations where there is a clear segmentation in the feature space.

[0100] Chebyshev distance is measured by calculating the maximum difference between two points on each coordinate axis and is used to handle features with different scales or orientations.

[0101] Minkowski distance is a generalization of Euclidean distance and Manhattan distance, which balances the weights between the two by adjusting a parameter.

[0102] Mahalanobis distance takes into account the covariance between features and is used to handle features that are correlated.

[0103] Cosine similarity is measured by calculating the cosine of the angle between two vectors and is used in tasks such as text classification and recommendation systems.

[0104] like Figure 2 A boundary detector is created based on the set boundary conditions. When the difference in pixel values ​​is greater than or equal to K, it is determined to be a circular boundary. Then, based on the set conditions (scanning direction), it scans from the inside out or from the outside in (iteratively judging the difference in pixel values ​​of two adjacent pixels). If the difference in pixel values ​​of two adjacent points is greater than or equal to K, then the point is considered to be a point Cn on the circle and the point is saved to P_LIST. If no point meets the edge detector conditions after the ray iteration ends, the next ray is scanned iteratively until all rays are scanned. After all ray iterations are completed, the circle is fitted using P_LIST. The circle is the circle detected by the concentric circle detection method.

[0105] like Figure 3 After obtaining the point set P_LIST for fitting the circle, perform circle fitting on P_LIST. Assume the center coordinates of the fitted circle are P_center1(X1, Y1) and the radius is R1. Iterate through the points in P_LIST and calculate the distance D_LIST1 of all points from the center P_center1. Subtract the radius R1 from D_LIST1 to obtain the offset difference of all points from the fitted circle contour. Remove the point with the largest offset difference to obtain the remaining point set P_LIST_2. Repeat the removal of offset points K times to obtain the final point set P_LIST_K. Use P_LIST_K to fit the detected circle and output the center P_centerK and radius RK.

[0106] In summary, the method of this invention utilizes concentric circles to detect the central circle and employs ray tracing to detect the target edge in the middle region of the concentric circles. Template parameters can be configured according to the actual application scenario. While detecting the target circle, it can simultaneously shield or cross interfering backgrounds or non-target circles. Compared to existing technologies, it is more robust in handling noise and partial occlusion, and it does not require pre-training or matching template settings, making it easier to use.

[0107] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention. Various modifications and variations can be made to the invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the invention should be included within the scope of protection of the invention. It should be noted that similar reference numerals and letters in the following figures denote similar items; therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures.

[0108] The above are merely specific embodiments of the present invention, but the scope of protection of the present invention is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in the present invention should be included within the scope of protection of the present invention.

[0109] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

Claims

1. A machine vision method for detecting concentric circles, characterized in that: Includes the following steps: Step 1) Configure the circular detection parameters in the process parameter template; Step 2) Obtain the image to be detected; Step 3) Preprocess the image by converting it to grayscale; Step 4) Based on the concentric circle center area and the shielded sector area configured in the process parameters, the area to be detected is obtained; Step 5) Calculate the angle between each ray based on the number of rays POINTS_NUM and the shielded sector area; Step 6) Using the angle obtained in Step 5), calculate ray L. n The intersection point with concentric circles; Step 7) Based on the search strategies INSIDE2OUTSIDE and BLACK2WHITE, find point C1 on the circular boundary; Step 8) Repeat steps 6) and 7) to find other boundary points C2…C n Let C_LIST be the set of all boundary points; Step 9) Based on the number of outliers OUTLIERS_NUM, remove outliers from C_LIST to obtain the final C_LIST_LAST; Step 10) Use the C_LIST_LAST point set to fit a circle to obtain the circle's center (X, Y) and radius R.

2. The machine vision concentric circle detection method according to claim 1, characterized in that: Step 1), the template parameters include: The concentric circles have center O(x,y) and radii MAX_R and MIN_R. Set up a shielded sector area; Scanning direction: from inside to outside, from outside to inside; Boundary detection strategy: from bright to dark, from dark to bright; Number of rays, i.e., number of fitted points: POINTS_NUM; The number of outliers removed, OUTLIERS_NUM; a circle is fitted from POINTS_NUM - OUTLIERS_NUM points.

3. The machine vision concentric circle detection method according to claim 1, characterized in that: Step 8), the method for solving the boundary points is as follows: Let the value of the i-th pixel be p_ i ; The difference between the pixel values ​​of two adjacent pixels is diff_ i =|p_ i -p_ {i-1} |; If diff_ i >k, where k refers to the condition for determining whether a pixel is a boundary point. When the difference between two adjacent pixels is greater than k, the point is considered a boundary point. This condition is changed according to different scenarios. Then, the pixel is considered a boundary point, and the coordinates of the pixel, i.e., boundary point C, are returned. i The k-coordinate; Iterate through all rays to obtain the coordinates of all boundary points.

4. The machine vision concentric circle detection method according to claim 1 or 3, characterized in that: A boundary detector is created based on the set boundary conditions. When the difference in pixel values ​​is greater than or equal to K, it is determined to be a circular boundary. Then, based on the set conditions, i.e., the scanning direction, it scans from the inside out or from the outside in, iteratively judging the difference in pixel values ​​between two adjacent pixels. If the difference in pixel values ​​between two adjacent points is greater than or equal to K, then the point is considered to be a point Cn on the circle and saved to P_LIST. If no point meets the edge detector conditions after the ray iteration ends, the next ray is scanned iteratively until all rays are scanned. After all ray iterations are completed, the circle is fitted using P_LIST, and the circle is the circle detected by the concentric circle detection method.

5. The machine vision concentric circle detection method according to claim 1, characterized in that: Step 9), the method for removing outliers is as follows: Fit the C_LIST obtained in step 8) to a circle, and obtain the center of C_LIST, C_LIST_CENTER(X_TEMP, Y_TEMP). Remove the point in C_LIST that has the farthest Euclidean distance from the center C_LIST_CENTER, and obtain C_LIST_TEMP; Repeat OUTLIERS_NUM times to obtain the final set C_LIST_LAST used to fit the circle.

6. The machine vision concentric circle detection method according to claim 4, characterized in that: Step 9), the method of fitting a circle using a point set is as follows: Let the equation of the circle be: (xa) 2 +(yb) 2 =R 2 If the coordinates of the center of the circle are (a, b), then the radius is R. Through the point set (x1, y1), (x2, y2), ..., (x n ,y n By taking the coordinates of (), we obtain the following system of equations: ∑(x i 2 +a 2 -2ax i +y i 2 +b 2 -2by i )=nR 2 ∑(x i -a) 2 +∑(y i -b) 2 =nR 2 Solving the above formula using the least squares method yields: a≈(x1+x2+…+x n ) / n b≈(y1+y2+...+y n ) / n R 2 ≈((x1-a) 2 +(x2-a) 2 +(y1-b) 2 +(y2-b) 2 +...+(x n -a) 2 +(y n -b) 2 ) / n The least squares method is used to fit a circle, which is formed by fitting three points that are not on the same straight line.

7. The machine vision concentric circle detection method according to claim 1, characterized in that: Obtain the point set P_LIST for fitting a circle. Perform a circle fitting on P_LIST, assuming the center coordinates of the fitted circle are P_center1(X1, Y1) and the radius is R1. Iterate through the points in P_LIST and calculate the distance D_LIST1 of each point from the center P_center1. Subtract the radius R1 from D_LIST1 to obtain the offset difference of each point from the fitted circle contour. Remove the point with the largest offset difference to obtain the remaining point set P_LIST_2. Repeat the removal of offset points K times to obtain the final point set P_LIST_K. Use P_LIST_K to fit a circle to obtain the detected circle and output the center P_centerK and radius RK.

8. The machine vision concentric circle detection method according to claim 1, characterized in that: Step 10): Fit a circle using the least squares method. Fit a circle using three points that are not on the same straight line.