SlowGuess/NeurIPS_2023_OCR huggingface dataset:
We denote matrices with bold upper case letters and their elements with double-indexed lower case letters:  $\mathbf{X} = (x_{ij})$ . We write the vector in bold lowercase as  $\mathbf{x} = (x_i)$ . Thus, the matrix can be also termed as  $\mathbf{X} = (\mathbf{x}_i)$  or  $([\mathbf{X}]_{i,:})$ , where  $[\mathbf{X}]_{i,:}$  means the  $i$ -th row of matrix  $\mathbf{X}$ . We also denote  $\mathcal{X}$  as the set-form of matrix  $\mathbf{X} \in \mathbb{R}^{M \times N}$ , which consists of all column vectors of  $\mathbf{X}$ , i.e.,  $\mathcal{X} = \{\mathbf{x}_j\}_{j=1}^N$ . The inlier product of two vectors  $\mathbf{x}, \mathbf{y} \in \mathbb{R}^n$  is denoted as  $\langle \mathbf{x}, \mathbf{y} \rangle = \mathbf{x}^\top \mathbf{y}$ . For a matrix  $\mathbf{X}$ , the maximum eigenvalue is denoted by  $\lambda_{\max}(\mathbf{X})$ , and its Frobenius norm is defined as  $\| \mathbf{X} \|_F = \sqrt{\sum_i \sum_j |x_{ij}|^2}$ .
For a vector  $\mathbf{x}$ ,  $\| \mathbf{x} \|_2$  (or  $\| \mathbf{x} \|$ ) denotes the Euclidean norm  $\| \mathbf{x} \|_2 = \sqrt{\sum_i |x_i|^2}$ , and its  $\ell_0$  norm (i.e.,  $\| \mathbf{x} \|_0$ ) is to compute the number of nonzero entries in vector  $\mathbf{x}$ , while the  $\ell_1$  of  $\mathbf{x}$  is defined as  $\| \mathbf{x} \|_1 = \sum_i |x_i|$ .
B Threshold Shrinkage Method
Threshold shrinkage method is typically used to solve  $\ell_1$  norm problem, which is introduced by the Lemma from [47].
Lemma 1 Let  $\mathbf{q}$  be a given vector, for problem:
$$
\min  _ {\mathbf {x}} \frac {1}{2} \| \mathbf {x} - \mathbf {q} \| _ {2} ^ {2} + \lambda \| \mathbf {x} \| _ {1}, \tag {21}
$$
if the optimal solution is  $\mathbf{x}^*$ , then the  $i$ -th element of  $\mathbf{x}^*$  can be calculated as:
$$
x _ {i} ^ {*} = \mathcal {T} _ {\lambda} \left(q _ {i}\right), \tag {22}
$$
where  $\mathcal{T}_{\lambda}(\cdot)$  is a threshold shrinkage operation and defined as:
$$
\mathcal {T} _ {\lambda} (q) = \left\{ \begin{array}{l l} q - \lambda , & \text {i f} q > \lambda , \\ q + \lambda , & \text {i f} q <   - \lambda , \\ 0, & \text {o t h e r w i s e .} \end{array} \right. \tag {23}
$$
C Proof of Solution
To solve the following linear inverse problem [7]:
$$
\hat {\mathbf {x}} = \arg \min  _ {\mathbf {x}} \left\{\frac {1}{2} \| \mathbf {M} ^ {\top} \mathbf {x} - \mathbf {e} \| _ {2} ^ {2} + \lambda \| \mathbf {x} \| _ {1} \right\}, \tag {24}
$$
we can extend it into:
$$
\min  \left\{F (\mathbf {x}) \equiv f (\mathbf {x}) + g (\mathbf {x}) \right\}, \tag {25}
$$
where  $f, g$  are convex functions with satisfying the following assumptions:
-  $f: \mathbb{R}^n \to \mathbb{R}$  is a smooth convex function, which is continuously differentiable with Lipschitz continuous gradient  $L(f)$ :
$$
\left\| \nabla f (\mathbf {x}) - \nabla f (\mathbf {y}) \right\| \leq L (f) \| \mathbf {x} - \mathbf {y} \| _ {2}, \forall \mathbf {x}, \mathbf {y} \in \mathbb {R} ^ {n}, \tag {26}
$$
where  $L(f)$  is the Lipschitz constant of  $\nabla f(\mathbf{x})$
-  $g: \mathbb{R}^n \to \mathbb{R}$  is a continuous convex function which is generally nonsmooth, such as a sparse constraint term for our problem.
- The extended problem (25) is solvable, i.e.,  $\mathbf{x}^{*} := \arg \min F \neq \emptyset$ .
Table 5: Outline of the embedding of data and model for the classical DLT, and our DSP formulation for known and unknown model fitting. For better understanding, we assume to input only  $N$  inliers. For each formulation, the (requirements) including data type, model type, are listed in the first row. And for each model, we conclude the geometry relationship  $G_{\mathcal{M}} = (D,d,r,s)$ .
Model (req.)	DLT (data & model type:D,d,r)	DSP for known model fitting (data & model type:D,d,r)	DSP for unknown model fitting (data type:D)
Fund.	miT=(u'i'piT, v'i'piT, piT)1×9 x=vec(F) M'Tx=0N×1,G=(9,8,1,0)	miT=(u'i'piT, v'i'piT, piT)1×9 x=vec(F) M'Tx=0N×1,G=(9,8,1,0)	miT=(u'i'piT, v'i'piT, piT)1×9 x=vec(F) M'Tx=0N×1,G=(9,8,1,0)
Homo.	miT=[piT, 01×3, -u'i'piT]2×9 x=vec(H) M'Tx=02N×1,G=(9,8,1,0)	miT=(u'i'piT, v'i'piT, piT)1×9 X=[01×3, h3T, -h2T- h3T, 01×3, h1T h2T, -h1T, 01×3] T M'TX=0N×3,G=(9,6,3,3)	miT=(u'i'piT, v'i'piT, piT)1×9 X=[01×3, h3T, -h2T- h3T, 01×3, h1T h2T, -h1T, 01×3] T M'TX=0N×3,G=(9,6,3,3)
Affine	miT=[piT, 01×3, -u'i]2×7 x=vec(A) M'Tx=02N×1,G=(7,6,1,0)	miT=(u,i, v,i', v'i, 1)1×5 X=[a11, a12, -1, 0, a13] T M'TX=0N×2,G=(5,3,2,1)	miT=(u'i'piT, v'i'piT, piT)1×9 X=[0, 0, a11, 0, 0, a12, -1, 0, a13] T M'TX=0N×2,G=(9,7,2,5)
In our subproblem,  $f(\mathbf{x}) = \frac{1}{2} \| \mathbf{M}^{\top}\mathbf{x} - \mathbf{e}\|_{2}^{2}, \quad g(\mathbf{x}) = \lambda \| \mathbf{x}\|_{1}$ . The smallest Lipschitz constraint of the gradient  $\nabla f(\mathbf{x})$  can be calculated as
$$
L (f) = \lambda_ {\max } \left(\mathbf {M} \mathbf {M} ^ {\top}\right). \tag {27}
$$
For any  $L > 0$ ,  $f(\mathbf{x})$  can be approximated at a given point  $\mathbf{y}$  with the following form:
$$
\begin{array}{l} \hat {f} (\mathbf {x}) \simeq f (\mathbf {y}) + \left\langle \nabla f (\mathbf {y}), \mathbf {x} - \mathbf {y} \right\rangle + \frac {L}{2} \| \mathbf {x} - \mathbf {y} \| ^ {2} \tag {28} \\ = \frac {L}{2} \| \mathbf {x} - (\mathbf {y} - \frac {1}{L} \nabla f (\mathbf {y})) \| _ {2} ^ {2} + c o n s t. \\ \end{array}
$$
By ignoring constant terms related to  $\mathbf{y}$ , and let  $\mathbf{y} = \mathbf{x}^{k - 1}$ , we can obtain the basic step in each iteration for problem (24):
$$
\mathbf {x} ^ {k} = \arg \min  _ {\mathbf {x}} \left\{\frac {L}{2} \| \mathbf {x} - \left(\mathbf {x} ^ {k - 1} - \frac {1}{L} \nabla f \left(\mathbf {x} ^ {k - 1}\right)\right) \| _ {2} ^ {2} + \lambda \| \mathbf {x} \| _ {1} \right\}. \tag {29}
$$
where  $\nabla f(\mathbf{x}^{k - 1}) = \mathbf{M}(\mathbf{M}^{\top}\mathbf{x}^{k - 1} - \mathbf{e}^{k})$
D Pseudo Code of Our DSP Method
We conclude the pseudo code of the implementation of our DSP method in Alg. 1 and Alg. 2. For any given data, we can directly reason out the true model from the solution of our DSP. To this end, the common embedding and formulation is outlined in Tab. 5. If we know the exact information of true model type, we can also apply our DSP for inlier seeking and model estimation, by giving exact data embedding and basis number  $r$ , as presented in the middle column of Tab. 5.
Take 2D points fitting as example, i.e., the true model is Line, Parabola, and Ellipse, as shown in Fig. 6. In each case, the inliers are contaminated by noise of 0.01, and the inlier and outlier number are 300 and 100, respectively. We first construct the common data embedding as  $\widetilde{\Phi}(x_i, y_i) = \Phi_E(x_i, y_i) = [1, x_i, y_i, x_i^2, y_i^2]^\top$ , and the sparse basis or parameter vector is  $\mathbf{x} = [a, b, c, d, e]^\top$ . We set the max basis number  $R = 1$ ,  $\lambda = \log(2N) \times [0.01, 0.1, 0.1, 1, 1]^\top$ . The optimization procedure and fitting results are shown in Fig. 6. Specifically, the estimation results for these three cases are  $\mathbf{x} = [-0.0845, 0.7135, -0.6956, 0, 0]^\top$ ,  $\mathbf{x} = [-0.4219, -0.1068, -0.4291, 0.7915, 0]^\top$  and  $\mathbf{x} = [-0.37825, 0.1498, 0.0641, 0.6513, 0.6373]^\top$ , respectively.
Algorithm 1: Dual Sparsity Pursuit (DSP) Algorithm
Input: Observation data set  $\mathcal{S}$  parameters  $\lambda ,\gamma ,K$  B, stop threshold  $\varepsilon$  Output: Sparse basis  $\mathbf{x}$  and inlier set  $\mathcal{I}$    
1 Construct common embedding matrix M from S with  $\mathbf{m}_i = \widetilde{\Phi} (\mathbf{s}_i)$  , and set  $\mathbf{e}^0 = \mathbf{0},t_0 = 0$  .   
2 Initialize  $\mathbf{x}^0$  as the right singular vector corresponding to the smallest singular value of M;   
3 Calculate Lipschitz constraint  $L = \lambda_{max}(\mathbf{MM}^{\top})$  .   
4 For  $k = 1,2,\dots ,K$  do   
5 Update  $\mathbf{e}^k$  using  $\mathbf{e}^k = \mathcal{T}_{\gamma}(\mathbf{M}^\top \mathbf{x}^{k - 1})$  and (23);   
6 Update the gradient  $\nabla f(\mathbf{x}^{k - 1}) = \mathbf{M}(\mathbf{M}^\top \mathbf{x}^{k - 1} - \mathbf{e}^k)$  .   
7 Update  $\mathbf{x}^k$  using  $\mathbf{x}^k = \mathcal{T}_{\frac{\lambda}{L}}(\mathbf{q}_L(\tilde{\mathbf{x}}^{k - 1}))$  and (23);   
8 Perform sphere and orthogonal projection using  ${\bf x}\gets\frac{{\bf x}}{\|{\bf x}\|_2}$  and  ${\bf x}\gets({\bf I} - {\bf BB}^{\top}){\bf x}$  .   
9 If  $\| \mathbf{x}^k -\mathbf{x}^{k - 1}\| _2 <   \epsilon$  , then stop the iteration;   
10 Update  $t_k$  with  $t_k = \frac{1}{2} (1 + \sqrt{1 + 4t_{k - 1}^2})$  , and compute  $\tilde{\mathbf{x}}^k$  as  $\tilde{\mathbf{x}}^k = \mathbf{x}^k +\left(\frac{t_k - 1}{t_k}\right)(\mathbf{x}^k -\mathbf{x}^{k - 1})$  .   
11 Set  $\mathbf{x}^k = \tilde{\mathbf{x}}^k$  , then perform sphere and orthogonal projection using  ${\bf x}\gets\frac{{\bf x}}{\|{\bf x}\|_2}$  and  ${\bf x}\gets({\bf I} - {\bf BB}^{\top}){\bf x}$  .   
end for   
13 Return  ${\bf x}\gets{\bf x}^k$  , and  ${\bf e}\gets{\bf e}^k;\mathcal{I}=\{j|e_j=0\}$
Algorithm 2: Model Reasoning & Fitting with DSP
Input: Observation data  $\mathcal{S}$  parameters  $\lambda ,\gamma ,R,K$  stop thresholds  $\varepsilon$  and  $\xi$  Output: Sparse bases  $\mathbf{X}$  , inlier set  $\mathcal{I}$  and model type  $\mathcal{M}$    
1 Construct common embedding matrix M from S with  $\mathbf{m}_i = \widetilde{\Phi} (\mathbf{s}_i)$    
2 Initialize  $\mathbf{X}_0$  as right singular vectors corresponding to the  $R$  smallest singular values of M,  $\mathbf{E}_0 = 0$ $t_0 = 0,\mathbf{B} = \mathbf{0}_{D\times 1},r = 1$  .   
3 Estimate  $(\mathbf{x}_1,\mathbf{e}_1)$  using Alg. 1 to solve problem min  $\mathcal{L}(\mathbf{M},\mathbf{x},\mathbf{e})$  .   
4 For  $i = 2,\dots R$  do   
5 Construct given bases  $\mathbf{B}\gets [\mathbf{B},\mathbf{x}_{i - 1}]$    
6 Estimate  $(\mathbf{x}_i,\mathbf{e}_i)$  using Alg. 1 to solve problem min  $\mathcal{L}(\mathbf{M},\mathbf{x},\mathbf{e})$  , and set  $\tau = \xi \cdot \mathcal{L}(\mathbf{M},\mathbf{x}_{i - 1},\mathbf{e}_{i - 1})$  .   
7 If  $\mathcal{L}(\mathbf{M},\mathbf{x}_i,\mathbf{e}_i)\geq \tau$  , then stop the iteration;   
8 Set  $r\gets i$  .   
9 end for   
10 Return  $\mathbf{X} = [\mathbf{x}_1,\mathbf{x}_2,\dots ,\mathbf{x}_r],\mathbf{E} = [\mathbf{e}_1,\mathbf{e}_2,\dots ,\mathbf{e}_r]$  .   
11 Obtain inliers  $\mathcal{I} = \{j||\mathbf{E}_{j,:}||_{2} = 0\}$  , and model type  $\mathcal{M}$  with  $\mathbf{X}\sim \Psi (\mathcal{M})$
We implement the proposed DSP method with MATLAB code. All comparative methods are implemented with the code provided by their authors. Their parameters are set as the original papers suggested, or referring to [6]. The experiments of RANSAC [19], EAS [18] and our DSP are conducted on a desktop with 4.0 GHz Intel Core i7-6700K CPU and 16GB memory. USAC [38]  ${}^{3}$ , MAGSAC++ [6]  ${}^{4}$ , OANet [50]  ${}^{5}$  and SuperGlue [40]  ${}^{6}$  are performed on a Server and Ubuntu 16.04. And two deep learning methods are accelerated by NVIDIA TITAN V GPUs. In addition, AIC [1], BIC [42] and GRIC [25] are used for performing unknown model fitting. Since they are classical model selection criteria, wherein GRIC is still used as a state-of-the-art method in vision tasks [39, 31, 32]. We perform these three criteria with the core parameters suggested as in [31, 32], then equip them with robust model estimators to identify true models.
2EAS: https://github.com/AoxiangFan/EfficientDeterministicSearch
3USAC: https://github.com/cr333/usac-cmake
4 MAGSAC++: https://github.com/danini/magsac
5OANet: https://github.com/zjhthu/OANet
$^{6}$ SuperGlue: https://github.com/magicleap/SuperGluePretrainedNetwork
Figure 6: The optimization procedure of our DSP for 2D points fitting. From left to right: model reasoning for a Line, Parabola, and Ellipse model, respectively. From top to bottom: loss  $\mathcal{L}(\mathbf{M},\mathbf{x}_i,\mathbf{e}_i)$  value with iteration, and corresponding parameter values.
E.2 Details of Datasets
Synthesized Data. To perform the robustness test and model reasoning comparisons, we synthesize 900 image pairs with different outlier ratios (i.e.,  $\mathrm{OR} = 20\%$ ,  $50\%$ ,  $80\%$ ) and noise levels (i.e., NL = 0.2, 0.5, 0.8, 1.0, 1.5 in pixel). To be specific, these synthetic image pairs are randomly generated by two  $3 \times 4$  camera matrices  $\mathbf{P}_1 = \mathbf{K}_1[\mathbf{I}_{3 \times 3}|\mathbf{0}]$  and  $\mathbf{P}_2 = \mathbf{K}_2[\mathbf{R}_2| - \mathbf{R}_2\mathbf{t}_2]$ . Camera  $\mathbf{P}_1$  is located in the origin and its image plane is parallel to XY plane. The position of camera  $\mathbf{P}_2$  is generated by  $\mathbf{R}_2, \mathbf{t}_2$ , wherein the position of  $\mathbf{P}_2$  is at a random point inside a unit-sphere around  $\mathbf{P}_1$ , thus  $|\mathbf{t}_2| \leq 1$ . And the orientation  $\mathbf{R}_2 = \mathbf{R}_{X,\alpha}\mathbf{R}_{Y,\beta}\mathbf{R}_{Z,\gamma}$  is determined by three 3D rotation matrices rotating around axes  $X, Y$  and  $Z$  by  $\alpha, \beta$  and  $\gamma$ , respectively ( $\alpha, \beta, \gamma \in [-\pi/3, \pi/3]$ ). We set  $\mathbf{K}_1 = \mathbf{K}_2$  with focal length  $f_x = f_y = 600$  and principal points  $[300, 300]^{\top}$ . To generate fundamental data, we randomly set  $\mathbf{R}_2$  and  $\mathbf{t}_2$ , and create  $n_i$  positions  $(x, y, z)$  in real world with  $x, y \in [-1, 1], z \in [3, 8]$ , which are further projected onto the first and second images by  $\mathbf{P}_1, \mathbf{P}_2$ . In this case, 20 fundamental image pairs are synthesized for each OR and NL, which creates in total 300 fundamental image pairs. As for generating homography data, we know that homography transformation is typically derived from two types of degraded cases, i.e., the target or scene in shooting is approximated a plane, or the camera is only rotated around optical center without any translation. Therefore and for the first homography case, we randomly simulate  $n_i$  positions  $(x, y, z)$  in real world with  $x, y \in [-1, 1], z \in [9.95, 10.05]$ . While for another case, we just set  $\mathbf{t}_2 = \mathbf{0}_{3 \times 1}$  on the basis of synthesizing fundamental data. 10 image data are respectively synthesized for these two homography types for each OR and NL, which also creates in total 300 image pairs. As for generating affine data, we directly set the last row of both  $\mathbf{P}_1$  and  $\mathbf{P}_2$  as  $[0, 0, 0, 1]$ , thus making them satisfy the property of affine camera. For each OR and NL, we similarly synthesize 20 affine data, which creates in total 300 affine image pairs finally. For each image pair, we set the number of putative matches as  $N = n_i + n_o = 1000$ , that means it consists of  $n_i = 200$  inliers and  $n_o = 800$  outliers if  $OR = 80\%$ .
Real Image Data. 8 public datasets are used for test, including kusvod2, homogr $^{7}$ , EVD $^{8}$ , Hpatch $^{9}$ , and the Feature Matching benchmark $^{10}$  that contains TUM, KITTI, T&T and CPC datasets. The detailed information is concluded in Tab. 6. In particular, kusvod2, homogr and EVD provide putative matches and the inlier indexes. While the rest datasets only provide ground truth model parameters, thus
$^{7}$ kusvod2, homogr: http://cmp.felk.czut.cz/data/geometry2view/index.xhtml
EVD: http://cmp.felk.csvut.cz/wbs/
$^{9}$ Hpatch: https://github.com/hpatches/hpatches-dataset
$^{10}$ FM benchmark: https://jwbian.net/fm-bench
Table 6: Details of the used datasets. From left to right: Datasets name, ground truth(GT) Model, the number of sequences(#Seq), the number of image pairs(#IP), resolution, baseline of the image pair, the property of imaging scenes, and the average match number(AMN) and average inlier ratio(AIR). '–' indicates all image pairs are from different imaging scenes.
Datasets	GT Model	#Seq.	#IP	Resolution	Baseline	Property	AMN	AIR
Hpatch	Homo.	59	295	varying	varying	wall or ground	3714	0.23
EVD	Homo.	-	15	329 × 278 to 1712 × 1712	extreme view	wall or ground	328	0.28
homogr	Homo.	-	16	392 × 278 to 1712 × 1368	varying	varying	873	0.47
kusvod2	Fund.	-	16	512 × 768 to 1944 × 2592	wide	outdoor scenes	516	0.74
TUM	Fund.	3	1000	480 × 640	short	indoor scenes	333	0.62
KITTI	Fund.	5	1000	370 × 1226	short	street views	550	0.83
T&T	Fund.	3	1000	1080 × 2048 or 1080 × 1920	wide	outdoor scenes	892	0.35
CPC	Fund.	1	1000	varying	short	internet photos	491	0.35
we use VLFEAT toolbox<sup>11</sup> to construct SIFT matches with ratio test 1.5, and the inlier matches are identified as the geometric error less than 2 pixels.
E.3 Additional Results
Quantitative Results of Other Four Datasets. We first give additional results of the known model fitting on the rest four datasets, including homogr, kusvod2, KITTI and TUM. Details are in Fig. 7, which show the same trends as in other four datasets (please see the main body), that our proposed DSP achieves the best fitting accuracy and promising efficiency, followed by EAS and SAC methods.
Figure 7: Qualitative statistic results of Geometric Error(top) and Run Time (bottom) for known model estimation. A point on the curve with coordinate  $(x,y)$  denotes that there are  $100\times x$  percent of image pairs which have Error or Time no more than y. The lower the better.
E.4 Applications
Multi-class Multi-model Fitting. In this part, we apply our DSP to solving multi-class multimodel fitting problem. In multi-model fitting of single type, the multiple structures belong to the same model type, such as being only line or circle, thus making it convenient for predefining the model type then conducting fitting algorithm. But this would be troublesome if the data contains multiple geometrical models of different types, such as simultaneously existing line, parabola, and circle, or both fundamental and homography model in two-view geometry. Existing strategy commonly borrows selection criterion like GRIC, which usually requires a long runtime [31, 32]. Next, we tend to demonstrate the superiority of our DSP in terms of simultaneously model reasoning and fitting in the task of multimodel fitting problem.
We first test DSP on synthesized point data, which consists of three inlier structures including line, parabola and ellipse together with a large number of outliers. The target is to classify each inlier structure and identify those outliers. Several manifold subspace clustering and multi-model fitting
11 VLFeat: https://www.vlfeat.org/
(a) SMMC (17.23s)
(b) DBSCAN (0.26s)
(c) DBSCAN+SSC(26.41s)
(d) DBSCAN+SMMC (10.17s)
Figure 8: Multi structure recovering and inlier seeking on synthetic data, which consists of three inlier structures (including ellipse, parabola and line with noise level 0.05, respectively generated by 500, 500 and 300 inliers) and randomly generated outliers of number 1000, that means the total number of points is 2300. SMMC [48], SSC [15], DBSCAN [16], MultiLink [32] and their combinations are used for comparison. The runtime in second is attached in each sub-figure.
(e) MultiLink (100.67s)
(f) Ours (0.65s)
methods are used for comparison, such as spectral clustering on multiple manifolds (SMMC) [48], sparse subspace clustering (SSC) [15], density-based clustering (DBSCAN) [16], and a recently published preference-based method termed MultiLink [32] that uses GRIC for model selection.
Clustering results are shown in Fig. 8, we can find that our proposed DSP achieves the best accuracy by combining with DBSCAN. Since our DSP is merely designed for unknown single model fitting, which encourages us to integrate multi-model problem into our outlier rejection, model selection and fitting framework and achieve joint optimization in the future. MultiLink can well classify these inlier structures as well, but several outliers that are closed to inliers are wrongly classified due to its fixed thresholds. Since MultiLink asks for repeat estimations for all possible models, and uses agglomerative clustering as final output, it may consume a huge runtime (100 seconds for 2300 points). In addition, DBSCAN can identify several potential inlier structures and filter out the most outliers with a short runtime. But the performance of DBSCAN is much sensitive to its core parameters. In other words, a loose parameter would
easily classify neighboring outliers as inlier structure, while a strict setting prefers to classify one complete structure into several small clusters, as shown in subfigure (b). In theory, SMMC and SSC can not handle outliers, and failed in clustering the data of a high number of outliers, which can be seen in subfigure(a). In this regard, we combine the advantages of DBSCAN and some clustering methods. We find that SMMC can well refine the results of DBSCAN to be more accurate, but SSC can only work for liner structures such as line or plane, thus fails in our synthesized data.
We also extend our method on real multi-model fitting data, e.g. AdelaideRFM $^{12}$ . Fig. 9 shows some qualitative results with three structures and four structures, which demonstrates that our DSP can accurately cluster the corrupted data into several inlier structures together with an outlier cluster. Quantitative results are reported in the main body manuscript.
Figure 9: Multi-model fitting results on real images of our DSP method. In each scene, different colors denote different inlier structures, and the head and tail of each arrow in the motion field correspond to the positions of feature points in two images. For visibility, at most 200 randomly selected matches are presented, and the true negatives are not shown. Best view in color.
$^{12}$ https://cs.adelaide.edu.au/~hwong/doku.php?id=data