我可以使用来自 Kinect 的深度图像重新训练 Inception 的最后一层吗?

Can i Retrain Inception's Final Layer using depth images from Kinect.?

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

简短的回答是 "No. You cannot just fine tune only the last layer. But you can fine tune the whole pre-trained network."。预训练网络的第一层正在寻找 RGB 特征。您的深度框架几乎无法提供足够的熵来匹配它。您的选择是:

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

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

由于您是新手 field.I 建议您阅读什么是 transfer learning 所有三种类型 mentioned.I 想告诉您应用上述任何一种基于你的数据的迁移学习形式 set.If 你的数据集与你正在使用的模型类型非常相似然后你可以通过最后 layers.If 你的数据不相似你必须调整现有模型并使用它。

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