# 在病虫害(私人)数据集上进行SSD改进
代码是在这个仓库[SSD](https://github.com/lufficc/SSD). 基础上进行添加、修改的
在SSD基础上,主要改进点:
1) 替换backbone为[Resnet/MobileNet](https://arxiv.org/abs/1512.03385)
2) 添加一种更加轻量高效的特征融合方式 [feature fusion module](https://arxiv.org/abs/1712.00960v1)
3) 添加注意力机制 ([Squeeze-and-Excitation Module](https://arxiv.org/abs/1709.01507) 和 [Convolutional Block Attention Module](https://arxiv.org/abs/1807.06521))
4) 添加一种解决正负样本不平衡的损失函数[Focal Loss](https://arxiv.org/abs/1708.02002)
# 原始SSD网络结构和改进后的网络结构对比
原始ssd-vgg16网络结构图
![](figures/ssd-vgg.png)
改进后的feature fusion + ssd + resnet50网络结构图
![](figures/ffssd-resnet.png)
# 源码关键部分讲解
[【项目一、xxx病虫害检测项目】1、SSD原理和源码分析](https://blog.csdn.net/qq_38253797/article/details/124209855)
[【项目一、xxx病虫害检测项目】2、网络结构尝试改进:Resnet50、SE、CBAM、Feature Fusion](https://blog.csdn.net/qq_38253797/article/details/124267280)
[【项目一、xxx病虫害检测项目】3、损失函数尝试:Focal loss](https://blog.csdn.net/qq_38253797/article/details/124295382)
# 代码使用
### 配置环境
>pip install -r requirements.txt
### 使用自己的数据集
#### 数据集格式1、Pascal VOC
可以仿照VOC的数据格式:
```
datasets
|__ VOC2007
|_ JPEGImages
|_ Annotations
|_ ImageSets
|_ SegmentationClass
|__ VOC2012
|_ JPEGImages
|_ Annotations
|_ ImageSets
|_ SegmentationClass
|__ ...
```
#### 数据集格式2、COCO
也可以仿照COCO的数据格式:
```
datasets
|__ annotations
|_ instances_valminusminival2014.json
|_ instances_minival2014.json
|_ instances_train2014.json
|_ instances_val2014.json
|_ ...
|__ train2014
|_ <im-1-name>.jpg
|_ ...
|_ <im-N-name>.jpg
|__ val2014
|_ <im-1-name>.jpg
|_ ...
|_ <im-N-name>.jpg
|__ ...
```
#### 修改对应的数据集文件
在ssd/data/datasets/voc.py或在ssd/data/datasets/coco.py中进行修改
修改示例(将class_names改为自己的数据集标签,注意0是背景):
![img.png](figures/dataset.png)
#### 修改配置文件
在configs/对应的配置文件中修改MODEL.NUM_CLASSES=classes+1
#### 开始训练 示例1
Configs:
Backbone: Resnet50
Input size: 300
SE: False
CBAM: False
FUSION: False
Run:
python train.py --config-file configs/resnet50_ssd300_voc0712.yaml
### 开始训练 示例2
Configs:
Backbone: Resnet50
Input size: 300
SE: False
CBAM: False
FUSION: True
Run:
python train.py --config-file configs/resnet50_ssd300_voc0712_feature_fusion.yaml
也可以自己修改/自定义config文件,进行训练
还可以按照DEVELOP_GUIDE.md的步骤自定义数据集,重写MyDataset函数进行训练
训练验证测试只需要修改train.py/test.py/demo.py中的配置文件地址和权重文件地址即可
# 训练效果(待更新)
![损失函数](figures/losses.png)
![学习率](figures/lr.png)
# Reference
[lufficc/SSD](https://github.com/lufficc/SSD)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于python开发的在SSD网络优化下对病虫害检测的项目+源码+项目解析+开发文档说明+数据,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于python开发的在SSD网络优化下对病虫害检测的项目+源码+项目解析+开发文档说明+数据,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于python开发的在SSD网络优化下对病虫害检测的项目+源码+项目解析+开发文档说明+数据,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 项目简介: 在病虫害(私人)数据集上进行SSD改进 代码是在这个仓库SSD. 基础上进行添加、修改的 在SSD基础上,主要改进点: 替换backbone为Resnet/MobileNet 添加一种更加轻量高效的特征融合方式 feature fusion module 添加注意力机制 (Squeeze-and-Excitation Module 和 Convolutional Block Attention Mod
资源推荐
资源详情
资源评论
收起资源包目录
基于python开发的在SSD网络优化下对病虫害检测的项目+源码+项目解析+开发文档说明+数据(毕业设计&课程设计&项目开发) (103个子文件)
nms_cpu.cpp 2KB
vision.cpp 186B
nms.cu 5KB
nms.h 716B
vision.h 247B
vision.h 189B
20210820C000035.jpg 1000KB
20211026G000098.jpg 944KB
20211024B000125.jpg 900KB
20210820A000005.jpg 840KB
20211025D000355.jpg 783KB
DEVELOP_GUIDE.md 4KB
README.md 3KB
vgg.png 850KB
resnet.png 160KB
ffssd-resnet2.png 60KB
dataset.png 44KB
ffssd-resnet.png 44KB
losses.png 39KB
ssd-vgg.png 18KB
lr.png 13KB
resnet_input_512.py 20KB
resnet_input_300.py 16KB
eval_detection_voc.py 14KB
transforms.py 14KB
utils.py 9KB
efficient_net.py 9KB
box_utils.py 7KB
vgg.py 7KB
loss.py 6KB
trainer.py 5KB
mobilenet.py 5KB
box_predictor.py 4KB
voc.py 4KB
train.py 4KB
demo.py 4KB
coco.py 4KB
defaults.py 4KB
checkpoint.py 4KB
box_head.py 3KB
inference.py 3KB
model_zoo.py 3KB
test.py 3KB
dist_util.py 3KB
prior_box.py 3KB
distributed.py 3KB
build.py 2KB
path_catlog.py 2KB
__init__.py 2KB
__init__.py 2KB
nms.py 2KB
inference.py 2KB
metric_logger.py 2KB
container.py 2KB
build.py 2KB
registry.py 1KB
iteration_based_batch_sampler.py 1KB
target_transform.py 1KB
lr_scheduler.py 1KB
__init__.py 1KB
__init__.py 1KB
__init__.py 903B
__init__.py 760B
logger.py 743B
separable_conv.py 674B
build.py 669B
ssd_detector.py 564B
__init__.py 461B
__init__.py 386B
__init__.py 241B
misc.py 213B
__init__.py 198B
__init__.py 178B
registry.py 115B
__init__.py 32B
__init__.py 20B
__init__.py 0B
__init__.py 0B
__init__.py 0B
__init__.py 0B
__init__.py 0B
__init__.py 0B
__init__.py 0B
__init__.py 0B
1.txt 65B
requirements.txt 57B
1.txt 47B
1.txt 43B
1.txt 35B
resnet101_ssd512_voc0712.yaml 842B
resnet50_ssd512_voc12_feature_fusion.yaml 837B
resnet50_ssd512_voc12.yaml 815B
resnet50_ssd300_voc0712_feature_fusion.yaml 787B
resnet50_ssd300_coco_trainval35k.yaml 779B
resnet101_ssd300_voc0712_feature_fusion.yaml 775B
resnet101_ssd300_voc0712.yaml 760B
resnet50_ssd300_voc0712.yaml 758B
mobilenet_v2_ssd320_voc0712.yaml 712B
vgg_ssd512_coco_trainval35k.yaml 711B
vgg_ssd512_voc12.yaml 669B
共 103 条
- 1
- 2
资源评论
- m0_750236552024-05-11总算找到了想要的资源,搞定遇到的大问题,赞赞赞!
梦回阑珊
- 粉丝: 3013
- 资源: 855
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功