语义分割的时候,发的牢骚

问题:opencv读取灰度图调用shape属性,显示通道数是3

  • 我想跑起来 呜呜呜呜

1:VOC数据集

1:IPEGImages

  • 原始图片,RGB图片,大小不一致

2:Segmentation

  • 分割之后的图片,得到的是灰度图(深度是8位)

3:ImageSet

  • ImageSet 中含有train.txt,value.txt,test.txt

4:VOC_COLORMAP

  • 标签

https://github.com/ShusenTang/Dive-into-DL-PyTorch/blob/master/docs/chapter09_computer-vision/9.9_semantic-segmentation-and-dataset.md

2:Train.py

1:aux_branch

  • 是否使用辅助分支

2:下采样的倍数

  • 16
  • 8的话,显存占用量特别大

3:Epoch

  • 初始化

  • 冻结层

  • 0

  • 50

  • 50

  • 100

  • 找一个pspnet网络

  • 开始的RGB颜色的标注

  • MIOU的计算

mask获取对应的区域

3:pspNet网络的采集

  • 怎么将灰度图转化为 RGB图像

  • MIOU的计算问题

1:pspNet

  • 不失帧的resize
  • 主干提取网络resNet50 进行初步特征提取
  • pspNet,不同大小的池化层进行平均池化
  • 我们使用了 1 X 1, 2 X 2, 3 X 3, 6 X 6的区域进行操作 进行加强特征提取

2 问题

  • 【PyTorch系列】找不到d2lzh_pytorch包,No module named ‘d2lzh_pytorch’
  • https://blog.csdn.net/lilileon/article/details/114435102

3:问题

AttributeError: 'NDArray' object has no attribute 'convert'
  • colormap.convert(RGB)

  • Image.fromarray(arr, 'RGB')
    

4:NDaRRAY 和 Nparray

{[128, 0, 64], [128, 64, 0], [128, 0, 192], [0, 128, 64], [0, 192, 128], [192, 224, 224], [0, 0, 192], [128, 128, 192], [0, 128, 192], [0, 0, 64], [128, 128, 64], [0, 64, 0], [0, 128, 0], [128, 128, 128], [0, 0, 0], [0, 128, 128], [128, 0, 128], [128, 0, 0], [128, 128, 0], [0, 0, 128], [0, 192, 0], [0, 64, 128]}
0:白色[128, 0, 64]
[128, 64, 0],
[128, 0, 192],
[0, 128, 64], 
[0, 192, 128], 
[192, 224, 224],
[0, 0, 192],
[128, 128, 192],
[0, 128, 192], 
[0, 0, 64],
[128, 128, 64],
[0, 64, 0],
[0, 128, 0]
, [128, 128, 128]
14:黑色[0, 0, 0],
[0, 128, 128],
[128, 0, 128]
, [128, 0, 0],
18:猫头鹰[128, 128, 0],
[0, 0, 128],
[0, 192, 0],
[0, 64, 128]}

[0, 0, 0] 背景

  • 0 是 白色 [128, 0, 64]

  • 18 是鸟

  • 实在不行,采用非深度学习的方法,全部设置为背景???

  • 是不是我读取的时候读错了???8位的应该怎么读取

5:读取txt中的所有目录

  • 读取 RGB的所有图像
image_ids = open(r"../input/voc2012-segmentation/ImageSets/Segmentation/train.txt",'r').read().splitlines()

for i in image_ids:
    print(len(myset))
    print(myset)
    img = cv2.imread("../input/voc2012-segmentation/SegmentationClass/" + str(i)+".png")
    # print(img)
    for x in range(img.shape[0]): 
        for y in range(img.shape[1]):
            #  print(img[x][y])
            lst = (img[x][y][0],img[x][y][0],img[x][y][0])
            myset.add(lst)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KKys6WnY-1622361549148)(CV%E4%BD%9C%E4%B8%9A%E7%AC%94%E8%AE%B0.assets/image-20210529181221769.png)]

  • 我要死了~~~~~ ~~~~

  • 应该写不完了,我死了~·

  • 弄一个全是黑的的图片吧,这个怎么弄的

  • 测试集上是 0.8732

标签

  • VOC 2012中的ground truth label 是以RGB伪彩色图像的形式保存的

  • 完结,撒花~~~

7:为什么一训练就变花了啊????

上天啊~~~— 让我过一过吧,我真的只想得到一个 0.02 的结果

  • 可以吗???

8:kaggle 下载代码后运行的结果文件

  • commit之后,就会重新执行,得到最后的结果输出

9:TMD

颜色又搞反了

我真是个 废物

  • 我觉得很扯,怎么颜色又不对····我是真的迷,迷了···

kaggle下载代码运行后的结果文件_笔记小屋-CSDN博客

一次跑三分钟,50轮就是一百五十分钟,差不多三个小时

  • 为什么我越训练越低啊????为什么我第一次最高???搞笑吧???

  • 当epoch = 0 的时候

    • MIOU = 0.83
  • epoch = 1 的时候

    • 先执行的是test文件
    • MIOU 74.06
  • epoch = 4 的时候

    • MIOU 79.89
  • epoch = 4 2 的时候

    • mIoU: 82.82; mPA: 89.19
      
  • epoch = 56 的时候

    • ===> mIoU: 82.63; mPA: 89.25
      
  • epoch = 70 的时候

    • Mean IoU: 0.8263  
      
    • 很服,很迷,你是不想让我训练吗??、

代码地址

CV3Predict:https://www.kaggle.com/kksspsls/cv3predict

CV3MIOUTEST:https://www.kaggle.com/kksspsls/cv3mioutest

CV3trainModel:https://www.kaggle.com/kksspsls/cv3trainmodel

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值