记录识别不到前景的问题

文章讲述了在训练深度学习模型时遇到的问题,模型只能识别背景。原因在于crack500数据集的标签值为布尔型0和1,需将其转换为像素值1。作者提供了将标签从255转为1的Python代码示例。
摘要由CSDN通过智能技术生成

1.训练了两轮,发现都只能识别到背景,看评论是数据集标签的问题。

2.数据集问题:仅仅识别背景像素值为0的部分。把255转成像素值为1,再用voc_annotation.py分集即可。

具体原因为crack500的标签值为布尔值,只有0和1,不符合此模型的识别范围,查看数据集标签的代码如下:

from PIL import Image
import numpy as np

I = Image.open('crack20\SegmentationClass\IMG_2940_1945_485.png')
I.show()
I_array = np.array(I)
# print(I_array.shape)
print(I_array.dtype)

再进行格式转换:

import os
from PIL import Image
import numpy as np

path = './crack20/SegmentationClass/' 
savedpath = './crack20/SegmentationClass2/'
filelist = os.listdir(path)
for item in filelist:
    if item=='desktop.ini':  #windows下有时候会莫名其妙的出现这个配置文件,我们遇见了就跳过该次循环
        continue

    im = Image.open(path + item)  # 打开图片
    im = im.convert('L')   #转成L型后,布尔型0和1会变成0和255的像素值
    width = im.size[0]  # 获取宽度
    height = im.size[1]  # 获取长度

    for x in range(width):
        for y in range(height):
            b = im.getpixel((x,y)) 
            if (b == 255):
                im.putpixel((x, y), 1)    #把像素值255改成1,以对应1标签

    im.save(savedpath + item, 'png')
    print('item of %s is saved ' % (item))

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值