- 博客(46)
- 问答 (1)
- 收藏
- 关注
原创 【论文翻译】软池化
池化层在卷积神经网络(CNN)中是必不可少的,用于减少激活图的大小。它们降低了网络的计算需求,同时实现空间不变性,并增加了后续卷积的感受野。已经提出了一系列池化方法,每种方法都有不同的特性(见第2节)。大多数架构使用最大池化或平均池化,这两种方法既快速又节省内存,但在保留激活图中的重要信息方面仍有改进的空间。我们引入了 SoftPool,这是一种基于核的池化方法,使用激活的 softmax 加权和。我们证明了 SoftPool 在很大程度上保留了描述性激活特征,同时仍然在计算和内存方面高效。
2026-03-24 17:47:45
357
原创 【论文翻译】strip pooling
空间池化已被证明在捕捉像素级预测任务(如场景解析)的长程上下文信息方面非常有效。在本文中,超越通常具有 N × N 规则形状的传统空间池化,我们通过引入一种新的池化策略——条带池化,重新思考了空间池化的公式,该策略考虑长而窄的卷积核,即 1 × N 或 N × 1。基于条带池化,我们进一步研究了空间池化架构设计,具体包括:1)引入一种新的条带池化模块,使骨干网络能够高效建模长程依赖关系;2)提出一个以多样空间池化为核心的新型构建模块;3)系统比较所提出的条带池化和传统空间池化技术的性能。
2026-03-24 11:03:38
393
原创 【论文翻译】Coordinate Attention for Efficient Mobile Network DesignCA注意力机制原文翻译
# 摘要最近关于移动网络设计的研究表明,通道注意力(例如 Squeeze-and-Excitation 注意力)在提升模型性能方面具有显著效果,但它们通常忽略了位置信息,而位置信息对于生成空间选择性注意力图非常重要。在本文中,我们提出了一种用于移动网络的新型注意力机制,通过将位置信息嵌入通道注意力中,我们称之为“坐标注意力”。与通过二维全局池化将特征张量转换为单一特征向量的通道注意力不同,坐标注意力将通道注意力分解为两个沿两个空间方向分别聚合特征的一维特征编码过程。通过这种方式,可以沿一个空间方向捕捉长程
2026-03-23 15:14:53
535
原创 【论文翻译】CA注意力机制原文翻译 Coordinate Attention for Efficient Mobile Network Design
注意力机制用于告诉模型“关注什么”和“在哪里关注”,已被广泛研究 [47, 29] 并广泛应用于提升现代深度神经网络的性能 [18, 44, 3, 25, 10, 14]。然而,它们在移动网络(模型大小有限)中的应用明显落后于大规模网络。这主要是因为大多数注意力机制带来的计算开销对于移动网络来说是无法承受的。考虑到移动网络受限的计算能力,到目前为止,对于移动网络最流行的注意力机制仍然是Squeeze-and-Excitation(SE)注意力[18]。
2026-03-22 18:02:53
354
原创 【动态数组】C++定义动态数组的两种方法
今天面试考了一道题。让输入一个数组和一个个目标数,在数组中找和为目标数的元素,太糟糕了,我忘了或者评级的编程能力根本不知道怎么输入动态数组,然后我下来学习怎么输入一个自定义数组。C++可以通过 new 操作符或智能指针(如 std::unique_ptr)来实现。ps:动态数组的大小在运行时确定,并存储在堆内存中。
2026-03-21 22:24:14
211
原创 【C++基础STL1】数组和vector
场景示例:统计全班 40 名学生的成绩,若用单个变量定义(score1、score2…动态输入长度的数组(如int num[n]),定义时不能同时用{}初始化,需定义后通过循环或下标逐个赋值。内存地址连续:相邻元素的内存地址相差一个数据类型的大小(如 int 数组相邻元素差 4 字节);数组是 “相同数据类型 + 连续内存地址” 的集合,用于解决 “批量存储同类型数据” 的问题。数据类型统一:所有元素必须是同一类型(如 int、float);(1) 下标越界(最常见错误)(3) 定义后批量赋值错误。
2026-01-14 17:41:48
245
原创 【代码】声明、定义、初始化、赋值的理解
在声明的基础上为标识符分配存储空间,可能会赋初始值(不可靠,请显式初始化)。变量的定义意味着分配内存空间,因此在变量定义之前,变量是不能被使用的。在函数内部: 函数被调用,执行到语句时分配内存空间,也就是在运行时被定义;在函数外部(全局变量):程序启动时就会分配内存空间,也就是在程序运行之前(进入main函数之前) 被定义;在类内部(类成员变量):创建类对象时定义,也就是在类被实例化时被定义;在命名空间内部: 命名空间被使用时分配内存空间,也就是在命名空间被打开时被定义。
2026-01-14 17:07:17
469
原创 【VS2019配置json解析库】VS2019配置json解析库教程
右键lib_json——>属性——>C/C++——>代码生成——>运行库——>多线程调试DLL(MDd)(MTd和MDd是为了和boost保持一致,具体情况具体操作)重新生成lib_json;使用VS打开jsoncpp.sln;在链接器——>输入——>附加依赖项 中输入。将配置管理器改为x64,然后在。
2025-10-29 21:31:21
258
原创 Day02【哔哩哔哩2023校园招聘后端开发方向笔试卷B】螺旋输出矩阵
个人感觉这道题主要就是对于数组越界和循环的考察,在第一次编辑时,考虑数组是否会有越界问题,因为写的do–while–循环,会导致多一次。可以依然用do–while语句,但是需要判断。
2025-09-19 17:02:32
309
原创 【编程】纹理增强的代码块
这个网络结构结合了量化、卷积操作以及注意力机制,旨在处理高维输入数据,并从中提取有意义的特征,可能适用于一些图像处理任务或其他需要特征提取和量化的任务。特别地,这个模块中使用了二维卷积和一维卷积,并为量化操作(sta 和 quant)配置了特定的卷积层。这段代码定义了一个多层神经网络架构,包含了多个模块,每个模块的设计都在某些方面进行了一些特定的运算,例如卷积、量化等。量化机制:通过 QCO_1d 和 QCO_2d 模块实现了基于余弦相似度的量化操作,量化后用于特征表示和后续处理。
2024-11-16 13:17:00
988
原创 【编程】支持空张量的代码块
对于卷积、反卷积等操作,若输入为空,则不会执行实际的卷积计算,而是通过计算输出的形状并返回一个空张量。如果输入张量为空,则首先检查 size 和 scale_factor 是否满足要求,然后根据输入张量的维度和给定的 size 或 scale_factor 来计算输出形状,最后返回一个空张量。如果输入张量为空,则计算输出张量的形状,并返回一个空张量,形状同样根据反卷积的参数(如步幅、填充、输出填充等)来计算。这个操作的目的是确保即使是空张量(没有元素的张量)也可以通过网络的前向和反向传递,不会抛出错误。
2024-11-16 12:52:08
589
原创 【编程】代码块
拉普拉斯金字塔的每一层包含的是当前图像与上采样后的低分辨率图像的差异,金字塔的最底层就是最小分辨率的图像。每一层的内容是图像的细节信息(当前图像和上采样后图像之间的差异),而金字塔的最后一层是最底层的低分辨率图像。make_laplace_pyramid(x_, 5, 1):调用你之前提供的 make_laplace_pyramid 函数,生成一个深度为5层的拉普拉斯金字塔。这意味着你现在不再操作完整的金字塔,而是只操作金字塔中的第二层(该层的图像包含了原始图像和上采样后的图像之间的细节差异)。
2024-11-15 21:27:14
668
原创 《EAGLE: Eigen Aggregation Learning for Object-Centric Unsupervised Semantic Segmentation》内容总结
EAGLE通过利用从深度图像特征中提取的谱特征和颜色亲和力来构建Laplacian矩阵,并通过对象级原型对比损失来引导模型学习,有效地捕获了图像中物体的固有结构,为无监督语义分割领域提供了一种强大的框架。
2024-09-16 21:17:00
823
原创 《SatSynth: Augmenting Image-Mask Pairs through Diffusion Models for Aerial Semantic Segmentation》解析
论文针对的是航空图像语义分割任务,这是一个在处理和解释卫星图像中非常关键的工具,对于人道主义挑战(如灾难响应、食品安全和量化气候变化的影响)有直接影响。
2024-09-16 21:11:17
724
原创 《UniVS: Unified and Universal Video Segmentation with Prompts as Queries》要点提炼
论文来源:https://arxiv.org/abs/2402.18115《UniVS: Unified and Universal Video Segmentation with Prompts as Queries》是2024CVPR中的一篇关于视频分割的论文,
2024-09-10 15:09:51
1715
原创 【NMS】Non-Maximum Suppression
Non-Maximum Suppression (NMS) 是一种在目标检测算法中常用的技术,用于在检测过程中去除多余的边界框,从而保留最佳的检测结果。NMS 的效果是保留了最佳的边界框,同时减少了冗余和重叠,提高了目标检测的精度。然而,NMS 也有一些局限性,比如它可能移除了一些有用的边界框,或者在某些情况下无法很好地处理重叠较少的边界框。:根据检测到的物体的置信度(即模型预测该边界框包含物体的概率)对所有边界框进行排序。:从剩余的边界框中选择置信度最高的,重复步骤 3 和 4,直到所有边界框都被处理。
2024-09-09 15:48:01
345
原创 【One-hot binary mask】独热二进制掩码
One-hot binary mask(独热二进制掩码)是一种在数据处理中常用的编码方式,特别是在机器学习和自然语言处理领域。它是一种将分类变量转换为机器学习算法可以更好处理的形式的方法。
2024-09-08 15:09:20
665
原创 实例分割的三类方法
*基于亲和力(affinity)的方法:**这种方法不直接检测边界框,而是为图像中的每个像素点分配一个嵌入向量(embedding vector),通过这种方式学习像素之间的亲和力。这种方法通常用于那些不依赖于先验边界框信息的实例分割任务中,如一些基于图的分割方法或基于像素聚类的方法。**“detect-then-segment”方法:**这种方法首先检测出图像中所有可能包含目标对象的区域,即“一堆鸡”、“一堆鸭”、“一堆鹅”的区域,这些区域通常被表示为边界框(bounding boxes)。
2024-09-07 16:02:38
771
原创 语义分割VS实例分割
将这两部分结合起来理解,就是说在进行实例分割时,算法不仅要识别出图像中各个像素属于哪个语义类别,还要进一步区分出属于同一类别的不同实例。例如,在一张包含多辆汽车的图片中,算法需要识别出“汽车”这一语义类别,并进一步区分出每一辆具体的汽车实例,即使这些实例在数量上是不确定的。这种区分实例的需求使得实例分割比单纯的语义分割更加复杂,因为它不仅要处理类别的多样性,还要处理同一类别内实例数量的不确定性和差异性。这句话描述的是图像中对象识别和实例分割任务的一个基本特点。
2024-09-07 15:39:57
433
原创 《SIM: Semantic-aware Instance Mask Generation for Box-Supervised Instance Segmentation》解读
SIM: Semantic-aware Instance Mask Generation for Box-Supervised Instance Segmentation》翻译过来就是“SIM:用于框监督实例分割的语义感知实例遮罩生成”。这篇文章的核心观点是提出了一种新的实例分割方法,这种方法只需要用到物体的边框标注,而不需要复杂的像素级标注。实例分割是一种计算机视觉任务,它不仅要求识别出图像中的物体,还要精确地描绘出每个物体的轮廓。
2024-09-03 16:21:41
1266
原创 【SIM】框监督实例分割的语义感知实例掩码生成
SIM: Semantic-aware Instance Mask Generation for Box-Supervised Instance Segmentation是一篇近年CVPR通过的一篇关于分割的论文,将语义分割与实例分割相结合,提出了新的研究方向。论文链接:https://arxiv.org/abs/2303.085781.摘要仅使用边界框注释的弱监督实例分割近年来引起了广泛的研究关注。目前的大多数工作都利用低级图像特征作为额外的监督,而没有明确地利用对象的高级语义信息,当前景对象与背
2024-09-02 17:17:47
1411
原创 pycharm配置pytorch环境找不到虚拟环境python.exe文件?
此时,应该打开 Load Environment。然后就会出现你想要的界面啦!第一次在pycharm中配置环境。
2023-12-04 20:31:11
3453
6
原创 【安装完CUDA后文件夹消失解答】
如果是想用pytorch的话,python、CUDA、cuDNN、pytorch的版本都需要匹配,此种情况下,需要依据pytorch官网下的提示去CUDA官网下载相应的版本。一定要注意这两个图片中的路径不要设置成同一个路径,因为cuda安装完会自动删除一开始的临时安装文件,设置成一样的,cuda也会被同时删除。完事儿去CUDA 官网下载对应cuda版本。进入下载页面后,如上图所示,系统我们选windows,64位,版本是windows11,最后一个下载类型一般都是locall。到这块点下载,完毕。
2023-11-22 14:35:00
18346
8
原创 EfficientViT是什么?
与卷积神经网络(CNN)相比,ViT具有更强的全局信息捕获能力和远程交互能力,特别是在扩大训练数据大小和模型大小时表现出优于CNN的准确性[3],但是,在对高分辨率移动场景应用时,ViT不如CNN,此时便引入了EfficientViT,及高效率的ViT[4]。ViT(Vision Transformer)是2020年提出、于2021年发表的的将自然语言处理(NLP)领域的transformer引入自然语言处理(CV)领域用于分类的训练模型,在公开数据集的训练中超过了Res,且越大的数据集训练效果越好。
2023-09-20 14:47:01
1757
2
原创 WIoU损失函数的原理
Yolov7提出的损失函数是GIoU(Generalized Intersection over Union),能在更广义的层面上计算IoU(Intersection over Union),但是当两个预测框完全重合时,不能反映出实际情况,此时GIoU就要退化为IoU,并且GIoU对每个预测框与真实框均要计算最小外接框,故损失函数计算及收敛速度受到限制。WIoU v3作为边界框回归损失,包含一种动态非单调机制,并设计了一种合理的梯度增益分配,该策略减少了极端样本中出现的大梯度或有害梯度。
2023-09-20 14:37:56
14253
8
原创 在Pycharm安装matplotlib包
4.在搜索栏里写入”matplotlib“,得到如下结果,之后选择installing,选中specify version,选择想要下载的版本,等待下载完成。2.点击project——>python interpreter(如下图所示)2.在specify version降低matplotlib版本。1.python interpreter选择 show all。1.打开 File——>setting。正常安装步骤就完成了。
2023-09-20 14:23:56
7951
4
原创 用anaconda安装labelimg
简单记录一下自己在anaconda安装labelimg的过程,帮助到新学者就更好啦!打开cmd,运行anaconda,没有“找不到指令”即成功。有的版本下载过程中没有第一条选项,需要配置环境。打开anaconda prompt,依次输入。,将anaconda下载路径填入。2.激活虚拟环境并下载包。
2023-08-08 11:25:35
1557
转载 centos安装mysql出现错误:Failed to start mysqld.service: Unit not found.
首先查找系统中有没有mariadbrpm -qa |grep mariadb然后删除(按照自己查到的目录来)rpm -e --nodeps 删完之后再看一眼确保全部删除rpm -qa |grep mariadb之后就可以下载mysql啦wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpmrpm -ivh mysql-community-release-el7-5.noarch.rpmyum insta
2022-05-29 12:52:11
742
原创 hadoop自定义实现类以及编译运行
在学习到mapreduce的时候我练习了一下mapreduce,因为mapreduce不需要单独安装。前面一切都很正常问题直到运行程序的时候这个问题的原因是 Hadoop没有开启,开启就好了。这个问题我起初以为是路径写的得不够详细,所以写了input文件所在的路径,但还是报错,经过几次尝试与修改,我把input文件上传至hdfs,然后再执行就顺利执行了。·~~~~~~~~这里我又犯了一个错误输出文件应该在hdfs上否则用hdfs命令查看不到。至此,编译运行完成。...
2022-05-19 10:47:12
255
原创 Redis下载make命令报错解决办法
我执行make命令之后报如下图错误:原因是,系统中没有gcc,而redis是用C实现的,需要用gcc来进行编译。此时,不要慌!执行以下命令:sudo yum install -y gcc g++ gcc-c++ make再次执行make命令,出现“致命错误”提示后执行如下命令: make MALLOC=libthen,执行cd src./redis-server&你就会看到:It’s OK!这是我跟着一篇文章改的:https://www.cnblogs.com/p
2022-05-19 00:08:03
1994
空空如也
python已安装opencv但是运行显示没有 cv2模块怎么改正?
2022-12-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