使用YOLOv8结合DeepSORT实现人物追踪和体态检测

训练yolo系列+deepsort模式的跟踪器(一):训练deepsort 训练yolo系列+deepsort模式的跟踪器(一):训练deepsort。 阅读详情

 使用YOLOv8结合DeepSORT实现人物追踪和体态检测的Python代码

import cv2
import numpy as np
from ultralytics import YOLO
from deep_sort_realtime.deepsort_tracker import DeepSort

# 初始化YOLOv8姿势估计模型
pose_model = YOLO('yolov8n-pose.pt')  # 使用预训练的人体姿势估计模型

# 初始化DeepSORT追踪器
tracker = DeepSort(max_age=30)  # 设置最大追踪丢失帧数

# 打开视频文件或摄像头
cap = cv2.VideoCapture(0)  # 0表示默认摄像头,也可替换为视频路径

# 定义关键点连接关系(用于绘制骨骼)
skeleton = [
    (0, 1), (0, 2), (1, 3), (2, 4),  # 头部和肩部
    (5, 6), (5, 7), (7, 9), (6, 8), (8, 10),  # 手臂
    (11, 12), (11, 13), (13, 15), (12, 14), (14, 16)  # 腿部
]

while cap.isOpened():
    success, frame = cap.read()
    if not success:
        break

    # 使用YOLOv8进行姿势估计
    results = pose_model.track(frame, persist=True, classes=0)  # classes=0只检测人
    
    # 提取检测结果
    if results[0].boxes.id is not None:
        boxes = results[0].boxes.xyxy.cpu().numpy()
        track_ids = results[0].boxes.id.int().cpu().numpy()
        keypoints = results[0].keypoints.xy.cpu().numpy()
        
        # 准备DeepSORT需要的检测结果格式 [x1, y1, x2, y2, confidence]
        detections = []
        for box, keypoint in zip(boxes, keypoints):
            x1, y1, x2, y2 = box
            conf = 0.9  # 使用固定置信度(实际应根据需要调整)
            detections.append(([x1, y1, x2 - x1, y2 - y1], conf, keypoint))
        
        # 使用DeepSORT更新追踪
        tracked_objects = tracker.update_tracks(detections, frame=frame)
        
        # 绘制追踪结果和姿势
        for track in tracked_objects:
            if not track.is_confirmed():
                continue
                
            track_id = track.track_id
            ltrb = track.to_ltrb()
            
            # 绘制追踪框
            x1, y1, x2, y2 = map(int, ltrb)
            cv2.rectangle(frame, (x1, y1), (x2, y2), (0, 255, 0), 2)
            cv2.putText(frame, f"ID: {track_id}", (x1, y1 - 10), 
                        cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
            
            # 查找对应的关键点
            for det in detections:
                det_box = det[0]
                if abs(det_box[0] - x1) < 5 and abs(det_box[1] - y1) < 5:
                    keypoints = det[2]
                    break
            
            # 绘制关键点和骨骼
            for i, kp in enumerate(keypoints):
                x, y = int(kp[0]), int(kp[1])
                cv2.circle(frame, (x, y), 3, (0, 0, 255), -1)
                
            for start, end in skeleton:
                if start < len(keypoints) and end < len(keypoints):
                    x1, y1 = int(keypoints[start][0]), int(keypoints[start][1])
                    x2, y2 = int(keypoints[end][0]), int(keypoints[end][1])
                    cv2.line(frame, (x1, y1), (x2, y2), (255, 0, 0), 2)

    # 显示结果
    cv2.imshow('Person Tracking with Pose', frame)
    
    # 按'q'退出
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()
  1. 依赖库:

    • OpenCV (cv2)

    • Ultralytics YOLOv8 (pip install ultralytics)

    • DeepSORT实时追踪 (pip install deep-sort-realtime)

  2. 主要功能:

    • 使用YOLOv8姿势估计模型检测人体并估计17个关键点

    • 使用DeepSORT算法进行人物追踪

    • 实时显示追踪ID和人体骨骼

国产机载操作系统天脉ACoreOS实战:从零搭建开发环境到应用移植 本文详细介绍了国产机载操作系统天脉ACoreOS的实战开发流程,从核心特性解析到开发环境搭建,再到VxWorks应用移植策略。重点阐述了其符合ARINC 653标准的时空分区架构如何保障高可靠性,并提供了从零创建分区工程、重构通信与任务代码的具体步骤,为开发者向这一国产化平台迁移提供了实用指南。 阅读详情

相关推荐

YOLOv8-seg模型后处理实战:从输出解析到mask生成的完整流程

本文详细解析了YOLOv8-seg实例分割模型的后处理完整流程,从理解output0与output1的双输出结构,到实现检测框的置信度过滤、坐标转换与NMS,再到核心的掩膜生成数学原理与矩阵乘法实现。文章深入探讨了如何将掩膜系数与原型掩膜库结合,生成像素级分割结果,并提供了掩膜上采样、边缘优化、性能提升及解决实际应用难题的实战方案。

xgboost6farmer的博客 317

使用yoloV8实现自动化脚本

移动端自动化脚本里的“找图”一直是个让人头疼的环节。OpenCV模板匹配要求目标和素材几乎像素级一致,界面稍微缩放、换个主题、加个滤镜,匹配率就断崖式下跌。找色方案更脆弱,系统亮度一变,整段逻辑就废了。无障碍控件看起来是最优解,但短视频和游戏类应用普遍对控件树做了限制,经常拿不到有效节点。冰狐平台把YOLOv8的推理能力直接封装进了JavaScript运行环境,在安卓本地完成目标检测,不走云端,模型文件和截图都不会离开手机。

jcgu的专栏 288

如何使你的直流电机闭环?(PID讲解)

看了看很多大佬写的PID讲解很全面也很复杂,实在是不适合很多萌新入坑,所以想按自己的理解写一篇通俗易懂的PID算法讲解

a2001444的博客 1万+

C#使用opencv和Yolo模型识别车牌号

本文基于OpenCVSharp与OnnxRuntime,结合YoloV8n-pose_plate模型(检测车牌位置)和OCR模型(识别车牌文字),实现高效车牌识别。通过预处理、目标检测、NMS筛选及文字识别流程,最终输出车牌框位置与识别文本。代码封装良好,支持自定义路径与置信度阈值,具备实际应用价值。

lweiyue的专栏 174

QT编程之PCM音频播放与采集

Qt5/Qt6通用方案。

深之JohnChen的专栏 1170

AI+Xmind自动生成测试用例(思维导图格式)

最后:我是Walker,一个热爱分享编程知识的程序员,希望能够帮助到你!

Think_and_work的博客 2333

YOLO26最新创新改进:融合 WST:小波无损下采样主干,下采样是主干里唯一一次不可逆的信息丢弃,用小波把丢掉的高频收回来!

YOLO26融合小波无损下采样(WST)主干,针对原始结构中下采样导致的高频信息不可逆丢失问题,提出在保持原有拓扑不变的前提下,以正交小波变换替代传统卷积下采样。该方法实现无损特征分解与高频子带重构,有效保留边缘、纹理等关键细节,解决弱目标检测中因下采样失真带来的性能瓶颈。实验表明,该改进显著提升小目标与低对比度目标检测精度,且机制清晰、可解释性强,为轻量级检测器优化提供新范式。

B站 Ai学术叫叫兽的文案地 613

基于YOLOv8的水果新鲜程度检测系统设计与实现

数据采集与预处理模块:负责收集水果图像数据并进行标注和增强深度学习模型:基于YOLOv8的目标检测模型新鲜度评估模块:根据检测结果评估水果新鲜程度用户界面:提供友好的交互界面系统集成:将各模块整合为完整系统水果新鲜程度检测需要包含多种水果在不同新鲜度状态下的图像数据集。:包含5种常见水果(苹果、香蕉、橙子、葡萄、草莓)在不同新鲜度下的图像包含约8,000张图像,分为新鲜和腐烂两类AgriVision:大型农业图像数据集,包含水果检测和分类任务Fruit-360:包含120种水果的高质量图像。

YOLO 444

高空作业栏杆检测数据集VOC+YOLO格式230张3类别

标注类别名称(注意yolo格式类别顺序不和这个对应,而以labels文件夹classes.txt为准):["langan","nverqiang","wu"]数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)nverqiang女儿墙(屋顶边缘的矮墙) 框数=118,占有图片数=95。图片数量(jpg文件个数):230。标注数量(xml文件个数):230。标注数量(txt文件个数):230。

