为不同类别的图像参考设计深度学习数据集?

Posted

技术标签:

【中文标题】为不同类别的图像参考设计深度学习数据集?【英文标题】:Deep Learning Dataset Design for a Image Reference to Different Classes? 【发布时间】:2018-06-14 01:09:05 【问题描述】:

我想使用初始模型训练图像分类器。 现在,我有一道菜叫鸡饭。 假设我想创建米饭和鸡肉类。 那么我可以将输出地面真实概率设计为[0.5,0.5,0,0,0 ...]吗? 也就是说,如果目标图像包含两个类的内容,我应该怎么做才能使其合理?

有人试过吗?

我曾尝试单独训练图像,谷歌也这样做了。

keycnt  = 0
imagcnt = 0
TestNumber_byclass = np.zeros([keycount],np.int32)
for key in TestKeys:
    TestNumber_byclass[keycnt] = len(json_data_test[key])
    for imagedata in json_data_test[key]: 
        imgdata = tf_resize_images(imagdir + imagedata + '.jpg')
        imgdata = np.array(imgdata, dtype = np.uint8)
        # make image center at 0 in the range of (-1,1]
        #imgdata = (imgdata - mean - 128) / 128
        h5f = h5py.File(h5filedir_test + str(imagcnt) + ".h5", "w")
        h5f.create_dataset('image', data=imgdata)
        h5f.create_dataset('label', data=keycnt)
        h5f.create_dataset('name' , data=key)
        h5f.close()
        imagcnt = imagcnt + 1
    keycnt =keycnt +1
    message = '\r[%d/%d] progress...' % (keycnt,keycount)
    sys.stdout.write(message)
    sys.stdout.flush()

非常感谢。

【问题讨论】:

您在询问您的系统架构或代码?您还指的是培训还是测试?一般来说,使用具有混合内容的图像不是一个好主意 【参考方案1】:

您要做的是多类分类,其中将预测 N 个类别中的 M 个。这通常是通过将标志设置为 1 如果对象出现在图像中并设置为 0 如果不是这种情况。

真正重要的信息是最后一个激活函数需要是 sigmoid 而不是 softmax。这样你就可以将每个类与其他类的置信度解耦,总和将在 0 和 N 之间。

【讨论】:

以上是关于为不同类别的图像参考设计深度学习数据集?的主要内容,如果未能解决你的问题,请参考以下文章

深度学习——制作自己的VOC图像分割数据集

深度学习:使用UNet做图像语义分割,训练自己制作的数据集,详细教程

Keras深度学习实战(39)——音乐音频分类

黑马程序员深度学习图像分类讲义

深度学习UNet案例

深度学习UNet案例