Edge optimization method for canny edge detection algorithm

By optimizing the edge points detected by the canny edge detection algorithm, the edge layering phenomenon is solved, the edge clearness and accuracy of the edges are achieved, and the effectiveness of the template matching algorithm is improved.

CN119600051APending Publication Date: 2025-03-11EASY THINKING HANGZHOU TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411815993.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-11
Publication Date
2025-03-11

AI Technical Summary

Technical Problem

The canny edge detection algorithm will experience 'edge layering' when processing image edges, resulting in the recurrence of edge points and reducing the accuracy of edge-based template matching algorithm.

Method used

By optimizing the edge points detected by the canny edge detection algorithm, we search for two endpoints of the edge segment, mark the initial main point, and judge whether there are adjacent edge points in the edge point within the eight neighborhoods of the main point, collect and delete inconsistent repeated edge points until the other endpoint of the edge.

Benefits of technology

Effectively filter out repeated edge points, improve the clarity and accuracy of edges, and improve the effectiveness of template matching algorithms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119600051A_ABST
    Figure CN119600051A_ABST
Patent Text Reader

Abstract

The invention provides an edge optimization method for a canny edge detection algorithm. The method comprises the steps of obtaining coordinates and gradient directions of all edge points by using the canny edge detection algorithm; two end points of the edge section are searched, repeated edge points are searched on the edge section, the repeated edge points are screened and removed, and the double-edge area is optimized; the invention further provides a sub-pixel-level edge optimization method, sub-pixel processing is carried out on the edge, then clustering is carried out on pixel points in the double-edge area, and repeated edge points are reduced; according to the method, repeated edge points are effectively filtered for the problem of double edges detected by canny edges, so that the edges are clearer and more accurate, and the effectiveness of a subsequent template matching algorithm is improved; the method has the characteristics of rapidness and accuracy, and is suitable for optimization processing of the canny edge detection method.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the field of image edge detection, and in particular to an edge optimization method for a canny edge detection algorithm. Background Art

[0002] The Canny edge detection algorithm is a widely used edge detection algorithm. In order to retain more edge information and ensure the continuity of the edge, the algorithm uses a double threshold to process and determine the potential edge. Pixels with gradient values ​​greater than the high threshold are recorded as strong edge points, and pixels with gradient values ​​greater than the low threshold but less than the high threshold are recorded as weak edge points. Both types of edge points will be retained and marked as edge points. This also causes two edges to appear in the subsequent edge connection process, and the repetition of some edge points in the two edges leads to the "edge stratification" phenomenon. This phenomenon will reduce the accuracy of the edge-based template matching algorithm and affect the matching results. Summary of the invention

[0003] In order to solve the above technical problems, the present invention provides an edge optimization method for a canny edge detection algorithm. This method effectively filters out duplicate edge points for the "double edge" problem detected by canny edge detection, making the edges clearer and more accurate, thereby improving the effectiveness of the template matching algorithm.

[0004] The technical solution is as follows:

[0005] An edge optimization method for the canny edge detection algorithm, after using the canny edge detection algorithm to detect the edge of an image, the coordinates of each edge point and its gradient direction are obtained;

[0006] The following optimization steps are performed for the edge:

[0007] S1, find the two endpoints of the edge segment and mark one of them as the initial principal point;

[0008] S2. In the eight neighborhoods of the principal point, based on the pixel coordinates of each edge point, determine whether a certain edge point has adjacent edge points other than the principal point:

[0009] If it exists, continue to determine whether the edge point has been marked. If it has been marked, keep the original mark. If it has not been marked, mark it as a duplicate edge point.

[0010] If it does not exist, determine whether the edge point has been marked. If so, keep the original mark; if not, mark it as a single edge point.

[0011] Collect duplicate edge points, retain only those whose gradient directions are more consistent with the gradient direction of the main point, and delete other edge points;

[0012] S3. Mark the newly marked repeated edge points and single edge points as new principal points, and continue to execute step S2 based on the new principal point until the new principal point is the other endpoint of the edge. Stop executing step S2 and record the edge at this time as the optimized edge.

[0013] Further, in step S2, duplicate edge points are collected, and only the duplicate edge points whose gradient directions are more consistent with the gradient direction of the main point are retained, and the method for deleting other edge points is:

