yolo生成和訓練資料集

2021-08-09 17:07:35 字數 2278 閱讀 2103

裡面共有兩個資料夾,現在我們使用的是xml2txt/xml2txt.py檔案來對我們資料進行處理,首先你需要把你所有標註的xml檔案和所有的檔案放在一起,就像這樣:

這是手機拍的**,所有檔名很麻煩。(明白博主為什麼要重新命名所有的了吧)。接著切到剛才的xml2txt.py資料夾內,使用命令:

python xml2txt.py 0 /home/lucky/open/wires/1016wire /home/lucky/open/wires/picture_voc/10.22 /home/lucky/yolo/darknet/data/voc.names

python pic2txt.py /home/lucky/open/wires/picture_voc/10.22 /home/lucky/open/10.22
python pic2txt.py是指使用python 執行pic2txt檔案。

/home/lucky/open/wires/picture_voc/10.22 是我們之前整理後的和txt檔案所在的路徑。切記不要在後面加/。

/home/lucky/open 是為了我們可能要在伺服器上訓練網路,那時的我們的路徑肯定和我們電腦的上路徑不一樣,例如我們電腦上路徑在/home/lucky/open/wires/picture_voc/10.22 ,當我們把整個資料夾copy到伺服器上的時候,放在了/home/lucky/open目錄下,如果yolo網路仍然通過/home/lucky/open/wires/picture_voc/10.22來查詢的話是肯定找不到的。所以我們需要修改為伺服器的路徑。

開始執行之後,電腦開始瘋**作:

結束之後會在我們的和txt的資料夾內生成乙個train.txt,開啟就有:

至此,我們大部分的準備都已經完成了,接下來開始訓練了。

首先,如果你要把訓練部分放在伺服器進行,你需要把我們的和txt資料夾全部拷貝到伺服器,而且,路徑要和上文的伺服器路徑一致。否則,yolo找不到所在位置。

假設你已經搞ok了。

yolo訓練網路需要配置檔案,和data檔案,命令如下

./darknet detector train cfg/voc.data cfg/yolo-voc.cfg
./darknet detector train 是指使用darknet的train函式。

cfg/voc.data是一些資訊檔案,我們需要修改這個檔案,或者指向你自己的資訊檔案。我的資訊檔案如下所示:

classes是指訓練中的物體的類別的個數,這裡博主只訓練了一種,所以為1.

train是告訴yolo,所有的訓練的位置,指向的就是我們之前生成的train.txt檔案。

valid是yolo的測試檔案的路徑檔案,因為我們只訓練,所以不需要修改,或者不要動。

names是所有類別的檔案,就是我們上文提到的voc.names,貌似這裡沒什麼用。

backup是指訓練後的weights檔案存放的位置。

cfg/yolo-voc.cfg是yolo網路的配置檔案,如果我們使用tiny-yolo,就使用cfg/tiny-yolo-voc.cfg。但是還是需要修改一下裡面的內容。在cfg檔案的最後一層輸出層中

因為我們訓練的類別數目不一樣,所以最後一層的filters的數量也不一樣,計算公式為5*(class_num+5),如果我們只有乙個訓練數目的話,則filters=30.可參考blog.csdn.net/zhuiqiuk/article/details/70167963

修改完這些這些配置之後,開始,執行!,等待他執行結束之後,會在backup內輸出乙個weights檔案,就是我們的訓練後的資料,我們可以使用該檔案檢測識別我們識別的物體。如果想測試訓練後的weights檔案的可靠性,可以看博主另外一篇文章。介紹yolo的map的資料生成。

歡迎讀者一起討論,或者聯絡博主[email protected]

YOLO訓練自己的資料集

很高興現在已經有幾百人通過我的教程成功地使用yolo處理自己的資料集。最近一直在用cnn的模型做影象二分類,但苦於效果不佳,於是把影象分類問題轉作目標識別問題。做目標識別選擇了yolo you only look once 乙個最近推出的方法,突出的優點就是速度快。查詢了網上關於yolo的訓練自己資...

使用YOLO訓練Kitti資料集

其他文章 上次寫了一篇關於使用yolo訓練voc資料集的文章,傳送門 article details 78724314 但是總不能只使用乙個資料集,多使用幾個資料集看看效果。因為我主要在做車輛和行人方面的檢測。正好kitti 資料集是做無人駕駛方面的公開權威資料集,包含大量公路,城市街道等各種路況的...

yolo訓練資料

第一點資料集的標註 使用linux下資料標註工具 bbox生成的檔案格式 lines x1 y1 x2 y1 x3 y3 x4 y4 第一行的資料是總共引數的行數,第二行x,y為所框物件的頂點座標。如果使用python指令碼進行資料的轉換完全不用理會。重點在於下面幾行座標的轉換。在yolo中需要的座...