  Given a large unlabeled set of images, how to efficiently and effectively
group them into clusters based on extracted visual representations remains a
challenging problem. To address this problem, we propose a convolutional neural
network (CNN) to jointly solve clustering and representation learning in an
iterative manner. In the proposed method, given an input image set, we first
randomly pick k samples and extract their features as initial cluster centroids
using the proposed CNN with an initial model pre-trained from the ImageNet
dataset. Mini-batch k-means is then performed to assign cluster labels to
individual input samples for a mini-batch of images randomly sampled from the
input image set until all images are processed. Subsequently, the proposed CNN
simultaneously updates the parameters of the proposed CNN and the centroids of
image clusters iteratively based on stochastic gradient descent. We also
proposed a feature drift compensation scheme to mitigate the drift error caused
by feature mismatch in representation learning. Experimental results
demonstrate the proposed method outperforms start-of-the-art clustering schemes
in terms of accuracy and storage complexity on large-scale image sets
containing millions of images.
