
Pytorch学习
文章平均质量分 69
开始学AI
硕士生,研究方向无人机遥感图像处理,红外图像处理。不定时记录自己的学习日常,开源相关资料。关注一起学习吧!
展开
-
关于Transformer中的位置编码
在图像处理中,位置编码的引入与自然语言处理中的方法有所不同,但基本的原理是相似的:为模型提供空间位置信息。例如,对于一个给定的位置,其与其他位置的相对位置编码将表示它们之间的距离或关系。绝对位置编码是为序列中的每个位置分配一个固定的编码,这个编码表示该位置在整个序列中的确切位置。与位置编码不同,位置嵌入是在模型训练过程中学习的,而不是预先定义的。在某些应用中,可能需要同时使用多种方法来捕获位置信息,例如,结合绝对位置编码和相对位置编码。为图像中的每个像素或区域分配一个固定的编码,表示其在图像中的绝对位置。原创 2023-08-18 14:23:32 · 2442 阅读 · 0 评论 -
目标检测之3维合成
现在有一系列的图片,图片之间可以按照z轴方向进行排列。图片经过了目标检测,输出了一列写的检测框,现在的需求是将检测框按类别进行合成,以在3维上生成检测结果。思路:将图片按照z轴方向排列,以z轴索引作为检测框的z值。等同于输入为(x, y, w, h, z, class_id),可以计算得到每个检测框的中心点来标定这个框(x_center, y_center, z, class_id)。然后可以通过聚类算法在4维空间上进行聚类,最后取出聚类出的每一类的点的xyz的最大值与最小值和class_id来生成原创 2023-07-28 10:47:55 · 829 阅读 · 0 评论 -
【矩池云】YOLOv3~YOLOv5训练红外小目标数据集
YOLO系列算法,红外小目标检测,从数据集处理到完整实现原创 2023-05-31 13:58:51 · 4260 阅读 · 12 评论 -
文字区域检测数据增强(一)随机裁剪
过程由于文字标注区域可以为任意四边形,为了不把文字标注区域切分成两个区域,因此首先需要得到所有标注框的最外界坐标,如下图红色框的获取过程。然后根据红色框与图像边界的距离进一步随机生成裁剪坐标,如生成蓝色虚线框的左上角与右下角坐标。随后进行区域剪裁与Bbox调整。BBox的坐标更新,只需要将原来的BBox的值减去裁剪区域的起始坐标,如减去蓝色框的起始坐标。如下: [bbox[0][0] - crop_x_min, bbox[0]...原创 2022-05-27 11:59:18 · 818 阅读 · 4 评论 -
GHost-ResNet实现 参数量与运算量测试
GHost-ResNet实现import loggingimport osimport torchfrom torch import nnimport mathclass HSwish(nn.Module): def forward(self, x): out = x * F.relu6(x+3, inplace=True) / 6 return out'''GhostModule 类似一个即插即用的模块 输出尺寸不变 通道数改变了..原创 2022-05-25 16:02:07 · 1261 阅读 · 0 评论 -
GhostNet代码解析
今天向分享一下轻量化网络GhostNet,从原理和代码上做一点个人见解,直接上原理和源码。官方代码链接论文链接Ghost Module原理与代码解析下图是GHost模块处理过程,图中写为了网络,实质是GHost模块。GhostModule的定义如下,实质廉价操作指的是通过深度可分离卷积实现线性变换'''GhostModule 类似一个即插即用的模块 输出尺寸不变 通道数改变了'''class GhostModule(nn.Module): def __init__(s原创 2022-05-24 15:32:35 · 1929 阅读 · 1 评论 -
无人机图像语义分割数据集(aeroscapes数据集)使用方法
数据集介绍aeroscapes数据集下载链接AeroScapes 航空语义分割基准包括使用商用无人机在 5 到 50 米的高度范围内捕获的图像。该数据集提供 3269 张 720p 图像和 11 个类别的真实掩码。数据加载dataloder写法(基于pytorch)由于该数据集提供了掩码图,因此不需要进行掩码图转换。下载完成后,文件结构如下:ImageSets文件夹:存放了两个txt文件,划分了训练集和验证集。JPEGImages文件夹:存放了RGB图像。SegmentationClass原创 2021-11-22 17:20:09 · 22312 阅读 · 11 评论 -
无人机语义分割数据集(Semantic Drone Dataset)使用方法
数据集介绍Semantic Drone Dataset数据集下载地址该语义无人机数据集专注于城市场景的语义理解,以提高无人机自主飞行和着陆程序的安全性。该图像描绘了在距地面 5 至 30 米的高度从最低点(鸟瞰)视角拍摄的 20 多座房屋。高分辨率相机用于获取尺寸为 6000x4000px (24Mpx) 的图像。训练集包含 400 张公开可用的图像,测试集包含 200 张私有图像。该语义分割数据集包括20个种类:树、草、其他植被、污垢、碎石岩石、水、铺砌面积、水池、人狗、车、自行车、屋顶、墙原创 2021-11-21 22:21:09 · 6650 阅读 · 9 评论 -
Pytorch学习之GoogLeNet实现
一、Inception Module本文提出了一种名为Inception的深度卷积神经网络,获得了ILSVRC的检测与分类冠军Inception提高计算资源率,增加了网络的深度与宽度,参数少量增加。借鉴Hebbian principle(赫布理论)和 多尺度处理。左图是简单版本,右图是改进版本。相对于左图,Inception结构1×1 卷积用于降维,作为信息融合的一种方式。Inception结构,采用了多尺度卷积(1×1 3×3 5×5)提取不同的特征。1×1 卷积用于降维,作为信息融合的一种原创 2021-08-24 16:29:14 · 361 阅读 · 1 评论 -
语义分割:使用BiSeNet(Pytorch版本)训练自己的数据集
目录下载BiSeNet源码数据集准备训练模型推理测试下载BiSeNet源码请点击此位置进行源码下载,或者采用以下命令下载。git clone https://github.com/CoinCheung/BiSeNet.git需要注意的是官方使用的环境是Pytorch1.6.0 + cuda 10.2 + cudnn 7,并且采用了多卡分布式训练。为了方便在自己电脑上训练,我将采用自己的数据处理脚本和训练脚本进行单卡训练,我的显卡是GTX1650,显存容量为4G。项目克隆下来以后,目录结构为以下,原创 2021-05-31 12:49:53 · 10382 阅读 · 65 评论 -
无人机遥感图像语义分割数据集UAVid使用
一、无人机遥感图像语义分割数据集UAVidUAVid数据集是用于针对城市场景的语义分割任务的UAV视频数据集。它具有几个特点:语义分割 4K分辨率无人机视频 8种物体类别 街景环境示例图像:下载地址(支持百度网盘下载):https://uavid.nl/二、使用UAVid工具包(python)进行标签转换1. 下载数据集后,进入数据集中,将文件名进行修改并组织为以下形式,即将数据集上级目录名修改为UAVidDataset,将目录名uavid_train修改为t...原创 2021-05-10 17:08:32 · 12037 阅读 · 10 评论 -
采用Segmentation Transformer(SETR)(Pytorch版本)训练CityScapes数据集步骤
官方的Segmentation Transformer源码是基于MMSegmentation框架的,不便于阅读和学习,想使用官方版本的就不用参考此博客了。这里采用的是GitHub上某大佬复现Segmentation Transformer的版本Segmentation Transformer 源码下载链接https://github.com/gupta-abhay/setr-pytorch,此源码缺少训练脚本 我将SETR网络模型去替换了DeepLabV3的网络模型,有关DeepLabV3模型的..原创 2021-05-08 21:34:53 · 6181 阅读 · 14 评论 -
Pytorch移植Deeplabv3训练CityScapes数据集详细步骤
源代码链接:https://github.com/fregu856/deeplabv3#paperspace这个源代码相对简单,可以用来仔细看下,学习思想。环境配置源代码使用的是pytorch0.4,我使用的是pytorch1.13,会报某个函数版本警告问题,但是不影响训练过程。对于pytorch安装,可以直接到官网采用相应的命令进行一键式安装。训练过程1、准备好数据集Cityscapes相关数据集介绍可以查看这篇博客。https://niecongchong.github.io/.原创 2021-03-26 19:50:31 · 11411 阅读 · 171 评论 -
Pytorch+ResNet18+CIFAR10:图像分类识别项目代码
一、CIFAR10该数据集共有60000张彩色图像,这些图像是32*32,分为10个类,每类6000张图。这里面有50000张用于训练,构成了5个训练批,每一批10000张图;另外10000用于测试,单独构成一批。测试批的数据里,取自10类中的每一类,每一类随机取1000张。抽剩下的就随机排列组成了训练批。注意一个训练批中的各类图像并不一定数量相同,总的来看训练批,每一类都有5000张图。二、ResNet18import torchimport torch.nn as nnfrom t原创 2021-03-05 13:00:56 · 4266 阅读 · 9 评论 -
使用AlexNet进行手写数字识别:项目结构与代码
一、文件目录结构二、各部分代码将train.py调整一下结构后,三部分代码内容为:train.py'''复现AlexNetMNIST 数据集 大小28x28'''import torchimport torch.nn as nnfrom torchvision.datasets import MNISTimport torchvision.transforms as transformfrom torch.utils.data import DataLoaderfro原创 2021-03-01 18:06:37 · 2097 阅读 · 2 评论