zoukankan      html  css  js  c++  java
  • jetson nano项目(1)部署yolov4(c++)

     

    环境检查

    https://zhuanlan.zhihu.com/p/136785542

    Ubuntu为例,首先需要满足以下环境条件.

      • CMake >= 3.8
      • CUDA 10.0
      • OpenCV >= 2.4
      • cuDNN >= 7.0 for CUDA 10.0
      • GPU with CC >= 3.0
      • on Linux GCC or Clang

     我使用的jetson nano最新的镜像默认应该已经装了这些。当前opencv默认版本4.1

    jetson nano设置

    1修改电源

    打开Jetson Nano,切换为MAXIN模式(10w),同时使用ADC4A电源给予供电。注意将跳帽插上才能开启此供电模式。

    2共享内存设置

    自身内存4G ,共享内存给了5个g左右(刷机的时候初始化选择了最大默认给了1.2G,后来增加5个G)

     如何设置参看

    https://www.cnblogs.com/kekeoutlook/p/13512508.html

    全流程安装

    下载源码和测试权重

    框架:

    git clone https://github.com/AlexeyAB/darknet.git

    权重:

    https://drive.google.com/open?id=1cewMfusmPjYWbrnuJRuKhPMwRe_b9PaT

    第一处修改

    https://cloud.tencent.com/developer/article/1624913

    打开后根据需要修改GPU、CUDNN等的值,GPU为1的话需要安装cuda.

    GPU=1

    CUDNN=1的话需要安装CUDNN.

    CUDNN_HALF=0 仅支持带有Tensor Cores的GPU如Titan V / Tesla V100 / DGX-2或者之后的显卡.

    OPENCV=1的话,需要安装OpenCV

    第二处修改

    问题:找不到nvcc

    克隆Darknet之后,以root(sudo)进行设置,手动修改makefile中 NVCC路径

    设置

    NVCC = /usr/local/cuda/bin/nvcc

    您的NVCC应该与您在Makefile中指定的cuda库匹配

    开始编译

    修改完Makefile之后,在终端中输入:

    sudo make 
    

      

    将权重文件yolov4.weights拷贝至darknet目录下

    将测试的图片放入data目录下,开始检测

    ./darknet detect cfg/yolov4.cfg yolov4.weights data/dog.jpg
    

      

     运行结果自动保存照片

     图像分辨率  768*576

     更多测试

     图像分辨率640*424

     

     

    5-2 视频的检测:

    终端输入:

    ./darknet detector demo cfg/coco.data cfg/yolov4.cfg yolov4.weights data/test_video.mp4

    检测的效果如图2所示:

     性能

    参考分析  https://cloud.tencent.com/developer/article/1624913

    根据官方的文档的说明,新版本YOLO的 AP 和 FPS 分别提高了 10% 和 12%,从检测的结果可以看出,YOLO V4 在内存较小的嵌入式设备上能够很好的运行,而且YOLO V4相较于YOLO V3在检测的速度和精度上都有了一定的提升,对于小目标的检测效果有了进一步的提升。

    对于Nano的4G内存,运行YOLO V3十分地吃力,通常到第二层就会出现死机的状况,但是对于YOLO V4,Jetson Nano却能够较为流畅的运行。

    在Jetson Nano上运行YOLO V4进行目标的检测,输入的视频的分辨率大小为720*400,在检测视频目标的过程中,视频的平均处理速度值始终维持在0.9FPS左右,从检测的效果中也可以看出,对于近处的目标,识别度基本维持在0.8以上,而对于远处小目标的检测,识别度也能维持在0.2以上,个别目标的识别率甚至能达到0.8以上。YOLO V4无论在精度和速度上都较YOLO V3有了很大的提升,为在性能受限的嵌入式设备上部署检测程序提供了可能。

     

    https://blog.csdn.net/qq_33642342/article/details/104498574?utm_medium=distribute.pc_relevant.none-task-blog-baidulandingword-8&spm=1001.2101.3001.4242

    TensorRT YOLOv4 on TensorRT+tkDNN: https://github.com/ceccocats/tkDNN For YOLOv3 (-70% faster inference): Yolo is natively supported in DeepStream 4.0 read PDFwang-xinyu/tensorrtx implemented yolov3-spp, yolov4, etc.

    https://github.com/ceccocats/tkDNN

    https://medium.com/@peaceful0907/nvidia-jetson-nano-with-yolov3-39325af72e4d

      • Nano: YOLOv3 使用 darknet 未透過 python
        320*320: fps~2.2
        416*416: fps~1.4
        608*608: fps~0.7 (load得很慢)
        Memory 約剩餘300~500M之間
      • Nano: YOLOv3-tiny 使用darknet 未透過 python
        fps 約 9~11
        Memory 約剩餘1.2G
      • Nano: YOLOv3 with TensorRT 透過python interface:
        320*320: fps 約 3~4
        416*416: fps 約 2~3
        608*608: fps 約 1~2
        Memory 約剩餘500~900M之間

    https://cloud.tencent.com/developer/article/1624913

    Jetson NANO 之 Yolo V4

    根据官方的文档的说明,新版本YOLO的 AP 和 FPS 分别提高了 10% 和 12%,从检测的结果可以看出,YOLO V4 在内存较小的嵌入式设备上能够很好的运行,而且YOLO V4相较于YOLO V3在检测的速度和精度上都有了一定的提升,对于小目标的检测效果有了进一步的提升。

    对于Nano的4G内存,运行YOLO V3十分地吃力,通常到第二层就会出现死机的状况,但是对于YOLO V4,Jetson Nano却能够较为流畅的运行。

    在Jetson Nano上运行YOLO V4进行目标的检测,输入的视频的分辨率大小为720*400,在检测视频目标的过程中,视频的平均处理速度值始终维持在0.9FPS左右,从检测的效果中也可以看出,对于近处的目标,识别度基本维持在0.8以上,而对于远处小目标的检测,识别度也能维持在0.2以上,个别目标的识别率甚至能达到0.8以上。YOLO V4无论在精度和速度上都较YOLO V3有了很大的提升,为在性能受限的嵌入式设备上部署检测程序提供了可能。

    https://blog.csdn.net/beckhans/article/details/89373939

    Jetson Nano 使用yolov3-tiny及TensorRT加速,达到接近实时目标检测与识别

    25fps

    https://blog.csdn.net/weixin_43562948/article/details/104724461

    Windows环境下使用VS2015对YOLOV4源码的两种编译方式并测试

    F:yolo_maskcnnyoloyolov4darknet-master

  • 相关阅读:
    Linux Shell脚本编程基础
    UBoot常用命令及内核下载与引导
    经典C面试真题精讲
    文本相似度分析(基于jieba和gensim)
    python中lambda,map,reduce,filter,zip函数
    机器学习-——损失函数
    Tensorflow中的数据对象Dataset
    github 相关操作知识
    机器学习——LightGBM
    机器学习——超参数搜索
  • 原文地址:https://www.cnblogs.com/kekeoutlook/p/13488402.html
Copyright © 2011-2022 走看看