Giter Site home page Giter Site logo

feature_detection's Introduction

feature_detection

CSC 514 Introduction to Computer Vision Project 1 - Feature Detection and Matching

feature_detection's People

Watchers

James Cloos avatar jules avatar

feature_detection's Issues

Extra Credit 2

Here are some possible extra credit extensions (feel free to come up with your own variants to make your program
more robust and efficient):

  • Implement a version of adaptive non-maximum suppression.
  • Implement automatic scale selection.
  • Implement a scale invariant feature detector.
  • Implement a better test for determining if two features match.
  • Implement a better search method to speed up the matching process.

Feature Description

Now that you’ve detected and described your features, the next step is to write code to match them, i.e., given a feature in one image, find the best matching feature in one or more other images. This part of the feature detection and matching component is mainly designed to help you test out your feature descriptor. You will implement a more sophisticated feature matching mechanism in the second project when you do image alignment for the mosaicing.

The simplest approach is the following: write a Matlab function that compares two features and outputs
a distance between them. For example, you could simply sum the absolute value of differences between the descriptor elements. You could then use this distance to compute the best match between a feature in one image and the set of features in another image by finding the one with the smallest distance. You are required to implement the following two distance metrics and compare their performance:

  • Use a threshold on the match score. This is called the SSD distance.
  • Compute (score of the best feature match)/(score of the second best feature match). This is called the ”ratio test”.

Extra Credit 1

Here are some possible extra credit extensions (feel free to come up with your own variants to make your program
more robust and efficient):

  • Implement a version of adaptive non-maximum suppression.
  • Implement automatic scale selection.
  • Implement a scale invariant feature detector.
  • Implement a better test for determining if two features match.
  • Implement a better search method to speed up the matching process.

Feature Extraction

Cool ;)

To help you display each feature in an image, you should first write a Matlab function (named ShowFeatures) to display a red square depicting the dominant orientation. Your function should take three input parameters, the (x, y) location in the image where a feature has been detected, the scale that the feature was detected at, and a dominant orientation as determined by your feature descriptor. Your function will not return anything but rather overlay your feature locations on top of the image.

The first step in this project (after you have a proper display function working) is to detect interest points in an image. For this purpose, we will use the Harris corner detection method. We will proceed as follows: For each point p = (x, y) in the image we consider a window of pixels around this point and compute the Harris matrix H for the point

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.