
计算机视觉保姆级教程
文章平均质量分 86
董董灿是个攻城狮
阿里云社区专家博主,AI一线攻城狮,出版技术书籍《AI视觉入门与调优》。读论文,写代码,写文章,做AI技术辅导(有需求私聊~)。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
利用 Resnet50 微调图像分类模型,完成宠物数据集的识别,附源代码。。
微调其实很简单,就是用一个已经预训练过的模型(预训练模型),稍微调整一下模型中某些层的权值,使其可以在新的任务上表现的更好。ResNet 本身是一个深度卷积神经网络模型,这个模型在 ImageNet 数据集(包含 1000 种物品)上已经训练过了。所以,我们可以认为,这个模型已经学会了图像识别的基础技能,比如怎么识别图像的边缘、颜色和形状等。如果我们想用它来进一步识别宠物,其实不用从零开始训练,在这个预训练模型的基础上进行微调,才是一个更好地选择。原创 2025-03-18 15:27:10 · 563 阅读 · 0 评论 -
利用 Resnet50 重新训练,完成宠物数据集的识别,附源代码。。
ResNet50 是一个深度卷积神经网络,包含 50 层,设计用来处理图像分类任务。它在 ImageNet 数据集上表现优异,能识别 1000 种物体。我们今天的目标是重新训练它,让它学会识别新的类别——37 种宠物。选择 ResNet50 的理由很简单——成熟的结构,它已经被广泛验证,适合大多数图像分类任务。开箱即用:PyTorch 提供了现成的实现,省去自己设计的麻烦。高效性:即使从零开始训练,也能得到不错的结果。下面,我们将训练过程拆成几个关键步骤,逐步讲解。原创 2025-03-18 15:16:58 · 1455 阅读 · 0 评论 -
023:到底什么是感受野?
本文为合集收录,欢迎查看合集/专栏链接进行全部合集的系统学习。合集完整版请查看。在前面介绍卷积算法时,一直在强调一个内容,那就是卷积算法的运算过程是——卷积核在输入图像上滑动扫描的过程。在每一次扫描时,可以把卷积核看做一个窗口,透过这个窗口可以看到的输入图像的范围,就被称为感受野,也就是卷积核在每一次扫描过程中覆盖到的图像视野。这个概念很好理解,但是有必要对这个概念再深入介绍一下,因为感受野这一概念,和很多神经网络结构和特性都有着千丝万缕的关系。原创 2025-01-20 21:34:20 · 900 阅读 · 0 评论 -
022、什么是卷积的特征图?
特征图,也称 Feature Map,指的是在卷积神经网络(CNN)中,通过卷积这一操作从输入图像中提取到的特征图。上一节用动态示意图介绍了卷积算法的运算大致过程。这里再重新描述一下运算过程:卷积核在输入图像上进行扫描,每次扫描时,将卷积核与输入图像中的数据进行逐元素相乘,并将相乘之后的结果进行相加,然后输出,这个输出就是 卷积的输出特征图。特征图描述了输入数据中不同位置的不同特征是否被激活。原创 2025-01-20 21:25:43 · 458 阅读 · 0 评论 -
021:为什么是卷积呢?
本文为合集收录,欢迎查看合集/专栏链接进行全部合集的系统学习。合集完整版请查看。卷积算法非常重要,但是为什么是卷积呢?在进一步学习之前,先看一看神经网络(或者叫一个AI模型)是如何完成一张图片的推理的。你肯定听说过阿尔法狗大战柯洁的故事,当时新闻一出,不知大家什么反应,反正我是被震撼到了:AI 模型竟然学到了那么多的棋谱,而且人类在AI的面前毫无还手可言。但是,你有没有想过一个问题:阿尔法狗学会了下棋,它下棋的记忆是什么样的呢,存在什么地方呢?原创 2025-01-20 21:19:01 · 529 阅读 · 0 评论 -
020:为什么 Resnet 如此重要?
本文为合集收录,欢迎查看合集/专栏链接进行全部合集的系统学习。合集完整版请查看。Resnet模型的重要性,上一节大概介绍了一下。可以从以下两个方面来有所体现:第一是Resnet广泛的作为其他神经网络的backbone;第二是Resnet是AI芯片厂家对标性能时,在视觉领域尤其是图像分类任务中的首选网络。下面针对这两点再补充介绍一下。原创 2025-01-19 22:22:07 · 894 阅读 · 0 评论 -
019:什么是 Resnet50 神经网络
Resnet神经网络是何凯明在《DeepResidualLearningforImageRecognition》论文中首次提出的。Resnet50模型之所以叫这个名字,是因为模型的核心思想就藏在名字里。名字可以拆分为:Res+net+50,Res是Residual(残差)的缩写,50指的是整个网络中有50个卷积层。Resnet有很多系列,比如Resnet18,Resnet101等,后面跟的数字代表的是神经网络中的卷积层的数量。原创 2025-01-19 21:58:45 · 1554 阅读 · 0 评论 -
018:实战:从零开始完成手写数字识别训练和推理
简答来说,就是搭建了一个卷积神经网络,可以完成手写数字的识别。用笔在纸上写一个数字6,这个神经网络就能认识出这张图片是一个6,写一个数字8,它就识别出来这是个8,就这么简单。之所以说该任务简单,是因为它的标签只有0-9这10个数字的十种分类,相比于resnet等网络在ImageNet上1000个实际物品的分类(比如汽车、高楼等),确实小很多。原创 2025-01-19 14:01:16 · 1398 阅读 · 0 评论 -
017:推理框架为什么可以加速AI推理?
本文为合集收录,欢迎查看合集/专栏链接进行全部合集的系统学习。合集完整版会放在我的星球上,。前几节介绍了推理和训练的大致过程,以及训练过程中要用损失函数来作为评判预测值和真实值差距的标准。在很多时候,尤其是训练大型AI模型的时候,从开始训练到训练完成是要经过很长的时间。如果训练一轮消耗的时间增加一分钟,那么训练1万轮便会增加更多的时间,而实际上很多大型的模型训练次数可能要远高于这个轮次。所以说一个模型的运行性能在训练过程中会显得很重要。原创 2025-01-17 20:03:54 · 649 阅读 · 0 评论 -
016、什么是损失函数
损失函数是用来衡量模型预测结果与真实标签(ground truth)之间差别的函数。一般而言,损失函数会接收两个输入,一个是本轮的预测值,另一个是标签的真实值。通过一定的算法来将预测值和真实值之间的差别计算出来。损失函数的输出被定义为损失值(loss值),Loss值越大,说明预测值与真实值之间的差别越大。因此神经网络在训练时,每轮训练的目的就是降低loss值,直到将loss值降低到为零,或者接近零。如此一来就说明模型训练收敛,训练过程也就结束了,这便是损失函数的作用。原创 2025-01-16 10:17:14 · 347 阅读 · 0 评论 -
015: 深度学习之正向传播和反向传播
首先,在神经网络最后的输出层后面,都会有一个损失函数,该函数用来评判神经网络输出的结果与真实结果的接近程度。预测结果与真实结果越接近,那么损失函数的输出值就越低,如果损失函数输出值为0,那么说明预测结果和输出结果完全一致。假设,AI模型在第一次训练时,神经网络里的参数权重都是随机值(实际情况也是这样),那么基本上第一次的预测结果与真实结果差着十万八千里。比如真实值是10,而预测结果是1000,此时预测结果比真实结果高了很多,那我们就希望模型的参数进行调整,使得预测的结果继续变小。原创 2025-01-15 10:11:32 · 1094 阅读 · 0 评论 -
014:一文搞懂深度学习之推理和训练
本文为合集收录,欢迎查看合集/专栏链接进行全部合集的系统学习。合集完整版请参考。推理和训练是深度学习中两个非常重要的概念。很多初学者可能不太清楚,但是很好区分也很好理解。如果我们把一个神经网络模型比作一个人的话,那么训练过程就相当于初中、高中的学习, 而推理过程相当于去参加高考。初中高中阶段,我们通过学习大量的知识来训练自己的大脑。在去参加高考的过程中,我们已经不需要去学习新的知识,而是利用已训练好的大脑去解决问题。神经网络的推理和训练也是这个过程。原创 2025-01-13 21:21:04 · 399 阅读 · 0 评论 -
013:深度学习之神经网络
本文为合集收录,欢迎查看合集/专栏链接进行全部合集的系统学习。合集完整版请参考。深度学习是机器学习中重要的一个学科分支,它的特点就在于需要构建多层且“深度”的神经网络。人们在探索人工智能初期,就曾设想构建一个用数学方式来表达的模型,它可以模拟人的大脑。大脑我们都知道,有很多神经元,每个神经元之间通过突触链接。神经网络的设计就是模仿了这一结构。只不过,在数学上,将每一个神经元换成了一个个的算法,比如卷积算法。突触对于神经元的激活则换成了激活函数,比如Relu激活函数。原创 2025-01-12 12:07:24 · 1169 阅读 · 0 评论 -
012:一文搞懂人工智能、机器学习、深度学习的关系
本文为合集收录,欢迎查看合集/专栏链接进行全部合集的系统学习。合集完整版请参考。很多年前,我曾经听一个机器学习的公开课,在Q&A环节,一个同学问了老师一个问题“机器学习和深度学习是什么关系”?老师先是没有回答,而是反问了在场的同学,结果问了2-3个,没有人可以回答的很到位。后来老师解释“机器学习和深度学习并不是姊妹关系,而是包含与被包含的关系”。在开始进入深度学习部分的内容之前,有必要稍微解释清楚人工智能、机器学习、深度学习这三个概念,因为这三个概念,很多从业者也很难说清楚,更别提初学者了。原创 2025-01-12 11:56:13 · 717 阅读 · 0 评论 -
011:利用大津算法完成图片分割
本文为合集收录,欢迎查看合集/专栏链接进行全部合集的系统学习。合集完整版请参考。上一篇文章介绍了大津算法可以完成图片的前景和背景分割。总的来说,大津算法的核心思想就两个:数学上,通过确定一个像素阈值,来将图片中的像素分为两类,一类前景、一类背景,然后计算两类图像的类间方差,使方差最大。工程实现上,为了确定像素阈值,采用遍历的方法来实现。图像分割实战下面通过一个python代码,利用大津算法来实现对一张图片的分割。原创 2025-01-11 19:16:11 · 463 阅读 · 0 评论 -
010:传统计算机视觉之大津算法初探
在图像处理和计算机视觉中,"前景"和"背景"是指图像中的两个主要部分。前景:前景是图像中引起人们兴趣或希望被重点关注的区域,通常指图像中的主要目标,或者在图像处理中你想要从图像中提取或识别的对象。背景:简单理解就是除了前景之外的其余图像区域,作为陪衬的、通常是图像中次要的区域。举个例子,上述图片一只猫在一个花园中,那么照片中的猫就是前景,而周围的花园景色就是背景。原创 2025-01-09 09:58:34 · 1155 阅读 · 0 评论 -
009:传统计算机视觉之边缘检测
边缘检测是通过一些算法来识别图像中物体之间或者物体与背景之间的边界,也就是边缘。图像边缘通常是图像中灰度变化显著的地方,标志着不同区域的分界线。在一张图像中,边缘可以是物体的实际边界,也可以是纹理、颜色或亮度等特征变化比较明显的位置。边缘检测有助于提取图像的结构信息,是许多计算机视觉和图像处理任务的基础,例如物体识别、图像分割和目标跟踪。比如下面这张图片,我用红笔粗略的画出了一些物体的边缘,猫耳朵和背景很明显的边缘,椅子和背景以及椅子和猫咪的边缘等。原创 2025-01-04 13:46:32 · 1043 阅读 · 0 评论 -
008:传统计算机视觉之高斯滤波实战
本文为合集收录,欢迎查看合集/专栏链接进行全部合集的系统学习。合集完整版请参考。本节一起绘制一个可视化的高斯滤波器,同时对一个彩色图像增加高斯噪声,最后通过一个高斯滤波器对图像进行降噪处理。就像上节说的那样,滤波不是学习重点,下面通过实操了解下原理即可。原创 2024-12-31 09:25:37 · 399 阅读 · 0 评论 -
007:传统计算机视觉之高斯滤波初探
本文为合集收录,欢迎查看合集/专栏链接进行全部合集的系统学习。合集完整版请参考。这一节在上一节均值滤波的基础上,再进阶一下,了解一下什么是高斯滤波。原创 2024-12-30 09:42:58 · 389 阅读 · 0 评论 -
006:传统计算机视觉之均值滤波初探
估计在很多场合你或多或少都听说过滤波的概念。图像滤波是图像处理中最常见的一种操作,它的主要目的是改变图像中的某些特征,比如去除图像中的噪声。滤波操作的是通过一定的数学算法来完成的,最常见的滤波方式包括均值滤波、中值滤波和高斯滤波。从名字就可以看出,均值滤波是取一些像素值的平均值作为滤波的输出,中值滤波便是取一些像素的中值作为滤波后的输出。高斯滤波就稍微复杂一些,人们特意设计了一个符合高斯分布的滤波器,完成对图像像素的高斯滤波运算。以均值滤波为例,它是取图像中的哪些像素值来计算平均值呢?原创 2024-12-29 22:18:53 · 288 阅读 · 0 评论 -
005:安装 python 和 OpenCV
OpenCV 是一个被广泛使用的开源计算机视觉库,它提供了大量的传统图像 处理算法和基于深度学习的计算机视觉算法,以及用于图像和视频处理的方法。OpenCV 的主要核心算法使用 C++ 编写,并且对外封装了 C++ 和 Python 语 言的 API,方便调用。原创 2024-12-28 23:10:33 · 526 阅读 · 0 评论 -
004:对于图像格式,除了 RGB 你还需要知道 YUV 呐
本文为合集收录,欢迎查看合集/专栏链接进行全部合集的系统学习。合集完整版请参考。描述了 RGB 这种彩色图像表示,这一节我们再看另一种图像表示:YUV 格式。本文仅做了解即可:YUV 和 RGB 不同,区别主要在于颜色信息的存储和传输上。原创 2024-12-27 23:32:27 · 1175 阅读 · 0 评论 -
003:如何理解 CNN 中的 RGB 图像和通道?
本文为合集收录,欢迎查看合集/专栏链接进行全部合集的系统学习。合集完整版请参考。在灰度图一节的最后,给出了一个由彩色图片转成灰度图的示例,并且通过获取了图片的格式:彩色图片获取到的格式为 RGBA,灰度图为L。这一节介绍一下 RGB 图片以及通道的概念。原创 2024-12-27 09:44:13 · 1491 阅读 · 0 评论 -
002:计算机视觉中的色彩与灰度
中,解释了像素是计算机视觉任务中的原材料。很多图像处理任务以像素的局部性为基础,在不同尺度下完成图像特征的提取,这些特征,小则为图像细节,大则为图像轮廓。现在继续了解一种十分简洁但很高效的图像表示——灰度图,灰度图是一种只包含亮度信息而不包含颜色信息的图像。在灰度图中,每个像素的亮度通过一个灰度级别来表示,通常用整数值表示,范围从0(黑色)到 255(白色)。这里解释一下为什么是 0 - 255。因为任何数据在计算机中都是以数值的形式存储的,不论是图像还是音频。原创 2024-12-25 09:40:16 · 409 阅读 · 0 评论 -
001:AI 视觉迈出第一步,通过了解像素来完成
本文为专栏合集收录,欢迎你订阅合集学习。完整版请。原创 2024-12-24 09:58:35 · 379 阅读 · 0 评论 -
我所认识的计算机视觉
本文为《AI视觉入门专栏(免费版)》合集收录,欢迎你订阅合集学习。完整版本请(查看这里)[在本专栏最开始的2-3篇文章,我会描述一下计算机视觉的背景概念之类的内容,方面后面阅读和理解。你肯定听说过计算机视觉(compute vision, CV)这个词,在未来它可能会是一种生活方式,也可能是很多行业的发展方向。原创 2024-12-24 09:33:45 · 383 阅读 · 0 评论