构建用于对象检测的神经网络最重要的步骤是什么? (不分类)

时间:2016-07-05 10:37:13

标签: machine-learning neural-network convolution object-detection conv-neural-network

我已经在机器学习上工作了几个月了。我已经使用了caffe和darknet,现在将从theano开始。机器学习有两个主要任务:1。检测和2.分类。虽然我理解大多数分类网络是如何制作或设计的,但我无法清楚地了解构建神经网络以检测图像所涉及的基本步骤。在分类中,我们使用适当的max pooling,relu和conv层来获得更好的结果并对网络进行微调。在制作用于物体检测的神经网络时需要记住哪些重要事项?

1 个答案:

答案 0 :(得分:1)

一般来说,你所谓的'检测'通常通过回归任务来解决(因此,回归的神经网络')。例如,您想要识别图片上的鼻尖(而不是其他任何东西)。您标记了训练图像,以便:

X(输入) - 只是大小的图像,比如256x256像素,灰度 Y(输出) - 一对数字,显示此图像上鼻尖位置的X,Y坐标。

然后你构建了一个DNN来解决这个问题的回归任务。对于该NN,应用与分类相同的原理。你可以随意使用max-pooling图层,卷积图层,ReLU。您只需要记住,您的输出层应该能够输出所需范围内的数字。

使用人工神经网络解决此任务的好教程是here

P.S。您想要检测对象所在的 region (如将其包含在图像中的彩色框中)?没问题,一个解决方案是解决回归任务的次数,找到对象的左上角,右上角,左下角,右下角。或者如果你愿意,可以使用推拉窗。