FL1623863129的博客 201

Linux系统故障排查思路实践教程(上)

本文主要介绍了Linux系统日志分析与常见故障排查的实用方法。首先从系统日志的分类及其涉及的日志文件进行说明;其次详细讲解了忘记用户密码的解决方案;接着对系统无法启动问题,提供了异常断电后修复文件系统、/etc/fstab文件丢失恢复等常见故障的处理方案。最后介绍了文件系统只读错误的排查思路和修复方法,包括磁盘空间检查、文件系统修复等实用技巧。全文提供了大量具体命令和操作流程,为Linux系统维护人员提供了实用的故障处理指南。

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 329

[系统安全] 十一.那些年的熊猫烧香及PE病毒行为机理分析

如果你想成为一名逆向分析或恶意代码检测工程师,或者对系统安全非常感兴趣,就必须要认真分析一些恶意样本。熊猫烧香病毒就是一款非常具有代表性的病毒,当年造成了非常大的影响,并且也有一定技术手段。本文将详细讲解熊猫烧香的行为机理,并通过软件对其功能行为进行分析,这将有助于我们学习逆向分析和反病毒工作。后续作者还将对其进行逆向调试,以及WannaCry勒索蠕虫、各种恶意样本及木马的分析。基础性文章,希望您喜欢!同时,本文部分实验参考姜晔老师的视频分析,真的非常佩服和值得去学习的一位老师。技术路上哪有享乐,为了提升安

