-
Notifications
You must be signed in to change notification settings - Fork 5
License
ipanousis/DAISY-BP
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Third Year Project in Computer Science at Bath, UK. (2011-12) The project title is "Fast cross-device dense pixel correspondence using DAISY descriptors and OpenCL" Contents -------- - Aim - Project Outcome - How to Compile/Run - Portability - Documentation Aim ------- 1) To use OpenCL on graphics cards to implement the computation of the DAISY descriptor (cvlab.epfl.ch/alumni/tola/daisy.html) for an image in a dense fashion, ie compute a descriptor for every pixel in the image. 2) use Belief Propagation (on GPU again with OpenCL) to (after DAISY descriptor images have been computed for two images) to search for the pixel correspondence between two images. This is also aimed to be done densely, ie for as many descriptors as are available in the descriptor images The implementation of this algorithm in OpenCL should broaden the usability/applicability of such an algorithm to a range of different hardware/software without specific system versions or requirements. This relies on the, currently strong, support of major OS/hardware developers towards OpenCL. Project Outcome ---------------- The project was successfully carried out and the first aim fulfilled. This is the dense extraction of DAISY features for a frame. The speed-up up until the end of the project was ~21x compared to C++ code on a GTS250 card, and ~10x when the data is transferred back to RAM. This is likely to improve in future so check the plots under doc/ for speed-up and real-time capability with respect to image size. The second aim of the project is left for future work as the project complexity did not allow it to be developed in the given timescale. The progression of the project currently is part of my master's project in 2012/13 where dense object recognition with DAISY will be attempted. How to Compile/Run ------------------- Pre-requisites: cmake g++ Follow the installation instructions for OpenCL at; Nvidia - https://developer.nvidia.com/cuda-downloads ATI - http://developer.amd.com/tools/hc/AMDAPPSDK/downloads/Pages/default.aspx -------- The code in this repository is ready to be compiled and run by; > ./autogen.sh > make > ./gdaisy -i <input image> [-save] to extract features for an image, and -save to store them in a binary file with the name <input image>.bdaisy or > ./gdaisy -profile [-save] if you want to run a series of runs to measure the speed of DAISY extraction on your GPU. Add -save to test speed including the transfer to RAM. This may take upto a few minutes depending on your GPU. But well under a minute with a recent device. Portability ------------ Unfortunately there has not been time to do proper testing for portability regarding ATI cards, Windows and Mac. The code so far has proven to run on Linux and it does not show a problem with running on different Nvidia cards as is. Testing does need to be done for ATI, primarily, to make sure the OpenCL code is working correctly. Testing for Windows and Mac is less critical as the changes that may be needed will only be in the C/C++ code not OpenCL, which is much easier. Documentation --------------- Some documents regarding performance and the poster presented at the university in 2011/12 are available under doc/. For an implementation progress log and an indication of future development see file progress.txt. If you wish to know the implementation in detail contact me to provide the final report for the project at ipanousis156@gmail.com
About
No description, website, or topics provided.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published