R3live+PaddleYOLO同步建图和目标检测

2024-02-08 17:10

本文主要是介绍R3live+PaddleYOLO同步建图和目标检测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.硬件环境

在这里插入图片描述
显卡2080ti,nvidia驱动470.141.03
系统ubuntu18.04,cuda-11.1,TensorRT-7.2.1.6, opencv-3.4.16
Python IDE: Anaconda、Pycharm

2.paddleyolo

2.1 环境搭建

1.源码下载
git clone https://github.com/PaddlePaddle/PaddleYOLO.git2.Conda环境创建
cd PaddleYOLO
conda create -n paddledetect python=3.7
pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/3.Pycharm中安装paddle
pip install common dual tight data prox -i https://mirrors.aliyun.com/pypi/simple/
pip install paddle -i https://mirrors.aliyun.com/pypi/simple/
pip install paddlepaddle-gpu -i https://mirrors.aliyun.com/pypi/simple/

下面是我这边pip安装的包,你可以参考下,主要看下paddlepaddle-gpu的版本:

astor==0.8.1
Babel==2.10.3
bce-python-sdk==0.8.74
boto3==1.24.89
botocore==1.27.89
bottle==0.12.23
certifi==2022.9.24
charset-normalizer==2.1.1
click==8.1.3
common==0.1.2
cycler==0.11.0
Cython==0.29.32
data==0.4
decorator==5.1.1
dill==0.3.5.1
dual==0.0.10
dynamo3==0.4.10
filterpy==1.4.5
Flask==2.2.2
Flask-Babel==2.0.0
flywheel==0.5.4
fonttools==4.37.4
funcsigs==1.0.2
future==0.18.2
idna==3.4
importlib-metadata==5.0.0
itsdangerous==2.1.2
Jinja2==3.1.2
jmespath==1.0.1
joblib==1.2.0
kiwisolver==1.4.4
lap==0.4.0
MarkupSafe==2.1.1
matplotlib==3.5.3
mkl-fft==1.3.1
mkl-random==1.2.2
mkl-service==2.4.0
motmetrics==1.2.5
multiprocess==0.70.13
numpy==1.21.5
opencv-python==4.6.0.66
opt-einsum==3.3.0
packaging==21.3
paddle==1.0.2
paddle-bfloat==0.1.7
paddledet==2.4.0
paddlepaddle==2.3.2
paddlepaddle-gpu==2.3.2
pandas==1.3.5
peewee==3.15.3
Pillow==9.2.0
pip==22.2.2
protobuf==3.20.0
prox==0.0.17
pyclipper==1.3.0.post3
pycocotools==2.0.5
pycryptodome==3.15.0
pyparsing==3.0.9
PySocks==1.7.1
python-dateutil==2.8.2
python-geoip-python3==1.3
pytz==2022.4
PyYAML==6.0
requests==2.28.1
s3transfer==0.6.0
scikit-learn==1.0.2
scipy==1.7.3
setuptools==63.4.1
Shapely==1.8.4
six==1.16.0
sklearn==0.0
terminaltables==3.1.10
threadpoolctl==3.1.0
tight==0.1.0
tqdm==4.64.1
typeguard==2.13.3
typing_extensions==4.4.0
urllib3==1.26.12
visualdl==2.4.1
Werkzeug==2.2.2
wheel==0.37.1
xmltodict==0.13.0
zipp==3.8.1

2.2 模型导出

下面以yolov5-m为例进行操作:

cd PaddleYOLO
1.下载预训练模型权重
wget https://paddledet.bj.bcebos.com/models/yolov5_m_300e_coco.pdparams2.模型导出
mkdir -p model/yolov5m/out_model
python tools/export_model.py -c configs/yolov5/yolov5_m_300e_coco.yml --output_dir=./model/yolov5m/out_model -o weights=./yolov5_m_300e_coco.pdparams3.测试
python tools/infer.py -c ./configs/yolov5/yolov5_m_300e_coco.yml -o weights=./model/yolov5m/yolov5_m_300e_coco.pdparams --infer_img=demo/000000014439.jpg --draw_threshold=0.5

输出检测结果:output目录下。
下面是检测结果样图:
在这里插入图片描述

3.c++部署

3.1 环境配置

1.查看docs
cd PaddleYOLO/deploy/cpp
vim docs/linux_build.md
根据文档搭建paddle inference环境2.修改环境路径和参数
vim scripts/build.sh
3.2 编译
bash scripts/build.sh

可能会有错误,这里只记录部分报错,仅供参考:

1.Could NOT find Git (missing: GIT_EXECUTABLE)
vim PaddleYOLO/deploy/cpp/cmake/yaml-cpp.cmake
把下面这行注释掉
find_package(Git REQUIRED)2.CMake Error at CMakeLists.txt:94 (find_package):Could not find a package configuration file provided by "OpenCV" with anyof the following names:OpenCVConfig.cmakeopencv-config.cmake
vim PaddleYOLO/deploy/cpp/CMakeLists.txt
将把下面这行:
find_package(OpenCV REQUIRED PATHS ${OPENCV_DIR}/share/OpenCV NO_DEFAULT_PATH)
改为:
find_package(OpenCV REQUIRED)3.fatal error: glog/logging.h: No such file or directory
sudo apt install libgoogle-glog-dev

3.3 测试</

这篇关于R3live+PaddleYOLO同步建图和目标检测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/691664

相关文章

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Linux搭建Mysql主从同步的教程

《Linux搭建Mysql主从同步的教程》:本文主要介绍Linux搭建Mysql主从同步的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux搭建mysql主从同步1.启动mysql服务2.修改Mysql主库配置文件/etc/my.cnf3.重启主库my

Java中将异步调用转为同步的五种实现方法

《Java中将异步调用转为同步的五种实现方法》本文介绍了将异步调用转为同步阻塞模式的五种方法:wait/notify、ReentrantLock+Condition、Future、CountDownL... 目录异步与同步的核心区别方法一:使用wait/notify + synchronized代码示例关键

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

详谈redis跟数据库的数据同步问题

《详谈redis跟数据库的数据同步问题》文章讨论了在Redis和数据库数据一致性问题上的解决方案,主要比较了先更新Redis缓存再更新数据库和先更新数据库再更新Redis缓存两种方案,文章指出,删除R... 目录一、Redis 数据库数据一致性的解决方案1.1、更新Redis缓存、删除Redis缓存的区别二

如何用Java结合经纬度位置计算目标点的日出日落时间详解

《如何用Java结合经纬度位置计算目标点的日出日落时间详解》这篇文章主详细讲解了如何基于目标点的经纬度计算日出日落时间,提供了在线API和Java库两种计算方法,并通过实际案例展示了其应用,需要的朋友... 目录前言一、应用示例1、天安门升旗时间2、湖南省日出日落信息二、Java日出日落计算1、在线API2

Nacos集群数据同步方式

《Nacos集群数据同步方式》文章主要介绍了Nacos集群中服务注册信息的同步机制,涉及到负责节点和非负责节点之间的数据同步过程,以及DistroProtocol协议在同步中的应用... 目录引言负责节点(发起同步)DistroProtocolDistroSyncChangeTask获取同步数据getDis

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M