使用星凸随机超曲面模型对扩展对象和分组目标进行形状跟踪(Matlab代码实现)

简介: 使用星凸随机超曲面模型对扩展对象和分组目标进行形状跟踪(Matlab代码实现)

🍁🥬🕒摘要🕒🥬🍁

在传统目标跟踪技术中,早期由于传感器分辨率的限制,通常只能用点来描述目标,即目标每一时刻最多只能生成一个量测,只能对目标的质心位置、速度、加速度等进行估计。随着现代传感器技术发展,高分辨率传感器在工程中的应用越来越广泛,导致每个时刻可以得到不止一个量测,而扩展目标跟踪技术正是利用获得的多个量测信息,通过信息融合运算,得到对目标形状和运动状态的估计。


近些年扩展目标跟踪问题得到了广泛的关注,而对扩展目标形状进行估计是学者们研究的重点,因此,诞生了许多对扩展目标形状建模的方法。例如Baum等将扩展目标建模为随机超曲面模型(Random Hypersurface Model,RHM),该模型的核心思想是假设目标的量测源分布在目标边界的一个缩小版本之上,量测由处于缩小版本边界上的量测源和传感器噪声共同构成。星凸随机超曲面模型主要将径向函数用傅里叶级数展开从而描述目标轮廓,由展开系数实现对扩展目标形状建模,并结合尺度因子缩放扩展目标的形状完成对其表面量测源的建模。随机超曲面模型假设目标产生的每一量测由对应的量测源产生,这种建模方式弊端会造成量测方程具有较强的非线性。


✨🔎⚡运行结果⚡🔎✨

💂♨️👨‍🎓Matlab代码👨‍🎓♨️💂

function randomHypersurfaceModel_2011(numberOfMeasurement)
if nargin ==0
numberOfMeasurement= 100;
end
% Number of Fourier coefficients
nr_Fourier_coeff = 11;
% State describtion prior [b0--bn, x, y]
x = zeros(nr_Fourier_coeff + 2, 1);
x(1) = 1.5;
% State covariance prior
C_x = diag([ones(1, nr_Fourier_coeff).*0.02, 0.3, 0.3]);
% Measurement noise
measurementNoise = diag([0.2, 0.2].^2);
% Scale properties
scale.mean = 0.7;
scale.variance = 0.08;
% Angular resolution for plotting
phi_vec = [0:0.01:2*pi];
% Object size
a = 3;      % -- width of the horizontal rectangle
b = 0.5;    % | height of the horizontal rectangle
c = 2;      % | height of the vertical rectangle
d = 0.5;    % -- width of the vertical rectangle
sizeObject = [a b c d];
% Object shape bounds
objectBounds = [[-d, -c];[d, -c];[d, -b];[a, -b];[a, b];[d, b];[d, c];
    [-d, c];[-d, b];[-a, b];[-a, -b];[-d, -b]]' ./ 2;
% Main
% Plot
h_object = fill(objectBounds(1, :), objectBounds(2, :), [.7 .7 .7]);
hold on
xlim([-3 3]);
ylim([-3 3]);
axis equal
xlabel('x-Axis')
ylabel('y-Axis')
title('Random Hypersurface Model Simulation')
for j = 1 : numberOfMeasurement
    % Get new measurement
    newMeasurement = getNewMeasurement(sizeObject, measurementNoise);
    % Filter step
    [x, C_x] = UKF_FilterStep(x, C_x, newMeasurement, [scale.mean; [0 0]'], ...
        blkdiag(scale.variance, measurementNoise), @f_meas_pseudo_squared, nr_Fourier_coeff);
    % Plot
    shape = calcShape(phi_vec, x, nr_Fourier_coeff);
    h_measure = plot(newMeasurement(1), newMeasurement(2), '+');
    h_shape =  plot(shape(1, :), shape(2, :), 'g-', 'linewidth', 2);
    legend([h_object, h_measure, h_shape],'Target', 'Measurement', 'Estimated shape')
    drawnow;
    if j ~= numberOfMeasurement
        delete(h_shape)
    end
end


📜📢🌈参考文献🌈📢📜

[1]李永永,王莉.星凸形随机超曲面粒子扩展目标跟踪滤波器[J].舰船电子工程,2022,42(06):42-46+75.

相关文章
|
3天前
|
算法 BI Serverless
基于鱼群算法的散热片形状优化matlab仿真
本研究利用浴盆曲线模拟空隙外形,并通过鱼群算法(FSA)优化浴盆曲线参数,以获得最佳孔隙度值及对应的R值。FSA通过模拟鱼群的聚群、避障和觅食行为,实现高效全局搜索。具体步骤包括初始化鱼群、计算适应度值、更新位置及判断终止条件。最终确定散热片的最佳形状参数。仿真结果显示该方法能显著提高优化效率。相关代码使用MATLAB 2022a实现。
|
4天前
|
监控 算法 安全
基于颜色模型和边缘检测的火焰识别FPGA实现,包含testbench和matlab验证程序
本项目展示了基于FPGA的火焰识别算法,可在多种应用场景中实时检测火焰。通过颜色模型与边缘检测技术,结合HSV和YCbCr颜色空间,高效提取火焰特征。使用Vivado 2019.2和Matlab 2022a实现算法,并提供仿真结果与测试样本。FPGA平台充分发挥并行处理优势,实现低延迟高吞吐量的火焰检测。项目包含完整代码及操作视频说明。
|
4天前
|
算法
基于GA遗传优化的离散交通网络双层规划模型设计matlab仿真
该程序基于GA遗传优化设计了离散交通网络的双层规划模型,以路段收费情况的优化为核心,并通过一氧化碳排放量评估环境影响。在MATLAB2022a版本中进行了验证,显示了系统总出行时间和区域排放最小化的过程。上层模型采用多目标优化策略,下层则确保总阻抗最小,实现整体最优解。
|
6天前
|
算法
基于SIR模型的疫情发展趋势预测算法matlab仿真
该程序基于SIR模型预测疫情发展趋势,通过MATLAB 2022a版实现病例增长拟合分析,比较疫情防控力度。使用SIR微分方程模型拟合疫情发展过程,优化参数并求解微分方程组以预测易感者(S)、感染者(I)和移除者(R)的数量变化。![]该模型将总人群分为S、I、R三部分,通过解析或数值求解微分方程组预测疫情趋势。
|
26天前
|
调度 容器
MATLAB - 连续搅拌釜式反应器模型(Continuous Stirred Tank Reactor,CSTR)
MATLAB - 连续搅拌釜式反应器模型(Continuous Stirred Tank Reactor,CSTR)
44 2
|
26天前
|
机器人
MATLAB - 机器人任务空间运动模型
MATLAB - 机器人任务空间运动模型
24 1
|
26天前
|
存储
MATLAB - 使用 MPC Designer 线性化 Simulink 模型
MATLAB - 使用 MPC Designer 线性化 Simulink 模型
22 1
|
26天前
|
机器学习/深度学习
MATLAB - 机翼摇摆过程中飞机的模型参考自适应控制
MATLAB - 机翼摇摆过程中飞机的模型参考自适应控制
24 0
|
26天前
|
存储 数据可视化 安全
MATLAB - 加载预定义的机器人模型
MATLAB - 加载预定义的机器人模型
13 0
|
26天前
|
机器人 Serverless
MATLAB - 机器人关节空间运动模型
MATLAB - 机器人关节空间运动模型
15 0

热门文章

最新文章