File size: 10,359 Bytes
e26e560
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
开展工作:运用swin-transformer-object-detection进行目标检测任务
第一步:下载swin-transformer-object-detection
第二步:配置环境(最重要)
需要:
cuda 10.2.89
cudnn 7.6.5
python 3.8
vs 2019
pytorch 1.8.0
mmcv 1.3.17
mmdet 2.20.0(最终变成了2.11.0)
命令:
conda install cudatoolkit=10.2 -c https://mirrors.ustc.edu.cn/anaconda/pkgs/free/win-64/
conda install cudnn=7.6.5 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64/
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0


conda install pytorch==1.8.1 torchvision==0.9.1 torchaudio==0.8.1 cudatoolkit=10.2 -c pytorch
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=10.2
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.0 -c pytorch -c conda-forge  可以安装

 CUDA_PATH CUDA_HOME envs ls env
conda install pytorch torchvision cudatoolkit=10.2 -c pytorch
pyt1.8.1 + torchvision0.9.1 + cuda10.2
https://download.openmmlab.com/mmcv/dist/index.html
pip install mmcv-full==1.3.17 -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/index.html
swin-T-pytorch18
conda create -n swin-T-pytorch18 --clone pytorch18

installing mmdet from https://github.com/open-mmlab/mmdetection.git.
Cloning into 'C:\Users\zjf\AppData\Local\Temp\tmptf6pnzkx\mmdetection'.
pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host
pip install mmcv-full==1.3.17 -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/index.html
复制前:33.5GB
复制后:
MMDetection V2.24.1 Release



conda list | grep cuda,然后就会获得虚拟环境下安装的版本
conda search cudnn --info  查看所有cuda版本和对应的cudnn版本

查询显卡算力
进入目录 deviceQuery.exe
>> cd D:\360Downloads\CUDA\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\demo_suite
 
运行 deviceQuery.exe
>> ./deviceQuery.exe
我的显卡算力为7.5
Device 0: "NVIDIA GeForce GTX 1660 Ti"
  CUDA Driver Version / Runtime Version          11.6 / 11.0
  CUDA Capability Major/Minor version number:    7.5
、deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 11.6, CUDA Runtime Version = 11.0, NumDevs = 1, Device0 = NVIDIA GeForce GTX 1660 Ti

E:\CUDA\v11.0\bin>nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Wed_Jul_22_19:09:35_Pacific_Daylight_Time_2020
Cuda compilation tools, release 11.0, V11.0.221
Build cuda_11.0_bu.relgpu_drvr445TC445_37.28845127_0




True
10.2
0
1
NVIDIA GeForce GTX 1660 Ti
1.8.0
10.2
7605



运行demo
图片:
python demo/image_demo.py demo/demo.jpg configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py mask_rcnn_swin_tiny_patch4_window7.pth

# 变成了纯目标检测,配置文件已经改变,所以之前的权重文件已经失效
python demo/image_demo.py demo/test.png configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py mask_rcnn_swin_tiny_patch4_window7.pth


python demo/image_demo.py demo/demo.jpg configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py mask_rcnn_swin_tiny_patch4_window7.pth


视频:
保存:
 python demo/video_demo.py demo/demo.mp4 configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py mask_rcnn_swin_tiny_patch4_window7.pth --out demo\1.mp4

展示:
python demo/video_demo.py demo/demo.mp4 configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py mask_rcnn_swin_tiny_patch4_window7.pth --show

python demo/video_demo.py demo/demo.mp4 configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py latest.pth --show

 python demo/image_demo.py demo/test.png configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py latest.pth



我的推理测试命令:
 python demo/image_demo.py demo/6.jpg configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py checkpoints/epoch_50.pth

python demo/image_demo.py demo/demo.jpg configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth



2022年5月24日20:40,历时两天,终于安装环境成功,版本为1.8.0 10.2.89 7.6.5

coco数据集是json格式
voc数据集是xml格式

初步决定先做mask r cnn做实例分割
再做faster rcnn做纯目标检测

实例分割:相当于带有mask的目标检测

实例分割
目标检测和语义分割的结合,在图像中将目标检测出来(目标检测),然后对目标每个像素打上标签(语义分割),不需要将图像中所有像素打上标签

需要COCO格式


CLASSES = ['ignored regions', 'pedestrian', 'people', 'bicycle', 'car', 'van',
              'truck', 'tricycle', 'awning-tricycle', 'bus', 'motor', 'others']

