/Survey_of_Deep_Metric_Learning

A comprehensive survey of deep metric learning and related works

👏 Survey of Deep Metric Learning

Traditionally, they have defined metrics in a variety of ways, including pairwise distance, similarity, and probability distribution.

💡 I hope many researchers will be able to do good research thanks to this repository.

🔔 Updated frequently.


Contents


1️⃣ Pairwise cost methods


2️⃣ Distribution or other variant methods

  • Image Set Classification Using Holistic Multiple Order Statistics Features and Localized Multi-Kernel Metric Learning (ICCV 2013) [Paper]

  • Deep Metric Learning for Practical Person Re-Identification (Binomial deviance) (ICPR 2014) [Paper][Tensorflow][Pytorch]

  • Learning Deep Embeddings with Histogram Loss (Histogram) (NIPS 2016) [Paper][Tensorflow][Pytorch][Caffe]

  • Learning Deep Disentangled Embeddings With the F-Statistic Loss (F-stat) (NIPS 2018) [Paper][Tensorflow]

  • Deep Metric Learning via Subtype Fuzzy Clustering (SCDM) (PR 2020) [Paper]

  • Deep Asymmetric Metric Learning via Rich Relationship Mining (DAML) (CVPR 2019) [Paper]

  • Hardness-Aware Deep Metric Learning (HDML) (CVPR 2019) [Paper][Tensorflow]

  • Signal-to-Noise Ratio: A Robust Distance Metric for Deep Metric Learning (DSML) (CVPR 2019) [Paper]

  • Multi-similarity Loss with General Pair Weighting for Deep Metric Learning (MSLoss) (CVPR 2019) [Paper][Pytorch]

  • Deep Meta Metric Learning (DMML) (ICCV 2019) [Paper][Pytorch]

  • Symmetrical Synthesis for Deep Metric Learning (Symm) (AAAI 2020) [Paper] [Tensorflow]

  • Optimizing Rank-based Metrics with Blackbox Differentiation (RaMBO) (CVPR 2020) [Paper]

  • Cross-Batch Memory for Embedding Learning (CVPR 2020) [Paper] [Pytorch]

  • Distance Metric Learning with Joint Representation Diversification (JRD) (ICML 2020) [Paper][Pytorch]

  • Revisiting Training Strategies and Generalization Performance in Deep Metric Learning (ICML 2020) [Paper][PyTorch]

  • PADS: Policy-Adapted Sampling for Visual Similarity Learning (PADS) (CVPR 2020) [Paper][PyTorch]

  • A Metric Learning Reality Check (ECCV 2020) [Paper][Pytorch]

  • Virtual sample-based deep metric learning using discriminant analysis (PR 2020) [Paper]


3️⃣ Probabilistic methods

  • Latent Coincidence Analysis: A Hidden Variable Model for Distance Metric Learning (NIPS 2012) [Paper]

  • Information-theoretic Semi-supervised Metric Learning via Entropy Regularization (ICML 2014) [Paper]

  • Learning Deep Disentangled Embeddings With the F-Statistic Loss (F-stat) (NIPS 2018) [Paper][Tensorflow]


4️⃣ Boost-like methods

  • BIER-Boosting Independent Embeddings Robustly (ICCV 2017) [Paper][Tensorflow]

  • Hard-Aware Deeply Cascaded Embedding (ICCV 2017) [Paper][Caffe]

  • Learning Spread-out Local Feature Descriptors (ICCV 2017) [Paper]

  • Deep Adversarial Metric Learning (CVPR 2018) [Paper][Chainer]

  • Deep Randomized Ensembles for Metric Learning (ECCV 2018) [Paper][Pytorch]

  • Attention-based Ensemble for Deep Metric Learning (ECCV 2018) [Paper]

  • Deep Metric Learning with Hierarchical Triplet Loss (ECCV 2018) [Paper]

  • Hybrid-Attention based Decoupled Metric Learning for Zero-Shot Image Retrieval (CVPR 2019) [Paper] [Caffe]

  • Divide and Conquer the Embedding Space for Metric Learning (CVPR 2019) [Paper] [Pytorch]

  • Multi-Similarity Loss with General Pair Weighting for Deep Metric Learning (CVPR 2019) [Paper]

  • Stochastic Class-based Hard Example Mining for Deep Metric Learning (CVPR 2019) [Paper]

  • Distilled Person Re-identification: Towards a More Scalable System (CVPR 2019) [Paper]

  • Deep Metric Learning with Tuplet Margin Loss (ICCV 2019) [Paper]

  • Metric Learning with HORDE: High-Order Regularizer for Deep Embeddings (ICCV 2019) [Paper][Keras]

  • MIC: Mining Interclass Characteristics for Improved Metric Learning (ICCV 2019) [Paper][Pytorch]

  • DiVA: Diverse Visual Feature Aggregation for Deep Metric Learning (ECCV 2020) [Paper]

  • The Group Loss for Deep Metric Learning (GroupLoss) (ECCV 2020) [Paper][PyTorch]


