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

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

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

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

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

该课程已关闭

GAN Generated Adversersial Network

Areas it can be used in:

1. image manipulation and generation:

example: Generative Visual Manipulation on the Natural Image Manifold

2. Facial image processing/manipulation:

3. Image coloring:

Deep Color: http://color.kvfrans.com/draw

4. Image-to-Image translation: Cycle GAN, real-time performance on videos.

affinelayer.com/pixsrv

5. image super-resolution restoration:

photo realistic single image super-resolution using a generative

context encoders: feawture learning by inpainting

 

From the aforementioned knowledge, what we can conclude from it?

Given observations we can conlude an educated estimation of its parameters, thus we can sample from this distribution and generate new samples.

 To sum up , this problem can be boiled down to concluding a sample distribution from samples and generate more samples from this educated sample distribution.

这类问题可以用生成模型解决。

生成模型可以分为三类:

1.完全可见信念网络 Fully Visible Belief Networks

2. 变分自编码器 variational autoencoder

3. 生成式对抗网络 generative adversersial network

VA可以和GAN结合起来改善效果。

对抗是生成网络有判别器和生成器构成。

生成器用来生成一个可以以假乱真的sample,
判别器尝试区分真假样本。
这样一个网络的训练过程遵循min max L 原则,即先最大化判别器的loss,再极小化生成器的loss。

总而言之,先训练判别器,再训练生成器。

JS, KL and Wd 是几个很重要的概念,理清楚这几个概念对理解gan的各种改进很重要。

W-GAN: 传统GAN优化的是JS散度,W-GAN更改了衡量标准。

LS-GAN, EB-GAN等等

 

 

 

[展开全文]

怎么实现物体检测:不管是传统方法还是深度学习方法都可以看作是搜索加分类;搜索可以用滑窗来实现,不过缺点是滑窗只能固定大小,可以使用图像金字塔来实现多尺度滑窗。

传统方法:人工设计特征+浅层分类器;代表为:ROBUST REAL TIME FACE DETECTION; DPMs

深度学习:使用原始图像数据+图像标注,训练神经网络;

 

1. RCNN: 图片-》生成候选区域-》resize-》使用CNN进行特征提取-》检测分类+检测框回归; CNN部分使用的是ImageNet 预训练模型,之后进行finetune。 缺点是每一张图片的候选区域数量很大,所以RCNN速度很慢。

 

2. FastRCNN是对RCNN的改进方法;具体改进是将原始图片直接送进CNN网络,之后在输出的feature map上进行候选区域的选择;同时引入了一层ROI pooling,用来将候选区域转换为固定大小的feature map。转化出来的feature map转换为全连接层,之后继续进行特征分类以及BB回归。这种方法共享了特征图计算,节省了大量计算量。

 

3. Faster RCNN是进一步改进,具体改进是引入了RPN来进行候选区域的提出。

input data->conv->rpn->roi pooling->fc->classification and bounding box regression.

a. 原始图片减去三通道均值,图片保持长宽比进行resize,但是注意宽度和高度的最大值分别为600以及1000.输入包含三个部分。第一个是输入的图像data,具体为[1,3,800,600],表示为一张图片,三通道,图像高和宽分别为对应大小的图像;第二个是一个size 为[1,3]具体为[800,600,1.6]的向量,前两者为图像大小,1.6表示按照宽度来算的放大倍数;第三个为一个size[2,5]的ground truth bounding box信息,其中每一行的最后一列为对应物体的类别信息。总而言之,训练的输入数据为图像数据本身,图像自身的信息以及ground truth;

按照网络流程来说,图像进行完前面所说的预处理会送入基层卷积网络,卷积网络的输出会送入下面所讲的rpn网络;

b. RPN:首先有一层CNN,cnn的输出输入到一个rpn_cls_score层和一个reshape层,上一层结果以及输入的[2,5]标定框,以及[1,3]图像信息向量,以及[1,3,800,600]图像,继续输入到一个rpn_data层.rpn_data层的输出为rpn_labels,rpn_bbox_targets等。这块相对复杂,还是看论文和代码吧。

