深度学习中IU、IoU的概念理解
[TOC]
概述有关图像分割评价标准详细信息可以看这里:
IoU(Intersection over Union)Intersection over Union是一种测量在特定数据集中检测相应物体准确度的一个标准。我们可以在很多物体检测挑战中,例如PASCAL VOC challenge中看多很多使用该标准的做法。
通常我们在 HOG + Linear SVM object detectors 和 Convolutional Neural Network detectors (R-CNN, Faster R-CNN, YOLO, etc.)中使用该方法检测其性能。注意,这个测量方法和你在任务中使用的物体检测算法没有关系。
IoU是一个简单的测量标准,只要是在输出中得出一个预测范围(bounding boxex)的任务都可以用IoU来进行测量。为了可以使IoU用于测量任意大小形状的物体检测,我们需要:
1、 ground-truth bounding boxes(人为在训练集图像中标出要检测物体的大概范围);2、我们的算法得出的结果范围。
2、我们的算法得出的结果范围。
也就是说,这个标 ...
详解深度学习模型加载的硬件方案
[TOC]
文章参考:https://mp.weixin.qq.com/s/sbc54awOZmMAn5U1IYKtLA
概述对于许多 AI 硬件公司来说,最近几年似乎是 AI 硬件发展的黄金时代;过去三年英伟达股价暴涨约 + 500%,超越英特尔成为全球市值最高的芯片公司。其他创业公司似乎同样火爆,在过去几年中,他们已花费数十亿美元资助 AI 硬件初创公司,以挑战英伟达的 AI 领导地位。
对于许多 AI 硬件公司来说,最近几年似乎是 AI 硬件发展的黄金时代;过去三年英伟达股价暴涨约 + 500%,超越英特尔成为全球市值最高的芯片公司。其他创业公司似乎同样火爆,在过去几年中,他们已花费数十亿美元资助 AI 硬件初创公司,以挑战英伟达的 AI 领导地位。
此外,还有一些有趣的收购故事。2016 年,英特尔以 3.5 亿美元收购了 Nervana,2019 年底又收购了另一家名为 Habana 的人工智能初创公司,该公司取代了 Nervana 提供的解决方案。非常有意思的是,英特尔为收购 Habana 支付了 20 亿美元的巨款,比收购 Nervana 多好几倍。
AI 芯片领域, ...
CNN中的Channel Attention小总结
[TOC]
参考:https://zhuanlan.zhihu.com/p/350953067
文章参考:https://blog.csdn.net/jacke121/article/details/110789463
概述本文整理了近期学习的关于通道和空间注意力机制的文章,如果遗漏和问题,欢迎在评论区或私信交流学习。
因为论文的official implementation往往和具体任务相关,对于新手小白要找到论文的核心代码,还是有一点不方便的。
因此,为了大家能够更方便的理解论文的思想,我在github上创建了一个关于CV Attention的项目,这个项目中主要就是各个CV Attention的核心代码,并且附上了如何使用。
目前这个项目还在继续扩展,如果有什么Attention没有被放到这个项目里的,大家可以在评论区留言,我会尽快加进去的,希望大家能随手一个star支持一下哈~~~
https://github.com/xmu-xiaoma666/External-Attention-pytorch
1.论文名:Squeeze-and-Excitation Networks
链 ...
Batch Normalization(BN)的基础学习
[TOC]
概述一般来说,如果模型的输入特征不相关且满足标准正态分布N(0,1)的时候模型的表现一般较好。在训练神经网络模型时,我们可以事先将特征去相关并使得它们满足一个比较好的分布,这样,模型的第一层网络一般都会有一个比较好的输入特征,但是随着模型的层数加深,网络的非线性变换使得每一层的结果变得相关了,且不再满足N(0,1)分布。
更糟糕的是,可能这些隐藏层的特征分布已经发生了偏移。
论文的作者认为上面的问题会使得神经网络的训练变得困难,为了解决这个问题,他们提出在层与层之间加入Batch Normalization层。训练时,BN层利用隐藏层输出结果的均值与方差来标准化每一层特征的分布,并且维护所有mini-batch数据的均值与方差,最后利用样本的均值与方差的无偏估计量用于测试时使用。
BN层的作用贴出论文中的两张图,就可以说明BN层的作用
使得模型训练收敛的速度更快
模型隐藏输出特征的分布更稳定,更利于模型的学习
深度学习之卷积神经网络(CNN)学习
[TOC]
概述卷积神经网络是一种用来处理局部和整体相关性的计算网络结构,被应用在图像识别、自然语言处理甚至是语音识别领域,因为图像数据具有显著的局部与整体关系,其在图像识别领域的应用获得了巨大的成功。
卷积神经网络组成以图像分类任务为例,在表5.1所示卷积神经网络中,一般包含5种类型的网络层次结构:
表5.1 卷积神经网络的组成
CNN层次结构
输出尺寸
作用
输入层
$W_1\times H_1\times 3$
卷积网络的原始输入,可以是原始或预处理(归一化)后的像素矩阵
卷积层
$W_1\times H_1\times K$
参数共享、局部连接,利用平移不变性从全局特征图提取局部特征
激活层
$W_1\times H_1\times K$
将卷积层的输出结果进行非线性映射
池化层
$W_2\times H_2\times K$
进一步筛选特征,可以有效减少后续网络层次所需的参数量
全连接层
$(W_2 \cdot H_2 ...
softmax函数的解析
[TOC]
文章参考:https://www.zhihu.com/question/23765351
概述 做过多分类任务的同学一定都知道softmax函数。softmax函数,又称归一化指数函数。它是二分类函数sigmoid在多分类上的推广,目的是将多分类的结果以概率的形式展现出来。下图展示了softmax的计算方法:
下面为大家解释一下为什么softmax是这种形式。
首先,我们知道概率有两个性质:1)预测的概率为非负数;2)各种预测结果概率之和等于1。
softmax就是将在负无穷到正无穷上的预测结果按照这两步转换为概率的。
1)将预测结果转化为非负数
下图为y=exp(x)的图像,我们可以知道指数函数的值域取值范围是零到正无穷。softmax第一步就是将模型的预测结果转化到指数函数上,这样保证了概率的非负性。
2)各种预测结果概率之和等于1
为了确保各个预测结果的概率之和等于1。我们只需要将转换后的结果进行归一化处理。方法就是将转化后的结果除以所有转化后结果之和,可以理解为转化后结果占总数的 ...
匈牙利匹配算法解析
[TOC]
概述文章参考:https://blog.csdn.net/zgcr654321/article/details/90577698
卡尔曼滤波算法基础学习
[TOC]
概述算法引入适用系统适用于线性高斯系统
什么是线性:叠加性、齐次性
人脸识别之PDM模型
[TOC]
概述文章参考:https://blog.csdn.net/u013263891/article/details/79408688
https://ieeexplore.ieee.org/document/1270611
代码仓库:https://github.com/TadasBaltrusaitis/OpenFace
这是我找到的最早关于人脸识别中PDM模型的论文。对该论文翻译并进行了深入的理解。
1点分布模型
OpenCV通过仿射变换进行人脸对齐
[TOC]
概述文章参考:https://blog.csdn.net/oTengYue/article/details/79278572
文章参考:https://www.freesion.com/article/7721470729/
人脸对齐,即根据图像中人脸的几何结构对图像进行仿射变换(旋转、缩放、平移等),将人脸变换到一个统一的状态。人脸对齐是人脸识别的一个重要步骤,可以提升人脸识别的精度。
根据人脸关键点进行对齐是人脸对齐的一种方法。下图显示了人脸检测和5点人脸关键点检测的结果。
进行人脸对齐后:
OpenCV中的一个函数estimateAffine2D()可以用来估计最优的仿射变换矩阵。
函数返回2x3仿射变换矩阵。以人脸对齐为例,输入参数from为图1中检测出的5个关键点的坐标,to为对齐的关键点位置坐标。对齐的关键点位置可以由训练数据计算得出。
OpenCV中的另一个函数warpAffine()对图像进行仿射变换。
以人脸对齐为例,src是输入图像(图1),dst是输出的对齐的人脸图像(图2b),M是2x3的仿射变换矩阵,dsize是要求的对齐人脸 ...