5️⃣ Unsupervised methods

  • Unsupervised Embedding Learning via Invariant and Spreading Instance Feature (CVPR 2019) [Paper][Pytorch]

  • Unsupervised Deep Metric Learning with Transformed Attention Consistency and Contrastive Clustering Loss (ECCV 2020) [Paper]


6️⃣ Applications

Re-identification

  • Person Re-Identification using Kernel-based Metric Learning Methods (ECCV 2014) [Paper][Matlab]

  • Similarity Learning on an Explicit Polynomial Kernel Feature Map for Person Re-Identification (CVPR 2015) [Paper]

  • Learning to rank in person re-identification with metric ensembles (CVPR 2015) [Paper]

  • Person Re-identification by Local Maximal Occurrence Representation and Metric Learning (CVPR 2015) [Paper][Matlab]

  • Learning a Discriminative Null Space for Person Re-identification (CVPR 2016) [Paper][Matlab]

  • Similarity Learning with Spatial Constraints for Person Re-identification (CVPR 2016) [Paper][Matlab]

  • Consistent-Aware Deep Learning for Person Re-identification in a Camera Network (CVPR 2016) [Paper]

  • Re-ranking Person Re-identification with k-reciprocal Encoding (CVPR 2017) [Paper][Caffe]

  • Scalable Person Re-identification on Supervised Smoothed Manifold (CVPR 2017) [Paper]

  • One-Shot Metric Learning for Person Re-identification (CVPR 2017) [Paper]

  • Point to Set Similarity Based Deep Feature Learning for Person Re-identification (CVPR 2017) [Paper]

  • Consistent-Aware Deep Learning for Person Re-identification in a Camera Network (CVPR 2017) [Paper]

  • Cross-view Asymmetric Metric Learning for Unsupervised Person Re-identification (ICCV 2017) [Paper][Matlab]

  • Efficient Online Local Metric Adaptation via Negative Samples for Person Re-Identification (ICCV 2017) [Paper]

  • Mask-guided Contrastive Attention Model for Person Re-Identification (CVPR 2018) [Paper][Caffe]

  • Efficient and Deep Person Re-Identification using Multi-Level Similarity (CVPR 2018) [Paper]

  • Group Consistent Similarity Learning via Deep CRF for Person Re-Identification (CVPR 2018) [Paper][Pytorch]

  • Perceive Where to Focus: Learning Visibility-aware Part-level Features for Partial Person Re-identification (CVPR 2019) [Paper]

  • Invariance Matters: Exemplar Memory for Domain Adaptive Person Re-identification (CVPR 2019) [paper] [Pytorch]

  • Learning to Reduce Dual-level Discrepancy for Infrared-Visible Person Re-identification (CVPR2019) [Paper]

  • Densely Semantically Aligned Person Re-Identification (CVPR 2019) [Paper]

  • Generalizable Person Re-identification by Domain-Invariant Mapping Network (CVPR 2019) [Paper]

  • Re-ranking via Metric Fusion for Object Retrieval and Person Re-identification (CVPR 2019) [Paper]

  • Weakly Supervised Person Re-Identification (CVPR 2019) [Paper]

  • Towards Rich Feature Discovery with Class Activation Maps Augmentation for Person Re-Identification (CVPR 2019) [Paper]

  • Joint Discriminative and Generative Learning for Person Re-identification (CVPR 2019) [Paper]

  • Unsupervised Person Re-identification by Soft Multilabel Learning (CVPR 2019) [Paper] [Pytorch]

  • Patch-based Discriminative Feature Learning for Unsupervised Person Re-identification (CVPR 2019) [Paper]

  • Attribute-Driven Feature Disentangling and Temporal Aggregation for Video Person Re-Identification (CVPR 2019) [Paper]

  • AANet: Attribute Attention Network for Person Re-Identifications (CVPR 2019) [Paper]

  • VRSTC: Occlusion-Free Video Person Re-Identification (CVPR 2019) [paper]

  • Adaptive Transfer Network for Cross-Domain Person Re-Identification (CVPR 2019) [Paper]

  • Pyramidal Person Re-IDentification via Multi-Loss Dynamic Training (CVPR 2019) [Paper]

  • Interaction-and-Aggregation Network for Person Re-identification (CVPR 2019) [Paper]

  • Vehicle Re-identification with Viewpoint-aware Metric Learning (ICCV 2019) [Paper]

Face verification

  • Discriminative Deep Metric Learning for Face Verification in the Wild (CVPR 2014) [Paper]

  • Fantope Regularization in Metric Learning (CVPR 2014) [Paper]

  • Deep Transfer Metric Learning (CVPR 2015) [Paper]

  • BioMetricNet: deep unconstrained face verification through learning of metrics regularized onto Gaussian distributions (ECCV 2020) [Paper]

Face recognition

  • Large Scale Metric Learning from Equivalence Constraints (CVPR 2012) [Paper]

  • Fusing Robust Face Region Descriptors via Multiple Metric Learning for Face Recognition in the Wild (CVPR 2013) [Paper]

  • Similarity Metric Learning for Face Recognition (ICCV 2013) [Paper]

  • Projection Metric Learning on Grassmann Manifold with Application to Video based Face Recognition (CVPR 2015) [Paper]

Segmentation

  • Point Cloud Oversegmentation with Graph-Structured Deep Metric Learning (CVPR 2019) [Paper]

  • 3D Instance Segmentation via Multi-Task Metric Learning (ICCV 2019) [Paper]

Image registration

  • Metric Learning for Image Registration (CVPR 2019) [Paper]

Few (zero)-shot approach

  • RepMet: Representative-based metric learning for classification and few-shot object detection (CVPR 2019) [Paper] [Pytorch]

  • Revisiting Metric Learning for Few-Shot Image Classification (arXiv 2019) [Paper]

  • Model-Agnostic Metric for Zero-Shot Learning (WACV 2020) [Paper]

3D reconstruction

  • Learning Embedding of 3D models with Quadric Loss (BMVC 2019) [Paper][Pytorch]

Action localization

  • Weakly Supervised Temporal Action Localization Using Deep Metric Learning (WACV2020) [Paper][Pytorch]

Adversarial attack

Text documentation

  • Fast(er) Reconstruction of Shredded Text Documents via Self-Supervised Deep Asymmetric Metric Learning (CVPR 2020) [Paper][Code]

Pill identification

  • ePillID Dataset: A Low-Shot Fine-Grained Benchmark for Pill Identification (CVPR 2020) [Paper][Code]

7️⃣ Related works

Neurips

  • Distance Metric Learning for Large Margin Nearest Neighbor Classification (Neurips 2005) [Paper][Journal][Python]

  • First approach of local metric learning

  • Metric Learning by Collapsing Classes (Neurips 2005) [Paper]

  • Online Metric Learning and Fast Similarity Search (Neurips 2008) [Paper]

  • Sparse Metric Learning via Smooth Optimization (Neurips 2009) [Paper]

  • Metric Learning with Multiple Kernels (Neurips 2011) [Paper]

  • Hamming Distance Metric Learning (Neurips 2012) [Paper][Matlab]

  • Parametric Local Metric Learning for Nearest Neighbor Classification (Neurips 2012) [Paper]

  • A representative approach of local metric learning
  • Non-linear Metric Learning (Neurips 2012) [Paper]

  • Latent Coincidence Analysis: A Hidden Variable Model for Distance Metric Learning (Neurips 2012) [Paper]

    • They deal with probabilistic model based on EM algorithm
  • Semi-Crowdsourced Clustering: Generalizing Crowd Labeling by Robust Distance Metric Learning (Neurips 2012) [Paper]

  • Similarity Component Analysis (Neurips 2013) [Paper]

  • Discriminative Metric Learning by Neighborhood Gerrymandering (Neurips 2014) [Paper]

  • Log-Hilbert-Schmidt metric between positive definite operators on Hilbert spaces (Neurips 2014) [Paper]

  • Metric Learning for Temporal Sequence Alignment (Neurips 2014) [paper]

  • Sample complexity of learning Mahalanobis distance metrics (Neurips 2015) [Paper]

  • Regressive Virtual Metric Learning (Neurips 2015) [Paper]

  • Improved Error Bounds for Tree Representations of Metric Spaces (Neurips 2016) [Paper]

  • What Makes Objects Similar: A Unified Multi-Metric Learning Approach (Neurips 2016) [Paper]

  • Learning Low-Dimensional Metrics (Neurips 2017) [Paper]

  • Generative Local Metric Learning for Kernel Regression (Neurips 2017) [Paper]

  • Persistence Fisher Kernel: A Riemannian Manifold Kernel for Persistence Diagrams (Neurips 2018) [Paper][Matlab]

  • Bilevel Distance Metric Learning for Robust Image Recognition (Neurips 2018) [Paper]

  • Adapted Deep Embeddings: A Synthesis of Methods for k-Shot Inductive Transfer Learning (Neurips 2018) [Paper][Tensorflow]

  • Fast Low-rank Metric Learning for Large-scale and High-dimensional Data (Neurips 2019) [Paper][Matlab]

  • Metric Learning for Adversarial Robustness (Neurips 2019) [Paper][Tensorflow]

  • Region-specific Diffeomorphic Metric Mapping (Neurips 2019) [Paper][Pytorch]

  • Fast Low-rank Metric Learning for Large-scale and High-dimensional Data (FLRML) (Neurips 2019) [Paper][Matlab]

