自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 【学习笔记】Transformer在CV中的应用

Transformer取代RNN,在nlp大杀四方之后,也来CV领域争夺市场了,大有取代CNN的趋势。目前关于Transformer在CV领域的应用越来越多,本文选具有代表性的有用于分类的Vit,用于检测的detr,和用于分割的mask2former做了简单介绍。

2023-09-21 18:28:52 545 1

原创 pytorch训练GAN生成人脸图像

GAN(Generative Adversarial Networks)生成对抗网络基于这种思想后续出现了非常多的GAN架构的生成模型,其中比较典型的是DCGAN 和WGAN, 这篇文章通过讲解GAN思想,实现一下DCGAN代码生成人脸,最后再分析一下WGAN。

2023-08-08 09:44:10 743

原创 mmsegmentationV1.0训练分割模型(自定义数据格式和config)

MMSegmentation 保持了 MM 系列一贯的风格,拥有灵活的模块化设计和全面的高性能model zoo。目前我们支持非常多的主流backbone和语义分割算法,支持多种数据集如 Cityscapes,ADE20K,Pascal VOC 2012上的训练结果(目前应该是语义分割中最大的 模型库)。

2023-07-13 16:13:56 648

原创 【学习笔记】word2vec之skip-gram

计算机要处理一个非结构化的数据,第一步就是要用数学方法描述出这个数据,比如在图像领域,一副图像就是一个的矩阵,但在文本领域呢,如何数学建模描述这个数据呢?一个很容易想到的方法是,用ont-hot编码,向量维度为词汇表的词语个数。无法表示不同单词之间的关联性和相似性;稀疏表示维度过高,造成计算灾难。也就是说,一个单词的意思是由经常出现在它旁边的其他单词决定的!在这种思想的指导下,我们可以为一个单词构建一个稠密向量,具有相似上下文的单词用word vector表示后也是相似的。

2023-07-04 18:15:37 188

原创 [学习笔记]yolo系列算法总结

YOLO(You Only Look Once)声名显赫,是检测领域一个基于回归思想的算法,已经成为机器人、无人驾驶汽车和视频监控应用的核心实时物体检测系统。目前已经从yolov1更新到了yolov8,本文参考网上的资料,对yolo各个版本进行一次全新的梳理总结。

2023-06-14 12:47:32 2680

原创 安卓端使用ncnn部署yolov5(v6.0)

ncnn是腾讯公司开源的一个专为手机端极致优化的高性能神经网络前向计算框架。ncnn从设计之初,就深刻考虑手机端的部署和使用,无需第三方依赖,跨平台,手机端cpu的速度快于目前所有已知的开源框架。基于ncnn,开发者能够将深度学习算法轻松移植到手机端高效执行,开发出人工智能APP,将AI带到你的指尖。

2022-12-26 18:24:01 4544 6

原创 TensorRT(C++)部署 Pytorch模型

众所周知,python训练pytorch模型得到.pt模型。但在实际项目应用中,特别是嵌入式端部署时,受限于语言、硬件算力等因素,往往需要优化部署,而tensorRT是最常用的一种方式。本文以yolov5的部署为例,说明模型部署在x86架构上的电脑端的流程。(部署在Arm架构的嵌入式端的流程类似)。

2022-11-28 20:29:53 4177

原创 PaddleDetection2.x训练、部署自己的模型

PaddleDetection是百度Paddle家族的一个目标检测开发套件。个人感觉Paddle的优点是模型比较丰富,支持的部署方式较多(python、C++、移动端等),缺点是坑比较多,百度的老毛病了,什么都弄一点,但都不精通。本文研究了下PaddleDetection的使用流程,从自己的数据集(coco类型),记录下整个训练、推理、部署的过程。...

2022-08-17 18:28:53 4439

原创 【史上最全】重装ubuntu20.04系统基本环境配置

Ubuntu20.04系统U盘方式安装,Nvidia驱动,cuda, cudunn等基本配置

2022-07-28 10:54:32 13478 1

原创 pytorch用自己数据集训练Unet

在图像分割这个问题上,主要有两个流派:Encoder-Decoder和Dialated Conv。本文介绍的是编解码网络中最为经典的U-Net。随着骨干网路的进化,很多相应衍生出来的网络大多都是对于Unet进行了改进但是本质上的思路还是没有太多的变化。比如结合DenseNet 和Unet的FCDenseNet, Unet++一、Unet网络介绍论文:https://arxiv.org/abs/1505.04597v1(2015)UNet的设计就是应用与医学图像的分割。由于医学影像处理中,数据..

2022-04-13 20:30:03 4296 9

原创 【学习笔记】语义分割综述

语义分割就是图像分割,是图像像素级的分类,即给图像的每一个像素点分类。与之临近的一个概念叫实例分割,实例分割就是语义分割+目标检测。语义分割只能分割出所有同类的像素,目标检测把不同的个体分开就行了,如Mask RCNN。评价指标我是网络模型介绍FCN UNet SegNet Deeplab(V1 V2) RefineNet PSPNet Deeplab v3 EncNet 1. FCNhttps://arxiv.org/abs/1411.4038 (2014年)F.

