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.

[参考译文] TDA4VM:如何为 edgeai-yolov5 姿态模型创建原型文件?

Guru**** 2540610 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1556092/tda4vm-how-to-create-prototxt-file-for-edgeai-yolov5-pose-model

器件型号:TDA4VM


工具/软件:

您好:

我正在尝试使用 edgeai-yolov5 的姿态实现。 为了便于快速参考、我在下面提到了存储库、数据集和模型标题说明的确切链接。

 

存储库: https://github.com/TexasInstruments/edgeai-yolov5/tree/yolo-pose

数据集:COCOCO-POSE

TI SDK:ti-processor-sdk-rtos-j721s2-evm-08_05_00_11

 

头部:# YOLOv5 头部

 [–1、1、Conv、[768、1、 1 ]]、

   [–1、1、nn.Upsample、[无、2、 '最近']、

   [–1、8 ]、1、Concat、[1 ]]、 # cat bonline p5

   [–1、3、C3、[ 768、False ]]、  15 号

 

   [–1、1、Conv、[ 512、1、 1 ]]、

   [–1、1、nn.Upsample、[无、2、 '最近']、

   [–1、6 ]、1、Concat、[1 ]]、 # cat bonline P4

   [–1、3、C3、[ 512、False ]]、  #19

 

   [–1、1、Conv、[256、1、 1 ]]、

   [–1、1、nn.Upsample、[无、2、 '最近']、

   [–1、4 ]、1、Concat、[1 ]]、 # cat b干 P3

   [–1、3、C3、[ 256、False ]]、  23 号(P3/8-小号)

 

   [–1、1、Conv、[256、3、 2 ]]、

   [–1、20 ]、1、Concat、[1 ]]、 # cat head P4

   [–1、3、C3、[ 512、False ]]、  第 26 号(P4/16-中等)

 

   [–1、1、Conv、[ 512、3、 2 ]]、

   [–1、16 ]、1、Concat、[1 ]]、 # cat head p5

   [–1、3、C3、[ 768、False ]]、  29 号(P5/32-大号)

 

   [–1、1、Conv、[ 768、3、 2 ]]、

   [–1、12 ]、1、Concat、[1 ]]、 # cat head P6

   [–1、3、C3、[ 1024、False ]]、  32 号 (P6/64- xlarge)

 

   [23、26、29、32 ]、1、 detect、[ nc, anchors, nkpt ]、 # detect(P3, P4、P5、P6)

 ]

 

此分支 (Yolo-pose) 没有主分支所具有的‘utils/proto’文件夹。 此分支的 export.py 文件中也没有 prototxt 实现。 我尝试使用主分支的 proto 文件夹、但它没有包含关键点信息的 head 消息说明。 因此、我的问题如下:

  1. 是否有脚本可以为 yolov5-pose 模型生成 prototxt 文件?
  2. 我想我可能会放弃使用 yolov5 BBOX 模型中的 prototxt 消息进行姿态实现、但我无法在图中使用 NMS。 但是、我需要在图形中执行 NMS、而不是在 ARM 内核上执行。 我是否能够以任何方式修改 proto 文件以适应带 NMS 的姿态头?
  3. 我所使用的‘版本(即“08_05_00_11")“)是否支持姿态估计器?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Bushan:

    我的想法是、如果没有与模型关联的.protext 文件、则不需要它。  Model Zoo 模型往往是完整的。  通常、yolo5 模型不需要.protext 文件、特定应用程序除外。  该型号的预期应用是什么?

    此致、

    Chris

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

    您好、Chris、

    该模型是 yolov5-posed 模型、旨在检测人体姿势:BBOX + 17 个关键点。 我们总是使用 prototxt 文件用于 yolov5 BBOX 检测模型。 我正在使用的存储库不属于 Model Zoo。

    那么、您是否建议在不使用我正在使用的 SDK 中的 prototxt 的情况下导入 yolov5-posal 模型? 并且 SDK 端没有导入姿态模型的限制吗? 我可以给它一个尝试和回应细节。

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

    尊敬的 Brushan:

    根据您的使用情况、可能不需要 prototal 文件。  我不确定您的具体案例。  您能否包括模型、与您正在使用的模型相关的任何其他文件、导入文件、 推理文件、输入数据、然后我将尝试一下并提供更具体的信息。

    此致、

    Chris  

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

    您好、Chris、

    请在以下文件夹中找到模型 pytorch 文件、onnx 文件、模型配置 YAML、共同部署数据示例、导出文件和 tidl 导入配置文件: https://drive.google.com/drive/folders/1DXdruZYgUE1GpWHvPKohbUij0qNiclsg?usp=drive_link

    我使用了 edgeai-yolov5(分支:Yolo-posal)、没有对存储库中提到的协同姿态数据集进行任何修改。 我再次提到存储库的链接、供您参考: https://github.com/TexasInstruments/edgeai-yolov5/tree/yolo-pose。 如果您需要我方面的任何其他信息、请告诉我。

    谢谢、

    Bhushan

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

    尊敬的 Bhushan:

    请使用以下 python 脚本、它将为输入 ONNX 模型生成相应的 prototal 文件。

    运行方式:

    python3 ./onnx2proto.py -m model_opt.onnx

    e2e.ti.com/.../onnx2proto.py

    此致、

    Chris

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

    嗨、Chris、在尝试使用 TI SDK 导入模型时收到以下错误:

    TIDL 元流水线 (Proto) 文件:../../test/testvecs/models/magna/TAD3/yolov5n_exp_pose_coco/yolov5n_exp_pose_coco.prototxt
    [libprotobuf error google/protobuf/text_format.cc:309]解析 text-format tidl_meta_arch.TIDLMetaArch 时出错:1:11:消息类型“tidl_meta_arch.TIDLMetaArch"没有“没有名为“ir_version"的“的字段。
    错误: Google::protobuf::textformat::parse proto file(../../test/testvecs/models/magna/TAD3/yolov5n_exp_pose_coco/yolov5n_exp_pose_coco.prototxt ) 失败!!!

    我已经为我之前分享的相同 onnx 模型生成了 prototxt 文件。 您还能告诉我 https://drive.google.com/file/d/13O0kRU-dXarmjpntL4l5xPGivPxzslZk/view?usp=drive_link onnx 模型是否创建正确吗? 因为在导出到 onnx 时、如果我使用 NMS 或不使用 NMS、大小会有很大差异。 我已使用共享文件夹中的 export.py 导出 onnx 和 NMS。

    感谢您的帮助、

    Bhushan

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

    尊敬的 Bhushan:

    如果您使用 OSRT 或 TIDLRT、请发送给我如何编译模型。  此外、我建议您改用更新的 TIDL 版本、如 11.08、因为我们不再支持更新到 8.5。

    此致、

    Chris