• TI Thinks Resolved

Compiler/IWR1642: question about gtrack

Intellectual 270 points

Replies: 13

Views: 206

Part Number: IWR1642

Tool/software: TI C/C++ Compiler

Hi,

I am learning people counting's gtrack.I have the following  questions:

1.In the prediction step of EKF,

Q is the process noise covariance matrix.And we consider piecewise white noise model  for the noise.

We define maxAcceleration 5m/s according to your demo.What is the basis for setting the value?
In gtrackUnitPredict function,obj.P_apriori(1:mSize,1:mSize) = obj.F(1:mSize,1:mSize) * obj.P(1:mSize,1:mSize) * obj.F(1:mSize,1:mSize)' + obj.Q(1:mSize,1:mSize)*obj.processVariance

processVariance = (0.5f*maxAcceleration)*(0.5f*maxAcceleration).Why is maxAcceleration multiplied by 0.5?

2.In gtrackUnitScore function,we compute the Mahalanobis distance between all measurements of cloud point and different tracks.

1)We build a gate using gtrack_gateCreateLim function.

gC_inv (EC) is the inverse of group covariance matrix(gC).Sometimes,the main diagonal of the matrix(gC_inv) is negative (gC's is positive).Is it right?Can the gate be negative?

2)

We use gtrack_computeMahalanobis3 function to compute mahalanobis distance.Still,the main diagonal of the matrix(gC_inv) is sometimes negative.

Can the mahalanobis distance be negative?

Thanks,

Hanna

  • In reply to Michael_Livshitz:

    Hi Michael,
    You're so nice.I had considered whether I should change the GatingParams.gatingCfg 4 3 2 0.It still uses volume and limits. By contrast, the objects tested, such as people, are small enough.Because velocity limit is 0,I don't know how to compute V=4*pi/3*a*b*c.But the volume (4) is definitely enough according to your reference file for PC(your volume is 2).

    Back to scoring function ,from my understanding,the term  ln(mod(Ci)) is negative and its absolute value must be smaller than the part of Mahalanobis distance  in your case.Say, track1's ln(mod(Ci)) is -3 and track2's is -2.The distance from one point to two targets is the same,such as 1.Because when  the term ln(mod(Ci)) is closer to zero it's more likely to attract points.Then track2 should be more likely to 'attract' this point.But,-3+1<-2+1,according to the algorithm the point should go to track1.Is it right?
    [D(ij)]^2 can be a positive number or a negative number.Say,track1's ln(mod(Ci)) is -3 and track2's is -2.The distance from one point to two targets is the same,such as 4.Then -3+4<-2+4,the point will still go to track1.The numerical value is only used for illustration, which is not rigorous enough.Could your give me a hint?
    By the way,M(>=1) is chi-square distribution's degree of freedom.How to  determine this value in my case?
    Thanks,
    Hanna
  • In reply to XiaoHang Chen:

    Hanna,

    I suggest you focus on the frame where you have second target allocated, and understand the reasons. Your understanding of scoring function and numerical example is correct. M is number of measurement dimensions. Not sure why would you need it. In the end, whether we associate particular point to one or another target that are very close or even overlap is not that important. I.e. if one's hand overlaps another target's shoulder => no big deal if we associate reflection point one way or another.Errors will be made. Ideally, those errors should not lead to system errors.

    Michael

  • In reply to Michael_Livshitz:

    Hi Michael,.

    I still feel a little confused.when  the term ln(mod(Ci)) is closer to zero it's more likely to attract points.Then in my example, it should be reversed.track1's ln(mod(Ci)) is -3 and track2's is -2.The distance from one point to two targets is the same,such as 1.Because when  the term ln(mod(Ci)) is closer to zero it's more likely to attract points.Then track2 should be more likely to 'attract' this point.That is, when the term ln(mod(Ci)) is a small negative number(far away from zero),it's more likely to attract points.Is it right?

    Thank you for your reply.

    Thanks,

    Hanna