Deepstream-transfer-learning-app saving wrong image file name

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) - JETSON TX2
• DeepStream Version - 5.0

When using multiple cameras for deepstream-transfer-learning-app, full frame images are stored with wrong stream-id in filename.

And also for RTSP streams, images are stored in blank green color!!

Sorry, what is “deepstream-transfer-learning-app”? Could you provide more details?

Its one of the sample apps in deepstream 5.0,

deepstream-5.0/sources/apps/sample_apps/deepstream-transfer-learning-app

The purpose of this application is to save images and their metadata for
detections that fall under a certain confidence range.
The saved images can be used to re-train a neural network.

Can anybody reply?? @Morganh

@prerana5626,
Sorry for late reply. Deepstream forum team will check it.
I am focusing in TLT forum.

Hi @prerana5626,
can this issue be reproduced with local video?
it’s a little hard for us to set up multiple cameras ? How many cameras are needed?

With local videos, stream-id inside the filename will be random, suppose the image is of camera1 then the file would be camera0_time.jpg or camera1_time.jpg

And with rtsp streams i am getting blank image

I am using this in my deepstream sample test 5 to store images, since i faced the same issue with Dsexample, i tested with two different cameras

could you share me all the changes, including the confirure file, for the quick repo and debug?

Thanks!

@mchi I havn’t changed the code at all from “deepstream-transfer-learning-app”

Just changed the config file

################################################################################
# Copyright (c) 2019-2020, NVIDIA CORPORATION. All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
################################################################################

[application]
enable-perf-measurement=1
perf-measurement-interval-sec=5
#gie-kitti-output-dir=streamscl

[tiled-display]
enable=1
rows=2
columns=2
width=1280
height=720
gpu-id=0
#(0): nvbuf-mem-default - Default memory allocated, specific to particular platform
#(1): nvbuf-mem-cuda-pinned - Allocate Pinned/Host cuda memory applicable for Tesla
#(2): nvbuf-mem-cuda-device - Allocate Device cuda memory applicable for Tesla
#(3): nvbuf-mem-cuda-unified - Allocate Unified cuda memory applicable for Tesla
#(4): nvbuf-mem-surface-array - Allocate Surface Array memory, applicable for Jetson
nvbuf-memory-type=0

[source0]
enable=1
#Type - 1=CameraV4L2 2=URI 3=MultiURI 4=RTSP
type=3
uri=file://../../../../../samples/streams/sample_1080p_h264.mp4
#num-sources=4
#drop-frame-interval=2
gpu-id=0
# (0): memtype_device   - Memory type Device
# (1): memtype_pinned   - Memory type Host Pinned
# (2): memtype_unified  - Memory type Unified
cudadec-memtype=0


[source1]
enable=1
#Type - 1=CameraV4L2 2=URI 3=MultiURI 4=RTSP
type=3
uri=file://../../../../../samples/streams/cam_16_Trim_Trim.mp4
#drop-frame-interval=2
gpu-id=0
# (0): memtype_device   - Memory type Device
# (1): memtype_pinned   - Memory type Host Pinned
# (2): memtype_unified  - Memory type Unified
cudadec-memtype=0


[sink0]
enable=1
#Type - 1=FakeSink 2=EglSink 3=File
type=2
sync=1
#source-id=0
gpu-id=0
nvbuf-memory-type=0

[osd]
enable=1
gpu-id=0
border-width=1
text-size=15
text-color=1;1;1;1;
text-bg-color=0.3;0.3;0.3;1
font=Serif
show-clock=0
clock-x-offset=800
clock-y-offset=820
clock-text-size=12
clock-color=1;0;0;0
nvbuf-memory-type=0

[streammux]
gpu-id=0
##Boolean property to inform muxer that sources are live
live-source=0
batch-size=2
##time out in usec, to wait after the first buffer is available
##to push the batch even if the complete batch is not formed
batched-push-timeout=40000
## Set muxer output width and height
width=1920
height=1080
##Enable to maintain aspect ratio wrt source, and allow black borders, works
##along with width, height properties
enable-padding=0
nvbuf-memory-type=0
## If set to TRUE, system timestamp will be attached as ntp timestamp
## If set to FALSE, ntp timestamp from rtspsrc, if available, will be attached
# attach-sys-ts-as-ntp=1

