gpt4 book ai didi

java - 如何使用libsvm对图像进行训练和分类?

转载 作者:行者123 更新时间:2023-11-30 09:22:06 24 4
gpt4 key购买 nike

使用 libsvm 的分类总是错误的,并且它永远不会改变预测的标签。(例如,我有 7 种情绪,当我尝试从数据集外部预测图像时,它给了我 4 种。这是快乐的情绪,我尝试过数据集中的图像,结果是相同的标签)

我使用方向 6尺度 4 的 gabor 滤波器提取了图像特征。我使用脚本grid.py来查找costgamma的最佳值最后我使用了最后一步训练中的参数并得到了模型

./svm-train -c 8 -g 0.03214 svm.train model.model

我尝试更改内核函数和 svm-type 但仍然是同样的问题。

我在训练中使用的特征数量和数据集中的图像数量之间有什么关系吗?

注意:我使用了日本女性面部表情数据集。

最佳答案

我认为您不想使用 SVM 进行图像分类。您描述的任务(检测图像上的情绪)要求您向 SVM 提供非常好的特征以供学习,gabor 过滤器不会这样做。

我建议您尝试深度学习方法 - 例如您可能希望为此尝试卷积神经网络。这些东西能够从原始图像中提取特征,然后使用它们对图像进行分类。

看看这个: http://danielnouri.org/notes/2014/12/17/using-convolutional-neural-nets-to-detect-facial-keypoints-tutorial/

在这里,他们使用 DNN 来查找图像上的面部关键点(即眼睛、鼻尖等的位置)。您可能需要稍微调整代码,以便它只对您的图像进行分类。

再次强调,DNN 的强大之处在于它既可以充当特征提取器,也可以充当分类器。与任何类型的 SWM 不同,它是用于图像识别任务的极其强大的工具。

关于java - 如何使用libsvm对图像进行训练和分类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31005767/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com