# An Optical Remote Sensing Image Matching Method Based on the Simple and Stable Feature Database
## 2 Materials and Methods
### The Building Method of Simple Stable Feature Database
#### 2.2.2 Iterative Matching Strategy for Feature Database Methods  
The feature database iterative matching strategy can not only train the stable feature points, but also cluster feature descriptors in multiple observation conditions at the same location. During feature matching, the clustered feature sets (feature classes) filtered by the feature database change the one-to-one case of descriptors at the same location to one-to-many, providing more matching possibilities for the test images. Furthermore, as an iterative process of the feature database, the number of matches of feature classes is recorded. After matching the training image with the feature database, the successfully matched pairs of points are aggregated into feature classes, and parameters such as the number of matches are recorded, while unsuccessful matches are also added to the feature database and the given relevant parameters. Each feature class is assigned a label and the features in the feature class will be continuously added or removed with the matching of results of the subsequent training images. After matching the initial feature database with the first training image, all subsequent training images are matched with the feature class, and features are considered to be successfully matched with the features at that location if they are successfully matched with the feature class. \begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**Control Point** & **Storage Content** & **Storage Type** & **Storage Size/Byte** & **Total Storage Size/Byte** & **Compression Ratio** \\ \hline \multirow{3}{*}{SIFT} & 128-dimensional Descriptor & float & 512 & \multirow{3}{*}{556} & \multirow{3}{*}{1/72} \\ \cline{2-3} \cline{5-6}  & Point properties 1, Update parameters 2 & float & 44 & \\ \hline \multirow{3}{*}{SURF} & 64-dimensional Descriptor & float & 256 & \multirow{3}{*}{300} & \multirow{3}{*}{1/133} \\ \cline{2-3} \cline{5-6}  & Point properties 1, Update parameters 2 & float & 44 & \\ \hline \multirow{3}{*}{KAZE} & 64-dimensional Descriptor & float & 256 & \multirow{3}{*}{300} & \multirow{3}{*}{1/133} \\ \cline{2-3} \cline{5-6}  & Point properties 1, Update parameters 2 & float & 44 & \\ \hline \multirow{3}{*}{AKAZE} & 64-dimensional Descriptor & unsigned char & 64 & \multirow{3}{*}{108} & \multirow{3}{*}{1/370} \\ \cline{2-3} \cline{5-6}  & Point properties 1, Update parameters 2 & float & 44 & \\ \hline \multirow{3}{*}{ORB} & 32-dimensional Descriptor & unsigned char & 32 & \multirow{3}{*}{76} & \multirow{3}{*}{1/526} \\ \cline{2-3} \cline{5-6}  & Point properties 1, Update parameters 2 & float & 44 & \\ \hline \multirow{3}{*}{FREAK} & 64-dimensional Descriptor & unsigned char & 64 & \multirow{3}{*}{108} & \multirow{3}{*}{1/370} \\ \cline{2-3} \cline{5-6}  & Point properties 1, Update parameters 2 & float & 44 & \\ \hline \hline \end{tabular}  
* Feature point latitude, longitude, response, angle, size, octave. 2 Number of matches, number of unmatched matches, number of consecutive matches, number of consecutive unmatched matches, feature class label.  
\end{table} 
Table 2: _Cont._```
Input: reference image \(R\), training images \(\{S_{1},S_{2},\ldots,S_{N}\}\), the threshold of not matched, \(thr2\)1, the threshold of consecutive unmatched, \(thr2\) Output: feature database
1 Initialize: extract feature points from \(R\). \(F_{0}=\{f_{1}^{0},f_{2}^{0},\ldots,f_{n_{0}}^{0}\}\) is written to the initial feature database.