当前位置: 首页 > news >正文

电竞网站方案设计河南建站网站

电竞网站方案设计,河南建站网站,宝华路桥建设集团网站,做那种事免费网站目录 1.目标追踪的主要步骤 2、传统sort算法的流程 3.Deepsort算法流程 4、目标追踪整体代码 4.1 Configs文件目录下#xff1a; 4.2 deep_sort/deep_sort/deep目录下#xff1a; 4.3 deep_sort/deep_sort/sort目录下#xff1a; 运行demo#xff1a; DeepSORT…目录 1.目标追踪的主要步骤 2、传统sort算法的流程 3.Deepsort算法流程 4、目标追踪整体代码 4.1 Configs文件目录下 4.2 deep_sort/deep_sort/deep目录下 4.3 deep_sort/deep_sort/sort目录下 运行demo DeepSORTDeep learning based SORT是一种基于深度学习的视觉目标跟踪算法它结合了深度学习和传统的目标跟踪算法SORTSimple Online and Realtime Tracking。 DeepSORT基于目标检测器如YOLO、Faster R-CNN等检测每一帧图像中的目标并使用多特征融合Muti-feature Fusion技术对目标进行表示和描述然后使用SORT算法对目标进行跟踪。在SORT算法的基础上DeepSORT引入了Re-IDentificationRe-ID模型来解决目标ID的确定问题Re-ID模型通过计算目标在多个帧图像中的相似度来确定目标的唯一ID。 DeepSORT算法的优点是精度高鲁棒性强对于目标的遮挡、形变等情况具有很好的适应性。它已经被广泛应用于行人、车辆等目标的跟踪和智能视频监控等领域。 1.目标追踪的主要步骤 获取原始视频帧利用目标检测器对视频帧中的目标进行检测将检测到的目标的框中的特征提取出来该特征包括表观特征方便特征对比避免ID switch和运动特征运动特征方便卡尔曼滤波对其进行预测计算前后两帧目标之前的匹配程度利用匈牙利算法和级联匹配为每个追踪到的目标分配ID。 2、传统sort算法的流程 Deepsort的前身是sort算法sort算法的核心是卡尔曼滤波算法和匈牙利算法。 卡尔曼滤波算法作用该算法的主要作用就是当前的一系列运动变量去预测下一时刻的运动变量但是第一次的检测结果用来初始化卡尔曼滤波的运动变量。 匈牙利算法的作用简单来讲就是解决分配问题就是把一群检测框和卡尔曼预测的框做分配让卡尔曼预测的框找到和自己最匹配的检测框达到追踪的效果。 sort工作流程如下图所示 Detections是通过目标检测到的框框。Tracks是轨迹信息。 1将第一帧检测到的结果创建其对应的Tracks。将卡尔曼滤波的运动变量初始化通过卡尔曼滤波预测其对应的框框。 2将该帧目标检测的框框和上一帧通过Tracks预测的框框一一进行IOU匹配再通过IOU匹配的结果计算其代价矩阵cost matrix其计算方式是1-IOU。 3将2中得到的所有的代价矩阵作为匈牙利算法的输入得到线性的匹配的结果这时候我们得到的结果有三种第一种是Tracks失配Unmatched Tracks我们直接将失配的Tracks删除第二种是Detections失配Unmatched Detections我们将这样的Detections初始化为一个新的Tracksnew Tracks第三种是检测框和预测的框框配对成功这说明我们前一帧和后一帧追踪成功将其对应的Detections通过卡尔曼滤波更新其对应的Tracks变量。 4反复循环2-3步骤直到视频帧结束。 3.Deepsort算法流程 由于sort算法还是比较粗糙的追踪算法当物体发生遮挡的时候特别容易丢失自己的ID。而Deepsort算法在sort算法的基础上增加了级联匹配Matching Cascade和新轨迹的确认confirmed。Tracks分为确认态confirmed和不确认态unconfirmed新产生的Tracks是不确认态的不确认态的Tracks必须要和Detections连续匹配一定的次数默认是3才可以转化成确认态。确认态的Tracks必须和Detections连续失配一定次数默认30次才会被删除。 Deepsort算法的工作流程如下图所示 整个算法的工作流程如下 1将第一帧次检测到的结果创建其对应的Tracks。将卡尔曼滤波的运动变量初始化通过卡尔曼滤波预测其对应的框框。这时候的Tracks一定是unconfirmed的。 2将该帧目标检测的框框和第上一帧通过Tracks预测的框框一一进行IOU匹配再通过IOU匹配的结果计算其代价矩阵cost matrix其计算方式是1-IOU。 3将2中得到的所有的代价矩阵作为匈牙利算法的输入得到线性的匹配的结果这时候我们得到的结果有三种第一种是Tracks失配Unmatched Tracks我们直接将失配的Tracks因为这个Tracks是不确定态了如果是确定态的话则要连续达到一定的次数默认30次才可以删除删除第二种是Detections失配Unmatched Detections我们将这样的Detections初始化为一个新的Tracksnew Tracks第三种是检测框和预测的框框配对成功这说明我们前一帧和后一帧追踪成功将其对应的Detections通过卡尔曼滤波更新其对应的Tracks变量。 4反复循环2-3步骤直到出现确认态confirmed的Tracks或者视频帧结束。 5通过卡尔曼滤波预测其确认态的Tracks和不确认态的Tracks对应的框框。将确认态的Tracks的框框和是Detections进行级联匹配之前每次只要Tracks匹配上都会保存Detections其的外观特征和运动信息默认保存前100帧利用外观特征和运动信息和Detections进行级联匹配,这么做是因为确认态confirmed的Tracks和Detections匹配的可能性更大。 6进行级联匹配后有三种可能的结果。第一种Tracks匹配这样的Tracks通过卡尔曼滤波更新其对应的Tracks变量。第二第三种是Detections和Tracks失配这时将之前的不确认状态的Tracks和失配的Tracks一起和Unmatched Detections一一进行IOU匹配再通过IOU匹配的结果计算其代价矩阵cost matrix其计算方式是1-IOU。 7将6中得到的所有的代价矩阵作为匈牙利算法的输入得到线性的匹配的结果这时候我们得到的结果有三种第一种是Tracks失配Unmatched Tracks我们直接将失配的Tracks因为这个Tracks是不确定态了如果是确定态的话则要连续达到一定的次数默认30次才可以删除删除第二种是Detections失配Unmatched Detections我们将这样的Detections初始化为一个新的Tracksnew Tracks第三种是检测框和预测的框框配对成功这说明我们前一帧和后一帧追踪成功将其对应的Detections通过卡尔曼滤波更新其对应的Tracks变量。 8反复循环5-7步骤直到视频帧结束。   4、目标追踪整体代码 下面对目标追踪的重要代码的功能进行一个讲解 首先代码分为三个部分 目标追踪的相关代码和权重目标检测相关代码和权重这里用的是yolov5.5目标检测算法调用检测和追踪代码相关py文件 目标检测的内容可以看其他文章 这里主要讲解目标追踪相关代码部分。主要的py文件如下图所示下面将逐个讲解每个py文件的主要功能。 主要功能 4.1 Configs文件目录下 deep_sort.yaml这个yaml文件主要是保存一些参数。 1里面有特征提取权重的目录路径 2最大余弦距离用于级联匹配如果大于该阈值则忽略。 3检测结果置信度阈值 4非极大抑制阈值设置为1代表不进行抑制 5最大IOU阈值 6最大寿命也就是经过MAX_AGE帧没有追踪到该物体就将该轨迹变为删除态。 7最高击中次数如果击中该次数就由不确定态转为确定态。 8最大保存特征帧数如果超过该帧数将进行滚动保存。 4.2 deep_sort/deep_sort/deep目录下 ckpt.t7这是一个特征提取网络的权重文件特征提取网络训练好了以后会生成这个权重文件方便在目标追踪的时候提取目标框中的特征在目标追踪的时候避免ID switch。 evaluate.py计算特征提取模型精确度。 feature_extractor.py提取对应bounding box中的特征, 得到一个固定维度的特征作为该bounding box的代表供计算相似度时使用。 model.py特征提取网络模型该模型用来提取训练特征提取网络权重。 train.py训练特征提取网络的python文件 test.py测试训练好的特征提取网络的性能 4.3 deep_sort/deep_sort/sort目录下 detection.py保存通过目标检测的一个检测框框以及该框的置信度和获取的特征同时还提供了框框的各种格式的转化方法。 iou_matching.py计算两个框框之间的IOU。 kalman_filter.py卡尔曼滤波器的相关代码主要是利用卡尔曼滤波来预测检测框的轨迹信息。 linear_assignment.py利用匈牙利算法匹配预测的轨迹框和检测框最佳匹配效果。 nn_matching.py通过计算欧氏距离、余弦距离等距离来计算最近领距离。 preprocessing.py非极大抑制代码利用非极大抑制算法将最优的检测框输出。 track.py主要储存的是轨迹信息其中包括轨迹框的位置和速度信息轨迹框的ID和状态其中状态包括三种一种是确定态、不确定态、删除态三种状态。 tracker.py保存了所有的轨迹信息负责初始化第一帧卡尔曼滤波的预测和更新负责级联匹配,IOU匹配。 deep_sort/deep_sort/deep_sort.pydeepsort的整体封装实现一个deepsort追踪的一个整体效果。 deep_sort/utils这里最主要有一些各种各样的工具python代码例如画框工具日志保存工具等等。 链接https://pan.baidu.com/s/1uORzJIav2z2SXMqaBfJ5pQ  提取码ztaw 运行demo result 下一章讲解怎么训练自己的特征提取网络
http://www.hkea.cn/news/14329515/

