基于L2-RLS算法的目标跟踪算法matlab仿真,可处理小范围遮挡问题

简介: 基于L2-RLS算法的目标跟踪算法matlab仿真,可处理小范围遮挡问题

1.算法仿真效果
matlab2022a仿真结果如下:

84d101233c5ee2da939513b0a2808f50_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
6246a8024d17b49e380b17dc5f203565_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
2f585735717ea200f55cdf9bfe03fc2e_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
51e12c93f61f24f3d90fda0e719fb122_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
593362e88cd3de1668208763d4411548_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

2.算法涉及理论知识概要

   目标表观模型是跟踪器的重要组成部分,用来描述目标表观的特征.基于判别式模型的表观模型用来区分目标和背景;基于生成式模型的表观模型用来描述目标本身,提取出目标的特征.本文合理地融合了判别式模型和生成式模型来对目标进行描述,并利用L2范数最小化对目标表观系数进行求解,取得了比较好的结果.

  训练集U=[U1,U2,…,Um+n]∈Rd×(m+n),包括m个正模板U+∈Rd×,和n个负模板U-∈Rd×n.在初始位置周围手动采集m个图像,归一化后按行堆成向量作为正模板;在离初始位置较远处采集n个图像,利用同样的方法得到负模板.其中初始位置是通过在第一帧中手动标注得到的.采集到的候选样本y∈Rd可以通过训练集线性表示,即

90b80c83c2ecabcf5c89fb17ea8aca12_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.jpg

其中,b=[b1,b2,…,bm+n]T∈R(m+n)×1,为线性表示的系数.b是弱稀疏的,利用这一特征通过L2范数最小化进行求解,其中λ为约束参数.

d71d71bb51fcb9b348f887fc436d7ae9_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.jpg

L2范数约束项的作用有2个:①它使解b具有一定的稀疏度,但是L2范数的稀疏度远低于L1范数的稀疏度.②它使得最小化的解更加稳定.L2范数最小化很容易求解,令||UTb-y||22+λ||b||22的导数为0,即

09bedf301502b3171cedca30e93e1ede_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.jpg

,可得出:

1538d2e437501dc528a32b4847a3b5d6_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.jpg

其中I∈Rd×d,是一个单位矩阵,用来确保UTU+λI的可逆性.

    假设一个候选样本在前景模板上有比较小的重构误差就代表该候选样本有可能是目标,在背景模板上有比较小的重构误差就代表这个候选样本有可能是背景,在此基础上根据候选样本在前景模板和背景模板上的重构误差的差异来构造候选样本的置信值:

c3e0387aba15f635338e083f7317cd53_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.jpg

其中ρ是一个很小的固定的常数,用来权衡判别分类器的重要性.

3.MATLAB核心程序

temp = importdata([dataPath 'datainfo.txt']);
LoopNum = temp(3);%number of frames
frame = imread([dataPath '1.jpg']);
if  size(frame,3) == 3
    framegray = double(rgb2gray(frame))/255;
else
    framegray = double(frame)/255;
