第一點資料集的標註:
使用linux下資料標註工具
bbox生成的檔案格式:
lines
x1 y1 x2 y1
x3 y3 x4 y4
...
第一行的資料是總共引數的行數,第二行x,y為所框物件的頂點座標。如果使用python指令碼進行資料的轉換完全不用理會。重點在於下面幾行座標的轉換。
在yolo中需要的座標格式為:
label x y w h
其中label為標籤,x ,y為box的中心座標/的寬度,高度。同理w,h為box的寬度和高度/的寬度,高度。
程式需要的檔案位置格式:
其中jpg資料夾存放資料集,labels資料夾存放對應的資料集標籤,train.txt存放jpg中每個檔案所在的位置。
程式改動:
gpu = 1
cudnn = 0
oepncv = 1
debug = 0
nvcc = /usr/local/cuda-7.5/bin/nvcc
common+=-dgpu -i/usr/local/cuda-7.5/include/
cflags+= -dgpu
ldflags+= -l/usr/local/cuda-7.5/lib64 -lcuda -lcudart -lcublas -lcurand
按照上面改動,然後remake一下就好了,可以輸入./darknet測試,不報錯就正確的了。這就可以使用gpu和opencv了。
因為我只是訓練了car bus people,所以偷懶就直接從voc資料集上改一改。
首先把原先voc資料集中的和label全都刪除,放入自己的jpg和labels,py檔案生成train.txt。
修改src/yolo.c
cahr *train_images = "/path/to/train.txt";
char *backup_direcyory = "/path/to/backup/";
這樣就可以了。
最後進行訓練,我使用資料集為car 489,bus 148,由於bus的數量比較少,所以bus的識別效果並不是好。
下面是car的識別:
YOLO訓練自己的資料集
很高興現在已經有幾百人通過我的教程成功地使用yolo處理自己的資料集。最近一直在用cnn的模型做影象二分類,但苦於效果不佳,於是把影象分類問題轉作目標識別問題。做目標識別選擇了yolo you only look once 乙個最近推出的方法,突出的優點就是速度快。查詢了網上關於yolo的訓練自己資...
yolo生成和訓練資料集
裡面共有兩個資料夾,現在我們使用的是xml2txt xml2txt.py檔案來對我們資料進行處理,首先你需要把你所有標註的xml檔案和所有的檔案放在一起,就像這樣 這是手機拍的 所有檔名很麻煩。明白博主為什麼要重新命名所有的了吧 接著切到剛才的xml2txt.py資料夾內,使用命令 python x...
使用YOLO訓練Kitti資料集
其他文章 上次寫了一篇關於使用yolo訓練voc資料集的文章,傳送門 article details 78724314 但是總不能只使用乙個資料集,多使用幾個資料集看看效果。因為我主要在做車輛和行人方面的檢測。正好kitti 資料集是做無人駕駛方面的公開權威資料集,包含大量公路,城市街道等各種路況的...