說到智能視頻分析(IVA)應(yīng)用(如交通監(jiān)控、倉庫安全和零售消費者分析)的感知,最大的挑戰(zhàn)之一就是遮擋。例如,人們可能會移動到結(jié)構(gòu)性障礙物后面,零售消費者可能由于貨架而無法被完全看到,汽車可能會被隱藏在大型卡車后面。
本文將介紹如何利用NVIDIA DeepStream SDK中全新的單視角 3D 追蹤功能,來解決現(xiàn)實生活中 IVA 部署常見的視覺感知遮擋問題。
視覺感知中的視角和投影
在我們的物理世界中,通過相機鏡頭觀察到的一些物體的運動可能看起來并不穩(wěn)定,這是由于相機對 3D 世界的 2D 呈現(xiàn)所造成的。
水星和火星等行星的逆行就是一個例子,這讓古希臘天文學(xué)家感到困惑。他們無法解釋為什么行星有時看起來會向后移動(圖 1)。
之所以會出現(xiàn)明顯退行,是由于恒星和行星在夜空中的軌跡所造成的。這些是宇宙 3D 空間中軌道運動在夜空2D畫布上的投影,如果古代天文學(xué)家知道3D空間的運動模式,他們就可以預(yù)測這些行星在2D夜空中的出現(xiàn)。
圖 1. 2014 年(左)和 2016 年(右)
火星在夜空中的逆行運動軌跡(圖片來源:NASA)
交通監(jiān)控攝像頭提供了類似的例子。這些攝像頭通常用于監(jiān)測一個大面積的區(qū)域,在這個區(qū)域里,車輛在近場和遠場的運動動態(tài)可能截然不同。
在視頻 1 中,遠處的車輛看起來較小且移動緩慢。當(dāng)車輛靠近攝像頭并轉(zhuǎn)彎時,可以觀察到物體運動的突然變化。這些變化使得我們在 2D 攝像機視圖中很難找到常見的模式,因此也很難預(yù)測車輛未來可能移動的位置。
視頻 1. 近場車輛似乎移動得很快,
而遠場車輛則移動得較慢
物體跟蹤本質(zhì)上是對物體物理狀態(tài)的連續(xù)估計,同時隨著時間的推移來識別其獨特身份。該過程通常包括對物體運動動態(tài)進行建模和預(yù)測,以抑制測量(檢測)中的固有干擾。從所提供的示例來看,直接在原生3D空間中對物體狀態(tài)進行估計和預(yù)測顯然比在投影的2D 攝像頭圖像平面中效果更好,這是因為物體存在于3D空間中。
使用 NVIDIA DeepStream進行單視角 3D 跟蹤
NVIDIA DeepStream SDK 是一個基于 GStreamer 的完整流媒體分析工具包,可用于基于 AI 的多傳感器處理,視頻、音頻和圖像理解。DeepStream 6.4 版本引入了一種名為單視角 3D 跟蹤(SV3DT)的新功能,該功能能夠在單攝像頭視圖內(nèi)估計 3D 物理世界中的物體狀態(tài)。
這一過程包括使用每個攝像頭的 3×4 投影矩陣或攝像頭矩陣,將 2D 攝像頭圖像平面上的觀測測量轉(zhuǎn)換為 3D 世界坐標(biāo)系。物體在3D世界地平面中的位置表示為物體底部的中心,因此,行人被建模為一個立在世界地面平面上的圓柱體(具有高度和半徑),圓柱體模型底部的中心是行人的腳部位置(圖 2)。
圖 2. 每個圓柱形模型的底部中心表示
每個行人在 3D 世界地平面上的位置(用綠點標(biāo)記)
使用 3×4 投影矩陣和圓柱形人體模型,可以估算出針對檢測到物體的 3D 人體模型在 3D 世界地平面上的位置,從而使投影在 2D 攝像頭圖像平面上的 3D 人體模型,與檢測到的物體的邊界框相吻合。
例如,在圖 3(左)中,灰色邊界框表示對象檢測器使用NVIDIA TAO PeopleNet模型檢測到的物體,紫色和黃色圓柱體代表從 3D 世界地平面上的估計位置投影到 2D 攝像頭圖像平面的相應(yīng)的 3D 人體模型,投影的 3D 人體模型底部的綠點代表預(yù)估的腳部位置。盡管攝像頭視圖有透視和旋轉(zhuǎn),但這些位置與實際腳部位置非常吻合。
圖 3. SV3DT 有助于跟蹤零售消費者準(zhǔn)確的腳部位置,
即使存在遮擋也不影響
新推出的 DeepStream SV3DT 功能的一個重要優(yōu)勢是,即使存在明顯的局部遮擋,也可以準(zhǔn)確地找到物體的 2D 和 3D 腳部位置,而這是現(xiàn)實世界 IVA 應(yīng)用中最具挑戰(zhàn)性的問題之一。
例如,圖 3(右)顯示了一個人在狹窄的過道里購物,攝像頭只能看到其上半身的一小部分,這將導(dǎo)致物體邊界框較小,只能捕獲頭部和肩部區(qū)域。在這種情況下,要在全局商店地圖上對此人進行定位就變得極具挑戰(zhàn)性,至少可以說,估計腳部位置是一項非同小可的任務(wù)。
使用邊界框的底部中心作為對象位置的代表會為軌跡估計帶來很大的誤差。即使使用攝像頭校準(zhǔn)信息將 2D 點轉(zhuǎn)換為 3D 點情況也是如此,尤其是當(dāng)攝像頭透視和旋轉(zhuǎn)較大時。
DeepStream SDK 中的多目標(biāo)跟蹤器模塊中的 SV3DT 算法,在假設(shè)攝像頭安裝在頭部上方的情況下,通過利用 3D 人體建模信息來解決這個問題。大多數(shù)部署在智能空間中的大型攝像頭網(wǎng)絡(luò)系統(tǒng)通常都是這種情況。有了這個假設(shè),在估算相應(yīng)的 3D 人體模型位置時,就可以使用頭部作為錨點。如圖 3 顯示,即使在人被嚴重遮擋的情況下,SV3DT 算法也可以成功地找到匹配的 3D 人體模型位置。
視頻 2 顯示了在一家便利店中對消費者進行跟蹤的情況。需要注意的是,所使用的 3×4 投影矩陣沒有考慮鏡頭失真,盡管特定的攝像頭有一定的鏡頭失真,正如您所看到的,水平線有點彎曲而不是直線。這會導(dǎo)致 3D 人體模型位置估計更加不準(zhǔn)確,尤其是當(dāng)人位于視頻幀的邊緣時。
盡管如此,人們在便利店的 2D 和 3D 腳部位置(用綠點表示)還是被準(zhǔn)確而穩(wěn)健地追蹤到了,這也提高了隊列長度監(jiān)控和占用率地圖等其他分析的準(zhǔn)確性。
圖 4 顯示了如何在合成數(shù)據(jù)集中穩(wěn)健地追蹤每個行人的腳部位置,即使下半身的大部分被貨架等大型物體遮擋。
圖 4. 基于合成數(shù)據(jù)集的嚴重顆粒遮擋情況下的SV3DT 行人位置跟蹤
我們相信,解決部分遮擋問題將為現(xiàn)實應(yīng)用帶來許多可能性。SV3DT 目前處于 Alpha 模式,因為其對象類型支持有限(僅限站立的人),其他情況(如人們坐著和躺著)或其他對象類型可能會在未來的版本中得到支持。
DeepStream SV3DT 用例
該 DeepStream SV3DT 用例演示了如何在本文介紹的零售商店視頻上啟用單視角 3D 跟蹤,并從管道中保存 3D 元數(shù)據(jù)。如圖 4 和視頻 2 所示,用戶可以從數(shù)據(jù)中可視化凸起的船體和腳部位置。README 還介紹了如何在定制視頻上運行該算法。
總結(jié)
NVIDIA DeepStream SDK 中的單視角 3D 跟蹤有助于緩解現(xiàn)實生活中 IVA 應(yīng)用程序和部署的部分遮擋問題。該功能在 6.4 版本中首次推出,并在 7.0 版本中進行了增強。具體而言,SV3DT 能夠在局部遮擋的情況下估計腳部位置,并能夠進行更穩(wěn)健和準(zhǔn)確的對象追蹤,從而實現(xiàn) 3D 地平面中的準(zhǔn)確定位。依賴或利用地理空間分析的企業(yè)有望從這項技術(shù)中受益。
-
傳感器
+關(guān)注
關(guān)注
2551文章
51192瀏覽量
754356 -
NVIDIA
+關(guān)注
關(guān)注
14文章
4996瀏覽量
103213 -
攝像頭
+關(guān)注
關(guān)注
60文章
4849瀏覽量
95838
原文標(biāo)題:利用 NVIDIA DeepStream 中的單視角 3D 跟蹤技術(shù)減輕視覺感知中的遮擋現(xiàn)象
文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論