毕设开源 深度学习街道行人流量计数系统
文章目录0 前言1 项目运行效果2 设计概要2 原理介绍2.1 目标检测概况什么是目标检测发展阶段2.2 行人检测行人检测简介行人检测技术难点行人检测实现效果4 最后0 前言这两年开始毕业设计和毕业答辩的要求和难度不断提升传统的毕设题目缺少创新和亮点往往达不到毕业答辩的要求这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。并且很难找到完整的毕设参考学习资料。为了大家能够顺利以及最少的精力通过毕设学长分享优质毕业设计项目提供大家参考学习今天要分享的是毕业设计 深度学习街道行人流量计数系统学长这里给一个题目综合评分(每项满分5分)难度系数3分工作量3分创新点4分项目分享见主页任意置顶文章1 项目运行效果视频效果毕业设计 深度学习街道行人流量计数系统2 设计概要行人跟踪( Pedestrian Detection)是利用计算机视觉技术判断图像或者视频序列中是否存在行人并给予精确定位并在后续视频中跟踪行人。该技术可与行人重识别等技术结合应用于人工智能系统、车辆辅助驾驶系统、智能机器人、智能视频监控、人体行为分析、智能交通等领域。由于行人兼具刚性和柔性物体的特性 外观易受穿着、尺度、遮挡、姿态和视角等影响使得行人跟踪成为计算机视觉领域中一个既具有研究价值同时又极具挑战性的热门课题。.对单个行人跟踪分析并建立数学模型了解视频数据的特点根据视频数据确定相应的算法建立整个过程的数学模型.行人检测的设计了解行人检测的原理对比几种行人检测的方法确定合适的算法理解并掌握该行人检测的方法编程实现该算法.行人跟踪的设计了解行人跟踪的原理对比几种跟踪的方法并选出合适的算法理解并掌握该行人检测的方法编成实现该算法.编程的实现利用python实现程序的编写实现整个行人跟踪过程的控制2 原理介绍这里以一个简单的demo进行原理介绍。2.1 目标检测概况什么是目标检测目标检测粗略来说就是输入图片/视频经过处理得到目标的位置信息比如左上角和右下角的坐标、目标的预测类别、目标的预测置信度confidence。发展阶段手工特征提取算法如VJ、HOG、DPMR-CNN算法2014最早的基于深度学习的目标检测器之一其结构是两级网络1首先需要诸如选择性搜索之类的算法来提出可能包含对象的候选边界框2然后将这些区域传递到CNN算法进行分类R-CNN算法存在的问题是其仿真很慢并且不是完整的端到端的目标检测器。Fast R-CNN算法2014末对原始R-CNN进行了相当大的改进提高准确度并减少执行正向传递所花费的时间。是该模型仍然依赖于外部区域搜索算法。faster R-CNN算法2015真正的端到端深度学习目标检测器。删除了选择性搜索的要求而是依赖于1完全卷积的区域提议网络RPN, Region Purpose Network可以预测对象边界框和“对象”分数量化它是一个区域的可能性的分数。2然后将RPN的输出传递到R-CNN组件以进行最终分类和标记。R-CNN系列算法都采取了two-stage策略。特点是虽然检测结果一般都非常准确但仿真速度非常慢即使是在GPU上也仅获得5 FPS。one-stage方法有yolo2015、SSD2015末以及在这两个算法基础上改进的各论文提出的算法。这些算法的基本思路是均匀地在图片的不同位置进行密集抽样抽样时可以采用不同尺度和长宽比然后利用CNN提取特征后直接进行分类与回归。整个过程只需要一步所以其优势是速度快但是训练比较困难。yolov32018是yolo作者提出的第三个版本之前还提过yolov2和它们的tinny版本tinny版本经过压缩更快但是也降低了准确率。2.2 行人检测这里学长以行人检测作为例子来讲解目标检测。行人检测简介行人检测( Pedestrian Detection)一直是计算机视觉研究中的热点和难点。行人检测要解决的问题是找出图像或视频帧中所有的行人包括位置和大小一般用矩形框表示和人脸检测类似这也是典型的目标检测问题。行人检测技术有很强的使用价值它可以与行人跟踪行人重识别等技术结合应用于汽车无人驾驶系统(ADAS)智能机器人智能视频监控人体行为分析客流统计系统智能交通等领域。行人检测技术难点由于人体具有相当的柔性因此会有各种姿态和形状其外观受穿着姿态视角等影响非常大另外还面临着遮挡 、光照等因素的影响这使得行人检测成为计算机视觉领域中一个极具挑战性的课题。行人检测要解决的主要难题是:外观差异大包括视角姿态服饰和附着物光照成像距离等。从不同的角度看过去行人的外观是很不一样的。处于不同姿态的行人外观差异也很大。由于人穿的衣服不同以及打伞、戴帽子、戴围巾、提行李等附着物的影响外观差异也非常大。光照的差异也导致了一些困难。远距离的人体和近距离的人体在外观上差别也非常大。遮挡问题 在很多应用场景中行人非常密集存在严重的遮挡我们只能看到人体的一部分这对检测算法带来了严重的挑战。背景复杂无论是室内还是室外行人检测一般面临的背景都非常复杂有些物体的外观和形状、颜色、纹理很像人体导致算法无法准确的区分。检测速度行人检测一般采用了复杂的模型运算量相当大要达到实时非常困难一般需要大量的优化。行人检测实现效果检测到行人后还可以做流量分析importcv2importnumpyasnpimportrandomdefload_images(dirname,amout9999):img_list[]fileopen(dirname)img_namefile.readline()whileimg_name!:# 文件尾img_namedirname.rsplit(r/,1)[0]r/img_name.split(/,1)[1].strip(\n)img_list.append(cv2.imread(img_name))img_namefile.readline()amout-1ifamout0:# 控制读取图片的数量breakreturnimg_list# 从每一张没有人的原始图片中随机裁出10张64*128的图片作为负样本defsample_neg(full_neg_lst,neg_list,size):random.seed(1)width,heightsize[1],size[0]foriinrange(len(full_neg_lst)):forjinrange(10):yint(random.random()*(len(full_neg_lst[i])-height))xint(random.random()*(len(full_neg_lst[i][0])-width))neg_list.append(full_neg_lst[i][y:yheight,x:xwidth])returnneg_list# wsize: 处理图片大小通常64*128; 输入图片尺寸 wsizedefcomputeHOGs(img_lst,gradient_lst,wsize(128,64)):hogcv2.HOGDescriptor()# hog.winSize wsizeforiinrange(len(img_lst)):ifimg_lst[i].shape[1]wsize[1]andimg_lst[i].shape[0]wsize[0]:roiimg_lst[i][(img_lst[i].shape[0]-wsize[0])//2:(img_lst[i].shape[0]-wsize[0])//2wsize[0],\(img_lst[i].shape[1]-wsize[1])//2:(img_lst[i].shape[1]-wsize[1])//2wsize[1]]graycv2.cvtColor(roi,cv2.COLOR_BGR2GRAY)gradient_lst.append(hog.compute(gray))# return gradient_lstdefget_svm_detector(svm):svsvm.getSupportVectors()rho,_,_svm.getDecisionFunction(0)svnp.transpose(sv)returnnp.append(sv,[[-rho]],0)# 主程序# 第一步计算HOG特征neg_list[]pos_list[]gradient_lst[]labels[]hard_neg_list[]svmcv2.ml.SVM_create()pos_listload_images(rG:/python_project/INRIAPerson/96X160H96/Train/pos.lst)full_neg_lstload_images(rG:/python_project/INRIAPerson/train_64x128_H96/neg.lst)sample_neg(full_neg_lst,neg_list,[128,64])print(len(neg_list))computeHOGs(pos_list,gradient_lst)[labels.append(1)for_inrange(len(pos_list))]computeHOGs(neg_list,gradient_lst)[labels.append(-1)for_inrange(len(neg_list))]# 第二步训练SVMsvm.setCoef0(0)svm.setCoef0(0.0)svm.setDegree(3)criteria(cv2.TERM_CRITERIA_MAX_ITERcv2.TERM_CRITERIA_EPS,1000,1e-3)svm.setTermCriteria(criteria)svm.setGamma(0)svm.setKernel(cv2.ml.SVM_LINEAR)svm.setNu(0.5)svm.setP(0.1)# for EPSILON_SVR, epsilon in loss function?svm.setC(0.01)# From paper, soft classifiersvm.setType(cv2.ml.SVM_EPS_SVR)# C_SVC # EPSILON_SVR # may be also NU_SVR # do regression tasksvm.train(np.array(gradient_lst),cv2.ml.ROW_SAMPLE,np.array(labels))# 第三步加入识别错误的样本进行第二轮训练# 参考 http://masikkk.com/article/SVM-HOG-HardExample/hogcv2.HOGDescriptor()hard_neg_list.clear()hog.setSVMDetector(get_svm_detector(svm))foriinrange(len(full_neg_lst)):rects,weihog.detectMultiScale(full_neg_lst[i],winStride(4,4),padding(8,8),scale1.05)for(x,y,w,h)inrects:hardExamplefull_neg_lst[i][y:yh,x:xw]hard_neg_list.append(cv2.resize(hardExample,(64,128)))computeHOGs(hard_neg_list,gradient_lst)[labels.append(-1)for_inrange(len(hard_neg_list))]svm.train(np.array(gradient_lst),cv2.ml.ROW_SAMPLE,np.array(labels))# 第四步保存训练结果hog.setSVMDetector(get_svm_detector(svm))hog.save(myHogDector.bin)篇幅有限更多详细设计见设计论文4 最后项目包含内容项目分享见主页任意置顶文章

相关新闻

Jellyfin Desktop终极指南:打造高效媒体播放中心的完整解决方案

Jellyfin Desktop终极指南:打造高效媒体播放中心的完整解决方案

Jellyfin Desktop终极指南:打造高效媒体播放中心的完整解决方案 【免费下载链接】jellyfin-desktop Jellyfin Desktop Client 项目地址: https://gitcode.com/GitHub_Trending/je/jellyfin-desktop Jellyfin Desktop是一款基于Qt WebEngine和libmpv构建的开源…

2026/10/20 11:59:12 阅读更多 →
前端效率的真正瓶颈,不在“写代码“,在“设计和代码之间的那一层“

前端效率的真正瓶颈,不在“写代码“,在“设计和代码之间的那一层“

聊前端效率,大部分文章都在讲同一个话题:怎么让代码写得更快。什么脚手架、代码片段、AI 补全、组件库……这些当然有用,但我想先说一个反常识的观察: 一个前端团队真正的效率瓶颈,往往不是"写代码"本身&am…

2026/10/16 7:38:16 阅读更多 →
代理目标站基准一致性工具:从输入校验到离线报告的完整实现

代理目标站基准一致性工具:从输入校验到离线报告的完整实现

代理目标站基准一致性工具:从输入校验到离线报告的完整实现 项目编号:20260810-004。本文代码、测试、文档、示例数据和效果图均为独立编写,不包含热点产品或开源项目源码、品牌素材与官方截图。 问题与目标 按代理节点、目标域、状态码、首…

