自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(100)
  • 资源 (1)
  • 收藏
  • 关注

原创 『OCR_detection』PSENet

文章目录前言一、网络结构二、后处理算法(渐进式扩展算法)三、标签的生成四、损失函数 loss五、OHEM 算法的思想六、训练自己的数据集6.1 数据准备6.2 数据增强6.3 pse_general 参数设置6.4 issue前言论文: Shape Robust Text Detection with Progressive Scale Expansion Network代码: https://github.com/whai362/PSENet自然场景的文本检测是当前深度学习的重要应...

2021-01-24 17:00:47 1445 3

原创 『目标检测』YOLO V5(2):代码解析

系列文章目录YOLO V5(1):学习笔记YOLO V5 代码解析系列文章目录一、网络结构图二、不同网络的深度三、不同网络的宽度四、yolov5s.yaml4.1 yaml 介绍4.2 parameters4.3 anchors4.4 backbone4.5 head五、common.py5.1 卷积层5.1.1 深度分离卷积层5.1.2 标准卷积层5.2 标准 Bottleneck5.3 BottleneckCSP5.4 SPP5.5 Flatten5.6 Focus5.7 Concat六、...

2021-01-04 16:02:17 1910 11

原创 『OCR深度实践』OCR学习笔记(1):绪论

OCR 深度实践OCR 学习笔记OCR 深度实践前言一、绪论1.1 传统 OCR 方法一般流程前言计算机文字识别,俗称光学字符识别,英文全称是 Optical Character Recognition (简称OCR),它是利用光学技术和计算机技术把印在或写在纸上的文字读取出来,并转换成一种计算机能够接受、人又可以理解的格式。OCR技术是实现文字高速录入的一项关键技术。一、绪论1.1 传统 OCR 方法一般流程...

2020-12-29 19:27:09 1137

原创 『OCR_detection』CRAFT

文章目录一、CRAFT 思路二、CRAFT 网络结构2.1 backbone论文名称: Character Region Awareness for Text Detection开源代码: https://github.com/clovaai/CRAFT-pytorch一、CRAFT 思路图像分割的思想, 采用 u-net 结构, 先下采样再上采样;利用分割的方法,与图像分割有些不同的是,CRAFT 不是对整个图像进行像素级分类,而是做了回归,它有两个分支,一个是目标是字符的中心的概率(这

2020-12-25 13:36:31 603

原创 『OCR_Recognition』CRNN

文章目录前言一、CRNN1.1 CRNN 介绍1.2 CRNN 网络结构1.2.1 CNN1.2.2 Map-to-Sequence1.2.3 RNN1.2.4 CTC Loss1.2.4.1 序列合并机制1.2.4.2 训练阶段参考链接前言现今基于深度学习的端到端 OCR 技术有两大主流技术:CRNN OCR 和 attention OCR。其实这两大方法主要区别在于最后的输出层(翻译层),即怎么将网络学习到的序列特征信息转化为最终的识别结果。这两大主流技术在其特征学习阶段都采用了 CNN+RNN

2020-12-24 09:16:57 4707 6

原创 『工程项目实践』银行卡识别(CTPN+CRNN)

银行卡识别对各种银行卡进行卡号识别前言我们国内现在目前用的卡类标准为 ISO/IEC7810:2003 的 ID-1 标准,卡片尺寸是 85.60mm*53.98mm,通过计算长宽比可以得到为 0.623.先思考一下我们的大致思路:因为我们最终是要完成卡面信息的识别,我们可以分为两个关键流程:输入 -> 文本检测 -> 文本识别 -> 输出一、数据预处理1. 数据准备bankcard_pre 每张图片大小为 120 * 46,图片命名格式为 0000a_0.p

2020-12-22 10:47:54 1808 3

原创 『目标检测』YOLO V5(3):使用教程

