物体识别

一、物体识别

这里写图片描述

图像识别:很重要,是很多算法的基础

图像识别+定位:识别出来是猫,且定位出猫的位置

物体检测:每个图像中含有多物体,检测出有几个个体,并框出来位置

图像分割:不仅仅框出来位置,还有勾勒出来轮廓

很有意义,且能在工业落地。

这里写图片描述

如何识别+定位(单物体):

这里写图片描述

已经用多层的卷积神经网络做了分类的问题(右上角),得到了已经训练好的参数。现在要定位矩形框,四个值(x,y,w,h)分别为,(x,y)为左上的坐标,w为宽,h为高,四个数都是连续的值,就变为了一个回归问题。

这里写图片描述

分类问题是通过FC得到每类的概率,而此时需要得到连续的四个值,所以预测的是x^,y^,w^,h^,真实的是x,y,w,h

L2-loss:(xx^)2+(yy^)2+(ww^)2+(hh^)2

利用BP+SGD进行训练,得到损失最小的参数。

这里写图片描述

去掉做分类的积木,在最后一个卷积层之后添加做回归的积木。

为了利用前面训练好的参数,有两种搭积木的方法:

  1. 对训练好的参数进行固定,也就是前面的参数不再训练,一路做回归,一路做分类
  2. 也许对参数也进行学习的话会有更好的回归的结果,也就是将训练好的参数作为初始值,对前面部分的学习率调低,后面新的部分的学习率调高,再进行训练,得到一个新的完整的结构,分类(交叉熵损失)和回归(L2-loss)是分开的。

思路二:

这里写图片描述

回归效果不太好,能不能提前给一些框来分类。

分别用黑色的框来遍历,左上->右上->左下->右下,分类后会获得在不同位置上判断出来是猫的概率:0.5->0.75->0.6->0.8

所以主体一定是靠近右边的,然后整合。

这里写图片描述

有四个红框,进行整合。

这里写图片描述

去掉全连接,改成1x1的卷积,计算共享,只有黄色的部分要计算,没有那么暴力。

二、多目标物体识别

如果图中有2个个体,框每滑到一个位置,判断是不是某个物体,

这里写图片描述

边缘策略,找到到底哪些位置可能是候选框,先用别的方法找到可能是一个物体的框。

这里写图片描述

选择性搜索:

自顶向下的搜索,先用像素KNN的方式对周边的点做扩散,得到很细的区域分布,可以再进行扩张,得到不同粒度的图像分割区域。

从上到下的过程:找到框把不同颜色的地方框出来。

这里写图片描述

对比:

这里写图片描述

R-CNN

这里写图片描述

R-CNN 思想:

有一张图,可以从图中选出可能感兴趣的区域(ROI),每个框都经过CNN,得到该框中的特征,取第5个池化层的特征,用SVM做分类,确定是哪一类,利用Bbox回归来对框进行调整。

Bbox regression:告诉你这个框怎么调整一下,可以更贴近物体的形状,也就是框可能太大,可以调小些,也是有参数的,需要训练,是一个独立的部分。

RCNN不是end-to-end的模型,这个ConvNet可以直接拿VGG来用,就是抽取特征。

改进:R-CNN太慢了

2000个图像候选框,每个框的数据都要进行卷积特征抽取,很耗时,所以简化为Fast-rcnn。

Fast-RCNN 思想:
这里写图片描述
① 将候选框缩减

对原图进行卷积神经网络特征抽取,得到了一个整图的特征图,在结果上抠出来和原来的框对应的位置,也就是将原图上的候选框映射到特征图上,抽取对应位置的特征。

② 将分类器变为神经网络,也就是接全连接层,完成分类和回归

这里写图片描述

实现:

这里写图片描述

原始图像3x800x600 -> 得到一个特征图,特征图上的某个点,是由原图的小块图像区域和卷积核卷积得到的,所以,特征图上的不同点,对应原图的不同小块儿。也就是原图的框应该是可以找到特征图对应的框。

问题:圈出来的框的大小是不同的,经过pooling之后也是不同大小的,但是FC的神经元的输入和输出大小是固定的,所以FAST 提出了ROI pooling

FAST RCNN中提出了ROI pooling:对所有的框下采样为相同的维度,之后再接神经元:

这里写图片描述

Faster-RCNN

找候选图框很麻烦,可以让神经网络自己找图框。

这里写图片描述

这里写图片描述

在大图上产出了一些特征图,在中心点找到不同大小的框,用候选框中的东西进行判别,得到n个得分,再进行判别。
这里写图片描述

NeuralStyle

原始图片+风格图片=>带风格的图

传统网络一直用Cross-entropy 或L2-loss,来评价两幅图在内容是的接近程度,所以作者思考有没有更好的损失函数,使得现在的问题性能有提升。

发现了一个style-loss能够定义两幅图像的风格的差异,所以将L2-loss和style-loss来综合起来来进行融合。

这里写图片描述

一般情况利用CNN来学习权重w,而图像是x,所以可以固定w去调x使得损失最小。

拿VGG网络,把网络固定住,调图像x,使得损失最小,让内容和猫最接近,让风格和下图更接近,所以定义两个loss,分别为内容的loss和风格的loss。

这里写图片描述

内容loss:原始图Fij,生成图Pij

风格loss:评估了所有特征图(64x64x16)的depth(16)上,每两个特征图上进行了点乘,就有A1616=16×16个结果,即语法矩阵Gram matrix,对生成的语法矩阵和原始图像的语法矩阵做差值。

将两部分loss合起来,α为内容损失的权重,β为风格损失的权重,α越大,越偏内容,然后最小化损失即可。

发布了139 篇原创文章 · 获赞 646 · 访问量 64万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览