2026/10/16 21:16:37 阅读更多 →

最新新闻

SpringBoot整合SSM实验室预约系统:从设计到答辩完整实战

SpringBoot整合SSM实验室预约系统:从设计到答辩完整实战

实验室预约这类系统,在我接触过的毕业设计和实际项目里,出现频率相当高。原因也很直接:它的业务流程足够完整,涉及用户角色、资源管理、状态流转、时间冲突判断这些核心逻辑,却又不像电商或社交系统那样无限膨胀&#…

2026/10/21 5:50:19 阅读更多 →
STM32+PT100工业级温度采集系统设计与实现

STM32+PT100工业级温度采集系统设计与实现

简介:本资源是一套基于STM32单片机的PT100铂电阻高精度温度采集系统完整开发包,面向嵌入式初学者、电子设计竞赛学生及工业测温应用开发者,解决低温至高温范围内稳定、抗干扰温度传感与数字转换的核心问题。压缩包共277个文件,含6…

2026/10/21 5:50:19 阅读更多 →
C++控制台游戏迭代实践:迷宫生成、存档与回合制战斗设计

C++控制台游戏迭代实践:迷宫生成、存档与回合制战斗设计

1. 版本迭代概览:3.17更新到底改了什么"勇闯迷塔"是我用C写的一个控制台小游戏,从最初十几层的纯迷宫探索,到3.17版本加入存档、战斗和新楼层,前后断断续续改了大概一个多月。这次更新正好在3月17日完成打包&#xff0c…

