自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 收藏
  • 关注

原创 LabelImg报错:IndexError: list index out of range 解决方法

LabelImg标注工具闪退问题通常由标签文件中的类别索引越界导致。当标注文件中的类别编号超过classes.txt中定义的类别数量时,程序会抛出"IndexError: list index out of range"错误。常见原因包括:修改类别数量未同步更新标签、合并数据集时编号冲突或导出工具异常。可通过Python脚本快速检测问题文件,方法为遍历标签文件检查类别编号是否超出classes.txt的类别总数。解决方案为修正异常文件中的类别编号,确保其索引值在合理范围内。该问题多发生于

2026-06-05 15:20:34 197

原创 LabelImg KeyError 错误解决方案

这是 LabelImg 的一个已知 bug,原代码在访问字典时缺少存在性检查。添加 shape in self.shapes_to_items条件判断后,可以避免因字典中找不到对应 key 而导致的崩溃问题。

2026-06-05 08:57:49 160

原创 LabelImg 标签字体大小修改教程

本文介绍了如何调整LabelImg图像标注工具中过大的标签字体大小。通过修改labelImg.py文件中的动态计算系数(默认0.02),可缩小高分辨率图片的标注字体。具体步骤包括:1)定位Python环境中的labelImg.py文件;2)修改第1165行附近的计算公式,将系数0.02调整为更小值(如0.01);3)重启软件生效。该方法简单直接,用户可根据实际需求调整系数优化标注体验。

2026-06-04 15:25:33 174

原创 时间复杂度和空间复杂度怎么计算

本文以「两数之和」问题为例,分析算法的时间与空间复杂度。哈希表解法的时间复杂度为O(n),因为进行了n次哈希表操作(O(1));空间复杂度为O(n),存储了n个元素。相比之下,暴力枚举法时间复杂度为O(n²)。这体现了"空间换时间"的优化思想:通过额外空间降低时间复杂度。文章还总结了常见算法的复杂度判断技巧,如单层循环O(n)、双层循环O(n²)、二分查找O(logn)和递归O(n)等。

2026-06-04 15:03:26 199

原创 图片哈希值

图片哈希值是用于表示图片视觉特征的固定长度字符串,对内容编码而非文件本身,具有抗缩放、压缩等特性。常见算法包括:1. aHash(快速,抗缩放,对亮度敏感);2. dHash(常用,亮度鲁棒,去重效果好,基于相邻像素比较);3. pHash(符合人眼感知,抗压缩强,利用DCT变换);4. wHash(精度高,抗模糊/压缩,基于小波变换)。示例显示相似图片哈希值接近,不同图片差异显著,适用于去重和相似性检测。Python库(如imagehash)可快速计算哈希值。

2026-06-02 10:45:24 183

原创 目标检测的分类原则

目标检测分类设计的关键在于合理性和实用性,而非类别数量。核心原则包括:类别必须互斥且视觉差异明显(如避免"鸟vs动物"或地域性细分)、同一类别需覆盖多样场景(如不同天气/距离的鸟类)、避免按尺寸分类。类别数量应根据数据规模调整(小数据集5-10类,大数据集可达100类)。判断标准是人类能否稳定区分(95%准确率)。需注意类别过多会导致数据不平衡、标签噪声和AP下降,尤其在检测任务中会影响分类和定位性能。最终应基于任务需求、视觉差异和数据特性来优化类别设计。

2026-06-01 10:48:12 308

原创 Inner-IoU: More Effective Intersection over Union Loss with Auxiliary Bounding Box

本文提出了一种新型边界框回归损失函数Inner-IoU,通过引入缩放因子ratio生成不同尺度的辅助边界框计算损失,有效解决了现有IoU损失泛化能力弱的问题。理论分析表明,较小辅助框可加速高IoU样本回归,较大辅助框则促进低IoU样本收敛。实验证明,将Inner-IoU集成到现有IoU损失中,在PASCAL VOC和AI-TOD数据集上分别实现了0.5%以上的AP提升,尤其在小目标检测任务中表现突出。该方法无需增加额外损失项,仅通过调整辅助框尺度即可提升检测性能,具有较强泛化能力。代码已开源。

