In this step, we partition the extracted bit-patterns into approximately equivalent groups, each of which consists of bit-patterns that exhibit similar geometric properties (e.g., shape and size). To construct such equivalent groups, we run the k-means based clustering algorithm [22] over the bit-patterns' corresponding feature vectors, where k is the number of clusters (or equivalent groups) that will be produced.