CNN与迁移学习

图像相关任务:

1、物体识别(faster R-CNN)

2、图片识别+定位

3、物体检测

4、图像分割



图片定位:

输入:image

输出:物体边界框(x,y,w,h);x,y是左上角坐标,w是宽度,h是高度。

评价准则:交并准则


思路1:看成回归问题。因为有四个数字


步骤1: 先解决简单问题,搭一个识别图像的神经网络。在经典CNN上进行fine-tuning

步骤2: 在上述神经网络的尾部展开,成为classification + regression 模式。

a、最后的卷积层后

b、全连接层后

步骤3:Regression部分用欧式距离损失,使用SGD训练。  

步骤4: 预测阶段把两个“头部”模块拼上。完成不同的功能。


应用:如何识别人的姿势?



思路2: 图窗+识别与整合

步骤1:设定图窗大小,和不同位置。如下图中的黑框。

步骤2: 根据指定的黑框,预测其属于猫的概率,和猫的定位(注意,回归的值域可能会溢出黑框的值域)。

步骤3: 将四个黑框的概率 和 猫的定位都进行merge。得到最终结果。



想办法克服一下过程中的“参数多”与“计算慢”

1) 多卷积层代替全连接层

2)测试/识别阶段的计算是可复用的(卷积分成小格子了)


物体识别(多物体):


思路1: 再次看成回归问题??

很可惜,样本那么大,我并不知道一张图片上面最多有多少个物体。。。。。


思路2: 试着看做分类问题?

我还是不知道有多少类别。。。。。


思路3: 看做分类问题,有没有办法优化下?

1、为什么要先给定框,能不能找到“候选框”?

2、想办法先找到“可能包含内容的图框”


针对第一个问题: 自下而上融合成“区域”;将“区域”扩充为“图框”。


R-CNN:(迁移学习)

步骤1:  找一个预训练好的模型,做一个fine-tuning

步骤2: fine-tuning模型,比如20个物体类别 + 1个背景


步骤3: 抽取图像特征

a、用 “图框候选算法”抠出图窗

b、resize后用CNN坐前向运算,取第5个池化层做特征

c、存储抽取的特征到硬盘/数据库上。



步骤4: 训练SVM识别 是不是 某个物体 (2分类)

步骤5: bbox regression 

微调图窗区域


R-CNN -> Fast-rcnn -> Faster-rcnn


迁移学习的应用:


步骤1: 抽取给定图片的内容表征(比如AlexNet的第五个卷积层的输出)

最后我们生成的图片 要跟给定图片在内容上保持一致,所以要计算一个 content loss。

步骤2:抽取风格图片的特征 (比如 第一个卷积层的输出)

风格的损失函数

步骤3: 将内容loss + 风格loss,优化损失函数。


课程代码与训练数据:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值