基于视觉工具箱和背景差法的行人检测,行走轨迹跟踪,人员行走习惯统计matlab仿真

news/2024/11/13 9:43:09/文章来源:https://www.cnblogs.com/matlabworld/p/18400865

1.算法运行效果图预览

(完整程序运行后无水印)

 

 

在三维图中,幅度越大,则表示人员更习惯的行走路线。

 

2.算法运行软件版本

matlab2022a

 

3.部分核心程序

(完整版代码包含详细中文注释和操作步骤视频)

    for j=1:length(inds)% 调整边界框格式[R_,C_] = find(lb == inds(j));  upLPoint  = min([R_ C_]);  dWindow   = max([R_ C_]) - upLPoint + 1;  box       = [fliplr(upLPoint) fliplr(dWindow)];  % 绘制边界框rectangle('Position', box, 'EdgeColor', [1 1 1], 'linewidth', 2); % 如果不是第一帧,计算区域的标签(轨迹关联)if i ~= 0  overlap    = 0; smax       = 0;  imax       = 0; % 查找与上一帧区域的最大交集for r=1:length(Box1_save)if rectint(box, Box1_save{r}) > smax overlap    = 1;smax     = rectint(box, Box1_save{r}); imax = Idx1_save(r);endend% 若无交集,则分配新标签if overlap == 0 if j ~= 1imax = max(max(Idx1_save), max(Idx2_save)) + 1; else imax = max(Idx1_save) + 1;endend% 更新当前帧的边界框和索引列表Box2_save{end+1} = box;  Idx2_save(end+1) = imax; else  Box2_save{end+1} = box; Idx2_save(end+1) = j;  end% 更新last_fr中动态轨迹的质心信息info_save{rem(i,Lsmth)+1}(end+1) = I_reg(inds(j)).Centroid(1);  info_save{rem(i,Lsmth)+1}(end+1) = I_reg(inds(j)).Centroid(2);end
161

  

 

4.算法理论概述

       基于视觉工具箱和背景差法的行人检测、行走轨迹跟踪以及人员行走习惯统计是视频监控和智能分析领域的重要应用。

 

      背景差法是一种经典的运动目标检测技术,其核心思想是通过比较当前帧与背景模型的差异来识别运动物体。具体步骤如下:

 

      首先,需要构建背景模型。这通常通过帧平均、高斯混合模型(Gaussian Mixture Model, GMM)等方法实现。以GMM为例,假设场景中的每个像素值xi​服从一个混合高斯分布,可表示为:

 

 

 

 

       其中,πk​是第k个高斯成分的混合权重,μk​和Σk​分别是该成分的均值和协方差矩阵,K是高斯分量的数量。

 

       对于新到来的一帧图像,每个像素的像素值xnew,i​与背景模型比较,计算其属于背景的概率。若概率低于某一阈值θ,则认为该像素属于前景,表示可能是移动的人或物。具体计算为:

 

 

 

       行走习惯统计涉及对个体或群体的行走路径、速度、停留时间等行为特征进行分析。这通常需要先通过上述步骤获取每个人的轨迹,然后进行模式识别和数据分析。对于每条行人轨迹,可以提取诸如行程时间、平均速度、轨迹长度、驻留点(停留时间超过阈值的区域)等特征。例如,平均速度Vavg​可由总距离除以总时间计算得出:

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/793206.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CF1534(模拟赛记录)

比赛页面ABCD 都打的可以,然而 E 的 +10 直接葬送了大概率过的 F1 …… 先猜了个 \(n-k+1\) 的结论,但是没有写搜索查正确性(事实上确实不正确),于是两次罚时,第一次是交互格式错了。 然后又猜了个 \(\min(n-k+1,(n-1)/(k-1))\) 的结论,过了几个小的搜索数据(\(n\le 6\…

简单比较 http https http2,我们要如何把http升级为https

🧑‍💻 写在开头 点赞 + 收藏 === 学会🤣🤣🤣http 超文本传输​​协议(HTTP)是用于传输诸如HTML的超媒体文档的应用层协议。它被设计用于Web浏览器和Web服务器之间的通信,但它也可以用于其他目的。 HTTP遵循经典的客户端-服务端模型,客户端打开一个连接以发出请求…

作业二:个人项目

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)Planning 计划 10Estimate 估计这个任务需要多少时间 300Development 开发 150Analysis 需求分析 (包括学习新技术) 50Design Spec 生成设计文档 10Design Review 设计复审 20Coding Standard 代码规…

冯.诺依曼 体系结构

冯.诺依曼 体系结构 alloverzyt 转载自:https://www.cnblogs.com/quan0311/p/15025116.html 1964年,第一台计算机ENIAC诞生,人类进入计算机时代,后来,美籍匈牙利数学家:冯.诺依曼提出了计算机“存储程序”的计算机设计理念,即将计算机指令进行编码后存储在计算机的存储器…

剑网 3 单机版安装教程 + 虚拟机一键端

今天给大家带来一款单机游戏的架设:剑网 3。本人为了学习和研究软件内含的设计思想和原理,带了单机架设教程,不适用于联网,仅供娱乐。 教程是本人亲自搭建成功的,绝对是完整可运行的,踩过的坑都给你们填上了。 如果你是小白也没问题,跟着教程走也是可以搭建成功的,但是…

Redis使用场景

Redis使用场景 目录缓存缓存穿透 缓存击穿 缓存雪崩 双写一致性 持久化 数据过期策略 数据淘汰策略分布式锁实现原理(setnx、redission)其他哨兵模式、集群脑裂 分片集群、数据读取规则 redis是单线程的却很快缓存 一、缓存穿透 定义:查询一个不存在的数据,Mysql查询不到数…

flutter 的一些概念三

介绍一些Fluter面试中可能会遇到的一些非项目相关的概率名词,像stream与future的关系,platformView是什么本文同步发布于公众号:stringwu的互联网杂谈:flutter 的一些概念三 1 Stream 与 Future的关系 Stream 和 Future 都是 Flutter 中常用的异步编程模型,Future 适用于一次…

使用css和html初步搭建页面

由于很多html标签在博客中会生效,所以我有时候会简写 1.html分为头部head和body.头部中定义标题title2.设置标题使用h1,共有六级为h1~h6.想要设置标题具体颜色要使用css,的style,有三种方式 (1)h1 color:(2)写一个外部css文件(3)使用设置.同时使用元素选择,ID选择,类选择可以单…

通义灵码助力高校开学第一课,“包”你满意,新学期加油!

通义灵码作为国内领先的 AI 编码工具,近年来在高校中得到了广泛应用和推广。它不仅帮助大学生更高效地学习编程、提高代码质量,还激发了他们的创新思维,并为未来的职业生涯做好了准备。通义灵码作为国内领先的 AI 编码工具,近年来在高校中得到了广泛应用和推广。它不仅帮助…

第十三讲:count()这么慢,我该怎么办?

第十三讲:count(*)这么慢,我该怎么办? 简概:count(*) 的实现方式 ​ 你首先要明确的是,在不同的 MySQL 引擎中,count() 有不同的实现方式。MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count() 的时候会直接返回这个数,效率很高; 而 InnoDB 引擎就麻烦了,它执…

C# Winform 打安装包

开发好一款Winform程序,往往都是直接拉Debug文件里的内容,直接运行。这样直接给客户,或者打个简易的压缩包。视觉上觉得很low,客户也觉得价不配位。因此这个5毛钱的特效还是要加上,毕竟几十万的项目款都付了。提升一下软件的B格,让客户觉得物有所值。 一、下载安装扩展程…