leeesangwon/PyTorch-Image-Retrieval

A PyTorch framework for an image retrieval task including implementation of N-pair Loss (NIPS 2016) and Angular Loss (ICCV 2017).

Python

286

27 commits

updated Jul 25, 2024

See the code

README

PyTorch Image Retrieval

A PyTorch framework for an image retrieval task including implementation of N-pair Loss (NIPS 2016) and Angular Loss (ICCV 2017).

Loss functions

We implemented loss functions to train the network for image retrieval.
Batch sampler for the loss function borrowed from here.

  • N-pair Loss (NIPS 2016): Sohn, Kihyuk. "Improved Deep Metric Learning with Multi-class N-pair Loss Objective," Advances in Neural Information Processing Systems. 2016.
  • Angular Loss (ICCV 2017): Wang, Jian. "Deep Metric Learning with Angular Loss," ICCV, 2017

Self-attention module

We attached the self-attention module of the Self-Attention GAN to conventional classification networks (e.g. DenseNet, ResNet, or SENet).
Implementation of the module borrowed from here.

Data augmentation

We adopted data augmentation techniques used in Single Shot MultiBox Detector.

Post processing

We utilized the following post-processing techniques in the inference phase.

angular-loss
deep-metric-learning
image-retrieval
metric-learning
n-pair-loss
pytorch

leeesangwon/PyTorch-Image-Retrieval

A PyTorch framework for an image retrieval task including implementation of N-pair Loss (NIPS 2016) and Angular Loss (ICCV 2017).

Python

286

27 commits

updated Jul 25, 2024

See the code

README

PyTorch Image Retrieval

A PyTorch framework for an image retrieval task including implementation of N-pair Loss (NIPS 2016) and Angular Loss (ICCV 2017).

Loss functions

We implemented loss functions to train the network for image retrieval.
Batch sampler for the loss function borrowed from here.

  • N-pair Loss (NIPS 2016): Sohn, Kihyuk. "Improved Deep Metric Learning with Multi-class N-pair Loss Objective," Advances in Neural Information Processing Systems. 2016.
  • Angular Loss (ICCV 2017): Wang, Jian. "Deep Metric Learning with Angular Loss," ICCV, 2017

Self-attention module

We attached the self-attention module of the Self-Attention GAN to conventional classification networks (e.g. DenseNet, ResNet, or SENet).
Implementation of the module borrowed from here.

Data augmentation

We adopted data augmentation techniques used in Single Shot MultiBox Detector.

Post processing

We utilized the following post-processing techniques in the inference phase.

angular-loss
deep-metric-learning
image-retrieval
metric-learning
n-pair-loss
pytorch

Languages

Python

100.0%