본문 바로가기

반응형

Deepstream

(3)
[Deepstream] Gst-nvdsanalytics Gst-nvdsanalytics는 nvinfer와 nvtracker에 의해 추가된 metadata에 대한 분석을 진행한다. 분석은 ROI filtering, Overcrowding Detection, Direction Detection, Line Crossing에 대해서 진행한다. 해당 기능은 batch mode로 동작하는데, 여러 stream의 context를 독립적으로 조작한다. ROI 기반의 분석은 primary detector의 결과에서 동작하지만 Direction Detection이나 Line Crossing은 이전의 기록/상태를 분석하기 위해서 tracker-id가 필요하다. 해당 플러그인의 설정은 configuration file을 통해서 할 수 있다. Gst-nvdsanalytics는 ba..
[Deepstream] Gst-nvinfer Gst-nvinfer plugin은 NVDIA TensorRT를 사용하여 입력값을 inferencing한다. 이 플러그인은 NV12/RGBA buffer를 입력받는데, 이때 Gst Buffer에 NvDsBatchMeta structure가 미리 추가되어 있어야 한다. low-level library (libnvds_infer)는 network height와 width 차원의 INT8 RGB, BGR 또는 GRAY 데이터에서 작동한다. Gst-nvinfer는 해당 network의 요청에 맞춰 input data를 변형(conversion, scailing)하고, 이를 low-level library로 전달한다. low-level library는 변형된 frame을 전처리(normalizaation, mea..
[Deepstream] Gst-nvstreammux Gst-nvstreammux plugin은 multiple input sources로부터 생성되는 프레임들을 batch로 묶는 기능을 한다. nvstreammux에 source를 연결하기 위해서는 새로운 pad를 muxer에 요청하여 생성해야한다. 이때gst_element_request_pad() 함수와 pad 템플릿 sink_%u를 사용한다. muxer는 property에서 batch-size로 정해진 만큼의 frame들로 batched buffer를 구성한다. 만약 muxer의 input format과 output format이 같은 경우 해당 source에서 전송된 frame을 batched buffer에 포함시킨다. 만약 input과 output의resolution이 같지 않으면 muxer가 in..

반응형