*3.3. Block-based Mutual Information Feature Vector Calculation Mode*

In the previous section, the number of blocks with the best classification effect has been obtained. Next, it is the main problem of this paper to quantify the texture relationship between blocks by means of mutual information. For the calculation of mutual information, we proposed three calculation modes, namely horizontal traversal, vertical traversal and eight-neighborhood traversal. Calculating mutual information of adjacent blocks by the horizontal traversal as shown in Figure 12.

**Figure 12.** The horizontal traversal.

According to Formula (5), the mutual information between adjacent blocks *x*<sup>1</sup> and *x*2, *x*<sup>2</sup> and *x*3,··· , *xm*<sup>×</sup>*n*−<sup>1</sup> and *xm*×*<sup>n</sup>* is calculated by horizontal traversing from the first row to the last. They are *I*<sup>1</sup> *r* , *I*<sup>2</sup> *r* , ··· , *Im*<sup>×</sup>(*n*−1) *r* . In order to facilitate the next classification and recognition research, the *m* × (*n* − 1) mutual information obtained above is stacked, and then a feature vector *Rr* is obtained, as in Formula (7).

$$R\_{\mathcal{I}} = \begin{pmatrix} I\_1' \\ I\_2' \\ \vdots \\ I\_{m \times (n-1)}' \end{pmatrix} \tag{7}$$

The vertical traversal mode as shown in Figure 13.

$$
\begin{bmatrix}
\dagger \\
\dagger \\
\end{bmatrix}
$$

**Figure 13.** The vertical traversal.

Similarly, the mutual information between the adjacent blocks *x*<sup>1</sup> and *xn*+1, *xn*+<sup>1</sup> and *x*2*n*+1, ··· ,*xm*<sup>×</sup>(*n*−1) and *xm*×*<sup>n</sup>* is calculated by vertical traversal from the first column to the last. The *n* × (*m* − 1) mutual information obtained above is stacked, and then a feature vector *Rc* is obtained, as in Formula (8).

$$R\_c = \begin{pmatrix} I\_1^c \\ & I\_2^c \\ & \vdots \\ & & \vdots \\ I\_{n \times (m-1)}^c \end{pmatrix} \tag{8}$$

The eight-neighborhood traversal mode as shown in Figure 14.

**Figure 14.** The eight-neighborhood traversal.

First, calculate the mutual information of block *xn*+<sup>2</sup> and its surrounding eight neighbors *x*1, *x*2, *x*3, *xn*+1, *xn*+3, *x*2n+1, *x*2n+2, *x*2n+3, then calculate the eight neighborhood mutual information of *xn*+3, *xn*+4, ··· , *x*(*m*−1)×*n*<sup>−</sup>1, which are respectively *I*<sup>1</sup> *e* , *I*<sup>2</sup> *e* , ··· , *I*(*m*−2)×(*n*−2)×<sup>8</sup> *e* . Performing a stacking operation on (*m* − 2) × (*n* − 2) × 8 mutual information to obtain a feature vector *Re*, as in Equation (9).

$$R\_{\mathfrak{C}} = \begin{pmatrix} I\_1^{\mathfrak{c}} \\ I\_2^{\mathfrak{c}} \\ \vdots \\ I\_{(m-2)\times(n-2)\times 8}^{\mathfrak{c}} \end{pmatrix} \tag{9}$$

In this paper, the training set and test set are processed separately in the above three calculation modes, and then the optimal mutual information calculation mode is determined by the experimental results.

#### *3.4. Classification Identification*

The above mentioned that the bit plane is processed by 20 × 20 blocks, and then the mutual information between the blocks is calculated in three modes of horizontal, vertical and eight-neighborhood. Furthermore, the feature vectors *Rr*, *Rc* and *Re* are obtained as the feature extraction of dorsal hand vein. The training samples *R*- *<sup>t</sup>* from the device 1, and the test samples *Rt* from the device 2. The feature vector of the training samples in the three calculation modes is defined as *R*- *<sup>t</sup>* <sup>=</sup> *I* - *t*1 *I* - *<sup>t</sup>*<sup>2</sup> ... *I* - *tk*! , *t* = 1, 2, ..., *n*, and the feature vector of test samples is defined as *Rt* <sup>=</sup> *I t*1 *I <sup>t</sup>*<sup>2</sup> ... *I tk*! , *t* = 1, 2, ..., *n*, where *t* represents the category of samples, and *k* is the number of mutual information.

We have carried out experiments in the cross-device and single-device scenario. In the single-device scenario, there are 10 images of each hand, we only took five samples to match. In the cross-device scenario, we also took five samples in the test sample of device two to match. An n-dimension distance vector matrix *dist*(*t* = 1, 2, 3, 4 ··· , *n*) is obtained by calculating the Euclidean distance [20] between the test sample (from device 2) feature *Rt* and training sample (from device 1) features *Rt* - , as in Formula (10).

$$\text{dis}\_{t} = \left\| \mathbf{R}\_{t} - \mathbf{R}\_{t}^{\prime} \right\| = \sqrt{\sum\_{i=1}^{k} \left( l\_{ti} - l\_{ti}^{\prime} \right)^{2}}, \mathbf{t} = 1, 2, \cdots, n \tag{10}$$

Get the minimum value *d* of the feature distance.

$$d = \min\_{t=1}^{n} \{ \text{dis}\_t \} \tag{11}$$

Then the test sample *Rt* is identified as the training sample *Rt* through the minimum value *d*.
