Trafik izleme, depo güvenliği ve perakende alışverişçi analitiği gibi Akıllı Video Analizi (IVA) uygulamalarına yönelik algılama söz konusu olduğunda en büyük zorluklardan biri tıkanmalardır. İnsanlar yapısal engellerin arkasına geçebilir, perakende alışveriş yapanlar raf üniteleri nedeniyle tam olarak görülemeyebilir ve örneğin arabalar büyük kamyonların arkasına gizlenmiş olabilir.
Bu gönderi, NVIDIA DeepStream SDK'daki yeni Tek Görünümlü 3D İzleme özelliğinin, gerçek hayattaki IVA dağıtımlarında sıklıkla karşılaşılan görsel algıdaki tıkanmaların azaltılmasına nasıl yardımcı olabileceğini açıklıyor.
Görsel algıda perspektifler ve projeksiyonlar
Fiziksel dünyamızda, kamera merceğinden gözlemlenen bazı nesnelerin hareketi düzensiz görünebilir. Bunun nedeni, kameranın 3 boyutlu dünyayı 2 boyutlu olarak temsil etmesidir.
Bunun bir örneği, eski Yunan gökbilimcilerini şaşırtan Merkür ve Mars gibi gezegenlerin geriye doğru hareketidir. Gezegenlerin neden bazen geriye doğru gidiyor gibi göründüğünü açıklayamadılar (Şekil 1).
Algılanan belirgin gerileme, yıldızların ve gezegenlerin gece gökyüzündeki yörüngelerinden kaynaklanmaktadır. Bunlar, evrenin 3 boyutlu uzayındaki yörünge hareketlerinin gece gökyüzünün 2 boyutlu tuvaline izdüşümleridir. Antik gökbilimciler 3 boyutlu uzaydaki hareket düzenini bilselerdi, bu gezegenlerin 2 boyutlu gece gökyüzündeki görünümünü tahmin edebilirlerdi.
Trafik izleme kameraları da benzer bir örnek sunmaktadır. Bu kameralar genellikle araçların yakın ve uzak alandaki hareket dinamiklerinin büyük ölçüde farklı olabileceği geniş bir alanı izlemek için monte edilir.
Video 1'de uzaktaki araçlar küçük ve yavaş hareket ediyor gibi görünüyor. Araçlar kameraya yaklaşıp dönüş yaptıkça nesne hareketlerinde ani değişiklikler gözlemlenebiliyor. Bu değişiklikler, 2D kamera görünümünde ortak desenlerin bulunmasını zorlaştırmakta ve dolayısıyla aracın gelecekte nereye hareket edebileceğini tahmin etmeyi zorlaştırmaktadır.
Nesne izleme, esas olarak nesnelerin zaman içindeki benzersiz kimliklerini tanımlarken nesnelerin fiziksel durumlarının sürekli bir tahminidir. Bu süreç tipik olarak nesne hareket dinamiklerinin modellenmesini ve ölçümlerdeki (tespitlerdeki) doğal gürültüleri bastırmak için tahminler yapmayı içerir. Sağlanan örnekler göz önüne alındığında, nesnelerin durum tahminini ve öngörüsünü doğrudan doğal 3B alanda gerçekleştirmenin, bunu yansıtılan 2B kamera görüntü düzleminde gerçekleştirmeye göre daha iyi sonuçlar vereceği açıktır. Bunun nedeni nesnelerin 3 boyutlu alanda var olmasıdır.
NVIDIA DeepStream ile Tek Görünümlü 3D İzleme
NVIDIA DeepStream SDK, yapay zeka tabanlı çoklu sensör işleme, video, ses ve görüntü anlama için GStreamer'ı temel alan eksiksiz bir akış analitiği araç setidir. Son zamanlarda DeepStream 6.4 sürümü Tek kamera görünümünde 3B fiziksel dünyadaki nesne durumlarının tahmin edilmesini sağlayan Tek Görünümlü 3B İzleme (SV3DT) adı verilen yeni bir özelliği tanıttı.
Bu süreç, her kamera için 3×4 projeksiyon matrisi veya kamera matrisi kullanılarak 2 boyutlu kamera görüntü düzleminde gözlemlenen ölçümün 3 boyutlu dünya koordinat sistemine dönüştürülmesini içerir. Bir nesnenin 3B dünya yer düzlemindeki konumu, nesnenin alt kısmının merkezi olarak temsil edilir. Yani bir yaya, silindirik modelin tabanının merkezi yayanın ayak konumu olacak şekilde dünya zemin düzleminde duran bir silindir (yükseklik ve yarıçapa sahip) olarak modellenmiştir (Şekil 2).
3×4 projeksiyon matrisi ve silindirik bir insan modeli kullanılarak, algılanan bir nesne için 3B dünya yer düzlemindeki 3B insan modelinin konumu, 2B kamera görüntü düzleminde yansıtılan 3B insan modelinin 2B kamera görüntü düzlemiyle en iyi şekilde eşleşeceği şekilde tahmin edilir. algılanan nesnenin sınırlayıcı kutusu.
Örneğin, Şekil 3'te (solda), gri sınırlayıcı kutular, aşağıdaki gibi bir model kullanılarak bir nesne dedektörü tarafından algılanan nesneleri gösterir: NVIDIA TAO PeopleNet. Mor ve sarı silindirler, 3B dünya yer düzlemindeki tahmini konumdan 2B kamera görüntü düzlemine yansıtılan karşılık gelen 3B insan modellerini gösterir. Yansıtılan 3 boyutlu insan modellerinin altındaki yeşil noktalar, tahmini ayak konumlarını gösterir. Kamera görüntüsünde perspektifler ve dönüşler olmasına rağmen bunlar gerçek ayak konumlarıyla iyi uyum sağlar.
Yeni tanıtılan DeepStream SV3DT özelliğinin önemli bir avantajı, nesnelerin 2D ve 3D ayak konumlarının, önemli noktalar olsa bile doğru bir şekilde bulunabilmesidir. kısmi tıkanıklıklar. Bu, gerçek dünyadaki IVA uygulamalarında en zorlu sorunlardan biridir. Daha fazla ayrıntı için önceki yazımız olan NVIDIA DeepStream SDK 6.2'ye Sahip Son Teknoloji Gerçek Zamanlı Çok Nesneli İzleyiciler'e bakın.
Örneğin, Şekil 3 (sağda), dar bir koridorda alışveriş yapan bir kişiyi, kameranın üst gövdesinin yalnızca küçük bir kısmını görebildiği şekilde göstermektedir. Bu, yalnızca baş ve omuz bölgelerini yakalayan daha küçük bir nesne sınırlama kutusuyla sonuçlanır. Bu tür bir senaryoda, kişinin küresel bir mağaza haritası üzerinde konumunu belirlemek son derece zordur çünkü ayak konumunu tahmin etmek, en hafif tabirle, önemsiz olmayan bir iştir.
Sınırlayıcı kutunun alt merkezini nesne konumunun vekili olarak kullanmak, yörünge tahmininde büyük ölçüde hataya neden olacaktır. Bu, özellikle kamera perspektifi ve dönüşü büyük olduğunda, 2B noktaları 3B noktalara dönüştürmek için kamera kalibrasyon bilgileri kullanılsa bile geçerlidir.
DeepStream SDK'daki çoklu nesne izleme modülündeki SV3DT algoritması, kameraların başın üzerine monte edildiği varsayımıyla 3D insan modelleme bilgilerinden yararlanarak bu sorunu giderir. Bu genellikle akıllı alanlara yerleştirilen çoğu büyük kamera ağı sistemindeki durumdur. Bu varsayımla, karşılık gelen 3 boyutlu insan modeli konumunu tahmin ederken kafayı bir bağlantı noktası olarak kullanmak mümkündür. Şekil 3, SV3DT algoritmasının, kişi ciddi şekilde tıkandığında bile eşleşen 3 boyutlu insan modeli konumunu başarıyla bulabileceğini göstermektedir.
Video 2, insanların bir markette takip edildiğini gösteriyor. Kullanılan 3×4 projeksiyon matrisinin mercek bozulmalarını hesaba katmadığını unutmayın; ancak yatay çizgilerin düz değil biraz kıvrımlı olduğunu görebildiğiniz gibi belirli bir kamerada belirli derecelerde mercek bozulmaları vardır. Bu, özellikle insanlar video karelerinin kenarlarında konumlandığında, 3 boyutlu insan modeli konum tahmininde daha fazla yanlışlığa neden olur.
Bununla birlikte marketteki insanların 2D ve 3D ayak konumları (yeşil noktalarla gösterilen) doğru ve sağlam bir şekilde takip ediliyor. Bu, birkaçını saymak gerekirse kuyruk uzunluğu izleme ve doluluk haritaları gibi ek analizlerin doğruluğunu artırır.
Şekil 4, gövdenin alt kısmının çoğunluğu raflar gibi büyük nesneler tarafından kapatıldığında bile, her yayanın ayak konumlarının sentetik bir veri kümesinde nasıl sağlam bir şekilde takip edildiğini göstermektedir.
Kısmi tıkanma sorunlarının ele alınmasının gerçek dünya uygulamalarında birçok olasılığın önünü açacağına inanıyoruz. SV3DT, sınırlı nesne türü desteği nedeniyle (yalnızca ayakta duran kişiler) Alfa modunda piyasaya sürüldü. İnsanların oturması ve uzanması gibi diğer durumlar veya ek nesne türleri gelecek sürümlerde desteklenebilir. Özel kullanım durumlarınız için bunu deneyebilir ve DeepStream Forumunda geri bildirimde bulunabilirsiniz. Gelecekteki sürümler için daha fazla iyileştirme planlanmaktadır.
DeepStream SV3DT kullanım örneği
Örnek bir DeepStream SV3DT kullanım örneği, bu gönderide yer alan perakendeci mağazası videosunda tek görüntülü 3D izlemenin nasıl etkinleştirileceğini ve işlem hattından 3D meta verilerin nasıl kaydedileceğini gösterir. Kullanıcılar, Şekil 4 ve Video 2'de gösterildiği gibi verilerden dışbükey gövde ve ayak konumlarını görselleştirebilirler. README ayrıca bu algoritmanın özelleştirilmiş videolarda nasıl çalıştırılacağını da açıklar. Ziyaret etmek NVIDIA-AI-IOT/deepstream_reference_apps daha fazla ayrıntı için ve bkz. DeepStream belgeleri.
Özet
NVIDIA DeepStream SDK'daki Tek Görünümlü 3D İzleme, gerçek hayattaki IVA uygulamalarında ve dağıtımlarında kısmi tıkanma sorunlarının azaltılmasına yardımcı olur. Bu özellik ilk olarak 6.4 sürümünde tanıtıldı ve 7.0'da geliştirildi. Spesifik olarak SV3DT, kısmi tıkanmalara rağmen ayak konumunun tahmin edilmesini ve daha sağlam ve doğru nesne takibini mümkün kılar; bu da daha sonra 3 boyutlu yer düzleminde doğru lokalizasyona yol açar. Jeo-uzaysal analitiklere güvenen veya bunlardan yararlanan işletmelerin bu teknolojiden en fazla faydalanması bekleniyor.
Başlamak için en son DeepStream SDK sürümüne göz atın ve zorlu ortamınızda deneyin.