首页 AI学术青年与开发者社区

计算机视觉基础入门课程(从算法到实战应用)

开课时间:所有课时已更新完成,可随时开始学习
开课时长:24个课时,12次课
机器学习 基础入门
会员免费
现价:¥699.00
原价:¥999.00

  开通会员,立省699元 立即开通

  当前课程,会员领券立减59元>>

该课程已关闭

图像分类:

1. 目标

2. 挑战:光照变化、形变、尺度、类内变化

3 定义:  y=f(x)

4 预测函数指标:泛化能力

  训练集和标签

 如何提高泛化能力? 图像特征

5. 训练和测试流程

    输入图像-->提取特征--->SVM分类器--->标签输出

6. 手工图像特征:

      颜色、全局形状、局部形状、纹理

    

7. 图像特征:  SIFT、HoG、LBP、Harr

8 分类工具:SVM

       以Iris兰花分类为例

9 CNN特征:深度学习

     输入图像-->神经网络--->标签输出

10 卷积层可视化

     低层特征--》中层特征--》高层特征--》

[展开全文]

挑战:光照,形变,大小尺度,类内变化
分类任务:y=f(x)
f是预测函数,x是图像特征。需要训练这样的f分类框架。
为了提供模型的泛化能力,需要对图像的特征进行很好的刻画。训练集应该尽可能多的包含样本不同形态,不能以RGB图像扔进网络,而是图像特征。

**手工设计的特征:**
全局特征:颜色、形状(把形状扣出来,加一个PCA的降维);
局部特征:shape context、纹理(很多目标有均匀分布的纹理,gabor对纹理特征提取)
**SIFT特征**:局部特征,128维,计算一个小的图像区域,分成4×4的16个格,每个格子计算一个8维的梯度vector,然后将16个vector拼成一个128的特征。主要用于**图像分类**、**图像匹配**。
**Hog特征**:可以很好地捕捉目标的形状,用于**检测**、**目标跟踪**。
**LBP特征**:对局部区域进行编码,用于**人脸分类**。
**Harr特征**:多个滤波器,对不同部分有不同相位。

[展开全文]
  • 图像特征
SIFT特征:局部特征,128维,计算小的图像区域,把该区域分为4*4=16个小区域,每个区域里是8维的特征的向量(图像分类、图像匹配)
HoG特征(目标检测):擅长处理目标的形状,因此一般用目标检测、目标追踪
LBP特征(人脸识别):将局部特征进行编码,对于人脸分类,实际使用的是一些关键部位(区域),LBP擅长捕捉这些区域的响应
Harr特征:由不同的滤波器组成,处理不同的特征,比如A对竖直的边缘的检测效果好,B对横平的边缘检测好,C对连续变化的边缘检测好,D则对斜侧边缘检测好(对形状敏感)
 
 
  • 卷积之后的图片大小:输出尺寸 = (输入尺寸+2*pad-kernel_size)/stride+1        pad是指填充
 
  • 池化层(pooling layer):最大值池化和平均值池化,可以使特征表达更加紧凑,同时具有位移不变性
 
  • 损失函数,不同损失函数对应不同的任务
sigmoid_cross_entropy_loss(交叉熵损失函数)
使用sigmoid函数作为输出层
其损失函数为            
常用于二分类问题
 
 
softmax_loss(softmax损失函数)
使用softmax作为输出层
其损失函数
常用于多分类问题
 
euclidean_loss(欧式距离损失函数)
[展开全文]

import numpy as np

import matplotlib.pyplot as plt

from sklearn import svm, datasets

# 导入数据集

iris = datasets.load_iris()

X = iris.data

y = iris.target

h = .02 # 网格中的步长

# 创建支持向量机实例,并拟合出数据

C = 1.0 # SVM正则化参数

svc = svm.SVC(kernel='linear', C=C).fit(X, y) # 线性核

rbf_svc = svm.SVC(kernel='rbf', gamma=0.7, C=C).fit(X, y) # 径向基核

poly_svc = svm.SVC(kernel='poly', degree=3, C=C).fit(X, y) # 多项式核

lin_svc = svm.LinearSVC(C=C).fit(X, y) #线性核

# 创建网格,以绘制图像

x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1

y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1

xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))

# 图的标题

titles = ['SVC with linear kernel', 'LinearSVC (linear kernel)', 'SVC with RBF kernel', 'SVC with polynomial (degree 3) kernel']

 

for i, clf in enumerate((svc, lin_svc, rbf_svc, poly_svc)):

# 绘出决策边界,不同的区域分配不同的颜色

plt.subplot(2, 2, i + 1) # 创建一个2行2列的图,并以第i个图为当前图

plt.subplots_adjust(wspace=0.4, hspace=0.4) # 设置子图间隔

Z = clf.predict(np.c_[xx.ravel(), yy.ravel()]) #将xx和yy中的元素组成一对对坐标,作为支持向量机的输入,返回一个array

# 把分类结果绘制出来

Z = Z.reshape(xx.shape) #(220, 280)

plt.contourf(xx, yy, Z, cmap=plt.cm.Paired, alpha=0.8) #使用等高线的函数将不同的区域绘制出来

# 将训练数据以离散点的形式绘制出来

plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Paired)

plt.xlabel('Sepal length')

plt.ylabel('Sepal width')

plt.xlim(xx.min(), xx.max())

plt.ylim(yy.min(), yy.max())

plt.xticks(())

plt.yticks(())

plt.title(titles[i])

plt.show()

[展开全文]

图像分类

挑战:

1)光照变化

2)形变

3)尺度变化

4)类内变化

f为训练的model,y为输出的标签(不应该是预测值吗?)

训练集要尽量多的包含样本的不同形态。图像不能直接以RGB的形式扔进模型,需要用图像特征来描述图像。

手工设计特征

1、全局特征:

1)颜色。颜色直方图。

2)形状(把形状抠出来,加一个PCA的降维)。

2、局部特征:

1)shape context

2)纹理(很多时候目标有均匀分布的纹理,gabor对纹理特征提取)

SIFT特征:局部特征。一般是128维,他会计算一个小的图像区域,这个小的图像区域分成了4*4的16个格,每个格子里面会计算一个8维的一个梯度的wicter。然后把16个wicter拼成一个128的一个特征,来作为对这块区域的描述。主要用于图像分类和图像匹配任务。

Hog特征:主要用在检测里面,Hog对于处理目标的形状非常好,能精确捕捉目标的形状。检测、目标跟踪。

LBP特征:对一块局部的区域进行编码,用于人脸分类效果很好。

Harr特征:有多个滤波器,对于不同部分有不同相应。

神经网络由神经元组成,神经元用激活函数来描述。

卷积神经网络网络:

卷积层+池化层+全连接层

损失函数反向传导调整参数。

[展开全文]

图像分类具有的挑战?

a. 光照的变化

b. 形变

c. 类内变化

如何用数学的方法描述图像的分类?

常用的损失函数softmax

网络的泛化能力?

1. 制作合适的训练集(数据太重要了)

图像特征的提取?

深度方法vs传统方法

    a. 颜色直方图(全局特征)

    b. 形状特征(全局特征)

    c. 局部特征

    d. 纹理特征

传统的图像特征?

SIFT 一般是128维的

HOG 一般使用在检测里面,对形状描述比较好

LBP 用于人脸

Harr 角点特征,对于处理形状比较敏感的任务比较有用

svm的原理?

常用的激活函数?

基本的神经网络-》卷积神经网络?

常见的损失函数?

       最重要的是siamese网络contrastive loss

[展开全文]
In_Sun · 2019-03-14 · 图像分类介绍 0

图像分类:

挑战:1、光照条件;

2、形变;

3、同一类的多种展现形式。

定义:基于误差最小化构建分类函数模型,然后使用模型预测。

如何评价分类器的好坏:泛化能力

如何提高泛化能力:通过特征描述图像。

三部曲:a)提取特征;b)根据数据和标签训练分类器;c)预测分类。

图片特征:

全局特征:颜色直方图,形状;

局部特征:某个部位;

纹理特征:经过滤波得到纹理。

例如:sift(局部特征)、hog(检测)、LBP(人脸识别)、harr

分类器:svm间隔最大化

更好的特征:CNN特征

原因:学习出来的CNN特征具有更好的泛化能力,具有平移、尺度、旋转等不变性,鲁棒性比较好。

如何学习CNN特征:构建神经网络。

构建卷及网络:激活函数;卷基层(底层特征、中层以及高层);池化层;全连接层;损失函数

误差反传:正传计算出损失;反向传播误差,计算梯度和更新参数。

[展开全文]
zzy1030 · 2019-03-13 · 图像分类介绍 2
模型泛化能力
遮挡、尺度、旋转、位移不变性
颜色直方图
全局轮廓特征
局部轮廓特征
滤波器 纹理信息
神经网络:
神经元:激励函数Sigmoid ReLU
卷积:
输出 = ( 输入 + 2 * pad - kernel_size )/ stride + 1
pad:填充
池化:特征更加紧凑,位移不变性 maxpooling
全连接层:网络最后
损失函数:交叉熵、SOFTMAX、欧式距离、 
 
[展开全文]

1 图像特征:SIFT,HoG,LBP,Harr
2 卷积神经网络可以自动提取图像特征,效果要比传统方法好很多
3 卷积神经网络包括:卷积层,激活层,池化层,全连接层
4 损失函数:交叉熵损失函数、Softmax损失函数、欧式距离损失函数、对比损失函数、Triplet loss

[展开全文]

图像分类:

挑战:1、光照条件;

2、形变;

3、同一类的多种展现形式。

定义:基于误差最小化构建分类函数模型,然后使用模型预测。

如何评价分类器的好坏:泛化能力

如何提高泛化能力:通过特征描述图像。

三部曲:a)提取特征;b)根据数据和标签训练分类器;c)预测分类。

图片特征:

全局特征:颜色直方图,形状;

局部特征:某个部位;

纹理特征:经过滤波得到纹理。

例如:sift(局部特征)、hog(检测)、LBP(人脸识别)、harr

分类器:svm间隔最大化

更好的特征:CNN特征

原因:学习出来的CNN特征具有更好的泛化能力,具有平移、尺度、旋转等不变性,鲁棒性比较好。

如何学习CNN特征:构建神经网络。

构建卷及网络:激活函数;卷基层(底层特征、中层以及高层);池化层;全连接层;损失函数

误差反传:正传计算出损失;反向传播误差,计算梯度和更新参数。

 

 

 

 

[展开全文]

相关课程

开课日期:深度学习鼻祖Hinton公开课视频,随到随学开始
免费课 31964
开课日期:2020-07-04 08:50开始
5172

授课教师

暂无教师
微信扫码分享课程