<p>SIFT algorithm detects keypoints, assigns orientation to them and then constructs a descriptor of that keypoint using the assigned orientation as a reference frame. Upright SIFT descriptor does the same thing, but forces orientation to be the vector (0, 1). So it's very simple: upright descriptor simply assumes that the orientation of the features doesn't change over_time/between_images and therefore just uses the unit vector directed upwards to construct the frame of reference.</p>

CC BY-SA 3.0
2013-03-28T14:05:17.507Z
2013-03-28T14:05:17.507Z
Lukas Mach
<p>I am conducting a research on the topic of mobile location recognition and recently I have reached the issue of extracting discriminative features. I've read that for upright images is strongly suggested using upright keypoints since they are more discriminative. My problem is that I don't understand clearly what is exactly an upright SIFT descriptor, the reference I found coining the term is:</p>

<p><a href="http://dx.doi.org/10.1007/978-3-642-15567-3_20" rel="nofollow">Handling Urban Location Recognition as a 2D Homothetic Problem</a></p>

<p>Concretely in the reference they say the following:</p>

<blockquote>
  <p>... for images in which gravity direction information exist we project
  the gravity direction onto the facade and align the keypoints with
  this direction (upright SIFT) ...</p>
</blockquote>

<p>My only clue is an implementation of this upright SIFT descriptor as part of an <a href="http://www.stanford.edu/class/ee368/Project_12/Proposals/Mak_Using_SIFT_features_for_small_to_mid_scale_image_database_search.pdf" rel="nofollow">academic project from a course of Digital Image Processing at Stanford</a></p>

<p>Thank you very much, I would appreciate any insight.</p>

CC BY-SA 4.0
2019-09-02T16:34:27.867Z
> upright descriptor simply assumes that the orientation of the features doesn't change over_time/between_images So to get this right in simple words: does it mean that that **both Pitch and Yaw** of the camera needs to be the same over_time/between_images?
Warner
<cv.computer-vision><image-processing>
What is the difference between standard SIFT descriptor and upright SIFT descriptor?
Andres Felipe
# What is the difference between standard SIFT descriptor and upright SIFT descriptor?

(Asked by: username_0 on 2013-03-27)

I am conducting a research on the topic of mobile location recognition and recently I have reached the issue of extracting discriminative features. I've read that for upright images is strongly suggested using upright keypoints since they are more discriminative. My problem is that I don't understand clearly what is exactly an upright SIFT descriptor, the reference I found coining the term is:

[Handling Urban Location Recognition as a 2D Homothetic Problem](http://dx.doi.org/10.1007/978-3-642-15567-3_20)

Concretely in the reference they say the following:

> ... for images in which gravity direction information exist we project
> the gravity direction onto the facade and align the keypoints with
> this direction (upright SIFT) ...

My only clue is an implementation of this upright SIFT descriptor as part of an [academic project from a course of Digital Image Processing at Stanford](http://www.stanford.edu/class/ee368/Project_12/Proposals/Mak_Using_SIFT_features_for_small_to_mid_scale_image_database_search.pdf)

Thank you very much, I would appreciate any insight.

**Tags:** cv.computer-vision, image-processing
> **Comments:**
> **username_1**: > upright descriptor simply assumes that the orientation of the features doesn't change over_time/between_images So to get this right in simple words: does it mean that that **both Pitch and Yaw** of the camera needs to be the same over_time/between_images?  

---

## 1 answers

### Answer by username_2 on 2013-03-28. Score: 2 | Accepted answer

SIFT algorithm detects keypoints, assigns orientation to them and then constructs a descriptor of that keypoint using the assigned orientation as a reference frame. Upright SIFT descriptor does the same thing, but forces orientation to be the vector (0, 1). So it's very simple: upright descriptor simply assumes that the orientation of the features doesn't change over\_time/between\_images and therefore just uses the unit vector directed upwards to construct the frame of reference.


---

