Skip to content

GOTURN Tracker results in errors #941

@bassamarshad

Description

@bassamarshad
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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions