Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
149 commits
Select commit Hold shift + click to select a range
cb00aed
getMat using fix
DumDereDum Jul 17, 2020
a7842a8
min/max fix
DumDereDum Jul 17, 2020
74b041a
create WeightType
DumDereDum Jul 17, 2020
4f7a73e
create normals test
DumDereDum Jul 21, 2020
7bb4fda
bug fix
DumDereDum Jul 21, 2020
9ae5231
complete normals test
DumDereDum Jul 21, 2020
ef3f2af
fix makeVolume and rewrite tests
DumDereDum Jul 22, 2020
1509fad
minor fixes
DumDereDum Jul 23, 2020
711e3c1
add new normal tests
DumDereDum Jul 23, 2020
e85346f
replace operator() on lambda expressions
DumDereDum Jul 23, 2020
e1d9e49
make a valid points test
DumDereDum Jul 24, 2020
ef11c7f
minor fixes
DumDereDum Jul 24, 2020
d617d0f
getNormalVoxel fix in tsdf and hashTsdf
DumDereDum Jul 27, 2020
68692ff
create renderPointsNormals
DumDereDum Jul 27, 2020
77bf05a
replace Affine3f with Matx44f oin make volume
DumDereDum Jul 27, 2020
4dcec2b
minor fixes
DumDereDum Jul 28, 2020
23287eb
minor fix
DumDereDum Jul 28, 2020
985d0c3
tmp
DumDereDum Jul 28, 2020
167ac9b
create function interpolateVoxel for hashTSDF
DumDereDum Jul 29, 2020
aef2988
tmp
DumDereDum Jul 29, 2020
1109082
right interpolation for HashTSDF
DumDereDum Jul 29, 2020
dfbf956
rewrite intrinsics normalize
DumDereDum Jul 30, 2020
bd5088c
minor fix
DumDereDum Jul 31, 2020
5fc36f5
rewrite GPU normalize
DumDereDum Jul 31, 2020
9763178
start to write perf tests
DumDereDum Jul 31, 2020
4db3bd5
make Volume fix
DumDereDum Jul 31, 2020
2d07302
GPU normalize fix
DumDereDum Jul 31, 2020
2d6952a
minor fix
DumDereDum Aug 3, 2020
74aabde
create perf test for raycast
DumDereDum Aug 3, 2020
b75aa40
fix LNK2019 problem in perf test
DumDereDum Aug 3, 2020
81d846a
made all perf tests
DumDereDum Aug 3, 2020
3af8228
replace all Affine3f with Matx44f
DumDereDum Aug 4, 2020
17c2548
replace Point3i with Vec3i
DumDereDum Aug 4, 2020
95070d6
minor fix
DumDereDum Aug 4, 2020
071c843
minor fix
DumDereDum Aug 4, 2020
d492dcf
add CV_EXPORT_W
DumDereDum Aug 4, 2020
c2905e3
build fix 1
DumDereDum Aug 4, 2020
2ea8198
build fix 2
DumDereDum Aug 4, 2020
055a339
build fix 3
DumDereDum Aug 4, 2020
04cb284
warning fix
DumDereDum Aug 5, 2020
5a48952
build test
DumDereDum Aug 5, 2020
c02e936
win test
DumDereDum Aug 5, 2020
2fe2664
tests without HashTSDF
DumDereDum Aug 5, 2020
d60f8bc
create noparallel normals checking
DumDereDum Aug 5, 2020
3a50849
test without fetch
DumDereDum Aug 5, 2020
7736b75
test without fetch points normals
DumDereDum Aug 5, 2020
6803fd4
add end line
DumDereDum Aug 5, 2020
cb16b6e
revert rotation() in hash_tsdf
DumDereDum Aug 5, 2020
72334d1
fix matrix multiplication order
DumDereDum Aug 6, 2020
bea5dba
fetch points normals invoker fix
DumDereDum Aug 11, 2020
fd9dc8d
warning fix
DumDereDum Aug 11, 2020
c5077bc
warning fix
DumDereDum Aug 11, 2020
ce66719
Docs fix
DumDereDum Aug 11, 2020
ee347b9
Hash push normals fix
DumDereDum Aug 11, 2020
d944b16
replace operator() with lambda in PushNormals
DumDereDum Aug 11, 2020
6cf3684
warning fix
DumDereDum Aug 11, 2020
0f31280
create half type and types conversion
DumDereDum Aug 12, 2020
8a66fb1
error fix and preparation for CPU optimization
DumDereDum Aug 12, 2020
006b571
replace all TsdfType with half
DumDereDum Aug 12, 2020
0e0fc95
minor fixes
DumDereDum Aug 12, 2020
e04e177
minor fix
DumDereDum Aug 12, 2020
7273ee9
raycast fix
DumDereDum Aug 12, 2020
be24b62
conversion bug fix
DumDereDum Aug 13, 2020
a7577f7
delete cout
DumDereDum Aug 13, 2020
5368d93
it's alive!
DumDereDum Aug 13, 2020
7b935bb
improve conversion CPU
DumDereDum Aug 14, 2020
9d5b5eb
warning fix
DumDereDum Aug 14, 2020
d7b2756
warning fix 1
DumDereDum Aug 14, 2020
0844f86
intrinsics optimization
DumDereDum Aug 14, 2020
27e3a28
minor fixes
DumDereDum Aug 14, 2020
65c9e4c
warning fix
DumDereDum Aug 14, 2020
436da06
interpolate improve
DumDereDum Aug 17, 2020
51b0c43
start to optimize GPU version
DumDereDum Aug 17, 2020
5d5104f
vectorize tsdfToFloat
DumDereDum Aug 18, 2020
ed39ac0
CPU optimization
DumDereDum Aug 18, 2020
6fbfe26
GPU optimization
DumDereDum Aug 18, 2020
517c6c4
Merge branch 'master' into tsdf_optimization
DumDereDum Aug 18, 2020
58fa48a
Merge branch 'tsdf_optimization' of https://github.com/DumDereDum/ope…
DumDereDum Aug 18, 2020
e34388f
minor fix
DumDereDum Aug 18, 2020
a245229
minor fix
DumDereDum Aug 18, 2020
f4af221
Docs fix
DumDereDum Aug 18, 2020
29b48c0
minor fixes
DumDereDum Aug 18, 2020
9ef9bae
add perf tests HashTSDF
DumDereDum Aug 19, 2020
818501a
hashTSDF optimization
DumDereDum Aug 19, 2020
f607f71
minor fix
DumDereDum Aug 20, 2020
4bab26c
interpolate improvement
DumDereDum Aug 20, 2020
d2663e0
getNormalVoxel improvement
DumDereDum Aug 20, 2020
f8f4848
added a new calculation pixNorm
DumDereDum Aug 20, 2020
b33d01a
tsdfToFloat improve
DumDereDum Aug 24, 2020
4dbae3d
add flag USE_INTERPOLATION_IN_GETNORMAL to HashTSDF
DumDereDum Aug 24, 2020
3aa4ba6
minor fix
DumDereDum Aug 24, 2020
9eced17
minor fix
DumDereDum Aug 24, 2020
7c034ff
replace int with uchar
DumDereDum Aug 26, 2020
6e7e33e
getNormal improve
DumDereDum Aug 26, 2020
0c986fb
minor fix
DumDereDum Aug 26, 2020
4227006
minor fixes
DumDereDum Aug 27, 2020
8477223
inline _at()
DumDereDum Aug 27, 2020
5683c05
inline _at()
DumDereDum Aug 27, 2020
7318489
vectorize interpolation
DumDereDum Aug 27, 2020
33c378a
i tried :(
DumDereDum Aug 28, 2020
3fd5f57
minor fix
DumDereDum Aug 31, 2020
de5c2f5
try to improve _getNormalVoxel
DumDereDum Aug 31, 2020
0009b5e
minor fix
DumDereDum Aug 31, 2020
af6c0c6
create new struct for tests
DumDereDum Aug 31, 2020
bad5405
minor test fix
DumDereDum Aug 31, 2020
a6b615d
minor fix
DumDereDum Sep 1, 2020
4389220
minor fix 1
DumDereDum Sep 1, 2020
3d2c8cf
minor fix 2
DumDereDum Sep 1, 2020
eb559f1
minor fix 3
DumDereDum Sep 1, 2020
8537290
minor fix 4
DumDereDum Sep 1, 2020
ce938ac
minor fix 5
DumDereDum Sep 1, 2020
c7d3e96
minor fix 6
DumDereDum Sep 1, 2020
a202f7f
minor fix 7
DumDereDum Sep 1, 2020
5fcd762
monor test fix
DumDereDum Sep 2, 2020
c293c76
monor test fix 1
DumDereDum Sep 2, 2020
572933c
integrate improve
DumDereDum Sep 2, 2020
146d007
rewrite interpolation in getNormalVoxel in HashTSDF
DumDereDum Sep 2, 2020
d97ba7a
intergrate improve tsdf
DumDereDum Sep 3, 2020
4aa155c
minor Docs fix
DumDereDum Sep 3, 2020
bbade6e
change autolock mutex place
DumDereDum Sep 4, 2020
0821191
reduce interpolation calls
DumDereDum Sep 4, 2020
5619d08
new getNormal
DumDereDum Sep 7, 2020
ebca56e
minor fix
DumDereDum Sep 7, 2020
27ee8a1
tmp mutex optimization
DumDereDum Sep 7, 2020
da72688
rewrite mutex lock
DumDereDum Sep 7, 2020
11546b9
rewrite Settings structure as class
DumDereDum Sep 8, 2020
cb520cc
minor Docs fix
DumDereDum Sep 8, 2020
00b3a41
new inteprolateVoxel debug
DumDereDum Sep 9, 2020
acbbf19
new inteprolateVoxel
DumDereDum Sep 9, 2020
eadbc18
minor fix
DumDereDum Sep 9, 2020
677a9bc
add new voxelToVolumeUnitIdx
DumDereDum Sep 9, 2020
55f6ffd
new integrate with lambda functions
DumDereDum Sep 9, 2020
6c4c7da
new integrate minor fix
DumDereDum Sep 9, 2020
da85aeb
minor fix
DumDereDum Sep 9, 2020
57d423a
minor fix 1
DumDereDum Sep 9, 2020
f49f231
pixNorm, I try :(
DumDereDum Sep 10, 2020
1e5c1af
need to rewrite [][] part
DumDereDum Sep 10, 2020
4ead43f
It's Alive
DumDereDum Sep 10, 2020
21f001c
omg? it works!
DumDereDum Sep 10, 2020
d773624
minor fix
DumDereDum Sep 10, 2020
f572347
minor fix 1
DumDereDum Sep 10, 2020
20112b6
minor fix
DumDereDum Sep 11, 2020
b07dc4c
add new environment check
DumDereDum Sep 11, 2020
c6805b4
minor fix
DumDereDum Sep 11, 2020
2b659db
minor fix 1
DumDereDum Sep 11, 2020
feda1bf
Docs fix
DumDereDum Sep 11, 2020
e570903
minor fix 3
DumDereDum Sep 11, 2020
19bd118
minor fix
DumDereDum Sep 12, 2020
af5e45c
minor fix 1
DumDereDum Sep 12, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 61 additions & 24 deletions modules/rgbd/perf/perf_tsdf.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -169,51 +169,88 @@ Ptr<Scene> Scene::create(Size sz, Matx33f _intr, float _depthFactor)
return makePtr<SemisphereScene>(sz, _intr, _depthFactor);
}

PERF_TEST(Perf_TSDF, integrate)
class Settings
{
public:
Ptr<kinfu::Params> _params;
_params = kinfu::Params::coarseParams();
Ptr<kinfu::Volume> volume;
Ptr<Scene> scene;
std::vector<Affine3f> poses;

Ptr<kinfu::Volume> volume = kinfu::makeVolume(_params->volumeType, _params->voxelSize, _params->volumePose.matrix,
_params->raycast_step_factor, _params->tsdf_trunc_dist, _params->tsdf_max_weight,
_params->truncateThreshold, _params->volumeDims);
Settings(bool useHashTSDF)
{
if (useHashTSDF)
_params = kinfu::Params::hashTSDFParams(true);
else
_params = kinfu::Params::coarseParams();

Ptr<Scene> scene = Scene::create(_params->frameSize, _params->intr, _params->depthFactor);
std::vector<Affine3f> poses = scene->getPoses();
volume = kinfu::makeVolume(_params->volumeType, _params->voxelSize, _params->volumePose.matrix,
_params->raycast_step_factor, _params->tsdf_trunc_dist, _params->tsdf_max_weight,
_params->truncateThreshold, _params->volumeDims);

for (size_t i = 0; i < poses.size(); i++)
scene = Scene::create(_params->frameSize, _params->intr, _params->depthFactor);
poses = scene->getPoses();
}
};

PERF_TEST(Perf_TSDF, integrate)
{
Settings settings(false);
for (size_t i = 0; i < settings.poses.size(); i++)
{
UMat _points, _normals;
Matx44f pose = poses[i].matrix;
Mat depth = scene->depth(pose);
Matx44f pose = settings.poses[i].matrix;
Mat depth = settings.scene->depth(pose);
startTimer();
volume->integrate(depth, _params->depthFactor, pose, _params->intr);
settings.volume->integrate(depth, settings._params->depthFactor, pose, settings._params->intr);
stopTimer();
}
SANITY_CHECK_NOTHING();
}

PERF_TEST(Perf_TSDF, raycast)
{
Ptr<kinfu::Params> _params;
_params = kinfu::Params::coarseParams();
Settings settings(false);
for (size_t i = 0; i < settings.poses.size(); i++)
{
UMat _points, _normals;
Matx44f pose = settings.poses[i].matrix;
Mat depth = settings.scene->depth(pose);

Ptr<kinfu::Volume> volume = kinfu::makeVolume(_params->volumeType, _params->voxelSize, _params->volumePose.matrix,
_params->raycast_step_factor, _params->tsdf_trunc_dist, _params->tsdf_max_weight,
_params->truncateThreshold, _params->volumeDims);
settings.volume->integrate(depth, settings._params->depthFactor, pose, settings._params->intr);
startTimer();
settings.volume->raycast(pose, settings._params->intr, settings._params->frameSize, _points, _normals);
stopTimer();
}
SANITY_CHECK_NOTHING();
}

Ptr<Scene> scene = Scene::create(_params->frameSize, _params->intr, _params->depthFactor);
std::vector<Affine3f> poses = scene->getPoses();
PERF_TEST(Perf_HashTSDF, integrate)
{
Settings settings(true);

for (size_t i = 0; i < settings.poses.size(); i++)
{
Matx44f pose = settings.poses[i].matrix;
Mat depth = settings.scene->depth(pose);
startTimer();
settings.volume->integrate(depth, settings._params->depthFactor, pose, settings._params->intr);
stopTimer();
}
SANITY_CHECK_NOTHING();
}

for (size_t i = 0; i < poses.size(); i++)
PERF_TEST(Perf_HashTSDF, raycast)
{
Settings settings(true);
for (size_t i = 0; i < settings.poses.size(); i++)
{
UMat _points, _normals;
Matx44f pose = poses[i].matrix;
Mat depth = scene->depth(pose);
Matx44f pose = settings.poses[i].matrix;
Mat depth = settings.scene->depth(pose);

volume->integrate(depth, _params->depthFactor, pose, _params->intr);
settings.volume->integrate(depth, settings._params->depthFactor, pose, settings._params->intr);
startTimer();
volume->raycast(pose, _params->intr, _params->frameSize, _points, _normals);
settings.volume->raycast(pose, settings._params->intr, settings._params->frameSize, _points, _normals);
stopTimer();
}
SANITY_CHECK_NOTHING();
Expand Down
Loading