c. rpn_loss_cls:  softmax 以及 loss

 

4.FRCN,全CNN进行检测。

5.YOLO ,利用整张图作为输入,直接在输出层输出bb位置以及类别,是一种grid based 方法。

6.SSD, 类似于强化版的RPN;可以进行多尺度检测,

7.FPN, 利用各尺度特征图进行检测。

8.Mask Rcnn, 相比较于Faster RCNN的改进是将roi pooling改为roi allign,并加了一个分支网络,这个分支网络用来实现像素分割。

9.Focal Loss,它认为one-stage 检测器不如two-stage检测器的原因是正负样本不均衡,负样本占总loss比重大,对loss function进行了修改。

[展开全文]

人脸识别网络训练流程:

1)下载人脸数据库

2)关键点监测

MTCNN

3)对齐

face_alignment

4) 网络训练

[展开全文]

怎么实现物体检测:不管是传统方法还是深度学习方法都可以看作是搜索加分类;搜索可以用滑窗来实现,不过缺点是滑窗只能固定大小,可以使用图像金字塔来实现多尺度滑窗。

传统方法:人工设计特征+浅层分类器;代表为:ROBUST REAL TIME FACE DETECTION; DPMs

深度学习:使用原始图像数据+图像标注,训练神经网络;

 

1. RCNN: 图片-》生成候选区域-》resize-》使用CNN进行特征提取-》检测分类+检测框回归; CNN部分使用的是ImageNet 预训练模型,之后进行finetune。 缺点是每一张图片的候选区域数量很大,所以RCNN速度很慢。

 

2. FastRCNN是对RCNN的改进方法;具体改进是将原始图片直接送进CNN网络,之后在输出的feature map上进行候选区域的选择;同时引入了一层ROI pooling,用来将候选区域转换为固定大小的feature map。转化出来的feature map转换为全连接层,之后继续进行特征分类以及BB回归。这种方法共享了特征图计算,节省了大量计算量。

 

3. Faster RCNN是进一步改进,具体改进是引入了RPN来进行候选区域的提出。

 

4.FRCN,全CNN进行检测。

5.YOLO ,利用整张图作为输入,直接在输出层输出bb位置以及类别,是一种grid based 方法。

6.SSD, 类似于强化版的RPN;可以进行多尺度检测,

7.FPN, 利用各尺度特征图进行检测。

8.Mask Rcnn, 相比较于Faster RCNN的改进是将roi pooling改为roi allign,并加了一个分支网络,这个分支网络用来实现像素分割。

9.Focal Loss,它认为one-stage 检测器不如two-stage检测器的原因是正负样本不均衡,负样本占总loss比重大,对loss function进行了修改。

 

 

[展开全文]

1. 什么是物体检测:用BB标出物体位置并给出物体类别。方法有YOLO V2;通用数据集为PSACAL VOC,有20类物体,是一个较简单的数据集;COCO数据集有80类物体,一张图片内物体较多,数据及难度较高,老师给的图片例子应该不是简单的物体检测,还有segmentation;

2. 评价检测器性能:IoU可以用来表示检测器性能,中文为交并比,是预测框与label的交集比上两者并集的比值;若为1则为最优分类器,一般来说IOU大于0.5就代表预测正确了;

也可以使用PR曲线来表示评测器综合性能,也就是precision-recall curve。对于一张图片的检测结果,每一个结果都有一个对应的得分,得分代表一种检测的结果置信度,根据检测结果可以计算得到TP,FP,TN,TN等,通过不断改变阈值就可以绘制出PR曲线。

[展开全文]

得到了数据首先需要进行人脸对齐:

1.关键点监测:MTCNN可以同时进行人脸检测和对齐

[展开全文]

人脸识别的时代 如何进行人脸识别?

具体流程如下:

1.找到人脸,也就是人脸检测,用bb表示;

2.有了bb表示的人脸,将人脸对齐,也就是变换为水平方向放置;

3.有了对齐的人脸,可以提取特征;

4.之后进行识别;

 

各部分难点如下:

1.人脸提取:人脸有尺度,肤色,遮挡,角度,光照等等问题;人脸检测有两种解决方式,一种用回归方法来解决,具体是学习一个f(Image)=[x,y,w,h]函数来进行BB检测,但是问题是这种方法输入可能只能是一张图片,对于一张图片上有几千张脸这个函数的复杂度会很高;第二种人脸检测方法是基于proposal的方法,类似FCNN中的region proposal,有了多个滑窗,我们可以用二分类器来进行是否为人脸的判断,判断出来的滑窗可以进行进一步滑窗融合来实现最终的人脸bb检测。当然这个proposal的生成也有多种方法,可以基于grid按照固定步长产生,也可以使用selective search进行处理(我自己的观点)。有了几个人脸的proposal,我们使用NMS进行region合并。NMS的具体原理就是,对于每个bb,我们都能得到一个置信度,选置信度最高的bb,之后将与这个bb重合面积大于一定阀值的bb进行剔除。

2.人脸对齐:个人理解是希望给人脸识别提供一个强先验,我们希望学习的是人脸身份信息,而不是人脸的位置信息。如何对齐?首先要进行关键点监测,检测到两只眼睛和嘴角或嘴巴中心的三个点的位置,只需要三个点是因为二维平面内只需要三个点就可以确定一个仿射变换,前提是三点不共线。总的来说就是如果知道三点的位置而且三点不共线,可以确定一个二维平面内的仿射变换。经过仿射变换就可以得到一个对齐的图片。不过一般使用五个点,两个眼睛,鼻头,嘴唇两个点。特征点的选取可以使用cnn来做,具体的误差函数可以是欧几里得距离或者softmax损失函数,cnn的输出结果就是五个点的具体位置。一般来说cnn的结构是cnn级连的,效果较好。

3.人脸识别:有了对齐的脸,可以进行特征学习,基本架构为cnn+分类层,这种网络架构有一个问题就是网络参数绝大部分都在后面的全连接层,而cnn层的参数较少。google提出的FaceNet使用triplet loss进行网络学习。

每一个triplet loss由三张图片构成:anchor,negative以及positive。基本思想是学习一个特征表达,使得positve和anchor的距离小于anchor和negative的距离。这种loss是直接对于距离进行学习,而不是学习softmax。

4.人脸验证:

a)给定两张人脸图片,判断是否为同一个人。可以用欧氏距离,余弦距离等判断。注意,判断方法和训练方法中的距离计算要保持一致。不过这种方法用来判断是不是一个人并不是一个很好的方法。Joint Bayesian可能是一种比较好的方法,这种方法学术上用的比较广泛,工业界一般使用余弦距离或者欧氏距离。

b)给定一张人脸图片,判断身份。为了提高搜索速度,我们可以使用hash编码来对人脸特征进行处理,得到只包含01的向量,比对时是需要使用向量之间的汉明距离。

[展开全文]

人脸识别上中老师提到对于每一张图像,要减去平均脸,老师的解释为降低variance,我觉得这里应该是降低bias。

 

特征脸组成了将维特征子空间,之后对于新的图像可以将每一章图象投影到特征子空间,来获得坐标参数,而这些参数即为低维表达。

 

特征脸的一大缺点就是表达能力有限,因为毕竟子空间有一定信息丢失。深度学习方法要好很多,因为其泛华能力要比传统方法好很多。

 

cs229 可以进行进一步了解。

[展开全文]

预测函数衡量指标:泛化能力。

训练集要尽可能包含更多的素材。

训练和测试的流程:训练图片,提图像特征,训练(图片和标签丢到此训练),训练好一个分类器。将测试图片,提取特征,到训练好的分类器,预测出类别。

图像特征:全局、局部。

PCA降维?

SIFT,HOG,LBP,HArr。

[展开全文]

sift 特征

LBP 特征 对人脸分类有用

[展开全文]
丝特勒•夏洛 · 2018-01-01 · 0

相关课程

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

授课教师

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