日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[2] SSD配置+训练VOC0712+训练自己的数据集

發布時間:2025/3/21 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [2] SSD配置+训练VOC0712+训练自己的数据集 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

GitHub https://github.com/weiliu89/caffe/tree/ssd

http://blog.csdn.net/u010733679/article/details/52125597

一、安裝配置

sudo apt-get install -y liblapack-dev liblapack3 libopenblas-base libopenblas-dev------------------------------------------------------------------------------- 1. git clone https://github.com/weiliu89/caffe.git cd caffe git checkout ssd2.Makefile.config caffe --> SSD/caffe3. make -j8 make py make test -j8 make runtest -j84.寫入環境變量 sudo gedit /etc/profileexport PYTHONPATH=/home/gjw/SSD/caffe/python 注銷

===================================================

二、測試

[注]下載訓練好的模型進行下面的測試 (1)訓練好的模型名稱:models_VGGNet_VOC0712_SSD_300x300.tar.gz (2)鏈接 https://drive.google.com/file/d/0BzKzrI_SkD1_WVVTSmQxU0dVRzA/view (3)解壓,/models/VGGNet--->~/caffe/model

測試一:視頻、攝像頭

[測試1] 演示網絡攝像頭識別效果,終端輸入:python examples/ssd/ssd_pascal_webcam.py [測試2] python examples/ssd/ssd_pascal_video.py

測試二: 訓練VOC數據集

首先我們不妨先跑一下項目的demo, 需要下載數據集,提前訓練好的數據集等。 下載預訓練的模型,鏈接:https://gist.github.com/weiliu89/2ed6e13bfd5b57cf81d6, 下載完成后保存在:caffe/models/VGGNet/1. 下載VOC2007和VOC2012數據集, 放在/data目錄下:cd data wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tartar -xvf VOCtrainval_11-May-2012.tar tar -xvf VOCtrainval_06-Nov-2007.tar tar -xvf VOCtest_06-Nov-2007.tar2. 創建lmdb格式的數據:cd caffe ./data/VOC0712/create_list.sh ./data/VOC0712/create_data.sh3. (1)gpu-->"0,1,2,3" (2)batch_size = 8 #32accum_batch_size = 8 #32 (3)訓練VOC數據集python examples/ssd/ssd_pascal.py

************************************************************

************************************************************

三、訓練自己的數據集

1.制作VOC2007數據集:labelImg工具

/data/VOCdevkit/driver /data/VOCdevkit/driver/Annotations /data/VOCdevkit/driver/ImageSets /data/VOCdevkit/driver/JPEGImages

2.VOC數據轉換成LMDB數據

  SSD提供了VOC數據到LMDB數據的轉換腳本 data/VOC0712/create_list.sh 和 ./data/VOC0712/create_data.sh,這兩個腳本是完全針對VOC0712目錄下的數據進行的轉換。實現中為了不破壞VOC0712目錄下的數據內容,針對我們自己的數據集,修改了上面這兩個腳本, 將腳本中涉及到VOC0712的信息替換成我們自己的目錄信息。 在處理我們的數據集時,將VOC0712替換成driver。 ------------------------------------------------------------------------------------- (1)mkdir /home/gjw/SSD/caffe/data/driver (2)將data/VOC0712下的create_list.sh,create_data.sh,labelmap_voc.prototxt 這三個文件copy到driver目錄下 (3) 修改后的這兩個文件分別為: [create_list.sh]for name in VOC2007 VOC2012 --> for name in driver[create_data.sh]dataset_name="VOC0712" --> dataset_name="driver"[labelmap_voc.prototxt]將該文件中的類別修改成和自己的數據集相匹配 (4)$ ./data/driver/create_list.sh 在/home/gjw/SSD/caffe/data/driver目錄下test.txt,test_name_size.txt,trainval.txt$ ./data/driver/create_data.sh 在/home/gjw/data/VOCdevkit/driver/lmdb目錄下查看轉換完成的LMDB數據數據

3. 使用SSD進行自己數據集的訓練

VGG_ILSVRC_16_layers_fc_reduced.caffemodel:https://gist.github.com/weiliu89/2ed6e13bfd5

b57cf81d6

http://pan.baidu.com/s/1o8hpU7g 72fm

