lian999111 / CVDL-Parametrizable-Classification

The aim of this project is to study the performance of a neural network classifier that can be triggered to react to the different classes of objects that it is presented with at the input layer.
1 stars 1 forks source link

CVDL-Parametrizable-Classification

The aim of this project is to study parameterizable classifier using the concept of Siamese Networks. Performance of different losses are tested, including triplet loss and center loss.

How to use

This project exploits 2 methods, triplet loss and center loss, to train a siamese network that learns to identify the similarity between 2 images. The project is written using Tensorflow v2.0. We recommend to run the codes in the Interactive Window in Visual Code as the codes are written in a cell-by-cell fashion.

The repository is organized in such a way:

  1. The main training, including data pre-processing, and analysis of both methods are done in main_triplet_loss.py and main_center_loss.py

  2. The last cell of each above-mentioned script is the saving of .tsv files of encoding vectors and metadata for tensorboard embedding projector. To show them in tensorboard, use the command in the command window:

  1. The testing on images created by us are done in test_triplet_loss.py and test_center_loss.py. The testing results are stored as .xlsx where 1 indicates positive classification.