物体识别中相关触觉特征的识别
引言
在物体识别领域,利用触觉信息进行分类是一种有前景的方法。本文将介绍一种基于触觉数据的分类方法,通过提取统计特征、离散化处理和构建决策树等步骤,实现对物体的有效分类。
特征提取
- 数据采集 :采样数据是将传感器垫沿直线在物体上滚动获得的一系列触觉图像时间序列。由于探测时施加的力有限,触觉传感阵列通常仅在小的孤立区域被激发,且探测时很难恰好击中物体的边缘或平面区域,因此很少产生线或面接触区域。
-
特征类型
:
- 基于全时间序列的特征(FS) :如全时间序列中所有触觉元素的平均压力。
- 基于部分时间序列的特征(Q) :如时间序列四分之一部分中所有触觉元素的平均压力。
- 复合特征(C) :由时间序列四个季度的平均压力组成,可表示时间序列过程中的相对变化。
- 特征示例 :包括触觉图像块质心的位置和距离、最大、最小和平均压力值、二阶和三阶随机矩等。
- 特征维度 :应用这些特征到时间序列上,在后续处理步骤之前产生了226个不同属性,总维度为$x \in \mathbb{R}^{920}$。尽管存在部分冗余信息,但与单个触觉帧的维度$\mathbb{R}^{16×16} = \mathbb{R}^{256}$和典型的约2200帧时间序列相比,已经实现了显著的维度降低,从约500,000维降至920维。
| Feature No. | Feature Description | FS | Q | C |
|---|---|---|---|---|
| 0 - 5 | Center of mass | X | X | X |
| 6 - 11 | Distance center of mass - center of sensor | X | X | X |
| 12 - 14 | Value, Position maximum tactel | X | ||
| 15 - 17 | Value, Position minimum tactel | X | ||
| 18 - 23 | Mean tactel activity | X | X | X |
| 24 | Value median tactel | X | ||
| 25 - 30 | Standard deviation | X | X | X |
| 31 - 36 | Third moment/skewness | X | X | X |
| 37 - 42 | Fourth moment/kurtosis | X | X | X |
| 43 - 54 | Min/max standard deviation | X | X | X |
| 55 - 69 | Min/max 3 × 3 windowed standard deviation | X | X | X |
| 70 - 132 | Windowed third and fourth moment | X | X | X |
| 133 - 150 | Higher moments of windows with most contact | X | X | X |
| 151 - 157 | Distance maximum tactel from center | X | X | X |
| 158 | Number of tactels > mean + 0.5(std.dev.) | X | ||
| 159 | Sum Powerspectrum | X | ||
| 160 - 171 | 3 × 3 and 5 × 5 windows at maximum tactel | X | X | X |
| 172 - 183 | 3 × 3 and 5 × 5 windows at most contact area | X | X | X |
| 184 - 226 | Hu Moments | X | X | X |
离散化处理
由于所有特征都是连续值,需要进行离散化步骤。C4.5算法虽然能处理连续值属性,但其简单的阈值方法不适合本文的分类场景,因为这只允许二叉决策树,对于可比性能需要更大的树深度。因此,采用k-means聚类算法将不同属性聚类到每个属性的N个不同区间中,该参数是此方法中唯一重要的参数。
决策树构建
使用C4.5算法构建决策树,该算法通过监督学习在给定数据上构建决策树。具体步骤如下:
1. 创建根节点T。
2. 如果节点T上的所有元素给出相同输出y,则将T设为终端节点,标记为y并终止。
3. 否则,计算所有属性a的归一化信息增益$IG(X,a)$。
4. 选择信息增益最高的属性$a_{best}$。
5. 创建以$a_{best}$标记的决策节点。
6. 根据信息增益对N个属性代表进行最佳划分,创建子节点$T_j$。
7. 对每个$T_j$,递归执行步骤2。
决策树在每个分支节点询问特定特征,叶子节点为物体类别,每个节点的分支级别在2到N之间。
graph TD;
A[创建根节点T] --> B{所有元素输出相同?};
B -- 是 --> C[设为终端节点并标记];
B -- 否 --> D[计算信息增益];
D --> E[选择最佳属性];
E --> F[创建决策节点];
F --> G[创建子节点];
G --> H[递归处理子节点];
决策树分析
为了研究提出的特征的重要性、系统性能以及对不同参数的依赖性,对生成的决策树进行了分析。测试了从2到99的不同N值,对每个特征或属性进行了统计分析,包括:
-
特征在树中使用的级别
:较高级别使用的特征更具信息性。
-
通过特定特征分支节点分类的训练样本数量
:一个特征“决定”的样本越多,对分类过程的贡献越大。
-
特征与类别分布之间的互信息
:定义为$I(X;Y) := \sum_{y \in Y} \sum_{x \in X} p(x,y) \log_2 \left( \frac{p(x,y)}{p(x)p(y)} \right)$,用于衡量特征分布的知识减少类别分布不确定性的程度。
物体识别中相关触觉特征的识别
分类结果
为了强调最相关特征的重要性,除了基于所有特征训练决策树外,还仅使用初始训练中互信息最高的十五个特征训练了一个分类器,并使用其余211个特征训练了第三个决策树进行比较。分类结果与离散化区间数N的关系如下表所示:
| 特征集 | 最低分类错误率(%) | 对应N值 | 最高分类错误率(%) | 对应N值 |
|---|---|---|---|---|
| 全特征向量 | 6.5 | 81 | 13.1 | 2 |
| 最佳15个特征 | - | - | - | - |
| 其余特征集 | - | - | - | - |
从分类结果图中可以看出,当N = 4时,已经获得了92.5%的良好分类结果。使用更高的N值并不会显著提高分类性能。随着N值的增加,分类错误率缓慢下降,但较大的N值也会显著增加决策树的大小,导致更高的计算量和内存使用。
graph LR;
A[N值较小] --> B[分类错误率较高];
A --> C[决策树较浅];
D[N值较大] --> E[分类错误率较低];
D --> F[决策树较深];
D --> G[计算量和内存使用增加];
各因素影响分析
- N值的影响 :虽然分类错误率随着聚类数N的增加而缓慢降低,但在N = 4时已经获得了相当不错的分类率。最佳分类结果在非常高的N值下实现,但由于k - means聚类是一种启发式方法,受初始条件影响,分类结果会有一些波动。不过总体上,N值越高,分类结果越好。然而,较大的N值会显著增加决策树的大小,导致更高的计算量和内存使用。
-
特征分析
:
- 每一层的互信息随着节点深度的增加而下降,但下降斜率相对较小,这意味着许多特征对分类结果的贡献程度相似。
- 从每个特征的互信息分析以及涉及特定特征分类的数据样本数量来看,几乎所有特征对分类结果的贡献都相近。不过,从分类结果图可以看出,在接受较小的分类精度损失的情况下,可以减少特征数量,这表明信息在所有属性上分布良好。但较小的特征集需要更大的N值来提供令人满意的成功率所需的信息粒度。
- 鲁棒性 :为了检验该方法在旋转和平移方面的泛化能力,将数据分为训练集和测试集。对于平移鲁棒性测试,使用物体的三个平移值(零平移以及x和y方向平移)构建树,然后在x和y方向的组合平移上进行测试;对于旋转测试,使用物体的0°、10°、30°、40°、50°、70°和80°旋转构建树,在其余角度(20°和60°)上进行测试。结果显示,该方法在平移和旋转测试中的泛化能力明显低于之前使用神经分类算法的方法,分类错误率分别为39.7%和39.3%,这表明决策树不是解决物体分类任务的最佳分类器。
方法总结与未来展望
该方法在主要参数N(离散化步骤数)方面表现出鲁棒性,k - means聚类和C4.5中的其他参数保持默认值,在合理范围内变化这些参数对分类结果没有显著影响。随着N值的增加,树的大小会增大,但分类错误率几乎保持不变。选择高于最优值的N主要会影响运行时间和内存消耗,而不会显著影响分类结果。
所有提出的特征似乎都对成功的分类结果有贡献,信息在不同属性上分布良好,当互信息最高的特征被移除时,其余特征可以在一定程度上弥补信息损失。
未来计划将该方法扩展到物体位置和方向的分类。在触觉传感领域,大多数工作集中在检测和保持接触,下一步可以设想一种触觉探索策略,选择能获得最大信息增益的动作进行经济高效的探索。同时,还存在许多开放的研究问题,如如何高效处理触觉数据、哪些信息可以在实际传感器元件处早期局部处理以减少大型触觉传感器阵列所需的巨大布线工作、需要何种处理架构以及如何组织主动触觉传感系统等。

被折叠的 条评论
为什么被折叠?



