# Robust Image Watermarking Algorithm Based on ASIFT against Geometric Attacks
## 2 Related Work
### Asift  
In 1999, [PERSON] (1999) introduced a novel algorithm for extracting the local scale-invariant feature points of descriptors, and these descriptors are utilized for matching two related images, which can be used for many fields such as image recognition, image registration, image retrieval, 3D reconstruction, and so on. SIFT can deal with the similarity invariance like rotation, scaling, and translation, while some invariance  
Figure 1: Two-level discrete wavelet transform (DWT) decomposition and reconstruction of an image. exploration related to different axis orientation are not concerned. [PERSON] and [PERSON] [PERSON] and [PERSON] (2018) presented to consider changing the two camera with axis orientation parameters, as known as latitude and longitude angles, for obtaining a set of sample views of the initial images. The core idea of the ASIFT is changing the spatial position of camera optical axis to simulate different viewpoints of images, and then the procedure which is similar to the SIFT algorithm is applied to extract feature points from simulated images. The affine map \(\mathbf{A}\) can be decomposed uniquely as Equation (4):  
\[\mathbf{A}=\mathbf{H}_{\lambda}\mathbf{R}_{1}(\psi)\mathbf{T}_{t}\mathbf{R}_{2}(\phi)=\lambda \left[ \begin{array}{cc}\cos\psi&-\sin\psi\\ \sin\psi&\cos\psi\end{array} \right]\left[ \begin{array}{cc}t&0\\ 0&1\end{array} \right]\left[ \begin{array}{cc}\cos\phi&-\sin\phi\\ \sin\phi&\cos\phi\end{array} \right], \tag{4}\]  
where \(\lambda>0\), and \(\lambda t\) is the determinant of \(\mathbf{A}\). \(\mathbf{R}_{1}\) and \(\mathbf{R}_{2}\) are rotation matrices. \(\phi\) is a rotation angle around image normal by the camera, and \(\psi\) is the roll angle around the camera axis. Additionally, \(\mathbf{T}_{t}\) is a tilt parameter, which is a diagonal matrix whose first eigenvalue \(t>1\) and the second one is equal to 1. The description of affine decomposition in the geometric aspect is shown in Figure 2, which demonstrates the viewpoints angles \(\phi\) and \(\theta\), the camera spin \(\psi\), the zoom parameter \(\lambda\), and the image \(\mathbf{I}\). When the camera starts to move around the image, latitude and longitude angles will be obtained. The plane including the normal and the optical axis forms an angle \(\phi\) with a fixed vertical plane, which is named as longitude. Its optical axis then forms an angle \(\theta\) with the normal to the image plane \(\mathbf{I}\), which is named as latitude. Compared with SIFT, there are three parameters in ASIFT, which are the scale, the camera longitude angle, and the camera latitude angle. Besides, rotation and scaling parameters are normalized. The procedures of ASIFT can be concluded generally as following steps. 1. The original image is performed by simulating all affine distortions resulted from camera optical axis change a frontal position. As is introduced above, these distortions are achieved by changing the longitude \(\phi\) and latitude \(\theta\) gradually. Concretely, the experimental image is performed by rotations \(\phi\) and tilts with the parameter of \(t=1/|\cos\theta|\), respectively. 2. The image stimulated in Step 1 is compared with a similarity invariant matching algorithm, where the SIFT is applied. 3. As we all know, SIFT algorithm has its own elimination methods for the wrong points matching, which can still result in a certain number of false matches. Owing to the fact that ASIFT compares many pairs of points, many false matches can be accumulated. To consider the most reliable method, optimized random sampling algorithm (ORSA) ([PERSON] et al., 2016) is applied to filter out false matches, which is more robust than the classic random sample consensus (RANSAC) algorithm. So far, by only changing the combination of the tilt and rotation parameters, ASIFT can be achieved for full affine invariance simulation. As is shown in Figure 3, examples of the camera position according to different pairs of \(\phi\) and \(\theta\) are denoted.