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

深度学习与应用:行人跟踪

**实验  深度学习与应用:行人跟踪 **
------
**1、 实验目的**
------
- 了解行人跟踪模型基础处理流程
- 熟悉行人跟踪模型的基本原理
- 掌握 行人跟踪模型的参数微调训练以及推理的能力
- 掌握行人跟踪模型对实际问题的应用能力,了解如何在特定的场景和任务中应用该模型


**2、实验环境**
------
**[镜像详情]**
虚拟机数量:1个(需GPU  >=4GB)
虚拟机信息:

1. 操作系统:Ubuntu20.04

2. 代码位置:/home/zkpk/experiment/yolo_tracking_main

3. MOT17数据集存储位置:examples/val_utils/data/MOT17
   (数据集下载地址:Https://motchallenge.net)

4. 已安装软件:python版本:python 3.9,显卡驱动,cuda版本:cuda11.3 cudnn 版本:8.4.1,torch==1.12.1+cu113,torchvision= 0.13.1+cu113
5. 根据requirements.txt,合理配置python环境

**3、实验内容**
------
- 准备多目标跟踪数据集MOT17 ,下载地址位于(Https://motchallenge.net),放置于工程路径为:(examples/val_utils/data/MOT17)  
- 根据不用的行人跟踪算法实现行人跟踪实验
- 根据实验效果微调行人跟踪算法模型参数
- 实现离线视频的行人跟踪


**4、实验关键点**
------
-  下载数据集放置于指定的文件夹下
-  配置好算法所需的python虚拟环境
-  掌握行人跟踪所需的算法基础
-  具备一定的代码能力,解决实际问题

   
**5、实验效果图**
------
行人跟踪效果截图:
![](media/798ashdh.png)
  <center>图 1</center>  

行人跟踪视频效果:

目标跟踪

**6、实验步骤**
------
- 6.1 准备数据集,下载多目标跟踪数据集MOT17 ,下载地址位于(Https://motchallenge.net),将数据集放置于(examples/val_utils/data/MOT17)路径,如下图所示:
  
  <center>图 1</center>  
- 6.2 实现行人跟踪方法对视频的实时检测,运行一下命令进入yolo_tracking_main\examples:  
  
  ```shell
  cd   /home/zkpk/experiment/yolo_tracking_main/examples
  ```
运行python的track.py脚本,命令如下:
```shell
python --yolo-model weights/yolov8n --tracking-method  deepocsort  ----reid-model  weights/lmbn_n_cuhk03_d.pt  --source  testvideo.mp4   --conf  0.3  --iou  0.5  
                                                         botsort  
                                                         strongsort
                                                         ocsort  
                                                         bytetrack

```
分别对应5种不同的目标跟踪模型,实现对行人目标的跟踪

运行日志如下:
```
Successfully loaded imagenet pretrained weights from "weights\osnet_x1_0_imagenet.pth"
video 1/1 (1/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 63.4ms
video 1/1 (2/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 10.0ms
video 1/1 (3/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 11.0ms
video 1/1 (4/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 10.0ms
video 1/1 (5/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 10.0ms
video 1/1 (6/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 11.0ms
video 1/1 (7/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 13.0ms
video 1/1 (8/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 14.0ms
video 1/1 (9/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 14.0ms
video 1/1 (10/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 10.0ms
video 1/1 (11/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 13.0ms
video 1/1 (12/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 9.0ms
video 1/1 (13/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 11.0ms
video 1/1 (14/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 14.0ms
video 1/1 (15/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 10.0ms
video 1/1 (16/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 10.0ms
video 1/1 (17/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 9.0ms
video 1/1 (18/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 13.0ms
video 1/1 (19/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 10.0ms
video 1/1 (20/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 14.0ms
video 1/1 (21/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 13.0ms
video 1/1 (22/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 11.0ms
video 1/1 (23/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 10.0ms
video 1/1 (24/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 15.0ms
video 1/1 (25/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 11.0ms
video 1/1 (26/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 10.0ms
video 1/1 (27/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 11.0ms
video 1/1 (28/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 13.0ms
video 1/1 (29/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 4 persons, 13.0ms
video 1/1 (30/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 4 persons, 13.0ms
video 1/1 (31/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 14.0ms
video 1/1 (32/2385) E:\PycharmProjects\yolo_tracking_main\examples\testvideo.mp4: 480x640 3 persons, 14.0ms

```
6.3 根据上一步骤6.3 行人跟踪的效果,假如不理想可以使用MOT17数据集微调模型参数(在配置好数据集的情况才可以微调),运行一下命令:
``` shell
python  --yolo-model weights/yolov8n.pt --tracking-method  deepocsort --benchmark  MOT17  --conf  0.45

```

微调参数过程日志如下:

```
2023-11-17 17:34:48.482 | INFO     | val:eval:204 - Staring evaluation process on E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1
2023-11-17 17:34:48.560 | INFO     | val:eval:204 - Staring evaluation process on E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-04-FRCNN\img1


2023-11-17 17:35:00.221 | SUCCESS  | boxmot.appearance.reid_model_factory:load_pretrained_weights:207 - Successfully loaded pretrained weights from "E:\PycharmProjects\yolo_tracking_main\examples\weights\osnet_x0_25_msmt17.pt"
2023-11-17 17:35:00.221 | WARNING  | boxmot.appearance.reid_model_factory:load_pretrained_weights:211 - The following layers are discarded due to unmatched keys or layer size: ('classifier.weight', 'classifier.bias')
2023-11-17 17:35:00.228 | SUCCESS  | boxmot.appearance.reid_model_factory:load_pretrained_weights:207 - Successfully loaded pretrained weights from "E:\PycharmProjects\yolo_tracking_main\examples\weights\osnet_x0_25_msmt17.pt"
2023-11-17 17:35:00.228 | WARNING  | boxmot.appearance.reid_model_factory:load_pretrained_weights:211 - The following layers are discarded due to unmatched keys or layer size: ('classifier.weight', 'classifier.bias')
image 1/600 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1\000001.jpg: 736x1280 11 persons, 610.4ms
image 1/1050 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-04-FRCNN\img1\000001.jpg: 736x1280 25 persons, 652.3ms
image 2/600 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1\000002.jpg: 736x1280 9 persons, 442.2ms
image 2/1050 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-04-FRCNN\img1\000002.jpg: 736x1280 22 persons, 454.5ms
image 3/600 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1\000003.jpg: 736x1280 9 persons, 370.0ms
image 3/1050 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-04-FRCNN\img1\000003.jpg: 736x1280 24 persons, 450.9ms
image 4/600 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1\000004.jpg: 736x1280 9 persons, 460.8ms
image 4/1050 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-04-FRCNN\img1\000004.jpg: 736x1280 23 persons, 385.0ms
image 5/600 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1\000005.jpg: 736x1280 10 persons, 460.4ms
image 5/1050 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-04-FRCNN\img1\000005.jpg: 736x1280 22 persons, 399.6ms
image 6/600 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1\000006.jpg: 736x1280 10 persons, 443.0ms
image 7/600 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1\000007.jpg: 736x1280 10 persons, 460.8ms
image 6/1050 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-04-FRCNN\img1\000006.jpg: 736x1280 22 persons, 429.7ms
image 8/600 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1\000008.jpg: 736x1280 10 persons, 434.5ms
image 7/1050 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-04-FRCNN\img1\000007.jpg: 736x1280 24 persons, 448.3ms
image 9/600 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1\000009.jpg: 736x1280 10 persons, 386.9ms
image 8/1050 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-04-FRCNN\img1\000008.jpg: 736x1280 23 persons, 476.7ms
image 10/600 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1\000010.jpg: 736x1280 11 persons, 869.1ms
image 9/1050 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-04-FRCNN\img1\000009.jpg: 736x1280 23 persons, 453.9ms
image 11/600 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1\000011.jpg: 736x1280 11 persons, 460.8ms
image 10/1050 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-04-FRCNN\img1\000010.jpg: 736x1280 23 persons, 428.2ms
image 12/600 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1\000012.jpg: 736x1280 9 persons, 439.9ms
image 11/1050 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-04-FRCNN\img1\000011.jpg: 736x1280 19 persons, 470.3ms
image 13/600 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1\000013.jpg: 736x1280 10 persons, 440.8ms
image 12/1050 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-04-FRCNN\img1\000012.jpg: 736x1280 19 persons, 460.8ms
image 14/600 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1\000014.jpg: 736x1280 9 persons, 434.2ms
image 13/1050 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-04-FRCNN\img1\000013.jpg: 736x1280 20 persons, 439.0ms
image 15/600 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1\000015.jpg: 736x1280 8 persons, 384.9ms
image 14/1050 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-04-FRCNN\img1\000014.jpg: 736x1280 20 persons, 440.8ms
image 16/600 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1\000016.jpg: 736x1280 8 persons, 462.8ms
image 15/1050 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-04-FRCNN\img1\000015.jpg: 736x1280 20 persons, 451.8ms
image 17/600 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1\000017.jpg: 736x1280 8 persons, 470.7ms
image 16/1050 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-04-FRCNN\img1\000016.jpg: 736x1280 22 persons, 486.0ms
image 18/600 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1\000018.jpg: 736x1280 7 persons, 410.9ms
image 17/1050 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-04-FRCNN\img1\000017.jpg: 736x1280 23 persons, 425.9ms
image 19/600 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1\000019.jpg: 736x1280 7 persons, 380.0ms
image 20/600 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1\000020.jpg: 736x1280 8 persons, 436.8ms
image 18/1050 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-04-FRCNN\img1\000018.jpg: 736x1280 23 persons, 447.8ms
image 21/600 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1\000021.jpg: 736x1280 8 persons, 476.0ms
image 19/1050 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-04-FRCNN\img1\000019.jpg: 736x1280 21 persons, 518.6ms
image 22/600 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1\000022.jpg: 736x1280 8 persons, 360.0ms
image 20/1050 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-04-FRCNN\img1\000020.jpg: 736x1280 22 persons, 388.6ms
image 23/600 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1\000023.jpg: 736x1280 9 persons, 391.0ms
image 21/1050 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-04-FRCNN\img1\000021.jpg: 736x1280 22 persons, 416.9ms
image 24/600 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1\000024.jpg: 736x1280 9 persons, 458.8ms
image 22/1050 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-04-FRCNN\img1\000022.jpg: 736x1280 22 persons, 404.7ms
image 25/600 E:\PycharmProjects\yolo_tracking_main\examples\val_utils\data\MOT17\train\MOT17-02-FRCNN\img1\000025.jpg: 736x1280 9 persons, 443.9ms
```

**7、思考题**
------
-  考虑在行人跟踪中,模型算法还有哪些改进点
-  思考怎么将跟踪算法模型应用到手部动作跟踪中
-  思考如何调节模型参数和训练参数提升模型的效果指标

**8、 实验报告**
------
请按照实验报告的格式要求撰写实验报告。

相关文章:

深度学习与应用:行人跟踪

**实验 深度学习与应用&#xff1a;行人跟踪 ** ------ **1、 实验目的** ------ - 了解行人跟踪模型基础处理流程 - 熟悉行人跟踪模型的基本原理 - 掌握 行人跟踪模型的参数微调训练以及推理的能力 - 掌握行人跟踪模型对实际问题的应用能力&#xff0c;了解如何在特定的场景和…...

MySQL | DATE_ADD()函数

题1&#xff1a; 现在运营想要查看用户在某天刷题后第二天还会再来刷题的平均概率。请你取出相应数据。 示例&#xff1a;question_practice_detail iddevice_idquest_idresultdate12138111wrong2021-05-0323214112wrong2021-05-0933214113wrong2021-06-1546543111right2021…...

DVWA 靶场环境搭建

作者&#xff1a;程序那点事儿 日期&#xff1a;2024/09/15 09:30 什么是DVWA: 是OWSASP官方编写的PHP网站&#xff0c;包含了各种网站常见漏洞&#xff08;漏洞靶场&#xff09;&#xff0c;可以学习攻击及修复方式。 PHP环境包含了&#xff0c;Windows/Apache/Mysql/Php g…...

Autosar学习----AUTOSAR_SWS_BSWGeneral(七)

&#x1f4a5;&#x1f4a5;&#x1f50d; &#x1f50d; 欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f421;优势&#xff1a;❤️博客内容尽量做到通俗易懂&#xff0c;逻辑清晰。 ⛳️座右铭&#xff1a;恒心&#xff0c;耐心&#xff0c;静心。 ⛳️ 欢迎一起…...

自动化测试框架集成:将Selenium集成到pytest与unittest中

目录 引言 一、Selenium简介 二、Selenium与pytest的集成 1. 安装pytest和Selenium 2. 编写测试用例 3. 运行测试 三、Selenium与unittest的集成 1. 编写测试类 2. 运行测试 四、Selenium自动化测试的最佳实践 1. 使用Page Object模式 2. 合理利用等待机制 3. 跨浏…...

华为GaussDB数据库(单机版)在ARM环境下的安装指南

一、软件版本 机器配置&#xff1a;8核16G&#xff0c;CPU: Huawei Kunpeng 920 2.9GHz操作系统&#xff1a;EulerOS 2.8 64bit with ARM数据库版本&#xff1a;GaussDB Kernel 505.1.0 build 44f4fa53 二、部署流程 2.1 新建用户 ① 以omm用户为例&#xff0c;添加一个omm用…...

计算机网络笔记002

### 课堂讨论对话 **学生A**: 老师&#xff0c;计算机网络的组成是怎样的&#xff1f;&#x1f914; **老师**: 非常好的问题&#xff01;计算机网络主要由硬件、软件和通信协议三部分组成。我们先从硬件开始讨论吧。 **学生B**: 硬件包括哪些设备呢&#xff1f;&#x1f60…...

Unity 的Event的Use()方法

对于Event的Use方法&#xff0c;其在调用后将不会再判断同类型的事件 这种情况下&#xff0c;第二个MosueDown不会进入&#xff0c;因为已经Use 如果把Use注释掉 依旧能进入第二个MosueDown 也就是说当使用了Use方法&#xff0c;相同的事件类型不会进第二遍...

数据分析师之Excel数据清洗

前言 目前&#xff0c;掌握一定的Excel技能时&#xff0c;怎么通过自己的技能实现数据分析的操作&#xff0c;就需要进行具体项目的实战&#xff0c;本身数据分析这个行业是非常吃经验的&#xff0c;既然我们是小白入坑&#xff0c;就需要多做实战演练&#xff0c;才能够实际的…...

手机解压软件加密指南:让文件更安全

在数字化时代&#xff0c;文件加密对于保护个人隐私和敏感信息的重要性不言而喻。随着互联网的飞速发展&#xff0c;我们的生活和工作越来越依赖于数字设备和网络。 然而&#xff0c;这也带来了一系列的安全风险&#xff0c;如黑客攻击、数据泄露等。文件加密技术成为了保护我…...

python yield generator 详解

目录 generator基础 generator应用 generator基础应用   generator高级应用 注意事项&#xff1a; 正文 本文将由浅入深详细介绍yield以及generator&#xff0c;包括以下内容&#xff1a;什么generator&#xff0c;生成generator的方法&#xff0c;generator的特点&#…...

MATLAB矩阵下标引用

在MATLAB中&#xff0c;普通的二维数组元素的数字索引分为双下标索引和单下标索引。双下标索引是通过一个二元数组对来对应元素在矩阵中的行列位置&#xff0c;例如A(2,3)表示矩阵A中第2行第3列的元素。单下标索引的方式是采用列元素优先的原则&#xff0c;对m行n列的矩阵按列排…...

syn洪水攻击原理是什么

在网络世界中&#xff0c;正常的网络访问就像一场有序的对话。当我们访问网站时&#xff0c;客户端与服务器要进行 TCP 三次握手来建立连接。首先&#xff0c;客户端向服务器发送一个 SYN 包&#xff0c;请求建立连接&#xff0c;这就如同向服务器打招呼说“我想连接”&#xf…...

前缀和(4)_除自身以外数组的乘积

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 前缀和(4)_除自身以外数组的乘积 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录…...

第二十一节:学习Redis缓存数据库的Hash操作(自学Spring boot 3.x的第五天)

这节记录下Redis的Hash操作。主要是opsForHash方式和boundHashOps方式。 boundHashOps和opsForHash都是Spring Data Redis中用于操作Redis哈希数据结构的方法&#xff0c;但它们在使用方式和场景上存在一些区别。 boundHashOps 使用方式&#xff1a; boundHashOps方法通过Redi…...

OpenCV视频I/O(1)视频采集类VideoCapture介绍

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 用于从视频文件、图像序列或摄像头捕获视频的类。 该类提供了用于从摄像头捕获视频或读取视频文件和图像序列的 C API。 以下是该类的使用方法&a…...

CVE-2024-46103

前言 CVE-2024-46103 SEMCMS的sql漏洞。 漏洞简介 SEMCMS v4.8中&#xff0c;SEMCMS_Images.php的search参数&#xff0c;以及SEMCMS_Products.php的search参数&#xff0c;存在sql注入漏洞。 &#xff08;这个之前就有两个sql的cve&#xff0c;这次属于是捡漏了&#x1f6…...

三,MyBatis-Plus 的各种查询的“超详细说明”,比如(等值查询,范围查询,模糊查询...)

三&#xff0c;MyBatis-Plus 的各种查询的“超详细说明”&#xff0c;比如(等值查询&#xff0c;范围查询&#xff0c;模糊查询…) 文章目录 三&#xff0c;MyBatis-Plus 的各种查询的“超详细说明”&#xff0c;比如(等值查询&#xff0c;范围查询&#xff0c;模糊查询...)1. …...

Linux 冯诺依曼体系结构与操作系统概念

目录 0.前言 1. 冯诺依曼体系结构概述 1.1 输入单元 1.2 中央处理单元&#xff08;CPU&#xff09; 1.3 输出单元 2. 冯诺依曼体系结构的关键特性 2.1 所有数据流向内存 2.2 数据流动示例&#xff1a;QQ聊天过程 3. 操作系统 3.1 概念 3.2 设计操作系统的目的 3.3 操作系统的“…...

UE4中 -skipbuild -nocompile 有什么区别

在项目开发中&#xff0c;我看到了在调用 Engine\\Build\\BatchFiles\\RunUAT.bat 相关的命令行中&#xff0c;有 -skipbuild、 -nocompile 两个很像的参数&#xff0c;于是想探究一下它们的区别与含义。 -skipbuild 参数 到底有没有 -skipbuild 这个参数&#xff1f;根据 http…...

k8s篇之数据挂载类型及区别

一、K8S集群数据挂载类型及区别 在 Kubernetes 中,数据挂载类型主要有以下几种,每种类型适用于不同的场景。以下是主要的挂载类型及其应用场景的详细说明: 1. emptyDir 描述:emptyDir 是一个空目录,其生命周期与 Pod 相同。 它在 Pod 创建时被创建,并在 Pod 删除时被清…...

LiveQing视频点播流媒体RTMP推流服务功能-支持电子放大拉框放大直播视频拉框放大录像视频流拉框放大电子放大

LiveQing视频点播流媒体RTMP推流服务功能-支持电子放大拉框放大直播视频拉框放大录像视频流拉框放大电子放大 1、鉴权直播2、视频点播3、RTMP推流视频直播和点播流媒体服务 1、鉴权直播 鉴权直播-》播放 &#xff0c;左键单击可以拉取矩形框&#xff0c;放大选中的范围&#x…...

fetch怎么使用

fetch 是一个现代、强大的、基于 Promise 的网络请求 API&#xff0c;用于在浏览器中发起网络请求&#xff08;如异步获取资源&#xff09;。它提供了一种更加简洁和灵活的方式来替代 XMLHttpRequest。下面是 fetch 的基本使用方法和一些示例。 基本语法 fetch(url, options)…...

回归预测 | Matlab基于SO-SVR蛇群算法优化支持向量机的数据多输入单输出回归预测

回归预测 | Matlab基于SO-SVR蛇群算法优化支持向量机的数据多输入单输出回归预测 目录 回归预测 | Matlab基于SO-SVR蛇群算法优化支持向量机的数据多输入单输出回归预测预测效果基本描述程序设计参考资料 预测效果 基本描述 1.Matlab基于SO-SVR蛇群算法优化支持向量机的数据多…...

光耦知识分享:如何挑选合适的可控硅光耦型号

可控硅光耦是一种光电耦合器件&#xff0c;它结合了光敏元件&#xff08;通常是光敏二极管&#xff09;和可控硅器件&#xff08;如普通可控硅或三端可控硅&#xff09;的特性。它的工作原理是利用光信号控制可控硅的导通和截止&#xff0c;从而实现对电路的控制。 可控硅光耦…...

MySql Explain优化命令使用

MySql Explain优化命令使用 truncate table student // 自增id 从 0 开始 delete from student // 自增id 会保留 &#xff0c; 108 区别&#xff1a; 1&#xff1a;自增id 2&#xff1a;delete 可以恢复 truncate 无法恢复 前言 EXPLAIN 是一个用于获取 SQL 语句执行计划的…...

Android NestedScrollView+TabLayout+ViewPager+ 其它布局,ViewPager 不显示以及超出屏幕不显示问题

前言 此场景为 NestedScrollView 嵌套多个布局 &#xff0c;大致结构为 NestedScrollViewTabLayoutViewPagerfragment 其它View,如下图 &#xff0c; 一、ViewPager 设置高度才会显示内容问题 原因&#xff1a;NestedScrollView 计算高度先于 ViewPager 渲染前&#xff0c;所…...

Linux开机logo设置

本文介绍Linux开机logo设置。 常用的Linux开机logo设置工具有fbi(Linux Framebuffer Imageviewer)&#xff0c;plymouth等&#xff0c;本文针对fbi工具进行开机logo设置。 1.fbi工具安装 命令行下&#xff0c;输入&#xff1a; sudo apt-get install fbi -y 安装完毕后&am…...

webpack插件开发 模拟vue系统登录后,获取a标签下的文件

浏览器插件开发中&#xff0c;在webpack插件开发中&#xff0c;模拟Vue系统登录后获取a标签下的文件&#xff0c;可以通过监听某个登录事件&#xff0c;并在事件处理函数中修改Webpack的输出配置来实现。以下是一个简化的示例代码&#xff1a; // 假设有一个插件构造函数 Logi…...

大规模数据处理:分库分表与数据迁移最佳实践

什么是分库分表 分库分表是一种数据库架构优化策略&#xff0c;它将数据分散存储在多个数据库或表中&#xff0c;以此来提高系统的可扩展性和性能。 虽然分库分表能够提升系统的整体性能&#xff0c;但是也不要一上来就分库分表&#xff0c;如果系统在单表的情况下&#xff0…...