杨秀璋的专栏 7327

YOLO + SAM 3 混合自动标注:把数据集生产成本打下来的工程实践

YOLO + SAM 3 的混合方案之所以有效,不是因为它用了两个更强的模型,而是因为它把任务拆成了「召回—精修—仲裁」三段,每一段都交给了最擅长的那一方:YOLO 管快与类别,SAM 3 管准与开放概念,人管边界与例外,工程管闭环与可追溯。这篇文章讲一套已经跑在生产环境里的混合方案:让 YOLO 负责「快」和「认得类别」,让 SAM 3 负责「准」和「开放概念」,人工只负责最后一公里的仲裁与验收。给定「黄色安全帽」这样的名词短语,它返回所有符合该概念的实例掩膜与框,并给出存在性评分。

SaturnCloud的博客 758

华为OD机试新系统真题【终端设备档位差异统计】

华为OD机试 新系统真题【终端设备档位差异统计】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【终端设备档位差异统计】多语言题解。

qq_45776114的博客 785

基于 YOLOv8 的森林火灾检测系统(Web 版)

本项目面向林区早期火情识别场景,使用YOLOv8完成火焰(Fire)与烟雾(Smoke)两类目标的检测模型训练,并以FastAPI构建 Web 检测平台,把模型能力封装为可直接登录使用的系统。平台除常规的图片、批量、视频、摄像头检测外,还提供同图多权重对比、数据集浏览与标注核对、模型热切换,以及把训练搬到网页上的能力:可在浏览器配置超参数发起真实训练,训练中在线调整学习率、查看进度与动态曲线,训练完成后下载产物或直接应用到检测。

Michael_Jay的博客 64

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

YOLO26最新创新改进系列:融合 EMDD,细粒度边挖掘蒸馏检测头,检测头逐边衡量一致性来!

YOLO26 是一个被极致压缩过的一阶段检测器:C3k2 主干负责特征提取,C2PSA 做末端全局聚合,PAN-FPN 完成 P3/P4/P5 三尺度融合,检测头以解耦的分类/回归分支直接输出密集预测。整条链路的设计目标是速度优先、结构优先——用尽可能少的算子换取尽可能快的吞吐。这种极致压缩在通用自然图像上非常成功,但当检测目标不再是「通用物体」时,原始结构的5个缺陷会同时暴露。本节逐一指出这些缺陷,并说明融合EMDD之后它们如何被逐条解决——这正是本文这条改进线所要回应的核心痛点。

B站 Ai学术叫叫兽的文案地 603

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

基于深度学习的猫图像目标检测方法研究:YOLOv8s模型海选、多种子对比训练与Django+ONNX部署实现详解

本课题基于深度学习研究猫图像目标检测问题。数据集含1000张猫图像、1188个标注框,按固定比例划分并冻结清单;训练前在多个候选族中短训海选,确定YOLOv8s为主模型,经学习率搜索与显存标定后完成150轮训练,验证集mAP50达到0.92,并以7个随机种子的对比实验验证稳定性。最优权重导出为ONNX接入Django系统,提供图片、视频、摄像头三种识别方式,配套识别记录管理与统计大屏,形成从训练到应用的完整闭环。

WEIXIN_JSJBSZDS的博客 175

LocateAnything 模型:比 YOLO 快 10 倍?英伟达机器视觉新范式实测解读

步骤操作耗时1. 理解范式明白 PBD 是用原子框替代逐 token 解码2 分钟2. 跑通 demoHugging Face Spaces 在线试,或本地加载 3B 权重15 分钟3. 选型部署Hybrid Mode 作为生产默认,评估 BPS 是否满足场景需求按需核心价值:LocateAnything 不是 YOLO 的替代品——YOLO 在封闭词汇、ms 级延迟的工业场景无可撼动。

-- 294

无人机巡检道路路面异常检测数据集 深度学习 目标检测 无人机巡检 道路病害 路面异常 YOLO格式 数据集发布9028期

无人机巡检道路路面异常检测数据集 深度学习 目标检测 无人机巡检 道路病害 路面异常 YOLO格式 数据集发布9028期

qq_2529413168的博客 181

【深度学习实验】—— YOLOv12 添加 SE 注意力机制:实现、训练与水果检测对比