2026-05-18 15:59:58 380

原创 TensorRT C++如何申请、使用、释放显存

TensorRT推理中的显存管理主要涉及三部分:用户手动管理的输入/输出Buffer、TensorRT内部Workspace和CUDA自动管理的Stream/Context。核心操作包括使用cudaMalloc申请显存和cudaFree释放显存,未释放会导致显存泄漏。完整生命周期包含创建engine/context、申请I/O Buffer、数据拷贝、推理执行和显存释放等步骤。优化建议包括Buffer复用和合理使用CUDA Stream,通过减少cudaMalloc/cudaFree调用提升性能。关键注意事

2025-12-21 16:08:57 598

原创 条件变量(Condition Variable)

本文介绍了C++中条件变量(ConditionVariable)在多线程同步中的应用。条件变量配合互斥量使用,可避免线程忙等待,实现高效线程间通信。通过生产者-消费者模型示例,展示了条件变量的核心使用流程:等待线程通过wait()阻塞,通知线程通过notify_one/all()唤醒等待线程。重点解析了wait()的内部机制:自动释放锁、条件检查、重新加锁的过程。文章还详细说明了生产结束时的处理方式,包括设置结束标志和使用notify_all()确保消费者线程安全退出。该机制有效解决了线程同步中的资源浪费问

2025-12-19 14:25:30 870

原创 C++中的互斥量(Mutex)

摘要:互斥量(Mutex)是C++多线程编程中防止数据竞争的核心同步机制,通过"上锁"确保同一时间只有一个线程访问共享资源。文章介绍了三种使用方式:1)基本lock/unlock方法(需注意异常安全);2)推荐使用的RAII风格lock_guard(自动管理锁生命周期);3)更灵活的unique_lock(支持手动控制)。通过计数器示例展示了Mutex的实际应用,并指出死锁风险及解决方案(统一加锁顺序或使用std::lock)。正确使用Mutex可确保多线程程序的数据一致性和稳定性。

2025-12-19 13:34:06 364

原创 C++中引用类型变量 int&

本文介绍了C++中引用的概念和使用。引用(int&)是变量的别名,必须初始化且不可更改指向,与指针不同。引用不占独立内存,修改引用即修改原变量。引用常用于函数参数传递,避免拷贝提高效率,const引用可实现只读访问。相比指针,引用更安全但灵活性较低。合理使用引用能提升代码效率和可读性。

2025-12-18 11:22:08 276

原创 YOLOv8 TensorRT C++ 保姆级教程

本文详细介绍了YOLOv8模型在Windows系统下的部署流程。主要内容包括:1)环境准备(CUDA、TensorRT、Visual Studio、CMake、OpenCV安装配置);2)YOLOv8模型转换(从PyTorch到ONNX再到TensorRT格式);3)使用C++实现模型推理,包括静态图片检测和实时摄像头检测两种方式。文章提供了完整的代码示例和详细的环境配置说明,重点解决了模型转换过程中可能遇到的兼容性问题,并展示了最终的目标检测效果。适合计算机视觉开发者参考实现高性能的YOLOv8部署方案。

2025-12-13 22:14:05 1256

原创 grad_norm(梯度范数)是什么?

摘要:梯度范数(grad_norm)是衡量神经网络训练状态的关键指标,计算所有参数梯度的L2范数。它帮助诊断训练问题:数值过大(>1000)可能预示梯度爆炸或学习率过高;趋近于零则可能是梯度消失或网络冻结;剧烈波动反映优化器不稳定;正常但loss不降则暗示数据或loss设计问题。PyTorch中可通过遍历参数梯度计算总范数。作为loss变化的"晴雨表",梯度范数是排查训练异常的首选诊断工具,能快速定位学习率设置、梯度稳定性等核心问题。

2025-12-07 16:55:47 1211

原创 Diffusion模型相比GAN优势与缺点?

摘要:Diffusion模型和GAN各有优劣。Diffusion训练稳定、生成质量高且多样,支持精细控制(如ControlNet),但推理速度慢、计算成本高。GAN训练难度大且易崩溃,但推理速度快,适合实时应用。当前主流图像生成(如Stable Diffusion)多采用Diffusion,而实时场景(如游戏)仍依赖GAN。选择取决于需求:高质量生成选Diffusion,实时性要求高则选GAN。

