An iterative local search method based on neighborhood decomposition for image segmentation problems

Through the iterative local search method based on neighboring domain decomposition, the problem of low efficiency of large -scale image segmentation was solved, and efficient and accurate image segmentation was achieved.

CN114757958BActive Publication Date: 2025-01-24NANJING UNIV OF POSTS & TELECOMM
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210236833.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-03-10
Publication Date
2025-01-24
Estimated Expiration
2042-03-10

AI Technical Summary

Technical Problem

The prior art is not efficient when processing large-scale image segmentation, time-consuming and labor-intensive, and it is difficult to achieve efficient image segmentation.

Method used

The iterative local search method based on neighborhood decomposition is used to randomly generate the initial solution, perform local search, perform perturbation and local search optimization, and iteratively optimize until the termination condition is met, and the optimal solution is output.

Benefits of technology

The accuracy and time efficiency of the image segmentation have been improved, the time -consuming and labor -intensive problems of the large -scale image segmentation are solved, and the effective and convenient implementation of the image segmentation is achieved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114757958B_ABST
    Figure CN114757958B_ABST
Patent Text Reader

Abstract

An iterative local search method based on neighborhood decomposition for solving image segmentation problems, firstly converts a color image into a weighted undirected graph through image preprocessing technology, constructs a graph partitioning model of normalized cut, and then realizes image segmentation by solving the graph partitioning problem of normalized cut. The algorithm is a heuristic search algorithm, and the algorithm framework is mainly divided into three parts: solution initialization, local search program and perturbation program. First, an initial feasible solution is randomly generated; then the solution is iteratively optimized using local search and perturbation program until the termination condition is met. The method of the present invention optimizes the accuracy and time efficiency of the image segmentation problem, thereby improving the accuracy and speed of image segmentation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention is applicable to the field of computer vision technology and provides an optimization method for solving NP-hard image segmentation problems, specifically an iterative local search method based on neighborhood decomposition. Background Art

[0002] Images are carriers of visual information. Image processing plays an increasingly critical role in aerospace, biomedical engineering, industrial inspection, autonomous driving, geographic surveying and mapping, and other fields. Image segmentation is a type of image processing problem that aims to divide an image into several non-overlapping regions so that the similarity between the same regions is the highest and the similarity between different regions is the lowest.

[0003] There are many methods to solve image segmentation, such as edge detection, threshold segmentation, edge extraction, graph theory, etc.

[0004] The graph partitioning criterion of normalized cut can not only achieve the maximum difference between vertices within a vertex set and the maximum similarity within a vertex set; but also, based on global optimization, the processing results will not be biased. Therefore, this criterion has been widely used in image segmentation problems. However, on the other hand, the current graph partitioning method is often not efficient enough when dealing with large-scale problem instances, which is time-consuming and labor-intensive, and needs to be improved to improve the computational efficiency. Summary of the invention

[0005] The purpose of the present invention is to provide a neighborhood search method based on neighborhood decomposition for solving image segmentation problems. This method takes image segmentation as the background and can solve the problems of time-consuming and labor-intensive traditional methods for large-scale image segmentation, thereby ensuring the effective implementation of image segmentation.

[0006] This method first generates an initial feasible solution by random generation and obtains the current solution through local search, and then iteratively optimizes it using perturbations and a local search algorithm based on neighborhood decomposition. It includes the following steps:

[0007] Step 1: Input the image to be segmented, the number of image divisions K and the perturbation parameter k min , k max , k step , perform preprocessing to generate a weighted undirected graph G, and randomly generate an initial feasible solution S0;

[0008] Step 2: Perform local search and use the local search algorithm based on neighborhood decomposition to perform local search on the initial feasible solution to obtain the current solution S c ;

[0009] Step 3: Enter the perturbation phase and perturb the current solution with a perturbation intensity of k to generate a perturbation solution S p ;

[0010] Step 4: Enter the local search phase and use the algorithm in step 2 to perform local search on the perturbation solution to generate a new local optimal solution S i ;

