| 2 | 1/1 | 返回列表 |
| 查看: 1297 | 回復(fù): 1 | ||
| 【懸賞金幣】回答本帖問題,作者殘雪執(zhí)念將贈送您 200 個金幣 | ||
殘雪執(zhí)念新蟲 (小有名氣)
|
[求助]
行人軌跡預(yù)測可視化
|
|
| 行人軌跡預(yù)測可視化圖叫密度分布圖? 怎么畫 |
鐵蟲 (小有名氣)
|
行人軌跡預(yù)測可視化中,密度分布圖是一種常用展現(xiàn)形式,用于呈現(xiàn)行人在空間、時間維度上的分布特征,以下為您詳細(xì)講解其繪制思路、步驟及常用工具實現(xiàn)方法: 一、明確數(shù)據(jù)基礎(chǔ) 數(shù)據(jù)采集: 通常需先獲取行人軌跡數(shù)據(jù),可通過視頻監(jiān)控(利用目標(biāo)檢測與跟蹤算法提取行人位置序列 )、室內(nèi)定位系統(tǒng)(如 UWB 定位、藍(lán)牙信標(biāo) )、公開數(shù)據(jù)集(如 ETH/UCY 行人軌跡數(shù)據(jù)集 )等方式獲得。數(shù)據(jù)格式一般包含行人 ID、時間戳、二維或三維空間坐標(biāo)(如 (x,y,t) , x,y 為平面位置, t 為時間 ) 。 對原始數(shù)據(jù)進(jìn)行預(yù)處理,包括去除噪聲點(如因檢測錯誤產(chǎn)生的異常坐標(biāo) )、補全缺失軌跡(通過插值算法 )、統(tǒng)一時間與空間坐標(biāo)尺度等,確保數(shù)據(jù)質(zhì)量。 數(shù)據(jù)結(jié)構(gòu)梳理:整理后的數(shù)據(jù)需清晰關(guān)聯(lián)每個行人的軌跡點序列,以及對應(yīng)時間、空間信息,為后續(xù)計算密度做準(zhǔn)備。 二、密度計算原理與方法 核密度估計(KDE,Kernel Density Estimation ): 這是繪制密度分布圖的核心算法。對于每個軌跡點,將其視為核函數(shù)的中心,通過核函數(shù)(如高斯核 )向周圍空間 “擴散” 密度貢獻(xiàn)。公式為: f ^ (x)= nh 1 ∑ i=1 n K( h x−x i ) 其中, f ^ (x) 是位置 x 處的密度估計值, n 是軌跡點總數(shù), h 是核函數(shù)的帶寬(控制密度擴散范圍,需合理設(shè)置,過小會使密度分布破碎,過大則過度平滑 ), K 是核函數(shù)(如高斯核 K(u)= 2π 1 e − 2 u 2 ), x i 是第 i 個軌跡點坐標(biāo)。 簡單理解:每個行人軌跡點會在其周邊一定范圍內(nèi)(由帶寬決定 )產(chǎn)生密度值,空間中某點的總密度是所有軌跡點在該點產(chǎn)生密度的疊加,這樣就能將離散的軌跡點轉(zhuǎn)化為連續(xù)的密度分布場。 網(wǎng)格離散化:為了可視化呈現(xiàn),需將連續(xù)的密度分布離散到規(guī)則網(wǎng)格上。把研究區(qū)域(如監(jiān)控場景的二維平面 )劃分成若干大小一致的網(wǎng)格(如 100×100 像素網(wǎng)格 ),計算每個網(wǎng)格中心點或網(wǎng)格單元內(nèi)的密度值,作為該網(wǎng)格的密度代表。 三、繪制步驟(以 Python 結(jié)合 Matplotlib、Seaborn 或?qū)I(yè) GIS 軟件為例 ) 方式一:Python 代碼實現(xiàn)(以二維平面軌跡為例,數(shù)據(jù)為 Pandas DataFrame 格式,含 'x', 'y' 坐標(biāo)列 ) 環(huán)境準(zhǔn)備:安裝必要庫,如 numpy(數(shù)值計算 )、pandas(數(shù)據(jù)處理 )、matplotlib(繪圖 )、scipy(科學(xué)計算,用于核密度估計 ) 。 bash pip install numpy pandas matplotlib scipy 代碼流程: python import numpy as np import pandas as pd import matplotlib.pyplot as plt from scipy.stats import gaussian_kde # 1. 讀取軌跡數(shù)據(jù)(假設(shè)數(shù)據(jù)文件為 'trajectory_data.csv',含 'x', 'y' 列 ) data = pd.read_csv('trajectory_data.csv') x = data['x'].values y = data['y'].values # 2. 核密度估計 # 聯(lián)合(x, y)計算核密度 kde = gaussian_kde([x, y]) # 生成網(wǎng)格點,覆蓋數(shù)據(jù)范圍 xi, yi = np.mgrid[x.min():x.max():100j, y.min():y.max():100j] # 在網(wǎng)格點上計算密度值 zi = kde([xi.flatten(), yi.flatten()]).reshape(xi.shape) # 3. 繪制密度分布圖 plt.figure(figsize=(10, 8)) # 繪制等高線圖(密度分布),cmap 控制顏色映射,如 'viridis' 'jet' 等 plt.contourf(xi, yi, zi, levels=20, cmap='jet') # 添加顏色條,展示密度與顏色對應(yīng)關(guān)系 plt.colorbar(label='Density') plt.xlabel('X Coordinate') plt.ylabel('Y Coordinate') plt.title('Pedestrian Trajectory Density Distribution') plt.show() 關(guān)鍵參數(shù)調(diào)整: 帶寬 h :在 gaussian_kde 中,可通過 kde.set_bandwidth(bw_method=0.2) 等方式設(shè)置(bw_method 為帶寬系數(shù),值越小帶寬越窄,需根據(jù)數(shù)據(jù)分布測試調(diào)整,比如在 ETH/UCY 數(shù)據(jù)集上,可嘗試 0.1 - 0.5 范圍 ) 。 網(wǎng)格分辨率:np.mgrid 中 100j 表示生成 100 個網(wǎng)格點,可增大數(shù)值提升分辨率(如 200j ),但會增加計算量,需平衡效果與效率。 顏色映射 cmap:不同映射會呈現(xiàn)不同視覺效果,如 'hot' 強調(diào)高密度區(qū)域的暖色,'cool' 突出冷色,可根據(jù)需求選擇。 方式二:利用專業(yè) GIS 軟件(如 ArcGIS、QGIS ,適合帶地理坐標(biāo)的軌跡數(shù)據(jù) ) 數(shù)據(jù)導(dǎo)入:將軌跡數(shù)據(jù)(含經(jīng)緯度或平面坐標(biāo) )導(dǎo)入軟件,確保坐標(biāo)系統(tǒng)一(如 WGS84 地理坐標(biāo)或當(dāng)?shù)赝队白鴺?biāo) ) 。 核密度分析工具: 在 ArcGIS 中,使用 Spatial Analyst Tools → Density → Kernel Density 工具,設(shè)置輸入要素為軌跡點圖層,指定輸出像元大小(即網(wǎng)格分辨率 )、搜索半徑(對應(yīng)帶寬,軟件會根據(jù)數(shù)據(jù)建議,也可手動調(diào)整 ),運行工具生成密度 raster 圖層。 在 QGIS 中,安裝 QGIS Processing Toolbox 中的 Kernel Density Estimation 插件,類似設(shè)置參數(shù)(輸入點圖層、帶寬、輸出分辨率等 ),生成密度圖層。 可視化設(shè)置:對生成的密度 raster 圖層進(jìn)行符號化設(shè)置,選擇合適的色帶(如 Jet Rainbow )、分類方式(等間距、自然間斷點等 ),添加圖例、標(biāo)題等,輸出密度分布圖。 方式三:結(jié)合深度學(xué)習(xí)可視化庫(如 PyTorch + Matplotlib ,若軌跡預(yù)測是基于深度學(xué)習(xí)模型輸出 ) 模型輸出處理:若通過 LSTM、Transformer 等模型預(yù)測行人未來軌跡,模型輸出為一批軌跡點序列(如 predicted_trajectories ,形狀為 [batch_size, time_steps, 2] ,2 為 xy 坐標(biāo) ) 。 密度計算與繪圖:將預(yù)測的軌跡點展開為離散點,按照上述 Python 代碼思路,用 gaussian_kde 計算密度并繪圖,可對比真實軌跡與預(yù)測軌跡的密度分布差異,代碼示例(簡化 ): python import torch import numpy as np import matplotlib.pyplot as plt from scipy.stats import gaussian_kde # 假設(shè) predicted_trajectories 是模型輸出的預(yù)測軌跡張量,shape: [batch, time, 2] predicted_trajectories = torch.randn(100, 20, 2) # 示例隨機數(shù)據(jù),需替換為真實預(yù)測結(jié)果 x_pred = predicted_trajectories[:, :, 0].flatten().numpy() y_pred = predicted_trajectories[:, :, 1].flatten().numpy() # 核密度估計與繪圖,同之前流程 kde_pred = gaussian_kde([x_pred, y_pred]) xi, yi = np.mgrid[x_pred.min():x_pred.max():100j, y_pred.min():y_pred.max():100j] zi_pred = kde_pred([xi.flatten(), yi.flatten()]).reshape(xi.shape) plt.figure(figsize=(10, 8)) plt.contourf(xi, yi, zi_pred, levels=20, cmap='viridis') plt.colorbar(label='Predicted Density') plt.title('Predicted Pedestrian Trajectory Density Distribution') plt.show() 四、其他可視化形式拓展(除密度分布圖外,輔助分析 ) 軌跡動畫:用 matplotlib.animation 將行人軌跡隨時間動態(tài)展示,觀察軌跡變化趨勢,結(jié)合密度分布了解不同時刻高密度區(qū)域轉(zhuǎn)移。 矢量流圖(Streamplot ):若軌跡數(shù)據(jù)包含速度方向信息,可繪制矢量流圖,展示行人運動趨勢與密度分布的關(guān)聯(lián),在 Python 中用 matplotlib.pyplot.streamplot 實現(xiàn)。 三維密度分布:當(dāng)軌跡含時間維度或三維空間坐標(biāo)(如樓層信息 ),可擴展為三維密度圖,用 matplotlib 的 3D 繪圖功能或 Mayavi 庫實現(xiàn),展示 (x,y,t) 或 (x,y,z) 下的密度分布。 總之,行人軌跡預(yù)測密度分布圖繪制的核心是通過核密度估計將離散軌跡轉(zhuǎn)化為連續(xù)密度場,再借助可視化工具呈現(xiàn)。您可根據(jù)數(shù)據(jù)類型(二維 / 三維、有無地理坐標(biāo) )、使用場景(學(xué)術(shù)分析、工程部署 )選擇合適的工具和方法,重點調(diào)整帶寬、網(wǎng)格分辨率等參數(shù)優(yōu)化可視化效果,輔助理解行人軌跡分布規(guī)律與預(yù)測結(jié)果 。 |