2021-12-13 15:29:59 5114

原创 pytorch用voc分割数据集训练FCN

语义分割是对图像中的每一个像素进行分类,从而完成图像分割的过程。分割主要用于医学图像领域和无人驾驶领域。和其他算法一样,图像分割发展过程也经历了传统算法到深度学习算法的转变,传统的分割算法包括阈值分割、分水岭、边缘检测等等,面临的问题也跟其他传统图像处理算法一样,就是鲁棒性不够,但在一些场景单一不变的场合,传统图像处理依旧用的较多。FCN是2014年的一篇论文,深度学习语义分割的开山之作,从思想上奠定了语义分割的基础。Fully Convolutional Networks for Sema

2021-12-07 11:27:57 3003 5

原创 新装Ubuntu系统基本环境安装配置(conda)

1. 配置显卡驱动# 查看显卡驱动nvidia-smi其中,396.82表示显卡驱动的版本号,这里还没有安装cuda, 如果安装cuda的话右上角还会显示cuda的版本信息。要注意显卡驱动版本和cuda版本的对应关系如下表所示。cuda版本显卡驱动版本对应关系可以参考:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html备注:显卡驱动下载:驱动下载地址:https://www.nvidia...

2021-11-01 10:29:04 5992 1

原创 【原理篇】一文读懂FPN(Feature Pyramid Networks)

论文:feature pyramid networks for object detection论文链接:https://arxiv.org/abs/1612.03144这篇论文是CVPR2017年的文章,采用特征金字塔做目标检测。作者提出的多尺度的object detection算法:FPN(feature pyramid networks)。FPN网络将特征金字塔模型引入至Faster R-CNN中,在不牺牲内存与速度的情况下达到了state-of-the-art,同时对于小物体的检测也获得了不错

2021-10-29 15:21:41 1023

原创 【原理篇】一文读懂Mask RCNN

Mask RCNN 何凯明大神的经典论文之一,是一个实例分割算法,正如文中所说,Mask RCNN是一个简单、灵活、通用的框架,该框架主要作用是实例分割,目标检测,以及人的关键点检测。Mask RCNN是基于Faster RCNN的一种改进,增加一个FCN的分支。一、Mask RCNN 网络架构Mask RCNN就是Faster RCNN+FCN组成的,Faster RCNN完成分类和边框预测,FCN在筛选出的ROI中进行图像分割。损失函数由三部分组成:1.1 Faster RCNN网络

2021-10-18 19:13:45 4006

原创 【原理篇】一文读懂Faster RCNN

0. Faster RCNN概述论文地址:https://arxiv.org/pdf/1506.01497.pdfFaster R-CNN源自2016年发表在cs.CV上的论文《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》,使用RPN(建议区域网络)的实时物体检测,Faster R-CNN实现了end-to-end的训练,不仅明显地加快了目标检测速度,在模型精确度方面也有提升。在目标

2021-10-09 19:01:40 850

原创 Paddle-Lite终端部署深度学习模型流程

Paddle Lite是飞桨基于Paddle Mobile全新升级推出的端侧推理引擎,在多硬件、多平台以及硬件混合调度的支持上更加完备,为包括手机在内的端侧场景的AI应用提供高效轻量的推理能力,有效解决手机算力和内存限制等问题,致力于推动AI应用更广泛的落地部署流程一般分为四步1)把其他框架(pytorch/tensorlfow)训练的模型转换为paddle模型 2)paddle模型优化为轻量级的模型 3)paddle-lite通过api调用轻量级的模型推理 4)融合进业务代码,完成落地1.

2021-09-18 16:39:07 2008

原创 Python源码加密与Pytorch模型加密

0、前言深度学习领域,常常用python写代码,而且是建立在一些开源框架之上,如pytorch。在实际的项目部署中,也有用conda环境和python代码去部署服务器,在这个时候,又分为两种情况。部署方式可分为两种,一种是在线部署,算法服务器归公司所有,只开放API给客户,客户通过POST请求访问算法服务器,上传数据并得到返回结果。这种情况客户当然看不到代码。还有一种是离线部署,就是给客户私有化部署,把公司的代码放到客户的服务器上运行,这种情况下客户能够看到代码。如果是python部署的项目,就需要

2021-09-10 17:34:54 3628 13

原创 Pytorch用自己的数据训练ResNet

一. ResNet算法介绍残差神经网络(ResNet)是由微软研究院的何恺明等人提出的。ResNet 在2015 年的ILSVRC中取得了冠军。通过实验,ResNet随着网络层不断的加深,模型的准确率先是不断的提高,达到最大值(准确率饱和),然后随着网络深度的继续增加,模型准确率毫无征兆的出现大幅度的降低。这个现象与“越深的网络准确率越高”的信念显然是矛盾的、冲突的。ResNet团队把这一现象称为“退化(Degradation)”。按道理,给网络叠加更多层,浅层网络的解空间是包含在深层网络的解空

