1. 程式人生 > >YOLOV3實戰5:利用三方工具繪製P-R曲線

YOLOV3實戰5:利用三方工具繪製P-R曲線

大家好,我是小p,這篇文章主要給大家介紹一下如何利用第三方指令碼繪製P-R曲線。 對“物件檢測”感興趣的小夥伴,歡迎加入物件檢測群813221712討論和交流,進群請看群公告! 說明: 本教程是基於KITTI的評價矩陣標準進行的,會繪製3條曲線,分別是Easy,如示例圖: 在這裡插入圖片描述 Moderate和Hard級別,檢測結果也需要按照KITTI的標準進行調整,廢話少說,開始正題! 一、下載指令碼 指令碼連結:https://github.com/MarvinTeichmann/KittiBox 二、指令碼檔案說明 進入根目錄,依次進入/submodules/KittiObjective2/ 此時目錄下一共6個物件: 1、val_gt

資料夾儲存樣本的標籤文件,開啟 000000.txt 舉例說明其組織格式: Pedestrian 0.00 1 0.30 883.68 144.15 937.35 259.01 1.90 0.42 1.04 5.06 1.43 12.42 0.68 Pedestrian 0.00 2 0.29 873.70 152.10 933.44 256.07 1.87 0.50 0.90 5.42 1.50 13.43 0.67 Car 0.00 0 1.74 444.29 171.04 504.95 225.82 1.86 1.57 3.83 -4.95 1.83 26.64 1.55 Pedestrian 0.00 0 -0.39 649.28 168.10 664.61 206.40 1.78 0.53 0.95 2.20 1.57 34.08 -0.33 Car 0.98 0 2.42 0.00 217.12 85.92 374.00 1.50 1.46 3.70 -5.12 1.85 4.13 1.56 Pedestrian 0.00 0 2.02 240.35 190.31 268.02 261.61 1.54 0.57 0.41 -7.92 1.94 15.95 1.57 DontCare -1 -1 -10 0.00 226.06 88.58 373.00 -1 -1 -1 -1000 -1000 -1000 -10 DontCare -1 -1 -10 567.39 173.95 574.86 190.60 -1 -1 -1 -1000 -1000 -1000 -10 DontCare -1 -1 -10 727.58 165.75 737.08 192.75 -1 -1 -1 -1000 -1000 -1000 這是KITTI資料的註釋標準,第一列表示類別,4-7列分別表示矩形框的左上、右下的座標,其他值可自行查閱 2、val_pred
資料夾儲存樣本的預測結果,注意每張圖片的預測結果文件以.txt形式儲存,檔名和val_gt中的 要對應上,一張圖片的檢測結果寫在一個txt中,一個矩形框寫一行,開啟 000011.txt 說明: Car 0 1 0 442.462500 173.177083 507.150000 225.260417 0 0 0 0 0 0 0 0.995087 Car 0 1 0 1.293750 189.453125 97.031250 375.651042 0 0 0 0 0 0 0 0.983480 第一列代表類別,2-3列可以隨意填寫,4-7列為矩形框資訊,同上,8-14列可以任意填寫,最後一列為檢測框 的置信率,即是包含物體的可能性,注意,檢測結果的每一行比標籤的每一行要多一列 3、makefile 進行make生成工具 4、evaluate_object.cpp 繪圖的指令碼cpp 三、安裝必要環境,測試指令碼
在/submodules/KittiObjective2/目錄下,執行命令,make clean,然後make,通常情況下會提示安裝 “GNUPLOT”工具,這個安裝很簡單,一條命令搞定:sudo apt-get install gnuplo 隨後執行命令/evaluate_object2 val_pred val_gt看有無錯誤,基本不會出錯! 四、準備資料的注意點 1、標籤檔案放入val_gt資料夾 2、檢測結果放入val_pred資料夾 3、檔案格式一定按照要求寫 4、檔案命名修改:必須是6位的數字,如:000000.txt和000001.txt,且標籤和檢測結果相對應,要改檔名也很 簡單,可以自行寫個小指令碼處理,參照原先檔案下下面的標準,依葫蘆畫瓢! 五、繪製曲線 首先更改evaluate_object.cpp中的 const int32_t N_MAXIMAGES = 7518; const int32_t N_TESTIMAGES = 481; 其數值表示你此次樣本的數量,自行修改 然後make,執行命令:run evaluate_object2 /path/to/prediction /path/to/gt 生成的曲線便在你檢測結果的資料夾的子資料夾/plot/中 六、加群交流 碼字不易,少俠且行且珍惜!