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.

IWR6843: In theory, is it possible to build classification code using gcc compiler so that to run outside of firmware?

Part Number: IWR6843

Hello TI team,

I've been reading about the algorithm of the "68xx_Sense_and_Direct_HVAC_Control" lab and found the following Classifier Architecture slide (attached below).

1. Based on the Classifier Architecture slide, is it correct to assume that the classifier only requires pointcloud and tracking data? So, no radar cube data is needed or micro-Doppler?

2. If my assumption is correct, is it possible to compile the classification code into library using a compiler like gcc, in theory? I can take care of the Target Manager Preprocessing step. I am also willing to work on resolving any platform dependencies, writing Cmake file, etc. Are there any special considerations in regards to platform dependencies?

3. I found some "classification" code at "mmwave_industrial_toolbox_4_5_0/labs/people_counting/68xx_Sense_and_Direct_HVAC_Control/src/common/modules/classification". Is this all the code I need? From the slide I see there should be functions module_create(), module_run(), module_delete(). However, I cannot find them. Are they defined somewhere else?

4. Is there a usage code I can refer to?

5. If I use the classifier for the ceiling installation, does it mean I need to re-train my classifier?

Thank you.
Best regards,
Victoria

  • Hello Victoria,

    You are correct, our demonstration uses only the tracker and point cloud outputs for object classification. Since this data is output on the UART bus already, you should be able to create your own classification algorithm using this data. Is this what you are asking?

    That is the example code you point to. The module_create() and _delete() functions are module specific, so there is a kNN and featExtract _create and _delete function. (see the classifier_kNN and featureExtraction folders inside the classification folder you listed)

    Currently this demo is only implemented for a 2D wall mounted implementation. For an overhead mounted system it would need to be re-trained and probably used with a 3D tracking output.

    Hopefully this helps. Let me know if you have more questions.

    Regards,

    Jackson

  • Hello Jackson,

    Thank you so much for the answers, they are enough to get me started. Yes, I wanted to make sure I understood correctly that the pointcloud data and tracking data is enough for your classification algorithm and that, in theory, the classifier can be run outside of the firmware, off the serial bus data.

    One more thing I wanted to clarify: from my understanding, the main purpose of the classifier is to be able to tell apart human targets from non-human subjects (plants, curtains, fans, even pets). Would the classification also work to tell apart human targets from environmental reflections (reflections off monitors, walls)?

    Thank you.

    Best regards,

    Victoria 

  • Hello Victoria,

    Classification of environmental objects could be possible, I suppose, but might be more difficult. The specific motion and patterns of the human and other objects helps aid the classification.  These will not be tracked objects so you would need to use the point cloud data only. You will need to make sure that static point cloud points are turned on and reported (staticRangeAngleCfg in the cfg file).

    Best Regards,

    Jackson

  • Hello Jackson,

    Thank you for the replies. It makes sense.

    Regards,

    Victoria