deepstream版本 算法层程序

Administrator fe75c0cfa5 Update README.md 2 rokov pred
.vscode c1c45cf264 修改: .vscode/settings.json 2 rokov pred
3rdparty a86838ddab 新文件: .vscode/settings.json 2 rokov pred
cmake a86838ddab 新文件: .vscode/settings.json 2 rokov pred
data a86838ddab 新文件: .vscode/settings.json 2 rokov pred
docker b8c6c97a81 删除: docker/3rdparty/ZLToolKit.tar.gz 2 rokov pred
framework a86838ddab 新文件: .vscode/settings.json 2 rokov pred
lib 16f90d56ec 修补 2 rokov pred
modules 16f90d56ec 修补 2 rokov pred
source 5a03203348 修改: .vscode/settings.json 2 rokov pred
tooks a86838ddab 新文件: .vscode/settings.json 2 rokov pred
CMakeLists.txt c1c45cf264 修改: .vscode/settings.json 2 rokov pred
README.md fe75c0cfa5 Update README.md 2 rokov pred
start.sh 16f90d56ec 修补 2 rokov pred
stop.sh a86838ddab 新文件: .vscode/settings.json 2 rokov pred

README.md

gsd_ds

gsd Jetson系列的算法层源码, 主要基于Deepstream进行构建

1.目录结构


├── 3rdparty # 第三方依赖
│   ├── CMakeLists.txt
│   └── rapidjson
├── cmake
├── CMakeLists.txt
├── config
│   └── labels.txt
├── data
│   └── state
│       └── fdState
├── docker # 镜像构建文件
│   └── Dockerfile.gsd_ds
├── framework
│   └── CMakeLists.txt
├── lib
├── modules  # 软件模块
├── README.md
├── source
│   ├── config
│   │   ├── config_infer_primary_yoloV5.txt
│   │   ├── config.ini
│   │   ├── FP16
│   │   │   ├── yolov5m.engine
│   │   │   └── yolov5s.engine
│   │   ├── INT8
│   │   │   ├── yolov5m.engine
│   │   │   └── yolov5s.engine
│   │   └── labels.txt
│   └── src
│       └── main.cpp
├── start.sh
├── stop.sh
└── tooks

2.配置文件

Deepstream配置文件

[property]
gpu-id=0
net-scale-factor=0.0039215697906911373
#0=RGB, 1=BGR
model-color-format=0
# custom-network-config=yolov3-tiny.cfg
# model-file=yolov3-tiny.weights
model-engine-file=../data/INT8/yolov5m.engine # 指定模型
labelfile-path=labels.txt
process-mode=1
batch-size=12
## 0=FP32, 1=INT8, 2=FP16 mode
network-mode=1
num-detected-classes=80
gie-unique-id=1
network-type=0
#is-classifier=0
output-blob-names=prob
## 0=Group Rectangles, 1=DBSCAN, 2=NMS, 3= DBSCAN+NMS Hybrid, 4 = None(No clustering)
cluster-mode=2
interval=0
maintain-aspect-ratio=1
parse-bbox-func-name=NvDsInferParseCustomYoloV5
custom-lib-path=../lib/libnvdsinfer_custom_impl_Yolo.so
engine-create-func-name=NvDsInferYoloCudaEngineGet
#scaling-filter=0
#scaling-compute-hw=0

[class-attrs-all]
nms-iou-threshold=0.5
pre-cluster-threshold=0.4

3.参考资料

资料 作用 链接
deepstream 算法的部署框架, 建设于gstreamer, 自行学习 https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_docker_containers.html
deepstream容器库 deepstream容器库 https://catalog.ngc.nvidia.com/orgs/nvidia/containers/deepstream-l4t/tags

4.依赖的动态库问题

目前版本的动态库为Jetson TX2-NX的版本, 如果需要更换为Jetson Xavire NX, 则需在Jetson Xavire NX上重新编译, 包含自身的动态库和依赖的动态库, 包含算法模型的引擎文件也需要重新转换, 具体参考tensorrtx, 算法层容器需要重新构建, 构建文件为Dockerfile.gsd_ds.

动态库 链接
libmyplugins.so https://github.com/wang-xinyu/tensorrtx
libnvdsinfer_custom_impl_Yolo.so https://github.com/DanaHan/Yolov5-in-Deepstream-5.0