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.

[参考译文] AM62A7-Q1:当输入帧速率超过输出帧速率时、物体检测不准确

Guru**** 2333840 points
Other Parts Discussed in Thread: AM62A7, SK-AM62A-LP
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1516632/am62a7-q1-object-detection-inaccuracy-when-input-frame-rate-exceeds-output-frame-rate

器件型号:AM62A7-Q1
主题中讨论的其他器件:AM62A7SK-AM62A-LP

工具/软件:

您好、TI 专家、
我在 AM62A7电路板上使用 YOLOX-S 模型进行物体检测时会遇到一些挑战、并希望获得建议。 背景信息:

处理30fps 输入视频时、系统的输出帧速率限制为~20fps、导致检测到的边界框出现明显错位情况(这些框无法准确跟踪移动的车辆)。 但是、输入为10fps 时、输出帧速率完全匹配、边界框正确对齐。

关键问题:
当输入帧速率超过输出帧速率(例如30fps 输入与20fps 输出)时、是否存在可以提高检测精度的特定优化或配置调整(例如帧丢弃策略、模型量化、推理流水线调优或硬件资源分配)、即使输出帧速率与输入不完全匹配也是如此?

尽管帧速率不匹配、但我对确保边界框精确定位的方法特别感兴趣。 任何见解或技术建议都将是非常有价值的!
谢谢。
SDK:  10.01.00.05
硬件平台:  SK-AM62A-LP
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Howie、  

    YOLOX-S 模型的运行速度确实比30 FPS 流慢。 我预计运行 YOLOX-Tiny 或-nano 等另一个型号时不会遇到此行为。

    帧滴是最可能的原因。 您如何运行流水线? OptiFlow 还是 apps_python/apps_cpp?

    这里的正确策略是测量模型的可实现 FPS -这将是限制性能的管道的关键阶段。 在这里、我建议应用应丢弃帧以匹配该预期帧速率(在 gstreamer 中、drop-only=True 的视频插件) 、然后  AI 模型才会运行。

    发生的情况是、后处理使用的帧比推理运行的帧更新。 apps_python/cpp 应用中的流程是:

    与推理相对应的原始帧可能在长推理调用期间被丢弃、然后由应用通过 appsink 提取。

    您的查询对于缓解这种情况的策略相当开放。 所选的 TIDL 推理模型应能够匹配摄像头源的帧间延迟、或者您只应以加速器可以处理的速率调用推理(如果这意味着丢弃帧、则应这样做)。

    一些用例将以不同的速率运行多个模型、但如果您只有一个模型、最好使用推理时间<=帧间延迟的模型。 否则、丢弃的帧只是浪费 CPU 和 DDR 的利用率。

    BR、
    Reese