├── .gitignore
├── Dockerfile
├── LICENSE
├── README.md
├── assets
├── MOT17-01-SDP.gif
├── MOT17-07-SDP.gif
├── MOT20-07.gif
├── MOT20-08.gif
├── palace_demo.gif
├── sota.png
└── teasing.png
├── datasets
└── data_path
│ ├── citypersons.train
│ └── eth.train
├── deploy
├── DeepStream
│ ├── CMakeLists.txt
│ ├── README.md
│ ├── cmake
│ │ └── FindGLib.cmake
│ ├── images
│ │ └── deepstream-pic.png
│ ├── includes
│ │ ├── BYTETracker.h
│ │ ├── DataType.h
│ │ ├── KalmanFilter.h
│ │ ├── Lapjv.h
│ │ ├── STrack.h
│ │ └── Tracker.h
│ └── src
│ │ ├── BYTETracker.cpp
│ │ ├── BYTETrackerUtils.cpp
│ │ ├── KalmanFilter.cpp
│ │ ├── Lapjv.cpp
│ │ ├── NvMOTContext.cpp
│ │ ├── STrack.cpp
│ │ └── Tracker.cpp
├── ONNXRuntime
│ ├── README.md
│ └── onnx_inference.py
├── TensorRT
│ ├── cpp
│ │ ├── CMakeLists.txt
│ │ ├── README.md
│ │ ├── include
│ │ │ ├── BYTETracker.h
│ │ │ ├── STrack.h
│ │ │ ├── dataType.h
│ │ │ ├── kalmanFilter.h
│ │ │ ├── lapjv.h
│ │ │ └── logging.h
│ │ └── src
│ │ │ ├── BYTETracker.cpp
│ │ │ ├── STrack.cpp
│ │ │ ├── bytetrack.cpp
│ │ │ ├── kalmanFilter.cpp
│ │ │ ├── lapjv.cpp
│ │ │ └── utils.cpp
│ └── python
│ │ └── README.md
└── ncnn
│ └── cpp
│ ├── CMakeLists.txt
│ ├── README.md
│ ├── include
│ ├── BYTETracker.h
│ ├── STrack.h
│ ├── dataType.h
│ ├── kalmanFilter.h
│ └── lapjv.h
│ └── src
│ ├── BYTETracker.cpp
│ ├── STrack.cpp
│ ├── bytetrack.cpp
│ ├── kalmanFilter.cpp
│ ├── lapjv.cpp
│ └── utils.cpp
├── exps
├── default
│ ├── nano.py
│ ├── yolov3.py
│ ├── yolox_l.py
│ ├── yolox_m.py
│ ├── yolox_s.py
│ ├── yolox_tiny.py
│ └── yolox_x.py
└── example
│ └── mot
│ ├── yolox_l_mix_det.py
│ ├── yolox_m_mix_det.py
│ ├── yolox_nano_mix_det.py
│ ├── yolox_s_mix_det.py
│ ├── yolox_tiny_mix_det.py
│ ├── yolox_x_ablation.py
│ ├── yolox_x_ch.py
│ ├── yolox_x_mix_det.py
│ ├── yolox_x_mix_mot20_ch.py
│ └── yolox_x_mot17_half.py
├── requirements.txt
├── setup.cfg
├── setup.py
├── tools
├── convert_cityperson_to_coco.py
├── convert_crowdhuman_to_coco.py
├── convert_ethz_to_coco.py
├── convert_mot17_to_coco.py
├── convert_mot20_to_coco.py
├── convert_video.py
├── demo_track.py
├── detect.py
├── export_onnx.py
├── inference.sh
├── interpolation.py
├── mix_data_ablation.py
├── mix_data_test_mot17.py
├── mix_data_test_mot20.py
├── mota.py
├── track.py
├── track_deepsort.py
├── track_motdt.py
├── track_sort.py
├── train.py
├── trt.py
└── txt2video.py
├── tutorials
├── centertrack
│ ├── README.md
│ ├── byte_tracker.py
│ ├── mot_online
│ │ ├── basetrack.py
│ │ ├── kalman_filter.py
│ │ └── matching.py
│ ├── opts.py
│ └── tracker.py
├── cstrack
│ ├── README.md
│ ├── byte_tracker.py
│ └── tracker.py
├── ctracker
│ ├── README.md
│ ├── byte_tracker.py
│ ├── eval_motchallenge.py
│ ├── generate_half_csv.py
│ ├── mot_online
│ │ ├── basetrack.py
│ │ ├── kalman_filter.py
│ │ └── matching.py
│ ├── test.py
│ └── test_byte.py
├── fairmot
│ ├── README.md
│ ├── byte_tracker.py
│ └── tracker.py
├── jde
│ ├── README.md
│ ├── byte_tracker.py
│ ├── evaluation.py
│ ├── track_half.py
│ └── tracker.py
├── motr
│ ├── README.md
│ ├── byte_tracker.py
│ ├── eval.py
│ ├── evaluation.py
│ ├── joint.py
│ ├── mot_online
│ │ ├── basetrack.py
│ │ ├── kalman_filter.py
│ │ └── matching.py
│ ├── motr.py
│ ├── motr_det.py
│ └── transforms.py
├── qdtrack
│ ├── README.md
│ ├── byte_tracker.py
│ ├── mot_online
│ │ ├── basetrack.py
│ │ ├── kalman_filter.py
│ │ └── matching.py
│ ├── qdtrack.py
│ └── tracker_reid_motion.py
├── trades
│ ├── README.md
│ ├── byte_tracker.py
│ ├── mot_online
│ │ ├── basetrack.py
│ │ ├── kalman_filter.py
│ │ └── matching.py
│ ├── opts.py
│ └── tracker.py
└── transtrack
│ ├── README.md
│ ├── engine_track.py
│ ├── main_track.py
│ ├── mot_online
│ ├── basetrack.py
│ ├── byte_tracker.py
│ ├── kalman_filter.py
│ └── matching.py
│ ├── save_track.py
│ └── tracker.py
├── videos
└── palace.mp4
└── yolox
├── __init__.py
├── core
├── __init__.py
├── launch.py
└── trainer.py
├── data
├── __init__.py
├── data_augment.py
├── data_prefetcher.py
├── dataloading.py
├── datasets
│ ├── __init__.py
│ ├── datasets_wrapper.py
│ ├── glob.py
│ ├── mosaicdetection.py
│ └── mot.py
└── samplers.py
├── deepsort_tracker
├── deepsort.py
├── detection.py
├── iou_matching.py
├── kalman_filter.py
├── linear_assignment.py
├── reid_model.py
└── track.py
├── evaluators
├── __init__.py
├── coco_evaluator.py
├── evaluation.py
└── mot_evaluator.py
├── exp
├── __init__.py
├── base_exp.py
├── build.py
└── yolox_base.py
├── layers
├── __init__.py
├── csrc
│ ├── cocoeval
│ │ ├── cocoeval.cpp
│ │ └── cocoeval.h
│ └── vision.cpp
└── fast_coco_eval_api.py
├── models
├── __init__.py
├── darknet.py
├── losses.py
├── network_blocks.py
├── yolo_fpn.py
├── yolo_head.py
├── yolo_pafpn.py
└── yolox.py
├── motdt_tracker
├── basetrack.py
├── kalman_filter.py
├── matching.py
├── motdt_tracker.py
└── reid_model.py
├── sort_tracker
└── sort.py
├── tracker
├── basetrack.py
├── byte_tracker.py
├── kalman_filter.py
└── matching.py
├── tracking_utils
├── evaluation.py
├── io.py
└── timer.py
└── utils
├── __init__.py
├── allreduce_norm.py
├── boxes.py
├── checkpoint.py
├── demo_utils.py
├── dist.py
├── ema.py
├── logger.py
├── lr_scheduler.py
├── metric.py
├── model_utils.py
├── setup_env.py
└── visualize.py
/.gitignore:
--------------------------------------------------------------------------------
1 | # Byte-compiled / optimized / DLL files
2 | __pycache__/
3 | *.py[cod]
4 | *$py.class
5 |
6 | # C extensions
7 | *.so
8 |
9 | # Distribution / packaging
10 | .Python
11 | build/
12 | develop-eggs/
13 | dist/
14 | downloads/
15 | eggs/
16 | .eggs/
17 | lib/
18 | lib64/
19 | parts/
20 | sdist/
21 | var/
22 | wheels/
23 | pip-wheel-metadata/
24 | share/python-wheels/
25 | *.egg-info/
26 | .installed.cfg
27 | *.egg
28 | MANIFEST
29 |
30 | # PyInstaller
31 | # Usually these files are written by a python script from a template
32 | # before PyInstaller builds the exe, so as to inject date/other infos into it.
33 | *.manifest
34 | *.spec
35 |
36 | # Installer logs
37 | pip-log.txt
38 | pip-delete-this-directory.txt
39 |
40 | # Unit test / coverage reports
41 | htmlcov/
42 | .tox/
43 | .nox/
44 | .coverage
45 | .coverage.*
46 | .cache
47 | nosetests.xml
48 | coverage.xml
49 | *.cover
50 | *.py,cover
51 | .hypothesis/
52 | .pytest_cache/
53 |
54 | # Translations
55 | *.mo
56 | *.pot
57 |
58 | # Django stuff:
59 | *.log
60 | local_settings.py
61 | db.sqlite3
62 | db.sqlite3-journal
63 |
64 | # Flask stuff:
65 | instance/
66 | .webassets-cache
67 |
68 | # Scrapy stuff:
69 | .scrapy
70 |
71 | # Sphinx documentation
72 | docs/_build/
73 |
74 | # PyBuilder
75 | target/
76 |
77 | # Jupyter Notebook
78 | .ipynb_checkpoints
79 |
80 | # IPython
81 | profile_default/
82 | ipython_config.py
83 |
84 | # pyenv
85 | .python-version
86 |
87 | # pipenv
88 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
89 | # However, in case of collaboration, if having platform-specific dependencies or dependencies
90 | # having no cross-platform support, pipenv may install dependencies that don't work, or not
91 | # install all needed dependencies.
92 | #Pipfile.lock
93 |
94 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow
95 | __pypackages__/
96 |
97 | # Celery stuff
98 | celerybeat-schedule
99 | celerybeat.pid
100 |
101 | # SageMath parsed files
102 | *.sage.py
103 |
104 | # Environments
105 | .env
106 | .venv
107 | env/
108 | venv/
109 | ENV/
110 | env.bak/
111 | venv.bak/
112 |
113 | # Spyder project settings
114 | .spyderproject
115 | .spyproject
116 |
117 | # Rope project settings
118 | .ropeproject
119 |
120 | # mkdocs documentation
121 | /site
122 |
123 | # mypy
124 | .mypy_cache/
125 | .dmypy.json
126 | dmypy.json
127 |
128 | # Pyre type checker
129 | .pyre/
130 |
131 | # output
132 | docs/api
133 | .code-workspace.code-workspace
134 | *.pkl
135 | *.npy
136 | *.pth
137 | *.onnx
138 | *.engine
139 | events.out.tfevents*
140 | pretrained
141 | YOLOX_outputs
142 | *.pth.tar
143 | datasets
144 | *.json
145 |
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM nvcr.io/nvidia/tensorrt:21.09-py3
2 |
3 | ENV DEBIAN_FRONTEND=noninteractive
4 | ARG USERNAME=user
5 | ARG WORKDIR=/workspace/ByteTrack
6 |
7 | RUN apt-get update && apt-get install -y \
8 | automake autoconf libpng-dev nano python3-pip \
9 | curl zip unzip libtool swig zlib1g-dev pkg-config \
10 | python3-mock libpython3-dev libpython3-all-dev \
11 | g++ gcc cmake make pciutils cpio gosu wget \
12 | libgtk-3-dev libxtst-dev sudo apt-transport-https \
13 | build-essential gnupg git xz-utils vim \
14 | libva-drm2 libva-x11-2 vainfo libva-wayland2 libva-glx2 \
15 | libva-dev libdrm-dev xorg xorg-dev protobuf-compiler \
16 | openbox libx11-dev libgl1-mesa-glx libgl1-mesa-dev \
17 | libtbb2 libtbb-dev libopenblas-dev libopenmpi-dev \
18 | && sed -i 's/# set linenumbers/set linenumbers/g' /etc/nanorc \
19 | && apt clean \
20 | && rm -rf /var/lib/apt/lists/*
21 |
22 | RUN git clone https://github.com/ifzhang/ByteTrack \
23 | && cd ByteTrack \
24 | && git checkout 3434c5e8bc6a5ae8ad530528ba8d9a431967f237 \
25 | && mkdir -p YOLOX_outputs/yolox_x_mix_det/track_vis \
26 | && sed -i 's/torch>=1.7/torch==1.9.1+cu111/g' requirements.txt \
27 | && sed -i 's/torchvision==0.10.0/torchvision==0.10.1+cu111/g' requirements.txt \
28 | && sed -i "s/'cuda'/0/g" tools/demo_track.py \
29 | && pip3 install pip --upgrade \
30 | && pip3 install -r requirements.txt -f https://download.pytorch.org/whl/torch_stable.html \
31 | && python3 setup.py develop \
32 | && pip3 install cython \
33 | && pip3 install 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI' \
34 | && pip3 install cython_bbox gdown \
35 | && ldconfig \
36 | && pip cache purge
37 |
38 | RUN git clone https://github.com/NVIDIA-AI-IOT/torch2trt \
39 | && cd torch2trt \
40 | && git checkout 0400b38123d01cc845364870bdf0a0044ea2b3b2 \
41 | # https://github.com/NVIDIA-AI-IOT/torch2trt/issues/619
42 | && wget https://github.com/NVIDIA-AI-IOT/torch2trt/commit/8b9fb46ddbe99c2ddf3f1ed148c97435cbeb8fd3.patch \
43 | && git apply 8b9fb46ddbe99c2ddf3f1ed148c97435cbeb8fd3.patch \
44 | && python3 setup.py install
45 |
46 | RUN echo "root:root" | chpasswd \
47 | && adduser --disabled-password --gecos "" "${USERNAME}" \
48 | && echo "${USERNAME}:${USERNAME}" | chpasswd \
49 | && echo "%${USERNAME} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/${USERNAME} \
50 | && chmod 0440 /etc/sudoers.d/${USERNAME}
51 | USER ${USERNAME}
52 | RUN sudo chown -R ${USERNAME}:${USERNAME} ${WORKDIR}
53 | WORKDIR ${WORKDIR}
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 Yifu Zhang
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/assets/MOT17-01-SDP.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zyayoung/ByteTrackInference/7832fd36bb8af628a6d46a4c2eade7e09cd8763a/assets/MOT17-01-SDP.gif
--------------------------------------------------------------------------------
/assets/MOT17-07-SDP.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zyayoung/ByteTrackInference/7832fd36bb8af628a6d46a4c2eade7e09cd8763a/assets/MOT17-07-SDP.gif
--------------------------------------------------------------------------------
/assets/MOT20-07.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zyayoung/ByteTrackInference/7832fd36bb8af628a6d46a4c2eade7e09cd8763a/assets/MOT20-07.gif
--------------------------------------------------------------------------------
/assets/MOT20-08.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zyayoung/ByteTrackInference/7832fd36bb8af628a6d46a4c2eade7e09cd8763a/assets/MOT20-08.gif
--------------------------------------------------------------------------------
/assets/palace_demo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zyayoung/ByteTrackInference/7832fd36bb8af628a6d46a4c2eade7e09cd8763a/assets/palace_demo.gif
--------------------------------------------------------------------------------
/assets/sota.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zyayoung/ByteTrackInference/7832fd36bb8af628a6d46a4c2eade7e09cd8763a/assets/sota.png
--------------------------------------------------------------------------------
/assets/teasing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zyayoung/ByteTrackInference/7832fd36bb8af628a6d46a4c2eade7e09cd8763a/assets/teasing.png
--------------------------------------------------------------------------------
/deploy/DeepStream/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
2 | cmake_minimum_required(VERSION 3.16)
3 | set(CMAKE_CUDA_COMPILER /usr/local/cuda/bin/nvcc)
4 | set(CMAKE_CXX_STANDARD 14)
5 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib)
6 | set(DS_ROOT_DIR /opt/nvidia/deepstream/deepstream)
7 | set(DS_LIBS_DIR ${DS_ROOT_DIR}/lib)
8 | set(DS_INCLUDES_DIR ${DS_ROOT_DIR}/sources/includes)
9 |
10 | find_package(GLib)
11 | find_package(OpenCV)
12 |
13 | include_directories(${GLIB2_INCLUDE_DIR})
14 | include_directories(${OpenCV_INCLUDE_DIRS})
15 | include_directories(${DS_INCLUDES_DIR})
16 | include_directories(${CMAKE_SOURCE_DIR}/includes)
17 |
18 | file(GLOB TRACK ${CMAKE_SOURCE_DIR}/src/*.cpp)
19 |
20 | set(CMAKE_CXX_FLAGS "-Wall -Wextra -fPIC")
21 | set(CMAKE_CUDA_FLAGS "--compiler-options -fPIC")
22 |
23 | link_directories(${DS_LIBS_DIR})
24 | add_library(ByteTracker SHARED ${TRACK})
25 | target_link_libraries(ByteTracker nvds_meta)
--------------------------------------------------------------------------------
/deploy/DeepStream/README.md:
--------------------------------------------------------------------------------
1 | # Byte-Track Integration with Deepstream
2 | Integrating Byte-Track C++ code with the Deepstream-6.
3 |
4 | ## Build Instructions
5 | ```
6 | $mkdir build && cd build
7 |
8 | $cmake ..
9 |
10 | $make ByteTracker
11 | ```
12 |
13 | This will create ./lib/libByteTracker.so file which can be passed as the custom low level tracker library to deepstream.
14 | To do so just add it to the folder
15 | ```
16 | /opt/nvidia/deepstream/deepstream/lib/
17 | ```
18 |
19 | In your deepstream_app_config.txt add the tracker.
20 | ```
21 | [tracker]
22 | enable=1
23 | tracker-width=640
24 | tracker-height=384
25 | gpu-id=0
26 | ll-lib-file=//opt/nvidia/deepstream/deepstream/lib/libByteTracker.so
27 | enable-batch-process=1
28 | ```
29 |
30 |
31 |
32 |
33 | ## Trying out Multiple Detectors
34 | Feel free to try multiple detectors. You can do this by using https://github.com/marcoslucianops/DeepStream-Yolo
35 |
36 | Now adding the tracker lines in the config file you should get your tracker working.
37 |
38 |
39 | ## References
40 | 1. [How to Implement a Custom Low-Level Tracker Library in Deepstream](https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_plugin_gst-nvtracker.html#how-to-implement-a-custom-low-level-tracker-library)
41 | 2. [Byte-Track](https://github.com/ifzhang/ByteTrack)
42 |
--------------------------------------------------------------------------------
/deploy/DeepStream/cmake/FindGLib.cmake:
--------------------------------------------------------------------------------
1 | # - Try to find the GLIB2 libraries
2 | # Once done this will define
3 | #
4 | # GLIB2_FOUND - system has glib2
5 | # GLIB2_INCLUDE_DIR - the glib2 include directory
6 | # GLIB2_LIBRARIES - glib2 library
7 |
8 | # Copyright (c) 2008 Laurent Montel,
9 | #
10 | # Redistribution and use is allowed according to the terms of the BSD license.
11 | # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
12 |
13 |
14 | if (GLIB2_INCLUDE_DIR AND GLIB2_LIBRARIES)
15 | # Already in cache, be silent
16 | set(GLIB2_FIND_QUIETLY TRUE)
17 | endif (GLIB2_INCLUDE_DIR AND GLIB2_LIBRARIES)
18 |
19 | if (NOT WIN32)
20 | find_package(PkgConfig QUIET)
21 | if (PKG_CONFIG_FOUND)
22 | pkg_check_modules(PKG_GLIB QUIET glib-2.0)
23 | endif ()
24 | endif (NOT WIN32)
25 |
26 | find_path(GLIB2_MAIN_INCLUDE_DIR glib.h
27 | PATH_SUFFIXES glib-2.0
28 | HINTS ${PKG_GLIB_INCLUDE_DIRS} ${PKG_GLIB_INCLUDEDIR})
29 |
30 | # search the glibconfig.h include dir under the same root where the library is found
31 | find_library(GLIB2_LIBRARIES
32 | NAMES glib-2.0
33 | HINTS ${PKG_GLIB_LIBRARY_DIRS} ${PKG_GLIB_LIBDIR})
34 |
35 | find_path(GLIB2_INTERNAL_INCLUDE_DIR glibconfig.h
36 | PATH_SUFFIXES glib-2.0/include ../lib/glib-2.0/include
37 | HINTS ${PKG_GLIB_INCLUDE_DIRS} ${PKG_GLIB_LIBRARIES} ${CMAKE_SYSTEM_LIBRARY_PATH})
38 |
39 | set(GLIB2_INCLUDE_DIR ${GLIB2_MAIN_INCLUDE_DIR})
40 |
41 | # not sure if this include dir is optional or required
42 | # for now it is optional
43 | if (GLIB2_INTERNAL_INCLUDE_DIR)
44 | set(GLIB2_INCLUDE_DIR ${GLIB2_INCLUDE_DIR} ${GLIB2_INTERNAL_INCLUDE_DIR})
45 | endif (GLIB2_INTERNAL_INCLUDE_DIR)
46 |
47 | include(FindPackageHandleStandardArgs)
48 | find_package_handle_standard_args(GLIB2 DEFAULT_MSG GLIB2_LIBRARIES GLIB2_MAIN_INCLUDE_DIR)
49 |
50 | mark_as_advanced(GLIB2_INCLUDE_DIR GLIB2_LIBRARIES)
51 |
52 |
53 | find_program(GLIB2_GENMARSHAL_UTIL glib-genmarshal)
54 |
55 | macro(glib2_genmarshal output_name)
56 | file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/genmarshal_tmp)
57 | foreach (_declaration ${ARGN})
58 | file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/genmarshal_tmp "${_declaration}\n")
59 | endforeach ()
60 | add_custom_command(
61 | OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${output_name}.h ${CMAKE_CURRENT_BINARY_DIR}/${output_name}.c
62 | COMMAND ${GLIB2_GENMARSHAL_UTIL} --header genmarshal_tmp > ${output_name}.h
63 | COMMAND ${GLIB2_GENMARSHAL_UTIL} --body genmarshal_tmp > ${output_name}.c
64 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
65 | )
66 | endmacro()
--------------------------------------------------------------------------------
/deploy/DeepStream/images/deepstream-pic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zyayoung/ByteTrackInference/7832fd36bb8af628a6d46a4c2eade7e09cd8763a/deploy/DeepStream/images/deepstream-pic.png
--------------------------------------------------------------------------------
/deploy/DeepStream/includes/BYTETracker.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "STrack.h"
4 | #include "BYTETracker.h"
5 | #include "nvdstracker.h"
6 | #include