SSD配置+训练VOC0712+训练自己的数据集
生活随笔
收集整理的這篇文章主要介紹了
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
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
===================================================
二、測試
[注]下載訓練好的模型進行下面的測試 (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
- 2
- 3
- 4
- 5
測試一:視頻、攝像頭
[測試1] 演示網絡攝像頭識別效果,終端輸入:python examples/ssd/ssd_pascal_webcam.py [測試2] python examples/ssd/ssd_pascal_video.py- 1
- 2
- 3
- 4
- 5
測試二: 訓練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
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 1
- 2
************************************************************
************************************************************
三、訓練自己的數據集
1.制作VOC2007數據集:labelImg工具
/data/VOCdevkit/driver /data/VOCdevkit/driver/Annotations /data/VOCdevkit/driver/ImageSets /data/VOCdevkit/driver/JPEGImages- 1
- 2
- 3
- 4
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數據數據- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
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 該變量修改成自己數據集中 標簽類別數量數 + 1 (4)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_300x300中- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
總結
以上是生活随笔為你收集整理的SSD配置+训练VOC0712+训练自己的数据集的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows下Caffe-SSD编译
- 下一篇: SSD框架训练自己的数据集