bitsun 发表于 2016-4-26 14:26

only555 发表于 2016-4-26 11:32
我自己猜测也是 over Fitting 了。 现在用的算法是xgboost但最后用什么算法,还不确定,我们没有固定的算 ...

xgboost是一个库,这样来看你用的是boost算法,具体里面哪个,你应该写具体点,你到底怎么调用xgboost api的,用了什么参数。同一个算法,不同的参数对结果影响太大了。
还有你不是overfitting 问题。从你描述来看是feature extraction 问题,也就是你说的把图像转换成一个compact feature vector的问题。这本身就是识别问题非常重要的第一步,建议你用Histogram of Gradient,请自行google。这是非常成功的识别行人的feature extraction 方法,一般跟SVM一起用。但是它比较适合识别一个整个的人,对于单个身体部位的识别,比如,head, arm, leg,可能效果也不错。
另外,为什么要用xgboost?这个问题一般opencv自带的单机版机器学习库足够用了。我对opencv更熟悉些。

但是我还是那句话,识别人物和肢体,microsoft kinetic sdk效果非常好。当然你非要从底层feature extraction+ classifier都自己来,我靠,这个research+implementation工作量好大

木_偶 发表于 2016-4-26 14:52

楼主问题没问清楚,我觉得你这个有问题,首先你把一张图片转换成一个行矩阵,你一整个行矩阵都是你的feature?
如果要分析问题那一定得一步步讲的非常清楚才行,显然是算法过拟合了但是问题可能性太多了

shuoshuo0000 发表于 2016-4-26 14:57

问的莫名其妙,想帮忙都插不上嘴

only555 发表于 2016-4-26 15:38

本帖最后由 only555 于 2016-4-26 15:42 编辑

bitsun 发表于 2016-4-26 14:26
xgboost是一个库,这样来看你用的是boost算法,具体里面哪个,你应该写具体点,你到底怎么调用xgboost ap ...

我们最开始也想过找些开发好的第三方软件,稍微改动些直接用,主要 我们要把这个模型最后放在SAP HANA 里面,我这边的同事大家对R和python 比较了解,别的软件不知道最后能不能放在HANA或者 SAP BW里面。 所以大家想先自己弄看aufwand怎样。。。Histogram of Gradient 我看了,我基本找的就个,你还知道类似的能分辨人体身体部位的嘛?

yangdi12 发表于 2016-4-26 19:33

不是很理解你的思路。首先检测是检测,分类是分类。
你要把人所在的那个窗口先扣出来尺寸归一化才能谈分类的问题。。。大小不一样怎么分类。
假设你已经做了归一化,其次800x600的图像为何你要做成1 x n的数列呢?
直接分成N个m x n 的小窗口计算HOG Feature,假设你用N通道的HOG,有O个窗口,你可以把Feature归一成 1 x (NxO) 的一维Feature列,然后用SVM或者别的分类器实现。
如果你是搞机器学习出身的,应该不难的

yangdi12 发表于 2016-4-26 19:35

木_偶 发表于 2016-4-26 14:52
楼主问题没问清楚,我觉得你这个有问题,首先你把一张图片转换成一个行矩阵,你一整个行矩阵都是你的featur ...

一整个行距阵都是Feature的做法我只能想到Deep Learning的各种变种,确实有人这么粗暴地干。。

yangdi12 发表于 2016-4-26 19:41

本帖最后由 yangdi12 于 2016-4-26 19:45 编辑

only555 发表于 2016-4-26 11:32
我自己猜测也是 over Fitting 了。 现在用的算法是xgboost但最后用什么算法,还不确定,我们没有固定的算 ...

*一行对应一个分类* 这句话指的是一行中每一个数值都是一个feature的一个维度。(也有同时用几个feature拼起来的,这里先略过)
你要先对原来整体图像进行feature extraction呐。可以先切割成小块然后做各个小块的特征提取,然后按顺序从头到尾连起来成1xn的行数据(典型HOG) 。也可以做整图特征提取(典型SIFT等)。
如果你非要直接生成800x600的行向量,扔去训练,你的服务器是撑不住的。
要避免特征提取问题,你可以用图像缩放算法,比如image pyramid, 缩成 40x30的图像,然后做成1x1200的向量直接扔去训练。但根据我的经验,这种暴力做法只有deep learning方向的各种NN的变种才有可能实现,而且精确度还不一定比传统SVM高。

傻卵 发表于 2016-4-26 19:44

做这个没啥前途啊,请看google图像搜索....

人家google公司大吧,资金充足吧,人员够顶尖吧,再看google图像搜索功能,用用就知道了,跟泼屎一样,你做这个能弄出个啥

yangdi12 发表于 2016-4-26 19:48

傻卵 发表于 2016-4-26 19:44
做这个没啥前途啊,请看google图像搜索....

人家google公司大吧,资金充足吧,人员够顶尖吧,再看google ...

人如其名

bitsun 发表于 2016-4-26 20:39

yangdi12 发表于 2016-4-26 19:33
不是很理解你的思路。首先检测是检测,分类是分类。
你要把人所在的那个窗口先扣出来尺寸归一化才能谈分类 ...

说的很对,从楼主给出的图像尺寸来看,不大可能已经normalization(是不是就是你说的归一化?)。所以我还忘记提feature extraction前的sliding window方法。
我觉得楼主肯定不是机器学习出身,我个人认为选择的库就很狭窄,限定于boost,不过是用来训练大数据量的分布式boost,为什么不用opencv呢,这是带python wrapper的,甚至可以用 torch。我感觉楼主更想要的是一个现成能用的sdk,感觉微软的kinetic sdk绝对是首选。
页: 1 [2] 3 4 5
查看完整版本: 有做计算机视觉,图像识别的同胞吗?