GithubHelp home page GithubHelp logo

ovysotska / image_sequence_matcher Goto Github PK

View Code? Open in Web Editor NEW
11.0 4.0 4.0 1.56 MB

Matches image sequences given a similarity matrix

License: Other

Shell 1.05% Python 98.95%
sequence-matcher sequence-to-sequence visual-place-recongnition image-localization loop-closing

image_sequence_matcher's Introduction

Image sequence matcher

Finds the image matches between two sequences of images given a similarity (cost) matrix.

Particularly suited for image sequences matching in context of visual place recognition in changing environments.

๐Ÿ”ด (Red) - found image correspondences. ๐Ÿ”ต (Blue) - skipped image correspondences.

Requirements

To run you need:

Python3
matplotlib
numpy

How to run?

Have a look to a demo.

Parameters

To run the code you need to specify non_matching_cost and fanout parameters. For detailed explanation of the parameters, please see Relevant publication.

Warning. This code makes the following assumptions:

* the better two images match, the smaller the cost should be.
* all the costs (matrix elements) should be positive.

Intuitively:

fanout specifies speed of your camera in images. In terms of matrix pattern is the maximum possible inclination of the path. Typical value is 5.

non_matching_cost is a threshold after which the cost of matching two images is too high for images to be considered as match. For example non_matching_cost = 3.4 means that every image pair within the shortest path that has a matching cost more than 3.4 is not considered as match (hidden), all that have cost less than 3.4 are considered as match.

Relevant publication ๐Ÿ‘‡

This framework builds a graph structure given a cost matrix. Afterwards it searches for the shortest path in the graph using a topological sorting approach. The resulting path gives the image associations between the sequences.

For more details how to build the graph please see the paper Efficient and Effective Matching of Image Sequences Under Substantial Appearance Change. This code only partially implements the paper though. It will only find the continuous path.

If you have loops in the sequences consider this project.

image_sequence_matcher's People

Contributors

ovysotska avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

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.