Commit 1a8f4a89 authored by Vladimir's avatar Vladimir

Transparent API Support

parent 07a2b55f
...@@ -139,9 +139,8 @@ namespace cv ...@@ -139,9 +139,8 @@ namespace cv
//printf("Mem Cpy GPU: %f\n", t); //printf("Mem Cpy GPU: %f\n", t);
size_t globSize = 1000; size_t globSize = 1000;
size_t localSize = 128;
//e3 = getTickCount(); //e3 = getTickCount();
if (!k.run(1, &globSize, &localSize, true)) if (!k.run(1, &globSize, NULL, false))
printf("Kernel Run Error!!!"); printf("Kernel Run Error!!!");
//e4 = getTickCount(); //e4 = getTickCount();
//t = (e4 - e3) / getTickFrequency()*1000.0; //t = (e4 - e3) / getTickFrequency()*1000.0;
...@@ -219,9 +218,8 @@ namespace cv ...@@ -219,9 +218,8 @@ namespace cv
// 2 -> Pos&Neg // 2 -> Pos&Neg
size_t globSize = 2 * numOfPatches*MAX_EXAMPLES_IN_MODEL; size_t globSize = 2 * numOfPatches*MAX_EXAMPLES_IN_MODEL;
size_t localSize = 1024;
//e3 = getTickCount(); //e3 = getTickCount();
if (!k.run(1, &globSize, &localSize, true)) if (!k.run(1, &globSize, NULL, false))
printf("Kernel Run Error!!!"); printf("Kernel Run Error!!!");
//e4 = getTickCount(); //e4 = getTickCount();
//t = (e4 - e3) / getTickFrequency()*1000.0; //t = (e4 - e3) / getTickFrequency()*1000.0;
...@@ -374,9 +372,8 @@ namespace cv ...@@ -374,9 +372,8 @@ namespace cv
//printf("Mem Cpy GPU: %f\n", t); //printf("Mem Cpy GPU: %f\n", t);
size_t globSize = 1000; size_t globSize = 1000;
size_t localSize = 128;
//e3 = getTickCount(); //e3 = getTickCount();
if (!k.run(1, &globSize, &localSize, true)) if (!k.run(1, &globSize, NULL, false))
printf("Kernel Run Error!!!"); printf("Kernel Run Error!!!");
//e4 = getTickCount(); //e4 = getTickCount();
//t = (e4 - e3) / getTickFrequency()*1000.0; //t = (e4 - e3) / getTickFrequency()*1000.0;
......
...@@ -233,7 +233,7 @@ namespace cv ...@@ -233,7 +233,7 @@ namespace cv
} }
e2 = getTickCount(); e2 = getTickCount();
t = (e2 - e1) / getTickFrequency() * 1000; t = (e2 - e1) / getTickFrequency() * 1000;
printf("Integrate Additional: %fms\n", t); //printf("Integrate Additional: %fms\n", t);
/* /*
if( negativeIntoModel > 0 ) if( negativeIntoModel > 0 )
dfprintf((stdout, "negativeIntoModel = %d ", negativeIntoModel)); dfprintf((stdout, "negativeIntoModel = %d ", negativeIntoModel));
...@@ -303,7 +303,7 @@ namespace cv ...@@ -303,7 +303,7 @@ namespace cv
} }
e2 = getTickCount(); e2 = getTickCount();
t = (e2 - e1) / getTickFrequency() * 1000; t = (e2 - e1) / getTickFrequency() * 1000;
printf("Integrate Additional OCL: %fms\n", t); //printf("Integrate Additional OCL: %fms\n", t);
/* /*
if( negativeIntoModel > 0 ) if( negativeIntoModel > 0 )
dfprintf((stdout, "negativeIntoModel = %d ", negativeIntoModel)); dfprintf((stdout, "negativeIntoModel = %d ", negativeIntoModel));
......
...@@ -116,11 +116,20 @@ bool TrackerTLDImpl::updateImpl(const Mat& image, Rect2d& boundingBox) ...@@ -116,11 +116,20 @@ bool TrackerTLDImpl::updateImpl(const Mat& image, Rect2d& boundingBox)
std::vector<Rect2d> candidates; std::vector<Rect2d> candidates;
std::vector<double> candidatesRes; std::vector<double> candidatesRes;
bool trackerNeedsReInit = false; bool trackerNeedsReInit = false;
bool DETECT_FLG = false;
for( int i = 0; i < 2; i++ ) for( int i = 0; i < 2; i++ )
{ {
Rect2d tmpCandid = boundingBox; Rect2d tmpCandid = boundingBox;
if( ( (i == 0) && !data->failedLastTime && trackerProxy->update(image, tmpCandid) ) ||
((i == 1) && (tldModel->detector->ocl_detect(imageForDetector, image_blurred, tmpCandid, detectorResults, tldModel->getMinSize())))) if (i == 1)
{
if (ocl::haveOpenCL())
DETECT_FLG = tldModel->detector->ocl_detect(imageForDetector, image_blurred, tmpCandid, detectorResults, tldModel->getMinSize());
else
DETECT_FLG = tldModel->detector->detect(imageForDetector, image_blurred, tmpCandid, detectorResults, tldModel->getMinSize());
}
if( ( (i == 0) && !data->failedLastTime && trackerProxy->update(image, tmpCandid) ) || ( DETECT_FLG))
{ {
candidates.push_back(tmpCandid); candidates.push_back(tmpCandid);
if( i == 0 ) if( i == 0 )
...@@ -202,10 +211,17 @@ bool TrackerTLDImpl::updateImpl(const Mat& image, Rect2d& boundingBox) ...@@ -202,10 +211,17 @@ bool TrackerTLDImpl::updateImpl(const Mat& image, Rect2d& boundingBox)
tldModel->integrateRelabeled(imageForDetector, image_blurred, detectorResults); tldModel->integrateRelabeled(imageForDetector, image_blurred, detectorResults);
//dprintf(("%d relabeled by nExpert\n", negRelabeled)); //dprintf(("%d relabeled by nExpert\n", negRelabeled));
pExpert.additionalExamples(examplesForModel, examplesForEnsemble); pExpert.additionalExamples(examplesForModel, examplesForEnsemble);
tldModel->ocl_integrateAdditional(examplesForModel, examplesForEnsemble, true); if (ocl::haveOpenCL())
tldModel->ocl_integrateAdditional(examplesForModel, examplesForEnsemble, true);
else
tldModel->integrateAdditional(examplesForModel, examplesForEnsemble, true);
examplesForModel.clear(); examplesForEnsemble.clear(); examplesForModel.clear(); examplesForEnsemble.clear();
nExpert.additionalExamples(examplesForModel, examplesForEnsemble); nExpert.additionalExamples(examplesForModel, examplesForEnsemble);
tldModel->ocl_integrateAdditional(examplesForModel, examplesForEnsemble, false);
if (ocl::haveOpenCL())
tldModel->ocl_integrateAdditional(examplesForModel, examplesForEnsemble, false);
else
tldModel->integrateAdditional(examplesForModel, examplesForEnsemble, false);
} }
else else
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment