自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (3)
  • 收藏
  • 关注

原创 ViT的极简pytorch实现及其即插即用

ViT的极简pytorch实现

2023-12-29 09:33:14 1072

原创 从代码理解工业缺陷检测性能指标AUROC及最佳阈值的求取

从代码角度理解工业缺陷检测算法指标AUROC,以及最佳阈值的求取。

2023-06-15 18:03:19 747

转载 【转载】用 ChatGPT+LangChain 部署到服务器,打造专属 GPT知识库

原文链接:https://www.bilibili.com/read/cv23216734。

2023-04-26 16:16:10 4846 1

原创 分布式训练出现这个错误的解决办法:KeyError:‘RANK‘

这个错误通常是由于环境变量没有正确设置导致的。在使用PyTorch进行分布式训练时,每个进程都需要知道自己的rank,以便进行通信和同步。环境变量就是用来指定当前进程的rank的。还需要设置其他一些环境变量和参数,例如。

2023-03-21 23:35:40 5772

原创 将图像裁成6等分

【代码】将图像裁成6等分

2022-11-25 16:02:57 325

原创 labelme标注转为MVTecAD格式

【代码】labelme标注转为MVTecAD格式。

2022-11-25 10:50:32 643

原创 OpenCV-Python 4.5.4 人脸识别应用

环境:Win10 + Pycharmopencv-python 4.5.4python 3.9安装安装opencv-python 4.5.4即可,非常简单pip install opencv-python==4.5.4.58原理和文件:实现: 人脸检测 + 对齐 + 提取特征 + 匹配OpenCV4.5.4发布中包含了一个新的人脸识别算法支持,算法来自北邮邓伟洪教授团队贡献,SFace模型大小为37MB,属于轻量级的人脸识别模型,输出特征维度是128维。参考了贾志刚老师的公众号文章

2021-11-24 11:08:26 6524 4

原创 Pytorch实战:8层神经网络实现Cifar-10图像分类验证集准确率94.71%

