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:VISS 输出馈送至"对象检测应用"

Guru**** 2543390 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/960209/tda4vm-viss-output-feed-to-object-detection-application

器件型号:TDA4VM

尊敬的先生/女士:

现在我使用的是 TDA4VMEVM、IMX390和 SDK 7.01。
按照 e2e.ti.com/.../950263 的建议。
我通过 en_out_viss_write 1获得了"多摄像头 VPAC 应用"的 VISS 输出。
我在测试中只使用了一个摄像头、很简单。
将 VISS 文件名重命名为"Objetct detection Application"所需的文件名
将 VISS 输出源的文件添加到"物体检测应用"
"多摄像头 VPAC 应用"->"VISS 输出"->"Files"->"Object Detection Application"。
但 DisplayPort 的屏幕没有显示视频。
可以给我建议吗?

此致

-Jason

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

    尊敬的先生/女士:

    我的最后一封邮件丢失了"对象检测应用程序"配置文件。
    以下是我的"物体检测应用程序"配置文件。

    root@j7-evm:/opt/vision_apps cat app_od.cfg
    conifg 的#位置
    tidl_config /opt/vision_apps/test_data/psdkra/tidl_models/tidl_io_peele_300_1.bin

    #网络位置
    tidl_network /opt/vision_apps/test_data/psdkra/tidl_models/tidl_net_peele_300.bin

    输入文件的位置#
    Input_file_path /opt/vision_apps/app_cam_out

    输出文件的位置#
    output_file_path ./app_tidl_od_out

    #起始帧编号
    START_FRAME 248

    帧数
    num_frames 100

    #输入尺寸(宽度高度)
    IN_SIZE 1936 1096

    为 DL 网络指定的#大小(宽度高度)
    #此值不应小于输入宽度或高度的4倍
    DL_SIZE 1024 512

    为显示屏提供的#尺寸(宽度高度)
    #此值不应小于输入宽度或高度的4倍
    OUT_SIZE 1024 512

    #过流阈值
    viz_th 0.95

    #对象检测类的最大数量
    num_classes 90

    以毫秒为单位的#延迟(最大2000ms)
    DELAY_IN_ms 0

    #启用或禁用输出图像写入。 1启用它,0禁用它
    en_out_img_write 0

    #如果1 -启用显示0 -禁用显示
    DISPLAY_OPTION 1

    #循环输入的迭代次数
    num_iterations 1.

    #交互式输入模式1:是、0:否
    是交互式1
    根目录@J7-EVM:/opt/vision_apps

    此致

    -Jason

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

    Jason、

    尝试连接的应用程序。

    此致、
    Shyame2e.ti.com/.../app_5F00_tidl_5F00_od_5F00_cam.zip

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

    Shyam、您好!

    感谢您的代码。
    我想、您的计划是
    IMX390 -> VISS ->物体检测-> DisplayPort ->屏幕。
    我是对的吗?

    但在 TDA4VMEVM 上运行时遇到问题。
    屏幕无显示视频。
    这些文件不是 app_tidl_od_out 目录下的任何文件。
    以下是我的测试步骤。
    你可以提出建议吗?
    我是否错过了任何步骤?

    < >
    Jason@~:μ C/ti_tda4x_7_01/ti-processor-sdk-rtos-j721e-evm-07_01_00_11/vision_apps/apps/dl_demos$解压缩 app_tidl_od_cam.zip
    Jason@~/tda4x_7_01/ti-processor-sdk-rtos-j721e-evm-07_01_00_11/vision_apps$制作 vision_apps

    < >
    根目录@J7-EVM:/opt/vision_apps 源文件./vision_apps_init.sh

    我从 app_tidl_od_cam.zip 中获取 app_od.cfg。
    app_od.cfg 将名称更改为 app_od_cam2.cfg
    我按如下方式修改 app_od_cam2.cfg。
    root@j7-evm:/opt/vision_apps cat app_od_cam2.cfg
    conifg 的#位置
    #tidl_config /ti/j7/workarea/tiovx/conformance_tests/test_data/psdkra/tidl_models/tidl_io_peele_300_1.bin
    tidl_config /opt/vision_apps/test_data/psdkra/tidl_models/tidl_io_peele_300_1.bin

    #网络位置
    #tidl_network /ti/j7/workarea/tiovx/conformance_tests/test_data/psdkra/tidl_models/tidl_net_peele_300.bin
    tidl_network /opt/vision_apps/test_data/psdkra/tidl_models/tidl_net_peele_300.bin

    输入文件的位置#
    #input_file_path /ti/j7/workarea/tiovx/conformance_tests/test_data/psdkra/tidl_demo_images
    Input_file_path /opt/vision_apps/test_data/psdkra/tidl_demo_images

    输出文件的位置#
    output_file_path ./app_tidl_od_out

    #起始帧编号
    START_FRAME 500

    帧数
    num_frames 400

    #输入尺寸(宽度高度)
    IN_SIZE 1024 512

    为 DL 网络指定的#大小(宽度高度)
    #此值不应小于输入宽度或高度的4倍
    DL_SIZE 1024 512

    为显示屏提供的#尺寸(宽度高度)
    #此值不应小于输入宽度或高度的4倍
    OUT_SIZE 1024 512

    #过流阈值
    viz_th 0.95

    #对象检测类的最大数量
    num_classes 90

    以毫秒为单位的#延迟(最大2000ms)
    DELAY_IN_ms 0

    #启用或禁用输出图像写入。 1启用它,0禁用它
    en_out_img_write 1.

    #如果1 -启用显示0 -禁用显示
    DISPLAY_OPTION 0

    #循环输入的迭代次数
    num_iterations 1.

    #交互式输入模式1:是、0:否
    是_交互0
    root@j7-evm:/opt/vision_apps mkdir app_tidl_od_out


    root@j7-evm:/opt/vision_apps #./vx_app_tidl_od_cam.out -cfg app_od_cam2.cfg
    应用程序:初始化... !!!
    MEM:初始化... !!!
    MEM:已初始化的 DMA 堆(FD=4)!!!
    MEM:初始化... 完成了!!!
    IPC:初始化... !!!
    IPC:初始化... 完成了!!!
    远程服务:初始化... !!!
    远程服务:初始化... 完成了!!!
    应用程序:初始化... 完成了!!!
    2591.649793 s:vx_zone_init:已启用
    2591.649930 s:vx_zone_error:Enabled
    2591.650069 s:vx_zone_warning:Enabled
    2591.650499 s:vx_zone_init:[TIvxInit:71]初始化完成!!!
    2591.650707 s:vx_zone_init:[TIvxHostInit:48]主机初始化已完成!!!
    2591.650809 s:ISS:枚举传感器... !!!
    2591.651205 s:ISS:枚举传感器... 找到0:IMX390-UB953_D3
    2591.651216 s:ISS:枚举传感器... 找到1:AR0233-UB953_MARS
    2591.651232 s:ISS:枚举传感器... 找到2:AR0820-UB953_LI
    2591.651248 s:ISS:枚举传感器... 找到3:UB9xxx_RAW12_testPattern
    2591.651263 s:ISS:枚举传感器... 找到4:UB96x_UYVY_testPattern
    2591.651276 s:ISS:枚举传感器... 找到5:GW_AR0233_UYVY
    选择的传感器:IMX390-UB953_D3
    查询 IMX390-UB953_D3
    2591.651312 s:ISS:查询传感器[IMX390-UB953_D3]... !!!
    2591.651500 s:ISS:查询传感器[IMX390-UB953_D3]... 完成了!!!
    2591.652313 s:ISS:正在初始化传感器[IMX390-UB953_D3],正在执行 IM_SENSOR_CMD_PWRON ... !!!
    [MCU2_0] 2591.650922 s:ImageSensor_RemoteServiceHandler:IM_SENSOR_CMD_create
    [MCU2_0] 2591.650992 s:索引为0的传感器= IMX390-UB953_D3
    [MCU2_0] 2591.651027 s:索引为1的传感器= AR0233-UB953_MARS
    [MCU2_0] 2591.651051 s:索引为2的传感器= AR0820-UB953_LI
    [MCU2_0] 2591.651074 s:索引为3的传感器= UB9xxx_RAW12_testPattern
    [MCU2_0] 2591.651099 s:索引为4的传感器= UB96x_UYVY_testPattern
    [MCU2_0] 2591.651123 s:索引为5的传感器= GW_AR0233_UYVY
    [MCU2_0] 2591.651384 s:ImageSensor_RemoteServiceHandler:IM_SENSOR_CMD_QUERY
    [MCU2_0] 2591.651431 s:IMX390-UB953_D3的接收查询
    [MCU2_0] 2591.652392 s:ImageSensor_RemoteServiceHandler:IM_SENSOR_CMD_PWRON
    [MCU2_0] 2591.652480 s:IM_SENSOR_CMD_PWRON:CHANGE_MASK = 0x1
    [MCU2_0] 2591.652567 s:IMX390_PowerOn:chMask = 0x1
    [MCU2_0] 2591.652608 s:ub960_cfgScript:ub960I2cAddr = 0x3D
    [MCU2_0] 2591.652631 s:UB960配置启动
    2591.852894 s:ISS:正在初始化传感器[IMX390-UB953_D3],正在执行 IM_SENSOR_CMD_CONFIG ... !!!
    [MCU2_0] 2591.852753 s:UB960配置结束
    [MCU2_0] 2591.853002 s:ImageSensor_RemoteServiceHandler:IM_SENSOR_CMD_CONFIG
    [MCU2_0] 2591.853052 s:应用请求的特性= 0x158
    [MCU2_0]
    [MCU2_0] 2591.853119 s:ub960_cfgScript:ub960I2cAddr = 0x3D
    [MCU2_0] 2591.853148 s:UB960配置启动
    [MCU2_0] 2592.108591 s:UB960配置结束
    [MCU2_0] 2592.108686 s:ub960_cfgScript:ub960I2cAddr = 0x36
    [MCU2_0] 2592.108720 s:UB960配置启动
    [MCU2_0] 2592.364588 s:UB960配置结束
    [MCU2_0] 2592.36644 s:配置摄像头编号0
    [MCU2_0] 2592.364674s:ub953配置开始:slaveAddr = 0x74
    [MCU2_0] 2592.554590 s:UB953配置结束
    [MCU2_0] 2592.554685 s:配置 IMX390成像仪0x40.. 请等待它完成
    2594.652708 s:ISS:正在初始化传感器[IMX390-UB953_D3]... 完成了!!!
    分频器输出1宽度= 1024
    分频器输出1高度= 512
    分频器输出2宽度= 1024
    分频器输出2高度= 512
    计算0x0000FFFF90745C80处的校验和、大小= 887792
    [MCU2_0] 2594.652523 s:IMX390配置完成
    [MCU2_0] 2594.652583 s:IM_SENSOR_CMD_CONFIG 返回状态= 0
    2594.876429 s:vx_zone_error:[ownContextSendCmd:782]命令 ACK 消息返回故障 CMD_STATUS:-1
    2594.876455 s:vx_zone_error:[ownContextSendCmd:818] tivxEventWait()失败。
    2594.876465 s:vx_zone_error:[ownNodeKernelInit:526]目标内核 TIVX_CMD_NODE_CREATE 失败
    2594.876478 s:vx_zone_error:[ownNodeKernelInit:527]请确保已为此内核注册目标回调
    2594.876485 s:vx_zone_error:[ownNodeKernelInit:528]如果已注册目标回调、请确保此内核的创建回调中没有出现错误
    2594.876678 s:vx_zone_error:[ownGraphNodeKernelInit:583]针对节点8的内核初始化、kernel com.ti.img_proc.img. mosbone... 失败!!!
    2594.876696 s:vx_zone_error:[vxVerifyGraph:2010]节点内核初始化失败
    2594.876703 s:vx_zone_error:[vxVerifyGraph:2064] Graph 验证失败
    [MCU2_0] 2594.876160 s:src="/fvid2_drvMgr.c @第861行:
    [MCU2_0] 2594.876204 s:不支持驱动程序操作!!
    [MCU2_0] 2594.876242 s:vx_zone_error:[TIvxKernelImgMosaicMscSetCoeffsCmd:819] TIvxKernelImgMosaicMscSetCoeffsCmd:无法创建系数
    [MCU2_0] 2594.876892 s:========================================================================
    [MCU2_0] 2594.876979:捕获状态:实例|0
    [MCU2_0] 2594.877020 s:========================================================================================
    [MCU2_0] 2594.877058 s:溢出计数:0
    [MCU2_0] 2594.877085 s:伪 UdmaIntrCount:0
    [MCU2_0] 2594.877113 s:前 FIFOOvflCount:0
    [MCU2_0] 2594.877136 s:crcCount:0
    [MCU2_0] 2594.877157 s:eccCount:0
    [MCU2_0] 2594.877181:修正的 EccCount:0
    [MCU2_0] 2594.877207 s:dataIdErrorCount:0
    [MCU2_0] 2594.877232:无效访问计数:0
    [MCU2_0] 2594.877257 s:invalidSpCount:0
    [MCU2_0] 2594.877283 s:strmFIFOOvflCount[0]:0
    [MCU2_0] 2594.877311 s:strmFIFOOvflCount[1]:0
    [MCU2_0] 2594.877340 s:strmFIFOOvflCount[2]:83
    [MCU2_0] 2594.877367 s:strmFIFOOvflCount[3]:18.
    [MCU2_0] 2594.877412 s:通道数量|帧队列计数|帧去队列计数|帧丢弃计数|错误帧计数|
    [MCU2_0] 2594.877528 s:0 | 0 | 0 | 0 | 0 |
    [C7x_1 ] 2594.874896 s:vx_zone_warning:[TIvxKernelTIDLCreate:614]在 TIDL 过程中禁用所有中断
    2594.982734 s:ISS:对传感器进行去初始化[IMX390-UB953_D3]... !!!
    2594.982896 s:ISS:正在取消初始化传感器[IMX390-UB953_D3]... 完成了!!!
    2594.983795 s:vx_zone_init:[TIvxHostDeInit:56]主机的取消初始化已完成!!!
    2594.988125 s:vx_zone_init:[TIvxDeInit:111]取消初始化完成!!!
    应用程序:Deinit... !!!
    远程服务:取消初始化... !!!
    远程服务:取消初始化... 完成了!!!
    IPC:取消初始化... !!!
    IPC:DeInit... 完成了!!!
    MEM:Deinit…… !!!
    MEM:ALLOC's:92 alloc's of 72473295 bytes.
    MEM:free's:92 free's of 72473295 bytes.
    MEM:open's:0个字节的分配
    MEM:Deinit…… 完成了!!!
    应用程序:Deinit... 完成了!!!
    根目录@J7-EVM:/opt/vision_apps

    此致

    -Jason

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

    Shyam、您好!

    我在 app_tidl_od_cam.zip 上尝试了其他配置设置。
    它仍然没有视频输出。
    可以给我建议吗?

    以下是我的新配置文件。

    /*------------ 配置文件------------------------------------------------------- *
    root@j7-evm:/opt/vision_apps cat app_od_cam2.cfg
    conifg 的#位置
    #tidl_config /ti/j7/workarea/tiovx/conformance_tests/test_data/psdkra/tidl_models/tidl_io_peele_300_1.bin
    tidl_config /opt/vision_apps/test_data/psdkra/tidl_models/tidl_io_peele_300_1.bin

    #网络位置
    #tidl_network /ti/j7/workarea/tiovx/conformance_tests/test_data/psdkra/tidl_models/tidl_net_peele_300.bin
    tidl_network /opt/vision_apps/test_data/psdkra/tidl_models/tidl_net_peele_300.bin

    输入文件的位置#
    #input_file_path /ti/j7/workarea/tiovx/conformance_tests/test_data/psdkra/tidl_demo_images
    Input_file_path /opt/vision_apps/test_data/psdkra/tidl_demo_images

    输出文件的位置#
    output_file_path ./app_tidl_od_out

    #起始帧编号
    START_FRAME 500

    帧数
    num_frames 400

    #输入尺寸(宽度高度)
    IN_SIZE 1024 512

    为 DL 网络指定的#大小(宽度高度)
    #此值不应小于输入宽度或高度的4倍
    DL_SIZE 1024 512

    为显示屏提供的#尺寸(宽度高度)
    #此值不应小于输入宽度或高度的4倍
    OUT_SIZE 1024 512

    #过流阈值
    viz_th 0.95

    #对象检测类的最大数量
    num_classes 90

    以毫秒为单位的#延迟(最大2000ms)
    DELAY_IN_ms 0

    #启用或禁用输出图像写入。 1启用它,0禁用它
    #en_out_img_write 1.
    en_out_img_write 0

    #如果1 -启用显示0 -禁用显示
    #display_option 0
    DISPLAY_OPTION 1

    #循环输入的迭代次数
    num_iterations 1.

    #交互式输入模式1:是、0:否
    #is 交互0
    是交互式1
    根目录@J7-EVM:/opt/vision_apps

    以下是 vx_app_tidl_od_cam.out 的日志。

    /*-------------------- vx_app_tidl_od_cam.out 日志------------------------------------------------------- *

    root@j7-evm:/opt/vision_apps #./vx_app_tidl_od_cam.out -cfg app_od_cam2.cfg
    应用程序:初始化... !!!
    MEM:初始化... !!!
    MEM:已初始化的 DMA 堆(FD=4)!!!
    MEM:初始化... 完成了!!!
    IPC:初始化... !!!
    IPC:初始化... 完成了!!!
    远程服务:初始化... !!!
    远程服务:初始化... 完成了!!!
    应用程序:初始化... 完成了!!!
    1602.343233 s:vx_zone_init:启用
    1602.343258 s:vx_zone_error:Enabled
    1602.343267 s:vx_zone_warning:Enabled
    1602.343889 s:vx_zone_init:[TIvxInit:71]初始化完成!!!
    1602.344109 s:vx_zone_init:[TIvxHostInit:48]主机初始化已完成!!!
    1602.345164:ISS:枚举传感器... !!!
    1602.345555 s:ISS:枚举传感器... 找到0:IMX390-UB953_D3
    1602.345564:ISS:枚举传感器... 找到1:AR0233-UB953_MARS
    1602.345573:ISS:枚举传感器... 找到2:AR0820-UB953_LI
    1602.345579 s:ISS:枚举传感器... 找到3:UB9xxx_RAW12_testPattern
    1602.345585 s:ISS:枚举传感器... 找到4:UB96x_UYVY_testPattern
    1602.345591 s:ISS:枚举传感器... 找到5:GW_AR0233_UYVY
    选择的传感器:IMX390-UB953_D3
    查询 IMX390-UB953_D3
    1602.345606 s:ISS:查询传感器[IMX390-UB953_D3]... !!!
    1602.345808 s:ISS:查询传感器[IMX390-UB953_D3]... 完成了!!!
    1602.350041 s:ISS:正在初始化传感器[IMX390-UB953_D3],正在执行 IM_SENSOR_CMD_PWRON ... !!!
    [MCU2_0] 1602.345277:ImageSensor_RemoteServiceHandler:IM_SENSOR_CMD_create
    [MCU2_0] 1602.345345 s:索引为0 = IMX390-UB953_D3的传感器
    [MCU2_0] 1602.345376 s:索引为1的传感器= AR0233-UB953_MARS
    [MCU2_0] 1602.345401 s:索引为2的传感器= AR0820-UB953_LI
    [MCU2_0] 1602.345424 s:索引为3的传感器= UB9xxx_RAW12_testPattern
    [MCU2_0] 1602.345449 s:索引为4的传感器= UB96x_UYVY_testPattern
    [MCU2_0] 1602.345473 s:索引为5的传感器= GW_AR0233_UYVY
    [MCU2_0] 1602.345693:ImageSensor_RemoteServiceHandler:IM_SENSOR_CMD_QUERY
    [MCU2_0] 1602.345741 s:IMX390-UB953_D3的接收查询
    [MCU2_0] 1602.350132:ImageSensor_RemoteServiceHandler:IM_SENSOR_CMD_PWRON
    [MCU2_0] 1602.350223 s:IM_SENSOR_CMD_PWRON:CHANNEL = 0x1
    [MCU2_0] 1602.350349 s:IMX390_PowerOn:chMask = 0x1
    [MCU2_0] 1602.350397 s:ub960_cfgScript:ub960I2cAddr = 0x3D
    [MCU2_0] 1602.350420:UB960配置启动
    1602.550042 s:ISS:正在初始化传感器[IMX390-UB953_D3],正在执行 IM_SENSOR_CMD_CONFIG ... !!!
    [MCU2_0] 1602.549905 s:UB960配置结束
    [MCU2_0] 1602.550162 s:ImageSensor_RemoteServiceHandler:IM_SENSOR_CMD_CONFIG
    [MCU2_0] 1602.550214:应用请求的特性= 0x158
    [MCU2_0]
    [MCU2_0] 1602.550285 s:ub960_cfgScript:ub960I2cAddr = 0x3D
    [MCU2_0] 1602.550317 s:UB960配置启动
    [MCU2_0] 1602.805740 s:UB960配置结束
    [MCU2_0] 1602.805838 s:ub960_cfgScript:ub960I2cAddr = 0x36
    [MCU2_0] 1602.805870 s:UB960配置启动
    [MCU2_0] 1603.061738 s:UB960配置结束
    [MCU2_0] 1603.061793 s:配置摄像头编号0
    [MCU2_0] 1603.061824 s:ub953配置开始:slaveAddr = 0x74
    [MCU2_0] 1603.251740 s:UB953配置结束
    [MCU2_0] 1603.251840:配置 IMX390成像仪0x40.. 请等待它完成
    1605.345860 s:ISS:正在初始化传感器[IMX390-UB953_D3]... 完成了!!!
    [MCU2_0] 1605.345675 s:IMX390配置完成
    [MCU2_0] 1605.345739 s:IM_SENSOR_CMD_CONFIG 返回状态= 0
    分频器输出1宽度= 1024
    分频器输出1高度= 512
    分频器输出2宽度= 1024
    分频器输出2高度= 512
    计算0x0000FFFF85465C80处的校验和、大小= 887792
    [C7x_1 ] 1605.803750 s:vx_zone_warning:[TIvxKernelTIDLCreate:614]在 TIDL 过程中禁用所有中断

    此致

    -Jason

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

    Jason、

    很抱歉将 app_tidl_od/config/app_od.cfg 包含在 app_tidl_od_cam/config/app_od.cfg 中、大多数选项对于基于摄像头的运行不是必需的、并且已删除。 请使用随附的配置。

    您还在使用哪个 SDK? 如果您使用的是 SDK 7.0、请在 app_tidl_oc_cam/main.c 文件中注释此行、

    //如果使用 SDK 7.1,则需要执行此操作
    TIvxImgMosaicParamsSetDefaults (&imgMosaicObj->params);

    附件,

    e2e.ti.com/.../6507.app_5F00_od_5F00_cam.cfg

    e2e.ti.com/.../8400.run_5F00_app_5F00_tidl_5F00_od_5F00_cam.sh

    此致、
    Shyam

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

    Shyam、您好!

    感谢您的回复。
    我使用 SDK 7.1。
    现在、我可以在屏幕上观看视频。

    但我对 app_tidl_od_cam.zip 有一些疑问

    问题1:
    app_tidl_od_cam.zip 可以在多个摄像头上使用吗?

    问题2:
    app_tidl_od_cam.zip 能否获取边界框坐标?

    问题3:
    app_tidl_od_cam.zip 能否获取对象的类标签?

    此致

    -Jason