Ask Your Question

Revision history [back]

First I know nothing about surface matching I try to reproduce your problem.

I run sample ppf_load_match with arguments parasaurolophus_6700.ply parasaurolophus_low_normals2.ply Of course you have to give good path before filename.

Then I found this issue A suggested I replaced this line with

#if (defined x86_64 || defined _M_X64)
    typedef uint64_t KeyType;
#else
    typedef unsigned int KeyType;
#endif

and it solves problem in my configuration : VS 2015 64 bits windows 10 opencv-3.2-dev


  • Surface Matching demonstration : demonstrates the use of surface matching using point pair features.
  • The sample loads a model and a scene, where the model lies in a different pose than the training.
  • It then trains the model and searches for it in the input scene. The detected poses are further refined by ICP
  • and printed to the standard output.

Running on 64 bits Running without OpenMP and without TBB Training...

Training complete in 22.2127 sec Loading model...

Starting matching...

PPF Elapsed Time 1.06171 sec Number of matching poses: 19 Performing ICP on 2 poses...

ICP Elapsed Time 2.06349 sec Poses: Pose Result 0

-- Pose to Model Index 67: NumVotes = 954, Residual = 0.002821 1.000000 0.000050 -0.000090 -0.057548 -0.000050 1.000000 0.000039 0.027540 0.000090 -0.000039 1.000000 -0.007792 0.000000 0.000000 0.000000 1.000000

Pose Result 1

-- Pose to Model Index 225: NumVotes = 682, Residual = 0.002828 1.000000 0.000049 -0.000090 -0.057533 -0.000049 1.000000 0.000039 0.027463 0.000090 -0.000039 1.000000 -0.007803 0.000000 0.000000 0.000000 1.000000

Appuyez sur une touche pour continuer...

First I know nothing about surface matching I try to reproduce your problem.

I run sample ppf_load_match with arguments parasaurolophus_6700.ply parasaurolophus_low_normals2.ply Of course you have to give good path before filename.

Then I found this issue A As suggested I replaced this line with

#if (defined x86_64 || defined _M_X64)
    typedef uint64_t KeyType;
#else
    typedef unsigned int KeyType;
#endif

and it solves problem in my configuration : VS 2015 64 bits windows 10 opencv-3.2-dev


  • Surface Matching demonstration : demonstrates the use of surface matching using point pair features.
  • The sample loads a model and a scene, where the model lies in a different pose than the training.
  • It then trains the model and searches for it in the input scene. The detected poses are further refined by ICP
  • and printed to the standard output.

Running on 64 bits Running without OpenMP and without TBB Training...

Training complete in 22.2127 sec Loading model...

Starting matching...

PPF Elapsed Time 1.06171 sec Number of matching poses: 19 Performing ICP on 2 poses...

ICP Elapsed Time 2.06349 sec Poses: Pose Result 0

-- Pose to Model Index 67: NumVotes = 954, Residual = 0.002821 1.000000 0.000050 -0.000090 -0.057548 -0.000050 1.000000 0.000039 0.027540 0.000090 -0.000039 1.000000 -0.007792 0.000000 0.000000 0.000000 1.000000

Pose Result 1

-- Pose to Model Index 225: NumVotes = 682, Residual = 0.002828 1.000000 0.000049 -0.000090 -0.057533 -0.000049 1.000000 0.000039 0.027463 0.000090 -0.000039 1.000000 -0.007803 0.000000 0.000000 0.000000 1.000000

Appuyez sur une touche pour continuer...

First I know nothing about surface matching I try to reproduce your problem.

I run sample ppf_load_match with arguments parasaurolophus_6700.ply parasaurolophus_low_normals2.ply Of course you have to give good path before filename.

Then I found this issue As suggested I replaced this line with

#if 

if (defined x86_64 || defined _M_X64) _M_X64)

if _MSC_VER <= 1800

typedef __int64 int64_t;
typedef unsigned __int64 uint64_t;
typedef uint64_t KeyType;
#else

endif

typedef uint64_t KeyType;

else

typedef unsigned int KeyType;
#endif

endif

and it solves problem in my configuration : VS 2015 64 bits windows 10 opencv-3.2-dev


  • Surface Matching demonstration : demonstrates the use of surface matching using point pair features.
  • The sample loads a model and a scene, where the model lies in a different pose than the training.
  • It then trains the model and searches for it in the input scene. The detected poses are further refined by ICP
  • and printed to the standard output.

Running on 64 bits Running without OpenMP and without TBB Training...

Training complete in 22.2127 sec Loading model...

Starting matching...

PPF Elapsed Time 1.06171 sec Number of matching poses: 19 Performing ICP on 2 poses...