end
%%  p = [px, py, sx, sy, theta];  
param0 = [p(1), p(2), p(3) /opt.tmplsize(1), p(5), p(4)/p(3), 0];      
param0 = affparam2mat(param0);
..............................................................................
B=randblock(sz,opt.blockSizeSmall,opt.blockNumSmall);%% generate squre templates
for f = 1:LoopNum
    CurrentFrame=f
    frame = imread([dataPath int2str(f) '.jpg']);
    if  size(frame,3) == 3
        framegray = double(rgb2gray(frame))/255;
    else
        framegray = double(frame)/255;
    end
    
    %% do tracking
    opt.frameNum = f;
    [param,opt] = L2_Tracker(framegray, tmpl, param, opt,P,B);
    result = [ result; param.est' ];
    if param.wimg~=zeros(opt.tmplsize(1),opt.tmplsize(2));
       wimgs= [wimgs, param.wimg(:)];   
    end
  
    %%Update Model
    if  (size(wimgs,2) >= opt.batchsize)  
        %%(1)Incremental SVD
        [tmpl.basis, tmpl.eigval, tmpl.mean, tmpl.numsample] = ...
        sklm(wimgs, tmpl.basis, tmpl.eigval, tmpl.mean, tmpl.numsample, opt.ff);  
        %%(2)Clear Data Buffer
        wimgs = [];     
        %%(3)Keep "opt.maxbasis" Number Basis Vectors
        if  (size(tmpl.basis,2) > opt.maxbasis)          
            tmpl.basis  = tmpl.basis(:,1:opt.maxbasis);   
            tmpl.eigval = tmpl.eigval(1:opt.maxbasis);    
            W=tmpl.basis;
            Mu=tmpl.mean;
        end
        D=[tmpl.basis,B]; %dictionay 
        P=inv(D'*D+lambda*eye(size(D,2)))*D';% project matrix
    end
end
duration = duration + toc;
fps =f/duration;
%% 
TotalFrameNum=LoopNum;
L2RLSCenterAll  = cell(1,TotalFrameNum);      
L2RLSCornersAll = cell(1,TotalFrameNum);
for num = 1:TotalFrameNum
    if  num <= size(result,1)
        est = result(num,:);
        [ center corners ] = p_to_box([32 32], est);
    end
    L2RLSCenterAll{num}  = center;      
    L2RLSCornersAll{num} = corners;
end
相关文章
|
3天前
|
算法
基于SOA海鸥优化算法的三维曲面最高点搜索matlab仿真
本程序基于海鸥优化算法(SOA)进行三维曲面最高点搜索的MATLAB仿真,输出收敛曲线和搜索结果。使用MATLAB2022A版本运行,核心代码实现种群初始化、适应度计算、交叉变异等操作。SOA模拟海鸥觅食行为,通过搜索飞行、跟随飞行和掠食飞行三种策略高效探索解空间,找到全局最优解。
|
1天前
|
传感器 算法
基于GA遗传算法的多机无源定位系统GDOP优化matlab仿真
本项目基于遗传算法(GA)优化多机无源定位系统的GDOP,使用MATLAB2022A进行仿真。通过遗传算法的选择、交叉和变异操作,迭代优化传感器配置,最小化GDOP值,提高定位精度。仿真输出包括GDOP优化结果、遗传算法收敛曲线及三维空间坐标点分布图。核心程序实现了染色体编码、适应度评估、遗传操作等关键步骤,最终展示优化后的传感器布局及其性能。
|
3天前
|
算法 数据可视化 数据安全/隐私保护
一级倒立摆平衡控制系统MATLAB仿真,可显示倒立摆平衡动画,对比极点配置,线性二次型,PID,PI及PD五种算法
本课题基于MATLAB对一级倒立摆控制系统进行升级仿真,增加了PI、PD控制器,并对比了极点配置、线性二次型、PID、PI及PD五种算法的控制效果。通过GUI界面显示倒立摆动画和控制输出曲线,展示了不同控制器在偏转角和小车位移变化上的性能差异。理论部分介绍了倒立摆系统的力学模型,包括小车和杆的动力学方程。核心程序实现了不同控制算法的选择与仿真结果的可视化。
31 15
|
2天前
|
机器学习/深度学习 算法 安全
基于深度学习的路面裂缝检测算法matlab仿真
本项目基于YOLOv2算法实现高效的路面裂缝检测,使用Matlab 2022a开发。完整程序运行效果无水印,核心代码配有详细中文注释及操作视频。通过深度学习技术,将目标检测转化为回归问题,直接预测裂缝位置和类别,大幅提升检测效率与准确性。适用于实时检测任务,确保道路安全维护。 简介涵盖了算法理论、数据集准备、网络训练及检测过程,采用Darknet-19卷积神经网络结构,结合随机梯度下降算法进行训练。
|
6月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
272 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
6月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
162 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
6月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
138 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
9月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
9月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)

热门文章

最新文章