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-ODS:IWR6843ISK-ODS:手势识别(机器学习)距离特征配置问题

Guru**** 2419530 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1518466/iwr6843isk-ods-iwr6843isk-ods-gesture-recognition-machine-learning-distance-feature-configuration-issue

部件号:IWR6843ISK-ODS

工具/软件:

我更RANGE_BIN_END改为 20、因此该器件可以在大约 100cm 的距离内捕获特征、但刷写固件后、无法从数据 COM 端口读取任何数据。

我使用 JTAG 进行调试、但我遇到了一个问题。 我可能忽略了哪些方面、如何解决?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好。

    您能否上传您的图片的不同版本、因为它们似乎没有显示?

    此致、

    Santosh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Santosh、

    抱歉—我认为上一条消息中的图像上传存在问题。

    我已再次上传图片、并想澄清我的问题。

    我尝试将 RANGE_BIN_END 更改为 20、以便器件能够检测大约 100cm 远的手势特征、如图所示。

    但是、我遇到了错误。 以下是我在使用 JTAG 进行调试期间看到的消息。

    我怀疑问题可能是 range_bin 间隔太大、器件无法处理。
    我还尝试了缩小 range_bin_start 和 range_bin_end 之间的间隔、但仍然出现了相同的问题。

    如有任何建议、将不胜感激。


    此致、

    Haoyu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Haoyu、  

    很遗憾、错误消息对调试问题不是很有帮助、它只是指示设备在某个时候崩溃。 您是否可以尝试在代码中的不同点放置断点并逐步识别崩溃发生的位置?

    我可能预计在您提到的增加所处理的距离箱数量时会出现这种崩溃行为 、但如果您在较小的距离箱中看到相同的问题、则可能会出现不同的问题。

    您还能告诉我您使用的雷达工具箱是什么版本吗?

    此致、

    Josh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Josh、

    我设置了一些断点,并注意到当 range_bin 在 15 和 20 之间,事情在DPC_ObjectDetection_execute结束后立即中断,我们回到main.c运行DPM_execute. 因为我无法窥视内部DPM_execute、所以我不知道到底出了什么问题。 最重要的是、每次我调试时、崩溃都发生在不同的位置、所以很难确定准确的罪魁祸首——我只是知道它在某个位置MmwDemo_DPC_ObjectDetection_dpmTask

    此外、我使用的工具箱版本为 3.10.00.05。

    此致、

    Haoyu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Haoyu、  

    谢谢你。 根据您描述的行为、它似乎在完成处理之前已经用完了帧时间。  

    查看手势识别代码后、我认为问题可能是由于特征提取部分 (gentation.c) 中的一些低效率/错误造成的。 例如、在中  Computefeatures_DOABasse() 、有一个通过 rangeBin =0 搜索到 range_bin_end 的 for 循环、但我认为它只需要从 range_bin_start 到 range_bin_end  、这将导致额外的处理时间、即使为图元提取指定的范围区间的实际间隔小于默认值。 您是否可以尝试更改此设置、以便循环从 RANGE_BIN_START 开始?

    同样、 Computefeatures_prestart() 对于所有距离区间、将接近零多普勒的多普勒频段清零、但同样、这可能只需要对目标距离区间执行此操作。  

    此致、

    Josh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Josh

    感谢您的答复。

    我修改了中的循环设置Computefeatures_DOABased()并成功运行、但收集手势功能后、仍然无法在我设置的范围内检测到手势。 我的RANGE_BIN设置和雷达配置如下:

    【雷达配置】

    【距离区间设置】

    [在 60 cm 到 100 cm 之间执行手势的功能视图]

    是否还有其他需要修改的地方?

    此致、

    Haoyu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Haoyu、  

    很抱歉、响应速度很慢。 您可能知道、此演示使用机器学习模型来预测检测到的手势。 由于模型是在较短距离收集的特征上进行训练的、因此在较远距离执行手势时、它可能无法识别这些特征、从而无法进行准确预测。 为了获得良好的性能、您可能需要为此范围收集数据并重新训练模型。

    此致、

    Josh  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Josh、
    感谢您的答复。

    我认为由于我刚才的解释、可能有一些误解、所以让我澄清一下我的问题。

    我正在使用示例项目代码、并尝试让设备检测 1 cm 到 100 cm 范围内的手势。为此、我修改了RANGE_BIN设置、并使用增强的 COM 端口收集手势功能以用于培训目的。

    但是、当我将设置RANGE_BIN在 15 到 20 之间时、我注意到当我在 100 厘米左右执行手势时、通过 COM 端口接收的特征不包含任何可检测的手势数据。 这让我感到困惑、因为根据我的雷达配置、器件应该能够检测到长达 200cm 左右的距离。

    但当我在 100 厘米挥动我的手时,的值numPoints大部分是零。 这是否意味着器件在该距离没有接收手势数据? 如果是、建议采用什么方法来解决此问题?

    【雷达配置】

    【距离区间设置】

    [在 60 cm 到 100 cm 之间执行手势的功能视图]

    如有任何建议、将不胜感激。


    此致、

    Haoyu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Haoyu、  

    好的、我理解。 感谢您的澄清。 热图中的单元格幅度在更远距离时将更低、因此您可能需要尝试降低用于 numPoints (THRESH_NUM_Points) 的阈值。 理想情况下、当执行手势时没有出现明显尖峰的手势时、该功能应该为 0。

    此致、

    Josh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 Josh、

    很抱歉、延迟的回复。 我们做了一些调整THRESH_NUM_POINTS参数的实验。 具体而言、当我站在 75cm 到 100cm 的距离并在开放区域执行手挥手势时、我们观察到手势功能的变化、特别是numPointsevaluationMeanAzimuthMean。 更改的值THRESH_NUM_POINTS无法有效检测指定距离处的手势。

    测试结果如下、我们将THRESH_NUM_POINTS值分别修改为 1,350,1300 和 1200、并在指定距离执行手挥手势。 功能数据显示、与没有任何手势的场景相比、差异非常小。

    [ISTHRESH_NUM_POINTS 1350]的 gestrue 功能

    THRESH_NUM_POINTS IS 1300 的地理特征]

    [IS THRESH_NUM_POINTS 1350]的 gestrue 功能

    您有任何调整建议吗?

    此致、

    Haoyu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Haoyu、  

    当您降低阈值时、积分数量功能似乎会略微增加。 如果您继续降低它、当没有执行手势时、numPoints 是否保持为 0? 例如、您是否可以尝试将值设为 1000、 THRESH_NUM_POINTS?  也可以尝试略微调整 Dopula_bins_to_suppress。 这些参数是 根据我们测试范围适用的参数凭经验选择的、因此可能需要更改它们、以在不同范围内获得良好的特性数据。

    此外、在执行手势时、请确保手/手臂位于感兴趣区域内。 您是否尝试过不同的站立位置?  

    此致、

    Josh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Josh、

    我想澄清一下、上周、当我尝试 THRESH_NUM_Points 设置时、我发现降低其值确实会增加 numPoints 计数。 然而、在 60 cm 到 100 cm 之间、波形手势和无手势之间的特征数据没有明显的差异。 我认为这使得神经网络很难正确识别手势(如果我弄错了,请告诉我)。

    测试结果表明手势特征仅在 30 cm 内发生显著变化、而无手势特征数据和 70 cm 处的特征数据显示差异很小(如下图所示)。

    [无手势、30 厘米左右摇摆和 70 厘米左右摇摆的特征数据比较]

    THRESH_NUM_Points:1000

    RANGE_BIN:15 ~ 20

    此外,今天我尝试调整多普勒 Bins_to_suppress。 我逐步将其从默认值 5 增加到 30、并观察到生成的特征数据。 我发现多普勒_bins_to_suppress 值越大、所需的波形幅值就越宽(如果我错了,请更正我)。 但是、我不理解更改 Pullup_bins_to_suppress 与使器件能够在更远距离检测手势的关系。

    [将多普勒_bins_to_suppress 设置为 5 时 30cm 处的大运动手势和小运动手势的特征数据比较]

    [ 将多普勒_bins_to_suppress 设置为 30 cm 时的大运动手势和小运动手势的特征数据比较]

    如有任何建议、将不胜感激。


    此致、

    Haoyu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Haoyu、  

    我认为这使得神经网络很难正确识别手势

    您是对的。 至少在 numPoints 和称重多普勒特征中应能看到清晰的峰值。 如果您在没有执行手势的情况下获得了 20-40 numPoints、那么 1000 看起来确实太低了。  

    我应该已经澄清了关于  dopulate_bins_to_suppress 的内容、我想您可以尝试将其降低到 4 或 3。 增大该值只会减少特征计算中使用的多普勒频段数量。

    您是否尝试过改变您所站的距离、看看您是否获得了更好的结果? 我不知道距离箱的数量是否太小、还有一些手势动作被漏掉了。 您也可以尝试增加所使用的范围箱的数量、以便考虑将较大的区域用于特征提取。

    此致、

    Josh

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 Josh、

    很抱歉晚才回复。 我尝试RANGE_BIN_STARTComputeFeatures_RDIBased和中的检测矩阵中添加初始位置ComputeFeatures_DOABased(如下所示)、发现使用原始THRESH_NUM_POINTS设置时、我现在可以观察到 70cm 至 100cm 范围内的手势特征。使用此配置时、是否有任何注意事项或潜在问题?

    如有任何建议、将不胜感激。

    此致、

    Haoyu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Haoyu、  

    很高兴听到您现在可以看到这些功能。 似乎在我们的示例代码中、ComputeFeatures_RDIBased 硬编码第一个量程区间的起始指针、 ComputeFeatures_DOABased 实际上只是从第 0 个量程区间开始、这是不正确的。 我们将需要在未来的雷达工具箱更新中解决这些问题。 我相信您所做的更改是 正确的。  

    此致、

    Josh