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 output feed to "Object detection application"

Part Number: TDA4VM

Dear Sir/madam,

Now I am using TDA4VMEVM ,IMX390 and SDK 7.01.
Following e2e.ti.com/.../950263 suggestion.
I got the VISS output of "Multi Camera VPAC Application" by en_out_viss_write 1.
I only used one camera in the test for simple.
Rename the VISS file name to the file name required for "Objetct detection Application"
The files of VISS output feed to "Object detection Application"
"Multi Camera VPAC Application"-> VISS output -> Files -> "Object detection Application".
But the screen of DisplayPort no show video.
Could you give me suggestion?

Best regards

-Jason

  • Dear Sir/madam,

    My last mail miss "Object detection Application" configuration file.
    Following is my "Object detection Application" configuration file.

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

    # location of network
    tidl_network /opt/vision_apps/test_data/psdkra/tidl_models/tidl_net_peele_300.bin

    # location of input files
    input_file_path /opt/vision_apps/app_cam_out

    # location of output files
    output_file_path ./app_tidl_od_out

    # start frame Number
    start_frame 248

    # number of frames
    num_frames 100

    # input size (width height)
    in_size 1936 1096

    # size given to DL network (width height)
    # This should should not be less than 4x of input width or height
    dl_size 1024 512

    # size given for display (width height)
    # This should should not be less than 4x of input width or height
    out_size 1024 512

    # vizualization threshold
    viz_th 0.95

    # Maximum number of Object Detection classes
    num_classes 90

    # delay in milli seconds (max 2000ms)
    delay_in_msecs 0

    # Enable or disable output image writing. 1 Enables it , 0 disables it
    en_out_img_write 0

    # If 1 - Enable display 0 - Disable display
    display_option 1

    # number of iterations to loop the inputs
    num_iterations 1

    # interactive input mode 1: yes, 0: no
    is_interactive 1
    root@j7-evm:/opt/vision_apps#

    Best regards

    -Jason

  • Jason,

    Try the attached application.

    Regards,
    Shyamapp_tidl_od_cam.zip

  • Hi Shyam,

    Thank you about your code.
    I think, your program is
    IMX390 -> VISS -> Object Detection -> DisplayPort -> screen.
    Am I right?

    But I have problem when run on TDA4VMEVM.
    The screen no display video.
    These is not any files under app_tidl_od_out directory.
    Following is my test steps.
    Could you give suggestion?
    Do I miss any step?

    <<unzip and rebuild>>
    jason@:~/ti_tda4x_7_01/ti-processor-sdk-rtos-j721e-evm-07_01_00_11/vision_apps/apps/dl_demos$ unzip app_tidl_od_cam.zip
    jason@~/ti_tda4x_7_01/ti-processor-sdk-rtos-j721e-evm-07_01_00_11/vision_apps$ make vision_apps

    <<run on TDA4VMEVM>>
    root@j7-evm:/opt/vision_apps# source ./vision_apps_init.sh

    I get app_od.cfg from app_tidl_od_cam.zip.
    app_od.cfg change name to app_od_cam2.cfg
    I modify app_od_cam2.cfg as following.
    root@j7-evm:/opt/vision_apps# cat app_od_cam2.cfg
    # location of 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

    # location of network
    #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

    # location of input files
    #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

    # location of output files
    output_file_path ./app_tidl_od_out

    # start frame Number
    start_frame 500

    # number of frames
    num_frames 400

    # input size (width height)
    in_size 1024 512

    # size given to DL network (width height)
    # This should should not be less than 4x of input width or height
    dl_size 1024 512

    # size given for display (width height)
    # This should should not be less than 4x of input width or height
    out_size 1024 512

    # vizualization threshold
    viz_th 0.95

    # Maximum number of Object Detection classes
    num_classes 90

    # delay in milli seconds (max 2000ms)
    delay_in_msecs 0

    # Enable or disable output image writing. 1 Enables it , 0 disables it
    en_out_img_write 1

    # If 1 - Enable display 0 - Disable display
    display_option 0

    # number of iterations to loop the inputs
    num_iterations 1

    # interactive input mode 1: yes, 0: no
    is_interactive 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
    APP: Init ... !!!
    MEM: Init ... !!!
    MEM: Initialized DMA HEAP (fd=4) !!!
    MEM: Init ... Done !!!
    IPC: Init ... !!!
    IPC: Init ... Done !!!
    REMOTE_SERVICE: Init ... !!!
    REMOTE_SERVICE: Init ... Done !!!
    APP: Init ... Done !!!
    2591.649793 s: VX_ZONE_INIT:Enabled
    2591.649930 s: VX_ZONE_ERROR:Enabled
    2591.650069 s: VX_ZONE_WARNING:Enabled
    2591.650499 s: VX_ZONE_INIT:[tivxInit:71] Initialization Done !!!
    2591.650707 s: VX_ZONE_INIT:[tivxHostInit:48] Initialization Done for HOST !!!
    2591.650809 s: ISS: Enumerating sensors ... !!!
    2591.651205 s: ISS: Enumerating sensors ... found 0 : IMX390-UB953_D3
    2591.651216 s: ISS: Enumerating sensors ... found 1 : AR0233-UB953_MARS
    2591.651232 s: ISS: Enumerating sensors ... found 2 : AR0820-UB953_LI
    2591.651248 s: ISS: Enumerating sensors ... found 3 : UB9xxx_RAW12_TESTPATTERN
    2591.651263 s: ISS: Enumerating sensors ... found 4 : UB96x_UYVY_TESTPATTERN
    2591.651276 s: ISS: Enumerating sensors ... found 5 : GW_AR0233_UYVY
    Sensor selected : IMX390-UB953_D3
    Querying IMX390-UB953_D3
    2591.651312 s: ISS: Querying sensor [IMX390-UB953_D3] ... !!!
    2591.651500 s: ISS: Querying sensor [IMX390-UB953_D3] ... Done !!!
    2591.652313 s: ISS: Initializing sensor [IMX390-UB953_D3], doing IM_SENSOR_CMD_PWRON ... !!!
    [MCU2_0] 2591.650922 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_CREATE
    [MCU2_0] 2591.650992 s: Sensor at index 0 = IMX390-UB953_D3
    [MCU2_0] 2591.651027 s: Sensor at index 1 = AR0233-UB953_MARS
    [MCU2_0] 2591.651051 s: Sensor at index 2 = AR0820-UB953_LI
    [MCU2_0] 2591.651074 s: Sensor at index 3 = UB9xxx_RAW12_TESTPATTERN
    [MCU2_0] 2591.651099 s: Sensor at index 4 = UB96x_UYVY_TESTPATTERN
    [MCU2_0] 2591.651123 s: Sensor at index 5 = GW_AR0233_UYVY
    [MCU2_0] 2591.651384 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_QUERY
    [MCU2_0] 2591.651431 s: Received Query for IMX390-UB953_D3
    [MCU2_0] 2591.652392 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_PWRON
    [MCU2_0] 2591.652480 s: IM_SENSOR_CMD_PWRON : channel_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 config start
    2591.852894 s: ISS: Initializing sensor [IMX390-UB953_D3], doing IM_SENSOR_CMD_CONFIG ... !!!
    [MCU2_0] 2591.852753 s: End of UB960 config
    [MCU2_0] 2591.853002 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_CONFIG
    [MCU2_0] 2591.853052 s: Application requested features = 0x158
    [MCU2_0]
    [MCU2_0] 2591.853119 s: ub960_cfgScript : ub960I2cAddr = 0x3d
    [MCU2_0] 2591.853148 s: UB960 config start
    [MCU2_0] 2592.108591 s: End of UB960 config
    [MCU2_0] 2592.108686 s: ub960_cfgScript : ub960I2cAddr = 0x36
    [MCU2_0] 2592.108720 s: UB960 config start
    [MCU2_0] 2592.364588 s: End of UB960 config
    [MCU2_0] 2592.364644 s: Configuring camera # 0
    [MCU2_0] 2592.364674 s: ub953 config start : slaveAddr = 0x74
    [MCU2_0] 2592.554590 s: End of UB953 config
    [MCU2_0] 2592.554685 s: Configuring IMX390 imager 0x40.. Please wait till it finishes
    2594.652708 s: ISS: Initializing sensor [IMX390-UB953_D3] ... Done !!!
    Scaler output1 width = 1024
    Scaler output1 height = 512
    Scaler output2 width = 1024
    Scaler output2 height = 512
    Computing checksum at 0x0000FFFF90745C80, size = 887792
    [MCU2_0] 2594.652523 s: IMX390 config done
    [MCU2_0] 2594.652583 s: IM_SENSOR_CMD_CONFIG returning status = 0
    2594.876429 s: VX_ZONE_ERROR:[ownContextSendCmd:782] Command ack message returned failure cmd_status: -1
    2594.876455 s: VX_ZONE_ERROR:[ownContextSendCmd:818] tivxEventWait() failed.
    2594.876465 s: VX_ZONE_ERROR:[ownNodeKernelInit:526] Target kernel, TIVX_CMD_NODE_CREATE failed
    2594.876478 s: VX_ZONE_ERROR:[ownNodeKernelInit:527] Please be sure the target callbacks have been registered for this core
    2594.876485 s: VX_ZONE_ERROR:[ownNodeKernelInit:528] If the target callbacks have been registered, please ensure no errors are occurring within the create callback of this kernel
    2594.876678 s: VX_ZONE_ERROR:[ownGraphNodeKernelInit:583] kernel init for node 8, kernel com.ti.img_proc.img.mosaic ... failed !!!
    2594.876696 s: VX_ZONE_ERROR:[vxVerifyGraph:2010] Node kernel init failed
    2594.876703 s: VX_ZONE_ERROR:[vxVerifyGraph:2064] Graph verify failed
    [MCU2_0] 2594.876160 s: src/fvid2_drvMgr.c @ Line 861:
    [MCU2_0] 2594.876204 s: Driver Ops not supported!!
    [MCU2_0] 2594.876242 s: VX_ZONE_ERROR:[tivxKernelImgMosaicMscSetCoeffsCmd:819] tivxKernelImgMosaicMscSetCoeffsCmd: Failed to create coefficients
    [MCU2_0] 2594.876892 s: ==========================================================
    [MCU2_0] 2594.876979 s: Capture Status: Instance|0
    [MCU2_0] 2594.877020 s: ==========================================================
    [MCU2_0] 2594.877058 s: overflowCount: 0
    [MCU2_0] 2594.877085 s: spuriousUdmaIntrCount: 0
    [MCU2_0] 2594.877113 s: frontFIFOOvflCount: 0
    [MCU2_0] 2594.877136 s: crcCount: 0
    [MCU2_0] 2594.877157 s: eccCount: 0
    [MCU2_0] 2594.877181 s: correctedEccCount: 0
    [MCU2_0] 2594.877207 s: dataIdErrorCount: 0
    [MCU2_0] 2594.877232 s: invalidAccessCount: 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: Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count |
    [MCU2_0] 2594.877528 s: 0 | 0 | 0 | 0 | 0 |
    [C7x_1 ] 2594.874896 s: VX_ZONE_WARNING:[tivxKernelTIDLCreate:614] All Interrupts DISABLED during TIDL process
    2594.982734 s: ISS: De-initializing sensor [IMX390-UB953_D3] ... !!!
    2594.982896 s: ISS: De-initializing sensor [IMX390-UB953_D3] ... Done !!!
    2594.983795 s: VX_ZONE_INIT:[tivxHostDeInit:56] De-Initialization Done for HOST !!!
    2594.988125 s: VX_ZONE_INIT:[tivxDeInit:111] De-Initialization Done !!!
    APP: Deinit ... !!!
    REMOTE_SERVICE: Deinit ... !!!
    REMOTE_SERVICE: Deinit ... Done !!!
    IPC: Deinit ... !!!
    IPC: DeInit ... Done !!!
    MEM: Deinit ... !!!
    MEM: Alloc's: 92 alloc's of 72473295 bytes
    MEM: Free's : 92 free's of 72473295 bytes
    MEM: Open's : 0 allocs of 0 bytes
    MEM: Deinit ... Done !!!
    APP: Deinit ... Done !!!
    root@j7-evm:/opt/vision_apps#

    Best regards

    -Jason

  • Hi Shyam,

    I tried the other configuration setup on app_tidl_od_cam.zip.
    It still doesn't have the video output.
    Could you give me the suggestion?

    Following is my new configuration file.

    /*-------------------configuration file ----------------------*/
    root@j7-evm:/opt/vision_apps# cat app_od_cam2.cfg
    # location of 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

    # location of network
    #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

    # location of input files
    #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

    # location of output files
    output_file_path ./app_tidl_od_out

    # start frame Number
    start_frame 500

    # number of frames
    num_frames 400

    # input size (width height)
    in_size 1024 512

    # size given to DL network (width height)
    # This should should not be less than 4x of input width or height
    dl_size 1024 512

    # size given for display (width height)
    # This should should not be less than 4x of input width or height
    out_size 1024 512

    # vizualization threshold
    viz_th 0.95

    # Maximum number of Object Detection classes
    num_classes 90

    # delay in milli seconds (max 2000ms)
    delay_in_msecs 0

    # Enable or disable output image writing. 1 Enables it , 0 disables it
    #en_out_img_write 1
    en_out_img_write 0

    # If 1 - Enable display 0 - Disable display
    #display_option 0
    display_option 1

    # number of iterations to loop the inputs
    num_iterations 1

    # interactive input mode 1: yes, 0: no
    #is_interactive 0
    is_interactive 1
    root@j7-evm:/opt/vision_apps#

    Following is the log of vx_app_tidl_od_cam.out.

    /*---------------------------- vx_app_tidl_od_cam.out log ------------------------------------*/

    root@j7-evm:/opt/vision_apps# ./vx_app_tidl_od_cam.out --cfg app_od_cam2.cfg
    APP: Init ... !!!
    MEM: Init ... !!!
    MEM: Initialized DMA HEAP (fd=4) !!!
    MEM: Init ... Done !!!
    IPC: Init ... !!!
    IPC: Init ... Done !!!
    REMOTE_SERVICE: Init ... !!!
    REMOTE_SERVICE: Init ... Done !!!
    APP: Init ... Done !!!
    1602.343233 s: VX_ZONE_INIT:Enabled
    1602.343258 s: VX_ZONE_ERROR:Enabled
    1602.343267 s: VX_ZONE_WARNING:Enabled
    1602.343889 s: VX_ZONE_INIT:[tivxInit:71] Initialization Done !!!
    1602.344109 s: VX_ZONE_INIT:[tivxHostInit:48] Initialization Done for HOST !!!
    1602.345164 s: ISS: Enumerating sensors ... !!!
    1602.345555 s: ISS: Enumerating sensors ... found 0 : IMX390-UB953_D3
    1602.345564 s: ISS: Enumerating sensors ... found 1 : AR0233-UB953_MARS
    1602.345573 s: ISS: Enumerating sensors ... found 2 : AR0820-UB953_LI
    1602.345579 s: ISS: Enumerating sensors ... found 3 : UB9xxx_RAW12_TESTPATTERN
    1602.345585 s: ISS: Enumerating sensors ... found 4 : UB96x_UYVY_TESTPATTERN
    1602.345591 s: ISS: Enumerating sensors ... found 5 : GW_AR0233_UYVY
    Sensor selected : IMX390-UB953_D3
    Querying IMX390-UB953_D3
    1602.345606 s: ISS: Querying sensor [IMX390-UB953_D3] ... !!!
    1602.345808 s: ISS: Querying sensor [IMX390-UB953_D3] ... Done !!!
    1602.350041 s: ISS: Initializing sensor [IMX390-UB953_D3], doing IM_SENSOR_CMD_PWRON ... !!!
    [MCU2_0] 1602.345277 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_CREATE
    [MCU2_0] 1602.345345 s: Sensor at index 0 = IMX390-UB953_D3
    [MCU2_0] 1602.345376 s: Sensor at index 1 = AR0233-UB953_MARS
    [MCU2_0] 1602.345401 s: Sensor at index 2 = AR0820-UB953_LI
    [MCU2_0] 1602.345424 s: Sensor at index 3 = UB9xxx_RAW12_TESTPATTERN
    [MCU2_0] 1602.345449 s: Sensor at index 4 = UB96x_UYVY_TESTPATTERN
    [MCU2_0] 1602.345473 s: Sensor at index 5 = GW_AR0233_UYVY
    [MCU2_0] 1602.345693 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_QUERY
    [MCU2_0] 1602.345741 s: Received Query for IMX390-UB953_D3
    [MCU2_0] 1602.350132 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_PWRON
    [MCU2_0] 1602.350223 s: IM_SENSOR_CMD_PWRON : channel_mask = 0x1
    [MCU2_0] 1602.350349 s: IMX390_PowerOn : chMask = 0x1
    [MCU2_0] 1602.350397 s: ub960_cfgScript : ub960I2cAddr = 0x3d
    [MCU2_0] 1602.350420 s: UB960 config start
    1602.550042 s: ISS: Initializing sensor [IMX390-UB953_D3], doing IM_SENSOR_CMD_CONFIG ... !!!
    [MCU2_0] 1602.549905 s: End of UB960 config
    [MCU2_0] 1602.550162 s: ImageSensor_RemoteServiceHandler: IM_SENSOR_CMD_CONFIG
    [MCU2_0] 1602.550214 s: Application requested features = 0x158
    [MCU2_0]
    [MCU2_0] 1602.550285 s: ub960_cfgScript : ub960I2cAddr = 0x3d
    [MCU2_0] 1602.550317 s: UB960 config start
    [MCU2_0] 1602.805740 s: End of UB960 config
    [MCU2_0] 1602.805838 s: ub960_cfgScript : ub960I2cAddr = 0x36
    [MCU2_0] 1602.805870 s: UB960 config start
    [MCU2_0] 1603.061738 s: End of UB960 config
    [MCU2_0] 1603.061793 s: Configuring camera # 0
    [MCU2_0] 1603.061824 s: ub953 config start : slaveAddr = 0x74
    [MCU2_0] 1603.251740 s: End of UB953 config
    [MCU2_0] 1603.251840 s: Configuring IMX390 imager 0x40.. Please wait till it finishes
    1605.345860 s: ISS: Initializing sensor [IMX390-UB953_D3] ... Done !!!
    [MCU2_0] 1605.345675 s: IMX390 config done
    [MCU2_0] 1605.345739 s: IM_SENSOR_CMD_CONFIG returning status = 0
    Scaler output1 width = 1024
    Scaler output1 height = 512
    Scaler output2 width = 1024
    Scaler output2 height = 512
    Computing checksum at 0x0000FFFF85465C80, size = 887792
    [C7x_1 ] 1605.803750 s: VX_ZONE_WARNING:[tivxKernelTIDLCreate:614] All Interrupts DISABLED during TIDL process

    Best regards

    -Jason

  • Jason,

    I am sorry to include app_tidl_od/config/app_od.cfg inside app_tidl_od_cam/config/app_od.cfg most of the options are not required for camera based run and are removed. Please use the attached config.

    Also which SDK are you using? If you are using SDK 7.0 please comment this line in app_tidl_oc_cam/main.c file,

    // This is required if using SDK 7.1
    tivxImgMosaicParamsSetDefaults(&imgMosaicObj->params);

    Attachments,

    6507.app_od_cam.cfg

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/791/8400.run_5F00_app_5F00_tidl_5F00_od_5F00_cam.sh

    Regards,
    Shyam

  • Hi Shyam,

    Thank you about your reply.
    I use SDK 7.1 .
    Now I can see the video on screen.

    But I have some questions about app_tidl_od_cam.zip

    Q1:
    Can app_tidl_od_cam.zip use on multiple cameras?

    Q2:
    Can app_tidl_od_cam.zip get the bounding box coordinate?

    Q3:
    Can app_tidl_od_cam.zip get the class label of object?

    Best regards

    -Jason