Pascalvoc資料集製作
用深度學習做物體檢測的都離不開資料集,本文教你如何製作自己的資料集,格式為Pascalvoc。整個流程如下。
使用方法非常簡單,網上各種教程。
2.建立Pascalvoc目錄結構,在指定目錄下建立Annatations、ImageSets、JPEGImages三個資料夾即可。在ImageSets目錄下建立Main資料夾。目錄結構如下:
./
Annatations
ImageSets
Main
JPEGImages
3.由於Pascalvoc影象命名格式為000001.jpg,因此你需要把你的影象也按照這種排序規則命名。這裡提供一份python程式:
# -*- coding:utf8 -*- import os import sys class BatchRename(): ''''' 批量重新命名資料夾中的圖片檔案 ''' def __init__(self): #給定目標目錄 self.path = './JPEGImages' def rename(self): filelist = os.listdir(self.path) total_num = len(filelist) i = 1 n = 6 for item in filelist: if item.endswith('.jpg'): n = 6 - len(str(i)) src = os.path.join(os.path.abspath(self.path), item) dst = os.path.join(os.path.abspath(self.path), str(0)*n + str(i) + '.jpg') try: os.rename(src, dst) #print ('converting %s to %s ...' % (src, dst) ) i = i + 1 except: continue if __name__ == '__main__': demo = BatchRename() demo.rename()
4.用Label-Image工具依次對./JPEGImages資料夾中的所有影象進行標註,每一張影象都會生成對應的xxx.xml檔案,將所有的xml檔案放在Annatations目錄裡。下面是標註的例子:
5.最後劃分訓練樣本,測試樣本,驗證樣本。
Matlab版程式碼如下:
%% %該程式碼根據已生成的xml,製作VOC2007資料集中的trainval.txt;train.txt;test.txt和val.txt %trainval佔總資料集的50%,test佔總資料集的50%;train佔trainval的50%,val佔trainval的50%; %上面所佔百分比可根據自己的資料集修改,如果資料集比較少,test和val可少一些 %% %注意修改下面四個值 xmlfilepath='Annotations'; txtsavepath='ImageSets\Main\\'; trainval_percent=0.6;%trainval佔整個資料集的百分比,剩下部分就是test所佔百分比 train_percent=0.6;%train佔trainval的百分比,剩下部分就是val所佔百分比 xmlfile=dir(xmlfilepath); numOfxml=length(xmlfile)-2; trainval=sort(randperm(numOfxml,floor(numOfxml*trainval_percent))); test=sort(setdiff(1:numOfxml,trainval)); trainvalsize=length(trainval);%trainval的大小 train=sort(trainval(randperm(trainvalsize,floor(trainvalsize*train_percent)))); val=sort(setdiff(trainval,train)); ftrainval=fopen([txtsavepath 'trainval.txt'],'w'); ftest=fopen([txtsavepath 'test.txt'],'w'); ftrain=fopen([txtsavepath 'train.txt'],'w'); fval=fopen([txtsavepath 'val.txt'],'w'); for i=1:numOfxml if ismember(i,trainval) fprintf(ftrainval,'%s\n',xmlfile(i+2).name(1:end-4)); if ismember(i,train) fprintf(ftrain,'%s\n',xmlfile(i+2).name(1:end-4)); else fprintf(fval,'%s\n',xmlfile(i+2).name(1:end-4)); end else fprintf(ftest,'%s\n',xmlfile(i+2).name(1:end-4)); end end fclose(ftrainval); fclose(ftrain); fclose(fval); fclose(ftest);
Python版程式碼如下:
# -*- coding:utf8 -*- import os import random trainval_percent = 0.66 train_percent = 0.5 xmlfilepath = 'Annatations' txtsavepath = 'ImageSets\Main' total_xml = os.listdir(xmlfilepath) num=len(total_xml) list=range(num) tv=int(num*trainval_percent) tr=int(tv*train_percent) trainval= random.sample(list,tv) train=random.sample(trainval,tr) ftrainval = open('ImageSets/Main/trainval.txt', 'w') ftest = open('ImageSets/Main/test.txt', 'w') ftrain = open('ImageSets/Main/train.txt', 'w') fval = open('ImageSets/Main/val.txt', 'w') for i in list: name=total_xml[i][:-4]+'\n' if i in trainval: ftrainval.write(name) if i in train: ftrain.write(name) else: fval.write(name) else: ftest.write(name) ftrainval.close() ftrain.close() fval.close() ftest .close()
下一篇將會介紹如何用Tensorflow-SSD演算法訓練自己製作的Pascalvoc資料集。
相關推薦
Pascalvoc資料集製作
用深度學習做物體檢測的都離不開資料集,本文教你如何製作自己的資料集,格式為Pascalvoc。整個流程如下。 使用方法非常簡單,網上各種教程。 2.建立Pascalvoc目錄結構,在指定目錄下建立Annatations、ImageSets、JPEGImages三個資料
資料集製作之xml檔案轉化為csv
# -*- coding: utf-8 -*- """ 將資料夾內所有XML檔案的資訊記錄到CSV檔案中 """ import os import glob import pandas as pd import xml.etree.ElementTree as ET os.chdir('
資料集製作之txt轉xml
問題描述: 現有images圖片,txt檔案包含四種類別bounding box 座標,需要將txt中兩種類別座標提取出來並轉化成xml檔案。 images資料夾中有18184張圖片,txt資料夾中只有16907個txt檔案(即有一千多張圖片是沒有標註的,需要將這些圖片刪除
論文Multi-Perspective Sentence Similarity Modeling with Convolution Neural Networks實現之資料集製作
1.資料集 本文采用的是STS資料集,如下圖所示,包括所有的2012-2016年的資料,而all資料夾包含2012-2015的所有資料。 每一個檔案的具體資料如下所示,每一行為一個三元組:<相似性得分,句子1,句子2>. 在實現時將all資料夾中的所有資料當作
VOC格式資料集製作
rename %% %圖片儲存路徑為: %E:\image\car %E:\image\person %car和person是儲存車和行人的資料夾 %這些資料夾還可以有多個, %放在image資料夾裡就行 %該程式碼的作用是將圖片名字改成000123.jp
VOC2007格式資料集製作
<div class="article-copyright"> 版權宣告:本文為博主原創文章,轉載需宣告出處。 http
關於資料集製作過程中對圖片的一些操作
#給圖片建立資料名稱列表: ls > list.txt 給當目錄下的圖片在當前目錄下一個名為list.txt的圖片名稱列表文字檔案 #在已建立圖片名稱列表文字檔案的前提下,給圖片增添型別號 在圖片所在的資料夾下開啟終端,執行下列命令: sed -i “1
影象分割 | FCN資料集製作的全流程(影象標註)
一 全卷積神經網路 文章所有程式碼已上傳至github,覺得好用就給個star吧,謝謝 深度學習影象分割(FCN)訓練自己的模型大致可以以下三步: 1.為自己的資料製作label; 2.將自己的資料分為train,val和test集; 3.仿照voc_lyaers.py編寫自己的輸入資料層。
caffe fcn資料集製作 -標籤
caffe下fcn資料集的製作:看過我上篇部落格的人,想必已經跑通了作者的fcn資料集,現在就是製作自己的資料集並進行訓練。其實不難,首先我們分析一下作者的資料集。根據他的資料集,模仿一個即可。首先我們看作者訓練時需要的兩個資料集voc和dataset(這裡我的voc,我自己改了名字叫做voc2016):
MXNET資料集製作,生成rec檔案
https://github.com/apache/incubator-mxnet/blob/master/tools/im2rec.py (一)製作rec資料集 (1)下載im2rec.py 檔案 (2)python im2rec.py train 檔案地址(內部按類別分成不同的資料夾)
ubuntu 使用yolov3 yolo-tiny-v3 基於cudnn 7.1 + cuda 9.1 + opencv 3.4.0 以及yolo資料集製作
1.我在Ubuntu官網上直接下載並安裝ubuntu ,顯示卡使用的gtx10702.在nvidia官網家上下載cuda9.1 runtime ubuntu16.04版本3.下載cudnn7.1 (需要註冊)4.在opencv官網上下載opencv3.4.0 原始碼5.在nv
利用Darket 和YOLOV3訓練自己的資料集(製作VOC)
1. 配置Darknet 下載darknet原始碼:git clone https://github.com/pjreddie/darknet 進入darknet目錄: cd darknet 如果是cpu直接make,否則需要修改Makefile,設
Tensorflow框架下Faster-RCNN實踐(一)——Faster-RCNN所需資料集製作(附程式碼)
最近剛實現了在Ubuntu16.04、Tensorfllow1.0下 Faster R-CNN 從資料製作到訓練再到利用生成的模型檢測的測試圖片的全過程,現在將具體的過程記錄在部落格,方便遇到困惑或者需要的朋友檢視。 製作資料集 利用Fast
tensorflow資料集製作/檔案佇列讀取方式
3種資料讀取方式 TensorFlow程式讀取資料一共有3種方法: 供給資料(Feeding): 在TensorFlow程式執行的每一步, 讓Python程式碼來供給資料。 從檔案讀取資料: 在TensorFlow圖的起始, 讓一個輸入管線從檔案中讀取資料
Faster RCNN從demo到訓練自己的資料(3)——資料集製作篇
製作資料集可以選擇自己編寫一個demo,也可以直接下載labelImg進行標註。Faster RCNN需要的標註檔案為xml檔案。 我是自己編寫的一個demo,標記出每一張圖片的座標框和分類,生成的文字為txt檔案,也是常見的caffe標註規格,如下圖。 1.將txt
影象資料集製作
影象資料集的製作分為以下2個步驟:1.將影象資訊資料化 2.給每一幅影象貼上對應的標籤 .使用PIL中的Image模組將圖片的資訊資料化,整個處理過程都已經封裝好了的,需要修改的地方就是資料夾的路徑和資料夾的名字classes,直接上程式碼: import
模仿mnist資料集製作自己的資料集
#include "Image_to_BinaryData.h" int main() { Image2BinaryData IBD(28,28); //設定圖片大小(Height,Width) /*------------生成訓練集檔案--------------------
超級簡單的VOC2007資料集製作——使用自制的VOC2007資料集製作工具
使用自制VOC2007資料集製作工具 本人win10 64位系統 操作沒有問題(其他系統沒有試過),在有的機子測試會出現應用程式無法正常啟動0xc0000007b,請從以下幾個方面排查 1.建立資料夾 首先建立一個名字為VOC2007的資料夾,在該資料夾
Faster R-CNN Tensorflow實現之資料集製作(2)--- xml檔案的讀寫修改
接著上一篇的文章繼續製作自己的資料集,由於需要將資料集弄成與VOC 2007資料集一樣的格式,需要自己手動標註資料,根據網上前輩的經驗,這裡使用了labelImg,版本用了windows_v1 .7.0,操作簡單方便。使用該軟體進行標註後將直接生成以與圖片名稱相同的.XML檔
【tensorflow入門教程二】資料集製作:使用TFRecords製作資料集並使用inceptionv3進行訓練
這篇文章中,我們將探討深度學習中最基本的問題,影象分類中的資料集以及標籤的製作;以及使用Inceptionv3網路對其進行訓練。PS:文末附博文配套程式碼以及資料集原圖的下載。先上一張最後的訓練結果圖:17flowers資料集17flowers資料集包含有17種不同的花的圖片