您如何使用经过训练的神经网络来识别图像中的多个对象?
How do you use a trained neural net to identify multiple objects in an image?
我一直在探索神经网络,并且已经能够成功地训练一个网络,甚至在我自己的图像上以某种方式将单张图片标记为特定事物,但不知道如何使用训练有素的网络来识别也许 return 一张图片中的多个对象。例如,如果您训练了猫和狗,并且一张图像中有多只猫和狗,您将如何应用训练后的网络以及 return 它们的位置(在图像中)?
这是我在 Python 中实施的主要教程:http://machinelearningmastery.com/object-recognition-convolutional-neural-networks-keras-deep-learning-library/
一个笼统的答案就足够了,例如,在图像上滑动 window 是最好的解决方案还是有更简单的方法?
一个具体的例子(特别是在 python 中)将不胜感激。
我一直在使用 matplotlib 处理大部分图像工作,所以我宁愿远离 PIL 切片。
谢谢!
因为你想使用你现有的训练n/w:
- Brute Sliding window:如果您不知道图像中对象的大小和位置,您将不得不处理许多 windows(根据图像大小逐像素滑动),每个 window 可能会产生不同的结果,并且可能是其中一个或几个是最终所需的结果,您看到复杂性如何增加了吗?在许多人中很难确定实际需要的结果。
- 预处理:可以在将图像提供给网络之前对其进行预处理。例如,拍摄猴子和蛇的图像,计算图像的能量(Sobel et.al)。图像中猴子的足迹更像圆形气球(面积更大)而蛇会像线状(面积更小),基于此有一个 python 脚本将图像裁剪到该特定部分,然后将其提供给n/w。你可以想到其他的预处理技术。
如果您对其他 n/w 持开放态度,请查看 CRF as Recurrent Neural Networks。例如:https://github.com/torrvision/crfasrnn
希望对您有所帮助。
我一直在探索神经网络,并且已经能够成功地训练一个网络,甚至在我自己的图像上以某种方式将单张图片标记为特定事物,但不知道如何使用训练有素的网络来识别也许 return 一张图片中的多个对象。例如,如果您训练了猫和狗,并且一张图像中有多只猫和狗,您将如何应用训练后的网络以及 return 它们的位置(在图像中)?
这是我在 Python 中实施的主要教程:http://machinelearningmastery.com/object-recognition-convolutional-neural-networks-keras-deep-learning-library/
一个笼统的答案就足够了,例如,在图像上滑动 window 是最好的解决方案还是有更简单的方法?
一个具体的例子(特别是在 python 中)将不胜感激。 我一直在使用 matplotlib 处理大部分图像工作,所以我宁愿远离 PIL 切片。
谢谢!
因为你想使用你现有的训练n/w:
- Brute Sliding window:如果您不知道图像中对象的大小和位置,您将不得不处理许多 windows(根据图像大小逐像素滑动),每个 window 可能会产生不同的结果,并且可能是其中一个或几个是最终所需的结果,您看到复杂性如何增加了吗?在许多人中很难确定实际需要的结果。
- 预处理:可以在将图像提供给网络之前对其进行预处理。例如,拍摄猴子和蛇的图像,计算图像的能量(Sobel et.al)。图像中猴子的足迹更像圆形气球(面积更大)而蛇会像线状(面积更小),基于此有一个 python 脚本将图像裁剪到该特定部分,然后将其提供给n/w。你可以想到其他的预处理技术。
如果您对其他 n/w 持开放态度,请查看 CRF as Recurrent Neural Networks。例如:https://github.com/torrvision/crfasrnn
希望对您有所帮助。