[0011] Step 5, enter the solution update phase. If the improved solution S i Better than the current solution S c , then the improved solution S i Replace the current solution S c , otherwise the current solution S c constant;

[0012] Step 6, determine whether the termination condition is met, if the termination condition is met, go to step 7, otherwise go to step 3;

[0013] Step 7: meet the termination condition and output the current optimal solution S b , the process stops.

[0014] Furthermore, the random generation method of the initial feasible solution described in step 1 is as follows: first, construct an adjacency list according to the weighted undirected graph G; then, randomly select K different nodes as initial points; then, expand the initially selected K vertices from adjacent points in sequence through the information contained in the adjacency list until all nodes are allocated; finally, divide the weighted undirected graph G into K classes, namely {C1, C2, …, C K}.

[0015] Furthermore, in step 2, local search is performed, and a local search algorithm based on neighborhood decomposition is used to improve the initial feasible solution to generate a current solution, wherein the main framework of the local search algorithm based on neighborhood decomposition is a neighborhood descent algorithm and neighborhood decomposition.

[0016] Furthermore, in the neighborhood descent algorithm, the neighborhood of a solution s is defined as the set of solutions obtained by transforming it by a certain action M, that is:

[0017]

[0018] Where s is the current solution, s' is the solution after the solution s is transformed, M is the action of the transformation, and the symbol represents a transformation action M on the solution s; the neighborhood descent algorithm uses a single-point moving neighborhood N1(s):

[0019]

[0020] Among them, s represents the current solution; <v,C i ,C j> represents a single-point movement action, that is, a vertex v from class C i Move to Class C j The main steps of the neighborhood descent algorithm are: first, perform neighborhood actions on the current solution to generate a neighbor solution; then compare the advantages and disadvantages of the current solution and the neighbor solution. If a neighbor solution is found to be better than the current solution, use the neighbor solution to replace the current solution and update the neighbor solution for search; otherwise, continue to perform neighborhood actions and search for neighbor solutions until the entire neighborhood search is completed and there is no improvement, and obtain the local optimal solution.

[0021] Furthermore, in the decomposition of the neighborhood, the neighborhood N1(s) is divided into K×(K-1) mutually disjoint neighborhood blocks B1[i][j](s); B1[i][j](s) represents the i The points in are put into class C j The set of actions in is represented as:

[0022]

[0023] Each neighborhood action is recorded through the state matrix, corresponding to the neighborhood block one by one, that is, M1[i][j] corresponds to the neighborhood block B1[i][j](s); where M1[i][j] represents the class C involved in the neighborhood action N1(s) i and class C j Whether an update occurs; if class C i and class C j If the neighborhood action N1(s) is performed, M1[i][j] is set to 1; otherwise, it is set to 0. During initialization, all elements of the state matrix except the diagonal are set to 1; the diagonal elements are set to 0.

[0024] By updating the values ​​of the elements in the state matrix in real time, it records which neighboring blocks have not been searched and which have been searched. If a better neighbor solution is found after searching the entire neighbor block B1[i][j], the better neighbor solution will immediately replace the current solution according to the first improved search strategy, and the state matrix M1[i][j] element corresponding to the B1[i][j] neighbor block will be set to 1. The neighbor block B1[i][j] that has changed is the class C. i and class C j , so it is necessary to include the state matrix involved in class C i and class C j All relevant element values ​​are set to 1, that is, the matrices M1[i][t], M1[t][i], M1[t][j] and M1[j][t] are all set to 1, 1≤t≤K.

[0025] Furthermore, in step 2, the local search algorithm uses incremental calculation, which specifically includes the following steps:

[0026] Construct the Laplacian matrix LM of the graph G and the binary quantity X for each class l ; The Laplacian matrix LM of the graph involves the degree matrix DM and adjacency matrix AM of the graph G; The degree matrix DM of the graph G is a diagonal matrix, and the diagonal elements are the degrees of each point in the original graph, that is, DM[i][i] = s i , point v i Degrees i That is, the sum of the edge weights emitted by the point, expressed as:

