## 3 Methodology
### Estimation of Nonexistent Values Based on Common Patterns and ELM  
In order to estimate the contone values of nonexistent patterns from the existent patterns, some methods have been proposed for this problem, such as low-pass filtering, hamming distance, and best linear estimator [14]. However, the precision of the estimated contone values will decrease with the increase of the percentage of nonexistent patterns when using these methods. Fortunately, ELM has a strong nonlinear fitting capability, which was put forward by Professor [PERSON] in 2004 [23]. The ELM has been proved to be superior to BP (Back Propagation) and SVM (Support Vector Machine) in solving the problem of complex systems modeling with advantages of simple structure, fast learning speed, and good generalization performance, thus it is employed as a fitting model for estimating the contone values of nonexistent patterns in this paper. Besides fitting model, the correlation between color components is another problem worth considering for color inverse halftoning.  
\begin{table}
\begin{tabular}{c c c c} \hline \hline  & R\_LUT & G\_LUT & B\_LUT \\ \hline Number of existing pattern & 316,579 & 353,271 & 330,563 \\ Number of nonexistent pattern & 207,709 & 156,413 & 173,886 \\ Percent of nonexistent pattern (\%) & 39.62 & 32.62 & 36.95 \\ \hline \hline \end{tabular}
\end{table}
Table 1: A case of designed LUT.  
As described in Section 3.1, the common patterns have a strong correlation between color components because they have the same halftone patterns in each color table. By using these common patterns and their corresponding contone color values in the initial LUT, the ELM model is firstly trained. Then, the contone values of nonexistent patterns can be estimated based on the trained ELM. Figure 2 gives the scheme of estimating nonexistent values based on ELM.  
In the process of training ELM model, common patterns with the same halftone pattern in each color plane are used as the input of ELM. The output of ELM is the continuous values of each color component corresponding to the halftone patterns in RGB plane. Since the weight between the input layer and the hidden layer can be generated randomly, the optimum solutions of ELM focus on the weights between the hidden layer and the output layer. We determine the number of hidden layers by the following experiment:  
Let \(\mathbf{\mathcal{T}}=\{\left.(\mathbf{x}_{i},c_{i})\right|\mathbf{x}_{i}\in \Re^{1\times N},c_{i}\in\Re^{1\times C},i=1,\dots,\mathbf{M}\}\) denote the set of common patterns in the initial LUT, where \(\mathbf{x}_{i}\) is a common pattern, \(c_{i}\) is the contone value of a color component. Define the weight matrix between the input layer and the hidden layer as \(\mathbf{\alpha}=\left(\alpha_{i,j}\right)_{L\times N^{\prime}}\) the bias of hidden nodes as \(b_{i},i=1,2,\cdots,L\), where \(L\) is the number of hidden layer nodes. The mapping function can be recorded as \(h(\mathbf{x})=\{G(a_{1},b_{1},\mathbf{x}),\dots,G(a_{L},b_{L},\mathbf{x})\}\), where \(G(a_{i},b_{i},\mathbf{x})\) is the activation function. There are many activation functions, such as sigmoid, sin, tanh and hardlim. Among them, the sigmoid function is a classic activation function which is expressed as Equation (1)  
\[G(a_{i},b_{i},\mathbf{x})=g(a_{i}\cdot\mathbf{x}+b_{i})=\frac{1}{1+e^{-(a_{i} \cdot\mathbf{x}+b_{i})}} \tag{1}\]  
According to Reference [23], the solution to the weight matrix \(\beta\) between the hidden layer and the output layer can be considered as the least square solution \(\hat{\beta}\) of the linear system \(\mathbf{H}\beta=\mathbf{T}\), which can be formulated as follows:  
\[\|\mathbf{H}\hat{\beta}-\mathbf{T}\|=\min_{\beta}\|\mathbf{H}\beta-\mathbf{T}\| \tag{2}\]  
The solution of Equation (2) for the weight matrix \(\beta\) is defined in Equation (3).  
\[\hat{\beta}=\mathbf{H}^{T}\bigg{(}\frac{\mathbf{I}}{\lambda}+\mathbf{H} \mathbf{H}^{T}\bigg{)}^{-1}\mathbf{T} \tag{3}\]  
Figure 2: The scheme of estimating nonexistent values based extreme learning machine (ELM).