一、獲取源碼
首先,從github上拉取代碼。
git clone [email protected]:AlexeyAB/Yolo_mark.git
二、編譯可執行文件
然後用visual studio打開yolo_mark.sln,配置正確的opencv包含目錄和庫目錄。
編譯release版本的yolo_mark.exe。
三、測試
打開cmd,進入到Yolo_mark\x64\Release路徑下,執行yolo_mark.cmd。
會打開如下的界面。
四、分析
來看一下yolo_mark.cmd的內容。
- echo Example how to start marking bouded boxes for training set Yolo v2
-
-
- yolo_mark.exe data/img data/train.txt data/obj.names
-
-
- pause
其實就是調用了yolo_mark.exe,然後傳遞了幾個參數。
data/img是訓練的數據集,裏面包含圖片和每一張圖片對應的標註數據。
data/train.txt是數據集的相對路徑集合。
data/obj.data是數據集的配置信息。
data/obj.names是數據集所有分類類名。
yolo_mark是將所有類別以object id的形式展示出來。
五、標註自己的數據集
經過上面的分析,我們已經大致知道要標註自己的數據集需要修改哪些文件了。
我有一個文件夾名爲myDataset的數據集,現在我將它拷貝到Yolo_mark\x64\Release\data目錄下。
這個數據集也只有兩個分類:cat和dog。
接下來新建一個名爲my_obj.names的文件,在裏面添加如下內容:
再新建一個名爲my_obj.data的文件,在裏面添加如下內容。
最後新建一個名爲my_yolo_mark.cmd的文件,在裏面添加如下內容:
然後在終端運行my_yolo_mark.cmd,打開如下界面:
現在就可以對自己的數據集進行標註了。
按下鍵盤上的h鍵可以顯示軟件的使用快捷鍵。
拖動object id的滑條選擇當前標註的框屬於哪個類別。
每標註一張圖片就會產生一個對應的txt文件,txt文件的內容如下:
第一個數字代表類別,後面的四個數據是標註框的信息,分別是標註框左上角的x,y座標,標註框的寬w,高h。每一行是一個標註對象,如果一張圖片中有多個目標,則txt就對應有多少行。