訓練自己的SSD模型

一、 下載模型:https://download.csdn.net/download/OEMT_301/12506854
https://download.csdn.net/download/OEMT_301/12506844
二、 刪除tfrecords_、train_model文件夾下所有文件

三、 準備數據集
1、將自己的圖像拷貝到VOC2007\JPEGImages文件下,將標註的xml文件拷貝到VOC2007\Annotations文件下。
2、執行VOC2007文件下spilt.py,會在VOC2007\ImageSets\Main文件下生成4個txt文件。
在這裏插入圖片描述
3、修改datasets文件下的pascalvoc_common.py的26行標籤內容
在這裏插入圖片描述
4、修改datasets文件下的pascalvoc_to_tfrecords.py
第67行SAMPLES_PER_FILES,該參數爲多少個xml生成一個.tfrecords文件
在這裏插入圖片描述
第82行文件格式
在這裏插入圖片描述
5、執行tf_convert_data.py,完成會在tfrecords_文件下生成.tfrecord文件
在這裏插入圖片描述

四、 模型配置
1、 修改datasets文件下pascalvoc_2007.py
第50行NUM_CLASSES,該值爲識別目標數
第30、36、42行的TRAIN_STATISTICS、TEST_STATISTICS、SPLITS_TO_SIZES的參數,其中TRAIN_STATISTICS中的person: (20, 20),第一個參數爲圖像數量,第二個爲標籤數量,這兩個值都可以大於實際數量
在這裏插入圖片描述

2、 修改nets文件下ssd_vgg_300.py第96、97行的識別目標數+1
在這裏插入圖片描述
3、 修改eval_ssd_network.py第66行識別個數+1
在這裏插入圖片描述
4、 修改train_ssd_network.py文件
第27行數據格式爲’NHWC’
在這裏插入圖片描述
第135行識別個數+1
在這裏插入圖片描述
第154行訓練次數,這裏可以隨意設置一個數值,其中None爲無限循環
在這裏插入圖片描述
5、 修改train_ssd_network.py文件第185-192行相應參數
6、 執行train_ssd_network.py,執行結果會保存在train_model文件下。

五、 利用自己模型進行識別
1、修改notebooks文件下demo_test.py第43行爲對應模型數字
在這裏插入圖片描述
2、修改第60行顯示閾值及重合度閾值
在這裏插入圖片描述
3、修改第108行識別圖像
在這裏插入圖片描述
4、執行demo_test.py進行識別
在這裏插入圖片描述
六、 我這裏訓練樣本和次數都不夠,因此結果較差。
七、 參考:https://blog.csdn.net/zzz_cming/article/details/81131523

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章