日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Visual Tracking:运行ECO模型

發(fā)布時(shí)間:2025/3/15 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Visual Tracking:运行ECO模型 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

ECO是MD大神發(fā)表在CVPR2017上的論文《ECO: Efficient Convolution Operators for Tracking》中的模型。下面介紹如何在本機(jī)中運(yùn)行和測(cè)試ECO模型。

?

環(huán)境:Ubuntu 18.04 LST、Matlab2016b、gcc6.4.0

?

以下翻譯部分源于“https://github.com/martin-danelljan/ECO”;

1.在https://github.com/martin-danelljan/ECO中下載模型的ZIP文件,并解壓;

2.在https://github.com/vlfeat/matconvnet中下載MatConvnet,并解壓到ECO解壓目錄的"/external_libs/matconvnet/"文件夾下;

3.在https://github.com/pdollar/toolbox中下載PDollorToolBox,并解壓到ECO解壓目錄的"/external_libs/pdollar_toolbox/"文件夾下;

4.打開(kāi)Matlab,將當(dāng)前文件夾切換到ECO文件夾,在命令行窗口輸入insall;

? 在這一步驟中,會(huì)涉及到gcc版本問(wèn)題,我最開(kāi)始使用的是gcc4.7,執(zhí)行install的時(shí)候,會(huì)報(bào)warning,提示應(yīng)使用gcc4.9,并且在install結(jié)束時(shí)會(huì)報(bào)錯(cuò)。我嘗試去安裝gcc4.9,但是找不到安裝gcc4.9的源。

? 于是,我安裝了gcc5和gcc6,發(fā)現(xiàn)用這兩個(gè)版本的每個(gè)版本都可以成功的執(zhí)行install(雖然還是有waring)。

5.install成功后,執(zhí)行demo_ECO,成功的話,會(huì)看到如下圖所示的圖片(一幀一幀的動(dòng))

? 但是,,,怎么可能一次就成功呢!會(huì)出現(xiàn)這個(gè)錯(cuò)誤:

Invalid MEX-file '/home/matconvnet-1.0-beta20/matlab/mex/vl_nnconv.mexa64': /usr/local/MATLAB/R2016a/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /home/matconvnet-1.0-beta20/matlab/mex/vl_nnconv.mexa64)

? 這個(gè)問(wèn)題折磨了我好久,嘗試了很多辦法,終于找到了一個(gè)好使的!(出自https://stackoverflow.com/questions/25929332/version-glibcxx-3-4-11-not-found-required-by-buildw-mexglx?rq=1)

? 解決步驟如下:

? a.刪除/重命名Matlab的libstdc++.so,并將系統(tǒng)版本與相同名稱進(jìn)行符號(hào)鏈接:

sudo rm /usr/local/MATLAB/R20116b/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6 sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/local/MATLAB/R2016b/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6

? b.刪除Matlab版本,選擇系統(tǒng)中的libstdc++:?

sudo rm /usr/local/MATLAB/R2016b/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6

? c.添加環(huán)境變量

LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6 matlab

? 這樣就解決了上述問(wèn)題。

6.這時(shí),我又想運(yùn)行demo_ECO_gpu,結(jié)果,運(yùn)行時(shí)又報(bào)錯(cuò)了,如下:

Error using vl_nnconv An input is not a numeric array (or GPU support not compiled).Error in vl_simplenn (line 300) res(i+1).x = vl_nnconv(res(i).x, l.weights{1}, l.weights{2}, ...Error in get_cnn_layers (line 23) cnn_feat = vl_simplenn(fparams.net, im,[],[],'CuDNN',true, 'Mode', 'test');Error in extract_features (line 59) feature_map(ind:ind+num_blocks-1) = feat.getFeature(img_samples{img_sample_ind}, feat.fparams, gparams);Error in tracker (line 347) xl = extract_features(im, sample_pos, currentScaleFactor, features, global_fparams, feature_extract_info);Error in testing_ECO_gpu (line 129) results = tracker(params);Error in demo_ECO_gpu (line 13) results = testing_ECO_gpu(seq);

? 意思不就是你沒(méi)有對(duì)matconvnet進(jìn)行g(shù)pu的編譯么(大概是這個(gè)意思吧。。。),然后我就去對(duì)matconvnet進(jìn)行編譯去了,參考https://blog.csdn.net/qq_27432889/article/details/54866471和https://blog.csdn.net/m0_37407756/article/details/72541222,最后的vl_testnn('gpu', true)顯示如下結(jié)果:

? 按理說(shuō),應(yīng)該已經(jīng)編譯好了把,可是運(yùn)行demo_ECO_gpu還是報(bào)一樣的錯(cuò)誤,這個(gè)問(wèn)題待研究。

? 研究出來(lái)了,鏈接在這:https://blog.csdn.net/ms961516792/article/details/82762973

總結(jié)

以上是生活随笔為你收集整理的Visual Tracking:运行ECO模型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。