在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用NVIDIA JetPack 6.0和YOLOv8構建智能交通應用

NVIDIA英偉達企業解決方案 ? 來源:NVIDIA英偉達企業解決方案 ? 2024-08-23 16:49 ? 次閱讀

智能交通系統 (ITS) 在現代城市環境中的應用正變得越來越有價值和普遍。使用 ITS 應用的優點包括:

提高交通效率:通過分析實時交通數據,ITS 可以優化交通流、緩解擁堵并縮短行車時間。

提高安全性:ITS 可以檢測潛在危險、監視交通違法行為,并更有效地管理突發事件,從而使道路變得更加安全。

提高環境可持續性:高效的交通管理可減少燃油消耗與尾氣排放,促進環境的可持續發展。

重要的是,這些系統需要在邊緣處理信息,以實現可靠的帶寬、保護隱私、進行實時分析等更多功能。

本文將介紹如何使用 NVIDIA JetPack 6.0 中的全新 Jetson 平臺服務,來構建一個適用于邊緣的端到端交通分析解決方案。該系統集成了多個功能:使用視頻存儲工具包 (VST) 服務進行視頻數據的接收與存儲;借助 YOLOv8 和 DeepStream AI 感知服務實現實時目標檢測和車輛追蹤;車輛移動的時空分析。在構建好這一流程后,將利用 API 生成分析報告。

Jetson 平臺服務的優勢

利用 Jetson 平臺服務與NVIDIA Jetpack 構建和部署的 AI 應用具有以下優勢:

快速、高效這一豐富且經過優化的 API 驅動的微服務集合,可以顯著縮短解決問題的時間。

可擴展該微服務架構實現了各種組件的獨立擴展,根據需求優化資源利用率。

模塊化將應用拆分為更小、更易管理的服務,簡化了更新、維護和故障排除的過程。

靈活性這些服務能以多種方式進行配置和部署,為智能交通系統 (ITS) 提供定制化解決方案,針對交通監控、交叉路口管理以及行人安全保障等方面。

要了解最新 JetPack SDK 的更多功能,請參閱支持邊緣云原生微服務的 NVIDIA JetPack 6.0 版本現已發布。

應用概述

ITS 應用主要采用了三項核心服務:視頻存儲工具包 (VST)、AI 感知和 AI 分析。此外,它還運用 Redis 消息總線、API 網關、IoT 網關等幾項基礎服務。

wKgZombITTeAJoN0AAFiFjt_ems659.png

圖 1. ITS 應用的服務和連接

VST 是視頻數據的入口。它能在基于 Jetson 的平臺上高效地管理攝像頭和視頻流,提供從多個視頻源進行的硬件加速視頻解碼、流式傳輸和存儲。在該設置中,視頻輸入文件通過 RTSP 協議流式傳輸到 VST。有關使用 VST 和添加 RTSP 流的更多信息,請參見 VST 文檔。

接下來,視頻數據流進入利用 NVIDIA DeepStream SDK 的 AI 感知服務,其先采用 YOLOv8 物體檢測模型實現高吞吐量,隨后使用 NvDCF 追蹤器進行物體追蹤。該流程基于 NVIDIA Metropolis 架構生成元數據,捕獲場景中檢測到的各種物體的類別和坐標信息。

緊接著生成的元數據和事件被發布到 Redis 消息總線,該總線是系統內部消息傳遞的骨干。AI 分析服務訂閱了該總線,接收執行詳細交通分析所需的信息。

這種基于服務的架構確保從視頻輸入到分析的數據流暢且高效,充分利用了 NVIDIA Jetson 設備的處理能力。該方法提高了處理速度和響應能力,非常適合需要實時數據解釋和即時行動的 ITS 應用。

用于物體檢測的 YOLOv8

