Image similarity assessment based on Siamese network
Date of Issue2019
School of Electrical and Electronic Engineering
In recent years, the deep learning algorithm has made breakthroughs in the field of image processing. It extracts the externally input data such as sound, image and text from low-level to high-level features by simulating and building the hierarchical architecture of the human brain. Therefore, the result is more accurate and closes to the semantic features. Convolutional Neural Network(CNN) is the most widely used deep learning model with high recognition rate in the field of image processing. It performs convolution with the image pixels by trained kernels and can extract specific feature automatically. Besides, its weights sharing characteristic and pooling operation greatly reduce the parameters of the model and improve the training efficiency. The CNN model in this project is based on the VGG-like network, which is a classic CNN model and uses multiple stacked small kernels to extract the image feature with high accuracy. The conventional VGG model is simplified to reduce the training parameters in the experiment. Furthermore, Spatial Pyramid Pooling layer and dropout technique are combined with the simplified VGG model to increase the performance. Siamese network is a special neural network model which consists of two CNN branches with shared weights. The input of Siamese network is a pair of images and the two CNN branches extract the feature vectors and reduce the dimension of the image pair. Then, the distance of two vectors is calculated to assess the similarity of two images. In this project, the distance calculation and loss function is improved comparing to the original model. The experiment network model is built by TensorFlow with the API of Python. The dataset used for the experimental study is the screenshots of more than 10,000 APPs' interface. The APPs with similar interface screenshot can be considered as one category. Therefore, the similarity assessment model can be used to cluster different APPs. In this project, the loss curve of training and the accuracy curve are used as evaluation methods for the model. Experiments show that the model achieves acceptable performance on the given validation dataset.
DRNTU::Engineering::Computer science and engineering::Computing methodologies::Image processing and computer vision