面试之CV基础知识
今 晚 打 老 虎
消除恐惧的最好办法就是面对恐惧
展开
-
局部特征HOG、SIFT、LBP
HOG:Histogram of Oriented Gradient,方向梯度直方图主要思想:HOG主要捕获轮廓信息,在一副图像中,局部目标的表象和形状(appearance and shape)能够被梯度或边缘的方向密度分布很好地描述。因为是局部特征,直接对较大的区域进行提取HOG难度大效果差,故需要将图像分为多patch,分别计算HOG特征。分割时,有overlap和non-overl...原创 2020-03-29 14:02:33 · 576 阅读 · 0 评论 -
SVM原理,SVM核函数、SVM的软间隔和硬间隔的区别、惩罚系数对SVM的影响
SVM可以用于解决二分类或者多分类问题,此处以二分类为例。SVM的目标是寻找一个最优化超平面在空间中分割两类数据,这个最优化超平面需要满足的条件是:离其最近的点到其的距离最大化,这些点被称为支持向量SVM只和分类界限上的支持向量点有关,换而言之只和局部数据有关推导过程:核函数:对于输入空间中的非线性分类问题,可以通过非线性变换将它转化为某个维特征空间中的线性分类问题,在高维特征...原创 2020-03-29 14:02:43 · 4993 阅读 · 0 评论 -
LR的原理及损失函数,和线性回归的区别
逻辑回归本质上是线性回归,只是在特征到结果的映射中加入了一层逻辑函数sigmoid(z),即先把特征线性求和,然后使用函数sigmoid(z)作为假设函数来预测。求解过程:而sigmoid 的导数是:逻辑回归用来分类0/1 问题,也就是预测结果属于0 或者1 的二值分类问题。这里假设了二值满足伯努利分布,也就是所以对于训练集,其极大似然函数是:先...原创 2020-03-29 14:02:54 · 797 阅读 · 0 评论 -
PCA 和LDA
原理:主成分分析(PCA)是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关变量称为主成分。PCA本质上是将方差最大的方向作为主要特征,并且在各个正交方向上将数据“离相关”,也就是让它们在不同正交方向上没有相关性。而方差最大的那个维度是主成分。步骤:设有m条n维数据(m条数据,n种特征)1)将原始数据按列组成n行m列矩阵X2)将X的每一行(代表一个属性字...原创 2020-03-30 14:59:41 · 193 阅读 · 0 评论 -
Focal Loss解决什么问题、如何写,每个参数作用
Focal loss主要是为了解决one-stage目标检测中正负样本比例严重失衡的问题。该损失函数降低了大量简单负样本在训练中所占的权重,也可理解为一种困难样本挖掘原始的交叉熵损失此时的损失函数在大量简单样本的迭代过程中比较缓慢且可能无法优化至最优。focal loss添加参数γ,当γ大于0时,对于易分的正样本或负样本,权重小,而对于难区分的样本则权重大,避免让简单样本主...原创 2020-03-29 14:04:25 · 3457 阅读 · 3 评论 -
OHEM
思想:选择一些hard example作为训练的样本从而改善region-based网络参数效果,hard example指的是有多样性和高损失的样本。 本文在Fast R-CNN的基础上做了改进,在每次minibatch(1张或者2张)训练时加入在线筛选hard region的策略 OHEM适合于batch size(images)较少,但每张image的proposal很多的情况...原创 2020-03-29 14:04:17 · 236 阅读 · 0 评论 -
Faster R-CNN、Fast R-CNN、SSD、YOLO区别
R-CNN:过程:先用Selective Search提取候选框 然后将候选框强制到227*227 之后用AlexNet提取特征 最后将特征用SVM分类优点:相对于传统方法用HOG或者SITF提取特征,本文用CNN来提取特征缺点:两千多个候选框分别送入CNN提特征,时间消耗大 三个阶段分开训练,中间数据还要保存,空间消耗大Fast R-CNN:过程:...原创 2020-03-29 14:04:04 · 7966 阅读 · 1 评论 -
SSD实现细节
目标检测主要分两类:One-stage:Yolo,SSD均匀地在图片的不同位置进行密集抽样,抽样时可以采用不同尺度和长宽比,然后利用CNN提取特征后直接进行分类与回归,速度快,准确率低但是均匀的密集采样的一个重要缺点是训练比较困难,这主要是因为正样本与负样本(背景)极其不均衡Two-stage:R-CNN, Fast R-CNN, Faster R-CNN先通过Selectiv...原创 2020-03-29 14:03:55 · 535 阅读 · 0 评论 -
R-CNN、Fast R-CNN、Faster R-CNN实现
R-CNN:传统的目标检测算法:使用穷举法(不同大小比例的滑窗)进行区域选择,时间复杂度高对提取的区域进行特征提取(HOG或者SIFT),对光照、背景等鲁棒性差使用分类器对提取的特征进行分类(SVM或Adaboost)R-CNN的过程:采用Selective Search生成类别独立的候选区域使用AlexNet来提取特征,输入是227*227...原创 2020-03-29 14:03:41 · 732 阅读 · 0 评论 -
Soft-NMS原理、和NMS的区别
NMS:《NMS:Efficient Non-Maximum Suppression》非极大值抑制,即保留局部最大值而去除局部非最大值过程:假设对于某个类别C,假设当前有N个矩形框,这里假设6个,ABCDEFG首先对这些矩形框按照概率降序排列,选中概率最大的框对于剩下的框,依次与概率最大的框求IOU,如果IOU大于某个阈值,则将这些框丢弃(置0),并标记保留最大概率框完...原创 2020-03-29 14:03:24 · 2955 阅读 · 0 评论 -
IOU计算过程
IOU即交并比,InterSection over Union。首先,给出每个box的两组坐标,怎么判断重叠?第一种思路:如果不重叠,一个盒子一定在另一个的上下左右第二种思路:如果重叠,找到重叠区域,看这个区域的长宽是否为正根据第二种思路,就可以计算重叠面积了,即InterSection。假设Box1的左上坐标(x1,y1),右下坐标(x2,y2)Box2的左上坐标...原创 2020-03-29 14:03:10 · 2027 阅读 · 2 评论 -
YoloV1、YoloV2和YoloV3实现细节和区别
YoloV1:对比R-CNN出处:《You Only Look Once: Unified, Real-Time Object Detection》背景:RCNN存在region proposal 过程,Selective Search每张图花费1~2秒,不能做到real-timeProposals太多会出现很多假阳例思想:提出一个简单的卷积神经网络同时预测边框和预测类...原创 2020-03-26 15:40:30 · 4566 阅读 · 0 评论 -
LSTM原理及其如何处理梯度弥散问题
RNN:循环神经网络(下面简称RNNs)可以通过不停的将信息循环操作,保证信息持续存在长依赖存在的问题:当有用信息与需要该信息的位置距离较近时,RNNs能够学习利用以前的信息来对当前任务进行相应的操作当有用信息与需要该信息的位置距离较远时,这样容易导致RNNs不能学习到有用的信息,最终推导的任务可能失败LSTM:Long Short Term Memory ne...原创 2020-03-26 15:31:15 · 1446 阅读 · 0 评论 -
MobileNet实现细节
群卷积:假设上一层的输出feature map有N个,即通道数channel=N。再假设群卷积的群数目M。则先将channel分成M份。每一个group对应N/M个channel,与之独立连接。然后各个group卷积完成后将输出叠在一起(concatenate),作为这一层的输出channel。Depthwise Convolution:像Xception里那样,当群数目是上一层的...原创 2020-03-26 15:29:27 · 336 阅读 · 0 评论 -
上采样、转置卷积、上池化
上采样:UnSampling阶段没有使用MaxPooling时的位置信息,而是直接将内容以插值方式来扩充Feature Map,属于人工特征工程,没有要学习的参数常用的上采样插值方法有:最近邻插值(Nearest neighbor interpolation)双线性插值(Bi-Linear interpolation)双立方插值(Bi-Cubic interpolation)...原创 2020-03-26 15:27:52 · 2316 阅读 · 0 评论 -
SoftMax计算
Softmax的作用简单的说就计算一组数值中每个值的占比原创 2020-03-26 15:25:08 · 847 阅读 · 0 评论 -
precision 和recall计算
原创 2020-03-26 15:24:10 · 11829 阅读 · 1 评论 -
卷积、池化的尺度变化、参数数量
尺度:参数量:原创 2020-03-26 15:22:41 · 702 阅读 · 1 评论 -
二分类、多分类交叉熵的计算
如果是二分类任务的话,因为只有正例和负例,且两者的概率和是1,所以不需要预测一个向量,只需要预测一个概率就好了,损失函数定义简化如下:如果是多分类任务:...原创 2020-03-26 15:21:06 · 3338 阅读 · 0 评论 -
Max Pool和Average Pool区别、哪个好
特征提取的误差主要来自两个方面:邻域大小受限造成的估计值方差增大;卷积层参数误差造成估计均值的偏移。Average-Pooling能减小第一种误差,更多的保留图像的背景信息,强调对整体特征信息进行一层下采样,在减少参数维度的贡献上更大一点,更多的体现在信息的完整传递这个维度上Max-Pooling能减小第二种误差,更多的保留纹理信息,Max-Pooling感觉更像是做了...原创 2020-03-26 15:19:25 · 4062 阅读 · 0 评论 -
Train Loss不降、Valid Loss不降、Test Loss不降的原因及解决
训练损失不下降,拟合能力不足,欠拟合模型结构和特征工程:原因:模型结构过于简单或者不合理,训练时很难收敛,再者可能是特征工程出现问题解决:检查模型结构是不是太小太简单和特征工程是否合理权重初始化:原因:不合理的权重初始化会导致收敛极慢,合理的权重初始化能改有极大改善解决:选择适合自己模型的权重初始化,建议无脑xaiver normal正则化:原因:L1、L2、Dro...原创 2020-03-26 15:17:42 · 8810 阅读 · 0 评论 -
后向传播的简单推导过程
对于如下简单的神经网络,其输入是i1,i2,输出是o1,o2,w,b参数如下所示:暂时不考虑具体数值,在bp过程中,我们会对每个参数做梯度下降,这里考虑最简单的梯度下降方式假设以均方误差作为损失函数:这里w5,w6,w7,w8类似,过程如下:以w5为例,对于梯度下降过程:这里需要求而η是学习率。对于根据链式求导法则:第一...原创 2019-05-23 23:39:22 · 1285 阅读 · 0 评论 -
GAN公式推导详解
在推导GAN公式之前,需要预备一些数学期望和KL散度的知识点一、数学期望的定义期望:在概率论中,将实验中每次可能产生的结果的概率乘以其结果的总和,反映随机变量平均取值的大小。根据其随机变量的取值范围不同,分为离散型和连续型对于连续型随机变量x,其概率密度函数为f(x),则X的数学期望E(x)可以表示成微积分的形式二、KL散度的定义KL散度:在信息论中,用生成的概率...转载 2019-09-03 19:24:26 · 9312 阅读 · 4 评论 -
激活函数的对比
原创 2019-05-23 23:47:45 · 253 阅读 · 0 评论 -
梯度下降算法对比
损失函数为凸函数时,梯度下降一定可以得到全局最优解原创 2019-05-23 23:50:26 · 350 阅读 · 0 评论 -
VGG
出处:《Very Deep Convolutional Networks for Large Scale Image Recognition》摘要:证明了增加网络的深度能够在一定程度上影响网络最终的性能,使错误率大幅下降,同时拓展性又很强,迁移到其它图片数据上的泛化性也非常好。网络结构:VGG-16:2*Conv+MP+2*Conv+MP+3*Conv+MP+3*Conv+M...原创 2020-03-08 18:09:32 · 257 阅读 · 0 评论 -
Xception与Depthwise Separable Convolution
出处:《Xception:Deep Learning with Depthwise Separable Convolutions》背景:Inception模块是一大类在ImageNet上取得顶尖结果的模型的基本模块,例如GoogLeNet、Inception V2/V3和Inception-ResNet。有别于VGG等传统的网络通过堆叠简单的3*3卷积实现特征提取,Inception模...原创 2020-03-08 18:11:37 · 184 阅读 · 0 评论 -
ResNet
出处:《Deep Residual Learning for Image Recognition》背景:如果神经网络越来越深,这个神经网络可能会出现退化(degradation) 的现象。这里说的退化是指网络层级加深后,训练的准确率却可能出现饱和的现象。通俗来讲,就是在一个浅层的网络模型上进行改造,然后将新的模型与原来的浅层模型相比较,这里有个底线就是,改造后的模型至少不应该比原来...原创 2020-03-08 18:06:42 · 280 阅读 · 0 评论 -
AlexNet
出处:《ImageNet Classification with Deep Convolutional Neural Networks》AlexNet在2012年的ImageNet比赛上夺冠背景:之前目标检测和识别任务对数据量要求比较大,AlexNet共有五层卷积和三层全连接,实验中其表示网络深度会对网络性能产生影响。网络结构:五层卷积和三层全连接,输入维度是224*224...原创 2020-03-08 18:02:23 · 214 阅读 · 0 评论 -
BN原理、可训练参数、训练预测的时候分别怎么做
出处:《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》IID假设:独立同分布假设:训练数据和测试数据的分布相同是训练的模型能够在测试集上获得好效果的保障而BN就是使得在训练过程中每一层的输入都保持相同的分布再者,随着网络的加深,训练变得更加...原创 2020-03-08 19:16:41 · 7215 阅读 · 0 评论 -
Dropout原理、参数、训练预测的时候分别怎么做
出处:《Dropout: A Simple Way to Prevent Neural Networks from Overfitting》原理:Dropout可以防止过拟合,某次训练时,随机让某些节点失活,输出为0且不更新权重,通常设置一个参数P,每个输出节点以概率P置0,所以大约每次使用了(1-P)比例的输出。测试时,去掉Dropout层,将所有输出利用,但是需要对齐尺度,即缩小...原创 2020-03-08 19:20:08 · 4587 阅读 · 0 评论