如何从视频中对真阴性进行分类?

Posted

技术标签:

【中文标题】如何从视频中对真阴性进行分类?【英文标题】:How to classify true negative from a video? 【发布时间】:2017-01-31 09:43:00 【问题描述】:

出于性能测量目的,我正在尝试绘制 ROC 曲线。在 ROC 曲线中,我必须在 x 轴上绘制假阳性率 (FPR),在 y 轴上绘制真阳性率 (TPR)。众所周知,

FPR = FP/(FP+TN)

那么在下图中我如何检测真阴性(TN)?我已经使用 HOG 分类器来检测人类。我用矩形 1、2、3、4、5、6(或应为 7)标记,以显示应忽略且不应归类为人类的人类对象。我认为这些都是真正的否定。

在这张照片中,我想说我的假设,正如我们所知,

假阴性:结果应该是肯定的,但结果是否定的。

假阳性:结果本应为阴性,但结果为阳性。

真正的肯定:结果应该是肯定的并且是肯定的。

真否定:结果应该是否定的并且是否定的

所以我认为在这个框架中 FP = 0,TP = 0,FN = 0 但不确定 TN,是 6 还是 7 或其他?如果我错了,还请纠正我关于 FP、TP 和 FN 的问题。我看到了这个问题How to categorize True Negatives in sliding window object detection?,这确实很有帮助,但我仍然必须为这种情况计算 FPR。

【问题讨论】:

但是这张图片代表什么?这个带数字的矩形是什么?这个矩形是你的算法喊“这是人”的地方吗?如果是这样 - 什么是“地下”,有什么人类喜欢的吗?为了使用分类语言,您还需要显示每个地方您的算法说“没什么有趣的”,这可能是一个巨大的数字(因为在滑动窗口中你有成千上万的“负面”答案)。 是的,那些矩形和数字是“这是人类”。它是来自正在运行的视频的一帧,发生这种情况时,我正在计算每一帧中的 FP、TP、TN、FN。所以在这个框架中是 TN = 7 ? “因为在滑动窗口中你有成千上万个“否定”答案”那么我如何计算 FPR 并绘制 ROC 曲线? @lejlot 这听起来离题了,可能更多是关于 stats.SE 的主题 【参考方案1】:

您无法从此类图像中计算这些值,您需要更多数据(了解实际发生的情况)。但是你需要的可能只是这些窗口的total amount,这是一个常数N。现在,似乎所有这些窗口都是错误的(没有一个是人的),因此:

FP = 6(您的方法声称有 6 个人,但这些声明都无效,因为它们完全关闭 - 但是如果这只是可视化问题,并且方法实际上捕获了有效的人,则这 6 应该移动到 TP而是) TP = 0(它没有正确标记任何人) FN = 10(如果我数正确的话,这张图片有 10 个人,所有这些都不见了) TN = N - 16,其中 N 是所有分析窗口的数量,因为它们都被正确归类为“缺乏人类”,最多 10 个 FN 和 6 个 FP,加起来是这 16 个。

一般

FP = 有多少非人类被标记为“人类” TP = 有多少实际人类被标记为“人类” FN = 有多少实际人类被正确忽略(未标记为“人类”) TN = 有多少实际非人类被正确忽略(未标记为“人类”)

【讨论】:

Well HOG 方法提供了一个矩形(检测窗口)来检测人类,在这个框架中我认为不应该检测到任何人类,因为有些人是如此微小且不完整。所以算法没有检测到是正确的,所以我认为FP = 0,因为没有检测到不完整的人体对象,TP = 0,因为没有矩形没有人,FN = 0,没有假矩形或假检测和 TN = 10(如果您计数有 10 个类似人类的对象)仅用于此帧,因为不存在可检测的对象(人类)并正确忽略。对不起,我只是说我的理解和信心 这完全不是它的工作原理,当然你可以定义什么分辨率对你来说很重要,但是你不能随意改变这些术语的定义。它返回 6 帧,没有一个是人类(高分辨率或低分辨率),所以 FP 为 6,周期。这里没有讨论。 FN 为 0 或 10,具体取决于您的分辨率。 TN 不是 10,因为它取决于实际分析了多少帧。这就是该术语的定义方式。然而,作为一个元问题——如果没有人,你根本无法定义这些对象,这不是一个正确的分类问题 你的方法意味着你有一些预处理,它预先选择了“类人对象”,并且算法应该正确分类哪个“类人”是实际的人。这很好,但您实际上需要拥有此方法(在脚本中,而不是作为人类)。你有吗?这是极不可能的情况,因为它要求您有一个完美的“类人”预选器,并且“检测到的人”的位置已经表明这不是它是如何工作的 - 它清楚地选择了“作为人类” ” 甚至不像人类的东西,所以它不是你的“10 个类似人类的东西”的子集 ***.com/questions/16271603/… 在这个问题的图像中 FP = 2 不是吗?因为有两个假红色矩形在搜索人类,但在我的图像中,你没有像这些 FALSE RECTANGLE 这样的东西。 FN =1 作为 1 rect 表示,TP =3 作为 rect 表示。我就是这么想的。 是的,对于单独的问题,FP=2。在您提供的图像中,有 6 个矩形,它们错误地表示有人。看看我的回答,我一直在说 FP=6。除非您认为它们没问题,因为它们“有点偏离但足够接近”,这是非常特定于领域的,但我会说从图像识别的角度来看是无效的。

以上是关于如何从视频中对真阴性进行分类?的主要内容,如果未能解决你的问题,请参考以下文章

如何从多类分类的混淆矩阵中提取假阳性、假阴性

分类模型的评估与选择

你能修复 scikit learn 分类器中的假阴性率吗

如何在 python 3 中对大量文本进行分类?

如何在 python 的朴素贝叶斯分类器中对用户输入测试集进行分类?

无法从 crontab 中对文件进行分类 - 猫:0652-050 ​​- unix AIX