一、安装环境依赖1.1 克隆项目git clone https://github.com/ultralytics/yolov5 # clone repo1.2 安装必要的环境依赖官方给出的要求是:python>=3.7、PyTorch>=1.5,安装依赖:cd yolov5pip install -U -r requirements.txtrequirements.txt二、下载预训练模型2.1 执行脚本下载预训练模型/yolov5/weights/download_we

2020-12-14 10:44:01 3907 5

原创 『目标检测』YOLO V5(1):学习笔记

一、基本知识点积累1. 自适应锚点框在 yolov3 中是采用 k 均值和遗传算法对自定义数据集进行分析,获得合适自定义数据集中对象边界框预测的预设锚点框。在 yolov5 中锚点框是基于训练数据自动学习的。(Auto Learning Bounding Box Anchors)2. 激活函数在 yolov5 中,中间 / 隐藏层使用了 Leaky ReLU 激活函数,最后的检测层使用了 Sigmoid 激活函数;3. 优化器在 yolov5 中提供了两个优化函数 Adam 和 SGD,并预

2020-12-09 17:07:38 2979

原创 『目标检测』Top-N 指标计算方法

一、图像分类性能评估指标(概念介绍)Top-1 & Top5: 这两个标准主要用于图像分类任务中Top-1 error rate: 对一张图片,若概率最大的是正确答案,则认为分类正确,否则错误;用 argmax 从网络输出取到的预测 index 与真实 index 的准确率。Top-5 error rate: 对一张图片,若概率前五的预测中包含正确答案,则认为分类正确,否则错误;二、问题分析1. 针对 Top-1 的准确率: 直接通过 argmax 就可以了import numpy as

2020-12-09 09:36:13 1597 4

原创 『目标检测』目标检测 — 基础知识

一、目标检测方法分类第一,已知目标的先验知识在这种情况下检测目标有两类方法:(1)用目标的先验知识训练一堆弱分类器,然后这些弱分类器一起投票来检测目标;(2)根据先验知识找到目标和非目标的最佳划分线第二,未知目标的先验知识此时不知道要检测的目标是什么,于是什么是目标就有了不同的定义。(1)检测场景中的显著目标,如通过一些特征表达出场景中每个像素的显著性概率,然后找到显著目标。(2)检测场景当中的运动目标。二、经典前背景分离目标检测方法2.1 背景差分法在检测运动目标时,如果背景

2020-12-09 09:36:00 1366

原创 『Keras』Keras 采用 finetune 时冻结部分网络层

一、使用背景在使用 keras 进行 finetune 有时需要冻结一些网络层加速训练keras中提供冻结单个层的方法:layer.trainable = False二、冻结 model 所有网络层base_model = DenseNet121(include_top=False, weights="imagenet", input_shape=(224, 224, 3))for layer in base_model.layers: layer.trainable = False三

2020-12-09 09:35:45 562 5

原创 『OCR_recognition』crnn-finetune 模型学习率调整策略

一、网络模型二、不同层设置不同学习率以优化器 Adam 为例:# 不同层设置不同的学习率train_params = list(map(id,crnn.rnn.parameters()))rest_params = filter(lambda x:id(x) not in train_params, crnn.parameters())# loss averagerloss_avg = utils.averager() # 对loss取平均对象# setup optimizerif

2020-12-08 15:18:14 674

原创 『计算机视觉』python + opencv 相机畸变矫正

一、相机畸变畸变: 指在世界坐标系中的直线转换到其他坐标系不再是直线,从而导致失真。1. 径向畸变:(枕形、桶形)光线在远离透镜中心的地方比靠近中心的地方更加弯曲。2. 切向畸变: 透镜不完全平行于图像平面,即 sensor 装配时与镜头间的角度不准。径向畸变矫正: 以图像中心点为圆心,相同半径的点补充量相同,不同半径的点补偿量服从二次函数。二、相机成像过程世界坐标系 —> 相机坐标系点的转换:求解外参 [ 旋转、平移 ]相机坐标系 —> 图像物理坐标系投影到成像平面

2020-12-08 10:49:59 6018 6

原创 『OCR_detection』CTPN

1. CTPN(基于连接预选框网络的文本检测)基本思路:既然宽度是可变、不确定的,那么就按照固定的高度进行检测,看看图像中有哪些区域是连续出现了一片同样高度特征的区域,并且其边缘符合文字的特点,就将其圈出来。该模型主要是对图片中的文本行进行准确定位,其基本做法是直接在卷积获得的 feature map(特征图)上生成的一系列适当尺寸的文本 proposals(预选框)进行文本行的检测。2. 网络结构CTPN模型利用了 RNN 和 CNN 的无缝结合来提高检测精度。其中,CNN用来提取深度特征,RNN

2020-07-18 17:03:03 874

原创 【PyTorch】Balanced_CE_loss 实现

balance binary cross entropy损失函数在分割任务中很有用,因为分割任务会遇到正负样本不均的问题,甚至在边缘的分割任务重,样本不均衡达到了很高的比例。故此,个人在基于分割任务中,自实现了该损失函数,亲测有效!

2022-11-24 15:28:17 961 1

原创 『Iflytek』平台及linux使用记录

Linux 使用ps -ef | grep pythonps aux | grep pythonkillall python平台使用dlp delete -i 进程号 # 结束任务dlp quota group # 查看资源dlp wait group # 排队详情-x: 不使用某个节点-s: 指定使用某个节点

2022-03-04 16:28:47 702 1

原创 『python_envs』Problem & Solution

Problem & Solution1. OSError: libcudart.so.9.0: cannot open shared object file: No such file or directory1. OSError: libcudart.so.9.0: cannot open shared object file: No such file or directory解决: 在对应的 bashrc 中增加一行 module load cuda/9.0...

2021-09-27 18:37:30 299 2

原创 『python』统计数据集均值与方差

# coding=utf-8""" 计算图片数据集所有图片的均值和方差@author: libo"""import numpy as npimport cv2import osimg_h, img_w = 224, 224 #根据自己数据集适当调整,影响不大means, stdevs = [], []img_list = [] imgs_path = 'D:/database/VOCdevkit/VOC2012/JPEGImages/'imgs_path_list = os.

2021-09-07 09:18:41 3425 7

原创 『pytorch』pytorch 代码积累

目录编写预测类持续更新 …编写预测类以下代码用于加载一个预先训练好的模型,进行模型预测,大都可以使用,不排除特定情况!from ceevee.base import AbstractPredictorclass MySuperPredictor(AbstractPredictor): def __init__(self, weights_path: str, ): super().__init__() self.model = self._load_model

2021-08-27 00:11:40 160 1

原创 『语音信号处理』语音库 librosa 学习

librosa一、频谱图一、频谱图librosa.display.specshow(data, x_axis=None, y_axis=None, sr=22050, hop_length=512)参数:data:要显示的矩阵sr :采样率hop_length :帧移x_axis 、y_axis :x和y轴的范围频率类型‘linear’,‘fft’,‘hz’:频率范围由 FFT 窗口和采样率确定‘log’:频谱以对数刻度显示‘mel’:频率由mel标度决定时间类型ti

2021-08-19 00:20:56 5693 1

原创 『paddle』X2Paddle 学习笔记:模型转换与部署

目录一、简介二、特性三、能力四、安装4.1 环境依赖4.2 pip安装(推荐)4.3 源码安装五、快速开始5.1 功能一:推理模型转换5.2 功能二:PyTorch模型训练迁移六、使用教程一、简介X2Paddle 是飞桨生态下的模型转换工具,致力于帮助其它深度学习框架用户快速迁移至飞桨框架。目前支持 推理模型的框架转换 与 PyTorch训练代码迁移,提供了详细的不同框架间 API 对比文档,降低开发者上手飞桨核心的学习成本。二、特性支持主流深度学习框架目前已经支持 Caffe/Tensor

2021-07-26 10:32:58 2394 6

原创 『paddle』X2Paddle 学习笔记:支持的模型列表

