我使用的是带有 SOC j721e 的 TDA4VM 电路板。 我的 SDK 版本为09_00_00_00。 我浏览了 SDK 的文档、但根据该文档、Model Zoo 使用两条管线、一条用于模型输入、另一条用于显示结果。 我想使用一个流水线、使用 TI 插件在电路板上测试我编译的模型。 您能帮助我吗? 我想使用 OpenCV 从 gstreamer 流水线获取源。
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.
我使用的是带有 SOC j721e 的 TDA4VM 电路板。 我的 SDK 版本为09_00_00_00。 我浏览了 SDK 的文档、但根据该文档、Model Zoo 使用两条管线、一条用于模型输入、另一条用于显示结果。 我想使用一个流水线、使用 TI 插件在电路板上测试我编译的模型。 您能帮助我吗? 我想使用 OpenCV 从 gstreamer 流水线获取源。
Fabiana、您好!
我在 TDA4VM Jacinto 上使用用于边缘 AI 应用的 Linux SDK。 以下是我将遵循的文档:
https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-edgeai/TDA4VM/09_00_00/exports/edgeai_docs/common/sdk_overview.html
我可以通过进行一些更改来为 CV2运行流水线。 流水线如下所示:
尊敬的 Sourabh:
我建议查看我们针对 imx219的 GStreamer 流水线示例: https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-edgeai/TDA4VM/09_00_00/exports/edgeai_docs/common/edgeai_dataflows.html#id2
我还建议查看后处理模块、因为它使用 OpenCV。
您更正的是、tiovxcolorconvert 当前不支持 BGR、因此您必须在特定用例中将 RGB 转换为 BGR。 我将提交一个 BGR 支持要求申请。
谢谢!
Fabiana Jaimes
Fabiana、您好!
我正在使用您为 IMX 219摄像机共享的链接中的管道。 我一直在关注该文档、因为它在 OpenCV 中使用了 gstreamer 流水线。 从该链接只有我可以运行 gstreamer 流水线、以在 CV2中读取 h264视频。 但对于 IMX 219流水线、它会发生故障。 以下是文档中的管道、它提供2个流、一个用于模型、另一个用于绘制预测结果
v4l2src device=/dev/video-rpi-cam0 IO-mode=5像素-宽高比=无! 队列泄漏=2! capsfilter caps="视频/x-Bayer、width=(int) 1920、height=(int) 1080、format=(string) rggb;"! tiovxisp dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss.bin sensor-name=sensor_Sony_IMX219_rpi ! capsfilter caps="video/x-raw、format=(string) NV12;"! tiovxmultiscaler 名称= SPLIT_01 SPLIT_01。 ! 排队! capsfilter caps="video/x-raw、width=(int) 1280、height=(int) 720;"! tiovxdlcolorconvert out-pool-size=4! capsfilter caps="video/x-raw、format=(string) rgb;"! appsink max-buffers=2 drop=True name=sen_0 split_01 。 ! 排队! capsfilter caps="video/x-raw、width=(int) 1168、height=(int) 748;"! tiovxmultiscale 目标=1! capsfilter caps="video/x-raw、width=(int) 416、height=(int) 416;"! tiovxdlpreproc out-pool-size=4 data-type=3 tensor-format=1! capsfilter caps="应用/x-tensor-tiovx;"! appsink max-buffers=2 drop=True name=pre_0
我进行了修改、因为我只需要一个流来在电路板上测试我的编译模型。 编辑后的管道如下所示:
v4l2src device=/dev/video-rpi-cam0 IO-mode=5像素-宽高比=无! capsfilter caps="视频/x-Bayer、width=(int) 1920、height=(int) 1080、format=(string) rggb;"! tiovxisp dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss.bin sensor-name=sensor_Sony_IMX219_rpi ! capsfilter caps="video/x-raw、format=(string) NV12;"! tiovxmultiscaler!\
capsfilter caps="video/x-raw、width=(int) 1280、height=(int) 720;"! 视频转换! capsfilter caps="video/x-raw、format=(string) bGR;"! 附加接收器最大缓冲区=2下降= True
该错误是关于 ISP、我认为以下是错误消息
0:00:00.273941699 1598 0x370c2860错误 tiovxisp gsttiovxisp.c:879:gst_tiovx_isp_read_2a_config_file: 无法打开2A 配置文件:(null)
0:00:00.273975626 1598 0x370c2860错误 tiovxisp gsttiovxisp.c:1123:gst_tiovx_isp_init_module: 无法读取2a 配置文件
0:00:00.273994578 1598 0x370c2860错误 tiovxmiso gsttiovxmiso.c:1215:gst_tiovx_miso_modules_init: 子类初始化模块失败
请告诉我,如果我丢失了一些东西或犯了一些小错误。
提前感谢。
尊敬的 Sourabh:
下面是一个 IMX219示例流:
gst-launch-1.0 v4l2src device=/dev/video-rpi-cam0! video/x-bayer,宽度=1920,高度=1080,格式=rggb! tiovxisp sink_0::device=/dev/v4l-subdev2 dcc-isp-file=/opt/imaging/imx219/dcc_viss.bin \
Sink_0::DCC-2a-file=/opt/imaging/imx219/dcc_2a.bin sensor-name=sensor_Sony_IMX219_RPI! video/x-raw、format=NV12、width=1920、height=1080! kmsink sync=false
我希望这对您有所帮助。
谢谢!
Fabiana Jaimes
Fabiana、您好!
您共享的管线无法正常工作。 以下是错误消息。
应用程序:初始化...!!!
内存:初始化...!!!
MEM:已初始化 DMA 堆(FD=6)!!!
内存:初始化...完成!!
IPC:初始化...!!!
IPC:初始化...完成!!!
remote_service: init ...!!!
remote_service: init……done!!!
140.633889s:GTC 频率= 200 MHz
应用程序:初始化...完成!!
140.633962 s: vx_zone_init:Enabled
140.633971 s: vx_zone_error:Enabled
140.633980 s: vx_zone_warning:已启用
140.634743 s: vx_zone_init:[tivxInitLocal:130]初始化已完成!!
140.635181 s: vx_zone_init:[tivxHostInitLocal:96]已针对主机完成初始化!!
正在将管道设置为暂停...
错误:来自元素/GstPipeline:pipeline0/GstKMSSink:kmssink0:无法打开 DRM 模块(NULL)
其他调试信息:
../gst-plugins-bad-1.20.6/sys/kmssink.c (850):GST_kms_sink_start ():/GstPipein:MSSine0/GstKpipelink:kmssink0:
原因:没有此类文件或目录(2)
错误:管道不想预先填充。
错误:来自元素/GstPipeline:pipeline0/GstKMSSink:kmssink0:Gstreamer 错误:状态更改失败、一些元素无法发布正确的错误消息、其中包含失败的原因。
其他调试信息:
../gstreamer-1.20.6/libs/gst/base/gstbasesink.c (5878):GST_base_sink_change_state ():/GstPipeline:pipeline0/GstKMSSink:kmssink0:
启动失败
错误:管道不想预先填充。
无法将管道设置为暂停。
正在将管道设置为空...
正在释放管道...
140.915418 s: vx_zone_error:[vxGetStatus:700]参考为 NULL
140.915438 s: vx_zone_init:[tivxHostDeInitLocal:110]已针对主机完成初始化!!
140.919816 s: vx_zone_init:[tivxDeInitLocal:193]取消初始化已完成!!!
应用程序: Deinit ..!!
remote_service: Deinit……!!!
remote_service: deinit……完成!!
IPC: Deinit...!!
IPC: DeInit ...完成!
内存:Deinit…!!!
DDR_SHARED_MEM:分配:0个分配、共0字节
DDR_SHARED_MEM:free's:0 free's of 0 bytes
DDR_SHARED_MEM:open 的:0个 字节的分配
Mem: Deinit...完成!!
应用程序: Deinit ...完成!
Fabiana、您好!
是的、我有一个显示器连接到该板上。 我使用示例 IMX219配置文件(它会选择输入流、模型和输出 Steam)通过 edgeai_gst_apps python 脚本来运行文档中提供的演示(我们在之前的对话中讨论过)。 我的目标是使用 OpenCV 运行 gstreamer 流水线、以便我可以使用 IMX219尝试我的自定义模型。 我可以使用 OpenCV 为 h264视频运行 gstreamer 流水线(在示例视频中提供)。 我在以前的答复中已经分享了这两个问题。
谢谢!
Sourabh
尊敬的 Sourabh:
查看我发送的流水线并使用最新的 SDK 进行测试后、我看到一些路径和命名约定发生了变化。 请尝试运行此流水线、让我知道它是如何为您效劳的:
gst-launch-1.0 v4l2src device=/dev/video-rpi-cam0 io-mode=5 ! queue leaky=2 ! video/x-bayer, width=1920, height=1080, format=rggb ! tiovxisp sensor-name=SENSOR_SONY_IMX219_RPI dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss.bin format-msb=7 sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a.bin sink_0::device=/dev/v4l-rpi-subdev0 ! video/x-raw,format=NV12, width=1920, height=1080 ! queue ! kmssink driver-name=tidss sync=false
谢谢!
Fabiana Jaimes
Fabiana、您好!
我修改了您共享的流水线、以便我可以使用 CV2使用自定义模型。 以下是可以在 python CV2中使用的工作流水线。
GST_pipeline ='v4l2src device=/dev/video-rpi-cam0 IO-mode=5! 排队! video/x-bayer,宽度=1920,高度=1080,格式=rggb! tiovxisp sensor-name=sensor_Sony_IMX219_RPI DCC-ISP-file=/opt/imaging/imx219/linear/dcc_viss.bin 格式-MSB=7 sink_0::DCC-2a-file=/opt/imaging/imx219/linear/dcc_2a.bin sink_0::device=/dev/v4l-rpi-subdev0! \
video/x-raw、format=NV12、width=1920、height=1080! tiovxdlcolorconvert! video/x-raw,format=rgb! 视频转换! video/x-raw,format=bGR! 排队! 附加接收器'
感谢您的支持、非常感谢!
此致、
Sourabh