Localize (stereo-to-stereo) against map Signature with non-map Signature
I have a usage question, and before really digging in I thought I'd ask here as the answer may be obvious. I am building a map using the Memory interface,
Now, I have a function that receives data from the same (or same kind of) camera, and I want to register that data against a location in the map, without updating the map:
Signature * mapFrame = const_cast<Signature*>memory->getSignature(id); //A bit ugly
Transform result = memory->computeTransform(*mapFrame, newFrame, ...);
The result is that while there are many keypoints detected in each frame (~900), the debug logs report zero matches between them. If I use RegistrationVis to compute newFrame1-to-newFrame2 or Memory to get mapFrame1-to-mapFrame2, it works great. But not newFrameA-to-mapFrameB.
Re: Localize (stereo-to-stereo) against map Signature with non-map Signature
When a guess is used, 3D features of the old frame are projected in the new frame (accordingly to guess), then correspondences are computed using a small radius around the projected position. When a guess is null, global matching is done between all descriptors. In your case, the global matching returned no match ("0 duplicated words added (from current image = 0)..."), thus transform cannot be computed.
How the first signature is created? Is it created using same parameters than RegistrationVis?