You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+15-15
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
2
-
# PopSift
2
+
# PopSift
3
3
4
4
[](https://bestpractices.coreinfrastructure.org/projects/3728)[](https://app.codacy.com/manual/alicevision/popsift?utm_source=github.com&utm_medium=referral&utm_content=alicevision/popsift&utm_campaign=Badge_Grade_Settings)
5
5
@@ -15,12 +15,12 @@ PopSift compiles and works with NVidia cards of compute capability >= 3.0 (inclu
The caller must create a `popart::Config` struct (documented in `src/sift/sift_conf.h`) to control the behaviour of the PopSift, and instantiate an object of class `PopSift` (found in `src/sift/popsift.h`).
88
88
89
-
After this, images can be enqueued for SIFT extraction using (`enqueue()`).
89
+
After this, images can be enqueued for SIFT extraction using (`enqueue()`).
90
90
A valid input is a single plane of grayscale values located in host memory.
91
91
They can passed as a pointer to unsigned char, with a value range from 0 to 255, or as a pointer to float, with a value range from 0.0f to 1.0f.
92
92
93
-
Only host memory limits the number of images that can be enqueued.
93
+
Only host memory limits the number of images that can be enqueued.
94
94
The `enqueue` function returns a pointer to a `SiftJob` immediately and performs the feature extraction asynchronously.
95
95
The memory of the image passed to enqueue remains the caller's responsibility. Calling `SiftJob::get` on the returned job blocks until features are extracted, and returns them.
96
96
97
-
Features offer iterators that iterate over objects of type `Feature`.
98
-
Both classes are documented in `sift_extremum.h`.
97
+
Features offer iterators that iterate over objects of type `Feature`.
98
+
Both classes are documented in `sift_extremum.h`.
99
99
Each feature represents a feature point in the coordinate system of the input image, providing X and Y coordinates and scale (sigma), as well as several alternative descriptors for the feature point (according to Lowe, 15% of the feature points should be expected to have 2 or more descriptors).
100
100
101
101
In an alternate, deprecated, blocking API, `init()` must be called to pass image width and height to PopSift, followed by a call to `executed()` that takes image data and returns the extracted features. `execute()` is synchronous and blocking.
102
102
103
-
As far as we know, no implementation that is faster than PopSift at the time of PopSift's release comes under a license that allows commercial use and sticks close to the original paper at the same time as well.
104
-
PopSift can be configured at runtime to use constants that affect it behaviours.
105
-
In particular, users can choose to generate results very similar to VLFeat or results that are closer (but not as close) to the SIFT implementation of the OpenCV extras.
103
+
As far as we know, no implementation that is faster than PopSift at the time of PopSift's release comes under a license that allows commercial use and sticks close to the original paper at the same time as well.
104
+
PopSift can be configured at runtime to use constants that affect it behaviours.
105
+
In particular, users can choose to generate results very similar to VLFeat or results that are closer (but not as close) to the SIFT implementation of the OpenCV extras.
106
106
We acknowledge that there is at least one SIFT implementation that is vastly faster, but it makes considerable sacrifices in terms of accuracy and compatibility.
107
107
108
108
@@ -131,7 +131,7 @@ If you use PopSift for your publication, please cite us as:
0 commit comments