[中文] | [English]
CDR项目立项宗旨:高性能视觉检测及其相关算法赋能机器人行业,搭建起技术落地的桥梁。
( 备注(1)):已接入本项目的
yolov5-ros-deepstream
和yolox-ros-deepstream
已做好了ROS系统的适配,待相关软硬件环境搭建好后即可直接调用已定义好的ros话题消息获取目标检测实时数据。
( 备注(2)):后续将接入百度paddle的ppyolo算法、旷世科技的YOLOX算法和一系列像素级目标检测及追踪算法。
( 备注(3)):随着本人及团队的学习成长,该项目会不定期进行维护和更新,由于能力有限,项目中存在错误和不足之处望各位批评指正或在
issue
中留言。
( 备注(4)):为方便大家学习交流,已建立CDR(cv-detect-robot)项目交流微信群,请添加群负责人
小郭
微信号17370042325
,以方便拉您进群。
- 增加子项目(六)和(七),分别为yolox的python接口和cpp接口。
- 在子项目(五)中,将摄像头检测和视频文件检测集成到一个python程序中,具体操作参考同级文件夹下README.md。
- 解决子项目(一)(二)(三)(四)中实时摄像头检测屏幕画面全覆盖问题。
- 解决频繁出现的
mmap err:Bad file descriptor
错误。 - 对yolov5和yolox检测模型后都级联了DCF目标跟踪器。
- 对于所有子项目都可进行指定目标类别检测跟踪。
- 发布了Nano板和NX板在运行CDR项目时需要注意事项的README.md文档。
- 发布如何生成engine文件的README.md文档。
- 解决子项目(二)yolov5-deepstream-python中ros节点读取数据一直显示24个恒定目标数据的问题
- 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+目标跟踪
- 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+目标跟踪器
- 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+目标跟踪器
- 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+目标跟踪器
该项目利用
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+目标跟踪器
- 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+目标跟踪器
- 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+目标跟踪器