Skip to content

Inference module v2.0.0: pure CMake project and redesigned architecture

Latest
Compare
Choose a tag to compare
@corenel corenel released this 08 Oct 02:27
· 5 commits to master since this release
0d6bd75
Migrate to pure cmake project (#2)

* refactor: remove ROS-related code

* build: use general cmake template

* build: fix colcon building

- use general cmake template
- remove ros related code
- add config files for linters and formatters

* feat(base): add implementation of object and geometry classes

- impl Object, BBox2D, Point2D and PointCloud
- store detection results in Object

* refactor(tracker): use Object for tracker results

* feat: migrate SyncedMemory and Blob from BVLC/caffe

* feat(base): add Image8U and DataProvider

colorspace conversion is only supported when USE_GPU=1

* feat(frame): add CameraFrame

* feat(util): add utility functions for CameraFrame

* feat(base): add type and runtime classes

- InferenceFrondendType and InferenceBackendType
- InferenceRuntime

* feat(base): add Tensor class

- Blob will be merged into Tensor class later
- Tensor class will be based on SyncedMemory later

* refactor(base): update comments of Tensor class

* refactor(base): update Runtime class

add Infer() method, just passthrough the results from backend

* feat(backend): support creating TensorRT backend

in InferenceRuntime

* refactor(base): update ToString method for InferenceFrontendType

* feat(interface): add BaseInferenceModel

* feat(vision): add Mat class based on Tensor

* feat(vision): add BaseTransform for image preprocessing

* feat(vision): add basic vision transform ops for preprocessing

* feat(vision): add transform ops: Interpolate and Pad

* docs(vision): add desc for YOLOv7-End2End model conversion

* feat(interface): support perf in BaseInferenceModel

* refactor(interface): fix typos

* refactor(base): use 'onnx' as default model frontend

* refactor: remove dependencies of yolo-tensorrt library

* refactor: remove legacy code

* feat(vision): add Visualization class

* docs(base): add docstrings

* docs: add docstrings for interface and util

* docs: add docstrings for vision module

* docs(vision): add desc for YOLOv5-End2End models

* docs(vision): add desc for YOLOX-End2End models

* feat(vision): add ReIDReuslt for FastReID model

* feat(vision): add TrackingResult

* docs(vision): add desc for FastReID models

* refactor(vision): add utility functions for tracking

* feat(vision): add DeepSORT tracker

* refactor(vision): update deepsort::KalmanFIlter::StateType

* fix(vision): use bboxes in TLBR format in detection/tracking results

i.e., the output from DeepSORT tracker should be in TLBR format, no matter what format used inside

* docs(vision): add docstring for DeepSORTTracker

* feat(vision): add prototype of ByteTrack tracker

* docs(vision): add docstring for ByteTrack tracker

* refactor(vision): unify the interface of vision trackers

- two Update() functions for det-trk, and det-feat-trk
- GetParams() functions to get or modify parameters
- Name() for model name

* fix(vision): correct bbox formats in ByteTrack

- input/output of ByteTracker is TLBR
- input/output of STrack is TLWH
- input/output of kalman filter is XYAH