* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Graph Degree Linkage: Agglomerative Clustering on a
Survey
Document related concepts
Transcript
Graph Degree Linkage: Agglomerative Clustering on a Directed Graph Wei Zhang1 , Xiaogang Wang2,3 , Deli Zhao1 , and Xiaoou Tang1,3 1 3 Department of Information Engineering, The Chinese University of Hong Kong [email protected] 2 Department of Electronic Engineering, The Chinese University of Hong Kong Shenzhen Institutes of Advanced Technology, Chinese Academy of Sciences, China Abstract. This paper proposes a simple but effective graph-based agglomerative algorithm, for clustering high-dimensional data. We explore the different roles of two fundamental concepts in graph theory, indegree and outdegree, in the context of clustering. The average indegree reflects the density near a sample, and the average outdegree characterizes the local geometry around a sample. Based on such insights, we define the affinity measure of clusters via the product of average indegree and average outdegree. The product-based affinity makes our algorithm robust to noise. The algorithm has three main advantages: good performance, easy implementation, and high computational efficiency. We test the algorithm on two fundamental computer vision problems: image clustering and object matching. Extensive experiments demonstrate that it outperforms the stateof-the-arts in both applications.1 1 Introduction Many problems in computer vision involve clustering. Partitional clustering, such as k-means [1], determines all clusters at once, while agglomerative clustering [1] begins with a large number of small clusters, and iteratively selects two clusters with the largest affinity under some measures to merge, until some stopping condition is reached. Agglomerative clustering has been studied for more than half a century, and used in many applications [1], because it is conceptually simple and produces an informative hierarchical structure of clusters. Classical agglomerative clustering algorithms have several limitations [1], which have restricted their wider applications in computer vision. The data in computer vision applications are usually high dimensional. The distributions of data clusters are often in different densities, sizes, and shapes, and form manifold structures. In addition, there are often noise and outliers in data. The conventional agglomerative clustering algorithms, such as the well-known linkage methods [1], usually fail to tackle these challenges. As their affinities are directly computed using pairwise distances between samples and cannot capture the global manifold structures in high-dimensional spaces, 1 The code and supplemental materials are publicly available at http://mmlab.ie.cuhk. edu.hk/research/gdl/. 2 W. Zhang, X. Wang, D. Zhao and X. Tang (a) Cluster a Cluster a i k j Cluster b (Directed 2-NN graph) (b) Cluster a j i i k j Cluster b (Undirected 2-NN graph) Indegree from Cluster a, outdegree to Cluster a and their product Indegree Outdegree Product k Cluster b (2-NN graph) Vertex i 1 0 Vertex j 0 1 0 0 Vertex k 1 0 0 Fig. 1. (a) Indegree can be use to detect the change of densities. The density in Cluster a is high, and the density in Cluster b is low. The vertices inside Cluster a are strongly connected, but there is no outedge to vertices outside Cluster a. So the indegree of k from Cluster a is nonzero, while the indegree of i (a vertex in Cluster b) and j (an outlier) from Cluster a are zero. If an undirected graph is considered without separating indegrees and outdegrees, both i and j have the same degree from Cluster a as k. (b) The product of the indegree and outdegree is an affinity measure robust to noisy edges between the two clusters. Under this measure, Cluster a and Cluster b have a zero affinity, i.e., the sum of product of indegree and outdegree for all vertices is 0, and thus they are separated well. these algorithms have problems of clustering high-dimensional data, and are quite sensitive to noise and outliers [1]. To tackle these problems, we propose a simple and fast graph-based agglomerative clustering algorithm. The graph representation of data has been extensively exploited in various machine learning topics [2–6], but has rarely been utilized in agglomerative clustering. Our algorithm builds K-nearest-neighbor (K-NN) graphs using the pairwise distances between samples, since studies [4] show the effectiveness of using local neighborhood graphs to model data lying on a low-dimensional manifold embedded in a high-dimensional space. We use the indegree and outdegree, fundamental concepts in graph theory, to characterize the affinity between two clusters. The outdegree of a vertex to a cluster measures the similarity between the vertex and the cluster. If many of the K-NNs of the vertex belong the cluster, the outdegree is large. The outdegree can capture the manifold structures in the high dimensional space. The indegree of a vertex from a cluster reflects the density near the vertex. It is effective for detecting the change of densities, which often occurs at the boundary of clusters. Therefore, we use it to separate clusters close in space but different in densities, and also reduce the effect of noise. An example is shown in Fig. 1(a). To our best knowledge, properties of the indegree and outdegree have not been explored by any existing clustering algorithm, although they were successfully applied in analysis of complex networks such as World Wide Web [9] and social networks [10] and showed interesting results. Graph Degree Linkage: Agglomerative Clustering on a Directed Graph Average Linkage Single Linkage Complete Linkage Graph-based Linkage AP [7] SC [3] DGSC [8] Ours 3 Fig. 2. Results of different clustering algorithms on a synthetic multiscale dataset. Our algorithm can perfectly discover the three clusters with different shapes, sizes, and densities. The output clusters are shown in color (best viewed on screen). Our affinity measure between two clusters is defined as follows. First, the structural affinity from a vertex to a cluster is defined via the product of the average indegree from the cluster and average outdegree to the cluster. Intuitively, if a vertex belongs to a cluster, it should be strongly connected to the cluster, i.e., both its indegree and outdegree are large. Otherwise, either the indegree or outdegree is small. Therefore, the product of indegree and outdegree can be a good affinity measure (Fig. 1(b)). We show that the correlation between the inter-cluster indegree and outdegree is weak across different vertices, if the two clusters belong to different ground-truth clusters, using synthetic data in Fig. 3. Then, the affinity between two clusters is naturally the aggregated affinity measure for all the vertices in the two clusters. Our algorithm has three main advantages as follows. First of all, it has outstanding performance, especially on noisy data and multiscale data (i.e., clusters in different densities). The visual comparisons with linkage methods [1], graph-based average linkage, affinity propagation (AP) [7], spectral clustering (SC) [3], and directed graph spectral clustering (DGSC) [8] on synthetic multiscale data are shown in Fig. 2. Noise and multiple scales can degrade the performance of spectral clustering greatly [11], while the indegree and outdegree in our algorithm detect the boundary of scales automatically2 and reduce the effect of noise. In Sec. 4, extensive experiments on real data, including imagery data and feature correspondence data, demonstrate its superiority over state-of-the-art methods. These experiments aim at two fundamental problems in computer vision, i.e., image clustering and object matching, and the results suggest many potential applications of our work. Second, it is easy to implement. This affinity measure can be expressed in a matrix form and implemented with vector additions and inner-products. Therefore, our algorithm can be implemented without any dependency on external numerical libraries, 2 E.g., if cluster a has higher density than cluster b, the boundary of cluster a will have high indegree and low outdegree, while the boundary of cluster b will have low indegree and high outdegree. 4 W. Zhang, X. Wang, D. Zhao and X. Tang such as eigen-decomposition which was extensively employed by many clustering algorithms [2, 3, 12]. Finally, it is very fast. We propose an acceleration method for our algorithm. In practice, our algorithm is much faster than spectral clustering [2, 3], especially on largescale data. 2 Related Work The literature dedicated to agglomerative clustering is abundant [1, 13, 14]. Linkages [1], e.g., average linkage, define the affinity based on pairwise distances between samples. Since pairwise distances do not well capture the global structures of data, these methods fail on clustering data with complex structures and are sensitive to noise [1] (see the example in Fig. 2). Many variants of linkage methods, such as DBSCAN [15], have been proposed in the data mining community and show satisfactory performance. However, they usually fail to tackle the great challenge from high-dimensional spaces, because their sophisticated affinity measures are based on observations from low-dimensional data [16]. Several algorithms [17–19] has attempted to perform agglomerative clustering on the graph representation of data. Chameleon [17] defines the cluster affinity from relative interconnectivity and relative closeness, both of which are based on a min-cut bisection of clusters. Although good performance was shown on 2D toy datasets, it suffers from high computational cost because its affinity measure is based on a min-cut algorithm. Zell [18] describes the structure of a cluster via the zeta function and defined the affinity based on the structural changes after merging. It needs to compute matrix inverse in each affinity computation, so it is much slower than our simple algorithm (see Sec. 4.1). Felzenszwalb and Huttenlocher proposed an effective algorithm for image segmentation [19]. Besides agglomerative clustering, K-means [1] and spectral clustering [2, 3, 20] are among the most widely used clustering algorithms. However, K-means is sensitive to the initialization and difficult to handle clusters with varying densities and sizes, or manifold shapes. Although spectral clustering can handle the manifold data well, its performance usually degrades greatly with the existence of noise and outliers, because the eigenvectors of graph Laplacian are sensitive to noisy perturbations [5]. Affinity Propagation [7] explores the intrinsic data structures by message passing among data points. Although it performs well on high-dimensional data, it usually requires considerable run-time, especially when the preference value cannot be manually set. Directed graphs have been studied for spectral clustering (e.g., [8]). However, these methods symmetrize the directed graph before the clustering task. In contrast, we only symmetrize the affinity between two clusters, while keep the directed graph during the clustering process. Therefore, our algorithm utilizes more information from the asymmetry and is more robust to noisy edges (see Fig. 2 for a comparison between DGSC [8] and our algorithm). Graph Degree Linkage: Agglomerative Clustering on a Directed Graph 5 3 Graph Degree Linkage 3.1 Neighborhood Graph Given a set of samples X = {x1 , x2 , ..., xn }, we build a directed graph G = (V, E), where V is the set of vertices corresponding to the samples in X , and E is the set of edges connecting vertices. The graph is associated with a weighted adjacency matrix W = [wij ], where wij is the weight of the edge from vertex i to vertex j. wij = 0 if and only if there is no edge from i to j. To capture the manifold structures in high-dimensional spaces, we use the K-NN graph, in which the weights are defined as { ( ) 2 exp − dist(i,j) , if xj ∈ NiK , 2 σ wij = (1) 0, otherwise, where dist(i, j) is the distance between xi and xj , NiK is the set of [∑ ] K-nearest neighn ∑ a 2 2 2 bors of xi , and σ is set as σ = nK dist(i, j) . K and a are free i=1 xj ∈NiK parameters to be set. In a K-NN graph, there is an edge pointing from xi to xj with weight wij , if xj ∈ NiK . 3.2 Algorithm Overview The graph degree linkage (GDL) algorithm begins with a number of initial small clusters, and iteratively selects two clusters with the maximum affinity to merge. The affinities are computed on the K-NN graph, based on the indegree and outdegree of vertices in the two clusters. The initial small clusters are simply constructed as weakly connected components of a K 0 -NN graph, where the neighborhood size K 0 is small, typically as 1 or 2. Then, each component is an initial cluster, and each sample is assigned to only one cluster. Definition 1 A connected component of an undirected graph is a maximal connected subgraph in which any two vertices are connected to each other by paths. A weakly connected component of a directed graph is a connected component of the undirected graph produced by replacing all of its directed edges with undirected edges. The GDL algorithm is presented as Algorithm 1, with details given in the following subsection. 3.3 Affinity Measure via Product of Indegree and Outdegree The affinity measure between two clusters is the key of an agglomerative clustering algorithm. Our affinity measure is based on indegree and outdegree in the graph representation. For simplicity, we start from measuring the affinity between a vertex and a cluster. Indegree and outdegree. Considering a vertex and a cluster, the connectivity between them by inedges and outedges can be quantified using the concepts of indegree and outdegree. 6 W. Zhang, X. Wang, D. Zhao and X. Tang Algorithm 1 Graph Degree Linkage (GDL) Input: a set of n samples X = {x1 , x2 , · · · , xn }, and the target number of clusters nT . Build the K 0 -NN graph, and detect its weakly connected components as initial clusters. Denote the set of initial clusters as V c = {C1 , · · · , Cnc }, where nc is the number of clusters. Build the K-NN graph, and get the weighted adjacency matrix W. while nc > nT do Search two clusters Ca and Cb , such that {Ca , Cb } = argmaxCa ,Cb ∈V c ACa ,Cb , where ACa ,Cb is the affinity measure between Ca and Cb , computed using Eq. (5). V c ← {V c \ {Ca , Cb }} ∪ {Ca ∪ Cb }, and nc = nc − 1. end while Output: V c . Definition 2 Given a vertex i, the average ∑ indegree from and the average∑ outdegree + 1 1 w and deg (C) = to a cluster C is defined as deg− (C) = i i j∈C ji j∈C wij , |C| |C| respectively, where |C| is the cardinality of set C. As we stated in Sec. 1, the indegree measures the density near sample i, and the outdegree characterizes the K-NN similarity from vertex i to cluster C. We use the size of the cluster to normalize the degrees, otherwise, the algorithm may favor of merging large clusters instead of merging small clusters with dense connections. We find that in practice the normalized degrees work much better than the unnormalized degrees. Affinity between a vertex and a cluster. A vertex should be merged to a cluster if it is strongly connected to the cluster by both inedges and outedges. Mathematically, the correlation of two types of degree is weak, if the vertex and the cluster belong to different ground-truth clusters, and strong, otherwise. To verify this intuition, we show such statistics on synthetic data in Fig. 3. Therefore, we define the affinity as the product of the average indegree and average outdegree, i.e., + Ai→C = deg− i (C) degi (C). (2) This affinity is robust to noisy edges between different ground-truth clusters because the product can be zero if the inedges and outedges do not coincide. Affinity between two clusters. Following the above, we define the asymmetric affinity from cluster Cb to cluster Ca by summing up with respect to all the vertices in Cb , i.e., ∑ ∑ + ACb →Ca = Ai→Ca = deg− (3) i (Ca ) degi (Ca ). i∈Cb i∈Cb Finally, we have the symmetric affinity used in our algorithm as ACa ,Cb = ACb →Ca + ACa →Cb (4) Efficient computation of affinity. Our affinity measure can be computed efficiently using the following theorem. Theorem 1 The affinity between Ca and Cb defined in Eq. (4) can be expressed in the matrix form ACa ,Cb = 1 T 1 T 1 WCa ,Cb WCb ,Ca 1|Ca | + 1 WCb ,Ca WCa ,Cb 1|Cb | , |Ca |2 |Ca | |Cb |2 |Cb | (5) Graph Degree Linkage: Agglomerative Clustering on a Directed Graph Mean Cluster C1 − deg (C) i 0.73 + (C) i 0.94 deg √ PNZ 7 Mean PNZ 0.85 − deg (C) i 0.87 1.00 0.54 deg + (C) i 0.87 1.00 − + deg (C) deg (C) 0.47 0.38 i i √ − + deg (C) deg (C) 0.86 1.00 i i ( ) ( ) − + − + Correlation deg (C), deg (C) = 0.02 Correlation deg (C), deg (C) = 0.80 i i i i Cluster C2 (a) i ∈ C1 , C = C2 Synthetic data (b) i ∈ C1 , C = C1 Fig. 3. To verify the robustness of the product of indegree and outdegree as an affinity measure from a vertex i to a cluster C, we compare statistics in two cases: i and C belong to different ground-truth clusters, e.g., i ∈ C1 and C = C2 as in (a), and i and C are in the same ground-truth cluster, e.g., i ∈ C1 and C = C1 as in (b). We see that, in the first case, the product is a quantity + more robust than the indegree or outdegree. For all√ i ∈ C1 , such that deg− i > 0 or degi > 0, the mean and proportion of nonzero values (PNZ) of + deg− i degi are much smaller than those of + deg− root is for fair i and degi , which implies a small affinity between i and C. Here the square √ comparison of the quantities. In contrast, in the second case, the mean and PNZ of + deg− i degi + are close to those of deg− i and degi , which means that the product keeps the large affinity well. − + The correlation of degi and degi , which is weak in (a) and strong in (b), further verifies the effectiveness of our affinity measure for reducing noisy edges across ground-truth clusters and keeping edges inside ground-truth clusters. where WCa ,Cb is the submatrix of W whose row indices correspond to the vertices in Ca and column indices correspond to the vertices in Cb , i.e., the weights of edges from Ca to Cb , and 1L is an all-one vector of length L. Remark 1 The computation is reduced to vector additions and inner-products. So, our algorithm is easy to implement. Proof. It is easy to see that deg− i (Ca ) = ] 1 [ T 1|Ca | WCa ,Cb , |Ca | i (6) deg+ i (Ca ) = ] 1 [ WCb ,Ca 1|Ca | i , |Ca | (7) where [v]i is the i-th element of vector v. Then, by Eq. (3), we can obtain the following lemma. Lemma 2 ACb →Ca = 1 T 1 WCa ,Cb WCb ,Ca 1|Ca | . |Ca |2 |Ca | (8) Finally, Theorem 1 can be directly implied by Lemma 2 using Eq. (4). Comparison to average linkage. The GDL algorithm is different from average linkage in the following three aspects. First of all, the conventional average linkage is based on pairwise distances [1]. Although we find that average linkage have much better 8 W. Zhang, X. Wang, D. Zhao and X. Tang performance on the K-NN graph than pairwise distances, we are unaware of any literature which studied the graph-based average linkage algorithm. Second, graph-based average linkage simply symmetrizes the directed graph by setting wij = wji = (wij + wji )/2, while our algorithm uses the directed graph. Third, graph-based ∑ average linkage can be interpreted as defining the affinity measure ACb →Ca = |C1b | i∈Cb [deg− i (Ca ) + deg+ i (Ca )]/2 using our indegree-outdegree framework. The sum of the indegree and outdegree is not as robust as the product of them to noise. Experimental results in Fig. 2 and Sec. 4.1 demonstrate the superiority of GDL to graph-based average linkage. 3.4 Implementations of GDL We present two implementations of the GDL algorithm: an exact algorithm via an efficient update formula and an approximate algorithm called Accelerated GDL (AGDL). Both implementations have the time complexity of O(n2 ) (see Theorem 3). Update formula. In each iteration, we select two clusters Ca and Cb with the largest affinity and merge them as Cab = Ca ∪ Cb . Then, we need to update the asymmetric affinity ACab →Cc and ACc →Cab , for any other cluster Cc . Using Lemma 2, we find that ACab →Cc can be computed as follows. ACab →Cc = ACa →Cc + ACb →Cc . (9) By storing all the asymmetric affinities, the update is simple. As the same update formula cannot be applied to ACc →Cab , we have to compute it directly using Eq. (8). However, the total complexity is O(n) in each iteration, due to the row sparsity of W (see Sec. 7 in the supplemental materials for details). The GDL algorithm with the update formula (GDL-U) is presented as Algorithm 2 in the supplemental materials. Accelerated GDL. Although the GDL-U algorithm is simple and fast, we further propose AGDL. The major computational cost is on computing the affinities. To reduce the number of affinities computed in each iteration, AGDL maintains a neighbor set of size K c for each cluster in V c , to approximate its K c -nearest cluster set. Then, finding the maximum affinity among all pairs of clusters can then be approximated by searching it in all the neighbor sets. Updating the neighbor sets involves computation of the affinity between the new cluster and a small set of clusters, instead of all the other clusters. Denote the neighbor set of a cluster C as NC . Initially NC consists of C’s K c -nearest clusters. Once two clusters Ca and Cb are merged, we need to update the neighbor sets which include Ca or Cb , and create the neighbor set of Ca ∪ Cb . We utilize two assumptions that (1) if Ca or Cb is among the K c -nearest clusters of Cc , Ca ∪ Cb is probably among the K c -nearest clusters of Cc ; (2) if Cc is among the K c -nearest clusters of Ca or Cb , Cc is probably among the K c -nearest clusters of Ca ∪ Cb . So, the new cluster Ca ∪ Cb is added to the neighbor sets which include Ca or Cb previously. To create the neighbor set for Ca ∪ Cb , we select the K c -nearest clusters from NCa ∪ NCb . The AGDL algorithm is summarized in Algorithm 3 in the supplemental materials. Graph Degree Linkage: Agglomerative Clustering on a Directed Graph 9 3.5 Time Complexity Analysis We have the following theorem about the time complexity of the GDL, GDL-U and AGDL algorithms (please refer to Sec. 7 in the supplemental materials for the proof). Theorem 3 (a) The time complexity of the GDL algorithm (i.e., Algorithm 1) is O(n3 ). (b) The time complexity of the GDL-U algorithm (i.e., Algorithm 2) is O(n2 ). (c) The time complexity of the AGDL algorithm (i.e., Algorithm 3) is O(n2 ). 4 Experiments In this section, we demonstrate the effectiveness of GDL and AGDL on image clustering and object matching. All the experiments are run in MATLAB on a PC with 3.20GHz CPU and 8G memory. 4.1 Image Clustering We carry out experiments on six publicly available image benchmarks, including object image databases (COIL-20 and COIL-100), hand-written digit databases (MNIST and USPS), and facial image databases (Extended Yale-B, FRGC ver2.0).3 For MNIST, we use all the images in the testing set. For FRGC ver2.0, we use all the facial images in the training set of experiment 4. The statistics of all the datasets are presented in Table 2. We adopt widely used features for different kinds of images: the intensities of pixels as features and Euclidean distance for object and digit images, and local binary patterns (LBP) as features and χ2 distance for facial images. We compare the GDL-U and AGDL with eight representative algorithms, i.e., kmedoids (k-med) [1], average linkage (Link) [1], graph-based average linkage (GLink), normalized cuts (NCuts) [2]4 , NJW spectral clustering (NJW-SC) [3], directed graph spectral clustering (DGSC) [8], self-tuning spectral clustering (STSC) [11] and Zell [18]. Here we use k-medoids instead of k-means because it can handle the case where distances between points are not measured by Euclidean distances. To fairly compare the graph-based algorithms, we fix K = 20 and select a with the best performance from the set {10i , i ∈ [−2 : 0.5 : 2]} on all the datasets. For our algorithms, the parameters are fixed as K 0 = 1, K c = 10. The numbers of ground-truth clusters are used as the input of all algorithms (e.g., nT in our algorithm). 3 4 COIL-20 and COIL-100 are from http://www.cs.columbia.edu/CAVE/ software/. MNIST and USPS are from http://www.cs.nyu.edu/ ˜roweis/data.html. Extended Yale-B is from http://vision.ucsd. edu/˜leekc/ExtYaleDatabase/ExtYaleB.html. FRGC ver2.0 is from http://face.nist.gov/frgc/. The code is downloaded from http://www.cis.upenn.edu/˜jshi/software/, which implements the multiclass normalized cuts algorithm [20]. 10 W. Zhang, X. Wang, D. Zhao and X. Tang Table 1. Quantitative clustering results in NMI on real imagery data. A larger NMI value indicates a better clustering result. The results shown in a boldface are significantly better than the others, with a significance level of 0.01. Dataset COIL-20 COIL-100 USPS MNIST Yale-B FRGC 1 k-med 0.710 0.706 0.336 0.390 0.329 0.541 AGDL Link 0.647 0.606 0.095 0.304 0.255 0.570 DGSC G-Link 0.896 0.855 0.732 0.808 0.766 0.669 NJW−SC NCuts NJW-SC DGSC STSC Zell GDL-U AGDL 0.884 0.889 0.904 0.895 0.911 0.937 0.937 0.823 0.854 0.858 0.858 0.913 0.929 0.933 0.675 0.690 0.747 0.726 0.799 0.824 0.824 0.753 0.755 0.795 0.756 0.768 0.844 0.844 0.809 0.851 0.869 0.860 0.781 0.910 0.910 0.720 0.723 0.732 0.729 0.653 0.747 0.746 1 G−Link 0.9 AGDL DGSC NJW−SC G−Link 0.95 NMI NMI 0.8 0.9 0.7 0.85 0.6 0.5 −2 −1.5 −1 −0.5 0 0.5 log a 10 (a) 1 1.5 2 0.8 0 20 40 60 80 100 Noise level σ 120 140 160 n (b) Fig. 4. Variations of performance of different clustering algorithms on the COIL-20 dataset, (a) when the parameter a for controlling σ in Eq. (1) changes; (b) when we add Gaussian noise N (0, σn2 ) to the images. The NMI differences between σn = 0 and σn = 160 are 0.048, 0.065, 0.067, 0.012, for G-Link, NJW-SC, DGSC, and AGDL, respectively. We adopt the widely used Normalized Mutual Information (NMI) [12] to quantitatively evaluate the performance of clustering algorithms. The NMI quantifies the normalized statistical information shared between two distributions. A larger NMI value indicates a better clustering result. The results measured in NMI are given in Table 1. k-medoids and average linkage perform similar, as they heavily rely on the computation of pairwise distances and thus are sensitive to noise, and cannot well capture the complex cluster structures in the real data sets. NCuts, NJW-SC, and Zell have good performance on most data sets, as they capture the underlying manifold structures of the data. STSC works fine on some synthetic multiscale datasets in [11] but its results are worse than ours on several real datasets in comparison. Note that STSC adaptively estimated the parameter σ 2 at every point to reflect the variation of local density while ours explores indgree/outdegree and fixes σ 2 as constant. The effective and robust affinity measure for agglomerative clustering makes our GDL-U and AGDL algorithm performs the best among all the algorithms. The AGDL’s results are nearly the same as GDL-U. Compared to other graph-based algorithms, GDL-U and AGDL are more robust to the parameter σ for building the graph, as well as the noise in the data (see Fig. 4). The noise added to images can degrade the performance of other algorithms greatly, but our performance is barely affected. Graph Degree Linkage: Agglomerative Clustering on a Directed Graph 11 Table 2. The time cost (in seconds) of the algorithms. The minimum time cost on each dataset is in bold. The statistics of each dataset are shown for reference. Dataset Sample Num Cluster Num COIL-20 1440 20 COIL-100 7200 100 USPS 11000 10 MNIST 10000 10 Yale-B 2414 38 FRGC 12776 222 NCuts NJW-SC DGSC Zell GDL-U 3.880 6.399 8.280 15.22 0.265 133.8 239.7 326.4 432.9 12.81 263.0 461.6 538.9 9703 53.64 247.2 384.4 460.4 64003 35.60 9.412 13.99 16.00 178.2 0.731 577.4 914.3 1012.2 65021 49.15 AGDL 0.277 5.530 29.01 17.18 0.564 18.62 (a) A pair of composite images, (b) Initial correspondences (c) Detected correspondences one of which is warped with (533 inliers in yellow color, by AGDL (532 true, 552 σn = 50; 1200 outliers in red color, detected, F-score 0.981). according to the ground truth); Fig. 5. Example of object matching through feature correspondence clustering. For the graph-based algorithms, we show their time cost in Table 2. AGDL costs the least amount of time among all the algorithms. GDL is faster than NCuts, NJW-SC, and DGSC, and is much faster than Zell. G-Link, which has worse performance than AGDL, is comparable to AGDL on time cost. 4.2 Feature Correspondence Clustering for Object Matching We show the effectiveness of our clustering algorithm in the presence of outliers via feature correspondence clustering. Feature correspondence clustering is commonly used for robust object matching [21, 14, 22], which can deal with geometric distortions of objects across images and is a fundamental problem in computer vision. We demonstrate that our algorithm can be effectively integrated with the framework of feature correspondence clustering. Therefore, it has a range of potential applications, such as object recognition, image retrieval, and 3D reconstruction. We compare with two recent state-of-the-art methods, i.e., agglomerative correspondence clustering (ACC) [14] and graph shift (GS) [22].5 Overview of experiments. We follow the experiments in the ACC paper [14]. We use composite images and their warped versions (Fig. 5(a)) to simulate cluttered scenes where deformable objects appear. Then we can use the ground-truth for performance 5 The code of ACC and GS are downloaded from http://cv.snu.ac.kr/research/ ˜acc/, and http://sites.google.com/site/lhrbss/, respectively. We do not present the results of spectral matching (SM) [21], because both ACC and GS outperformed SM greatly [14, 22], especially when there existed at least two clusters of correspondences according to the ground-truth. W. Zhang, X. Wang, D. Zhao and X. Tang n F−score 0.92 0.88 200 GS 1 1 F−score 0.92 GS ACC AGDL 1 0.96 0.96 0.96 F−score 0.98 0.9 0.88 0 GS ACC n 0.92 0.9 AGDL 10 20 30 40 Deformation Noise Level σ 0.94 50 0.88 0 GS ACC 10 20 30 40 Deformation Noise Level σ n 50 ACC AGDL 1200 outliers, M = 4 0.94 0.92 0.9 AGDL GS 400 600 800 1000 1200 Number of Outliers 1 0.98 0.92 σn = 50, M = 4 0.92 0.88 200 1200 outliers, M = 2 AGDL 0.94 0.9 AGDL ACC 0.96 0.98 0.94 GS 400 600 800 1000 1200 Number of Outliers 1 400 600 800 1000 1200 Number of Outliers 1 1200 outliers, M = 1 ACC 0.92 0.98 0.92 GS 0.94 0.88 200 σn = 50, M = 2 0.94 0.88 200 n 0.96 0.9 AGDL 0.96 0.9 400 600 800 1000 1200 Number of Outliers ACC 400 600 800 1000 1200 Number of Outliers 0.98 0.94 0.88 200 0.92 0.88 200 σn = 50, M = 1 0.96 0.9 0.94 GS σ = 10, M = 4 0.98 0.96 0.9 AGDL 400 600 800 1000 1200 Number of Outliers 0.98 F−score ACC n F−score F−score 0.94 1 σ = 10, M = 2 0.98 0.96 0.9 F−score 1 σ = 10, M = 1 F−score 1 0.98 F−score 12 0.88 0 GS ACC AGDL 10 20 30 40 Deformation Noise Level σ 50 n Fig. 6. Performance comparison of different algorithms. In each sub-figure, one of the three factors, i.e., the number of outliers, the level of deformation σn , and the number of common subimages M , is varied, while the other two are fixed as the values appearing at the top. All the results are averaged over 30 random trials. evaluation. Namely, we compute the precision and recall rates of detected correspondences (Fig. 5(c)), given a set of correspondences with ground-truth (Fig. 5(b)). A good clustering algorithm can group inliers and separate outliers. It is a more direct way of evaluating the performance of clustering algorithms than other experiments, such as object recognition. Experimental settings. We generate a pair of 3 × 3 tiled images that contain M common sub-image(s). The common sub-images are randomly selected from the model images of the ETHZ toys dataset6 , and the non-common sub-images are from test images of the same dataset. The positions of all sub-images are randomly determined. When M > 1, the common sub-images are chosen as different objects. To simulate deformation, one of the paired images is warped using the thin-plate spline (TPS) model. An example of paired test images are shown in Fig. 5(a). 9 × 9 crossing points from a 10 × 10 meshgrid on the image are chosen as the control points of the TPS model. Then, all the control points are perturbed by Gaussian noise of N (0, σn2 ) independently, and the TPS warping is applied based on the perturbations of control points. To obtain the candidate correspondences between two tiled images, features are extracted by the 6 http://www.vision.ee.ethz.ch/˜calvin/datasets.html. Graph Degree Linkage: Agglomerative Clustering on a Directed Graph 13 MSER detector, and the best 3, 000 correspondences are collected according to similarity of the SIFT descriptors. Using the warping model, each correspondence has a ground-truth label: true if its error is smaller than three pixels, and false otherwise. Fig. 5(b) shows the correspondences as lines, among which the yellow ones represent true correspondences. Then, the performance of different algorithms are quantitatively evaluated. We use the F-score, a traditional statistical measure of accuracy, which is defined as [precision · recall/(precision + recall)]. Parameters of ACC and GS. As we strictly follow the test protocol in the ACC paper [14], we use the default parameters in their codes. For GS, we compute the affinity matrix Wij = max(β − dij /σs2 , 0) as the paper [22], where dij is the distance between correspondence i and correspondence j as defined in the ACC paper [14]. β, σs and other parameters in GS are tuned to be the best. Parameters of AGDL. For our AGDL algorithm (i.e., Algorithm 3), the parameters are fixed as nT = 50, a = 10, K = 35, K 0 = 2, and K c = 10. We found that the GDL works well in a large range of nT , as the number of ground-truth clusters (i.e., M ) is very small and we can eliminate the outlier clusters by postprocessing.7 Results. As shown in Fig. 6, we vary the number of outliers, the level of deformation, and the number of common sub-images, and compare the F-scores of detected correspondences by different algorithms. Both ACC and GS perform excellently on this task. It is challenging to beat them, which are very recent methods designed specifically for object matching. However, our simple clustering algorithm outperforms them. We find our AGDL algorithm performs consistently better than both ACC and GS under different settings. AGDL has a higher F-score than both in 95.6% of the random trials under all the setting combinations. We attribute the success of AGDL to the effective cluster affinity measure which is robust to noise and outliers. 5 Conclusion We present a fast and effective method for agglomerative clustering on a directed graph. Our algorithm is based on indegree and outdegree, fundamental concepts in graph theory. The indegree and outdegree have been widely studied in complex networks, but have not received much attention in clustering. We analyze their roles in modeling the structures of data, and show their power via the proposed graph degree linkage algorithm. We demonstrated the superiority of this simple algorithm on image clustering and object matching. We believe our work provides not only a simple and powerful clustering algorithm to many applications in computer vision, but also an insightful analysis of the graph representation of data via indegree and outdegree. Acknowledgment This work is partially supported by the General Research Fund sponsored by the Research Grants Council of Hong Kong (Project No. CUHK416510, CUHK417110 and 7 Please see Sec. 9 in the supplemental materials for details of outlier elimination in our algorithm. Different from ACC, which utilizes additional information, i.e., geometrical locations of feature points, we only use the K-NN graph in outlier elimination. 14 W. Zhang, X. Wang, D. Zhao and X. Tang CUHK417011) and National Natural Science Foundation of China (Project No.61005057). It is also supported through Introduced Innovative R&D Team of Guangdong Province 201001D0104648280 and Shenzhen Key Lab of Computer Vision and Pattern Recognition. The authors would like to thank Tianfan Xue for proof reading and Wei Li for help on the ACC code. References 1. Hastie, T., Tibshirani, R., Friedman, J.: The elements of statistical learning: Data mining, inference, and prediction. second edn. Springer Verlag (2009) 2. Shi, J., Malik, J.: Normalized cuts and image segmentation. IEEE TPAMI 22(8) (2000) 888–905 3. Ng, A., Jordan, M., Weiss, Y.: On spectral clustering: Analysis and an algorithm. In: NIPS. (2001) 4. Belkin, M., Niyogi, P.: Laplacian eigenmaps for dimensionality reduction and data representation. Neural Computation 15(6) (2003) 1373–1396 5. Grady, L., Schwartz, E.: Isoperimetric graph partitioning for image segmentation. IEEE TPAMI 28(3) (2006) 469–475 6. Zhang, W., Lin, Z., Tang, X.: Learning semi-Riemannian metrics for semisupervised feature extraction. IEEE TKDE 23(4) (2011) 600–611 7. Frey, B., Dueck, D.: Clustering by passing messages between data points. Science 315(5814) (2007) 972–976 8. Zhou, D., Huang, J., Schölkopf, B.: Learning from labeled and unlabeled data on a directed graph. In: ICML. (2005) 9. Kleinberg, J.: Authoritative sources in a hyperlinked environment. Journal of the ACM 46(5) (1999) 604–632 10. Mislove, A., Marcon, M., Gummadi, K., Druschel, P., Bhattacharjee, B.: Measurement and analysis of online social networks. In: Proc. ACM SIGCOMM Conf. on Internet Measurement. (2007) 11. Zelnik-Manor, L., Perona, P.: Self-tuning spectral clustering. In: NIPS. (2005) 12. Wu, M., Schölkopf, B.: A local learning approach for clustering. In: NIPS. (2007) 13. Franti, P., Virmajoki, O., Hautamaki, V.: Fast agglomerative clustering using a k-nearest neighbor graph. IEEE TPAMI 28(11) (2006) 1875–1881 14. Cho, M., Lee, J., Lee, K.: Feature correspondence and deformable object matching via agglomerative correspondence clustering. In: ICCV. (2009) 15. Sander, J., Ester, M., Kriegel, H., Xu, X.: Density-based clustering in spatial databases: The algorithm GDBSCAN and its applications. Data Mining and Knowledge Discovery 2(2) (1998) 169–194 16. Ertöz, L., Steinbach, M., Kumar, V.: Finding clusters of different sizes, shapes, and densities in noisy, high dimensional data. In: SIAM International Conf. on data mining. (2003) 17. Karypis, G., Han, E., Kumar, V.: Chameleon: Hierarchical clustering using dynamic modeling. IEEE Computer 32(8) (1999) 68–75 18. Zhao, D., Tang, X.: Cyclizing clusters via zeta function of a graph. In: NIPS. (2008) 19. Felzenszwalb, P., Huttenlocher, D.: Efficient graph-based image segmentation. IJCV 59(2) (2004) 167–181 20. Yu, S., Shi, J.: Multiclass spectral clustering. In: ICCV. (2003) 21. Leordeanu, M., Hebert, M.: A spectral technique for correspondence problems using pairwise constraints. In: ICCV. (2005) 22. Liu, H., Yan, S.: Common visual pattern discovery via spatially coherent correspondences. In: CVPR. (2010)