# config-file property is mandatory for any gie section.
# Other properties are optional and if set will override the properties set in
# the infer config file.
[primary-gie]
enable=1
gpu-id=0
model-engine-file=../../../../../samples/models/Primary_Detector/resnet10.caffemodel_b4_gpu0_int8.engine
batch-size=4
#Required by the app for OSD, not a plugin property
bbox-border-color0=1;0;0;1
bbox-border-color1=0;1;1;1
bbox-border-color2=0;0;1;1
bbox-border-color3=0;1;0;1
interval=0
gie-unique-id=1
nvbuf-memory-type=0
config-file=config_infer_primary_ds_transfer_learning.txt

[tracker]
enable=1
# For the case of NvDCF tracker, tracker-width and tracker-height must be a multiple of 32, respectively
tracker-width=640
tracker-height=384
#ll-lib-file=/opt/nvidia/deepstream/deepstream-5.0/lib/libnvds_mot_iou.so
#ll-lib-file=/opt/nvidia/deepstream/deepstream-5.0/lib/libnvds_nvdcf.so
ll-lib-file=/opt/nvidia/deepstream/deepstream-5.0/lib/libnvds_mot_klt.so
#ll-config-file required for DCF/IOU only
#ll-config-file=tracker_config.yml
#ll-config-file=iou_config.txt
gpu-id=0
#enable-batch-process and enable-past-frame applicable to DCF only
enable-batch-process=1
enable-past-frame=0
display-tracking-id=1

[tests]
file-loop=0

[img-save]
enable=1
output-folder-path=./output
save-img-cropped-obj=0
save-img-full-frame=1
frame-to-skip-rules-path=capture_time_rules.csv
second-to-skip-interval=0
min-confidence=0.1
max-confidence=1.0
min-box-width=5
min-box-height=5

For rtsp config, below changes are made
[source0]
enable=1
#Type - 1=CameraV4L2 2=URI 3=MultiURI 4=RTSP
type=4
uri=URL
gpu-id=0
cudadec-memtype=0

[source1]
enable=1
#Type - 1=CameraV4L2 2=URI 3=MultiURI 4=RTSP
type=4
uri=URL
gpu-id=0
cudadec-memtype=0

[streammux]
gpu-id=0
live-source=1
batch-size=2
width=1920
height=1080
enable-padding=0
nvbuf-memory-type=0

@mchi Any updates?

About saved image in green color, i can repro it using local file, but with usb camera, i can not save even, for a quick repro, can you specify details about camera config used?

ds_transfer_learning_app_example.txt (4.9 KB) ds_transfer_learning_app_example_RTSPCAMERA.txt (4.5 KB)

First file is config for local files and other one is the usb / rtsp config file

This sample app doesn’t work for multiple cameras at all. It acts weirdly. Sometimes it saves 2nd camera images with wrong source_id , some other time it saves only 1st camera frames with again random source_id file name.

About green output, you need to update to latest nvv4l2 gstreamer plugin

=======================================================================
Installing latest nvv4l2 gstreamer plugin

To install latest gstreamer nvv4l2 plugin:

  1. Open the apt source configuration file in a text editor, for example:
    $ sudo vi /etc/apt/sources.list.d/nvidia-l4t-apt-source.list
  2. Change the repository name and download URL in the deb commands as below.
    deb https://repo.download.nvidia.com/jetson/common r32.4 main
    deb https://repo.download.nvidia.com/jetson/ r32.4 main
    Where identifies the platform’s processor:
  3. Save and close the source configuration file.
  4. Enter the commands:
    sudo apt update sudo apt install --reinstall nvidia-l4t-gstreamer
    If apt prompts you to choose a configuration file, reply Y for yes
    (to use the NVIDIA updated version of the file).

Okay! Thanks, will let you know after installing the plugin

And may I know how I can work the app with multiple cameras(local /rtsp)?

@amycao updated the plugin, now the images saved are most of the times green color, and sometimes it is saved as black and white, and sometimes its saved correctly
And also not working for multiple cameras

about most of the times saved output green color issue, please make sure you do not include the original one, since it will output to the same folder, you can remove the original files within folder output, and run again to make sure original ones not there.

I’ve the same problem.
After the update of ’ nvv4l2 gstreamer plugin’ I still have the same problem of saving green images…
How can I do?
Thanks

make sure you read comment 17

which?
This?

about most of the times saved output green color issue, please make sure you do not include the original one, since it will output to the same folder, you can remove the original files within folder output, and run again to make sure original ones not there.

I’ve removed all incorrect images in “output_cropped” folder.
Thanks

yes.