工业环境中的人员跟随行为研究
1. 引言
人员检测和跟踪是计算机科学领域的热门话题,目前已有多种基于视觉传感器的方法被测试,如彩色视觉、立体视觉或红外相机等。本文介绍了一种利用激光读数和立体相机图像来检测腿部并跟随人员的系统,为提高检测可靠性,还实施了卡尔曼滤波器以及错误恢复程序。
2. 相关工作
人员检测和跟踪的研究中,多数方法基于视觉传感器。例如,有使用彩色视觉、立体或红外相机的方法。还有通过视觉传感器检测面部、激光扫描检测腿部,然后融合这两个模块的方法。不过,仅使用激光进行腿部检测的研究相对较少。此外,也有使用全向相机、结合颜色和边缘等信息的人员模型或基于颜色和深度等线索的粒子滤波器等更复杂的方法。
3. 提出的方法
本文对以往基于激光的人员跟随系统进行了改进,引入立体相机读数以增加系统可靠性。
3.1 硬件设备
研究中使用了robuLAB80移动机器人,其尺寸为772x590x475 mm,重125kg,兼容微软机器人工作室,配备奔腾1.4 GHz处理器、512 MB RAM以及多个模拟和数字输入输出。此外,还配备了保险杠、Hokuyo激光扫描、STOC立体相机、安全灯和超声波带等传感器和执行器。Hokuyo URG - 04LX激光扫描提供240度角的测量区域,深度范围为60至4095 mm,每次扫描有625个读数。Videre STOC立体相机提供最大分辨率为640H x 480V像素的单声道(2D)和立体(3D)单色图像,立体模式下帧率可达30Hz。
3.2 系统架构
系统架构包含多个模块:腿部检测单元、立体相机单元、卡尔曼滤波器单元和控制单元。控制单元接收其他三个模块的结果并组合以产生最终结果。以下是系统架构的简单示意:
graph LR
A[腿部检测单元] --> D[控制单元]
B[立体相机单元] --> D
C[卡尔曼滤波器单元] --> D
D --> E[最终结果]
3.3 腿部检测单元
系统将腿部模型实现为激光读数中的max → min → max → min → max序列。与以往不同的是,采用了模糊方法来计算腿部概率。通过对激光读数在Pa、Pb、Pc、Pd和Pe处的四个测量来估计腿部概率:
1. Pb和Pd之间距离(假设为腿部一部分,即双脚之间距离)的可能性。
2. Pb和Pc、Pc和Pd之间距离(腿部与它们之间背景的距离)的可能性。
3. Pa和Pb之间距离(右脚与前背景的距离)的可能性。
4. Pd和Pe之间距离(左脚与后背景的距离)的可能性。
对于每个测量,函数Φ的实现方式如下:
- 测量1:
Φ(x)=
⎧
⎪
⎪
⎪
⎨
⎪
⎪
⎪
⎩
0 if x <= minimum
(x − minimum)/(optimum − minimum) if x > minimum ∧ x < optimum
1 if x = optimum
(maximum − x)/(maximum − optimum) if x > optimum ∧ x < maximum
0 if x >= maximum
- 测量2、3和4:
Φ(x)=
{
0 if x <= minimum
(x − minimum)/(threshold − minimum) if x > minimum ∧ x < threshold
1 if x >= threshold
}
腿部的总体概率通过这四个测量的组合计算,目前仅测试了算术平均值,当其中一个分量值为0时,组合概率也为0。
3.4 卡尔曼滤波器单元
卡尔曼滤波器公式为:
x(k) = Ax(k − 1) + w(k − 1),
y(k) = Cx(k) + v(k)
其中,x(k)和x(k - 1)是时间k和k - 1的状态向量,y(k)是时间k的观测向量,w和v分别是状态和观测的噪声,A和C是指定系统状态和测量模型的矩阵。在腿部跟踪中,定义状态向量x = [α ω ]T和观测向量y = [α ]T,其中α是检测到的腿部角度,ω定义腿部位置的角速度。状态和测量噪声的协方差直接从数据中估计。当检测到腿部时,实例化卡尔曼滤波器以预测下一时刻腿部的位置,并通过控制单元提供的新腿部位置进行迭代更新。当腿部检测单元无输出时,控制单元使用卡尔曼滤波器的预测来更新它。
3.5 立体相机单元
为增加腿部检测的可靠性,实施了以下步骤:
1. 提取并分析激光读数,寻找可能的腿部模式,并为每个模式分配概率。
2. 提取腿部模式上方区域的立体相机读数(视差)。
3. 计算激光和相机读数之间的一致性。
4. 更新腿部模式的概率。
在计算一致性时,仅分析图像下半部分中以腿部模式中点为中心的小矩形区域。为避免噪声影响,使用窗口结构重新计算直方图。新直方图H′的每个bin包含原直方图H中S个连续值的总和,频率和距离的计算公式如下:
H′(i) = ∑(j = i to i + S) H(j)
distance(H′, i) = (∑(j = i to i + S) j * H(j)) / (∑(j = i to i + S) H(j))
通过实验分析,当窗口大小约为20时,误差均值和标准差之间能达到较好的平衡,此时误差均值为0.163 m,标准差为0.095 m。
3.6 控制单元
立体相机单元的输出与腿部检测单元的输出相结合,根据激光和相机读数的差异,立体读数对腿部检测概率产生正或负的影响。组合公式为:
P(leg) = P(leg|laser) ∗ (λ + fN(abs(camera − laser)))
其中,λ为正常数,fN(abs(camera - laser))是绝对差值的概率密度函数。控制单元还会比较检测到的腿部位置和卡尔曼滤波器的预测位置:
αreturned =
{
αdet if |αdet − αKalm| <= K ∧ Confdet > P
αKalm otherwise
}
当一段时间内未检测到腿部时,控制单元停止更新和预测,并开始新的腿部搜索过程。
4. 实验设置和结果
为评估系统性能,在制造场景中进行了实验。实验在约30米的路径上进行多次,有不同环境条件、行走速度和不同人员参与。激光读数限制在 - 45°至45°范围内。实验中各参数取值如下:
|参数|取值|
| ---- | ---- |
|Φ1(最优值)|50 cm|
|Φ1(最小值)|5 cm|
|Φ1(最大值)|150 cm|
|Φ2、Φ3和Φ4(阈值)|75 cm|
|Φ2、Φ3和Φ4(最小值)|5 cm|
|λ|0.3|
|K(角度阈值)|5°|
|P(置信率阈值)|0.40|
检测到人员腿部后,机器人向其方向移动,但不超过预设的安全距离(100 cm)。实验有三人参与,每人走五次。系统表现出较强的鲁棒性,仅在人员走得太快或靠近玻璃时会丢失跟踪,但能快速恢复。机器人与人员的距离始终保持在安全距离以上,即使丢失跟踪也能在碰撞前恢复。
5. 结论
通过上述实验可以看出,该系统在工业环境中展现出了良好的性能和鲁棒性。具体表现如下:
-
可靠性高
:系统在大多数情况下都能准确地检测和跟踪人员的腿部,即使在人员行走速度较快或靠近玻璃等不利条件下,也能快速恢复跟踪,保证了人员与机器人之间的距离始终在安全范围内。
-
适应性强
:实验在不同的环境条件、行走速度和不同人员参与的情况下进行,系统都能较好地完成任务,说明其具有较强的适应性。
该系统为工业环境中的人机交互提供了一种有效的解决方案,能够在复杂的工业场景中实现机器人对人员的可靠跟随,提高了工作效率和安全性。
6. 未来工作展望
虽然该系统已经取得了较好的实验结果,但仍有一些方面可以进一步改进和优化,未来可以从以下两个方向展开研究:
6.1 腿部检测改进
- 增加跟踪特征 :可以考虑添加更多的特征来提高腿部检测的准确性,例如腿部的形状、纹理等信息。通过综合利用多种特征,可以更全面地描述腿部的特征,从而提高检测的可靠性。
- 调整概率框架 :对现有的概率框架进行调整和优化,使其能够更好地适应不同的环境和场景。可以采用更复杂的概率模型,如贝叶斯网络等,来提高概率计算的准确性。
- 研究数据融合方法 :探索更复杂、更有效的激光和相机数据融合方法。目前的融合方法可能还存在一定的局限性,通过研究新的数据融合算法,可以更好地利用激光和相机的优势,提高腿部检测的性能。
6.2 跟踪系统优化
- 尝试其他估计算法 :研究使用其他的估计算法,如扩展卡尔曼滤波器或粒子滤波器等,来替代现有的卡尔曼滤波器。不同的估计算法具有不同的特点和优势,通过尝试不同的算法,可以找到最适合该问题的方法,提高跟踪系统的效率和准确性。
未来的研究可以围绕上述方向展开,不断改进和优化系统的性能,使其在工业环境中得到更广泛的应用。
7. 总结
本文介绍的基于激光和立体相机的人员跟随系统,在工业环境的实验中表现出了良好的性能和鲁棒性。通过对腿部检测和跟踪系统的不断改进和优化,有望进一步提高系统的准确性和适应性,为工业环境中的人机协作提供更可靠的支持。以下是整个系统的工作流程总结:
graph LR
A[激光读数分析] --> B[腿部模式概率计算]
B --> C[立体相机读数提取]
C --> D[一致性计算]
D --> E[腿部模式概率更新]
E --> F[卡尔曼滤波器预测]
F --> G[控制单元决策]
G --> H[机器人移动控制]
I[无腿部检测] --> J[卡尔曼滤波器更新]
J --> K[新腿部搜索]
整个系统通过激光和立体相机的数据融合,结合卡尔曼滤波器进行预测和跟踪,最后由控制单元进行决策和控制,实现了机器人在工业环境中对人员的可靠跟随。在未来的研究中,通过不断改进和优化各个环节,系统的性能有望得到进一步提升。
超级会员免费看
768

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



