New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SIFT features #495

Merged
merged 24 commits into from Jun 23, 2015

Conversation

Projects
None yet
4 participants
@nontas
Member

nontas commented Oct 27, 2014

This PR adds dense SIFT features using cyvlfeat. The default values are set so that the output descriptor has length of 36 channels (same as HOG features) and not 128 which is the default from VLfeat. Also, the function has a fast flag which is enabled by default.

Just for future reference, SIFT features are about 5x faster (3x if fast is False) compared to HOG features on my machine, using of course the exact same parameters.

I also added two SIFT-related tests and made some fixes on the feature functions' documentation.

nontas added some commits Oct 27, 2014

@patricksnape

This comment has been minimized.

Contributor

patricksnape commented Oct 27, 2014

Yup looks good.

Also, some nice cleaning up inside here +1

@jabooth

This comment has been minimized.

Member

jabooth commented Oct 27, 2014

======================================================================
ERROR: menpo.feature.test_features.test_sift_channels
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/_test/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/home/travis/miniconda/envs/_test/lib/python2.7/site-packages/menpo/feature/test_features.py", line 170, in test_sift_channels
    window_size=2)
  File "/home/travis/miniconda/envs/_test/lib/python2.7/site-packages/menpo/feature/base.py", line 126, in winitfeature
    return _execute(*args, **kwargs)
  File "/home/travis/miniconda/envs/_test/lib/python2.7/site-packages/menpo/feature/base.py", line 120, in _execute
    feature, centres = wrapped(image.pixels, *args, **kwargs)
  File "/home/travis/miniconda/envs/_test/lib/python2.7/site-packages/menpo/feature/features.py", line 739, in sift
    from cyvlfeat.sift.dsift import dsift as cyvlfeat_dsift
ImportError: No module named cyvlfeat.sift.dsift

======================================================================
ERROR: menpo.feature.test_features.test_sift_values
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/_test/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/home/travis/miniconda/envs/_test/lib/python2.7/site-packages/menpo/feature/test_features.py", line 269, in test_sift_values
    sift_img = sift(image, cell_size_horizontal=2, cell_size_vertical=2)
  File "/home/travis/miniconda/envs/_test/lib/python2.7/site-packages/menpo/feature/base.py", line 126, in winitfeature
    return _execute(*args, **kwargs)
  File "/home/travis/miniconda/envs/_test/lib/python2.7/site-packages/menpo/feature/base.py", line 120, in _execute
    feature, centres = wrapped(image.pixels, *args, **kwargs)
  File "/home/travis/miniconda/envs/_test/lib/python2.7/site-packages/menpo/feature/features.py", line 739, in sift
    from cyvlfeat.sift.dsift import dsift as cyvlfeat_dsift
ImportError: No module named cyvlfeat.sift.dsift

----------------------------------------------------------------------
Ran 596 tests in 34.616s

Just have a little bug here to squash...

@nontas

This comment has been minimized.

Member

nontas commented Oct 27, 2014

After @patricksnape adds the cyvlfeat dependency, it should be fine

@patricksnape

This comment has been minimized.

Contributor

patricksnape commented Oct 27, 2014

Let's see if this works!

patricksnape and others added some commits Feb 10, 2015

Merge remote-tracking branch 'upstream/master' into sift_features
Conflicts:
	conda/meta.yaml
	menpo/feature/__init__.py
	menpo/feature/features.py
	setup.py

@nontas nontas referenced this pull request Mar 10, 2015

Merged

SIFT to features notebook #25

@nontas

This comment has been minimized.

Member

nontas commented Jun 4, 2015

As soon as this gets in, menpo/menpo-notebooks#25 should be merged as well.

patricksnape added some commits Jun 5, 2015

Relax cyvlfeat constraint in meta.yaml
Any 0.3* is fine, doesn't have to be a 0.3.*
@patricksnape

This comment has been minimized.

Contributor

patricksnape commented Jun 23, 2015

This is finally passing - I am weeping with joy

@jabooth

This comment has been minimized.

Member

jabooth commented Jun 23, 2015

Anything holding this up now @patricksnape @nontas? Or are we merging? We might need a little merge party when this finally goes in...

@jalabort

This comment has been minimized.

Member

jalabort commented Jun 23, 2015

Can I add my fast_dsift to predifined before this is merged in? So everyone can run the new fast AAMs straight away from the refactoring branch in menpofit?

@jabooth

This comment has been minimized.

Member

jabooth commented Jun 23, 2015

Sure @jalabort, that sounds sensible to me

jalabort and others added some commits Jun 23, 2015

@nontas

This comment has been minimized.

Member

nontas commented Jun 23, 2015

The reshape of the features returned by vlfeat was wrong. Now it's fixed thanks to @patricksnape and @jabooth . This is ready at last after the tests pass

nontas added a commit that referenced this pull request Jun 23, 2015

@nontas nontas merged commit 52fe16d into menpo:master Jun 23, 2015

3 checks passed

clahub All contributors have signed the Contributor License Agreement.
Details
continuous-integration/appveyor AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

@jabooth jabooth removed the in progress label Jun 23, 2015

@nontas nontas deleted the nontas:sift_features branch Jun 23, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment