首先要了解一下人工智能,机器学习和深度学习的关系:人工智能>机器学习>深度学习。

而设计程序的基本步骤为:1.收集数据并给定标签;2.设计分类器;3.测试。

所谓人工智能就是利用计算机来代替人力来完成一些需要大量劳动力或者高难度的任务,按照目前学习内容来说,多是利用神经网络来对图像进行一个处理,目前最受大众接受的图像处理方法,则是卷积神经网络(CNN)。

下面多是一些人工智能图像处理方面的一些知识点和发展过程。

计算机视觉,发展起来的日子并不长,早在2012年之前,深度学习一直没有得到重视,在2012年,深处美国的李飞飞提出了ImageNet数据集,呼吁全美大学生为数据集做标签,之后提出了一项相关比赛,而在比赛中,利用神经网络来进行比赛的参赛选手,不仅获得了冠军,并且罕见的拉开了冠军和亚军之间的分数差距,之后便推动了深度学习的发展,年仅三年,在2015年深度学习计算机视觉的判断结果就超过了人类视觉,随后在2017年,李飞飞停止了比赛,开始了其他方面的研究。

---------------------------------------------------------分割线--------------------------------------------------------------

在深度学习的发展过程中并不是一蹴而就,凭空就知道计算机视觉中的CNN是好用的,而是从简单的方式一步一步优化来的。而最早的图像处理方法叫做K近邻(周围什么多,则是什么)。以方块和三角两类点作为数据:

根据图中所示,在圆圈中三角的数量多于正方形,说明圆圈是三角的概率更大,因此就会将其判断为三角。他的基本流程是:1.计算已知类别数据集中的点与当前点的距离;2.按照距离进行排序;3.选取与当前点距离最小的K个点;4.确定前K个点所在类别出现的概率;5.返回前K个点出现频率最高的类别作为当前点的预测分类。

然而这种方法不太适用于计算机视觉方面,因为他是将全体像素点进行检测,不能区分主体和背景,因此分类效果并不好。

------------------------------------------------------------------------------------------------------------------------------

之后便逐步进行修改,主要引入的是高等代数中矩阵的内容。

首先介绍的便是线性函数,又叫做得分函数。通过计算每个类别中的得分,来进行分类。具体公式为f(x,W)=Wx+b,x是预处理后的像素点条(纵向矩阵),W为权重参数(横向矩阵),b是偏执参数。其中,有多少个类别,就有多少个W,经过计算后得出一个数,则是不同类别的得分。由于不同的情况,权重参数可能并不是时时刻刻都是最优的,因此引入了损失函数。

--------------------------------------------------------------------------------------------------------------------------------

损失函数基本公式为:      。其中Sj表示其他类别得分,Si表示正确类别,1是容错。当Li<0,Li=0,损失为0。当Li0时,损失越小,结果越准确。

但既然是数值计算,就有可能出现不同数据结果相同的情况。例如输入x[1,1,1,1],M1 w1=[1,0,0,0],M2 w2=[0.25,0.25,0.25,0.25],WT1=WT2=1。从这个例子中可以看出来,两个不同的类别的权重参数计算的结果是一样的,但是对比两个权重参数来说,w2对图像信息的提取更为全面,而w1更注重于一小部分,称之为过拟合。目前处理过拟合的方法多用以下两种:1.正则化惩罚项R(W);2.DROP-OUT。

正则化惩罚项的具体使用方法为:损失函数=数据损失+λ*正则化惩罚项,R(W)的具体数值为所有权重相加,λ的取值控制着过拟合程度,λ越大,过拟合程度越小,λ越小,过拟合程度越大。

DROP-OUT的具体使用方法为随机去掉部分神经元,每次训练都不同,来降低过拟合风险。

---------------------------------------------------------------------------------------------------------------------------------

在类别分类中,虽然计算出了得分值,但是我们更倾向于用概率来表示更贴近哪个类别,因此不得不提到一个东西——softmax分类器,它的作用便是将得分值转换为概率值。

上图以猫,车和青蛙来演示转换过程。首先来放大差距,由第一列转换为第二列,之后再对其进行归一化,即将其变成小数,限制在0~1之间。具体措施就是分别比上第二列总和,再对其求一次对数, (随意规定底数即可),当概率越接近1,说明此类别的得分越大,Li的结果越接近0,损失越小。这种方法被叫做交叉熵损失函数

Ps:以上过程均是从输入一步一步往前走,称为前向传播,而利用损失函数优化权重参数时,是从前往后返回一组数值,称为反向传播。此处提到三个单元:加法门单元,MAX门单元,乘法门单元,写的时候忘了是什么了,先空在这里,想起来再补上。

---------------------------------------------------------------------------------------------------------------------------------

在程序中,还存在一种函数,叫做激活函数,具体作用没有细致了解明白,先不做讲解,只知目前常用激活函数有三种:1.sigmoid,2.Relu,3.Tanh。Sigmoid函数目前已经不用了,百分之九十多在用Relu。原因大致如下:

Sigmoid函数中存在梯度消失的情况,当x过大或者过小的时候图像趋于平缓,梯度变化小。Relu函数好计算且不存在梯度消失。

-----------------------------------------------------分割线-------------------------------------------------------------------

以上内容本人根据观看B站视频自己所写,相关图片取自百度和B站UP主人工智能分享官的视频,侵告删。

计算机视觉学习笔记(一)相关推荐

  1. 图像坐标:我想和世界坐标谈谈(A) 【计算机视觉学习笔记--双目视觉几何框架系列】

    玉米竭力用轻松具体的描述来讲述双目三维重建中的一些数学问题.希望这样的方式让大家以一个轻松的心态阅读玉米的<计算机视觉学习笔记>双目视觉数学架构系列博客.这个系列博客旨在捋顺一下已标定的双 ...

  2. 三元组法矩阵加法java_计算机视觉学习笔记(2.1)-KNN算法中距离矩阵的计算

    本笔记系列以斯坦福大学CS231N课程为大纲,海豚浏览器每周组织一次授课和习题答疑.具体时间地点请见微信公众号黑斑马团队(zero_zebra)和QQ群(142961883)发布.同时课程通过腾讯课堂 ...

  3. 【西蒙计算机视觉学习笔记】非线性回归模型

    背景:最大似然法学习的简单的线性回归模型的第二个缺点-- 更正假设:对观测数据x进行非线性变换,使得满足如下(f[·]代表一个非线性变换)-- 重新建模.学习和推理: 最大似然方法: 建模: 构建关于 ...

  4. 卷起来了,写了一套计算机视觉学习笔记(20G/代码/PPT/视频)

    AI 显然是最近几年非常火的一个新技术方向,从几年前大家认识到 AI 的能力,到现在产业里已经在普遍的探讨 AI 如何落地了. 我们可以预言未来在很多的领域,很多的行业,AI 都会在里边起到重要的作用 ...

  5. 熬了几个大夜,学完一套985博士总结的计算机视觉学习笔记(20G高清/PPT/代码)...

    AI 显然是最近几年非常火的一个新技术方向,从几年前大家认识到 AI 的能力,到现在产业里已经在普遍的探讨 AI 如何落地了. 我们可以预言未来在很多的领域,很多的行业,AI 都会在里边起到重要的作用 ...

  6. OpenCV3 和 Qt5 计算机视觉 学习笔记 - 图像转换

    插件界面 void Transform_Plugin::setupUi(QWidget *parent) {ui = new Ui::PluginGui;ui->setupUi(parent); ...

  7. 计算机视觉学习笔记(四)homography 单应性矩阵的理解及求解

    单应性矩阵的理解及求解 1. 齐次坐标(Homogeneous Coordinate) 一幅2D图像上的非齐次坐标为(x,y),而齐次坐标为(x,y,1),也可以写成(x/z,y/z,1)或(x,y, ...

  8. (七)立体标定与立体校正 【计算机视觉学习笔记--双目视觉几何框架系列】

    七.立体标定与立体校正 这篇博文中,让玉米和大家一起了解一下,张氏标定是怎样过渡到立体标定的?在这里主要以双目立体视觉进行分析.对于双目立体视觉,我们有两个摄像头.它们就像人的一双眼睛一样,从不同的方 ...

  9. 张正友标定法 【计算机视觉学习笔记--双目视觉几何框架系列】

    三.致敬"张正友标定" 此处"张正友标定"又称"张氏标定",是指张正友教授于1998年提出的单平面棋盘格的摄像机标定方法.张氏标定法已经作为 ...

最新文章

  1. 根据 JS 自动定义页面缩放比(根据分辨率进行适配)
  2. 计算机pe开启网络模块,组装的电脑进入PE是哪个键
  3. php7.0 百度百科,PHP 7.0.10正式发布
  4. ffmepg 命令提取音视频数据
  5. 连接池超时配置_HttpClient连接池的一些思考
  6. html层次选择器例题,详解强大的jQuery选择器之基本选择器、层次选择器
  7. python -day16-模块介绍
  8. 如何设置IIS实现无扩展名重写
  9. matlab演化博弈仿真
  10. cadence的工艺角仿真、蒙特卡洛仿真、PSRR
  11. 百度自然语言接口调用
  12. java 工作业绩_个人年度工作总结报告java
  13. iPhone像素点和常用控件尺寸
  14. 论文解读:SuperPoint: Self-Supervised Interest Point Detection and Description
  15. 【优化】梯度下降 收敛性 证明
  16. 网络拓扑测绘之海底光缆拓扑
  17. 移动游戏性能优化通用技法
  18. 《Mysql是怎样运行的》读书笔记二
  19. Android 下载网络图片保存到本地
  20. 工作流基本特性及说明

热门文章

  1. 高质量的外链怎么去挖掘?
  2. STM32 DSP库
  3. 跳跃游戏 Jump Game 分析与整理
  4. vue3中Provide/Inject的使用
  5. 调音台使用基础-通道条、信号流简介
  6. Selenium:动态页面模拟点击
  7. 医疗健康大数据基础知识
  8. 深入讲解Android!最全的BAT大厂面试题整理,威力加强版
  9. 固态硬盘原理与ASS SSD Benchmark
  10. Linux---冯诺依曼体系结构和操作系统