All Projects → ducha-aiki → mods

ducha-aiki / mods

Licence: GPL-2.0 license
MODS (Matching On Demand with view Synthesis) is algorithm for wide-baseline matching.

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
matlab
3953 projects
HTML
75241 projects
Makefile
30231 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to mods

mods-light-zmq
MODS with external deep descriptors/detectors
Stars: ✭ 46 (-45.24%)
Mutual labels:  descriptor, sift, ransac, image-matching, wbs, local-features, wxbs, wide-baseline-stereo
rectified-features
[ECCV 2020] Single image depth prediction allows us to rectify planar surfaces in images and extract view-invariant local features for better feature matching
Stars: ✭ 57 (-32.14%)
Mutual labels:  image-matching, local-features
hesaff-pytorch
PyTorch implementation of Hessian-Affine local feature detector
Stars: ✭ 21 (-75%)
Mutual labels:  detector, local-features
East icpr
Forked from argman/EAST for the ICPR MTWI 2018 CHALLENGE
Stars: ✭ 154 (+83.33%)
Mutual labels:  detector
Yoloncs
YOLO object detector for Movidius Neural Compute Stick (NCS)
Stars: ✭ 176 (+109.52%)
Mutual labels:  detector
SpinNet
[CVPR 2021] SpinNet: Learning a General Surface Descriptor for 3D Point Cloud Registration
Stars: ✭ 181 (+115.48%)
Mutual labels:  descriptor
stereo.vision
planar fitting computation using stereo vision techniques
Stars: ✭ 19 (-77.38%)
Mutual labels:  ransac
Detector De Mascaras
Script utilizando OpenCV e modelo Machine Learning para detectar o uso de máscaras.
Stars: ✭ 150 (+78.57%)
Mutual labels:  detector
py-image-search-engine
Python Image Search Engine with OpenCV
Stars: ✭ 37 (-55.95%)
Mutual labels:  descriptor
SURF
SURF - Speeded Up Robust Features - source code
Stars: ✭ 117 (+39.29%)
Mutual labels:  descriptor
DenseDescriptorLearning-Pytorch
Official Repo for the paper "Extremely Dense Point Correspondences using a Learned Feature Descriptor" (CVPR 2020)
Stars: ✭ 66 (-21.43%)
Mutual labels:  descriptor
Detect It Easy
Program for determining types of files for Windows, Linux and MacOS.
Stars: ✭ 2,982 (+3450%)
Mutual labels:  detector
D3Feat.pytorch
[PyTorch] Official Implementation of CVPR'20 oral paper - D3Feat: Joint Learning of Dense Detection and Description of 3D Local Features https://arxiv.org/abs/2003.03164
Stars: ✭ 99 (+17.86%)
Mutual labels:  descriptor
Jscpd
Copy/paste detector for programming source code.
Stars: ✭ 2,397 (+2753.57%)
Mutual labels:  detector
CovGT-3DRegistration-matlab
A 3D Scene Registration Method via Covariance Descriptors and an Evolutionary Stable Strategy Game Theory Solver
Stars: ✭ 20 (-76.19%)
Mutual labels:  descriptor
Detectem
detectem - detect software and its version on websites.
Stars: ✭ 152 (+80.95%)
Mutual labels:  detector
DeepCD
[ICCV17] DeepCD: Learning Deep Complementary Descriptors for Patch Representations
Stars: ✭ 39 (-53.57%)
Mutual labels:  descriptor
R Centernet
detector for rotated-object based on CenterNet/基于CenterNet的旋转目标检测
Stars: ✭ 226 (+169.05%)
Mutual labels:  detector
python-pyfields
Define fields in python classes. Easily.
Stars: ✭ 39 (-53.57%)
Mutual labels:  descriptor
Open-Source-Models
Address book for computer vision models.
Stars: ✭ 30 (-64.29%)
Mutual labels:  detector

MODS: Image Matching with On-Demand Synthesis.

NEW: Simplified MODS with external deep CNN descriptors https://github.com/ducha-aiki/mods-light-zmq

Binaries can be downloaded here

https://github.com/ducha-aiki/mods/releases/

Compilation. MODS depends on OpenCV version 2.4.9 and LAPACK

How to compile MODS on clean ubuntu 14.04 (tested on amazon AWS instance)

sudo apt-get install git cmake gfortran libblas-dev liblapack-dev build-essential gcc-multilib libopencv-dev python-opencv

sudo add-apt-repository --yes ppa:xqms/opencv-nonfree
sudo apt-get update
sudo apt-get install libopencv-nonfree-dev

if you want to use edge foci detector and bice descriptor from Microsoft, you will need to install wine as well: sudo apt-get install wine git clone cd mods

cd vlfeat
make

cd ../build
cmake ..
make

how to compile MODS on clean Windows 10

install cmake https://cmake.org/download/

install mingw http://www.mingw.org/

get lapack https://icl.cs.utk.edu/lapack-for-windows/lapack/#libraries_mingw

add $mods_source_dir/lapack_for_windows/lib to your Path environment variable

install OpenCV 2.4.8 If you have trouble compiling it, use this solution http://stackoverflow.com/a/21214333

Add opencv install root/bin to your path environmental variable

Put opencv install root CMakeLists.txt to SET (OpenCV_DIR "c:/opencv-2.4.8/opencv/sources/build/install")

cd build
cmake ..

Make sure, that CMake generates mingw32 make files, not Visual Studio.

mingw32-make

Example of use:

Linux:

./mods examples/cat.png examples/cat2.png out1.png out2.png k1.txt k2.txt m.txt l.txt 0 0 examples/cat.txt config_iter_mods_cviu.ini iters_mods_cviu.ini

Windows:

mods.exe examples/cat.png examples/cat2.png out1.png out2.png k1.txt k2.txt m.txt l.txt 0 0 examples/cat.txt config_iter_mods_cviu.ini iters_mods_cviu.ini

Configurations:

config_iter_cviu.ini, iters_cviu.ini - version, created to hangle extreme view changes.

Described in
"MODS: Fast and Robust Method for Two-View Matching" by Dmytro Mishkin, Jiri Matas, Michal Perdoch. http://arxiv.org/abs/1503.02619.

config_iter_wxbs.ini, iters_wxbs.ini - version, described in .

"WxBS: Wide Baseline Stereo Generalizations" by Dmytro Mishkin, Jiri Matas, Michal Perdoch, Karel Lenc. http://arxiv.org/abs/1504.06603 It handles extreme appearance and geometrical changes. A bit slower than previous, but much more powerful. If use, please cite corresponding papers.

How to save detectors\descriptors and use them for matching

Note that exctract features takes only one step, so you may need to edit iters*.ini file to be able to extract features from next steps. See an example in iters_mods_cviu_onestep.ini

./extract_features examples/cat.png  cat1.txt config_iter_cviu.ini iters_mods_cviu_onestep.ini
./extract_features examples/cat2.png  cat2.txt config_iter_cviu.ini iters_mods_cviu_onestep.ini

Now loading and matching ./mods examples/cat.png examples/cat2.png out1.png out2.png cat1.txt cat2.txt m.txt l.txt 0 0 examples/cat.txt config_iter_mods_cviu.ini iters_mods_cviu_onestep.ini 1

Citation

Please cite us if you use this code:

@article{Mishkin2015MODS,
      title = "MODS: Fast and robust method for two-view matching ",
      journal = "Computer Vision and Image Understanding ",
      year = "2015",
      issn = "1077-3142",
      doi = "http://dx.doi.org/10.1016/j.cviu.2015.08.005",
      url = "http://www.sciencedirect.com/science/article/pii/S1077314215001800",
      author = "Dmytro Mishkin and Jiri Matas and Michal Perdoch"
      }
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].