250 likes | 466 Views
S hape Matching and Classification Using Height Functions. Xide Xia ENGN 2560 Advisor: Prof. Kimia Final Project Presentation. Shape descriptor with height functions:. A sequence of equidistant sample points X Tangent line Li Height value Hi Smoothed height values Local nomalization.
E N D
Shape Matching and Classification Using Height Functions Xide Xia ENGN 2560 Advisor: Prof. Kimia Final Project Presentation
Shape descriptor with height functions: • A sequence of equidistant sample points X • Tangent line Li • Height value Hi • Smoothed height values • Local nomalization Similarity measure using the height descriptor: • The cost (distance) of matching p and q • Weight coefficient • Dissimilarity between the two shapes • Shape complexity • Dissimilarity normalized by complexity values
Main.m • batch_HF .m : calculating the original height functions features for all shapes in some data set, and storing them in one .mat file • hisHF.m : smoothing and local normalization • HF_shape_retrieval .m : DP matching based on height functions • HF_SC .m : improving shape similarity values by shape complexity
Test with different classes in the whole Kimia Dataset (216 shapes 18 classes) • I test with different samples in different classes in the Kimia Dataset • Compute the cost from sample with each shape in the whole dataset (216 shapes) • Sort the cost from lowest to highest and output the 12 first ones
Test with overall: bull’s eyes score: which counts how many objects within the 12 most similar objects belong to the class of the query object. Every shape in the data set is used as a query, and the retrieval result for the whole data set is obtained by averaging among all 216 shapes.
Red: from the same class ------ black: from the different classes Blue background: bad matching result N+ = 12 ; N- = 204 ; Precision = TP/(TP+FP)
Red: from the same class ------ black: from the different classes Blue background: bad matching result N+ = 12 ; N- = 204 ; Precision = TP/(TP+FP)
ROC • N+ = 12*12 • N- = 216*216-N+ • TP: True Positive • FP: False Positive • TPR = TP/ N+ • FPR = FP/ N- • Take the average of TPR and FPR among all the classes
Precision Recall Curve • N+ = 12*12 • N- = 216*216-N+ • TP: True Positive • FP: False Positive • FN: False Negative • Precision = TP/(TP+FP) • Recall (Sensitivity) = TP/(TP+FN)=TP/ N+ • Take the average of precision and recall among all the classes
Comparison to another shape matching algorithm: Recognition of Shapes by Editing Their Shock Graph [2]
Shock Graph • Medial axis: locus of centers of maximal circles that are bi-tangent to shape boundary. • Shock Graph-- A variant of the medial axis-- With direction of flow-- Shock segment: medial axis segment with monotonic flow; a more refined partition of medial axis.
Four Groups of Edit Operations • Slice: deletes a shock branch and merges the remaining two. • Contract: deletes a shock branch between degree-three nodes. • Merge: combines two branches at a degree-two node. • Deform: relates two shapes in the same shape cell. Images courtesy of Thomas B. Sebastian et al, 2001.
Precision-Recall Curve for indexing into the database of 216 shapes * Shock graph edit Height function *: The diagram is from [2].
The Sensitivity of Shapes Contexts to Partial Occlusion Height Function * Shock Graph * The right table is from [2].
The Sensitivity of Shapes Contexts to Articulation Height Function * Shock Graph * The right table is from [2].
Conclusion: • From the Precision-Recall Curve, we can see: The height function method performs well with 90 percent precision when the recall is small, while it become worse as the recall growing up (under 40 percent when the recall closed to 1). The shock graph method keeps performing well with more than 96 percent precision as the recall growing up.
The height function method is not robust to partial occlusion as well as the shock graph method. Occlusion affects a part of the shape and the changes in shock graph of the shape lead from occlusion is limited to the affected parts. While occlusion may affect the global height function matrix because the method is too sensitive to any deform and noise on contour.
The height function method matches shapes poorly because of articulation. While the shock graph is robust to articulation well. Shock graph can present the sum of all parts of the shape thus it captures the relationship among the parts. This allows it to be robust to part-based changes like articulation. Height function value matrix in get from sampling points on the contour of shape but nothing to do with the relationship among parts of shapes. Thus, any small changes in a small part like articulation may affect the global height function value.
Reference: [1] Shape matching and classification using height functions(Junwei Wanga, Xiang Bai a, Xinge You, Wenyu Liu, Longin Jan Latecki) [2] Recognition of Shapes by Editing Their Shock Graph (Thomas B. Sebastian, Member, IEEE, Philip N. Klein, and Benjamin B. Kimia)