deepstream
帧率调参:
[source0]
1、drop-frame-interval 整型,≥0,≤30 drop-frame-interval=5 丢帧的间隔。 例如:5,表示解码器每隔五帧输出一次; 0,表示没有丢帧。
2、intra-decode-enable只解关键帧
无论是drop-frame-interval丢弃帧,还是intra-decode-enable只解关键帧,都是对source进行处理,推理后是不连贯的图片,影响视频合成。不能在实时场景下用,建议是在 低频报事件的场景下用。
3、interval 推理批次间隔设置
说明:3,参数可以减少推理的帧数,影响的是infer组件,在出了infer后在sink可以合成视频,可以在实时场景下使用。
注意: 前面的1.2参数和3参数联合使用的时候,相当于少两次的乘积的帧数。
[sink1]
设置输出的关键帧max为30,代码里面写死在生成file输出时,30/iframeinterval
iframeinterval=10
[gie]
is-classifier=0
##先检测后分类依据检测类别的参数:
gie-unique-id=2
operate-on-gie-id=1 //gie的标签1
奇葩参数:
1、overlay-id=1 设置了此参数才能展示画面,单使用showplay不显示
2、在删除pipline的时候,这个时间延时,决定了,deepstream删除流成功返回的时间,毕竟是单线程操作,不建议此参数过大[streammux] batched-push-timeout=40000
3、代码写死的内容:
1、影响:1、独立检测 2、级联检测
deepstream_secondary_gie_bin.c
g_object_set (G_OBJECT (bin->primary_gie),
"config-file-path", GET_FILE_PATH (config->config_file_path),
"process-mode", 1, NULL);
预处理参数:
resize的处理方式:
[property]
scaling-filter=0
/** Specifies Nearest Interpolation Method interpolation. */
NvBufSurfTransformInter_Nearest = 0,
/** Specifies Bilinear Interpolation Method interpolation. */
NvBufSurfTransformInter_Bilinear,
/** Specifies GPU-Cubic, VIC-5 Tap interpolation. */
NvBufSurfTransformInter_Algo1,
/** Specifies GPU-Super, VIC-10 Tap interpolation. */
NvBufSurfTransformInter_Algo2,
/** Specifies GPU-Lanzos, VIC-Smart interpolation. */
NvBufSurfTransformInter_Algo3,
/** Specifies GPU-Ignored, VIC-Nicest interpolation. */
NvBufSurfTransformInter_Algo4,
/** Specifies GPU-Nearest, VIC-Nearest interpolation. */
NvBufSurfTransformInter_Default
YOLO SGIE problem with resize - #7 by geralt_of_rivia - DeepStream SDK - NVIDIA Developer Forums
均值方差:
mean= [0.485, 0.456, 0.406], std = [0.229, 0.224, 0.225]
net-scale-factor=0.017352074
1/255
net-scale-factor=0.0039215697906911373
不做均值方差
net-scale-factor=1
是否保持比例:
maintain-aspect-ratio=0 不保持比例 maintain-aspect-ratio=1 保持比例