最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

meanshift优缺点和算法代码

来源:动视网 责编:小OO 时间:2025-09-29 18:14:58
文档

meanshift优缺点和算法代码

meanshift 做跟踪的优缺点及其代码 (2012-03-2812:45:16)转载▼标签: 转载原文地址:meanshift 做跟踪的优缺点及其代码作者:千里8848meanShift算法用于视频目标跟踪时,采用目标的颜色直方图作为搜索特征,通过不断迭代meanShift向量使得算法收敛于目标的真实位置,从而达到跟踪的目的。传统的meanShift算法在跟踪中有几个优势:(1)算法计算量不大,在目标区域已知的情况下完全可以做到实时跟踪;(2)采用核函数直方图模型,对边缘遮挡、目标旋转、变
推荐度:
导读meanshift 做跟踪的优缺点及其代码 (2012-03-2812:45:16)转载▼标签: 转载原文地址:meanshift 做跟踪的优缺点及其代码作者:千里8848meanShift算法用于视频目标跟踪时,采用目标的颜色直方图作为搜索特征,通过不断迭代meanShift向量使得算法收敛于目标的真实位置,从而达到跟踪的目的。传统的meanShift算法在跟踪中有几个优势:(1)算法计算量不大,在目标区域已知的情况下完全可以做到实时跟踪;(2)采用核函数直方图模型,对边缘遮挡、目标旋转、变
meanshift 做跟踪的优缺点及其代码

  (2012-03-28 12:45:16)

转载▼

标签: 

转载
原文地址:meanshift 做跟踪的优缺点及其代码作者:千里8848

meanShift算法用于视频目标跟踪时,采用目标的颜色直方图作为搜索特征,通过不断迭代meanShift向量使得算法收敛于目标的真实位置,从而达到跟踪的目的。

传统的meanShift算法在跟踪中有几个优势:

(1)算法计算量不大,在目标区域已知的情况下完全可以做到实时跟踪;

(2)采用核函数直方图模型,对边缘遮挡、目标旋转、变形和背景运动不敏感。

同时,meanShift算法也存在着以下一些缺点:

(1)缺乏必要的模板更新;

(2)跟踪过程中由于窗口宽度大小保持不变,当目标尺度有所变化时,跟踪就会失败;

(3)当目标速度较快时,跟踪效果不好;

(4)直方图特征在目标颜色特征描述方面略显匮乏,缺少空间信息;

由于其计算速度快,对目标变形和遮挡有一定的鲁棒性,所以,在目标跟踪领域,meanShift算法目前依然受到大家的重视。但考虑到其缺点,在工程实际中也可以对其作出一些改进和调整;例如:

(1)引入一定的目标位置变化的预测机制,从而更进一步减少meanShift跟踪的搜索时间,降低计算量;

(2)可以采用一定的方式来增加用于目标匹配的“特征”;

(3)将传统meanShift算法中的核函数固定带宽改为动态变化的带宽;

(4)采用一定的方式对整体模板进行学习和更新;

代码如下,使用方法:先圈出要跟踪对象的初始位置,然后双击。输入为图片序列。

///////////////////////////////////////////////////////////////////////////////////////////

close all;

clear all;

figure(1);

imshow(rgb);

[temp,rect] = imcrop(rgb);%交互式切图

[a,b,c] = size(temp);

%中心点位置

y(1) = a/2;

y(2) = b/2;

%带宽

h = y(1)^2 + y(2)^2;

%用epanechnikov计算权值矩阵

t_weight = zeros(a,b);

for i = 1:a

    for j = 1:b

        dist = (i - y(1))^2 + (j - y(2))^2;

        t_weight(i,j) = 1 - dist/h;

    end

end

%归一化系数

C = 1/sum(sum(t_weight));

%计算跟踪目标直方图,16*16*16 bins

hist1 = zeros(1,4096);

for i = 1:a

    for j = 1:b

        t_r = fix(double(temp(i,j,1))/16);

        t_g = fix(double(temp(i,j,2))/16);

        t_b = fix(double(temp(i,j,3))/16);

        位颜色

        t_color = 256*t_r + 16*t_g + t_b;

        hist1(t_color + 1) = hist1(t_color + 1) + t_weight(i,j);

    end

end

hist1 = C*hist1;  %归一化直方图

%读取待跟踪序列

for k = 0015:0053

    

    num = 0; %迭代次数

    Y = [2,2]; %移动向量

    %meanshift迭代

    while ((Y(1)^2 + Y(2)^2)>0.5) & (num < 20)

        num = num + 1;

        temp1=imcrop(Im,rect); 

        hist2 = zeros(1,4096);%候选区域直方图

        for i = 1:a

            for j = 1:b

                m_r = fix(double(temp1(i,j,1))/16);

                m_g = fix(double(temp1(i,j,2))/16);

                m_b = fix(double(temp1(i,j,3))/16);

                m_color(i,j) = 256*m_r + 16*m_g + m_b;

                hist2(m_color(i,j) + 1) = hist2(m_color(i,j) + 1) + t_weight(i,j);

            end

        end

        hist2 = C * hist2;

        w = weight(hist1,hist2);

        %计算移动量

        sum_w = 0;

        xw = [0 0];

        for i = 1:a

            for j = 1:b

                sum_w = sum_w + w(m_color(i,j) + 1);

                xw = xw + w(m_color(i,j)+1)*[i-y(1),j-y(2)];

            end

        end

        Y = xw/sum_w;

        %中心点位置更新

        rect(1) = rect(1) + Y(2);

        rect(2) = rect(2) + Y(1);

    end

    %显示跟踪结果

    v1=rect(1);

    v2=rect(2);

    v3=rect(3);

    v4=rect(4);

    figure(2);

    clf;

    imshow(Im);

    hold on

    rectangle('Position',[rect(1) rect(2) rect(3) rect(4)],'EdgeColor','r');

end

///////////////////////////////////

function w = weight(hist1,hist2)

w = zeros(1,4096);

for i = 1:4096

    if hist2(i) ~= 0

        w(i) = sqrt(hist1(i)/hist2(i));

    else

        w(i) = 0;

    end

end

return

文档

meanshift优缺点和算法代码

meanshift 做跟踪的优缺点及其代码 (2012-03-2812:45:16)转载▼标签: 转载原文地址:meanshift 做跟踪的优缺点及其代码作者:千里8848meanShift算法用于视频目标跟踪时,采用目标的颜色直方图作为搜索特征,通过不断迭代meanShift向量使得算法收敛于目标的真实位置,从而达到跟踪的目的。传统的meanShift算法在跟踪中有几个优势:(1)算法计算量不大,在目标区域已知的情况下完全可以做到实时跟踪;(2)采用核函数直方图模型,对边缘遮挡、目标旋转、变
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top