返回信息流各位大神好,我参考了一位研究生的论文,思路基本有了,但是实现起来不是很清晰。
思路:1.重写ImageInputFormat(继承FileInputFormat)同时设置isSplitable为False,hadoop不直接支持图片输入.
2.重写ImageRecordReader 把图片类别名做key,图像作value
3.重写map 函数,在这里调用surf算法,得到特征向量矩阵(今天试了下特征向量矩阵有170*64,280*64)
问题来了:reduce的思路是什么啊? 那篇论文的思路是把reduce的结果保存下来作为SVM训练的数据
这是一条镜像帖。来源:北邮人论坛 / ml-dm / #18646同步于 2016/3/5
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ML_DM机器人发帖
不想本科毕不了业啊!求问hadoop下图像分类
UC1451427216
2016/3/5镜像同步16 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
求教大神,整合就是把这些特征向量放push进一个向量?特征的预处理是啥,能具体指点下吗?我好想看到别人用过Knn算法聚类,是这样的吗?hadoop环境下直接使用mahout自带的knn算法?
链接:我参考的一篇博文 http://www.cnblogs.com/yxy8023ustc/p/3369867.html
【 在 w1angtq1993 的大作中提到: 】
: reduce应该就是把多个map提取的图像特征进行整合与特征的预处理,
不好意思哈,fv偶都没听过,求安利~
【 在 soeaver 的大作中提到: 】
: 看上去还是去搭分布式框架啊,图像分类用surf+svm?至少也得是fv+svm啊
【 在 UC1451427216 的大作中提到: 】
: 不好意思哈,fv偶都没听过,求安利~
fisher vector图像全局特征,类似的还有BoW,VLAD等,这些是图像分类传统方法中十分优秀的特征
在reduce的合并就是将在map阶段产生的相同key的value进行合并,比如map产生的《1, [0,1,0]》《1,[1,1,0]》在reduce时合并为《1,[[0,1,0],[1,1,0]]》也就是将同一类别的图像特征合并到一起,这样就可以输入到mahout的分类中分类了。mahout上实现好的分类算法svm,贝叶斯,决策树等
我参考的博客是这样的:
1.提取训练集中图片的feature。
2.将这些feature聚成n类。这n类中的每一类就相当于是图片的“单词”,所有的n个类别构成“词汇表”。我的实现中n取1000,如果训练集很大,应增大取值。
3.对训练集中的图片构造bag of words,就是将图片中的feature归到不同的类中,然后统计每一类的feature的频率。这相当于统计一个文本中每一个单词出现的频率。
4.训练一个多类分类器,将每张图片的bag of words作为feature vector,将该张图片的类别作为label。
我也打算用BoW做下去,但是不知道可不可以在hadoop下实现,毕竟JAVACV没有把opencv全部包含进来
【 在 soeaver 的大作中提到: 】
: fisher vector图像全局特征,类似的还有BoW,VLAD等,这些是图像分类传统方法中十分优秀的特征
求博客链接学习一下
---
更新 ,好像上面有提到了,我眼拙。。。
【 在 UC1451427216 的大作中提到: 】
: 我参考的博客是这样的:
: 1.提取训练集中图片的feature。
: 2.将这些feature聚成n类。这n类中的每一类就相当于是图片的“单词”,所有的n个类别构成“词汇表”。我的实现中n取1000,如果训练集很大,应增大取值。
: ...................