实验环境:Pytorch 1.7.0torchvision 0.8.2Python 3.8CUDA10.2 + cuDNN v7.6.5Win10 + PycharmGTX1660, 6G网络结构采用最简单的类VGG结构,即全部由3*3卷积和最大池化组成,后面接一个全连接层用于分类,网络大小仅18M左右。神经网络结构图:Pytorch上搭建网络:class Block(nn.Module): def __init__(self, inchannel, outchannel,

2021-11-02 14:53:50 9287 12

原创 PPOCRLabel标注的txt格式转换成labelme能修改的json格式

PPOCR是个好东西,默认的训练文件是用自带的PPOCRLabel标注的,有时候需要用labelme来修改一些东西,比如后期用到的字段提取,就需要加一个参数,PPOCRLabel就没法做了,只能转成labelme,并利用group_id这个参数来赋值。所以,写了下面这个脚本,Label.txt每一行对应一个图片标注,该脚本作用是将PPOCRLabel的标注文件Label.txt转换为一个一个的json文件,并存储至json1目录下:# -*- coding:utf-8 -*-# 开发人员 : csu·攀

2021-10-18 11:16:54 2350 4

原创 Python基本数据结构列表、元祖、字典、集合的区别

Python四种基本数据结构:列表、元祖、字典、集合,面试的时候很可能会问到它们的区别,总结归纳一下:数据结构定义符号是否有序是否可变是否重复列表[ ] list有序可变可重复元祖( ) tuple有序不可变可重复字典{key:value} dict无序可变可重复集合{ } set无序可变不可重复元祖是不可变的,可以用来做只读的变量。集合是不可重复的,通常用来给列表去重。...

2021-10-13 09:55:32 660

原创 常用的numpy小技巧(持续更新...)

工作中经常会用到Numpy操作,以下记录了几个小技巧,如掩码操作,保留非0元素,排序的索引值,等,这些能将代码写的很精简,尽量避免了for循环等低效操作。a = np.array([0,0,6,3,4,0,0,5])b = np.array([x!=0 for x in a]) # 掩码,0为FALSE,非0为TRUE# [False False True True True False False True]c = b + 0 # 将False/True转换为1/0#[0 0

2021-09-14 11:26:31 119 2

原创 Transformer的自注意力计算图示

自注意力机制是Transformer最核心和最难懂的部分,理解了Self-Attention,理解后面的就容易多了。结合图示,记录一下我的推导过程,重点关注矩阵是怎么计算得来的,看起来会比较清晰易懂。不当之处敬请批评指正:图1 “The”注意力集中在了哪些词?说明一下,手写里面说到期望得到一个同样的矩阵,不是说和输入的维度一模一样的,只是说各个单词之间具有关联的矩阵而已。...

2021-08-23 11:31:55 680

原创 用GAN训练自己的数据生成新的图片

出于工作需要,学习了GAN,原理这块就不多讲了,主要讲怎么训练自己的数据生成新的图片,因为博客上大多是生成MNIST数据集,生成自己的图片时,有些小坑。下面记录一下本人基于参考链接,将MNIST数据集的代码改成生成自己数据时遇到的坑。一、读取数据问题# MNIST datasetmnist = datasets.MNIST( root='./data/', train=True, transform=img_transform, download=True)# Data loaderda

2021-08-02 15:25:33 11952 52

原创 使用windows版yolov4训练自己的数据集

1、将labelimg标注的xml、jpg文件分别放置在如图所示目录:2、运行voc2yolo.py文件,转换数据为yolo格式,脚本下载地址:https://download.csdn.net/download/qq_36563273/15008841需要修改两处,一处为类别名称一处为训练集占比通过该脚本,会生成 2007_test.txt、2007_train.txt两个文件,ImageSets、labels两个文件夹3、训练命令在E:\Projects\darknet-v4\bu

2021-02-03 15:35:33 1515 1

原创 win10下使用opencv4.5.0 cuda版本编译和目标检测的几个问题

最近,opencv4.5.0调用yolov4进行目标检测,需要cuda加速,按照博客上说的编译了带cuda的版本。以下是几个需要注意的问题:一. 编译注意事项1. CUDA_FAST_MATH要选中2. OPENCV_GENERATE_SETUPVARS不要选3. OPENCV_ENABLE_NONFREE要选中,这是扩展包4. CUDA_ARCH_BIN只需留下适合自己电脑的算力,比如TITAN RTX 和RTX2080Ti都是7.55. BUILD_opencv_world要选中6. BU

2021-01-15 10:15:51 1450 2

原创 【python】os.path.exists(file_path) 存在的问题

在使用判断文件是否存在的函数os.path.exists时,发现一个问题,文件存在了,但是用cv2.imread读图时,却是None,可能是文件存在和可读之间,存在一个时间差。于是需要再加一个图片是否可读的判断。 while not os.path.exists(file_path): time.sleep(0.001) # 等待0.001秒,即1毫秒 while cv2.imread(file_path) is None: time.sleep(0.001)

2021-01-04 15:38:49 1509 1

原创 【Pytorch】用自己训练的resnet18模型进行推理

在网上看了这篇博客:【Pytorch】使用ResNet-50迁移学习进行图像分类训练https://blog.csdn.net/heiheiya/article/details/103028543有的小伙伴就有疑问,模型训练好后,怎么进行推理。于是,我写了这篇关于使用自己训练的resnet18模型进行推理,关于训练的部分请参考上面那篇。# *_* coding : UTF-8 *_*# 开发人员: csu·pan-_-||# 开发时间: 2020/12/29 19:16# 文件名称: re

2020-12-30 12:08:48 3547 4

原创 Windows系统下YOLOv5极简安装指南

环境:Win10,python3.8,CUDA10.1,Cudnn7.6.5,torch-1.6.0,torchvision-0.7.0首先保证你是windows系统,亲测win10,其次保证安装了CUDA10.1、Cudnn7.6.5我自己下载好了YOLOv5的环境,在windows系统下直接复制进anaconda就可以用。现将需要的文件放至百度网盘供有需要的码友下载:链接:https://pan.baidu.com/s/11WU0EefUetTVa1kHIpB7JA提取码:sx341.安装a

2020-12-23 10:39:12 1962 5

原创 CentOS7 离线升级gcc到8.3.0解决‘GLIBCXX_3.4.21‘not found

在安装yolov5的过程中,训练时需要’GLIBCXX_3.4.21’,这是gcc版本较低造成的,需要将自带的4.8.5升级,记录一下本人亲测的升级步骤。1. 下载源码包和依赖库原始地址下载慢,我在百度上手动搜索下载好了,源码包和依赖库如下:链接:https://pan.baidu.com/s/1g8jRSAoi4CWWLS03iywEUw提取码:47pm解压源码包,用tar zxvf gcc-8.3.0.tar.gz进入gcc文件夹,cd gcc-8.3.0 将刚才下载的另外4个压缩包复制

2020-12-15 21:44:36 1390

原创 工业缺陷检测中数据标注需要注意的几个事项

这段时间帮朋友做了一个电容检测的项目,他们是第一次接触深度学习,自然也是第一次自己打标签。很多人总觉得会搞网络才是大牛,实际上,在工业场景中,网络结构决定了下限,数据决定着上限,要想模型有好的表现,数据是至关重要的。下面就这个项目来说一说,工业缺陷检测在标注数据时需要注意的几个事项:1、离得比较近的缺陷就合并在一个框里以上两个图里的缺陷都是可以合并的,一是为了保持缺陷的完整性,同一个缺陷被标注成好多个,会给神经网络造成误解,同时也避免出现多个小目标。2、尽量不要有太细长的目标神经网络的卷积基本上

2020-11-25 20:44:57 3735 15

原创 Python批量修改xml的坐标值全部转为整数

发现一个有意思的现象,labelimg不能识别xml里的坐标值有小数点的情况。只能四舍五入都转成整数。如: <bndbox> <xmin>1404.35</xmin> <ymin>0</ymin> <xmax>1458.56</xmax> <ymax>111.96</ymax> </bndbox># *_* coding

2020-11-25 11:52:26 758 3

原创 Python将相同尺寸的图片和xml标签按比例缩放

运行环境:python3.5+需要安装一下opencv,如果有anaconda,执行conda install opencv-python这个脚本适用于原来都是同一尺寸的图片,如果不一致,请参考本人另一篇博客。# *_* coding : UTF-8 *_*# 开发人员: csu·pan-_-||# 开发时间: 2020/11/24 19:42# 文件名称: resize_img_xml.py# 开发工具: PyCharm# 功能描述: 按比例缩放图像,同时修改xml文件#

2020-11-24 20:58:24 1047 2

原创 Python将文件夹下文件批量重命名

一批图片是乱序命名的,想工整的命名为00001.jpg、00002.jpg这样,注意前面要补零,不然有些软件打开文件夹的时候,会出现102接下来是1020这样的现象。# *_* coding : UTF-8 *_*# 开发人员 :csu·pan-_-||# 开发时间 :2020/11/22 11:45# 文件名称 :renameFile.py# 开发工具 :PyCharm# 功能描述 :将一个文件夹下的所有文件重命名import ospath = 'E:/Project

2020-11-23 16:46:52 563

原创 Python将bmp格式的图片批量转成jpg

# *_* coding : UTF-8 *_*# 开发人员: csu·pan-_-||# 开发时间: 2020/11/21 12:40# 文件名称: bmp_to_jpg.py# 开发工具: PyCharm# 功能描述: 将bmp格式的图片批量转成jpgimport osimport cv2# 图片的路径bmp_dir = r'E:\Projects\bmp'jpg_dir = r'E:\Projects\jpg'filelists = os.listdir(bmp_dir)

2020-11-23 16:33:06 5492

原创 获取Detectron2的推理实例并转换成numpy类型

Detectron2的demo/demo.py文件执行了图片、视频、摄像头的推理演示。根据任务需要,我们通常需要把实例(每个框的位置、置信度、类别)都保存下来。 predictions, visualized_output = demo.run_on_image(img) # 执行推理 print('instances:',predictions['instances']) # predictions: {'instances': Instances(num_instan

2020-11-19 16:08:19 1074 3

原创 旋转框四点坐标转成roLabelImg的角度格式

甲方发过来的标签是四点坐标格式的,我们需要用roLabelImg检查一遍图片和标签,这就需要转成角度格式,roLabelImg跟别的表示方法不一样,是逆时针为正的,范围是0-π。脚本里用到了OpenCV的最小外接矩形函数cv2.minAreaRect,以及根据长短边来判断角度在哪个象限。具体代码和详细注释如下:# *_* coding : UTF-8 *_*# 开发人员: csu·pan-_-||# 开发时间: 2020/11/17 16:24# 文件名称: four_to_theta.py# 开

2020-11-19 15:54:43 2607 2

原创 旋转目标检测结果计算recall和precision

需要用到shapely这个库,我的环境是 Win10 x64,python3.7,该库可在以下网址下载:https://www.lfd.uci.edu/~gohlke/pythonlibs/前面的博客里写了利用DOTA_Devkit计算AP。有时候我们还需要知道特定置信度下的检出率recall和准确率precision,DOTA_Devkit就不大好用了,想来不如自己写个脚本计算。得到的结果文件还是跟DOTA_Devkit需要的一样,具体的代码和解释如下:# *_* coding : UTF-8 *

2020-11-19 15:31:59 1431 3

原创 使用labelImg标注数据的简明教程

先分享labelImg工具,同事打包好的,直接打开就可以用,不用像网上一些需要乱七八糟的安装,百度网盘地址如下:链接:https://pan.baidu.com/s/1R-u_y3TOd-1mnQ2EQIvKfw提取码:lcds建议在使用前先修改data文件夹里的predefined_classes,把类别信息先写下来,标注的时候直接选择就行了,这样就不会把标签名搞错,特别是类别名比较长的情况下,写错一两个字母很正常。接下来就是进入软件,开始标注啦。图是DOTA数据集上找的。点击Open

2020-11-19 10:09:20 1583 7

原创 Python将不同尺寸的图片和xml标签缩放到统一尺寸,并重新命名存储

分享一个比较实用的功能,改一下文件路径和缩放尺寸即可适配成自己的。运行环境:python3.5+需要安装一下opencv,如果有anaconda,执行conda install opencv-python# *_* coding : UTF-8 *_*# 开发人员 :csu·pan-_-||# 开发时间 :2020/11/09 16:40# 文件名称 :renameFile.py# 开发工具 :PyCharm# 功能描述 :将文件夹下的图片全部缩放,裁减,并按新文件名存储

2020-11-09 16:51:28 2324 3

原创 把roLabelImg标注的xml文件转换成R3Det能训练的四点格式

就是把旋转框 cx,cy,w,h,angle,转换成四点坐标x1,y1,x2,y2,x3,y3,x4,y4写这篇文章主要是为了记录下来,免得以后丢了又要重新写,也给后面的童鞋一点参考。整个来龙去脉就不多说了,做斜框检测的应该都知道,直接上代码。# *_* coding : UTF-8 *_*# 开发人员 :csu·pan-_-||# 开发时间 :2020/10/13 20:18# 文件名称 :roxml_to_dota.py# 开发工具 :PyCharm# 功能描述 :把

2020-11-06 12:08:48 3666 6

原创 目标检测中统计xml文件中目标的属性并绘制直方图

在目标检测中,我们通常需要分析数据的属性,例如各类目标的个数、大小分布等。本文以统计斜框检测中的角度分布、目标数量为例。详细讲解怎么读取xml文件并绘制直方图。首先是导入各种库,添加几个变量,如文件夹、存储角度和目标数量的列表:import osimport xml.etree.ElementTree as ETimport mathimport matplotlib.pyplot as pltimport numpy as npxmls_dir = 'E:/Projects/xmls_or

2020-11-06 11:51:22 1679 3

原创 使用DOTA_devkit进行旋转框mAP计算

最近做了个旋转框的任务,leader说要计算mAP和每个类的AP,任务比较急,自己写脚本的话,恐怕一下子搞不定。后面得到遥感界大佬杨学小哥的帮助,找到并运行成功DOTA_devkit这个工具,发现很强大。先贴出github地址:https://github.com/978326187/DOTA_devkit照例贴出百度网盘地址,你懂的:链接:https://pan.baidu.com/s/12znldGoHo_h6vEI3XlYYgg提取码:4kp1一、功能介绍:The code is usef

2020-10-21 17:50:19 3571 14

OpenCV-Python 4.5.4 人脸识别应用模型文件

OpenCV-Python 4.5.4新增的人脸识别应用 检测模型: yunet.onnx 识别模型:face_recognizer_fast.onnx

2021-12-05

voc2yolo.py

使用该脚本将labelimg标注的文件转换成yolo训练需要的格式

2021-02-03

install_opencv4.5.0_cuda10.1_cudnn7.6.5_arch7.5

win10下编译好的带cuda的OpenCV4.5.0版本,gpu算力适配7.5

2021-01-15

空空如也

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

TA关注的人

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