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.

IWR6843ISK: Average Height Detection Model used in Fall detection experiment

Part Number: IWR6843ISK


Hi,

I am using IWR6843ISK device for collecting 3D point cloud data. I have already gone through the experiments given in TI for Fall detection "http://dev.ti.com/tirex/explore/node?node=AFmsC4Pjv3N8OtdrcDLsEg__VLyFKFf__LATEST&search=mmWave%20industrial%20toolbox"


Using that experiment, I am trying to implement Fall detection. 

Steps done sofar:


1. Using OOB_PARSER, I am getting different stances of point cloud data for each frame.

2. As suggested by the TI forum (https://e2e.ti.com/support/tools/ccs/f/81/p/892867/3301211#3301211) , I have mapped the tracked index with the point cloud data

3. Now I arrived a 5D array, which will be having mapped target point alone in a 5D format

  • Col 0 - X
  • Col 1 - Y
  • Col 2 - Z
  • Col 3 - Acceleration
  • Col 4 - SNR

This array will be of No of Tracked point size. 

4. I have dumped those data 's in a JSON format and attached here for your reference. (Captured for Standing , Sitting & Lying mode)

Sitting.zip

Lying.zip

Standing.zip

Algorithm for Height detection:

  • Sort the 5D array with respect to Y axis . I assume Y is for height. Please correct if I am wrong.
  • Calculate the distance between first and last point of the 5D point cloud data per frame
  • This distance is nothing but height of the object per frame

Attached here the height series data captured for different frames

Here I am still seeing that height of each frames are getting fluctuated. I wanted it to be normalized.

Queries to be clarified

1. Which Average height detection model is used in Fall detection experiment. Please elaborate.

2. Even person sitting idle / standing idle, Why i am seeing the fluctuation in height data. Is my height detection formula is correct ? ( Distance  = 3D points distance bw highest and lowest point of a frame)


Please help me out on this

Regards,

Vivek

  • Hi Vivek,

    Assuming your sensor is mounted on the wall, Z will be point height, Y will be distance in front of the sensor. I assume you have read the fall detection experiment, we also talk about height detection. A couple of notes:

    1. There is no guarantee that the highest point will be at the top of a persons head, and the lowest point will be at the bottom of the persons body.However, the top point is typically near the top of the person's head.

    2. Depending on the person's proximity to the radar, they may not be completely in the FOV of the device, and their feet or head may fall out of the FOV.

    3. If they are sitting still, they may not generate detections.

    My recommendation - if you know the sensor height, then it is easier to calculate the persons height by adding the tallest point to the height of the sensor.  E.g - sensor is at 3 meters, height Z is at -1 meter, person is 2 meters tall. 

    Finally, make sure you are compensating for any device tilt.

    Regards,

    Justin

  • Hi Justin,

    Thanks for your detailed explanation.

    Currently I am mounted the sensor on the wall , which is 1.6 m from ground and tilted 10 degrees.

    As you mentioned that Z will be point for Height. I have sorted the Point cloud array with Z direction and got the sorted array in Z basis.

    Here I have a question.

    Query#1

    If Z is the height, why I am getting Negative values for in Point cloud data even though person is in Standing Mode, Sitting mode.


    As suggested, I have also tried by applying Z filter to Point cloud data, From which I have calculated the height using highest and lowest point; checked the frame series vs Height data. But still I am seeing fluctuations in the Graph. Attached here for your reference.

    Query #2:

    If Z is height of the person, While person in Standing or Sitting mode, why this much spike I am getting? How should I refine this.


    As recommended by you in the previous thread, I have also tried by calculating the height of the target using Sensor height. This is the serious of data observed in various mode.

    Here also if you see that, I am able to differentiate the Height between Stand / Sitting / Lying mode. Most of the time and even in different stances also, Height is fall into 1.2 to 1.4 range.

    Query #3

    Could you please elaborate "what approach from TI has done on Fall detection experiment" to derive the height of person

    Please guide us to proceed further.

    Regards,

    Vivek

     

  • Hi Vivek,

    #1 - Why is Z negative? Z is the point position relative to the sensor. So if the person is below the sensor height (or part of their body is below the sensor height), then there will be negative Z values. 

    #2 - What demo are you using? I am not sure if you are using 3D People Counting or OOB demo. (I am assuming 3D People Counting). 

    #3 - I am referring to this experiment: http://dev.ti.com/tirex/explore/node?node=AFmsC4Pjv3N8OtdrcDLsEg__VLyFKFf__LATEST

    Regards,

    Justin

  • Hi Justin,

    Thanks for the response.

    #1 : I got clarified. Thanks for the detailed explanation.

    #2: Yes. You are correct. We are using 3D People counting bin and extracting data using OOB_Parser in Python.

    #3. I have already mentioned in this thread, I am following the same link for Fall detection. I achieved till getting highest Z value (height ) per frame. 

    In the fall detection algorithm TI mentioned that,

    1. When a person enters the scene, assume they are standing
    2. For each frame: Calculate height of each target
      1. Calculate and save standing height

    When I tried to calculate the height with Z points , I am getting spikes and deviation across frames. And like shown in experiment I am not able to differentiate the height in Sitting and Standing mode.

    With your approach (Height = Sensor height - Highest Z value of a frame), I have tried it. This is the height series graph

    So I want to understand,

    • How they normalized the height data before entering into Fall detection algorithm?
    • What formula or steps they followed to achieve proper height

    Please share us your feedback.

    Regards,

    Vivek

  • Hi Vivek,

    I am checking to see if there is an error in the tracker index parsing. Quick question - the tracker index values returned at frame N correspond to the point cloud returned at frame N-1. Are you accounting for this? I believe your algorithm is correct.

    Regards,
    Justin

  • Hi Justin,

    Yes. I am taking into account Tracker Index mapping.

    I will have a backup of N - 1 Point cloud data in memory. When I received Nth frame from parser, I will process the Tracker index from Nth frame and will map with the N - 1 point cloud data.

    Added to that, I will not consider Tracker Index 254, 255, 256 since that is not associate with any target.

    Regards,

    Vivek

  • Hi Justin,

    Good day!

    Is there any update on the requested queries?

    Query #2 & 3 in the previous chains

    Query #4: Also wanted to know one thing, Is TI sensor or current Fall detection algo is capable of identifying fall with multiple people are being tracked ? Please confirm this too

    Regards,

    Vivek

  • Hi Justin,

    It's a gentle reminder!

    Please clarify on the below queries which we have raised in the previous threads.

    Query #2: If Z is height of the person, While person in Standing or Sitting mode, why this much spike I am getting? How should I refine this.

    Query #3: Could you please elaborate "what approach from TI has done on Fall detection experiment" to derive the height of person. 

    I have already tried your recommendation as below

    My recommendation - if you know the sensor height, then it is easier to calculate the persons height by adding the tallest point to the height of the sensor.  E.g - sensor is at 3 meters, height Z is at -1 meter, person is 2 meters tall. 

    Query #4: Also wanted to know one thing, Is TI sensor or current Fall detection algo is capable of identifying fall with multiple people are being tracked ?

    Please clarify me on the above queries asap.

    Regards,

    Vivek

     

  • Hi Vivek,

    2. After testing this on my own side, I have found that these spikes are common, as the point cloud tends to "jump" across the person. So one frame it may detect mostly your head, then the next frame detect mostly you feet. This leads to strange height measurement. I recommend using the LRPD demo, with a configuration for short range detection. This will give more consistent results.

    3. The only published info we have is in the fall detection experiment.

    4. Yes, you just need to extend the same logic used for fall detection to each tracked person.

    Regards,

    Justin