您的位置:首页 > 编程语言

stixel-world代码解读

2018-05-23 21:17 381 查看

下边缘的求法应该是使用的第二篇论文的方法

上边缘的求法应该是使用的第一篇论文的方法

这是求上边缘的代码:

std::vector<float> integralMembership(vmax);
float tmpSum = 0.f;
for (int v = 0; v < vmax; v++)
{
const float d = disparity(u, v);

float membership = 0.f;
if (dB > 0.f && d > 0.f)
{
const float deltad = (d - dB) / deltaD;
const float exponent = 1.f - deltad * deltad;
membership = powf(2.f, exponent) - 1.f;
}

tmpSum += membership;
integralMembership[v] = tmpSum;
}

score(u, 0) = integralMembership[vB - 1];
for (int vT = 1; vT < vB; vT++)
{
const float score1 = integralMembership[vT - 1];
const float score2 = integralMembership[vB - 1] - integralMembership[vT - 1];
score(u, vT) = score1 - score2;
}

这段代码应该是对应stixel-world的论文的cost方程,score1-score2是vT之前不包括vT所有点之和减去vT之后包括vT所有点之和.

修改代码:

score(u, 0) = - integralMembership[vB - 1];

 

 

这段代码是求上边缘使用的,求的是delta Du这部分

float deltaD = 0.f;
if (dB > 0.f)
{
const float YB = tf.toY(dB, vB);
const float ZB = tf.toZ(dB, vB);
deltaD = dB - tf.toD(YB, ZB + param_.deltaZ);
}

YB和ZB是baseline那个点对应的世界坐标的y值和z值,世界坐标如下图:

 这个toD是to disparity,不是depth

 

 

上边缘应该是先求出道路消失的位置,即vhor

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: