Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GOTURN Tracker results in errors #941

Closed
bassamarshad opened this issue Jan 11, 2017 · 33 comments
Closed

GOTURN Tracker results in errors #941

bassamarshad opened this issue Jan 11, 2017 · 33 comments

Comments

@bassamarshad
Copy link

bassamarshad commented Jan 11, 2017

System information (version)
  • OpenCV => 3.2.0 & opencv_contrib 3.2
  • Operating System / Platform => Windows 10 64 Bit
  • Compiler => Visual Studio 2015
Detailed description

I have been trying to run the GOTURN tracker OpenCV implementation. I was firstly not able to find the goturn.prototxt and goturn.caffemodel (pretrained versions) on the opencv_extra github site, but was able to pull them from other github repos.

The program fails on execution with the following error, as soon as you select a ROI :

OpenCV Error: Assertion failed (input.dims() == 4 && (input.type() == CV_32F || input.type() == CV_64F)) in cv::dnn::ConvolutionLayerImpl::allocate, file E:\opencv3.2.0_sources\opencv_contrib-master\modules\dnn\src\layers\convolution_layer.cpp, line 90
OpenCV Error: Assertion failed (The following error occured while making allocate() for layer "conv11": input.dims() == 4 && (input.type() == CV_32F || input.type() == CV_64F)) in cv::dnn::ConvolutionLayerImpl::allocate, file E:\opencv3.2.0_sources\opencv_contrib-master\modules\dnn\src\layers\convolution_layer.cpp, line 90

I tried fixing this by updating the following lines of code in gtrtacker.cpp as follows :

dnn::Blob targetBlob = dnn::Blob(targetPatch);
dnn::Blob searchBlob = dnn::Blob(searchPatch);

TO

dnn::Blob targetBlob = dnn::Blob::fromImages(targetPatch);
dnn::Blob searchBlob = dnn::Blob::fromImages(searchPatch);

NOW,

I get a different error altogether that seems to have something to do with OpenCL, i get this error in the allocate() function in dnn.cpp ::

OpenCV Error: Assertion failed (dims <= 3) in cv::ocl::OpenCLAllocator::checkContinuous, file E:\opencv3.2.0_sources\3.2.0\opencv-3.2.0\modules\core\src\ocl.cpp, line 4899
OpenCV Error: Assertion failed (The following error occured while making forward() for layer "concat1": dims <= 3) in cv::ocl::OpenCLAllocator::checkContinuous, file E:\opencv3.2.0_sources\3.2.0\opencv-3.2.0\modules\core\src\ocl.cpp, line 4899
0x00007FFD18AC7788 (0x000000AAD070BBF8 0x000000AAD070BC00 0x000000AAD070BC08 0x00007FFD18D38CC1), RaiseException() + 0x68 bytes(s)
0x00007FFCF5F74582 (0x00007FFCDBED0000 0x000000AAD071BD50 0x0000021C8281D384 0x00007FFD18D30000), _CxxThrowException() + 0xC2 bytes(s)
0x00007FFCDC53A45A (0x0000000000000029 0x0000000000000000 0x0000000000000000 0x0000000000000000), cv::error() + 0x15A bytes(s), e:\opencv3.2.0_sources\3.2.0\opencv-3.2.0\modules\core\src\system.cpp, line 661 + 0x1E byte(s)
0x00007FFCDC53A5A0 (0x000000AAD071E3D0 0x0000000000000000 0x000000AAD071CB90 0x0000021C81BB9E64), cv::error() + 0x140 bytes(s), e:\opencv3.2.0_sources\3.2.0\opencv-3.2.0\modules\core\src\system.cpp, line 666 + 0x109 byte(s)
0x00007FFCDD71E173 (0x00007FFCDD71E0F0 0x000000AAD072ECD0 0x000000AAD072ECD0 0x0000000000000000), cv::dnn::Net::Impl::forwardLayer'::1'::catch$0() + 0x83 bytes(s), e:\opencv3.2.0_sources\3.2.0\opencv_contrib-3.2.0\modules\dnn\src\dnn.cpp, line 423 + 0x75 byte(s)
0x00007FFCF5F7C720 (0x00007FFCDD71E0F0 0x000000AAD071D1A8 0x0000000000000100 0x0000000000000000), __C_specific_handler() + 0x230 bytes(s)
0x00007FFCF5F72AE2 (0x0000000000000000 0x0000000000000000 0x000000AAD071E250 0x0000000000000000), __FrameUnwindFilter() + 0x432 bytes(s)
0x00007FFD1B94A193 (0x0000021CEA99E8B0 0x0000021CEAADBE08 0x0000021CE832FFE0 0x0000021C8222F7F0), RtlCaptureContext() + 0x3C3 bytes(s)
0x00007FFCDD601006 (0x0000021CEAADB720 0x0000021CEAADB748 0x0000000000000001 0x0000021CE8330008), cv::dnn::Net::Impl::forwardLayer() + 0x156 bytes(s), e:\opencv3.2.0_sources\3.2.0\opencv_contrib-3.2.0\modules\dnn\src\dnn.cpp, line 419 + 0x1B byte(s)
0x00007FFCDD600E4F (0x0000000000000000 0x000000AAD072ED90 0x0000021CE828CE70 0x0000021CE832FFE0), cv::dnn::Net::Impl::forwardAll() + 0x8F bytes(s), e:\opencv3.2.0_sources\3.2.0\opencv_contrib-3.2.0\modules\dnn\src\dnn.cpp, line 435
0x00007FFCDD600D7E (0x0000000000000046 0x000000AAD072EFA8 0x000000AAD072EEB0 0x0000000000000001), cv::dnn::Net::forward() + 0x9E bytes(s), e:\opencv3.2.0_sources\3.2.0\opencv_contrib-3.2.0\modules\dnn\src\dnn.cpp, line 503
0x00007FFCDD85CB5E (0x000000C3CD82EBAD 0x0000000000000001 0x00007FF679A68700 0x000000C3CD82EBAD), cv::gtr::TrackerGOTURNImpl::updateImpl() + 0xA5E bytes(s), e:\opencv3.2.0_sources\3.2.0\opencv_contrib-3.2.0\modules\tracking\src\gtrtracker.cpp, line 170 + 0x31 byte(s)
0x00007FF679A61FFB (0x00007FFD18E169F8 0x0000000000000000 0x00007FFD18E16A08 0x0000000000000000), main() + 0x5FB bytes(s), e:\tracking_goturn\tracking_goturn\source.cpp, line 168 + 0x1B byte(s)
0x00007FF679A632E8 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), __scrt_common_main_seh() + 0x124 bytes(s), f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl, line 264 + 0x22 byte(s)
0x00007FFD1AC98364 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), BaseThreadInitThunk() + 0x14 bytes(s)
0x00007FFD1B9070D1 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), RtlUserThreadStart() + 0x21 bytes(s)

Not sure if there is a problem in my environment -_ i tried reverting builds to 3.1.0 , with no success. Or maybe I dont have the correct *.prototxt and *.caffemodel.

Am using the model and prototxt file given here :
https://github.com/opencv/opencv_extra/tree/c4219d5eb3105ed8e634278fad312a1a8d2c182d/testdata/tracking

Let me know what you guys think !

Steps to reproduce
@lenlen
Copy link
Contributor

lenlen commented Jan 11, 2017

/cc @Auron-X

@Auron-X
Copy link
Contributor

Auron-X commented Jan 13, 2017

@bassamarshad Thank you for detailed description of the bug in GOTURN. I will try to fix it ASAP

@dev681999
Copy link

dev681999 commented Jan 30, 2017

Well apparently using #include <opencv2/core/ocl.hpp> this and using heaocl::setUseOpenCL(false); like 1st line in main() solves the first problem mentioned.
Don't know about second one

@serhan-gul
Copy link

I'm getting exactly the same error on OpenCV 3.2.0 & opencv_contrib 3.2.0 (Ubuntu 16.04) after the selection of a bounding box:

