nx deepstream 效率优化
模型为:2个一级检测器,7个二级检测器。涉及的技术:obj检测,关键点检测,人脸识别一.rtsp流的延时问题模型多,视频流多导致处理不过来,产生延时问题。处理延时问题两个思路:代码优化;设置丢帧。1.设置丢帧方式参考:https://blog.csdn.net/XCCCCZ/article/details/120377817,有很多种设置丢帧的方式。有latency和drop-on-latency
模型为:2个一级检测器,7个二级检测器。涉及的技术:obj检测,关键点检测,人脸识别
一.rtsp流的延时问题
模型多,视频流多导致处理不过来,产生延时问题。处理延时问题两个思路:代码优化;设置丢帧。
1.设置丢帧方式
参考:https://blog.csdn.net/XCCCCZ/article/details/120377817,有很多种设置丢帧的方式。
有latency和drop-on-latency组合使用实现解码前丢帧:
g_object_set (G_OBJECT (pipeline), "latency", 200000, NULL);
g_object_set (G_OBJECT (bin->src_elem), "drop-on-latency", TRUE, NULL);
对于nvv4l2decoder,它有drop-frame-interval这样的属性可以设置间隔丢帧,做到在解码前丢帧:
g_object_set (object, "drop-frame-interval", config->drop_frame_interval, NULL);
还可以在配置文件里设置interval参数,但是这样设置在没有跟踪的情况下会出现目标框闪烁的情况。interval其实是用来跳过对帧进行推理,但是并没有把跳过推理的帧同时主动丢掉,而是继续往下游发了!这实际上就等同于跳过推理的帧的识别结果为没有识别出目标来!你可以想象这对于下游的目标跟踪插件的伤害有多大!与上边一种的区别是:设置drop-frame-interval跳帧显示时也是跳帧,但设置interval跳帧显示时不跳帧,但是结果跳帧显示,所以会出现目标框闪烁的情况。
videorate方式尝试了,没有效果,不知道是不是没加对
2.代码优化
更多推荐



所有评论(0)