日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 目标检测 >内容正文

目标检测

在Jetson Nano上十行代码实现目标检测(jetson_inference)

發布時間:2023/12/14 目标检测 76 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在Jetson Nano上十行代码实现目标检测(jetson_inference) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

網上有一個10行代碼搞定目標檢測的視頻教程

參考網址:https://www.bilibili.com/video/av91150116/

經測非常實用,通過10行代碼實現目標檢測,在Jetson Nano上迅速搭建一個目標識別的示例和開發環境。

視頻例程使用Jetson官方的深度學習庫(jetson_inference)進行目標檢測程序實現

項目鏈接:https://github.com/dusty-nv/jetson-inference

項目介紹頁面中Building the Project from Source給出了從源代碼進行安裝和配置的指南

指南鏈接:https://github.com/dusty-nv/jetson-inference/blob/master/docs/building-repo-2.md

概要步驟如下

建議在進行安裝之前先進行系統環境配置,如apt、pip的源設置,中文輸入等。

一、jetson-inference下載和安裝

步驟如下

1.?預安裝軟件

首先安裝需要用到的軟件包

$ sudo apt instal git cmake libpython3-dev python3-numpy

假定apt update在系統配置時已經運行過了,這里不再重復。

2. 下載代碼庫

然后下載軟件源代碼庫

$ git clone --recursive https://github.com/dusty-nv/jetson-inference

這一步比較費事,這是一個遞歸的源代碼庫,包含多個子代碼庫,因為國內外網絡環境的問題,從Github下載會出現連接不穩定,不能下載全的情況。這種情況建議多嘗試幾次,或者從其它地方進行下載。

3. 編譯安裝

之后進入代碼目錄進行編譯安裝

$ cd jetson-inference

創建一個cmake編譯目錄

$ mkdir build
$ cd build

進行cmake

$ cmake ..

在cmake過程中會彈出對話框讓選擇下載模型和安裝pytorch,因為國內連接國外不穩定,建議選擇不安裝(通過TAB鍵選擇Quit和Skip,按回車),后面進行離線下載和安裝。

cmake完成之后,進行編譯和安裝

$ make -j4
$ sudo make install

這樣jetson-inference庫就安裝完成了。編譯之后會在build目錄下生成jetson-inference庫相關文件,包括頭文件、庫文件、幫助文件、腳本工具、示例程序等。make install會把相關的文件復制到對應的系統目錄。

其中download-model.sh和install-pytorch.sh文件分別是下載模型和安裝pytorch的腳本文件,可以查看參考文件,進行離線下載和安裝。

其中會生成一個aarch64目錄,里面包含jetson-inference庫的相關文件,目錄結構如下

其中lib目錄包含庫文件,include目錄包含頭文件,bin目錄包含一些圖像分類、目標識別等相關的命令和工具。

4. 測試

安裝完成之后,build/aarch64/bin目錄包含了一些圖像分類、目標識別等方面的執行文件,如下?

可以用這些程序進行目標識別的測試。在bin目錄下運行

$ ./imagenet.py --network=resnet-18 images/jellyfish.jpg images/test/output_jellyfish.jpg

就可以對imags/jellyfish.jpg圖片進行分類識別。識別結果輸出在images/test/output_jellyfish.jpg文件。

因為安裝時沒有選擇在線下載模型,這個程序運行不能成功。可以自己下載模型和建立python文件來進行基于jetson-inference庫的例程開發。

5. 模型下載

Github提供了離線下載模型的方法,通過

模型下載鏈接:https://github.com/dusty-nv/jetson-inference/releases

可以根據需要下載對應的模型,下載到data/networks目錄,然后解壓,比如

$ tar -zxvf SSD-Mobilenet-v2.tar.gz

常見的有GoogleNet,ResNet,SSD-Mobilenet等,如下

下載和解壓到data/networks目錄之后,就可以在程序中使用jetson-inference庫調用這些模型了。

二、例程編寫和測試

這里用一個10行代碼的例程來實現目標識別。參考視頻,代碼如下

import jetson.inference import jetson.utilsnet = jetson.inference.detectNet('SSD-Mobilenet-v2', threshold=0.5) camera = jetson.utils.gstCamera(1280,720,'0') display = jetson.utils.glDisplay()while display.IsOpen():img, width, height = camera.CaptureRGBA()detections = net.Detect(img, width, height)display.RenderOnce(img, width, height)display.SetTitle('Object Detection | Network %.1f FPS'%net.GetNetworkFPS())

采用SSD-Mobilenet-v2網絡對攝像頭視頻進行在線目標識別。假定命名程序文件detect_net.py,然后運行

$ python3 detect_net.py

程序結果就會出現攝像頭的畫面和在線識別的結果,如下?

實際測試響應效果良好,能夠達到20多fps的幀率,沒有滯后感。

總結

以上是生活随笔為你收集整理的在Jetson Nano上十行代码实现目标检测(jetson_inference)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。