ICP Elapsed Time 2.06349 sec Poses: Pose Result 0

-- Pose to Model Index 67: NumVotes = 954, Residual = 0.002821 1.000000 0.000050 -0.000090 -0.057548 -0.000050 1.000000 0.000039 0.027540 0.000090 -0.000039 1.000000 -0.007792 0.000000 0.000000 0.000000 1.000000

Pose Result 1

-- Pose to Model Index 225: NumVotes = 682, Residual = 0.002828 1.000000 0.000049 -0.000090 -0.057533 -0.000049 1.000000 0.000039 0.027463 0.000090 -0.000039 1.000000 -0.007803 0.000000 0.000000 0.000000 1.000000

Appuyez sur une touche pour continuer...

First I know nothing about surface matching I try to reproduce your problem.

I run sample ppf_load_match with arguments parasaurolophus_6700.ply parasaurolophus_low_normals2.ply Of course you have to give good path before filename.

Then I found this issue As suggested I replaced this line with

if
#if (defined x86_64 || defined _M_X64)

if _M_X64) #if _MSC_VER <= 1800

1800
typedef __int64 int64_t;
 typedef unsigned __int64 uint64_t;
 typedef uint64_t KeyType;

endif

#endif
typedef uint64_t KeyType;

else


#else
typedef unsigned int KeyType;
#endif

endif

and it solves problem in my configuration : VS 2015 64 bits windows 10 opencv-3.2-dev


  • Surface Matching demonstration : demonstrates the use of surface matching using point pair features.
  • The sample loads a model and a scene, where the model lies in a different pose than the training.
  • It then trains the model and searches for it in the input scene. The detected poses are further refined by ICP
  • and printed to the standard output.

Running on 64 bits Running without OpenMP and without TBB Training...

Training complete in 22.2127 sec Loading model...

Starting matching...

PPF Elapsed Time 1.06171 sec Number of matching poses: 19 Performing ICP on 2 poses...

ICP Elapsed Time 2.06349 sec Poses: Pose Result 0

-- Pose to Model Index 67: NumVotes = 954, Residual = 0.002821 1.000000 0.000050 -0.000090 -0.057548 -0.000050 1.000000 0.000039 0.027540 0.000090 -0.000039 1.000000 -0.007792 0.000000 0.000000 0.000000 1.000000

Pose Result 1

-- Pose to Model Index 225: NumVotes = 682, Residual = 0.002828 1.000000 0.000049 -0.000090 -0.057533 -0.000049 1.000000 0.000039 0.027463 0.000090 -0.000039 1.000000 -0.007803 0.000000 0.000000 0.000000 1.000000

Appuyez sur une touche pour continuer...

First I know nothing about surface matching I try to reproduce your problem.

I run sample ppf_load_match with arguments parasaurolophus_6700.ply parasaurolophus_low_normals2.ply Of course you have to give good path before filename.

Then I found this issue As suggested I replaced this line with

#if (defined x86_64 || defined _M_X64)
#if _MSC_VER <= 1800
    typedef __int64 int64_t;
    typedef unsigned __int64 uint64_t;
    typedef uint64_t KeyType;
#endif
    typedef uint64_t KeyType;

#else
    typedef unsigned int KeyType;
#endif

and it solves problem in my configuration : VS 2015 64 bits windows 10 opencv-3.2-dev


  • Surface Matching demonstration : demonstrates the use of surface matching using point pair features.
  • The sample loads a model and a scene, where the model lies in a different pose than the training.
  • It then trains the model and searches for it in the input scene. The detected poses are further refined by ICP
  • and printed to the standard output.

Running on 64 bits Running without OpenMP and without TBB Training...

Training complete in 22.2127 sec Loading model...

Starting matching...

PPF Elapsed Time 1.06171 sec Number of matching poses: 19 Performing ICP on 2 poses...

ICP Elapsed Time 2.06349 sec Poses: Pose Result 0

-- Pose to Model Index 67: NumVotes = 954, Residual = 0.002821 1.000000 0.000050 -0.000090 -0.057548 -0.000050 1.000000 0.000039 0.027540 0.000090 -0.000039 1.000000 -0.007792 0.000000 0.000000 0.000000 1.000000

Pose Result 1

-- Pose to Model Index 225: NumVotes = 682, Residual = 0.002828 1.000000 0.000049 -0.000090 -0.057533 -0.000049 1.000000 0.000039 0.027463 0.000090 -0.000039 1.000000 -0.007803 0.000000 0.000000 0.000000 1.000000

Appuyez sur une touche pour continuer...

First I know nothing about surface matching I try to reproduce your problem.

