Giter VIP home page Giter VIP logo

guojianyang / cv-detect-robot Goto Github PK

View Code? Open in Web Editor NEW
496.0 7.0 130.0 37.51 MB

🔥🔥🔥🔥🔥🔥Docker NVIDIA Docker2 YOLOV5 YOLOX YOLO Deepsort TensorRT ROS Deepstream Jetson Nano TX2 NX for High-performance deployment(高性能部署)

License: Apache License 2.0

CMake 6.54% C++ 32.73% Makefile 13.48% Python 38.10% Cuda 7.46% Shell 1.65% C 0.05%
ros yolov5 tensorrt-engine deepstream detection yolox-nano yolox yolo tensorrt ros1

cv-detect-robot's Introduction

enter image description here

[中文] | [English]

CDR(cv-detect-robot)项目介绍🔥🔥🔥(工业级视觉算法Jetson侧端优化部署)

CDR项目立项宗旨:高性能视觉检测及其相关算法赋能机器人行业,搭建起技术落地的桥梁。

项目简介:

  • 本项目针对x_86和nvidia-jetson平台,利用tensorRT优化,基于deepstream视频流AI推理框架,搭建了yolov5,yolox和resnet等视觉框架,并对每种算法配置了deepsort,DCF和IOU跟踪器。检测及跟踪数据利用共享内存的方式传输。可通过rostopic,python脚本和c++程序三种方式读取实时数据。本项目提供了零基础入门配置及调试教程,也提供了基于x_86平台和nvidia-jetson平台的docker镜像,可省去配置环境的麻烦,一键导入运行。镜像包含yolov5项目源码全套运行环境,yolox项目源码全套运行环境。deepstream全套运行环境和ros操作系统(melodic)。

备注1):本项目已针对ubuntu-x_86平台和nvidia-jetson平台配置了全套docker镜像,无需配置繁杂软件环境,一键导入运行,省时又省力。

备注2):本项目后续将通过ncnn,TVM等AI加速库对华为海思3559、瑞芯微3399pro、勘智K210等国产AI芯片进行视觉算法的侧端优化及部署,敬请期待!!!。

备注3):随着本人及团队的学习成长,该项目会不定期进行维护和更新,由于能力有限,项目中存在错误和不足之处望各位批评指正或在issue中留言。

备注4):为方便大家学习交流,已建立CDR(cv-detect-robot)项目交流微信群,请添加群负责人小郭微信号17370042325,以方便拉您进群。



CDR~全系标配docker镜像之-v4.0版本更新内容如下🔥🔥🔥🔥🔥:

  • CDR中deepstream框架升级到6.0版本(tensorRT 8.0.1)
  • 所有子项目都适配了deepsort跟踪器(IOU,DCF和deepsort三种跟踪器随意切换),且所有子项目的目标跟踪ID都可通过rostopic,python脚本和cpp程序获得。
  • 全系标配docker镜像,项目作者为 CDR项目分别配置了基于x_86平台和nvidia-jetson平台的全套镜像环境,并附带项目镜像操作及各子项目测试教程。
  • CDR镜像内具备pt->wts->trt功能(yolov5)和onnx-trt功能(yolox)。
  • CDR镜像内每个子项目都能具备多流检测,具体操作参考如下链接。
  • CDR镜像内各子项目同时具备视频文件检测、usb摄像头检测及rtsp实时流检测功能。
  • CDR镜像内已配置yolov5项目源码全套运行环境、yolox项目源码全套运行环境、deepstream全套运行环境及ros-melodic全套运行环境,具体环境配置请查阅如下链接:


  • CDR x86 docker镜像和CDR jetson docker镜像环境配置和算法调试极其复杂,耗时巨大,但本着开源共享的精神,项目作者决定供全行业免费使用
    • CDR x86 docker镜像(28G左右)下载链接如下(已停用,建议docker pull 拉取):
      • 链接:http://112.74.111.51:1212/down/Dcyn8UvJ81Lg 提取码:Z78Din
    • CDR x86 docker镜像dockerhub下载(14.54 GB)命令:

      docker pull gjy123456/cv-detect-robot:CDR-x86-v4.02


    • CDR jetson docker镜像(10G左右)下载链接如下(已停用,建议docker pull 拉取):
      • 链接:http://112.74.111.51:1212/down/tSpLJEbUHvQC 提取码:nKTzyp
    • CDR jetson docker镜像(4.58G左右)dockerhub下载命令:

      docker pull gjy123456/cv-detect-robot:CDR-jetson-v4.18



