38 #include <TexturedRecognition/TexturedObjectDatabase.h>
39 #include <TexturedRecognition/TexturedRecognition.h>
48 static inline Eigen::Vector3f
49 stringToVector3f(std::string propertyValue)
52 sscanf(propertyValue.c_str(),
64 defineOptionalProperty<float>(
"SIFTThreshold",
66 "A threshold for detecting SIFT descriptors in the "
67 "image. Smaller value -> more features found");
69 defineOptionalProperty<float>(
72 "Set quality threshold for Harris interest point calculation. Smaller means more "
73 "features. See CTexturedRecognition");
74 defineOptionalProperty<int>(
77 "minimum number of features in Houghspace. See CTexturedRecognition");
78 defineOptionalProperty<float>(
"MaxError",
80 "maximum error after application of homography on valid "
81 "features. See CTexturedRecognition");
86 defineOptionalProperty<Eigen::Vector3f>(
"MinPoint",
87 Eigen::Vector3f(-3000.0f, -3000.0f, 100.0f),
88 "min point for valid result bounding box")
90 defineOptionalProperty<Eigen::Vector3f>(
"MaxPoint",
91 Eigen::Vector3f(3000.0f, 3000.0f, 3500.0f),
92 "max point for valid result bounding box")
95 defineOptionalProperty<int>(
96 "StereoCorrelationWindowSize", 19,
"Correlation size for stereo matching");
97 defineOptionalProperty<float>(
"StereoCorrelationThreshold",
99 "The threshold for the Zero Mean-Normalized Cross "
100 "Correlation (ZNCC, range: 0.0 - 1.0).");
128 return "TexturedObjectRecognition";
134 const std::string& referenceFrame,
135 const Ice::Current&
c = Ice::emptyCurrent)
override
138 stereoCalibration, x, referenceFrame,
c);
142 texturedRecognition->GetObjectDatabase()->SetCorrelationParameters(19, 400, 3500, 0.7f);
153 offeringTopic(getProperty<std::string>(
"DebugObserverName").getValue());
164 debugObserver = getTopic<armarx::DebugObserverInterfacePrx>(
165 getProperty<std::string>(
"DebugObserverName").getValue());
203 memoryx::ObjectLocalizationResultList
212 float calculateRecognitionCertainty(
const std::string& objectClassName,
213 const Object3DEntry& entry);
214 Vec3d validResultBoundingBoxMin, validResultBoundingBoxMax;
217 CTexturedRecognition* texturedRecognition =
nullptr;
218 int correlationWindowSize = 0;
219 float correlationThreshold = 0.0f;