訓練時使用ssd demo中提供的預訓練好的VGGnet model : VGG_ILSVRC_16_layers_fc_reduced.caffemodel 將該模型保存到$CAFFE_ROOT/models/VGGNet下。將$CAFFE_ROOT/examples/ssd/ssd_pascal.py copy一份 ssd_pascal_driver.py文件, 根據自己的數據集修改ssd_pascal_driver.py主要修改點:(1)train_data和test_data修改成指向自己的數據集LMDBtrain_data = "examples/driver/driver_trainval_lmdb"test_data = "examples/driver/driver_test_lmdb"save_dir = "models/VGGNet/driver/{}".format(job_name)snapshot_dir = "models/VGGNet/driver/{}".format(job_name)job_dir = "jobs/VGGNet/person/{}".format(job_name)output_result_dir = "{}/data/VOCdevkit/driver/VOC2007/{}/Main".format(os.environ ['HOME'], job_name)name_size_file = "data/driver/test_name_size.txt"label_map_file = "data/driver/labelmap_voc.prototxt"2) num_test_image該變量修改成自己數據集中測試數據的數量 (3) num_classes 該變量修改成自己數據集中 標簽類別數量數 + 14)batch_size = 1 # 32 accum_batch_size = 1 test_batch_size = 1 base_lr = 0.000004 'max_iter': 120000 'test_interval': 100000----------------------------------------------------------------- examples/ssd/ssd_pascal.pygpu = '0,1,2,3' --> gpu = '0' 訓練命令: python examples/ssd/ssd_pascal_driver.pyVGG_VOC0712_SSD_300x300_iter_????.caffemodel存放在目錄$CAFFE_ROOT/SSD/caffe/models/VGGNet/person/SSD_300x3001、 訓練sudo gedit ~/SSD/caffe/examples/ssd/ssd_pascal.py (1)gpus=’0,1,2,3’ (2) 如果出現問題cudasuccess(2vs0)則說明您的顯卡計算量有限,再次batch_size =32 //32 16 8 4 (3) cd ~/SSD/caffepython examples/ssd/ssd_pascal.py2、 精度測試 終端輸入:python examples\ssd\score_ssd_pascal.py 3、視頻、攝像頭測試[準備工作]修改E:\caffe\caffe-ssd-microsoft\models\VGGNet\VOC0712 \SSD_300x300下的配置文件deploy.prototxt中的下面兩個變量為全路徑:label_map_file: "E:/caffe/caffe-ssd-microsoft/data/VOC0712/labelmap_voc.prototxt"name_size_file: "E:/caffe/caffe-ssd-microsoft/data/VOC0712/test_name_size.txt"(2)用生成的模型測試本地攝像頭:ssd_pascal_webcam.py 修改ssd_pascal_webcam.py的pretrain_model變量為自己剛訓練好的模型:pretrain_model = "E:/caffe/caffe-ssd-microsoft/models/VGGNet/VOC0712/SSD_300x300/VGG_VOC0712_SSD_300x300_iter_4000.caffemodel"python examples\ssd\ssd_pascal_webcam.py 4、 單張圖像測試 (1)jupyter notebook (2)python ssd_detect.py# coding: utf-8# # Detection with SSD # # In this example, we will load a SSD model and use it to detect objects.# ### 1. Setup # # * First, Load necessary libs and set up caffe and caffe_root# In[1]:import cv2 import numpy as np import matplotlib.pyplot as pltplt.rcParams['figure.figsize'] = (10, 10) plt.rcParams['image.interpolation'] = 'nearest' plt.rcParams['image.cmap'] = 'gray'# Make sure that caffe is on the python path: caffe_root = '/home/gjw/SSD/caffe/' # this file is expected to be in {caffe_root}/examples import os os.chdir(caffe_root) import sys sys.path.insert(0, 'python')import caffe caffe.set_device(0) caffe.set_mode_gpu()# * Load LabelMap.# In[2]:from google.protobuf import text_format from caffe.proto import caffe_pb2# load PASCAL VOC labels labelmap_file = '/home/gjw/SSD/caffe/data/car/labelmap_voc.prototxt' file = open(labelmap_file, 'r') labelmap = caffe_pb2.LabelMap() text_format.Merge(str(file.read()), labelmap)def get_labelname(labelmap, labels):num_labels = len(labelmap.item)labelnames = []if type(labels) is not list:labels = [labels]for label in labels:found = Falsefor i in xrange(0, num_labels):if label == labelmap.item[i].label:found = Truelabelnames.append(labelmap.item[i].display_name)breakassert found == Truereturn labelnames# * Load the net in the test phase for inference, and configure input preprocessing.# In[3]:model_def ='/home/gjw/SSD/caffe/models/VGGNet/car/SSD_300x300/deploy.prototxt' ### model_weights = '/home/gjw/SSD/caffe/models/VGGNet/car/SSD_300x300/VGG_VOC0712_SSD_300x300_iter_15000.caffemodel' ####net = caffe.Net(model_def, # defines the structure of the modelmodel_weights, # contains the trained weightscaffe.TEST) # use test mode (e.g., don't perform dropout)# input preprocessing: 'data' is the name of the input blob == net.inputs[0] transformer = caffe.io.Transformer({'data': net.blobs['data'].data.shape}) transformer.set_transpose('data', (2, 0, 1)) transformer.set_mean('data', np.array([104,117,123])) # mean pixel transformer.set_raw_scale('data', 255) # the reference model operates on images in [0,255] range instead of [0,1] transformer.set_channel_swap('data', (2,1,0)) # the reference model has channels in BGR order instead of RGB# # # ### 2. SSD detection# * Load an image.# In[4]:# set net to batch size of 1 image_resize = 300 net.blobs['data'].reshape(1,3,image_resize,image_resize)image = caffe.io.load_image('/home/gjw/test/000030.jpg') ##新建test #plt.imshow(image)# * Run the net and examine the top_k results# In[5]:transformed_image = transformer.preprocess('data', image) net.blobs['data'].data[...] = transformed_image# Forward pass. detections = net.forward()['detection_out']# Parse the outputs. det_label = detections[0,0,:,1] det_conf = detections[0,0,:,2] det_xmin = detections[0,0,:,3] det_ymin = detections[0,0,:,4] det_xmax = detections[0,0,:,5] det_ymax = detections[0,0,:,6]# Get detections with confidence higher than 0.6. top_indices = [i for i, conf in enumerate(det_conf) if conf >= 0.25]top_conf = det_conf[top_indices] top_label_indices = det_label[top_indices].tolist() top_labels = get_labelname(labelmap, top_label_indices) top_xmin = det_xmin[top_indices] top_ymin = det_ymin[top_indices] top_xmax = det_xmax[top_indices] top_ymax = det_ymax[top_indices]# # * Plot the boxescolors = plt.cm.hsv(np.linspace(0, 1, 21)).tolist()plt.imshow(image) currentAxis = plt.gca()for i in xrange(top_conf.shape[0]):xmin = int(round(top_xmin[i] * image.shape[1]))ymin = int(round(top_ymin[i] * image.shape[0]))xmax = int(round(top_xmax[i] * image.shape[1]))ymax = int(round(top_ymax[i] * image.shape[0]))score = top_conf[i]label = int(top_label_indices[i])label_name = top_labels[i]display_txt = '%s: %.2f'%(label_name, score)coords = (xmin, ymin), xmax-xmin+1, ymax-ymin+1color = colors[label]currentAxis.add_patch(plt.Rectangle(*coords, fill=False, edgecolor=color, linewidth=2))currentAxis.text(xmin, ymin, display_txt, bbox={'facecolor':color, 'alpha':0.5})plt.show()

