I need help running the NvOFTracker Sample

I am trying to run the NvOFTracker Sample provided with the NvOFT SDK.

I have installed the dependencies from the ReadMe and compiled the project using cmake following the instructions.

Cmake had no problem compiling, but when opening the project

Below is a screenshot of the errors I am getting when building the “INSTALL” project from the NVOFTSample in VS19.

With an example error here:

Severity    Code    Description    Project    File    Line    Suppression State
Error    LNK2019    unresolved external symbol "void __cdecl cv::split(class cv::debug_build_guard::_InputArray const &,class cv::debug_build_guard::_OutputArray const &)" (?split@cv@@YAXAEBV_InputArray@debug_build_guard@1@AEBV_OutputArray@31@@Z) referenced in function "public: void __cdecl CROITracker::Track(class cv::Mat const &,class std::vector<struct LabeledInObject,class std::allocator<struct LabeledInObject> > &,class std::vector<struct LabeledOutObject,class std::allocator<struct LabeledOutObject> > &)" (?Track@CROITracker@@QEAAXAEBVMat@cv@@AEAV?$vector@ULabeledInObject@@V?$allocator@ULabeledInObject@@@std@@@std@@AEAV?$vector@ULabeledOutObject@@V?$allocator@ULabeledOutObject@@@std@@@5@@Z)    nvoftracker    C:\Coding\Optical_Flow_SDK_3.0.15\NvOFTracker\build\NvOFTracker\CROITracker.obj    1 

From what I understand, it doesn’t find the OpenCV libraries. Which does not make sense to me as Cmake succeeds when compiling.

I have no idea how to procede from this point on. Guidance on how to solve these errors would be greatly appreciated.

Udate: By switching from Debugx64 to Releasex64 I have managed to reduce the errors down to these few:

Severity	Code	Description	Project	File	Line	Suppression State
Error	C2694	'void Logger::log(nvinfer1::ILogger::Severity,const char *)': overriding virtual function has less restrictive exception specification than base class virtual member function 'void nvinfer1::ILogger::log(nvinfer1::ILogger::Severity,const nvinfer1::AsciiChar *) noexcept'	NvOFTSample	C:\Coding\Optical_Flow_SDK_3.0.15\NvOFTracker\NvOFTSample\detector\include\logging.h	221	

Any idea what these are caused by?

Hello @Benutzer1631 !

The error messages seem to indicate a version mismatch in some of your dependent libraries. When using Debugx64 you are missing symbols, so switching to release looks like it addresses part of the problem. But there you have a mismatch in function signatures, which likely comes from a wrong library version. Which might be anything from a wrong driver or CUDA version to a mismatching CMake or Visual Studio version. If I would have to guess I would say the latter since there is an issue with using the logging function.

My recommendation would be to check out the system requirements and follow the installation instructions once more to make sure you have the exact same setup as is required there.

I hope that will help you get the sample app to run.

I got the sample app running by adding a noexcept to the log function, I double checked my dependencies and couldn’t find anything missmatching.

That said, with the “noexcept” it builds and works fine.

I have one more question tho:

The boudning boxes the NVOFTracker draws on the videos - are those purely by YOLOV3 or are those already a combination of the Optical Flow + YoloV3.

Glad to hear you got the sample app running!

I checked with the experts and the bounding boxes are already the result of detection and tracking, so they are the combination.