[0014] The direction that is perpendicular to the gradient direction of the current principal point and whose angle with the extension direction of the edge is less than 90° is recorded as the principal direction;

[0015] If there is a repeated edge point in the direction of the main direction, the angle between the gradient direction of the repeated edge point and the gradient direction of the main point is calculated. If the angle is less than the threshold, the repeated edge point is retained and marked as a new main point, and other repeated edge points are deleted; if the angle is not less than the threshold, the repeated edge point is deleted and the repeated edge point whose gradient direction is closest to the gradient direction of the current main point is continued to be found among other repeated edge points, and the found repeated edge point is retained and marked as a new main point, and other repeated edge points are deleted;

[0016] If there is no repeated edge point in the direction of the main direction, then among the repeated edge points, one repeated edge point with a gradient direction more consistent with the main point is selected and retained.

[0017] Preferably, in step S2, the threshold value is 5° to 15°.

[0018] The present invention also discloses another edge optimization method for the canny edge detection algorithm, after the canny edge detection algorithm is used to perform edge detection on an image, the coordinates of each edge point and its gradient direction are obtained;

[0019] The following optimization steps are performed for the edge:

[0020] 1) Perform sub-pixel extraction on the edge to obtain the sub-pixel coordinates of each edge point;

[0021] Find the two endpoints of the edge segment and mark one of them as the initial starting point;

[0022] 2) In the eight neighborhoods of the starting point, based on the pixel coordinates of each edge point, determine whether a certain edge point has adjacent edge points other than the starting point:

[0023] If it exists, continue to determine whether the edge point has been marked. If it has been marked, keep the original mark; if it has not been marked, mark it as a duplicate edge point;

[0024] If it does not exist, determine whether the edge point has been marked. If so, keep the original mark; if not, mark it as a single edge point.

[0025] 3) Take the newly marked repeated edge points and single edge points as new starting points; continue to execute step 2) based on the latest marked starting point until the new starting point is the other end point of the edge segment, then stop executing step 2);

[0026] 4) The edge region formed by repeated edge points is recorded as a double edge region;

[0027] Cluster the edge points in the double edge region to obtain multiple categories, and find the centroid point corresponding to each edge point in each category;

[0028] 5) Perform the following processing on each centroid point: fuse the coordinates and gradient directions of each edge point in the eight-neighborhood or four-neighborhood of the centroid point, record the fused coordinates and gradient directions as the final edge point coordinates and gradient directions; and obtain the optimized edge.

[0029] Preferably, step 4) also includes the following steps: determining the distance between adjacent center-of-gravity points in sequence, and if the distance is not within a preset interval, adding or deleting a center-of-gravity point so that the distance between the center-of-gravity points is within the preset interval.

[0030] Further, the distances between adjacent centroids are determined in sequence. If the distances are not within the preset interval, centroids are added or deleted so that the distances between the centroids are within the preset interval. The method is as follows:

[0031] ① Arrange the centroids along the extension direction of the edge, taking the first centroid as the starting point;

[0032] ② Calculate the distance between two adjacent centroids and make the following judgments:

[0033] If the distance is less than the preset value A, delete the centroid point adjacent to the starting point and execute step ③;

[0034] If the distance is greater than the preset value B, the midpoint between the two is calculated; the coordinates of each edge point in the eight-neighborhood or four-neighborhood of the midpoint are merged, and the fused coordinate point is added as the center of gravity point, and step ③ is executed;

[0035] If the distance is between the preset value A and the preset value B, execute step ④;

[0036] ③ Keep the starting point unchanged, sort the centroids along the extension direction of the edge, and continue with step ② based on the new sorting;

[0037] ④ Move the starting point to the position of the next center of gravity, and perform step ② based on the new starting point position; until there is no next center of gravity, stop executing step ② and execute step 5).

[0038] Preferably, in step ②, the coordinates of each edge point in the eight neighborhoods or four neighborhoods of the midpoint are merged in the following manner:

[0039] The distance between each edge point and the midpoint is calculated respectively, and the weight corresponding to the edge point is set based on the distance, and the size of the weight is negatively correlated with the size of the distance;

[0040] The coordinates of each edge point are weighted and fused.

