Skip to content

Matlab implementation of the Point-pair feature matching method

Notifications You must be signed in to change notification settings

zyc4718/ppf-matching

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ppf-matching

Matlab implementation of the Point-pair feature matching method proposed by Drost et al. [1]

Several improvements which allow to speed-up the detection process and also to increase the detection rate are implemented. Detailed description of these improvements can be found in my master's thesis

If you use this code in your research please cite Detection and Localization of Texture-Less Objects in RGB-D Images

@MASTERSTHESIS\{CTU2015-62026,
    author       = "P. Zednik",
    title        = "Detection and Localization of Texture-Less Objects in RGB-D Images",
    year         = "2015",
}

Directories:

mex/ - MEX versions of some functions

ppf/ - Point-pair feature detector

test/ - Example usage of the detector

Example:

% load model
model=loadPLY('data/mian_T-rex_high.ply');

% initialize detector
dt=PPF3DDetector(0.04,-1,30);
% train on the model
dt=dt.trainModel(model);


% load scene
scene=loadPLY('data/rs1.ply');

% find object in scene
% every 5th point in scene is selected is the reference point
% weighted voting + matching score calculation enabled
% voter saving enabled
[result, clusters, matchTime]=dt.match(scene,1/5,true,false,true,true, -1, -1);


% load ground truth pose
groundPose=Pose3D(1,1,1);
groundPose.updatePose(importdata('data/T-rex-rs1.xf'));

% check if correct pose detected
if comparePoses(result{1}, groundPose, dt.modelDiameter, dt.angleRadians);
    disp('correct detection')
else
    disp('incorrect detection')
end


% transform pose to the scene
resPC=TransformPose(model(:,1:3),result{1}.pose);

% save the detection result into the jpg image
pc2img('result.jpg',scene,resPC,result{1})

% write resulting transformed model into the ply file
savePLY('resPC.ply',resPC)

Bibliography:

[1] Drost, Bertram, et al. "Model globally, match locally: Efficient and robust 3D object recognition." Computer Vision and Pattern Recognition (CVPR), 2010 IEEE Conference on. IEEE, 2010.

About

Matlab implementation of the Point-pair feature matching method

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • MATLAB 74.9%
  • C++ 23.3%
  • C 1.8%