OpenCV Error: Assertion failed (input.dims() == 4 && (input.type() == CV_32F || input.type() == CV_64F)) in allocate, file /home/guel/opencv_contrib/modules/dnn/src/layers/convolution_layer.cpp, line 87
OpenCV Error: Assertion failed (The following error occured while making allocate() for layer "conv11": input.dims() == 4 && (input.type() == CV_32F || input.type() == CV_64F)) in allocate, file /home/guel/opencv_contrib/modules/dnn/src/layers/convolution_layer.cpp, line 87
terminate called after throwing an instance of 'cv::Exception'
  what():  /home/guel/opencv_contrib/modules/dnn/src/layers/convolution_layer.cpp:87: error: (-215) The following error occured while making allocate() for layer "conv11": input.dims() == 4 && (input.type() == CV_32F || input.type() == CV_64F) in function allocate

Could it be related to the .prototxt and .caffemodel files from opencv_extra repository? I used the same files as basamarshad.

@Auron-X
Copy link
Contributor

Auron-X commented Feb 20, 2017

Hello. I am still working on this bug, apparently there is some issue with dnn/tracking modules used in combo. For now you can try GOTURN outside of the OpenCV tracking API, using an example on my Github: https://github.com/Auron-X/GOTURN-Example
It also work on GPU ~100 FPS (on my GTX 1080) as the original paper stated

@allensu0314
Copy link

allensu0314 commented Mar 7, 2017

Thanks to @LorenaGdL for the PR about this bug, I didn't meet this issue with latest code.
But I met another error below:
OpenCV Error: Requested object was not found (Requested blob ".data1" not found) in cv::dnn::Net::setBlob, file C:\opencv3_2\opencv_contrib-master\modules\dnn\src\dnn.cpp, line 516
It seems that there's something wrong in gtrTracker.cpp line 167:

    dnn::Blob targetBlob = dnn::Blob::fromImages(targetPatch);
    dnn::Blob searchBlob = dnn::Blob::fromImages(searchPatch);

   (line 167) net.setBlob(".data1", targetBlob);
    net.setBlob(".data2", searchBlob);

I just download *.ptototxt and *.caffemodel, and put them to my VS program folder. Then add "path to test video" in Command Arguments. BTW, my main.cpp is below:

#include <opencv2/core/utility.hpp>
#include <opencv2/tracking.hpp>
#include <opencv2/videoio.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
#include <cstring>
using namespace std;
using namespace cv;
int main(int argc, char** argv){
	// show help
	if (argc<2){
		cout <<
			" Usage: tracker <video_name>\n"
			" examples:\n"
			" example_tracking_kcf Bolt/img/%04d.jpg\n"
			" example_tracking_kcf faceocc2.webm\n"
			<< endl;
		return 0;
	}
	// declares all required variables
	Rect2d roi;
	Mat frame;
	// create a tracker object
	Ptr<Tracker> tracker = Tracker::create("GOTURN");
	// set input video
	std::string video = argv[1];
	VideoCapture cap(video);
	// get bounding box
	cap >> frame;
	roi = selectROI("tracker", frame);
	//quit if ROI was not selected
	if (roi.width == 0 || roi.height == 0)
		return 0;
	// initialize the tracker
	tracker->init(frame, roi);
	// perform the tracking process
	printf("Start the tracking process, press ESC to quit.\n");
	for (;;){
		// get frame from the video
		cap >> frame;
		// stop the program if no more images
		if (frame.rows == 0 || frame.cols == 0)
			break;
		// update the tracking result
		tracker->update(frame, roi);
		// draw the tracked object
		rectangle(frame, roi, Scalar(255, 0, 0), 2, 1);
		// show image with the tracked object
		imshow("tracker", frame);
		//quit on ESC button
		if (waitKey(1) == 27)break;
	}
	return 0;
}

I don't know how to fix it, I will be appreciate if anyone can help me.

@xiaochus
Copy link

@ChaselS314 I have the same problem with you when i use GOTURN on latest code.

It seems that getPinByAlias() return a invalid variable pin when parser the '.data1' by splitPin() in dnn.cpp line 296&266:

    LayerPin getPinByAlias(const String &pinAlias, bool isOutPin = true)
    {
        LayerPin pin;
        String layerName, outName;
        splitPin(pinAlias, layerName, outName);

        pin.lid = (layerName.empty()) ? 0 : getLayerId(layerName);

        if (pin.lid >= 0)
            pin.oid = resolvePinOutputName(getLayerData(pin.lid), outName, isOutPin);

        return pin;
    }

Therefore, setBlob() raise an error about ‘.data1’.

void Net::setBlob(String outputName, const Blob &blob)
{
    LayerPin pin = impl->getPinByAlias(outputName);
    if (!pin.valid())
        CV_Error(Error::StsObjectNotFound, "Requested blob \"" + outputName + "\" not found");

    LayerData &ld = impl->layers[pin.lid];
    ld.outputBlobs.resize( std::max(pin.oid+1, (int)ld.requiredOutputs.size()) );
    ld.outputBlobs[pin.oid] = blob;
}

But I am not familliar with C++ so i do not know how to solve it.

@puneetdabulya
Copy link

Still getting this error on OpenCV 3.2 and Ubuntu 14.04, CUDA 8.0 Titan X GPU

@hacunamatada
Copy link

@ChaselS314, @xiaochus OpenCV Error: Requested object was not found (Requested blob ".data1" not found) in cv::dnn::Net::setBlob, file C:\opencv3_2\opencv_contrib-master\modules\dnn\src\dnn.cpp, line 516

The above error seems to be caused by the mismatching of the goturn.prototxt file.
I received the file from the following site.
Https://github.com/opencv/opencv_extra/tree/c4219d5eb3105ed8e634278fad312a1a8d2c182d/testdata/tracking
The following command merge four files into one.
cat goturn.caffemodel.zip.001 goturn.caffemodel.zip.002 goturn.caffemodel.zip.003 goturn.caffemodel.zip.004 > goturn.caffemodel
However, an error still occurs.
The error message is as follows.
OpenCV Error: Assertion failed ((bias && l-> blobs.size () == 2) || (! Bias && l-> b Lobs.size () == 1)) in cv :: dnn :: initConvDeconvLayerFromCaffe, file D: \ Program \ ope Ncv-dnn \ opencv_contrib-master \ opencv_contrib-master \ modules \ dnn \ src \ caffe \ layer_ Loaders.cpp, line 30

in my case : l-> blobs.size () is 0.

@isgursoy
Copy link

isgursoy commented Apr 5, 2017

[libprotobuf ERROR /opt/opencv/320deb/modules/dnn/3rdparty/protobuf/sources/protobuf-3.1.0/src/google/protobuf/text_format.cc:298] Error parsing text-format caffe.NetParameter: 7:1: Expected identifier, got: <
OpenCV Error: Unspecified error (FAILED: ReadProtoFromTextFile(param_file, param). Failed to parse NetParameter file: goturn.prototxt) in ReadNetParamsFromTextFileOrDie, file /opt/opencv/opencv_contrib-3.2.0/modules/dnn/src/caffe/caffe_io.cpp, line 1101
/opt/opencv/opencv_contrib-3.2.0/modules/dnn/src/caffe/caffe_io.cpp:1101: error: (-2) FAILED: ReadProtoFromTextFile(param_file, param). Failed to parse NetParameter file: goturn.prototxt in function ReadNetParamsFromTextFileOrDie

OpenCV Error: Unspecified error (GOTURN network loading error...) in cv::gtr::InitImpl, file gtrTracker.cpp, line 117
terminate called after throwing an instance of 'cv::Exception'
what(): gtrTracker.cpp:117: error: (-2) GOTURN network loading error... in function cv::gtr::InitImpl

@ahrnbom
Copy link

ahrnbom commented May 10, 2017

I get the following exotic errors when trying to run GOTURN via OpenCV:

OpenCV Error: Assertion failed ((bias && l->blobs.size() == 2) || (!bias && l->blobs.size() == 1)) in initConvDeconvLayerFromCaffe, file /opencv/opencv_contrib-3.2.0/modules/dnn/src/caffe/layer_loaders.cpp, line 27 OpenCV Error: Assertion failed (The following error occured while making allocate() for layer "conv11": (bias && l->blobs.size() == 2) || (!bias && l->blobs.size() == 1)) in initConvDeconvLayerFromCaffe, file /opencv/opencv_contrib-3.2.0/modules/dnn/src/caffe/layer_loaders.cpp, line 27 Traceback (most recent call last): File "pipeline.py", line 32, in <module> ok, bbox = tracker.update(im) cv2.error: /opencv/opencv_contrib-3.2.0/modules/dnn/src/caffe/layer_loaders.cpp:27: error: (-215) The following error occured while making allocate() for layer "conv11": (bias && l->blobs.size() == 2) || (!bias && l->blobs.size() == 1) in function initConvDeconvLayerFromCaffe

I am also a bit confused by the comment here https://github.com/opencv/opencv_contrib/blob/master/modules/tracking/samples/goturnTracker.cpp where it says

//Demo of GOTURN tracker
//In order to use GOTURN tracker, GOTURN architecture goturn.prototxt and goturn.caffemodel are > required to exist in root folder.
//There are 2 ways to get caffemodel:
//1 - Train you own GOTURN model using https://github.com/Auron-X/GOTURN_Training_Toolkit
//2 - Download pretrained caffemodel from https://github.com/opencv/opencv_extra

As the OpenCV Extra repo doesn't seem to contain any Goturn caffemodel, pretrained or otherwise. I downloaded it from http://cs.stanford.edu/people/davheld/public/GOTURN/trained_model/tracker.caffemodel instead. Is that is what is intended, or is it some other .caffemodel file one is supposed to use?

@LaurentBerger
Copy link
Contributor

LaurentBerger commented Aug 3, 2017

I think something is weird in those lines. In my goturn.prototxt there is no .data1 and .data2 field only data1 and data2

if I delete point before data then exception given by @lChaselS314 doest not occur :

OpenCV Error: Requested object was not found (Requested blob ".data1" not found) in cv::dnn::Net::setBlob, file C:\opencv3_2\opencv_contrib-master\modules\dnn\src\dnn.cpp, line 516

my goturn.prototxt file is

name: "GOTURN"

input: "data1"
input_dim: 1
input_dim: 3
input_dim: 227
input_dim: 227

input: "data2"
input_dim: 1
input_dim: 3
input_dim: 227
input_dim: 227

layer {
  name: "conv11"
  type: "Convolution"
  bottom: "data1"
  top: "conv11"
  param {
    lr_mult: 1
    decay_mult: 1
  }
  param {
    lr_mult: 2
    decay_mult: 0
  }
  convolution_param {
    num_output: 96
    kernel_size: 11
    stride: 4
    weight_filler {
      type: "gaussian"
      std: 0.01
    }
    bias_filler {
      type: "constant"
      value: 0
    }
  }
}
layer {
  name: "relu11"
  type: "ReLU"
  bottom: "conv11"
  top: "conv11"
}
layer {
  name: "pool11"
  type: "Pooling"
  bottom: "conv11"
  top: "pool11"
  pooling_param {
    pool: MAX
    kernel_size: 3
    stride: 2
  }
}
layer {
  name: "norm11"
  type: "LRN"
  bottom: "pool11"
  top: "norm11"
  lrn_param {
    local_size: 5
    alpha: 0.0001
    beta: 0.75
  }
}
layer {
  name: "conv12"
  type: "Convolution"
  bottom: "norm11"
  top: "conv12"
  param {
    lr_mult: 1
    decay_mult: 1
  }
  param {
    lr_mult: 2
    decay_mult: 0
  }
  convolution_param {
    num_output: 256
    pad: 2
    kernel_size: 5
    group: 2
    weight_filler {
      type: "gaussian"
      std: 0.01
    }
    bias_filler {
      type: "constant"
      value: 1
    }
  }
}
layer {
  name: "relu12"
  type: "ReLU"
  bottom: "conv12"
  top: "conv12"
}
layer {
  name: "pool12"
  type: "Pooling"
  bottom: "conv12"
  top: "pool12"
  pooling_param {
    pool: MAX
    kernel_size: 3
    stride: 2
  }
}
layer {
  name: "norm12"
  type: "LRN"
  bottom: "pool12"
  top: "norm12"
  lrn_param {
    local_size: 5
    alpha: 0.0001
    beta: 0.75
  }
}
layer {
  name: "conv13"
  type: "Convolution"
  bottom: "norm12"
  top: "conv13"
  param {
    lr_mult: 1
    decay_mult: 1
  }
  param {
    lr_mult: 2
    decay_mult: 0
  }
  convolution_param {
    num_output: 384
    pad: 1
    kernel_size: 3
    weight_filler {
      type: "gaussian"
      std: 0.01
    }
    bias_filler {
      type: "constant"
      value: 0
    }
  }
}
layer {
  name: "relu13"
  type: "ReLU"
  bottom: "conv13"
  top: "conv13"
}
layer {
  name: "conv14"
  type: "Convolution"
  bottom: "conv13"
  top: "conv14"
  param {
    lr_mult: 1
    decay_mult: 1
  }
  param {
    lr_mult: 2
    decay_mult: 0
  }
  convolution_param {
    num_output: 384
    pad: 1
    kernel_size: 3
    group: 2
    weight_filler {
      type: "gaussian"
      std: 0.01
    }
    bias_filler {
      type: "constant"
      value: 1
    }
  }
}
layer {
  name: "relu14"
  type: "ReLU"
  bottom: "conv14"
  top: "conv14"
}
layer {
  name: "conv15"
  type: "Convolution"
  bottom: "conv14"
  top: "conv15"
  param {
    lr_mult: 1
    decay_mult: 1
  }
  param {
    lr_mult: 2
    decay_mult: 0
  }
  convolution_param {
    num_output: 256
    pad: 1
    kernel_size: 3
    group: 2
    weight_filler {
      type: "gaussian"
      std: 0.01
    }
    bias_filler {
      type: "constant"
      value: 1
    }
  }
}
layer {
  name: "relu15"
  type: "ReLU"
  bottom: "conv15"
  top: "conv15"
}
layer {
  name: "pool15"
  type: "Pooling"
  bottom: "conv15"
  top: "pool15"
  pooling_param {
    pool: MAX
    kernel_size: 3
    stride: 2
  }
}


layer {
  name: "conv21"
  type: "Convolution"
  bottom: "data2"
  top: "conv21"
  param {
    lr_mult: 1
    decay_mult: 1
  }
  param {
    lr_mult: 2
    decay_mult: 0
  }
  convolution_param {
    num_output: 96
    kernel_size: 11
    stride: 4
    weight_filler {
      type: "gaussian"
      std: 0.01
    }
    bias_filler {
      type: "constant"
      value: 0
    }
  }
}
layer {
  name: "relu21"
  type: "ReLU"
  bottom: "conv21"
  top: "conv21"
}
layer {
  name: "pool21"
  type: "Pooling"
  bottom: "conv21"
  top: "pool21"
  pooling_param {
    pool: MAX
    kernel_size: 3
    stride: 2
  }
}
layer {
  name: "norm21"
  type: "LRN"
  bottom: "pool21"
  top: "norm21"
  lrn_param {
    local_size: 5
    alpha: 0.0001
    beta: 0.75
  }
}
layer {
  name: "conv22"
  type: "Convolution"
  bottom: "norm21"
  top: "conv22"
  param {
    lr_mult: 1
    decay_mult: 1
  }
  param {
    lr_mult: 2
    decay_mult: 0
  }
  convolution_param {
    num_output: 256
    pad: 2
    kernel_size: 5
    group: 2
    weight_filler {
      type: "gaussian"
      std: 0.01
    }
    bias_filler {
      type: "constant"
      value: 1
    }
  }
}
layer {
  name: "relu22"
  type: "ReLU"
  bottom: "conv22"
  top: "conv22"
}
layer {
  name: "pool22"
  type: "Pooling"
  bottom: "conv22"
  top: "pool22"
  pooling_param {
    pool: MAX
    kernel_size: 3
    stride: 2
  }
}
layer {
  name: "norm22"
  type: "LRN"
  bottom: "pool22"
  top: "norm22"
  lrn_param {
    local_size: 5
    alpha: 0.0001
    beta: 0.75
  }
}
layer {
  name: "conv23"
  type: "Convolution"
  bottom: "norm22"
  top: "conv23"
  param {
    lr_mult: 1
    decay_mult: 1
  }
  param {
    lr_mult: 2
    decay_mult: 0
  }
  convolution_param {
    num_output: 384
    pad: 1
    kernel_size: 3
    weight_filler {
      type: "gaussian"
      std: 0.01
    }
    bias_filler {
      type: "constant"
      value: 0
    }
  }
}
layer {
  name: "relu23"
  type: "ReLU"
  bottom: "conv23"
  top: "conv23"
}
layer {
  name: "conv24"
  type: "Convolution"
  bottom: "conv23"
  top: "conv24"
  param {
    lr_mult: 1
    decay_mult: 1
  }
  param {
    lr_mult: 2
    decay_mult: 0
  }
  convolution_param {
    num_output: 384
    pad: 1
    kernel_size: 3
    group: 2
    weight_filler {
      type: "gaussian"
      std: 0.01
    }
    bias_filler {
      type: "constant"
      value: 1
    }
  }
}
layer {
  name: "relu24"
  type: "ReLU"
  bottom: "conv24"
  top: "conv24"
}
layer {
  name: "conv25"
  type: "Convolution"
  bottom: "conv24"
  top: "conv25"
  param {
    lr_mult: 1
    decay_mult: 1
  }
  param {
    lr_mult: 2
    decay_mult: 0
  }
  convolution_param {
    num_output: 256
    pad: 1
    kernel_size: 3
    group: 2
    weight_filler {
      type: "gaussian"
      std: 0.01
    }
    bias_filler {
      type: "constant"
      value: 1
    }
  }
}
layer {
  name: "relu25"
  type: "ReLU"
  bottom: "conv25"
  top: "conv25"
}
layer {
  name: "pool25"
  type: "Pooling"
  bottom: "conv25"
  top: "pool25"
  pooling_param {
    pool: MAX
    kernel_size: 3
    stride: 2
  }
}

