两次检测之间的交叉联合

Sam*_*s23 21 computer-vision matlab-cvst

我正在阅读论文: 法拉利等人.在"亲和力措施"部分.我明白法拉利等人.试图获得亲和力:

  1. 位置亲和力 - 使用两个检测之间的交叉结合区域
  2. 外观亲和力 - 使用直方图之间的欧几里德距离
  3. KLT点亲和力测量

但是,我有两个主要问题:

  1. 我无法理解2次检测之间交叉结合的实际含义以及如何计算它
  2. 我尝试了一个略有差异的外观亲和力测量 我将RGB检测转换为HSV ..将Hue和Saturation连接成1个向量,并用它与其他检测进行比较.然而,使用该技术失败,因为袋子的检测具有比检测同一个人的头部(具有不同取向)更好的相似性得分.

对上述问题的任何建议或解决方案?谢谢你,非常感谢你的帮助.

Goi*_*Way 37

尝试在Union上交叉

Union on Union是一种评估指标,用于衡量特定数据集上对象检测器的准确性.

更正式地说,为了应用Intersection over Union来评估(任意)对象检测器,我们需要:

  1. 地面实况边界框(即,测试集中标记为边界框的手,指定图像在我们的对象中的位置).
  2. 我们模型中预测的边界框.

下面我已经包含了一个地面真实边界框与预测边界框的视觉示例:

在此输入图像描述

预测的边界框用红色绘制,而地面实况(即手工标记)边界框用绿色绘制.

在上图中,我们可以看到我们的物体探测器已经检测到图像中存在停止符号.

因此,可以通过以下方式确定计算联盟的交叉点:

在此输入图像描述

只要我们有这两组边界框,我们就可以在Union上应用Intersection.

这是Python代码

# import the necessary packages
from collections import namedtuple
import numpy as np
import cv2

# define the `Detection` object
Detection = namedtuple("Detection", ["image_path", "gt", "pred"])

def bb_intersection_over_union(boxA, boxB):
    # determine the (x, y)-coordinates of the intersection rectangle
    xA = max(boxA[0], boxB[0])
    yA = max(boxA[1], boxB[1])
    xB = min(boxA[2], boxB[2])
    yB = min(boxA[3], boxB[3])

    # compute the area of intersection rectangle
    interArea = (xB - xA) * (yB - yA)

    # compute the area of both the prediction and ground-truth
    # rectangles
    boxAArea = (boxA[2] - boxA[0]) * (boxA[3] - boxA[1])
    boxBArea = (boxB[2] - boxB[0]) * (boxB[3] - boxB[1])

    # compute the intersection over union by taking the intersection
    # area and dividing it by the sum of prediction + ground-truth
    # areas - the interesection area
    iou = interArea / float(boxAArea + boxBArea - interArea)

    # return the intersection over union value
    return iou
Run Code Online (Sandbox Code Playgroud)

gtpred

  1. gt :真实的边界框.
  2. pred :我们模型中预测的边界框.

有关详细信息,请单击此帖子

  • 此代码为非重叠矩形打破(返回负值). (10认同)
  • 对于框 (0,0,10,10) 和 (1,1,11,11) 这给出了错误的结果;相交面积是 100 而不是 81。 (2认同)
  • `boxA` 和 `boxB` 的坐标顺序是什么? (2认同)
  • 此代码不考虑矩形不重叠的情况。有关如何正确执行此操作的信息,请参阅此答案:/sf/ask/1774442491/ detector-evaluation (2认同)

Dim*_*ima 25

1)您有两个重叠的边界框.您计算框的交集,这是重叠的区域.您计算重叠框的并集,即整个框的面积减去重叠面积的总和.然后用联合划分交叉点.计算机视觉系统工具箱中有一个名为bboxOverlapRatio的功能.

2)通常,您不希望连接颜色通道.您想要的是3D直方图,其中尺寸为H,S和V.