## 5 Parameter Optimization Method Based on DE Algorithm
### L-Shade  
L-SHADE [31] (Success-History-based Adaptive DE with Linear Population Reduction) is used to determine the value of each parameter. It is an improved DE algorithm that won the Congress on Evolutionary Computation competition for single-objective optimization in 2014 [21]. Moreover, it is one of the current state-of-the-art DE algorithms, which is mainly used to solve global optimization problems with continuous variables. The procedure of L-SHADE is shown by Algorithm 1, in which the population size of generation G+1 is computed using LPSR (Linear Population Size Reduction) strategy as follows:  
\[N_{G+1}=\text{round}\left[\left(\frac{N^{\text{min}}-N^{\text{init}}}{MAX\_NFE} \right)\cdot NFE+N^{\text{init}}\right] \tag{18}\]  
where \(N^{\text{min}}\) is the possible smallest population size, \(N^{\text{init}}\) is the initial population size, _NFE_ represents the current number of evaluations and _MAX_NFE_ represents the maximum number of evaluations. ```
1:// Initialization phase
2:G = 1, \(N_{G}=N^{init}\), Archive \(A=\phi\);
3:Initialize population \(P_{G}=(x_{1,G},...,x_{N,G})\) randomly;
4:Set all values in \(M_{\text{CR}}\), \(M_{\text{F}}\) to 0.5;
5:// Main loop
6:while The termination criteria are not met do
7:\(S_{\text{CR}}=\phi\), \(S_{\text{F}}=\phi\);
8:for\(i=1\) to \(N\)do
9:\(r_{i}=\) Select from [1, \(H\)] randomly;
10:if\(M_{\text{CR},r}i=\bot\)then
11:\(CR_{i,G}=0\);
12:else
13:\(CR_{i,G}=\)randn\({}_{i}(M_{\text{CR},r}i\), 0.1);
14:endif
15:\(F_{i,G}=\)randn\({}_{i}(M_{\text{F},r}i\), 0.1);
16: Generate trial vector \(u_{i,G}\) according to
17: current-to-pbest/1/bin;
18:endfor
19:for\(i=1\) to \(N\)do
20:if\(\left(u_{i,G}\right)\leq f\left(x_{i,G}\right)\)then
21:\(xi\),\(G+1=ui_{i}\);
22:else
23:\(xi\),\(G+1=xi\);
24:endfor
25:for\(i=1\) to \(N\)do
26:if\(\left(u_{i,G}\right)\leq f\left(x_{i,G}\right)\)then
27:\(xi\),\(G+1=ui_{i}\);
28:else
29:\(xi\),\(G+1=xi\);



+++ ==WARNING: Truncated because of repetitions==



++
```
1:if\(S_{CR}\
eq\phi\) and \(S_{F}\
eq\phi\)then
2:if\(M_{CR,k,G}=\bot\) or \(\max(S_{CR})=0\)then
3:\(MCR,k,G+1=\bot\);
4:else
5:\(MCR,k,G+1=\)mean\({}_{WL}(SCR)\);
6:endif
7:\(M\)F,\(G+1=\)mean\({}_{WL}(SF)\);
8:\(k++\);
9:if\(k>H\)then
10:\(k=1\);
11:endif
12:else
13:\(MCR,k,G+1=\)\(MCR,k,G\);
14:\(M\)F,\(G+1=\)\(M\)F,\(G\);
15:endif
```

**Algorithm 1**_Cont_. Due to the length limitation of this paper, readers may refer to [31] for more details about L-SHADE algorithm. ## 6 Experiments and Discussion

### Setup

All experiments are carried out on a PC configured with Intel Core i7-8750H CPU (2.2 GHz) and 16G RAM. The STMCF and parameter optimization method are implemented using C++ by Visual Studio 2015. The value of each parameter in STMCF is set according to the result obtained by the parameter optimization method, as listed in Table 3. All parameters are kept constant in the following experimentsSpeckle stereo image pairs are acquired by the device presented in Figure 4. Sequence of different speckle patterns are generated and projected to the measured object by the rotary speckle projector in which a pseudo-random speckle pattern mask is inside. When two infrared cameras (the baseline is 120 mm, the focal length is 8 mm, the resolution is 1280 \(\times\) 1024) capture images synchronously, the mask will stop rotating. Afterwards, the mask continues to rotate at a certain angle (\(\sim\)10\({}^{\circ}\)) and generate another pattern. The switching time between different speckle patterns is 11 ms and the exposure time of the camera is 2 ms. Therefore, the acquisition time for each speckle image pair is 13 ms. The number of speckle patterns can be set in the range of 3-12. The two infrared cameras are calibrated by the method proposed in [32] and the obtained camera parameters are used to rectify the speckle stereo image pairs.