在OpenCV 2.4.x中初始化MSER的参数的确切含义?

Ekt*_*kta 30 opencv mser

OpenCV参考手册(2.4.x)声明初始化MSER的构造函数需要以下参数:

delta,min_area,max_area,max_variation,min_diversity,max_evolution,area_threshold,min_margin,edge_blur_size.

我正在处理灰度图像.参数"delta","max_variation"和"min_diversity"的用途是什么?这些参数有助于控制MSER的哪些属性?

我已经尝试了很多来找到这个的确切答案,我只能在下面的页面上找到一些信息(没有一个在告诉我这3个参数究竟是什么控制时特别有用):1.OpenCV wiki 2. Wikipedia MSER的描述 3. 关于STackOverflow的MSER问题

请帮忙!

pen*_*ope 47

我将假设你知道MSER特征检测如何工作的基础知识(如果没有,维基百科,以及简短的概述如下).

您有两种类型的MSER区域,正面和负面.

第一种类型,您可以通过所有强度的阈值处理(对于灰度图像,0255).例如,对于阈值T = 100,< 100分配具有强度的所有像素black,或者foreground,并且所有像素>= 100强度为whitebackground.

现在,想象一下你正在观察一个特定的像素p.在某个阈值,我们称之为它T1,它将开始属于前景并保持这种状态直到T=255.在T1一个像素将属于一个组件CC_T1(p).5灰度级以后,它将属于该组件CC_(T1+5)(p).

针对所有阈值获得的所有这些连通组件都是MSER的潜在候选者.(如果您反转我的black/foregroundwhite/background阈值分配,则获得其他类型的组件).

参数有助于确定哪些潜在候选人确实最大稳定:

  • 三角洲

    对于每个地区,都会测量变化:

    V_T = (size(CC_T(p))-size(CC_{T-delta}(p)))/size(CC_{T-delta}(p))

    为每个可能的门槛Ti.如果这种变化的像素是变化的一个局部最小,也就是V_T < V_{T-1}V_T < V_{T+1},该地区是最大的稳定.

    参数delta表示区域需要稳定多少个不同的灰度级才能被认为是最大稳定的.对于较大的三角洲,您将获得更少的区域.

    注意:在介绍MSER区域的原始论文中,实际公式为:

    V_T = (size(CC_{T+delta}(p))-size(CC_{T-delta}(p)))/size(CC_T(p))

    OpenCV实现使用稍微不同的公式来加速特征提取.

  • minArea,maxArea

    如果某个区域最稳定,则如果区域小于minArea像素或大于maxArea像素,则仍然可以拒绝该区域.

  • maxVariation

    回到第1点的变化(与delta相同的函数):如果一个区域最大稳定,如果区域变化大于maxVariation,它仍然可以被拒绝.

    也就是说,即使该区域"相对"稳定(比邻近区域更稳定),它也可能不是"绝对"足够稳定的.对于较小的maxVariation,您将获得更少的区域

  • minDiversity

    该参数用于修剪太相似的区域(例如,仅对几个像素不同).

    对于一个区域CC_T1(p)最大限度地稳定的,找到一个区域CC_T2(p)是"父最大限度地稳定区域".这意味着,T2 > T1,CC_T2(p)是一个最大的稳定区域,并且没有T2 > Tx > T1使得CC_Tx(p)最大是稳定的.现在,比较父母的大小:

    diversity = (size(CC_T2(p)) - size(CC_T1(p))) / size(CC_T1(p))

    如果这diversitymaxDiversity,删除该区域CC_T1(p).对于更大的多样性,您将获得更少的区域.

    (对于这个参数的确切公式,我不得不深入研究程序代码)


小智 12

  • Delta delta,在代码中,它进行比较 (size_{i}-size_{i-delta})/size_{i-delta}.默认5.
    • MinArea修剪小于minArea的区域.默认60.
    • MaxArea修剪大于maxArea的区域.默认14400.
    • MaxVariation修剪该区域与其子女相似的大小.默认0.25
    • MinDiversity追溯到多样性<min_diversity切断mser.默认值为0.2.
    • MaxEvolution用于彩色图像,演变步骤.默认200.
    • AreaThreshold区域阈值导致重新初始化.默认1.01.
    • MinMargin忽略了太小的余量.默认0.003.
    • EdgeBlurSize边缘模糊的光圈大小.默认5.
    • Mask可选的输入掩码,用于标记应检测功能的区域


Ekt*_*kta 5

由于这个链接,我找到了我的问题的答案.

通过将强度阈值T从0变为255来获得MSER.Delta决定该变化的最小计数.因此,尺寸{i}表示灰度图像中具有强度值i的区域的尺寸或面积.

很快就会回复MaxVariation和MinDiversity.

  • 这个链接已经死了 (3认同)