[0041] Preferably, the preset value A is 0.7pix ​​to 0.9pix, and the preset value B is 1.7pix ​​to 1.9pix.

[0042] Preferably, in step 5), the coordinates and gradient directions of each edge point in the eight neighborhoods or four neighborhoods of the centroid point are fused respectively in the following manner:

[0043] The distance between each edge point and the center point is calculated respectively, and the weight corresponding to the edge point is set based on the distance, and the size of the weight is negatively correlated with the size of the distance;

[0044] The coordinates of each edge point and the gradient direction are weighted and fused respectively.

[0045] Preferably, in step 4), the number of edge points in each category is 2 to 4.

[0046] This method effectively filters out repeated edge points in the double edge area, making the edge clearer while retaining the integrity of the edge information; it is fast and accurate and is suitable for optimizing the canny edge detection method. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] Figure 1 This is a schematic diagram of the edge optimization process in Example 1;

[0048] Figure 2 This is a schematic diagram of the double edge area in Example 2;

[0049] Figure 3 Schematic diagram of the initial center of gravity in Example 2;

[0050] Figure 4 This is a schematic diagram of reordering the center of gravity points after adding a center of gravity point in Example 2;

[0051] Figure 5a , Figure 5b , Figure 5c They are respectively a canny edge detection effect diagram, a processing effect diagram of the method in Example 1, and a processing effect diagram of the method in Example 2. DETAILED DESCRIPTION

[0052] The technical solution of the present invention is described in detail below in conjunction with the accompanying drawings and embodiments.

[0053] Example 1

[0054] An edge optimization method for the canny edge detection algorithm, after using the canny edge detection algorithm to detect the edge of an image, the coordinates of each edge point and its gradient direction are obtained;

[0055] The following optimization steps are performed for the edge:

[0056] S1, find the two endpoints of the edge segment and mark one of them as the initial principal point;

[0057] S2. In the eight neighborhoods of the principal point, based on the pixel coordinates of each edge point, determine whether a certain edge point has adjacent edge points other than the principal point:

[0058] If it exists, continue to determine whether the edge point has been marked. If it has been marked, keep the original mark. If it has not been marked, mark it as a duplicate edge point.

[0059] If it does not exist, determine whether the edge point has been marked. If so, keep the original mark; if not, mark it as a single edge point.

[0060] Collect duplicate edge points, retain only those whose gradient directions are more consistent with the gradient direction of the main point, and delete other edge points;

[0061] S3. Mark the newly marked repeated edge points and single edge points as new principal points, and continue to execute step S2 based on the new principal point until the new principal point is the other endpoint of the edge. Stop executing step S2 and record the edge at this time as the optimized edge.

[0062] Specifically, in step S2, duplicate edge points are collected, and only the duplicate edge points whose gradient directions are more consistent with the gradient direction of the main point are retained, and the method of deleting other edge points is as follows:

[0063] The direction that is perpendicular to the gradient direction of the current principal point and has an angle less than 90° with the extension direction of the edge is recorded as the main direction; the main direction is the direction closest to the edge extension direction, and it is most likely to continue to connect the edge in this direction. Therefore, it is preferred to first determine whether there are repeated edge points in the main direction, specifically:

[0064] If there is a repeated edge point in the direction of the main direction, the angle between the gradient direction of the repeated edge point and the gradient direction of the main point is calculated. If the angle is less than the threshold (5°~15°), the repeated edge point is retained and marked as the new main point, and other repeated edge points are deleted; if the angle is not less than the threshold, the repeated edge point is deleted and the repeated edge point with the gradient direction closest to the gradient direction of the current main point is searched among other repeated edge points. The found repeated edge point is retained and marked as the new main point, and other repeated edge points are deleted;

[0065] If there is no repeated edge point in the direction of the main direction, then among the repeated edge points, one repeated edge point with a gradient direction more consistent with the main point is selected and retained.

[0066] In step S1, the endpoint is an edge point that satisfies condition one or condition two;

[0067] Condition 1: Traverse the eight neighborhoods of the edge point. During the traversal, the change from the edge point to the non-edge point occurs only once;

[0068] Condition 2: In the eight-neighborhood of an edge point, there are multiple edge points with continuous positions and edge points that are discontinuous with other edge points. That is, there are duplicate edge points and single edge points in the eight-neighborhood.

