2

我是新来的深度学习和Tensorflow,必须学习这个主题,因为我目前正在研究一个项目。我正在使用卷积网络来检测并找到图像中单个对象的位置。我正在使用Standford CS231n class中介绍的方法。讲师提到了在网络中的完全连接层之后连接一个回归头以找到对象的位置。我知道Tensorflow中有DNNRegressor。我应该用这个作为回归头吗?如何在使用Tensorflow的卷积网络中的完全连接层之后添加回归头?

在我修改Tensorflow关于在我的情况下使用ConvNet到recognize handwritten digit的教程之前。我不太清楚如何将回归头添加到该程序,以便它还可以找到该对象的边界框。

本周我刚刚有机会接触机器学习和深度学习,如果我问了一个非常愚蠢的问题,道歉,但我真的需要找到解决我的问题。非常感谢你。

回答

1

首先,为了训练一个神经网络来完成对象定位任务,你必须有一个带有本地化对象的数据集。这回答了你的问题,你是否可以使用MNIST数据集。 MNIST只包含每张图片的类别标签,因此您需要获得another data set。 Justin also talks关于大约在37:34的流行数据集。

对象本地化工作的方式是通过学习输出每个图像4个值而不是类分布。这个四值向量与地面真值四值向量进行比较,损失函数通常是其差值的L1或L2范数。所以在代码中,回归头是一个普通的回归层,可以通过调用简单的tf.reduce_mean来实现张量流。

执行对象本地化的一个小而完整的示例可以是found here。另外推荐看看this question

相关问题