使用DOTA devkit進行旋轉框mAP計算

2021-10-25 01:57:45 字數 2030 閱讀 7077

the code is useful for dota or odai. the code provide the following function

1.load and image, and show the bounding box on it.

2.evaluate the result.

3.split and merge the picture and label.

1.可以在上顯示包圍框

2.評估結果

3.切分和標籤

1.install swig

首先安裝swig

sudo apt-get install swig

2.create the c++ extension for python

在dota_devkit-master資料夾執行以下命令進行編譯:

swig -c++ -python polyiou.i

python setup.py build_ext --inplace

1.for read and visualize data, you can use dota.py

2.for evaluation the result, you can refer to the 「dota_evaluation_task1.py」 and 「dota_evaluation_task2.py」

3.for split the large image, you can refer to the 「imgsplit」

4.for merge the results detected on the patches, you can refer to the resultmerge.py

其它的不是本文重點,主要是第二條,評估結果。

使用"dota_evaluation_task1.py" 和 「dota_evaluation_task2.py」

下面來重點看一下評估指令碼

需要我們修改的就兩個部分,如圖,

一是三個路徑:detpath、annopath、imagesetfile

二是類別名稱:classnames

資料夾需要修改的部分要特別注意:我就趟過坑,只要改前面資料夾的部分,後面/.txt或者/task1_.txt不用動。

下面我們乙個乙個來看,先看第二個資料夾,裡面存放的就是dota資料集格式的檔案,乙個對應乙個txt檔案

dota資料集的格式:

前面兩行不用管

後面的前八個數字為包圍框的四點座標,x0,y0,x1,y1,x2,y2,x3,y3,後面是類別,最後是difficult,不用管。

第乙個資料夾,存放的是結果檔案,每個類有乙個txt檔案,每個txt檔案裡面,一行對應乙個目標,第乙個引數是名稱,第二個是置信度,後面八個是四點座標。注意:所有的置信度都會被列出來,在評估的時候,p-r曲線是置信度由大到小計算的。另外,可以通過ovthresh設定**框和標籤iou的閾值,在上面提到的評估指令碼裡,很容易找到,這裡就不貼圖了,這個值越大,說明需要越大的iou才能被列為tp。

第三個檔案,是乙個txt,列出了所有的名稱,一行乙個,沒有字尾。

最後會執行出來類似於下面的結果:

map: 0.701

classaps: [75.4753906 53.58937359 36.51126095 93.30143266 92.08902632]

classaps對應於前面說的classnames裡面的每個類的ap值

至於怎麼生成需要的那三個資料夾或檔案,那可能就要自己寫指令碼轉換啦,每個人的模型需要的訓練檔案格式、以及生成的結果不大一樣,沒有通用性,所以我就不貼出來自己的了,寫轉換指令碼應該是分分鐘的事情啦,o(∩_∩)o哈哈~。

寫的有點亂,不喜可噴。

玩轉四旋翼無人機(DJI SDK 使用)

onboard api matrice 100 被設計為可以使用遙控器 機載備和 移動 裝置進行控制。如果遙控器讓飛切換到 api控制模式,裝置通過 onboard api mobile api可以請求獲得控制權。啟用 api控制 之後 將遙控器模式開關置為中位 f檔 啟動示例 啟動示例 1.編譯 ...

使用with進行回溯

with dept deptid,pdeptid as select udepid,uparentid from oa.dbo.depinfo where udepid in select p.udepid from oa.dbo.postinfo as p inner join oa.dbo.us...

使用進行Google攻擊

使用進行google攻擊 google是乙個功能強大的搜尋引擎,通過預定義命令,可以查詢出令人難以置信的結果。利用google搜尋智慧型搜尋,甚至可以進入部分遠端伺服器獲取機密 搜尋敏感資訊,造成資訊洩露。本文從安全角度,對google這一工具進行深度資訊挖掘。google高階搜尋語法 討論goog...