- 博客(31)
- 收藏
- 关注
原创 python 批量随机粘贴png图片,进行数据增强,并保存为jpg
将png图片粘贴到jpg图片上,针对某类数据做数据增强对所有png图片进行随机resize(范围为340~680,可自己手动修改)、随机顺时针、逆时针旋转0-30°支持批量粘贴png图片到大量图片上代码有详细注释生成的图片命名规则:主图_蒙层图_粘贴次数.jpg效果图如下,展示一张的效果:png图:被粘贴的图:粘贴后的效果:代码如下:from PIL import Imageimport randomimport osfrom tqdm import tqdmdef.
2022-06-06 14:03:40 1171 1
原创 YOLO学习笔记4——YOLOV2详解+论文解读
YOLOV2、YOLO9000论文连接:https://arxiv.org/abs/1612.08242YOLOv2主要是改进原有的YOLO算法,YOLO的缺点:对相互靠近的物体,以及很小的群体检测效果不好,这是因为一个网格只预测了2个框,并且都只属于同一类;对不常见的角度的目标泛化性能偏弱;定位不准确,尤其是大小物体的处理上,还有待加强;端对端网络在前期训练时非常困难,很难收敛;预训练的输入224x224,预测的输入448x448,模型需要适应图像分辨率的改变;YOLOv2的改进:
2022-03-31 17:11:12 4436
原创 深度学习笔记4——RNN、LSTM
RNNRNN与BP的区别传统的神经网络没有设计记忆结构,难以处理序列数据,循环神经网络(RNN)针对BP神经网络的缺点,增加了信息跨时代传递的结构。当我们处理与事件发生的时间轴有关系的问题时,比如自然语言处理,文本处理,文字的上下文是有一定的关联性的;时间序列数据,如连续几天的天气状况,当日的天气情况与过去的几天有某些联系;又比如语音识别,机器翻译等RNN的历史信息传递方式对于RNN,每个时刻的隐藏层除了连接本层的输入层与输出层,还连接上一时刻和下一时刻的隐藏单元。BPTT基于时间的反向传播(
2022-03-14 17:15:01 1321
原创 深度学习笔记3——AlexNet
1、背景介绍在2012年的ImageNet竞赛中,AlexNet获得了top-5测试的15.3%error rate, 获得第二名的方法error rate 是 26.2%AlexNet有60 million个参数和65000个 神经元,五层卷积,三层全连接网络,最终的输出层是1000通道的softmax。训练这种规模的网络要大量的计算能力,AlexNet利用了GPU提供的大量并行能力,利用两块GPU分配网络训练的工作,大大提高了运算效率。近60年的发展趋势:2、与LeNet相较更深更大的Le
2022-03-04 16:40:16 3264
原创 安装Cmake CUDA CUDNN Opencv
RequirementsRequirements for Windows, Linux and MacOSCMake >= 3.18: https://cmake.org/download/Powershell (already installed on windows): https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershellCUDA >= 10.2: https://de
2022-03-03 13:45:17 501
原创 深度学习笔记2——卷积神经网络、LeNet5
1、卷积神经网络( Convolutional Neural Network, CNN)1.1 局部感受野(Local Receptive Fields)对于一般的深度神经网络,往往会把图像的每一个像素点连接到全连接的每一个神经元中,而卷积神经网络则是把每一个隐藏节点只连接到图像的某个局部区域,从而减少参数训练的数量。例如,一张1024×720的图像,使用9×9的感受野,则只需要81个权值参数。对于一般的视觉也是如此,当观看一张图像时,更多的时候关注的是局部。1.2 共享权值(Shared Weigh
2022-03-01 10:10:46 2702
原创 深度学习笔记1——常见激活函数、MP、BP
1、常见的深度学习框架TensorFlow:最流行的深度学习框架,接口过于复杂抽象Keras:缺少灵活性Caffe:缺少灵活性PyTorch:新增自对求导系统2、万能近似定理是深度学习最根本的理论依据。它声明了在给定网络具有足够多的隐藏单元的条件下,配备一个线性输出层和一个带有任何“挤压”性质的激活函数(如logistic sigmoid激活函数)的隐藏层的前馈神经网络,能够以任何想要的误差量近似任何从一个有限维度的空间映射到到另一个有限维度空间的Borel可测的函数。3、常见激活函数1.
2022-02-24 15:47:44 1583
原创 机器学习笔记3——梯度下降、损失函数与数据不平衡
1、常用梯度下降法机器学习绝大部分问题都是优化问题,绝大部分优化问题可以使用梯度下降法解决。主要目的是通过迭代找到目标函数的最小值,或者收敛到最小值。函数沿梯度的方向具有最大的变化率,朝着梯度相反的方向,就能让函数值下降的最快。在单变量的函数中,梯度其实就是函数的微分,代表着函数在某个给定点的切线的斜率在多变量函数中,梯度是一个向量,向量有方向,梯度的方向就指出了函数在给定点的上升最快的方向α在梯度下降算法中被称作为学习率或者步长,意味着我们可以通过α来控制每一步走的距离,J’是对J求导
2022-01-21 17:19:56 1432
原创 机器学习笔记2——过拟合、欠拟合、正则化、方差、偏差
过拟合、欠拟合和正则化过拟合指模型的训练误差与测试误差(泛化误差)之间差距过大,也就是训练数据误差渐渐减小,可验证集上的误差却渐渐增大,在新数据上的表现一般(泛化能力差)。训练初期,训练不足,学习器的拟合能力不强,偏差大。充分训练后,学习器拟合能力强,训练数据的轻微扰动会导致学习器发生显著变化,产生过拟合。欠拟合指模型不能在训练集上获得足够低的训练误差,由于特征维度过少,导致拟合的函数无法满足训练集,导致误差较大。正则化为了减少测试误差的策略统称为正则化方法,代价可能是增大训练误差。...
2022-01-20 14:49:41 1698
原创 YOLO学习笔记3——训练阶段
训练阶段(反向传播)拟合物体深度学习、监督学习:通过梯度下降、反向传播方法迭代的微调神经元中的权重,使损失函数最小化。当有ground truth的中心点落在某一个grid cell中:对于该grid cell产生的两个bbox,由其中与ground truth(人工标注的真实标注框)IOU最大的那个bbox,来负责拟合物体。当没有ground truth的中心点落在某一个grid cell中:对于该grid cell 产生的两个bbox,只需要让这两个bbox的置信度越接近于0。损失函数
2022-01-17 17:29:32 2837 5
原创 机器学习笔记1——机器学习的分类、性能度量以及特征工程
分类按任务类型:回归模型、分类模型、结构化学习模型按学习理论:监督学习:训练样本带有标签半监督学习:训练样本部分有标签无监督学习:训练样本无标签,例如聚类算法强化学习:智能体通过环境进行交互获得的奖赏来指导自己的行为,最终目标是使智能体获得最大的奖赏性能度量回归问题:1、均方误差2、RMSE均方根误差:观测值与真值偏差的平方和与观测次数m比值的平方根,用来衡量观测值同真值之间的偏差。3、SSE和方误差4、MAE:直接计算模型输出与真实值之间的平均绝对误差5、MAPE:不仅
2022-01-06 15:11:36 1575
原创 机器学习、深度学习常用专业术语
主要记录一些深度学习中可能用到的专业术语,一般是碰到了不懂的才记录,所有没有按一定的规律记录。1、梯度下降(gradient descent)2、学习速率(learning rate):学习率指每次迭代中 对成本函数的“最小化次数”。**3、反向传播(back propagation):**一次迭代后,根据产生的结果计算出整个网络的偏差,然后用偏差结合“成本函数的梯度”,对“权重因子进行调整”,使得下次迭代的过程中偏差变小。这样一个结合成本函数的梯度 来调整 权重因子 的过程就叫做反向传播。4、常用
2021-12-27 13:36:47 933
原创 YOLO学习笔记2——YOLOv1预测阶段
YOLOV1 预测阶段(前向传播):24层卷积层提取图像特征 + 2层全连接层回归 ——> 7x7x30的tensor输入:448x448x3(图片先缩放)输出:7x7x30的张量(包含所有预测框的坐标、置信度、类别结果)正方形image——>通过若干卷积层、池化层——>得到一个7x7x1024的feature map——>将该feature map拉平——>喂入4096维的全连接层——>输出4096维的向量——>将向量喂入1470个神经元的全连接层——&
2021-12-26 22:21:25 1831 6
原创 安装git插件
1、显示所在分支提示插件:zshInstall:sudo apt install zshCheck current shellecho $SHELLSwitch the default shellchsh -s $(which zsh)重启后sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)2、输入错误提示插件Powerlevel10k安装插件
2021-12-24 15:05:05 467
原创 YOLO学习笔记1
YOLOv4:Optimal Speed and Accuracy of Object Detection目标检测的最佳速度和准确性:有大量的功能据说可以提高卷积神经网络(CNN)的准确性。需要在大型数据集上对这些特性的组合进行实际测试,并对结果进行理论验证。某些特性可用于某些特定的问题,或仅用于小规模的数据集;而一些特性,如批处理规范化和剩余连接,则适用于大多数模型、任务和数据集。我们假设这些通用特性包括加权剩余连接(WRC)、跨阶段部分连接(CSP)、跨小批量标准化(CmBN)、自反训练(SAT)和
2021-12-18 21:32:05 1089
原创 SSD-Pytorch,Darknet数据集转VOC训练、检测图片、全流程跑通
文章目录一、环境二、下载SSD-Pytorch git项目一、环境千辛万苦走通后,发现版本真的坑死人。我的版本:python3.6 + cuda 10.2 + pytorch1.7.1 + numpy1.15.1(建议:据说将pytorch的版本降低为1.2及以下的版本。但是我的cuda是10.2,目前不支持1.2及其以下的GPU版的pytorch,重安装太麻烦了,我就只能在后边解决问题了)二、下载SSD-Pytorch git项目...
2021-12-14 13:35:39 2787
原创 Darknet yolo输出训练集目标类别个数,并保存结果
首先需要有训练图片以及其对应的darknet格式的label(图片名与label名相同)import oslabel_path = '/Datadarknet/test/labels' #label 地址name = '/darknet/model/name.txt' #类别txt地址result_path = '/darknet/test/result' #存放的result地址,没有则会自动创建key =[]value =[]i = 0with open(nam
2021-08-04 16:44:40 780
原创 使用CPU的TTS语音库,中文,女声
首先安装tts库,建议新建一个项目,创立虚拟环境venv,将zhtts安装到对应环境下pip install zhttsimport zhttstext = "这是一个开源的端到端中文语音合成系统"tts = zhtts.TTS() # use fastspeech2 by defaulttts.text2wav(text, "demo.wav") #保存到本地,使用视频播放器打开,也可保存成mp3格式tts.frontend(text)tts.synthesis(text)..
2021-07-28 14:08:15 1118
原创 opencv读取的图像为什么是BGR
因为在使用darknet进行模型检测图片的时候会使用opencv,cv读取图片的时候总要将图片转成BGR,所以在使用的时候,就需要用cvtColor转成RGB格式。def image_detection(image_path, network, class_names, class_colors, thresh): # Darknet doesn't accept numpy images. # Create one with image we reuse for each detect
2021-07-27 11:25:50 2431
原创 Ubuntu18.04安装tensorrt,解决libcudnn.so.7: cannot open shared object file: No such file or directory
1、查看cuda和cudnn的版本号:cuda:$ cat /usr/local/cuda/version.txtcudnn:$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 22、去nvida官网下载对应的tensorrt版本:进入下载链接:https://developer.nvidia.com/nvidia-tensorrt-7x-download点击Download Now(需要登录英伟达账号,没有的注册一个
2021-05-06 16:29:40 1853
原创 使用python读取文件名写入excel文件并打标签,pandas
import osimport pandas as pdimage_P = []for root, dirs, files in os.walk(r"/media/Data/test"): # 这里就填文件夹目录就可以了 for file in files: # 获取文件路径 if '.jpg' in file: name = file.split('.')[0] image_P.append(name)d
2021-04-22 15:48:26 595
原创 ubuntu 18.04安装opencv 、pycharm,Linux
有两种安装方法:1、直接安装人家编译好的:sudo apt install libopencv-dev2、源码安装并编译参考的这位博主的安装步骤:OpenCV原文安装地址我下载的是4.0.0的版本,去官网下载Sources源文件:https://opencv.org/releases/下载好后解压并进入文件夹:$ unzip opencv-4.0.0.zip -d .cd opencv-4.0.0/创建一个编译文件夹$ mkdir build$ cd build/$ cmake
2021-04-22 10:01:44 507
原创 OSError: ./libdarknet.so: cannot open shared object file: No such file or directory
使用yolov4运行darknet报错:OSError: ./libdarknet.so: cannot open shared object file: No such file or directory。搜索相关资料后,原因是darknet.py需要依赖 libdarknet.so文件,解决如下:1、找到darknet.py文件,将lib = CDLL(“libdarknet.so”, RTLD_GLOBAL)改成如下:# lib = CDLL("/home/pjreddie/documents
2021-04-20 09:41:38 885
原创 ubuntu18.04安装搜狗输入法和Google Chrome
安装搜狗输入法:一、首先设置fcitx1、打开Settings/Language and Region/Manage installed Languages2、将 Keyboard input method system中默认的IBus修改成fcitx,然后选择Apply system-wide,重启电脑。二、下载搜狗安装包并配置1、官网下载linux版本的搜狗输入法:https://pinyin.sogou.com/linux/1)下载完后,找到deb结尾的文件,直接双击安装,(卸载的话,
2021-04-13 15:34:15 1562
原创 python实现将darknet的label标签画到原图上,训练前检查标签
首先已经将数据转换成darknet需要的数据格式(.txt文件),文件格式为:类别名、中心点x/原图宽、中心点y/原图高、矩形宽/原图宽、矩形高/原图高,因此对参考文章的部分代码进行了修改。 其中cv2.rectangle(img, c1, c2, (0, 0, 255), 2)分别是矩形框左上角坐标,矩形框右下角坐标,矩形框颜色,边框粗细,我加入了if判断条件,只生成十几张图,因为是在训练前检查画的label对不对,因此不需要看全部的图片(图片量较大的话)。 先是读取原图和生成好的lab...
2021-04-02 14:15:33 766 2
原创 python处理多个视频,拼接成一个视频,ubuntu。
一、参考资料以及解决部分问题(imageio.ffmpeg.download() haa been deprecated)在网上查阅了许多方法,大部分是直接使用moviepy库和imageio ,但是执行代码后,一直运行不了,报错如下:查阅资料,说修改最新版本能解决,(这里附上解决方法,如果能帮到其他人的话,我更新了版本还是有这个问题,不知道怎么回事)。pip install imageio==2.4.1二、自己写的方法1、配置环境:ffmpegopencv2、先对视频进行抽帧再拼接由
2021-03-22 11:28:22 978
原创 Darknet (检测自定义对象)安装并使用自己的数据集进行训练完整步骤
Darknet (检测自定义对象),使用自己的数据集进行训练完整步骤。一、安装darknet根据官网步骤,进行安装即可,官网连接:https://pjreddie.com/darknet/二、将自己的数据集转换成darknet需要的数据格式之前我有写过转换数据的具体步骤,连接是:三、下载预训练模型我使用的是yolov4预训练模型yolov4.conv.137。四、配置训练要使用的cfg文件1、建议将 darknet/cfg/yolov4.cfg,copy一份,重命名(可自命名),我取为yol
2021-03-18 14:06:11 1541
原创 解决Ubuntu 20.04 播放视频,因缺少编解码器无法处理音频/视频流,以及解决‘因没有公钥,无法验证下列签名’问题
解决Ubuntu 20.04 播放视频,因缺少编解码器无法处理音频/视频流,以及解决‘因没有公钥,无法验证下列签名’问题1、在Ubuntu 20.04播放视频时,显示这个错误:2、安装VLCsudo add-apt-repository ppa:videolan/master-dailysudo apt-get updatesudo apt-get install vlc3、在执行以上命令的时候,报错:4、运行如下代码,解决该问题(3B4FE6ACC0B21F32是我缺少的公钥,如果报错
2021-03-17 11:00:32 5525 8
原创 读取文件夹中的图片,使用opencv根据四个坐标点,对图像进行裁剪、缩放并保存到本地。或者对文件夹中的多张图片执行该操作,python、os.walk()
使用opencv根据四个坐标点,对图像进行裁剪、缩放并保存到本地,python。1、先使用opencv读取本地的图片
2021-03-17 10:40:14 5207 5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人