【1】模型介绍
搭建了一个分割网络,以此网络为基础完成图像的分割并计算最终的分割精度。
----------------------------------------------------------------
Layer (type) Output Shape Param #
================================================================
Conv2d-1 [-1, 64, 320, 480] 1,792
ReLU-2 [-1, 64, 320, 480] 0
Conv2d-3 [-1, 64, 320, 480] 36,928
ReLU-4 [-1, 64, 320, 480] 0
MaxPool2d-5 [-1, 64, 160, 240] 0
Conv2d-6 [-1, 128, 160, 240] 73,856
ReLU-7 [-1, 128, 160, 240] 0
Conv2d-8 [-1, 128, 160, 240] 147,584
ReLU-9 [-1, 128, 160, 240] 0
MaxPool2d-10 [-1, 128, 80, 120] 0
Conv2d-11 [-1, 256, 80, 120] 295,168
ReLU-12 [-1, 256, 80, 120] 0
Conv2d-13 [-1, 256, 80, 120] 590,080
ReLU-14 [-1, 256, 80, 120] 0
Conv2d-15 [-1, 256, 80, 120] 590,080
ReLU-16 [-1, 256, 80, 120] 0
Conv2d-17 [-1, 256, 80, 120] 590,080
ReLU-18 [-1, 256, 80, 120] 0
MaxPool2d-19 [-1, 256, 40, 60] 0
Conv2d-20 [-1, 512, 40, 60] 1,180,160
ReLU-21 [-1, 512, 40, 60] 0
Conv2d-22 [-1, 512, 40, 60] 2,359,808
ReLU-23 [-1, 512, 40, 60] 0
Conv2d-24 [-1, 512, 40, 60] 2,359,808
ReLU-25 [-1, 512, 40, 60] 0
Conv2d-26 [-1, 512, 40, 60] 2,359,808
ReLU-27 [-1, 512, 40, 60] 0
MaxPool2d-28 [-1, 512, 20, 30] 0
Conv2d-29 [-1, 512, 20, 30] 2,359,808
ReLU-30 [-1, 512, 20, 30] 0
Conv2d-31 [-1, 512, 20, 30] 2,359,808
ReLU-32 [-1, 512, 20, 30] 0
Conv2d-33 [-1, 512, 20, 30] 2,359,808
ReLU-34 [-1, 512, 20, 30] 0
Conv2d-35 [-1, 512, 20, 30] 2,359,808
ReLU-36 [-1, 512, 20, 30] 0
MaxPool2d-37 [-1, 512, 10, 15] 0
ConvTranspose2d-38 [-1, 512, 20, 30] 2,359,808
ReLU-39 [-1, 512, 20, 30] 0
BatchNorm2d-40 [-1, 512, 20, 30] 1,024
ConvTranspose2d-41 [-1, 256, 40, 60] 1,179,904
ReLU-42 [-1, 256, 40, 60] 0
BatchNorm2d-43 [-1, 256, 40, 60] 512
ConvTranspose2d-44 [-1, 128, 80, 120] 295,040
ReLU-45 [-1, 128, 80, 120] 0
BatchNorm2d-46 [-1, 128, 80, 120] 256
ConvTranspose2d-47 [-1, 64, 160, 240] 73,792
ReLU-48 [-1, 64, 160, 240] 0
BatchNorm2d-49 [-1, 64, 160, 240] 128
ConvTranspose2d-50 [-1, 32, 320, 480] 18,464
ReLU-51 [-1, 32, 320, 480] 0
BatchNorm2d-52 [-1, 32, 320, 480] 64
Conv2d-53 [-1, 21, 320, 480] 693
================================================================
Total params: 23,954,069
Trainable params: 23,954,069
Non-trainable params: 0
----------------------------------------------------------------
Input size (MB): 1.76
Forward/backward pass size (MB): 972.07
Params size (MB): 91.38
Estimated Total Size (MB): 1065.21
----------------------------------------------------------------
【2】文件介绍
程序文件夹介绍
│ batchimageprocess.py #批量图片处理、改名字、改类型
│ dataimagetest.py #多种图片测试(此处是8张图片)
│ dateset.py #图像预处理和加载
│ Digraph.gv #Digraph生成的文件
│ knowdege.md #相关知识的补充
│ oneimagetest.py #单张图片测试
│ segmentmodel.py #分割模型搭建
│ segmentmodelaccuracy.py #分割精度测试
│ structure.txt #文件树
│ trainmodel.py #训练模型
│ visualize.py #模型pdf转换的文件
│
├─.vscode #默认文件
│ settings.json
│
├─accuracylable #分割精度测试图片
│ 2007_000033.jpg
│ 2007_000033.png
│
├─chenxutest #常规函数测试程序
│ mytest.py
│ ownsegnet.py
│
├─data #常规函数测试程序所需的数据库
│ 01.jpg
│ 02.jpg
│
├─modelimage #模型结构文件
│ Digraph.gv.pdf
│ fcn8s.png
│
├─savemodel #保存.pth模型
│ fcn8s.pth
│
├─savemodelpkl #保存.pkl模型
│ fcn8s.pkl
│
├─segmentresult #分割结果
│ 0.png
│ 1.png
│ 2.png
│ 3.png
│
└─__pycache__ #默认文件
dateset.cpython-36.pyc
segmentmodel.cpython-36.pyc
segmentmodelaccuracy.cpython-36.pyc
visualize.cpython-36.pyc
【3】主要工作
(1)搭建分割网络模型、测试和训练程序。
(2)使用visdom训练过程可视化。
(3)使用labelme完成图像分割标签的制造。
(4)计算分割的效果和精度。
(5)对多张图像分割效果进行评估和展示。