我正在做一个项目,任务是对鸟类的视频进行分类,并对物种进行预测。我尝试使用机器学习模型,最初是为深入行动识别而设计的,并针对我的数据集进行了调整。
该数据集由9个不同的类组成,其中包含约3 000个带有标签的视频:
下面是一个样本数据集的视频,它包含了我的深度学习模型应该能够预测的不同类:

目前,我已经为时态段网络使用了这个代码库来训练我的模型,我自己的数据集的准确率大约为87% (仅使用RGB,而不使用光流)。虽然取决于天气条件和照明,精度可能是非常不同的。
我使用以下技术将数据集扩展到大约30000个视频:
关于进行视频分类来预测鸟类种类,我有几个问题:
简单地说,什么是鸟类分类的最佳深度学习模式?
更新2018/04/17:我发现模型的准确性要低得多,因为物体挡住了相机,这些物体的颜色与待识别的鸟类的种类相似。这常常导致模型错误地给视频贴上标签,并设置很高的置信度。
发布于 2018-04-17 09:02:04
我建议在没有时间尺度的情况下,训练网络来检测图像空间中的鸟类。这将使网络有更少的参数可调,你可能会得到更好的结果。然后,对于一个新颖的视频,你可以检测到每一帧的物种,并进行多数表决来决定视频中的物种是什么。
如果你在图像空间中训练,那么你可以在图像上使用一个DataGenerator,并以各种方式对它进行转换,鸟类的位置和旋转不会影响物种。这可以通过Keras管道来完成。您可以在一般的这里中检查如何做到这一点。
您可以尝试通过预先训练的分割网络传递图像,以识别背景和前景,然后将该区域设置为静态颜色。也许是黑人(也就是全是0's)。这将使网络的决策边界更加容易。不过,我认为你应该集中在其他各点上,网络本身便应察觉哪些特征是鉴别不同物种的最显著特征,如果你有足够的训练样本,天气和背景会是低资讯特征,因而不会被使用。
这就是所谓的异常检测。这是一个困难得多的问题。如果数据集中有其他种类的鸟类可用,则可以为其他物种添加类标签。这仍然是标准的监督学习。如果没有,这将是非常困难的。大多数异常检测算法不适用于高维数据集。然后需要一种方法来压缩输入图像中的信息。这可以通过在对自然图像(如ImageNET )进行培训的预先训练的自动编码器网络上进行一些传输学习来实现,然后您可以使用传输学习使用您的鸟类图像来进一步调优网络以适应您的特定用例。然后,您可以使用我描述的这里异常检测技术之一使用这个压缩的特征空间。
https://datascience.stackexchange.com/questions/30320
复制相似问题