- 博客(148)
- 收藏
- 关注
原创 【OpenCV基础】第十五课:边缘处理
图像卷积时边界像素不能被卷积操作,原因在于边界像素没有完全跟kernel重叠,所以当使用3×3卷积核时有1个像素的边缘没有被处理,使用5×5卷积核时有2个像素的边缘没有被处理。此时我们便需要处理下图像的边缘。
2025-04-05 14:50:51
204
原创 【深度学习基础】第四十一课:RNN应用之语言模型
例如我们需要构建一个语音识别系统。随机输入一段语音,这段语音听起来像是“The apple and pair salad.”或者是“The apple and pear salad.”,通过人为判断,很显然后者更符合逻辑。而对于一个语言模型来说,其可以算出每句话出现的可能性。一个好的语言模型计算出的第二句话出现的概率应该大于第一句话出现的概率。
2025-04-04 16:30:36
840
原创 【数学基础】第十七课:奇异值分解
对于任何一个矩阵Bm×n,存在Pm×mQn×n,使得BPDQT。其中,Dm×n是一个只有对角元素不为零的矩阵。矩阵Pp1p2...pm的大小为m×m,列向量p1p2...pm是BBT的特征向量,也被称为矩阵B的。矩阵Qq1q2...qm的大小为n×n,列向量q1q2...qm。
2025-04-04 16:29:03
892
原创 【深度学习基础】第三十九课:序列模型
定义在【深度学习基础】序列模型相关博客中常用的符号。假设我们构建一个序列模型用于识别句子中人名的位置。110110000(对应单词位置上为1则为人名,为0则不是)。用xtx^{<t>}xt表示x中的第t个单词,例如x1x^{<1>}x1表示单词“Harry”。使用TxT_xTx表示x的长度,本例中有Tx9T_x=9Tx9。同样的,用yty^{<t>}yt表示y中的第t位,有Ty9T_y=9Ty9。更进一步的,Xit。
2025-04-03 21:27:02
943
原创 【算法基础】【排序】冒泡排序
冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行,直到没有元素再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
2025-04-02 22:03:17
276
原创 【OpenCV基础】第十四课:自定义线性滤波
卷积核也常被称为“算子”。假设有原图如下:100−10−110👉−1−2−1000121−101−202−1010−10−14−10−10。
2025-04-01 21:44:04
867
原创 【深度学习基础】第三十七课:神经风格迁移
以上便是神经风格迁移的两个例子。在本文中,我们将用C表示原始图像,S表示要迁移的图像风格,G表示最终合成的图像。假设我们用隐藏层lll来计算内容代价。使用一个预训练过的卷积神经网络,例如VGG网络。alCalGalCalG分别表示C和G在层lll的激活函数值。如果alCalGalCalG比较接近,则可认为C和G有着相似的内容。lll通常会选在网络的中间部分,不会过浅也不会过深。
2025-04-01 21:42:50
735
原创 【论文阅读】Gradient-Based Learning Applied to Document Recognition
传统的模式识别(traditional pattern recognition)通常分为两步:即:1)从原始数据中提取特征;2)用提取的特征训练分类器。在LeNet-5发表的那个年代,提取特征需要大量的先验知识,并且需要人为设计,这是一个非常耗时耗力的工作。除此之外,分类器的精度也很大程度上受到所提取的特征的影响。因此,那个时候的论文大都在讨论不同特征集之间的优劣。随着时代的发展,因为数据量的增多和机器学习技术的进步等原因,使得多层神经网络可以用来解决模式识别问题,例如语音或手写文字的识别。
2025-04-01 21:39:02
1350
1
原创 【数学基础】第十六课:主成分分析
是在机器学习以及统计学领域内常用的一种线性降维方法。其可以有效地降低数据维度,比如说:将原本高维的数据(N维)重新以一个相对低维的形式表达(K维,且KN理想上只要该K维的表征(representation)具有代表性,能够抓住原来N维数据的大部分特性,并且没有损失过多信息,我们便可以用K维来代表之前的N维。
2025-03-31 19:40:56
811
原创 【Tensorflow基础】第七课:卷积神经网络的实现
卷积神经网络的相关介绍请戳👉:【深度学习基础】第二十八课:卷积神经网络基础。先介绍可能会用到的API。用于构建网络的卷积层,这里的指的是二维卷积核,也是最为常用的。API详细参数见下:部分常用参数解释:这里额外多说一点关于参数的注意事项。参数除了用字符串或者指明其方式外,还可以用具体的数值设置其具体补充的行数(或列数)。例如在格式下,可以通过如下方式赋值:即的每个维度两边都需要进行padding。而维度和,通常不进行padding。然后我们再来说说和有什么区别。在【深度学习基础】第二十八课:卷积神经网
2025-03-30 19:34:38
613
原创 【算法基础】【排序】选择排序
选择排序(selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。
2025-03-29 21:56:33
168
原创 【深度学习基础】第三十四课:YOLO算法
本部分来说说在YOLO算法中如何定义bounding box,即bxbybhbwbxbybhbw的值。我们约定每一个格子左上角的坐标为00(0,0)00,右下角的坐标是11(1,1)11其中,bxbyb_x,b_ybxby的范围在0到1内,而bhbwb_h,b_wbhbw则有可能大于1。
2025-03-29 21:55:13
994
原创 【C++基础】第十九课:多维数组
严格来说,C++语言中没有多维数组,通常所说的多维数组其实是数组的数组。//大小为3的数组,每个元素是含有4个整数的数组//将所有元素初始化为0按照由内而外的顺序阅读此类定义有助于更好地理解其真实含义。对于二维数组来说,常把第一个维度称作行,第二个维度称作列。
2025-03-29 21:50:37
382
原创 【OpenCV基础】第十三课:基本阈值操作
👉阈值二值化(threshold binary):dst(x,y)={maxVal,if src(x,y) > thresh0,otherwisedst(x,y) = \begin{cases} maxVal, & \text{if src(x,y) > thresh} \\ 0, & \text{otherwise} \end{cases}dst(x,y)={maxVal,0,if src(x,y) > threshotherwise👉阈值反二值化(threshold binary inverte
2025-03-28 21:20:06
683
原创 【Python基础】第十五课:处理时间格式资料
通过,并不是字符串或者数字格式。🚩python中时间日期格式化符号(🔗%y%Y%m%d%H%I%M%S%aWed%AWednesday%bAug%BAugust%c%j%pPM%U%w%W%x08/19/20%X22:28:10%Z%%
2025-03-28 21:15:44
623
原创 【深度学习基础】第三十课:残差网络ResNets
计算资源的消耗。模型容易过拟合。梯度消失/梯度爆炸问题的产生。问题1通过提升硬件即可解决;问题2可以采用正则化方法,例如添加正则项、使用dropout等;问题3可以通过BatchNorm避免。既然这些问题都可以解决,并且从理论上来说,网络越深,效果应该越好,那么我们一味的加深网络深度是否就可以获得更好的效果呢?答案是否定的。随着网络层数的增加,网络发生了退化(degradation)
2025-03-25 20:54:39
795
原创 【OpenCV基础】第十二课:图像的缩放
一个图像金字塔由一幅图像所衍生出的一系列不同分辨率的图像组成,最底下一张图像尺寸最大,最上方的图像尺寸最小,在空间中,形似金字塔。就是把同一张图像在不同的参数下做高斯模糊之后的结果相减,得到的输出图像。想要获取最新文章推送或者私聊谈人生,请关注我的个人微信公众号:⬇️x-jeff的AI工坊⬇️。拉普拉斯金字塔是一个上采样的过程,是高斯金字塔的逆过程。高斯不同是图像的内在特征,在灰度图像增强、角点检测中经常用到。⚠️使用时需要注意生成的图像是原图在宽与高各缩小。得到的上一层图像只有当前层的。
2025-03-24 20:32:01
695
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人