[0069] For example, Figure 1 As shown, the traversal starts from the upper left corner of the image. For the convenience of explanation, the edge points in the image are numbered, where edge point No. 1 and edge point No. 10 are the two endpoints respectively;

[0070] Take point 1 as the main point, and point 2 as the new main point within its eight neighborhoods (thin dashed box); point 2 is the main point, and points 3 and 4 are repeated edge points within its eight neighborhoods (thick dashed box). Based on the gradient information, point 3 is deleted, and point 4 is the new main point, and so on, until the other endpoint of the edge (edge ​​point 10) is traversed.

[0071] Example 2

[0072] An edge optimization method for the canny edge detection algorithm, after using the canny edge detection algorithm to detect the edge of an image, the coordinates of each edge point and its gradient direction are obtained;

[0073] The following optimization steps are performed for the edge:

[0074] 1) Perform sub-pixel extraction on the edge to obtain the sub-pixel coordinates of each edge point;

[0075] Find the two endpoints of the edge segment and mark one of them as the initial starting point;

[0076] 2) In the eight neighborhoods of the starting point, based on the pixel coordinates of each edge point, determine whether a certain edge point has adjacent edge points other than the starting point:

[0077] If it exists, continue to determine whether the edge point has been marked. If it has been marked, keep the original mark; if it has not been marked, mark it as a duplicate edge point;

[0078] If it does not exist, determine whether the edge point has been marked. If so, keep the original mark; if not, mark it as a single edge point.

[0079] 3) Take the newly marked repeated edge points and single edge points as new starting points; continue to execute step 2) based on the latest marked starting point until the new starting point is the other end point of the edge segment, then stop executing step 2);

[0080] 4) The edge region formed by repeated edge points is recorded as a double edge region;

[0081] Cluster the edge points in the double edge region to obtain multiple categories, and find the centroid point corresponding to each edge point in each category;

[0082] 5) Perform the following processing on each centroid point: fuse the coordinates and gradient directions of each edge point in the eight-neighborhood or four-neighborhood of the centroid point, record the fused coordinates and gradient directions as the final edge point coordinates and gradient directions; and obtain the optimized edge.

[0083] In order to prevent the centroids from being too sparse or dense, it is preferably implemented as follows:

[0084] Step 4) also includes the following steps: determining the distance between adjacent center-of-gravity points in sequence, and if the distance is not within a preset interval, adding or deleting a center-of-gravity point so that the distance between the center-of-gravity points is within the preset interval.

[0085] Specifically, the method is as follows:

[0086] ① Arrange the centroids along the extension direction of the edge, taking the first centroid as the starting point;

[0087] ② Calculate the distance between two adjacent centroids and make the following judgments:

[0088] If the distance is less than the preset value A (range 0.7pix ​​to 0.9pix), delete the centroid point adjacent to the starting point and execute step ③;

[0089] If the distance is greater than the preset value B (value range 1.7pix ​​~ 1.9pix), calculate the midpoint between the two; merge the coordinates of each edge point in the eight-neighborhood or four-neighborhood of the midpoint, add the fused coordinate point as the center of gravity, and execute step ③;

[0090] If the distance is between the preset value A and the preset value B, execute step ④;

[0091] ③ Keep the starting point unchanged, sort the centroids along the extension direction of the edge, and continue with step ② based on the new sorting;

[0092] ④ Move the starting point to the position of the next center of gravity, and perform step ② based on the new starting point position; until there is no next center of gravity, stop executing step ② and execute step 5).

[0093] More specifically, in step ②, the coordinates of each edge point in the eight neighborhoods or four neighborhoods of the midpoint are fused as follows:

[0094] The distance between each edge point and the midpoint is calculated respectively, and the weight corresponding to the edge point is set based on the distance, and the size of the weight is negatively correlated with the size of the distance;

[0095] The coordinates of each edge point are weighted and fused.

[0096] In step 5), the coordinates and gradient directions of each edge point in the eight neighborhoods or four neighborhoods of the centroid are fused respectively as follows:

[0097] The distance between each edge point and the center point is calculated respectively, and the weight corresponding to the edge point is set based on the distance, and the size of the weight is negatively correlated with the size of the distance;

