RootSift with JavaCv

38 views
Skip to first unread message

r.dev...@iterend.com

unread,
Sep 1, 2015, 4:13:32 AM9/1/15
to javacv
Hello,

I am using JavaCv 0.11.
As discussed in several places (http://www.pyimagesearch.com/2015/04/13/implementing-rootsift-in-python-and-opencv/), RootSift is nice and fast enhancement of the regular Sift descriptors.
It can be built on top of the current Sift algorithm.

So I implemented RootSift on Java for JavaCv. It uses cgLib so I can have a proxied DescriptorExtractor which will compute the new RootSift descriptors on top of the Sift compution.
It works well if we called it directly (descriptor.compute(...)).

However, if I try to use BOWImgDescriptorExtractor , which is taking my proxied DescriptorExtractor, it will failed. It is actually understandeable as BOWImgDescriptorExtractor will natively call compute method, so it won't go through my java proxy.
So I'm currently blocked with that, as I cannot use my RootSift implementation as I would like.

Do you have any solution for such issue ?

Thanks!


Samuel Audet

unread,
Sep 4, 2015, 8:30:16 AM9/4/15
to jav...@googlegroups.com
We would need to "virtualize" the Feature2D/DescriptorExtractor class,
but it looks like it's going to be a bit challenging to do that... I'm
not sure when I'll have the time to look at that, but could you put that
as an issue on GitHub on this page so I don't forget?
https://github.com/bytedeco/javacpp-presets/issues

Thanks!

Samuel

On 09/01/2015 05:13 PM, r.dev...@iterend.com wrote:
> Hello,
>
> I am using JavaCv 0.11.
> As discussed in several places
> (http://www.pyimagesearch.com/2015/04/13/implementing-rootsift-in-python-and-opencv/),
> RootSift is nice and fast enhancement of the regular Sift descriptors.
> It can be built on top of the current Sift algorithm.
>
> So I implemented RootSift on Java for JavaCv. It uses cgLib so I can
> have a proxied DescriptorExtractor which will compute the new RootSift
> descriptors on top of the Sift compution.
> It works well if we called it directly (descriptor.compute(...)).
>
> However, if I try to use BOWImgDescriptorExtractor , which is taking my
> proxied DescriptorExtractor, it will failed. It is actually
> understandeable as BOWImgDescriptorExtractor will *natively *call
> /compute/ method, so it won't go through my java proxy.
Reply all
Reply to author
Forward
0 new messages