ICLR

  • Deep Metric Learning Using Triplet Network (ICLR 2015 workshop) [Paper][Keras][Torch]

  • Metric Learning with Adaptive Density Discrimination (Magnet loss) (ICLR 2016) [Paper][Pytorch1][Pytorch2][Tensorflow]

  • Semi-supervised Deep Learning by Metric Embedding (ICLRW 2017) [Paper][Torch(Lua)]

  • Learning Wasserstein Embedding (ICLR 2018) [Paper][Keras]

  • Smoothing the Geometry of Probabilistic Box Embeddings (ICLR 2019) [Paper][Tensorflow]

    • New type of embedding method
  • Unsupervised Domain Adaptation for Distance Metric Learning (ICLR 2019) [Paper]

  • ROTATE: Knowledge Graph Embedding bt Relational Rotation in Complex Space (ICLR 2019) [Paper][Pytorch]

    • Define relationship by using rotation in vector space
  • Conditional Network Embeddings (ICLR 2019) [Paper][Matlab]

    • Add additional information with respect to given structural properties

ICML

  • Gromov-Wasserstein Learning for Graph Matching and Node Embedding (ICML 2019) [Paper][Pytorch]

    • Propose novel framework btw. relation graph and embedding space
  • Hyperbolic Disk Embeddings for Directed Acyclic Graphs (ICML 2019) [Paper][Luigi]

    • Propose embedding framework on quasi-metric space

ECCV

  • A unifying mutual information view of metric learning: cross-entropy vs. pairwise losses (ECCV 2020) [Paper][PyTorch]

ICIP

  • Quadruplet Selection Methods for Deep Embedding Learning (ICIP 2019) [Paper]

ArXiv

  • Cross-Batch Memory for Embedding Learning (2020) [Paper]

  • Calibrated neighborhood aware confidence measure for deep metric learning (arXiv 2020) [Paper]

  • Diversified Mutual Learning for Deep Metric Learning (2020) [Link]


8️⃣ Study materials

Tutorial

  • Metric learning tutorial (ICML 2010) [Video]

  • Metric Learning and Manifolds: Preserving the Intrinsic Geometry (MS research 2016) [VIdeo]

  • Visual Search (Image Retrieval) and Metric Learning (CVPR 2018) [Video]

Lecture

  • Topology and Manifold (International Winter School on Gravity and Light 2015) [Video]

  • Metric learning lecture (Waterloo University) [Video]

  • Understanding of Mahalanobis distance [Video]

  • Metric Learning by Caltech (2018) [Video]

Repository

  • Various metric loss implementation (written by Pytorch) [Site]

  • A metric learning reality check [Site]

  • Person re-identification in Pytorch [Site]


Milestone

  • Add Pairwise cost methods

  • Add Distribution or other variant methods

  • Add Probabilistic methods

  • Add Boost-like methods

  • Add applications

  • Add study materials

  • Add brief descriptions