Machine learning 基于级联分类器的Kinect目标分类

Machine learning 基于级联分类器的Kinect目标分类,machine-learning,artificial-intelligence,kinect,haar-classifier,Machine Learning,Artificial Intelligence,Kinect,Haar Classifier,我的项目是创建一个软件,可以识别某些物体,如苹果或硬币等。我想使用Kinect。我的问题是:我是否需要像haar分类器这样的机器学习算法来识别对象,或者kinect本身可以做到这一点?kinect本身无法识别对象。它会给你一张密集的深度图。然后你可以使用深度特征和一些简单的特征在你的情况下,也许颜色特征或梯度特征会做的工作。例如,输入到分类器SVM或随机林中以训练系统的那些特征。您可以使用经过训练的模型对新样本进行测试 关于Haar特性,我认为它们可以完成这项工作,但您需要一个足够大的特性数据库

我的项目是创建一个软件,可以识别某些物体,如苹果或硬币等。我想使用Kinect。我的问题是:我是否需要像haar分类器这样的机器学习算法来识别对象,或者kinect本身可以做到这一点?

kinect本身无法识别对象。它会给你一张密集的深度图。然后你可以使用深度特征和一些简单的特征在你的情况下,也许颜色特征或梯度特征会做的工作。例如,输入到分类器SVM或随机林中以训练系统的那些特征。您可以使用经过训练的模型对新样本进行测试

关于Haar特性,我认为它们可以完成这项工作,但您需要一个足够大的特性数据库。这完全取决于你想检测什么。就一个苹果和一枚硬币而言,只要颜色就足够了

参考本文,了解如何使用Kinect摄像机进行人体姿势识别。你只需要注意它们的深度特征和分类器。不要直接应用他们的方法。你的问题更简单

编辑:简单渐变方向直方图

渐变方向可以让你大致了解物体的形状。具体来说,这不是一个形状特征,存在更好的形状特征,但这个特征计算起来非常快

代码段:

%calculate gradient
[dx,dy] = gradient(double(img));
A = (atan(dy./(dx+eps))*180)/pi;   %eps added to avoid division by zero.
A将包含每个像素的方向。根据深度值分割原始图像。对于具有相似深度值的线段,计算颜色直方图。提取对应于该区域的像素方向,称之为\u r。计算一个9个箱子,你可以有更多的箱子。九个箱子意味着每个箱子将包含180/9=20度直方图。连接颜色特征和渐变直方图。这样做可以获得足够数量的叶子。然后您可以将其交给分类器进行训练

编辑:这是对下面评论的回复

关于中的MaxDepth参数

文件上说,弱树的最大深度。一个合适的选择是1,这是树桩的情况。执行二进制分类时,它采用以下形式:

if yourFeatureValue>=learntThresh
   class=1;
else
   class=0;
end
上述对单个特征值(标量)执行阈值处理的分类器类型称为决策树桩。正类和负类之间只有一个拆分,因此maxDepth是一个。例如,它将在以下场景中工作。假设您有一个1-D功能:

f=[1 2 3 4 -1 -2 -3 -4]
前4名为1级,其余为0级。通过将阈值设置为零,决策树桩将获得该数据的100%准确性。现在,想象一个复杂的要素空间,例如:

f=[1 2 3 4 5 6 7 8 9 10 11 12];
前4名和后4名为1级,其余为0级。在这里,你不能得到100%的分类决策树桩。您需要两个阈值/分割。因此,可以构造深度值为2的树。您将有2^2-1=2个阈值。对于深度=3,得到4个阈值;对于深度=4,得到8个阈值,依此类推。这里,我假设一棵树只有一个节点,树的高度为1


您可能会觉得级别的数量越多,您可以获得更高的精度,但随后会出现过度拟合和计算、内存存储等问题。。因此,必须为深度设置一个良好的值。我通常先把它设为3。

!!在我的例子中,我想识别一种叫萨曼的叶子。我想我需要的特征是:叶子是绿色时的大小和颜色,叶子死时的黄色和棕色!!我想我需要一个大数据库。你认为哈尔分类器是个好主意吗?还是你有更好的选择?你说对了。简单的颜色特征是一个更好的主意。寻找颜色直方图。顺便问一下,为什么要使用kinect进行树叶分类?现在没有。这是我的项目。该项目是有人在kinect面前展示一片叶子,kinect决定对象是否是叶子,如果对象是叶子,则决定对象是否是Saman的叶子。稍后我将制作一个原型,可以处理这些对象!!出于这个原因,我想知道你们是否认为haar分类器是一个好主意,或者你们认为有更好的选择!!你觉得怎么样?@user2676907我想说,不需要使用haar功能。将深度特征与颜色特征一起使用,例如,color histogram.ohh yaa…你说我不必使用haar分类器进行训练,只需使用深度特征和颜色特征,我就可以识别树叶的长度??