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.py和util.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版本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 恋与抽卡模拟器网页_恋与制作人抽卡模拟器
- 下一篇: 【演示文稿制作动画】Focusky教程