| 2 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 080500材料科學(xué)與工程 +8 | 202114020319 2026-03-03 | 8/400 |
|
|---|---|---|---|---|
|
[考研] 302材料工程求調(diào)劑 +6 | Doleres 2026-03-01 | 7/350 |
|
|
[考研] 085701環(huán)境工程 求調(diào)劑 +6 | xiiiia 2026-03-04 | 6/300 |
|
|
[考研]
|
15779376950 2026-03-01 | 8/400 |
|
|
[考研] 295求調(diào)劑 +4 | 小賽不吃香菜 2026-03-04 | 4/200 |
|
|
[考研] 085601 材料工程 320 +6 | 和樂瑤 2026-03-03 | 6/300 |
|
|
[考研] 歡迎采礦、地質(zhì)、巖土、計算機、人工智能等專業(yè)的同學(xué)報考 +9 | pin8023 2026-02-28 | 12/600 |
|
|
[考研] 281求調(diào)劑 +3 | 我是小小蔥蔥 2026-03-03 | 5/250 |
|
|
[考研] 0703化學(xué)調(diào)劑 +4 | G212 2026-03-03 | 5/250 |
|
|
[考研] 一志愿西工大材料學(xué),英一數(shù)二總分321分,求調(diào)劑。 +3 | zz05zz 2026-03-02 | 5/250 |
|
|
[考研] 接收調(diào)劑 +15 | 津萌津萌 2026-03-02 | 23/1150 |
|
|
[考研] 環(huán)境工程學(xué)碩288求助調(diào)劑 +7 | 多吃億口芝士 2026-03-02 | 7/350 |
|
|
[考研] 085600材料與化工調(diào)劑 280分 +10 | yyqqhh 2026-03-03 | 10/500 |
|
|
[考研] 求調(diào)劑 +4 | Guo_yuxuan 2026-03-02 | 5/250 |
|
|
[考研] 295求調(diào)劑。一志愿報考鄭州大學(xué)化學(xué)工藝學(xué)碩,總分295分 +8 | yl1 2026-03-02 | 9/450 |
|
|
[考研] 材料284求調(diào)劑,一志愿鄭州大學(xué)英一數(shù)二專碩 +15 | 想上岸的土撥鼠 2026-02-28 | 15/750 |
|
|
[考博] 誠招農(nóng)業(yè)博士 +3 | 心欣向榮 2026-02-28 | 3/150 |
|
|
[考研] 哈工大計算機劉劼團隊招生 +4 | hit_aiot 2026-03-01 | 6/300 |
|
|
[考研] 284求調(diào)劑 +10 | 天下熯 2026-02-28 | 11/550 |
|
|
[考研]
|
LYidhsjabdj 2026-02-28 | 4/200 |
|