2025-12-07 16:43:00 543

原创 多模态模型(CLIP / BLIP / SAM)核心差异与适用范围

CLIP、BLIP和SAM是多模态AI领域的三大核心模型,各司其职又相互补充。CLIP专注于图文语义对齐,通过对比学习实现跨模态检索;BLIP擅长图像理解与文本生成,支持视觉问答和图像描述;SAM则专精像素级分割,实现精细可控的物体分割。三者形成"语义-理解-像素"的层级结构:CLIP建立语义关联,BLIP深化语义理解,SAM处理视觉细节。这种互补性使它们常被联合使用,共同构建更强大的多模态AI系统,覆盖从语义匹配到像素操作的全流程需求。

2025-12-07 16:35:08 333

原创 训练不稳定如何判断是优化器问题?

本文总结了判断训练不稳定是否由优化器引起的方法。首先分析不同优化器特性:Adam类收敛快但易抖动,SGD稳定但收敛慢。其次观察loss曲线形态:剧烈震荡通常源于Adam学习率过大,停滞不动则可能是SGD学习率太小。特别强调学习率和权重衰减配置的关键作用,指出Adam类对学习率敏感,需配合warmup使用。针对Transformer模型,推荐使用AdamW+小学习率+warmup的组合。最终结论指出:loss剧烈波动多因Adam配置不当,loss下降缓慢则常是SGD学习率不足所致。

2025-12-07 16:29:40 333

原创 传统池化层和 卷积 + 步幅区别

传统池化与卷积+步幅在目标检测中均可实现下采样,但原理不同。传统池化无参数、计算简单,但会丢失信息;卷积+步幅可学习下采样特征,计算开销大但更灵活。现代检测网络多采用卷积+步幅替代池化,但在FPN等模块中仍保留池化思想。两者各有优劣:池化侧重平移不变性,卷积+步幅兼具特征提取能力。

2025-09-06 11:19:38 304

原创 目标检测中的池化层

池化层是一种下采样操作,通过划分窗口进行区域汇聚(最大/平均值),降低特征图分辨率,减少计算量和参数量。其核心步骤包括窗口划分、区域聚合和输出生成。现代网络逐渐用卷积+步幅替代传统池化,但在FPN等模块中仍保留池化思想。典型应用包括减少计算复杂度、加快训练速度,同时需注意可能带来的信息丢失问题。

2025-09-06 11:09:07 456

原创 yolo格式批量修改类别

本教程详细介绍了如何使用提供的 Python 脚本批量修改 YOLO 格式标注文件中的类别标签。通过配置路径和运行脚本,您可以快速将指定目录下所有 .txt 文件中的类别 ID 从 3 改为 0。请确保在操作前备份数据,并根据实际需求调整脚本。

2025-04-03 19:17:28 746

原创 教程:如何使用 JSON 合并脚本

本教程将指导您如何使用提供的 Python 脚本将多个 COCO 格式的 JSON 标注文件合并为一个单独的 JSON 文件。该脚本会自动处理 image id(图像 ID)、bbox id(标注 ID)和 category id(类别 ID),确保合并后的文件中的 ID 是唯一且连续的。

2025-04-03 18:59:28 851

原创 图像数据增强教程:为目标检测任务准备数据

  在目标检测任务中,数据增强是一种关键技术,通过对原始图像应用多种变换来增加训练数据的多样性,从而提升模型的泛化能力。本教程将详细讲解一个基于 Python 和 OpenCV 的图像数据增强工具,专为目标检测任务设计。该工具支持旋转、平移、裁剪、翻转、亮度调整、噪声添加和 Cutout 等增强方法,并能自动调整边界框(Bounding Box)坐标。

2025-03-29 16:27:01 1276

原创 提取 VOC 数据集标签类别