I run sample ppf_load_match with arguments parasaurolophus_6700.ply parasaurolophus_low_normals2.ply Of course you have to give good path before filename.

Then I found this issue As suggested I replaced this line with

#if (defined x86_64 || defined _M_X64)
#if _MSC_VER <= 1800
    typedef __int64 int64_t;
    typedef unsigned __int64 uint64_t;
#endif
    typedef uint64_t KeyType;

#else
    typedef unsigned int KeyType;
#endif

and it solves problem in my configuration : VS 2015 64 bits windows 10 opencv-3.2-dev


  • Surface Matching demonstration : demonstrates the use of surface surface matching using point pair features.
  • The sample loads a model and a scene, where the model lies in a a different pose than the training.
  • It then trains the model and searches for it in the input scene. scene. The detected poses are further refined refined by ICP
  • and printed to the standard output.

output. **************** Running on 64 bits bits Running without OpenMP and without OpenMP and without TBB TBB Training...

Training complete in 22.2127 sec Loading model...

Starting matching...

PPF Elapsed Time 1.06171 sec sec Number of of matching poses: 19 19 Performing ICP on 2 2 poses...

ICP Elapsed Time 2.06349 sec sec Poses: Pose Result 0

-- Pose to Model Index 67: NumVotes = 954, Residual = 0.002821 1.000000 0.000050 -0.000090 -0.057548 -0.000050 1.000000 0.000039 0.027540 0.000090 -0.000039 1.000000 -0.007792 0.000000 0.000000 0.000000 1.000000

Pose Result 1

-- Pose to Model Index 225: NumVotes = 682, Residual = 0.002828 1.000000 0.000049 -0.000090 -0.057533 -0.000049 1.000000 0.000039 0.027463 0.000090 -0.000039 1.000000 -0.007803 0.000000 0.000000 0.000000 1.000000

Appuyez sur une touche pour continuer...

and with VS 2013 x64


  • Surface Matching demonstration : demonstrates the use of surface matching using point pair features.
  • The sample loads a model and a scene, where the model lies in a different pose than the training.
  • It then trains the model and searches for it in the input scene. The detected poses are further refined by ICP
  • and printed to the standard output.

Running on 64 bits Running without OpenMP and without TBB Training...

Training complete in 24.2451 sec Loading model...

Starting matching...

PPF Elapsed Time 1.01252 sec Number of matching poses: 19 Performing ICP on 2 poses...

ICP Elapsed Time 1.1942 sec Poses: Pose Result 0

-- Pose to Model Index 67: NumVotes = 954, Residual = 0.002821 1.000000 0.000050 -0.000090 -0.057547 -0.000050 1.000000 0.000039 0.027540 0.000090 -0.000039 1.000000 -0.007792 0.000000 0.000000 0.000000 1.000000

Pose Result 1

-- Pose to Model Index 225: NumVotes = 682, Residual = 0.002828 1.000000 0.000049 -0.000090 -0.057533 -0.000049 1.000000 0.000039 0.027463 0.000090 -0.000039 1.000000 -0.007803 0.000000 0.000000 0.000000 1.000000

Appuyez sur une touche pour continuer...

First I know nothing about surface matching I try to reproduce your problem.

I run sample ppf_load_match with arguments parasaurolophus_6700.ply parasaurolophus_low_normals2.ply Of course you have to give good path before filename.

Then I found this issue As suggested I replaced this line with

#if (defined x86_64 || defined _M_X64)
#if _MSC_VER <= 1800
    typedef __int64 int64_t;
    typedef unsigned __int64 uint64_t;
#endif
    typedef uint64_t KeyType;

#else
    typedef unsigned int KeyType;
#endif

and it solves problem in my configuration : VS 2015 64 bits windows 10 opencv-3.2-dev


  • Surface Matching demonstration : demonstrates the use of surface matching using point pair features.
  • The sample loads a model and a scene, where the model lies in a different pose than the training.
  • It then trains the model and searches for it in the input scene. The detected poses are further refined by ICP
  • and printed to the standard output. **************** Running on 64 bits Running without OpenMP and without TBB Training...

Training complete in 22.2127 sec Loading model...

Starting matching...

PPF Elapsed Time 1.06171 sec Number of matching poses: 19 Performing ICP on 2 poses...

ICP Elapsed Time 2.06349 sec Poses: Pose Result 0

-- Pose to Model Index 67: NumVotes = 954, Residual = 0.002821 1.000000 0.000050 -0.000090 -0.057548 -0.000050 1.000000 0.000039 0.027540 0.000090 -0.000039 1.000000 -0.007792 0.000000 0.000000 0.000000 1.000000

Pose Result 1

