# Periocular Recognition in the Wild: Implementation of RGB-OCLBCP Dual-Stream CNN
## 2 Colour-Based Orthogonal Combination--Local Binary Coded Pattern  
This section introduces a new colour-based texture descriptor known as Orthogonal Combination--Local Binary Coded Pattern (OCLBCP). OCLBCP is devised based on the notion of an orthogonal combination of Local Binary Pattern (LBP) [34] and Local Ternary Pattern (LTP) [35]. The OCLBCP descriptor yields a more vibrant texture representation since it is less sensitive to the image noise and levels of illuminations. Let \(\mathbf{I}_{p}\in\mathbb{R}^{x\times y}\) be the periocular grayscale image, where \(x\) and \(y\) are the width and height of \(\mathbf{I}_{p}\), respectively. The apparent changes in the images are related to illuminations and poses, thus we deploy the pre-processing method used in [36] to reduce the noise from \(\mathbf{I}_{p}\). First, we transform the \(\mathbf{I}_{p}\) into Fourier domain as \(Z\). Furthermore, we apply the Butterworth filter (\(B\)) to \(Z\) by reducing the illumination noise and enhancing the reflectance [37]. After that, we apply an inverse Fourier transform to obtain the filtered image \(\mathbf{I}_{p}^{\prime}\). To construct the OCLBCP descriptor, \(\mathbf{I}_{p}^{\prime}\) has to be proposed first according to the LBP [34] and LTP [35] transformation. LBP summarises the local structure in an image by comparing each pixel with its neighbourhood [34]. This descriptor works by thresholding a neighbourhood matrix using the grey level of the central pixel in the binary code. LTP is an extension of the LBP with three-valued codes [35]. The descriptor works by comparing each pixel with its neighbouring pixels. Then, they are combined after thresholding into a ternary pattern. The ternary pattern is split into two binary patterns and called positive and negative matrices. In this paper, the LBP consists of the \(3\times 3\) neighbourhood matrix, and the LTP consists of the positive and negative matrices. To do so, \(\mathbf{I}_{p}^{\prime}\) is partitioned into sub-matrix with size \(3\times 3\) and the neighbourhood values of sub-matrix is binarised according to the centre value of the sub-matrix, which serves as a reference value for thresholding. After that, the descriptor combines the sub-matrix of LBP and LTP into four orthogonal groups: \(D_{1}\), \(D_{2}\), \(D_{3}\), and \(D_{4}\) (see Figure 2). The orthogonal groups serve to achieve illumination invariance and uncover better texture information by removing outlying disturbances. Specifically, to obtain \(D_{1}\), the bits from the yellow boxes in the LBP and the bits from green boxes in LTP positive in Figure 2 are combined. The same processes are repeated for \(D_{2}\), \(D_{3}\), and \(D_{4}\). Suppose \(\theta\) is the OCLBCP descriptor, we first convert the binary codes \(D_{k}\) into a decimal number \(D_{ck}\), \(k=1\), \(2\), \(3\), and \(4\), and then choose the largest value from all the orthogonal groups. Specifically, the \(\theta\) is formed by combining the groups as follows:  
\[\theta\left(i,j\right)=\max\left[D_{\mathcal{C}1}(i,j),D_{\mathcal{C}2}(i,j),D _{\mathcal{C}3}(i,j),D_{\mathcal{C}4}(i,j)\right], \tag{1}\]  
where \(i\) and \(j\) are the indices of \(\theta\). To map \(\theta(i,j)\) into a colour-based texture descriptor, we create a distance pattern matrix \(\Delta\) to represent the similarity of the image intensity patterns across all possible pixel values based on [28]:  
\[\Delta:= \begin{bmatrix}\delta_{1,1}&\delta_{1,2}&\delta_{1,3}&\cdots&\delta_ {1,\mathcal{C}}\\ \delta_{2,1}&\delta_{2,2}&\delta_{2,3}&\cdots&\delta_{2,\mathcal{C}}\\ \vdots&\vdots&\vdots&\ddots&\vdots\\ \delta_{r,1}&\delta_{r,2}&\delta_{r,3}&\cdots&\delta_{r,\mathcal{C}}\end{bmatrix} , \tag{2}\]  
where \(r\) and \(c\) are defined as the indices of \(\delta\). \(\delta_{r,c}\) is calculated by Earth Mover's Distance.