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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

OTB官方评估代码python版本

發布時間:2024/1/1 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OTB官方评估代码python版本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

可參考:OTB官方評估代碼python版本--評估自己跟蹤器,對比其他跟蹤器

博主寫的很好,按照步驟可以運行

?

以下有幾點注意的地方

1、我是用ubuntu系統,創建虛擬環境安裝的python=2.7.13

2、數據集是直接下載的博主整理好的

??? ? 如果要自己整理的話,按照博主教程整理即可,特別注意這一個步驟:

????? 在matlab版本的benchmark_v1.0.zip(matlab版本的OTB官方評估代碼)里面有個initOmit文件夾,里面對應27個序列中不能作為初始化幀的記錄,只要把他們都復制到對應序列下,并且全部重命名成init_omit.txt

3、自己的跟蹤器結果

????? 我是用的MDnet結果(目前開源的一些跟蹤器結果網上可以找到),100個txt格式文件,沒有times文件夾,所以save_to_json.py第27行可以注釋掉或刪掉,不然會報錯

????? 然后save_to_json.py中修改這兩個地方

tracker = 'MDNet' # replace your own path txt_Results = 'your own path/MDNet'

注意自己跟蹤器結果txt文件命名要與data/tb_100.txt文件中跟蹤器命名一致,不然會報錯

(例如我的文件Faceocc1.txt實際應該改為:FaceOcc1.txt)

????? 還有就是博主的SiamFC文件夾中幾個特殊序列的命名為Human4、Jogging.1、Jogging.2、Skating2.1、Skating2.2,而我的就是Human4-2、Jogging-1、Jogging-2、Skating2-1、Skating2-2,所以我對util.py修改了下,修改結果為:

def _convert_name(oldname):newname = Noneif oldname == 'Human4-2':newname = 'Human4-2'elif oldname == 'Jogging-1':newname = 'Jogging-1'elif oldname == 'Jogging-2':newname = 'Jogging-2'elif oldname == 'Skating2-1':newname = 'Skating2-1'elif oldname == 'Skating2-2':newname = 'Skating2-2'

就是遇見這幾個序列也不改變文件名。

????? 這兩個py文件,util.py只是被save_to_json.py調用的。

4、我的實驗結果就是JSON格式,要不要創建save_to_json.pyutil.py這兩個文件

????? 雖然自己的結果也是JSON格式,但是自己的JSON格式不一定符合這個代碼的格式,如果可以保證,則不需要這兩個py文件,可以得到結果。

????? 自己可以跑完實驗結果試一下,看可以嗎。

5、通過運行run_trackers.py產生的是各個屬性的json文件,最后畫圖只是調用了ALL.json文件畫的。

????? 在draw_graph.py中修改兩個地方可以畫出MB等各屬性的曲線(個人猜測,嘗試了下應該是對的

??? ? def get_overlap_graph 和 def get_precision_graph中的兩句話:

??????? tracker = result[0].tracker
??????? attr = result[0]

?因為最后獲得了12個json文件, result[0] 應該就是調用的第一個ALL.json,那么result[1]應該就是第二個 BC.json,自己可以試試。那兩句代碼的具體位置例如下面紅色部分:

def get_overlap_graph(scoreList, fignum, evalType, testname):
??? fig = plt.figure(num=fignum, figsize=(9,6), dpi=70)
??? rankList = sorted(scoreList,
??????? key=lambda o: sum(o[0].successRateList), reverse=True)
??? for i in range(len(rankList)):
??????? result = rankList[i]
??????? tracker = result[0].tracker? ?
??????? attr = result[0]

我按照本方法跑了下MDNet實驗結果(后面又將官方的.mat結果轉成.txt結果重新跑了下,發現和我收集的MDNet結果一樣,故收集的MDNet實驗結果是對的),

發現和論文中提供的有一點點小的差距,不過非常接近,論文中給的結果是matlab中.mat格式,不知道是不是這個原因。

除了MDNet方法,別的官方給出的跟蹤器結果和博主跑出的結果一致,例如:CSK、MUSTer等。

結果如下:

?

總結

以上是生活随笔為你收集整理的OTB官方评估代码python版本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。