计算机视觉——目标检测(R-CNN、Fast R-CNN、Faster R-CNN )

2024-03-23 1693阅读

前言、相关知识

1.闭集和开集

  • 开集:识别训练集不存在的样本类别。
  • 闭集:识别训练集已知的样本类别。

    2.多模态信息融合

    文本和图像,文本的语义信息映射成词向量,形成词典,嵌入到n维空间。

    图片内容信息提取特征,形成n维向量,嵌入到n维空间。

    文本和图像的特征距离要尽量近一点,这样文本信息和图像内容信息特征相似。可以根据一种模态输入获得另一模态类型的输出。

    3. 计算机视觉任务

    • 分类问题
    • 语义分割
    • 物体检测
    • 示例分割

      计算机视觉——目标检测(R-CNN、Fast R-CNN、Faster R-CNN )

      一、目标检测基础知识

      1. 目的:输入彩色RGB图像,输出检测的物体。

      2. 过程:分类+定位

      3. 最新的目标检测技术:文本 + 图像,制定类别检测

      4. 现有方法分类:

      1. 一步法(SSD、YOLO):仅使用一个卷积神经网络CNN直接预测不同目标和位置

      2. 两步法(R-CNN、Fast R-CNN、Faster R-CNN)

      step1:先生成候选框(利用Region Proposal Network(RPN))

      step2:根据候选框分类+精调

      二、目标检测——R-CNN(regional with cnn feature)

      ![R-CNN论文](https://img-blog.csdnimg.cn/direct/587d375e082d4b0aa1605822a0031212.png #pic_center=50%x50%)

      R-CNN算法步骤

      计算机视觉——目标检测(R-CNN、Fast R-CNN、Faster R-CNN )

      • 用selective search划分出候选区域(1k-2k),区域之间可能会有重合。

        计算机视觉——目标检测(R-CNN、Fast R-CNN、Faster R-CNN )

      • 对每一个候选区域,使用深度网络提取特征

        计算机视觉——目标检测(R-CNN、Fast R-CNN、Faster R-CNN )

      • 每一个特征送入SVM分类器,判断是否属于该类别(ps:非极大值抑制剔除就是将重合区域最大的区域删除)

        计算机视觉——目标检测(R-CNN、Fast R-CNN、Faster R-CNN )

        ps:非最大值抑制剔除IOU

        计算机视觉——目标检测(R-CNN、Fast R-CNN、Faster R-CNN )

      • 使用回归器(最小二乘)精细调整候选框位置

        计算机视觉——目标检测(R-CNN、Fast R-CNN、Faster R-CNN )

      • R-CNN框架:划分区域——ss算法,特征提取——CNN网络,分类器——SVM支持向量机、回归期——最小二乘法。

        计算机视觉——目标检测(R-CNN、Fast R-CNN、Faster R-CNN ))

      • R-CNN缺点:速度慢、空间占用多

        三、目标检测—— Fast R-CNN( fast regional with cnn feature)

        Fast R-CNN是R-CNN作者在原有基础上的改善,对于推理速度,准确率,训练时间都远远超于R-CNN。

        计算机视觉——目标检测(R-CNN、Fast R-CNN、Faster R-CNN )

        Fast R-CNN算法步骤

        • 一张图像生成多个候选区域(1K~2K)使用selective search 方法。
        • 通过深度卷积神经网络,将图像输入之后得到相应的图像,将SS算法生成的候选框投影到特征图上获得相应的特征矩阵。

          ps:此处和R-CNN的区别,R-CNN将候选框输入到卷积神经网络得到特征,Fast R-CNN直接将整幅图像给卷积神经网络,在根据特征网络进行计算特征,避免了计算重复的区域。

        • 将特征矩阵根据ROI pooling 缩放到7*7大小的特征图,然后通过一系列全连接层得到结果。

          计算机视觉——目标检测(R-CNN、Fast R-CNN、Faster R-CNN )

          每一个区域的有很多像素,对于像素上的特征数据进行最大池化或者平均池化就会得到比较规整的图像。

        • Fast R- Cnn分类器介绍

          假如有n个类别,如果没有满足这n个类别,那么他就是背景,所以一共有n+1个类别的概率,我们根据每个类别的概率,概率最大的类别就是最终预测的类别。

          计算机视觉——目标检测(R-CNN、Fast R-CNN、Faster R-CNN )

        • Fast R- Cnn回归器介绍

          Fast R- Cnn分类器是根据缩放来实现的。

          计算机视觉——目标检测(R-CNN、Fast R-CNN、Faster R-CNN )%)

        • Fast R- Cnn损失函数介绍

          Fast R- Cnn论文中提出了一种新的损失函数SmoothL1Loss损失函数,改善了欧氏距离L1 loss和L2 loss损失函数。主要改善的地方在于其他两个损失函数对于离群点的梯度变化过于敏感或者是不够精细,SmoothL1Loss损失函数能够:

        • 当预测值与真实值误差过大时,梯度值不至于过大;
        • 当预测值与真实值误差很小时,梯度值足够小。

          想详细了解差异可看这篇文章:目标检测三种损失函数

          四、目标检测—— Faster R-CNN( faster regional with cnn feature)

          Fast R-CNN是R-CNN作者在原有基础上的改善,骨干网络使用VGG16,对于推理速度,准确率,训练时间成倍提高。

          Faster R-CNN最好能够自己执行代码运行一下,需要重点掌握。

          Faster R-CNN 算法步骤

          • 将图像输入网络得到特征图
          • 使用RPN结构生成候选框,将生成的候选框投影到特征图上得到对应的特征矩阵。
          • 将每一个特征矩阵通过ROI pooling层,缩放到7*7的大小,接着通过特征图展平通过一系列全连接层得到预测结果。

            主要特点是:RPN+Fast R-CNN

            计算机视觉——目标检测(R-CNN、Fast R-CNN、Faster R-CNN )

            RPN Faster R-CNN计算总结

            计算机视觉——目标检测(R-CNN、Fast R-CNN、Faster R-CNN )

          • 先网络获得特征图
          • 在特征图上使用3x3卷积获得目标得分,调整锚点框位置,确定候选框
          • 删除重叠和边缘候选框
          • 将最终获得的候选框投影到特征图上
          • 通过ROI pooling变成7x7的图像

            PS:ROI pooling:感兴趣区域池化(Region of interest pooling)(也称为RoI pooling)是使用卷积神经网络在目标检测任务中广泛使用的操作。例如,在单个图像中检测多个汽车和行人。其目的是对非均匀尺寸的输入执行最大池化以获得固定尺寸的特征图(例如7×7)。

          • 最后进行分类(class)和目标优化(loc:定位损失,能够是的预测框更加接近目标框。)

            计算机视觉——目标检测(R-CNN、Fast R-CNN、Faster R-CNN )

            VGG16输入图像至少是600分辨率,如果不够600分辨率,会进行图像预处理

            (600/16,800/16,512)的特征输入RPN。

            RPN网络

            RPN使用3x3卷积的目的:通过3x3的卷积层获得目标得分和边界回归偏移,判断特征映射图中的是不是我们候选框的目标。

            根据目标得分判断是不是我们需要的目标,调整我们的锚点框(3x3卷积层反向画在原图片上的框),如果该锚点框里面是目标,那么它就升级为候选框,否则的话就不画。

            每个位置(滑动窗口)在原图上都对应33=9anchor。

            计算机视觉——目标检测(R-CNN、Fast R-CNN、Faster R-CNN )

            在候选框筛选过程中,去掉边缘anchor和IOU重叠,就会删除掉很多现有的候选框,以1000x600x3为例,最终剩下2k候选框。

            计算机视觉——目标检测(R-CNN、Fast R-CNN、Faster R-CNN )

            参数回归器和分类器用的是卷积,不是全连接层,原因是:11的就卷积就相当于全连接层。

            最后,还是需要提醒大家看原文和源码~深入理解原理。

            参考文献:陈万军(西安理工大学)——《目标检测》课件

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]