large merge for kde 3d

This commit is contained in:
toni
2018-08-01 11:13:53 +02:00
4 changed files with 27 additions and 20 deletions

View File

@@ -51,7 +51,12 @@ if ("${CMAKE_GENERATOR}" MATCHES "Visual Studio*")
-D_USE_MATH_DEFINES
-DUNICODE
-D_UNICODE
-DNOGDI
)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /permissive-")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:__cplusplus")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++17")
else()
# system specific compiler flags
ADD_DEFINITIONS(
@@ -66,7 +71,7 @@ else()
-fstack-protector-all
-g3
-O2
#-O2
-march=native
)

View File

@@ -9,7 +9,7 @@ namespace Settings {
bool useKLB = false;
const int numParticles = 1000;
const int numParticles = 5000;
const int numBSParticles = 50;
namespace IMU {
@@ -38,13 +38,14 @@ namespace Settings {
}
namespace KDE {
const Point2 bandwidth(100,100);
const Point2 bandwidth(1,1);
const float gridSize = 0.2;
}
namespace KDE3D {
const Point3 bandwidth(1, 1, 1);
const Point3 gridSize(0.2, 0.2, 1); // in meter
}
namespace KDE3D {
const Point3 bandwidth(1, 1, 1);
const Point3 gridSize(0.2, 0.2, 1); // in meter
}
//const GridPoint destination = GridPoint(70*100, 35*100, 0*100); // use destination
const GridPoint destination = GridPoint(0,0,0); // do not use destination

View File

@@ -171,7 +171,7 @@ Stats::Statistics<float> run(Settings::DataSetup setup, int numFile, std::string
auto trans = std::make_unique<MyPFTrans>(mesh, *wifiModel);
//auto resample = std::make_unique<SMC::ParticleFilterResamplingSimple<MyState>>();
auto resample = std::make_unique<SMC::ParticleFilterResamplingKDE<MyState, MyNavMeshTriangle>>(mesh, Settings::KDE3D::gridSize, Settings::KDE3D::bandwidth);
auto resample = std::make_unique<SMC::ParticleFilterResamplingKDE<MyState, MyNavMeshTriangle>>(&mesh, Settings::KDE3D::gridSize, Settings::KDE3D::bandwidth);
//auto resample = std::make_unique<SMC::ParticleFilterResamplingSimpleImpoverishment<MyState, MyNavMeshTriangle>>();
//auto resample = std::make_unique<SMC::ParticleFilterResamplingKLD<MyState>>();
@@ -262,11 +262,11 @@ Stats::Statistics<float> run(Settings::DataSetup setup, int numFile, std::string
plot.showParticles(pf.getParticles());
plot.setCurEst(est.pos.pos);
//plot.setGroundTruth(gtPos);
plot.setGroundTruth(gtPos);
plot.addEstimationNode(est.pos.pos);
plot.setActivity((int) act.get());
//plot.plot();
plot.plot();
// error calc
// float err_m = gtPos.getDistance(est.pos.pos);
@@ -282,15 +282,16 @@ Stats::Statistics<float> run(Settings::DataSetup setup, int numFile, std::string
errorFile << ts.ms() << " " << err_m << "\n";
plot.gp << "set terminal png size 1280,720\n";
plot.gp.setOutput("/tmp/videoSparkasse/" + std::to_string(i++) + ".png");
//stuff for drawing
// plot.gp << "set terminal png size 1280,720\n";
// plot.gp.setOutput("/tmp/videoSparkasse/" + std::to_string(i++) + ".png");
int degree = ((30 - i) % 360);
if (degree < 0){degree += 360;}
plot.gp << "set view 63,"<< degree << "\n";
plot.gp << "set autoscale xy\n";
plot.gp << "set autoscale z\n";
plot.plot();
// int degree = ((30 - i) % 360);
// if (degree < 0){degree += 360;}
// plot.gp << "set view 63,"<< degree << "\n";
// plot.gp << "set autoscale xy\n";
// plot.gp << "set autoscale z\n";
// plot.plot();
}
}
@@ -357,8 +358,7 @@ int main(int argc, char** argv) {
Stats::Statistics<float> statsQuantil;
Stats::Statistics<float> tmp;
//Path2_Museum_KDE_SimpleResampling
std::string evaluationName = "museum/videoSparkasse";
std::string evaluationName = "museum/tmp";
for(int i = 0; i < 1; ++i){

View File

@@ -14,6 +14,7 @@
#include <Indoor/smc/filtering/resampling/ParticleFilterResamplingSimple.h>
#include <Indoor/smc/filtering/resampling/ParticleFilterResamplingKLD.h>
#include <Indoor/smc/filtering/estimation/ParticleFilterEstimationBoxKDE.h>
#include <Indoor/smc/filtering/estimation/ParticleFilterEstimationBoxKDE3D.h>
#include <Indoor/smc/filtering/estimation/ParticleFilterEstimationWeightedAverage.h>
#include <Indoor/smc/filtering/estimation/ParticleFilterEstimationMax.h>