[0098] The coordinates of each edge point and the gradient direction are weighted and fused respectively.

[0099] In clustering, in order to prevent data from being too sparse, the number of edge point clusters in each category should not be too large, and it is preferably implemented as follows: in step 4), the number of edge points in each category is 2 to 4. In specific implementation, the clustering method is not limited. In this embodiment, the k-means maximum expectation clustering method is used.

[0100] For ease of understanding, for example, Figure 2 As shown, the edge points are traversed row by row. For the sake of explanation, Figure 2 The edge points are numbered, where edge point 1 and edge point 10 are two endpoints respectively;

[0101] Edge points 4 to 9 are all repeated edge points, and the area where they are located is a double edge area;

[0102] After clustering in this area, edge points 4, 6, and 7 are clustered into one category.

[0103] like Figure 3is the initial center of gravity point, where center of gravity point 1 is the starting point. The distance between center of gravity point 1 and center of gravity point 2 is greater than the preset value B, and a new center of gravity point is added between them. After sorting each center of gravity point along the extension direction of the edge, the sequence number of the center of gravity point is as follows: Figure 4 As shown, point 2 is the newly added center of gravity point; keep the starting point unchanged, and the distance between the center of gravity point 1 and the newly added center of gravity point is between the preset value A and the preset value B, then the position of the starting point is moved back to the center of gravity point 2, and continue to determine the distance between points 2 and 3...

[0104] like Figure 5a , Figure 5b , Figure 5c The figures are respectively the canny edge detection effect diagram, the processing effect diagram of the method in Example 1, and the processing effect diagram of the method in Example 2. It can be seen from the figures that after the canny edge detection, there is an obvious double edge situation. The method in Example 1 can remove edge points at the pixel level and retain a complete and clear single edge contour. The method in Example 2 can process edge points at the sub-pixel level, effectively improving the double edge situation.

[0105] The foregoing description of the specific exemplary embodiments of the present invention is presented for the purpose of illustration and description. The foregoing description is not intended to be exhaustive, nor is it intended to limit the present invention to the precise form disclosed, and it is apparent that many changes and variations are possible in light of the above teachings. The exemplary embodiments are selected and described to explain the specific principles of the present invention and its practical application, so that other technicians in the field can realize and utilize the various exemplary embodiments of the present invention and its different selected forms and modified forms. The scope of the present invention is intended to be limited by the appended claims and their equivalents.

Claims

1. An edge optimization method for a canny edge detection algorithm, characterized in that: After edge detection of the image using the canny edge detection algorithm, the coordinates of each edge point and its gradient direction are obtained; The following optimization steps are performed for the edge: S1. Find the two endpoints of the edge segment and mark one of them as the initial principal point; S2. In the eight neighborhoods of the principal point, based on the pixel coordinates of each edge point, determine whether a certain edge point has adjacent edge points other than the principal point: If it exists, continue to determine whether the edge point has been marked. If it has been marked, keep the original mark. If it has not been marked, mark it as a duplicate edge point. If it does not exist, determine whether the edge point has been marked. If so, keep the original mark; if not, mark it as a single edge point. Collect duplicate edge points, retain only those whose gradient directions are more consistent with the gradient direction of the main point, and delete other edge points; S3. Mark the newly marked repeated edge points and single edge points as new principal points, and continue to execute step S2 based on the new principal point until the new principal point is the other endpoint of the edge. Stop executing step S2 and record the edge at this time as the optimized edge.

2. The edge optimization method according to claim 1, characterized in that: In step S2, duplicate edge points are collected, and only the duplicate edge points whose gradient directions are more consistent with the gradient direction of the main point are retained, and the method for deleting other edge points is as follows: The direction that is perpendicular to the gradient direction of the current principal point and whose angle with the extension direction of the edge is less than 90° is recorded as the principal direction; If there is a repeated edge point in the direction of the main direction, the angle between the gradient direction of the repeated edge point and the gradient direction of the main point is calculated. If the angle is less than the threshold, the repeated edge point is retained and marked as the new main point, and other repeated edge points are deleted; If the angle is not less than the threshold, delete the duplicate edge point and continue to search for a duplicate edge point whose gradient direction is closest to the gradient direction of the current principal point among other duplicate edge points. Keep the duplicate edge point found and mark it as the new principal point, and delete other duplicate edge points. If there is no repeated edge point in the direction of the main direction, then among the repeated edge points, one repeated edge point with a gradient direction more consistent with the main point is selected and retained.