目录TensorFlow预测模型Caffe预测模型ONNX预测模型PyTorch预测模型TensorFlow预测模型模型代码SqueezeNetcodeMobileNet_V1codeMobileNet_V2codeShuffleNetcodemNASNetcodeEfficientNetcodeInception_V3codeInception_V4codeInception_ResNet_V2codeVGG1

2021-07-23 11:35:44 985 2

原创 『paddle』paddleseg 学习笔记:模型导出

模型导出一、获取预训练模型二、将模型导出为静态图模型三、结果文件本教程提供了一个将训练好的动态图模型转化为静态图模型并进行部署的例子一、获取预训练模型注意:下述例子为 Linux 或者 Mac 上执行的例子,windows 请自行在浏览器下载 参数 并存放到所创建的目录mkdir bisenet && cd bisenetwget https://paddleseg.bj.bcebos.com/dygraph/cityscapes/bisenet_cityscapes_1024x

2021-07-22 12:03:50 1448 1

原创 『paddle』paddleseg 学习笔记:自定义组件

添加组件一、创建自定义分割模型二、创建自定义损失函数三、创建自定义数据变换(数据增强)四、创建自定义骨干网络五、创建自定义数据集举例PaddleSeg 提供了五种类型的可扩展组件,即 MODELS、LOSSES、TRANSFORMS、BACKBONES、DATASETS。PaddleSeg使用基于面向对象的设计思想,在创造你自己的模型时,请以 Python class 的形式编写。一、创建自定义分割模型如果你打算设计一个自定义分割模型,例如在 newnet.py 中实现 NewNet 类(你可以为

2021-07-22 09:13:43 1613 4

原创 『paddle』paddleseg 学习笔记:模型评估

模型评估一、配置化驱动方式下评估和预测1.1 评估1.2 预测二、API方式下评估和预测2.1 评估2.2 预测一、配置化驱动方式下评估和预测1.1 评估训练完成后,用户可以使用评估脚本 val.py 来评估模型效果。假设训练过程中迭代次数(iters)为 1000,保存模型的间隔为 500,即每迭代 1000 次数据集保存 2 次训练模型。因此一共会产生 2 个定期保存的模型,加上保存的最佳模型 best_model,一共有 3 个模型,可以通过 model_path 指定期望评估的模型文件。p

2021-07-21 16:40:32 2042 3

原创 『paddle』paddleseg 学习笔记:模型部署

模型部署1. 说明2. 前置准备3. 预测1. 说明本方案旨在提供一个 PaddlePaddle 跨平台图像分割模型的 Python 预测部署方案作为参考,用户通过一定的配置,加上少量的代码,即可把模型集成到自己的服务中,完成图像分割的任务。2. 前置准备请使用 模型导出 您的模型, 或点击下载官方网站的 样例模型 用于测试。接着准备一张测试图片用于试验效果,我们提供了 cityscapes 验证集中的一张 图片 用于演示效果,如果您的模型是使用其他数据集训练的,请自行准备测试图片。3. 预测

2021-07-21 11:49:12 1277 2

原创 『paddle』paddleseg 学习笔记:模型压缩

模型压缩一、安装 PaddleSlim二、模型量化step 1. 模型训练step 2. 模型量化并再次训练模型裁剪step 1. 模型训练step 2. 裁剪并保存模型三、部署四、量化&剪枝加速比许多的神经网络模型需要巨大的计算开销和内存开销,严重阻碍了资源受限下的使用,通过模型压缩可以减少模型参数或者计算量,有效地降低计算和存储开销,便于部署再受限的硬件环境中。PaddleSeg 基于 PaddleSlim,集成了模型在线量化、模型裁剪等模型压缩能力。本文提供相关能力的使用教程。一、安装

2021-07-21 10:31:55 526 1

原创 『paddle』paddleseg 学习笔记:数据准备

数据准备1. 数据集结构2. 数据标签3. 数据格式说明3.1 标注协议3.2 灰度标注vs伪彩色标注3.3 灰度标注转换为伪彩色标注3.4 文件列表生成如果您需要使用自定义数据集进行训练,请按照以下步骤准备数据.1. 数据集结构 custom_dataset | |--images | |--image1.jpg | |--image2.jpg | |--... | |--l

2021-07-20 17:36:25 1011 4

原创 『paddle』paddleseg 学习笔记:损失函数

损失函数1. BCELoss2. BootstrappedCrossEntropyLoss3. CrossEntropyLoss4. RelaxBoundaryLoss5. DiceLoss6. EdgeAttentionLoss7. DualTaskLoss8. L1Loss9. MSELoss10. OhemCrossEntropyLoss11. OhemEdgeAttentionLoss12. LovaszSoftmaxLoss13. LovaszHingeLoss14. MixedLoss1.

2021-07-18 21:20:15 2630 3

原创 『paddle』paddleseg 学习笔记:API 应用案例

API应用案例模型训练1. 构建模型2. 构建训练集3. 构建验证集4. 构建优化器5. 构建损失函数6.训练模型评估1. 构建模型2. 加载模型参数3. 构建验证集4. 评估5. 多尺度+翻转评估效果可视化1. 构建模型2. 创建transform3. 构建待预测的图像列表4. 预测通过本篇文章,你将快速学会 PaddleSeg 的 API 调用,轻松进行语义分割模型的训练、评估和预测。我将以 BiSeNetV2 和 视盘分割数据集 为例一步一步的教导你(也是自己工作的记录)如何调用 API 进行模型

2021-07-18 21:19:42 739 5

原创 『paddle』paddleseg 学习笔记:模型训练

模型训练模型训练训练参数解释训练可视化模型训练我们可以通过 PaddleSeg 提供的脚本对模型进行训练,请确保完成了 PaddleSeg 的安装工作,并且位于 PaddleSeg 目录下,执行以下脚本:export CUDA_VISIBLE_DEVICES=0 # 设置 1 张可用的卡# set CUDA_VISIBLE_DEVICES=0 # windows下请执行此命令python train.py \ --config configs/quick_start/bisene

2021-07-17 09:05:57 2560 9

原创 『paddle』paddleseg 学习笔记:人像分割 HumanSeg

人像分割 HumanSeg一、人像分割模型1.1 计算复杂度和参数量二、安装2.1 安装PaddlePaddle2.2 安装 PaddleSeg 包2.3 下载 PaddleSeg 仓库三、快速体验3.1 下载 Inference Model3.2 下载测试数据3.3 视频流人像分割3.4 视频流背景替换四、训练评估预测4.1 下载预训练模型4.2 训练4.3 评估4.4 预测五、模型导出5.1 将模型导出为静态图模型5.2 导出脚本参数解释5.3 结果文件六、Web端部署七、移动端部署本教程基于 Pa

2021-07-16 23:45:05 4837 7

原创 『paddle』paddleseg 学习笔记:Lovasz loss

Lovasz loss一、Lovasz loss使用指南二、Lovasz softmax loss 实验对比2.1 数据准备2.1.1 **关于CityScapes数据集**2.1.2 **关于 Pascal VOC 2012 数据集**2.1.3 关于 ADE20K 数据集2.1.4 关于 Coco Stuff 数据集2.1.4 关于自定义数据集2.2 Lovasz loss训练三、Lovasz hinge loss实验对比在图像分割任务中,经常出现类别分布不均匀的情况,例如:工业产品的瑕

2021-07-16 14:48:37 5075 12

原创 『paddle』paddleseg 学习笔记:代码结构

目录在尝试完成使用配置文件进行训练之后,肯定有小伙伴想基于 PaddleSeg 进行更深入的开发,在这里大概介绍一下 PaddleSeg 代码结构。PaddleSeg ├── configs # 配置文件文件夹 ├── paddleseg # 训练部署的核心代码 ├── core ├── infer.py └── predict.py └── train.py └──

2021-07-15 16:35:25 495 1

原创 『paddle』paddleseg 学习笔记:参数说明

目录1. 重点参数说明1.1 学习率设置1.2 yaml 文件参数设置1. 重点参数说明1.1 学习率设置在 PaddleSeg 的配置文件给出的学习率中,除了 "bisenet_optic_disc_512x512_1k.yml" 中为单卡学习率外,其余配置文件中均为 4 卡的学习率,如果采用的是单卡训练,则学习率设置应变成原来的 1/4。1.2 yaml 文件参数设置batch_size: 4 # 设定 batch_size 的值即为迭代一次送入网络的图片数量,一般显卡显存越大,batch

2021-07-14 16:06:55 1789 4

原创 『paddle』paddleclas 学习笔记:模型保存

模型保存一、state_dict 格式与 inference_model 格式二、四个接口的关系三、使用 predict.py 脚本进行推理一、state_dict 格式与 inference_model 格式使用 paddle.save 存储的是 state_dict 格式的模型,共保存 “path.pdparams”、“path.pdopt” 两个文件。path.pdparams 中存储的是模型的持久参数变量。path.pdopt 中存储的是优化器中的信息,因此存储为 state_dict

2021-07-09 10:27:51 3448 1

原创 『paddle』paddleclas 学习笔记:分类预训练模型选择

目录ImageNet预训练模型库模型库概览图SSLD知识蒸馏预训练模型ResNet 及其 Vd 系列移动端系列SEResNeXt与Res2Net系列DPN 与 DenseNet 系列HRNet系列Inception系列EfficientNet与ResNeXt101_wsl系列ResNeSt 与 RegNet 系列ViT_and_DeiT 系列RepVGG系列MixNet系列ReXNet系列SwinTransformer系列LeViT系列Twins系列HarDNet系列DLA系列RedNet系列TNT系列其他

2021-07-09 09:13:30 1871 2

原创 『paddle』paddleclas 学习笔记:模型推理

基于Python预测引擎推理一、训练模型转 inference 模型1.1 特征提取模型转 inference 模型1.2 分类模型转 inference 模型二、主体检测模型推理三、特征提取模型推理四、主体检测、特征提取和向量检索串联五、图像分类模型推理inference 模型(paddle.jit.save保存的模型)一般是模型训练,把模型结构和模型参数保存在文件中的固化模型,多用于预测部署场景。训练过程中保存的模型是 checkpoints 模型,保存的只有模型的参数,多用于恢复训练等。与

2021-07-08 10:15:24 2764 2

原创 『paddle』paddleclas 学习笔记:模型训练

模型训练一、预训练模型下载二、训练模型2.1 使用 CPU 进行模型训练2.1.1 不使用预训练模型2.1.2 使用预训练模型2.2 使用 GPU 进行模型训练2.2.1 不使用预训练模型2.2.2 使用预训练模型进行训练三、模型预测一、预训练模型下载使用在某个较大的数据集训练好的预训练模型,即被预置了参数的权重,可以帮助模型在新的数据集上更快收敛。尤其是对一些训练数据比较稀缺的任务,在神经网络参数十分庞大的情况下,仅仅依靠任务自身的训练数据可能无法训练充分,加载预训练模型的方法可以认为是

2021-07-07 16:32:03 3625 4

原创 『paddle』paddleclas 学习笔记:图像分类简单实现

目录一、数据和模型准备1.1 数据准备1.1.1 准备CIFAR100二、模型训练2.1 单标签训练2.1.1 零基础训练:不加载预训练模型的训练2.1.2 迁移学习三、数据增广3.1 数据增广的尝试 — Mixup四、知识蒸馏五、模型评估与推理5.1 单标签分类模型评估与推理5.1.1 单标签分类模型评估。5.1.2 单标签分类模型预测5.1.3 单标签分类使用 inference 模型进行模型推理一、数据和模型准备1.1 数据准备进入 PaddleClas 目录。cd path_to_Padd

2021-07-07 09:22:48 1346 2

ML Visuals by dair.ai.pptx

深度学习神经网络绘图模板

2021-03-05

空空如也

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

TA关注的人

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