PP-Tracking之C++部署
  lmBrE9awdQJZ 2023年11月02日 41 0



文章目录

  • 概要
  • 环境
  • fastdeploy源码编译
  • PP-Tracking源码编译
  • 使用
  • 参考


概要

PP-Tracking是基于飞桨深度学习框架的业界首个开源实时跟踪系统。针对实际业务的难点痛点,PP-Tracking内置行人车辆跟踪、跨镜头跟踪、多类别跟踪、小目标跟踪及流量计数等能力与产业应用,同时提供可视化开发界面。模型集成多目标跟踪,目标检测,ReID轻量级算法,进一步提升PP-Tracking在服务器端部署性能。同时支持python,C++部署,适配Linux,Nvidia Jetson多平台环境。

PP-Tracking之C++部署_源码编译

环境

  • ubuntu18.04
  • gcc/g++ >= 5.4 (8.2 is recommended)
  • cmake >= 3.18.0
  • cuda >= 11.2
  • cudnn >= 8.2
  • opencv4.6
  • fastdeploy

fastdeploy源码编译

由于预编译库不支持opencv视频类操作,需要从源码编译。

opencv安装,参考这篇博文。我的安装路径为/usr/local/opencv-4.6.0

fastdeploy编译

git clone https://github.com/PaddlePaddle/FastDeploy.git
cd FastDeploy
mkdir build && cd build
cmake .. -DENABLE_ORT_BACKEND=ON \
         -DWITH_GPU=ON \
         -DCUDA_DIRECTORY=/usr/local/cuda \
         -DCMAKE_INSTALL_PREFIX=${PWD}/compiled_fastdeploy_sdk \
         -DENABLE_VISION=ON \
         -DOPENCV_DIRECTORY=/usr/local/opencv-4.6.0
make -j12
make install

在~/.bashrc中进行声明

echo "source ${PWD}/compiled_fastdeploy_sdk/fastdeploy_init.sh" >> ~/.bashrc

PP-Tracking源码编译

修改CmakeLists.txt
手动指定安装路径

PROJECT(infer_demo C CXX)
CMAKE_MINIMUM_REQUIRED (VERSION 3.10)

# 指定下载解压后的fastdeploy库路径
#option(FASTDEPLOY_INSTALL_DIR "Path of downloaded fastdeploy sdk.")
set(FASTDEPLOY_INSTALL_DIR xxxx/compiled_fastdeploy_sdk)

include(${FASTDEPLOY_INSTALL_DIR}/FastDeploy.cmake)

# 添加FastDeploy依赖头文件
include_directories(${FASTDEPLOY_INCS})

add_executable(infer_demo ${PROJECT_SOURCE_DIR}/infer.cc)
# 添加FastDeploy库依赖
target_link_libraries(infer_demo ${FASTDEPLOY_LIBS})

编译

mkdir build
cd build
# Download the FastDeploy precompiled library. Users can choose your appropriate version in the`FastDeploy Precompiled Library` mentioned above 
wget https://bj.bcebos.com/fastdeploy/release/cpp/fastdeploy-linux-x64-x.x.x.tgz
tar xvf fastdeploy-linux-x64-x.x.x.tgz
cmake .. -DFASTDEPLOY_INSTALL_DIR=${PWD}/fastdeploy-linux-x64-x.x.x
make -j24

使用

# Download PP-Tracking model files and test videos
wget https://bj.bcebos.com/paddlehub/fastdeploy/fairmot_hrnetv2_w18_dlafpn_30e_576x320.tgz
tar -xvf fairmot_hrnetv2_w18_dlafpn_30e_576x320.tgz
wget https://bj.bcebos.com/paddlehub/fastdeploy/person.mp4


# CPU inference
./infer_demo fairmot_hrnetv2_w18_dlafpn_30e_576x320 person.mp4 0
# GPU inference
./infer_demo fairmot_hrnetv2_w18_dlafpn_30e_576x320 person.mp4 1
# TensorRT Inference on GPU
./infer_demo fairmot_hrnetv2_w18_dlafpn_30e_576x320 person.mp4 2

PP-Tracking之C++部署_c++_02

参考

https://github.com/PaddlePaddle/FastDeploy/tree/develop/examples/vision/tracking/pptracking/cpp

https://aistudio.baidu.com/projectdetail/3022582


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
lmBrE9awdQJZ