本次实验在 YOLOv12n 中接入 SE(Squeeze-and-Excitation)通道注意力,使用已有四类水果数据集,完成模块编写、模型解析器注册、前向与梯度检查、模型训练和最佳权重评估。项目本次设置与结果模型YOLOv12n 基线 / YOLOv12n SE 替换版任务四类水果目标检测数据集200 张图片,594 个标注框划分训练 160 张 / 验证 20 张 / 测试 20 张训练两组各 2 轮,batch=2,imgsz=640,seed=0,随机初始化。

weixin_65899656的博客 216

YOLO 系列(二):YOLO V2 原理与改进

YOLO V2 在保持实时性基础上,系统优化V1缺陷:引入批量归一化提升训练稳定性,采用高分辨率微调缓解“水土不服”,使用DarkNet主干网络实现全卷积结构;通过K-means聚类自适应提取5个先验框,结合Anchor机制提升召回率;提出直接位置预测约束偏移量,防止训练发散;融合直通层与多尺度训练增强小目标检测能力。系列改进使mAP从63.4升至75.8,兼顾精度与速度。

2301_79882046的博客 243

遥感大棚语义分割数据集 深度学习 语义分割 遥感影像 农业大棚 YOLO格式 数据集发布5025期

遥感大棚语义分割数据集 深度学习 语义分割 遥感影像 农业大棚 YOLO格式 数据集发布5025期

qq_2529413168的博客 122

基于深度学习的猫狗目标检测(Python+YOLO26m+Django)实现详解

详解基于深度学习的猫狗目标检测系统:YOLO26m迁移学习训练、数据划分与错标检测、ONNX导出、Energy阈值拒识、Django+Vue网站部署,附后端核心代码。

WEIXIN_JSJBSZDS的博客 317

YOLO26最新创新改进系列:把「概览优先 + 上下文混合动态核」装进 YOLO26 主干:让卷积核随内容而变!

YOLO26融合OverLoCK,引入“概览优先+上下文混合动态核”机制,突破静态卷积核局限。通过全局概览感知与内容自适应动态核,实现浅层特征的语境增强与尺度分工,有效解决原结构中局部细节丢失、多尺度覆盖不均等问题。改进仅替换主干关键节点,保持原有拓扑与参数,可严格归因验证。该方案兼具高效性与可解释性,为轻量级检测器提供精准、可迁移的性能提升路径。

B站 Ai学术叫叫兽的文案地 127

基于 YOLOv8 的轴承缺陷检测(Web 版)

本项目是轴承表面缺陷检测模型的 Web 端实现。围绕 YOLOv8 在轴承表面缺陷数据集上完成四类缺陷的检测模型训练后,使用 FastAPI 把模型能力封装为可直接登录使用的 Web 检测平台。平台覆盖从数据准备、模型训练、指标评估,到推理服务、历史沉淀、统计分析的完整链路。除了常规的图片、批量、视频、摄像头检测,还把模型训练搬到了网页上:可以在浏览器里配置超参数发起真实训练,训练中在线调整学习率、查看实时曲线与日志,训练完成后把权重一键应用到检测服务,形成「训练 → 评估 → 检测」的闭环。

Michael_Jay的博客 263

YOLO26最新创新改进系列:卷积核分不清这粒像素是病灶还是这粒像素是噪声,用邻域自相异把局部异常挑出来!

YOLO26 是一个被极致压缩过的一阶段检测器:C3k2 主干负责特征提取,C2PSA 做末端全局聚合,PAN-FPN 完成 P3/P4/P5 三尺度融合,检测头以解耦的分类/回归分支直接输出密集预测。整条链路的设计目标是速度优先、结构优先——用尽可能少的算子换取尽可能快的吞吐。这种极致压缩在通用自然图像上非常成功,但当检测目标不再是「通用物体」时,原始结构的三个缺陷会同时暴露。本节逐一指出这些缺陷,并说明融合NSDA之后它们如何被逐条解决——这正是本文这条改进线所要回应的核心痛点。

B站 Ai学术叫叫兽的文案地 679

开源:Yolo2CausalTCN,将YOLOv8数据集转换为因果TCN时序模型的开源工具

iNeuOS_Yolo2CausalTCN 项目实现了从YOLOv8推理结果到因果TCN时序数据集的完整转换流水线,支持滑动窗口构造时序样本、特征归一化与按时间顺序的数据集划分,并内置因果TCN的训练、评估与推理代码,打通了“视频目标检测—时序数据集生成—TCN时序预测”的全链路,可用于目标数量预测、轨迹趋势预测、视频异常时序预警等场景。

iNeuOS工业互联网操作系统 181
上一篇: OCR识别
下一篇: Agent及主流Agent框架介绍
irisMoon06
博客等级 码龄5年 280粉丝 150原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值