Code Monkey home page Code Monkey logo

ducha-aiki / mods Goto Github PK

View Code? Open in Web Editor NEW
87.0 16.0 16.0 33.33 MB

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

Home Page: http://cmp.felk.cvut.cz/wbs/

License: GNU General Public License v2.0

CMake 0.68% C++ 37.20% C 42.61% Makefile 2.26% Assembly 0.13% MATLAB 9.58% HTML 3.71% CSS 0.76% Python 1.80% Clean 0.16% TeX 0.16% Shell 0.04% Objective-C 0.66% Roff 0.26%
image-matching descriptor local-features ransac detector sift wxbs wbs wide-baseline-stereo

mods's Introduction

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"
      }

mods's People

Contributors

ducha-aiki avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mods's Issues

does not start on ubuntu

I installed everything according to the instructions

root@80-78-247-58:/var/www/html/mods# ./mods.cpp examples/cat.png examples/1.png 3.png 2.png k1.txt k2.txt m.txt l.txt 0 0 examples/cat.txt config_iter_mods_cviu.ini iters_mods_cviu.ini
./mods.cpp: line 1: /------------------------------------------------------/: No such file or directory
./mods.cpp: line 2: /bin: Is a directory
./mods.cpp: line 3: /------------------------------------------------------/: No such file or directory
./mods.cpp: line 33: //#define: No such file or directory
./mods.cpp: line 47: using: command not found
./mods.cpp: line 49: const: command not found
./mods.cpp: line 49: //number: No such file or directory
./mods.cpp: line 51: syntax error near unexpected token (' ./mods.cpp: line 51: //inline long getMilliSecs()'
root@80-78-247-58:/var/www/html/mods#

root@80-78-247-58:/var/www/html/mods# ./mods examples/cat.png examples/1.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
-bash: ./mods: No such file or directory

Linux and Windows binaries behave strange with groundtruth param

mods.exe image1.jpg image2.jpg imgOut1.png imgOut2.png k1.txt k2.txt m.txt log.txt 1 0 config_iter_wxbs.ini iters_wxbs.ini

-> Results in succesful run in nearly 2 seconds (no groundTruth file specified)

mods.exe image1.jpg image2.jpg imgOut1.png imgOut2.png k1.txt k2.txt m.txt log.txt 1 0 gt.txt config_iter_wxbs.ini iters_wxbs.ini

-> Results in succesful run in nearly 16 seconds (although groundTruth usage is set to 0 = LORANSAC)

Whats also strange: On Linux (Ubuntu) running without specifying groundTruth file (even if it's set to 0) mods doesn't run (can't read iters config) but when specifying groundTruth file it runs too long.

Whats the issue? How do we run mods under linux without using groundTruth param and good performance?

Kind Regards.

Windows Install Video - Youtube?

Can you to make a quick step-by-step installation video for Windows and upload it to youtube? I tried to compile/build it from source using the steps provided with no success. I'm new to C++, not sure what I'm doing wrong. If you don't have time and if it's too much to ask for, don't worry about it -but it would be great if you can provide a video :).

Errors while compiling in windows 7

Hello, Firstly great work with the paper.

I followed the instructions as mentioned. I had openCV 2.4.13. I compiled it and in CMAKE and built using the MING32. I added the required details to PATH environment variable. I Then compiled the mods, setting the opencv/build/install directory as mentioned. The CMAKE finds openCV ,BLAS and LAPACK and openMP. So, Now when I run mingw32-make inside the build directory, it starts and after completition of a few percantage a bunch of error pop up.

It says that in the file stat.h in mingw '_dev_t', '_ino_t' and bunch of other variables are does not name a type.

Then I reconfigured by passing the -std=gnu++11 flag to cmake and I tried compiliing it . It says.
::fwide, ::mbsinit,::wcscat and other such varaibles have not been declared. the error comes from a file called cwchar in Mingw which is being called by getExtrema.cpp in your program in the mser directory.

Do help me out.

.Net Implementation?

Does anyone know if there is a .Net C# implementation of this project (OpenCvSharp or Emgu)?

compiled failed on ubuntu14.04

hello,
Recently,i am learning mods, when i compiled mods on ubuntu14.04,but there are some problems occured,information as follows:
[ 80%] Linking CXX executable mods
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libopencv_core.a(persistence.cpp.o): undefined reference to symbol 'gzclose'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libz.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [mods] ERROR 1
make[1]: *** [CMakeFiles/mods.dir/all] ERROR 2
make: *** [all] ERROR 2

I can not find what is the happen about it, could you give me some TIPS? thanks very much!

extract features

./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

I am following the above step, I am able to generate key descriptors and key points in the images, when trying to compare with the pre extracted key points with the below command, my result is either 0 or 100. MODS application getting crashed with bad_alloc error

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

Compilation Fails on ubuntu 16.04

When i write the comand "make" at build directory i got the following errors:

emiliano@emiliano-N53SM:~/feat_codigo/mods/build$ make[ 0%] Building CXX object TILDE/c++/CMakeFiles/TILDE.dir/src/libTILDE.cpp.o
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp: In function ‘std::vectorcv::Mat getLuv_fast(const cv::Mat&)’:
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:73:3: error: ‘parallel_for’ is not a member of ‘cv’
cv::parallel_for( cv::BlockedRange (0, input_color_image.rows), [=] (const cv
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:73:21: error: ‘BlockedRange’ is not a member of ‘cv’
cv::parallel_for( cv::BlockedRange (0, input_color_image.rows), [=] (const cv
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:73:82: error: ‘BlockedRange’ in namespace ‘cv’ does not name a type
l_for( cv::BlockedRange (0, input_color_image.rows), [=] (const cv::BlockedRang
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp: In lambda function:
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:128:7: error: expected ‘{’ before ‘;’ token
});
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp: In function ‘std::vectorcv::Mat getLuv_fast(const cv::Mat&)’:
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:128:7: error: expected ‘)’ before ‘;’ token
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:54:16: warning: unused variable ‘XYZ’ [-Wunused-variable]
const double XYZ[3][3] = { { 0.430574, 0.341550, 0.178325 },
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:58:16: warning: unused variable ‘Un_prime’ [-Wunused-variable]
const double Un_prime = 0.197833;
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:59:16: warning: unused variable ‘Vn_prime’ [-Wunused-variable]
const double Vn_prime = 0.468331;
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:61:16: warning: unused variable ‘minu’ [-Wunused-variable]
const double minu = -88maxi;
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:62:16: warning: unused variable ‘minv’ [-Wunused-variable]
const double minv = -134
maxi;
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:63:16: warning: unused variable ‘Lt’ [-Wunused-variable]
const double Lt = 0.008856;
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp: In function ‘std::vectorcv::Mat getGrad_fast(const cv::Mat&)’:
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:177:3: error: ‘parallel_for’ is not a member of ‘cv’
cv::parallel_for( cv::BlockedRange (0, gx[0].rows), [=] (const cv::BlockedRan
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:177:21: error: ‘BlockedRange’ is not a member of ‘cv’
cv::parallel_for( cv::BlockedRange (0, gx[0].rows), [=] (const cv::BlockedRan
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:177:70: error: ‘BlockedRange’ in namespace ‘cv’ does not name a type
cv::parallel_for( cv::BlockedRange (0, gx[0].rows), [=] (const cv::BlockedRang
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp: In lambda function:
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:222:7: error: expected ‘{’ before ‘;’ token
});
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp: In function ‘std::vectorcv::Mat getGrad_fast(const cv::Mat&)’:
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:222:7: error: expected ‘)’ before ‘;’ token
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp: In function ‘std::vectorcv::KeyPoint getTILDEKeyPoints(const cv::Mat&, const string&, bool, bool, bool, cv::Mat*)’:
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:256:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < curPart.size(); i++) {
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp: In function ‘void getCombinedScore(const std::vector<std::vectorcv::Mat >&, const bool&, cv::Mat*)’:
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:365:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int idxCascade = 0; idxCascade < cascade_responses.size(); ++idxCascade)
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:369:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int idxDepth = 1; idxDepth < cascade_responses[idxCascade].size(); +
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp: In function ‘std::vector<cv::Point3_ > applyApproxFilters(const cv::Mat&, const TILDEobjects&, const std::vector&, bool, bool, bool, cv::Mat*)’:
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:465:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < res_with_score.size(); ++i) {
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:433:15: warning: unused variable ‘scaleKeypoint’ [-Wunused-variable]
const float scaleKeypoint = 10.0;const float orientation = 0;
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:433:48: warning: unused variable ‘orientation’ [-Wunused-variable]
const float scaleKeypoint = 10.0;const float orientation = 0;
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp: In constructor ‘Parallel_process::Parallel_process(const std::vectorcv::Mat&, int, const TILDEobjects&, std::vectorcv::Mat&)’:
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:483:25: warning: ‘Parallel_process::convt_image’ will be initialized after [-Wreorder]
const vector < Mat > &convt_image;
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:480:24: warning: ‘const TILDEobjects& Parallel_process::cas’ [-Wreorder]
const TILDEobjects & cas;
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:486:3: warning: when initialized here [-Wreorder]
Parallel_process(const vector < Mat > &conv, const int nb, const TILDEobjects
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp: In function ‘std::vector<std::vectorcv::Mat > getScoresForApprox(const TILDEobjects&, const std::vectorcv::Mat&)’:
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:540:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int idxFilter = 0; idxFilter < cas.filters.size() / 2; idxFilter++) {
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:519:7: warning: unused variable ‘nbOriginalFilters’ [-Wunused-variable]
int nbOriginalFilters = nbMax * nbSum;
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:521:7: warning: unused variable ‘nbChannels’ [-Wunused-variable]
int nbChannels = param[4]; //6
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:522:7: warning: unused variable ‘sizeFilters’ [-Wunused-variable]
int sizeFilters = param[5]; //21
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:532:7: warning: unused variable ‘idxSum’ [-Wunused-variable]
int idxSum = 0;
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:533:7: warning: unused variable ‘idxMax’ [-Wunused-variable]
int idxMax = 0;
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp: In function ‘void getScoresandCombine_Approx(const TILDEobjects&, const std::vectorcv::Mat&, bool, cv::Mat*)’:
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:613:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int idxFilter = 0; idxFilter < cas.filters.size() / 2; idxFilter++)
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:584:7: warning: unused variable ‘nbOriginalFilters’ [-Wunused-variable]
int nbOriginalFilters = nbMax * nbSum;
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:586:7: warning: unused variable ‘nbChannels’ [-Wunused-variable]
int nbChannels = param[4]; //6
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:587:7: warning: unused variable ‘sizeFilters’ [-Wunused-variable]
int sizeFilters = param[5]; //21
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:595:7: warning: unused variable ‘idxSum’ [-Wunused-variable]
int idxSum = 0;
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:596:7: warning: unused variable ‘idxMax’ [-Wunused-variable]
int idxMax = 0;
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:605:7: warning: unused variable ‘count’ [-Wunused-variable]
int count = 0;
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp: In function ‘std::vector<std::vector > getTILDENonApproxFilters(const string&, void*)’:
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:663:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < tokens.size(); i++)
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:715:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (myCascade.size() == nbFilters) {
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp: In function ‘std::vector<cv::Point3_ > applyNonApproxFilters(const cv::Mat&, const std::vector<std::vector >&, const std::vector&, bool, bool, bool, cv::Mat*)’:
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:780:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int idxCascade = 0; idxCascade < dual_cascade_filters.size(); ++idxCasca
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:782:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int idxDepth = 0; idxDepth < dual_cascade_filters[idxCascade].size()
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:789:47: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int idxChannel = 0; idxChannel < cur_filter.w.size(); ++idxChann
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:803:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int idxCascade = 0; idxCascade < dual_cascade_filters.size(); ++idxCasca
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:805:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int idxDepth = 1; idxDepth < dual_cascade_filters[idxCascade].size()
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:837:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < res_with_score.size(); ++i) {
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp: In function ‘void Tokenize(const string&, std::vector<std::__cxx11::basic_string >&, const string&, int, int)’:
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:851:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (std::string::npos != p || std::string::npos != lp) {
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:851:51: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (std::string::npos != p || std::string::npos != lp) {
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp: In function ‘cv::Mat sumMatArray(const std::vectorcv::Mat&)’:
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:902:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int idxMat = 1; idxMat < MatArray.size(); ++idxMat) {
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp: In function ‘TILDEobjects getTILDEApproxObjects(const string&, void*)’:
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:1133:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < tokens.size(); i++) {
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:1137:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < tokens.size(); i++) {
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:1178:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (tokens.size() != nbOriginalFilters) {
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:1183:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < tokens.size(); i++)
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp: In function ‘cv::Mat getTILDEResponce(const cv::Mat&, const string&, bool, bool)’:
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:1299:43: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int idxCascade = 0; idxCascade < tilde_obj.nonApprox_filters.size();
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:1301:43: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int idxDepth = 0; idxDepth < tilde_obj.nonApprox_filters[idxCasc
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:1308:51: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int idxChannel = 0; idxChannel < cur_filter.w.size(); ++idxC
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:1321:43: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int idxCascade = 0; idxCascade < tilde_obj.nonApprox_filters.size();
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:1323:43: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int idxDepth = 1; idxDepth < tilde_obj.nonApprox_filters[idxCasc
^
/home/emiliano/feat_codigo/mods/TILDE/c++/src/libTILDE.cpp:1276:17: warning: unused variable ‘sizeSmooth’ [-Wunused-variable]
const int sizeSmooth = 5 * stdv * 2 + 1;
^
TILDE/c++/CMakeFiles/TILDE.dir/build.make:62: fallo en las instrucciones para el objetivo 'TILDE/c++/CMakeFiles/TILDE.dir/src/libTILDE.cpp.o'
make[2]: *** [TILDE/c++/CMakeFiles/TILDE.dir/src/libTILDE.cpp.o] Error 1
CMakeFiles/Makefile2:1092: fallo en las instrucciones para el objetivo 'TILDE/c++/CMakeFiles/TILDE.dir/all'
make[1]: *** [TILDE/c++/CMakeFiles/TILDE.dir/all] Error 2
Makefile:127: fallo en las instrucciones para el objetivo 'all'
make: *** [all] Error 2

Maybe i have to use different versions of gcc and opencv ?

Unable to run the precompiled Windows Version


mods.exe - System Error

The program can't start because libgcc_s_dw2-1.dll is missing from your computer. Try reinstalling the program to fix this problem.

OK

Getting the above error.

OpenCV 3.2?

Hello, great project. Do you know if this project supports OpenCV 3.2? If not, are there any plans to make it compatible with 3.2 or how can I compile it to use OpenCV 3.2?

MODS failing for some images

Hi,

I am using MODS for retinal image matching and it works fine for most of the images .For following two retinal image vessel extraction images MODS is failing with the error
"This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc".

PFA images for your reference.
image_0_vessel
image_3_vessel

Can you please help me to sort out this issue.

Thanks,
Supriti

OpenCV version error

ERROR: Could not find a version that satisfies the requirement opencv==2.4.9 (from versions: none)
ERROR: No matching distribution found for opencv==2.4.9

Run mods exe without output image generation doesn't work

Unfortunately this still generates output images (which consumes time that I want to save):

  • write log file only [0/1] -> this doesn't work

$ ./mods.exe img1.jpg img2.jpg out1.jpg out2.jpg m.txt l.txt 1 0


Maximum threads can be used: 8
RootSIFT descriptor + LO-RANSAC (homography) verification are used.
View synthesis, detection and description...


Iteration 1
MSER: 3 view synthesis will be done
2873 keypoints detected in all views1 in step 1
2873 keypoints detected in all views2 in step 1
View synthesis, detection and description done in 1.806 seconds
RootSIFT FLANN joint matching...
Total: 2873 tentative correspondences are detected in 0.069 seconds
Duplicate filtering before RANSAC with threshold = 5 pixels.
1005 unique tentative correspondences left in 0.01 seconds
LO-RANSAC(homography) verification is used...
1005 true matches are identified in 0.01 seconds
Done in 1 iterations and 3 view synthesis


Writing files...
Image1: regions keypoints | Image2: regions keypoints
1354 2873 | 1354 2873

True matches | unique tentatives
1005 | 1005 | 100% RootSIFT 1st geom inc

Main matching | All Time:
1.96 | 5.21 seconds

Unable to run surf function

I'm facing this error:

AttributeError: 'module' object has no attribute 'SURF'

I'm using opencv 3.1.0.0 version

How to use extracted features.

I'm trying to load and match the pre-extracted features, but we are getting the following error.

for extracting features, i'm using the following command:

extract_features.exe caution.jpg caution.txt config_iter_cviu.ini iters_mods_cviu_onestep.ini
extract_features.exe img15.jpg img15.txt config_iter_cviu.ini iters_mods_cviu_onestep.ini

and for loading the per-extracted features:

mods.exe caution.jpg img15.jpg out1.png out2.png caution.txt img15.txt m.txt l.txt 0 1 c.txt config_iter_cviu.ini iters_mods_cviu_onestep.ini 1

and I'm getting this error:

Cannot open ground truth file c.txt

Thanks in advance

executable binaries

Can you please upload the compiled binaries for both linux and windows with the latest release code (2015 I assume)?

On the official page a 2015 binary version for linux is available but not the windows version.
It would be also very nice if you could upload the exctract features binaries separately for both win and linux.

Thanks in advance.

How is the performance about the new features?

Dear @ducha-aiki, I've learned your excellent work MODS on feature matching, I also saw there are some new features in this new commits compared with the previous downloaded one and reported on the paper, so how is the performance about the new one?

matching without ground truth file

Hi,

I wanted to use the latest mods version to match the files without ground truth file. But on command line I am getting error 'Ground truth File is not specified'(which is parameter on command line). I am able to run the older version of MODS without ground truth file. Is it possible to run the latest version of mods without ground truth file?

Thanks,
Supriti

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.