[0027]

[0028] w ij For point v i and point v j The edge weight between them; adjacency matrix AM[i][j] = w ij ; The Laplacian matrix LM of graph G = DM-AM;

[0029] The binary quantity X for each class l =(X 1l ,X 2l ,…X nl ),in:

[0030]

[0031] X il Indicates whether node i belongs to class C l :If X il If it is 1, it means that node i belongs to class C l ; otherwise it does not belong;

[0032] Whenever a single point move is performed on the current solution, the neighboring action <v j ,C m ,C n >When generating a neighbor solution, for class C m The number of cutting edge transformations that occur is:

[0033]

[0034] In the formula ∑ i∈m LM[i][j]X im For class C m With point v j The opposite number of the original cutting edges between j +∑ i∈m LM[i][j]X im For a single point move point v j The number of cutting edges with other types, the sum of the two is point v j The difference between the number of cut edges before and after the move; A positive number indicates an increase in the number of cutting edges after the improvement, whereas a negative number indicates a decrease in the number of cutting edges.

[0035] For class C n The number of cutting edge transformations that occur is:

[0036]

[0037] In the formula, s j +∑ i∈n LM[i][j]X in For class C n Point v in j The number of cutting edges with other classes, while ∑ i∈n LM[i][j]X in After a single point move, the class C n With point v j The opposite number of the number of cutting edges between them. If the sum of the two is a positive number, it means the number of cutting edges is reduced, otherwise it means the number of cutting edges is increased.

[0038] The number of changes of the cutting edge is calculated based on the above increments, so as to determine whether the neighbor solution is better than the current solution, thus achieving rapid review.

[0039] Furthermore, in step 2, the steps of the local search algorithm based on neighborhood decomposition are:

[0040] Step 2.1, input solution is stored in current solution;

[0041] Step 2.2, initialize the state matrix;

[0042] Step 2.3, starting from the state matrix M1 corresponding to the current neighborhood action N1(s), search for neighborhood blocks with element values ​​1 in sequence; if an improved solution appears, go to step 2.4; otherwise, continue searching for the next neighborhood block until the entire neighborhood search is completed and go to step 2.5;

[0043] Step 2.4, replace the current solution with the improved solution, update the state matrix, and go to step 2.3;

[0044] In step 2.5, the variable neighborhood search algorithm based on neighborhood decomposition stops, and the current solution is output as the local optimal solution.

[0045] Furthermore, in step 3, the perturbation phase is entered, and a random perturbation with a perturbation intensity of k is performed on the current solution, that is, k random single-point movement operations are performed.

[0046] Furthermore, in step 5, the update phase is entered. If the improved solution is better than the current solution, the improved solution is used to replace the current solution, and the perturbation strength k=k min , k minis the minimum disturbance intensity; otherwise, the disturbance intensity k=k+k step (k step is the increasing disturbance intensity); if the disturbance intensity k is greater than the maximum disturbance intensity k max , then reset the disturbance intensity k = k min .

[0047] Furthermore, in step 6, the termination condition is set to the maximum number of iterations or the maximum calculation time.

[0048] The beneficial effects achieved by the present invention are as follows: the method of the present invention optimizes the accuracy and time efficiency of the image segmentation problem, thereby improving the accuracy and speed of image segmentation, solving the problem that traditional methods are time-consuming and labor-intensive when segmenting large-scale images, and ensuring the effective and convenient implementation of image segmentation. BRIEF DESCRIPTION OF THE DRAWINGS

[0049] Figure 1 It is a gray value image after image preprocessing in the embodiment of the present invention.

[0050] Figure 2 It is a schematic diagram after image segmentation in an embodiment of the present invention.

[0051] Figure 3 It is a flow chart of a neighborhood search method based on neighborhood decomposition in an embodiment of the present invention.

