我可以使用Kinect的深度图像重新创建最终图层吗?

时间:2017-07-05 15:52:26

标签: machine-learning tensorflow kinect

我想知道我是否可以使用使用Kinect制作的符号数据集来重新训练初始层,就像使用普通RGB图像的Tensor Flow教程网站中提到的那样。我是这个领域的新手。非常感谢意见。

2 个答案:

答案 0 :(得分:1)

简短的回答是“不。你不能只调整最后一层。但你可以微调整个预训练的网络。”预训练网络的第一层正在寻找RGB特征。你的深度帧很难提供足够的熵来匹配。您的选择是:

  1. 如果识别/跟踪的对象(指针)未被遮盖且您有背景的实际深度数据,则可以从头开始训练具有较少对比度拉伸和数据白化的深度图像((x-mu)/西格玛)。对于像Inception和ResNet这样的常春藤联盟网络来说,这需要很长时间。此外,请记住,大多数基于python的深度学习框架依赖于PIL图像加载器,默认情况下假设图像是在[0,1]范围内映射的8位通道。这些图像加载器投射所有16位像素的图像。

  2. 如果识别/跟踪的对象(手)被遮盖,这意味着你的背景被设置为相同的值或者几乎没有渐变,那么网络就会过度填充物体的轮廓,因为这是最强的地方边缘是。解决方案是使用法线贴图,HSA,HSV,JET颜色编码对深度图像进行着色,以将其转换为3x8位通道图像。这使得训练收敛得更快,在我最近的实验中,我们发现你可以在着色深度上微调常春藤联盟网络。

答案 1 :(得分:1)

由于你是这个领域的新手。我想建议你阅读所提到的所有三种类型的transfer learning。我想告诉你应用任何提到的转移学习形式,基于您的数据集。如果您的数据集与您使用的模型类型非常相似,那么您可以通过最后一层。如果数据不相似,则必须调整现有模型并使用它。

随着神经网络层的增加,数据特定的特征提取会增加,因此如果您的数据集与预建模型数据集不太相似,则必须处理特定层。起始层将包含更多通用功能。