3. The edge optimization method according to claim 2, characterized in that: In step S2, the threshold value is 5° to 15°.

4. An edge optimization method for a canny edge detection algorithm, characterized in that: After edge detection of the image using the canny edge detection algorithm, the coordinates of each edge point and its gradient direction are obtained; The following optimization steps are performed for the edge: 1) Perform sub-pixel extraction on the edge to obtain the sub-pixel coordinates of each edge point; Find the two endpoints of the edge segment and mark one of them as the initial starting point; 2) In the eight neighborhoods of the starting point, based on the pixel coordinates of each edge point, determine whether a certain edge point has adjacent edge points other than the starting point: If it exists, continue to determine whether the edge point has been marked. If it has been marked, keep the original mark; if it has not been marked, mark it as a duplicate edge point; If it does not exist, determine whether the edge point has been marked. If so, keep the original mark; if not, mark it as a single edge point. 3) Take the newly marked repeated edge points and single edge points as new starting points; Continue to execute step 2) based on the latest marked starting point until the new starting point is the other endpoint of the edge segment, then stop executing step 2); 4) The edge region formed by repeated edge points is recorded as a double edge region; Cluster the edge points in the double edge region to obtain multiple categories, and find the centroid point corresponding to each edge point in each category; 5) Perform the following processing on each centroid point: fuse the coordinates and gradient directions of each edge point in the eight-neighborhood or four-neighborhood of the centroid point, record the fused coordinates and gradient directions as the final edge point coordinates and gradient directions; and obtain the optimized edge.

5. The edge optimization method according to claim 4, characterized in that: Step 4) also includes the following steps: determining the distance between adjacent center-of-gravity points in sequence, and if the distance is not within a preset interval, adding or deleting a center-of-gravity point so that the distance between the center-of-gravity points is within the preset interval.

6. The edge optimization method according to claim 5, characterized in that: The distance between adjacent centroids is determined in sequence. If the distance is not within the preset range, the centroid is added or deleted so that the distance between the centroids is within the preset range. The method is as follows: ① Arrange the centroids along the extension direction of the edge, taking the first centroid as the starting point; ② Calculate the distance between two adjacent centroids and make the following judgments: If the distance is less than the preset value A, delete the centroid point adjacent to the starting point and execute step ③; If the distance is greater than the preset value B, the midpoint between the two is calculated; the coordinates of each edge point in the eight-neighborhood or four-neighborhood of the midpoint are merged, and the fused coordinate point is added as the center of gravity point, and step ③ is executed; If the distance is between the preset value A and the preset value B, execute step ④; ③ Keep the starting point unchanged, sort the centroids along the extension direction of the edge, and continue with step ② based on the new sorting; ④ Move the starting point to the position of the next center of gravity, and perform step ② based on the new starting point position; until there is no next center of gravity, stop executing step ② and execute step 5).

7. The edge optimization method according to claim 6, characterized in that: In step ②, the coordinates of each edge point in the eight-neighborhood or four-neighborhood of the midpoint are fused as follows: The distance between each edge point and the midpoint is calculated respectively, and the weight corresponding to the edge point is set based on the distance, and the size of the weight is negatively correlated with the size of the distance; The coordinates of each edge point are weighted and fused.

8. The edge optimization method according to claim 6, characterized in that: The preset value A is 0.7pix~0.9pix, and the preset value B is 1.7pix~1.9pix.

9. The edge optimization method according to claim 4, characterized in that: In step 5), the coordinates and gradient directions of each edge point in the eight neighborhoods or four neighborhoods of the centroid are fused respectively as follows: The distance between each edge point and the center point is calculated respectively, and the weight corresponding to the edge point is set based on the distance, and the size of the weight is negatively correlated with the size of the distance; The coordinates of each edge point and the gradient direction are weighted and fused respectively.

10. The edge optimization method according to claim 4, characterized in that: In step 4), the number of edge points in each category is 2 to 4.