自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深度学习中上采样方法总结

深度学习中下采样的方式比较常用的有两种:池化和步长为2的卷积;而在上采样过程中常用的方式有三种:插值、反池化、反卷积。不论是语义分割、目标检测还是三维重建等模型,都需要将提取到的高层特征进行放大,此时就需要对feature map进行上采样。下面本文将具体对深度学习中上采样方法进行详细总结。

2022-09-04 19:34:26 6198 3

原创 单阶段目标检测模型YoLo系列(一):YoLoV3详解及代码实现

YoLoV3模型的网络结构大致如下图所示,其主要由三部分组成:Backbone网络提取图像特征、构建特征金字塔FPN实现特征融合、使用YoLo Head获取预测结果。

2022-08-24 18:07:58 5286 2

原创 计算机视觉模型常用评价指标

分类任务常用准确率、精确率、召回率、F1_scores、ROC曲线等指标来评价模型的优劣,当然这些基础指标也可以用来评价分割模型或检测模型,它们基本上是可以通用的。混淆矩阵是对分类问题预测结果的总结,也是衡量分类型模型准确度中最基本,最直观,计算最简单的方法。混淆矩阵中含有4个分类问题的基础指标,如下表所示。.........

2022-08-04 18:20:04 4026

原创 动态规划(一)

前言:动态规划(DP)是运筹学的一个分支,是将决策不断最优化的求解过程。动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解中得到原问题的解。与分治法不同的是,适合于用动态规划求解的问题,经分解得到的子问题往往不是互相独立的。若用分治法来解这类问题,则分解得到的子问题数目太多,有些子问题被重复计算了很多次。如果我们能够保存已解决的子问题的答案,而在需要时再找出已求得的答案,这样就可以避免大量的重复计算,节省时间。...

2022-07-31 14:46:10 313

原创 单链表算法题型总结

链表是一种链式存储的数据结构,用一组地址任意的存储单元存放线性表中的数据结构。单链表中的数据是以结点来表示的,每个结点的构成元素(数据元素的映象)+指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据,即单链表中每个节点都包含data域和next域,如下图所示。......

2022-07-30 10:12:47 465

原创 卷积神经网络(CNN)之卷积操作、池化操作、激活函数

前言:卷积神经网络是深度学习算法中一个重要组成部分,在深度学习图像识别技术的应用中起到了关键作用。卷积神经网络和循环神经网络(RNN)都是类似于传统的全连接神经网络(也叫深度神经网络,简称DNN),CNN属于编码了空间相关性的DNN,RNN属于编码了时间相关性的DNN。由于图像任务的不同,CNN的网络层也会有些许变动,但是基本上都会使用到卷积层、池化层以及非线性层。为了加深这方面理论知识的理解,本文将从多方面深入讲解CNN中的卷积操作、池化操作以及激活函数。......

2022-07-28 17:22:31 13366 4

原创 Pytorch(三):可视化工具(Tensorboard、Visdom)

前言:在训练神经网络时,我们希望能够及时了解到网络训练过程中一些关键信息,包括损失曲线、验证集上的准确率以及输入图片各阶段特征的提取情况等,这些信息可以帮助我们掌控网络的整个训练过程。因此,为了更加直观地掌握网络训练过程的各种指标信息,将这些信息进行可视化是一个非常好的选择,下面本文将具体讲解Pytorch中提供的Tensorboard、Visdom这两种可视化工具。..................

2022-07-26 15:40:23 3049

原创 为什么会出现梯度爆炸和梯度消失现象?怎么缓解这种现象的发生?

梯度消失现象在深度神经网络训练过程中表现得尤为突出,随着网络层数的加深,损失在反向传播时梯度在不断减小,导致浅层网络的学习进行不下去,参数得不到有效更新。为什么会出现这种现象呢?下面小编将从神经网络反向传播(BP)原理上揭露出现梯度消失和梯度爆炸现象本质以及如何缓解。.........

2022-07-23 15:53:31 4636

原创 标准化(Normalization)知识点总结

数据标准化就是使数据分布服从均值为0,方差为1的标准正态分布(高斯分布),是深度神经网络中常用的一种手段,常用在激活函数之前。它的使用可以加快模型训练时的收敛速度,使模型训练过程更加稳定,可以起到缓解梯度消失和梯度爆炸,缓解过拟合等作用。常见的标准化操作有4种BatchNormalization(BN)、LayerNormalization(LN)、InstanceNormalization(IN)、GroupNormalization(GN)。下面将详细讲解这4种标准化操作的异同点以及BN的优点。....

2022-07-22 17:10:01 2106

原创 Dropout原理及作用

Dropout是作为缓解卷积神经网络CNN过拟合而被提出的一种正则化方法,它确实能够有效缓解过拟合现象的发生,但是Dropout带来的缺点就是可能会减缓模型收敛的速度,因为每次迭代只有一部分参数更新,可能导致梯度下降变慢。.........

2022-07-21 16:34:19 24312 4

原创 常用损失函数(二):Dice Loss

DiceLoss训练更关注对前景区域的挖掘,即保证有较低的FN,但会存在损失饱和问题,而CELoss是平等地计算每个像素点的损失,当前点的损失只和当前预测值与真实标签值的距离有关,这会导致一些问题(见FocalLoss)。因此单独使用Dice Loss往往并不能取得较好的结果,需要进行组合使用,比如Dice Loss+CE Loss或者Dice Loss+Focal Loss等。......

2022-07-20 10:45:44 33399 12

原创 什么是过拟合、欠拟合现象以及如何缓解?

在讲解之前,小编必须先陈述这样一个客观事实,就是在模型训练过程中,过拟合或者欠拟合现象基本上可以看作是一个必然会发生的事件,因为我们将不同算法模型应用在同一种数据上构建某一类策略时,最终会挑出表现最好的算法模型,无论这个技术复杂与否,这个过程本身就在过拟合。挑出来的算法模型比其它模型更好,很可能是因为它对样本数据内的噪音刻画的更精准,而非发现了一些被其他策略忽视到的真实存在于数据之间的因果关系。总之,过拟合或者欠拟合现象在模型训练过程中是不可避免的,但是可以通过一些方法缓解这种现象的发生。.........

2022-07-18 16:01:06 13808

原创 二叉树(二):算法题型总结

面试中常见的二叉树算法题型总结

2022-07-17 18:24:32 224

原创 二叉树(一):深度优先遍历与广度优先遍历

二叉树是一种非常高效的数据结构,树结构可以高效地查找和搜索语义,比如近邻算法中就用到了树来存储训练数据,大大提高了近邻搜索的效率,又比如电脑的文件管理器,都采用了树结构,通过树查找会变得十分快捷。总之,二叉树这种数据结构的应用非常广泛,能够大大提高搜索效率,本文将全面讲解二叉树结构以及二叉树的相关算法,相信会对大家数据结构与算法的学习产生很大的帮助。...............

2022-07-17 11:12:22 2645 1

原创 【项目实战二】基于模板匹配和形态学操作的信用卡卡号识别(OpenCV+Python)

前言:信用卡卡号识别技术的发展有利于提高银行系统的业务水平和办事效率。相信此次通过学习使用OpenCV中的图像处理方法来实现信用卡卡号识别的项目,能让大家清楚地了解图像处理技术的一般方法与步骤以及如何使用OpenCV库。...

2022-07-16 16:10:45 1009

原创 【总结】工业检测项目中如何选择合适的损失函数

【总结】工业检测项目中如何选择合适的损失函数

2022-07-15 16:56:59 373

原创 【项目实战一】基于人工神经网络ANN的车牌识别

车牌识别技术的发展与推广有利于加强对道路交通的管理,与人民出行安全息息相关。该项目实战非常适合各位读者作为本科毕业设计、课程设计或者其它进行学习,相信对大家会有很大帮助,如果需要完整源码,大家可以在评论区留言,小编会在第一时间提供给你们。最后,非常欢迎大家对本文内容批评指正!......

2022-07-15 15:16:48 1714 22

原创 【排序算法二】归并排序 VS 快速排序

前言:排序算法是入门数据结构预算法知识的基础,本文主要按基本概念到算法原理再到算法实现的学习路线来讲解归并排序算法和快速排序算法,层层递进,环环相扣,非常适合读者学习。此外,如果小编表述的有问题,非常欢迎各位读者在评论区留言与批评指正,谢谢!目录1、归并排序算法1.1基本概念1.2算法原理1.3算法实现2、快速排序算法2.1基本概念2.2算法原理2.3代码实现 .........

2022-07-14 10:31:28 495

原创 【排序算法一】3大经典的排序算法:冒泡排序、选择排序、插入排序

前言:冒泡排序、选择排序、插入排序是3大最基础的排序算法,其实算法只要有一个清晰的思路,那么算法的代码实现就会非常简单、有逻辑。下面,小编带领大家去分析一下怎样去理解这三种排序算法的思路才更能深刻掌握它们,另外,非常欢迎读者对文章内容进行批评指正,谢谢!目录1、冒泡排序1.1算法思路1.2代码实现2、选择排序2.1算法思路2.2代码实现3、插入排序3.1算法思路3.2代码实现 .........

2022-07-13 10:07:42 628

原创 Pytorch(一):动态图机制以及框架结构

前言:Pytorch是目前学术界使用较为广泛的一种深度学习框架,要想能够熟练使用这个工具,就需要对它有一个全面系统的了解,本专栏就是为了带领大家系统地梳理Pytorch工具中的一些重要知识点,欢迎各位读者批评指正。目录1、Pytorch的动态图机制 2、Pytorch结构分析2.1 torch2.2 torchvision .........

2022-07-12 21:37:24 3091

原创 Pytorch(二):数据读取机制(DataLoader、DataSet)与图像预处理模块(transforms)

前言:Pytorch是目前学术界使用较为广泛的一种深度学习框架,要想能够熟练使用这个工具,就需要对它有一个全面系统的了解,本专栏就是为了带领大家系统地梳理Pytorch工具中的一些重要知识点,欢迎各位读者批评指正。目录1、Pytorch的数据读取机制 1.1数据 1.2 DataLoader 1.3 Dataset2、图像预处理模块(transforms)2.1图像变换2.2图像裁剪2.3图像翻转与旋转3、用Pytorch构造自己的数据集(代码实现)3.1准备数据 3.2读取数据并进行图像预处理

2022-07-12 14:05:14 2366

原创 【排序算法三】堆结构与堆排序算法

堆数据结构与堆排序算法

2022-07-11 20:44:09 512

原创 常用损失函数(一):Focal Loss

Focal Loss原理及代码实现

2022-07-11 16:15:31 3642 1

原创 如何在VS2019中配置OpenCV(C++)?

如何在Visual Studio 2019中配置opencv(C++)?

2022-07-10 15:38:44 8041 4

空空如也

空空如也

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

TA关注的人

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