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

我想知道是否可以使用由Kinect生成的手势数据集来重新训练Inception的最后一层,就像TensorFlow教程网站上提到的那样使用普通的RGB图像。我在这个领域是新手,非常欢迎大家的意见。


回答:

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

  1. 如果识别的/跟踪的对象(手)没有被遮罩,并且你有背景的实际深度数据,你可以从头开始训练深度图像,并进行对比度拉伸和数据白化处理((x-mu)/sigma)。这对于像Inception和ResNet这样的顶级网络来说会花费很长时间。另外,请记住,大多数基于Python的深度学习框架依赖于PIL图像加载器,默认假设图像是8位通道,映射在[0, 1]范围内。这些图像加载器会将所有16位像素转换为8位像素。

  2. 如果识别的/跟踪的对象(手)被遮罩,这意味着你的背景设置为相同的值或几乎没有梯度,网络会过度拟合对象的轮廓,因为这是最强的边缘所在。解决方案是使用法线图、HSA、HSV、JET颜色编码对深度图像进行着色,将其转换为3×8位通道图像。这使得训练收敛得更快,在我最近的实验中我们发现你可以对着色的深度图像进行顶级网络的微调。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注