
14周AI人工智能
文章平均质量分 87
schedule list
这个作者很懒,什么都没留下…
展开
-
CV计算机视觉(11)——目标跟踪
目录一、Siam-RCNN二、MOSSE三、SiamFC四、SiamRPN五、SiamMask六、Kalman filter一、Siam-RCNN使用孪生网络作为重新预测器,之前的检测器均采用单级检测器结构,对于单目标的检测任务,两级检测网络更好。其中第二阶段主要将感兴趣的ROI与模版区域进行比较,将感兴趣的区域特征连接起来,与参考图像进行对比,实现了对物体大小和长宽比变化的鲁棒性,这一点,使用简单的互相关操作是很难实现的。1、模板抽取 template extraction第一帧框定目标,用训练原创 2021-02-20 15:10:01 · 820 阅读 · 0 评论 -
深度学习(9)——模型的蒸馏、特征的蒸馏
目录前言一、蒸馏的目的二、蒸馏中的softmax三、蒸馏流程1.step2.step3.step4.总结:前言蒸馏就是把一个大模型变成一个相对小的模型一、蒸馏的目的Distill knowledge from bigger models从大模型中学习知识Use the distilled knowledge to guide the learning of smaller models用学习到的知识指导学习一个更小的模型Use smaller models to mimic the原创 2021-02-06 12:50:50 · 5476 阅读 · 0 评论 -
CV计算机视觉(10)——图像迁移之风格迁移(学习图片噪声and学习模型参数)
目录前言二、风格迁移 Image Style Transfer1.假设2.假设带来的问题3.做风格迁移的思路(1) backbone(2) content loss(3) style loss(4) Combine contents and styles(5)Generated from white noise4.gram matrix5.另一种思路前言上一篇博客介绍的图像迁移中的图像分割以及几个常用的分割网络,这一篇接着介绍图像迁移中的另一个分支——风格迁移。风格迁移的输入有两个,一个是风格输入,一个原创 2021-02-06 12:17:30 · 1645 阅读 · 0 评论 -
Ubuntu18.04--Detectron2环境配置与安装
目录环境配置detectron2安装数据集准备Detectron2测试环境配置创建并激活detectron2环境conda create --name detectron2 python=3.6conda activate detectron2安装pytorch、torchvision、cudatoolkit,添加国内源解决网络问题,依次执行以下命令:conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anacon原创 2021-02-06 10:47:03 · 1134 阅读 · 0 评论 -
CV计算机视觉(9)——图像迁移之图像分割(FCN\U-Net\Mask RCNN)
图像迁移Image Transfer前言一、图像分割Image Segmentation1.FCN2.UNet3.ENet4.Mask RCNN前言本文主要介绍图像迁移,图像迁移有两个主要的研究方向,一个是分割,一个是风格迁移。本文主要介绍图像分割。其中分割又包括语义分割(同类别是同一个mask表示,比如下图第二张,车都是蓝色表示,人都是红色表示,可以理解为“车”“人”就是一种语义)、实例分割(具体到个体,车A和车B是同一语义的不同实例,所以不同实例也要用不同的mask表示,如图三,车与车之间也用不同色原创 2021-02-01 18:22:26 · 2360 阅读 · 0 评论 -
CV计算机视觉(8)——目标检测one stage detection:yolov1、v2、v3
文章目录前言一、YOLOV1二、YOLOV2前言前面基于Faster-RCNN系列讲了two stage的检测算法,核心思想是先把检测物体框出来,对这个物体进行粗定位和分类,然后再精细定位。而onw stage可以理解为省去粗定位这一步,直接精细定位。用faster-RCNN举例,他有一步RPN,是为了生成候选框的,这是一个粗定位的步骤,有这个步骤就是two stage,没有RPN功能的步骤,直接一步到位就是one stage。一、YOLOV1相比Faster-RCNN速度快,精度低,但是如果换ba原创 2021-01-23 15:20:03 · 539 阅读 · 0 评论 -
面试官爱问的Faster-RCNN面试题总结
Faster-RCNN面试题前言一、基于Faster-RCNN家族的问题1.从RCNN到Fast-RCNN到Faster-RCNN,各网络是如何改进的?优缺点是什么?1.1 RCNN到Fast-RCNN:(1)候选框的生成方式:(2)卷积生成特征是否重复:(3)尺寸归一化方式:(4)用什么分类:1.2 Fast-RCNN到Faster-RCNN:(1)候选框的生成方式:(2)卷积生成特征是否重复:(3)尺寸归一化方式:(4)用什么分类:二、Faster-RCNN中的RPN1.前/背景分类为什么用sigmoi原创 2021-01-20 17:41:14 · 2226 阅读 · 0 评论 -
非极大值抑制NMS代码实现(Python)
文章目录前言NMS代码实现1.导入必要的库2.人为生成一组位置坐标,模拟候选框3.定义NMS(1)获取位置坐标,本代码用对角坐标表示位置(2)计算每个Bbox的面积(3)对Bbox的置信度得分排序(4)初始化结果集,对应伪代码中D(5)选取最大值,遍历并计算iou5.1 读取置信度最高的框,并直接送入结果集中5.2 计算其余框和最高分框的重叠面积5.3 计算iou5.4 按照IOU阈值删选Bbox(6)返回结果集4.测试总结前言NMS的原理传送门伪代码:NMS代码实现1.导入必要的库# 1.原创 2021-01-15 15:53:10 · 1225 阅读 · 1 评论 -
CV计算机视觉(7)——目标检测two stage detection:RCNN &Fast-RCNN& Faster-RCNN对比向总结
文章目录前言一、RCNN二、Fast-RCNN三、Faster-RCNN前言对这周学习的RCNN,Fast-RCNN,Faster-RCNN进行总结对比.一、RCNNRCNNregion proposal用selective search生成2K+;对region proposal做卷积操作提取特征;对特征图resize尺寸送入模型训练;SVM进行分类;线性模型进行回归。二、Fast-RCNNFast-RCNN卷积操作提取特征得到整张图片的特征图;region proposal原创 2021-01-14 16:47:24 · 296 阅读 · 0 评论 -
CV计算机视觉(6)——目标检测及Faster-RCNN流程梳理
文章目录前言Faster-RCNN组成1.输入样本并数据预处理2.backone提取特征3.RPN生成候选框4.Fast-RCNN5.输出分类和回归pred总结前言上一篇博客把Faster-RCNN的关键技术说了一下,但是流程梳理那部分我觉得写得不妥当,所以单独写一篇梳理整个网络的工作流程再挖一下网络细节。Faster-RCNN组成以训练阶段为例,我把整个网络结构模块化为包括输入、数据预处理、backbone提取特征、RPN、Fast-RCNN、输出这五大部分。1.输入样本并数据预处理首先,假原创 2021-01-14 15:43:22 · 534 阅读 · 0 评论 -
CV计算机视觉(5)——目标检测及Faster-RCNN解读(RPN原理)
文章目录前言一、Faster-RCNN快在哪儿?二、RPN的工作原理1.RPN的作用2.读入数据总结前言从RCNN到Fast-RCNN到Faster-RCNN,从名字也能看出是越来越快的一个过程。前面写了Fast-RCNN是在卷积部分加快了速度,那么Faster-RCNN又是做了什么导致更快的呢?一、Faster-RCNN快在哪儿?Faster-RCNN在Fast-RCNN的基础上改进了候选区域的生成方式。Faster-RCNN沿用selective search生成候选区域,为了改进regio原创 2021-01-13 19:20:36 · 1420 阅读 · 0 评论 -
CV计算机视觉(4)——目标检测及Fast-RCNN解读(特征投影,ROI Pooling,ROI Align,Precise ROI Pooling)
文章目录前言一、Fast-RCNN主要技术1.共享卷积计算2.ROI POOLING3.SVM替换成两个FC二、Fast-RCNN总结三、Fast-RCNN缺点四、ROI Pooling的改进1.ROI Align2.Precise ROI Pooling3.三种 ROI Pooling对比前言前面讲了两阶段检测的RCNN算法,我们提到它有一个缺陷就是2k个候选区域在测试阶段是存在大量重复的特征提取过程的,为了改进这一点,诞生了Fast-RCNN。一、Fast-RCNN主要技术1.共享卷积计算为原创 2021-01-12 19:49:39 · 1105 阅读 · 0 评论 -
CV计算机视觉(3)——目标检测及RCNN解读(NMS,Soft-NMS)
文章目录一、Detection二、从RCNN开始设计检测1.提取候选区域2.经过卷积提取候选区域的特征向量3.对特征向量进行分类和定位3.1 SVM部分3.2 NMS部分(1)NMS思想(2)NMS的改进soft-nms4.RCNN的缺点一、Detection先回顾一下前面说的分类任务:图片分类的任务是对于一个给定的图片,预测其中的类别标签。比如猫狗分类,数字0-9识别等。而对于检测任务,除了要输出分类结果(输出形式跟分类相同,标量或编码),还要输出定位信息(输出形式是一个横平竖直的框,叫boudi原创 2021-01-11 22:35:23 · 918 阅读 · 0 评论 -
利用pytorch实现交通标识分类
一、下载数据集train文件夹中有62个文件夹,每个文件夹中是一类标志,每个文件夹的数量不一,有多又少,所以存在样本不均衡问题。二、样本标签转换打开train_label文件夹,发现有62类标签,对于62个类别,如果用标量表示会引入很大的数量等级差距,所以考虑采用独热编码对类别标签编码成向量形式。1.数据预处理:利用python sklearn 将类别数据转换成one-hot数据import pandas as pd#类别数据转换成one-hot# 1. 读取csv文件train_la原创 2020-12-31 16:16:45 · 1800 阅读 · 5 评论 -
CV计算机视觉(2)——图像分类中的多标签分类任务
多标签任务每个图片有多个标签,而且标签个数不固定,如果一共有C类,那么每张图片最多可以有2的C次方个标签。其编码方式也可采用ONEHOT编码,只不过向量中有多个位置是1.多标签任务VS单标签任务1.每张图片的类别数不固定,单标签每张图片只对应一个类别,多标签每张图片对应多个类别,好比一个是单选,一个是不定项多选2.多标签的类别之间可能有依赖关系,而这些依赖关系不一定是先验的3.多标签的标注难度大4.多标签的输出维度高多标签任务的pytorch接口实现#MULTI-LABEL#multi-l原创 2020-12-30 17:12:42 · 954 阅读 · 0 评论 -
CV计算机视觉(1)——图像分类中的单标签分类任务及pytorch接口实现
图像分类定义图像分类:通过输入图像,输出对该图像内容分类的描述的问题。它是计算机视觉的核心,实际应用广泛。图片分类的任务是对于一个给定的图片,预测其中的类别标签。比如猫狗分类,数字0-9识别等。对于一张输入(图片,在计算机中以矩阵或张量形式表示)——>经过模型——>得到输出(标量或向量)。在分类问题中,通常用到标量(字典dict{key:value})或向量(独热编码(1,0,0))来表示输出,但是往往不用标量表示,因为标量用0,1,2,3,4…来给类别计数无形中给类别增加了数量大小以及原创 2020-12-30 16:43:40 · 2206 阅读 · 1 评论 -
win10+labelimg数据集标注工具安装及使用
GitHub地址原创 2020-12-28 20:15:22 · 183 阅读 · 0 评论 -
CUDA&GPU in Python
CPU既然讲到CPU就来复习一下计算机组成原理的一点关于CPU的知识吧~冯诺依曼机有五大组成部分,包括控制器,运算器,存储器,输入设备,输出设备,早期的冯诺依曼机是以运算器为核心的,现代计算机依然沿用冯诺依曼体系,只是不再以运算器为核心,而是以存储器为核心了。现代计算机的系统包括两大部分,一是硬件系统,二是软件系统,详情参考下面我做的思维导图那么CPU是什么作用呢?它的功能主要是解释计算机指令以及处理计算机软件中的数据。是一台计算机的运算核心和控制核心。从cpu的结构中可以看出,cpu需要大量的原创 2020-12-24 14:54:02 · 242 阅读 · 0 评论 -
从训练一个模型开始学习pytorch(1)——用Alexnet训练CIFAR10数据集
一.导入必要的库import torchimport torch.nn as nnimport torchvisionimport torchvision.transforms as transformsimport torch.utils.data.dataloader as dataloaderimport pdbimport osos.environ["CUDA_VISIBLE_DEVICES"] = "3"pytorch知识点1:导入工具包常用的工具包有如下几个:1.impo原创 2020-12-18 22:11:12 · 1398 阅读 · 1 评论 -
深度学习(8)——分类模型评估Evaluation(Recall,Precision,Accuracy)
分类模型评估标准不同的任务有不同的评估标准,这里只介绍分类任务的评估指标。(Recall,Precision,Accuracy)1.Accuracy正确率分类正确的样本占总样本的个数:但是ACC有一个很大的弊端,如果训练的样本全是负样本,分类器把所有样本预测为负样本也能获得高准确率,当类别占比不均衡时,占比大的类别会影响分类器的准确率。2.Precision精确率&Recall召回率首先需要认识一下混淆矩阵:横向表示预测结果,纵向表示真实标签关于TP\FN\FP\TN,表示预测结果原创 2020-12-16 20:27:15 · 2157 阅读 · 1 评论 -
深度学习(7)——CNN优化之路optimization最优化策略
梯度下降关于梯度下降上一篇博客说了,细节参考这里:https://blog.csdn.net/weixin_41761357/article/details/109689613这里所谓的梯度下降是指所有样本的梯度下降。假如有x1,x2,x3……xn, N个样本;每个样本有x11,x12,x13……x1m ,M个特征;模型有K个参数。为了衡量预测值和真实值之间的差异,需要损失函数loss<y^,y> ,对于第i个参数模型对1~N个样本会生成N个预测值,对每个样本都有一个los原创 2020-12-16 17:15:46 · 1312 阅读 · 0 评论 -
深度学习(6)——预处理Preprocessing
Preprocessing预处理的目的消除zigzag现象:因为随机梯度下降每一次的下降梯度都是由数据集中的一个样本计算得来的,因为数据的一些特性不可能完全一致,因此会计算出不同的下降方向,所以在全局看来会导致振荡。方法是进行归一化,常用的有以下两种方式:...原创 2020-12-14 22:26:23 · 604 阅读 · 0 评论 -
深度学习(5)——网络模型参数的初始化策略(Xavier)
模型参数初始化的目的先来回顾一下CNN的核心流程:在fundamental layer和function layer中,上层和下层神经元之间是通过权重连接的(也就是层与层之间的连接线)权重存在于模型的每一层之间,抽象图如下所以:而模型的更新,很大程度是基于参数的更新。通过loss函数对predict_y和真实标签y进行计算,利用梯度下降对模型进行更新:(b的计算公式同理,此处不再赘述。)梯度下降的过程是循环进行的,那么第一步模型启动的时候初始值应该怎么设置呢?从设计模型的角度来说,我们希望模原创 2020-12-14 21:53:50 · 1496 阅读 · 0 评论 -
深度学习(4)——以AlexNet为例计算神经网络的参数量parameters和浮点运算次数FLOPs
上一片博客(指路)末尾有提到计算公式,这里就不再赘述了放个截图。本文将以AlexNet为例,计算AlexNet参数量量和浮点运算次数。计算参数量1.首先回顾参数量的计算公式:如果输入是C channel ×H×W;卷积核是C inchannel × M outchannel ×K ×K;parameters = [(K ×K)×C inchannel ]×M outchannel+M2.分析AlexNet网络结构共进行五次卷积操作,各层之间的kernel大小和输出feature尺寸下图原创 2020-12-11 21:19:40 · 5898 阅读 · 2 评论 -
深度学习(3)——轻量化的CNN网络结构(SqueezeNet、MoblieNet、ShuffleNet)
轻量化模型上一节主要针对经典的CNN网络进行概述,这一节主要针对能满足人们轻量化要求的模型进行概述。轻量化的模型通常希望他有相对于传统的CNN网络结构更少的参数量以及更快的计算速度。通常有两种措施来实现,一种是训练时就选择结构简单的网络;一种是训练完后对模型结构进行优化,例如压缩、蒸馏、剪枝等。这里主要讲基于第一种措施的网络,历史上有以下这些:本文主要讲解SqueezeNet、MoblieNet、ShuffleNet。优化策略1.优化网络结构 —— eg:Shuffle Net2.减少原创 2020-12-11 19:41:10 · 2663 阅读 · 3 评论 -
深度学习(2)——经典的CNN网络结构(LeNet\AlexNet\GoogleNet\VGG\ResNet)
本文主要讲解几类熟知的基础的神经网络种类,主要是……CNN设计准则输入特征矩阵——卷积操作重复N次——功能层——输出向量,一般来说随着网络层数的加深,特征图的尺寸减小,通道数(深度)增加。(参考上一节写的卷积后的特征图尺寸计算公式)经典网络的发展历史第一代:第二代:第三代:经典网络结构解读1.LeNet-5由input层可知,输入的是灰度图,尺寸为32×32;经过一层kernel size为28×28的6channel卷积得到输出;做下采样操作……全连接层分别有120个神经元原创 2020-12-11 15:43:06 · 896 阅读 · 1 评论 -
深度学习实战(1)——训练Mnist数据集
1.导入必要的库import torchimport matplotlib.pyplot as pltimport numpyimport torchvision #需要用到torchversion中的数据集from IPython import display2.下载Mnist数据集#下载数据集#数据集的格式pytorch不一定支持,所以要用transform把数据集的格式转换成pytorch支持的形式transform = torchvision.transforms.Compose原创 2020-12-05 11:13:23 · 1240 阅读 · 0 评论 -
深度学习(1)——卷积神经网络CNN
CNN 卷积神经网络C—卷积, NN—神经网络首先回顾什么是NN:模型参数实际上是上图实线的位置,而不是点的位置。其中,隐藏层中的神经元不仅有一个线性函数,还有一步激活函数操作,一般每一层的激活函数一样,但是也可以每一层的激活函数不一样,默认就算不声明每层后面都有激活函数:与神经网络不同,卷积神经网络如下:输入不再是一个向量,而是一个图片,这个图片的表示形式通常是矩阵,如果是彩图会有三通道的表示3HW(如果是灰度图则是1HW),很多位置的点的像素值构成这张图片。经过卷积层和池化层得到一个输.原创 2020-12-04 20:42:27 · 1121 阅读 · 0 评论 -
机器学习(5)——Kmeans VS KNN
聚类一种无监督学习,把无分类的数据分为K类Kmeans(K均值)1.指定K值,也就是最终要分成K类就指定K为几;2.初始化K个中心点:随机找K个样本x1,x2,……xk,作为未来K类的K个中心点c1,c1……ck;3.计算剩余样本所属类别:每个样本距离step2中选的K个中心点c1,c1……ck的距离d,谁的距离最近就归为哪一类;4.重新选取中心点:step2中选取的中心点是随机初始化选的,不具有准确性,所以需要优化选择新的中心点。由于step3中已经初步分好了K类,对这些类别重新计算新的.原创 2020-11-27 22:26:19 · 411 阅读 · 0 评论 -
机器学习(4)——SVM
支持向量机简介 支持向量机(support vector machines, SVM),属于监督学习,是一个二分类模型。比如我们要对上图的点进行分类,划分的线可以有多种:如何确定我们到底要找哪一条分界线呢?我们的解决思路是:尽可能的让分界面宽,把它想象成一条河,河的中间线作为我们最终想要的那条分界线: &emsp综上所述,SVM的基本思想就是求解能够正确划分数据集的并且几何间隔最大的分离超平面SVM推导1.假定有数据集X1,X2……Xn,对应的标签有两类Y1=1,Y2=.原创 2020-11-27 21:37:05 · 661 阅读 · 0 评论 -
机器学习(3)——利用Sklearn和神经网络实现分类
当散点能找到一条很明显的决策边界的时候,用逻辑回归也可解决问题,当离散点之间难以找到一条明显的决策边界的时候,显然逻辑回归就不再适用了,可以考虑使用神经网络进行回归。我们不再人工生成数据点,而是通过导入数据集sklearn导入不规则的数据,下面直接贴代码吧~1.导入必要的库#数据点杂乱的数据集用回归模型难以找到一条明显的决策边界,考虑用神经网络分类from sklearn import datasets #导入数据集sklearn,不再人工生成数据点import numpy as npimp.原创 2020-11-21 15:31:44 · 2876 阅读 · 0 评论 -
机器学习(2)
课前:Feature Scaling参见另一篇博客中的question1Logistic Regression虽然名字叫回归,实际是分类问题。比如下图,数据点分两个类别,希望得到的模型最终可以预测一个新的数据点的类别属于哪一类。显然此类问题不希望模型去拟合数据点得到一条尽可能囊括更多数据点的拟合曲线,而是希望模型找到两类数据点之间的一个分界线。值得一提的是,logistic回归的分界线是一条直线,除了logistic,也有曲线做分界线的。1. 确定模型:既然要找一条直线分界线,我们假设决策.原创 2020-11-20 20:48:02 · 183 阅读 · 0 评论 -
机器学习(1)
机器学习流程数据收集——收据清洗——特征工程——数据建模机器学习中的数据数据x+标签y不局限与数值型数据,图像,文本,语音等都可以作为数据。机器学习的分类有监督学习:有标签。输入数据有标注。无监督学习:无标签。输入数据无标注。两者有不同之处:有监督学习分训练集和测试集,在训练集中找规律,在测试集中用找到的规律测试找的对不对;无监督学习没有训练集,在这组数据里自行寻找规律。何时采用何种方法:从定义出发,有训练样本参考则考虑采用监督学习线性回归线性回归是回归问题中的一种,研究因变量和.原创 2020-11-14 14:18:38 · 492 阅读 · 0 评论