Giter VIP home page Giter VIP logo

haswellhof's Introduction

Haswellhof

Advanced Systems Lab Project 2020

Team 42: Carla Jancik, Sebastian Winberg, Valentin Wolf, Laurin Paech

Getting started

To run this code do the following steps:

  • Open a terminal and navigate to the project.

  • Create a new directory build in the root project directory:

mkdir build
  • Navigate to this newly created directory build:
cd build
  • Run CMake to create project structure:
cmake .. -DCMAKE_BUILD_TYPE=Release

Note that with CMake is compatible with many IDEs and can e.g. create an Xcode project by adding the flag -G Xcode. For more information have a look at the CMake Documentation.

  • Next, you should call the Makefile and compile the program:
make
  • If all went smoothly and everything compiled and linked correctly, you can now execute the program surf the following way:
./src/surf
  • Note that everytime you change something in the project structure, you need to call cmake .. again. If something isn't working correctly it is sometimes also helpful to delete the current build folder and redo all the above steps again.

Running Benchmarking

  • Instead of executing the program, one can also run benchmarking in directory build:
./src/benchmark
  • This will run benchmarking with the configuration defined in src/benchmark/main_benchmark.cpp and create csv timings of every function in benchmarking_files.

Running Validation

  • Instead of executing the program, one can also validate functions:
./src/validation IMAGE_PATH desc1
  • This will run validation with the configuration defined in src/validation/main_validation.cpp and will compare the outputs to the baseline.

Plotting Keypoints and Matchings

For visualising the found keypoints of a single image the visualize_keypoints.py Python script is provided in the /scripts/ folder. First change the img_fp the dest variables at the top of the script as desired. Then run:

cd scripts/
python visualize_keypoints.py

To show feature matches between two images use the visualize_matches.py script that is also included in the /scripts/ folder. Fist, change img1_fp, img2_fp and dest variables as desired and run:

python visualize_matches.py

For matching the OpenCV2 function cv2.BFMatcher(cv2.NORM_L2, crossCheck=True) is used.

Note, that by default results from both our base implementation and the openCV SIFT implementation will be created and shown in both scripts. To use a different version of our implementation (i.e. optimized) an other executable can be specified in the scripts. Results from OpenSURF can also be visualized but keypoint files have to be first generated using OpenSURF and then specified in the script.

haswellhof's People

Contributors

laurinpaech avatar pinkgoldpeach avatar volflow avatar winbergs avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

winbergs jameszzn

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.