相关文章:

  • 网站建设官网制作平台电子商城网站建设方案
  • 女生做网站推广万网 网站建设方案书
  • 企业网站模板源代码下载济南网站建设山东聚搜网力推
  • 潍坊 餐饮网站建设微信公众号功能开发
  • 贵州公司网站建设比选公示wordpress美图模板
  • 静态网站 分页wordpress虚拟商品主题
  • 张店学校网站建设哪家好个人网站免费制作平台
  • 国家建设部标准官方网站外网通过域名访问内网服务器
  • 用pdf怎么做电子书下载网站在机关网站建设会上讲话
  • 2003建立虚拟网站怎么弄网页
  • 网站建设数据库的链接手工制作小钱包
  • 湖南住房城乡建设部网站营销型网站建设制作多少钱
  • 网站实施要求wordpress 重复标题
  • 佛山新网站制作怎么样电商网站设计说明书
  • 关于公司申请建设门户网站的请示广州装修价格明细表
  • 平湖手机网站设计建行官网的网址是多少
  • 网站增加聊天广告设计与制作是干什么的
  • 成都公司展厅电商沙盘seo优化
  • 有没有帮忙做网站门户网站建设情况汇报
  • 网页建站网站申请一天赚30000的偏门
  • 有了阿里云服务器怎么做网站网站建设套餐价格
  • 青岛做企业网站的公司做网站优化选阿里巴巴还是百度
  • 网站配置网站建设开发语
  • wordpress标签归类重庆seo网站策划
  • 哪里有专业做网站深圳网站官网建设
  • 正规网站建设推荐深圳网站建设的公
  • 延吉手机网站建设开发哪里有网站设计学
  • 商务网站建设实训报告1500字在线查企业
  • lisp 网站开发深圳市住房和建设局官方网站
  • 织梦做博客类网站做神马网站快速排名