YOLOv8 作為最先進的物體檢測模型脫穎而出,以其無與倫比的速度和準確性著稱。其輕量級架構特別適合部署在 NVIDIA Jetson 等邊緣設備上。在 ITS 應用中,YOLOv8 能夠實時檢測和分類車輛、行人、交通標志等對象。這為管理和優化交通流量、加強道路安全以及支持自動化交通系統提供關鍵數據。有關各種 YOLO 模型的更多信息,請參閱計算機視覺中的 YOLO 架構綜述。

下載和準備 YOLOv8

開始使用前,請先在 GitHub 的 ultralytics 資源庫下載 YOLOv8 模型。本文使用 YOLOv8 發布版本所訓練的 COCO 數據集中轎車、公交車和卡車三類作為示例。請注意,用戶有責任驗證每個數據集許可證是否符合預定用途。

接下來,需要將該模型轉換成 NVIDIA TensorRT 執行引擎,以針對 NVIDIA Jetson 的硬件能力對其進行優化。DeepStream 微服務容器附帶的腳本可幫助簡化這一轉換過程。

要運行 YOLOv8 安裝腳本,首先要確保您已按照 Jetson 平臺服務文檔中的“快速入門”部分所述的步驟安裝了微服務、參考應用以及 NVStreamer。此時,您還可以配置 NVStreamer 以通過 RTSP 傳輸以下文件,該文件將作為輸入使用。

要執行腳本,請運行針對您的硬件提供的以下命令。

Jetson AGX Orin:

sudo docker run -v ./yolov8s:/yolov8s -v
./config/deepstream:/ds-config-files –rm --runtime nvidia 
nvcr.io/nvidia/jps/deepstream:7.0-jps-v1.1.1 
/yolov8s-files/yolov8s_setup.sh --agx
Jetson Orin NX16:

sudo docker run -v ./yolov8s:/yolov8s -v
./config/deepstream:/ds-config-files –rm --runtime nvidia 
nvcr.io/nvidia/jps/deepstream:7.0-jps-v1.1.1 
/yolov8s-files/yolov8s_setup.sh --nx16

設置腳本執行的任務包括:

硬件特定配置:根據 NVIDIA 硬件(AGX 或 NX16)調整諸如批量大小等參數,以優化性能。

依賴性管理:下載 YOLOv8 模型文件和 COCO 數據集,安裝所需庫,并準備用于量化的校準圖像。

INT8 校準:將浮點模型量化為 INT8,以獲得最佳推理性能。

模型轉換:將模型從 PyTorch 轉換成 ONNX 格式,并生成 TensorRT 引擎。

這個過程大約需要 15 到 30 分鐘,并生成部署 YOLO 所需的以下文件:

./yolov8s/calib.table

./yolov8s/model_b4_gpu0_int8.engine 或 (依據設備類型的不同)

./yolov8s/model_b8_gpu0_int8.engine

./yolov8s/yolov8s-dependencies/yolov8s.onnx

自定義 AI 感知服務

用于 AI 感知的 DeepStream 容器還集成了一個程序庫。該庫包含自定義函數,用于從 YOLOv8 模型中創建優化后的 NVIDIA TensorRT 引擎,并解析該模型輸出結果。這個轉換腳本和程序庫均來自 GitHub 上的 marcoslucianops/DeepStream-Yolo 資源庫(遵循 MIT 許可)。

這些自定義函數用于配置 DeepStream 推理插件:

# Example: nv_ai/config/deepstream/yolov8s/config_infer_primary_yoloV8_nx16.txt
...
parse-bbox-func-name=NvDsInferParseYolo
custom-lib-path=/yolov8s-files/libnvdsinfer_custom_impl_Yolo.so
engine-create-func-name=NvDsInferYoloCudaEngineGet
…

運行應用程序

設置完成后,就可以運行應用了。AI-NVR 堆棧中包含了該應用程序的 Docker Compose 配置。請使用下方提供的與您硬件配置相匹配的命令來運行。

Jetson AGX Orin:

sudo docker compose -f compose_agx_yolov8s.yaml up -d --force-recreate

Jetson Orin NX16:

sudo docker compose -f compose_nx16_yolov8s.yaml up -d --force-recreate

利用 AI 分析服務進行車輛數據分析

利用 AI 分析服務的絆線(或越線)和軌跡功能進行車流量分析。您可以通過 REST API 配置這些分析功能,包括:

在給定的時間范圍內統計穿越預設線段的車輛總數(包括轎車、公交車和卡車)。

在給定時間范圍內的車流量趨勢分析,可縮短時間窗口進行深入研究。

在給定時間范圍內的車流量熱力圖展示。

概念

絆線(或越線)是指在攝像頭平面上繪制的虛擬線條,用于統計雙向穿越該線條的物體數量。

軌跡指車輛實際行駛的路徑,由系統逐幀追蹤并記錄。AI 感知服務會為每輛車分配一個唯一 ID。系統中的“軌跡”概念代表車輛行駛的總路徑。

API 規范

有關以下部分中提到的 API 詳細信息,請參閱 AI 分析服務規范。

絆線配置

絆線分析可以針對給定的傳感器,通過以下 API 進行配置。請注意,下面使用的值應與通過 sensor/add API 向 VST 添加流時設置的name相同。可以使用 cURL 或 Postman 等工具發出 HTTP post 請求。

HTTP POST 請求端點:

請注意,必須將 jetson-device-ip 替換為 Jetson 設備正確的 IP 地址。

請求:

{
    "sensorId": "",
    "tripwires": [
        {
            "id": "",
            "name": "",
            "wire": [
                {
                    "x": 591,
                    "y": 575
                },
                {
                    "x": 677,
                    "y": 618
                },
                {
                    "x": 1107,
                    "y": 575
                },
                {
                    "x": 1105,
                    "y": 541
                }
            ],
            "direction": {
                "p1": {
                    "x": 873,
                    "y": 553
                },
                "p2": {
                    "x": 1010,
                    "y": 689
                },
                "entry": {
                    "name": "entry"
                },
                "exit": {
                    "name": "exit"
                }
            }
        }
    ]
}

生成絆線時間序列分析

可通過絆線計數 API 檢索給定時間范圍內不同車輛類型(由 YOLOv8 模型檢測)的總穿越次數。

一旦絆線創建完成,您可以使用以下示例查詢來檢索在 2024 年 5 月 15 日格林威治時間上午 11 點至中午 12 點期間,傳感器 ID ExpressWay 上配置的 ID 為 road-tw 的絆線處各類物體的總穿越次數。此外,該查詢還請求對轎車、公交車和卡車這三類對象的穿越次數進行細分。

HTTP GET 查詢:

http://{jetson-device-ip}:30080/emdx/api/metrics/tripwire/count?
     sensorId=ExpressWay&
     tripwireId=road-tw&
     fromTimestamp=2024-05-15T11:00:00.000Z&
     toTimestamp=2024-05-15T12:00:00.000Z&
     objectTypes=car,bus,truckc

請注意,與前面一樣,必須將 jetson-device-ip 替換成 Jetson 設備正確的IP地址。

響應:

{
    "counts": [
        {
            "sensorId": "ExpressWay",
            "total_count": 241,
            "count_by_type": {
                "bus": 3,
                "car": 238,
                "truck": 0
            },
            "attributes": []
        }
    ]
}

交通趨勢直方圖可視化

還可以使用絆線計數直方圖 API 將之前的總計數匯總到更小的時間窗口中。

使用以下示例查詢來檢索在格林威治標準時間 2024 年 5 月 15 日上午 11 點到中午12 點之間,傳感器 ID 為 ExpressWay上配置的 ID 為 road-tw的絆線處物體(所有類型)穿越次數的直方圖,并將其細分到 1 分鐘的時間窗口。

HTTP GET 查詢:

http://{jetson-device-ip}:30080/emdx/api/metrics/tripwire/histogram?
     sensorId=ExpressWay&
     tripwireId=road-tw
     fromTimestamp=2024-05-15T11:00:00.000Z&
     toTimestamp=2024-05-15T12:00:00.000Z&
     fixedInterval=60000&
     objectTypes=car,bus,truck

