学术研究报告:基于改进CamShift-Kalman算法的可见光动态定位方法
1. 研究团队与发表信息
本研究的共同第一作者为华南理工大学的Weipeng Guan(隶属自动化科学与工程学院及深圳市南泰信息技术有限公司)和Zhipeng Liu(电子与信息工程学院),合作作者包括Shangsheng Wen(材料科学与工程学院)、Hongyun Xie(核电安全监控技术与装备国家重点实验室)及Xingjie Zhang(电子与信息工程学院)。研究发表于IEEE Photonics Journal,2019年12月第11卷第6期,DOI编号10.1109/JPHOT.2019.2944080。
2. 学术背景与研究目标
科学领域:本研究属于室内可见光定位(Visible Light Positioning, VLP)领域,结合计算机视觉与信号处理技术。
研究动机:现有VLP系统多聚焦定位精度,但忽视了实时性与鲁棒性(Robustness),尤其在LED遮挡、干扰或目标突然加速时易失效。
目标:提出一种基于图像传感器(IS)的改进CamShift-Kalman算法,同时实现高精度(亚厘米级)、实时性(每帧27.2 ms)和强鲁棒性(抗遮挡、抗干扰)。
3. 研究流程与方法
3.1 算法设计
- CamShift算法改进:
1. HSV色彩空间转换:将LED光源从RGB转换至HSV空间,利用色调(Hue)分量构建目标直方图模型,生成颜色概率分布图。
2. 自适应窗口调整:通过零阶矩(M00)和一阶矩(M10/M01)计算质心位置,动态调整搜索窗口大小与方向(公式5-14)。
3. Bhattacharyya系数引入:作为CamShift输出与真实目标的相似性指标,用于动态修正搜索窗口(公式23)。
- Kalman滤波融合:
1. 状态向量定义:包含目标位置、速度及尺寸(xₛ, yₛ, xᵥ, yᵥ, w, h)。
2. 噪声矩阵动态更新:以Bhattacharyya系数调整观测噪声矩阵R,实现Kalman增益(Kₖ)的实时优化(公式17-21)。
- 抗干扰机制:
1. 遮挡处理:若Bhattacharyya系数低于阈值,向8邻域扩展搜索窗口,直至重新捕获目标。
2. 突然加速处理:通过多方向搜索与窗口扩增,避免目标丢失。
3.2 实验平台与验证
- 硬件配置:实验平台尺寸2.1×1.1×2.0米,顶部安装6个LED(坐标已知),CMOS工业相机作为移动终端,搭载OpenCV 3.2.0处理视频。
- 测试场景:
1. 无干扰基准测试:85帧连续图像分析,定位误差0.47 cm(图12-13)。
2. 遮挡测试:LED面积被遮挡50%以上时,仍能保持定位(图7-8)。
3. 干扰测试:背景存在无ID的LED光源时,算法可准确区分目标(图9)。
4. 突然加速测试:传统CamShift失效时,改进算法通过邻域搜索恢复跟踪(图11)。
4. 主要结果与贡献
- 精度:平均定位误差0.55 cm,95%数据点误差≤0.58 cm(图14)。
- 实时性:单目标处理时间27.2 ms/帧,双目标38.18 ms/帧(表2),优于光学流法(162 ms/帧)。
- 鲁棒性:在遮挡、背景干扰及速度突变下均保持稳定(图7-11)。
- 创新点:
1. Bhattacharyya系数动态调节:首次将其用于Kalman噪声矩阵更新,提升模型适应性。
2. 多目标跟踪:支持双LED同步定位(图15-16),扩展了VLP应用场景。
5. 结论与价值
- 科学价值:解决了VLP系统中精度、实时性与鲁棒性难以兼顾的难题,为复杂环境下的室内定位提供了新思路。
- 应用价值:适用于商场、医院等大型室内场景,兼容低成本硬件,具备商业化潜力。
6. 研究亮点
- 方法创新:首次将视频目标跟踪算法(CamShift-Kalman)系统化应用于VLP,并引入Bhattacharyya系数优化噪声模型。
- 全面验证:通过遮挡、干扰、加速等多场景测试,验证了算法的普适性。
- 开源实现:基于OpenCV的算法框架便于复现与二次开发。
7. 其他价值
- 跨学科融合:结合了计算机视觉(CamShift)、控制理论(Kalman滤波)与光通信(VLP),推动了多领域技术交叉。
- 数据公开:实验参数详实(表1),为后续研究提供了基准对比。
(注:全文术语首次出现时保留英文,如“Bhattacharyya系数”“Kalman滤波”等。)