[0052] Figure 4 Schematic diagram of neighborhood search in an embodiment of the present invention.

[0053] Figure 5 Schematic diagram of the state matrix and the update of the state matrix in an embodiment of the present invention. DETAILED DESCRIPTION

[0054] The technical solution and execution steps of the present invention will be described in detail and completely below in conjunction with the accompanying drawings in the examples of the present invention.

[0055] This method is based on the computer vision technology neighborhood and aims to improve the accuracy and efficiency of image segmentation. It is an iterative local search method based on neighborhood decomposition. This method is used to solve the graph partitioning problem of normalized cut.

[0056] Given any color image, the image needs to be preprocessed first, that is, the color image in RGB space is converted into a grayscale image, such as Figure 1 , and then through the currently popular conversion formula:

[0057]

[0058] Calculate the edge weight between any two pixels in the image, so as to convert a grayscale image into a weighted undirected graph G for image segmentation with normalized cuts. ij is the edge weight between pixel i and pixel j, F i and F j are the grayscale values ​​of pixel i and pixel j respectively, X i and X j are the spatial positions of pixel i and pixel j respectively, σ F With σ X is the scale factor of the Gaussian kernel function, and r is the distance threshold (the weight between two pixels is calculated only when the spatial position of two pixels is less than r). The above is the image preprocessing work.

[0059] By preprocessing the image, the color image is converted into a weighted undirected graph G, and the color image segmentation problem is converted into a normalized cut graph partitioning problem based on graph theory. The optimization objective function of the normalized cut is:

[0060]

[0061] In the above formula, K represents the number of image partitions; C1, C2, ..., C K Represents the set of pixels that the image is divided into K categories; v i and v j Respectively represent pixel i and pixel j in the set; w ij Represents the vertex v in the graph G i and v j The edge weight between them is the similarity between pixel i and pixel j.

[0062] Figure 2 This is an example of dividing a grayscale image into K categories, where K is 5.

[0063] The embodiment of the present invention proposes an iterative local search method based on neighborhood decomposition to solve the image segmentation problem. The overall process framework is as follows: Figure 3 As shown, the following steps are included:

[0064] Step 1: Input the example Figure 1 , parameter K is set to 5, and the initial feasible solution S0 is randomly generated.

[0065] Step 2: Perform local search and use the local search algorithm based on neighborhood decomposition to perform local search on the initial solution S0 to obtain the current solution S c .

[0066] Step 3: Enter the perturbation phase and perturb the current solution with a perturbation intensity of k to generate a perturbation solution S p .

[0067] Step 4: Enter the local search phase and use the local search algorithm in step 2 to find the perturbation solution S p Perform local search to generate a new local optimal solution S i .

[0068] Step 5, enter the update phase, if the solution S is improved i Better than the current solution S c , then the improved solution S i Replace the current solution S c , otherwise the current solution S c constant.

[0069] Step 6, determine whether the termination condition is met, if the termination condition is met, go to step 7, otherwise go to step 3.

[0070] Step 7: meet the termination condition and output the current optimal solution S b , the step stops.

[0071] The initial feasible solution in step 1 is constructed as follows:

[0072] First, an adjacency list is constructed based on the input weighted undirected graph G. Then, K different nodes are randomly selected as the initial points. Then, the information contained in the adjacency list is used to expand the adjacent points of the initially selected K vertices in sequence until all nodes are assigned. Finally, the weighted undirected graph G is divided into K classes, namely {C1, C2, …, C K}.

[0073] In step 2, a local search algorithm based on neighborhood decomposition is used to perform a local search for the initial solution, wherein the main framework of the neighborhood descent algorithm based on neighborhood decomposition is the neighborhood descent algorithm and the neighborhood decomposition technology, which is specifically described as follows:

[0074] Neighborhood descent algorithm: The neighborhood of a solution s is generally defined as the set of solutions obtained by transforming it by a certain action M, that is:

[0075]