這將轉儲每個 1 分鐘間隔的 JSON 輸出與 1 分鐘窗口中的匯總計數。您可以將這些信息繪制成堆疊直方圖,以表示計數隨時間變化的趨勢(圖 2)。

wKgZombITXKAa2eTAADgPtcLyII603.png

圖 2. 以 1 分鐘為間隔的交通流量計數直方圖

車輛軌跡熱力圖可視化

本部分將介紹如何使用 AI 分析服務中的行為 API 生成熱力圖。熱力圖是通過累積運動軌跡并將它們映射到區域空間中生成的,它提供了一種可視化方式幫助呈現交通流隨時間的變化趨勢。

熱力圖生成邏輯

根據給定時間范圍內所有物體的軌跡行為坐標 [x, y],通過 numpy.histogram2d.計算出直方圖。然后應用高斯濾波器對結果進行平滑處理。請訪問 GitHub 上的 NVIDIA-AI-IOT/jetson-platform-services 資源庫,查看與此邏輯相關的函數筆記。使用 VST API 獲取傳感器圖像快照。在圖 3 中,平滑后的直方圖被可視化成熱力圖。

使用下面的示例,查詢檢索傳感器 ID ExpressWay 在給定時間內對象類型為轎車、公交車和卡車的軌跡行為。

HTTP GET 查詢:

http://{jetson-device-ip}:30080/emdx/api/behavior?
     sensorId=ExpressWay&
     fromTimestamp=2024-05-15T11:00:00.000Z&
     toTimestamp=2024-05-15T11:00:05.000&
     objectTypes=car,bus,truck

響應:

{
    "behavior": [
        {
            "sensor": {
                "id": "Expressway"
            },
            "object": {
                "id": "134",
                "type": "car"   
            },
            "locations": {
                "coordinates": [
                    [
                        1708598580297,
                        [291,590]
                    ],
                    [
                        1708598580364,
                        [285,594]
                    ],
                    [
                        1708598580474,
                        [385,694]
                    ],
                    [
                        1708598580372,
                        [281,595]
                    ]               ],
                "type": "linestring"
            },
            "length": 4,
            "start": "2024-02-22T1000.297Z",
            "end": "2024-02-22T1001.255Z",
            "distance": 204.81118737109063,
            "timeInterval": 0.958  
        }
    ]
}

響應了一個給定對象隨時間變化的軌跡項數組,其中每個項都是由兩個元素構成的。第一個元素是以毫秒為單位的視頻幀時間戳(1708598580297,Unix 時間),第二個元素是位置坐標數組 [x,y],例如 [291, 590],表示該圖像平面上 x=291,y=590。

交通分析文件

請訪問 GitHub 上的 NVIDIA-AI-IOT/jetson-platform-services 資源庫,并下載文件在您的本地系統上運行。請按照步驟說明嘗試使用您自己的視頻文件或攝像頭進行操作。

總結

本文介紹了如何使用 NVIDIA JetPack 6.0 中的 Jetson 平臺服務和 YOLOv8 物體檢測模型來構建智能交通應用。Jetson 平臺服務是一組功能豐富的微服務,可用于邊緣構建 AI 應用。開發者可以使用這些 API 快速、高效地開發應用,并生成車輛計數、交通熱力圖等洞察。這些微服務具有可替換性,并且可以擴展到多種邊緣 AI 應用中。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • NVIDIA
    +關注

    關注

    14

    文章

    4986

    瀏覽量

    103046
  • 智能交通
    +關注

    關注

    12

    文章

    804

    瀏覽量

    43467
  • AI
    AI
    +關注

    關注

    87

    文章

    30887

    瀏覽量

    269065
  • 微服務
    +關注

    關注

    0

    文章

    137

    瀏覽量

    7348

原文標題:利用 YOLOv8 和 NVIDIA JetPack 6.0 生成交通洞察