三个py文件
修改Swin-Transformer-Object-Detection/mmdet/datasets/coco.py的CLASSES
修改Swin-Transformer-Object-Detection/mmdet/core/evaluation/class_names.py 的coco_classes
修改路径/configs/base/models/mask_rcnn_swin_fpn.py中的num_classes,也有两处大概在第54行和73行,修改为自己数据集的类别数量
————————————————
原文链接:https://blog.csdn.net/qq_41964545/article/details/123140485


4.修改训练参数
路径/configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x(1x)_coco.py中:

第3行’…/base/datasets/coco_instance.py’修改为’…/base/datasets/coco_detection.py’
第69行的max_epochs按需修改
第31行的samples_per_gpu表示batch size大小,太大会内存溢出
第32行的workers_per_gpu表示每个GPU对应线程数,2、4、6、8按需修改
————————————————
原文链接:https://blog.csdn.net/qq_36622589/article/details/124355564



制作数据集:
将数据集从txt转换成xml,再转换成json


checkpoint中包含了需要加载模型的目录



这里以mask_rcnn_swin_fpn作为backbone为例,数据格式为coco数据格式,其他模型的修改等同


训练命令
python tools/train.py configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py

python tools/train.py  configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py --cfg-options model.pretrained='checkpoints/latest.pth'

python tools/train.py  configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py --cfg-options model.pretrained='checkpoints/mask_rcnn_swin_tiny_patch4_window7.pth'


python tools/train.py  configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py --resume-from  model.pretrained='checkpoints/latest.pth'


python tools/train.py  configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py --resume-from  model.pretrained='checkpoints/epoch_50.pth'  这不行

python tools/train.py  configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py --resume-from 'checkpoints/epoch_75.pth'  这可以 断点续传



测试命令:

python demo/image_demo.py demo/000019.jpg configs\swin\mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py work_dirs/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco/latest.pth


python demo/image_demo.py testfiles/img1.jpg 
configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_1x_coco.py 
work_dirs/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_1x_coco/latest.pth --score-thr 0.5

python demo/video_demo.py demo/demo.mp4 configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py work_dirs/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco/latest.pth --score-thr 0.5 --show


3)性能统计

python tools/test.py configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py work_dirs/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco/latest.pth --eval bbox

4)日志分析

python tools/analysis_tools/analyze_logs.py plot_curve work_dirs/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco/20220527_092210.log.json


id字段:指的是这个annotation的一个id
image_id:等同于前面image字段里面的id。
category_id:类别id
segmentation:用于分割         我的数据集中没有这一项,所以完成不了实例分割,只能进行目标检测
area:标注区域面积
bbox:标注框,左上角坐标 标注框宽和高
iscrowd:决定是RLE格式还是polygon格式。

参考文献
https://zhuanlan.zhihu.com/p/451816231
https://github.com/SwinTransformer/Swin-Transformer-Object-Detection/issues/113
https://blog.csdn.net/qq_41964545/article/details/123140485
# 去除实例分割,仅进行目标检测
https://github.com/SwinTransformer/Swin-Transformer-Object-Detection/issues/50
https://github.com/SwinTransformer/Swin-Transformer-Object-Detection/issues/25 有效
# 训练目标检测
https://blog.csdn.net/qq_36622589/article/details/124355564?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-124355564-blog-123140485.pc_relevant_paycolumn_v3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-124355564-blog-123140485.pc_relevant_paycolumn_v3&utm_relevant_index=2

将visdrone数据集转化为coco格式并在mmdetection上训练,附上转好的json文件
https://blog.csdn.net/S5242/article/details/121114907
https://github.com/VisDrone/VisDrone-Dataset
http://aiskyeye.com/download/object-detection-2/


https://beyonderwei.com/2022/03/23/Swin-Transformer%E7%9B%AE%E6%A0%87%E6%A3%80%E6%B5%8B4%E2%80%94%E2%80%94%E8%AE%AD%E7%BB%83%E8%87%AA%E5%B7%B1%E6%95%B0%E6%8D%AE%E9%9B%86/

https://blog.csdn.net/CSDN_X_W/article/details/123845728


https://blog.csdn.net/m0_37605642/article/details/117932717

https://blog.csdn.net/qq_42138662/article/details/109227007
coco数据集介绍
https://blog.csdn.net/qq_44554428/article/details/122597358


Ze Liu Yutong Lin Yue Cao Han Hu Yixuan Wei Zheng Zhang Stephen Lin Baining Guo
Swin Transformer : Hierarchical Vision Transformer using Shifted Windows. ICCV 2021

swin_t心路之旅
read://https_blog.51cto.com/?url=https%3A%2F%2Fblog.51cto.com%2Fu_13565704%2F5105836%3Fb%3Dtotalstatistic


https://wenku.baidu.com/view/9aa300a3bfeb19e8b8f67c1cfad6195f312be8cb.html