[0076] Where s is the solution before transformation, s' represents the solution after transformation of solution s, M is the action of transformation, and the symbol Indicates that a transformation action M is performed on the solution s. In this embodiment, the neighborhood descent algorithm uses a single-point moving neighborhood N1(s):

[0077]

[0078] Where s is the solution before transformation; <v,C i ,C j > represents a single-point movement action, that is, a vertex v from class C i Move to Class C j Neighborhood descent is an iterative local optimization process, and the main steps of each iteration include: 1) For the neighborhood block where the current solution is located, find the optimal neighbor solution and compare the current solution with the neighbor solution; if it is better than the current solution, replace the current solution with the neighbor solution; 2) re-execute step 1) until there is no better solution than the current solution in the entire neighborhood block.

[0079] Neighborhood decomposition: The neighborhood N1(s) can be divided into K×(K-1) mutually exclusive neighborhood blocks B1[i][j](s). B1[i][j](s) represents the i The points in are put into class C j The set of actions in . It can be expressed as:

[0080]

[0081] State matrix: The state matrix is ​​mainly used to record each neighborhood action, and it corresponds to the neighborhood block one by one, that is, M1[i][j] corresponds to the neighborhood block B1[i][j](s). Among them, M1[i][j] represents the class C involved in the neighborhood action N1 i and class C j Whether an update occurs. If class C i and class C j If the neighborhood action N1 is performed, M1[i][j] is set to 1; otherwise, it is set to 0. During initialization, all elements of the state matrix except the diagonal are set to 1; the diagonal elements are set to 0.

[0082] Update of the state matrix: Record which neighborhood blocks have not been searched and which neighborhood blocks have been searched by updating the values ​​of the elements in the state matrix in real time. The algorithm only focuses on those search spaces that have not been searched or have better neighbor solutions, and ignores some search spaces that have been searched or are unlikely to have better solutions, thereby improving the operating efficiency of the entire algorithm. If a better neighbor solution is found after searching the neighborhood block B1[i][j], the better neighbor solution will immediately replace the current solution according to the first improvement search strategy, and the state matrix M1[i][j] element corresponding to the B1[i][j] neighborhood block will be set to 1. Because the current solution has changed, the state matrix also needs to be updated accordingly. Since the current solution after replacement is also a neighbor solution of the previous solution, the state matrix does not need to be completely updated, only the changed part needs to be updated. For example Figure 5 As shown, the neighborhood block B1[i][j] corresponds to the class Ci and class C j ; Therefore, it is necessary to include the state matrix involved in class C i and class C j All relevant element values ​​are set to 1; that is, the matrices M1[i][t], M1[t][i], M1[t][j] and M1[j][t] (1≤t≤K) are all set to 1.

[0083] In step 2, the incremental calculation used by the local search algorithm is specifically described as follows:

[0084] Incremental calculation: Incremental calculation technology is used to avoid recalculation every time a new neighbor solution is encountered, thereby saving time for checking whether the neighbor solution is better than the current solution. Before using incremental calculation, it is necessary to construct the Laplacian matrix LM of the graph G and the binary quantity X of each class. l .

[0085] The Laplacian matrix LM of a graph involves the degree matrix DM and adjacency matrix AM of the graph G. The degree matrix DM of the graph G is a diagonal matrix, and the diagonal elements are the degrees of each point in the original graph, that is, DM[i][i] = s i , point v i Degrees i That is, the sum of the edge weights emitted by the point, expressed as:

[0086]

[0087] w ij For point v i and point v j The edge weights between them. Adjacency matrix AM[i][j] = w ij Therefore, the Laplacian matrix LM of graph G is DM-AM.

[0088] The binary quantity X for each class l =(X 1l ,X 2l ,…X nl ),in:

[0089]

[0090] X il Indicates whether node i belongs to class C l :If X il If it is 1, it means that node i belongs to class C l ; Otherwise, it does not belong.

[0091] Whenever a single point move is performed on the current solution, the neighboring action <v j ,C m ,C n>When generating a neighbor solution, for class C m The number of cutting edge transformations that occur is:

