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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JetsonNano跑YoloV3速度评测

發布時間:2023/12/16 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JetsonNano跑YoloV3速度评测 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JetsonNano跑YoloV3速度評測

This article was original written by XRBLS, welcome re-post, first come with https://jinfagang.github.io . but please keep this copyright info, thanks, any question could be asked via wechat: jintianiloveu

很久沒有發文章了,這段時間做了很多事情,主要工作還是在于onnx模型的TensorRT加速,我們在前段時間發過很多文章講述如何對caffe模型進行TensorRT加速,我們也有現成的算法可以用來做這件事情,通過TensorRT加速的基于Darknet53+FPN的YoloV3可以跑到~40fps,在一塊decent的GPU上,這個速度已經非常快了,畢竟這個后端十分重,速度也超越了一些經典的二階段算法,效果如下圖:

[外鏈圖片轉存失敗(img-yHndC0Yb-1569143775502)(https://s2.ax1x.com/2019/08/29/mqlzb6.png)]

可以看到幾乎沒有漏檢,這用來進行商業化的項目部署還是很有用的,但請相信我,如果你沒有TensorRT加速,Darknet53+yolov3 608的輸入速度你很難做快。這個算法我們將會開源到平臺,在加入更多的模型之后。因為我們需要把所有的Caffe->TensorRT的操作封裝成一個庫,這樣部署起來就非常方便了。

當然我們的算法平臺 http://manaai.cn 也更新了很多最新的項目,比如我們從零訓練的手和人臉的檢測器,這用來進行無人機的操控很有用途,我們幾乎將所有能用得上的人手和人臉的數據集都匯聚到了一塊,基于我們自己的caffe版本可以進行大規模的訓練,項目地址和與訓練模型 這里:

[外鏈圖片轉存失敗(img-4i0Rj26I-1569143775504)(https://s2.ax1x.com/2019/08/21/mN5JLd.gif)]

但實際上我們訓練之后發現,這個模型竟然可以作為人臉的檢測器:

當然效果與專業的人臉檢測器還是有差距,但是畢竟速度和模型大小擺在那里。說到人臉檢測器,現在很多都是評測的時候用大尺寸,比如1024x980這樣的尺寸,精度上去了,但是實際上測試發現大尺寸下速度卻很慢,慢到GPU上都無法實時,這就很過分了,但是除了這個算法:RetinaFace, 目前來講是唯一一個同時兼顧速度和精度的人臉檢測算法,更重要的是,這個算法可以同時拿到人臉位置和landmark,和MTCNN類似。

當然這個算法也可以在MANA平臺找到,需要向大家說明的是,我們開源的是我們修改的pytorch訓練版本,可以訓練但是部署的時候不夠快,基于onnx TensorRT加速的版本,將會在隨后push到平臺倉庫,歡迎大家關注,預計可以做到400fps(1080尺寸輸入下,GPU環境),即便是最垃圾的GPU,也能做到滿實時。

最后言歸正傳,我們這篇文章繼續上一篇的講解。上一期我們講到:

我們收到了一個Nvidia發過來的JetsonNano進行評測,但是不帶電源,淘寶買了一個電源發現不好使,只要不運行大模型就容易崩潰。

最后發現,原來問題不是電源的問題,這里提醒一下JetsonNano的玩家:真正原因是由于我們沒有短接一個跳線, 只有在短接之后板子才會從電源汲取電源而不是從usb接口.

短接之后,一切正常。這一點如果沒有人告訴你,你應該不太可能知道,這就是只搞軟件不搞硬件帶來的偏科問題。。

YoloV3評測

本篇文章不僅僅要在Nano上評測YoloV3算法,還要教大家如何在Nano的板子上部署,并且得到我們相同的效果。所以文章可能會比較耗時,閑話短說,先來看看Nano跑起來的效果:

[外鏈圖片轉存失敗(img-oSlSTiLs-1569143775505)(https://s2.ax1x.com/2019/09/22/upcm8O.gif)]

這里先說結論,因為相信很多讀者是想用Nano來做點東西的:

  • 跑Yolov3+Mobilenetv2沒有一點問題,~7fps的速度我覺得是可以接受的;
  • SSD+Mobilenet我沒有測,但YoloV3+Mobilenet應該是精度更高一些的,輸入尺寸也大一些;
  • 這個是用C++跑的,我想說的是在Nano上跑caffe模型什么的一點問題都沒有;
  • 用在機器人視覺或者自己的項目上,你可以通過TensorRT獲得更多的加速;
  • 和同等級的芯片對比,比如Intel的神經網絡加速棒,瑞芯的芯片等,我相信他們很難在同樣的軟件下達到這個速度,除非用上他們自己的神經網絡加速軟體套件,但這樣的話,Nano就得上TensorRT大招了,毫無疑問會更快。

本期文章暫時不就Nano的TensorRT加速表現進行評測。我們可能在下一期,對幾個我們訓練的onnx模型進行TensorRT加速,順便看看這些模型在Nano上能夠跑到多塊的速度,比如Retinaface等等。

Nano YoloV3部署教程

接下來需要傳授大家如何部署了。用到的工具很簡單,所有的代碼來自于mana平臺:

http://manaai.cn

具體來說,我們需要兩個項目:

  • 手勢操控控制無人機的caffe模型(http://manaai.cn/aicodes_detail3.html?id=43)
  • YoloV3訓練框架和MobilenetVOC預訓練模型 (http://manaai.cn/aicodes_detail3.html?id=26)

上面的項目是我們花費了大量時間和精力訓練、維護、編寫、debug的開箱即用的代碼,我們放在了MANA平臺,如果你也是AI愛好者,想要從一些先人那里獲取更多的知識和經驗,不妨支持一下我們的工作,毫無疑問我們可以提供你物超所值的東西。平臺代碼和項目一直在更新,并永遠保持最前沿。

接下來看如何部署(代碼獲取需要相關權限):

  • 下載模型訓練框架

    git clone https://gitlab.com/StrangeAI/yolov3_mobilenet_caffe ~/caffe cd yolov3_mobilenet_caffe mkdir build cd build cmake .. make -j8 make install make pycaffe

    這里需要注意,這個訓練框架我們不需要真正訓練,如果你需要訓練,不要在你的Nano上進行,上面操作只是我們下面的C++程序需要調用caffe。

    當然在這個過程中,你可能會遇到很多坑,但是請記住兩個點:

    • Nano自帶了基本上所有環境,比如boost,opencv等;
    • 編譯錯誤先看錯誤,然后google;
    • 實在不行,請來我們的AI社區交流提問,大神在線解答:http://talk.strangeai.pro
  • 編寫Yolov3預測C++程序

    這一段我不打算貼代碼,一來這個代碼有點長,二來對于新手不太友好,因為還需要CMakeLists.txt的一大堆東西,大家直接clone一個現成的項目:

    git clone https://gitlab.com/StrangeAI/handface_detect.git

    通過該項目的一些readme進行編譯,只要正確鏈接到你clone到HOME下的caffe,這個yolov3的檢測程序就是可以正確編譯的。

  • 最后提醒一下,上面的代碼需要MANA會員權限,我們花費大量時間精力分享我們的源代碼,并非是給伸手黨一堆無用的東西,而是一些我們覺得有用的精髓,能夠幫助初學者快速得到自己想要的東西,這也是我們還是新手的時候夢寐以求的,希望每一位初學者能夠珍惜前人的勞動成果。當然,如果你覺得請我們喝杯咖啡顯得過于炫富,也可以通過其他開源渠道獲得相關代碼。

    如果大家對于本篇教程有任何疑問,歡迎來我們的AI交流社群交流發帖:

    http://talk.strangeai.pro

    總結

    以上是生活随笔為你收集整理的JetsonNano跑YoloV3速度评测的全部內容,希望文章能夠幫你解決所遇到的問題。

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