今夕是何年,
路虽远行则将至
展开
-
YOLOv5‘YOLOv7涨点必备:改进无参注意力SimAM
本文提出一种概念简单且非常有效的注意力模块。不同于现有的通道/空域注意力模块,该模块无需额外参数为特征图推导出3D注意力权值。具体来说,基于著名的神经科学理论提出优化能量函数以挖掘神经元的重要性。进一步针对该能量函数推导出一种快速解析解并表明:该解析解仅需不超过10行代码即可实现。该模块的另一个优势在于:大部分操作均基于所定义的能量函数选择,避免了过多的结构调整。最后在不同的任务上对所提注意力模块的有效性、灵活性进行验证。原创 2024-05-12 18:56:26 · 16 阅读 · 0 评论 -
YOLOv8独家改进 PKIBlock多尺度卷积核(小目标必备)
论文:摘要:遥感图像目标检测(RSIs)经常面临一些日益严峻的挑战,包括目标尺度的巨大变化和不同的测距环境。先前的方法试图通过大核卷积或扩展卷积来扩展主干的空间感受野来解决这些挑战。然而,前者通常会引入相当大的背景噪声,而后者可能会产生过于稀疏的特征表示。在本文中,我们引入聚核初始网络(Poly Kernel Inception Network ,PKINet)来解决上述挑战。PKINet采用无扩展的多尺度卷积核来提取不同尺度的目标特征并捕获局部上下文。原创 2024-05-11 16:15:44 · 9 阅读 · 0 评论 -
YOLOv8独家原创改进: AKConv(可改变核卷积)
基于卷积运算的神经网络在深度学习领域取得了令人瞩目的成果,但标准卷积运算存在两个固有的缺陷。一方面,卷积运算仅限于局部窗口,无法捕获其他位置的信息, 并且它的采样形状是固定的。另一方面,卷积核的大小固定为k×k,是一个固定的正方形,参数的数量往往随大小呈平方增长。很明显,不同数据集和不同位置的目标的形状和大小是不同的。原创 2024-05-11 16:10:10 · 28 阅读 · 0 评论 -
YOLOv8改进Shape IoU
摘要:边界盒回归损失作为检测器定位分支的重要组成部分,在目标检测任务中起着重要的作用。现有的边界盒回归方法通常考虑GT盒与预测盒之间的几何关系,利用边界盒的相对位置和形状来计算损失,而忽略了边界盒的形状和规模等固有属性对边界盒回归的影响。为了弥补已有研究的不足,本文提出了一种关注边界盒本身形状和尺度的边界盒回归方法。首先,我们分析了边界框的回归特征,发现边界框本身的形状和尺度因素都会对回归结果产生影响。基于以上结论,我们提出了Shape IoU方法,该方法可以通过关注边界框本身的形状和尺度来计算损失。原创 2024-05-10 20:12:22 · 7 阅读 · 0 评论 -
手把手YOLOv9训练推理!
不同网络架构随机初始化权重输出特征图的可视化结果:(a) 输入图像,(b) PlainNet,(.c) ResNet,(d) CSPNet,以及(e) 提出的GELAN。从图中我们可以看出,在不同的架构中,提供给目标函数以计算损失的信息不同程度地丢失了,而我们的架构能够保留最完整的信息,并为计算目标函数提供最可靠的梯度信息。终于来到了关键的点,这几天我也刷到了一些给我推送的文章,大家有些地方可能没注意到,并不是代码写错了,是大家用错了,同样的,训练分了多个脚本,推理脚本也是分开的,下面就来带大家跑一下。原创 2024-05-10 20:05:19 · 500 阅读 · 1 评论 -
Yolov5、Yolov7、YOLOv8改进动态蛇形卷积(Dynamic Snake Convolution)
血管、道路等拓扑管状结构的精确分割在各个领域都至关重要,确保下游任务的准确性和效率。然而,许多因素使任务变得复杂,包括薄的局部结构和可变的全局形态。在这项工作中,我们注意到管状结构的特殊性,并利用这些知识来指导我们的 DSCNet 在三个阶段同时增强感知:特征提取、特征融合、 和损失约束。首先,我们提出了一种动态蛇卷积,通过自适应地关注细长和曲折的局部结构来准确捕获管状结构的特征。随后,我们提出了一种多视图特征融合策略,以补充特征融合过程中多角度对特征的关注,确保保留来自不同全局形态的重要信息。原创 2024-05-09 20:24:32 · 13 阅读 · 0 评论 -
YOLOv5,YOLOv7改进之结合SOCA
添加方法灵活多变,Backbone或者Neck都可。加入SOCA moudle模块。原创 2024-05-09 20:14:43 · 41 阅读 · 0 评论 -
YOLOv9改进EMA注意力
摘要:如今的深度学习方法重点关注如何设计最合适的目标函数,从而使得模型的预测结果能够最接近真实情况。同时,必须设计一个适当的架构,可以帮助获取足够的信息进行预测。然而,现有方法忽略了一个事实,即当输入数据经过逐层特征提取和空间变换时,大量信息将会丢失。因此,YOLOv9 深入研究了数据通过深度网络传输时数据丢失的重要问题,即信息瓶颈和可逆函数。作者提出了可编程梯度信息(programmable gradient information,PGI)的概念,来应对深度网络实现多个目标所需要的各种变化。原创 2024-05-09 20:10:48 · 124 阅读 · 0 评论 -
YoloV8改进策略:BackBone改进DCNv4
涨点效果:在我自己的数据集上,mAP50 由0.986涨到了0.993,mAP50-95由0.737涨到0.77,涨点明显!DCNv4是可变形卷积的第四版,速度和v3相比有了大幅度的提升,但是环境搭建有一定的难度,对新手不太友好。如果在使用过程遇到编译的问题,请严格按照我写的环境配置。原创 2024-05-08 20:03:42 · 80 阅读 · 0 评论 -
Yolov8改进---注意力机制:CoordAttention
它可以捕捉特定位置的空间关系,并在注意力计算中加以利用。与常规的注意力机制不同,CoordAttention在计算注意力时,不仅会考虑输入的特征信息,还会考虑每个像素点的位置信息,从而更好地捕捉空间上的局部关系和全局关系。新加坡国立大学的Qibin Hou等人提出了一种为轻量级网络设计的新的注意力机制,该机制将位置信息嵌入到了通道注意力中,称为coordinate attention(简称CoordAttention,下文也称CA),该论文已被CVPR2021收录。原创 2024-05-08 19:59:58 · 9 阅读 · 0 评论 -
刨析YOLOv8的改进模块
直接上YOLOv8的结构图吧,小伙伴们可以直接和YOLOv5进行对比,看看能找到或者猜到有什么不同的地方?下面就直接揭晓答案吧,具体改进如下:Backbone:使用的依旧是CSP的思想,不过YOLOv5中的C3模块被替换成了C2f模块,实现了进一步的轻量化,同时YOLOv8依旧使用了YOLOv5等架构中使用的SPPF模块;PAN-FPN。原创 2024-05-08 19:45:22 · 384 阅读 · 0 评论 -
YOLOv8改进CBAM注意力机制
CBAM旨在克服传统卷积神经网络在处理不同尺度、形状和方向信息时的局限性。通道注意力和空间注意力。通道注意力有助于增强不同通道的特征表示,而空间注意力有助于提取空间中不同位置的关键信息。原创 2024-05-08 19:37:34 · 146 阅读 · 0 评论 -
bytetrack复现
创建虚拟环境安装requirements可能报错,解决办法,安装numpy安装pytorch。原创 2024-04-09 15:14:54 · 664 阅读 · 0 评论 -
ubunt22.04系统下的OpenPCDet配置
在ubuntu系统下配置自己的openpcdet环境,并且运行其中的pointpillar例子,查看损失函数原创 2023-08-02 15:26:17 · 273 阅读 · 0 评论 -
win11+visualstudio2022+pcl 1.12.1安装配置
win11+visualstudio2022+pcl 1.12.1安装配置原创 2023-07-19 21:47:49 · 941 阅读 · 0 评论 -
从0开始界面设计师 Qt Designer
但是,如果 你的程序里面有非qt designer提供的控件, 这时候,需要在代码里面加上一些额外的声明,而且 可能还会有奇怪的问题。要调整控件上下间距,可以给控件添加layout,然后通过设定layout的上下的padding 和 margin 来调整间距,具体操作请看视频讲解。,下载一个白月黑羽实战班学员开发的程序界面代码,解压后,拖动里面的main.ui界面文件到Qt设计师里面。这个界面里面用到了常见的几个控件:按钮,单行文本框,多行文本框,组合选择框,表格。原创 2023-12-30 19:26:54 · 1123 阅读 · 0 评论 -
小白必看!画出自己第一个界面,PyQt5安装以及使用
PyQt5是Digia的一套Qt5应用框架与python的结合,同时支持python2.x和 python3.x。这里使用的是Python 3.x。Qt库由开发,是最强大的GUI库之一。PyQt5是由一系列Python模块组成。超过620个类,6000函数和方法。能在诸如UnixWindows和Mac OS等主流操作系统上运行。PyQt5有两种证书,GPL和 商业证书。PyQt5。当然也可以在Python这里查看教程。原创 2023-10-26 12:02:32 · 339 阅读 · 2 评论 -
基于Matlab的双目相机标定
双目标定过程原创 2023-01-10 15:22:53 · 7064 阅读 · 4 评论 -
复现bytetrack时,安装依赖项报错“: ERROR: Failed building wheel for lap
NumPy 是 Python 中用于科学计算的基础库,lap 依赖于它。lap 库的构建失败,因为缺少了 NumPy 库。原创 2024-04-09 13:27:11 · 241 阅读 · 0 评论 -
yolov7该进损失函数
yolov7损失函数修改原创 2023-08-10 21:52:43 · 1351 阅读 · 0 评论 -
from PyQt5 import QtCore, QtGui, QtWidgetsImportError: DLL load failed while importing QtWidget
from PyQt5 import QtCore, QtGui, QtWidgetsImportError: DLL load failed while importing QtWidget原创 2024-04-29 20:15:05 · 137 阅读 · 0 评论 -
AttributeError: ‘Upsample‘ object has no attribute ‘recompute_scale_factor‘
找到upsampling.py。原创 2024-04-15 19:49:41 · 30 阅读 · 0 评论 -
Python\Python38\lib\site-packages\torch\functional.py:504: UserW
按住ctrl点击错误中的链接,找到fuctional文件中的第504行,return _VF.meshgrid(tensors, **kwargs)再运行,就不会有那个警告了。原创 2024-04-15 19:47:34 · 32 阅读 · 0 评论 -
YOLOv5实例分割
如果我们下载的数据集是COCO格式的,只有一个很大的JSON文件,然后还有对应的图片文件,这时候我们就需要将大的JSON文件转换一个个小的JSON文件,然后再按照方式1的方法来进行处理。与[email protected]相比,[email protected]:95更全面地评估了模型在不同IoU阈值下的性能,对于更严格的分割要求提供了评估。经过上面的操作,我们的数据集转换是没有问题的,但是我们还不能直接用于网络的训练,需要划分数据集,这时候就需要通过下面的代码操作(在图像分割中,R表示实际为目标的像素被正确预测为目标的比例。原创 2024-04-07 20:25:47 · 873 阅读 · 0 评论 -
pyttsx3.init()报错
报错:初始化文本到语音引擎时出错: [WinError -2147417850] 无法在设置线程模式后对其加以更改。初始化文本到语音引擎时出错: [WinError -2147417850] 无法在设置线程模式后对其加以更改。初始化文本到语音引擎时出错: [WinError -2147417850] 无法在设置线程模式后对其加以更改。初始化文本到语音引擎时出错: [WinError -2147417850] 无法在设置线程模式后对其加以更改。解决办法:切换低版本。原创 2024-03-14 17:16:56 · 581 阅读 · 0 评论 -
基于YOLOv5+单目的物体距离和尺寸测量
YOLOv5是目前应用广泛的目标检测算法之一,其主要结构分为两个部分:骨干网络和检测头。骨干网络采用的是CSPDarknet53,这是一种基于Darknet框架的改进版卷积神经网络。CSPDarknet53通过使用残差结构和跨层连接来提高网络的表达能力,并且采用了空洞空间金字塔池化(ASPP)来实现多尺度的信息提取。这样设计的骨干网络具有较强的特征提取能力,可以有效地提取出图像中的目标信息。检测头是YOLOv5的另一个关键组成部分,主要用于从骨干网络特征图中提取目标检测信息。原创 2024-01-10 17:04:10 · 2069 阅读 · 2 评论 -
法二(命令行):YOLOv5打包.exe
如果测试成功,可以加上-w参数,避免显示命令行窗口,更多其他参数请自行了解pyinstaller 相关用法。device = torch.device('cuda:0') # gpu版本,只使用gpu。device = torch.device('cpu') #cpu版本,只使用cpu。命令行,切换到这个目录,输入ui_yolov5.exe回车即可运行,并且可以看到报错。tips:如果双击后一闪而过,可能看不到报错信息,那么。,即可打开,后续教程无需观看。,故生成的文件夹名字为。原创 2024-01-05 13:04:56 · 697 阅读 · 0 评论 -
法一(auto-py-to-exe):Pyinstaller将yolov5的detect.py封装成detect.exe
使用库与auto-py-to-exe可视化工具对pyqt程序打包输出exe文件。原创 2024-01-05 12:57:04 · 1494 阅读 · 0 评论 -
基于YOLOv5+Deepsort 的PCB缺陷检测及计数系统
背景:PCB(Printed Circuit Board,印刷电路板)是电子产品中至关重要的组成部分,它承载着电子元器件并提供电气连接。在PCB制造过程中,由于工艺、材料或设备等因素的影响,可能会引入各种缺陷,例如短路、开路、焊接不良等。这些缺陷可能导致电路功能失效、性能下降甚至严重的安全隐患。传统的PCB缺陷检测方法主要依赖于人工目视检查,存在以下问题:人工检查速度慢、容易疲劳和出错,对于大规模生产难以满足需求;人工检查结果主观性强,缺乏准确性和一致性;高昂的人力成本和时间成本。原创 2023-12-30 19:23:13 · 1186 阅读 · 0 评论 -
英特尔深度相机D455实现YOLOv5+deeepsort行人车辆测速、测距、追踪
Yolov5是以YOLO系列为基础的最新版本。它使用卷积神经网络来实现目标检测任务。Yolov5通过将输入图像分成不同大小的网格单元,并在每个单元上预测目标的边界框和类别信息。与之前的版本相比,Yolov5在网络结构上进行了改进,引入了更多的卷积层和特征金字塔网络,以提高目标检测的准确性和效率。DeepSORT(Deep Learning + Simple Online and Realtime Tracking)是一种多目标跟踪算法,它结合了深度学习和在线实时跟踪的思想。原创 2023-12-20 18:15:14 · 1394 阅读 · 1 评论 -
DeepSort目标跟踪算法
DeepSort目标跟踪算法是在Sort算法基础上改进的。首先介绍一下Sort算法Sort算法的核心便是卡尔曼滤波与匈牙利匹配算法卡尔曼滤波是一种通过运动特征来预测目标运动轨迹的算法其核心为五个公式,包含两个过程:其分为先验估计(预测)其中Xt-表示预测的位置状态,包含位置速度等信息,F为状态转移矩阵,描述前一帧如何影响该帧,ut-1为控制量,可认为是加速度B为控制矩阵,表示如何控制ut-1作用于当前状态。原创 2023-11-28 21:16:53 · 14 阅读 · 0 评论 -
经典多目标跟踪算法DeepSORT的基本原理和实现
如果卡尔曼滤波输出确认态的预测结果,DeepSORT将采用马氏距离加余弦距离的级联方法对相关信息进行关联,通过马氏距离我们可以获取运动物体在两个不同状态的距离信息,如果某次关联的马氏距离小于指定的阈值,则设置运动状态的关联成功,但是DeepSORT不仅看框与框之间的距离,还要看框内的表观特征才能更好的进行关联匹配,所以DeepSORT还引入了表观特征余弦距离度量,这里会使用一个重识别模型来获取不同物体的特征向量,然后再通过余弦距离构建代价函数,计算预测对象与检测对象的相似度。原创 2023-11-28 21:05:51 · 8 阅读 · 0 评论 -
Deepsort项目详解
代码目录如下图所示:、追踪相关代码:检测相关代码和权重调用 检测 和 追踪的代码:首先代码分为三个部分:YOLOv5完成了项目的检测部分,这里就不再展开 deep_sort.yaml:这个yaml文件主要是保存一些参数。(1)里面有特征提取权重的目录路径;(2)最大余弦距离,用于级联匹配,如果大于该阈值,则忽略。(3)检测结果置信度阈值(4)非极大抑制阈值,设置为1代表不进行抑制(5)最大IOU阈值(6)最大寿命,也就是经过MAX_AGE帧没有追踪到该物体,就将该轨迹变为删除态。(7)最高击中次数,如原创 2023-11-12 20:51:04 · 889 阅读 · 0 评论 -
Deepsort从入门到精通
在目标检测领域,(Simple Online and Realtime Tracking)算法和(Deep Learning for Multi-Object Tracking)算法是两种常用的目标追踪算法,它们通常与目标检测器结合使用,用于在视频中跟踪和识别目标。: SORT 算法是一种简单高效的多目标跟踪算法,其主要思想是通过关联检测框和已知轨迹来进行目标追踪。SORT 算法首先利用目标检测器检测出目标,并根据检测框的位置、大小等信息建立轨迹和检测框之间的关联。原创 2023-11-10 20:47:30 · 1819 阅读 · 0 评论 -
YOLOv8在前代的基础上有哪些改进?
v8开源一天已经吸引了600多star数,热度非凡,但我们还是需要看全面看待star fork等,一个代码库刚放出来的时候,配合上营销宣传,star肯定是暴涨的,但是放出来一段时间后,star数的增长趋于平稳,这个时候其实可以关注下star/fork 比,各大YOLO都还在继续保持着创新和更新,可以期待下yolov9 v10,不过不需要盲目就换模型,还是得大致了解下改进点和优劣势后再谨慎选择。总的来说,YOLOv8 是一个强大而灵活的目标检测和图像分割工具,提供了两个最好的功能:最新的SOTA技术;原创 2023-11-04 15:15:54 · 541 阅读 · 0 评论 -
Yolov8改进CoTAttention注意力机制,效果秒杀CBAM、SE
在这个跨模态的Transformer模块中,Co-Attention机制被用来计算视觉和语言特征之间的交互注意力,从而实现更好的信息交换和整合。值得注意的是,该方法可以实现模块的“即插即用”,将ResNet网络中的3x3模块替换成CoTNet的核心模块即可使用,Res2Net网络也是基于这种思想实现的。新加坡国立大学的Qibin Hou等人提出了一种为轻量级网络设计的新的注意力机制,该机制将位置信息嵌入到了通道注意力中,称为coordinate attention。原创 2023-11-04 14:08:03 · 464 阅读 · 0 评论 -
改进YOLOv3!IA-YOLO:恶劣天气下的目标检测
像素级滤波器映射一个输入像素值 ��=(��,��,��) 转换为输出像素值 ��=(��,��,��),其中 (�,�,�)分别表示红、绿、蓝三个颜色通道的值。用 � 参数学习tone 滤波器,用 {�0,�1,...,��−1} 表示,tone 曲线的点记为 (�/�,��/��),其中 ��=∑�=0�−1��。其中 �(�) 为输入图像, ���(�(�)) 为高斯滤波器, � 为正缩放因子。通常,这样的调优过程是非常笨拙和昂贵的,以找到合适的参数,广泛的场景。图像锐化可以突出图像的细节。原创 2023-10-29 14:43:26 · 749 阅读 · 1 评论 -
YOLO轻量化改进 , 边缘GPU友好的YOLO改进算法!
例如,尽管YOLOv3检测头有3个输出尺度,但在特征采集阶段可以使用4个不同的Backbone特征(3个与输出尺度相同的特征,第4个较浅的特征),这样就可以利用更细粒度的low-level特征来提高模型性能。从图中可以看出,当增加使用预训练过的权值初始化的特征提取Backbone的比例时,模型的性能得到了提高,这也强调了迁移学习的重要性。此外,作者提出了一种新的迁移学习backbone采用的灵感是来自不同任务的转换信息流的变化,旨在补充特征交互模块,并提高准确性和推理速度的各种边缘GPU设备上的可用性。原创 2023-10-29 14:42:01 · 786 阅读 · 0 评论 -
如何改进YOLOv5?这篇告诉你如何修改让检测更快、更稳!!
值得注意的是,由于功能通道的减少,特征图会出现信息丢失,并且在其他level的特征图中只包含一些不太相关的上下文信息。针对这一问题,提出了一种简单而有效的方法,即感受野金字塔(RFP),以增强特征金字塔的表示能力,并驱动网络学习最优的特征融合模式。而在扩张卷积的卷积运算中,卷积核的元素是间隔的,空间的大小取决于膨胀率,这与标准卷积运算中卷积核的元素都是相邻的不同。FEM主要是根据检测到的交通标志尺度的不同,利用扩张卷积自适应地学习每个特征图中的不同感受野,从而提高多尺度目标检测识别的准确性。原创 2023-10-29 14:37:31 · 3516 阅读 · 0 评论 -
Yolo-Z:改进的YOLOv5用于小目标检测
为此,研究者提出了一系列不同尺度的模型,将其命名为“这些比例中的每一个都将不同的乘数应用于模型的深度和宽度,这意味着模型的整体结构保持不变,但每个模型的大小和复杂性都会按比例缩放。虽然我们的肉眼几乎可以立即提取上下文信息,即使是在很远的地方,但图像分辨率和计算资源的限制使得检测较小的对象(即在输入图像中占据小像素区域的对象)对机器来说是一项真正具有挑战性的任务和广阔的研究领域。”,当以50%的IoU检测较小的物体时,这些模型的mAP提升高达6.9%,而代价与原始YOLOv5相比,推理时间增加了 3ms。原创 2023-10-29 14:36:04 · 707 阅读 · 0 评论