layer {
	name: "concat1"
	type: "Concat"
	bottom: "pool15"
	bottom: "pool25"
	top: "poolConcat"
}

layer {
  name: "fc6"
  type: "InnerProduct"
  bottom: "poolConcat"
  top: "fc6"
  param {
    lr_mult: 1
    decay_mult: 1
  }
  param {
    lr_mult: 2
    decay_mult: 0
  }
  inner_product_param {
    num_output: 4096
    weight_filler {
      type: "gaussian"
      std: 0.005
    }
    bias_filler {
      type: "constant"
      value: 1
    }
  }
}
layer {
  name: "relu6"
  type: "ReLU"
  bottom: "fc6"
  top: "fc6"
}
layer {
  name: "drop6"
  type: "Dropout"
  bottom: "fc6"
  top: "fc6"
  dropout_param {
    dropout_ratio: 0.5
  }
}
layer {
  name: "fc7"
  type: "InnerProduct"
  bottom: "fc6"
  top: "fc7"
  param {
    lr_mult: 1
    decay_mult: 1
  }
  param {
    lr_mult: 2
    decay_mult: 0
  }
  inner_product_param {
    num_output: 4096
    weight_filler {
      type: "gaussian"
      std: 0.005
    }
    bias_filler {
      type: "constant"
      value: 1
    }
  }
}
layer {
  name: "relu7"
  type: "ReLU"
  bottom: "fc7"
  top: "fc7"
}
layer {
  name: "drop7"
  type: "Dropout"
  bottom: "fc7"
  top: "fc7"
  dropout_param {
    dropout_ratio: 0.5
  }
}
layer {
  name: "fc8"
  type: "InnerProduct"
  bottom: "fc7"
  top: "fc8"
  param {
    lr_mult: 1
    decay_mult: 1
  }
  param {
    lr_mult: 2
    decay_mult: 0
  }
  inner_product_param {
    num_output: 4
    weight_filler {
      type: "gaussian"
      std: 0.01
    }
    bias_filler {
      type: "constant"
      value: 0
    }
  }
}
layer {
  name: "scale"
  bottom: "fc8"
  top: "out"
  type: "Power"
  power_param {
    power: 1
    scale: 10
    shift: 0
  }
}

@mohandsp
Copy link

Dear All,

Has this issue been fixed ?, is there a example code for the same .

@nefethael
Copy link

nefethael commented Aug 18, 2017

I changed

net.setInput(targetBlob, ".data1");
net.setInput(searchBlob, ".data2");

to

net.setInput(targetBlob, "data1");
net.setInput(searchBlob, "data2");

and it no longer crashes, (btw very slow)

@nisssal
Copy link

nisssal commented Oct 28, 2017

In goturn.prototxt,
replace all "data1" to ".data1" & "data2" to ".data2"
It's working for me

@gloomyfish1998
Copy link

OpenCV Error: Requested object was not found (Requested blob "data1" not found)

@gloomyfish1998
Copy link

OpenCV goturn did not work at all, i just download the files and run from my machine with codes not Tracker API, i get this issue, anyone else got the same issue on this, or any suggestion //?
thanks in advance

@gloomyfish1998
Copy link

//Convert to Float type
targetPatch.convertTo(targetPatch, CV_32F);
searchPatch.convertTo(searchPatch, CV_32F);

Mat targetBlob = blobFromImage(targetPatch);
Mat searchBlob = blobFromImage(searchPatch);

net.setInput(targetBlob, "data1");
net.setInput(searchBlob, "data2");

Mat res = net.forward("scale");
Mat resMat = res.reshape(1, 1);

@gloomyfish1998
Copy link

can work now, i loaded the wrong net var...

@nvnnghia
Copy link

nvnnghia commented Nov 9, 2017

Hi, I got the same error as yours. Could you gui me how to load the right net var?? Thank you.

@gloomyfish1998
Copy link

just refer to the source code - gtrTracker.cpp
and run net file with dnn modules, everything will run correctly! forget tracking module.....

@nvnnghia
Copy link

Thank for your reply. I spent one day to get goturn to work. But not success. I got this error:
OpenCV Error: Assertion failed ((bias && l->blobs.size() == 2) || (!bias && l->blobs.size() == 1)) in initConvDeconvLayerFromCaffe, file /home/nghia/opencv/modules/dnn/src/layers/convolution_layer.cpp, line 1204
terminate called after throwing an instance of 'cv::Exception'
what(): /home/nghia/opencv/modules/dnn/src/layers/convolution_layer.cpp:1204: error: (-215) (bias && l->blobs.size() == 2) || (!bias && l->blobs.size() == 1) in function initConvDeconvLayerFromCaffe.

I got the model here: https://github.com/opencv/opencv_extra/tree/c4219d5eb3105ed8e634278fad312a1a8d2c182d/testdata/tracking

Could you please share your model and a test code. Or do you have any suggestion. Thank you very much.

@nvnnghia
Copy link

can work now, performance and speed are not good

@gloomyfish1998
Copy link

ohh~~~
paper said -> 100FPS based on GPU, very poor on my machine with CPU core i5,

@adavoudi
Copy link

I think there is an error in TrackerGOTURNImpl::updateImpl function:
https://github.com/opencv/opencv_contrib/blob/master/modules/tracking/src/gtrTracker.cpp#L152
//Mean Subtract
targetPatch = targetPatch - 128; searchPatch = searchPatch - 128;

targetPatch and searchPatch are of type unsigned char which means the result of the above commands will be saturated to zero for elements smaller than 128.

@silentshitx
Copy link

I got this error:
OpenCV Error: Assertion failed (blobs.size() != 0) in getMemoryShapes, file /tmp/opencv-20171112-69002-161xh9l/opencv-3.3.1/modules/dnn/src/layers/convolution_layer.cpp, line 175
libc++abi.dylib: terminating with uncaught exception of type cv::Exception: /tmp/opencv-20171112-69002-161xh9l/opencv-3.3.1/modules/dnn/src/layers/convolution_layer.cpp:175: error: (-215) blobs.size() != 0 in function getMemoryShapes

what is the reason

@HnanYang
Copy link

HnanYang commented Aug 20, 2018

Dear Author:
I got this error:

