構(gòu)建視覺應(yīng)用時,需要考慮以下性能指標,并且需要進行基準測試:
- 端到端延遲:必須最大限度縮短采集圖像與生成析結(jié)果之間的延遲,以便及時做出決策,采取響應(yīng)措施。
- 視頻吞吐量(每秒幀數(shù)):必須以所需幀率采集與處理圖像,不得出現(xiàn)掉幀現(xiàn)象。
- CPU 負載:視覺流水線對通用 CPU 內(nèi)核(對于 AM62A 則為 A53)的負載必須降至最低,因為所有圖像處理都是在硬件加速器上完成的。
- DDR 利用率:對于視覺流水線的 DDR 讀取與寫入操作,必須為其他系統(tǒng)任務(wù)留出充足帶寬。
- 硬件加速器 (HWA) 負載(ISP、VPU、C7x/MMA):HWA 專用于特定功能,不能用于其他目的。通過視覺流水線,HWA 的利用率可高達 100%,并且留有一定余量。
適用于 AM62A 的 EdgeAI SDK 提供了幾種能夠?qū)υ摰刃阅苤笜诉M行基準測試的工具:
- Perf_stats 工具 [5]:測量 CPU 內(nèi)核與 HWA 上的負載以及 DDR 利用率。
- GStreamer 調(diào)試跟蹤:通過設(shè)置環(huán)境變量 GST_DEBUG_FILE,可將 GStreamer 調(diào)試信息重定向至一個文件。EdgeAI SDK 腳本(/opt/edgeai-gst-apps/scripts/gst_tracers/parse_gst_tracers.py)能夠處理該等消息并估算 GStreamer 流水線每個元素的處理時間。
- GStreamer 插件 fpsdisplaysink:以幀/秒(fps)為單位,顯示流水線的吞吐量。
- 自定義 GStreamer 插件 tiperfoverlay:在顯示屏顯示(或在終端控制臺打?。?CPU 負載、DDR 利用率、HWA 負載以及 fps。