- 博客(286)
- 收藏
- 关注
原创 Unet 实战分割项目、多尺度训练、多类别分割
之前写了篇二值图像分割的项目,支持多尺度训练,网络采用backbone为vgg的unet网络。本章实现的unet网络的多类别分割,也就是分割可以是两个类别,也可以是多个类别。训练过程仍然采用多尺度训练,即网络会随机将图片缩放到设定尺寸的0.5-1.5倍之间。
2024-02-05 21:38:35 2596 1
原创 图像识别完整项目之Swin-Transformer,从获取关键词数据集到训练的完整过程
本文介绍了利用 Swin-Transformer 从网络自定义下载数据集到完整训练、预测的完整项目,操作简单,无需更改参数!
2023-12-17 12:41:57 591 1
原创 基于UnetPlusPlus(Unet++)实现的医学图像分割
unetPlusPlus 在unet 的基础上增添了密集连接的结构,有点像densenet网络因为这种密集连接,unet++可以实现剪枝的轻量化操作。由于本人的没有接触过这种剪枝、蒸馏之类的轻量化方法,所以不多赘述本章仅仅根据unet++模型实现医学图像分割的任务,为了更好的调节参数(学习率衰减策略、优化器等等),做对比实验,这里统一进行实现项目下载在最后。
2024-05-14 16:52:18 969
原创 基于ConvNeXt网络的图像识别
ConvNeXt 网络基于传统的卷积神经网络,与当下 transformer当道而言简直是一股清流ConvNeXt并没有特别复杂或者创新的结构ConvNeXt 网络有五种大小,可以参考下面。
2024-05-08 16:05:38 507
原创 基于FCN网络实现的多类别图像分割任务
FCN 作为图像分割的开山之作,将分割任务作为逐个像素点的分类任务因为FCN网络的实现较为复杂,当然有很多现成的代码实现FCN分割网络。不过torchvision中其实已经封装好了,这里我们直接利用这个torchvision完成即可。
2024-04-29 15:59:53 1032
原创 图像分割 - 利用K-means聚类方法实现图像分割
传统的数字图像处理算法中,针对于图像分割部分,除了阈值处理、区域生长啊等等之类的,还有很经典的聚类算法图像分割是指将图像划分为多个片段。这是因为对于不同的图像任务,我们往往不care整个图片,只对感兴趣的区域处理,这就是图像分割的意义。聚类算法的思想很简单,就是将相似属性的像素点分配到一起。
2024-04-06 16:11:45 337
原创 YOLOV5 分类:利用yolov5进行图像分类
之前介绍了yolov5的目标检测示例,这次将介绍yolov5的分类展示yolov5和其他网络的性能对比yolov5分类的代码部分在这。
2024-04-05 21:36:58 972 1
原创 基于Unet的BraTS 3d 脑肿瘤医学图像分割,从nii.gz文件中切分出2D图片数据
3D图像分割一直是医疗领域的难题,在这方面nnunet已经成为了标杆,不过nnunet教程较少,本人之前跑了好久,一直目录报错、格式报错,反正哪里都是报错等等。并且,nnunet对于硬件的要求很高,一般的电脑配置或者低配置的服务器完全带不起来或者定义conv.3D的unet网络模型,但对显卡的要求也很高...之前实现了unet的自适应多类别分割任务,博文如下代码根据数据集的mask,可以自动计算出mask前景的类别,这样就能为unet的输出自动调整,不需要更改别的操作。
2024-04-03 17:14:23 1999 3
原创 YOLOV5 改进:更换主干网络为Resnet
之前实现了yolov5更换主干网络为MobileNet和vgg网络本章将继续将yolov5代码进行更改,通过引用官方实现的resnet网络,替换原有的yolov5主干网络。
2024-04-02 17:17:11 316
原创 YOLOV5 改进:更换主干网络为vgg16(包含迁移学习)
下面head的部分要根据层数更改成这样。这个在mobilenet那里有详细介绍,很简单的,不多赘述。
2024-03-28 19:31:02 383
原创 基于SwinTransformer和Unet的自适应多类别分割
因为小白在做分类人物的时候,不知道怎么定义分类的类别,这不是分割吗?怎么还有number classes这个参数?或者这个参需不需要加背影(+1)?等等本项目对数据集进行处理,将mask的灰度值进行编码重构,这样可以根据数据集自动获取number classes的个数,不需要手动定义,这也就是为什么叫自适应分割的原因代码根据官方的代码进行更改,因为官方的代码训练过程可能稍微繁琐了一些,需要生成指定的数据格式啊、或者参数定义太多了等等。
2024-03-26 13:38:39 889
原创 YOLOV5 推理:Torchhub 模型推理详解
torch.hub 的检测可以实现几行代码进行检测,这里介绍yolov5中利用hub进行推理。
2024-03-25 13:36:10 169
原创 OpenCV实战:智能人脸识别打卡系统
目前,很多公司对员工的考勤同时通过打卡机或者钉钉之类的打卡软件,传统的员工打卡方式有很多,例如点名、签字、刷卡、指纹等等然而随机机器视觉、计算机视觉的不断发展,算力的不断提升,人工智能对人脸检测的技术趋于成熟,基于人脸识别的智能打卡系统已经成熟。通过摄像头对人脸特征进行扫描,利用面部特征的差异,识别人员。人脸打卡的准确性不逊色于指纹打卡,相对于安全性和便捷性来说,甚至更胜一筹本章将完成一套基于Python + OpenCV 开发的智能人脸识别打卡系统录入打卡人的资料员工打卡查看打卡记录。
2024-03-23 14:22:20 1360
原创 YOLOV5 改进:替换backbone为Swin Transformer
这里对yaml文件简单介绍如下,官方的swin transformer 有四种形式,上述的yaml只是实现了Swin-Tyaml 文件主要分为两部分,一个是PatchEmbed,一个是SwinStage和PatchMering的循环这里的 96 就是第一行的concat参数96代表输出的维度4代表embed的size,也就是下采样四倍。
2024-03-21 20:38:52 568
原创 YOLOV5 部署:cuda和cuDNN安装
TensorRT 的安装需要配合cuda的使用,所以这里需要安装cuda和cudnn用于加速推理TensorRT 就是神经网络专门用来加速的框架之前训练yolov5项目的时候,我们只是配置了torch的GPU环境,没有专门安装cuda和cudnn,因为简单的训练、推理没必要cuda加速。而TensorRT需要cudnn的加速,所以本文介绍如何安装cuda和cudnn。
2024-03-21 13:28:43 172
原创 YOLOV5 改进:替换backbone为Vgg
参考上一章的博文()将yolov5的backbone换成自定义的vgg网络网络参数量很多,并且刚开始训练的时候精度很差,应该是没有迁移学习导致的。大概经历了30-40多个epoch,网络才进行收敛, 加大epoch可以提升网络的精度。不过由于vgg的参数量太多了,这里只训练100个epoch,感兴趣的可以自己尝试下。
2024-03-20 12:50:51 275 7
原创 YOLOV5 改进:替换backbone(MobileNet为例)
之前介绍了yolov5如何更换C2f模块以及加入注意力机制SE模块的示例,详细请参考本专栏:YOLOV5 实战项目(训练、部署、改进等等)_听风吹等浪起的博客-CSDN博客本文将详细介绍yolov5更换官方backbone,以轻量级网络mobilenet为例。因为mobilenet是轻量级的小型网络,参数量和计算量相比于传统的DarkNet而言少了很多,可能精度会有所损失。不过掌握了方法后,可以熟练的更换别的网络,例如transformer等等
2024-03-19 14:11:14 730
原创 YOLOV5 改进:增加注意力机制模块(SE)
SE模块的介绍:主要包含Squeeze和Excitation两部分主要的思想就是为不同的像素点增加权重,因为人眼在观察物体进行识别的时候,对不同部分侧重点是不同的,所以注意力机制就是为了模拟这一特点Tips : 这里的输入和输出维度是一样的!
2024-03-17 14:32:47 570
原创 YOLOV5 改进:修改网络结构--C2f 模块
完整的步骤:1、在common文件中加入需要的模块,例如C2f。如果新增的模块中有和yolov5中不一样的子模块,那么同样需要拷贝,建议更改名称防止重名!!2、在yolo中导入common新增的模块,注意头文件是否需要导入3、更改yaml文件,将模块换成新增的参数YOLOv5 项目:训练代码和参数详细介绍(train)-CSDN博客5、推理的时候正常推理就行,因为载入权重的pt文件,就会自动导入网络了YOLOv5 项目:推理代码和参数详细介绍(detect)_yolo的detect-CSDN博客。
2024-03-16 16:04:05 765 1
原创 YOLOV5 部署:基于web网页的目标检测(本地、云端均可)
YOLOV5推理的代码很复杂,大多数都是要通过命令行传入参数进行推理,不仅麻烦而且小白不便使用。本章介绍的web推理,仅仅需要十几行代码就能实现本地推理,并且只需要更改单个参数就可以很方便的部署云端,外网也可以随时的使用可视化界面确实很方便,不过有两个缺点:QT的编写复杂,要通过qt拖拽的方式生成ui界面,然后编写成py文件。然后编写脚本,对ui的每个按钮组件绑定事件其次,ui可视化界面一旦形成不好泛化,想要增添新的应用需要重新建立ui文件。
2024-03-15 12:09:03 945
原创 YOLOV5 部署:QT的可视化界面推理(根据UI窗口编写内部函数)
上一章,UI的可视化界面已经创建好了。并且通过UI文件编译成了python可以处理的py文件,为了方便使用,我们新建了qt_inference 对ui的py脚本进行调用,效果如下本章将接着上面操作,完成一个可以实时检测的YOLOV5可视化推理界面下面将根据项目一步一步实现函数,可能会看得有点头昏,或者害怕代码缺失的问题。不用担心,文末会有脚本的全部代码,可以拷贝下面跟着博文一起实现就行了。
2024-03-14 16:33:55 3073
原创 YOLOV5 部署:QT的可视化界面推理(创建UI,并编译成py文件)
之前用YOLOV5 做了一个猫和老鼠的实战检测项目,本章将根据之前训练好的权重进行部署,搭建一个基于QT的可视化推理界面,可以检测图片和视频。
2024-03-14 14:50:43 1263
原创 PYTHON 自动化办公:更改图片后缀
在之前的文章中,介绍了图片的压缩技术,这里讲解如何利用python批量将图片改为指定后缀的格式。当然,也可以为深度学习批量更改文件后缀,例如在分割中,可能需要img和mask的图片名称完全一致等等PYTHON 自动化办公:压缩图片(PIL)_image save quality图像压缩-CSDN博客文中使用的库函数是python的PIL库函数(pillow),安装如下代码中会有一个常见图片后缀的列表,为了后面的使用,如果使用的图片后缀不在里面,可以自行添加。
2024-03-13 13:44:10 647
原创 OpenCV实战--人脸识别的三种方法(人脸识别具体到某个人)
Opencv 中提供了三种人脸识别的方法,分别是三种方法都是通过对比样本特征最终实现人脸识别因为三种算法特征提取的方式不一样,侧重点均有不同,并不能说那种方式优越,这里对三种方法进行讲解和实验这里类似于深度学习模式,通过对样本图像训练,然后预测识别人脸与之不同的是,这里的样本极少,往往只需要三四张图片即可,并且这里的人脸识别可以具体分类出是哪个人。
2024-03-13 12:54:37 1400 1
原创 图像运算 - 图像像素点的加减异或操作
图像是由像素组成的,而像素是由灰度值表现,灰度值由具体的正整数表现(0代表黑色,255代表白色)。因此,对于正整数可以进行一系列的数学运算,加减乘除等等,通过这些运算可以达到截取,合并图像等效果。
2024-03-12 13:52:40 157
原创 OpenCV实战--人脸跟踪(级联分类器)
人脸识别是基于人的脸部特征信息进行身份识别的--种生物识别技术,也是计算机视觉重点发展的技术。机械学习算法诞生之后,计算机可以通过摄像头等输入设备自动分析图像中包含的内容信息,随着技术的不断发展,现在已经有了多种人脸识别的算法。人脸跟踪是让计算机在一幅画面中找出人脸的位置。计算机还达不到人类的智能水平,在检测人脸的过程中实际上是在做“分类”操作。例如,计算机发现图像中有一些像素组成了眼睛的特征,那这些像素就有可能是“眼睛”。
2024-03-11 13:18:51 457
原创 几何变换 - 图像的缩放、翻转、仿射变换、透视等
图像的几何变换是指改变图像的几何结构,大小、形状等等,让图像呈现出具备缩放、翻转、映射和透视的效果图像的几何变换都比较复杂,计算也很复杂。例如仿射变换,像素点的位置和灰度值都需要变换。数字图像处理中利用后向传播的方法,将像素点变换后的位置通过逆运算映射回原图的位置,然后取该位置的像素点。这是为了防止两个像素点映射到同一位置,而不知道如何定义该点像素灰度值的问题几何变换灰度变换。
2024-03-11 11:18:03 370
原创 数据集生成 YOLOV5 可训练的数据目录、并且可视化
YOLOV5 训练数据的目录结构如下:如果有测试集的话,也按照下面目录摆放即可注意:这里的图片和标签文件名要严格对应!!后缀除外关于YOLOv5介绍或者yolo格式的介绍参考之前专栏,
2024-03-09 10:57:44 795
基于 Swin-Transformer 网络对 75种蝴蝶图像分类项目(迁移学习)
2024-05-24
YOLO 数据集:实验台机械臂抓取物体检测【包含划分好的数据集、类别class文件、数据可视化脚本】
2024-05-24
图像分类数据集:男女性别识别【包括划分好的数据、类别字典文件、python数据可视化脚本 】
2024-05-24
YOLOV5 分类实战:100种体育项目
2024-05-24
基于 ResNet 网络对100种体育项目识别【包含数据集、完整代码、训练的结果、混淆矩阵等等】
2024-05-24
图像分类数据集:体育项目分类【包括划分好的数据、类别字典文件、python数据可视化脚本 】
2024-05-24
图像分类数据集:沙漠、海洋等场景分类【包括划分好的数据、类别字典文件、python数据可视化脚本 】
2024-05-24
图像分类数据集:瑜伽动作分类【包括划分好的数据、类别字典文件、python数据可视化脚本 】
2024-05-24
YOLO 数据集:货架商品摆放检测【包含划分好的数据集、类别class文件、数据可视化脚本】
2024-05-23
YOLO 数据集:5种猫品种检测【包含划分好的数据集、类别class文件、数据可视化脚本】
2024-05-23
目标检测数据集:5种猫品种检测【VOC标注格式,包含训练集和验证集、类别json文件以及可视化脚本】
2024-05-23
基于 FCN 网络对无人机俯拍下的生活场景语义分割(12类别)【包含数据集、完整代码、训练好的结果、权重文件等等】
2024-05-21
图像分割数据集:无人机俯拍下的生活场景语义分割(12类别)【数据集+标签文件+数据可视化代码】
2024-05-21
YOLO 数据集:8种路面缺陷病害检测【包含划分好的数据集、类别class文件、数据可视化脚本】
2024-05-21
图像分类数据集:61种农作物病害分类包括划分好的数据、类别字典文件、python数据可视化脚本
2024-05-21
YOLO 数据集:5种顶盖焊接缺陷检测【包含划分好的数据集、类别class文件、数据可视化脚本】
2024-05-21
图像分割数据集:电子显微镜下的纹理、颗粒分割【数据集+标签文件+数据可视化代码】
2024-05-21
图像分类数据集:4种不同品种桃子分类【包括划分好的数据、类别字典文件、python数据可视化脚本】
2024-05-21
基于 FCN 网络对人体轮廓分割实战【包含数据集、完整代码、训练好的结果、权重文件等等】
2024-05-20
基于Unet 对胰腺癌症数据的分割【包含数据集、完整代码、训练的结果文件】
2024-05-20
基于 UnetPlusPlus 网络对人体轮廓分割实战【包含数据集、完整代码、训练好的结果、权重文件等等】
2024-05-20
图像分割数据集:人类分割(2类别分割)【数据集+标签文件+数据可视化代码】
2024-05-20
图像分割数据集:行人服装分割(59类别分割)【数据集+标签文件+数据可视化代码】
2024-05-20
图像分割数据集:汽车部件全景分割(5类别分割)【数据集+标签文件+数据可视化代码】
2024-05-20
图像分割数据集:大型墙面、地面裂缝、裂纹缺陷分割【数据集+数据可视化代码】
2024-05-20
农作物叶片病害分类和分割数据集【数据集+标签】
2024-05-18
YOLO 数据集:12种金属表面缺陷检测【包含划分好的数据集、类别class文件、数据可视化脚本】
2024-05-17
图像分类数据集:金属表面缺陷识别10分类【包括划分好的数据、类别字典文件、python数据可视化脚本】
2024-05-17
单晶硅、双晶硅精细缺陷分割【数据集+标签文件+数据可视化代码】
2024-05-17
图像分割数据集:5种混凝土表面裂缝缺陷分割【数据集+标签文件+数据可视化代码】
2024-05-17
YOLO 数据集:织物表面油渍检测【包含划分好的数据集、类别class文件、数据可视化脚本】
2024-05-17
汽车破损缺陷分割(9类别)【数据集+标签+标签文本+数据可视化代码】
2024-05-17
10种司机驾驶姿态识别【包括划分好的数据、类别字典文件、python数据可视化脚本】
2024-05-17
医学图像分割数据集:Liver肝脏癌症数据、划分了2D 数据、并且划分了训练集和测试集
2024-05-16
医学图像分割数据:胰腺癌症(Pancreas)切片分割【包含3个切面划分的数据集(3类别)、标签文件、可视化代码】
2024-05-16
基于Swin-Unet自适应多尺度训练、多类别分割、迁移学习:肝血管和肿瘤(3分割)【包含数据、代码、训练好的结果等等】
2024-05-16
YOLO 数据集:4种航空发动机缺陷检测【包含划分好的数据集、类别class文件、数据可视化脚本】
2024-05-16
基于 UnetPlusPlus 网络对橘子叶片分割实战【包含数据集、完整代码、训练好的结果、权重文件等等】
2024-05-16
YOLOV5水下管道检测数据集+数据可视化代码+ 7000张标注好的数据
2024-05-16
YOLO 数据集:遥感下的云层、船只检测(4类别)【包含划分好的数据集、类别class文件、数据可视化脚本】
2024-05-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人