## 2 The Algorithm
### Sparse Seed Point Extraction  
[PERSON] [12] successfully used the high-performance DAISY descriptor in a depth-map fusion algorithm. Here we try to use the DAISY descriptor in our feature expansion algorithm to extract initially sparse seed points. When feature points in a reference image are described by the DAISY descriptors, their correspondences in another image can be searched along epipolar lines. However, several peaks might be encountered in the search, and the maximum peak does not always produce the right correspondence [11]. To solve this ambiguity, the proposed algorithm searches the correspondences of one feature point in several images. Only if all correspondences are successfully found--in other words, the feature point and all its correspondences are related to a single 3D point--is the 3D point regarded as a potential seed point. The detailed process is as follows. Firstly, each image is selected in turn as a reference image. For each reference image, at least three auxiliary images around it are selected. The parallax between any two selected images (including reference image) should be in the proper range; otherwise, matching accuracy might be reduced due to too small a parallax, and matching might even fail due to too few common regions caused by a large parallax. To ensure proper selection, scores for all candidate images can be calculated by Equation (1), and the image with highest score selected. \[s_{i}=C_{i}\sum_{j\in\mathbf{A}}C_{i,j}\exp[-(\theta_{i,j}-u)^{2}/2\sigma_{1} ^{2}] \tag{1}\]  
In Equation (1), \(s_{i}\) is the score of \(i\)th image, \(\mathbf{A}\) is the set of all selected images (including the reference image). In our experiment, \(u=15\). \(\theta_{i,j}\) is the angle between the optical axis of the \(i\)th camera and the \(j\)th camera. Usually, \(C_{i}=C_{i,j}=1\). If the \(i\)th and the \(j\)th cameras are on the same side of the camera for the reference image, \(C_{i,j}=0.5\). If the \(i\)th camera is far away from the camera for the reference image, \(C_{i}=0.5\). \(\sigma_{1}\) is defined as follows:  
\[\sigma_{1}=\left\{ \begin{array}{cc}5&\theta_{i,j}\leq 15\\ 15&\theta_{i,j}>15\end{array} \right. \tag{2}\]  
Figure 1: Workflow diagram of the proposed algorithm. Secondly, correspondences for one feature point are searched in the selected images. For every feature point \(d\) in the reference image, the epipolar line \(l\) in an auxiliary image can be calculated by \(l\) = **F**\(\times\)\(d\), where the fundamental matrix **F** can be determined by at least 7 or more known matched feature points, since it contains a degree of freedom (DOF) of 7 DOF. Once enough matched feature points have been found, **F** can be computed using a random sample consensus (RANSAC) algorithm [29]. Then the correspondence of point \(d\) is searched at one pixel intervals along \(l\) based on the angles between DAISY descriptors. The angles are sorted in ascending order, with smaller angles indicating higher similarity. If the similarity at one point is obviously larger than that at other points as required by Expression (3) in all auxiliary images, a candidate 3D seed point can be calculated using triangulation principles and the Single Value Decomposition (SVD) method. To ensure that the found correspondences and the feature point \(d\) are related to a single 3D point, the mean reprojection error of a candidate 3D seed point in the reference and auxiliary images is calculated. A candidate 3D point becomes a true 3D seed point if its mean reprojection error is less than a threshold \(th_{err}\). \[\theta_{1}<r\theta_{2} \tag{3}\]  
In Expression (3), \(r\) should be smaller than one. \(\theta_{i}\) is the angle between DAISY descriptors of the feature point \(d\) and its candidate correspondences. Since seed point extraction is performed on a multi-level image pyramid, different levels should have different thresholds \(th_{err}\). In our experiments for the first three levels in the image pyramid, \(th_{err}\) = 1, 0.5 and 0.25 pixels, and \(r\) = 0.9, 0.8 and 0.7, respectively.