【问题标题】:In Object Detection, do you train the CNN classifier on the Ground Truth bounding boxes?在目标检测中,您是否在 Ground Truth 边界框上训练 CNN 分类器?
【发布时间】:2020-08-03 04:12:02
【问题描述】:

我们以 R-CNN 为例。我知道有区域提议网络,然后是一个单独的分类网络,总体思路是它找到可能是对象的潜在区域,然后将这些区域传递给分类器以找出它是什么。我想知道如果我有一个自定义数据集,该分类器是如何得到训练的。它是否只是简单地提取所有边界框,使用这些边界框坐标创建新图像,对其进行预处理,然后将它们用于训练?

换句话说,物体检测模型中使用的分类器是根据边界框坐标生成的图像训练的,还是比这更复杂?

【问题讨论】:

    标签: deep-learning computer-vision object-detection conv-neural-network


    【解决方案1】:

    根据我对您的问题的理解:“您想了解分类器网络的工作原理吗?”

    好吧,当我们设计一个检测器网络和一个分类器网络时,这两个网络都在不同类型的训练数据集上进行了训练。例如,您想检测不同类别的车辆,如卡车、公共汽车、货车、汽车、自行车等

    1. 检测器网络:该网络将使用在场景中车辆周围带有标记边界框的图像进行训练。即边界框的坐标。在测试这部分网络的过程中,您将获得可以为您提供车辆周围的边界框(坐标)的结果。

    2. 分类器网络:将使用裁剪后的车辆图像进行训练,这些图像具有不同的类标签,所有标签都调整为相同的尺寸,例如卡车 1、公共汽车 2、面包车 3、汽车 4 等等。

    因此,在检测器网络之后测试整个管道(检测器 + 分类器)时,您将根据场景中存在的车辆数量获得多个边界框。之后,您需要将所有裁剪后的边界框图像调整为相同尺寸,并一一提供给分类器网络。例如一个场景可能有 5 辆汽车,那么分类器将分别接收 5 辆汽车图像。您还需要保留输入的裁剪图像的坐标,以便在结果中标记车辆的类别和位置。

    【讨论】:

    • 所以我想我的后续问题是:分类器网络是在原始裁剪的边界框(所有地面实况框)上训练的,还是仅在检测器网络所在的边界框上进行标记能逻辑吗?例如,如果我们有一张包含卡车 1、公共汽车 2、面包车 3 的图像,而检测器网络仅识别卡车和公共汽车,那么面包车是否仍然被裁剪、调整大小并输入分类器进行训练?
    • 取决于您想要的用例输出。如果要检测卡车 1、公共汽车 2 和货车 3 的所有类别,则必须使用所有单独类别的裁剪图像训练分类器,即所有 3 个类别,而不考虑检测器的输出。如果检测器输出仅检测到 2 类卡车 1 和公共汽车 2,则检测器需要更多微调。但是分类器网络需要在你需要的所有类的裁剪图像上进行训练。
    猜你喜欢
    • 2017-12-23
    • 2015-11-17
    • 2018-12-10
    • 1970-01-01
    • 2014-04-30
    • 2023-01-04
    • 1970-01-01
    • 2013-12-09
    • 2014-04-23
    相关资源
    最近更新 更多