2021-08-31 14:23:16 15917 14

原创 mmdetection v2.x模型训练与测试

因为工作关系,接触到了mmdetection。它是商汤科技和香港中文大学开源的一款基于pytorch底层的目标检测工具箱,隶属于mmlab项目。mmdetection 2.7文件结构。其中configs文件夹下为网络模型文件,checkpoints文件夹下为模型权重文件(.pth)1. 模型训练在模型训练之前,要先配置好参数。配置参数是通过修改文件的方式完成的,主要包括三部分:配置数据,配置模型和配置训练策略。下面将以训练模型faster_rcnn_r50_fpn_1x_coco为例..

2021-08-18 15:20:26 1071

原创 pytorch用自己数据训练VGG16

一、VGG16的介绍VGG16是一个很经典的特征提取网络,原来的模型是在1000个类别中的训练出来的,所以一般都直接拿来把最后的分类数量改掉,只训练最后的分类层去适应自己的任务(又叫迁移学习),这种做法为什么有用呢,可能是自然界中的不同数据,分布具有相似性吧。本文不打算这么干,本文将修改一下vgg的网络自己重新训练。先看看VGG的原生网络特点:1.网络结构及其简单清晰,五层卷积+三层全连接+softmax分类,没有其他结构。2.卷积层全部用3*3的卷积核,三个3*3的卷积核相当.

2021-07-16 11:54:45 5284 6

原创 yolov5训练自己的数据集

yolo系列在目标检测领域的地位就不用说了,github上有pytorch实现的训练yolov5的代码,本文将用自己的数据去训练一个yolov5的模型。参考代码地址https://github.com/ultralytics/yolov5/tags注意这里我们选择tags下的v1.0版本进行训练,不同的版本代码是不一样的,复现过程也有所差异。其中v1.0版本的训练过程和yolov3很相似一、准备自己的数据数据的标注,采用labelImg软件,保存下来的都是.xml格式的标注文件。本次大.

2021-07-13 11:42:40 3300

原创 Pytorch自定义CNN网络实现猫狗分类

数据集下载地址:https://www.microsoft.com/en-us/download/confirmation.aspx?id=54765Dogs vs. Cats(猫狗大战)来源Kaggle上的一个竞赛题,任务为给定一个数据集,设计一种算法中的猫狗图片进行判别。数据集包括25000张带标签的训练集图片,猫和狗各125000张,标签都是以cat or dog命名的。图像为RGB格式jpg图片,size不一样。截图如下:一. 数据预处理pytorch的数据预处理部分要写..

2021-07-08 18:10:01 1360 1

原创 ubuntu编译安装opencv4.5.1(C++)

1. 在https://github.com/opencv/opencv上下载opencv源码。包括opencv4.5.1和opencv-contrib4.5.1(也可以不用),其中opencv是主体,opencv-contrib包含了一些不是足够稳定的算法,没有集成到opencv中。2. 把下载的源码包解压可以看到opencv-4.5.1和opencv_contrib-4.5.1两个文件夹,将opencv_contrib-4.5.1目录移到opencv-4.5.1目录下。在终端安装下列依赖库:su

2021-07-06 12:00:18 1387

原创 机器学习线性分类

数学模型分类的目标是把输入 x 匹配到唯一的离散型类别 Ck 中。在一个平面中,我们可以用一条直线分开两组数据,所以这条直线,一般来讲是在D维输入空间中的(D-1)维超平面,叫做线性判别函数(Linear discriminant function),也叫决策面(decision surface)这里的线性,是一种真正意义上的线性,就是函数模型对输入变量x表现出线性(直线、平面、超平面) ...

2021-07-05 18:35:21 354

原创 线性回归

一、线性基函数模型回归问题在二维空间里其实就是一个曲线拟合问题。我们讨论的是线性回归(Liner Regression),其具有线性形式,最简单的模型是输入变量的线性组合。但是我们这里关注的线性,并不是函数对于输入变量的线性,而是针对参数w的线性对于上面这种简单形式,往往因为x 有很大的局限性,所以我们这样拓展模型的类别:将输入变量的固定的非线性函数进行线性组合其中被称为基函数当然,我们往往把Wo...

2018-05-21 20:58:55 529

原创 01.贝叶斯

贝叶斯公式                  其中,P(w|D)为后验概率,在已知结果D的情况下来预测参数w。          P(D|w)为似然函数,它表示在不同的参数向量w下,观测结果出现的可能性大小。          P(w)是先验概率。用自然语言来表示贝叶斯公式就是:                    贝叶斯思想频率学观点和贝叶斯观点频率学观点也叫传统观点,依靠对“事件”本身建模来...

2018-05-17 18:06:05 140

空空如也

空空如也

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

TA关注的人

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