# Satellite Attitude Determination and Map Projection Based on Robust Image Matching
## 3 Method
### Finding Matched Feature Points from Satellite and Base Images
#### 3.2.2 Rough Matching  
To find candidate matched pairs of feature points between a satellite image and a base map, we adopted nearest-neighbor matching based on the Euclidean distance between the feature descriptors, where shorter distance indicates more similarity of two features. Figure 4 presents some results of feature matching between VIS (satellite) and OLI (base map) images based on the SURF descriptors. Figure 4a,b shows the Kanto area (Japan) on a relatively clear day and an area around Yosemite National Park (USA) on a moderately cloudy day, respectively. Figure 4c is the Kyushu area (Japan) under many cloud patches. The VIS images in Figure 4a-c were taken on 22 September, 16 October, and 26 September 2015, respectively, and the OLI images were obtained on 25 October 2015, 29 July 2015, and 17 May 2016, respectively. The OLI images were chosen because their cloud coverage is less than 10% of the scene. Figure 4: Examples of feature extraction and rough matching by the SURF algorithm in: (**a**) a less cloudy case (Kanto, Japan); (**b**) a moderately cloudy case (Yosemite, US); and (**c**) a case with many cloud patches (Kyushu, Japan) in the VIS images. Left and right panels are satellite images from UNIFORM-1 and base maps from Landsat-8, respectively. The “+” signs represent the locations of detected SURF features, and the lines connects pairs of corresponding features in the two images. Line color represents the relative similarity of the paired features (blue to red in order of increasing similarity), measured as the distance of SURF descriptors between the paired features. To maximize the number of reliable (i.e., surviving outlier rejection) feature pairs, and to reduce the computational time of the outlier rejection part, we removed the obviously incorrect feature pairs. This is achieved by conducting the four pre-processing steps described blow, prior to rough-matching by SURF. These steps are specialized for satellite imagery based on the available knowledge on our problem settings. To correct the resolution differences between the satellite images and the base maps, we first smoothed the base OLI images with a Gaussian function with an e-folding width of 3 pixels (=90 m). Although SURF is known to be scale-invariant, it cannot detect features on sub-pixel scales, and smoothing the higher-resolution images reduces the detection of infeasible features. The e-folding parameter reflects that the resolution of the OLI images is approximately triple that of the VIS images (see Tables 1 and 2). We note that Gaussian smoothing empirically provided better performance in satellite attitude determination than down-resampling of the OLI images to the same spatial resolution as VIS. Next, we specified the reflectance range of the OLI images (0%-20% in Figure 4a,c, and 0%-30% in Figure 4b). The selected ranges were defined from the typical reflectances in each scene. The bit depths of these reflectances are then converted to 8 bits by compacting the pixel values in 0-255. Although SURF is invariant under illumination changes, the bit depth reduction improved the reliability of rough matching in practice. The underlying idea is to calibrate the reflectance coverage of the OLI images (\(-\)10% to 120% in the original product definition) to that of a typical land surface (5%-30% in the visible wavelength region) (e.g., [25]). The VIS images were converted from 10 bits to 8 bits by highlighting 5%-70% of the full count range of VIS, which is empirically determined to retain the contrasts of the land features. It should be noted that the calibration parameters by which digital number of VIS image is converted to physical value have not been prepared, because VIS is primarily used as a guide imager for the BOL [3; 14], so that VIS is not required to have physical amount of the surface brightness. Third, since the ambiguous shape of the cloud can produce spurious matching, we masked the regions of saturated pixels (with value 255) after the bit depth reduction, and excluded them from SURF.