[0092]

[0093] In the formula ∑ i∈m LM[i][j]X im For class C m With point v j The opposite number of the original cutting edges between j For point v j The degree of s j +∑ i∈m LM[i][j]X im For a single point move point v j The number of cutting edges with other types, the sum of the two is point v j The difference between the number of cut edges before the move and the number of cut edges after the move. A positive number indicates the amount by which the number of cutting edges increases after the improvement, whereas a negative number indicates the amount by which the number of cutting edges decreases.

[0094] For class C n The number of cutting edge transformations that occur is:

[0095]

[0096] In the formula, s j For point v j Degree, s j +∑ i∈n LM[i][j]X in For class C n Point v in j The number of cutting edges with other classes, while ∑ i∈n LM[i][j]X in After a single point move, the class C n With point v j The opposite number of the number of cutting edges between them. If the sum of the two items is a positive number, it means the number of cutting edges is reduced, otherwise it means the number of cutting edges is increased.

[0097] According to the above incremental calculation, the number of transformations of the cutting edge can be quickly calculated, so as to determine whether the neighbor solution is better than the current solution, thereby achieving the purpose of rapid review.

[0098] In step 2, in order to implement incremental calculation and neighborhood decomposition strategy in neighborhood search, the algorithm maintains a state matrix and matrix LM. Among them, incremental calculation is the core of the neighborhood descent algorithm. With incremental calculation, the pros and cons of each neighborhood action can be quickly calculated, so as to continuously improve and optimize the solution. And neighborhood decomposition is to record which neighborhood actions have not been searched and judged through the state matrix. It can be said that incremental calculation is the basis of the neighborhood descent algorithm, and the cooperation between neighborhood decomposition and neighborhood descent algorithm constitutes the entire local search algorithm. The specific steps are:

[0099] Step 2.1, input solution is stored in current solution.

[0100] Step 2.2, initialize the state matrix.

[0101] Step 2.3, starting from the state matrix M1 corresponding to the current neighborhood action N1, search for neighborhood blocks with element values ​​of 1 in turn to perform the neighborhood descent algorithm; if an improved solution appears, go to step 2.4; otherwise, continue to search for the next neighborhood block to perform the neighborhood descent algorithm until the entire neighborhood search is completed and go to step 2.5. (The search for the state matrix in the previous article is the application of the neighborhood decomposition technology)

[0102] Step 2.4, replace the current solution with the improved solution, update the state matrix, and go to step 2.3.

[0103] In step 2.5, the variable neighborhood search algorithm based on neighborhood decomposition stops, and the current solution is output as the local optimal solution.

[0104] In step 3, the specific steps of entering the disturbance phase are:

[0105] The current solution is randomly perturbed with a perturbation intensity of k, that is, k random single-point movement operations are performed. The purpose is to prevent the entire algorithm from falling into a local optimal value and being unable to search for the global optimal value.

[0106] In step 5, the specific steps of entering the update phase are:

[0107] If the improved solution is better than the current solution, the improved solution is used to replace the current solution, and the perturbation strength k=k min , k min is the minimum disturbance intensity; otherwise, the disturbance intensity k=k+k step (k step is the increasing disturbance intensity); if the disturbance intensity k is greater than the maximum disturbance intensity k max , then reset the disturbance intensity k = k min .

[0108] In step 6, the termination condition is set to the maximum number of iterations or the maximum calculation time. Generally, different termination conditions are set according to the scale of the problem.

Claims