2026/10/21 5:50:19 阅读更多 →
基于CNN卷积神经网络的辣椒类别识别:高性价比计算机视觉毕设实战指南

基于CNN卷积神经网络的辣椒类别识别:高性价比计算机视觉毕设实战指南

每年开题季,都会有一批同学卡在同一个位置上:不想做MNIST手写数字、猫狗分类这种已经被写烂了的题目,又不敢直接挑战语义分割、目标检测这类工程量大得吓人的方向。如果你刚好在这个路口纠结,我推荐一个性价比非常高的选择——基于…

2026/10/21 5:50:19 阅读更多 →
自主移动机器人建图导航实战:lingbot-map模块化方案全解析

自主移动机器人建图导航实战:lingbot-map模块化方案全解析

做自主移动机器人,最磨人的往往不是底盘控制,也不是避障算法,而是那张地图。很多人以为“地图”就是雷达扫一圈输出一张图,实际上它背后牵扯坐标变换、传感器标定、回环检测、粒子滤波、代价地图膨胀这一整条链路。lingbot-map 这…

2026/10/21 5:50:18 阅读更多 →
Elasticsearch集群安全配置:TLS/SSL与密钥库管理全解析

Elasticsearch集群安全配置:TLS/SSL与密钥库管理全解析

给Elasticsearch集群做安全配置这件事,远比想象中麻烦。很多人以为在elasticsearch.yml里加几行TLS/SSL配置就能收工,结果往往是节点之间互相不认证书、Kibana连不上、客户端报handshake failed,最后只能回滚。我这次把一套三节点ES集群从裸H…

2026/10/21 5:49:18 阅读更多 →

日新闻

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

这段时间硬件圈和AI圈都在传一个事:AMD锐龙AI Max PRO 400系列把最高192GB统一内存搬进了PC形态的产品里,按宣传口径,本地跑320B参数的大家伙不再是纸面概念。我第一反应倒不是“内存真大”,而是这话背后的含金量——它把过去只能…

2026/10/21 0:00:11 阅读更多 →
AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

1. 从“封号重开”这个行为说起:用户到底在追求什么“封号重开”这四个字,放在任何产品语境里都带着一股决绝的味道。一个账号从零开始积累使用记录、调教偏好、沉淀工作流,背后是大量的时间和精力成本。正常情况下,没有人愿意主动…

2026/10/21 0:00:11 阅读更多 →
ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

1. 为什么在ROS里硬刚YOLOv3不是“炫技”,而是工程落地的必经之路我第一次在某高校机器人实验室看到那台搭载Jetson TX2的移动底盘原地打转、反复识别错垃圾桶时,就意识到:单纯跑通darknet_ros demo和真正让YOLOv3在ROS里“干活”&#xff0c…

2026/10/21 0:00:11 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/21 4:27:17 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →