计算机视觉可以解决的问题:
1. 单一对象
1)分类问题
2)分类+定位【实际应用场景中不常见】
3)语义分割(将图片中的每一个像素分为不同类并highlight)【同一类之间不做区分】
2. 多对象
1)目标检测 【每个物体都包含分类和定位】
2) 实例分割(将图片中的不同对象分类并highllight)【同一类之间做区分】
3)关键点检测(检测一系列关键点,例如人体骨骼关键点)
机器学习和神经网络(简介)
定义: 数据驱动的程序,通过学习到的经验解决特定问题
机器学习大体可以分为:
1. 监督学习
2. 无监督学习
3. 强化学习
4. 自监督学习
要点
机器学习的关键是特征提取,通过将信息参数化定义特征。根据特征可以对数据进行分类,一般有线性分类器和非线性分类器。线性和非线性的区别就在于权重参数的数量,可类比n元多项式。
机器学习分类的全流程为:训练 - 验证 - 应用 (数据集之间一定不能存在包含关系)
神经网络的训练是在多次的前向和反向传播的过程中最小化损失函数中进行的。
神经网络的优化器选择一般选择拥有两个动量的Adam。
过拟合可通过正则化来避免。
CNN 卷积神经网络基本流程
输入矩阵和卷积核做数量积得到标量,存在输出层中,一般输出层会比输入层小。其中卷积核是不变的,不同卷积核有不同的数据提取功能。
边缘填充(Padding)
由于输出层的size小于输入层的size,部分信息会被忽略。使用边缘填充可以有效地解决(可以填充0或相邻数值)。
激活函数
非线性的激活函数使得拟合的过程中可以非线性地拟合。
池化层(Pooling)
可以有效减少特征值,但有可能忽略部分信息。
全连接层(Fully Connected Layer)
最后一层使用全连接层来连接线性分类层
此笔记基于OpenMMLab 实战训练营课程,仅用于学习交流。