1. An iterative local search method based on neighborhood decomposition for solving image segmentation problems, characterized by: The method comprises the following steps: Step 1: Input the image to be segmented, the number of image divisions K and the perturbation parameter k min , k max , k step , perform preprocessing to generate a weighted undirected graph G, and randomly generate an initial feasible solution S0; Step 2: Perform local search and use the local search algorithm based on neighborhood decomposition to perform local search on the initial feasible solution to obtain the current solution S c ; In step 2, the local search algorithm uses incremental calculation, which specifically includes the following steps: Construct the Laplacian matrix LM of the graph G and the binary quantity X for each class l ; The Laplacian matrix LM of the graph involves the degree matrix DM and adjacency matrix AM of the graph G; The degree matrix DM of the graph G is a diagonal matrix, and the diagonal elements are the degrees of each point in the original graph, that is, DM[i][i] = s i , point v i Degrees i That is, the sum of the edge weights emitted by the point, expressed as: w ij For point v i and point v j The edge weight between them; adjacency matrix AM[i][j] = w ij ; The Laplacian matrix LM of graph G = DM-AM; The binary quantity X for each class l =(X 1l ,X 2l ,…X nl ),in: X il Indicates whether node i belongs to class C l :If X il If it is 1, it means that node i belongs to class C l ; otherwise it does not belong; Whenever a single point move is performed on the current solution, the neighboring action <v j ,C m ,C n >When generating a neighbor solution, for class C m The number of cutting edge transformations that occur is: In the formula ∑ i∈m LM[i][j]X im For class C m With point v j The opposite number of the original cutting edges between j +∑ i∈m LM[i][j]X im For a single point move point v j The number of cutting edges with other types, the sum of the two is point v j The difference between the number of cut edges before and after the move; A positive number indicates an increase in the number of cutting edges after the improvement, whereas a negative number indicates a decrease in the number of cutting edges. For class C n The number of cutting edge transformations that occur is: In the formula, s j +∑ i∈n LM[i][j]X in For class C n Point v in j The number of cutting edges with other classes, while ∑ i∈n LM[i][j]X in Class C after single point movement n With point v j The opposite number of the number of cutting edges between them. If the sum of the two is a positive number, it means the number of cutting edges is reduced, otherwise it means the number of cutting edges is increased. According to the above incremental calculation, the number of changes of the cutting edge is obtained, so as to determine whether the neighbor solution is better than the current solution, so as to achieve rapid review; Step 3: Enter the perturbation phase and perturb the current solution with a perturbation intensity of k to generate a perturbation solution S p ; Step 4: Enter the local search phase and use the algorithm in step 2 to perform a local search on the perturbation solution to generate a new local optimal solution S i ; Step 5, enter the solution update phase. If the improved solution S i Better than the current solution S c , then the improved solution S i Replace the current solution S c , otherwise the current solution S c constant; Step 6, determine whether the termination condition is met, if the termination condition is met, go to step 7, otherwise go to step 3; Step 7: meet the termination condition and output the current optimal solution S b , the process stops.

2. The iterative local search method based on neighborhood decomposition for solving image segmentation problems according to claim 1, characterized in that: The random generation method of the initial feasible solution described in step 1 is as follows: first, construct an adjacency list according to the weighted undirected graph G; then, randomly select K different nodes as the initial points; then, use the information contained in the adjacency list to expand the initially selected K vertices from the adjacent points in sequence until all nodes are assigned; finally, divide the weighted undirected graph G into K classes, namely {C1, C2, …, C K }.

3. The iterative local search method based on neighborhood decomposition for solving image segmentation problems according to claim 1, characterized in that: In step 2, enter the local search, use the local search algorithm based on neighborhood decomposition to improve the initial feasible solution to generate the current solution, where the main framework of the local search algorithm based on neighborhood decomposition is the neighborhood descent algorithm and neighborhood decomposition.

4. The iterative local search method based on neighborhood decomposition for solving image segmentation problems according to claim 3, characterized in that: In the neighborhood descent algorithm, the neighborhood of a solution s is defined as the set of solutions obtained by transforming it by a certain action M, that is: Where s is the current solution, s' is the solution after the solution s is transformed, M is the action of the transformation, and the symbol represents a transformation action M on the solution s; the neighborhood descent algorithm uses a single-point moving neighborhood N1(s): Among them, s represents the current solution; <v,C i ,C j > represents a single-point movement action, that is, a vertex v from class C i Move to Class C j The main steps of the neighborhood descent algorithm are: first, perform neighborhood actions on the current solution to generate a neighbor solution; then compare the advantages and disadvantages of the current solution and the neighbor solution. If a neighbor solution is found to be better than the current solution, use the neighbor solution to replace the current solution and update the neighbor solution for search; otherwise, continue to perform neighborhood actions and search for neighbor solutions until the entire neighborhood search is completed and there is no improvement, and obtain the local optimal solution.