!!!若使用docker镜像,本行以下内容只作了解即可,若想从零开始配置环境则可参照以下内容!!!


CDR子项目(一)(yolov5-ros-deepstream)

  • yolov5-ros-deepstream 子项目简介

该项目是将yolov5视觉检测算法与神经网络加速引擎tensorRT结合,并在英伟达的deepstream框架下运行,结合ros通信机制,将检测数据实时通过ros topic 发布出去。以供基于ROS机器人操作系统的开发人员及相关科研人员使用。

详细教程请进入yolov5-ros-deepstream

最终视频检测效果请进入yolov5-ros-deepstream检测

加入目标跟踪器视频检测效果请进入Jetson NX yolov5-ros-deepstream+目标跟踪

加入目标跟踪器视频检测效果请进入Jetson Nano yolov5-ros-deepstream+目标跟踪

CDR子项目(二)(yolov5-deepstream-python)

  • yolov5-deepstream-python 子项目简介

该项目是将视觉检测算法yolov5与神经网络加速引擎tensorRT结合,利用共享内存技术将检测所得到的数据实时储存到事先定义好的物理内存中(物理地址是唯一的),在同一硬件平台上的任意软件目录中,建立一个读取物理内存的client.py脚本文件(里面只包含一个读取内存的代码段),将指定好的物理内存中的数据读取出来,在读取成功的前提下,可将该代码段插入到任意需要目标检测数据的python项目中,从而使该python项目能顺利获取目标检测数据。

详细教程请进入yolov5-deepstream-python

最终视频检测效果请进入yolov5-deepstream-python检测

加入目标跟踪器视频检测效果请进入Jetson NX yolov5-python-deepstream+目标跟踪器

加入目标跟踪器视频检测效果请进入Jetson Nano yolov5-python-deepstream+目标跟踪器

CDR子项目(三)(yolov5-deepstream-cpp)

  • yolov5-deepstream-cpp 子项目简介

该项目是将视觉检测算法yolov5与神经网络加速引擎tensorRT结合,利用共享内存技术将检测所得到的数据实时储存到事先定义好的物理内存中(物理地址是唯一的),在同一硬件平台上的任意软件目录中,建立一个读取物理内存的yolov5_tensor.cpp文件(里面只包含一个读取内存的代码段),编译后可将指定好的物理内存中的数据读取出来,在读取成功的前提下,可将该代码段插入到任意需要目标检测数据的C++项目中,从而使该C++项目能顺利获取目标检测数据。

详细教程请进入yolov5-deepstream-cpp

最终视频检测效果请进入yolov5-deepstream-cpp检测

加入目标跟踪器视频检测效果请进入Jetson NX yolov5-cpp-deepstream+目标跟踪器

加入目标跟踪器视频检测效果请进入Jetson Nano yolov5-cpp-deepstream+目标跟踪器

CDR子项目(四)(yolox-ros-deepstream)

  • yolox-ros-deepstream 子项目简介

该项目是将yolox视觉检测算法与神经网络加速引擎tensorRT结合,本子项目采另一种引擎文件生成方法,通过onnx转到engine,此方法更具灵活性,也越来越稳定,符合行业主流发展趋势,在英伟达的deepstream框架下运行,结合ros通信机制,将检测数据实时通过ros topic 发布出去。以供基于ROS机器人操作系统的开发人员及相关科研人员使用。

详细教程请进入yolox-ros-deepstream

最终视频检测效果请进入yolox-ros-deepstream检测

加入目标跟踪器视频检测效果请进入Jetson NX yolox-ros-deepstream+目标跟踪器

加入目标跟踪器视频检测效果请进入Jetson Nano yolox-ros-deepstream+目标跟踪器

CDR子项目(五)(resnet10+ros+deepstream for python )----(Jetson Nano and X_86)