文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業解決方案】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    使用YOLOv8做目標檢測和實例分割的演示

    YOLOv8是來自Ultralytics的最新的基于YOLO的對象檢測模型系列,提供最先進的性能。
    的頭像 發表于 02-06 10:11 ?7494次閱讀

    YOLOv8自定義數據集訓練到模型部署推理簡析

    如果你只是想使用而不是開發,強烈推薦通過pip安裝方式獲取YOLOv8包!YOLOv8安裝命令行
    的頭像 發表于 03-24 09:27 ?4664次閱讀

    英偉達Jetson設備上的YOLOv8性能基準測試

    我們將談論在不同的NVIDIA Jetson 系列設備上運行YOLOv8 模型的性能基準測試。我們特別選擇了3種不同的Jetson設備進行測試,它們是 Jetson AGX Orin 32GB
    的頭像 發表于 04-12 14:27 ?6499次閱讀

    在AI愛克斯開發板上用OpenVINO?加速YOLOv8目標檢測模型

    《在 AI 愛克斯開發板上用 OpenVINO 加速 YOLOv8 分類模型》介紹了在 AI 愛克斯開發板上使用 OpenVINO 開發套件部署并測評 YOLOv8 的分類模型,本文將介紹在 AI 愛克斯開發板上使用 OpenVINO 加速
    的頭像 發表于 05-12 09:08 ?1326次閱讀
    在AI愛克斯開發板上用OpenVINO?加速<b class='flag-5'>YOLOv8</b>目標檢測模型

    YOLOv8版本升級支持小目標檢測與高分辨率圖像輸入

    YOLOv8版本最近版本又更新了,除了支持姿態評估以外,通過模型結構的修改還支持了小目標檢測與高分辨率圖像檢測。原始的YOLOv8模型結構如下。
    的頭像 發表于 05-16 11:14 ?1.2w次閱讀
    <b class='flag-5'>YOLOv8</b>版本升級支持小目標檢測與高分辨率圖像輸入

    AI愛克斯開發板上使用OpenVINO加速YOLOv8目標檢測模型

    《在AI愛克斯開發板上用OpenVINO加速YOLOv8分類模型》介紹了在AI愛克斯開發板上使用OpenVINO 開發套件部署并測評YOLOv8的分類模型,本文將介紹在AI愛克斯開發板上使用OpenVINO加速YOLOv8目標檢
    的頭像 發表于 05-26 11:03 ?1251次閱讀
    AI愛克斯開發板上使用OpenVINO加速<b class='flag-5'>YOLOv8</b>目標檢測模型

    一文徹底搞懂YOLOv8【網絡結構+代碼+實操】

    從上面可以看出,YOLOv8 主要參考了最近提出的諸如 YOLOX、YOLOv6、YOLOv7 和 PPYOLOE 等算法的相關設計,本身的創新點不多,偏向工程實踐,主推的還是 ultralytics 這個框架本身。
    的頭像 發表于 06-15 17:15 ?1.2w次閱讀
    一文徹底搞懂<b class='flag-5'>YOLOv8</b>【網絡結構+代碼+實操】

    教你如何用兩行代碼搞定YOLOv8各種模型推理

    大家好,YOLOv8 框架本身提供的API函數是可以兩行代碼實現 YOLOv8 模型推理,這次我把這段代碼封裝成了一個類,只有40行代碼左右,可以同時支持YOLOv8對象檢測、實例分割、姿態評估模型的GPU與CPU上推理演示。
    的頭像 發表于 06-18 11:50 ?3065次閱讀
    教你如何用兩行代碼搞定<b class='flag-5'>YOLOv8</b>各種模型推理

    三種主流模型部署框架YOLOv8推理演示

    深度學習模型部署有OpenVINO、ONNXRUNTIME、TensorRT三個主流框架,均支持Python與C++的SDK使用。對YOLOv5~YOLOv8的系列模型,均可以通過C++推理實現模型
    的頭像 發表于 08-06 11:39 ?2748次閱讀

    解鎖YOLOv8修改+注意力模塊訓練與部署流程

    很多人也想跟修改YOLOv5源碼一樣的方式去修改YOLOv8的源碼,但是在github上面卻發現找到的YOLOv8項目下面TAG分支是空的
    的頭像 發表于 08-11 14:14 ?4362次閱讀
    解鎖<b class='flag-5'>YOLOv8</b>修改+注意力模塊訓練與部署流程

    如何修改YOLOv8的源碼

    很多人也想跟修改YOLOv5源碼一樣的方式去修改YOLOv8的源碼,但是在github上面卻發現找到的YOLOv8項目下面TAG分支是空的,然后就直接從master/main下面把源碼克隆出來一通
    的頭像 發表于 09-04 10:02 ?2004次閱讀
    如何修改<b class='flag-5'>YOLOv8</b>的源碼

    YOLOv8實現任意目錄下命令行訓練

    當你使用YOLOv8命令行訓練模型的時候,如果當前執行的目錄下沒有相關的預訓練模型文件,YOLOv8就會自動下載模型權重文件。這個是一個正常操作,但是你還會發現,當你在參數model中指定已有
    的頭像 發表于 09-04 10:50 ?1114次閱讀
    <b class='flag-5'>YOLOv8</b>實現任意目錄下命令行訓練

    基于YOLOv8的自定義醫學圖像分割

    YOLOv8是一種令人驚嘆的分割模型;它易于訓練、測試和部署。在本教程中,我們將學習如何在自定義數據集上使用YOLOv8。但在此之前,我想告訴你為什么在存在其他優秀的分割模型時應該使用YOLOv8呢?
    的頭像 發表于 12-20 10:51 ?781次閱讀
    基于<b class='flag-5'>YOLOv8</b>的自定義醫學圖像分割

    基于OpenCV DNN實現YOLOv8的模型部署與推理演示

    基于OpenCV DNN實現YOLOv8推理的好處就是一套代碼就可以部署在Windows10系統、烏班圖系統、Jetson的Jetpack系統
    的頭像 發表于 03-01 15:52 ?1629次閱讀
    基于OpenCV DNN實現<b class='flag-5'>YOLOv8</b>的模型部署與推理演示

    NVIDIA JetPack 6.0版本的關鍵功能

    NVIDIA JetPack SDK 支持 NVIDIA Jetson 模塊,為構建端到端加速 AI 應用提供全面的解決方案。JetPack
    的頭像 發表于 09-09 10:18 ?427次閱讀
    <b class='flag-5'>NVIDIA</b> <b class='flag-5'>JetPack</b> <b class='flag-5'>6.0</b>版本的關鍵功能
    主站蜘蛛池模板: 欧美精品色精品一区二区三区| 萌白酱一线天粉嫩喷水在线观看| 美女黄视频免费| 亚洲夜夜骑| 69xxx视频hd| 色噜噜狠狠成人中文小说| 丁香综合| 亚洲haose在线观看| 香蕉色网| freesex性欧美重口| 九色伊人| 美女午夜| 在线观看精品视频看看播放| 久久青青成人亚洲精品| 人人干人人干人人干| 国语一区| 四虎电影院| 中文字幕在线永久在线视频2020| 欧美三级午夜伦理片| 男男np主受高h啪啪肉| 他也色在线视频| bt天堂bt在线网| h视频免费观看| 欧美一级高清免费a| 成人国产在线视频| 五月激情啪啪网| 色福利在线| 成人伊人| 69xxxx欧美老师| 欧美αv日韩αv另类综合| 欧美黑粗硬| 午夜啪啪福利视频| 午夜久久精品| 国产h在线| 欧美xxxxxbbbb| 黑色丝袜美女被视频网站| 五月天在线播放| 午夜一级影院| 一级特黄aa大片免费| www.毛片网站| 老师你好大好白好紧好硬|