VOC(PASCAL Visual Object Classes)是一个经典的计算机视觉数据集,广泛用于物体检测任务。其标注文件通常采用 XML 格式,包含图像中的物体类别、边界框坐标等信息。本教程将通过一个示例代码,展示如何使用 Python 的 xml.dom.minidom 模块读取 VOC 数据集的 XML 文件,并提取所有唯一的标签类别。

2025-03-26 15:38:01 512

原创 使用 pycocotools 统计 COCO 标注每个类别的图像数量和标注框数量。

COCO(Common Objects in Context)是一个广泛用于计算机视觉任务(如物体检测、实例分割)的数据集格式。pycocotools 是一个 Python 库,专门用于加载和操作 COCO 数据集的标注文件(通常是 JSON 格式)。本教程将通过一个示例代码,展示如何使用 pycocotools 加载 COCO 标注文件,提取类别信息,并统计每个类别的图像数量和标注框数量。

2025-03-26 15:23:11 702

原创 扩张/空洞卷积可视化

本文介绍了一种基于膨胀卷积的可视化方法,并提供了灵活的参数调整方式以优化特征图的呈现效果。通过修改特征图大小(size)、调整膨胀率(dilated_rates)、改变卷积核大小(k)以及自定义可视化参数(如颜色映射、网格线样式和文字颜色阈值),用户可以轻松定制膨胀卷积的行为及其可视化结果。文中详细说明了每个参数的修改位置和方法:特征图大小在main函数中设定,膨胀率通过dilated_rates列表调整,卷积核大小在dilated_conv_one_pixel和dilated_conv_all_map函数

2025-03-25 19:20:06 395

原创 将 YOLO 格式的标注文件(.txt)转换为 VOC 格式的 XML 标注文件

"""此函数用于将yolo格式txt标注文件转换为voc格式xml标注文件在自己的标注图片文件夹下建三个子文件夹,分别命名为picture、txt、xml"""函数接收三个参数:picPath:图片所在文件夹路径。txtPath:YOLO 格式的 .txt 文件所在文件夹路径。xmlPath:生成的 .xml 文件保存路径。

2025-03-18 10:05:02 1724

原创 将 VOC 格式 XML 转换为 YOLO 格式 TXT

这是一个列表,定义了数据集中所有物体的类别名称。类别名称的顺序非常重要,因为它们的索引(从0开始)将作为YOLO格式中的class_id。

2025-03-18 09:53:19 416

原创 将COCO格式的物体检测数据集划分训练集、验证集和测试集

设置数据集的根目录、图像文件夹和注释文件路径。根目录:"D:\\dataset"图像文件夹:"D:\\dataset\\images"注释文件:"D:\\dataset\\annotations.json"# 数据集路径(请根据实际情况修改)

2025-03-17 18:49:50 1507

原创 CUDA与CUDNN在Windows下的安装与配置

点击后等待一会即可进行下载,我是Windows11操作系统所以选择Windows,Version选择11,选择本地下载exe(local),最后Download进行本地下载。把CUDA选一下,还需要注意一点,如果你前面没有安装vs,需要把CUDA里面的Visual Studio Integration取消勾选,否则会安装不成功。我的CUDA Version为12.5,说明该显卡最高支持到12.5,我这里就选择12.4的版本,你也可以选择更低的版本更低的版本。点击下载后,需要你进行注册。选择自定义,下一步。

2025-03-16 11:30:52 1667

原创 数据处理图像增强

后至少会随机选择一种增强方式生效,返回增强后的图像和更新后的 bounding boxes。里面实现了旋转、平移、裁剪、亮度调整、加噪声、cutout、翻转等多种增强方法。读取原始 XML 文件,提取出每个目标的 bounding box 和类别;分别保存增强后的图片和对应的 XML 标注文件。

2025-03-08 10:17:35 439

原创 双非计算机研究生如何进国企

我在21年本科毕业的时候,互联网计算机行业基本上还是一片形式大好。那时候就想这去北上广闯闯,有可能是年轻的原因。当时毕业的同学大家都找了比较高薪的工作。我本科毕业后考研加上读研正好经历了口罩,并且我毕业就26了。心态上发生了变化,内心非常迫切的想让自己稳定下来。所以研究生必要大部分人都选择了公务员、事业编和国企。如何进国企呢?

