BigSnarf blog

Infosec FTW

Category Archives: Tools

Image Retrieval Using Deep Learning

RMAC RESNET

We propose a novel approach for instance-level image retrieval. It produces a global and compact fixed-length representation for each image by aggregating many region-wise descriptors. In contrast to previous works employing pre-trained deep networks as a black box to produce features, our method leverages a deep architecture trained for the specific task of image retrieval. Our contribution is twofold: (i) we leverage a ranking framework to learn convolution and projection weights that are used to build the region features; and (ii) we employ a region proposal network to learn which regions should be pooled to form the final global descriptor. We show that using clean training data is key to the success of our approach. To that aim, we use a large scale but noisy landmark dataset and develop an automatic cleaning approach. The proposed architecture produces a global image representation in a single forward pass. Our approach significantly outperforms previous approaches based on global descriptors on standard datasets. It even surpasses most prior works based on costly local descriptor indexing and spatial verification1

https://arxiv.org/pdf/1604.01325.pdf

https://arxiv.org/abs/1511.05879

https://arxiv.org/abs/1510.07493

https://arxiv.org/abs/1610.07940

https://github.com/figitaki/deep-retrieval

https://www.kaggle.com/c/landmark-retrieval-challenge/discussion/57855#335578

Advertisements

RateMyView

Screen Shot 2018-05-21 at 12.42.48 PMScreen Shot 2018-05-21 at 12.42.41 PMScreen Shot 2018-05-21 at 12.42.35 PMScreen Shot 2018-05-21 at 12.42.28 PM5

Clustering photos for labels

  1. Histograms of RGB
  2. KMeans Histograms
  3. Autoencoder KMeans
  4. Unsupervised Deep Embedding for Clustering Analysis (DEC)

I have 50000 photos that I would like to label for training a classifier. I guess I could represent each image by raw pixels or RGB values but how do I divide them into K groups in terms of inherent latent semantics? Solutions 1, 2 and 3.

The traditional way, you first extract feature vectors according to domain-specific knowledge and then use a clustering algorithm on the extracted features.

My colleague said I had to use deep learning so I researched it and found DEC. A unified framework which can directly cluster images with linear performance. This new category of clustering algorithms using Deep Learning is typically called Deep Clustering.

From the paper:

Clustering is central to many data-driven application domains and has been studied extensively in terms of distance functions and grouping algorithms. Relatively little work has focused on learning representations for clustering. In this paper, we propose Deep Embedded Clustering (DEC), a method that simultaneously learns feature representations and cluster assignments using deep neural networks. DEC learns a mapping from the data space to a lower-dimensional feature space in which it iteratively optimizes a clustering objective. Our experimental evaluations on image and text corpora show significant improvement over state-of-the-art methods.

https://arxiv.org/pdf/1511.06335.pdf

Screen Shot 2018-05-15 at 10.06.49 PM

Screen Shot 2018-05-15 at 10.18.34 PM

https://github.com/fferroni/DEC-Keras/blob/master/keras_dec.py

https://github.com/XifengGuo/DEC-keras/blob/master/DEC.py

https://xifengguo.github.io/papers/ICONIP17-DCEC.pdf

https://arxiv.org/abs/1709.08374

https://github.com/panji1990/Deep-subspace-clustering-networks

SICK LiDAR for xmas fun

Denoising AutoEncoder

Screen Shot 2017-12-13 at 11.51.27 PMScreen Shot 2017-12-13 at 11.51.20 PMScreen Shot 2017-12-11 at 3.57.33 PM

Screen Shot 2017-12-08 at 3.49.33 PM.png

latent-space

 

DEMO: http://vecg.cs.ucl.ac.uk/Projects/projects_fonts/projects_fonts.html#interactive_demo

https://github.com/ramarlina/DenoisingAutoEncoder

https://github.com/Mctigger/KagglePlanetPytorch

https://github.com/fducau/AAE_pytorch

https://blog.paperspace.com/adversarial-autoencoders-with-pytorch/

http://pytorch.org/docs/master/torchvision/transforms.html

https://arxiv.org/abs/1612.04642

  • model that predicts  – “autoencoder” as a feature generator
  • model that predicts  – “incidence angle” as a feature generator

Screen Shot 2017-12-09 at 1.16.48 PM

List and Dicts to Pandas DF

Vision stuff TODO reading

NLP Neural Networks

Robots learning from humans

mvTCN

We propose a self-supervised approach for learning representations entirely from unlabeled videos recorded from multiple viewpoints. This is particularly relevant to robotic imitation learning, which requires a viewpoint-invariant understanding of the relationships between humans and their environment, including object interactions, attributes and body pose. We train our representations using a triplet loss, where multiple simultaneous viewpoints of the same observation are attracted in the embedding space, while being repelled from temporal neighbors which are often visually similar but functionally different. This signal encourages our model to discover attributes that do not change across viewpoint, but do change across time, while ignoring nuisance variables such as occlusions, motion blur, lighting and background. Our experiments demonstrate that such a representation even acquires some degree of invariance to object instance. We demonstrate that our model can correctly identify corresponding steps in complex object interactions, such as pouring, across different videos with different instances. We also show what are, to the best of our knowledge, the first self-supervised results for end-to-end imitation learning of human motions by a real robot.

https://sermanet.github.io/tcn/

https://arxiv.org/pdf/1704.06888.pdf

https://sermanet.github.io/imitation/

https://research.googleblog.com/2017/07/the-google-brain-residency-program-one.html

Self driving car Operating System – SDCOS