深度学习笔记(5)——目的检测和图像分割

打印 上一主题 下一主题

主题 1880|帖子 1880|积分 5640

目的检测与图像分割

语义分割:假如没有语义信息,很难正确分类每个像素
解决方案:感知像素周围的语义,帮助正确分类像素

  • 滑窗计算:计算非常低效,图像块的重叠部分会被重复计算很多次
    解决方案:转向全卷积
  • 全卷积问题:分类模型会大幅降低特性的分辨率,难以满足分割所需的高分辨率输出
    解决方案:接纳没有下采样利用的全卷积网络,维持图像高分辨率\
  • 无下采样的全卷积问题:在原图尺寸上的卷积利用计算量、显存占用非常大
    解决方案:先接纳下采样(大步长的池化、卷积)降低计算量,渐渐上采样(Unpooling,转置卷积,线性插值)恢复图像分辨率
    代表网络:U-Net,DeepLab,PSPNet
目的检测:分类+定位
selecctive search:找到有可能存在物体的区域,在CPU上运行,可以在几秒内生成2000多个区域
R-CNN


  • 将selective search找到的区域作为候选区域
  • wrap处理后的图像区域
  • 送入CNN提取特性
  • 最后使用SVM对每个图像区域分类
  • 对每个Rol预测调整值dx,dy,dw,dh)
问题:效率很低,非常慢,同一区域会被反复计算(框内有重叠)
Idea:使用卷积网络处理整张图像,在特性上进行区域提取

Fast R-CNN


  • 使用卷积网络处理整张图像
  • 投射到由Selective Search生成的候选区域
  • 对候选区域进行分类和回归
  • 使用RoI Pooling,将不同大小的候选区域映射到固定大小的特性图
问题:Rol提取的特性与原始proposal中的特性存在差异
解决方法对四个近邻点进行线性插值
RCNN和Fast-RCNN的区别:RCNN是把候选框送入CNN,而fast-RCNN是把整张图片送进去。

Faster R-CNN


使用CNN预测proposal,其他模块和Fast R-CNN根本相同
即RCNN和fast RCNN的区域都是用selective search得到的,而faster RCNN的区域是RPN这个区域生成网络(CNN网络)得到的。
假设每个点都有固定大小的锚框,预测每个锚框内里是否存在物体,对于存在物体的锚框,对锚框进行调整,以便更好地将物体框住。
一般来说,每个点会定义K个锚框,具有不同的大小和比例
对                                   K                         ×                         20                         ×                         5                              K\times20\times5                  K×20×5个锚框预存在物体的可能性,选择top300作为proposal\
不再使用Selective Search,而是使用RPN生成候选区域,RPN是一个全卷积网络,可以预测锚框的种别和偏移量,RPN和Fast R-CNN共享卷积层,因此可以并行处理,大大提高了速率。
联合四个损失:

  • RPN分类损失 (是否存在物体):
    这个损失是用来训练RPN来区分一个发起区域是否包含一个对象。对于每个锚点(anchor),RPN预测两个分数,表示该区域是配景(不包含任何目的)或远景(包含至少一个目的)。这是一个二分类问题,通常使用交叉熵损失函数来计算损失。
  • RPN回归损失 (矩形框):
    RPN除了要决定锚点是否应该被思量为一个对象外,还负责调整这些锚点的位置以更好地匹配实际的对象边界框。这个损失用来优化锚点的坐标,使其更接近真实的目的边界框。一般接纳平滑L1损失(smooth L1 loss)来减少回归误差,由于它对异常值不那么敏感。
  • 检测分类损失 (物体种别):
    在通过RPN生成了一组候选区域后,这些区域会被送入到快速R-CNN部分进行进一步处理。这部分不仅要确定区域内是否有物体,还须要辨认出具体是什么类型的物体。因此,它是一个多类分类问题,其损失函数同样是基于交叉熵损失,但这次是对所有预定义的种别进行分类。
  • 检测回归损失 (矩形框):
    类似于RPN回归损失,但这是针对终极的检测结果而言的。在快速R-CNN部分,候选区域颠末池化层后,会输出更加精确的目的边界框坐标。为了使这些预测框尽可能准确地包围目的,同样使用平滑L1损失来最小化预测框与真实框之间的差异。
实例分割

对检测到的每个实例物体进行分割
Mask R-CNN:架构非常接近Faster RCNN。在Faster RCNN的基础上加上了一个FCN层。

重要区别在于,在网络的末端,还有另一个头,即上图中的掩码分支,用于生成掩码进行实例分割。还有把Faster RCNN中的ROI Pooling换成了ROIAlign
ROI pooling时目的特性图的单位边界被迫与输入特性图的边界重新对齐。因此,每个目的单位格的大小可能不同
ROI Align,它不会取整单位格的边界并使每个目的单位具有相同的大小。它还应用插值来更好地计算单位格内的特性图值

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

老婆出轨

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表