Bu bölümdeki komutların çalıştırılabilmesi için sürücü ve çalışma zamanı kurulumunun tamamlanmış olması
gerekmektedir. Kurulumu
dxrt-cli -s komutu ile doğrulayabilirsiniz.DX-APP Örnek Uygulamaları
DX-APP; nesne tespiti, sınıflandırma, poz tahmini, segmentasyon, derinlik tahmini ve yüz tanıma gibi görevler için hazır C++ ve Python şablonları içermektedir.1
Projenin İndirilmesi
2
Bağımlılıkların Kurulumu
Derleme araçları ve OpenCV kütüphanesini kuran betiği çalıştırınız.
3
Model ve Örnek Videoların İndirilmesi
Örnek uygulamalarda kullanılan modeller ve videolar Modeller
setup.sh betiği ile indirilmektedir.assets/models, videolar ise assets/videos klasörüne indirilmektedir.4
Projenin Derlenmesi
bin klasöründe oluşturulmaktadır.5
Örneklerin Çalıştırılması
Tüm örnekleri menü üzerinden denemek için demo betiğini kullanabilirsiniz.Belirli bir örneği doğrudan çalıştırmak da mümkündür.
Ortak Komut Satırı Seçenekleri
DX-APP içerisindeki tüm örnekler aynı komut satırı seçeneklerini kullanmaktadır.--image, --video, --camera ve --rtsp seçenekleri birbirinin alternatifidir ve yalnızca biri
kullanılabilir. Hiçbiri belirtilmediğinde göreve uygun örnek bir görüntü otomatik olarak seçilmektedir.Senkron ve Asenkron Şablonlar
Örnek uygulamalar_sync ve _async olmak üzere iki biçimde sunulmaktadır.
- Senkron (
_sync) şablonlar; ön işleme, çıkarım ve son işleme adımlarını sırayla yürütmektedir. Tek görüntü üzerinde çalışmak ve hata ayıklamak için uygundur. - Asenkron (
_async) şablonlar; NPUNnumaralı kareyi işlerken CPU’nunN+1numaralı kareyi hazırlamasına olanak tanımaktadır. Video akışlarında kare hızını en üst düzeye çıkarmak için tercih edilmelidir.
DX-STREAM ile Video İşleme
DX-STREAM, GStreamer altyapısına DEEPX NPU desteği ekleyen eklenti kümesidir. Bu sayede kamera, video dosyası veya RTSP akışından gelen görüntüler bir hat (pipeline) içerisinde işlenebilmektedir.Eklenti Elemanları
Kurulu eklentileri ve özelliklerini
gst-inspect-1.0 aracı ile inceleyebilirsiniz.
Örnek Hat
Aşağıdaki hat bir video dosyasını okumakta, YOLO modeli ile nesne tespiti yapmakta ve sonuçları görüntü üzerine çizerek bir video dosyasına kaydetmektedir./home/gemstone/output.avi konumuna kaydedilmiştir. Bu dosya üzerinden erişebilirsiniz.

Örnek hattın çıktısı: YOLOv7 ile tespit edilen nesneler kareler üzerine çizilmektedir.
Yukarıdaki görsel, dokümantasyonda GIF olarak paylaşılabilmesi için çözünürlüğü ve süresi düşürülerek
oluşturulmuştur. Hattın ürettiği gerçek çıktı, kaynak videonun çözünürlüğünde ve tam uzunluktadır.
Video kaynağını okur ve çözer.
uri özelliğine işlenecek dosyanın yolu verilmektedir.Kareleri
resize-width ve resize-height değerlerine göre yeniden boyutlandırır. preprocess-id değeri,
sonraki dxinfer elemanı ile eşleştirme yapmak için kullanılmaktadır.model-path ile belirtilen .dxnn modelini NPU üzerinde çalıştırır.library-file-path ile belirtilen paylaşımlı kütüphaneyi kullanarak model çıktısını çözümler. Kullanılacak
kütüphane, model ailesine göre değişmektedir.Tespit sonuçlarını kare üzerine çizer.
Kareleri kodlayıcının beklediği renk biçimine dönüştürür,
quality=85 değeri ile JPEG olarak sıkıştırır ve
elde edilen kareleri AVI kapsayıcısında birleştirir.Oluşturulan videoyu
location ile belirtilen dosyaya yazar.queue elemanları hattın asenkron çalışmasını sağlamaktadır. Bu elemanlar kaldırıldığında her aşama bir
öncekinin bitmesini beklediği için kare hızı düşmektedir.Nesne Takibi Eklenmesi
Nesne tespitinin ardındandxtracker elemanı eklendiğinde, tespit edilen nesnelere kareler arasında
kimlik (track ID) atanmaktadır.
Kaynaklar
DX-APP
Örnek uygulama şablonları
DX-STREAM
GStreamer eklentileri ve hazır hatlar
DX-RT
Çalışma zamanı kaynak kodu ve API örnekleri
DX Model Zoo
Hazır model deposu
deepx-npu-sdk
T3 Gemstone için çekirdek modülü, DX-RT çalışma zamanı ve GStreamer eklentisi Debian paketlerini üreten
derleme tarifleri
DEEPX Model Zoo
Önceden derlenmiş
.dxnn modellerinin listelendiği ve indirilebildiği resmi model deposu