5. The iterative local search method based on neighborhood decomposition for solving image segmentation problems according to claim 3, characterized in that: In the decomposition of the neighborhood, the neighborhood N1(s) is divided into K×(K-1) mutually non-overlapping neighborhood blocks B1[i][j](s); B1[i][j](s) represents the class C i The points in are put into class C j The set of actions in is represented as: The 0-1 state matrix records the state information of each neighborhood block, where each 0-1 variable corresponds to a neighborhood block, that is, M1[i][j] corresponds to the neighborhood block B1[i][j](s), and M1[i][j] indicates whether the neighborhood block B1[i][j](s) is updated. If the neighborhood block B1[i][j](s) is updated, M1[i][j] is set to 1, otherwise it is set to 0; and when the state matrix is ​​initialized, the diagonal elements are all set to 0, and the remaining elements are set to 1; By updating the values ​​of the elements in the state matrix in real time, it records which neighborhood blocks have not been searched and which neighborhood blocks have been searched. If a better neighbor solution is found after searching the entire neighborhood block B1[i][j], then according to the first improved search strategy, the better neighbor solution will immediately replace the current solution, and the state matrix M1[i][j element corresponding to the neighborhood block B1[i][j] will be set to 1; and the neighborhood block B1[i][j] corresponding to the change is the class C i and class C j , so it is necessary to include the state matrix involved in class C i and class C j All relevant element values ​​are set to 1, that is, the matrices M1[i][t], M1[t][i], M1[t][j] and M1[j][t] are all set to 1, 1≤t≤K.

6. The iterative local search method based on neighborhood decomposition for solving image segmentation problems according to claim 1, characterized in that: In step 2, the steps of the local search algorithm based on neighborhood decomposition are: Step 2.1, input solution is stored in current solution; Step 2.2, initialize the state matrix; Step 2.3, starting from the state matrix M1 corresponding to the current neighborhood action N1(s), search for neighborhood blocks with element values ​​1 in sequence; If an improved solution appears, go to step 2.4; otherwise, continue searching the next neighborhood block until the entire neighborhood search is completed and go to step 2.5; Step 2.4, replace the current solution with the improved solution, update the state matrix, and go to step 2.3; In step 2.5, the variable neighborhood search algorithm based on neighborhood decomposition stops, and the current solution is output as the local optimal solution.

7. The iterative local search method based on neighborhood decomposition for solving image segmentation problems according to claim 1, characterized in that: Step 3, enter the perturbation phase, and perform random perturbations with a perturbation intensity of k on the current solution, that is, perform k random single-point movement operations.

8. The iterative local search method based on neighborhood decomposition for solving image segmentation problems according to claim 1, characterized in that: Step 5: Enter the update phase. If the improved solution is better than the current solution, the improved solution is used to replace the current solution, and the perturbation strength k=k min , k min is the minimum disturbance intensity; otherwise, the disturbance intensity k=k+k step , k step is the increasing disturbance intensity; if the disturbance intensity k is greater than the maximum disturbance intensity k max , then reset the disturbance intensity k = k min .

9. The iterative local search method based on neighborhood decomposition for solving image segmentation problems according to claim 1, characterized in that: In step 6, the termination condition is set to the maximum number of iterations or the maximum calculation time.

Citation Information

Patent Citations

  • A remote sensing image urban area super-pixel segmentation method

    CN109712153A

  • Otsu image segmentation method based on parallel pigeon flock algorithm

    CN111210454A