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

YOLOv2学习笔记

YOLOv2

背景

YOLOv2是YOLO的第二个版本,其目标是显著提高准确性,同时使其更快

相关改进

  • 添加了BN层——Batch Norm
  • 采用更高分辨率的网络进行分类主干网络的训练 Hi-res classifier
  • 去除了全连接层,采用卷积层进行模型的输出,同时采用与锚框(anchor)进行bounding box的预测
  • 采用新的网络架构Darknet-19
  • 采用k-means聚类方法对训练集中的标准框做聚类分析,获取anchor boxes
  • 使用sigmoid函数处理位置预测值
  • 采用passthrough的网络模型的连接方式(类似resnet
  • 多尺度输入数据训练模型(可以用任意尺度的图像输入)

改进点详述

Batch Norm

引入Batch Norm,解决数据分布问题,有利于网络的训练

在这里插入图片描述

同时,为了防止经过某层网络后,数据的分布发生变化,因此约定,在每一层卷积层后都要加一层BN

基本步骤:

  • 求每一个训练批次数据的均值

  • 求每一个训练批次数据的方差

  • 使用求的的均值和方差对该批次的训练数据做归一化(调整为正态分布

  • 尺度变化和偏移:使用可学习的参数,做尺度变化和偏移
    B N γ , β = γ x i + β BN_{\gamma, \beta} = \gamma x_i + \beta BNγ,β=γxi+β
    在这里插入图片描述

实验证明,添加了BN层同时去除Dropout可以提高2%的mAP

一般BN层不和Dropout一起使用

Hi-res Classifier

使用更高分辨率的图像对模型进行预训练

对于分类模型:

  • 先使用224×224的数据训练160轮
  • 再使用448×448的数据训练10轮

对于检测模型:

  • 利用多尺度训练的方法一共训练160轮

Convolutional + Anchor Box

作者在实验中说明,如果仅仅单独地使用全卷积或者Anchor Box,会导致mAP下降

Yolov1中全连接层的缺点:

  • 参数量大
  • 容易过拟合

因此,作者在Yolov2中进行了改进:

  • 把最后的全连接层去掉
  • 一处最后一个Pool层,使得卷积层输出更高分辨率
  • 用416×416代替原来的输入大小448×448
    • 最后输出为13×13×225,13代表划分为13×13个bounding box
    • 416 / 13 = 0 416 / 13 = 0 416/13=0
  • 将分类和空间检测解耦,利用anchor box来预测目标的空间位置和类别——每一个框使用一组概率
    • 最后输出为13×13×225
    • 225 = 9×25 → \to 9 × ( x , y , w , h , c ) + p (x, y, w, h, c) + p (x,y,w,h,c)+p(其中,p为20个类别

在这里插入图片描述

使用奇数划分bounding box:防止物体中心点落在四个bounding box中心的情况
在这里插入图片描述

Anchor Box

yolov1中直接预测出物体的检测框大小的坐标,但由于物体大小不一,直接根据主干网络提取的信息进行矩形框和坐标的预测是一件很难的事情

而yolov2借鉴Faster R-CNNSSD的做法利用anchor框进行预测——核心是事先设置一个合理的box,即anchor box,基于这个合理的box进行预测

在这里插入图片描述

对每个grid cell都设置一些(9个)合理的anchor box,然后每个grid cell都基于这些anchor box进行预测,即预测框基于模型提取的特征和**anchor box**进行检测

anchor box的设置:

  • 三种尺寸:小、中、大三种尺寸
  • 三种长宽比例:1:1、1:2、2:1
  • 共有 3 × 3 = 9 种anchor box
    在这里插入图片描述

同时,由于引入了anchor box,因此存在两个问题:

  • anchor box的尺寸是人为手动选择,因此需要较合理的先验尺寸
  • 引入anchor box后模型训练不稳定,尤其是训练刚开始的时候,这种预测的不稳定来自于预测box的(x,y)
anchor box的选取

解决:使用k-means对9个设定的anchor box进行筛选

利用k-means真实框进行聚类算法步骤:

  • 定义簇类的个数,随机选取k个样本作为簇中心
  • 分别计算所有样本到k个簇中心的欧式距离
  • 根据距离,将样本点进行簇的划分
  • 计算各中心样本的均值作为新的簇心
  • 重复上述步骤,直至新的中心和原来的中心基本不变化时,结束

对所有样本中所有的真实框做聚类,将最终聚类的结果作为anchor box

同时,为了确保大的真实框和小的真实框之间的量纲问题,使用IOU作为聚类的评判准则:
d ( b o x , c e n t r o i d s ) = 1 − I O U ( b o x , c e n t r o i d s ) d(box, centroids) =1-IOU(box, centroids) d(box,centroids)=1IOU(box,centroids)
注:计算IOU是将不同的box中心点重合,计算不同box之间的交并比

大的真实框和小的真实框之间的量纲问题

如果使用欧式距离作为度量,则大的真实框会比小的真实框产生更多地误差,例50x50和45x45的box 与5x5和4.5x4.5的box,使用欧氏距离计算:
( 50 − 45 ) 2 + ( 50 − 45 ) 2 = 50 ( 5 − 4.5 ) 2 + ( 5 − 4.5 ) 2 = 0.5 \sqrt{(50-45)^2 + (50 - 45)^2} = \sqrt{50} \\ \sqrt{(5-4.5)^2 + (5 - 4.5)^2} = \sqrt{0.5} (5045)2+(5045)2 =50 (54.5)2+(54.5)2 =0.5
可见大的真实框产生的误差更大,这就会导致,假设k=5,大的box被分到多个簇中,而其余中小形状的box被分到一个簇中

作者在平衡复杂度和IOU之后,最终得到的最佳k值为5,因此最后的输出是13×13×125(5×25)

在这里插入图片描述

DarkNet-19网络模型

分类模型

该网络模型种由于没有全连接层,因此模型对输入数据(图片大小)没有特殊的规定要求
在这里插入图片描述

且其中每一个卷积模块由**卷积+BN+激活函数**构成

在这里插入图片描述

由上述结构可以看出,不论输入的图片大小是多少,最终经过一层1×1卷积层和全局平均池化后都会转化为1×1×1000的向量,从而进行分类工作

——正是由于这种网络结构(对输入数据大小不做严格要求),使得总体网络架构可以进行多尺度数据训练,增强模型的鲁棒性

检测模型

去除分类输出,即去除最后的1×1卷积层、全局平均池化核Sodtmax,使用一个1×1×N(N由输出结果而定)卷积代替
在这里插入图片描述

直接位置预测

弃用RPN网络预测方式,沿用yolov1的方式,预测边界框中心点相对于相应cell左上角位置的相对偏移值,同时使用sigmoid函数处理,进行归一化,防止偏移过多
b x = σ ( t x ) + c x b y = σ ( t y ) + c y b w = p w e t w b h = p h e t h b_x = \sigma(t_x) + c_x \\ b_y = \sigma(t_y) + c_y \\ b_w=p_we^{t_w} \\ b_h = p_he^{t_h} bx=σ(tx)+cxby=σ(ty)+cybw=pwetwbh=pheth
其中, ( c x , c y ) (c_x, c_y) (cx,cy)cell左上角的坐标, ( p w , p h ) (p_w, p_h) (pw,ph)anchor框的尺寸大小

在这里插入图片描述

Passthrough

输入图像经过多层网络提取特征后(经过卷积、下采样),最后输出的特征图中,较小的对象特征可能不明显或者被忽略掉——为了更好地检测一些比较小的对象,最后输出的特征图需要保留一些更细节的信息

基本步骤:

  • 先对原始数据沿着通道维度进行拆分,得到 O 1 O1 O1
    在这里插入图片描述

  • 再对原始数据进行卷积和池化,得到 O 2 O2 O2

  • O 1 O1 O1 O 2 O2 O2进行Concat,得到特征融合后的数据

在这里插入图片描述

完整版的DarkNet-19

在这里插入图片描述

多尺度训练

作者再训练过程中引入了多尺度训练数据,即在训练过程中使用不同尺度的数据大小进行训练,增强模型的鲁棒性

具体操作为:每训练10个batch,网络就会随机选择另一种size的输入

训练过程

Yolov2的训练分为三个阶段

第一阶段

ImageNet分类数据集上预训练DarkNet-19,此时模型的输入为224×224,共训练160个轮次

第二阶段

将网络的输入调整为448x448,继续在ImageNet数据集上finetune(微调)分类模型,训练10个epoch

第三阶段

  • 修改DarkNet-19分类模型为检测模型,并在检测数据集上继续微调160轮

    网络的修改包括:

    • 移除最后一个卷积层、全局池化层和softmax层,增加三个3×3×1024卷积层
    • 增加passthrough
  • 输出数据中,channels = num_anchors×(5+num_calsses),该数与数据集有关

    同时在训练过程中使用多尺度的方式进行训练

损失函数

在这里插入图片描述

背景置信度误差

在这里插入图片描述

其中, 1 M a x I o U < T h r e s h 1_{Max IoU<Thresh} 1MaxIoU<Thresh为判定条件; λ n o o b j \lambda _{noobj} λnoobj为系数,当框内为背景时,该值为1

该误差用于计算各个预测框和所有真实标注框之间的IoU,并且取最大的IoU,如果该值小于一定的阈值(0.6),则这个预测框就标记为背景

先验框与预测框的坐标误差

其中, p r i o r prior prioranchor box的数据, b b b为预测框的相关数据

只在前12800步计算,目的是在训练前期预测框快速学习到先验框的形状,使得预测框不至于太过离谱

有物体的损失

计算与真实框匹配的预测框的损失,包括坐标损失、置信度损失和类别损失

匹配原则:

  • 对于某个特定的真实框,首先计算其中心点落在哪个cell上
  • 然后将这个cell对应的所有的anchor box与真实框之间的IoU,且这个过程中不考虑坐标只考虑形状
  • 选择最大的IoU作为于其匹配的anchor box,用这个anchor box对应的预测框来预测真实框

对于那些没有被真实框匹配的先验框,除去那些Max_IoU低于阈值的(需要计算背景置信度损失),其他的就全部忽略

在这里插入图片描述

其中, 1 k t r u t h 1_k^{truth} 1ktruth为判定条件

总结

相比于Yolov1,定位的准确度和召回率均有提升,且速度较快

提出了几个比较好的模块,使得后续版本继续沿用:

  • anchor box预选框
  • DarkNet网络架构

缺点:

  • 小目标检测效果差
  • 整体检测效果还有待提高

相关文章:

YOLOv2学习笔记

YOLOv2 背景 YOLOv2是YOLO的第二个版本&#xff0c;其目标是显著提高准确性&#xff0c;同时使其更快 相关改进&#xff1a; 添加了BN层——Batch Norm采用更高分辨率的网络进行分类主干网络的训练 Hi-res classifier去除了全连接层&#xff0c;采用卷积层进行模型的输出&a…...

2025年国企社招欧治链金再生资源入职测评笔试中智赛码平台SHL测试平台Verify认知能力测试

1、欧治链金政治素质测试&#xff08;中智赛码平台&#xff0c;电脑端作答&#xff09; 10个单选题、5个多选题、1个问答题 2、欧治链金综合素质测试&#xff08;SHL测试平台Verify认知能力测试&#xff0c;电脑端作答&#xff09; 3、欧治链金职业性格测试&#xff08;中智职…...

MySQL索引和事务

MySQL索引和事务 1.索引1.1概念1.2作用1.3使用场景1.4使用1.4.1查看索引1.4.2创建索引1.4.3删除索引 2.事务2.1使用2.1.1开启事务2.1.2执行多条SQL语句2.1.3回滚或提交 2.2事务的特性2.2.1回滚是怎么做到的2.2.2原子性2.2.3一致性2.2.4持久性2.2.5隔离性2.2.5.1脏读2.2.5.2不可…...

【AI News | 20250415】每日AI进展

AI News 1、字节跳动发布Seaweed-7B视频模型&#xff1a;70亿参数实现音视频同步生成与多镜头叙事 字节跳动推出新一代视频生成模型Seaweed-7B&#xff0c;该模型仅70亿参数却实现多项突破&#xff1a;支持音视频同步生成、多镜头叙事&#xff08;保持角色连贯性&#xff09;、…...

MegaTTS3: 下一代高效语音合成技术,重塑AI语音的自然与个性化

在近期的发布中&#xff0c;浙江大学赵洲教授团队与字节跳动联合推出了革命性的第三代语音合成模型——MegaTTS3&#xff0c;该模型不仅在多个专业评测中展现了卓越的性能&#xff0c;还为AI语音的自然性和个性化开辟了新的篇章。 MegaTTS3技术亮点 零样本语音合成 MegaTTS3采用…...

MyBatis-Plus 详解教程

文章目录 1. MyBatis-Plus 简介1.1 什么是 MyBatis-Plus&#xff1f;1.2 为什么要使用 MyBatis-Plus&#xff1f;传统 MyBatis 的痛点MyBatis-Plus 的优势 1.3 MyBatis-Plus 与 MyBatis 的关系 2. 快速开始2.1 环境要求2.2 依赖引入MavenGradle 2.3 数据库准备2.4 配置 Spring …...

Java设计模式之观察者模式:从入门到架构级实践

一、观察者模式的核心价值 观察者模式&#xff08;Observer Pattern&#xff09;是行为型设计模式中的经典之作&#xff0c;它建立了对象间的一对多依赖关系&#xff0c;让多个观察者对象能够自动感知被观察对象的状态变化。这种模式在事件驱动系统、实时数据推送、GUI事件处理…...

【双指针】专题:LeetCode 202题解——快乐数

快乐数 一、题目链接二、题目三、题目解析四、算法原理扩展 五、编写代码 一、题目链接 快乐数 二、题目 三、题目解析 快乐数的定义中第二点最重要&#xff0c;只有两种情况&#xff0c;分别拿示例1、示例2分析吧&#xff1a; 示例1中一旦出现1了&#xff0c;继续重复过程就…...

深度学习占用大量内存空间解决办法

应该是缓存的问题&#xff0c;关机重启内存多了10G&#xff0c;暂时没找到别的方法 重启前 关机重启后...

[LeetCode 1871] 跳跃游戏 7(Ⅶ)

题面&#xff1a; 数据范围&#xff1a; 2 ≤ s . l e n g t h ≤ 1 0 5 2 \le s.length \le 10^5 2≤s.length≤105 s [ i ] s[i] s[i] 要么是 ′ 0 ′ 0 ′0′ &#xff0c;要么是 ′ 1 ′ 1 ′1′ s [ 0 ] 0 s[0] 0 s[0]0 1 ≤ m i n J u m p ≤ m a x J u m p <…...

同济大学轻量化低成本具身导航!COSMO:基于选择性记忆组合的低开销视觉语言导航

作者&#xff1a;Siqi Zhang 1 ^{1} 1, Yanyuan Qiao 3 ^{3} 3, Qunbo Wang 2 ^{2} 2, Zike Yan 4 ^{4} 4, Qi Wu 3 ^{3} 3, Zhihua Wei 1 ^{1} 1, Jing Liu 1 ^{1} 1单位&#xff1a; 1 ^{1} 1同济大学计算机科学与技术学院&#xff0c; 2 ^{2} 2中科院自动化研究所&#xff0…...

【Ubuntu | 网络】Vmware虚拟机里的Ubuntu开机后没有网络接口、也没有网络图标

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f60e;金句分享&#x1f60e;&a…...

第二十一讲 XGBoost 回归建模 + SHAP 可解释性分析(利用R语言内置数据集)

下面我将使用 R 语言内置的 mtcars 数据集&#xff0c;模拟一个完整的 XGBoost 回归建模 SHAP 可解释性分析 实战流程。我们将以预测汽车的油耗&#xff08;mpg&#xff09;为目标变量&#xff0c;构建 XGBoost 模型&#xff0c;并用 SHAP 来解释模型输出。 &#x1f697; 示例…...

HP惠普打印机:解决每次打印后额外产生@PJL SET USERNAME=文档的情况

情况描述 惠普商用打印机型号&#xff1a;Color LaserJet Managed MFP E78223 在每次打印文档后都会出现包含我个人电脑用户名的额外文档&#xff1a; 这不是我希望的&#xff0c;因此我联系了惠普官方客服&#xff0c;并得到了解决 解决方案 原因 具客服所说&#xff0c;这些是…...

MariaDB MaxScale 的用途与实现细节

MaxScale 主要用途 MariaDB MaxScale 是一个智能数据库代理&#xff08;proxy&#xff09;&#xff0c;主要用于增强 MySQL/MariaDB 数据库的高可用性、可扩展性和安全性&#xff0c;同时简化应用程序与数据库基础设施之间的交互。它的核心功能包括&#xff1a; 负载均衡&…...

CTF--eval

一、原网页&#xff1a; 二、步骤&#xff1a; 1.代码分析&#xff1a; <?phpinclude "flag.php"; // 引入一个文件&#xff0c;该文件可能定义了一些变量&#xff08;例如 $flag&#xff09;$a $_REQUEST[hello]; // 从用户请求中获取参数 hello 的值&#x…...

Android学习总结之算法篇七(图和矩阵)

有向图的深度优先搜索&#xff08;DFS&#xff09;和广度优先搜索&#xff08;BFS&#xff09;的示例&#xff0c;以此来模拟遍历 GC Root 引用链这种有向图结构&#xff1a; 一、深度优先搜索&#xff08;DFS&#xff09; import java.util.*;public class GraphDFS {privat…...

vmcore分析锁问题实例(x86-64)

问题描述&#xff1a;系统出现panic&#xff0c;dmesg有如下打印&#xff1a; [122061.197311] task:irq/181-ice-enp state:D stack:0 pid:3134 ppid:2 flags:0x00004000 [122061.197315] Call Trace: [122061.197317] <TASK> [122061.197318] __schedule0…...

【vue3】vue3+express实现图片/pdf等资源文件的下载

文件资源的下载&#xff0c;是我们业务开发中常见的需求。作为前端开发&#xff0c;学习下如何自己使用node的express框架来实现资源的下载操作。 实现效果 代码实现 前端 1.封装的请求后端下载接口的方法,需求配置aixos的请求参数里面的返回数据类型为blob // 下载 export…...

【BUG】Redis RDB快照持久化及写操作禁止问题排查与解决

1 问题描述 在使用Redis 的过程中&#xff0c;遇到如下报错&#xff0c;错误信息是 “MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk...”&#xff0c;记录下问题排查过程。 2 问题排查与解决 该错误提示表明&#…...

【HD-RK3576-PI】定制用户升级固件

硬件&#xff1a;HD-RK3576-PI 软件&#xff1a;Linux6.1Ubuntu22.04 在进行 Rockchip 相关开发时&#xff0c;制作自定义的烧写固件是一项常见且重要的操作。这里主要介绍文件系统的修改以及打包成完整update包升级的过程。 一、修改文件系统镜像&#xff08;Ubuntu环境操作&…...

【AI学习】李宏毅老师讲AI Agent摘要

在b站听了李宏毅2025最新的AI Agent教程&#xff0c;简单易懂&#xff0c;而且紧跟发展&#xff0c;有大量最新的研究进展。 教程中引用了大量论文&#xff0c;为了方便将来阅读相关论文&#xff0c;进一步深入理解&#xff0c;做了截屏纪录。 同时也做一下分享。 根据经验调整…...

狂神SQL学习笔记十:修改和删除数据表字段

1、修改与删除表 alter 修改表的名称&#xff1a; 增加表的字段&#xff1a; 修改表的字段&#xff08;重命名&#xff0c;修改约束&#xff09;&#xff1a; 修改约束 重命名 删除表的字段 删除表...

OSPF综合实验

一、网络拓扑 二、实验要求 1&#xff0c;R5为ISP&#xff0c;其上只能配置IP地址;R4作为企业边界路由器&#xff1b; 2&#xff0c;整个0SPF环境IP基于172.16.0.8/16划分; 3&#xff0c;所有设备均可访问R5的环回; 4&#xff0c;减少LSA的更新量&#xff0c;加快收敛&#xf…...

2025 cs144 Lab Checkpoint 2 小白超详细版

文章目录 1 环形索引的实现1.1 wrap类wrapunwrap 2 实现tcp_receiver2.1 tcp_receiver的功能2.2 传输的报文格式TCPSenderMessageTCPReceiverMessage 2.3 如何实现函数receive&#xff08;&#xff09;send&#xff08;&#xff09; 1 环形索引的实现 范围是0~2^32-1 需要有SY…...

VMware虚拟机安装Ubuntu 22.04.2

一、我的虚拟机版本 二、浏览器搜索Ubuntu 三、下载Ubuntu桌面版 四、下这个 五、创建新的虚拟机 六、选择典型&#xff0c;然后下一步 七、选择稍后安装操作系统&#xff0c;然后下一步 八、选择Linux ,版本选择Ubuntu 64位 九、选择好安装位置 十、磁盘大小一般选20G就够用了…...

XSS漏洞及常见处理方案

文章背景&#xff1a; 在近期项目安全测试中&#xff0c;安全团队发现了一处潜在的 跨站脚本攻击&#xff08;XSS&#xff09;漏洞&#xff0c;该漏洞可能导致用户数据被篡改或会话劫持等安全风险。针对这一问题&#xff0c;项目组迅速响应&#xff0c;通过代码修复、输入过滤、…...

TCP标志位抓包

说明 TCP协议的Header信息&#xff0c;URG、ACK、PSH、RST、SYN、FIN这6个字段在14字节的位置&#xff0c;对应的是tcp[13]&#xff0c;因为字节数是从[0]开始数的&#xff0c;14字节对应的就是tcp[13]&#xff0c;因此在抓这几个标志位的数据包时就要明确范围在tcp[13] 示例1…...

C/C++条件判断

条件判断 if语句的三种形态 if(a<b){} 、 if(a<b){}else{} 、 if(a<b){}else if(a>b) else{} if语句的嵌套 嵌套的常见错误&#xff08;配对错误&#xff09;,与前面最近的&#xff0c;而且还没有配对的if匹配 错误避免方法&#xff1a;严格使用 { }、先写&am…...

单位门户网站被攻击后的安全防护策略

政府网站安全现状与挑战 近年来&#xff0c;随着数字化进程的加速&#xff0c;政府门户网站已成为政务公开和服务公众的重要窗口。然而&#xff0c;网络安全形势却日益严峻。国家互联网应急中心的数据显示&#xff0c;政府网站已成为黑客攻击的重点目标&#xff0c;被篡改和被…...

# 工具记录

工具记录 键盘操作可视化工具openark64系统工具dufs-webui文件共享zotero文献查看cff explorerNoFencesfreeplane开源思维导图...

C/C++运算

C语言字符串的比较 #include <string.h> int strcmp( const char *str1, const char *str2 );例如: int ret; ret strcmp(str1, str2);返回值&#xff1a; str1 < str2时&#xff0c; 返回值< 0&#xff08;有些编译器返回 -1&#xff09; str1 > str2时…...

CloudWeGo 技术沙龙·深圳站回顾:云原生 × AI 时代的微服务架构与技术实践

2025 年 3 月 22 日&#xff0c;CloudWeGo “云原生 AI 时代的微服务架构与技术实践”主题沙龙在深圳圆满落幕。作为云原生与 AI 微服务融合领域的深度技术聚会&#xff0c;本次活动吸引了来自企业、开发者社区的百余位参与者&#xff0c;共同探讨如何通过开源技术应对智能时代…...

STM32移植文件系统FATFS——片外SPI FLASH

一、电路连接 主控芯片选型为&#xff1a;STM32F407ZGT6&#xff0c;SPI FLASH选型为&#xff1a;W25Q256JV。 采用了两片32MB的片外SPI FLASH&#xff0c;电路如图所示。 SPI FLASH与主控芯片的连接方式如表所示。 STM32F407GT6W25Q256JVPB3SPI1_SCKPB4SPI1_MISOPB5SPI1_MOSI…...

华为HG8546M光猫宽带密码破解

首先进光猫管理界面 将password改成text就可以看到加密后的密码了 复制密码到下面代码里 import hashlibdef sha256(todo):return hashlib.sha256(str(todo).encode()).hexdigest()def md5(todo):return hashlib.md5(str(todo).encode()).hexdigest()def find_secret(secret,…...

驱动-兼容不同设备-container_of

驱动兼容不同类型设备 在 Linux 驱动开发中&#xff0c;container_of 宏常被用来实现一个驱动兼容多种不同设备的架构。这种设计模式在 Linux 内核中非常常见&#xff0c;特别 是在设备驱动模型中。linux内核的主要开发语言是C&#xff0c;但是现在内核的框架使用了非常多的面向…...

UE5 检测球形范围的所有Actor

和Untiiy不同&#xff0c;不需要复杂的调用 首选确保角色添加了Sphere Collision 然后直接把sphere拖入蓝图&#xff0c;调用GetOverlappingActors来获取碰撞范围内的所有Actor...

AI大模型学习十:‌Ubuntu 22.04.5 调整根目录大小,解决根目录磁盘不够问题

一、说明 由于默认安装时导致home和根目录大小一样&#xff0c;导致根目录不够&#xff0c;所以我们调整下 二、调整 # 确认/home和/是否为独立逻辑卷&#xff0c;并属于同一卷组&#xff08;VG&#xff09; rootnode1:~# lsblk NAME MAJ:MIN RM SIZE…...

在ros2上使用opencv显示一张图片

1.先将图片放到桌面上 2.打开终端ctrlaltT&#xff0c;查看自己是否已安装opencv 3.创建工作环境 4.进入工作目录并创建ROS2包添加OpenCV依赖项 5.进入/home/kong/opencv_ws/opencv_use/src目录创建.cpp文件并编辑 6.代码如下 my_opencv.cpp #include <cstdio> #include…...

训练神经网络的原理(前向传播、反向传播、优化、迭代)

训练神经网络的原理 通过前向传播计算预测值和损失&#xff0c;利用反向传播计算梯度&#xff0c;然后通过优化算法更新参数&#xff0c;最终使模型在给定任务上表现更好。 核心&#xff1a;通过计算损失函数&#xff08;通常是模型预测与真实值之间的差距&#xff09;对模型参…...

每日一题(小白)暴力娱乐篇30

顺时针旋转&#xff0c;从上图中不难看出行列进行了变换。因为这是一道暴力可以解决的问题&#xff0c;我们直接尝试使用行列转换看能不能得到想要的结果。 public static void main(String[] args) {Scanner scan new Scanner(System.in);int nscan.nextInt();int mscan.next…...

【HTTPS】免费SSL证书配置Let‘s Encrypt自动续期

【HTTPS】免费SSL证书配置Lets Encrypt自动续期 1. 安装Certbot1.1 snapd1.2 certbot2. 申请泛域名证书使用 DNS 验证申请泛域名证书3.配置nginx申请的 SSL 证书文件所在目录nginx配置证书示例查看证书信息和剩余时间4.自动续期手动自动5.不同服务器使用1. 安装Certbot 1.1 sn…...

企业应如何防范 AI 驱动的网络安全威胁?

互联网技术和 AI 科技为世界开启了一个新的发展篇章。同时&#xff0c;网络攻击也呈现出愈发强势的发展势头&#xff1a;高级持续性威胁 &#xff08;APT&#xff1a;Advanced Persistent Threat&#xff09;组织采用新的战术、技术和程序 (TTP)、AI 驱动下攻击数量和速度的提高…...

决策树简介

【理解】决策树例子 决策树算法是一种监督学习算法&#xff0c;英文是Decision tree。 决策树思想的来源非常朴素&#xff0c;试想每个人的大脑都有类似于if-else这样的逻辑判断&#xff0c;这其中的if表示的是条件&#xff0c;if之后的else就是一种选择或决策。程序设计中的…...

ScrollView(滚动视图)详解和按钮点击事件

文章目录 **ScrollView&#xff08;滚动视图&#xff09;详解****1. 核心特性****2. 基本用法****XML 示例&#xff1a;简单滚动布局** **3. 水平滚动&#xff1a;HorizontalScrollView****4. 高级用法****(1) 嵌套滚动控件****(2) 动态添加内容****(3) 监听滚动事件** **5. 注…...

2025年3月,再上中科院1区TOP,“等级熵+状态识别、故障诊断”

引言 2025年3月&#xff0c;研究者在国际机械领域顶级期刊《Mechanical Systems and Signal Processing》&#xff08;JCR 1区&#xff0c;中科院1区 Top&#xff0c;IF&#xff1a;7.9&#xff09;上以“Rating entropy and its multivariate version”为题发表科学研究成果。…...

根据pdf文档生成问答并进行评估

目标是根据pdf文档生成问答&#xff0c;并进行评估。 首先&#xff0c;安装依赖 pip install PyPDF2 pandas tqdm openai -q 具体过程如下&#xff1a; 1、将pdf放在opeai_blog_pdfs目录下&#xff0c;引用依赖 2、上传pdf文件&#xff0c;创建向量库 3、单个提问的向量检索…...

计算机网络 - 四次挥手相关问题

通过一些问题来讨论 TCP 的四次挥手断开连接 说一下四次挥手的过程&#xff1f;为什么需要四次呢&#xff1f;time-wait干嘛的&#xff0c;close-wait干嘛的&#xff0c;在哪一个阶段&#xff1f;状态CLOSE_WAIT在什么时候转换成下一个状态呢&#xff1f;为什么 TIME-WAIT 状态…...

SLAM | 两组时间戳不同但同时开始的imu如何对齐

场景&#xff1a; 两个手机在支架上&#xff0c;同时开始采集数据 需求&#xff1a; 对齐两个数据集的imu数据 做到A图片 B imu 做法&#xff1a; 取出来两组imu数据到excel表中&#xff0c;画图 A组 B组&#xff1a; x轴 &#xff1a; 所有imu的时间戳减去第一个时间…...

code review时线程池的使用

一、多线程的作用 多个任务并行执行可以提升效率异步&#xff0c;让与主业务无关的逻辑异步执行&#xff0c;不阻塞主业务 二、问题描述 insertSelective()方法是一个并发度比较高的业务&#xff0c;主要是插入task到任务表里&#xff0c;新建task&#xff0c;并且insertSele…...