2024-12-17 11:16:35 2449 1

原创 win11左边部分图标,不能点击解决方案

最近一段时间,电脑左边部分图标经常无故点击不了,也没有高亮反映。然后尝试了三种方案,最后发现竟然是word与win11有冲突。我列举三种方案,仅供大家参考。

2024-11-04 16:14:55 5613 8

原创 双非研究生生存指南大全

这是一部双非研究生生存指南大全,送给迷茫的学弟学妹们,如果有想问的在评论区留言。

2024-10-07 15:09:16 3164 5

原创 IEEE Transactions on Intelligent Transportation Systems投稿指南

一般会需要介绍信。介绍信内容如下:I am writing to submit the enclosed manuscript entitled "你期刊的名字" for consideration in介绍一下你论文的大概内容列出你的创新Sincerely,通信作者名字Professor单位, 城市 邮编, 国家通信作者邮箱。

2024-08-08 10:16:53 5911 15

原创 Apriori算法,python实现

df = pd.read_excel('D:\\Document_Exercitation\\关联规则apriori-python\\数据.xls',keep_default_na=False)这个函数实现了Apriori算法的主要流程,用于发现数据集中频繁项集。参数 minSupport=0.02 指定了最小支持度阈值,表示频繁项集在数据集中至少出现的比例为 2%。参数 minConf=0.35 指定了最小置信度阈值,表示生成的关联规则的置信度至少为 35%。假如有五个购买清单,一行代表一个单子。

2024-07-30 17:00:31 1479

原创 Pattern Recognition投稿指南

2024.8.8 With Editor 没动静,感觉很慢。2024.8.8 拒绝拒绝原因大致是格式问题,要求修改重新提交Comment 1Comment 2Comment 3Comment 4Comment 5。

2024-07-15 22:02:43 9351 38

原创 YOLO建立没有目标的负样本标签

images_list = os.listdir(r"D:\Document_Exercitation\Video_Segmentation\picture1") # 遍历整个文件夹下的文件并返回一个列表。txt_name.append(j.split(".")[0]) # 若带有后缀名,split去掉后缀名。在yolo格式中,如果想让无目标地背景图片参与训练,需要创建与图片名字一样的空白的txt文件。如果标注文件夹里,没有相应图片的标注,则就创建一个同样名字的空白txt作为负样本的标签。

2024-07-15 15:09:35 2298

原创 Python文件批量重新命名

fold_dir = 'C:/Users/10431/Desktop/4517+VOC/JPEGImages/JPEGImages' # 需要修改的文件所在的文件夹。os.rename(fold_dir + '/' + temp, fold_dir + new_filename) # 文件重命名后替换原文件名。这一行指定了源代码文件使用的字符编码为 UTF-8,确保文件中包含的任何非 ASCII 字符都能够被正确处理。文件夹中所有文件的名称,并将这些名称存储在。,存储了需要批量修改文件名的文件夹路径。

2024-07-15 10:22:00 491

原创 MATLAB一维数据转换二维图像的方法

首先我们需要准备一个mat数据文件。文件格式如下这个项目提供了24中转图像的类型:时频类:梅尔频谱图Mel spectrogram短时傅里叶变换short-time Fourier transform变换S-transform魏格纳分布Wigner-Ville Distribution离散魏格纳分布Discrete Wigner-Ville Distribution希尔伯特变换Hilbert-Huang Transform。

2024-07-12 13:47:39 1180 8

原创 用python遍历文件夹里的所有照片

列表中将包含文件夹中所有符合条件的图像文件的完整路径。

2024-07-12 11:37:11 1203

原创 txt生成大模型一问一答标签

{"id": "identity_1", "conversations": [{"from": "user", "value": "1. 前言\n在进行文本处理和 数据分析等任务时,经常需要将结果追加写入到已有的txt文件中。{"id": "identity_2", "conversations": [{"from": "user", "value": "Python 函数形参\n在定义函数时,括号中声明的变量列表是形参。\n\n在调用函数时:\n\n所有的参数都是必需的。"value": "你好"

2024-07-09 14:02:26 1251

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除