Cvičení – úprava ukázkových aplikací DeepStream

Dokončeno

Teď, když jste spustili ukázkovou aplikaci DeepStream, můžete ukázky upravit a získat tak jiné chování.

  1. Začněme zobrazením struktury ukázkové konfigurace v textovém editoru. Vytvoříme kopii ukázkové konfigurace použité v předchozí části a podíváme se na některá nastavení, která můžeme změnit. Spusťte tyto příkazy:

    cd /opt/nvidia/deepstream/deepstream-6.0/samples/configs/deepstream-app
    sudo cp source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8_modified.txt
    sudo vi source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8_modified.txt
    

    Poznámka:

    Tady je několik tipů pro použití vi při úpravě souboru source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8_modified.txt :

    • Stisknutím klávesy i umístěte editor do režimu vložení. Pak budete moct provádět změny.
    • Stisknutím klávesy Esc přejděte do režimu vložení a vraťte se do normálního režimu.
    • Pokud chcete soubor uložit a ukončit, zadejte :x a stiskněte Enter.
    • Uložte soubor, zadejte :w a stiskněte Enter.
    • Pokud chcete zavřít vi, zadejte :quit a stiskněte Enter.
  2. Všimněte si různých částí konfigurace a způsobu, jakým přispívají k celkové aplikaci. Tyto oddíly jsou označené hranatými závorkami ([]). Například , [application], [tiled-display]], [source0a [sink0]. Tyto části jsou podrobně vysvětleny v části Skupiny konfigurace v dokumentaci k sadě DeepStream SDK.

    Pokud chcete například změnit vstup tak, aby používal stream videa RTSP místo místního videosouboru, změňte [tiled-display] a [source0]:

    [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://../../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
    

    Pak proveďte následující změny. (Všimněte si změn v polích rows, columns, typeuri, anum-sources.)

    [tiled-display]
    enable=1
    rows=1
    columns=1
    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=4
    uri=rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov
    num-sources=1
    #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
    
    
  3. Pomocí těchto příkazů spusťte změněnou konfiguraci:

    cd /opt/nvidia/deepstream/deepstream-6.0/samples/configs/deepstream-app
    deepstream-app -c source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8_modified.txt
    

Vyzkoušejte toto

Podívejte se na různé ukázkové konfigurace zahrnuté v sadě DeepStream SDK. Jak byste mohli tyto ukázky změnit, abyste vytvořili inteligentní bezpečnostní systém? Předpokládejme, že máte několik fotoaparátů RTSP, které obsluhují informační kanály přes jedinečné koncové body RTSP. Mohli byste vytvořit aplikaci DeepStream, která tyto streamy živého videa používá jako vstup, a použít odvození k detekci lidí a vozidel?

Další kroky

Pokud chcete tento modul dokončit a získat trofej, dokončete závěrečnou prověrka znalostí.