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

歡迎訪問 生活随笔!

生活随笔

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

目标检测

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

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

網(wǎng)上有一個10行代碼搞定目標(biāo)檢測的視頻教程

參考網(wǎng)址:https://www.bilibili.com/video/av91150116/

經(jīng)測非常實用,通過10行代碼實現(xiàn)目標(biāo)檢測,在Jetson Nano上迅速搭建一個目標(biāo)識別的示例和開發(fā)環(huán)境。

視頻例程使用Jetson官方的深度學(xué)習(xí)庫(jetson_inference)進行目標(biāo)檢測程序?qū)崿F(xiàn)

項目鏈接: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

概要步驟如下

建議在進行安裝之前先進行系統(tǒng)環(huán)境配置,如apt、pip的源設(shè)置,中文輸入等。

一、jetson-inference下載和安裝

步驟如下

1.?預(yù)安裝軟件

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

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

假定apt update在系統(tǒng)配置時已經(jīng)運行過了,這里不再重復(fù)。

2. 下載代碼庫

然后下載軟件源代碼庫

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

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

3. 編譯安裝

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

$ cd jetson-inference

創(chuàng)建一個cmake編譯目錄

$ mkdir build
$ cd build

進行cmake

$ cmake ..

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

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

$ make -j4
$ sudo make install

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

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

其中會生成一個aarch64目錄,里面包含jetson-inference庫的相關(guān)文件,目錄結(jié)構(gòu)如下

其中l(wèi)ib目錄包含庫文件,include目錄包含頭文件,bin目錄包含一些圖像分類、目標(biāo)識別等相關(guān)的命令和工具。

4. 測試

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

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

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

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

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

5. 模型下載

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

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

可以根據(jù)需要下載對應(yīng)的模型,下載到data/networks目錄,然后解壓,比如

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

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

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

二、例程編寫和測試

這里用一個10行代碼的例程來實現(xiàn)目標(biāo)識別。參考視頻,代碼如下

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網(wǎng)絡(luò)對攝像頭視頻進行在線目標(biāo)識別。假定命名程序文件detect_net.py,然后運行

$ python3 detect_net.py

程序結(jié)果就會出現(xiàn)攝像頭的畫面和在線識別的結(jié)果,如下?

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

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。