總結

以上是生活随笔為你收集整理的[2] SSD配置+训练VOC0712+训练自己的数据集的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 蜜臀久久99精品久久久久久宅男 | 青娱乐导航 | 91官网视频 | 国产精品乱码一区二区三区 | 超薄肉色丝袜一区二区 | 风韵丰满熟妇啪啪区老熟熟女 | 天天看夜夜爽 | 亚洲高清成人 | 石原莉奈在线播放 | 人妻视频一区 | 在线射 | 奶罩不戴乳罩邻居hd播放 | 自拍第一区 | 玖玖精品在线视频 | 亚洲黄色在线观看视频 | 免费av电影网址 | 永久免费54看片 | 操操影视 | 青青伊人影院 | 日本在线观看www | 国产第9页 | 午夜性生活片 | 亚洲天堂爱爱 | 98久久| 99视频一区| 精品国产乱码久久久久久蜜臀 | 日韩二区在线 | 高跟鞋av | 九九热九九热 | 美国av大片| 国产小视频在线播放 | 国产亚洲高清视频 | 亚洲二区在线 | 色哟哟日韩精品 | 无码精品a∨在线观看中文 福利片av | 超污网站在线观看 | 亚洲成人网在线观看 | 女王人厕视频2ⅴk | 久久影院国产 | 欧美黄色录像视频 | 国产在线一级片 | 成年人网站免费看 | 日本xxxx18高清hd | 久操伊人网 | 日韩美女一区二区三区 | 国产a视频免费观看 | 福利所导航 | 婷婷六月色 | 蜜乳av中文字幕 | 精品欧美久久 | 婷婷爱五月天 | 国内性爱视频 | 久久网一区二区 | 91精品在线免费观看 | 91麻豆国产在线观看 | av一区二区在线观看 | 蜜桃视频在线观看一区 | 一区二区三区少妇 | 黄色一级片 | 麻豆影视网站 | 男女视频在线免费观看 | 国产剧情在线一区 | 蜜桃传媒 | 色综合天天色综合 | www.日本黄| 村上凉子av | 91男女视频 | 国产精品黑人一区二区三区 | 在线国产中文字幕 | youjizzcom日本 | 久久视频这里只有精品 | 日日躁夜夜躁 | 蜜桃91精品入口 | 伊人久综合 | 精品一区二区免费看 | 嫩草大剧院 | 日本韩国视频 | 在线观看中文字幕第一页 | xxxxhdvideos| 欧美做爰全过程免费看 | 欧美久久久久久久久中文字幕 | 日本人妻丰满熟妇久久久久久 | 亚洲日本成人在线观看 | 成人免费黄色av | 黄色a网| 麻豆视频免费在线观看 | 成人免费网站在线观看 | 国产真人做爰视频免费 | 国产精品呻吟 | 深夜福利国产精品 | 国产一区二区三区视频网站 | 在线免费福利 | 亚洲天堂一区二区三区四区 | 九色免费视频 | 国产精品第5页 | 午夜视频在线免费观看 | 都市激情亚洲一区 | 国产成人麻豆免费观看 | 精品少妇一区二区三区免费观看 |