yanghongnan@TITAN-X:/home/sdc/yanghongnan/GOTURN-master$ bash scripts/train.sh /home/sdc/yanghongnan/GOTURN-master/data/ImageNet/Image/ /home/sdc/yanghongnan/GOTURN-master/data/ImageNet/Annotations/ /home/sdc/yanghongnan/GOTURN-master/data/ALOV/Image/ /home/sdc/yanghongnan/GOTURN-master/data/ALOV/Annotation/
FOLDER: GOTURN1
LAMBDA_SCALE: 15
LAMBDA_SHIFT: 5
Using random seed: 800
Setting up Caffe in GPU mode with ID: 0
Found 7 subfolders...
Loading images, please wait...
Found 9999 annotations
*** Error in `build/train': free(): invalid pointer: 0x000000000c506040 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7fbdcdc6e7e5]
/lib/x86_64-linux-gnu/libc.so.6(+0x8037a)[0x7fbdcdc7737a]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7fbdcdc7b53c]
build/train(_ZN17LoaderImagenetDet18LoadAnnotationFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPSt6vectorI10AnnotationSaIS9_EE+0xb6)[0x42e456]
build/train(_ZN17LoaderImagenetDetC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_+0x9db)[0x42f82b]
build/train(main+0x178)[0x40ff58]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7fbdcdc17830]
build/train(_start+0x29)[0x410ed9]
======= Memory map: ========
00400000-00449000 r-xp 00000000 08:20 105906349                          /home/sdc/yanghongnan/GOTURN-master/build/train
00649000-0064a000 r--p 00049000 08:20 105906349                          /home/sdc/yanghongnan/GOTURN-master/build/train
0064a000-0064b000 rw-p 0004a000 08:20 105906349                          /home/sdc/yanghongnan/GOTURN-master/build/train
024f4000-0c5c8000 rw-p 00000000 00:00 0                                  [heap]
10000000-10001000 rw-s 00000000 00:06 623                                /dev/nvidia3
10001000-10002000 rw-s 00000000 00:06 623                                /dev/nvidia3
10002000-10003000 rw-s 00000000 00:06 623                                /dev/nvidia3
10003000-10004000 rw-s 00000000 00:06 623                                /dev/nvidia3
10004000-10005000 rw-s 00000000 00:06 623                                /dev/nvidia3
10005000-10006000 rw-s 00000000 00:06 623                                /dev/nvidia3
10006000-10007000 rw-s 00000000 00:06 623                                /dev/nvidia3
10007000-10008000 rw-s 00000000 00:06 623                                /dev/nvidia3
10008000-10009000 rw-s 00000000 00:06 623                                /dev/nvidia3
10009000-1000a000 rw-s 00000000 00:06 623                                /dev/nvidia3
1000a000-1000b000 rw-s 00000000 00:06 623                                /dev/nvidia3
1000b000-1000c000 rw-s 00000000 00:06 623                                /dev/nvidia3
1000c000-1000d000 rw-s 00000000 00:06 623                                /dev/nvidia3
1000d000-1000e000 rw-s 00000000 00:06 623                                /dev/nvidia3
1000e000-1000f000 rw-s 00000000 00:06 623                                /dev/nvidia3
1000f000-10010000 rw-s 00000000 00:06 623                                /dev/nvidia3
10010000-20000000 ---p 00000000 00:00 0 
200000000-200200000 rw-s 00000000 00:06 622                              /dev/nvidiactl
200200000-200400000 ---p 00000000 00:00 0 
200400000-200404000 rw-s 00000000 00:06 622                              /dev/nvidiactl
200404000-200600000 ---p 00000000 00:00 0 
200600000-200a00000 rw-s 00000000 00:06 622                              /dev/nvidiactl
200a00000-201600000 ---p 00000000 00:00 0 
201600000-201604000 rw-s 00000000 00:06 622                              /dev/nvidiactl
201604000-201800000 ---p 00000000 00:00 0 
201800000-201c00000 rw-s 00000000 00:06 622                              /dev/nvidiactl
201c00000-202800000 ---p 00000000 00:00 0 
202800000-202804000 rw-s 00000000 00:06 622                              /dev/nvidiactl
202804000-202a00000 ---p 00000000 00:00 0 
202a00000-202e00000 rw-s 00000000 00:06 622                              /dev/nvidiactl
202e00000-203a00000 ---p 00000000 00:00 0 
203a00000-203a04000 rw-s 00000000 00:06 622                              /dev/nvidiactl
203a04000-203c00000 ---p 00000000 00:00 0 
203c00000-204000000 rw-s 00000000 00:06 622                              /dev/nvidiactl
204000000-204c00000 ---p 00000000 00:00 0 
204c00000-204c04000 rw-s 00000000 00:06 622                              /dev/nvidiactl
204c04000-204e00000 ---p 00000000 00:00 0 
204e00000-205200000 rw-s 00000000 00:06 622                              /dev/nvidiactl
205200000-205e00000 ---p 00000000 00:00 0 
205e00000-205e04000 rw-s 00000000 00:06 622                              /dev/nvidiactl
205e04000-206000000 ---p 00000000 00:00 0 
206000000-206400000 rw-s 00000000 00:06 622                              /dev/nvidiactl
206400000-207000000 ---p 00000000 00:00 0 
207000000-207004000 rw-s 00000000 00:06 622                              /dev/nvidiactl
207004000-207200000 ---p 00000000 00:00 0 
207200000-207600000 rw-s 00000000 00:06 622                              /dev/nvidiactl
207600000-208200000 ---p 00000000 00:00 0 
208200000-208204000 rw-s 00000000 00:06 622                              /dev/nvidiactl
208204000-208400000 ---p 00000000 00:00 0 
208400000-208800000 rw-s 00000000 00:06 622                              /dev/nvidiactl
208800000-209400000 ---p 00000000 00:00 0 
209400000-209404000 rw-s 00000000 00:06 622                              /dev/nvidiactl
209404000-209600000 ---p 00000000 00:00 0 
209600000-209a00000 rw-s 00000000 00:06 622                              /dev/nvidiactl
209a00000-209a04000 rw-s 00000000 00:06 622                              /dev/nvidiactl
209a04000-209c00000 ---p 00000000 00:00 0 
209c00000-20a000000 rw-s 00000000 00:06 622                              /dev/nvidiactl
20a000000-20a004000 rw-s 00000000 00:06 622                              /dev/nvidiactl
20a004000-20a200000 ---p 00000000 00:00 0 
20a200000-20a600000 rw-s 00000000 00:06 622                              /dev/nvidiactl
20a600000-20a604000 rw-s 00000000 00:06 622                              /dev/nvidiactl
20a604000-20a800000 ---p 00000000 00:00 0 
20a800000-20ac00000 rw-s 00000000 00:06 622                              /dev/nvidiactl
20ac00000-20ac04000 rw-s 00000000 00:06 622                              /dev/nvidiactl
20ac04000-20ae00000 ---p 00000000 00:00 0 
20ae00000-20b200000 rw-s 00000000 00:06 622                              /dev/nvidiactl
20b200000-20b204000 rw-s 00000000 00:06 622                              /dev/nvidiactl
20b204000-20b400000 ---p 00000000 00:00 0 
20b400000-20b800000 rw-s 00000000 00:06 622                              /dev/nvidiactl
20b800000-20b804000 rw-s 00000000 00:06 622                              /dev/nvidiactl
20b804000-20ba00000 ---p 00000000 00:00 0 
20ba00000-20be00000 rw-s 00000000 00:06 622                              /dev/nvidiactl
20be00000-20be04000 rw-s 00000000 00:06 622                              /dev/nvidiactl
20be04000-20c000000 ---p 00000000 00:00 0 
20c000000-20c400000 rw-s 00000000 00:06 622                              /dev/nvidiactl
20c400000-20c600000 ---p 00000000 00:00 0 
20c600000-20c800000 rw-s 00000000 00:06 622                              /dev/nvidiactl
20c800000-20ca00000 rw-s 00000000 00:06 622                              /dev/nvidiactl
20ca00000-600200000 ---p 00000000 00:00 0 
10000000000-10504400000 ---p 00000000 00:00 0 
10504400000-10504600000 rw-s 00000000 00:05 294842641                    /dev/zero (deleted)
10504600000-10504800000 rw-s 00000000 00:06 622                          /dev/nvidiactl
10504800000-10504a00000 rw-s 00000000 00:05 294842642                    /dev/zero (deleted)
10504a00000-10504c00000 rw-s 00000000 00:06 622                          /dev/nvidiactl
10504c00000-10504ed6000 rw-s 00000000 00:06 622                          /dev/nvidiactl
10504ed6000-1050e000000 ---p 00000000 00:00 0 
7fbd98000000-7fbd98021000 rw-p 00000000 00:00 0 
7fbd98021000-7fbd9c000000 ---p 00000000 00:00 0 
7fbd9c000000-7fbd9c021000 rw-p 00000000 00:00 0 
7fbd9c021000-7fbda0000000 ---p 00000000 00:00 0 
7fbda0000000-7fbda0021000 rw-p 00000000 00:00 0 
7fbda0021000-7fbda4000000 ---p 00000000 00:00 0 
7fbda4b2c000-7fbda4b9d000 rw-p 00000000 00:00 0 
7fbda4b9d000-7fbda4b9e000 ---p 00000000 00:00 0 
7fbda4b9e000-7fbda539e000 rwxp 00000000 00:00 0 
7fbda539e000-7fbda54a0000 rw-p 00000000 00:00 0 
7fbda54a0000-7fbda54a1000 ---p 00000000 00:00 0 
7fbda54a1000-7fbda5ca1000 rwxp 00000000 00:00 0 
7fbda5ca1000-7fbda5ca2000 ---p 00000000 00:00 0 
7fbda5ca2000-7fbda64a2000 rwxp 00000000 00:00 0 
7fbda64a2000-7fbdac4a2000 ---p 00000000 00:00 0 
7fbdac4a2000-7fbdac4e5000 r-xp 00000000 fc:00 8015333                    /usr/lib/x86_64-linux-gnu/libnvidia-fatbinaryloader.so.384.81
7fbdac4e5000-7fbdac6e4000 ---p 00043000 fc:00 8015333                    /usr/lib/x86_64-linux-gnu/libnvidia-fatbinaryloader.so.384.81
7fbdac6e4000-7fbdac6ef000 rw-p 00042000 fc:00 8015333                    /usr/lib/x86_64-linux-gnu/libnvidia-fatbinaryloader.so.384.81
7fbdac6ef000-7fbdac6f4000 rw-p 00000000 00:00 0 
7fbdac6f4000-7fbdad213000 r-xp 00000000 fc:00 8015328                    /usr/lib/x86_64-linux-gnu/libcuda.so.384.81
7fbdad213000-7fbdad413000 ---p 00b1f000 fc:00 8015328                    /usr/lib/x86_64-linux-gnu/libcuda.so.384.81
7fbdad413000-7fbdad563000 rw-p 00b1f000 fc:00 8015328                    /usr/lib/x86_64-linux-gnu/libcuda.so.384.81
7fbdad563000-7fbdad571000 rw-p 00000000 00:00 0 
7fbdad571000-7fbdad583000 r-xp 00000000 fc:00 7209485                    /lib/x86_64-linux-gnu/libgpg-error.so.0.17.0
7fbdad583000-7fbdad783000 ---p 00012000 fc:00 7209485                    /lib/x86_64-linux-gnu/libgpg-error.so.0.17.0
7fbdad783000-7fbdad784000 r--p 00012000 fc:00 7209485                    /lib/x86_64-linux-gnu/libgpg-error.so.0.17.0
7fbdad784000-7fbdad785000 rw-p 00013000 fc:00 7209485                    /lib/x86_64-linux-gnu/libgpg-error.so.0.17.0
7fbdad785000-7fbdad85c000 r-xp 00000000 fc:00 7209178                    /lib/x86_64-linux-gnu/libgcrypt.so.20.0.5
7fbdad85c000-7fbdada5c000 ---p 000d7000 fc:00 7209178                    /lib/x86_64-linux-gnu/libgcrypt.so.20.0.5
7fbdada5c000-7fbdada5d000 r--p 000d7000 fc:00 7209178                    /lib/x86_64-linux-gnu/libgcrypt.so.20.0.5
7fbdada5d000-7fbdada65000 rw-p 000d8000 fc:00 7209178                    /lib/x86_64-linux-gnu/libgcrypt.so.20.0.5
7fbdada65000-7fbdada66000 rw-p 00000000 00:00 0 
7fbdada66000-7fbdada8d000 r-xp 00000000 fc:00 8008032                    /usr/lib/x86_64-linux-gnu/libkj-0.5.3.so
7fbdada8d000-7fbdadc8d000 ---p 00027000 fc:00 8008032                    /usr/lib/x86_64-linux-gnu/libkj-0.5.3.so
7fbdadc8d000-7fbdadc8e000 r--p 00027000 fc:00 8008032                    /usr/lib/x86_64-linux-gnu/libkj-0.5.3.so
7fbdadc8e000-7fbdadc8f000 rw-p 00028000 fc:00 8008032                    /usr/lib/x86_64-linux-gnu/libkj-0.5.3.so
7fbdadc8f000-7fbdadca6000 r-xp 00000000 fc:00 8005185                    /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.58.0
7fbdadca6000-7fbdadea5000 ---p 00017000 fc:00 8005185                    /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.58.0
7fbdadea5000-7fbdadea6000 r--p 00016000 fc:00 8005185                    /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.58.0
7fbdadea6000-7fbdadea7000 rw-p 00017000 fc:00 8005185                    /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.58.0
7fbdadea7000-7fbdadead000 r-xp 00000000 fc:00 8004215                    /usr/lib/x86_64-linux-gnu/libdatrie.so.1.3.3
7fbdadead000-7fbdae0ad000 ---p 00006000 fc:00 8004215                    /usr/lib/x86_64-linux-gnu/libdatrie.so.1.3.3
7fbdae0ad000-7fbdae0ae000 r--p 00006000 fc:00 8004215                    /usr/lib/x86_64-linux-gnu/libdatrie.so.1.3.3
7fbdae0ae000-7fbdae0af000 rw-p 00007000 fc:00 8004215                    /usr/lib/x86_64-linux-gnu/libdatrie.so.1.3.3
7fbdae0af000-7fbdae0d3000 r-xp 00000000 fc:00 7996778                    /usr/lib/x86_64-linux-gnu/libgraphite2.so.3.0.1
7fbdae0d3000-7fbdae2d2000 ---p 00024000 fc:00 7996778                    /usr/lib/x86_64-linux-gnu/libgraphite2.so.3.0.1
7fbdae2d2000-7fbdae2d4000 r--p 00023000 fc:00 7996778                    /usr/lib/x86_64-linux-gnu/libgraphite2.so.3.0.1
7fbdae2d4000-7fbdae2d5000 rw-p 00025000 fc:00 7996778                    /usr/lib/x86_64-linux-gnu/libgraphite2.so.3.0.1
7fbdae2d5000-7fbdae313000 r-xp 00000000 fc:00 8000038                    /usr/lib/x86_64-linux-gnu/libquadmath.so.0.0.0
7fbdae313000-7fbdae512000 ---p 0003e000 fc:00 8000038                    /usr/lib/x86_64-linux-gnu/libquadmath.so.0.0.0
7fbdae512000-7fbdae513000 r--p 0003d000 fc:00 8000038                    /usr/lib/x86_64-linux-gnu/libquadmath.so.0.0.0
7fbdae513000-7fbdae514000 rw-p 0003e000 fc:00 8000038                    /usr/lib/x86_64-linux-gnu/libquadmath.so.0.0.0
7fbdae514000-7fbdae51b000 r-xp 00000000 fc:00 8004825                    /usr/lib/x86_64-linux-gnu/libaec.so.0.0.3
7fbdae51b000-7fbdae71a000 ---p 00007000 fc:00 8004825                    /usr/lib/x86_64-linux-gnu/libaec.so.0.0.3
7fbdae71a000-7fbdae71b000 r--p 00006000 fc:00 8004825                    /usr/lib/x86_64-linux-gnu/libaec.so.0.0.3
7fbdae71b000-7fbdae71c000 rw-p 00007000 fc:00 8004825                    /usr/lib/x86_64-linux-gnu/libaec.so.0.0.3
7fbdae71c000-7fbdae721000 r-xp 00000000 fc:00 8001983                    /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7fbdae721000-7fbdae920000 ---p 00005000 fc:00 8001983                    /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7fbdae920000-7fbdae921000 r--p 00004000 fc:00 8001983                    /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7fbdae921000-7fbdae922000 rw-p 00005000 fc:00 8001983                    /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7fbdae922000-7fbdae924000 r-xp 00000000 fc:00 8001981                    /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7fbdae924000-7fbdaeb24000 ---p 00002000 fc:00 8001981                    /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7fbdaeb24000-7fbdaeb25000 r--p 00002000 fc:00 8001981                    /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7fbdaeb25000-7fbdaeb26000 rw-p 00003000 fc:00 8001981                    /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7fbdaeb26000-7fbdaeb56000 r-xp 00000000 fc:00 8005115                    /usr/lib/x86_64-linux-gnu/libprotobuf-lite.so.9.0.1
7fbdaeb56000-7fbdaed55000 ---p 00030000 fc:00 8005115                    /usr/lib/x86_64-linux-gnu/libprotobuf-lite.so.9.0.1
7fbdaed55000-7fbdaed56000 r--p 0002f000 fc:00 8005115                    /usr/lib/x86_64-linux-gnu/libprotobuf-lite.so.9.0.1
7fbdaed56000-7fbdaed57000 rw-p 00030000 fc:00 8005115                    /usr/lib/x86_64-linux-gnu/libprotobuf-lite.so.9.0.1
7fbdaed57000-7fbdaed5a000 r-xp 00000000 fc:00 8005164                    /usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0
7fbdaed5a000-7fbdaef59000 ---p 00003000 fc:00 8005164                    /usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0
7fbdaef59000-7fbdaef5a000 r--p 00002000 fc:00 8005164                    /usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0
7fbdaef5a000-7fbdaef5b000 rw-p 00003000 fc:00 8005164                    /usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0
7fbdaef5b000-7fbdaef62000 r-xp 00000000 fc:00 8007828                    /usr/lib/x86_64-linux-gnu/libmircore.so.1
7fbdaef62000-7fbdaf162000 ---p 00007000 fc:00 8007828                    /usr/lib/x86_64-linux-gnu/libmircore.so.1
7fbdaf162000-7fbdaf163000 r--p 00007000 fc:00 8007828                    /usr/lib/x86_64-linux-gnu/libmircore.so.1
7fbdaf163000-7fbdaf164000 rw-p 00008000 fc:00 8007828                    /usr/lib/x86_64-linux-gnu/libmircore.so.1
7fbdaf164000-7fbdaf1e9000 r-xp 00000000 fc:00 8008034                    /usr/lib/x86_64-linux-gnu/libcapnp-0.5.3.so
7fbdaf1e9000-7fbdaf3e8000 ---p 00085000 fc:00 8008034                    /usr/lib/x86_64-linux-gnu/libcapnp-0.5.3.so
7fbdaf3e8000-7fbdaf3eb000 r--p 00084000 fc:00 8008034                    /usr/lib/x86_64-linux-gnu/libcapnp-0.5.3.so
7fbdaf3eb000-7fbdaf3ec000 rw-p 00087000 fc:00 8008034                    /usr/lib/x86_64-linux-gnu/libcapnp-0.5.3.so
7fbdaf3ec000-7fbdaf45b000 r-xp 00000000 fc:00 8007830                    /usr/lib/x86_64-linux-gnu/libmirprotobuf.so.3
7fbdaf45b000-7fbdaf65a000 ---p 0006f000 fc:00 8007830                    /usr/lib/x86_64-linux-gnu/libmirprotobuf.so.3
7fbdaf65a000-7fbdaf65d000 r--p 0006e000 fc:00 8007830                    /usr/lib/x86_64-linux-gnu/libmirprotobuf.so.3
7fbdaf65d000-7fbdaf65e000 rw-p 00071000 fc:00 8007830                    /usr/lib/x86_64-linux-gnu/libmirprotobuf.so.3
7fbdaf65e000-7fbdaf6a2000 r-xp 00000000 fc:00 8007829                    /usr/lib/x86_64-linux-gnu/libmircommon.so.7
7fbdaf6a2000-7fbdaf8a2000 ---p 00044000 fc:00 8007829                    /usr/lib/x86_64-linux-gnu/libmircommon.so.7
7fbdaf8a2000-7fbdaf8a4000 r--p 00044000 fc:00 8007829                    /usr/lib/x86_64-linux-gnu/libmircommon.so.7
7fbdaf8a4000-7fbdaf8a5000 rw-p 00046000 fc:00 8007829                    /usr/lib/x86_64-linux-gnu/libmircommon.so.7
7fbdaf8a5000-7fbdaf8bc000 r-xp 00000000 fc:00 7209158                    /lib/x86_64-linux-gnu/libresolv-2.23.so
7fbdaf8bc000-7fbdafabc000 ---p 00017000 fc:00 7209158                    /lib/x86_64-linux-gnu/libresolv-2.23.so
7fbdafabc000-7fbdafabd000 r--p 00017000 fc:00 7209158                    /lib/x86_64-linux-gnu/libresolv-2.23.so
7fbdafabd000-7fbdafabe000 rw-p 00018000 fc:00 7209158                    /lib/x86_64-linux-gnu/libresolv-2.23.so
7fbdafabe000-7fbdafac0000 rw-p 00000000 00:00 0 
7fbdafac0000-7fbdafadf000 r-xp 00000000 fc:00 7209552                    /lib/x86_64-linux-gnu/libselinux.so.1
7fbdafadf000-7fbdafcde000 ---p 0001f000 fc:00 7209552                    /lib/x86_64-linux-gnu/libselinux.so.1
7fbdafcde000-7fbdafcdf000 r--p 0001e000 fc:00 7209552                    /lib/x86_64-linux-gnu/libselinux.so.1
7fbdafcdf000-7fbdafce0000 rw-p 0001f000 fc:00 7209552                    /lib/x86_64-linux-gnu/libselinux.so.1
7fbdafce0000-7fbdafce2000 rw-p 00000000 00:00 0 
7fbdafce2000-7fbdafd08000 r-xp 00000000 fc:00 7208992                    /lib/x86_64-linux-gnu/libexpat.so.1.6.0
7fbdafd08000-7fbdaff08000 ---p 00026000 fc:00 7208992                    /lib/x86_64-linux-gnu/libexpat.so.1.6.0
7fbdaff08000-7fbdaff0a000 r--p 00026000 fc:00 7208992                    /lib/x86_64-linux-gnu/libexpat.so.1.6.0
7fbdaff0a000-7fbdaff0b000 rw-p 00028000 fc:00 7208992                    /lib/x86_64-linux-gnu/libexpat.so.1.6.0
7fbdaff0b000-7fbdaff13000 r-xp 00000000 fc:00 8004271                    /usr/lib/x86_64-linux-gnu/libthai.so.0.2.4
7fbdaff13000-7fbdb0112000 ---p 00008000 fc:00 8004271                    /usr/lib/x86_64-linux-gnu/libthai.so.0.2.4
7fbdb0112000-7fbdb0113000 r--p 00007000 fc:00 8004271                    /usr/lib/x86_64-linux-gnu/libthai.so.0.2.4
7fbdb0113000-7fbdb0114000 rw-p 00008000 fc:00 8004271                    /usr/lib/x86_64-linux-gnu/libthai.so.0.2.4
7fbdb0114000-7fbdb0170000 r-xp 00000000 fc:00 8004275                    /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10000.1
7fbdb0170000-7fbdb0370000 ---p 0005c000 fc:00 8004275                    /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10000.1
7fbdb0370000-7fbdb0371000 r--p 0005c000 fc:00 8004275                    /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10000.1
7fbdb0371000-7fbdb0372000 rw-p 0005d000 fc:00 8004275                    /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10000.1
7fbdb0372000-7fbdb03bc000 r-xp 00000000 fc:00 7213251                    /lib/x86_64-linux-gnu/libdbus-1.so.3.14.6
7fbdb03bc000-7fbdb05bc000 ---p 0004a000 fc:00 7213251                    /lib/x86_64-linux-gnu/libdbus-1.so.3.14.6
7fbdb05bc000-7fbdb05bd000 r--p 0004a000 fc:00 7213251                    /lib/x86_64-linux-gnu/libdbus-1.so.3.14.6
7fbdb05bd000-7fbdb05be000 rw-p 0004b000 fc:00 7213251                    /lib/x86_64-linux-gnu/libdbus-1.so.3.14.6
7fbdb05be000-7fbdb05ea000 r-xp 00000000 fc:00 8008020                    /usr/lib/x86_64-linux-gnu/libatspi.so.0.0.1
7fbdb05ea000-7fbdb07e9000 ---p 0002c000 fc:00 8008020                    /usr/lib/x86_64-linux-gnu/libatspi.so.0.0.1
7fbdb07e9000-7fbdb07ec000 r--p 0002b000 fc:00 8008020                    /usr/lib/x86_64-linux-gnu/libatspi.so.0.0.1
7fbdb07ec000-7fbdb07ed000 rw-p 0002e000 fc:00 8008020                    /usr/lib/x86_64-linux-gnu/libatspi.so.0.0.1
7fbdb07ed000-7fbdb20a3000 r-xp 00000000 fc:00 7996122                    /usr/lib/x86_64-linux-gnu/libicudata.so.55.1
7fbdb20a3000-7fbdb22a2000 ---p 018b6000 fc:00 7996122                    /usr/lib/x86_64-linux-gnu/libicudata.so.55.1
7fbdb22a2000-7fbdb22a3000 r--p 018b5000 fc:00 7996122                    /usr/lib/x86_64-linux-gnu/libicudata.so.55.1
7fbdb22a3000-7fbdb22a4000 rw-p 018b6000 fc:00 7996122                    /usr/lib/x86_64-linux-gnu/libicudata.so.55.1
7fbdb22a4000-7fbdb23cd000 r-xp 00000000 fc:00 7995896                    /usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0
7fbdb23cd000-7fbdb25cc000 ---p 00129000 fc:00 7995896                    /usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0
7fbdb25cc000-7fbdb25cd000 r--p 00128000 fc:00 7995896                    /usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0
7fbdb25cd000-7fbdb25cf000 rw-p 00129000 fc:00 7995896                    /usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0
7fbdb25cf000-7fbdb2966000 r-xp 00000000 fc:00 9833117                    /usr/lib/atlas-base/libatlas.so.3.0
7fbdb2966000-7fbdb2b66000 ---p 00397000 fc:00 9833117                    /usr/lib/atlas-base/libatlas.so.3.0
7fbdb2b66000-7fbdb2b6d000 rw-p 00397000 fc:00 9833117                    /usr/lib/atlas-base/libatlas.so.3.0
7fbdb2b6d000-7fbdb2b6f000 r-xp 00000000 fc:00 7209162                    /lib/x86_64-linux-gnu/libutil-2.23.so
7fbdb2b6f000-7fbdb2d6e000 ---p 00002000 fc:00 7209162                    /lib/x86_64-linux-gnu/libutil-2.23.so
7fbdb2d6e000-7fbdb2d6f000 r--p 00001000 fc:00 7209162                    /lib/x86_64-linux-gnu/libutil-2.23.so
7fbdb2d6f000-7fbdb2d70000 rw-p 00002000 fc:00 7209162                    /lib/x86_64-linux-gnu/libutil-2.23.so
7fbdb2d70000-7fbdb2d77000 r-xp 00000000 fc:00 8004437                    /usr/lib/x86_64-linux-gnu/libsnappy.so.1.3.0
7fbdb2d77000-7fbdb2f76000 ---p 00007000 fc:00 8004437                    /usr/lib/x86_64-linux-gnu/libsnappy.so.1.3.0
7fbdb2f76000-7fbdb2f77000 r--p 00006000 fc:00 8004437                    /usr/lib/x86_64-linux-gnu/libsnappy.so.1.3.0
7fbdb2f77000-7fbdb2f78000 rw-p 00007000 fc:00 8004437                    /usr/lib/x86_64-linux-gnu/libsnappy.so.1.3.0
7fbdb2f78000-7fbdb2f7a000 r-xp 00000000 fc:00 8005046                    /usr/lib/x86_64-linux-gnu/libsz.so.2.0.1
7fbdb2f7a000-7fbdb3179000 ---p 00002000 fc:00 8005046                    /usr/lib/x86_64-linux-gnu/libsz.so.2.0.1
7fbdb3179000-7fbdb317a000 r--p 00001000 fc:00 8005046                    /usr/lib/x86_64-linux-gnu/libsz.so.2.0.1
7fbdb317a000-7fbdb317b000 rw-p 00002000 fc:00 8005046                    /usr/lib/x86_64-linux-gnu/libsz.so.2.0.1
7fbdb317b000-7fbdb3180000 r-xp 00000000 fc:00 8004498                    /usr/lib/x86_64-linux-gnu/libIlmThread-2_2.so.12.0.0
7fbdb3180000-7fbdb3380000 ---p 00005000 fc:00 8004498                    /usr/lib/x86_64-linux-gnu/libIlmThread-2_2.so.12.0.0
7fbdb3380000-7fbdb3381000 r--p 00005000 fc:00 8004498                    /usr/lib/x86_64-linux-gnu/libIlmThread-2_2.so.12.0.0
7fbdb3381000-7fbdb3382000 rw-p 00006000 fc:00 8004498                    /usr/lib/x86_64-linux-gnu/libIlmThread-2_2.so.12.0.0
7fbdb3382000-7fbdb339d000 r-xp 00000000 fc:00 8004497                    /usr/lib/x86_64-linux-gnu/libIex-2_2.so.12.0.0scripts/train.sh: line 48: 11809 Aborted                 (core dumped) build/train $VIDEOS_FOLDER_IMAGENET $ANNOTATIONS_FOLDER_IMAGENET $VIDEOS_FOLDER $ANNOTATIONS_FOLDER $CAFFE_MODEL $TRAIN_PROTO $SOLVER_TEMP $LAMBDA_SHIFT $LAMBDA_SCALE $MIN_SCALE $MAX_SCALE $GPU_ID $RANDOM_SEED 2> $RESULT_DIR/results.txt
Could you help me find the reason? Thanks a lot!

@alalek
Copy link
Member

alalek commented Aug 20, 2018

@HnanYang Why do you think that this problem should be fixed in OpenCV? I don't see any OpenCV calls in stacktraces.

@HnanYang
Copy link

@alalek emm... I asked a question in the wrong place. But this Error bothered me for a long time

@RJVisee44
Copy link

RJVisee44 commented Sep 4, 2018

Hi all,

Does anyone know what this error means:

File "<ipython-input-10-dbddf5ead724>", line 1, in <module> ok = tracker.init(frame,bbox)

error: OpenCV(3.4.1) C:\bld\opencv_1520732263159\work\opencv-3.4.1\modules\core\src\matrix.cpp:362: error: (-215) u != 0 in function cv::Mat::create

I compiled opencv 3.4.1 from anaconda using:
conda install -c conda-forge opencv conda install -c conda-forge/label/broken opencv

The tracker can be created but cannot be initialized. Using the .prototxt and .caffemodel from this tutorial: https://www.learnopencv.com/goturn-deep-learning-based-object-tracking/

Running in Spyder, Python 3.6.2, Anaconda custom (32-bit), Windows 7. Do I need to build opencv from source?

@p779
Copy link

p779 commented Jan 26, 2020

Hey everyone
I try to use goturn tracker and it gave me this error when I try do to init

cv2.error: OpenCV(4.1.2) /io/opencv/modules/dnn/src/caffe/caffe_io.cpp:1121: error: (-2:Unspecified error) FAILED: fs.is_open(). Can't open "goturn.prototxt" in function 'ReadProtoFromTextFile'

I like to know what do you think

@zihaozhang9
Copy link

Take a closer look at the solution in the tutorial.

@muhammad-faizan-122
Copy link

Hey everyone I try to use goturn tracker and it gave me this error when I try do to init

cv2.error: OpenCV(4.1.2) /io/opencv/modules/dnn/src/caffe/caffe_io.cpp:1121: error: (-2:Unspecified error) FAILED: fs.is_open(). Can't open "goturn.prototxt" in function 'ReadProtoFromTextFile'

I like to know what do you think
I got same issue. can anyone help me?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests