【读点论文】一种实时的目标检测模型 yolo

Y ou Only Look Once:Unified, Real-Time Object Detection
  • YOLO,一种新的目标检测方法。

    • YOLO和MultiBox都使用卷积网络来预测图像中的边界框,但YOLO是一个完整的检测系统。

    • 将对象检测作为一个回归问题,用空间分离的边界框并给出相关的类概率。

    • 单个神经网络在一次评估中直接从完整图像预测边界框和类概率。

    • 由于整个检测管道是单个网络,因此可以直接对检测性能进行端到端优化

    • yolo模型识别速度比较快,精度偏低

      • YOLO模型以每秒45帧的速度实时处理图像。

      • Fast YOLO每秒处理令人震惊的155帧,同时仍然实现了其他实时检测器的两倍映射。

      • 与最先进的检测系统相比,YOLO会产生更多的定位错误,但不太可能预测背景上的误报。

      • **YOLO学习对象的一般表示。**当从自然图像推广到艺术品等其他领域时,它的性能优于其他检测方法

      • 应用:快速、准确的目标检测算法将使计算机能够在没有专门传感器的情况下驾驶汽车,使辅助设备能够向人类用户传递实时场景信息,并释放通用、响应迅速的机器人系统的潜力。

    • 将目标检测重新定义为一个单一的回归问题,直接从图像像素到边界框坐标和类概率。只需看一次(YOLO)图像就可以预测出物体的位置。

  • 其它研究方案

    • R-CNN:

      • 运用区域建议的方法首先在图像中生成边界框
      • 然后在这些框上运行分类器
      • 分类后,使用后处理细化边界框,消除重复检测,并基于场景中的其他对象重新对框进行排序
      • 在这里插入图片描述
    • 可变形零件模型(DPM)这样的系统使用滑动窗口方法,其中分类器在整个图像上以均匀间隔的位置运行

      • 为了检测一个对象,系统为该对象使用一个分类器,并在测试图像中的不同位置和比例对其进行评估。
    • 问题所在:这些复杂的管道运行缓慢,难以优化,因为每个单独的组件都必须单独进行训练。

  • yolo的结构

    • 在这里插入图片描述

    • 单个卷积网络同时预测多个边界框和这些框的类概率。YOLO对完整图像进行训练,并直接优化检测性能。

      • yolo速度非常快。因为我们将检测作为一个回归问题来处理,所以不需要复杂的管道。
        • 可以在不到25毫秒的延迟时间内实时处理流式视频。此外,YOLO达到了其他实时系统平均精度的两倍以上。
      • 与基于滑动窗口和区域建议的技术不同,YOLO在训练和测试期间看到整个图像,因此它隐式地编码关于类及其外观的上下文信息
      • YOLO学习对象的可概括表示。由于YOLO具有高度的通用性,因此在应用于新域或意外输入时,它不太可能崩溃。
        • 当在自然图像上进行训练并在艺术品上进行测试时,YOLO的表现远远优于DPM和R-CNN等顶级检测方法。
      • YOLO在准确度方面仍然落后于最先进的检测系统。虽然它可以快速识别图像中的对象,但它很难精确定位某些对象,尤其是小对象
  • yolo预测公式

    • 在这里插入图片描述

    • 每个方框中的特定于分类的信心分数。这些分数对该类出现在框中的概率以及预测框与对象的匹配程度进行编码。

    • 在这里插入图片描述

      1. 将输入图像分为一个S×S的网格。如果对象的中心落入网格单元,则该网格单元负责检测该对象。
      2. 每个网格单元预测边界框和这些框的置信度分数。
        • 这些置信度分数反映了模型对单元网格包含对象的置信度,以及它认为方框预测的准确性
        • 其置信度定义为在这里插入图片描述
      • 如果该单元格中不存在对象,则置信度得分应为零。否则,我们希望置信度得分等于预测框和基本事实之间的联合交集(IOU)。
      1. 每个边界框由5个预测组成:x、y、w、h和置信度
        • (x,y)坐标表示单元网格相对于网格单元边界的中心。
        • w,h相对于整个图像预测宽度和高度。
        • 置信度预测表示预测框和任何地面真值框之间的IOU。
      2. 每个网格单元还预测条件类概率,这些概率取决于包含对象的网格单元。每个网格单元的一组类概率,与框数无关。
      • 为每个网格单元预测边界框、这些框的置信度和类别概率。这些预测被编码为S×S×(B∗5+C)张量。
        • S为分的网格份数,S*S
        • B为需要的方框类型数
        • C为标签数
  • 网络结构设计

    • 网络的初始卷积层从图像中提取特征,而全连接层则预测输出的概率和坐标。

    • 网络有24个卷积层,然后是2个完全连接的层。没有使用GoogLeNet使用的初始模块,而是只使用1×1还原层和3×3卷积层,交替的1×1卷积层减少了前一层的特征空间。

    • 在这里插入图片描述

    • 使用Darknet框架进行所有训练和推理

    • 最后一层预测类概率和边界框坐标。通过图像宽度和高度对边界框的宽度和高度进行规格化,使其介于0和1之间。我们将边界框X和Y坐标参数化为特定网格单元位置的偏移量,因此它们也在0和1之间有界。

  • Loss函数定义

    • YOLO使用均方和误差作为loss函数来优化模型参数,即网络输出的S*S*(B*5 + C)维向量与真实图像的对应S*S*(B*5 + C)维向量的均方和误差。

      • l o s s = ∑ i = 0 s 2 ( c o o r d E r r o r + i o u E r r o r + c l a s s E r r o r ) loss = \sum_{i=0}^{s^2}(coordError+iouError+classError) loss=i=0s2(coordError+iouError+classError)

      • 其中,coordError、iouErrorclassError分别代表预测数据与标定数据之间的坐标误差、IOU误差和分类误差。

    • YOLO对loss的计算做了一些调整

      • 位置相关误差(坐标、IOU)与分类误差对网络loss的贡献值是不同的,因此YOLO在计算loss时,使用[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EWzEsrDs-1639708493727)(https://www.zhihu.com/equation?tex=%5Clambda+_%7Bcoord%7D+%3D5)]修正[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M60NGVjv-1639708493729)(https://www.zhihu.com/equation?tex=coordError)]。

      • 在计算IOU误差时,包含物体的格子与不包含物体的格子,二者的IOU误差对网络loss的贡献值是不同的。若采用相同的权值,那么不包含物体的格子的confidence值近似为0,变相放大了包含物体的格子的confidence误差在计算网络参数梯度时的影响。为解决这个问题,YOLO 使用[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yESGeY4c-1639708493730)(https://www.zhihu.com/equation?tex=%5Clambda+_%7Bnoobj%7D+%3D0.5)]修正[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o90QO23h-1639708493731)(https://www.zhihu.com/equation?tex=iouError)]。(注此处的‘包含’是指存在一个物体,它的中心坐标落入到格子内)。

      • 对于相等的误差值,大物体误差对检测的影响应小于小物体误差对检测的影响。这是因为,相同的位置偏差占大物体的比例远小于同等偏差占小物体的比例。YOLO将物体大小的信息项(w和h)进行求平方根来改进这个问题。(注:这个方法并不能完全解决这个问题)。

      • 在这里插入图片描述

    - 其中,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2m4671z8-1639708493733)(https://www.zhihu.com/equation?tex=x%2Cy%2Cw%2CC%2Cp)]为网络预测值,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Da1mmuov-1639708493739)(https://www.zhihu.com/equation?tex=x%2Cy%2Cw%2CC%2Cp)]帽 为**标注值**。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-83JSCfyt-1639708493745)(https://www.zhihu.com/equation?tex=%5CPi+_%7Bi%7D%5E%7Bobj%7D+)]表示物体落入格子i中,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nf72cdEA-1639708493751)(https://www.zhihu.com/equation?tex=%5CPi+_%7Bij%7D%5E%7Bobj%7D+)]和[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jrFazmbw-1639708493755)(https://www.zhihu.com/equation?tex=%5CPi+_%7Bij%7D%5E%7Bnoobj%7D+)]分别表示物体落入与未落入格子i的第j个bounding box内。
    
    - 公式第1行和第2行。
    
      > - 都带有[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wzqlpIDB-1639708493757)(https://math.jianshu.com/math?formula=1_%7Bij%7D%5E%7Bobj%7D)]意味着**只有"负责"(IOU比较大)预测的那个bounding box的数据**才会计入误差。
      > - 第2行宽度和高度先取了平方根,因为如果直接取差值的话,大的对象对差值的敏感度较低,小的对象对差值的敏感度较高,所以**取平方根可以降低这种敏感度的差异,使得较大的对象和较小的对象在尺寸误差上有相似的权重**。
      > - 乘以 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sQo8aXmY-1639708493760)(https://math.jianshu.com/math?formula=%5Clambda_%7Bcoord%7D)] **调节bounding box位置误差的权重**(相对分类误差和置信度误差)。YOLO设置 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3bYbqtqf-1639708493762)(https://math.jianshu.com/math?formula=%5Clambda_%7Bcoord%7D%20%3D%205)],即调高位置误差的权重。
    
    - 公式第3行和第4行。
    
      > - 第3行是存在对象的bounding box的置信度误差。带有[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GkRpE3Gq-1639708493764)(https://math.jianshu.com/math?formula=1_%7Bij%7D%5E%7Bobj%7D)]意味着**只有"负责"(IOU比较大)预测的那个bounding box的置信度**才会计入误差。
      > - 第4行是不存在对象的bounding box的置信度误差。**因为不存在对象的bounding box应该老老实实的说"我这里没有对象",也就是输出尽量低的置信度。**如果它不恰当的输出较高的置信度,会与真正"负责"该对象预测的那个bounding box产生混淆。其实就像对象分类一样,正确的对象概率最好是1,所有其它对象的概率最好是0。
      > - 第4行会乘以 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xyr30UZF-1639708493767)(https://math.jianshu.com/math?formula=%5Clambda_%7Bnoobj%7D)] **调节不存在对象的bounding box的置信度的权重(相对其它误差)**。YOLO设置 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-duG5pPko-1639708493769)(https://math.jianshu.com/math?formula=%5Clambda_%7Bnoobj%7D%20%3D%200.5)],即调低不存在对象的bounding box的置信度误差的权重。
    
    - 公式第5行,注意[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TnJweZia-1639708493771)(https://math.jianshu.com/math?formula=1_i%5E%7Bobj%7D)]意味着存在对象的网格才计入误差。
    
    - ```python
      链接:https://www.jianshu.com/p/cad68ca85e27
      ```
    
      • YOLO方法模型训练依赖于物体识别标注数据,因此,对于非常规的物体形状或比例,YOLO的检测效果并不理想。
      • YOLO采用了多个下采样层,网络学到的物体特征并不精细,因此也会影响检测效果。
      • YOLO loss函数中,大物体IOU误差和小物体IOU误差对网络训练中loss贡献值接近(虽然采用求平方根方式,但没有根本解决问题)。因此,对于小物体,小的IOU误差也会对网络优化过程造成很大的影响,从而降低了物体检测的定位准确性。
    • https://zhuanlan.zhihu.com/p/25236464
      
  • yolo训练

    1. 预训练。使用ImageNet-1000类数据训练YOLO网络的前20个卷积层+1个average池化层+1个全连接层。训练图像分辨率resize到224x224。
    2. 用步骤1)得到的前20个卷积层网络参数来初始化YOLO模型前20个卷积层的网络参数,然后用VOC 20类标注数据进行YOLO模型训练。为提高图像精度,在训练检测模型时,将输入图像分辨率resize到448x448。
  • 两阶段模型对比

    • 在这里插入图片描述

    • 在这里插入图片描述

  • 非极大值抑制

    • 简称为NMS算法,英文为Non-Maximum Suppression。其思想是搜素局部最大值,抑制极大值。

    • 在这里插入图片描述

    • 以目标检测为例:目标检测的过程中在同一目标的位置上会产生大量的候选框,这些候选框相互之间可能会有重叠,此时我们需要利用非极大值抑制找到最佳的目标边界框,消除冗余的边界框。

      • IoU:intersection-over-union,即两个边界框的交集部分除以它们的并集。
    • 不使用非极大值抑制,就会有多个候选框出现。抑制不是极大值的元素,可以理解为局部最大搜索。

      • 非极大值抑制的流程如下:

        1. 根据置信度得分进行排序
        2. 选择置信度最高的比边界框添加到最终输出列表中,将其从边界框列表中删除
        3. 计算所有边界框的面积
        4. 计算置信度最高的边界框与其它候选框的IoU。
        5. 删除IoU大于阈值的边界框(意味着和置信度最大的那个框检测到了同一物体)
        6. 重复上述过程,直至边界框列表为空。
  • YOLO的限制

    • YOLO对边界框预测施加了强大的空间约束,因为每个网格单元只能预测两个框,并且只能有一个类。
    • 这种空间约束限制了我们的模型可以预测的附近对象的数量。不利于检测小物体
    • 模型从数据中学习预测边界框,它很难推广到具有新的或不寻常的纵横比或配置的对象。
    • 训练一个近似检测性能的损失函数时,损失函数在小边界框和大边界框中处理相同的错误,大方框中的小错误通常是良性的,但小方框中的小错误对IOU的影响要大得多。主要错误来源是不正确的定位。
  • 鲁棒特征

    • Haar

      • Haar-like特征是计算机视觉领域一种常用的特征描述算子

      • 又将Haar-like扩展到三维空间(称为3DHaar-Like)用来描述视频中的动态特征。

      • Haar的发展历程

        • 在这里插入图片描述
    • Haar-like特征模板内只有白色和黑色两种矩形,并定义该模板的特征值为白色矩形像素和减去黑色矩形像素和。Haar特征值反映了图像的灰度变化情况

    • Haar-like特征分类

      • 线性特征、
      • 边缘特征、
      • 点特征(中心特征)、
      • 对角线特征;
    • SIFT

      • SIFT即尺度不变特征变换,是用于图像处理领域的一种描述。这种描述具有尺度不变性,可在图像中检测出关键点,是一种局部特征描述子

      • SIFT算法特点:

        • 具有较好的稳定性不变性,能够适应旋转、尺度缩放、亮度的变化,能在一定程度上不受视角变化、仿射变换、噪声的干扰。
        • 区分性好,能够在海量特征数据库中进行快速准确的区分信息进行匹配
        • 多量性,就算只有单个物体,也能产生大量特征向量
        • 高速性,能够快速的进行特征向量匹配
        • 可扩展性,能够与其它形式的特征向量进行联合
      • 不同的尺度空间上查找关键点,并计算出关键点的方向。

        • 在这里插入图片描述
    • SIFT算法实现特征匹配主要有以下三个流程:

      1. 提取关键点:关键点是一些十分突出的不会因光照、尺度、旋转等因素而消失的点,比如角点、边缘点、暗区域的亮点以及亮区域的暗点。此步骤是搜索所有尺度空间上的图像位置。通过高斯微分函数来识别潜在的具有尺度和旋转不变的兴趣点。
      2. **定位关键点并确定特征方向:**在每个候选的位置上,通过一个拟合精细的模型来确定位置和尺度。关键点的选择依据于它们的稳定程度。然后基于图像局部的梯度方向,分配给每个关键点位置一个或多个方向。所有后面的对图像数据的操作都相对于关键点的方向、尺度和位置进行变换,从而提供对于这些变换的不变性。
      3. 通过各关键点的特征向量,进行两两比较找出相互匹配的若干对特征点,建立景物间的对应关系。
      4. 原文链接:https://blog.csdn.net/qq_37374643/article/details/88606351
    • HOG

      • 方向梯度直方图(Histogram of Oriented Gradient, HOG),是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。

      • HOG特征通过计算和统计图像局部区域的梯度方向直方图来构成特征。

      • 思想:在一副图像中,局部目标的表象和形状能够被梯度或边缘的方向密度分布很好地描述。其本质为:梯度的统计信息,而梯度主要存在于边缘的地方。

      • HOG特征的提取与计算步骤

        • 色彩和伽马归一化

          • 为了减少光照因素的影响,首先需要将整个图像进行规范化(归一化)。在图像的纹理强度中,局部的表层曝光贡献的比重较大,所以,这种压缩处理能够有效地降低图像局部的阴影和光照变化。
        • 计算图像梯度

          • 计算图像横坐标和纵坐标方向的梯度,并据此计算每个像素位置的梯度方向值;求导操作不仅能够捕获轮廓,人影和一些纹理信息,还能进一步弱化光照的影响。最常用的方法是:简单地使用一个一维的离散微分模板在一个方向上或者同时在水平和垂直两个方向上对图像进行处理,更确切地说,这个方法需要使用滤波器核滤除图像中的色彩或变化剧烈的数据
        • 构建方向的直方图

          • 细胞单元中的每一个像素点都为某个基于方向的直方图通道投票。投票是采取加权投票的方式,即每一票都是带有权值的,这个权值是根据该像素点的梯度幅度计算出来。可以采用幅值本身或者它的函数来表示这个权值.
        • 将细胞单元组合成大的区间

          • 由于局部光照的变化以及前景-背景对比度的变化,使得梯度强度的变化范围非常大。这就需要对梯度强度做归一化。归一化能够进一步地对光照、阴影和边缘进行压缩.。把各个细胞单元组合成大的、空间上连通的区间。这样,HOG描述符就变成了由各区间所有细胞单元的直方图成分所组成的一个向量。这些区间是互有重叠的,这就意味着:每一个细胞单元的输出都多次作用于最终的描述器
    • 卷积特征

  • DPM

    • 使用不相交的管道来提取静态特征、分类区域、预测高分区域的边界框
    • YOLO同时执行特征提取、边界框预测、非最大值抑制和上下文推理。代替静态特征,网络在线训练特征,并针对检测任务对其进行优化。
  • R-CNN

    • 选择性搜索生成潜在的边界框,卷积网络提取特征,SVM评分,线性模型调整边界框,非最大值抑制消除重复检测。
    • 复杂管道的每个阶段都必须独立地进行精确调谐,结果系统非常缓慢,在测试时每个图像需要40秒以上
  • fast and faster R_CNN

    • 专注于通过共享计算和使用神经网络提出区域而不是选择性搜索来加速R-CNN框架
    • 它们比R-CNN提供了速度和准确性的改进,但它们的实时性能仍然不足。
  • VGG-16训练YOLO。这个模型更精确,但也比YOLO慢得多。

  • 预训练

    • 首先,需要随机初始化参数,然后开始训练网络,不断调整直到网络的损失越来越小。
    • 在训练的过程中,一开始初始化的参数会不断变化。当结果很满意的时候,就可以将训练模型的参数保存下来,以便训练好的模型可以在下次执行类似任务时获得较好的结果。这个过程就是 pre−training。
    • 直接使用之前保存下来的模型的参数来作为这一任务的初始化参数,然后在训练的过程中,依据结果不断进行一些修改。这时候,你使用的就是一个 pre−trained模型,而过程就是 finetuning。
    • 预训练 就是指预先训练的一个模型或者指预先训练模型的过程;微调 就是指将预训练过的模型作用于自己的数据集,并使参数适应自己数据集的过程。
    • 比如 VGG,Inception等模型都提供了自己的训练参数,以便人们可以拿来微调。这样既节省了时间和计算资源,又能很快的达到较好的效果。
  • YOLO的训练数据

    • 在这里插入图片描述
  • fast R_CNN和yolo之间训练数据对比:

    • 在这里插入图片描述

    • YOLO努力正确定位对象。相对于所有其他来源的总和,定位错误占YOLO错误的比例更大。

    • 快速R-CNN产生的定位错误要少得多,但背景错误要多得多。

tips:

  • 由于输出层为全连接层,因此在检测时,YOLO训练模型只支持与训练图像相同的输入分辨率
  • 虽然每个格子可以预测B个bounding box,但是最终只选择IOU最高的bounding box作为物体检测输出,即每个格子最多只预测出一个物体。当物体占画面比例较小,如图像中包含畜群或鸟群时,每个格子包含多个物体,但却只能检测出其中一个。这是YOLO方法的一个缺陷。
目标检测MAP值
  • 目标检测问题中的每个图片都可能包含一些不同类别的物体。

  • 评估指标需要知道ground truth(真实标签)数据。ground truth包括图像中物体的类别以及该图像中每个物体的真实边界框。

  • 查准率(precision)和查全率(recall):

    • 对于二分类问题,可将样例根据其真实类别与学习器预测类别的组合划分为真正例(true positive)、假正例(false positive)、真反例(true negative)、假反例(false negative)四种情形,令TP、FP、TN、FN分别表示其对应的样例数,则显然有TP+FP+TN+FN=样例总数。分类结果的“混淆矩阵”(confusion matrix)如表所示:

    • 真实|预测正例反例
      正例TP(真正例),正确地标记为正FN(假反例),错误地标记为负
      反例FP(假正例),错误地标记为正TN(真反例),正确地标记为负
    • 查准率P和查全率R

      • P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP

      • R = T P T P + F N R = \frac{TP}{TP+FN} R=TP+FNTP

        • Precision:衡量挑出的的样例中有多少符合预期的样例比例。

        • recall:衡量所有符合样例中有多少样例被挑选中。

        • 一般来说查准率高时,查全率往往偏低;而查全率高时,查准率往往偏低。

          • 以查准率为纵轴,查全率为横轴作图,就得到了查准率-查全率曲线,简称"P-R曲线".

            • 在这里插入图片描述
        • 平衡点(BER):查准率=查全率时的取值,用来比较模型好坏.

        • AP值:PR曲线下面积的近似,是一个0~1之间的数值,也可用来衡量模型的performance

          • AP是一个数字,模型的AP大,则模型更好,方便比较不同模型
          • 在这里插入图片描述
  • MAP(mean Average Precision, 即各类别AP的平均值)

    • 对于各个类别,分别按照上述方式计算AP,取所有类别的AP平均值就是mAP。
  • https://blog.csdn.net/bestrivern/article/details/98482493
    
构建自己的目标检测数据库
  • 首先得先作数据标注,也就是先要告诉机器图像里面有什么物体、物体在位置在哪里,有了这些信息后才能来训练模型。

    • 目前流行的数据标注文件格式主要有VOC_2007、VOC_2012,该文本格式来源于Pascal VOC标准数据集,这是衡量图像分类识别能力的重要基准之一。如VOC_2007数据格式文件,以xml格式存储

    • 在这里插入图片描述

    • 其中重要的信息有:filename:图片的文件名;name:标注的物体名称;xmin、ymin、xmax、ymax:物体位置的左上角、右下角坐标

    • 标注工具

      • 数据标注工具labelImg,可以通过可视化的操作界面进行画框标注,就能自动生成VOC格式的xml文件了。
      • 通过访问labelImg的github页面(https://github.com/tzutalin/labelImg),下载源代码。
    • 标注数据

      • 创建文件夹

        • Annotations:用于存放标注后的xml文件
        • ImageSets/Main:用于存放训练集、测试集、验收集的文件列表
        • JPEGImages:用于存放原始图像
      • 标注数据:

        • 将图片集放在JPEGImages文件夹里面,注意图片的格式必须是jpg格式的。
        • 打开labelImg标注工具,然后点击左侧的工具栏“Open Dir”按钮,选择刚才放图片的JPEGImages文件夹。
        • 点击左侧工具栏的“Create RectBox”按钮,然后在主界面上点击拉个矩形框,将目标圈出来。圈定后,将会弹出一个对话框,用于输入标注物体的名称。
        • 然后点击左侧工具栏的“Save”按钮,选择刚才创建的Annotations作为保存目录,系统将自动生成voc_2007格式的xml文件保存起来。
      • 划分训练集、测试集、验证集

        • 在github上下载一个自动划分的脚本(https://github.com/EddyGao/make_VOC2007/blob/master/make_main_txt.py)
    • https://my.oschina.net/u/876354/blog/1927351?tdsourcetag=s_pcqq_aiomsg
      

上点击拉个矩形框,将目标圈出来。圈定后,将会弹出一个对话框,用于输入标注物体的名称。
> > - 然后点击左侧工具栏的“Save”按钮,选择刚才创建的Annotations作为保存目录,系统将自动生成voc_2007格式的xml文件保存起来。
>
> - 划分训练集、测试集、验证集
>
> > - 在github上下载一个自动划分的脚本(https://github.com/EddyGao/make_VOC2007/blob/master/make_main_txt.py)

  • https://my.oschina.net/u/876354/blog/1927351?tdsourcetag=s_pcqq_aiomsg
    
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

羞儿

写作是兴趣,打赏看心情

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值