stixel-world代码解读

本文详细解析了Stixel-world中上边缘求法的实现细节,包括使用第一篇论文的方法来确定上边缘,并提供了具体的代码实现。通过数学公式和代码片段,展示了如何计算上边缘的得分以及关键参数的获取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

这是求上边缘的代码:

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值