## 3 Original DE Algorithm
### Adaptive Threshold-Value-Based Bi-Mutation Strategy  
In the evolution of DE, historical prior information often plays a crucial role in the subsequent evolution of the population, and can guide the evolutionary direction of the next generation to a certain extent. Therefore, designing a mutation strategy that facilitates both exploration (discovering more global optimal regions) and exploitation (refining the accuracy of the solution in each global optimal region) is indispensable for DE-based multi-threshold image segmentation algorithms. For example, in the traditional DE algorithm, the mutation mechanism with high randomness focuses on exploration, while the greedy mutation mechanism guided by local optima focuses on exploitation. When using otsu to solve the multi-threshold image segmentation problem, it works better for images with unimodal between-class variance. However, when the inter-class variance between background and object is small, the multiple peaks of the inter-class variance function are relatively close, which makes it easy for the individual to fall into the local optimum. In this case, the application of a single mutation mechanism will show certain defects. Using mutation strategy with high diversity for sufficient exploration can greatly increase the running time of the algorithm, however, if the greedy mutation strategy guided by the local optima is used for rapid exploration, it would easily fall into local optima and the optimal solution will not be searched. To address these shortcomings, a dual mutation strategy DE (named as historical adaptive threshold-based dual mutation strategy DE) is designed. The adoption of this strategy enables each individual to choose a suitable mutation strategy to meet its own needs of exploration and exploitation, which can not only better balance the diversity of the population to improve the accuracy of the solution, but also accelerate the convergence to save the search cost of the algorithm. In this way, the entire population can reach a state of balance between exploration and exploitation. The proposed mutation strategy divides the population of each generation into two parts by using the number of successful mutations in the previous generation as a threshold. The better part uses the individual as the mutation base vector, and combines with a group of differential vector to generate mutant individual, because the individual is superior in this generation, it is sensible to further seek surrounding feasible areas to speed up the exploitation process; while for the poor part, DE/rand/1 is used as the mutation operator so as to fully search the solution space and speed up exploration. After sorting the whole population, the individuals with better fitness values are chosen and the idea of adaptive bi-mutation strategy is illustrated in Figure 1. The number of successful variant individuals--svi in the last generation--is considered as a threshold value to divide the individuals into superior individuals and inferior individuals [19]. The svi value can well reflect the evolution of the whole population. When fewer individuals are successfully mutated, the entire population is stagnated, and more individuals are required to perform the DE/rand/1 mutation strategy. Therefore, the small svi can exactly adjust the direction of population variation and meet the requirement of exploring better individuals. Instead, when there are quite a lot of individuals successfully mutated, which means the svi is large, the threshold-value-based mutation strategy can be executed to help exploit its neighborhood to speed up the convergence and to refine the accuracy of the solution. Figure 1: Flowchart of Bi-mutation Strategy Framework. Among the sorted population, individuals within the threshold value are considered as the superior individual, while individuals out of the threshold value are reckoned as inferior individuals. Meanwhile, the threshold value varies adaptively as the numbers of successful mutant variants in each generation are different.