-- Pose to Model Index 225: NumVotes = 682, Residual = 0.002828 1.000000 0.000049 -0.000090 -0.057533 -0.000049 1.000000 0.000039 0.027463 0.000090 -0.000039 1.000000 -0.007803 0.000000 0.000000 0.000000 1.000000

Appuyez sur une touche pour continuer...

and with VS 2013 x64


  • Surface Matching demonstration : demonstrates the use of surface matching using point pair features.
  • The sample loads a model and a scene, where the model lies in a different pose than the training.
  • It then trains the model and searches for it in the input scene. The detected poses are further refined by ICP
  • and printed to the standard output.

Running on 64 bits Running without OpenMP and without TBB Training...

Training complete in 24.2451 sec Loading model...

Starting matching...

PPF Elapsed Time 1.01252 sec Number of matching poses: 19 Performing ICP on 2 poses...

ICP Elapsed Time 1.1942 sec Poses: Pose Result 0

-- Pose to Model Index 67: NumVotes = 954, Residual = 0.002821 1.000000 0.000050 -0.000090 -0.057547 -0.000050 1.000000 0.000039 0.027540 0.000090 -0.000039 1.000000 -0.007792 0.000000 0.000000 0.000000 1.000000

Pose Result 1

-- Pose to Model Index 225: NumVotes = 682, Residual = 0.002828 1.000000 0.000049 -0.000090 -0.057533 -0.000049 1.000000 0.000039 0.027463 0.000090 -0.000039 1.000000 -0.007803 0.000000 0.000000 0.000000 1.000000

Appuyez sur une touche pour continuer...

First I know nothing about surface matching I try to reproduce your problem.

I run sample ppf_load_match with arguments parasaurolophus_6700.ply parasaurolophus_low_normals2.ply Of course you have to give good path before filename.

Then I found this issue As suggested I replaced this line with

#if (defined x86_64 || defined _M_X64)
#if _MSC_VER <= 1800
    typedef __int64 int64_t;
    typedef unsigned __int64 uint64_t;
#endif
    typedef uint64_t KeyType;

#else
    typedef unsigned int KeyType;
#endif

and it solves problem in my configuration : VS 2015 64 bits windows 10 opencv-3.2-devopencv-3.2-dev. A Pull Request is in progress


  • Surface Matching demonstration : demonstrates the use of surface matching using point pair features.
  • The sample loads a model and a scene, where the model lies in a different pose than the training.
  • It then trains the model and searches for it in the input scene. The detected poses are further refined by ICP
  • and printed to the standard output. **************** Running on 64 bits Running without OpenMP and without TBB Training...

Training complete in 22.2127 sec Loading model...

Starting matching...

PPF Elapsed Time 1.06171 sec Number of matching poses: 19 Performing ICP on 2 poses...

ICP Elapsed Time 2.06349 sec Poses: Pose Result 0

-- Pose to Model Index 67: NumVotes = 954, Residual = 0.002821 1.000000 0.000050 -0.000090 -0.057548 -0.000050 1.000000 0.000039 0.027540 0.000090 -0.000039 1.000000 -0.007792 0.000000 0.000000 0.000000 1.000000

Pose Result 1

-- Pose to Model Index 225: NumVotes = 682, Residual = 0.002828 1.000000 0.000049 -0.000090 -0.057533 -0.000049 1.000000 0.000039 0.027463 0.000090 -0.000039 1.000000 -0.007803 0.000000 0.000000 0.000000 1.000000

Appuyez sur une touche pour continuer...

and with VS 2013 x64


  • Surface Matching demonstration : demonstrates the use of surface matching using point pair features.
  • The sample loads a model and a scene, where the model lies in a different pose than the training.
  • It then trains the model and searches for it in the input scene. The detected poses are further refined by ICP
  • and printed to the standard output.

Running on 64 bits Running without OpenMP and without TBB Training...

Training complete in 24.2451 sec Loading model...

Starting matching...

PPF Elapsed Time 1.01252 sec Number of matching poses: 19 Performing ICP on 2 poses...

ICP Elapsed Time 1.1942 sec Poses: Pose Result 0

-- Pose to Model Index 67: NumVotes = 954, Residual = 0.002821 1.000000 0.000050 -0.000090 -0.057547 -0.000050 1.000000 0.000039 0.027540 0.000090 -0.000039 1.000000 -0.007792 0.000000 0.000000 0.000000 1.000000

Pose Result 1

-- Pose to Model Index 225: NumVotes = 682, Residual = 0.002828 1.000000 0.000049 -0.000090 -0.057533 -0.000049 1.000000 0.000039 0.027463 0.000090 -0.000039 1.000000 -0.007803 0.000000 0.000000 0.000000 1.000000

Appuyez sur une touche pour continuer...