• Stars
    star
    112
  • Rank 303,019 (Top 7 %)
  • Language
    C++
  • License
    Other
  • Created over 8 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Reference caffe implementation of LSUV initialization

Layer-sequential unit-variance (LSUV) initialization

This is sample code for LSUV and Orthonormal initializations, implemented in python script within Caffe framework. The original Caffe README is reproduced below the line. LSUV initialization is described in:

Mishkin, D. and Matas, J.,(2015). All you need is a good init. arXiv preprint arXiv:1511.06422.

Orthonormal initialization is described in:

Andrew M. Saxe, James L. McClelland, Surya Ganguli (2013). Exact solutions to the nonlinear dynamics of learning in deep linear neural networks. arXiv preprint arXiv:1312.6120

upd.: Torch re-implementation https://github.com/yobibyte/torch-lsuv

upd.: Keras re-implementation https://github.com/ducha-aiki/LSUV-keras

New! PyTorch re-implementation https://github.com/ducha-aiki/LSUV-pytorch

New! Thinc re-implementation LSUV-thinc

update: Why it is important to scale your input to var=1 before applying LSUV:

scale-no-scale

Examples

See examples and sample log outputs in examples/lsuv. Run get_datasets.sh and training_*.sh for experiments reproduction. Note, than we haven`t freezed random seed and results may vary a little from run to run. Initialization script itself is in tools/extra/lsuv_init.py

Using with you current Caffe, or different framework installation

If you have Caffe installed already, you can simply copy script from tools/extra/lsuv_init.py and view its help (python lsuv_init.py -help) for further instructions. If you use a different framework, please, adapt that same script to your needs and notify us once you've got the code working, so we could let others know of existance of your solution if you're not against sharing your code. The script is self-explanatory, readable and adaptable.

Citation

Please cite us if you use this code:

@ARTICLE{LSUVInit2015,
author = {{Mishkin}, D. and {Matas}, J.},
title = "{All you need is a good init}",
journal = {arXiv preprint arXiv:1511.06422},
year = 2015,
month = nov
}

Caffe

Build Status License

Caffe is a deep learning framework made with expression, speed, and modularity in mind. It is developed by the Berkeley Vision and Learning Center (BVLC) and community contributors.

Check out the project site for all the details like

and step-by-step examples.

Join the chat at https://gitter.im/BVLC/caffe

Please join the caffe-users group or gitter chat to ask questions and talk about methods and models. Framework development discussions and thorough bug reports are collected on Issues.

Happy brewing!

License and Citation

Caffe is released under the BSD 2-Clause license. The BVLC reference models are released for unrestricted use.

Please cite Caffe in your publications if it helps your research:

@article{jia2014caffe,
  Author = {Jia, Yangqing and Shelhamer, Evan and Donahue, Jeff and Karayev, Sergey and Long, Jonathan and Girshick, Ross and Guadarrama, Sergio and Darrell, Trevor},
  Journal = {arXiv preprint arXiv:1408.5093},
  Title = {Caffe: Convolutional Architecture for Fast Feature Embedding},
  Year = {2014}
}

More Repositories

1

caffenet-benchmark

Evaluation of the CNN design choices performance on ImageNet-2012.
Jupyter Notebook
735
star
2

affnet

Code and weights for local feature affine shape estimation paper "Repeatability Is Not Enough: Learning Discriminative Affine Regions via Discriminability"
Python
238
star
3

pydegensac

Advanced RANSAC (DEGENSAC) with bells and whistles for H and F estimation
C++
226
star
4

pytorch-sift

PyTorch implementation of SIFT descriptor
Jupyter Notebook
158
star
5

manifold-diffusion

Diffusion on manifolds for image retrieval
Python
122
star
6

pyransac

Fast and accurate python RANSAC with LO, LAF-check
C++
90
star
7

mods

MODS (Matching On Demand with view Synthesis) is algorithm for wide-baseline matching.
C
85
star
8

ransac-tutorial-2020-data

Starter kit for the CVPR 2020 RANSAC tutorial benchmark
Jupyter Notebook
72
star
9

pymagsac

MAGSAC: marginalizing sample consensus, python version
C++
71
star
10

LSUV-keras

Simple implementation of the LSUV initialization in keras
Python
66
star
11

navigation-benchmark

Code for "Benchmarking Classic and Learned Navigation in Complex 3D Environments" paper
Python
63
star
12

google-retrieval-challenge-2019-fastai-starter

fast.ai starter kit for Google Landmark Retrieval 2019 challenge
Jupyter Notebook
63
star
13

LSUV-pytorch

Simple implementation of the LSUV initialization in PyTorch
Python
53
star
14

mods-light-zmq

MODS with external deep descriptors/detectors
C++
51
star
15

whale-identification-2018

Solution to Whale Identification Challenge 2018
Jupyter Notebook
51
star
16

extract_patches

Function for local patch extraction from OpenCV keypoints with proper bluring
Jupyter Notebook
42
star
17

numpy-sift

Numpy implementation of SIFT descriptor
Jupyter Notebook
38
star
18

matching-strategies-comparison

Comparison of the matching strategies for local feature descriptor
Jupyter Notebook
31
star
19

kornia_moons

Conversions between kornia and other computer vision libraries formats
Jupyter Notebook
28
star
20

hesaff-pytorch

PyTorch implementation of Hessian-Affine local feature detector
Python
22
star
21

hardnet-in-fastai2-and-kornia

Re-implementation of local descriptor HardNet training in fasta2+kornia
Jupyter Notebook
21
star
22

fast_atan2

Realization of the atan2 approximations faster than standard function.
C++
20
star
23

imc2021-sample-kornia-submission

Tutorial on how to create submission to Image Matching Challenge 2021
Jupyter Notebook
19
star
24

wide-baseline-stereo-blog

Blog about wide baseline stereo and local features
Jupyter Notebook
16
star
25

cpp-extract-patches

C++ header-only lib for extracting local patches
Jupyter Notebook
15
star
26

extract-patches-old

Simple function for local patch extraction from OpenCV keypoints.
Jupyter Notebook
14
star
27

pixelstitch

Simple tool for labelling the correspondences
Jupyter Notebook
14
star
28

imc2023-kornia-starter-pack

Simple jupyter notebook for 3D reconstruction using kornia and pycolmap
Jupyter Notebook
12
star
29

brown_phototour_revisited

New testing protocol for learning local patch descriptors on Brown Phototour dataset
Jupyter Notebook
12
star
30

vs3-cnn-labs

Computer vision labs for Vision and Sports Summer School 2022
Jupyter Notebook
10
star
31

mpv-templates-backup

Jupyter Notebook
9
star
32

wxbs-descriptors-benchmark

W1BS local patch descriptors benchmark
Python
9
star
33

keras-sift

Jupyter Notebook
7
star
34

local_feature_tutorial

Some examples of how one can use local features
Jupyter Notebook
6
star
35

imagewoofv2-fastv2-maxpoolblur

Jupyter Notebook
5
star
36

caffe-preprocessing-scripts

Creates caffe lmdb from bunch of dirs with images. Clean-up, check, resize included
Shell
5
star
37

wxbs-benchmark

Code for benchmarking image matchers on WxBS dataset/
Jupyter Notebook
3
star
38

creating-data-for-imc

Scripts for creating benchmark data for IMC 2021 competition
Python
3
star
39

ucn-pytorch

Jupyter Notebook
3
star
40

wisv2019-competition

Helper scripts for participation in http://cvg.dsi.unifi.it/cvg/index.php?id=caip-2019-contest
Jupyter Notebook
3
star
41

zeromqransac

C
2
star
42

COVID19-confirmed-cases-plot

Simple jupyter notebook to plot from John Hopkins data
Jupyter Notebook
2
star
43

nbu-reports-convert

Combine nbu reports to singlcsv
Roff
1
star
44

brown-revisited

Brown patch matching benchmark revisited
Jupyter Notebook
1
star
45

lsuv

Python package for neural network initialization
Python
1
star
46

sam1

Howework
Python
1
star