该项目利用deepstream的python接口,基于英伟达针对性优化的resnet10.caffemodel模型,可利用英伟达新推出的(TAO) Toolkit 工具包进行自定义数据集训练及模型优化,并继承CDR项目祖传的ros接口。不仅能在Jetson系列平台使用,通过docker容器技术,也可在Linux-x_86平台(Ubuntu)实现快速部署。经测试,该模型在Jetson Nano上可实现在检测算法和多目标跟踪算法同时加持情况下高达30fps的帧率(检测四种目标),准确率可达90%以上(接近yolov5)。

详细教程请进入resnet10-ros-deepstream

最终视频检测效果请进入resnet10-ros-deepstream检测

加入目标跟踪器视频检测效果请进入Jetson NX resnet10-ros-deepstream+目标跟踪器

加入目标跟踪器视频检测效果请进入Jetson Nano resnet10-ros-deepstream+目标跟踪器

CDR子项目(六)(yolox-deepstream-python)

  • yolox-deepstream-python 子项目简介

该项目是将yolox视觉检测算法与神经网络加速引擎tensorRT结合,本子项目采另一种引擎文件生成方法,通过onnx转到engine,此方法更具灵活性,也越来越稳定,符合行业主流发展趋势,在英伟达的deepstream框架下运行,在同一硬件平台上的任意软件目录中,建立一个读取物理内存的client.py脚本文件(里面只包含一个读取内存的代码段),将指定好的物理内存中的数据读取出来,在读取成功的前提下,可将该代码段插入到任意需要目标检测数据的python项目中,从而使该python项目能顺利获取目标检测数据。

详细教程请进入yolox-deepstream-python

最终视频检测效果请进入yolox-deepstream-python检测

加入目标跟踪器视频检测效果请进入Jetson NX yolox-ros-deepstream+目标跟踪器

加入目标跟踪器视频检测效果请进入Jetson Nano yolox-ros-deepstream+目标跟踪器

CDR子项目(七)(yolox-deepstream-cpp)

  • yolox-deepstream-cpp 子项目简介

该项目是将yolox视觉检测算法与神经网络加速引擎tensorRT结合,本子项目采另一种引擎文件生成方法,通过onnx转到engine,此方法更具灵活性,也越来越稳定,符合行业主流发展趋势,在英伟达的deepstream框架下运行,在同一硬件平台上的任意软件目录中,建立一个读取物理内存的yolox_tensor.cpp文件(里面只包含一个读取内存的代码段),编译后可将指定好的物理内存中的数据读取出来,在读取成功的前提下,可将该代码段插入到任意需要目标检测数据的C++项目中,从而使该C++项目能顺利获取目标检测数据。

详细教程请进入yolox-deepstream-cpp

最终视频检测效果请进入yolox-deepstream-cpp检测

加入目标跟踪器视频检测效果请进入Jetson NX yolox-ros-deepstream+目标跟踪器

加入目标跟踪器视频检测效果请进入Jetson Nano yolox-ros-deepstream+目标跟踪器

cv-detect-robot's People

Contributors

guojianyang avatar marinoming avatar xieys avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

cv-detect-robot's Issues

软链接出错

你好,当我运行到软链接一步时,之后运行client_ros.py时,出现错误:no module named darknet_ros_msgs.msg
这是怎么回事呢,在yolov5-ros下已经有darknet_ros_msgs文件夹,里面有msg文件夹。谢谢

bus error (core dumped)

经过排查,发现这个写入文件的,这句话,导致:bus error (core dumped)

memcpy(guo, file_txt,boundingboxes_len); // put the char[] into txt-file

请问,有什么解决方法吗?

yolov5-ros-deepstream运行时出现错误

当运行测试时出现错误
图片
并且博主在第三点中说明可通过number_v30.pt生成新的number_v30.engine引擎文件,请问这一步怎么实现呢,谢谢

请问宿主 cuda 的版本有要求吗

运行sudo docker run -it --net=host --device=/dev/video0 -e QT_X11_NO_MITSHM=1 --gpus all --name="tracker1" --privileged=true -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -w /opt/nvidia/deepstream/deepstream-6.0 gjy123456/cv-detect-robot:CDR-jetson-v4.18 /bin/bash

报错:
docker: Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: Running hook #0:: error running hook: exit status 1, stdout: , stderr: Auto-detected mode as 'csv'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.