This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

IWR1642: IWR1642 pplcount gui for 50m config ... walk from 50m to 0m , when people walk close 25m can be detect , detect distance isn't meet our expectation

Part Number: IWR1642


Hi,
problem:
People walk from 0 to 50m , the detect is normal,  but when people walk out of detect range about 50m , then come back to 0m
the signal will be detected at 25 meters, it mean that start from 50M~25M, no signal.
expect result:
walk form 50 m to 0 m ,about 50m can be detect.
HW:IWR1642 ES 2.0
attach file is config.
/Melvin
  • Hi Melvin,

    Please download the latest industrial toolbox, where we have improved performance in this case.  We expect to see an approaching target detected at 40 meters or earlier with the newer demo that has improved CFAR detection chain.

    If detection is still poor on incoming targets after the new demo is downloaded, please try lowering the bolded and underlined values in the configuration: 

    allocationParam 30 60 1.0 3 2.8 2.0  These are explained in the people counting customization guide.

    Regards,

    Justin

  • Hi,

    HW ES2.0 , use industrial toolbox 2.5.1..

    test 3 condition:

    1.allocationParam 30 60 1.0 3 2.8 2.0 

    2.allocationParam 20 60 1.0 2 2.8 2.0 

    3.allocationParam 10 60 1.0 1 2.8 2.0

    All of above, the result is the same , about close 25m can detect . 

    How can I improve the result?

    /Melvin

  • Hi Melvin,

    You will need to increase the number of detection points in the point cloud. The easiest way to do this is to lower the CFAR thresholds.

    cfarCfg 4 4 15 16 8 6 0 63 63 0 1  The underlined values directly effect when peaks are counted as detection. Lowering these values will increase the number of points in the point cloud.

    In general, you should iterate through a 2 step loop to improve the performance of the GTrack software.

    1. Ensure that the point cloud is rich enough to provide the tracker with enough points to cluster and track. This is generally done by manipulating CFAR. You may also want to experiment with the chirp characteristics in some situations.
      1. Point cloud is not rich enough when there are no points where the person should be.

    2. When you believe the point cloud is no longer an issue, the you will want to start tuning the GTrack software itself.  The traffic monitoring demo has a tool that allows you change the GTrack parameters after having captured data, so you can iterate through different parameter sets without having to go out and collect more data.  This guide explains how to use the software. See the link in my previous post on this thread for an explanation of what each parameter does.

    My recommendation would be to read the guide linked in step 2 above, then collect a representative data set.  You can then iterate through different parameter settings to see what works best for your situation.  If you are still having problems, we can discuss changes to the GTrack software itself that may help solve this issue. 

    I am going to link the other threads you have open to this answer, as I believe the process I have outlined above will allow you to solve the various issues you are seeing.

    Regards,

    Justin

  • Hi,
    I had some problems ,please help ?
    1.Now , I use your 50m_longRangeTM.cfg  tuning cfarCfg , how can I ensure the point cloud is rich enough?
    2.I had see the document about tuning GTrack,but It is for Traffic Monitoring, the config mmw_tm_demo_ph2.cfg as attach file,and now I use pplcount gui with 50m_longRangeTM.cfg, the two config is different,Can I use mmw_tm_demo_ph2.cfg in pplcount gui?
    3.mmw_tm_demo_ph2.cfg  have many parameter , please sugguest which parameters tuning can help me to slove below issue.
      (1)walk from 50m to 0m , when people walk close 25m can be detect , detect distance isn't meet our expectation
      (2)MMWave detect 2 people, when 2 people walk side by side, only can detect 1 people on GUI isn't meet our expectation
      (3)Sometimes, when people continuous moving, the tracking point was stopped
      (4)Sometimes, walked straight ,the tracking trajectory was suddenly offset
      (5)Sometimes, People amount incorrect
    /Melvin

    mmw_tm_demo_ph2.cfg

  • Hi Melvin,

    I would recommend reading through this document on GTrack, which explains fully how our tracking software works. Now to address your questions:

    1. The point cloud needs to show points where the target person is, otherwise, the tracker will not work. When you get a detection on the person at 25m, are there any points in the point cloud at 30m when the person is at 30m or at 40m when the person is at 40m?  Do these points appear in consecutive frames, or are they sporadic? The tracker reliably detecting a person will rely on two things:
      1. When coming into view of the sensor, they create a cluster meeting the allocation parameters.  You have set the parameters as low as 10 0.01 1 2 1 - this means the cluster would need to contain 1 point with 10 total SNR, which is a very small cluster.
      2. After this cluster meets the requirements to have a tracker associated with it, it will have to pass another test to get into active state. When the track is initialized, it is put in detect state. To move to active state, it will have to have at least one point in the point cloud associated with it for N consecutive frames. N is the bolded value in stateParam 10 20 2000 10.  The second argument (underlined) is called detect2free. If there are no points in the point cloud associated with the track for that many consecutive frames, the tracker object will be released.

      You will have to ensure that the point cloud has enough points in it to meet these requirements. By lowering the CFAR thresholds, you will enable the device to detect more points. CFAR checks a range/doppler bin against the noise around it. If it is greater than the noise by the CFAR threshold, it will return a detected point for that range/doppler bin. In noisier areas, it may be necessary to reduce the CFAR thresholds to improve detection.

    2. You can use mmw_tm_demo_ph2.cfg, but it will not work well for human detection.  I would recommend sticking with 50m_longRangeTM.cfg, as it is intended for human detection.
    3. GTrack in traffic monitoring is identical to GTrack in People Counting, save for a few parameters, which I will explain below:
      1. Scenery Parameters – these are completely different from the People Counting parameters, though they fill the same function.  These are described in section 3.3.3.1.1 of the Traffic Monitoring TI Design. The first argument is the number of boundary boxes. Only points within the defined boundary boxes will be considered for tracking. Setting 0 boundary boxes will make all points be considered for tracking. Up to 2 boundary boxes can be defined. The (left, right, bottom, top) arguments should be considered assuming you are standing behind the device, so that you are overlooking the scene the device is overlooking. Then left is you left, right is your right, bottom is your location, and top is the range limit of the device.  The Static box arguments work the same way. An object in the static box will maintain a track even if there are no detection points associated with that track.
      2. Allocation Parameters – These parameters are identical to the People Counting Allocation Parameters, except for one additional parameter.  This is the setSNRObscThre argument. When a cluster of detected points is behind a target that has already been allocated, this is used instead of the SNR threshold (first Allocation parameter). This is used to minimize false detections due to multipath reflections from a target. These multipath reflections will appear directly behind the detected target at about twice the distance. By requiring a different SNR threshold for these targets, we can minimize false detections on these targets.

    Once you can see clusters in the point cloud that represent people, tune GTrack to track those clusters.

    Finally, you have this compaint: (4)Sometimes, walked straight ,the tracking trajectory was suddenly offset.  I believe this is due to a bug in the signal processing chain running on the DSP (dss project). You can work around this bug by changing the frameCfg argunment in the chirp configuration: frameCfg 0 1 128 0 33.3 1 0

    Regards,

    Justin

  • Hi,

    I base on  50m_longRangeTM.cfg ,  modify cfarCfg

    cfarCfg 4 4 15 16 8 6 0 63 63 0 1

    cfarCfg 4 4 15 16 8 6 0 53 63 0 1

    cfarCfg 4 4 15 16 8 6 0 43 63 0 1

    cfarCfg 4 4 15 16 8 6 0 33 63 0 1

    cfarCfg 4 4 15 16 8 6 0 23 63 0 1

    cfarCfg 4 4 15 16 8 6 0 13 63 0 1

    cfarCfg 4 4 15 16 8 6 0 3 63 0 1

    cfarCfg 4 4 15 16 8 6 0 63 53 0 1

    cfarCfg 4 4 15 16 8 6 0 63 43 0 1

    cfarCfg 4 4 15 16 8 6 0 63 33 0 1

    cfarCfg 4 4 15 16 8 6 0 63 23 0 1

    cfarCfg 4 4 15 16 8 6 0 63 13 0 1

    cfarCfg 4 4 15 16 8 6 0 63 3 0 1

    cfarCfg 4 4 15 16 8 6 0 53 53 0 1

    cfarCfg 4 4 15 16 8 6 0 43 43 0 1

    cfarCfg 4 4 15 16 8 6 0 33 33 0 1

    cfarCfg 4 4 15 16 8 6 0 23 23 0 1

    cfarCfg 4 4 15 16 8 6 0 13 13 0 1

    cfarCfg 4 4 15 16 8 6 0 3 3 0 1

    and modify frameCfg

    frameCfg 0 1 128 0 33.3 1 0

    (1) As above,  cfarCfg 4 4 15 16 8 6 0 63 63 0 1,modify  underlined values, the detection point result almost the same

         people walk 0m -> 50 m,    about 3m the point about 10, then judgment People Count =1 .

         

         people walk 50m -> 0m   during 50m ->25m the point about 2 , can't judgment people People Count =0, when walk close 25m the point is enough to judgment the object is people, then People Count =1

         So I can't ensure the cloud point is enough or not?

         

    (2) During below test , I had occur 2 times the tracking trajectory was suddenly offset(frameCfg config is frameCfg 0 1 128 0 33.3 1 0)

         Blue trajectory : People actual walk  trajectory

         Green trajectory : mmwave generate trajectory

    /Melvin

  • Hi Melvin,

    1. I have recently done some testing of my own with this demo. For people approaching 50->0 meters, I achieved this detection:

    These were my parameters:

    dfeDataOutputMode 1
    channelCfg 15 3 0
    adcCfg 2 1
    adcbufCfg 0 1 1 1
    profileCfg 0 76 15 6.5 48.3 0 0 7.483 1 125 3117 0 0 48
    chirpCfg 0 0 0 0 0 0 0 1
    chirpCfg 1 1 0 0 0 0 0 2
    frameCfg 0 1 125 0 33 1 0
    lowPower 0 0
    guiMonitor 1 0 0 0
    cfarCfg 4 4 4 16 16 4 4 40 40 0 1
    doaCfg 1 1 1047 3 600 10 100
    sceneryParam 1 -20 20 0.0 56 0 0 0 0 1 1.25 11.0 20.0 50.0 0 0 0 0
    gatingParam 16 6 6 4
    stateParam 3 10 60 600 10
    allocationParam 20 80 0.5 2 1.0 2.0
    variationParam 0.578 0.578 0.578
    trackingCfg 1 2 250 20 156 125 33 90
    compRangeBiasAndRxChanPhase 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
    sensorStart

    Note that the environment I am in is ideal.  My EVM was mounted at 2.25 meters, tilted about 10 degrees down.  The device needed to detect 2 points in a cluster for 3 consecutive frames to create a detection.  From the first picture you attached in your last post, you have 2 points, so there should be enough in the point cloud. As long as those point can be retained for 3 frames consecutively, you should be able to produce a detection. 

    2. In the picture, it looks like the point cloud is offset, and the tracker is putting the tracked centroid in the middle of those offset points.  I am assuming not all of these points are being generated by the person walking.  When the tracker is placing the centroid, it makes a compromise between the location it predicted the centroid to be at, and the location it measured the centroid to be at. There are values inside the code that can effect how this compromise is made. In task_app.c (mss project), find maxAccelerationX and maxAccelerationY at linees 310 and 311. The smaller these values are, the more the tracker trusts the predicted location (from Kalman filter) and the larger these values are, the more the tracker trusts the measured location. Currently, these values are 2 and 10.  By lowering these (decimal values (0.2) are allowed), you will make the track less likely to behave the way it did on your second example. If you have the fHist saved, you can try the TM_play.exe file, which lets you tune this parameters on already collected data.

    Regards,

    Justin

  • Hi,

    I use your config to test.

    dfeDataOutputMode 1

    channelCfg 15 3 0

    adcCfg 2 1

    adcbufCfg 0 1 1 1

    profileCfg 0 76 15 6.5 48.3 0 0 7.483 1 125 3117 0 0 48

    chirpCfg 0 0 0 0 0 0 0 1

    chirpCfg 1 1 0 0 0 0 0 2

    frameCfg 0 1 125 0 33 1 0

    lowPower 0 0

    guiMonitor 1 0 0 0

    cfarCfg 4 4 4 16 16 4 4 40 40 0 1

    doaCfg 1 1 1047 3 600 10 100

    sceneryParam 1 -20 20 0.0 56 0 0 0 0 1 1.25 11.0 20.0 50.0 0 0 0 0

    gatingParam 16 6 6 4

    stateParam 3 10 60 600 10

    allocationParam 20 80 0.5 2 1.0 2.0

    variationParam 0.578 0.578 0.578

    trackingCfg 1 2 250 20 156 125 33 90

    compRangeBiasAndRxChanPhase 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0

    sensorStart

    Tool version : mmwave_industrial_toolbox_2_5_1

    FW:traffic_monitoring_16xx_lab.bin

    EVM was mounted at 2.25 meters, tilted about 10 degrees down

    (1)Walk from 50m to 0m , when people walk close 30m(beter than berfore :25m) can be detect , but detect distance isn't meet our expectation

    (2)Walked straight ,the tracking trajectory was suddenly offset

    (3)People amount incorrect (only one people walk)
    /Melvin
  • Hi Melvin,

    Do you see detection points at 50m? Do you see detection points at 40m? If not, can you run the Out of Box demo and analyze the range FFT at 10m, 30m, and 50m?  You can use this tool to develop a long range chirp for the OoB demo.

    When someone is at range, you should see a peak at that range. For example, in the picture below, there is a peak at 1m.  You will want to see a peak at each distance you check.

    Regards,

    Justin

  • Hi,

    I see 2 detection points at 40m ,but when people walk close 30m can be detect.

    the tool hyperlink 404-not found

     /Melvin

  • Hi Melvin,

    I would expect that we could get a gtrack detection with two points.  The link I sent in my last post was to the Sensing Estimator on the TI Gallery.  Here is the link in plain text: https://dev.ti.com/gallery

    Regards,

    Justin

  • Hi,
    1. 2 detection points at 40m ,but when people walk close 30m can be detect.
    So it should detect people on 40m?
    2. Other question,the confige have more noise point then before confige, So When
    one people walk , sometimes it detect 3 people on gui.
    3. Is the tool dev.ti.com/.../ ?

    /Melvin